@kirbydesign/designsystem 10.2.0 → 10.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1343) hide show
  1. package/accordion/accordion-item.component.d.ts +1 -0
  2. package/accordion/accordion-item.component.d.ts.map +1 -0
  3. package/accordion/accordion.directive.d.ts +1 -0
  4. package/accordion/accordion.directive.d.ts.map +1 -0
  5. package/accordion/accordion.module.d.ts +1 -0
  6. package/accordion/accordion.module.d.ts.map +1 -0
  7. package/accordion/index.d.ts +1 -0
  8. package/accordion/kirbydesign-designsystem-accordion.d.ts.map +1 -0
  9. package/accordion/public_api.d.ts +1 -0
  10. package/accordion/public_api.d.ts.map +1 -0
  11. package/action-group/action-group.component.d.ts +1 -0
  12. package/action-group/action-group.component.d.ts.map +1 -0
  13. package/action-group/index.d.ts +1 -0
  14. package/action-group/kirbydesign-designsystem-action-group.d.ts.map +1 -0
  15. package/action-group/public_api.d.ts +1 -0
  16. package/action-group/public_api.d.ts.map +1 -0
  17. package/avatar/avatar.component.d.ts +1 -0
  18. package/avatar/avatar.component.d.ts.map +1 -0
  19. package/avatar/index.d.ts +1 -0
  20. package/avatar/kirbydesign-designsystem-avatar.d.ts.map +1 -0
  21. package/avatar/public_api.d.ts +1 -0
  22. package/avatar/public_api.d.ts.map +1 -0
  23. package/badge/badge.component.d.ts +1 -0
  24. package/badge/badge.component.d.ts.map +1 -0
  25. package/badge/index.d.ts +1 -0
  26. package/badge/kirbydesign-designsystem-badge.d.ts.map +1 -0
  27. package/badge/public_api.d.ts +1 -0
  28. package/badge/public_api.d.ts.map +1 -0
  29. package/button/button.component.d.ts +1 -0
  30. package/button/button.component.d.ts.map +1 -0
  31. package/button/index.d.ts +1 -0
  32. package/button/kirbydesign-designsystem-button.d.ts.map +1 -0
  33. package/button/public_api.d.ts +1 -0
  34. package/button/public_api.d.ts.map +1 -0
  35. package/calendar/calendar.component.d.ts +1 -0
  36. package/calendar/calendar.component.d.ts.map +1 -0
  37. package/calendar/index.d.ts +1 -0
  38. package/calendar/interfaces/calendar-day.d.ts +1 -0
  39. package/calendar/interfaces/calendar-day.d.ts.map +1 -0
  40. package/calendar/interfaces/calendar-year-navigator-config.d.ts +1 -0
  41. package/calendar/interfaces/calendar-year-navigator-config.d.ts.map +1 -0
  42. package/calendar/kirbydesign-designsystem-calendar.d.ts.map +1 -0
  43. package/calendar/public_api.d.ts +1 -0
  44. package/calendar/public_api.d.ts.map +1 -0
  45. package/card/card-as-button/card-as-button.directive.d.ts +1 -0
  46. package/card/card-as-button/card-as-button.directive.d.ts.map +1 -0
  47. package/card/card-flag-level.d.ts +1 -0
  48. package/card/card-flag-level.d.ts.map +1 -0
  49. package/card/card-footer/card-footer.component.d.ts +1 -0
  50. package/card/card-footer/card-footer.component.d.ts.map +1 -0
  51. package/card/card-header/card-header.component.d.ts +1 -0
  52. package/card/card-header/card-header.component.d.ts.map +1 -0
  53. package/card/card.component.d.ts +1 -0
  54. package/card/card.component.d.ts.map +1 -0
  55. package/card/card.module.d.ts +1 -0
  56. package/card/card.module.d.ts.map +1 -0
  57. package/card/index.d.ts +1 -0
  58. package/card/kirbydesign-designsystem-card.d.ts.map +1 -0
  59. package/card/public_api.d.ts +1 -0
  60. package/card/public_api.d.ts.map +1 -0
  61. package/chart/chart/chart.component.d.ts +1 -0
  62. package/chart/chart/chart.component.d.ts.map +1 -0
  63. package/chart/chart/index.d.ts +1 -0
  64. package/chart/chart/index.d.ts.map +1 -0
  65. package/chart/chart-config/chart-bar-config/chart-bar-config.d.ts +1 -0
  66. package/chart/chart-config/chart-bar-config/chart-bar-config.d.ts.map +1 -0
  67. package/chart/chart-config/chart-base-config.d.ts +1 -0
  68. package/chart/chart-config/chart-base-config.d.ts.map +1 -0
  69. package/chart/chart-config/chart-stock-config/chart-stock-config.d.ts +1 -0
  70. package/chart/chart-config/chart-stock-config/chart-stock-config.d.ts.map +1 -0
  71. package/chart/chart-config/chart-stock-config/data-label-position/data-label-position.d.ts +1 -0
  72. package/chart/chart-config/chart-stock-config/data-label-position/data-label-position.d.ts.map +1 -0
  73. package/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.d.ts +1 -0
  74. package/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.d.ts.map +1 -0
  75. package/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.model.d.ts +1 -0
  76. package/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.model.d.ts.map +1 -0
  77. package/chart/charts.module.d.ts +1 -0
  78. package/chart/charts.module.d.ts.map +1 -0
  79. package/chart/index.d.ts +1 -0
  80. package/chart/kirbydesign-designsystem-chart.d.ts.map +1 -0
  81. package/chart/public_api.d.ts +1 -0
  82. package/chart/public_api.d.ts.map +1 -0
  83. package/chart/shared/base-chart/base-chart.component.d.ts +1 -0
  84. package/chart/shared/base-chart/base-chart.component.d.ts.map +1 -0
  85. package/chart/shared/base-chart/index.d.ts +1 -0
  86. package/chart/shared/base-chart/index.d.ts.map +1 -0
  87. package/chart/shared/chart-config-service/chart-config.service.d.ts +1 -0
  88. package/chart/shared/chart-config-service/chart-config.service.d.ts.map +1 -0
  89. package/chart/shared/chart-config-service/configs/annotations.config.d.ts +1 -0
  90. package/chart/shared/chart-config-service/configs/annotations.config.d.ts.map +1 -0
  91. package/chart/shared/chart-config-service/configs/global-defaults.config.d.ts +1 -0
  92. package/chart/shared/chart-config-service/configs/global-defaults.config.d.ts.map +1 -0
  93. package/chart/shared/chart-config-service/configs/interaction-functions-extensions.config.d.ts +1 -0
  94. package/chart/shared/chart-config-service/configs/interaction-functions-extensions.config.d.ts.map +1 -0
  95. package/chart/shared/chart-config-service/configs/type.config.d.ts +1 -0
  96. package/chart/shared/chart-config-service/configs/type.config.d.ts.map +1 -0
  97. package/chart/shared/chart-config-service/index.d.ts +1 -0
  98. package/chart/shared/chart-config-service/index.d.ts.map +1 -0
  99. package/chart/shared/chart-js-service/annotations.delegate.d.ts +1 -0
  100. package/chart/shared/chart-js-service/annotations.delegate.d.ts.map +1 -0
  101. package/chart/shared/chart-js-service/chart-js.service.d.ts +1 -0
  102. package/chart/shared/chart-js-service/chart-js.service.d.ts.map +1 -0
  103. package/chart/shared/chart-js-service/chartjs-plugin-marker/chartjs-plugin-marker.d.ts +1 -0
  104. package/chart/shared/chart-js-service/chartjs-plugin-marker/chartjs-plugin-marker.d.ts.map +1 -0
  105. package/chart/shared/chart-js-service/configured-chart-js.d.ts +1 -0
  106. package/chart/shared/chart-js-service/configured-chart-js.d.ts.map +1 -0
  107. package/chart/shared/chart-js-service/index.d.ts +1 -0
  108. package/chart/shared/chart-js-service/index.d.ts.map +1 -0
  109. package/chart/shared/chart-js-service/test-utils.d.ts +1 -0
  110. package/chart/shared/chart-js-service/test-utils.d.ts.map +1 -0
  111. package/chart/shared/charts.types.d.ts +1 -0
  112. package/chart/shared/charts.types.d.ts.map +1 -0
  113. package/chart/shared/index.d.ts +1 -0
  114. package/chart/shared/index.d.ts.map +1 -0
  115. package/chart/stock-chart/index.d.ts +1 -0
  116. package/chart/stock-chart/index.d.ts.map +1 -0
  117. package/chart/stock-chart/stock-chart-js.service.d.ts +1 -0
  118. package/chart/stock-chart/stock-chart-js.service.d.ts.map +1 -0
  119. package/chart/stock-chart/stock-chart.component.d.ts +1 -0
  120. package/chart/stock-chart/stock-chart.component.d.ts.map +1 -0
  121. package/checkbox/checkbox.component.d.ts +1 -0
  122. package/checkbox/checkbox.component.d.ts.map +1 -0
  123. package/checkbox/index.d.ts +1 -0
  124. package/checkbox/kirbydesign-designsystem-checkbox.d.ts.map +1 -0
  125. package/checkbox/public_api.d.ts +1 -0
  126. package/checkbox/public_api.d.ts.map +1 -0
  127. package/data-table/data-table.module.d.ts +1 -0
  128. package/data-table/data-table.module.d.ts.map +1 -0
  129. package/data-table/index.d.ts +1 -0
  130. package/data-table/kirbydesign-designsystem-data-table.d.ts.map +1 -0
  131. package/data-table/public_api.d.ts +1 -0
  132. package/data-table/public_api.d.ts.map +1 -0
  133. package/data-table/sortable/sortable.component.d.ts +1 -0
  134. package/data-table/sortable/sortable.component.d.ts.map +1 -0
  135. package/divider/divider.component.d.ts +1 -0
  136. package/divider/divider.component.d.ts.map +1 -0
  137. package/divider/index.d.ts +1 -0
  138. package/divider/kirbydesign-designsystem-divider.d.ts.map +1 -0
  139. package/divider/public_api.d.ts +1 -0
  140. package/divider/public_api.d.ts.map +1 -0
  141. package/dropdown/dropdown.component.d.ts +1 -0
  142. package/dropdown/dropdown.component.d.ts.map +1 -0
  143. package/dropdown/dropdown.module.d.ts +1 -0
  144. package/dropdown/dropdown.module.d.ts.map +1 -0
  145. package/dropdown/dropdown.types.d.ts +1 -0
  146. package/dropdown/dropdown.types.d.ts.map +1 -0
  147. package/dropdown/index.d.ts +1 -0
  148. package/dropdown/keyboard-handler.service.d.ts +1 -0
  149. package/dropdown/keyboard-handler.service.d.ts.map +1 -0
  150. package/dropdown/kirbydesign-designsystem-dropdown.d.ts.map +1 -0
  151. package/dropdown/public_api.d.ts +1 -0
  152. package/dropdown/public_api.d.ts.map +1 -0
  153. package/empty-state/empty-state.component.d.ts +1 -0
  154. package/empty-state/empty-state.component.d.ts.map +1 -0
  155. package/empty-state/empty-state.module.d.ts +1 -0
  156. package/empty-state/empty-state.module.d.ts.map +1 -0
  157. package/empty-state/index.d.ts +1 -0
  158. package/empty-state/kirbydesign-designsystem-empty-state.d.ts.map +1 -0
  159. package/empty-state/public_api.d.ts +1 -0
  160. package/empty-state/public_api.d.ts.map +1 -0
  161. package/fab-sheet/fab-sheet.component.d.ts +1 -0
  162. package/fab-sheet/fab-sheet.component.d.ts.map +1 -0
  163. package/fab-sheet/index.d.ts +1 -0
  164. package/fab-sheet/kirbydesign-designsystem-fab-sheet.d.ts.map +1 -0
  165. package/fab-sheet/public_api.d.ts +1 -0
  166. package/fab-sheet/public_api.d.ts.map +1 -0
  167. package/fesm2022/kirbydesign-designsystem-accordion.mjs +12 -11
  168. package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
  169. package/fesm2022/kirbydesign-designsystem-action-group.mjs +4 -4
  170. package/fesm2022/kirbydesign-designsystem-action-group.mjs.map +1 -1
  171. package/fesm2022/kirbydesign-designsystem-avatar.mjs +4 -4
  172. package/fesm2022/kirbydesign-designsystem-avatar.mjs.map +1 -1
  173. package/fesm2022/kirbydesign-designsystem-badge.mjs +4 -4
  174. package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
  175. package/fesm2022/kirbydesign-designsystem-button.mjs +4 -4
  176. package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
  177. package/fesm2022/kirbydesign-designsystem-calendar.mjs +5 -4
  178. package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
  179. package/fesm2022/kirbydesign-designsystem-card.mjs +20 -19
  180. package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
  181. package/fesm2022/kirbydesign-designsystem-chart.mjs +25 -25
  182. package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
  183. package/fesm2022/kirbydesign-designsystem-checkbox.mjs +4 -4
  184. package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
  185. package/fesm2022/kirbydesign-designsystem-data-table.mjs +8 -8
  186. package/fesm2022/kirbydesign-designsystem-data-table.mjs.map +1 -1
  187. package/fesm2022/kirbydesign-designsystem-divider.mjs +4 -4
  188. package/fesm2022/kirbydesign-designsystem-divider.mjs.map +1 -1
  189. package/fesm2022/kirbydesign-designsystem-dropdown.mjs +12 -12
  190. package/fesm2022/kirbydesign-designsystem-dropdown.mjs.map +1 -1
  191. package/fesm2022/kirbydesign-designsystem-empty-state.mjs +8 -8
  192. package/fesm2022/kirbydesign-designsystem-empty-state.mjs.map +1 -1
  193. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +4 -4
  194. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs.map +1 -1
  195. package/fesm2022/kirbydesign-designsystem-flag.mjs +4 -4
  196. package/fesm2022/kirbydesign-designsystem-flag.mjs.map +1 -1
  197. package/fesm2022/kirbydesign-designsystem-form-field.mjs +34 -34
  198. package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
  199. package/fesm2022/kirbydesign-designsystem-header.mjs +24 -20
  200. package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
  201. package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs.map +1 -1
  202. package/fesm2022/kirbydesign-designsystem-helpers.mjs +9 -9
  203. package/fesm2022/kirbydesign-designsystem-helpers.mjs.map +1 -1
  204. package/fesm2022/kirbydesign-designsystem-icon.mjs +29 -13
  205. package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
  206. package/fesm2022/kirbydesign-designsystem-item-group.mjs +4 -4
  207. package/fesm2022/kirbydesign-designsystem-item-group.mjs.map +1 -1
  208. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +4 -4
  209. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs.map +1 -1
  210. package/fesm2022/kirbydesign-designsystem-item.mjs +12 -12
  211. package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
  212. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +8 -8
  213. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs.map +1 -1
  214. package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs +4 -4
  215. package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs.map +1 -1
  216. package/fesm2022/kirbydesign-designsystem-list.mjs +51 -45
  217. package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
  218. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +7 -7
  219. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
  220. package/fesm2022/kirbydesign-designsystem-menu.mjs +4 -4
  221. package/fesm2022/kirbydesign-designsystem-menu.mjs.map +1 -1
  222. package/fesm2022/kirbydesign-designsystem-modal.mjs +55 -52
  223. package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
  224. package/fesm2022/kirbydesign-designsystem-page.mjs +52 -44
  225. package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
  226. package/fesm2022/kirbydesign-designsystem-popover.mjs +4 -4
  227. package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
  228. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +8 -8
  229. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
  230. package/fesm2022/kirbydesign-designsystem-radio.mjs +21 -23
  231. package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
  232. package/fesm2022/kirbydesign-designsystem-range.mjs +4 -4
  233. package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
  234. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +5 -5
  235. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs.map +1 -1
  236. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +8 -8
  237. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
  238. package/fesm2022/kirbydesign-designsystem-section-header.mjs +4 -4
  239. package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
  240. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +3 -3
  241. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
  242. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +3 -3
  243. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs.map +1 -1
  244. package/fesm2022/kirbydesign-designsystem-shared.mjs +18 -18
  245. package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
  246. package/fesm2022/kirbydesign-designsystem-slide-button.mjs +4 -4
  247. package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
  248. package/fesm2022/kirbydesign-designsystem-slide.mjs +16 -14
  249. package/fesm2022/kirbydesign-designsystem-slide.mjs.map +1 -1
  250. package/fesm2022/kirbydesign-designsystem-spinner.mjs +8 -8
  251. package/fesm2022/kirbydesign-designsystem-spinner.mjs.map +1 -1
  252. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +12 -12
  253. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
  254. package/fesm2022/kirbydesign-designsystem-tabs.mjs +15 -15
  255. package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
  256. package/fesm2022/kirbydesign-designsystem-testing-base.mjs +287 -354
  257. package/fesm2022/kirbydesign-designsystem-testing-base.mjs.map +1 -1
  258. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +4 -4
  259. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
  260. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +4 -4
  261. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
  262. package/fesm2022/kirbydesign-designsystem-testing.mjs +4 -4
  263. package/fesm2022/kirbydesign-designsystem-testing.mjs.map +1 -1
  264. package/fesm2022/kirbydesign-designsystem-toast.mjs +6 -6
  265. package/fesm2022/kirbydesign-designsystem-toast.mjs.map +1 -1
  266. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +19 -10
  267. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
  268. package/fesm2022/kirbydesign-designsystem-toggle.mjs +4 -4
  269. package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
  270. package/fesm2022/kirbydesign-designsystem-types.mjs +3 -3
  271. package/fesm2022/kirbydesign-designsystem-types.mjs.map +1 -1
  272. package/fesm2022/kirbydesign-designsystem.mjs +16 -14
  273. package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
  274. package/flag/flag.component.d.ts +1 -0
  275. package/flag/flag.component.d.ts.map +1 -0
  276. package/flag/index.d.ts +1 -0
  277. package/flag/kirbydesign-designsystem-flag.d.ts.map +1 -0
  278. package/flag/public_api.d.ts +1 -0
  279. package/flag/public_api.d.ts.map +1 -0
  280. package/form-field/directives/affix/affix.directive.d.ts +1 -0
  281. package/form-field/directives/affix/affix.directive.d.ts.map +1 -0
  282. package/form-field/directives/date/date-input.directive.d.ts +1 -0
  283. package/form-field/directives/date/date-input.directive.d.ts.map +1 -0
  284. package/form-field/directives/decimal-mask/decimal-mask.directive.d.ts +1 -0
  285. package/form-field/directives/decimal-mask/decimal-mask.directive.d.ts.map +1 -0
  286. package/form-field/form-field-message/form-field-message.component.d.ts +1 -0
  287. package/form-field/form-field-message/form-field-message.component.d.ts.map +1 -0
  288. package/form-field/form-field.component.d.ts +1 -0
  289. package/form-field/form-field.component.d.ts.map +1 -0
  290. package/form-field/form-field.module.d.ts +1 -0
  291. package/form-field/form-field.module.d.ts.map +1 -0
  292. package/form-field/index.d.ts +1 -0
  293. package/form-field/input/input.component.d.ts +1 -0
  294. package/form-field/input/input.component.d.ts.map +1 -0
  295. package/form-field/input-counter/input-counter.component.d.ts +1 -0
  296. package/form-field/input-counter/input-counter.component.d.ts.map +1 -0
  297. package/form-field/kirbydesign-designsystem-form-field.d.ts.map +1 -0
  298. package/form-field/public_api.d.ts +1 -0
  299. package/form-field/public_api.d.ts.map +1 -0
  300. package/form-field/textarea/textarea.component.d.ts +1 -0
  301. package/form-field/textarea/textarea.component.d.ts.map +1 -0
  302. package/header/header.component.d.ts +1 -0
  303. package/header/header.component.d.ts.map +1 -0
  304. package/header/header.module.d.ts +1 -0
  305. package/header/header.module.d.ts.map +1 -0
  306. package/header/index.d.ts +1 -0
  307. package/header/kirbydesign-designsystem-header.d.ts.map +1 -0
  308. package/header/public_api.d.ts +1 -0
  309. package/header/public_api.d.ts.map +1 -0
  310. package/helpers/chart-config-has-type.d.ts +1 -0
  311. package/helpers/chart-config-has-type.d.ts.map +1 -0
  312. package/helpers/color-helper.d.ts +1 -0
  313. package/helpers/color-helper.d.ts.map +1 -0
  314. package/helpers/content-mutation-observer.d.ts +1 -0
  315. package/helpers/content-mutation-observer.d.ts.map +1 -0
  316. package/helpers/deep-copy.d.ts +1 -0
  317. package/helpers/deep-copy.d.ts.map +1 -0
  318. package/helpers/design-token-helper.d.ts +1 -0
  319. package/helpers/design-token-helper.d.ts.map +1 -0
  320. package/helpers/element-ancestor-utils.d.ts +1 -0
  321. package/helpers/element-ancestor-utils.d.ts.map +1 -0
  322. package/helpers/index.d.ts +1 -0
  323. package/helpers/ionic-element-part-helper.d.ts +1 -0
  324. package/helpers/ionic-element-part-helper.d.ts.map +1 -0
  325. package/helpers/kirby-animation.d.ts +1 -0
  326. package/helpers/kirby-animation.d.ts.map +1 -0
  327. package/helpers/kirbydesign-designsystem-helpers.d.ts.map +1 -0
  328. package/helpers/line-clamp-helper.d.ts +1 -0
  329. package/helpers/line-clamp-helper.d.ts.map +1 -0
  330. package/helpers/merge-deep.d.ts +1 -0
  331. package/helpers/merge-deep.d.ts.map +1 -0
  332. package/helpers/platform.service.d.ts +1 -0
  333. package/helpers/platform.service.d.ts.map +1 -0
  334. package/helpers/public_api.d.ts +1 -0
  335. package/helpers/public_api.d.ts.map +1 -0
  336. package/helpers/scss/index.d.ts +1 -0
  337. package/helpers/scss/kirbydesign-designsystem-helpers-scss.d.ts.map +1 -0
  338. package/helpers/scss/public_api.d.ts +1 -0
  339. package/helpers/scss/public_api.d.ts.map +1 -0
  340. package/helpers/scss/scss-helper.d.ts +1 -0
  341. package/helpers/scss/scss-helper.d.ts.map +1 -0
  342. package/helpers/string-helper.d.ts +1 -0
  343. package/helpers/string-helper.d.ts.map +1 -0
  344. package/helpers/theme-color.type.d.ts +1 -0
  345. package/helpers/theme-color.type.d.ts.map +1 -0
  346. package/helpers/unique-id-generator.helper.d.ts +1 -0
  347. package/helpers/unique-id-generator.helper.d.ts.map +1 -0
  348. package/icon/icon-registry.service.d.ts +1 -0
  349. package/icon/icon-registry.service.d.ts.map +1 -0
  350. package/icon/icon-settings.d.ts +1 -0
  351. package/icon/icon-settings.d.ts.map +1 -0
  352. package/icon/icon.component.d.ts +7 -2
  353. package/icon/icon.component.d.ts.map +1 -0
  354. package/icon/icon.module.d.ts +1 -0
  355. package/icon/icon.module.d.ts.map +1 -0
  356. package/icon/index.d.ts +1 -0
  357. package/icon/kirby-icon-settings.d.ts +1 -0
  358. package/icon/kirby-icon-settings.d.ts.map +1 -0
  359. package/icon/kirbydesign-designsystem-icon.d.ts.map +1 -0
  360. package/icon/public_api.d.ts +1 -0
  361. package/icon/public_api.d.ts.map +1 -0
  362. package/icons/svg/expense.svg +1 -0
  363. package/icons/svg/income.svg +1 -0
  364. package/icons/svg/notification-fill.svg +1 -0
  365. package/icons/svg/signed-document.svg +1 -0
  366. package/index.d.ts +1 -0
  367. package/item/index.d.ts +1 -0
  368. package/item/item.component.d.ts +1 -0
  369. package/item/item.component.d.ts.map +1 -0
  370. package/item/item.module.d.ts +1 -0
  371. package/item/item.module.d.ts.map +1 -0
  372. package/item/kirbydesign-designsystem-item.d.ts.map +1 -0
  373. package/item/label/label.component.d.ts +1 -0
  374. package/item/label/label.component.d.ts.map +1 -0
  375. package/item/public_api.d.ts +1 -0
  376. package/item/public_api.d.ts.map +1 -0
  377. package/item-group/index.d.ts +1 -0
  378. package/item-group/item-group.component.d.ts +1 -0
  379. package/item-group/item-group.component.d.ts.map +1 -0
  380. package/item-group/kirbydesign-designsystem-item-group.d.ts.map +1 -0
  381. package/item-group/public_api.d.ts +1 -0
  382. package/item-group/public_api.d.ts.map +1 -0
  383. package/item-sliding/index.d.ts +1 -0
  384. package/item-sliding/item-sliding.component.d.ts +1 -0
  385. package/item-sliding/item-sliding.component.d.ts.map +1 -0
  386. package/item-sliding/item-sliding.types.d.ts +1 -0
  387. package/item-sliding/item-sliding.types.d.ts.map +1 -0
  388. package/item-sliding/kirbydesign-designsystem-item-sliding.d.ts.map +1 -0
  389. package/item-sliding/public_api.d.ts +1 -0
  390. package/item-sliding/public_api.d.ts.map +1 -0
  391. package/kirby-app/index.d.ts +1 -0
  392. package/kirby-app/kirby-app.component.d.ts +1 -0
  393. package/kirby-app/kirby-app.component.d.ts.map +1 -0
  394. package/kirby-app/kirby-app.module.d.ts +1 -0
  395. package/kirby-app/kirby-app.module.d.ts.map +1 -0
  396. package/kirby-app/kirbydesign-designsystem-kirby-app.d.ts.map +1 -0
  397. package/kirby-app/public_api.d.ts +1 -0
  398. package/kirby-app/public_api.d.ts.map +1 -0
  399. package/kirby-ionic-module/index.d.ts +1 -0
  400. package/kirby-ionic-module/kirby-ionic.module.d.ts +1 -0
  401. package/kirby-ionic-module/kirby-ionic.module.d.ts.map +1 -0
  402. package/kirby-ionic-module/kirbydesign-designsystem-kirby-ionic-module.d.ts.map +1 -0
  403. package/kirby-ionic-module/public_api.d.ts +1 -0
  404. package/kirby-ionic-module/public_api.d.ts.map +1 -0
  405. package/kirbydesign-designsystem.d.ts.map +1 -0
  406. package/lib/components/index.d.ts +1 -0
  407. package/lib/components/index.d.ts.map +1 -0
  408. package/lib/components/segmented-control/segment-item.d.ts +1 -0
  409. package/lib/components/segmented-control/segment-item.d.ts.map +1 -0
  410. package/lib/components/segmented-control/segmented-control.component.d.ts +1 -2
  411. package/lib/components/segmented-control/segmented-control.component.d.ts.map +1 -0
  412. package/lib/directives/index.d.ts +1 -0
  413. package/lib/directives/index.d.ts.map +1 -0
  414. package/lib/directives/key-handler/key-handler.directive.d.ts +1 -0
  415. package/lib/directives/key-handler/key-handler.directive.d.ts.map +1 -0
  416. package/lib/directives/modal-router-link/modal-router-link.directive.d.ts +1 -0
  417. package/lib/directives/modal-router-link/modal-router-link.directive.d.ts.map +1 -0
  418. package/lib/index.d.ts +1 -0
  419. package/lib/index.d.ts.map +1 -0
  420. package/lib/kirby.module.d.ts +1 -0
  421. package/lib/kirby.module.d.ts.map +1 -0
  422. package/list/directives/index.d.ts +1 -0
  423. package/list/directives/index.d.ts.map +1 -0
  424. package/list/directives/infinite-scroll.directive.d.ts +1 -0
  425. package/list/directives/infinite-scroll.directive.d.ts.map +1 -0
  426. package/list/directives/list-item-color.directive.d.ts +1 -0
  427. package/list/directives/list-item-color.directive.d.ts.map +1 -0
  428. package/list/directives/scroll.model.d.ts +1 -0
  429. package/list/directives/scroll.model.d.ts.map +1 -0
  430. package/list/helpers/index.d.ts +1 -0
  431. package/list/helpers/index.d.ts.map +1 -0
  432. package/list/helpers/list-helper.d.ts +1 -0
  433. package/list/helpers/list-helper.d.ts.map +1 -0
  434. package/list/index.d.ts +1 -0
  435. package/list/kirbydesign-designsystem-list.d.ts.map +1 -0
  436. package/list/list-experimental/index.d.ts +1 -0
  437. package/list/list-experimental/index.d.ts.map +1 -0
  438. package/list/list-experimental/list-experimental.component.d.ts +1 -0
  439. package/list/list-experimental/list-experimental.component.d.ts.map +1 -0
  440. package/list/list-header/index.d.ts +1 -0
  441. package/list/list-header/index.d.ts.map +1 -0
  442. package/list/list-header/list-header.component.d.ts +1 -0
  443. package/list/list-header/list-header.component.d.ts.map +1 -0
  444. package/list/list-item/index.d.ts +1 -0
  445. package/list/list-item/index.d.ts.map +1 -0
  446. package/list/list-item/list-item.component.d.ts +1 -0
  447. package/list/list-item/list-item.component.d.ts.map +1 -0
  448. package/list/list-section-header/index.d.ts +1 -0
  449. package/list/list-section-header/index.d.ts.map +1 -0
  450. package/list/list-section-header/list-section-header.component.d.ts +1 -0
  451. package/list/list-section-header/list-section-header.component.d.ts.map +1 -0
  452. package/list/list-swipe-action.d.ts +1 -0
  453. package/list/list-swipe-action.d.ts.map +1 -0
  454. package/list/list-swipe-action.type.d.ts +1 -0
  455. package/list/list-swipe-action.type.d.ts.map +1 -0
  456. package/list/list.component.d.ts +1 -0
  457. package/list/list.component.d.ts.map +1 -0
  458. package/list/list.directive.d.ts +1 -0
  459. package/list/list.directive.d.ts.map +1 -0
  460. package/list/list.event.d.ts +1 -0
  461. package/list/list.event.d.ts.map +1 -0
  462. package/list/list.module.d.ts +1 -0
  463. package/list/list.module.d.ts.map +1 -0
  464. package/list/public_api.d.ts +1 -0
  465. package/list/public_api.d.ts.map +1 -0
  466. package/loading-overlay/index.d.ts +1 -0
  467. package/loading-overlay/kirbydesign-designsystem-loading-overlay.d.ts.map +1 -0
  468. package/loading-overlay/loading-overlay.component.d.ts +1 -0
  469. package/loading-overlay/loading-overlay.component.d.ts.map +1 -0
  470. package/loading-overlay/loading-overlay.service.d.ts +1 -0
  471. package/loading-overlay/loading-overlay.service.d.ts.map +1 -0
  472. package/loading-overlay/public_api.d.ts +1 -0
  473. package/loading-overlay/public_api.d.ts.map +1 -0
  474. package/menu/index.d.ts +1 -0
  475. package/menu/kirbydesign-designsystem-menu.d.ts.map +1 -0
  476. package/menu/menu.component.d.ts +1 -0
  477. package/menu/menu.component.d.ts.map +1 -0
  478. package/menu/public_api.d.ts +1 -0
  479. package/menu/public_api.d.ts.map +1 -0
  480. package/modal/index.d.ts +1 -0
  481. package/modal/kirbydesign-designsystem-modal.d.ts.map +1 -0
  482. package/modal/modal/action-sheet/action-sheet.component.d.ts +1 -0
  483. package/modal/modal/action-sheet/action-sheet.component.d.ts.map +1 -0
  484. package/modal/modal/action-sheet/config/action-sheet-config.d.ts +1 -0
  485. package/modal/modal/action-sheet/config/action-sheet-config.d.ts.map +1 -0
  486. package/modal/modal/action-sheet/config/action-sheet-item.d.ts +1 -0
  487. package/modal/modal/action-sheet/config/action-sheet-item.d.ts.map +1 -0
  488. package/modal/modal/action-sheet/index.d.ts +1 -0
  489. package/modal/modal/action-sheet/index.d.ts.map +1 -0
  490. package/modal/modal/alert/alert.component.d.ts +1 -0
  491. package/modal/modal/alert/alert.component.d.ts.map +1 -0
  492. package/modal/modal/alert/config/alert-config.d.ts +1 -0
  493. package/modal/modal/alert/config/alert-config.d.ts.map +1 -0
  494. package/modal/modal/alert/index.d.ts +1 -0
  495. package/modal/modal/alert/index.d.ts.map +1 -0
  496. package/modal/modal/footer/modal-footer.component.d.ts +1 -0
  497. package/modal/modal/footer/modal-footer.component.d.ts.map +1 -0
  498. package/modal/modal/index.d.ts +1 -0
  499. package/modal/modal/index.d.ts.map +1 -0
  500. package/modal/modal/modal-component/modal.component.d.ts +1 -0
  501. package/modal/modal/modal-component/modal.component.d.ts.map +1 -0
  502. package/modal/modal/services/action-sheet.helper.d.ts +1 -0
  503. package/modal/modal/services/action-sheet.helper.d.ts.map +1 -0
  504. package/modal/modal/services/alert.helper.d.ts +1 -0
  505. package/modal/modal/services/alert.helper.d.ts.map +1 -0
  506. package/modal/modal/services/can-dismiss-modal-guard.d.ts +1 -0
  507. package/modal/modal/services/can-dismiss-modal-guard.d.ts.map +1 -0
  508. package/modal/modal/services/can-dismiss.helper.d.ts +1 -0
  509. package/modal/modal/services/can-dismiss.helper.d.ts.map +1 -0
  510. package/modal/modal/services/index.d.ts +1 -0
  511. package/modal/modal/services/index.d.ts.map +1 -0
  512. package/modal/modal/services/modal-animation-builder.service.d.ts +1 -0
  513. package/modal/modal/services/modal-animation-builder.service.d.ts.map +1 -0
  514. package/modal/modal/services/modal.controller.d.ts +1 -0
  515. package/modal/modal/services/modal.controller.d.ts.map +1 -0
  516. package/modal/modal/services/modal.helper.d.ts +1 -0
  517. package/modal/modal/services/modal.helper.d.ts.map +1 -0
  518. package/modal/modal-navigation.service.d.ts +1 -0
  519. package/modal/modal-navigation.service.d.ts.map +1 -0
  520. package/modal/modal-wrapper/compact/index.d.ts +1 -0
  521. package/modal/modal-wrapper/compact/index.d.ts.map +1 -0
  522. package/modal/modal-wrapper/compact/modal-compact-wrapper.component.d.ts +1 -0
  523. package/modal/modal-wrapper/compact/modal-compact-wrapper.component.d.ts.map +1 -0
  524. package/modal/modal-wrapper/config/drawer-supplementary-action.d.ts +1 -0
  525. package/modal/modal-wrapper/config/drawer-supplementary-action.d.ts.map +1 -0
  526. package/modal/modal-wrapper/config/index.d.ts +1 -0
  527. package/modal/modal-wrapper/config/index.d.ts.map +1 -0
  528. package/modal/modal-wrapper/config/modal-config.d.ts +1 -0
  529. package/modal/modal-wrapper/config/modal-config.d.ts.map +1 -0
  530. package/modal/modal-wrapper/config/modal-config.helper.d.ts +1 -0
  531. package/modal/modal-wrapper/config/modal-config.helper.d.ts.map +1 -0
  532. package/modal/modal-wrapper/index.d.ts +1 -0
  533. package/modal/modal-wrapper/index.d.ts.map +1 -0
  534. package/modal/modal-wrapper/modal-elements-mover.delegate.d.ts +1 -0
  535. package/modal/modal-wrapper/modal-elements-mover.delegate.d.ts.map +1 -0
  536. package/modal/modal-wrapper/modal-wrapper.component.d.ts +1 -0
  537. package/modal/modal-wrapper/modal-wrapper.component.d.ts.map +1 -0
  538. package/modal/modal.interfaces.d.ts +1 -0
  539. package/modal/modal.interfaces.d.ts.map +1 -0
  540. package/modal/public_api.d.ts +1 -0
  541. package/modal/public_api.d.ts.map +1 -0
  542. package/package.json +9 -116
  543. package/page/index.d.ts +1 -0
  544. package/page/kirbydesign-designsystem-page.d.ts.map +1 -0
  545. package/page/page-footer/page-footer.component.d.ts +1 -0
  546. package/page/page-footer/page-footer.component.d.ts.map +1 -0
  547. package/page/page.component.d.ts +1 -0
  548. package/page/page.component.d.ts.map +1 -0
  549. package/page/page.module.d.ts +1 -0
  550. package/page/page.module.d.ts.map +1 -0
  551. package/page/public_api.d.ts +1 -0
  552. package/page/public_api.d.ts.map +1 -0
  553. package/popover/index.d.ts +1 -0
  554. package/popover/kirbydesign-designsystem-popover.d.ts.map +1 -0
  555. package/popover/popover.component.d.ts +1 -0
  556. package/popover/popover.component.d.ts.map +1 -0
  557. package/popover/public_api.d.ts +1 -0
  558. package/popover/public_api.d.ts.map +1 -0
  559. package/progress-circle/index.d.ts +1 -0
  560. package/progress-circle/kirbydesign-designsystem-progress-circle.d.ts.map +1 -0
  561. package/progress-circle/progress-circle-ring.component.d.ts +1 -0
  562. package/progress-circle/progress-circle-ring.component.d.ts.map +1 -0
  563. package/progress-circle/progress-circle.component.d.ts +1 -0
  564. package/progress-circle/progress-circle.component.d.ts.map +1 -0
  565. package/progress-circle/public_api.d.ts +1 -0
  566. package/progress-circle/public_api.d.ts.map +1 -0
  567. package/public-api.d.ts +1 -0
  568. package/public-api.d.ts.map +1 -0
  569. package/radio/index.d.ts +1 -0
  570. package/radio/kirbydesign-designsystem-radio.d.ts.map +1 -0
  571. package/radio/public_api.d.ts +1 -0
  572. package/radio/public_api.d.ts.map +1 -0
  573. package/radio/radio-group/radio-group.component.d.ts +1 -0
  574. package/radio/radio-group/radio-group.component.d.ts.map +1 -0
  575. package/radio/radio-module.d.ts +1 -0
  576. package/radio/radio-module.d.ts.map +1 -0
  577. package/radio/radio.component.d.ts +1 -0
  578. package/radio/radio.component.d.ts.map +1 -0
  579. package/range/index.d.ts +1 -0
  580. package/range/kirbydesign-designsystem-range.d.ts.map +1 -0
  581. package/range/public_api.d.ts +1 -0
  582. package/range/public_api.d.ts.map +1 -0
  583. package/range/range.component.d.ts +1 -0
  584. package/range/range.component.d.ts.map +1 -0
  585. package/reorder-list/index.d.ts +1 -0
  586. package/reorder-list/kirbydesign-designsystem-reorder-list.d.ts.map +1 -0
  587. package/reorder-list/public_api.d.ts +1 -0
  588. package/reorder-list/public_api.d.ts.map +1 -0
  589. package/reorder-list/reorder-event.d.ts +1 -0
  590. package/reorder-list/reorder-event.d.ts.map +1 -0
  591. package/reorder-list/reorder-list.component.d.ts +1 -0
  592. package/reorder-list/reorder-list.component.d.ts.map +1 -0
  593. package/router-outlet/index.d.ts +1 -0
  594. package/router-outlet/kirbydesign-designsystem-router-outlet.d.ts.map +1 -0
  595. package/router-outlet/public_api.d.ts +1 -0
  596. package/router-outlet/public_api.d.ts.map +1 -0
  597. package/router-outlet/router-outlet.component.d.ts +1 -0
  598. package/router-outlet/router-outlet.component.d.ts.map +1 -0
  599. package/router-outlet/router-outlet.module.d.ts +1 -0
  600. package/router-outlet/router-outlet.module.d.ts.map +1 -0
  601. package/section-header/index.d.ts +1 -0
  602. package/section-header/kirbydesign-designsystem-section-header.d.ts.map +1 -0
  603. package/section-header/public_api.d.ts +1 -0
  604. package/section-header/public_api.d.ts.map +1 -0
  605. package/section-header/section-header.component.d.ts +1 -0
  606. package/section-header/section-header.component.d.ts.map +1 -0
  607. package/shared/component-configuration.d.ts +1 -0
  608. package/shared/component-configuration.d.ts.map +1 -0
  609. package/shared/component-loader.directive.d.ts +1 -0
  610. package/shared/component-loader.directive.d.ts.map +1 -0
  611. package/shared/controls/label-helpers.d.ts +1 -0
  612. package/shared/controls/label-helpers.d.ts.map +1 -0
  613. package/shared/dynamic-component.d.ts +1 -0
  614. package/shared/dynamic-component.d.ts.map +1 -0
  615. package/shared/fit-heading/fit-heading.directive.d.ts +1 -0
  616. package/shared/fit-heading/fit-heading.directive.d.ts.map +1 -0
  617. package/shared/fit-heading/index.d.ts +1 -0
  618. package/shared/fit-heading/index.d.ts.map +1 -0
  619. package/shared/floating/floating.directive.d.ts +1 -0
  620. package/shared/floating/floating.directive.d.ts.map +1 -0
  621. package/shared/floating/index.d.ts +1 -0
  622. package/shared/floating/kirbydesign-designsystem-shared-floating.d.ts.map +1 -0
  623. package/shared/floating/public_api.d.ts +1 -0
  624. package/shared/floating/public_api.d.ts.map +1 -0
  625. package/shared/index.d.ts +1 -0
  626. package/shared/kirbydesign-designsystem-shared.d.ts.map +1 -0
  627. package/shared/portal/index.d.ts +1 -0
  628. package/shared/portal/kirbydesign-designsystem-shared-portal.d.ts.map +1 -0
  629. package/shared/portal/portal.directive.d.ts +1 -0
  630. package/shared/portal/portal.directive.d.ts.map +1 -0
  631. package/shared/portal/public_api.d.ts +1 -0
  632. package/shared/portal/public_api.d.ts.map +1 -0
  633. package/shared/public_api.d.ts +1 -0
  634. package/shared/public_api.d.ts.map +1 -0
  635. package/shared/resize-observer/resize-observer.factory.d.ts +1 -0
  636. package/shared/resize-observer/resize-observer.factory.d.ts.map +1 -0
  637. package/shared/resize-observer/resize-observer.service.d.ts +1 -0
  638. package/shared/resize-observer/resize-observer.service.d.ts.map +1 -0
  639. package/shared/theme-color/theme-color.directive.d.ts +1 -0
  640. package/shared/theme-color/theme-color.directive.d.ts.map +1 -0
  641. package/shared/translation/translation.interface.d.ts +1 -0
  642. package/shared/translation/translation.interface.d.ts.map +1 -0
  643. package/shared/translation/translation.service.d.ts +1 -0
  644. package/shared/translation/translation.service.d.ts.map +1 -0
  645. package/shared/translation/translations/da.d.ts +1 -0
  646. package/shared/translation/translations/da.d.ts.map +1 -0
  647. package/shared/translation/translations/en.d.ts +1 -0
  648. package/shared/translation/translations/en.d.ts.map +1 -0
  649. package/slide/index.d.ts +1 -0
  650. package/slide/kirbydesign-designsystem-slide.d.ts.map +1 -0
  651. package/slide/public_api.d.ts +1 -0
  652. package/slide/public_api.d.ts.map +1 -0
  653. package/slide/slide-stretch-height.directive.d.ts +1 -0
  654. package/slide/slide-stretch-height.directive.d.ts.map +1 -0
  655. package/slide/slide.directive.d.ts +1 -0
  656. package/slide/slide.directive.d.ts.map +1 -0
  657. package/slide/slide.module.d.ts +1 -0
  658. package/slide/slide.module.d.ts.map +1 -0
  659. package/slide/slides.component.d.ts +1 -0
  660. package/slide/slides.component.d.ts.map +1 -0
  661. package/slide-button/index.d.ts +1 -0
  662. package/slide-button/kirbydesign-designsystem-slide-button.d.ts.map +1 -0
  663. package/slide-button/public_api.d.ts +1 -0
  664. package/slide-button/public_api.d.ts.map +1 -0
  665. package/slide-button/slide-button.component.d.ts +1 -0
  666. package/slide-button/slide-button.component.d.ts.map +1 -0
  667. package/spinner/index.d.ts +1 -0
  668. package/spinner/kirbydesign-designsystem-spinner.d.ts.map +1 -0
  669. package/spinner/public_api.d.ts +1 -0
  670. package/spinner/public_api.d.ts.map +1 -0
  671. package/spinner/spinner.component.d.ts +1 -0
  672. package/spinner/spinner.component.d.ts.map +1 -0
  673. package/spinner/spinner.module.d.ts +1 -0
  674. package/spinner/spinner.module.d.ts.map +1 -0
  675. package/tab-navigation/index.d.ts +1 -0
  676. package/tab-navigation/kirbydesign-designsystem-tab-navigation.d.ts.map +1 -0
  677. package/tab-navigation/public_api.d.ts +1 -0
  678. package/tab-navigation/public_api.d.ts.map +1 -0
  679. package/tab-navigation/tab-navigation/tab-navigation.component.d.ts +1 -0
  680. package/tab-navigation/tab-navigation/tab-navigation.component.d.ts.map +1 -0
  681. package/tab-navigation/tab-navigation-item/tab-navigation-item.component.d.ts +1 -0
  682. package/tab-navigation/tab-navigation-item/tab-navigation-item.component.d.ts.map +1 -0
  683. package/tab-navigation/tab-navigation.module.d.ts +1 -0
  684. package/tab-navigation/tab-navigation.module.d.ts.map +1 -0
  685. package/tabs/index.d.ts +1 -0
  686. package/tabs/kirbydesign-designsystem-tabs.d.ts.map +1 -0
  687. package/tabs/public_api.d.ts +1 -0
  688. package/tabs/public_api.d.ts.map +1 -0
  689. package/tabs/tab-button/tab-button.component.d.ts +1 -0
  690. package/tabs/tab-button/tab-button.component.d.ts.map +1 -0
  691. package/tabs/tab-button/tab-button.events.d.ts +1 -0
  692. package/tabs/tab-button/tab-button.events.d.ts.map +1 -0
  693. package/tabs/tabs.component.d.ts +1 -0
  694. package/tabs/tabs.component.d.ts.map +1 -0
  695. package/tabs/tabs.module.d.ts +1 -0
  696. package/tabs/tabs.module.d.ts.map +1 -0
  697. package/tabs/tabs.service.d.ts +1 -0
  698. package/tabs/tabs.service.d.ts.map +1 -0
  699. package/testing/element-css-custom-matchers.d.ts +1 -0
  700. package/testing/element-css-custom-matchers.d.ts.map +1 -0
  701. package/testing/index.d.ts +1 -0
  702. package/testing/kirbydesign-designsystem-testing.d.ts.map +1 -0
  703. package/testing/public_api.d.ts +1 -0
  704. package/testing/public_api.d.ts.map +1 -0
  705. package/testing/test-helper.d.ts +1 -0
  706. package/testing/test-helper.d.ts.map +1 -0
  707. package/testing-base/index.d.ts +1 -0
  708. package/testing-base/kirbydesign-designsystem-testing-base.d.ts.map +1 -0
  709. package/testing-base/lib/components/index.d.ts +1 -0
  710. package/testing-base/lib/components/index.d.ts.map +1 -0
  711. package/testing-base/lib/components/mock.accordion-item.component.d.ts +2 -1
  712. package/testing-base/lib/components/mock.accordion-item.component.d.ts.map +1 -0
  713. package/testing-base/lib/components/mock.action-group.component.d.ts +2 -1
  714. package/testing-base/lib/components/mock.action-group.component.d.ts.map +1 -0
  715. package/testing-base/lib/components/mock.action-sheet.component.d.ts +2 -1
  716. package/testing-base/lib/components/mock.action-sheet.component.d.ts.map +1 -0
  717. package/testing-base/lib/components/mock.alert.component.d.ts +2 -1
  718. package/testing-base/lib/components/mock.alert.component.d.ts.map +1 -0
  719. package/testing-base/lib/components/mock.avatar.component.d.ts +2 -1
  720. package/testing-base/lib/components/mock.avatar.component.d.ts.map +1 -0
  721. package/testing-base/lib/components/mock.badge.component.d.ts +2 -1
  722. package/testing-base/lib/components/mock.badge.component.d.ts.map +1 -0
  723. package/testing-base/lib/components/mock.base-chart.component.d.ts +2 -1
  724. package/testing-base/lib/components/mock.base-chart.component.d.ts.map +1 -0
  725. package/testing-base/lib/components/mock.button.component.d.ts +2 -1
  726. package/testing-base/lib/components/mock.button.component.d.ts.map +1 -0
  727. package/testing-base/lib/components/mock.calendar.component.d.ts +2 -1
  728. package/testing-base/lib/components/mock.calendar.component.d.ts.map +1 -0
  729. package/testing-base/lib/components/mock.card-footer.component.d.ts +2 -1
  730. package/testing-base/lib/components/mock.card-footer.component.d.ts.map +1 -0
  731. package/testing-base/lib/components/mock.card-header.component.d.ts +2 -1
  732. package/testing-base/lib/components/mock.card-header.component.d.ts.map +1 -0
  733. package/testing-base/lib/components/mock.card.component.d.ts +2 -1
  734. package/testing-base/lib/components/mock.card.component.d.ts.map +1 -0
  735. package/testing-base/lib/components/mock.chart.component.d.ts +2 -1
  736. package/testing-base/lib/components/mock.chart.component.d.ts.map +1 -0
  737. package/testing-base/lib/components/mock.checkbox.component.d.ts +2 -1
  738. package/testing-base/lib/components/mock.checkbox.component.d.ts.map +1 -0
  739. package/testing-base/lib/components/mock.divider.component.d.ts +2 -1
  740. package/testing-base/lib/components/mock.divider.component.d.ts.map +1 -0
  741. package/testing-base/lib/components/mock.dropdown.component.d.ts +2 -1
  742. package/testing-base/lib/components/mock.dropdown.component.d.ts.map +1 -0
  743. package/testing-base/lib/components/mock.empty-state.component.d.ts +2 -1
  744. package/testing-base/lib/components/mock.empty-state.component.d.ts.map +1 -0
  745. package/testing-base/lib/components/mock.fab-sheet.component.d.ts +2 -1
  746. package/testing-base/lib/components/mock.fab-sheet.component.d.ts.map +1 -0
  747. package/testing-base/lib/components/mock.flag.component.d.ts +2 -1
  748. package/testing-base/lib/components/mock.flag.component.d.ts.map +1 -0
  749. package/testing-base/lib/components/mock.form-field-message.component.d.ts +2 -1
  750. package/testing-base/lib/components/mock.form-field-message.component.d.ts.map +1 -0
  751. package/testing-base/lib/components/mock.form-field.component.d.ts +2 -1
  752. package/testing-base/lib/components/mock.form-field.component.d.ts.map +1 -0
  753. package/testing-base/lib/components/mock.header.component.d.ts +4 -3
  754. package/testing-base/lib/components/mock.header.component.d.ts.map +1 -0
  755. package/testing-base/lib/components/mock.icon.component.d.ts +2 -1
  756. package/testing-base/lib/components/mock.icon.component.d.ts.map +1 -0
  757. package/testing-base/lib/components/mock.input-counter.component.d.ts +2 -1
  758. package/testing-base/lib/components/mock.input-counter.component.d.ts.map +1 -0
  759. package/testing-base/lib/components/mock.input.component.d.ts +2 -1
  760. package/testing-base/lib/components/mock.input.component.d.ts.map +1 -0
  761. package/testing-base/lib/components/mock.item-group.component.d.ts +2 -1
  762. package/testing-base/lib/components/mock.item-group.component.d.ts.map +1 -0
  763. package/testing-base/lib/components/mock.item-sliding.component.d.ts +2 -1
  764. package/testing-base/lib/components/mock.item-sliding.component.d.ts.map +1 -0
  765. package/testing-base/lib/components/mock.item.component.d.ts +2 -1
  766. package/testing-base/lib/components/mock.item.component.d.ts.map +1 -0
  767. package/testing-base/lib/components/mock.kirby-app.component.d.ts +2 -1
  768. package/testing-base/lib/components/mock.kirby-app.component.d.ts.map +1 -0
  769. package/testing-base/lib/components/mock.label.component.d.ts +2 -1
  770. package/testing-base/lib/components/mock.label.component.d.ts.map +1 -0
  771. package/testing-base/lib/components/mock.list-experimental.component.d.ts +2 -1
  772. package/testing-base/lib/components/mock.list-experimental.component.d.ts.map +1 -0
  773. package/testing-base/lib/components/mock.list-header.component.d.ts +2 -1
  774. package/testing-base/lib/components/mock.list-header.component.d.ts.map +1 -0
  775. package/testing-base/lib/components/mock.list-item.component.d.ts +2 -1
  776. package/testing-base/lib/components/mock.list-item.component.d.ts.map +1 -0
  777. package/testing-base/lib/components/mock.list-section-header.component.d.ts +2 -1
  778. package/testing-base/lib/components/mock.list-section-header.component.d.ts.map +1 -0
  779. package/testing-base/lib/components/mock.list.component.d.ts +2 -1
  780. package/testing-base/lib/components/mock.list.component.d.ts.map +1 -0
  781. package/testing-base/lib/components/mock.loading-overlay.component.d.ts +2 -1
  782. package/testing-base/lib/components/mock.loading-overlay.component.d.ts.map +1 -0
  783. package/testing-base/lib/components/mock.menu.component.d.ts +2 -1
  784. package/testing-base/lib/components/mock.menu.component.d.ts.map +1 -0
  785. package/testing-base/lib/components/mock.modal-compact-wrapper.component.d.ts +2 -1
  786. package/testing-base/lib/components/mock.modal-compact-wrapper.component.d.ts.map +1 -0
  787. package/testing-base/lib/components/mock.modal-footer.component.d.ts +2 -1
  788. package/testing-base/lib/components/mock.modal-footer.component.d.ts.map +1 -0
  789. package/testing-base/lib/components/mock.modal-wrapper.component.d.ts +2 -1
  790. package/testing-base/lib/components/mock.modal-wrapper.component.d.ts.map +1 -0
  791. package/testing-base/lib/components/mock.page-footer.component.d.ts +2 -1
  792. package/testing-base/lib/components/mock.page-footer.component.d.ts.map +1 -0
  793. package/testing-base/lib/components/mock.page.component.d.ts +12 -11
  794. package/testing-base/lib/components/mock.page.component.d.ts.map +1 -0
  795. package/testing-base/lib/components/mock.popover.component.d.ts +2 -1
  796. package/testing-base/lib/components/mock.popover.component.d.ts.map +1 -0
  797. package/testing-base/lib/components/mock.progress-circle-ring.component.d.ts +2 -1
  798. package/testing-base/lib/components/mock.progress-circle-ring.component.d.ts.map +1 -0
  799. package/testing-base/lib/components/mock.progress-circle.component.d.ts +2 -1
  800. package/testing-base/lib/components/mock.progress-circle.component.d.ts.map +1 -0
  801. package/testing-base/lib/components/mock.radio-group.component.d.ts +2 -1
  802. package/testing-base/lib/components/mock.radio-group.component.d.ts.map +1 -0
  803. package/testing-base/lib/components/mock.radio.component.d.ts +2 -1
  804. package/testing-base/lib/components/mock.radio.component.d.ts.map +1 -0
  805. package/testing-base/lib/components/mock.range.component.d.ts +2 -1
  806. package/testing-base/lib/components/mock.range.component.d.ts.map +1 -0
  807. package/testing-base/lib/components/mock.reorder-list.component.d.ts +2 -1
  808. package/testing-base/lib/components/mock.reorder-list.component.d.ts.map +1 -0
  809. package/testing-base/lib/components/mock.router-outlet.component.d.ts +2 -1
  810. package/testing-base/lib/components/mock.router-outlet.component.d.ts.map +1 -0
  811. package/testing-base/lib/components/mock.section-header.component.d.ts +2 -1
  812. package/testing-base/lib/components/mock.section-header.component.d.ts.map +1 -0
  813. package/testing-base/lib/components/mock.segmented-control.component.d.ts +2 -1
  814. package/testing-base/lib/components/mock.segmented-control.component.d.ts.map +1 -0
  815. package/testing-base/lib/components/mock.slide-button.component.d.ts +2 -1
  816. package/testing-base/lib/components/mock.slide-button.component.d.ts.map +1 -0
  817. package/testing-base/lib/components/mock.slides.component.d.ts +2 -1
  818. package/testing-base/lib/components/mock.slides.component.d.ts.map +1 -0
  819. package/testing-base/lib/components/mock.spinner.component.d.ts +2 -1
  820. package/testing-base/lib/components/mock.spinner.component.d.ts.map +1 -0
  821. package/testing-base/lib/components/mock.stock-chart.component.d.ts +2 -1
  822. package/testing-base/lib/components/mock.stock-chart.component.d.ts.map +1 -0
  823. package/testing-base/lib/components/mock.tab-button.component.d.ts +2 -1
  824. package/testing-base/lib/components/mock.tab-button.component.d.ts.map +1 -0
  825. package/testing-base/lib/components/mock.tab-navigation-item.component.d.ts +2 -1
  826. package/testing-base/lib/components/mock.tab-navigation-item.component.d.ts.map +1 -0
  827. package/testing-base/lib/components/mock.tab-navigation.component.d.ts +2 -1
  828. package/testing-base/lib/components/mock.tab-navigation.component.d.ts.map +1 -0
  829. package/testing-base/lib/components/mock.tabs.component.d.ts +2 -1
  830. package/testing-base/lib/components/mock.tabs.component.d.ts.map +1 -0
  831. package/testing-base/lib/components/mock.textarea.component.d.ts +2 -1
  832. package/testing-base/lib/components/mock.textarea.component.d.ts.map +1 -0
  833. package/testing-base/lib/components/mock.toggle-button.component.d.ts +2 -1
  834. package/testing-base/lib/components/mock.toggle-button.component.d.ts.map +1 -0
  835. package/testing-base/lib/components/mock.toggle.component.d.ts +2 -1
  836. package/testing-base/lib/components/mock.toggle.component.d.ts.map +1 -0
  837. package/testing-base/lib/directives/index.d.ts +1 -0
  838. package/testing-base/lib/directives/index.d.ts.map +1 -0
  839. package/testing-base/lib/directives/mock.accordion.directive.d.ts +2 -1
  840. package/testing-base/lib/directives/mock.accordion.directive.d.ts.map +1 -0
  841. package/testing-base/lib/directives/mock.affix.directive.d.ts +2 -1
  842. package/testing-base/lib/directives/mock.affix.directive.d.ts.map +1 -0
  843. package/testing-base/lib/directives/mock.card-as-button.directive.d.ts +2 -1
  844. package/testing-base/lib/directives/mock.card-as-button.directive.d.ts.map +1 -0
  845. package/testing-base/lib/directives/mock.component-loader.directive.d.ts +2 -1
  846. package/testing-base/lib/directives/mock.component-loader.directive.d.ts.map +1 -0
  847. package/testing-base/lib/directives/mock.date-input.directive.d.ts +2 -1
  848. package/testing-base/lib/directives/mock.date-input.directive.d.ts.map +1 -0
  849. package/testing-base/lib/directives/mock.decimal-mask.directive.d.ts +2 -1
  850. package/testing-base/lib/directives/mock.decimal-mask.directive.d.ts.map +1 -0
  851. package/testing-base/lib/directives/mock.fit-heading.directive.d.ts +2 -1
  852. package/testing-base/lib/directives/mock.fit-heading.directive.d.ts.map +1 -0
  853. package/testing-base/lib/directives/mock.floating.directive.d.ts +2 -1
  854. package/testing-base/lib/directives/mock.floating.directive.d.ts.map +1 -0
  855. package/testing-base/lib/directives/mock.infinite-scroll.directive.d.ts +2 -1
  856. package/testing-base/lib/directives/mock.infinite-scroll.directive.d.ts.map +1 -0
  857. package/testing-base/lib/directives/mock.key-handler.directive.d.ts +2 -1
  858. package/testing-base/lib/directives/mock.key-handler.directive.d.ts.map +1 -0
  859. package/testing-base/lib/directives/mock.list-item-color.directive.d.ts +2 -1
  860. package/testing-base/lib/directives/mock.list-item-color.directive.d.ts.map +1 -0
  861. package/testing-base/lib/directives/mock.list.directive.d.ts +5 -4
  862. package/testing-base/lib/directives/mock.list.directive.d.ts.map +1 -0
  863. package/testing-base/lib/directives/mock.modal-router-link.directive.d.ts +2 -1
  864. package/testing-base/lib/directives/mock.modal-router-link.directive.d.ts.map +1 -0
  865. package/testing-base/lib/directives/mock.portal.directive.d.ts +2 -1
  866. package/testing-base/lib/directives/mock.portal.directive.d.ts.map +1 -0
  867. package/testing-base/lib/directives/mock.slide.directive.d.ts +2 -1
  868. package/testing-base/lib/directives/mock.slide.directive.d.ts.map +1 -0
  869. package/testing-base/lib/directives/mock.theme-color.directive.d.ts +2 -1
  870. package/testing-base/lib/directives/mock.theme-color.directive.d.ts.map +1 -0
  871. package/testing-base/lib/index.d.ts +1 -0
  872. package/testing-base/lib/index.d.ts.map +1 -0
  873. package/testing-base/lib/kirby-testing-base.module.d.ts +2 -1
  874. package/testing-base/lib/kirby-testing-base.module.d.ts.map +1 -0
  875. package/testing-base/lib/mock-components.d.ts +1 -0
  876. package/testing-base/lib/mock-components.d.ts.map +1 -0
  877. package/testing-base/lib/mock-directives.d.ts +1 -0
  878. package/testing-base/lib/mock-directives.d.ts.map +1 -0
  879. package/testing-base/public_api.d.ts +1 -0
  880. package/testing-base/public_api.d.ts.map +1 -0
  881. package/testing-jasmine/index.d.ts +1 -0
  882. package/testing-jasmine/kirbydesign-designsystem-testing-jasmine.d.ts.map +1 -0
  883. package/testing-jasmine/lib/kirby-testing.module.d.ts +1 -0
  884. package/testing-jasmine/lib/kirby-testing.module.d.ts.map +1 -0
  885. package/testing-jasmine/lib/mock-providers.d.ts +1 -0
  886. package/testing-jasmine/lib/mock-providers.d.ts.map +1 -0
  887. package/testing-jasmine/public_api.d.ts +1 -0
  888. package/testing-jasmine/public_api.d.ts.map +1 -0
  889. package/testing-jest/index.d.ts +1 -0
  890. package/testing-jest/kirbydesign-designsystem-testing-jest.d.ts.map +1 -0
  891. package/testing-jest/lib/kirby-testing.module.d.ts +1 -0
  892. package/testing-jest/lib/kirby-testing.module.d.ts.map +1 -0
  893. package/testing-jest/lib/mock-providers.d.ts +1 -0
  894. package/testing-jest/lib/mock-providers.d.ts.map +1 -0
  895. package/testing-jest/public_api.d.ts +1 -0
  896. package/testing-jest/public_api.d.ts.map +1 -0
  897. package/toast/config/toast-config.d.ts +1 -0
  898. package/toast/config/toast-config.d.ts.map +1 -0
  899. package/toast/index.d.ts +1 -0
  900. package/toast/kirbydesign-designsystem-toast.d.ts.map +1 -0
  901. package/toast/public_api.d.ts +1 -0
  902. package/toast/public_api.d.ts.map +1 -0
  903. package/toast/services/indexs.d.ts +1 -0
  904. package/toast/services/indexs.d.ts.map +1 -0
  905. package/toast/services/toast.controller.d.ts +1 -0
  906. package/toast/services/toast.controller.d.ts.map +1 -0
  907. package/toast/services/toast.helper.d.ts +1 -0
  908. package/toast/services/toast.helper.d.ts.map +1 -0
  909. package/toggle/index.d.ts +1 -0
  910. package/toggle/kirbydesign-designsystem-toggle.d.ts.map +1 -0
  911. package/toggle/public_api.d.ts +1 -0
  912. package/toggle/public_api.d.ts.map +1 -0
  913. package/toggle/toggle.component.d.ts +1 -0
  914. package/toggle/toggle.component.d.ts.map +1 -0
  915. package/toggle-button/index.d.ts +1 -0
  916. package/toggle-button/kirbydesign-designsystem-toggle-button.d.ts.map +1 -0
  917. package/toggle-button/public_api.d.ts +1 -0
  918. package/toggle-button/public_api.d.ts.map +1 -0
  919. package/toggle-button/toggle-button.component.d.ts +6 -1
  920. package/toggle-button/toggle-button.component.d.ts.map +1 -0
  921. package/toggle-button/toggle-button.module.d.ts +1 -0
  922. package/toggle-button/toggle-button.module.d.ts.map +1 -0
  923. package/types/event-listener-dispose-fn.d.ts +1 -0
  924. package/types/event-listener-dispose-fn.d.ts.map +1 -0
  925. package/types/index.d.ts +1 -0
  926. package/types/kirbydesign-designsystem-types.d.ts.map +1 -0
  927. package/types/public_api.d.ts +1 -0
  928. package/types/public_api.d.ts.map +1 -0
  929. package/types/unobserve-fn.d.ts +1 -0
  930. package/types/unobserve-fn.d.ts.map +1 -0
  931. package/types/window-ref.d.ts +1 -0
  932. package/types/window-ref.d.ts.map +1 -0
  933. package/esm2022/accordion/accordion-item.component.mjs +0 -85
  934. package/esm2022/accordion/accordion.directive.mjs +0 -14
  935. package/esm2022/accordion/accordion.module.mjs +0 -20
  936. package/esm2022/accordion/kirbydesign-designsystem-accordion.mjs +0 -5
  937. package/esm2022/accordion/public_api.mjs +0 -4
  938. package/esm2022/action-group/action-group.component.mjs +0 -131
  939. package/esm2022/action-group/kirbydesign-designsystem-action-group.mjs +0 -5
  940. package/esm2022/action-group/public_api.mjs +0 -2
  941. package/esm2022/avatar/avatar.component.mjs +0 -51
  942. package/esm2022/avatar/kirbydesign-designsystem-avatar.mjs +0 -5
  943. package/esm2022/avatar/public_api.mjs +0 -2
  944. package/esm2022/badge/badge.component.mjs +0 -38
  945. package/esm2022/badge/kirbydesign-designsystem-badge.mjs +0 -5
  946. package/esm2022/badge/public_api.mjs +0 -2
  947. package/esm2022/button/button.component.mjs +0 -158
  948. package/esm2022/button/kirbydesign-designsystem-button.mjs +0 -5
  949. package/esm2022/button/public_api.mjs +0 -2
  950. package/esm2022/calendar/calendar.component.mjs +0 -514
  951. package/esm2022/calendar/interfaces/calendar-day.mjs +0 -2
  952. package/esm2022/calendar/interfaces/calendar-year-navigator-config.mjs +0 -2
  953. package/esm2022/calendar/kirbydesign-designsystem-calendar.mjs +0 -5
  954. package/esm2022/calendar/public_api.mjs +0 -2
  955. package/esm2022/card/card-as-button/card-as-button.directive.mjs +0 -64
  956. package/esm2022/card/card-flag-level.mjs +0 -2
  957. package/esm2022/card/card-footer/card-footer.component.mjs +0 -19
  958. package/esm2022/card/card-header/card-header.component.mjs +0 -35
  959. package/esm2022/card/card.component.mjs +0 -78
  960. package/esm2022/card/card.module.mjs +0 -34
  961. package/esm2022/card/kirbydesign-designsystem-card.mjs +0 -5
  962. package/esm2022/card/public_api.mjs +0 -7
  963. package/esm2022/chart/chart/chart.component.mjs +0 -18
  964. package/esm2022/chart/chart/index.mjs +0 -2
  965. package/esm2022/chart/chart-config/chart-bar-config/chart-bar-config.mjs +0 -43
  966. package/esm2022/chart/chart-config/chart-base-config.mjs +0 -4
  967. package/esm2022/chart/chart-config/chart-stock-config/chart-stock-config.mjs +0 -153
  968. package/esm2022/chart/chart-config/chart-stock-config/data-label-position/data-label-position.mjs +0 -48
  969. package/esm2022/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.mjs +0 -37
  970. package/esm2022/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.model.mjs +0 -2
  971. package/esm2022/chart/charts.module.mjs +0 -19
  972. package/esm2022/chart/kirbydesign-designsystem-chart.mjs +0 -5
  973. package/esm2022/chart/public_api.mjs +0 -7
  974. package/esm2022/chart/shared/base-chart/base-chart.component.mjs +0 -124
  975. package/esm2022/chart/shared/base-chart/index.mjs +0 -2
  976. package/esm2022/chart/shared/chart-config-service/chart-config.service.mjs +0 -75
  977. package/esm2022/chart/shared/chart-config-service/configs/annotations.config.mjs +0 -32
  978. package/esm2022/chart/shared/chart-config-service/configs/global-defaults.config.mjs +0 -65
  979. package/esm2022/chart/shared/chart-config-service/configs/interaction-functions-extensions.config.mjs +0 -13
  980. package/esm2022/chart/shared/chart-config-service/configs/type.config.mjs +0 -207
  981. package/esm2022/chart/shared/chart-config-service/index.mjs +0 -2
  982. package/esm2022/chart/shared/chart-js-service/annotations.delegate.mjs +0 -35
  983. package/esm2022/chart/shared/chart-js-service/chart-js.service.mjs +0 -179
  984. package/esm2022/chart/shared/chart-js-service/chartjs-plugin-marker/chartjs-plugin-marker.mjs +0 -194
  985. package/esm2022/chart/shared/chart-js-service/configured-chart-js.mjs +0 -22
  986. package/esm2022/chart/shared/chart-js-service/index.mjs +0 -3
  987. package/esm2022/chart/shared/chart-js-service/test-utils.mjs +0 -167
  988. package/esm2022/chart/shared/charts.types.mjs +0 -4
  989. package/esm2022/chart/shared/index.mjs +0 -5
  990. package/esm2022/chart/stock-chart/index.mjs +0 -2
  991. package/esm2022/chart/stock-chart/stock-chart-js.service.mjs +0 -100
  992. package/esm2022/chart/stock-chart/stock-chart.component.mjs +0 -22
  993. package/esm2022/checkbox/checkbox.component.mjs +0 -166
  994. package/esm2022/checkbox/kirbydesign-designsystem-checkbox.mjs +0 -5
  995. package/esm2022/checkbox/public_api.mjs +0 -2
  996. package/esm2022/data-table/data-table.module.mjs +0 -24
  997. package/esm2022/data-table/kirbydesign-designsystem-data-table.mjs +0 -5
  998. package/esm2022/data-table/public_api.mjs +0 -3
  999. package/esm2022/data-table/sortable/sortable.component.mjs +0 -58
  1000. package/esm2022/divider/divider.component.mjs +0 -14
  1001. package/esm2022/divider/kirbydesign-designsystem-divider.mjs +0 -5
  1002. package/esm2022/divider/public_api.mjs +0 -2
  1003. package/esm2022/dropdown/dropdown.component.mjs +0 -611
  1004. package/esm2022/dropdown/dropdown.module.mjs +0 -47
  1005. package/esm2022/dropdown/dropdown.types.mjs +0 -12
  1006. package/esm2022/dropdown/keyboard-handler.service.mjs +0 -50
  1007. package/esm2022/dropdown/kirbydesign-designsystem-dropdown.mjs +0 -5
  1008. package/esm2022/dropdown/public_api.mjs +0 -6
  1009. package/esm2022/empty-state/empty-state.component.mjs +0 -69
  1010. package/esm2022/empty-state/empty-state.module.mjs +0 -21
  1011. package/esm2022/empty-state/kirbydesign-designsystem-empty-state.mjs +0 -5
  1012. package/esm2022/empty-state/public_api.mjs +0 -3
  1013. package/esm2022/fab-sheet/fab-sheet.component.mjs +0 -78
  1014. package/esm2022/fab-sheet/kirbydesign-designsystem-fab-sheet.mjs +0 -5
  1015. package/esm2022/fab-sheet/public_api.mjs +0 -2
  1016. package/esm2022/flag/flag.component.mjs +0 -30
  1017. package/esm2022/flag/kirbydesign-designsystem-flag.mjs +0 -5
  1018. package/esm2022/flag/public_api.mjs +0 -2
  1019. package/esm2022/form-field/directives/affix/affix.directive.mjs +0 -21
  1020. package/esm2022/form-field/directives/date/date-input.directive.mjs +0 -129
  1021. package/esm2022/form-field/directives/decimal-mask/decimal-mask.directive.mjs +0 -131
  1022. package/esm2022/form-field/form-field-message/form-field-message.component.mjs +0 -18
  1023. package/esm2022/form-field/form-field.component.mjs +0 -156
  1024. package/esm2022/form-field/form-field.module.mjs +0 -24
  1025. package/esm2022/form-field/input/input.component.mjs +0 -116
  1026. package/esm2022/form-field/input-counter/input-counter.component.mjs +0 -35
  1027. package/esm2022/form-field/kirbydesign-designsystem-form-field.mjs +0 -5
  1028. package/esm2022/form-field/public_api.mjs +0 -10
  1029. package/esm2022/form-field/textarea/textarea.component.mjs +0 -66
  1030. package/esm2022/header/header.component.mjs +0 -158
  1031. package/esm2022/header/header.module.mjs +0 -34
  1032. package/esm2022/header/kirbydesign-designsystem-header.mjs +0 -5
  1033. package/esm2022/header/public_api.mjs +0 -3
  1034. package/esm2022/helpers/chart-config-has-type.mjs +0 -10
  1035. package/esm2022/helpers/color-helper.mjs +0 -2
  1036. package/esm2022/helpers/content-mutation-observer.mjs +0 -50
  1037. package/esm2022/helpers/deep-copy.mjs +0 -52
  1038. package/esm2022/helpers/design-token-helper.mjs +0 -2
  1039. package/esm2022/helpers/element-ancestor-utils.mjs +0 -33
  1040. package/esm2022/helpers/ionic-element-part-helper.mjs +0 -25
  1041. package/esm2022/helpers/kirby-animation.mjs +0 -15
  1042. package/esm2022/helpers/kirbydesign-designsystem-helpers.mjs +0 -5
  1043. package/esm2022/helpers/line-clamp-helper.mjs +0 -31
  1044. package/esm2022/helpers/merge-deep.mjs +0 -38
  1045. package/esm2022/helpers/platform.service.mjs +0 -27
  1046. package/esm2022/helpers/public_api.mjs +0 -17
  1047. package/esm2022/helpers/scss/kirbydesign-designsystem-helpers-scss.mjs +0 -5
  1048. package/esm2022/helpers/scss/public_api.mjs +0 -2
  1049. package/esm2022/helpers/scss/scss-helper.mjs +0 -9
  1050. package/esm2022/helpers/string-helper.mjs +0 -2
  1051. package/esm2022/helpers/theme-color.type.mjs +0 -2
  1052. package/esm2022/helpers/unique-id-generator.helper.mjs +0 -19
  1053. package/esm2022/icon/icon-registry.service.mjs +0 -61
  1054. package/esm2022/icon/icon-settings.mjs +0 -2
  1055. package/esm2022/icon/icon.component.mjs +0 -62
  1056. package/esm2022/icon/icon.module.mjs +0 -19
  1057. package/esm2022/icon/kirby-icon-settings.mjs +0 -130
  1058. package/esm2022/icon/kirbydesign-designsystem-icon.mjs +0 -5
  1059. package/esm2022/icon/public_api.mjs +0 -6
  1060. package/esm2022/item/item.component.mjs +0 -74
  1061. package/esm2022/item/item.module.mjs +0 -22
  1062. package/esm2022/item/kirbydesign-designsystem-item.mjs +0 -5
  1063. package/esm2022/item/label/label.component.mjs +0 -23
  1064. package/esm2022/item/public_api.mjs +0 -4
  1065. package/esm2022/item-group/item-group.component.mjs +0 -18
  1066. package/esm2022/item-group/kirbydesign-designsystem-item-group.mjs +0 -5
  1067. package/esm2022/item-group/public_api.mjs +0 -2
  1068. package/esm2022/item-sliding/item-sliding.component.mjs +0 -38
  1069. package/esm2022/item-sliding/item-sliding.types.mjs +0 -2
  1070. package/esm2022/item-sliding/kirbydesign-designsystem-item-sliding.mjs +0 -5
  1071. package/esm2022/item-sliding/public_api.mjs +0 -3
  1072. package/esm2022/kirby-app/kirby-app.component.mjs +0 -35
  1073. package/esm2022/kirby-app/kirby-app.module.mjs +0 -19
  1074. package/esm2022/kirby-app/kirbydesign-designsystem-kirby-app.mjs +0 -5
  1075. package/esm2022/kirby-app/public_api.mjs +0 -3
  1076. package/esm2022/kirby-ionic-module/kirby-ionic.module.mjs +0 -23
  1077. package/esm2022/kirby-ionic-module/kirbydesign-designsystem-kirby-ionic-module.mjs +0 -5
  1078. package/esm2022/kirby-ionic-module/public_api.mjs +0 -2
  1079. package/esm2022/kirbydesign-designsystem.mjs +0 -5
  1080. package/esm2022/lib/components/index.mjs +0 -3
  1081. package/esm2022/lib/components/segmented-control/segment-item.mjs +0 -2
  1082. package/esm2022/lib/components/segmented-control/segmented-control.component.mjs +0 -166
  1083. package/esm2022/lib/directives/index.mjs +0 -3
  1084. package/esm2022/lib/directives/key-handler/key-handler.directive.mjs +0 -28
  1085. package/esm2022/lib/directives/modal-router-link/modal-router-link.directive.mjs +0 -35
  1086. package/esm2022/lib/index.mjs +0 -49
  1087. package/esm2022/lib/kirby.module.mjs +0 -339
  1088. package/esm2022/list/directives/index.mjs +0 -4
  1089. package/esm2022/list/directives/infinite-scroll.directive.mjs +0 -114
  1090. package/esm2022/list/directives/list-item-color.directive.mjs +0 -30
  1091. package/esm2022/list/directives/scroll.model.mjs +0 -2
  1092. package/esm2022/list/helpers/index.mjs +0 -2
  1093. package/esm2022/list/helpers/list-helper.mjs +0 -83
  1094. package/esm2022/list/kirbydesign-designsystem-list.mjs +0 -5
  1095. package/esm2022/list/list-experimental/index.mjs +0 -2
  1096. package/esm2022/list/list-experimental/list-experimental.component.mjs +0 -24
  1097. package/esm2022/list/list-header/index.mjs +0 -2
  1098. package/esm2022/list/list-header/list-header.component.mjs +0 -12
  1099. package/esm2022/list/list-item/index.mjs +0 -2
  1100. package/esm2022/list/list-item/list-item.component.mjs +0 -129
  1101. package/esm2022/list/list-section-header/index.mjs +0 -2
  1102. package/esm2022/list/list-section-header/list-section-header.component.mjs +0 -13
  1103. package/esm2022/list/list-swipe-action.mjs +0 -2
  1104. package/esm2022/list/list-swipe-action.type.mjs +0 -2
  1105. package/esm2022/list/list.component.mjs +0 -187
  1106. package/esm2022/list/list.directive.mjs +0 -43
  1107. package/esm2022/list/list.event.mjs +0 -2
  1108. package/esm2022/list/list.module.mjs +0 -93
  1109. package/esm2022/list/public_api.mjs +0 -12
  1110. package/esm2022/loading-overlay/kirbydesign-designsystem-loading-overlay.mjs +0 -5
  1111. package/esm2022/loading-overlay/loading-overlay.component.mjs +0 -26
  1112. package/esm2022/loading-overlay/loading-overlay.service.mjs +0 -49
  1113. package/esm2022/loading-overlay/public_api.mjs +0 -3
  1114. package/esm2022/menu/kirbydesign-designsystem-menu.mjs +0 -5
  1115. package/esm2022/menu/menu.component.mjs +0 -294
  1116. package/esm2022/menu/public_api.mjs +0 -2
  1117. package/esm2022/modal/kirbydesign-designsystem-modal.mjs +0 -5
  1118. package/esm2022/modal/modal/action-sheet/action-sheet.component.mjs +0 -45
  1119. package/esm2022/modal/modal/action-sheet/config/action-sheet-config.mjs +0 -2
  1120. package/esm2022/modal/modal/action-sheet/config/action-sheet-item.mjs +0 -2
  1121. package/esm2022/modal/modal/action-sheet/index.mjs +0 -4
  1122. package/esm2022/modal/modal/alert/alert.component.mjs +0 -76
  1123. package/esm2022/modal/modal/alert/config/alert-config.mjs +0 -2
  1124. package/esm2022/modal/modal/alert/index.mjs +0 -3
  1125. package/esm2022/modal/modal/footer/modal-footer.component.mjs +0 -38
  1126. package/esm2022/modal/modal/index.mjs +0 -7
  1127. package/esm2022/modal/modal/modal-component/modal.component.mjs +0 -152
  1128. package/esm2022/modal/modal/services/action-sheet.helper.mjs +0 -46
  1129. package/esm2022/modal/modal/services/alert.helper.mjs +0 -56
  1130. package/esm2022/modal/modal/services/can-dismiss-modal-guard.mjs +0 -31
  1131. package/esm2022/modal/modal/services/can-dismiss.helper.mjs +0 -29
  1132. package/esm2022/modal/modal/services/index.mjs +0 -7
  1133. package/esm2022/modal/modal/services/modal-animation-builder.service.mjs +0 -268
  1134. package/esm2022/modal/modal/services/modal.controller.mjs +0 -121
  1135. package/esm2022/modal/modal/services/modal.helper.mjs +0 -118
  1136. package/esm2022/modal/modal-navigation.service.mjs +0 -265
  1137. package/esm2022/modal/modal-wrapper/compact/index.mjs +0 -2
  1138. package/esm2022/modal/modal-wrapper/compact/modal-compact-wrapper.component.mjs +0 -89
  1139. package/esm2022/modal/modal-wrapper/config/drawer-supplementary-action.mjs +0 -3
  1140. package/esm2022/modal/modal-wrapper/config/index.mjs +0 -4
  1141. package/esm2022/modal/modal-wrapper/config/modal-config.helper.mjs +0 -3
  1142. package/esm2022/modal/modal-wrapper/config/modal-config.mjs +0 -2
  1143. package/esm2022/modal/modal-wrapper/index.mjs +0 -4
  1144. package/esm2022/modal/modal-wrapper/modal-elements-mover.delegate.mjs +0 -62
  1145. package/esm2022/modal/modal-wrapper/modal-wrapper.component.mjs +0 -543
  1146. package/esm2022/modal/modal.interfaces.mjs +0 -50
  1147. package/esm2022/modal/public_api.mjs +0 -5
  1148. package/esm2022/page/kirbydesign-designsystem-page.mjs +0 -5
  1149. package/esm2022/page/page-footer/page-footer.component.mjs +0 -35
  1150. package/esm2022/page/page.component.mjs +0 -734
  1151. package/esm2022/page/page.module.mjs +0 -107
  1152. package/esm2022/page/public_api.mjs +0 -4
  1153. package/esm2022/popover/kirbydesign-designsystem-popover.mjs +0 -5
  1154. package/esm2022/popover/popover.component.mjs +0 -159
  1155. package/esm2022/popover/public_api.mjs +0 -2
  1156. package/esm2022/progress-circle/kirbydesign-designsystem-progress-circle.mjs +0 -5
  1157. package/esm2022/progress-circle/progress-circle-ring.component.mjs +0 -62
  1158. package/esm2022/progress-circle/progress-circle.component.mjs +0 -88
  1159. package/esm2022/progress-circle/public_api.mjs +0 -3
  1160. package/esm2022/public-api.mjs +0 -2
  1161. package/esm2022/radio/kirbydesign-designsystem-radio.mjs +0 -5
  1162. package/esm2022/radio/public_api.mjs +0 -4
  1163. package/esm2022/radio/radio-group/radio-group.component.mjs +0 -252
  1164. package/esm2022/radio/radio-module.mjs +0 -21
  1165. package/esm2022/radio/radio.component.mjs +0 -80
  1166. package/esm2022/range/kirbydesign-designsystem-range.mjs +0 -5
  1167. package/esm2022/range/public_api.mjs +0 -2
  1168. package/esm2022/range/range.component.mjs +0 -136
  1169. package/esm2022/reorder-list/kirbydesign-designsystem-reorder-list.mjs +0 -5
  1170. package/esm2022/reorder-list/public_api.mjs +0 -3
  1171. package/esm2022/reorder-list/reorder-event.mjs +0 -14
  1172. package/esm2022/reorder-list/reorder-list.component.mjs +0 -80
  1173. package/esm2022/router-outlet/kirbydesign-designsystem-router-outlet.mjs +0 -5
  1174. package/esm2022/router-outlet/public_api.mjs +0 -6
  1175. package/esm2022/router-outlet/router-outlet.component.mjs +0 -19
  1176. package/esm2022/router-outlet/router-outlet.module.mjs +0 -19
  1177. package/esm2022/section-header/kirbydesign-designsystem-section-header.mjs +0 -5
  1178. package/esm2022/section-header/public_api.mjs +0 -2
  1179. package/esm2022/section-header/section-header.component.mjs +0 -13
  1180. package/esm2022/shared/component-configuration.mjs +0 -2
  1181. package/esm2022/shared/component-loader.directive.mjs +0 -36
  1182. package/esm2022/shared/controls/label-helpers.mjs +0 -23
  1183. package/esm2022/shared/dynamic-component.mjs +0 -2
  1184. package/esm2022/shared/fit-heading/fit-heading.directive.mjs +0 -107
  1185. package/esm2022/shared/fit-heading/index.mjs +0 -2
  1186. package/esm2022/shared/floating/floating.directive.mjs +0 -385
  1187. package/esm2022/shared/floating/kirbydesign-designsystem-shared-floating.mjs +0 -5
  1188. package/esm2022/shared/floating/public_api.mjs +0 -2
  1189. package/esm2022/shared/kirbydesign-designsystem-shared.mjs +0 -5
  1190. package/esm2022/shared/portal/kirbydesign-designsystem-shared-portal.mjs +0 -5
  1191. package/esm2022/shared/portal/portal.directive.mjs +0 -78
  1192. package/esm2022/shared/portal/public_api.mjs +0 -2
  1193. package/esm2022/shared/public_api.mjs +0 -10
  1194. package/esm2022/shared/resize-observer/resize-observer.factory.mjs +0 -18
  1195. package/esm2022/shared/resize-observer/resize-observer.service.mjs +0 -50
  1196. package/esm2022/shared/theme-color/theme-color.directive.mjs +0 -127
  1197. package/esm2022/shared/translation/translation.interface.mjs +0 -2
  1198. package/esm2022/shared/translation/translation.service.mjs +0 -37
  1199. package/esm2022/shared/translation/translations/da.mjs +0 -11
  1200. package/esm2022/shared/translation/translations/en.mjs +0 -11
  1201. package/esm2022/slide/kirbydesign-designsystem-slide.mjs +0 -5
  1202. package/esm2022/slide/public_api.mjs +0 -5
  1203. package/esm2022/slide/slide-stretch-height.directive.mjs +0 -19
  1204. package/esm2022/slide/slide.directive.mjs +0 -13
  1205. package/esm2022/slide/slide.module.mjs +0 -24
  1206. package/esm2022/slide/slides.component.mjs +0 -113
  1207. package/esm2022/slide-button/kirbydesign-designsystem-slide-button.mjs +0 -5
  1208. package/esm2022/slide-button/public_api.mjs +0 -2
  1209. package/esm2022/slide-button/slide-button.component.mjs +0 -138
  1210. package/esm2022/spinner/kirbydesign-designsystem-spinner.mjs +0 -5
  1211. package/esm2022/spinner/public_api.mjs +0 -3
  1212. package/esm2022/spinner/spinner.component.mjs +0 -11
  1213. package/esm2022/spinner/spinner.module.mjs +0 -19
  1214. package/esm2022/tab-navigation/kirbydesign-designsystem-tab-navigation.mjs +0 -5
  1215. package/esm2022/tab-navigation/public_api.mjs +0 -4
  1216. package/esm2022/tab-navigation/tab-navigation/tab-navigation.component.mjs +0 -136
  1217. package/esm2022/tab-navigation/tab-navigation-item/tab-navigation-item.component.mjs +0 -20
  1218. package/esm2022/tab-navigation/tab-navigation.module.mjs +0 -19
  1219. package/esm2022/tabs/kirbydesign-designsystem-tabs.mjs +0 -5
  1220. package/esm2022/tabs/public_api.mjs +0 -6
  1221. package/esm2022/tabs/tab-button/tab-button.component.mjs +0 -32
  1222. package/esm2022/tabs/tab-button/tab-button.events.mjs +0 -2
  1223. package/esm2022/tabs/tabs.component.mjs +0 -31
  1224. package/esm2022/tabs/tabs.module.mjs +0 -23
  1225. package/esm2022/tabs/tabs.service.mjs +0 -26
  1226. package/esm2022/testing/element-css-custom-matchers.mjs +0 -94
  1227. package/esm2022/testing/kirbydesign-designsystem-testing.mjs +0 -5
  1228. package/esm2022/testing/public_api.mjs +0 -3
  1229. package/esm2022/testing/test-helper.mjs +0 -155
  1230. package/esm2022/testing-base/kirbydesign-designsystem-testing-base.mjs +0 -5
  1231. package/esm2022/testing-base/lib/components/index.mjs +0 -65
  1232. package/esm2022/testing-base/lib/components/mock.accordion-item.component.mjs +0 -37
  1233. package/esm2022/testing-base/lib/components/mock.action-group.component.mjs +0 -35
  1234. package/esm2022/testing-base/lib/components/mock.action-sheet.component.mjs +0 -49
  1235. package/esm2022/testing-base/lib/components/mock.alert.component.mjs +0 -43
  1236. package/esm2022/testing-base/lib/components/mock.avatar.component.mjs +0 -45
  1237. package/esm2022/testing-base/lib/components/mock.badge.component.mjs +0 -33
  1238. package/esm2022/testing-base/lib/components/mock.base-chart.component.mjs +0 -43
  1239. package/esm2022/testing-base/lib/components/mock.button.component.mjs +0 -44
  1240. package/esm2022/testing-base/lib/components/mock.calendar.component.mjs +0 -76
  1241. package/esm2022/testing-base/lib/components/mock.card-footer.component.mjs +0 -31
  1242. package/esm2022/testing-base/lib/components/mock.card-header.component.mjs +0 -39
  1243. package/esm2022/testing-base/lib/components/mock.card.component.mjs +0 -41
  1244. package/esm2022/testing-base/lib/components/mock.chart.component.mjs +0 -34
  1245. package/esm2022/testing-base/lib/components/mock.checkbox.component.mjs +0 -46
  1246. package/esm2022/testing-base/lib/components/mock.divider.component.mjs +0 -31
  1247. package/esm2022/testing-base/lib/components/mock.dropdown.component.mjs +0 -60
  1248. package/esm2022/testing-base/lib/components/mock.empty-state.component.mjs +0 -35
  1249. package/esm2022/testing-base/lib/components/mock.fab-sheet.component.mjs +0 -33
  1250. package/esm2022/testing-base/lib/components/mock.flag.component.mjs +0 -33
  1251. package/esm2022/testing-base/lib/components/mock.form-field-message.component.mjs +0 -33
  1252. package/esm2022/testing-base/lib/components/mock.form-field.component.mjs +0 -36
  1253. package/esm2022/testing-base/lib/components/mock.header.component.mjs +0 -87
  1254. package/esm2022/testing-base/lib/components/mock.icon.component.mjs +0 -33
  1255. package/esm2022/testing-base/lib/components/mock.input-counter.component.mjs +0 -31
  1256. package/esm2022/testing-base/lib/components/mock.input.component.mjs +0 -48
  1257. package/esm2022/testing-base/lib/components/mock.item-group.component.mjs +0 -29
  1258. package/esm2022/testing-base/lib/components/mock.item-sliding.component.mjs +0 -33
  1259. package/esm2022/testing-base/lib/components/mock.item.component.mjs +0 -41
  1260. package/esm2022/testing-base/lib/components/mock.kirby-app.component.mjs +0 -29
  1261. package/esm2022/testing-base/lib/components/mock.label.component.mjs +0 -31
  1262. package/esm2022/testing-base/lib/components/mock.list-experimental.component.mjs +0 -29
  1263. package/esm2022/testing-base/lib/components/mock.list-header.component.mjs +0 -29
  1264. package/esm2022/testing-base/lib/components/mock.list-item.component.mjs +0 -51
  1265. package/esm2022/testing-base/lib/components/mock.list-section-header.component.mjs +0 -31
  1266. package/esm2022/testing-base/lib/components/mock.list.component.mjs +0 -65
  1267. package/esm2022/testing-base/lib/components/mock.loading-overlay.component.mjs +0 -35
  1268. package/esm2022/testing-base/lib/components/mock.menu.component.mjs +0 -54
  1269. package/esm2022/testing-base/lib/components/mock.modal-compact-wrapper.component.mjs +0 -31
  1270. package/esm2022/testing-base/lib/components/mock.modal-footer.component.mjs +0 -33
  1271. package/esm2022/testing-base/lib/components/mock.modal-wrapper.component.mjs +0 -37
  1272. package/esm2022/testing-base/lib/components/mock.page-footer.component.mjs +0 -31
  1273. package/esm2022/testing-base/lib/components/mock.page.component.mjs +0 -289
  1274. package/esm2022/testing-base/lib/components/mock.popover.component.mjs +0 -38
  1275. package/esm2022/testing-base/lib/components/mock.progress-circle-ring.component.mjs +0 -39
  1276. package/esm2022/testing-base/lib/components/mock.progress-circle.component.mjs +0 -35
  1277. package/esm2022/testing-base/lib/components/mock.radio-group.component.mjs +0 -48
  1278. package/esm2022/testing-base/lib/components/mock.radio.component.mjs +0 -37
  1279. package/esm2022/testing-base/lib/components/mock.range.component.mjs +0 -66
  1280. package/esm2022/testing-base/lib/components/mock.reorder-list.component.mjs +0 -43
  1281. package/esm2022/testing-base/lib/components/mock.router-outlet.component.mjs +0 -31
  1282. package/esm2022/testing-base/lib/components/mock.section-header.component.mjs +0 -29
  1283. package/esm2022/testing-base/lib/components/mock.segmented-control.component.mjs +0 -49
  1284. package/esm2022/testing-base/lib/components/mock.slide-button.component.mjs +0 -41
  1285. package/esm2022/testing-base/lib/components/mock.slides.component.mjs +0 -41
  1286. package/esm2022/testing-base/lib/components/mock.spinner.component.mjs +0 -29
  1287. package/esm2022/testing-base/lib/components/mock.stock-chart.component.mjs +0 -34
  1288. package/esm2022/testing-base/lib/components/mock.tab-button.component.mjs +0 -36
  1289. package/esm2022/testing-base/lib/components/mock.tab-navigation-item.component.mjs +0 -31
  1290. package/esm2022/testing-base/lib/components/mock.tab-navigation.component.mjs +0 -34
  1291. package/esm2022/testing-base/lib/components/mock.tabs.component.mjs +0 -29
  1292. package/esm2022/testing-base/lib/components/mock.textarea.component.mjs +0 -42
  1293. package/esm2022/testing-base/lib/components/mock.toggle-button.component.mjs +0 -36
  1294. package/esm2022/testing-base/lib/components/mock.toggle.component.mjs +0 -38
  1295. package/esm2022/testing-base/lib/directives/index.mjs +0 -18
  1296. package/esm2022/testing-base/lib/directives/mock.accordion.directive.mjs +0 -27
  1297. package/esm2022/testing-base/lib/directives/mock.affix.directive.mjs +0 -30
  1298. package/esm2022/testing-base/lib/directives/mock.card-as-button.directive.mjs +0 -27
  1299. package/esm2022/testing-base/lib/directives/mock.component-loader.directive.mjs +0 -31
  1300. package/esm2022/testing-base/lib/directives/mock.date-input.directive.mjs +0 -27
  1301. package/esm2022/testing-base/lib/directives/mock.decimal-mask.directive.mjs +0 -41
  1302. package/esm2022/testing-base/lib/directives/mock.fit-heading.directive.mjs +0 -30
  1303. package/esm2022/testing-base/lib/directives/mock.floating.directive.mjs +0 -69
  1304. package/esm2022/testing-base/lib/directives/mock.infinite-scroll.directive.mjs +0 -33
  1305. package/esm2022/testing-base/lib/directives/mock.key-handler.directive.mjs +0 -27
  1306. package/esm2022/testing-base/lib/directives/mock.list-item-color.directive.mjs +0 -30
  1307. package/esm2022/testing-base/lib/directives/mock.list.directive.mjs +0 -89
  1308. package/esm2022/testing-base/lib/directives/mock.modal-router-link.directive.mjs +0 -33
  1309. package/esm2022/testing-base/lib/directives/mock.portal.directive.mjs +0 -28
  1310. package/esm2022/testing-base/lib/directives/mock.slide.directive.mjs +0 -26
  1311. package/esm2022/testing-base/lib/directives/mock.theme-color.directive.mjs +0 -34
  1312. package/esm2022/testing-base/lib/index.mjs +0 -4
  1313. package/esm2022/testing-base/lib/kirby-testing-base.module.mjs +0 -96
  1314. package/esm2022/testing-base/lib/mock-components.mjs +0 -142
  1315. package/esm2022/testing-base/lib/mock-directives.mjs +0 -39
  1316. package/esm2022/testing-base/public_api.mjs +0 -2
  1317. package/esm2022/testing-jasmine/kirbydesign-designsystem-testing-jasmine.mjs +0 -5
  1318. package/esm2022/testing-jasmine/lib/kirby-testing.module.mjs +0 -20
  1319. package/esm2022/testing-jasmine/lib/mock-providers.mjs +0 -86
  1320. package/esm2022/testing-jasmine/public_api.mjs +0 -2
  1321. package/esm2022/testing-jest/kirbydesign-designsystem-testing-jest.mjs +0 -5
  1322. package/esm2022/testing-jest/lib/kirby-testing.module.mjs +0 -20
  1323. package/esm2022/testing-jest/lib/mock-providers.mjs +0 -92
  1324. package/esm2022/testing-jest/public_api.mjs +0 -2
  1325. package/esm2022/toast/config/toast-config.mjs +0 -2
  1326. package/esm2022/toast/kirbydesign-designsystem-toast.mjs +0 -5
  1327. package/esm2022/toast/public_api.mjs +0 -4
  1328. package/esm2022/toast/services/indexs.mjs +0 -3
  1329. package/esm2022/toast/services/toast.controller.mjs +0 -22
  1330. package/esm2022/toast/services/toast.helper.mjs +0 -39
  1331. package/esm2022/toggle/kirbydesign-designsystem-toggle.mjs +0 -5
  1332. package/esm2022/toggle/public_api.mjs +0 -2
  1333. package/esm2022/toggle/toggle.component.mjs +0 -114
  1334. package/esm2022/toggle-button/kirbydesign-designsystem-toggle-button.mjs +0 -5
  1335. package/esm2022/toggle-button/public_api.mjs +0 -3
  1336. package/esm2022/toggle-button/toggle-button.component.mjs +0 -30
  1337. package/esm2022/toggle-button/toggle-button.module.mjs +0 -19
  1338. package/esm2022/types/event-listener-dispose-fn.mjs +0 -2
  1339. package/esm2022/types/kirbydesign-designsystem-types.mjs +0 -5
  1340. package/esm2022/types/public_api.mjs +0 -4
  1341. package/esm2022/types/unobserve-fn.mjs +0 -2
  1342. package/esm2022/types/window-ref.mjs +0 -16
  1343. package/ngcc.config.js +0 -3
@@ -1,514 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, Inject, Input, LOCALE_ID, Output, } from '@angular/core';
3
- import { add, eachDayOfInterval, endOfWeek, format, getYear, isAfter, isBefore, isSameDay, isSameMonth, isWeekend, lastDayOfWeek, startOfDay, startOfMonth, startOfWeek, } from 'date-fns';
4
- import { fromZonedTime, toZonedTime } from 'date-fns-tz';
5
- import { da, enGB, enUS } from 'date-fns/locale';
6
- import { capitalizeFirstLetter } from '@kirbydesign/core';
7
- import { ButtonComponent } from '@kirbydesign/designsystem/button';
8
- import { DropdownModule } from '@kirbydesign/designsystem/dropdown';
9
- import { UniqueIdGenerator } from '@kirbydesign/designsystem/helpers';
10
- import { IconModule } from '@kirbydesign/designsystem/icon';
11
- import { TranslationService } from '@kirbydesign/designsystem/shared';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@kirbydesign/designsystem/shared";
14
- import * as i2 from "@kirbydesign/designsystem/dropdown";
15
- import * as i3 from "@kirbydesign/designsystem/icon";
16
- import * as i4 from "@angular/common";
17
- var TimeUnit;
18
- (function (TimeUnit) {
19
- TimeUnit["years"] = "years";
20
- TimeUnit["months"] = "months";
21
- TimeUnit["weeks"] = "weeks";
22
- TimeUnit["days"] = "days";
23
- TimeUnit["hours"] = "hours";
24
- TimeUnit["minutes"] = "minutes";
25
- TimeUnit["seconds"] = "seconds";
26
- TimeUnit["milliseconds"] = "milliseconds";
27
- })(TimeUnit || (TimeUnit = {}));
28
- export class CalendarComponent {
29
- set locales(locales) {
30
- console.warn(`Supplying additional locales to the Kirby Calendar Component via an input property is deprecated and should not be used.
31
- A future update will allow injecting additional locales via a provider instead.`);
32
- }
33
- get selectedDate() {
34
- return this._selectedDate;
35
- }
36
- set selectedDate(valueLocalOrUTC) {
37
- const value = this.normalizeDate(valueLocalOrUTC);
38
- if (valueLocalOrUTC) {
39
- this.setActiveMonth(value);
40
- }
41
- if (this.hasDateChanged(value, this._selectedDate)) {
42
- this.onSelectedDateChange(value);
43
- this.focusDate(value);
44
- this._selectedDate = value;
45
- }
46
- }
47
- get disabledDates() {
48
- return this._disabledDates;
49
- }
50
- set disabledDates(value) {
51
- this._disabledDates = (value || []).map((date) => this.normalizeDate(date));
52
- }
53
- get enabledDates() {
54
- return this._enabledDates;
55
- }
56
- set enabledDates(value) {
57
- this._enabledDates = (value || []).map((date) => this.normalizeDate(date));
58
- }
59
- get todayDate() {
60
- return this._todayDate;
61
- }
62
- set todayDate(value) {
63
- this._todayDate = this.normalizeDate(value);
64
- }
65
- get minDate() {
66
- return this._minDate;
67
- }
68
- set minDate(value) {
69
- if (value && this.activeMonth && isBefore(this.activeMonth, value)) {
70
- this.setActiveMonth(value);
71
- }
72
- this._minDate = this.normalizeDate(value);
73
- }
74
- get maxDate() {
75
- return this._maxDate;
76
- }
77
- set maxDate(value) {
78
- if (value && this.activeMonth && isAfter(this.activeMonth, value)) {
79
- this.setActiveMonth(value);
80
- }
81
- this._maxDate = this.normalizeDate(value);
82
- }
83
- get activeMonthName() {
84
- return capitalizeFirstLetter(this.formatWithLocale(this.activeMonth, 'MMMM'));
85
- }
86
- get activeYear() {
87
- return this.formatWithLocale(this.activeMonth, 'yyyy');
88
- }
89
- /**
90
- * Gets navigable years for year navigator based on yearNavigatorOptions.
91
- */
92
- get navigableYears() {
93
- const dateOfFirstNavigableYear = this.minDate || this.getDateFromNavigableYear(this.yearNavigatorOptions.from);
94
- const dateOfLastNavigableYear = this.maxDate || this.getDateFromNavigableYear(this.yearNavigatorOptions.to);
95
- return this.getYearsBetweenDates(dateOfFirstNavigableYear, dateOfLastNavigableYear);
96
- }
97
- get navigatedYear() {
98
- return this.navigableYears.indexOf(this.activeYear);
99
- }
100
- get _hasYearNavigator() {
101
- return !!this.yearNavigatorOptions;
102
- }
103
- getTodayDate() {
104
- return startOfDay(this.todayDate ?? new Date());
105
- }
106
- constructor(locale, elementRef, cdr, translations) {
107
- this.elementRef = elementRef;
108
- this.cdr = cdr;
109
- this.translations = translations;
110
- this.dateChange = new EventEmitter();
111
- this.dateSelect = new EventEmitter();
112
- this.yearSelect = new EventEmitter();
113
- this.previousMonthClicked = new EventEmitter();
114
- this.nextMonthClicked = new EventEmitter();
115
- this.timezone = 'local';
116
- this.disableWeekends = false;
117
- this.disablePastDates = false;
118
- this.disableFutureDates = false;
119
- this.alwaysEnableToday = false;
120
- this.customLocales = {};
121
- /*
122
- Experimental: Input property not documented on purpose.
123
- For context see: https://github.com/kirbydesign/designsystem/issues/2087
124
- */
125
- this.usePopover = false;
126
- this._tableMonthId = UniqueIdGenerator.scopedTo('kirby-calendar-month').next();
127
- this._disabledDates = [];
128
- this._enabledDates = [];
129
- this.includedLocales = { da, enGB, enUS };
130
- this.locale = this.mapLocale(locale);
131
- this.timeZoneName = Intl.DateTimeFormat().resolvedOptions().timeZone;
132
- }
133
- formatWithLocale(date, formatString) {
134
- return format(date, formatString, {
135
- locale: this.locale,
136
- });
137
- }
138
- mapLocale(locale) {
139
- if (locale === 'en') {
140
- locale = 'enGB'; // if english locale is provided without region, we default to GB
141
- }
142
- locale = locale.replace('-', '');
143
- const availableLocales = { ...this.includedLocales, ...this.locales, ...this.customLocales };
144
- return availableLocales[locale] || this.includedLocales.enGB; // Default to enGB if injected locale doesnt exist
145
- }
146
- formatDateLabel() {
147
- const localeDateFormats = {
148
- da: 'd. MMMM',
149
- 'en-GB': 'd MMMM',
150
- 'en-US': 'MMMM d',
151
- };
152
- const defaultDateFormat = localeDateFormats['en-US'];
153
- const dateFormat = localeDateFormats[this.locale.code] || defaultDateFormat;
154
- return dateFormat;
155
- }
156
- ngOnInit() {
157
- this.focussedDate = this.getTodayDate();
158
- this._weekDays = this.getWeekDays();
159
- this.setActiveMonth(this.selectedDate);
160
- }
161
- ngOnChanges(changes) {
162
- if (!this.activeMonth)
163
- return;
164
- if (changes.disableWeekends ||
165
- changes.disablePastDates ||
166
- changes.disableFutureDates ||
167
- changes.disabledDates ||
168
- changes.enabledDates ||
169
- changes.minDate ||
170
- changes.maxDate ||
171
- changes.todayDate ||
172
- changes.timezone) {
173
- this.refreshActiveMonth();
174
- }
175
- }
176
- setActiveMonth(date = new Date()) {
177
- if (!this.activeMonth || !isSameMonth(this.activeMonth, date)) {
178
- this.activeMonth = startOfMonth(date);
179
- this.refreshActiveMonth();
180
- }
181
- }
182
- // For leniency, the component will accept any Date that points to either UTC midnight
183
- // or to local timezone midnight although we will internally normalize the representation
184
- // of all received dates to point to local timezone midnight.
185
- // We currently log no warnings if the date doesn't match the timezone setting or
186
- // if it doesn't point to midnight.
187
- normalizeDate(dateLocalOrUTC) {
188
- if (!dateLocalOrUTC)
189
- return;
190
- if (startOfDay(dateLocalOrUTC).getTime() === dateLocalOrUTC.getTime()) {
191
- // date is local timezone midnight
192
- return dateLocalOrUTC;
193
- }
194
- if (startOfDay(toZonedTime(dateLocalOrUTC, this.timeZoneName)).getTime() ===
195
- toZonedTime(dateLocalOrUTC, this.timeZoneName).getTime()) {
196
- // the date is a UTC midnight; create the equivalent local timezone midnight date
197
- const normalizedUTCdate = toZonedTime(dateLocalOrUTC, this.timeZoneName);
198
- return normalizedUTCdate;
199
- }
200
- // does not point to midnight so we make it
201
- return startOfDay(dateLocalOrUTC);
202
- }
203
- getWeekDays() {
204
- const now = new Date();
205
- const week = eachDayOfInterval({
206
- start: startOfWeek(now, { locale: this.locale }),
207
- end: endOfWeek(now, { locale: this.locale }),
208
- });
209
- const weekdayNarrowFormat = 'EEEEE';
210
- const weekdayWideFormat = 'EEEE';
211
- return week.map((date) => ({
212
- firstLetterCapitalized: this.formatWithLocale(date, weekdayNarrowFormat),
213
- fullName: this.formatWithLocale(date, weekdayWideFormat),
214
- }));
215
- }
216
- hasDateChanged(newDate, previousDate) {
217
- if (!newDate && !previousDate) {
218
- return false;
219
- }
220
- if (newDate instanceof Date && !previousDate) {
221
- return true;
222
- }
223
- return !isSameDay(newDate, previousDate);
224
- }
225
- isDisabledDate(date) {
226
- return this.disabledDates.some((disabledDate) => isSameDay(disabledDate, date));
227
- }
228
- isEnabledDate(date) {
229
- return (this._enabledDates.length === 0 ||
230
- this.enabledDates.some((enabledDate) => isSameDay(enabledDate, date)));
231
- }
232
- refreshActiveMonth() {
233
- if (!this.activeMonth)
234
- return;
235
- const monthStart = startOfMonth(this.activeMonth);
236
- const startOfFirstWeek = startOfWeek(monthStart, { locale: this.locale });
237
- const totalNumberOfDays = 42; // Always show 42 days (6 weeks) in calendar
238
- const daysArray = Array.from(Array(totalNumberOfDays).keys());
239
- const today = this.getTodayDate();
240
- const calendarDays = daysArray.map((number) => {
241
- const dateOfCalendarDay = add(startOfFirstWeek, { [TimeUnit.days]: number });
242
- const calendarDay = {
243
- date: dateOfCalendarDay.getDate(),
244
- monthIndex: dateOfCalendarDay.getMonth(),
245
- year: dateOfCalendarDay.getFullYear(),
246
- ariaLabel: this.formatWithLocale(dateOfCalendarDay, this.formatDateLabel()),
247
- ...this.getCalendarDayMetadata(dateOfCalendarDay, today, monthStart),
248
- };
249
- if (calendarDay.isSelected) {
250
- this.selectedDay = calendarDay;
251
- }
252
- if (calendarDay.isFocussed) {
253
- this.focussedDay = calendarDay;
254
- }
255
- return calendarDay;
256
- });
257
- this._month = this.chunk(calendarDays, 7);
258
- }
259
- getCalendarDayMetadata(date, today, monthStart) {
260
- return {
261
- isToday: isSameDay(today, date),
262
- isPast: isBefore(date, today),
263
- isFuture: isAfter(date, today),
264
- isWeekend: isWeekend(date),
265
- isCurrentMonth: isSameMonth(date, monthStart),
266
- isSelectable: this.isSelectable(date, today),
267
- isFocusable: this.isWithinAllowedRange(date, today),
268
- isSelected: isSameDay(this.selectedDate, date),
269
- isFocussed: isSameDay(this.focussedDate, date),
270
- };
271
- }
272
- isSelectable(date, today) {
273
- if (this.alwaysEnableToday && isSameDay(today, date))
274
- return true;
275
- if (!this.isWithinAllowedRange(date, today))
276
- return false;
277
- if (this.isDisabledDate(date))
278
- return false;
279
- if (!this.isEnabledDate(date))
280
- return false;
281
- if (this.disableWeekends && isWeekend(date))
282
- return false;
283
- return true;
284
- }
285
- isWithinAllowedRange(date, today) {
286
- if (this.disablePastDates && isBefore(date, today))
287
- return false;
288
- if (this.disableFutureDates && isAfter(date, today))
289
- return false;
290
- if (this.minDate && isBefore(date, this.minDate))
291
- return false;
292
- if (this.maxDate && isAfter(date, this.maxDate))
293
- return false;
294
- return true;
295
- }
296
- chunk(array, size) {
297
- const results = [];
298
- while (array.length) {
299
- results.push(array.splice(0, size));
300
- }
301
- return results;
302
- }
303
- onSelectedDateChange(newDate) {
304
- if (this.selectedDay) {
305
- this.selectedDay.isSelected = false;
306
- }
307
- const newDay = this.getDay(newDate);
308
- if (newDay) {
309
- newDay.isSelected = true;
310
- this.selectedDay = newDay;
311
- }
312
- }
313
- _onDateSelected(newDay) {
314
- if (!newDay.isSelectable)
315
- return;
316
- let newDate = new Date(newDay.year, newDay.monthIndex, newDay.date);
317
- if (this.timezone === 'UTC') {
318
- newDate = fromZonedTime(this.subtractTimezoneOffset(newDate), this.timeZoneName);
319
- }
320
- const dateToEmit = newDate;
321
- if (this.hasDateChanged(newDate, this._selectedDate)) {
322
- this.setActiveMonth(newDate);
323
- this.onSelectedDateChange(newDate);
324
- this.selectedDate = newDate;
325
- this.dateChange.emit(dateToEmit);
326
- }
327
- this.dateSelect.emit(dateToEmit);
328
- }
329
- _changeMonth(index) {
330
- if (index > 0 && !this._canNavigateForward)
331
- return;
332
- if (index < 0 && !this._canNavigateBack)
333
- return;
334
- this.changeActiveView(index, TimeUnit.months);
335
- index > 0
336
- ? this.nextMonthClicked.emit(this.activeMonth)
337
- : this.previousMonthClicked.emit(this.activeMonth);
338
- }
339
- _changeYear(year) {
340
- const yearNumeric = Number(year);
341
- this.changeActiveView(yearNumeric - getYear(this.activeMonth), TimeUnit.years);
342
- this.yearSelect.emit(yearNumeric);
343
- }
344
- changeActiveView(index, unit) {
345
- if (index === 0)
346
- return;
347
- this.activeMonth = add(this.activeMonth, { [unit]: index });
348
- this.focussedDate = add(this.focussedDate, { [unit]: index });
349
- this.refreshActiveMonth();
350
- }
351
- get _canNavigateBack() {
352
- const today = this.getTodayDate();
353
- const reachedPastDatesLimit = this.disablePastDates && isSameMonth(this.activeMonth, today);
354
- const reachedOrExceededMinDate = this.minDate &&
355
- (isSameMonth(this.activeMonth, this.minDate) || isBefore(this.activeMonth, this.minDate));
356
- return !reachedPastDatesLimit && !reachedOrExceededMinDate;
357
- }
358
- get _canNavigateForward() {
359
- const today = this.getTodayDate();
360
- const reachedFutureDatesLimit = this.disableFutureDates && isSameMonth(this.activeMonth, today);
361
- const reachedOrExceededMaxDate = this.maxDate &&
362
- (isSameMonth(this.activeMonth, this.maxDate) || isAfter(this.activeMonth, this.maxDate));
363
- return !reachedFutureDatesLimit && !reachedOrExceededMaxDate;
364
- }
365
- getDay(date) {
366
- let foundDay = null;
367
- if (date) {
368
- for (const week of this._month) {
369
- foundDay = week.find((day) => {
370
- return day.isCurrentMonth && day.date === date.getDate();
371
- });
372
- if (foundDay) {
373
- break;
374
- }
375
- }
376
- }
377
- return foundDay;
378
- }
379
- subtractTimezoneOffset(date) {
380
- const timezoneOffsetInMs = date.getTimezoneOffset() * 60 * 1000;
381
- return new Date(date.getTime() - timezoneOffsetInMs);
382
- }
383
- getDateFromNavigableYear(navigableYear) {
384
- if (navigableYear instanceof Date)
385
- return navigableYear;
386
- const today = this.todayDate || new Date();
387
- return new Date(today.getFullYear() + navigableYear, 0, 1);
388
- }
389
- getYearsBetweenDates(startDate, endDate) {
390
- // Ensure years are ordered correctly if parameters are switched:
391
- const [startYear, endYear] = [startDate.getFullYear(), endDate.getFullYear()].sort();
392
- const numberOfYears = endYear - startYear;
393
- return Array.from({ length: numberOfYears + 1 }, (_, i) => (startYear + i).toString());
394
- }
395
- setFocussedDay(newDate) {
396
- const newDay = this.getDay(newDate);
397
- if (!newDay)
398
- return;
399
- if (this.focussedDay) {
400
- this.focussedDay.isFocussed = false;
401
- }
402
- newDay.isFocussed = true;
403
- this.focussedDay = newDay;
404
- }
405
- focusDate(newDate) {
406
- if (!newDate)
407
- return;
408
- if (this.timezone === 'UTC') {
409
- newDate = fromZonedTime(this.subtractTimezoneOffset(newDate), this.timeZoneName);
410
- }
411
- const today = this.getTodayDate();
412
- if (!this.isWithinAllowedRange(newDate, today))
413
- return;
414
- if (!this.hasDateChanged(newDate, this.focussedDate))
415
- return;
416
- this.setActiveMonth(newDate);
417
- this.setFocussedDay(newDate);
418
- this.focussedDate = newDate;
419
- this.cdr.detectChanges(); //sync focussed class to template before setting focus
420
- const elementMarkedForFocus = this.elementRef.nativeElement.querySelector('.focussed');
421
- elementMarkedForFocus.focus();
422
- }
423
- _onDateKeydown(event) {
424
- const { key, shiftKey } = event;
425
- let newDate;
426
- switch (key) {
427
- case 'ArrowUp':
428
- newDate = add(this.focussedDate, { days: -7 });
429
- break;
430
- case 'ArrowDown':
431
- newDate = add(this.focussedDate, { days: 7 });
432
- break;
433
- case 'ArrowRight':
434
- newDate = add(this.focussedDate, { days: 1 });
435
- break;
436
- case 'ArrowLeft':
437
- newDate = add(this.focussedDate, { days: -1 });
438
- break;
439
- case 'Home':
440
- newDate = startOfWeek(this.focussedDate, { locale: this.locale });
441
- break;
442
- case 'End':
443
- newDate = lastDayOfWeek(this.focussedDate, { locale: this.locale });
444
- break;
445
- case 'PageUp':
446
- newDate = shiftKey
447
- ? add(this.focussedDate, { years: -1 })
448
- : add(this.focussedDate, { months: -1 });
449
- break;
450
- case 'PageDown':
451
- newDate = shiftKey
452
- ? add(this.focussedDate, { years: 1 })
453
- : add(this.focussedDate, { months: 1 });
454
- break;
455
- default:
456
- return;
457
- }
458
- event.preventDefault();
459
- this.focusDate(newDate);
460
- }
461
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarComponent, deps: [{ token: LOCALE_ID }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
462
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CalendarComponent, isStandalone: true, selector: "kirby-calendar", inputs: { timezone: "timezone", disableWeekends: "disableWeekends", disablePastDates: "disablePastDates", disableFutureDates: "disableFutureDates", alwaysEnableToday: "alwaysEnableToday", locales: "locales", customLocales: "customLocales", usePopover: "usePopover", yearNavigatorOptions: "yearNavigatorOptions", selectedDate: "selectedDate", disabledDates: "disabledDates", enabledDates: "enabledDates", todayDate: "todayDate", minDate: "minDate", maxDate: "maxDate" }, outputs: { dateChange: "dateChange", dateSelect: "dateSelect", yearSelect: "yearSelect", previousMonthClicked: "previousMonthClicked", nextMonthClicked: "nextMonthClicked" }, host: { properties: { "class.has-year-navigator": "this._hasYearNavigator" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"header\">\n <div class=\"month-navigator\">\n <button\n kirby-button\n type=\"button\"\n class=\"no-margin\"\n [attr.aria-label]=\"translations.get('previousMonth')\"\n [attr.aria-disabled]=\"_canNavigateBack ? null : true\"\n [noDecoration]=\"true\"\n (click)=\"_changeMonth(-1)\"\n >\n <kirby-icon name=\"arrow-back\" aria-hidden=\"true\"></kirby-icon>\n </button>\n\n <div class=\"month-and-year\" [id]=\"_tableMonthId\" aria-live=\"polite\" aria-atomic=\"true\">\n <span class=\"month\">{{ activeMonthName }}</span>\n <span *ngIf=\"!_hasYearNavigator\" class=\"year\">{{ activeYear }}</span>\n </div>\n\n <button\n kirby-button\n type=\"button\"\n class=\"no-margin\"\n [attr.aria-label]=\"translations.get('nextMonth')\"\n [attr.aria-disabled]=\"_canNavigateForward ? null : true\"\n [noDecoration]=\"true\"\n (click)=\"_changeMonth(1)\"\n >\n <kirby-icon name=\"arrow-more\" aria-hidden=\"true\"></kirby-icon>\n </button>\n </div>\n <kirby-dropdown\n *ngIf=\"_hasYearNavigator\"\n [usePopover]=\"usePopover\"\n [selectedIndex]=\"navigatedYear\"\n [items]=\"navigableYears\"\n [attr.aria-label]=\"translations.get('selectYear')\"\n popout=\"left\"\n (change)=\"_changeYear($event)\"\n ></kirby-dropdown>\n</div>\n\n<table [attr.aria-labelledby]=\"_tableMonthId\" role=\"grid\">\n <thead>\n <tr>\n <th *ngFor=\"let weekDay of _weekDays\" scope=\"col\">\n <span aria-hidden=\"true\">{{ weekDay.firstLetterCapitalized }}</span>\n <span class=\"visually-hidden\">{{ weekDay.fullName }}</span>\n </th>\n </tr>\n </thead>\n\n <tbody>\n <tr *ngFor=\"let week of _month\">\n <td *ngFor=\"let day of week\" [attr.aria-selected]=\"day.isSelected ? true : false\">\n <button\n kirby-button\n type=\"button\"\n (click)=\"_onDateSelected(day)\"\n (keydown)=\"_onDateKeydown($event)\"\n class=\"day\"\n [class.current-month]=\"day.isCurrentMonth\"\n [class.weekend]=\"day.isWeekend\"\n [class.today]=\"day.isToday\"\n [class.selectable]=\"day.isSelectable\"\n [class.selected]=\"day.isSelected\"\n [class.focussed]=\"day.isFocussed\"\n [class.past]=\"day.isPast\"\n [attr.aria-label]=\"day.ariaLabel\"\n [attr.aria-disabled]=\"day.isSelectable ? null : true\"\n [noDecoration]=\"true\"\n [disabled]=\"day.isFocusable ? null : true\"\n [tabIndex]=\"day.isFocussed ? 0 : -1\"\n >\n {{ day.date }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host{font-size:16px}table{width:100%;border-collapse:collapse;-webkit-user-select:none;user-select:none;margin-bottom:8px}th,td{text-align:center;padding:0}th:first-child,td:first-child{padding-left:8px}th:last-child,td:last-child{padding-right:8px}th{height:50px;border-bottom:1px solid var(--kirby-background-color)}.header,th,td{background-color:transparent}.header{display:flex;justify-content:space-between;margin:8px 8px 0}.month-navigator{display:flex;flex-grow:1;align-items:center;justify-content:space-between}.month-and-year{-webkit-user-select:none;user-select:none;font-weight:700}.month-and-year .month{margin-right:8px}:host(.has-year-navigator) .month-navigator{flex-grow:0}:host(.has-year-navigator) .month-and-year{width:80px;margin:0 8px;text-align:center}:host(.has-year-navigator) .month{margin-right:0}.day{display:inline-flex;align-items:center;justify-content:center;border-radius:20px;min-width:40px;min-height:40px;width:40px;height:40px;margin:4px 0;font-size:16px}.day:focus{z-index:1}button[aria-disabled=true]{color:#b4b4b4}.day.selectable:not(.current-month,.selected){color:var(--kirby-text-color-semi-dark)}.day.today{color:var(--kirby-medium-contrast);background-color:var(--kirby-medium)}.day.selected{color:var(--kirby-black-contrast);background-color:var(--kirby-black)}.visually-hidden{position:absolute;scale:0}\n"], dependencies: [{ kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i2.DropdownComponent, selector: "kirby-dropdown", inputs: ["items", "selectedIndex", "focusedIndex", "itemTextProperty", "placeholder", "popout", "attentionLevel", "expand", "disabled", "hasError", "size", "tabindex", "usePopover"], outputs: ["change"] }, { kind: "component", type: ButtonComponent, selector: "button[kirby-button],Button[kirby-button],a[kirby-button]", inputs: ["attentionLevel", "noDecoration", "themeColor", "expand", "isFloating", "size", "showIconOnly"] }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: i3.IconComponent, selector: "kirby-icon", inputs: ["size", "name"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
463
- }
464
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarComponent, decorators: [{
465
- type: Component,
466
- args: [{ standalone: true, imports: [DropdownModule, ButtonComponent, IconModule, CommonModule], selector: 'kirby-calendar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"header\">\n <div class=\"month-navigator\">\n <button\n kirby-button\n type=\"button\"\n class=\"no-margin\"\n [attr.aria-label]=\"translations.get('previousMonth')\"\n [attr.aria-disabled]=\"_canNavigateBack ? null : true\"\n [noDecoration]=\"true\"\n (click)=\"_changeMonth(-1)\"\n >\n <kirby-icon name=\"arrow-back\" aria-hidden=\"true\"></kirby-icon>\n </button>\n\n <div class=\"month-and-year\" [id]=\"_tableMonthId\" aria-live=\"polite\" aria-atomic=\"true\">\n <span class=\"month\">{{ activeMonthName }}</span>\n <span *ngIf=\"!_hasYearNavigator\" class=\"year\">{{ activeYear }}</span>\n </div>\n\n <button\n kirby-button\n type=\"button\"\n class=\"no-margin\"\n [attr.aria-label]=\"translations.get('nextMonth')\"\n [attr.aria-disabled]=\"_canNavigateForward ? null : true\"\n [noDecoration]=\"true\"\n (click)=\"_changeMonth(1)\"\n >\n <kirby-icon name=\"arrow-more\" aria-hidden=\"true\"></kirby-icon>\n </button>\n </div>\n <kirby-dropdown\n *ngIf=\"_hasYearNavigator\"\n [usePopover]=\"usePopover\"\n [selectedIndex]=\"navigatedYear\"\n [items]=\"navigableYears\"\n [attr.aria-label]=\"translations.get('selectYear')\"\n popout=\"left\"\n (change)=\"_changeYear($event)\"\n ></kirby-dropdown>\n</div>\n\n<table [attr.aria-labelledby]=\"_tableMonthId\" role=\"grid\">\n <thead>\n <tr>\n <th *ngFor=\"let weekDay of _weekDays\" scope=\"col\">\n <span aria-hidden=\"true\">{{ weekDay.firstLetterCapitalized }}</span>\n <span class=\"visually-hidden\">{{ weekDay.fullName }}</span>\n </th>\n </tr>\n </thead>\n\n <tbody>\n <tr *ngFor=\"let week of _month\">\n <td *ngFor=\"let day of week\" [attr.aria-selected]=\"day.isSelected ? true : false\">\n <button\n kirby-button\n type=\"button\"\n (click)=\"_onDateSelected(day)\"\n (keydown)=\"_onDateKeydown($event)\"\n class=\"day\"\n [class.current-month]=\"day.isCurrentMonth\"\n [class.weekend]=\"day.isWeekend\"\n [class.today]=\"day.isToday\"\n [class.selectable]=\"day.isSelectable\"\n [class.selected]=\"day.isSelected\"\n [class.focussed]=\"day.isFocussed\"\n [class.past]=\"day.isPast\"\n [attr.aria-label]=\"day.ariaLabel\"\n [attr.aria-disabled]=\"day.isSelectable ? null : true\"\n [noDecoration]=\"true\"\n [disabled]=\"day.isFocusable ? null : true\"\n [tabIndex]=\"day.isFocussed ? 0 : -1\"\n >\n {{ day.date }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host{font-size:16px}table{width:100%;border-collapse:collapse;-webkit-user-select:none;user-select:none;margin-bottom:8px}th,td{text-align:center;padding:0}th:first-child,td:first-child{padding-left:8px}th:last-child,td:last-child{padding-right:8px}th{height:50px;border-bottom:1px solid var(--kirby-background-color)}.header,th,td{background-color:transparent}.header{display:flex;justify-content:space-between;margin:8px 8px 0}.month-navigator{display:flex;flex-grow:1;align-items:center;justify-content:space-between}.month-and-year{-webkit-user-select:none;user-select:none;font-weight:700}.month-and-year .month{margin-right:8px}:host(.has-year-navigator) .month-navigator{flex-grow:0}:host(.has-year-navigator) .month-and-year{width:80px;margin:0 8px;text-align:center}:host(.has-year-navigator) .month{margin-right:0}.day{display:inline-flex;align-items:center;justify-content:center;border-radius:20px;min-width:40px;min-height:40px;width:40px;height:40px;margin:4px 0;font-size:16px}.day:focus{z-index:1}button[aria-disabled=true]{color:#b4b4b4}.day.selectable:not(.current-month,.selected){color:var(--kirby-text-color-semi-dark)}.day.today{color:var(--kirby-medium-contrast);background-color:var(--kirby-medium)}.day.selected{color:var(--kirby-black-contrast);background-color:var(--kirby-black)}.visually-hidden{position:absolute;scale:0}\n"] }]
467
- }], ctorParameters: () => [{ type: undefined, decorators: [{
468
- type: Inject,
469
- args: [LOCALE_ID]
470
- }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.TranslationService }], propDecorators: { dateChange: [{
471
- type: Output
472
- }], dateSelect: [{
473
- type: Output
474
- }], yearSelect: [{
475
- type: Output
476
- }], previousMonthClicked: [{
477
- type: Output
478
- }], nextMonthClicked: [{
479
- type: Output
480
- }], timezone: [{
481
- type: Input
482
- }], disableWeekends: [{
483
- type: Input
484
- }], disablePastDates: [{
485
- type: Input
486
- }], disableFutureDates: [{
487
- type: Input
488
- }], alwaysEnableToday: [{
489
- type: Input
490
- }], locales: [{
491
- type: Input
492
- }], customLocales: [{
493
- type: Input
494
- }], usePopover: [{
495
- type: Input
496
- }], yearNavigatorOptions: [{
497
- type: Input
498
- }], selectedDate: [{
499
- type: Input
500
- }], disabledDates: [{
501
- type: Input
502
- }], enabledDates: [{
503
- type: Input
504
- }], todayDate: [{
505
- type: Input
506
- }], minDate: [{
507
- type: Input
508
- }], maxDate: [{
509
- type: Input
510
- }], _hasYearNavigator: [{
511
- type: HostBinding,
512
- args: ['class.has-year-navigator']
513
- }] } });
514
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY2FsZW5kYXIvc3JjL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2NhbGVuZGFyL3NyYy9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUdULE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsR0FBRyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGFBQWEsRUFFYixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsR0FDWixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU1RCxPQUFPLEVBQUUsa0JBQWtCLEVB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QUFXO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTE9DQUxFX0lELFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGFkZCxcbiAgZWFjaERheU9mSW50ZXJ2YWwsXG4gIGVuZE9mV2VlayxcbiAgZm9ybWF0LFxuICBnZXRZZWFyLFxuICBpc0FmdGVyLFxuICBpc0JlZm9yZSxcbiAgaXNTYW1lRGF5LFxuICBpc1NhbWVNb250aCxcbiAgaXNXZWVrZW5kLFxuICBsYXN0RGF5T2ZXZWVrLFxuICBMb2NhbGUgYXMgTG9jYWxlRGF0ZUZucyxcbiAgc3RhcnRPZkRheSxcbiAgc3RhcnRPZk1vbnRoLFxuICBzdGFydE9mV2Vlayxcbn0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgZnJvbVpvbmVkVGltZSwgdG9ab25lZFRpbWUgfSBmcm9tICdkYXRlLWZucy10eic7XG5pbXBvcnQgeyBkYSwgZW5HQiwgZW5VUyB9IGZyb20gJ2RhdGUtZm5zL2xvY2FsZSc7XG5cbmltcG9ydCB7IGNhcGl0YWxpemVGaXJzdExldHRlciB9IGZyb20gJ0BraXJieWRlc2lnbi9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vYnV0dG9uJztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9kcm9wZG93bic7XG5pbXBvcnQgeyBVbmlxdWVJZEdlbmVyYXRvciB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaGVscGVycyc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9pY29uJztcblxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9zaGFyZWQnO1xuaW1wb3J0IHsgQ2FsZW5kYXJEYXksIENhbGVuZGFyRGF5TWV0YWRhdGEgfSBmcm9tICcuL2ludGVyZmFjZXMvY2FsZW5kYXItZGF5JztcbmltcG9ydCB7IENhbGVuZGFyWWVhck5hdmlnYXRvckNvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9jYWxlbmRhci15ZWFyLW5hdmlnYXRvci1jb25maWcnO1xuXG5leHBvcnQgdHlwZSBMb2NhbGUgPSBMb2NhbGVEYXRlRm5zO1xuXG5pbnRlcmZhY2UgV2Vla0RheSB7XG4gIGZpcnN0TGV0dGVyQ2FwaXRhbGl6ZWQ6IHN0cmluZztcbiAgZnVsbE5hbWU6IHN0cmluZztcbn1cblxuZW51bSBUaW1lVW5pdCB7XG4gIHllYXJzID0gJ3llYXJzJyxcbiAgbW9udGhzID0gJ21vbnRocycsXG4gIHdlZWtzID0gJ3dlZWtzJyxcbiAgZGF5cyA9ICdkYXlzJyxcbiAgaG91cnMgPSAnaG91cnMnLFxuICBtaW51dGVzID0gJ21pbnV0ZXMnLFxuICBzZWNvbmRzID0gJ3NlY29uZHMnLFxuICBtaWxsaXNlY29uZHMgPSAnbWlsbGlzZWNvbmRzJyxcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtEcm9wZG93bk1vZHVsZSwgQnV0dG9uQ29tcG9uZW50LCBJY29uTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBzZWxlY3RvcjogJ2tpcmJ5LWNhbGVuZGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBAT3V0cHV0KCkgZGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgQE91dHB1dCgpIGRhdGVTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gIEBPdXRwdXQoKSB5ZWFyU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBwcmV2aW91c01vbnRoQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgQE91dHB1dCgpIG5leHRNb250aENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gIEBJbnB1dCgpIHRpbWV6b25lOiAnbG9jYWwnIHwgJ1VUQycgPSAnbG9jYWwnO1xuICBASW5wdXQoKSBkaXNhYmxlV2Vla2VuZHMgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZVBhc3REYXRlcyA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlRnV0dXJlRGF0ZXMgPSBmYWxzZTtcbiAgQElucHV0KCkgYWx3YXlzRW5hYmxlVG9kYXkgPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZXQgbG9jYWxlcyhsb2NhbGVzOiB7IFtrZXk6IHN0cmluZ106IExvY2FsZSB9KSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYFN1cHBseWluZyBhZGRpdGlvbmFsIGxvY2FsZXMgdG8gdGhlIEtpcmJ5IENhbGVuZGFyIENvbXBvbmVudCB2aWEgYW4gaW5wdXQgcHJvcGVydHkgaXMgZGVwcmVjYXRlZCBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkLiBcbiAgICAgICAgQSBmdXR1cmUgdXBkYXRlIHdpbGwgYWxsb3cgaW5qZWN0aW5nIGFkZGl0aW9uYWwgbG9jYWxlcyB2aWEgYSBwcm92aWRlciBpbnN0ZWFkLmBcbiAgICApO1xuICB9XG4gIEBJbnB1dCgpIGN1c3RvbUxvY2FsZXM6IHsgW2tleTogc3RyaW5nXTogTG9jYWxlIH0gPSB7fTtcbiAgLyogXG4gICAgRXhwZXJpbWVudGFsOiBJbnB1dCBwcm9wZXJ0eSBub3QgZG9jdW1lbnRlZCBvbiBwdXJwb3NlLiBcbiAgICBGb3IgY29udGV4dCBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9raXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vaXNzdWVzLzIwODdcbiAgKi9cbiAgQElucHV0KCkgdXNlUG9wb3ZlciA9IGZhbHNlO1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIHllYXIgbmF2aWdhdG9yLlxuICAgKlxuICAgKiBJbnRlcm5hbGx5LCBjYWxlbmRhciBjb21wb25lbnQ6XG4gICAqIC0gYmFzZXMgeWVhck5hdmlnYXRvck9wdGlvbnMuZnJvbSBhbmQgeWVhck5hdmlnYXRvck9wdGlvbnMudG8gb24gdG9kYXlEYXRlIGlmIGEgbnVtYmVyIGlzIHByb3ZpZGVkXG4gICAqIC0gcHJpb3JpdGl6ZXMgbWluRGF0ZSBhbmQgbWF4RGF0ZSBvdmVyIHllYXJOYXZpZ2F0b3JPcHRpb25zLmZyb20gYW5kIHllYXJOYXZpZ2F0b3JPcHRpb25zLnRvXG4gICAqL1xuICBASW5wdXQoKSB5ZWFyTmF2aWdhdG9yT3B0aW9uczogQ2FsZW5kYXJZZWFyTmF2aWdhdG9yQ29uZmlnO1xuXG4gIF90YWJsZU1vbnRoSWQgPSBVbmlxdWVJZEdlbmVyYXRvci5zY29wZWRUbygna2lyYnktY2FsZW5kYXItbW9udGgnKS5uZXh0KCk7XG4gIF9tb250aDogQ2FsZW5kYXJEYXlbXVtdO1xuICBfd2Vla0RheXM6IFdlZWtEYXlbXTtcbiAgcHJpdmF0ZSBzZWxlY3RlZERheTogQ2FsZW5kYXJEYXk7XG4gIHByaXZhdGUgZm9jdXNzZWREYXk6IENhbGVuZGFyRGF5O1xuICAvLyBOT1RFOiBJbnRlcm5hbGx5LCBhbGwgRGF0ZXNcbiAgLy8gYXJlIG5vcm1hbGl6ZWQgdG8gcG9pbnQgdG8gbG9jYWwgdGltZXpvbmUgbWlkbmlnaHQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHRpbWV6b25lXG4gIC8vIHNldHRpbmcuXG4gIHByaXZhdGUgYWN0aXZlTW9udGg6IERhdGU7XG4gIHByaXZhdGUgX3NlbGVjdGVkRGF0ZTogRGF0ZTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWREYXRlczogRGF0ZVtdID0gW107XG4gIHByaXZhdGUgX2VuYWJsZWREYXRlczogRGF0ZVtdID0gW107XG4gIHByaXZhdGUgX3RvZGF5RGF0ZTogRGF0ZTtcbiAgcHJpdmF0ZSBfbWluRGF0ZTogRGF0ZTtcbiAgcHJpdmF0ZSBfbWF4RGF0ZTogRGF0ZTtcbiAgcHJpdmF0ZSBmb2N1c3NlZERhdGU6IERhdGU7XG4gIHByaXZhdGUgbG9jYWxlOiBMb2NhbGU7XG4gIHByaXZhdGUgdGltZVpvbmVOYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgaW5jbHVkZWRMb2NhbGVzID0geyBkYSwgZW5HQiwgZW5VUyB9O1xuXG4gIGdldCBzZWxlY3RlZERhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkRGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBzZWxlY3RlZERhdGUodmFsdWVMb2NhbE9yVVRDOiBEYXRlIHwgbnVsbCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5ub3JtYWxpemVEYXRlKHZhbHVlTG9jYWxPclVUQyk7XG5cbiAgICBpZiAodmFsdWVMb2NhbE9yVVRDKSB7XG4gICAgICB0aGlzLnNldEFjdGl2ZU1vbnRoKHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oYXNEYXRlQ2hhbmdlZCh2YWx1ZSwgdGhpcy5fc2VsZWN0ZWREYXRlKSkge1xuICAgICAgdGhpcy5vblNlbGVjdGVkRGF0ZUNoYW5nZSh2YWx1ZSk7XG4gICAgICB0aGlzLmZvY3VzRGF0ZSh2YWx1ZSk7XG4gICAgICB0aGlzLl9zZWxlY3RlZERhdGUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgZGlzYWJsZWREYXRlcygpOiBEYXRlW10ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZERhdGVzO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGRpc2FibGVkRGF0ZXModmFsdWU6IERhdGVbXSkge1xuICAgIHRoaXMuX2Rpc2FibGVkRGF0ZXMgPSAodmFsdWUgfHwgW10pLm1hcCgoZGF0ZSkgPT4gdGhpcy5ub3JtYWxpemVEYXRlKGRhdGUpKTtcbiAgfVxuXG4gIGdldCBlbmFibGVkRGF0ZXMoKTogRGF0ZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZERhdGVzO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGVuYWJsZWREYXRlcyh2YWx1ZTogRGF0ZVtdKSB7XG4gICAgdGhpcy5fZW5hYmxlZERhdGVzID0gKHZhbHVlIHx8IFtdKS5tYXAoKGRhdGUpID0+IHRoaXMubm9ybWFsaXplRGF0ZShkYXRlKSk7XG4gIH1cblxuICBnZXQgdG9kYXlEYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl90b2RheURhdGU7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgdG9kYXlEYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgdGhpcy5fdG9kYXlEYXRlID0gdGhpcy5ub3JtYWxpemVEYXRlKHZhbHVlKTtcbiAgfVxuXG4gIGdldCBtaW5EYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9taW5EYXRlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IG1pbkRhdGUodmFsdWU6IERhdGUpIHtcbiAgICBpZiAodmFsdWUgJiYgdGhpcy5hY3RpdmVNb250aCAmJiBpc0JlZm9yZSh0aGlzLmFjdGl2ZU1vbnRoLCB2YWx1ZSkpIHtcbiAgICAgIHRoaXMuc2V0QWN0aXZlTW9udGgodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLl9taW5EYXRlID0gdGhpcy5ub3JtYWxpemVEYXRlKHZhbHVlKTtcbiAgfVxuXG4gIGdldCBtYXhEYXRlKCk6IERhdGUge1xuICAgIHJldHVybiB0aGlzLl9tYXhEYXRlO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IG1heERhdGUodmFsdWU6IERhdGUpIHtcbiAgICBpZiAodmFsdWUgJiYgdGhpcy5hY3RpdmVNb250aCAmJiBpc0FmdGVyKHRoaXMuYWN0aXZlTW9udGgsIHZhbHVlKSkge1xuICAgICAgdGhpcy5zZXRBY3RpdmVNb250aCh2YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMuX21heERhdGUgPSB0aGlzLm5vcm1hbGl6ZURhdGUodmFsdWUpO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZU1vbnRoTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBjYXBpdGFsaXplRmlyc3RMZXR0ZXIodGhpcy5mb3JtYXRXaXRoTG9jYWxlKHRoaXMuYWN0aXZlTW9udGgsICdNTU1NJykpO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVllYXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtYXRXaXRoTG9jYWxlKHRoaXMuYWN0aXZlTW9udGgsICd5eXl5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBuYXZpZ2FibGUgeWVhcnMgZm9yIHllYXIgbmF2aWdhdG9yIGJhc2VkIG9uIHllYXJOYXZpZ2F0b3JPcHRpb25zLlxuICAgKi9cbiAgZ2V0IG5hdmlnYWJsZVllYXJzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBkYXRlT2ZGaXJzdE5hdmlnYWJsZVllYXIgPVxuICAgICAgdGhpcy5taW5EYXRlIHx8IHRoaXMuZ2V0RGF0ZUZyb21OYXZpZ2FibGVZZWFyKHRoaXMueWVhck5hdmlnYXRvck9wdGlvbnMuZnJvbSk7XG5cbiAgICBjb25zdCBkYXRlT2ZMYXN0TmF2aWdhYmxlWWVhciA9XG4gICAgICB0aGlzLm1heERhdGUgfHwgdGhpcy5nZXREYXRlRnJvbU5hdmlnYWJsZVllYXIodGhpcy55ZWFyTmF2aWdhdG9yT3B0aW9ucy50byk7XG5cbiAgICByZXR1cm4gdGhpcy5nZXRZZWFyc0JldHdlZW5EYXRlcyhkYXRlT2ZGaXJzdE5hdmlnYWJsZVllYXIsIGRhdGVPZkxhc3ROYXZpZ2FibGVZZWFyKTtcbiAgfVxuXG4gIGdldCBuYXZpZ2F0ZWRZZWFyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhYmxlWWVhcnMuaW5kZXhPZih0aGlzLmFjdGl2ZVllYXIpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMteWVhci1uYXZpZ2F0b3InKVxuICBnZXQgX2hhc1llYXJOYXZpZ2F0b3IoKSB7XG4gICAgcmV0dXJuICEhdGhpcy55ZWFyTmF2aWdhdG9yT3B0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG9kYXlEYXRlKCkge1xuICAgIHJldHVybiBzdGFydE9mRGF5KHRoaXMudG9kYXlEYXRlID8/IG5ldyBEYXRlKCkpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChMT0NBTEVfSUQpIGxvY2FsZTogc3RyaW5nLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubG9jYWxlID0gdGhpcy5tYXBMb2NhbGUobG9jYWxlKTtcbiAgICB0aGlzLnRpbWVab25lTmFtZSA9IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0V2l0aExvY2FsZShkYXRlOiBEYXRlLCBmb3JtYXRTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGZvcm1hdChkYXRlLCBmb3JtYXRTdHJpbmcsIHtcbiAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG1hcExvY2FsZShsb2NhbGU6IHN0cmluZyk6IExvY2FsZSB7XG4gICAgaWYgKGxvY2FsZSA9PT0gJ2VuJykge1xuICAgICAgbG9jYWxlID0gJ2VuR0InOyAvLyBpZiBlbmdsaXNoIGxvY2FsZSBpcyBwcm92aWRlZCB3aXRob3V0IHJlZ2lvbiwgd2UgZGVmYXVsdCB0byBHQlxuICAgIH1cbiAgICBsb2NhbGUgPSBsb2NhbGUucmVwbGFjZSgnLScsICcnKTtcbiAgICBjb25zdCBhdmFpbGFibGVMb2NhbGVzID0geyAuLi50aGlzLmluY2x1ZGVkTG9jYWxlcywgLi4udGhpcy5sb2NhbGVzLCAuLi50aGlzLmN1c3RvbUxvY2FsZXMgfTtcbiAgICByZXR1cm4gYXZhaWxhYmxlTG9jYWxlc1tsb2NhbGVdIHx8IHRoaXMuaW5jbHVkZWRMb2NhbGVzLmVuR0I7IC8vIERlZmF1bHQgdG8gZW5HQiBpZiBpbmplY3RlZCBsb2NhbGUgZG9lc250IGV4aXN0XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdERhdGVMYWJlbCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxvY2FsZURhdGVGb3JtYXRzID0ge1xuICAgICAgZGE6ICdkLiBNTU1NJyxcbiAgICAgICdlbi1HQic6ICdkIE1NTU0nLFxuICAgICAgJ2VuLVVTJzogJ01NTU0gZCcsXG4gICAgfTtcblxuICAgIGNvbnN0IGRlZmF1bHREYXRlRm9ybWF0ID0gbG9jYWxlRGF0ZUZvcm1hdHNbJ2VuLVVTJ107XG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IGxvY2FsZURhdGVGb3JtYXRzW3RoaXMubG9jYWxlLmNvZGVdIHx8IGRlZmF1bHREYXRlRm9ybWF0O1xuICAgIHJldHVybiBkYXRlRm9ybWF0O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mb2N1c3NlZERhdGUgPSB0aGlzLmdldFRvZGF5RGF0ZSgpO1xuICAgIHRoaXMuX3dlZWtEYXlzID0gdGhpcy5nZXRXZWVrRGF5cygpO1xuICAgIHRoaXMuc2V0QWN0aXZlTW9udGgodGhpcy5zZWxlY3RlZERhdGUpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5hY3RpdmVNb250aCkgcmV0dXJuO1xuICAgIGlmIChcbiAgICAgIGNoYW5nZXMuZGlzYWJsZVdlZWtlbmRzIHx8XG4gICAgICBjaGFuZ2VzLmRpc2FibGVQYXN0RGF0ZXMgfHxcbiAgICAgIGNoYW5nZXMuZGlzYWJsZUZ1dHVyZURhdGVzIHx8XG4gICAgICBjaGFuZ2VzLmRpc2FibGVkRGF0ZXMgfHxcbiAgICAgIGNoYW5nZXMuZW5hYmxlZERhdGVzIHx8XG4gICAgICBjaGFuZ2VzLm1pbkRhdGUgfHxcbiAgICAgIGNoYW5nZXMubWF4RGF0ZSB8fFxuICAgICAgY2hhbmdlcy50b2RheURhdGUgfHxcbiAgICAgIGNoYW5nZXMudGltZXpvbmVcbiAgICApIHtcbiAgICAgIHRoaXMucmVmcmVzaEFjdGl2ZU1vbnRoKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRBY3RpdmVNb250aChkYXRlOiBEYXRlID0gbmV3IERhdGUoKSkge1xuICAgIGlmICghdGhpcy5hY3RpdmVNb250aCB8fCAhaXNTYW1lTW9udGgodGhpcy5hY3RpdmVNb250aCwgZGF0ZSkpIHtcbiAgICAgIHRoaXMuYWN0aXZlTW9udGggPSBzdGFydE9mTW9udGgoZGF0ZSk7XG4gICAgICB0aGlzLnJlZnJlc2hBY3RpdmVNb250aCgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvciBsZW5pZW5jeSwgdGhlIGNvbXBvbmVudCB3aWxsIGFjY2VwdCBhbnkgRGF0ZSB0aGF0IHBvaW50cyB0byBlaXRoZXIgVVRDIG1pZG5pZ2h0XG4gIC8vIG9yIHRvIGxvY2FsIHRpbWV6b25lIG1pZG5pZ2h0IGFsdGhvdWdoIHdlIHdpbGwgaW50ZXJuYWxseSBub3JtYWxpemUgdGhlIHJlcHJlc2VudGF0aW9uXG4gIC8vIG9mIGFsbCByZWNlaXZlZCBkYXRlcyB0byBwb2ludCB0byBsb2NhbCB0aW1lem9uZSBtaWRuaWdodC5cbiAgLy8gV2UgY3VycmVudGx5IGxvZyBubyB3YXJuaW5ncyBpZiB0aGUgZGF0ZSBkb2Vzbid0IG1hdGNoIHRoZSB0aW1lem9uZSBzZXR0aW5nIG9yXG4gIC8vIGlmIGl0IGRvZXNuJ3QgcG9pbnQgdG8gbWlkbmlnaHQuXG4gIHByaXZhdGUgbm9ybWFsaXplRGF0ZShkYXRlTG9jYWxPclVUQzogRGF0ZSkge1xuICAgIGlmICghZGF0ZUxvY2FsT3JVVEMpIHJldHVybjtcblxuICAgIGlmIChzdGFydE9mRGF5KGRhdGVMb2NhbE9yVVRDKS5nZXRUaW1lKCkgPT09IGRhdGVMb2NhbE9yVVRDLmdldFRpbWUoKSkge1xuICAgICAgLy8gZGF0ZSBpcyBsb2NhbCB0aW1lem9uZSBtaWRuaWdodFxuICAgICAgcmV0dXJuIGRhdGVMb2NhbE9yVVRDO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBzdGFydE9mRGF5KHRvWm9uZWRUaW1lKGRhdGVMb2NhbE9yVVRDLCB0aGlzLnRpbWVab25lTmFtZSkpLmdldFRpbWUoKSA9PT1cbiAgICAgIHRvWm9uZWRUaW1lKGRhdGVMb2NhbE9yVVRDLCB0aGlzLnRpbWVab25lTmFtZSkuZ2V0VGltZSgpXG4gICAgKSB7XG4gICAgICAvLyB0aGUgZGF0ZSBpcyBhIFVUQyBtaWRuaWdodDsgY3JlYXRlIHRoZSBlcXVpdmFsZW50IGxvY2FsIHRpbWV6b25lIG1pZG5pZ2h0IGRhdGVcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRVVENkYXRlID0gdG9ab25lZFRpbWUoZGF0ZUxvY2FsT3JVVEMsIHRoaXMudGltZVpvbmVOYW1lKTtcbiAgICAgIHJldHVybiBub3JtYWxpemVkVVRDZGF0ZTtcbiAgICB9XG4gICAgLy8gZG9lcyBub3QgcG9pbnQgdG8gbWlkbmlnaHQgc28gd2UgbWFrZSBpdFxuICAgIHJldHVybiBzdGFydE9mRGF5KGRhdGVMb2NhbE9yVVRDKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0V2Vla0RheXMoKTogV2Vla0RheVtdIHtcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IHdlZWsgPSBlYWNoRGF5T2ZJbnRlcnZhbCh7XG4gICAgICBzdGFydDogc3RhcnRPZldlZWsobm93LCB7IGxvY2FsZTogdGhpcy5sb2NhbGUgfSksXG4gICAgICBlbmQ6IGVuZE9mV2Vlayhub3csIHsgbG9jYWxlOiB0aGlzLmxvY2FsZSB9KSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHdlZWtkYXlOYXJyb3dGb3JtYXQgPSAnRUVFRUUnO1xuICAgIGNvbnN0IHdlZWtkYXlXaWRlRm9ybWF0ID0gJ0VFRUUnO1xuXG4gICAgcmV0dXJuIHdlZWsubWFwKChkYXRlKSA9PiAoe1xuICAgICAgZmlyc3RMZXR0ZXJDYXBpdGFsaXplZDogdGhpcy5mb3JtYXRXaXRoTG9jYWxlKGRhdGUsIHdlZWtkYXlOYXJyb3dGb3JtYXQpLFxuICAgICAgZnVsbE5hbWU6IHRoaXMuZm9ybWF0V2l0aExvY2FsZShkYXRlLCB3ZWVrZGF5V2lkZUZvcm1hdCksXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNEYXRlQ2hhbmdlZChuZXdEYXRlOiBEYXRlLCBwcmV2aW91c0RhdGU6IERhdGUpOiBib29sZWFuIHtcbiAgICBpZiAoIW5ld0RhdGUgJiYgIXByZXZpb3VzRGF0ZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAobmV3RGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIXByZXZpb3VzRGF0ZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiAhaXNTYW1lRGF5KG5ld0RhdGUsIHByZXZpb3VzRGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIGlzRGlzYWJsZWREYXRlKGRhdGU6IERhdGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZERhdGVzLnNvbWUoKGRpc2FibGVkRGF0ZSkgPT4gaXNTYW1lRGF5KGRpc2FibGVkRGF0ZSwgZGF0ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0VuYWJsZWREYXRlKGRhdGU6IERhdGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5fZW5hYmxlZERhdGVzLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgdGhpcy5lbmFibGVkRGF0ZXMuc29tZSgoZW5hYmxlZERhdGUpID0+IGlzU2FtZURheShlbmFibGVkRGF0ZSwgZGF0ZSkpXG4gICAgKTtcbiAgfVxuXG4gIHJlZnJlc2hBY3RpdmVNb250aCgpIHtcbiAgICBpZiAoIXRoaXMuYWN0aXZlTW9udGgpIHJldHVybjtcblxuICAgIGNvbnN0IG1vbnRoU3RhcnQgPSBzdGFydE9mTW9udGgodGhpcy5hY3RpdmVNb250aCk7XG4gICAgY29uc3Qgc3RhcnRPZkZpcnN0V2VlayA9IHN0YXJ0T2ZXZWVrKG1vbnRoU3RhcnQsIHsgbG9jYWxlOiB0aGlzLmxvY2FsZSB9KTtcblxuICAgIGNvbnN0IHRvdGFsTnVtYmVyT2ZEYXlzID0gNDI7IC8vIEFsd2F5cyBzaG93IDQyIGRheXMgKDYgd2Vla3MpIGluIGNhbGVuZGFyXG4gICAgY29uc3QgZGF5c0FycmF5ID0gQXJyYXkuZnJvbShBcnJheSh0b3RhbE51bWJlck9mRGF5cykua2V5cygpKTtcbiAgICBjb25zdCB0b2RheSA9IHRoaXMuZ2V0VG9kYXlEYXRlKCk7XG5cbiAgICBjb25zdCBjYWxlbmRhckRheXM6IENhbGVuZGFyRGF5W10gPSBkYXlzQXJyYXkubWFwKChudW1iZXIpID0+IHtcbiAgICAgIGNvbnN0IGRhdGVPZkNhbGVuZGFyRGF5ID0gYWRkKHN0YXJ0T2ZGaXJzdFdlZWssIHsgW1RpbWVVbml0LmRheXNdOiBudW1iZXIgfSk7XG5cbiAgICAgIGNvbnN0IGNhbGVuZGFyRGF5OiBDYWxlbmRhckRheSA9IHtcbiAgICAgICAgZGF0ZTogZGF0ZU9mQ2FsZW5kYXJEYXkuZ2V0RGF0ZSgpLFxuICAgICAgICBtb250aEluZGV4OiBkYXRlT2ZDYWxlbmRhckRheS5nZXRNb250aCgpLFxuICAgICAgICB5ZWFyOiBkYXRlT2ZDYWxlbmRhckRheS5nZXRGdWxsWWVhcigpLFxuICAgICAgICBhcmlhTGFiZWw6IHRoaXMuZm9ybWF0V2l0aExvY2FsZShkYXRlT2ZDYWxlbmRhckRheSwgdGhpcy5mb3JtYXREYXRlTGFiZWwoKSksXG4gICAgICAgIC4uLnRoaXMuZ2V0Q2FsZW5kYXJEYXlNZXRhZGF0YShkYXRlT2ZDYWxlbmRhckRheSwgdG9kYXksIG1vbnRoU3RhcnQpLFxuICAgICAgfTtcbiAgICAgIGlmIChjYWxlbmRhckRheS5pc1NlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXkgPSBjYWxlbmRhckRheTtcbiAgICAgIH1cbiAgICAgIGlmIChjYWxlbmRhckRheS5pc0ZvY3Vzc2VkKSB7XG4gICAgICAgIHRoaXMuZm9jdXNzZWREYXkgPSBjYWxlbmRhckRheTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjYWxlbmRhckRheTtcbiAgICB9KTtcbiAgICB0aGlzLl9tb250aCA9IHRoaXMuY2h1bmsoY2FsZW5kYXJEYXlzLCA3KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FsZW5kYXJEYXlNZXRhZGF0YShkYXRlOiBEYXRlLCB0b2RheTogRGF0ZSwgbW9udGhTdGFydDogRGF0ZSk6IENhbGVuZGFyRGF5TWV0YWRhdGEge1xuICAgIHJldHVybiB7XG4gICAgICBpc1RvZGF5OiBpc1NhbWVEYXkodG9kYXksIGRhdGUpLFxuICAgICAgaXNQYXN0OiBpc0JlZm9yZShkYXRlLCB0b2RheSksXG4gICAgICBpc0Z1dHVyZTogaXNBZnRlcihkYXRlLCB0b2RheSksXG4gICAgICBpc1dlZWtlbmQ6IGlzV2Vla2VuZChkYXRlKSxcbiAgICAgIGlzQ3VycmVudE1vbnRoOiBpc1NhbWVNb250aChkYXRlLCBtb250aFN0YXJ0KSxcbiAgICAgIGlzU2VsZWN0YWJsZTogdGhpcy5pc1NlbGVjdGFibGUoZGF0ZSwgdG9kYXkpLFxuICAgICAgaXNGb2N1c2FibGU6IHRoaXMuaXNXaXRoaW5BbGxvd2VkUmFuZ2UoZGF0ZSwgdG9kYXkpLFxuICAgICAgaXNTZWxlY3RlZDogaXNTYW1lRGF5KHRoaXMuc2VsZWN0ZWREYXRlLCBkYXRlKSxcbiAgICAgIGlzRm9jdXNzZWQ6IGlzU2FtZURheSh0aGlzLmZvY3Vzc2VkRGF0ZSwgZGF0ZSksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTZWxlY3RhYmxlKGRhdGU6IERhdGUsIHRvZGF5OiBEYXRlKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYWx3YXlzRW5hYmxlVG9kYXkgJiYgaXNTYW1lRGF5KHRvZGF5LCBkYXRlKSkgcmV0dXJuIHRydWU7XG5cbiAgICBpZiAoIXRoaXMuaXNXaXRoaW5BbGxvd2VkUmFuZ2UoZGF0ZSwgdG9kYXkpKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZERhdGUoZGF0ZSkpIHJldHVybiBmYWxzZTtcbiAgICBpZiAoIXRoaXMuaXNFbmFibGVkRGF0ZShkYXRlKSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLmRpc2FibGVXZWVrZW5kcyAmJiBpc1dlZWtlbmQoZGF0ZSkpIHJldHVybiBmYWxzZTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1dpdGhpbkFsbG93ZWRSYW5nZShkYXRlOiBEYXRlLCB0b2RheTogRGF0ZSk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmRpc2FibGVQYXN0RGF0ZXMgJiYgaXNCZWZvcmUoZGF0ZSwgdG9kYXkpKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMuZGlzYWJsZUZ1dHVyZURhdGVzICYmIGlzQWZ0ZXIoZGF0ZSwgdG9kYXkpKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubWluRGF0ZSAmJiBpc0JlZm9yZShkYXRlLCB0aGlzLm1pbkRhdGUpKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMubWF4RGF0ZSAmJiBpc0FmdGVyKGRhdGUsIHRoaXMubWF4RGF0ZSkpIHJldHVybiBmYWxzZTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjaHVuayhhcnJheTogYW55W10sIHNpemU6IG51bWJlcikge1xuICAgIGNvbnN0IHJlc3VsdHMgPSBbXTtcbiAgICB3aGlsZSAoYXJyYXkubGVuZ3RoKSB7XG4gICAgICByZXN1bHRzLnB1c2goYXJyYXkuc3BsaWNlKDAsIHNpemUpKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH1cblxuICBwcml2YXRlIG9uU2VsZWN0ZWREYXRlQ2hhbmdlKG5ld0RhdGU6IERhdGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZERheSkge1xuICAgICAgdGhpcy5zZWxlY3RlZERheS5pc1NlbGVjdGVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3RGF5ID0gdGhpcy5nZXREYXkobmV3RGF0ZSk7XG4gICAgaWYgKG5ld0RheSkge1xuICAgICAgbmV3RGF5LmlzU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zZWxlY3RlZERheSA9IG5ld0RheTtcbiAgICB9XG4gIH1cblxuICBfb25EYXRlU2VsZWN0ZWQobmV3RGF5OiBDYWxlbmRhckRheSkge1xuICAgIGlmICghbmV3RGF5LmlzU2VsZWN0YWJsZSkgcmV0dXJuO1xuXG4gICAgbGV0IG5ld0RhdGUgPSBuZXcgRGF0ZShuZXdEYXkueWVhciwgbmV3RGF5Lm1vbnRoSW5kZXgsIG5ld0RheS5kYXRlKTtcblxuICAgIGlmICh0aGlzLnRpbWV6b25lID09PSAnVVRDJykge1xuICAgICAgbmV3RGF0ZSA9IGZyb21ab25lZFRpbWUodGhpcy5zdWJ0cmFjdFRpbWV6b25lT2Zmc2V0KG5ld0RhdGUpLCB0aGlzLnRpbWVab25lTmFtZSk7XG4gICAgfVxuXG4gICAgY29uc3QgZGF0ZVRvRW1pdCA9IG5ld0RhdGU7XG5cbiAgICBpZiAodGhpcy5oYXNEYXRlQ2hhbmdlZChuZXdEYXRlLCB0aGlzLl9zZWxlY3RlZERhdGUpKSB7XG4gICAgICB0aGlzLnNldEFjdGl2ZU1vbnRoKG5ld0RhdGUpO1xuICAgICAgdGhpcy5vblNlbGVjdGVkRGF0ZUNoYW5nZShuZXdEYXRlKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbmV3RGF0ZTtcbiAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KGRhdGVUb0VtaXQpO1xuICAgIH1cbiAgICB0aGlzLmRhdGVTZWxlY3QuZW1pdChkYXRlVG9FbWl0KTtcbiAgfVxuXG4gIF9jaGFuZ2VNb250aChpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGluZGV4ID4gMCAmJiAhdGhpcy5fY2FuTmF2aWdhdGVGb3J3YXJkKSByZXR1cm47XG4gICAgaWYgKGluZGV4IDwgMCAmJiAhdGhpcy5fY2FuTmF2aWdhdGVCYWNrKSByZXR1cm47XG5cbiAgICB0aGlzLmNoYW5nZUFjdGl2ZVZpZXcoaW5kZXgsIFRpbWVVbml0Lm1vbnRocyk7XG4gICAgaW5kZXggPiAwXG4gICAgICA/IHRoaXMubmV4dE1vbnRoQ2xpY2tlZC5lbWl0KHRoaXMuYWN0aXZlTW9udGgpXG4gICAgICA6IHRoaXMucHJldmlvdXNNb250aENsaWNrZWQuZW1pdCh0aGlzLmFjdGl2ZU1vbnRoKTtcbiAgfVxuXG4gIF9jaGFuZ2VZZWFyKHllYXI6IHN0cmluZykge1xuICAgIGNvbnN0IHllYXJOdW1lcmljID0gTnVtYmVyKHllYXIpO1xuICAgIHRoaXMuY2hhbmdlQWN0aXZlVmlldyh5ZWFyTnVtZXJpYyAtIGdldFllYXIodGhpcy5hY3RpdmVNb250aCksIFRpbWVVbml0LnllYXJzKTtcbiAgICB0aGlzLnllYXJTZWxlY3QuZW1pdCh5ZWFyTnVtZXJpYyk7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZUFjdGl2ZVZpZXcoaW5kZXg6IG51bWJlciwgdW5pdDogVGltZVVuaXQpIHtcbiAgICBpZiAoaW5kZXggPT09IDApIHJldHVybjtcbiAgICB0aGlzLmFjdGl2ZU1vbnRoID0gYWRkKHRoaXMuYWN0aXZlTW9udGgsIHsgW3VuaXRdOiBpbmRleCB9KTtcbiAgICB0aGlzLmZvY3Vzc2VkRGF0ZSA9IGFkZCh0aGlzLmZvY3Vzc2VkRGF0ZSwgeyBbdW5pdF06IGluZGV4IH0pO1xuXG4gICAgdGhpcy5yZWZyZXNoQWN0aXZlTW9udGgoKTtcbiAgfVxuXG4gIGdldCBfY2FuTmF2aWdhdGVCYWNrKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRvZGF5ID0gdGhpcy5nZXRUb2RheURhdGUoKTtcbiAgICBjb25zdCByZWFjaGVkUGFzdERhdGVzTGltaXQgPSB0aGlzLmRpc2FibGVQYXN0RGF0ZXMgJiYgaXNTYW1lTW9udGgodGhpcy5hY3RpdmVNb250aCwgdG9kYXkpO1xuXG4gICAgY29uc3QgcmVhY2hlZE9yRXhjZWVkZWRNaW5EYXRlID1cbiAgICAgIHRoaXMubWluRGF0ZSAmJlxuICAgICAgKGlzU2FtZU1vbnRoKHRoaXMuYWN0aXZlTW9udGgsIHRoaXMubWluRGF0ZSkgfHwgaXNCZWZvcmUodGhpcy5hY3RpdmVNb250aCwgdGhpcy5taW5EYXRlKSk7XG5cbiAgICByZXR1cm4gIXJlYWNoZWRQYXN0RGF0ZXNMaW1pdCAmJiAhcmVhY2hlZE9yRXhjZWVkZWRNaW5EYXRlO1xuICB9XG5cbiAgZ2V0IF9jYW5OYXZpZ2F0ZUZvcndhcmQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdG9kYXkgPSB0aGlzLmdldFRvZGF5RGF0ZSgpO1xuICAgIGNvbnN0IHJlYWNoZWRGdXR1cmVEYXRlc0xpbWl0ID0gdGhpcy5kaXNhYmxlRnV0dXJlRGF0ZXMgJiYgaXNTYW1lTW9udGgodGhpcy5hY3RpdmVNb250aCwgdG9kYXkpO1xuXG4gICAgY29uc3QgcmVhY2hlZE9yRXhjZWVkZWRNYXhEYXRlID1cbiAgICAgIHRoaXMubWF4RGF0ZSAmJlxuICAgICAgKGlzU2FtZU1vbnRoKHRoaXMuYWN0aXZlTW9udGgsIHRoaXMubWF4RGF0ZSkgfHwgaXNBZnRlcih0aGlzLmFjdGl2ZU1vbnRoLCB0aGlzLm1heERhdGUpKTtcblxuICAgIHJldHVybiAhcmVhY2hlZEZ1dHVyZURhdGVzTGltaXQgJiYgIXJlYWNoZWRPckV4Y2VlZGVkTWF4RGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGF5KGRhdGU6IERhdGUpIHtcbiAgICBsZXQgZm91bmREYXk6IENhbGVuZGFyRGF5ID0gbnVsbDtcbiAgICBpZiAoZGF0ZSkge1xuICAgICAgZm9yIChjb25zdCB3ZWVrIG9mIHRoaXMuX21vbnRoKSB7XG4gICAgICAgIGZvdW5kRGF5ID0gd2Vlay5maW5kKChkYXkpID0+IHtcbiAgICAgICAgICByZXR1cm4gZGF5LmlzQ3VycmVudE1vbnRoICYmIGRheS5kYXRlID09PSBkYXRlLmdldERhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChmb3VuZERheSkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmb3VuZERheTtcbiAgfVxuXG4gIHByaXZhdGUgc3VidHJhY3RUaW1lem9uZU9mZnNldChkYXRlOiBEYXRlKTogRGF0ZSB7XG4gICAgY29uc3QgdGltZXpvbmVPZmZzZXRJbk1zID0gZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpICogNjAgKiAxMDAwO1xuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSAtIHRpbWV6b25lT2Zmc2V0SW5Ncyk7XG4gIH1cblxuICBwcml2YXRlIGdldERhdGVGcm9tTmF2aWdhYmxlWWVhcihuYXZpZ2FibGVZZWFyOiBudW1iZXIgfCBEYXRlKTogRGF0ZSB7XG4gICAgaWYgKG5hdmlnYWJsZVllYXIgaW5zdGFuY2VvZiBEYXRlKSByZXR1cm4gbmF2aWdhYmxlWWVhcjtcbiAgICBjb25zdCB0b2RheSA9IHRoaXMudG9kYXlEYXRlIHx8IG5ldyBEYXRlKCk7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHRvZGF5LmdldEZ1bGxZZWFyKCkgKyBuYXZpZ2FibGVZZWFyLCAwLCAxKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0WWVhcnNCZXR3ZWVuRGF0ZXMoc3RhcnREYXRlOiBEYXRlLCBlbmREYXRlOiBEYXRlKTogc3RyaW5nW10ge1xuICAgIC8vIEVuc3VyZSB5ZWFycyBhcmUgb3JkZXJlZCBjb3JyZWN0bHkgaWYgcGFyYW1ldGVycyBhcmUgc3dpdGNoZWQ6XG4gICAgY29uc3QgW3N0YXJ0WWVhciwgZW5kWWVhcl0gPSBbc3RhcnREYXRlLmdldEZ1bGxZZWFyKCksIGVuZERhdGUuZ2V0RnVsbFllYXIoKV0uc29ydCgpO1xuICAgIGNvbnN0IG51bWJlck9mWWVhcnMgPSBlbmRZZWFyIC0gc3RhcnRZZWFyO1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiBudW1iZXJPZlllYXJzICsgMSB9LCAoXywgaSkgPT4gKHN0YXJ0WWVhciArIGkpLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb2N1c3NlZERheShuZXdEYXRlOiBEYXRlKSB7XG4gICAgY29uc3QgbmV3RGF5ID0gdGhpcy5nZXREYXkobmV3RGF0ZSk7XG4gICAgaWYgKCFuZXdEYXkpIHJldHVybjtcblxuICAgIGlmICh0aGlzLmZvY3Vzc2VkRGF5KSB7XG4gICAgICB0aGlzLmZvY3Vzc2VkRGF5LmlzRm9jdXNzZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgbmV3RGF5LmlzRm9jdXNzZWQgPSB0cnVlO1xuICAgIHRoaXMuZm9jdXNzZWREYXkgPSBuZXdEYXk7XG4gIH1cblxuICBwcml2YXRlIGZvY3VzRGF0ZShuZXdEYXRlOiBEYXRlIHwgbnVsbCkge1xuICAgIGlmICghbmV3RGF0ZSkgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMudGltZXpvbmUgPT09ICdVVEMnKSB7XG4gICAgICBuZXdEYXRlID0gZnJvbVpvbmVkVGltZSh0aGlzLnN1YnRyYWN0VGltZXpvbmVPZmZzZXQobmV3RGF0ZSksIHRoaXMudGltZVpvbmVOYW1lKTtcbiAgICB9XG5cbiAgICBjb25zdCB0b2RheSA9IHRoaXMuZ2V0VG9kYXlEYXRlKCk7XG4gICAgaWYgKCF0aGlzLmlzV2l0aGluQWxsb3dlZFJhbmdlKG5ld0RhdGUsIHRvZGF5KSkgcmV0dXJuO1xuXG4gICAgaWYgKCF0aGlzLmhhc0RhdGVDaGFuZ2VkKG5ld0RhdGUsIHRoaXMuZm9jdXNzZWREYXRlKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5zZXRBY3RpdmVNb250aChuZXdEYXRlKTtcbiAgICB0aGlzLnNldEZvY3Vzc2VkRGF5KG5ld0RhdGUpO1xuICAgIHRoaXMuZm9jdXNzZWREYXRlID0gbmV3RGF0ZTtcblxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgLy9zeW5jIGZvY3Vzc2VkIGNsYXNzIHRvIHRlbXBsYXRlIGJlZm9yZSBzZXR0aW5nIGZvY3VzXG4gICAgY29uc3QgZWxlbWVudE1hcmtlZEZvckZvY3VzID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmZvY3Vzc2VkJyk7XG4gICAgZWxlbWVudE1hcmtlZEZvckZvY3VzLmZvY3VzKCk7XG4gIH1cblxuICBfb25EYXRlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IHsga2V5LCBzaGlmdEtleSB9ID0gZXZlbnQ7XG4gICAgbGV0IG5ld0RhdGU7XG5cbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIG5ld0RhdGUgPSBhZGQodGhpcy5mb2N1c3NlZERhdGUsIHsgZGF5czogLTcgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgbmV3RGF0ZSA9IGFkZCh0aGlzLmZvY3Vzc2VkRGF0ZSwgeyBkYXlzOiA3IH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICBuZXdEYXRlID0gYWRkKHRoaXMuZm9jdXNzZWREYXRlLCB7IGRheXM6IDEgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgbmV3RGF0ZSA9IGFkZCh0aGlzLmZvY3Vzc2VkRGF0ZSwgeyBkYXlzOiAtMSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdIb21lJzpcbiAgICAgICAgbmV3RGF0ZSA9IHN0YXJ0T2ZXZWVrKHRoaXMuZm9jdXNzZWREYXRlLCB7IGxvY2FsZTogdGhpcy5sb2NhbGUgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgbmV3RGF0ZSA9IGxhc3REYXlPZldlZWsodGhpcy5mb2N1c3NlZERhdGUsIHsgbG9jYWxlOiB0aGlzLmxvY2FsZSB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdQYWdlVXAnOlxuICAgICAgICBuZXdEYXRlID0gc2hpZnRLZXlcbiAgICAgICAgICA/IGFkZCh0aGlzLmZvY3Vzc2VkRGF0ZSwgeyB5ZWFyczogLTEgfSlcbiAgICAgICAgICA6IGFkZCh0aGlzLmZvY3Vzc2VkRGF0ZSwgeyBtb250aHM6IC0xIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1BhZ2VEb3duJzpcbiAgICAgICAgbmV3RGF0ZSA9IHNoaWZ0S2V5XG4gICAgICAgICAgPyBhZGQodGhpcy5mb2N1c3NlZERhdGUsIHsgeWVhcnM6IDEgfSlcbiAgICAgICAgICA6IGFkZCh0aGlzLmZvY3Vzc2VkRGF0ZSwgeyBtb250aHM6IDEgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5mb2N1c0RhdGUobmV3RGF0ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgPGRpdiBjbGFzcz1cIm1vbnRoLW5hdmlnYXRvclwiPlxuICAgIDxidXR0b25cbiAgICAgIGtpcmJ5LWJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cIm5vLW1hcmdpblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRyYW5zbGF0aW9ucy5nZXQoJ3ByZXZpb3VzTW9udGgnKVwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIl9jYW5OYXZpZ2F0ZUJhY2sgPyBudWxsIDogdHJ1ZVwiXG4gICAgICBbbm9EZWNvcmF0aW9uXT1cInRydWVcIlxuICAgICAgKGNsaWNrKT1cIl9jaGFuZ2VNb250aCgtMSlcIlxuICAgID5cbiAgICAgIDxraXJieS1pY29uIG5hbWU9XCJhcnJvdy1iYWNrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9raXJieS1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGRpdiBjbGFzcz1cIm1vbnRoLWFuZC15ZWFyXCIgW2lkXT1cIl90YWJsZU1vbnRoSWRcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIiBhcmlhLWF0b21pYz1cInRydWVcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibW9udGhcIj57eyBhY3RpdmVNb250aE5hbWUgfX08L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cIiFfaGFzWWVhck5hdmlnYXRvclwiIGNsYXNzPVwieWVhclwiPnt7IGFjdGl2ZVllYXIgfX08L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8YnV0dG9uXG4gICAgICBraXJieS1idXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJuby1tYXJnaW5cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0cmFuc2xhdGlvbnMuZ2V0KCduZXh0TW9udGgnKVwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIl9jYW5OYXZpZ2F0ZUZvcndhcmQgPyBudWxsIDogdHJ1ZVwiXG4gICAgICBbbm9EZWNvcmF0aW9uXT1cInRydWVcIlxuICAgICAgKGNsaWNrKT1cIl9jaGFuZ2VNb250aCgxKVwiXG4gICAgPlxuICAgICAgPGtpcmJ5LWljb24gbmFtZT1cImFycm93LW1vcmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2tpcmJ5LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8a2lyYnktZHJvcGRvd25cbiAgICAqbmdJZj1cIl9oYXNZZWFyTmF2aWdhdG9yXCJcbiAgICBbdXNlUG9wb3Zlcl09XCJ1c2VQb3BvdmVyXCJcbiAgICBbc2VsZWN0ZWRJbmRleF09XCJuYXZpZ2F0ZWRZZWFyXCJcbiAgICBbaXRlbXNdPVwibmF2aWdhYmxlWWVhcnNcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidHJhbnNsYXRpb25zLmdldCgnc2VsZWN0WWVhcicpXCJcbiAgICBwb3BvdXQ9XCJsZWZ0XCJcbiAgICAoY2hhbmdlKT1cIl9jaGFuZ2VZZWFyKCRldmVudClcIlxuICA+PC9raXJieS1kcm9wZG93bj5cbjwvZGl2PlxuXG48dGFibGUgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIl90YWJsZU1vbnRoSWRcIiByb2xlPVwiZ3JpZFwiPlxuICA8dGhlYWQ+XG4gICAgPHRyPlxuICAgICAgPHRoICpuZ0Zvcj1cImxldCB3ZWVrRGF5IG9mIF93ZWVrRGF5c1wiIHNjb3BlPVwiY29sXCI+XG4gICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPnt7IHdlZWtEYXkuZmlyc3RMZXR0ZXJDYXBpdGFsaXplZCB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj57eyB3ZWVrRGF5LmZ1bGxOYW1lIH19PC9zcGFuPlxuICAgICAgPC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuXG4gIDx0Ym9keT5cbiAgICA8dHIgKm5nRm9yPVwibGV0IHdlZWsgb2YgX21vbnRoXCI+XG4gICAgICA8dGQgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrXCIgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJkYXkuaXNTZWxlY3RlZCA/IHRydWUgOiBmYWxzZVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAga2lyYnktYnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cIl9vbkRhdGVTZWxlY3RlZChkYXkpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJfb25EYXRlS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgICBjbGFzcz1cImRheVwiXG4gICAgICAgICAgW2NsYXNzLmN1cnJlbnQtbW9udGhdPVwiZGF5LmlzQ3VycmVudE1vbnRoXCJcbiAgICAgICAgICBbY2xhc3Mud2Vla2VuZF09XCJkYXkuaXNXZWVrZW5kXCJcbiAgICAgICAgICBbY2xhc3MudG9kYXldPVwiZGF5LmlzVG9kYXlcIlxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RhYmxlXT1cImRheS5pc1NlbGVjdGFibGVcIlxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJkYXkuaXNTZWxlY3RlZFwiXG4gICAgICAgICAgW2NsYXNzLmZvY3Vzc2VkXT1cImRheS5pc0ZvY3Vzc2VkXCJcbiAgICAgICAgICBbY2xhc3MucGFzdF09XCJkYXkuaXNQYXN0XCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImRheS5hcmlhTGFiZWxcIlxuICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGF5LmlzU2VsZWN0YWJsZSA/IG51bGwgOiB0cnVlXCJcbiAgICAgICAgICBbbm9EZWNvcmF0aW9uXT1cInRydWVcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXkuaXNGb2N1c2FibGUgPyBudWxsIDogdHJ1ZVwiXG4gICAgICAgICAgW3RhYkluZGV4XT1cImRheS5pc0ZvY3Vzc2VkID8gMCA6IC0xXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGRheS5kYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2FsZW5kYXIvc3JjL2ludGVyZmFjZXMvY2FsZW5kYXItZGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyRGF5IGV4dGVuZHMgQ2FsZW5kYXJEYXlNZXRhZGF0YSB7XG4gIGRhdGU6IG51bWJlcjtcbiAgbW9udGhJbmRleDogbnVtYmVyO1xuICB5ZWFyOiBudW1iZXI7XG4gIGFyaWFMYWJlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyRGF5TWV0YWRhdGEge1xuICBpc1RvZGF5OiBib29sZWFuO1xuICBpc1Bhc3Q6IGJvb2xlYW47XG4gIGlzRnV0dXJlOiBib29sZWFuO1xuICBpc1dlZWtlbmQ6IGJvb2xlYW47XG4gIGlzQ3VycmVudE1vbnRoOiBib29sZWFuO1xuICBpc1NlbGVjdGFibGU6IGJvb2xlYW47XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gIGlzRm9jdXNzZWQ6IGJvb2xlYW47XG4gIGlzRm9jdXNhYmxlOiBib29sZWFuO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhci1uYXZpZ2F0b3ItY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2FsZW5kYXIvc3JjL2ludGVyZmFjZXMvY2FsZW5kYXIteWVhci1uYXZpZ2F0b3ItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBDYWxlbmRhclllYXJOYXZpZ2F0b3JDb25maWcgPSB7XG4gIGZyb206IG51bWJlciB8IERhdGU7XG4gIHRvOiBudW1iZXIgfCBEYXRlO1xufTtcbiJdfQ==