@kirbydesign/designsystem 10.0.0 → 10.1.1

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 (304) hide show
  1. package/accordion/accordion-item.component.d.ts +7 -3
  2. package/badge/badge.component.d.ts +7 -1
  3. package/checkbox/checkbox.component.d.ts +5 -2
  4. package/esm2022/accordion/accordion-item.component.mjs +24 -7
  5. package/esm2022/accordion/accordion.directive.mjs +3 -3
  6. package/esm2022/accordion/accordion.module.mjs +4 -4
  7. package/esm2022/action-group/action-group.component.mjs +3 -3
  8. package/esm2022/avatar/avatar.component.mjs +3 -3
  9. package/esm2022/badge/badge.component.mjs +16 -4
  10. package/esm2022/button/button.component.mjs +5 -5
  11. package/esm2022/calendar/calendar.component.mjs +4 -4
  12. package/esm2022/calendar/helpers/calendar.helper.mjs +3 -3
  13. package/esm2022/card/card-as-button/card-as-button.directive.mjs +3 -3
  14. package/esm2022/card/card-footer/card-footer.component.mjs +3 -3
  15. package/esm2022/card/card-header/card-header.component.mjs +3 -3
  16. package/esm2022/card/card.component.mjs +4 -4
  17. package/esm2022/card/card.module.mjs +4 -4
  18. package/esm2022/chart/chart/chart.component.mjs +3 -3
  19. package/esm2022/chart/charts.module.mjs +4 -4
  20. package/esm2022/chart/shared/base-chart/base-chart.component.mjs +3 -3
  21. package/esm2022/chart/shared/chart-config-service/chart-config.service.mjs +3 -3
  22. package/esm2022/chart/shared/chart-js-service/chart-js.service.mjs +3 -3
  23. package/esm2022/chart/stock-chart/stock-chart-js.service.mjs +3 -3
  24. package/esm2022/chart/stock-chart/stock-chart.component.mjs +3 -3
  25. package/esm2022/checkbox/checkbox.component.mjs +26 -7
  26. package/esm2022/data-table/data-table.module.mjs +4 -4
  27. package/esm2022/data-table/sortable/sortable.component.mjs +3 -3
  28. package/esm2022/divider/divider.component.mjs +3 -3
  29. package/esm2022/dropdown/dropdown.component.mjs +5 -5
  30. package/esm2022/dropdown/dropdown.module.mjs +4 -4
  31. package/esm2022/dropdown/keyboard-handler.service.mjs +3 -3
  32. package/esm2022/empty-state/empty-state.component.mjs +3 -3
  33. package/esm2022/empty-state/empty-state.module.mjs +4 -4
  34. package/esm2022/fab-sheet/fab-sheet.component.mjs +4 -4
  35. package/esm2022/flag/flag.component.mjs +3 -3
  36. package/esm2022/form-field/directives/affix/affix.directive.mjs +3 -3
  37. package/esm2022/form-field/directives/date/date-input.directive.mjs +3 -3
  38. package/esm2022/form-field/directives/decimal-mask/decimal-mask.directive.mjs +3 -3
  39. package/esm2022/form-field/form-field-message/form-field-message.component.mjs +3 -3
  40. package/esm2022/form-field/form-field.component.mjs +3 -3
  41. package/esm2022/form-field/form-field.module.mjs +4 -4
  42. package/esm2022/form-field/input/input.component.mjs +4 -4
  43. package/esm2022/form-field/input-counter/input-counter.component.mjs +3 -3
  44. package/esm2022/form-field/textarea/textarea.component.mjs +4 -4
  45. package/esm2022/header/header.component.mjs +15 -15
  46. package/esm2022/header/header.module.mjs +4 -4
  47. package/esm2022/helpers/ionic-element-part-helper.mjs +3 -3
  48. package/esm2022/helpers/line-clamp-helper.mjs +3 -3
  49. package/esm2022/helpers/platform.service.mjs +3 -3
  50. package/esm2022/icon/icon-registry.service.mjs +24 -8
  51. package/esm2022/icon/icon.component.mjs +3 -3
  52. package/esm2022/icon/icon.module.mjs +4 -4
  53. package/esm2022/icon/kirby-icon-settings.mjs +126 -115
  54. package/esm2022/item/item.component.mjs +8 -28
  55. package/esm2022/item/item.module.mjs +4 -4
  56. package/esm2022/item/label/label.component.mjs +3 -3
  57. package/esm2022/item-group/item-group.component.mjs +3 -3
  58. package/esm2022/item-sliding/item-sliding.component.mjs +3 -3
  59. package/esm2022/kirby-app/kirby-app.component.mjs +3 -3
  60. package/esm2022/kirby-app/kirby-app.module.mjs +4 -4
  61. package/esm2022/kirby-ionic-module/kirby-ionic.module.mjs +4 -4
  62. package/esm2022/lib/components/segmented-control/segmented-control.component.mjs +5 -5
  63. package/esm2022/lib/directives/key-handler/key-handler.directive.mjs +3 -3
  64. package/esm2022/lib/directives/modal-router-link/modal-router-link.directive.mjs +3 -3
  65. package/esm2022/lib/kirby.module.mjs +4 -4
  66. package/esm2022/list/directives/infinite-scroll.directive.mjs +3 -3
  67. package/esm2022/list/directives/list-item-color.directive.mjs +3 -3
  68. package/esm2022/list/helpers/list-helper.mjs +3 -3
  69. package/esm2022/list/list-experimental/list-experimental.component.mjs +3 -3
  70. package/esm2022/list/list-header/list-header.component.mjs +3 -3
  71. package/esm2022/list/list-item/list-item.component.mjs +3 -3
  72. package/esm2022/list/list-section-header/list-section-header.component.mjs +3 -3
  73. package/esm2022/list/list.component.mjs +3 -3
  74. package/esm2022/list/list.directive.mjs +12 -12
  75. package/esm2022/list/list.module.mjs +4 -4
  76. package/esm2022/loading-overlay/loading-overlay.component.mjs +3 -3
  77. package/esm2022/loading-overlay/loading-overlay.service.mjs +3 -3
  78. package/esm2022/menu/menu.component.mjs +3 -3
  79. package/esm2022/modal/modal/action-sheet/action-sheet.component.mjs +5 -5
  80. package/esm2022/modal/modal/alert/alert.component.mjs +3 -3
  81. package/esm2022/modal/modal/footer/modal-footer.component.mjs +3 -3
  82. package/esm2022/modal/modal/modal-component/modal.component.mjs +3 -3
  83. package/esm2022/modal/modal/services/action-sheet.helper.mjs +3 -3
  84. package/esm2022/modal/modal/services/alert.helper.mjs +3 -3
  85. package/esm2022/modal/modal/services/can-dismiss.helper.mjs +3 -3
  86. package/esm2022/modal/modal/services/modal-animation-builder.service.mjs +3 -3
  87. package/esm2022/modal/modal/services/modal.controller.mjs +3 -3
  88. package/esm2022/modal/modal/services/modal.helper.mjs +3 -3
  89. package/esm2022/modal/modal-navigation.service.mjs +3 -3
  90. package/esm2022/modal/modal-wrapper/compact/modal-compact-wrapper.component.mjs +3 -3
  91. package/esm2022/modal/modal-wrapper/modal-wrapper.component.mjs +3 -3
  92. package/esm2022/modal/modal.interfaces.mjs +3 -3
  93. package/esm2022/page/page-footer/page-footer.component.mjs +3 -3
  94. package/esm2022/page/page.component.mjs +34 -34
  95. package/esm2022/page/page.module.mjs +4 -4
  96. package/esm2022/popover/popover.component.mjs +3 -3
  97. package/esm2022/progress-circle/progress-circle-ring.component.mjs +3 -3
  98. package/esm2022/progress-circle/progress-circle.component.mjs +3 -3
  99. package/esm2022/radio/radio-group/radio-group.component.mjs +3 -3
  100. package/esm2022/radio/radio-module.mjs +4 -4
  101. package/esm2022/radio/radio.component.mjs +25 -6
  102. package/esm2022/range/range.component.mjs +6 -6
  103. package/esm2022/reorder-list/reorder-list.component.mjs +3 -3
  104. package/esm2022/router-outlet/router-outlet.component.mjs +3 -3
  105. package/esm2022/router-outlet/router-outlet.module.mjs +4 -4
  106. package/esm2022/section-header/section-header.component.mjs +4 -4
  107. package/esm2022/shared/component-loader.directive.mjs +3 -3
  108. package/esm2022/shared/controls/label-helpers.mjs +23 -0
  109. package/esm2022/shared/fit-heading/fit-heading.directive.mjs +3 -3
  110. package/esm2022/shared/floating/floating.directive.mjs +3 -3
  111. package/esm2022/shared/portal/portal.directive.mjs +3 -3
  112. package/esm2022/shared/public_api.mjs +2 -1
  113. package/esm2022/shared/resize-observer/resize-observer.factory.mjs +3 -3
  114. package/esm2022/shared/resize-observer/resize-observer.service.mjs +3 -3
  115. package/esm2022/shared/theme-color/theme-color.directive.mjs +3 -3
  116. package/esm2022/slide/slide-stretch-height.directive.mjs +3 -3
  117. package/esm2022/slide/slide.directive.mjs +3 -3
  118. package/esm2022/slide/slide.module.mjs +4 -4
  119. package/esm2022/slide/slides.component.mjs +3 -3
  120. package/esm2022/slide-button/slide-button.component.mjs +70 -6
  121. package/esm2022/spinner/spinner.component.mjs +3 -3
  122. package/esm2022/spinner/spinner.module.mjs +4 -4
  123. package/esm2022/tab-navigation/tab-navigation/tab-navigation.component.mjs +4 -4
  124. package/esm2022/tab-navigation/tab-navigation-item/tab-navigation-item.component.mjs +3 -3
  125. package/esm2022/tab-navigation/tab-navigation.module.mjs +4 -4
  126. package/esm2022/tabs/tab-button/tab-button.component.mjs +4 -4
  127. package/esm2022/tabs/tabs.component.mjs +3 -3
  128. package/esm2022/tabs/tabs.module.mjs +4 -4
  129. package/esm2022/tabs/tabs.service.mjs +3 -3
  130. package/esm2022/testing/test-helper.mjs +4 -4
  131. package/esm2022/testing-base/lib/components/mock.accordion-item.component.mjs +3 -3
  132. package/esm2022/testing-base/lib/components/mock.action-group.component.mjs +3 -3
  133. package/esm2022/testing-base/lib/components/mock.action-sheet.component.mjs +3 -3
  134. package/esm2022/testing-base/lib/components/mock.alert.component.mjs +3 -3
  135. package/esm2022/testing-base/lib/components/mock.avatar.component.mjs +3 -3
  136. package/esm2022/testing-base/lib/components/mock.badge.component.mjs +3 -3
  137. package/esm2022/testing-base/lib/components/mock.base-chart.component.mjs +3 -3
  138. package/esm2022/testing-base/lib/components/mock.button.component.mjs +3 -3
  139. package/esm2022/testing-base/lib/components/mock.calendar.component.mjs +3 -3
  140. package/esm2022/testing-base/lib/components/mock.card-footer.component.mjs +3 -3
  141. package/esm2022/testing-base/lib/components/mock.card-header.component.mjs +3 -3
  142. package/esm2022/testing-base/lib/components/mock.card.component.mjs +3 -3
  143. package/esm2022/testing-base/lib/components/mock.chart.component.mjs +3 -3
  144. package/esm2022/testing-base/lib/components/mock.checkbox.component.mjs +3 -3
  145. package/esm2022/testing-base/lib/components/mock.divider.component.mjs +3 -3
  146. package/esm2022/testing-base/lib/components/mock.dropdown.component.mjs +3 -3
  147. package/esm2022/testing-base/lib/components/mock.empty-state.component.mjs +3 -3
  148. package/esm2022/testing-base/lib/components/mock.fab-sheet.component.mjs +3 -3
  149. package/esm2022/testing-base/lib/components/mock.flag.component.mjs +3 -3
  150. package/esm2022/testing-base/lib/components/mock.form-field-message.component.mjs +3 -3
  151. package/esm2022/testing-base/lib/components/mock.form-field.component.mjs +3 -3
  152. package/esm2022/testing-base/lib/components/mock.header.component.mjs +9 -9
  153. package/esm2022/testing-base/lib/components/mock.icon.component.mjs +3 -3
  154. package/esm2022/testing-base/lib/components/mock.input-counter.component.mjs +3 -3
  155. package/esm2022/testing-base/lib/components/mock.input.component.mjs +3 -3
  156. package/esm2022/testing-base/lib/components/mock.item-group.component.mjs +3 -3
  157. package/esm2022/testing-base/lib/components/mock.item-sliding.component.mjs +3 -3
  158. package/esm2022/testing-base/lib/components/mock.item.component.mjs +3 -3
  159. package/esm2022/testing-base/lib/components/mock.kirby-app.component.mjs +3 -3
  160. package/esm2022/testing-base/lib/components/mock.label.component.mjs +3 -3
  161. package/esm2022/testing-base/lib/components/mock.list-experimental.component.mjs +3 -3
  162. package/esm2022/testing-base/lib/components/mock.list-header.component.mjs +3 -3
  163. package/esm2022/testing-base/lib/components/mock.list-item.component.mjs +3 -3
  164. package/esm2022/testing-base/lib/components/mock.list-section-header.component.mjs +3 -3
  165. package/esm2022/testing-base/lib/components/mock.list.component.mjs +3 -3
  166. package/esm2022/testing-base/lib/components/mock.loading-overlay.component.mjs +3 -3
  167. package/esm2022/testing-base/lib/components/mock.menu.component.mjs +3 -3
  168. package/esm2022/testing-base/lib/components/mock.modal-compact-wrapper.component.mjs +3 -3
  169. package/esm2022/testing-base/lib/components/mock.modal-footer.component.mjs +3 -3
  170. package/esm2022/testing-base/lib/components/mock.modal-wrapper.component.mjs +3 -3
  171. package/esm2022/testing-base/lib/components/mock.page-footer.component.mjs +3 -3
  172. package/esm2022/testing-base/lib/components/mock.page.component.mjs +33 -33
  173. package/esm2022/testing-base/lib/components/mock.popover.component.mjs +3 -3
  174. package/esm2022/testing-base/lib/components/mock.progress-circle-ring.component.mjs +3 -3
  175. package/esm2022/testing-base/lib/components/mock.progress-circle.component.mjs +3 -3
  176. package/esm2022/testing-base/lib/components/mock.radio-group.component.mjs +3 -3
  177. package/esm2022/testing-base/lib/components/mock.radio.component.mjs +3 -3
  178. package/esm2022/testing-base/lib/components/mock.range.component.mjs +3 -3
  179. package/esm2022/testing-base/lib/components/mock.reorder-list.component.mjs +3 -3
  180. package/esm2022/testing-base/lib/components/mock.router-outlet.component.mjs +3 -3
  181. package/esm2022/testing-base/lib/components/mock.section-header.component.mjs +3 -3
  182. package/esm2022/testing-base/lib/components/mock.segmented-control.component.mjs +3 -3
  183. package/esm2022/testing-base/lib/components/mock.slide-button.component.mjs +3 -3
  184. package/esm2022/testing-base/lib/components/mock.slides.component.mjs +3 -3
  185. package/esm2022/testing-base/lib/components/mock.spinner.component.mjs +3 -3
  186. package/esm2022/testing-base/lib/components/mock.stock-chart.component.mjs +3 -3
  187. package/esm2022/testing-base/lib/components/mock.tab-button.component.mjs +3 -3
  188. package/esm2022/testing-base/lib/components/mock.tab-navigation-item.component.mjs +3 -3
  189. package/esm2022/testing-base/lib/components/mock.tab-navigation.component.mjs +3 -3
  190. package/esm2022/testing-base/lib/components/mock.tabs.component.mjs +3 -3
  191. package/esm2022/testing-base/lib/components/mock.textarea.component.mjs +3 -3
  192. package/esm2022/testing-base/lib/components/mock.toggle-button.component.mjs +3 -3
  193. package/esm2022/testing-base/lib/components/mock.toggle.component.mjs +3 -3
  194. package/esm2022/testing-base/lib/directives/mock.accordion.directive.mjs +3 -3
  195. package/esm2022/testing-base/lib/directives/mock.affix.directive.mjs +3 -3
  196. package/esm2022/testing-base/lib/directives/mock.card-as-button.directive.mjs +3 -3
  197. package/esm2022/testing-base/lib/directives/mock.component-loader.directive.mjs +3 -3
  198. package/esm2022/testing-base/lib/directives/mock.date-input.directive.mjs +3 -3
  199. package/esm2022/testing-base/lib/directives/mock.decimal-mask.directive.mjs +3 -3
  200. package/esm2022/testing-base/lib/directives/mock.fit-heading.directive.mjs +3 -3
  201. package/esm2022/testing-base/lib/directives/mock.floating.directive.mjs +3 -3
  202. package/esm2022/testing-base/lib/directives/mock.infinite-scroll.directive.mjs +3 -3
  203. package/esm2022/testing-base/lib/directives/mock.key-handler.directive.mjs +3 -3
  204. package/esm2022/testing-base/lib/directives/mock.list-item-color.directive.mjs +3 -3
  205. package/esm2022/testing-base/lib/directives/mock.list.directive.mjs +12 -12
  206. package/esm2022/testing-base/lib/directives/mock.modal-router-link.directive.mjs +3 -3
  207. package/esm2022/testing-base/lib/directives/mock.portal.directive.mjs +3 -3
  208. package/esm2022/testing-base/lib/directives/mock.slide.directive.mjs +3 -3
  209. package/esm2022/testing-base/lib/directives/mock.theme-color.directive.mjs +3 -3
  210. package/esm2022/testing-base/lib/kirby-testing-base.module.mjs +4 -4
  211. package/esm2022/testing-jasmine/lib/kirby-testing.module.mjs +4 -4
  212. package/esm2022/testing-jest/lib/kirby-testing.module.mjs +4 -4
  213. package/esm2022/toast/services/toast.controller.mjs +3 -3
  214. package/esm2022/toast/services/toast.helper.mjs +3 -3
  215. package/esm2022/toggle/toggle.component.mjs +6 -6
  216. package/esm2022/toggle-button/toggle-button.component.mjs +11 -7
  217. package/esm2022/toggle-button/toggle-button.module.mjs +4 -4
  218. package/esm2022/types/window-ref.mjs +3 -3
  219. package/fesm2022/kirbydesign-designsystem-accordion.mjs +30 -13
  220. package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
  221. package/fesm2022/kirbydesign-designsystem-action-group.mjs +3 -3
  222. package/fesm2022/kirbydesign-designsystem-avatar.mjs +3 -3
  223. package/fesm2022/kirbydesign-designsystem-badge.mjs +15 -3
  224. package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
  225. package/fesm2022/kirbydesign-designsystem-button.mjs +4 -4
  226. package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
  227. package/fesm2022/kirbydesign-designsystem-calendar.mjs +7 -7
  228. package/fesm2022/kirbydesign-designsystem-card.mjs +17 -17
  229. package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
  230. package/fesm2022/kirbydesign-designsystem-chart.mjs +22 -22
  231. package/fesm2022/kirbydesign-designsystem-checkbox.mjs +25 -6
  232. package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
  233. package/fesm2022/kirbydesign-designsystem-data-table.mjs +7 -7
  234. package/fesm2022/kirbydesign-designsystem-divider.mjs +3 -3
  235. package/fesm2022/kirbydesign-designsystem-dropdown.mjs +12 -12
  236. package/fesm2022/kirbydesign-designsystem-empty-state.mjs +7 -7
  237. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +4 -4
  238. package/fesm2022/kirbydesign-designsystem-flag.mjs +3 -3
  239. package/fesm2022/kirbydesign-designsystem-form-field.mjs +30 -30
  240. package/fesm2022/kirbydesign-designsystem-header.mjs +19 -19
  241. package/fesm2022/kirbydesign-designsystem-helpers.mjs +9 -9
  242. package/fesm2022/kirbydesign-designsystem-icon.mjs +156 -129
  243. package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
  244. package/fesm2022/kirbydesign-designsystem-item-group.mjs +3 -3
  245. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +3 -3
  246. package/fesm2022/kirbydesign-designsystem-item.mjs +33 -52
  247. package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
  248. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +7 -7
  249. package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs +4 -4
  250. package/fesm2022/kirbydesign-designsystem-list.mjs +40 -40
  251. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +6 -6
  252. package/fesm2022/kirbydesign-designsystem-menu.mjs +3 -3
  253. package/fesm2022/kirbydesign-designsystem-modal.mjs +43 -43
  254. package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
  255. package/fesm2022/kirbydesign-designsystem-page.mjs +41 -41
  256. package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
  257. package/fesm2022/kirbydesign-designsystem-popover.mjs +3 -3
  258. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +6 -6
  259. package/fesm2022/kirbydesign-designsystem-radio.mjs +31 -12
  260. package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
  261. package/fesm2022/kirbydesign-designsystem-range.mjs +5 -5
  262. package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
  263. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +3 -3
  264. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +7 -7
  265. package/fesm2022/kirbydesign-designsystem-section-header.mjs +4 -4
  266. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +3 -3
  267. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +3 -3
  268. package/fesm2022/kirbydesign-designsystem-shared.mjs +39 -16
  269. package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
  270. package/fesm2022/kirbydesign-designsystem-slide-button.mjs +69 -5
  271. package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
  272. package/fesm2022/kirbydesign-designsystem-slide.mjs +13 -13
  273. package/fesm2022/kirbydesign-designsystem-spinner.mjs +7 -7
  274. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +11 -11
  275. package/fesm2022/kirbydesign-designsystem-tabs.mjs +14 -14
  276. package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
  277. package/fesm2022/kirbydesign-designsystem-testing-base.mjs +286 -286
  278. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +4 -4
  279. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +4 -4
  280. package/fesm2022/kirbydesign-designsystem-testing.mjs +4 -4
  281. package/fesm2022/kirbydesign-designsystem-toast.mjs +6 -6
  282. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +14 -10
  283. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
  284. package/fesm2022/kirbydesign-designsystem-toggle.mjs +5 -5
  285. package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
  286. package/fesm2022/kirbydesign-designsystem-types.mjs +3 -3
  287. package/fesm2022/kirbydesign-designsystem.mjs +14 -14
  288. package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
  289. package/icon/icon-registry.service.d.ts +8 -1
  290. package/icons/svg/basket.svg +1 -0
  291. package/icons/svg/contract.svg +1 -0
  292. package/icons/svg/drag-drop.svg +1 -0
  293. package/icons/svg/expand.svg +1 -0
  294. package/icons/svg/flower.svg +1 -0
  295. package/icons/svg/house.svg +1 -0
  296. package/icons/svg/tractor.svg +1 -0
  297. package/item/item.component.d.ts +2 -8
  298. package/package.json +2 -2
  299. package/radio/radio.component.d.ts +5 -2
  300. package/readme.md +10 -0
  301. package/shared/controls/label-helpers.d.ts +3 -0
  302. package/shared/public_api.d.ts +1 -0
  303. package/slide-button/slide-button.component.d.ts +5 -0
  304. package/toggle-button/toggle-button.component.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"kirbydesign-designsystem-shared.mjs","sources":["../../shared/src/resize-observer/resize-observer.factory.ts","../../shared/src/resize-observer/resize-observer.service.ts","../../shared/src/theme-color/theme-color.directive.ts","../../shared/src/component-loader.directive.ts","../../shared/src/fit-heading/fit-heading.directive.ts","../../shared/src/kirbydesign-designsystem-shared.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n/**\n * Factory that creates a new ResizeObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\n@Injectable({ providedIn: 'root' })\nexport class ResizeObserverFactory {\n create(callback: ResizeObserverCallback): ResizeObserver | null {\n return typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(callback);\n }\n}\n","import { ElementRef, Injectable, OnDestroy } from '@angular/core';\nimport { ResizeObserverFactory } from './resize-observer.factory';\n\n@Injectable({ providedIn: 'root' })\nexport class ResizeObserverService implements OnDestroy {\n // IMPORTANT: Keeps track of the existing ResizeObserver so it can be reused for performance.\n // See: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/z6ienONUb5A/F5-VcUZtBAAJ\n private observer: ResizeObserver | null;\n private observedElements = new WeakMap<Element, (entry: ResizeObserverEntry) => void>();\n\n constructor(private _resizeObserverFactory: ResizeObserverFactory) {\n this.observer = this._resizeObserverFactory.create((entries) => this.handleResize(entries));\n }\n\n observe(\n elementOrRef: Element | ElementRef<Element>,\n action: (entry: ResizeObserverEntry) => void\n ): void {\n const element = elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\n if (!this.observedElements.has(element)) {\n if (this.observer) {\n this.observer.observe(element);\n }\n this.observedElements.set(element, action);\n }\n }\n\n ngOnDestroy() {\n if (this.observer) {\n this.observer.disconnect();\n }\n this.observedElements = null;\n }\n\n unobserve(elementOrRef: Element | ElementRef<Element>) {\n const element = elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\n if (this.observedElements.has(element)) {\n if (this.observer) {\n this.observer.unobserve(element);\n }\n this.observedElements.delete(element);\n }\n }\n\n private handleResize(entries: ResizeObserverEntry[]) {\n entries.forEach((entry) => {\n const action = this.observedElements.get(entry.target);\n if (action) {\n action(entry);\n }\n });\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\nimport { ColorHelper } from '@kirbydesign/designsystem/helpers';\nimport { ThemeColor } from '@kirbydesign/core';\n\n@Directive({\n standalone: true,\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: `kirby-avatar[themeColor],\n kirby-card[themeColor],\n kirby-icon[themeColor],\n kirby-progress-circle-ring[themeColor],\n kirby-modal-footer[themeColor],\n kirby-empty-state[themeColor]`,\n})\nexport class ThemeColorDirective {\n private _isDefault = true;\n @HostBinding('class.default')\n get isDefault() {\n return this._isDefault;\n }\n\n private _isPrimary: boolean;\n @HostBinding('class.primary')\n get isPrimary() {\n return this._isPrimary;\n }\n\n private _isSecondary: boolean;\n @HostBinding('class.secondary')\n get isSecondary() {\n return this._isSecondary;\n }\n\n private _isTertiary: boolean;\n @HostBinding('class.tertiary')\n get isTertiary() {\n return this._isTertiary;\n }\n\n private _isSuccess: boolean;\n @HostBinding('class.success')\n get isSuccess() {\n return this._isSuccess;\n }\n\n private _isWarning: boolean;\n @HostBinding('class.warning')\n get isWarning() {\n return this._isWarning;\n }\n\n private _isDanger: boolean;\n @HostBinding('class.danger')\n get isDanger() {\n return this._isDanger;\n }\n\n private _isLight: boolean;\n @HostBinding('class.light')\n get isLight() {\n return this._isLight;\n }\n\n private _isMedium: boolean;\n @HostBinding('class.medium')\n get isMedium() {\n return this._isMedium;\n }\n\n private _isDark: boolean;\n @HostBinding('class.dark')\n get isDark() {\n return this._isDark;\n }\n\n private _isWhite: boolean;\n @HostBinding('class.white')\n get isWhite() {\n return this._isWhite;\n }\n\n private _isBrightnessWhite: boolean;\n @HostBinding('class.kirby-color-brightness-white')\n get isBrightnessWhite() {\n return this._isBrightnessWhite;\n }\n\n private _isBrightnessLight: boolean;\n @HostBinding('class.kirby-color-brightness-light')\n get isBrightnessLight() {\n return this._isBrightnessLight;\n }\n\n private _isBrightnessDark: boolean;\n @HostBinding('class.kirby-color-brightness-dark')\n get isBrightnessDark() {\n return this._isBrightnessDark;\n }\n\n @Input() set themeColor(value: ThemeColor) {\n this._isDefault = !value;\n this._isPrimary = value === 'primary';\n this._isSecondary = value === 'secondary';\n this._isTertiary = value === 'tertiary';\n this._isSuccess = value === 'success';\n this._isWarning = value === 'warning';\n this._isDanger = value === 'danger';\n this._isLight = value === 'light';\n this._isMedium = value === 'medium';\n this._isDark = value === 'dark';\n this._isWhite = value === 'white';\n const colorBrightness = ColorHelper.getColorBrightness(value);\n this._isBrightnessWhite = colorBrightness === 'white';\n this._isBrightnessLight = colorBrightness === 'light';\n this._isBrightnessDark = colorBrightness === 'dark';\n }\n}\n","import {\n ComponentFactoryResolver,\n Directive,\n Input,\n OnInit,\n Renderer2,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ComponentConfiguration } from './component-configuration';\nimport { DynamicComponent } from './dynamic-component';\n\n@Directive({\n selector: '[kirbyLoadComponent]',\n standalone: true,\n})\nexport class ComponentLoaderDirective implements OnInit {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('kirbyLoadComponent') configuration: ComponentConfiguration;\n @Input() cssClass: string;\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private viewContainerRef: ViewContainerRef,\n private renderer: Renderer2\n ) {}\n\n ngOnInit() {\n this.loadCard();\n }\n\n loadCard() {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n this.configuration.component\n );\n this.viewContainerRef.clear();\n const componentRef = this.viewContainerRef.createComponent(componentFactory);\n if (componentRef && componentRef.location && componentRef.location.nativeElement) {\n this.renderer.addClass(componentRef.location.nativeElement, this.cssClass);\n }\n (<DynamicComponent>componentRef.instance).data = this.configuration.data;\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\n\nimport { DesignTokenHelper } from '@kirbydesign/designsystem/helpers';\nimport { LineClampHelper } from '@kirbydesign/designsystem/helpers';\nimport { ResizeObserverService } from '../resize-observer/resize-observer.service';\n\nconst fontSize = DesignTokenHelper.fontSize;\nconst lineHeight = DesignTokenHelper.lineHeight;\n\ninterface HeadingSize {\n name: string;\n fontSize: string;\n lineHeight: string;\n}\n\nexport interface FitHeadingConfig {\n maxLines: number;\n}\n\n@Directive({\n standalone: true,\n selector: `h1[kirbyFitHeading],h2[kirbyFitHeading],h3[kirbyFitHeading]`,\n providers: [LineClampHelper],\n})\nexport class FitHeadingDirective implements OnInit, OnDestroy {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('kirbyFitHeading') config?: FitHeadingConfig;\n\n private isObservingHostElement: boolean;\n private hostElementClone: Element;\n private isScalingHeader: boolean; // used to prevent resizeObserver to trigger on font scaling by this.scaleHeader()\n\n private headingSizes: HeadingSize[] = [\n {\n name: 'h1',\n fontSize: fontSize('xl'),\n lineHeight: lineHeight('xl'),\n },\n {\n name: 'h2',\n fontSize: fontSize('l'),\n lineHeight: lineHeight('l'),\n },\n {\n name: 'h3',\n fontSize: fontSize('m'),\n lineHeight: lineHeight('m'),\n },\n ];\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private resizeObserverService: ResizeObserverService,\n private lineClampHelper: LineClampHelper\n ) {}\n\n ngOnInit(): void {\n if (this.config && this.config.maxLines) {\n this.lineClampHelper.setMaxLines(this.elementRef.nativeElement, this.config.maxLines);\n this.observeResize();\n this.isObservingHostElement = true;\n }\n }\n\n ngOnDestroy(): void {\n if (this.isObservingHostElement) {\n this.resizeObserverService.unobserve(this.elementRef);\n if (this.hostElementClone) {\n this.renderer.removeChild(this.elementRef.nativeElement, this.hostElementClone);\n }\n }\n }\n\n private observeResize(): void {\n this.resizeObserverService.observe(this.elementRef, () => {\n /**\n * setTimeout is used here to avoid repeated size changes\n * while the first size change is still ongoing.\n * This would result in the ResizeObserver being called again,\n * giving 'ResizeObserver loop limit exceeded' types of errors.\n */\n setTimeout(() => {\n this.scaleHeader();\n }, 0);\n });\n }\n\n private scaleHeader(): void {\n if (this.isScalingHeader) return;\n\n this.isScalingHeader = true;\n\n if (!this.hostElementClone) {\n this.hostElementClone = this.generateHostElementClone();\n this.renderer.appendChild(this.elementRef.nativeElement, this.hostElementClone);\n }\n\n this.renderer.setStyle(\n this.hostElementClone,\n 'width',\n `${this.elementRef.nativeElement.clientWidth}px`\n );\n\n const fallbackSize = this.headingSizes[this.headingSizes.length - 1];\n const fittedSize = this.headingSizes.find(this.canFitHeading.bind(this)) || fallbackSize;\n\n this.setSize(this.elementRef.nativeElement, fittedSize);\n this.lineClampHelper.setLineHeight(this.elementRef.nativeElement, fittedSize.lineHeight);\n this.isScalingHeader = false;\n }\n\n private canFitHeading(size: HeadingSize) {\n this.setSize(this.hostElementClone, size);\n const lines = this.hostElementClone.clientHeight / parseInt(size.lineHeight);\n return lines <= this.config.maxLines;\n }\n\n private generateHostElementClone(): Element {\n const clone = this.elementRef.nativeElement.cloneNode(true);\n this.renderer.setStyle(clone, 'position', 'absolute');\n this.renderer.setStyle(clone, 'visibility', 'hidden');\n this.lineClampHelper.removeLineClamp(clone);\n return clone;\n }\n\n private setSize(el: Element, size: HeadingSize): void {\n this.renderer.setStyle(el, 'font-size', size.fontSize);\n this.renderer.setStyle(el, 'line-height', size.lineHeight);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.ResizeObserverFactory","i1.ResizeObserverService"],"mappings":"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"}
1
+ {"version":3,"file":"kirbydesign-designsystem-shared.mjs","sources":["../../shared/src/resize-observer/resize-observer.factory.ts","../../shared/src/resize-observer/resize-observer.service.ts","../../shared/src/theme-color/theme-color.directive.ts","../../shared/src/component-loader.directive.ts","../../shared/src/fit-heading/fit-heading.directive.ts","../../shared/src/controls/label-helpers.ts","../../shared/src/kirbydesign-designsystem-shared.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n/**\n * Factory that creates a new ResizeObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\n@Injectable({ providedIn: 'root' })\nexport class ResizeObserverFactory {\n create(callback: ResizeObserverCallback): ResizeObserver | null {\n return typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(callback);\n }\n}\n","import { ElementRef, Injectable, OnDestroy } from '@angular/core';\nimport { ResizeObserverFactory } from './resize-observer.factory';\n\n@Injectable({ providedIn: 'root' })\nexport class ResizeObserverService implements OnDestroy {\n // IMPORTANT: Keeps track of the existing ResizeObserver so it can be reused for performance.\n // See: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/z6ienONUb5A/F5-VcUZtBAAJ\n private observer: ResizeObserver | null;\n private observedElements = new WeakMap<Element, (entry: ResizeObserverEntry) => void>();\n\n constructor(private _resizeObserverFactory: ResizeObserverFactory) {\n this.observer = this._resizeObserverFactory.create((entries) => this.handleResize(entries));\n }\n\n observe(\n elementOrRef: Element | ElementRef<Element>,\n action: (entry: ResizeObserverEntry) => void\n ): void {\n const element = elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\n if (!this.observedElements.has(element)) {\n if (this.observer) {\n this.observer.observe(element);\n }\n this.observedElements.set(element, action);\n }\n }\n\n ngOnDestroy() {\n if (this.observer) {\n this.observer.disconnect();\n }\n this.observedElements = null;\n }\n\n unobserve(elementOrRef: Element | ElementRef<Element>) {\n const element = elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\n if (this.observedElements.has(element)) {\n if (this.observer) {\n this.observer.unobserve(element);\n }\n this.observedElements.delete(element);\n }\n }\n\n private handleResize(entries: ResizeObserverEntry[]) {\n entries.forEach((entry) => {\n const action = this.observedElements.get(entry.target);\n if (action) {\n action(entry);\n }\n });\n }\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\nimport { ColorHelper } from '@kirbydesign/designsystem/helpers';\nimport { ThemeColor } from '@kirbydesign/core';\n\n@Directive({\n standalone: true,\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: `kirby-avatar[themeColor],\n kirby-card[themeColor],\n kirby-icon[themeColor],\n kirby-progress-circle-ring[themeColor],\n kirby-modal-footer[themeColor],\n kirby-empty-state[themeColor]`,\n})\nexport class ThemeColorDirective {\n private _isDefault = true;\n @HostBinding('class.default')\n get isDefault() {\n return this._isDefault;\n }\n\n private _isPrimary: boolean;\n @HostBinding('class.primary')\n get isPrimary() {\n return this._isPrimary;\n }\n\n private _isSecondary: boolean;\n @HostBinding('class.secondary')\n get isSecondary() {\n return this._isSecondary;\n }\n\n private _isTertiary: boolean;\n @HostBinding('class.tertiary')\n get isTertiary() {\n return this._isTertiary;\n }\n\n private _isSuccess: boolean;\n @HostBinding('class.success')\n get isSuccess() {\n return this._isSuccess;\n }\n\n private _isWarning: boolean;\n @HostBinding('class.warning')\n get isWarning() {\n return this._isWarning;\n }\n\n private _isDanger: boolean;\n @HostBinding('class.danger')\n get isDanger() {\n return this._isDanger;\n }\n\n private _isLight: boolean;\n @HostBinding('class.light')\n get isLight() {\n return this._isLight;\n }\n\n private _isMedium: boolean;\n @HostBinding('class.medium')\n get isMedium() {\n return this._isMedium;\n }\n\n private _isDark: boolean;\n @HostBinding('class.dark')\n get isDark() {\n return this._isDark;\n }\n\n private _isWhite: boolean;\n @HostBinding('class.white')\n get isWhite() {\n return this._isWhite;\n }\n\n private _isBrightnessWhite: boolean;\n @HostBinding('class.kirby-color-brightness-white')\n get isBrightnessWhite() {\n return this._isBrightnessWhite;\n }\n\n private _isBrightnessLight: boolean;\n @HostBinding('class.kirby-color-brightness-light')\n get isBrightnessLight() {\n return this._isBrightnessLight;\n }\n\n private _isBrightnessDark: boolean;\n @HostBinding('class.kirby-color-brightness-dark')\n get isBrightnessDark() {\n return this._isBrightnessDark;\n }\n\n @Input() set themeColor(value: ThemeColor) {\n this._isDefault = !value;\n this._isPrimary = value === 'primary';\n this._isSecondary = value === 'secondary';\n this._isTertiary = value === 'tertiary';\n this._isSuccess = value === 'success';\n this._isWarning = value === 'warning';\n this._isDanger = value === 'danger';\n this._isLight = value === 'light';\n this._isMedium = value === 'medium';\n this._isDark = value === 'dark';\n this._isWhite = value === 'white';\n const colorBrightness = ColorHelper.getColorBrightness(value);\n this._isBrightnessWhite = colorBrightness === 'white';\n this._isBrightnessLight = colorBrightness === 'light';\n this._isBrightnessDark = colorBrightness === 'dark';\n }\n}\n","import {\n ComponentFactoryResolver,\n Directive,\n Input,\n OnInit,\n Renderer2,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ComponentConfiguration } from './component-configuration';\nimport { DynamicComponent } from './dynamic-component';\n\n@Directive({\n selector: '[kirbyLoadComponent]',\n standalone: true,\n})\nexport class ComponentLoaderDirective implements OnInit {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('kirbyLoadComponent') configuration: ComponentConfiguration;\n @Input() cssClass: string;\n\n constructor(\n private componentFactoryResolver: ComponentFactoryResolver,\n private viewContainerRef: ViewContainerRef,\n private renderer: Renderer2\n ) {}\n\n ngOnInit() {\n this.loadCard();\n }\n\n loadCard() {\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n this.configuration.component\n );\n this.viewContainerRef.clear();\n const componentRef = this.viewContainerRef.createComponent(componentFactory);\n if (componentRef && componentRef.location && componentRef.location.nativeElement) {\n this.renderer.addClass(componentRef.location.nativeElement, this.cssClass);\n }\n (<DynamicComponent>componentRef.instance).data = this.configuration.data;\n }\n}\n","import { Directive, ElementRef, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\n\nimport { DesignTokenHelper } from '@kirbydesign/designsystem/helpers';\nimport { LineClampHelper } from '@kirbydesign/designsystem/helpers';\nimport { ResizeObserverService } from '../resize-observer/resize-observer.service';\n\nconst fontSize = DesignTokenHelper.fontSize;\nconst lineHeight = DesignTokenHelper.lineHeight;\n\ninterface HeadingSize {\n name: string;\n fontSize: string;\n lineHeight: string;\n}\n\nexport interface FitHeadingConfig {\n maxLines: number;\n}\n\n@Directive({\n standalone: true,\n selector: `h1[kirbyFitHeading],h2[kirbyFitHeading],h3[kirbyFitHeading]`,\n providers: [LineClampHelper],\n})\nexport class FitHeadingDirective implements OnInit, OnDestroy {\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('kirbyFitHeading') config?: FitHeadingConfig;\n\n private isObservingHostElement: boolean;\n private hostElementClone: Element;\n private isScalingHeader: boolean; // used to prevent resizeObserver to trigger on font scaling by this.scaleHeader()\n\n private headingSizes: HeadingSize[] = [\n {\n name: 'h1',\n fontSize: fontSize('xl'),\n lineHeight: lineHeight('xl'),\n },\n {\n name: 'h2',\n fontSize: fontSize('l'),\n lineHeight: lineHeight('l'),\n },\n {\n name: 'h3',\n fontSize: fontSize('m'),\n lineHeight: lineHeight('m'),\n },\n ];\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private resizeObserverService: ResizeObserverService,\n private lineClampHelper: LineClampHelper\n ) {}\n\n ngOnInit(): void {\n if (this.config && this.config.maxLines) {\n this.lineClampHelper.setMaxLines(this.elementRef.nativeElement, this.config.maxLines);\n this.observeResize();\n this.isObservingHostElement = true;\n }\n }\n\n ngOnDestroy(): void {\n if (this.isObservingHostElement) {\n this.resizeObserverService.unobserve(this.elementRef);\n if (this.hostElementClone) {\n this.renderer.removeChild(this.elementRef.nativeElement, this.hostElementClone);\n }\n }\n }\n\n private observeResize(): void {\n this.resizeObserverService.observe(this.elementRef, () => {\n /**\n * setTimeout is used here to avoid repeated size changes\n * while the first size change is still ongoing.\n * This would result in the ResizeObserver being called again,\n * giving 'ResizeObserver loop limit exceeded' types of errors.\n */\n setTimeout(() => {\n this.scaleHeader();\n }, 0);\n });\n }\n\n private scaleHeader(): void {\n if (this.isScalingHeader) return;\n\n this.isScalingHeader = true;\n\n if (!this.hostElementClone) {\n this.hostElementClone = this.generateHostElementClone();\n this.renderer.appendChild(this.elementRef.nativeElement, this.hostElementClone);\n }\n\n this.renderer.setStyle(\n this.hostElementClone,\n 'width',\n `${this.elementRef.nativeElement.clientWidth}px`\n );\n\n const fallbackSize = this.headingSizes[this.headingSizes.length - 1];\n const fittedSize = this.headingSizes.find(this.canFitHeading.bind(this)) || fallbackSize;\n\n this.setSize(this.elementRef.nativeElement, fittedSize);\n this.lineClampHelper.setLineHeight(this.elementRef.nativeElement, fittedSize.lineHeight);\n this.isScalingHeader = false;\n }\n\n private canFitHeading(size: HeadingSize) {\n this.setSize(this.hostElementClone, size);\n const lines = this.hostElementClone.clientHeight / parseInt(size.lineHeight);\n return lines <= this.config.maxLines;\n }\n\n private generateHostElementClone(): Element {\n const clone = this.elementRef.nativeElement.cloneNode(true);\n this.renderer.setStyle(clone, 'position', 'absolute');\n this.renderer.setStyle(clone, 'visibility', 'hidden');\n this.lineClampHelper.removeLineClamp(clone);\n return clone;\n }\n\n private setSize(el: Element, size: HeadingSize): void {\n this.renderer.setStyle(el, 'font-size', size.fontSize);\n this.renderer.setStyle(el, 'line-height', size.lineHeight);\n }\n}\n","export function findItemLabel(element: HTMLElement): HTMLElement {\n const itemEl = element.closest('kirby-item');\n if (itemEl) {\n return itemEl.querySelector('kirby-label');\n }\n\n return null;\n}\n\nexport function setAccessibleLabel(element: HTMLElement): string {\n const label = findItemLabel(element);\n if (label) {\n label.setAttribute('aria-hidden', 'true');\n return label.textContent;\n }\n}\n\nexport function inheritAriaLabelText(element: HTMLElement): string {\n const attribute = 'aria-label';\n if (element.hasAttribute(attribute)) {\n const value = element.getAttribute(attribute);\n element.removeAttribute(attribute);\n return value;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.ResizeObserverFactory","i1.ResizeObserverService"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i1 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output } from '@angular/core';
4
+ import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, HostListener } from '@angular/core';
5
5
 
6
6
  class SlideButtonComponent {
7
7
  get value() {
@@ -14,6 +14,15 @@ class SlideButtonComponent {
14
14
  calculatePctInTens() {
15
15
  this.pctInTens = Math.ceil(this.value / 10) * 10;
16
16
  }
17
+ resetStep() {
18
+ this.step = 1;
19
+ }
20
+ get step() {
21
+ return this._step;
22
+ }
23
+ set step(value) {
24
+ this._step = value;
25
+ }
17
26
  constructor(changeDetectionRef) {
18
27
  this.changeDetectionRef = changeDetectionRef;
19
28
  this.text = '';
@@ -24,6 +33,7 @@ class SlideButtonComponent {
24
33
  this.isSlideDone = false;
25
34
  this.pctInTens = 0;
26
35
  this._value = 0;
36
+ this._step = 1;
27
37
  }
28
38
  ngOnDestroy() {
29
39
  if (this.resetSliderIntervalTimer) {
@@ -31,10 +41,12 @@ class SlideButtonComponent {
31
41
  }
32
42
  }
33
43
  onSliderMouseup() {
44
+ this.resetStep();
34
45
  if (this.value == 100) {
35
46
  this.handleSlideDone();
36
47
  }
37
48
  else {
49
+ // Return slider thumb to beginning of slider button in increments of 2
38
50
  this.resetSliderIntervalTimer = setInterval(() => {
39
51
  if (this.value > 0) {
40
52
  this.value -= 2;
@@ -50,6 +62,10 @@ class SlideButtonComponent {
50
62
  this.value = +val;
51
63
  this.slidingPercentageChanged.emit(this.value);
52
64
  }
65
+ onKeyDownEvents() {
66
+ clearInterval(this.resetSliderIntervalTimer);
67
+ this.step = 10;
68
+ }
53
69
  onSliderMousedown() {
54
70
  clearInterval(this.resetSliderIntervalTimer);
55
71
  }
@@ -57,12 +73,12 @@ class SlideButtonComponent {
57
73
  this.slideDone.emit();
58
74
  this.isSlideDone = true;
59
75
  }
60
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SlideButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
61
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: SlideButtonComponent, isStandalone: true, selector: "kirby-slide-button", inputs: { text: "text", expand: "expand" }, outputs: { slideDone: "slideDone", slidingPercentageChanged: "slidingPercentageChanged" }, ngImport: i0, template: "<div class=\"slide-button-container\" [ngClass]=\"{ 'slide-done': isSlideDone }\">\n <input\n type=\"range\"\n (mouseup)=\"onSliderMouseup()\"\n (touchend)=\"onSliderMouseup()\"\n (input)=\"onSliderValueChange($event.target.value)\"\n (mousedown)=\"onSliderMousedown()\"\n (touchstart)=\"onSliderMousedown()\"\n class=\"slide-button\"\n [value]=\"value\"\n max=\"100\"\n />\n <p class=\"slide-button-text slide-{{ pctInTens }}-pct\">{{ text }}</p>\n</div>\n", styles: [":host{position:relative;display:inline-block;width:256px;-webkit-user-select:none;user-select:none}:host[expand=block]{display:block;width:100%}:host .slide-button-container{width:100%;display:flex;justify-content:center;align-items:center;color:var(--kirby-primary-contrast);background-color:var(--kirby-primary);height:56px;border-radius:26px}:host .slide-10-pct{opacity:.9}:host .slide-20-pct{opacity:.8}:host .slide-30-pct{opacity:.7}:host .slide-40-pct{opacity:.6}:host .slide-50-pct{opacity:.5}:host .slide-60-pct{opacity:.4}:host .slide-70-pct{opacity:.3}:host .slide-80-pct{opacity:.2}:host .slide-90-pct{opacity:.1}:host .slide-100-pct{opacity:0}:host .slide-button-text{position:absolute;font-size:16px;margin:0;line-height:1;z-index:1;width:100%;text-align:center;padding:0 26px 0 56px;pointer-events:none}:host .slide-button{outline:none;width:100%;height:100%;-webkit-appearance:none;appearance:none;background:transparent;z-index:2;pointer-events:none}:host .slide-button::-webkit-slider-thumb{transition:all 80ms linear 0ms;-webkit-appearance:none;appearance:none;border-radius:50%;background-color:var(--kirby-white);background-image:url(/assets/kirby/icons/svg/arrow-more.svg);background-repeat:no-repeat;background-position:center;background-size:24px;width:52px;height:52px;border:none;pointer-events:all}@media (hover: hover){:host .slide-button::-webkit-slider-thumb:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:#ebebeb}}:host .slide-button::-webkit-slider-thumb:active,:host .slide-button::-webkit-slider-thumb .interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:#e0e0e0}:host .slide-button::-moz-range-thumb{transition:all 80ms linear 0ms;-webkit-appearance:none;appearance:none;border-radius:50%;background-color:var(--kirby-white);background-image:url(/assets/kirby/icons/svg/arrow-more.svg);background-repeat:no-repeat;background-position:center;background-size:24px;width:52px;height:52px;border:none;pointer-events:all}@media (hover: hover){:host .slide-button::-moz-range-thumb:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:#ebebeb}}:host .slide-button::-moz-range-thumb:active,:host .slide-button::-moz-range-thumb .interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:#e0e0e0}:host .slide-done{transition:all .3s ease-in-out;opacity:0;height:0;transform:scale(0);pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
76
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SlideButtonComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
77
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: SlideButtonComponent, isStandalone: true, selector: "kirby-slide-button", inputs: { text: "text", expand: "expand" }, outputs: { slideDone: "slideDone", slidingPercentageChanged: "slidingPercentageChanged" }, host: { listeners: { "keyup.arrowup": "onSliderMouseup($event)", "keyup.arrowdown": "onSliderMouseup($event)", "keyup.arrowleft": "onSliderMouseup($event)", "keyup.arrowright": "onSliderMouseup($event)", "keyup.pageup": "onSliderMouseup($event)", "keyup.pagedown": "onSliderMouseup($event)", "keyup.home": "onSliderMouseup($event)", "keyup.end": "onSliderMouseup($event)", "keydown.arrowup": "onKeyDownEvents($event)", "keydown.arrowdown": "onKeyDownEvents($event)", "keydown.arrowleft": "onKeyDownEvents($event)", "keydown.arrowright": "onKeyDownEvents($event)", "keydown.pageup": "onSliderMousedown($event)", "keydown.pagedown": "onSliderMousedown($event)", "keydown.home": "onSliderMousedown($event)", "keydown.end": "onSliderMousedown($event)" } }, ngImport: i0, template: "<div class=\"slide-button-container\" [ngClass]=\"{ 'slide-done': isSlideDone }\" [inert]=\"isSlideDone\">\n <input\n type=\"range\"\n (mouseup)=\"onSliderMouseup()\"\n (touchend)=\"onSliderMouseup()\"\n (input)=\"onSliderValueChange($event.target.value)\"\n (mousedown)=\"onSliderMousedown()\"\n (touchstart)=\"onSliderMousedown()\"\n class=\"slide-button\"\n [value]=\"value\"\n max=\"100\"\n [step]=\"step\"\n />\n <p class=\"slide-button-text slide-{{ pctInTens }}-pct\">{{ text }}</p>\n</div>\n", styles: [":host{position:relative;display:inline-block;width:256px;-webkit-user-select:none;user-select:none}:host[expand=block]{display:block;width:100%}:host .slide-button-container{width:100%;display:flex;justify-content:center;align-items:center;color:var(--kirby-primary-contrast);background-color:var(--kirby-primary);height:56px;border-radius:26px}:host .slide-10-pct{opacity:.9}:host .slide-20-pct{opacity:.8}:host .slide-30-pct{opacity:.7}:host .slide-40-pct{opacity:.6}:host .slide-50-pct{opacity:.5}:host .slide-60-pct{opacity:.4}:host .slide-70-pct{opacity:.3}:host .slide-80-pct{opacity:.2}:host .slide-90-pct{opacity:.1}:host .slide-100-pct{opacity:0}:host .slide-button-text{position:absolute;font-size:16px;margin:0;line-height:1;z-index:1;width:100%;text-align:center;padding:0 26px 0 56px;pointer-events:none}:host .slide-button{outline:none;width:100%;height:100%;-webkit-appearance:none;appearance:none;background:transparent;z-index:2;pointer-events:none}@media (hover: hover){:host .slide-button::-webkit-slider-thumb:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:#ebebeb}}:host .slide-button::-webkit-slider-thumb:active,:host .slide-button::-webkit-slider-thumb .interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:#e0e0e0}:host .slide-button::-webkit-slider-thumb{transition:all 80ms linear 0ms;-webkit-appearance:none;appearance:none;border-radius:50%;background-color:var(--kirby-white);background-image:url(/assets/kirby/icons/svg/arrow-more.svg);background-repeat:no-repeat;background-position:center;background-size:24px;width:52px;height:52px;border:none;pointer-events:all}@media (hover: hover){:host .slide-button::-moz-range-thumb:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:#ebebeb}}:host .slide-button::-moz-range-thumb:active,:host .slide-button::-moz-range-thumb .interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:#e0e0e0}:host .slide-button::-moz-range-thumb{transition:all 80ms linear 0ms;-webkit-appearance:none;appearance:none;border-radius:50%;background-color:var(--kirby-white);background-image:url(/assets/kirby/icons/svg/arrow-more.svg);background-repeat:no-repeat;background-position:center;background-size:24px;width:52px;height:52px;border:none;pointer-events:all}:host .slide-button:focus-visible::-webkit-slider-thumb{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host .slide-done{transition:all .3s ease-in-out;opacity:0;height:0;transform:scale(0);pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
78
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SlideButtonComponent, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SlideButtonComponent, decorators: [{
64
80
  type: Component,
65
- args: [{ standalone: true, imports: [CommonModule], selector: 'kirby-slide-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"slide-button-container\" [ngClass]=\"{ 'slide-done': isSlideDone }\">\n <input\n type=\"range\"\n (mouseup)=\"onSliderMouseup()\"\n (touchend)=\"onSliderMouseup()\"\n (input)=\"onSliderValueChange($event.target.value)\"\n (mousedown)=\"onSliderMousedown()\"\n (touchstart)=\"onSliderMousedown()\"\n class=\"slide-button\"\n [value]=\"value\"\n max=\"100\"\n />\n <p class=\"slide-button-text slide-{{ pctInTens }}-pct\">{{ text }}</p>\n</div>\n", styles: [":host{position:relative;display:inline-block;width:256px;-webkit-user-select:none;user-select:none}:host[expand=block]{display:block;width:100%}:host .slide-button-container{width:100%;display:flex;justify-content:center;align-items:center;color:var(--kirby-primary-contrast);background-color:var(--kirby-primary);height:56px;border-radius:26px}:host .slide-10-pct{opacity:.9}:host .slide-20-pct{opacity:.8}:host .slide-30-pct{opacity:.7}:host .slide-40-pct{opacity:.6}:host .slide-50-pct{opacity:.5}:host .slide-60-pct{opacity:.4}:host .slide-70-pct{opacity:.3}:host .slide-80-pct{opacity:.2}:host .slide-90-pct{opacity:.1}:host .slide-100-pct{opacity:0}:host .slide-button-text{position:absolute;font-size:16px;margin:0;line-height:1;z-index:1;width:100%;text-align:center;padding:0 26px 0 56px;pointer-events:none}:host .slide-button{outline:none;width:100%;height:100%;-webkit-appearance:none;appearance:none;background:transparent;z-index:2;pointer-events:none}:host .slide-button::-webkit-slider-thumb{transition:all 80ms linear 0ms;-webkit-appearance:none;appearance:none;border-radius:50%;background-color:var(--kirby-white);background-image:url(/assets/kirby/icons/svg/arrow-more.svg);background-repeat:no-repeat;background-position:center;background-size:24px;width:52px;height:52px;border:none;pointer-events:all}@media (hover: hover){:host .slide-button::-webkit-slider-thumb:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:#ebebeb}}:host .slide-button::-webkit-slider-thumb:active,:host .slide-button::-webkit-slider-thumb .interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:#e0e0e0}:host .slide-button::-moz-range-thumb{transition:all 80ms linear 0ms;-webkit-appearance:none;appearance:none;border-radius:50%;background-color:var(--kirby-white);background-image:url(/assets/kirby/icons/svg/arrow-more.svg);background-repeat:no-repeat;background-position:center;background-size:24px;width:52px;height:52px;border:none;pointer-events:all}@media (hover: hover){:host .slide-button::-moz-range-thumb:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:#ebebeb}}:host .slide-button::-moz-range-thumb:active,:host .slide-button::-moz-range-thumb .interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:#e0e0e0}:host .slide-done{transition:all .3s ease-in-out;opacity:0;height:0;transform:scale(0);pointer-events:none}\n"] }]
81
+ args: [{ standalone: true, imports: [CommonModule], selector: 'kirby-slide-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"slide-button-container\" [ngClass]=\"{ 'slide-done': isSlideDone }\" [inert]=\"isSlideDone\">\n <input\n type=\"range\"\n (mouseup)=\"onSliderMouseup()\"\n (touchend)=\"onSliderMouseup()\"\n (input)=\"onSliderValueChange($event.target.value)\"\n (mousedown)=\"onSliderMousedown()\"\n (touchstart)=\"onSliderMousedown()\"\n class=\"slide-button\"\n [value]=\"value\"\n max=\"100\"\n [step]=\"step\"\n />\n <p class=\"slide-button-text slide-{{ pctInTens }}-pct\">{{ text }}</p>\n</div>\n", styles: [":host{position:relative;display:inline-block;width:256px;-webkit-user-select:none;user-select:none}:host[expand=block]{display:block;width:100%}:host .slide-button-container{width:100%;display:flex;justify-content:center;align-items:center;color:var(--kirby-primary-contrast);background-color:var(--kirby-primary);height:56px;border-radius:26px}:host .slide-10-pct{opacity:.9}:host .slide-20-pct{opacity:.8}:host .slide-30-pct{opacity:.7}:host .slide-40-pct{opacity:.6}:host .slide-50-pct{opacity:.5}:host .slide-60-pct{opacity:.4}:host .slide-70-pct{opacity:.3}:host .slide-80-pct{opacity:.2}:host .slide-90-pct{opacity:.1}:host .slide-100-pct{opacity:0}:host .slide-button-text{position:absolute;font-size:16px;margin:0;line-height:1;z-index:1;width:100%;text-align:center;padding:0 26px 0 56px;pointer-events:none}:host .slide-button{outline:none;width:100%;height:100%;-webkit-appearance:none;appearance:none;background:transparent;z-index:2;pointer-events:none}@media (hover: hover){:host .slide-button::-webkit-slider-thumb:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:#ebebeb}}:host .slide-button::-webkit-slider-thumb:active,:host .slide-button::-webkit-slider-thumb .interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:#e0e0e0}:host .slide-button::-webkit-slider-thumb{transition:all 80ms linear 0ms;-webkit-appearance:none;appearance:none;border-radius:50%;background-color:var(--kirby-white);background-image:url(/assets/kirby/icons/svg/arrow-more.svg);background-repeat:no-repeat;background-position:center;background-size:24px;width:52px;height:52px;border:none;pointer-events:all}@media (hover: hover){:host .slide-button::-moz-range-thumb:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:#ebebeb}}:host .slide-button::-moz-range-thumb:active,:host .slide-button::-moz-range-thumb .interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:#e0e0e0}:host .slide-button::-moz-range-thumb{transition:all 80ms linear 0ms;-webkit-appearance:none;appearance:none;border-radius:50%;background-color:var(--kirby-white);background-image:url(/assets/kirby/icons/svg/arrow-more.svg);background-repeat:no-repeat;background-position:center;background-size:24px;width:52px;height:52px;border:none;pointer-events:all}:host .slide-button:focus-visible::-webkit-slider-thumb{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host .slide-done{transition:all .3s ease-in-out;opacity:0;height:0;transform:scale(0);pointer-events:none}\n"] }]
66
82
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { text: [{
67
83
  type: Input
68
84
  }], expand: [{
@@ -71,6 +87,54 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
71
87
  type: Output
72
88
  }], slidingPercentageChanged: [{
73
89
  type: Output
90
+ }], onSliderMouseup: [{
91
+ type: HostListener,
92
+ args: ['keyup.arrowup', ['$event']]
93
+ }, {
94
+ type: HostListener,
95
+ args: ['keyup.arrowdown', ['$event']]
96
+ }, {
97
+ type: HostListener,
98
+ args: ['keyup.arrowleft', ['$event']]
99
+ }, {
100
+ type: HostListener,
101
+ args: ['keyup.arrowright', ['$event']]
102
+ }, {
103
+ type: HostListener,
104
+ args: ['keyup.pageup', ['$event']]
105
+ }, {
106
+ type: HostListener,
107
+ args: ['keyup.pagedown', ['$event']]
108
+ }, {
109
+ type: HostListener,
110
+ args: ['keyup.home', ['$event']]
111
+ }, {
112
+ type: HostListener,
113
+ args: ['keyup.end', ['$event']]
114
+ }], onKeyDownEvents: [{
115
+ type: HostListener,
116
+ args: ['keydown.arrowup', ['$event']]
117
+ }, {
118
+ type: HostListener,
119
+ args: ['keydown.arrowdown', ['$event']]
120
+ }, {
121
+ type: HostListener,
122
+ args: ['keydown.arrowleft', ['$event']]
123
+ }, {
124
+ type: HostListener,
125
+ args: ['keydown.arrowright', ['$event']]
126
+ }], onSliderMousedown: [{
127
+ type: HostListener,
128
+ args: ['keydown.pageup', ['$event']]
129
+ }, {
130
+ type: HostListener,
131
+ args: ['keydown.pagedown', ['$event']]
132
+ }, {
133
+ type: HostListener,
134
+ args: ['keydown.home', ['$event']]
135
+ }, {
136
+ type: HostListener,
137
+ args: ['keydown.end', ['$event']]
74
138
  }] } });
75
139
 
76
140
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"kirbydesign-designsystem-slide-button.mjs","sources":["../../slide-button/src/slide-button.component.ts","../../slide-button/src/slide-button.component.html","../../slide-button/src/kirbydesign-designsystem-slide-button.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\n\n@Component({\n standalone: true,\n imports: [CommonModule],\n selector: 'kirby-slide-button',\n templateUrl: './slide-button.component.html',\n styleUrls: ['./slide-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SlideButtonComponent implements OnDestroy {\n @Input() text = '';\n @Input() expand: 'block';\n\n @Output() slideDone = new EventEmitter();\n @Output() slidingPercentageChanged = new EventEmitter<number>();\n\n readonly slideDoneFadeTime = 500;\n readonly slideResetTime = 100;\n\n isSlideDone = false;\n pctInTens = 0;\n\n get value(): number {\n return this._value;\n }\n set value(v: number) {\n this._value = v;\n this.calculatePctInTens();\n }\n\n private _value: number = 0;\n private resetSliderIntervalTimer: any;\n private calculatePctInTens() {\n this.pctInTens = Math.ceil(this.value / 10) * 10;\n }\n\n constructor(private changeDetectionRef: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n if (this.resetSliderIntervalTimer) {\n clearInterval(this.resetSliderIntervalTimer);\n }\n }\n\n onSliderMouseup() {\n if (this.value == 100) {\n this.handleSlideDone();\n } else {\n this.resetSliderIntervalTimer = setInterval(() => {\n if (this.value > 0) {\n this.value -= 2;\n } else {\n clearInterval(this.resetSliderIntervalTimer);\n }\n\n this.changeDetectionRef.markForCheck();\n }, 1);\n }\n }\n\n onSliderValueChange(val: string) {\n this.value = +val;\n this.slidingPercentageChanged.emit(this.value);\n }\n\n onSliderMousedown() {\n clearInterval(this.resetSliderIntervalTimer);\n }\n\n private handleSlideDone() {\n this.slideDone.emit();\n this.isSlideDone = true;\n }\n}\n","<div class=\"slide-button-container\" [ngClass]=\"{ 'slide-done': isSlideDone }\">\n <input\n type=\"range\"\n (mouseup)=\"onSliderMouseup()\"\n (touchend)=\"onSliderMouseup()\"\n (input)=\"onSliderValueChange($event.target.value)\"\n (mousedown)=\"onSliderMousedown()\"\n (touchstart)=\"onSliderMousedown()\"\n class=\"slide-button\"\n [value]=\"value\"\n max=\"100\"\n />\n <p class=\"slide-button-text slide-{{ pctInTens }}-pct\">{{ text }}</p>\n</div>\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-slide-button.mjs","sources":["../../slide-button/src/slide-button.component.ts","../../slide-button/src/slide-button.component.html","../../slide-button/src/kirbydesign-designsystem-slide-button.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\n\n@Component({\n standalone: true,\n imports: [CommonModule],\n selector: 'kirby-slide-button',\n templateUrl: './slide-button.component.html',\n styleUrls: ['./slide-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SlideButtonComponent implements OnDestroy {\n @Input() text = '';\n @Input() expand: 'block';\n\n @Output() slideDone = new EventEmitter();\n @Output() slidingPercentageChanged = new EventEmitter<number>();\n\n readonly slideDoneFadeTime = 500;\n readonly slideResetTime = 100;\n\n isSlideDone = false;\n pctInTens = 0;\n\n get value(): number {\n return this._value;\n }\n set value(v: number) {\n this._value = v;\n this.calculatePctInTens();\n }\n\n private _value: number = 0;\n private resetSliderIntervalTimer: any;\n private calculatePctInTens() {\n this.pctInTens = Math.ceil(this.value / 10) * 10;\n }\n\n private _step = 1;\n private resetStep() {\n this.step = 1;\n }\n public get step() {\n return this._step;\n }\n public set step(value) {\n this._step = value;\n }\n\n constructor(private changeDetectionRef: ChangeDetectorRef) {}\n\n ngOnDestroy(): void {\n if (this.resetSliderIntervalTimer) {\n clearInterval(this.resetSliderIntervalTimer);\n }\n }\n\n @HostListener('keyup.arrowup', ['$event'])\n @HostListener('keyup.arrowdown', ['$event'])\n @HostListener('keyup.arrowleft', ['$event'])\n @HostListener('keyup.arrowright', ['$event'])\n @HostListener('keyup.pageup', ['$event'])\n @HostListener('keyup.pagedown', ['$event'])\n @HostListener('keyup.home', ['$event'])\n @HostListener('keyup.end', ['$event'])\n onSliderMouseup() {\n this.resetStep();\n if (this.value == 100) {\n this.handleSlideDone();\n } else {\n // Return slider thumb to beginning of slider button in increments of 2\n this.resetSliderIntervalTimer = setInterval(() => {\n if (this.value > 0) {\n this.value -= 2;\n } else {\n clearInterval(this.resetSliderIntervalTimer);\n }\n\n this.changeDetectionRef.markForCheck();\n }, 1);\n }\n }\n\n onSliderValueChange(val: string) {\n this.value = +val;\n this.slidingPercentageChanged.emit(this.value);\n }\n\n @HostListener('keydown.arrowup', ['$event'])\n @HostListener('keydown.arrowdown', ['$event'])\n @HostListener('keydown.arrowleft', ['$event'])\n @HostListener('keydown.arrowright', ['$event'])\n onKeyDownEvents() {\n clearInterval(this.resetSliderIntervalTimer);\n this.step = 10;\n }\n\n @HostListener('keydown.pageup', ['$event'])\n @HostListener('keydown.pagedown', ['$event'])\n @HostListener('keydown.home', ['$event'])\n @HostListener('keydown.end', ['$event'])\n onSliderMousedown() {\n clearInterval(this.resetSliderIntervalTimer);\n }\n\n private handleSlideDone() {\n this.slideDone.emit();\n this.isSlideDone = true;\n }\n}\n","<div class=\"slide-button-container\" [ngClass]=\"{ 'slide-done': isSlideDone }\" [inert]=\"isSlideDone\">\n <input\n type=\"range\"\n (mouseup)=\"onSliderMouseup()\"\n (touchend)=\"onSliderMouseup()\"\n (input)=\"onSliderValueChange($event.target.value)\"\n (mousedown)=\"onSliderMousedown()\"\n (touchstart)=\"onSliderMousedown()\"\n class=\"slide-button\"\n [value]=\"value\"\n max=\"100\"\n [step]=\"step\"\n />\n <p class=\"slide-button-text slide-{{ pctInTens }}-pct\">{{ text }}</p>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -11,10 +11,10 @@ import * as i4 from '@kirbydesign/designsystem/icon';
11
11
  import { IconModule } from '@kirbydesign/designsystem/icon';
12
12
 
13
13
  class SlideDirective {
14
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SlideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
15
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: SlideDirective, selector: "[kirbySlide]", ngImport: i0 }); }
14
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SlideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
15
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: SlideDirective, selector: "[kirbySlide]", ngImport: i0 }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SlideDirective, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SlideDirective, decorators: [{
18
18
  type: Directive,
19
19
  args: [{
20
20
  selector: '[kirbySlide]',
@@ -94,10 +94,10 @@ class SlidesComponent {
94
94
  getNoControlsConfig() {
95
95
  return { ...this.getDefaultConfig(), pagination: false, navigation: false };
96
96
  }
97
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SlidesComponent, deps: [{ token: i1.PlatformService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
98
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: SlidesComponent, selector: "kirby-slides", inputs: { slidesOptions: "slidesOptions", title: "title", slides: "slides", showNavigation: "showNavigation" }, outputs: { slideChange: "slideChange" }, queries: [{ propertyName: "slideTemplate", first: true, predicate: SlideDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "swiperContainer", first: true, predicate: ["swiperContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"navigation\" *ngIf=\"showNavigation || title !== undefined\">\n <span class=\"kirby-text-medium\">{{ title }}</span>\n\n <div\n class=\"navigation-inner\"\n *ngIf=\"\n showNavigation &&\n (!slidesOptions ||\n slidesOptions?.navigation === undefined ||\n slidesOptions?.pagination === undefined)\n \"\n >\n <div\n class=\"pagination\"\n [ngClass]=\"_paginationId\"\n *ngIf=\"!slidesOptions || slidesOptions?.pagination === undefined\"\n ></div>\n <div\n class=\"buttons\"\n *ngIf=\"!_isTouch && (!slidesOptions || slidesOptions?.navigation === undefined)\"\n >\n <button\n kirby-button\n attentionLevel=\"3\"\n class=\"nav-prev swiper-button-prev\"\n [ngClass]=\"_prevButtonId\"\n size=\"xs\"\n >\n <kirby-icon name=\"arrow-back\"></kirby-icon>\n </button>\n\n <button\n kirby-button\n attentionLevel=\"3\"\n class=\"nav-next swiper-button-next\"\n [ngClass]=\"_nextButtonId\"\n size=\"xs\"\n >\n <kirby-icon name=\"arrow-more\"></kirby-icon>\n </button>\n\n <ng-content select=\"button[kirby-button]\"></ng-content>\n </div>\n </div>\n</div>\n\n<!-- We need to prevent Swiper from initialization by setting init=\"false\" until we pass all required parameters\n https://swiperjs.com/element#parameters-as-props -->\n<swiper-container init=\"false\" #swiperContainer>\n <swiper-slide *ngFor=\"let slide of slides; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"slideTemplate; context: { $implicit: slide, index: i }\"\n ></ng-container>\n </swiper-slide>\n</swiper-container>\n", styles: [":host{--swiper-navigation-sides-offset: 0;--swiper-pagination-bullet-width: 10px;--swiper-pagination-bullet-height: 6px;--swiper-pagination-bullet-border-radius: 3px;--swiper-pagination-bullet-horizontal-gap: 4px;--swiper-pagination-color: var(--kirby-black);--swiper-pagination-bullet-inactive-color: var(--kirby-black);--swiper-pagination-bullet-inactive-opacity: .2}:host .navigation{display:flex;justify-content:space-between;align-items:center;margin-block:0 16px;margin-inline:16px}:host .navigation-inner{display:flex;align-items:center}:host .pagination{display:flex;align-items:center;width:auto;margin-inline-end:16px}:host .pagination ::ng-deep .swiper-pagination-bullet:last-of-type{margin-inline-end:0}:host .buttons{display:none;z-index:2}@media (min-width: 768px){:host .buttons{display:block}}:host .buttons .swiper-button-prev{margin-block:0;margin-inline-start:0}:host .buttons .swiper-button-next{margin-block:0;margin-inline-end:0}:host .buttons ::ng-deep>button[kirby-button]{margin-inline:8px 0}:host .swiper-button-lock{display:none}:host swiper-container{padding-block:24px;margin-block:-24px}@media (max-width: 767px){:host swiper-container{padding-inline:16px;margin-inline:calc(-1 * var(--padding-start)) calc(-1 * var(--padding-end))}:host .navigation,:host .pagination{margin-inline-end:0}}:host .swiper-button-next.swiper-button-disabled,:host .swiper-button-prev.swiper-button-disabled{opacity:1}:host swiper-slide:has([slideStretchHeight]){height:auto}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[kirby-button],Button[kirby-button],a[kirby-button]", inputs: ["attentionLevel", "noDecoration", "themeColor", "expand", "isFloating", "size", "showIconOnly"] }, { kind: "component", type: i4.IconComponent, selector: "kirby-icon", inputs: ["size", "name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
97
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SlidesComponent, deps: [{ token: i1.PlatformService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
98
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: SlidesComponent, selector: "kirby-slides", inputs: { slidesOptions: "slidesOptions", title: "title", slides: "slides", showNavigation: "showNavigation" }, outputs: { slideChange: "slideChange" }, queries: [{ propertyName: "slideTemplate", first: true, predicate: SlideDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "swiperContainer", first: true, predicate: ["swiperContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"navigation\" *ngIf=\"showNavigation || title !== undefined\">\n <span class=\"kirby-text-medium\">{{ title }}</span>\n\n <div\n class=\"navigation-inner\"\n *ngIf=\"\n showNavigation &&\n (!slidesOptions ||\n slidesOptions?.navigation === undefined ||\n slidesOptions?.pagination === undefined)\n \"\n >\n <div\n class=\"pagination\"\n [ngClass]=\"_paginationId\"\n *ngIf=\"!slidesOptions || slidesOptions?.pagination === undefined\"\n ></div>\n <div\n class=\"buttons\"\n *ngIf=\"!_isTouch && (!slidesOptions || slidesOptions?.navigation === undefined)\"\n >\n <button\n kirby-button\n attentionLevel=\"3\"\n class=\"nav-prev swiper-button-prev\"\n [ngClass]=\"_prevButtonId\"\n size=\"xs\"\n >\n <kirby-icon name=\"arrow-back\"></kirby-icon>\n </button>\n\n <button\n kirby-button\n attentionLevel=\"3\"\n class=\"nav-next swiper-button-next\"\n [ngClass]=\"_nextButtonId\"\n size=\"xs\"\n >\n <kirby-icon name=\"arrow-more\"></kirby-icon>\n </button>\n\n <ng-content select=\"button[kirby-button]\"></ng-content>\n </div>\n </div>\n</div>\n\n<!-- We need to prevent Swiper from initialization by setting init=\"false\" until we pass all required parameters\n https://swiperjs.com/element#parameters-as-props -->\n<swiper-container init=\"false\" #swiperContainer>\n <swiper-slide *ngFor=\"let slide of slides; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"slideTemplate; context: { $implicit: slide, index: i }\"\n ></ng-container>\n </swiper-slide>\n</swiper-container>\n", styles: [":host{--swiper-navigation-sides-offset: 0;--swiper-pagination-bullet-width: 10px;--swiper-pagination-bullet-height: 6px;--swiper-pagination-bullet-border-radius: 3px;--swiper-pagination-bullet-horizontal-gap: 4px;--swiper-pagination-color: var(--kirby-black);--swiper-pagination-bullet-inactive-color: var(--kirby-black);--swiper-pagination-bullet-inactive-opacity: .2}:host .navigation{display:flex;justify-content:space-between;align-items:center;margin-block:0 16px;margin-inline:16px}:host .navigation-inner{display:flex;align-items:center}:host .pagination{display:flex;align-items:center;width:auto;margin-inline-end:16px}:host .pagination ::ng-deep .swiper-pagination-bullet:last-of-type{margin-inline-end:0}:host .buttons{display:none;z-index:2}@media (min-width: 768px){:host .buttons{display:block}}:host .buttons .swiper-button-prev{margin-block:0;margin-inline-start:0}:host .buttons .swiper-button-next{margin-block:0;margin-inline-end:0}:host .buttons ::ng-deep>button[kirby-button]{margin-inline:8px 0}:host .swiper-button-lock{display:none}:host swiper-container{padding-block:24px;margin-block:-24px}@media (max-width: 767px){:host swiper-container{padding-inline:16px;margin-inline:calc(-1 * var(--padding-start)) calc(-1 * var(--padding-end))}:host .navigation,:host .pagination{margin-inline-end:0}}:host .swiper-button-next.swiper-button-disabled,:host .swiper-button-prev.swiper-button-disabled{opacity:1}:host swiper-slide:has([slideStretchHeight]){height:auto}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[kirby-button],Button[kirby-button],a[kirby-button]", inputs: ["attentionLevel", "noDecoration", "themeColor", "expand", "isFloating", "size", "showIconOnly"] }, { kind: "component", type: i4.IconComponent, selector: "kirby-icon", inputs: ["size", "name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SlidesComponent, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SlidesComponent, decorators: [{
101
101
  type: Component,
102
102
  args: [{ selector: 'kirby-slides', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"navigation\" *ngIf=\"showNavigation || title !== undefined\">\n <span class=\"kirby-text-medium\">{{ title }}</span>\n\n <div\n class=\"navigation-inner\"\n *ngIf=\"\n showNavigation &&\n (!slidesOptions ||\n slidesOptions?.navigation === undefined ||\n slidesOptions?.pagination === undefined)\n \"\n >\n <div\n class=\"pagination\"\n [ngClass]=\"_paginationId\"\n *ngIf=\"!slidesOptions || slidesOptions?.pagination === undefined\"\n ></div>\n <div\n class=\"buttons\"\n *ngIf=\"!_isTouch && (!slidesOptions || slidesOptions?.navigation === undefined)\"\n >\n <button\n kirby-button\n attentionLevel=\"3\"\n class=\"nav-prev swiper-button-prev\"\n [ngClass]=\"_prevButtonId\"\n size=\"xs\"\n >\n <kirby-icon name=\"arrow-back\"></kirby-icon>\n </button>\n\n <button\n kirby-button\n attentionLevel=\"3\"\n class=\"nav-next swiper-button-next\"\n [ngClass]=\"_nextButtonId\"\n size=\"xs\"\n >\n <kirby-icon name=\"arrow-more\"></kirby-icon>\n </button>\n\n <ng-content select=\"button[kirby-button]\"></ng-content>\n </div>\n </div>\n</div>\n\n<!-- We need to prevent Swiper from initialization by setting init=\"false\" until we pass all required parameters\n https://swiperjs.com/element#parameters-as-props -->\n<swiper-container init=\"false\" #swiperContainer>\n <swiper-slide *ngFor=\"let slide of slides; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"slideTemplate; context: { $implicit: slide, index: i }\"\n ></ng-container>\n </swiper-slide>\n</swiper-container>\n", styles: [":host{--swiper-navigation-sides-offset: 0;--swiper-pagination-bullet-width: 10px;--swiper-pagination-bullet-height: 6px;--swiper-pagination-bullet-border-radius: 3px;--swiper-pagination-bullet-horizontal-gap: 4px;--swiper-pagination-color: var(--kirby-black);--swiper-pagination-bullet-inactive-color: var(--kirby-black);--swiper-pagination-bullet-inactive-opacity: .2}:host .navigation{display:flex;justify-content:space-between;align-items:center;margin-block:0 16px;margin-inline:16px}:host .navigation-inner{display:flex;align-items:center}:host .pagination{display:flex;align-items:center;width:auto;margin-inline-end:16px}:host .pagination ::ng-deep .swiper-pagination-bullet:last-of-type{margin-inline-end:0}:host .buttons{display:none;z-index:2}@media (min-width: 768px){:host .buttons{display:block}}:host .buttons .swiper-button-prev{margin-block:0;margin-inline-start:0}:host .buttons .swiper-button-next{margin-block:0;margin-inline-end:0}:host .buttons ::ng-deep>button[kirby-button]{margin-inline:8px 0}:host .swiper-button-lock{display:none}:host swiper-container{padding-block:24px;margin-block:-24px}@media (max-width: 767px){:host swiper-container{padding-inline:16px;margin-inline:calc(-1 * var(--padding-start)) calc(-1 * var(--padding-end))}:host .navigation,:host .pagination{margin-inline-end:0}}:host .swiper-button-next.swiper-button-disabled,:host .swiper-button-prev.swiper-button-disabled{opacity:1}:host swiper-slide:has([slideStretchHeight]){height:auto}\n"] }]
103
103
  }], ctorParameters: () => [{ type: i1.PlatformService }, { type: i0.ChangeDetectorRef }], propDecorators: { swiperContainer: [{
@@ -124,10 +124,10 @@ class SlideStretchHeightDirective {
124
124
  this.renderer = renderer;
125
125
  this.renderer.setStyle(this.elementRef.nativeElement, 'height', '100%');
126
126
  }
127
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SlideStretchHeightDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
128
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: SlideStretchHeightDirective, selector: "[slideStretchHeight]", ngImport: i0 }); }
127
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SlideStretchHeightDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
128
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: SlideStretchHeightDirective, selector: "[slideStretchHeight]", ngImport: i0 }); }
129
129
  }
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SlideStretchHeightDirective, decorators: [{
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SlideStretchHeightDirective, decorators: [{
131
131
  type: Directive,
132
132
  args: [{
133
133
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -137,11 +137,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
137
137
 
138
138
  const declarations = [SlidesComponent, SlideDirective, SlideStretchHeightDirective];
139
139
  class SlideModule {
140
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SlideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
141
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.4", ngImport: i0, type: SlideModule, declarations: [SlidesComponent, SlideDirective, SlideStretchHeightDirective], imports: [CommonModule, ButtonComponent, IconModule], exports: [SlidesComponent, SlideDirective, SlideStretchHeightDirective] }); }
142
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SlideModule, imports: [CommonModule, ButtonComponent, IconModule] }); }
140
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SlideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
141
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: SlideModule, declarations: [SlidesComponent, SlideDirective, SlideStretchHeightDirective], imports: [CommonModule, ButtonComponent, IconModule], exports: [SlidesComponent, SlideDirective, SlideStretchHeightDirective] }); }
142
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SlideModule, imports: [CommonModule, ButtonComponent, IconModule] }); }
143
143
  }
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SlideModule, decorators: [{
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SlideModule, decorators: [{
145
145
  type: NgModule,
146
146
  args: [{
147
147
  declarations: [...declarations],
@@ -3,20 +3,20 @@ import { Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
3
  import { CommonModule } from '@angular/common';
4
4
 
5
5
  class SpinnerComponent {
6
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: SpinnerComponent, selector: "kirby-spinner", ngImport: i0, template: "<div class=\"spinner\">\n <div class=\"inner-circle\"></div>\n <div class=\"outer-circle\"></div>\n</div>\n", styles: [".spinner{overflow:hidden;width:32px;height:32px;position:relative;margin:0 auto}.inner-circle,.outer-circle{width:100%;height:100%;border-radius:50%;background-color:var(--kirby-primary);opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.outer-circle{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: SpinnerComponent, selector: "kirby-spinner", ngImport: i0, template: "<div class=\"spinner\">\n <div class=\"inner-circle\"></div>\n <div class=\"outer-circle\"></div>\n</div>\n", styles: [".spinner{overflow:hidden;width:32px;height:32px;position:relative;margin:0 auto}.inner-circle,.outer-circle{width:100%;height:100%;border-radius:50%;background-color:var(--kirby-primary);opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.outer-circle{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SpinnerComponent, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SpinnerComponent, decorators: [{
10
10
  type: Component,
11
11
  args: [{ selector: 'kirby-spinner', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"spinner\">\n <div class=\"inner-circle\"></div>\n <div class=\"outer-circle\"></div>\n</div>\n", styles: [".spinner{overflow:hidden;width:32px;height:32px;position:relative;margin:0 auto}.inner-circle,.outer-circle{width:100%;height:100%;border-radius:50%;background-color:var(--kirby-primary);opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}.outer-circle{animation-delay:-1s}@keyframes sk-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}\n"] }]
12
12
  }] });
13
13
 
14
14
  class SpinnerModule {
15
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.4", ngImport: i0, type: SpinnerModule, declarations: [SpinnerComponent], imports: [CommonModule], exports: [SpinnerComponent] }); }
17
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SpinnerModule, imports: [CommonModule] }); }
15
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: SpinnerModule, declarations: [SpinnerComponent], imports: [CommonModule], exports: [SpinnerComponent] }); }
17
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SpinnerModule, imports: [CommonModule] }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SpinnerModule, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SpinnerModule, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  declarations: [SpinnerComponent],
@@ -10,10 +10,10 @@ class TabNavigationItemComponent {
10
10
  this.truncate = true;
11
11
  /* */
12
12
  }
13
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TabNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: TabNavigationItemComponent, selector: "kirby-tab-navigation-item", inputs: { label: "label", truncate: "truncate" }, ngImport: i0, template: "<button role=\"tab\" #tabButton>\n <span attr.data-text=\"{{ label }}\" [class.truncate]=\"truncate\">{{ label }}</span>\n <ng-content></ng-content>\n</button>\n", styles: [":host{position:relative;padding-bottom:2px}:host button[role=tab]{background:transparent;color:inherit;font:inherit;cursor:pointer;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;user-select:none;text-decoration:none;margin:0;width:auto;border:none;outline:none;color:var(--kirby-black);box-sizing:border-box;padding:16px;font-size:16px;line-height:24px;gap:4px}:host button[role=tab]:focus,:host button[role=tab]:hover{font-weight:700}:host button[role=tab][aria-selected=true]{font-weight:700}:host button[role=tab][aria-selected=true]:before{content:\"\";width:100%;background-color:var(--kirby-dark);position:absolute;border-radius:1px;height:2px;bottom:0;z-index:2}span[data-text].truncate{max-width:100px;overflow:hidden;text-overflow:ellipsis}span[data-text]:before{display:block;content:attr(data-text);font-weight:700;height:0;overflow:hidden;visibility:hidden}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: TabNavigationItemComponent, selector: "kirby-tab-navigation-item", inputs: { label: "label", truncate: "truncate" }, ngImport: i0, template: "<button role=\"tab\" #tabButton>\n <span attr.data-text=\"{{ label }}\" [class.truncate]=\"truncate\">{{ label }}</span>\n <ng-content></ng-content>\n</button>\n", styles: [":host{position:relative;padding-bottom:2px}:host button[role=tab]{background:transparent;color:inherit;font:inherit;cursor:pointer;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;user-select:none;text-decoration:none;margin:0;width:auto;border:none;outline:none;color:var(--kirby-black);box-sizing:border-box;padding:16px;font-size:16px;line-height:24px;gap:4px}:host button[role=tab]:focus,:host button[role=tab]:hover{font-weight:700}:host button[role=tab][aria-selected=true]{font-weight:700}:host button[role=tab][aria-selected=true]:before{content:\"\";width:100%;background-color:var(--kirby-dark);position:absolute;border-radius:1px;height:2px;bottom:0;z-index:2}span[data-text].truncate{max-width:100px;overflow:hidden;text-overflow:ellipsis}span[data-text]:before{display:block;content:attr(data-text);font-weight:700;height:0;overflow:hidden;visibility:hidden}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TabNavigationItemComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabNavigationItemComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ selector: 'kirby-tab-navigation-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button role=\"tab\" #tabButton>\n <span attr.data-text=\"{{ label }}\" [class.truncate]=\"truncate\">{{ label }}</span>\n <ng-content></ng-content>\n</button>\n", styles: [":host{position:relative;padding-bottom:2px}:host button[role=tab]{background:transparent;color:inherit;font:inherit;cursor:pointer;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;vertical-align:middle;white-space:nowrap;-webkit-user-select:none;user-select:none;text-decoration:none;margin:0;width:auto;border:none;outline:none;color:var(--kirby-black);box-sizing:border-box;padding:16px;font-size:16px;line-height:24px;gap:4px}:host button[role=tab]:focus,:host button[role=tab]:hover{font-weight:700}:host button[role=tab][aria-selected=true]{font-weight:700}:host button[role=tab][aria-selected=true]:before{content:\"\";width:100%;background-color:var(--kirby-dark);position:absolute;border-radius:1px;height:2px;bottom:0;z-index:2}span[data-text].truncate{max-width:100px;overflow:hidden;text-overflow:ellipsis}span[data-text]:before{display:block;content:attr(data-text);font-weight:700;height:0;overflow:hidden;visibility:hidden}\n"] }]
19
19
  }], ctorParameters: () => [], propDecorators: { label: [{
@@ -115,12 +115,12 @@ class TabNavigationComponent {
115
115
  this.setTabElements();
116
116
  });
117
117
  }
118
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TabNavigationComponent, deps: [{ token: i1.WindowRef }, { token: i2.KeyboardHandlerService }], target: i0.ɵɵFactoryTarget.Component }); }
119
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: TabNavigationComponent, selector: "kirby-tab-navigation", inputs: { selectedIndex: "selectedIndex" }, outputs: { selectedIndexChange: "selectedIndexChange" }, host: { listeners: { "click": "onItemSelect($event)", "keydown.enter": "onItemSelect($event)", "keydown.home": "onKeydown($event)", "keydown.end": "onKeydown($event)", "keydown.arrowright": "onKeydown($event)", "keydown.arrowleft": "onKeydown($event)" } }, queries: [{ propertyName: "tabs", predicate: TabNavigationItemComponent, read: ElementRef }], viewQueries: [{ propertyName: "tabBar", first: true, predicate: ["tabBar"], descendants: true }], ngImport: i0, template: "<div role=\"tablist\" #tabBar>\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block;position:relative}@media (max-width: 767px){:host{inline-size:100dvi;margin-inline:calc(-1 * var(--padding-start)) calc(-1 * var(--padding-end))}}:host:before{content:\"\";background-color:var(--kirby-medium);position:absolute;height:1px;bottom:0;z-index:1;left:0;width:100%}div[role=tablist]{position:relative;margin:0 auto;display:flex;align-items:center;justify-content:left;flex-wrap:nowrap;overflow-x:scroll;column-gap:12px;-webkit-overflow-scrolling:auto;scrollbar-width:none}@media (max-width: 767px){div[role=tablist]{padding-inline:var(--padding-start) var(--padding-end)}}div[role=tablist]::-webkit-scrollbar{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
118
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabNavigationComponent, deps: [{ token: i1.WindowRef }, { token: i2.KeyboardHandlerService }], target: i0.ɵɵFactoryTarget.Component }); }
119
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: TabNavigationComponent, selector: "kirby-tab-navigation", inputs: { selectedIndex: "selectedIndex" }, outputs: { selectedIndexChange: "selectedIndexChange" }, host: { listeners: { "click": "onItemSelect($event)", "keydown.enter": "onItemSelect($event)", "keydown.home": "onKeydown($event)", "keydown.end": "onKeydown($event)", "keydown.arrowright": "onKeydown($event)", "keydown.arrowleft": "onKeydown($event)" } }, queries: [{ propertyName: "tabs", predicate: TabNavigationItemComponent, read: ElementRef }], viewQueries: [{ propertyName: "tabBar", first: true, predicate: ["tabBar"], descendants: true }], ngImport: i0, template: "<div role=\"tablist\" #tabBar>\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block;position:relative}@media (max-width: 767px){:host{inline-size:100dvi;margin-inline:calc(-1 * var(--padding-start)) calc(-1 * var(--padding-end))}}:host:before{content:\"\";background-color:var(--kirby-medium);position:absolute;height:1px;bottom:0;z-index:1;left:0;width:100%}div[role=tablist]{position:relative;margin:0 auto;display:flex;align-items:center;justify-content:left;flex-wrap:nowrap;overflow-x:scroll;column-gap:12px;-webkit-overflow-scrolling:auto;scrollbar-width:none}div[role=tablist]::-webkit-scrollbar{display:none}@media (max-width: 767px){div[role=tablist]{padding-inline:var(--padding-start) var(--padding-end)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
120
120
  }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TabNavigationComponent, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabNavigationComponent, decorators: [{
122
122
  type: Component,
123
- args: [{ selector: 'kirby-tab-navigation', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div role=\"tablist\" #tabBar>\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block;position:relative}@media (max-width: 767px){:host{inline-size:100dvi;margin-inline:calc(-1 * var(--padding-start)) calc(-1 * var(--padding-end))}}:host:before{content:\"\";background-color:var(--kirby-medium);position:absolute;height:1px;bottom:0;z-index:1;left:0;width:100%}div[role=tablist]{position:relative;margin:0 auto;display:flex;align-items:center;justify-content:left;flex-wrap:nowrap;overflow-x:scroll;column-gap:12px;-webkit-overflow-scrolling:auto;scrollbar-width:none}@media (max-width: 767px){div[role=tablist]{padding-inline:var(--padding-start) var(--padding-end)}}div[role=tablist]::-webkit-scrollbar{display:none}\n"] }]
123
+ args: [{ selector: 'kirby-tab-navigation', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div role=\"tablist\" #tabBar>\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block;position:relative}@media (max-width: 767px){:host{inline-size:100dvi;margin-inline:calc(-1 * var(--padding-start)) calc(-1 * var(--padding-end))}}:host:before{content:\"\";background-color:var(--kirby-medium);position:absolute;height:1px;bottom:0;z-index:1;left:0;width:100%}div[role=tablist]{position:relative;margin:0 auto;display:flex;align-items:center;justify-content:left;flex-wrap:nowrap;overflow-x:scroll;column-gap:12px;-webkit-overflow-scrolling:auto;scrollbar-width:none}div[role=tablist]::-webkit-scrollbar{display:none}@media (max-width: 767px){div[role=tablist]{padding-inline:var(--padding-start) var(--padding-end)}}\n"] }]
124
124
  }], ctorParameters: () => [{ type: i1.WindowRef }, { type: i2.KeyboardHandlerService }], propDecorators: { tabBar: [{
125
125
  type: ViewChild,
126
126
  args: ['tabBar']
@@ -152,11 +152,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
152
152
  }] } });
153
153
 
154
154
  class TabNavigationModule {
155
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TabNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
156
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.4", ngImport: i0, type: TabNavigationModule, declarations: [TabNavigationComponent, TabNavigationItemComponent], imports: [CommonModule], exports: [TabNavigationComponent, TabNavigationItemComponent] }); }
157
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TabNavigationModule, imports: [CommonModule] }); }
155
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
156
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: TabNavigationModule, declarations: [TabNavigationComponent, TabNavigationItemComponent], imports: [CommonModule], exports: [TabNavigationComponent, TabNavigationItemComponent] }); }
157
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabNavigationModule, imports: [CommonModule] }); }
158
158
  }
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TabNavigationModule, decorators: [{
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabNavigationModule, decorators: [{
160
160
  type: NgModule,
161
161
  args: [{
162
162
  imports: [CommonModule],