@kirbydesign/designsystem 4.0.9 → 4.0.13

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 (114) hide show
  1. package/bundles/kirbydesign-designsystem-testing-base.umd.js +59 -84
  2. package/bundles/kirbydesign-designsystem-testing-base.umd.js.map +1 -1
  3. package/bundles/kirbydesign-designsystem-testing-base.umd.min.js +1 -1
  4. package/bundles/kirbydesign-designsystem-testing-base.umd.min.js.map +1 -1
  5. package/bundles/kirbydesign-designsystem.umd.js +347 -719
  6. package/bundles/kirbydesign-designsystem.umd.js.map +1 -1
  7. package/bundles/kirbydesign-designsystem.umd.min.js +1 -1
  8. package/bundles/kirbydesign-designsystem.umd.min.js.map +1 -1
  9. package/esm2015/kirbydesign-designsystem.js +77 -76
  10. package/esm2015/kirbydesign-designsystem.metadata.json +1 -1
  11. package/esm2015/lib/animation/kirby-animation.js +7 -7
  12. package/esm2015/lib/components/angular-component-lib/utils.js +40 -0
  13. package/esm2015/lib/components/angular-component-lib/utils.metadata.json +1 -0
  14. package/esm2015/lib/components/avatar/avatar.component.js +2 -2
  15. package/esm2015/lib/components/avatar/avatar.component.metadata.json +1 -1
  16. package/esm2015/lib/components/button/button.component.js +1 -1
  17. package/esm2015/lib/components/button/button.component.metadata.json +1 -1
  18. package/esm2015/lib/components/calendar/calendar.component.js +2 -2
  19. package/esm2015/lib/components/card/card-header/card-header.component.js +1 -1
  20. package/esm2015/lib/components/chart/chart.component.js +25 -2
  21. package/esm2015/lib/components/chart/chart.component.metadata.json +1 -1
  22. package/esm2015/lib/components/chart-deprecated/options/bar.js +2 -2
  23. package/esm2015/lib/components/chart-deprecated/options/column.js +2 -2
  24. package/esm2015/lib/components/icon/kirby-icon-settings.js +2 -1
  25. package/esm2015/lib/components/icon/kirby-icon-settings.metadata.json +1 -1
  26. package/esm2015/lib/components/index.js +1 -2
  27. package/esm2015/lib/components/index.metadata.json +1 -1
  28. package/esm2015/lib/components/list/directives/list-item-color.directive.js +1 -1
  29. package/esm2015/lib/components/list/list-item/list-item.component.js +1 -1
  30. package/esm2015/lib/components/list/list-item/list-item.component.metadata.json +1 -1
  31. package/esm2015/lib/components/list/list.component.js +1 -1
  32. package/esm2015/lib/components/list/list.component.metadata.json +1 -1
  33. package/esm2015/lib/components/modal/modal-wrapper/modal-wrapper.component.js +2 -2
  34. package/esm2015/lib/components/modal/modal-wrapper/modal-wrapper.component.metadata.json +1 -1
  35. package/esm2015/lib/components/radio/radio-group/radio-group.component.js +8 -4
  36. package/esm2015/lib/components/radio/radio-group/radio-group.component.metadata.json +1 -1
  37. package/esm2015/lib/components/segmented-control/segment-item.js +1 -1
  38. package/esm2015/lib/components/segmented-control/segmented-control.component.js +3 -3
  39. package/esm2015/lib/components/segmented-control/segmented-control.component.metadata.json +1 -1
  40. package/esm2015/lib/components/stock-chart-deprecated/options/stock-chart-deprecated-options.js +2 -2
  41. package/esm2015/lib/components/web-component-proxies.component.js +42 -0
  42. package/esm2015/lib/components/web-component-proxies.component.metadata.json +1 -0
  43. package/esm2015/lib/custom-elements-initializer.js +17 -0
  44. package/esm2015/lib/custom-elements-initializer.metadata.json +1 -0
  45. package/esm2015/lib/directives/fit-heading/fit-heading.directive.js +2 -2
  46. package/esm2015/lib/directives/fit-heading/fit-heading.directive.metadata.json +1 -1
  47. package/esm2015/lib/directives/theme-color/theme-color.directive.js +2 -3
  48. package/esm2015/lib/directives/theme-color/theme-color.directive.metadata.json +1 -1
  49. package/esm2015/lib/helpers/color-helper.js +2 -117
  50. package/esm2015/lib/helpers/color-helper.metadata.json +1 -1
  51. package/esm2015/lib/helpers/design-token-helper.js +2 -80
  52. package/esm2015/lib/helpers/design-token-helper.metadata.json +1 -1
  53. package/esm2015/lib/helpers/index.js +4 -2
  54. package/esm2015/lib/helpers/index.metadata.json +1 -1
  55. package/esm2015/lib/helpers/platform.service.js +2 -2
  56. package/esm2015/lib/helpers/string-helper.js +2 -45
  57. package/esm2015/lib/helpers/string-helper.metadata.json +1 -1
  58. package/esm2015/lib/helpers/theme-color.type.js +1 -1
  59. package/esm2015/lib/helpers/theme-color.type.metadata.json +1 -1
  60. package/esm2015/lib/index.js +5 -1
  61. package/esm2015/lib/index.metadata.json +1 -1
  62. package/esm2015/lib/kirby.module.js +4 -2
  63. package/esm2015/lib/kirby.module.metadata.json +1 -1
  64. package/esm2015/testing-base/kirbydesign-designsystem-testing-base.js +51 -52
  65. package/esm2015/testing-base/kirbydesign-designsystem-testing-base.metadata.json +1 -1
  66. package/esm2015/testing-base/lib/directives/mock.theme-color.directive.js +1 -2
  67. package/esm2015/testing-base/lib/directives/mock.theme-color.directive.metadata.json +1 -1
  68. package/esm2015/testing-base/lib/mock-components.js +1 -3
  69. package/esm2015/testing-base/lib/mock-components.metadata.json +1 -1
  70. package/fesm2015/kirbydesign-designsystem-testing-base.js +2 -24
  71. package/fesm2015/kirbydesign-designsystem-testing-base.js.map +1 -1
  72. package/fesm2015/kirbydesign-designsystem.js +173 -575
  73. package/fesm2015/kirbydesign-designsystem.js.map +1 -1
  74. package/icons/svg/payment-card.svg +6 -0
  75. package/kirbydesign-designsystem.d.ts +76 -75
  76. package/kirbydesign-designsystem.metadata.json +1 -1
  77. package/lib/components/angular-component-lib/utils.d.ts +7 -0
  78. package/lib/components/avatar/avatar.component.d.ts +1 -1
  79. package/lib/components/button/button.component.d.ts +1 -1
  80. package/lib/components/card/card-header/card-header.component.d.ts +1 -1
  81. package/lib/components/chart/chart.component.d.ts +1 -0
  82. package/lib/components/flag/flag.component.d.ts +1 -1
  83. package/lib/components/index.d.ts +0 -1
  84. package/lib/components/list/directives/list-item-color.directive.d.ts +1 -1
  85. package/lib/components/list/list-item/list-item.component.d.ts +1 -1
  86. package/lib/components/list/list.component.d.ts +1 -1
  87. package/lib/components/progress-circle/progress-circle.component.d.ts +1 -1
  88. package/lib/components/radio/radio-group/radio-group.component.d.ts +1 -0
  89. package/lib/components/segmented-control/segment-item.d.ts +3 -2
  90. package/lib/components/web-component-proxies.component.d.ts +9 -0
  91. package/lib/custom-elements-initializer.d.ts +7 -0
  92. package/lib/directives/theme-color/theme-color.directive.d.ts +1 -1
  93. package/lib/helpers/color-helper.d.ts +1 -37
  94. package/lib/helpers/design-token-helper.d.ts +1 -42
  95. package/lib/helpers/index.d.ts +1 -1
  96. package/lib/helpers/string-helper.d.ts +1 -4
  97. package/lib/helpers/theme-color.type.d.ts +1 -1
  98. package/lib/index.d.ts +1 -0
  99. package/package.json +3 -2
  100. package/scss/base/_variables.scss +1 -0
  101. package/testing-base/kirbydesign-designsystem-testing-base.d.ts +50 -51
  102. package/testing-base/kirbydesign-designsystem-testing-base.metadata.json +1 -1
  103. package/esm2015/lib/components/badge/badge.component.js +0 -14
  104. package/esm2015/lib/components/badge/badge.component.metadata.json +0 -1
  105. package/esm2015/lib/helpers/color-helper.styles.js +0 -194
  106. package/esm2015/lib/helpers/color-helper.styles.metadata.json +0 -1
  107. package/esm2015/lib/helpers/design-token-helper.styles.js +0 -79
  108. package/esm2015/lib/helpers/design-token-helper.styles.metadata.json +0 -1
  109. package/esm2015/testing-base/lib/components/mock.badge.component.js +0 -22
  110. package/esm2015/testing-base/lib/components/mock.badge.component.metadata.json +0 -1
  111. package/lib/components/badge/badge.component.d.ts +0 -3
  112. package/lib/helpers/color-helper.styles.d.ts +0 -206
  113. package/lib/helpers/design-token-helper.styles.d.ts +0 -124
  114. package/testing-base/lib/components/mock.badge.component.d.ts +0 -3
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@ionic/angular'), require('@angular/router'), require('rxjs'), require('rxjs/operators'), require('@angular/common'), require('highcharts'), require('chart.js'), require('chartjs-plugin-annotation'), require('highcharts/highstock'), require('highcharts/modules/annotations'), require('date-fns'), require('date-fns-tz'), require('date-fns/locale'), require('@angular/forms'), require('inputmask/lib/extensions/inputmask.date.extensions'), require('inputmask/lib/inputmask'), require('inputmask/lib/extensions/inputmask.numeric.extensions'), require('@angular/animations'), require('ngx-ui-scroll')) :
3
- typeof define === 'function' && define.amd ? define('@kirbydesign/designsystem', ['exports', '@angular/core', '@ionic/angular', '@angular/router', 'rxjs', 'rxjs/operators', '@angular/common', 'highcharts', 'chart.js', 'chartjs-plugin-annotation', 'highcharts/highstock', 'highcharts/modules/annotations', 'date-fns', 'date-fns-tz', 'date-fns/locale', '@angular/forms', 'inputmask/lib/extensions/inputmask.date.extensions', 'inputmask/lib/inputmask', 'inputmask/lib/extensions/inputmask.numeric.extensions', '@angular/animations', 'ngx-ui-scroll'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.kirbydesign = global.kirbydesign || {}, global.kirbydesign.designsystem = {}), global.ng.core, global.ionic, global.ng.router, global.rxjs, global.rxjs.operators, global.ng.common, global.highcharts, global.chart_js, global.annotationPlugin, global['highcharts/highstock'], global.highcharts, global['date-fns'], global['date-fns-tz'], global.locale, global.ng.forms, null, global.inputmask, null, global.ng.animations, global['ngx-ui-scroll']));
5
- }(this, (function (exports, i0, i1, i1$1, rxjs, operators, common, Highcharts, chart_js, annotationPlugin, Highcharts$1, AnnotationsModule, dateFns, dateFnsTz, locale, forms, inputmask_date_extensions, Inputmask, inputmask_numeric_extensions, animations, ngxUiScroll) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@kirbydesign/core'), require('@angular/core'), require('@ionic/angular'), require('@angular/router'), require('rxjs'), require('rxjs/operators'), require('@angular/common'), require('highcharts'), require('chart.js'), require('chartjs-plugin-annotation'), require('highcharts/highstock'), require('highcharts/modules/annotations'), require('date-fns'), require('date-fns-tz'), require('date-fns/locale'), require('@angular/forms'), require('inputmask/lib/extensions/inputmask.date.extensions'), require('inputmask/lib/inputmask'), require('inputmask/lib/extensions/inputmask.numeric.extensions'), require('@angular/animations'), require('ngx-ui-scroll'), require('@kirbydesign/core/loader')) :
3
+ typeof define === 'function' && define.amd ? define('@kirbydesign/designsystem', ['exports', '@kirbydesign/core', '@angular/core', '@ionic/angular', '@angular/router', 'rxjs', 'rxjs/operators', '@angular/common', 'highcharts', 'chart.js', 'chartjs-plugin-annotation', 'highcharts/highstock', 'highcharts/modules/annotations', 'date-fns', 'date-fns-tz', 'date-fns/locale', '@angular/forms', 'inputmask/lib/extensions/inputmask.date.extensions', 'inputmask/lib/inputmask', 'inputmask/lib/extensions/inputmask.numeric.extensions', '@angular/animations', 'ngx-ui-scroll', '@kirbydesign/core/loader'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.kirbydesign = global.kirbydesign || {}, global.kirbydesign.designsystem = {}), global.core, global.ng.core, global.ionic, global.ng.router, global.rxjs, global.rxjs.operators, global.ng.common, global.highcharts, global.chart_js, global.annotationPlugin, global['highcharts/highstock'], global.highcharts, global['date-fns'], global['date-fns-tz'], global.locale, global.ng.forms, null, global.inputmask, null, global.ng.animations, global['ngx-ui-scroll'], global.loader));
5
+ }(this, (function (exports, core, i0, i1, i1$1, rxjs, operators, common, Highcharts, chart_js, annotationPlugin, Highcharts$1, AnnotationsModule, dateFns, dateFnsTz, locale, forms, inputmask_date_extensions, Inputmask, inputmask_numeric_extensions, animations, ngxUiScroll, loader) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -32,95 +32,16 @@
32
32
  var AnnotationsModule__default = /*#__PURE__*/_interopDefaultLegacy(AnnotationsModule);
33
33
  var Inputmask__default = /*#__PURE__*/_interopDefaultLegacy(Inputmask);
34
34
 
35
- var styles = {
36
- sizes: {
37
- xxxl: '56px',
38
- xxl: '48px',
39
- xl: '40px',
40
- l: '32px',
41
- m: '24px',
42
- s: '16px',
43
- xs: '12px',
44
- xxs: '8px',
45
- xxxs: '4px',
46
- xxxxs: '2px',
47
- },
48
- fontSizes: {
49
- xxxxl: '72px',
50
- xxxl: '56px',
51
- xxl: '40px',
52
- xl: '32px',
53
- l: '22px',
54
- m: '18px',
55
- n: '16px',
56
- s: '14px',
57
- xs: '12px',
58
- xxs: '10px',
59
- },
60
- lineHeight: { xl: '38px', l: '28px', m: '24px', n: '24px', s: '20px', xs: '16px', xxs: '11px' },
61
- fontWeight: { light: '300', normal: '400', bold: '700', black: '900' },
62
- iconFontSizes: { xs: '16px', sm: '24px', md: '32px', lg: '56px' },
63
- zLayers: {
64
- default: '1',
65
- segmentBadge: '2',
66
- dropdown: '800',
67
- popover: '850',
68
- modalOverlay: '900',
69
- modal: '901',
70
- loadingOverlay: '1001',
71
- },
72
- borderRadius: '16px',
73
- borderRadiusRound: '999px',
74
- breakpoints: {
75
- small: '321px',
76
- medium: '721px',
77
- large: '1025px',
78
- xlarge: '60em',
79
- xxlarge: '80em',
80
- },
81
- elevations: {
82
- 2: 'rgba(28, 28, 28, 0.3) 0px 5px 10px -10px, rgba(28, 28, 28, 0.08) 0px 0px 5px 0px',
83
- 4: 'rgba(28, 28, 28, 0.3) 0px 10px 15px -10px, rgba(28, 28, 28, 0.08) 0px 0px 5px 0px',
84
- 8: 'rgba(28, 28, 28, 0.3) 0px 20px 30px -15px, rgba(28, 28, 28, 0.08) 0px 0px 5px 0px',
85
- },
86
- avatarSizes: { xs: '32px', s: '40px', m: '56px', l: '96px' },
87
- avatarBadgeSize: '16px',
88
- pageContentMaxWidth: '720px',
89
- alertMaxWidth: '359px',
90
- compactModalMaxWidth: '359px',
91
- modalMaxWidth: '720px',
92
- modalHeights: { s: '288px', m: '460px', l: '576px' },
93
- modalDefaultHeight: '460px',
94
- drawerDefaultHeight: '288px',
95
- itemHeights: { m: '56px', s: '44px', xs: '32px' },
96
- dropdownItemHeight: '44px',
97
- fatFingerSize: '44px',
98
- checkboxRadioSizes: { xs: '32px', sm: '44px', md: '56px' },
99
- checkboxRadioSpacing: { toEdge: '16px', toLabel: '12px' },
100
- softKeyboardTransitionEnter: '250ms ease-out 1ms',
101
- softKeyboardTransitionLeave: '150ms ease-out',
102
- transitionDurations: { quick: '200ms', short: '300ms', long: '500ms', extraLong: '1000ms' },
103
- transitionEasings: {
104
- static: 'linear',
105
- enter: 'ease-out',
106
- exit: 'ease-in',
107
- enterExit: 'ease',
108
- motion: 'cubic-bezier(0.25, 0.1, 0.25, 1)',
109
- modal: { enter: 'cubic-bezier(0.32, 0.72, 0, 1)', exit: 'cubic-bezier(0.32, 0.72, 0, 1)' },
110
- },
111
- loadingOverlayBackdropOpacity: '0.8',
112
- };
113
-
114
35
  (function (KirbyAnimation) {
115
36
  var Duration;
116
37
  (function (Duration) {
117
38
  // Duration in milliseconds
118
- Duration[Duration["QUICK"] = parseInt(styles.transitionDurations.quick)] = "QUICK";
119
- Duration[Duration["SHORT"] = parseInt(styles.transitionDurations.short)] = "SHORT";
120
- Duration[Duration["LONG"] = parseInt(styles.transitionDurations.long)] = "LONG";
121
- Duration[Duration["EXTRA_LONG"] = parseInt(styles.transitionDurations.extraLong)] = "EXTRA_LONG";
39
+ Duration[Duration["QUICK"] = parseInt(core.DesignTokenHelper.transitionDuration('quick'))] = "QUICK";
40
+ Duration[Duration["SHORT"] = parseInt(core.DesignTokenHelper.transitionDuration('short'))] = "SHORT";
41
+ Duration[Duration["LONG"] = parseInt(core.DesignTokenHelper.transitionDuration('long'))] = "LONG";
42
+ Duration[Duration["EXTRA_LONG"] = parseInt(core.DesignTokenHelper.transitionDuration('extraLong'))] = "EXTRA_LONG";
122
43
  })(Duration = KirbyAnimation.Duration || (KirbyAnimation.Duration = {}));
123
- KirbyAnimation.Easing = styles.transitionEasings;
44
+ KirbyAnimation.Easing = core.DesignTokenHelper.transitionEasings();
124
45
  })(exports.KirbyAnimation || (exports.KirbyAnimation = {}));
125
46
 
126
47
  var RouterOutletComponent = /** @class */ (function () {
@@ -1191,451 +1112,6 @@
1191
1112
  onFocusChange: [{ type: i0.HostListener, args: ['window:focus',] }, { type: i0.HostListener, args: ['window:focusout',] }]
1192
1113
  };
1193
1114
 
1194
- var styles$1 = {
1195
- brandColors: { primary: '#00e89a', secondary: '#005c3c', tertiary: '#01352c' },
1196
- notificationColors: { success: '#2cf287', warning: '#ffca3a', danger: '#ff595e' },
1197
- systemColors: {
1198
- backgroundColor: '#f6f6f6',
1199
- white: '#ffffff',
1200
- light: '#f2f2f2',
1201
- semiLight: '#ebebeb',
1202
- medium: '#d1d1d1',
1203
- semiDark: '#8e8e8e',
1204
- dark: '#353535',
1205
- black: '#1c1c1c',
1206
- },
1207
- textColors: { white: '#ffffff', semiDark: '#707070', black: '#1c1c1c', danger: '#ee0d0d' },
1208
- focusRingColor: '#4d90fe',
1209
- mainColors: {
1210
- primary: '#00e89a',
1211
- secondary: '#005c3c',
1212
- tertiary: '#01352c',
1213
- success: '#2cf287',
1214
- warning: '#ffca3a',
1215
- danger: '#ff595e',
1216
- light: '#f2f2f2',
1217
- medium: '#d1d1d1',
1218
- dark: '#353535',
1219
- },
1220
- kirbyColors: {
1221
- black: '#1c1c1c',
1222
- blackRgb: '28, 28, 28',
1223
- blackContrast: '#ffffff',
1224
- blackContrastRgb: '255, 255, 255',
1225
- blackShade: '#191919',
1226
- blackShadeRgb: '25, 25, 25',
1227
- blackTint: '#333333',
1228
- blackTintRgb: '51, 51, 51',
1229
- blackColorBrightness: 'dark',
1230
- dark: '#353535',
1231
- darkRgb: '53, 53, 53',
1232
- darkContrast: '#ffffff',
1233
- darkContrastRgb: '255, 255, 255',
1234
- darkShade: '#2f2f2f',
1235
- darkShadeRgb: '47, 47, 47',
1236
- darkTint: '#494949',
1237
- darkTintRgb: '73, 73, 73',
1238
- darkColorBrightness: 'dark',
1239
- semiDark: '#8e8e8e',
1240
- semiDarkRgb: '142, 142, 142',
1241
- semiDarkContrast: '#1c1c1c',
1242
- semiDarkContrastRgb: '28, 28, 28',
1243
- semiDarkShade: '#7d7d7d',
1244
- semiDarkShadeRgb: '125, 125, 125',
1245
- semiDarkTint: '#999999',
1246
- semiDarkTintRgb: '153, 153, 153',
1247
- semiDarkColorBrightness: 'light',
1248
- medium: '#d1d1d1',
1249
- mediumRgb: '209, 209, 209',
1250
- mediumContrast: '#1c1c1c',
1251
- mediumContrastRgb: '28, 28, 28',
1252
- mediumShade: '#b8b8b8',
1253
- mediumShadeRgb: '184, 184, 184',
1254
- mediumTint: '#d6d6d6',
1255
- mediumTintRgb: '214, 214, 214',
1256
- mediumColorBrightness: 'light',
1257
- semiLight: '#ebebeb',
1258
- semiLightRgb: '235, 235, 235',
1259
- semiLightContrast: '#1c1c1c',
1260
- semiLightContrastRgb: '28, 28, 28',
1261
- semiLightShade: '#cfcfcf',
1262
- semiLightShadeRgb: '207, 207, 207',
1263
- semiLightTint: '#ededed',
1264
- semiLightTintRgb: '237, 237, 237',
1265
- semiLightColorBrightness: 'light',
1266
- light: '#f2f2f2',
1267
- lightRgb: '242, 242, 242',
1268
- lightContrast: '#1c1c1c',
1269
- lightContrastRgb: '28, 28, 28',
1270
- lightShade: '#d5d5d5',
1271
- lightShadeRgb: '213, 213, 213',
1272
- lightTint: '#f3f3f3',
1273
- lightTintRgb: '243, 243, 243',
1274
- lightColorBrightness: 'light',
1275
- white: '#ffffff',
1276
- whiteRgb: '255, 255, 255',
1277
- whiteContrast: '#1c1c1c',
1278
- whiteContrastRgb: '28, 28, 28',
1279
- whiteShade: '#e0e0e0',
1280
- whiteShadeRgb: '224, 224, 224',
1281
- whiteTint: 'white',
1282
- whiteTintRgb: '255, 255, 255',
1283
- whiteColorBrightness: 'white',
1284
- backgroundColor: '#f6f6f6',
1285
- backgroundColorRgb: '246, 246, 246',
1286
- backgroundColorContrast: '#1c1c1c',
1287
- backgroundColorContrastRgb: '28, 28, 28',
1288
- backgroundColorShade: '#d8d8d8',
1289
- backgroundColorShadeRgb: '216, 216, 216',
1290
- backgroundColorTint: '#f7f7f7',
1291
- backgroundColorTintRgb: '247, 247, 247',
1292
- backgroundColorColorBrightness: 'light',
1293
- danger: '#ff595e',
1294
- dangerRgb: '255, 89, 94',
1295
- dangerContrast: '#1c1c1c',
1296
- dangerContrastRgb: '28, 28, 28',
1297
- dangerShade: '#e04e53',
1298
- dangerShadeRgb: '224, 78, 83',
1299
- dangerTint: '#ff6a6e',
1300
- dangerTintRgb: '255, 106, 110',
1301
- dangerColorBrightness: 'light',
1302
- warning: '#ffca3a',
1303
- warningRgb: '255, 202, 58',
1304
- warningContrast: '#1c1c1c',
1305
- warningContrastRgb: '28, 28, 28',
1306
- warningShade: '#e0b233',
1307
- warningShadeRgb: '224, 178, 51',
1308
- warningTint: '#ffcf4e',
1309
- warningTintRgb: '255, 207, 78',
1310
- warningColorBrightness: 'light',
1311
- success: '#2cf287',
1312
- successRgb: '44, 242, 135',
1313
- successContrast: '#1c1c1c',
1314
- successContrastRgb: '28, 28, 28',
1315
- successShade: '#27d577',
1316
- successShadeRgb: '39, 213, 119',
1317
- successTint: '#41f393',
1318
- successTintRgb: '65, 243, 147',
1319
- successColorBrightness: 'light',
1320
- tertiary: '#01352c',
1321
- tertiaryRgb: '1, 53, 44',
1322
- tertiaryContrast: '#ffffff',
1323
- tertiaryContrastRgb: '255, 255, 255',
1324
- tertiaryShade: '#012f27',
1325
- tertiaryShadeRgb: '1, 47, 39',
1326
- tertiaryTint: '#1a4941',
1327
- tertiaryTintRgb: '26, 73, 65',
1328
- tertiaryColorBrightness: 'dark',
1329
- secondary: '#005c3c',
1330
- secondaryRgb: '0, 92, 60',
1331
- secondaryContrast: '#ffffff',
1332
- secondaryContrastRgb: '255, 255, 255',
1333
- secondaryShade: '#005135',
1334
- secondaryShadeRgb: '0, 81, 53',
1335
- secondaryTint: '#1a6c50',
1336
- secondaryTintRgb: '26, 108, 80',
1337
- secondaryColorBrightness: 'dark',
1338
- primary: '#00e89a',
1339
- primaryRgb: '0, 232, 154',
1340
- primaryContrast: '#1c1c1c',
1341
- primaryContrastRgb: '28, 28, 28',
1342
- primaryShade: '#00cc88',
1343
- primaryShadeRgb: '0, 204, 136',
1344
- primaryTint: '#1aeaa4',
1345
- primaryTintRgb: '26, 234, 164',
1346
- primaryColorBrightness: 'light',
1347
- },
1348
- kirbyTextColors: {
1349
- danger: '#ee0d0d',
1350
- dangerRgb: '238, 13, 13',
1351
- dangerContrast: '#ffffff',
1352
- dangerContrastRgb: '255, 255, 255',
1353
- dangerShade: '#d10b0b',
1354
- dangerShadeRgb: '209, 11, 11',
1355
- dangerTint: '#f02525',
1356
- dangerTintRgb: '240, 37, 37',
1357
- dangerColorBrightness: 'dark',
1358
- black: '#1c1c1c',
1359
- blackRgb: '28, 28, 28',
1360
- blackContrast: '#ffffff',
1361
- blackContrastRgb: '255, 255, 255',
1362
- blackShade: '#191919',
1363
- blackShadeRgb: '25, 25, 25',
1364
- blackTint: '#333333',
1365
- blackTintRgb: '51, 51, 51',
1366
- blackColorBrightness: 'dark',
1367
- semiDark: '#707070',
1368
- semiDarkRgb: '112, 112, 112',
1369
- semiDarkContrast: '#ffffff',
1370
- semiDarkContrastRgb: '255, 255, 255',
1371
- semiDarkShade: '#636363',
1372
- semiDarkShadeRgb: '99, 99, 99',
1373
- semiDarkTint: '#7e7e7e',
1374
- semiDarkTintRgb: '126, 126, 126',
1375
- semiDarkColorBrightness: 'dark',
1376
- white: '#ffffff',
1377
- whiteRgb: '255, 255, 255',
1378
- whiteContrast: '#1c1c1c',
1379
- whiteContrastRgb: '28, 28, 28',
1380
- whiteShade: '#e0e0e0',
1381
- whiteShadeRgb: '224, 224, 224',
1382
- whiteTint: 'white',
1383
- whiteTintRgb: '255, 255, 255',
1384
- whiteColorBrightness: 'white',
1385
- },
1386
- };
1387
-
1388
- var kebabToCamelCase = function (kebabString) {
1389
- if (!kebabString.length || kebabString.length === 1) {
1390
- return kebabString;
1391
- }
1392
- var stringInCamelCase = kebabString
1393
- .split('-')
1394
- .map(function (part, index) { return (index === 0 ? part : part[0].toUpperCase() + part.substr(1)); })
1395
- .join('');
1396
- return stringInCamelCase;
1397
- };
1398
- var camelToKebabCase = function (camelString) {
1399
- if (!camelString.length || camelString.length === 1) {
1400
- return camelString;
1401
- }
1402
- var stringInKebabCase = camelString
1403
- .split('')
1404
- .map(function (char, index) {
1405
- var isUppercase = char.toUpperCase() === char;
1406
- if (!isUppercase || char === '-') {
1407
- return char;
1408
- }
1409
- return index === 0 ? char.toLowerCase() : "-" + char.toLowerCase();
1410
- })
1411
- .join('');
1412
- return stringInKebabCase;
1413
- };
1414
- var kebabToTitleCase = function (kebabString) {
1415
- if (!kebabString.length || kebabString.length === 1) {
1416
- return kebabString;
1417
- }
1418
- var stringInTitleCase = kebabString
1419
- .split('-')
1420
- .map(function (word) {
1421
- return word[0].toUpperCase() + word.slice(1);
1422
- })
1423
- .join(' ');
1424
- return stringInTitleCase;
1425
- };
1426
- var capitalizeFirstLetter = function (string) {
1427
- if (typeof string !== 'string') {
1428
- return '';
1429
- }
1430
- return string.charAt(0).toUpperCase() + string.slice(1);
1431
- };
1432
-
1433
- var ColorHelper = /** @class */ (function () {
1434
- function ColorHelper() {
1435
- }
1436
- ColorHelper.getMainColors = function () {
1437
- // Do not remove the `colorArray` const, since it'll break the ngpackagr build, for more info see:
1438
- // https://github.com/ng-packagr/ng-packagr/issues/696
1439
- var colorArray = Object.entries(styles$1.mainColors).map(function (_a) {
1440
- var _b = __read(_a, 2), name = _b[0], value = _b[1];
1441
- return ({ name: name, value: value });
1442
- });
1443
- return colorArray;
1444
- };
1445
- ColorHelper.mapToKirbyColorArray = function (colors, fullColorMap) {
1446
- if (fullColorMap === void 0) { fullColorMap = styles$1.kirbyColors; }
1447
- var TINT = 'Tint';
1448
- var SHADE = 'Shade';
1449
- var CONTRAST = 'Contrast';
1450
- var colorArray = Object.entries(colors).map(function (_a) {
1451
- var _b = __read(_a, 2), name = _b[0], value = _b[1];
1452
- return ({
1453
- name: camelToKebabCase(name),
1454
- value: value,
1455
- base: value,
1456
- tint: {
1457
- value: fullColorMap[name + TINT],
1458
- name: camelToKebabCase(name + TINT),
1459
- },
1460
- shade: {
1461
- value: fullColorMap[name + SHADE],
1462
- name: camelToKebabCase(name + SHADE),
1463
- },
1464
- contrast: {
1465
- value: fullColorMap[name + CONTRAST],
1466
- name: camelToKebabCase(name + CONTRAST),
1467
- },
1468
- });
1469
- });
1470
- // Do not remove the `colorArray` const, since it'll break the ngpackagr build, for more info see:
1471
- // https://github.com/ng-packagr/ng-packagr/issues/696
1472
- return colorArray;
1473
- };
1474
- ColorHelper.getBackgroundColor = function () {
1475
- return ColorHelper.getColor('background-color');
1476
- };
1477
- ColorHelper.getColorBrightness = function (name) {
1478
- return ColorHelper.getColor(name + '-color-brightness');
1479
- };
1480
- ColorHelper.getThemeColorRgbString = function (name, opacity) {
1481
- var rgbValue = ColorHelper.getColor(name + '-rgb');
1482
- return opacity
1483
- ? "rgba(" + rgbValue + ", " + ColorHelper.opacityThreshold(opacity) + ")"
1484
- : "rgb(" + rgbValue + ")";
1485
- };
1486
- ColorHelper.getThemeTextColorRgbString = function (name) {
1487
- var rgbValue = ColorHelper.getTextColor(name + '-rgb');
1488
- return "rgb(" + rgbValue + ")";
1489
- };
1490
- ColorHelper.getThemeColorHexString = function (name) {
1491
- return ColorHelper.getColor(name);
1492
- };
1493
- ColorHelper.getThemeTextColorHexString = function (name) {
1494
- return ColorHelper.getTextColor(name);
1495
- };
1496
- ColorHelper.getTransparentColorRgbString = function () {
1497
- return 'rgba(0, 0, 0, 0)';
1498
- };
1499
- ColorHelper.colorStringToRgbString = function (color) {
1500
- if (color.indexOf('rgb') === 0) {
1501
- return color;
1502
- }
1503
- if (color.indexOf('#') === 0) {
1504
- return ColorHelper.hexToRGB(color);
1505
- }
1506
- if (color.split(',').length === 3) {
1507
- return "rgb(" + color + ")";
1508
- }
1509
- if (color.split(',').length === 4) {
1510
- return "rgba(" + color + ")";
1511
- }
1512
- var ctx = document.createElement('canvas').getContext('2d');
1513
- ctx.fillStyle = color;
1514
- var renderedColor = ctx.fillStyle.toString();
1515
- return ColorHelper.colorStringToRgbString(renderedColor);
1516
- };
1517
- ColorHelper.hexToRGB = function (hex) {
1518
- var r = '0', g = '0', b = '0';
1519
- // 3 digits
1520
- if (hex.length === 4) {
1521
- r = '0x' + hex[1] + hex[1];
1522
- g = '0x' + hex[2] + hex[2];
1523
- b = '0x' + hex[3] + hex[3];
1524
- // 6 digits
1525
- }
1526
- else if (hex.length === 7) {
1527
- r = '0x' + hex[1] + hex[2];
1528
- g = '0x' + hex[3] + hex[4];
1529
- b = '0x' + hex[5] + hex[6];
1530
- }
1531
- return "rgb(" + +r + ", " + +g + ", " + +b + ")";
1532
- };
1533
- ColorHelper.getColor = function (name) {
1534
- var camelCaseKey = kebabToCamelCase(name);
1535
- var found = styles$1.kirbyColors[camelCaseKey];
1536
- return found || null;
1537
- };
1538
- ColorHelper.getTextColor = function (name) {
1539
- var camelCaseKey = kebabToCamelCase(name);
1540
- var found = styles$1.kirbyTextColors[camelCaseKey];
1541
- return found || null;
1542
- };
1543
- ColorHelper.opacityThreshold = function (opacity) {
1544
- if (0 <= opacity && opacity <= 1) {
1545
- return opacity;
1546
- }
1547
- console.warn("Opacity value must be between 0 and 1. Current value is: " + opacity + ".");
1548
- return 1;
1549
- };
1550
- return ColorHelper;
1551
- }());
1552
- ColorHelper.brandColors = ColorHelper.mapToKirbyColorArray(styles$1.brandColors);
1553
- ColorHelper.notificationColors = ColorHelper.mapToKirbyColorArray(styles$1.notificationColors);
1554
- ColorHelper.systemColors = ColorHelper.mapToKirbyColorArray(styles$1.systemColors);
1555
- ColorHelper.textColors = ColorHelper.mapToKirbyColorArray(styles$1.textColors, styles$1.kirbyTextColors);
1556
- ColorHelper.mainColors = ColorHelper.getMainColors();
1557
-
1558
- var DesignTokenHelper = /** @class */ (function () {
1559
- function DesignTokenHelper() {
1560
- }
1561
- DesignTokenHelper.getColor = function (name, variant) {
1562
- var variantSuffix = variant ? "-" + variant : '';
1563
- var colorVariant = "" + name + variantSuffix;
1564
- return {
1565
- name: name,
1566
- variant: variant,
1567
- fullname: colorVariant,
1568
- value: ColorHelper.getThemeColorRgbString(colorVariant),
1569
- hex: ColorHelper.getThemeColorHexString(colorVariant),
1570
- };
1571
- };
1572
- DesignTokenHelper.getTextColor = function (name, variant) {
1573
- var variantSuffix = variant ? "-" + variant : '';
1574
- var colorVariant = "" + name + variantSuffix;
1575
- return {
1576
- name: name,
1577
- variant: variant,
1578
- fullname: colorVariant,
1579
- value: ColorHelper.getThemeTextColorRgbString(colorVariant),
1580
- hex: ColorHelper.getThemeTextColorHexString(colorVariant),
1581
- };
1582
- };
1583
- DesignTokenHelper.size = function (key) {
1584
- return styles.sizes[key];
1585
- };
1586
- DesignTokenHelper.fontSize = function (key) {
1587
- return styles.fontSizes[key];
1588
- };
1589
- DesignTokenHelper.iconFontSize = function (key) {
1590
- return styles.iconFontSizes[key];
1591
- };
1592
- DesignTokenHelper.fontWeight = function (key) {
1593
- return styles.fontWeight[key];
1594
- };
1595
- DesignTokenHelper.lineHeight = function (key) {
1596
- return styles.lineHeight[key];
1597
- };
1598
- DesignTokenHelper.backgroundColor = function () {
1599
- return ColorHelper.getBackgroundColor();
1600
- };
1601
- DesignTokenHelper.borderRadius = function () {
1602
- return styles.borderRadius;
1603
- };
1604
- DesignTokenHelper.borderRadiusRound = function () {
1605
- return styles.borderRadiusRound;
1606
- };
1607
- DesignTokenHelper.alertMaxWidth = function () {
1608
- return styles.alertMaxWidth;
1609
- };
1610
- DesignTokenHelper.compactModalMaxWidth = function () {
1611
- return styles.compactModalMaxWidth;
1612
- };
1613
- DesignTokenHelper.dropdownItemHeight = function () {
1614
- return styles.dropdownItemHeight;
1615
- };
1616
- DesignTokenHelper.avatarSize = function (key) {
1617
- return styles.avatarSizes[key];
1618
- };
1619
- DesignTokenHelper.fatFingerSize = function () {
1620
- return styles.fatFingerSize;
1621
- };
1622
- DesignTokenHelper.getElevation = function (z) {
1623
- return styles.elevations[z];
1624
- };
1625
- DesignTokenHelper.itemHeight = function (key) {
1626
- return styles.itemHeights[key];
1627
- };
1628
- DesignTokenHelper.zLayer = function (key) {
1629
- return styles.zLayers[key];
1630
- };
1631
- return DesignTokenHelper;
1632
- }());
1633
- DesignTokenHelper.breakpoints = styles.breakpoints;
1634
- DesignTokenHelper.softKeyboardTransitionEnter = styles.softKeyboardTransitionEnter;
1635
- DesignTokenHelper.softKeyboardTransitionLeave = styles.softKeyboardTransitionLeave;
1636
- DesignTokenHelper.modalDefaultHeight = styles.modalDefaultHeight;
1637
- DesignTokenHelper.drawerDefaultHeight = styles.drawerDefaultHeight;
1638
-
1639
1115
  var PlatformService = /** @class */ (function () {
1640
1116
  function PlatformService(windowRef) {
1641
1117
  this.windowRef = windowRef;
@@ -1645,7 +1121,7 @@
1645
1121
  return this.windowRef.nativeWindow.matchMedia(isTouchDeviceQuery).matches;
1646
1122
  };
1647
1123
  PlatformService.prototype.isPhabletOrBigger = function () {
1648
- var query = "(min-width: " + DesignTokenHelper.breakpoints.medium + ")";
1124
+ var query = "(min-width: " + core.DesignTokenHelper.breakpoints.medium + ")";
1649
1125
  return this.windowRef.nativeWindow.matchMedia(query).matches;
1650
1126
  };
1651
1127
  return PlatformService;
@@ -1751,6 +1227,7 @@
1751
1227
  { name: 'misc', svg: 'assets/kirby/icons/svg/misc.svg' },
1752
1228
  { name: 'more', svg: 'assets/kirby/icons/svg/more.svg' },
1753
1229
  { name: 'move', svg: 'assets/kirby/icons/svg/move.svg' },
1230
+ { name: 'payment-card', svg: 'assets/kirby/icons/svg/payment-card.svg' },
1754
1231
  { name: 'pension', svg: 'assets/kirby/icons/svg/pension.svg' },
1755
1232
  { name: 'person-outline', svg: 'assets/kirby/icons/svg/person-outline.svg' },
1756
1233
  { name: 'person', svg: 'assets/kirby/icons/svg/person.svg' },
@@ -2195,7 +1672,7 @@
2195
1672
  _this.renderer.setStyle(scrollElement, 'height', '100%');
2196
1673
  _this.renderer.setStyle(scrollElement, 'position', 'relative');
2197
1674
  if (_this.config.flavor === 'drawer') {
2198
- _this.renderer.setStyle(scrollElement, 'transition', 'padding-bottom ' + DesignTokenHelper.softKeyboardTransitionLeave);
1675
+ _this.renderer.setStyle(scrollElement, 'transition', 'padding-bottom ' + core.DesignTokenHelper.softKeyboardTransitionLeave);
2199
1676
  }
2200
1677
  });
2201
1678
  };
@@ -3323,7 +2800,7 @@
3323
2800
  selector: 'kirby-avatar',
3324
2801
  template: "<div class=\"avatar\" [ngClass]=\"{ shadow: shadow, overlay: overlay }\">\n <img *ngIf=\"imageSrc\" [src]=\"imageSrc\" [attr.alt]=\"altText\" />\n <ng-content *ngIf=\"!text\" select=\"kirby-icon\"></ng-content>\n <span class=\"avatar-text\" *ngIf=\"text\">{{ text }}</span>\n</div>\n<ng-content select=\"kirby-badge\"></ng-content>\n",
3325
2802
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
3326
- styles: [":host{--kirby-badge-elevation:0 5px 10px -10px rgba(28,28,28,0.3),0 0 5px 0 rgba(28,28,28,0.08);--kirby-badge-position:absolute;--kirby-badge-right:-2px;--kirby-badge-top:-2px;--kirby-badge-zindex:2}.avatar,:host{position:relative}.avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;z-index:1;display:flex;justify-content:center;align-items:center;background-color:var(--kirby-white);color:var(--kirby-light-contrast);--kirby-icon-font-size:24px}.avatar.shadow{box-shadow:0 2px 4px 2px hsla(0,0%,44.3%,.4)}.avatar.overlay:before{content:\"\";background-color:var(--kirby-black);opacity:.05;width:100%;height:100%;position:absolute;top:0;left:0}.avatar img{object-fit:cover;max-width:100%;height:100%;width:100%}:host(.xs) .avatar{width:32px;height:32px;border-radius:8px}:host(.xs) .avatar .avatar-text{font-size:14px}:host(.sm) .avatar,:host-context(kirby-progress-circle.sm) .avatar{width:40px;height:40px}:host(.sm) .avatar .avatar-text,:host-context(kirby-progress-circle.sm) .avatar .avatar-text{font-size:14px}:host(.md),:host-context(kirby-progress-circle.md){--kirby-badge-right:0px;--kirby-badge-top:0px}:host(.md) .avatar,:host-context(kirby-progress-circle.md) .avatar{width:56px;height:56px;--kirby-icon-font-size:32px}:host(.md) .avatar .avatar-text,:host-context(kirby-progress-circle.md) .avatar .avatar-text{font-size:18px}:host(.lg),:host-context(kirby-progress-circle.lg){--kirby-badge-right:6px;--kirby-badge-top:6px}:host(.lg) .avatar,:host-context(kirby-progress-circle.lg) .avatar{width:96px;height:96px;--kirby-icon-font-size:56px}:host(.lg) .avatar .avatar-text,:host-context(kirby-progress-circle.lg) .avatar .avatar-text{font-size:32px}:host-context(kirby-item)[slot=start]{margin-inline-end:12px}:host-context(kirby-item)[slot=start].xs{margin-inline-end:16px}:host(.primary) .avatar{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}:host(.secondary) .avatar{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}:host(.tertiary) .avatar{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}:host(.success) .avatar{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}:host(.warning) .avatar{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}:host(.danger) .avatar{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}:host(.light) .avatar{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}:host(.medium) .avatar{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}:host(.dark) .avatar{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}:host(.white) .avatar{background-color:var(--kirby-white);color:var(--kirby-white-contrast)}:host(.semi-light) .avatar{background-color:var(--kirby-semi-light);color:var(--kirby-semi-light-contrast)}"]
2803
+ styles: [":host{--kirby-badge-elevation:0 5px 10px -10px rgba(28,28,28,0.3),0 0 5px 0 rgba(28,28,28,0.08);--kirby-badge-position:absolute;--kirby-badge-right:-2px;--kirby-badge-top:-2px;--kirby-badge-z-index:2}.avatar,:host{position:relative}.avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;z-index:1;display:flex;justify-content:center;align-items:center;background-color:var(--kirby-white);color:var(--kirby-light-contrast);--kirby-icon-font-size:24px}.avatar.shadow{box-shadow:0 2px 4px 2px hsla(0,0%,44.3%,.4)}.avatar.overlay:before{content:\"\";background-color:var(--kirby-black);opacity:.05;width:100%;height:100%;position:absolute;top:0;left:0}.avatar img{object-fit:cover;max-width:100%;height:100%;width:100%}:host(.xs) .avatar{width:32px;height:32px;border-radius:8px}:host(.xs) .avatar .avatar-text{font-size:14px}:host(.sm) .avatar,:host-context(kirby-progress-circle.sm) .avatar{width:40px;height:40px}:host(.sm) .avatar .avatar-text,:host-context(kirby-progress-circle.sm) .avatar .avatar-text{font-size:14px}:host(.md),:host-context(kirby-progress-circle.md){--kirby-badge-right:0px;--kirby-badge-top:0px}:host(.md) .avatar,:host-context(kirby-progress-circle.md) .avatar{width:56px;height:56px;--kirby-icon-font-size:32px}:host(.md) .avatar .avatar-text,:host-context(kirby-progress-circle.md) .avatar .avatar-text{font-size:18px}:host(.lg),:host-context(kirby-progress-circle.lg){--kirby-badge-right:6px;--kirby-badge-top:6px}:host(.lg) .avatar,:host-context(kirby-progress-circle.lg) .avatar{width:96px;height:96px;--kirby-icon-font-size:56px}:host(.lg) .avatar .avatar-text,:host-context(kirby-progress-circle.lg) .avatar .avatar-text{font-size:32px}:host-context(kirby-item)[slot=start]{margin-inline-end:12px}:host-context(kirby-item)[slot=start].xs{margin-inline-end:16px}:host(.primary) .avatar{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}:host(.secondary) .avatar{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}:host(.tertiary) .avatar{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}:host(.success) .avatar{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}:host(.warning) .avatar{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}:host(.danger) .avatar{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}:host(.light) .avatar{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}:host(.medium) .avatar{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}:host(.dark) .avatar{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}:host(.white) .avatar{background-color:var(--kirby-white);color:var(--kirby-white-contrast)}:host(.semi-light) .avatar{background-color:var(--kirby-semi-light);color:var(--kirby-semi-light-contrast)}"]
3327
2804
  },] }
3328
2805
  ];
3329
2806
  AvatarComponent.propDecorators = {
@@ -3337,22 +2814,6 @@
3337
2814
  _cssClass: [{ type: i0.HostBinding, args: ['class',] }]
3338
2815
  };
3339
2816
 
3340
- var BadgeComponent = /** @class */ (function () {
3341
- function BadgeComponent() {
3342
- }
3343
- return BadgeComponent;
3344
- }());
3345
- BadgeComponent.decorators = [
3346
- { type: i0.Component, args: [{
3347
- selector: 'kirby-badge',
3348
- template: "<ion-badge color=\"none\">\n <ng-content *ngIf=\"!text\"></ng-content>\n <ng-container *ngIf=\"text\">{{ text }}</ng-container>\n</ion-badge>\n",
3349
- styles: [":root{--kirby-badge-elevation:none;--kirby-badge-position:relative;--kirby-badge-left:0;--kirby-badge-right:0;--kirby-badge-top:0;--kirby-badge-zindex:none}:host{--kirby-badge-background-color:var(--kirby-white);--kirby-badge-color:var(--kirby-white-contrast);--ion-color-base:var(--kirby-badge-background-color);--ion-color-contrast:var(--kirby-badge-color);position:var(--kirby-badge-position);left:var(--kirby-badge-left);right:var(--kirby-badge-right);top:var(--kirby-badge-top);z-index:var(--kirby-badge-zindex);font-size:10px;line-height:1}:host ion-badge{--padding-top:3px;--padding-end:5px;--padding-bottom:3px;--padding-start:5px;box-sizing:border-box;border-radius:8px;min-width:16px;min-height:16px;font-size:inherit;position:relative;box-shadow:var(--kirby-badge-elevation)}:host ::ng-deep kirby-icon{--kirby-icon-font-size:16px;position:absolute;top:0;left:0}:host(.success){--kirby-badge-background-color:var(--kirby-success);--kirby-badge-color:var(--kirby-success-contrast)}:host(.warning){--kirby-badge-background-color:var(--kirby-warning);--kirby-badge-color:var(--kirby-warning-contrast)}:host(.danger){--kirby-badge-background-color:var(--kirby-danger);--kirby-badge-color:var(--kirby-danger-contrast);--kirby-badge-color:var(--kirby-white)}:host(.white){--kirby-badge-background-color:var(--kirby-white);--kirby-badge-color:var(--kirby-white-contrast)}"]
3350
- },] }
3351
- ];
3352
- BadgeComponent.propDecorators = {
3353
- text: [{ type: i0.Input }]
3354
- };
3355
-
3356
2817
  var CardComponent = /** @class */ (function () {
3357
2818
  function CardComponent(elementRef, resizeObserverService, renderer) {
3358
2819
  this.elementRef = elementRef;
@@ -3728,8 +3189,8 @@
3728
3189
  ],
3729
3190
  };
3730
3191
 
3731
- var getColor = DesignTokenHelper.getColor;
3732
- var fontSize = DesignTokenHelper.fontSize;
3192
+ var getColor = core.DesignTokenHelper.getColor;
3193
+ var fontSize = core.DesignTokenHelper.fontSize;
3733
3194
  function colorPoints() {
3734
3195
  var series = this.series;
3735
3196
  for (var i = 0, ie = series.length; i < ie; ++i) {
@@ -3816,8 +3277,8 @@
3816
3277
  },
3817
3278
  };
3818
3279
 
3819
- var getColor$1 = DesignTokenHelper.getColor;
3820
- var fontSize$1 = DesignTokenHelper.fontSize;
3280
+ var getColor$1 = core.DesignTokenHelper.getColor;
3281
+ var fontSize$1 = core.DesignTokenHelper.fontSize;
3821
3282
  function colorPoints$1() {
3822
3283
  var series = this.series;
3823
3284
  for (var i = 0, ie = series.length; i < ie; ++i) {
@@ -4348,11 +3809,49 @@
4348
3809
  return Array.isArray(value) && value.every(function (item) { return typeof item === 'number'; });
4349
3810
  }
4350
3811
 
3812
+ var ComponentLoaderDirective = /** @class */ (function () {
3813
+ function ComponentLoaderDirective(componentFactoryResolver, viewContainerRef, renderer) {
3814
+ this.componentFactoryResolver = componentFactoryResolver;
3815
+ this.viewContainerRef = viewContainerRef;
3816
+ this.renderer = renderer;
3817
+ }
3818
+ ComponentLoaderDirective.prototype.ngOnInit = function () {
3819
+ this.loadCard();
3820
+ };
3821
+ ComponentLoaderDirective.prototype.loadCard = function () {
3822
+ var componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.configuration.component);
3823
+ this.viewContainerRef.clear();
3824
+ var componentRef = this.viewContainerRef.createComponent(componentFactory);
3825
+ if (componentRef && componentRef.location && componentRef.location.nativeElement) {
3826
+ this.renderer.addClass(componentRef.location.nativeElement, this.cssClass);
3827
+ }
3828
+ componentRef.instance.data = this.configuration.data;
3829
+ };
3830
+ return ComponentLoaderDirective;
3831
+ }());
3832
+ ComponentLoaderDirective.decorators = [
3833
+ { type: i0.Directive, args: [{
3834
+ selector: '[kirbyLoadComponent]',
3835
+ },] }
3836
+ ];
3837
+ /** @nocollapse */
3838
+ ComponentLoaderDirective.ctorParameters = function () { return [
3839
+ { type: i0.ComponentFactoryResolver },
3840
+ { type: i0.ViewContainerRef },
3841
+ { type: i0.Renderer2 }
3842
+ ]; };
3843
+ ComponentLoaderDirective.propDecorators = {
3844
+ configuration: [{ type: i0.Input, args: ['kirbyLoadComponent',] }],
3845
+ cssClass: [{ type: i0.Input }]
3846
+ };
3847
+
4351
3848
  function deepCopy(obj) {
4352
3849
  return JSON.parse(JSON.stringify(obj));
4353
3850
  }
4354
3851
 
4355
- var getThemeColorHexString = ColorHelper.getThemeColorHexString;
3852
+ // re-export helpers from core, to preserve backwards compatability
3853
+
3854
+ var getThemeColorHexString = core.ColorHelper.getThemeColorHexString;
4356
3855
  /* The chart.js annotation does not allow for changing the
4357
3856
  defaults it comes with. In order to have sensible defaults
4358
3857
  this object is used instead and manually merged with the
@@ -4397,8 +3896,8 @@
4397
3896
  onHover: ɵ0$5,
4398
3897
  };
4399
3898
 
4400
- var fontSize$2 = DesignTokenHelper.fontSize;
4401
- var getThemeColorHexString$1 = ColorHelper.getThemeColorHexString, getThemeColorRgbString = ColorHelper.getThemeColorRgbString;
3899
+ var fontSize$2 = core.DesignTokenHelper.fontSize;
3900
+ var getThemeColorHexString$1 = core.ColorHelper.getThemeColorHexString, getThemeColorRgbString = core.ColorHelper.getThemeColorRgbString;
4402
3901
  var CHART_TYPES_CONFIG = {
4403
3902
  bar: {
4404
3903
  type: 'bar',
@@ -4521,7 +4020,7 @@
4521
4020
  { type: i0.Injectable }
4522
4021
  ];
4523
4022
 
4524
- var getThemeColorHexString$2 = ColorHelper.getThemeColorHexString;
4023
+ var getThemeColorHexString$2 = core.ColorHelper.getThemeColorHexString;
4525
4024
  var hoverBackgroundColor = getThemeColorHexString$2('primary');
4526
4025
  var backgroundColor = getThemeColorHexString$2('secondary');
4527
4026
  // Highlight elements that are added to the highlightedElements array
@@ -4543,7 +4042,7 @@
4543
4042
  }
4544
4043
  }
4545
4044
 
4546
- var getThemeColorHexString$3 = ColorHelper.getThemeColorHexString;
4045
+ var getThemeColorHexString$3 = core.ColorHelper.getThemeColorHexString;
4547
4046
  var CHART_GLOBAL_DEFAULTS = {
4548
4047
  maintainAspectRatio: false,
4549
4048
  color: getThemeColorHexString$3('black'),
@@ -4783,7 +4282,34 @@
4783
4282
  configurable: true
4784
4283
  });
4785
4284
  ChartComponent.prototype.ngAfterViewInit = function () {
4786
- this.renderChart();
4285
+ var _this = this;
4286
+ /*
4287
+ A chart is not rendered until it has both a height and a width.
4288
+ If ChartComponent is slotted in an ionic component it will
4289
+ not have any height or width on afterViewInit. This will cause
4290
+ the animation to not be played on first draw.
4291
+ */
4292
+ var canvasElement = this.canvasElement.nativeElement;
4293
+ this.whenElementHasHeightAndWidth(canvasElement).then(function () { return _this.renderChart(); });
4294
+ };
4295
+ ChartComponent.prototype.whenElementHasHeightAndWidth = function (element) {
4296
+ var rectIs2D = function (_a) {
4297
+ var width = _a.width, height = _a.height;
4298
+ return height > 0 && width > 0;
4299
+ };
4300
+ return new Promise(function (resolve) {
4301
+ var initialClientRect = element.getBoundingClientRect();
4302
+ if (rectIs2D(initialClientRect))
4303
+ resolve();
4304
+ var resizeObserver = new ResizeObserverFactory().create(function (_a) {
4305
+ var _b = __read(_a, 1), resizeObserverEntry = _b[0];
4306
+ if (rectIs2D(resizeObserverEntry.contentRect)) {
4307
+ resizeObserver.unobserve(element);
4308
+ resolve();
4309
+ }
4310
+ });
4311
+ resizeObserver.observe(element);
4312
+ });
4787
4313
  };
4788
4314
  ChartComponent.prototype.ngOnChanges = function (simpleChanges) {
4789
4315
  var _this = this;
@@ -4869,7 +4395,7 @@
4869
4395
  var transparentColor = 'rgba(255,255,255,0)';
4870
4396
  options.chart.backgroundColor = transparentColor;
4871
4397
  options.chart.height = height;
4872
- options.tooltip.backgroundColor = ColorHelper.getThemeColorRgbString('background-color');
4398
+ options.tooltip.backgroundColor = core.ColorHelper.getThemeColorRgbString('background-color');
4873
4399
  // Using a function instead of a lamdba-expression because of a reference to this.
4874
4400
  options.tooltip.formatter = function () {
4875
4401
  return ('<div class="kirby-text-xsmall">' +
@@ -4880,19 +4406,19 @@
4880
4406
  '</div>');
4881
4407
  };
4882
4408
  options.plotOptions.area.fillColor = transparentColor;
4883
- options.plotOptions.area.lineColor = ColorHelper.getThemeColorRgbString('tertiary');
4409
+ options.plotOptions.area.lineColor = core.ColorHelper.getThemeColorRgbString('tertiary');
4884
4410
  options.plotOptions.area.marker.lineColor = 'rgba(255,255,255,0.3)';
4885
- options.plotOptions.area.marker.fillColor = ColorHelper.getThemeColorRgbString('primary');
4411
+ options.plotOptions.area.marker.fillColor = core.ColorHelper.getThemeColorRgbString('primary');
4886
4412
  options.xAxis = Object.assign(Object.assign({}, options.xAxis), { crosshair: {
4887
- color: ColorHelper.getThemeColorRgbString('primary'),
4888
- }, tickColor: transparentColor, lineColor: ColorHelper.getThemeColorRgbString('medium'), labels: {
4413
+ color: core.ColorHelper.getThemeColorRgbString('primary'),
4414
+ }, tickColor: transparentColor, lineColor: core.ColorHelper.getThemeColorRgbString('medium'), labels: {
4889
4415
  style: {
4890
- color: ColorHelper.getThemeColorRgbString('semi-dark-tint'),
4416
+ color: core.ColorHelper.getThemeColorRgbString('semi-dark-tint'),
4891
4417
  },
4892
4418
  } });
4893
- options.yAxis = Object.assign(Object.assign({}, options.yAxis), { lineColor: transparentColor, gridLineColor: ColorHelper.getThemeColorRgbString('medium'), labels: {
4419
+ options.yAxis = Object.assign(Object.assign({}, options.yAxis), { lineColor: transparentColor, gridLineColor: core.ColorHelper.getThemeColorRgbString('medium'), labels: {
4894
4420
  style: {
4895
- color: ColorHelper.getThemeColorRgbString('semi-dark-tint'),
4421
+ color: core.ColorHelper.getThemeColorRgbString('semi-dark-tint'),
4896
4422
  },
4897
4423
  } });
4898
4424
  /*
@@ -4936,7 +4462,7 @@
4936
4462
  distance: 5,
4937
4463
  align: 'center',
4938
4464
  verticalAlign: 'top',
4939
- backgroundColor: ColorHelper.getThemeColorRgbString('tertiary'),
4465
+ backgroundColor: core.ColorHelper.getThemeColorRgbString('tertiary'),
4940
4466
  // Using a function instead of a lamdba-expression because of a reference to this.
4941
4467
  formatter: function () {
4942
4468
  return common.formatNumber(this.y, locale, '1.1-1');
@@ -4948,7 +4474,7 @@
4948
4474
  distance: -28,
4949
4475
  align: 'center',
4950
4476
  verticalAlign: 'bottom',
4951
- backgroundColor: ColorHelper.getThemeColorRgbString('tertiary'),
4477
+ backgroundColor: core.ColorHelper.getThemeColorRgbString('tertiary'),
4952
4478
  // Using a function instead of a lamdba-expression because of a reference to this.
4953
4479
  formatter: function () {
4954
4480
  return common.formatNumber(this.y, locale, '1.1-1');
@@ -5307,7 +4833,7 @@
5307
4833
  });
5308
4834
  Object.defineProperty(CalendarComponent.prototype, "activeMonthName", {
5309
4835
  get: function () {
5310
- return capitalizeFirstLetter(this.formatWithLocale(this.activeMonth, 'MMMM'));
4836
+ return core.capitalizeFirstLetter(this.formatWithLocale(this.activeMonth, 'MMMM'));
5311
4837
  },
5312
4838
  enumerable: false,
5313
4839
  configurable: true
@@ -5928,7 +5454,7 @@
5928
5454
  this.elementRef.nativeElement.style.zIndex = "" + this.zIndex;
5929
5455
  }
5930
5456
  else {
5931
- this.zIndex = parseInt(DesignTokenHelper.zLayer('popover'));
5457
+ this.zIndex = parseInt(core.DesignTokenHelper.zLayer('popover'));
5932
5458
  }
5933
5459
  };
5934
5460
  // document.removeEventListener needs the exact same event handler & options reference:
@@ -6729,6 +6255,13 @@
6729
6255
  enumerable: false,
6730
6256
  configurable: true
6731
6257
  });
6258
+ Object.defineProperty(RadioGroupComponent.prototype, "hasValue", {
6259
+ get: function () {
6260
+ return this.value !== undefined && this.value !== null;
6261
+ },
6262
+ enumerable: false,
6263
+ configurable: true
6264
+ });
6732
6265
  Object.defineProperty(RadioGroupComponent.prototype, "hasItemsFromContentProjection", {
6733
6266
  get: function () {
6734
6267
  return (!this.items.length &&
@@ -6796,7 +6329,7 @@
6796
6329
  // #endregion "protected" methods used by template
6797
6330
  // #region private methods
6798
6331
  RadioGroupComponent.prototype.getIndexOfSelectedValue = function () {
6799
- if (!this.value)
6332
+ if (!this.hasValue)
6800
6333
  return -1;
6801
6334
  return this.hasItemsFromContentProjection
6802
6335
  ? this.getIndexOfProjectedRadio(this.value)
@@ -6845,10 +6378,11 @@
6845
6378
  });
6846
6379
  };
6847
6380
  RadioGroupComponent.prototype.refreshSelectionState = function () {
6848
- if (this.value) {
6381
+ if (this.hasValue) {
6849
6382
  this._selectedIndex = this.getIndexOfSelectedValue(); // Ensure selectedIndex reflects value within items
6850
6383
  }
6851
- this._value = this.getValueFromSelectedIndex() || null; // Ensure value exists within items
6384
+ var valueFromSelectedIndex = this.getValueFromSelectedIndex();
6385
+ this._value = valueFromSelectedIndex !== undefined ? valueFromSelectedIndex : null;
6852
6386
  };
6853
6387
  RadioGroupComponent.prototype.refreshStateFromProjectedContent = function () {
6854
6388
  if (!!this._customItemTemplate)
@@ -8941,8 +8475,8 @@
8941
8475
  { type: i0.Renderer2 }
8942
8476
  ]; };
8943
8477
 
8944
- var fontSize$3 = DesignTokenHelper.fontSize;
8945
- var lineHeight = DesignTokenHelper.lineHeight;
8478
+ var fontSize$3 = core.DesignTokenHelper.fontSize;
8479
+ var lineHeight = core.DesignTokenHelper.lineHeight;
8946
8480
  var FitHeadingDirective = /** @class */ (function () {
8947
8481
  function FitHeadingDirective(elementRef, renderer, resizeObserverService, lineClampHelper) {
8948
8482
  this.elementRef = elementRef;
@@ -9113,42 +8647,6 @@
9113
8647
  },] }
9114
8648
  ];
9115
8649
 
9116
- var ComponentLoaderDirective = /** @class */ (function () {
9117
- function ComponentLoaderDirective(componentFactoryResolver, viewContainerRef, renderer) {
9118
- this.componentFactoryResolver = componentFactoryResolver;
9119
- this.viewContainerRef = viewContainerRef;
9120
- this.renderer = renderer;
9121
- }
9122
- ComponentLoaderDirective.prototype.ngOnInit = function () {
9123
- this.loadCard();
9124
- };
9125
- ComponentLoaderDirective.prototype.loadCard = function () {
9126
- var componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.configuration.component);
9127
- this.viewContainerRef.clear();
9128
- var componentRef = this.viewContainerRef.createComponent(componentFactory);
9129
- if (componentRef && componentRef.location && componentRef.location.nativeElement) {
9130
- this.renderer.addClass(componentRef.location.nativeElement, this.cssClass);
9131
- }
9132
- componentRef.instance.data = this.configuration.data;
9133
- };
9134
- return ComponentLoaderDirective;
9135
- }());
9136
- ComponentLoaderDirective.decorators = [
9137
- { type: i0.Directive, args: [{
9138
- selector: '[kirbyLoadComponent]',
9139
- },] }
9140
- ];
9141
- /** @nocollapse */
9142
- ComponentLoaderDirective.ctorParameters = function () { return [
9143
- { type: i0.ComponentFactoryResolver },
9144
- { type: i0.ViewContainerRef },
9145
- { type: i0.Renderer2 }
9146
- ]; };
9147
- ComponentLoaderDirective.propDecorators = {
9148
- configuration: [{ type: i0.Input, args: ['kirbyLoadComponent',] }],
9149
- cssClass: [{ type: i0.Input }]
9150
- };
9151
-
9152
8650
  (function (SegmentedControlMode) {
9153
8651
  SegmentedControlMode["chip"] = "chip";
9154
8652
  SegmentedControlMode["compactChip"] = "compactChip";
@@ -9238,10 +8736,10 @@
9238
8736
  SegmentedControlComponent.decorators = [
9239
8737
  { type: i0.Component, args: [{
9240
8738
  selector: 'kirby-segmented-control',
9241
- template: "<ion-segment\n *ngIf=\"mode === 'default'\"\n [value]=\"value?.id\"\n (ionChange)=\"onSegmentSelect($event.detail.value)\"\n (click)=\"preventWrapperClick($event)\"\n>\n <div *ngFor=\"let item of items\" class=\"segment-btn-wrapper\">\n <ion-segment-button [value]=\"item.id\">{{ item.text }}</ion-segment-button>\n <kirby-badge\n *ngIf=\"item.badge\"\n role=\"text\"\n [attr.aria-label]=\"item.badge.description\"\n [themeColor]=\"item.badge.themeColor\"\n >{{ item.badge.content }}</kirby-badge\n >\n </div>\n</ion-segment>\n\n<ng-container *ngIf=\"mode === 'chip' || mode === 'compactChip'\">\n <kirby-chip\n *ngFor=\"let item of items; let index = index\"\n [text]=\"item.text\"\n [isSelected]=\"index === selectedIndex\"\n (click)=\"onSegmentSelect(item.id)\"\n role=\"button\"\n ></kirby-chip>\n</ng-container>\n",
8739
+ template: "<ion-segment\n *ngIf=\"mode === 'default'\"\n [value]=\"value?.id\"\n (ionChange)=\"onSegmentSelect($event.detail.value)\"\n (click)=\"preventWrapperClick($event)\"\n>\n <div *ngFor=\"let item of items\" class=\"segment-btn-wrapper\">\n <ion-segment-button [value]=\"item.id\">{{ item.text }}</ion-segment-button>\n <kirby-badge\n *ngIf=\"item.badge\"\n role=\"text\"\n [attr.aria-label]=\"item.badge.description\"\n [themeColor]=\"item.badge.themeColor\"\n >\n <kirby-icon\n *ngIf=\"item.badge.icon; else badgeContent\"\n [customName]=\"item.badge.icon\"\n [name]=\"item.badge.icon\"\n ></kirby-icon>\n <ng-template #badgeContent>\n {{ item.badge.content }}\n </ng-template>\n </kirby-badge>\n </div>\n</ion-segment>\n\n<ng-container *ngIf=\"mode === 'chip' || mode === 'compactChip'\">\n <kirby-chip\n *ngFor=\"let item of items; let index = index\"\n [text]=\"item.text\"\n [isSelected]=\"index === selectedIndex\"\n (click)=\"onSegmentSelect(item.id)\"\n role=\"button\"\n ></kirby-chip>\n</ng-container>\n",
9242
8740
  // tslint:disable-next-line: no-host-metadata-property
9243
8741
  host: { role: 'group' },
9244
- styles: [":host{display:block;-webkit-user-select:none;user-select:none}:host.sm ion-segment-button{min-height:32px;font-size:12px;--padding-start:16px;--padding-end:16px}:host.chip-mode{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden}@media (pointer:coarse){:host.chip-mode{scrollbar-width:none}:host.chip-mode::-webkit-scrollbar{display:none}}ion-segment{display:inline-flex;width:auto;overflow:visible;contain:unset;--background:var(--kirby-white);border-radius:999px}ion-segment-button{position:relative;min-height:40px;font-weight:400;font-size:14px;text-transform:none;--border-radius:999px;--border-style:none;--background:none;--color:var(--kirby-white-contrast);--indicator-color:var(--kirby-black);--color-checked:var(--kirby-black-contrast);--color-hover:var(--kirby-black-tint);--indicator-box-shadow:none;--padding-start:24px;--padding-end:24px;--margin-bottom:0;--margin-end:0;--margin-start:0;--margin-top:0;margin:0}ion-segment-button:after{content:\"\";position:absolute;min-height:44px;min-width:44px;width:100%;height:100%;transform:translate(-50%,-50%);left:50%;top:50%}.segment-btn-wrapper{position:relative}kirby-badge{--kirby-badge-elevation:0 5px 10px -10px rgba(28,28,28,0.3),0 0 5px 0 rgba(28,28,28,0.08);position:absolute;top:-8px;right:8px;z-index:2}:host-context(.plt-desktop) ion-segment-button:focus-within{outline-color:-webkit-focus-ring-color;outline-style:auto}"]
8742
+ styles: [":host{display:block;-webkit-user-select:none;user-select:none;--kirby-badge-elevation:0 5px 10px -10px rgba(28,28,28,0.3),0 0 5px 0 rgba(28,28,28,0.08);--kirby-badge-position:absolute;--kirby-badge-top:-8px;--kirby-badge-right:8px;--kirby-badge-z-index:2}:host.sm ion-segment-button{min-height:32px;font-size:12px;--padding-start:16px;--padding-end:16px}:host.chip-mode{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden}@media (pointer:coarse){:host.chip-mode{scrollbar-width:none}:host.chip-mode::-webkit-scrollbar{display:none}}ion-segment{display:inline-flex;width:auto;overflow:visible;contain:unset;--background:var(--kirby-white);border-radius:999px}ion-segment-button{position:relative;min-height:40px;font-weight:400;font-size:14px;text-transform:none;--border-radius:999px;--border-style:none;--background:none;--color:var(--kirby-white-contrast);--indicator-color:var(--kirby-black);--color-checked:var(--kirby-black-contrast);--color-hover:var(--kirby-black-tint);--indicator-box-shadow:none;--padding-start:24px;--padding-end:24px;--margin-bottom:0;--margin-end:0;--margin-start:0;--margin-top:0;margin:0}ion-segment-button:after{content:\"\";position:absolute;min-height:44px;min-width:44px;width:100%;height:100%;transform:translate(-50%,-50%);left:50%;top:50%}.segment-btn-wrapper{position:relative}:host-context(.plt-desktop) ion-segment-button:focus-within{outline-color:-webkit-focus-ring-color;outline-style:auto}"]
9245
8743
  },] }
9246
8744
  ];
9247
8745
  SegmentedControlComponent.propDecorators = {
@@ -9994,7 +9492,7 @@
9994
9492
  this._isMedium = value === 'medium';
9995
9493
  this._isDark = value === 'dark';
9996
9494
  this._isWhite = value === 'white';
9997
- var colorBrightness = ColorHelper.getColorBrightness(value);
9495
+ var colorBrightness = core.ColorHelper.getColorBrightness(value);
9998
9496
  this._isBrightnessWhite = colorBrightness === 'white';
9999
9497
  this._isBrightnessLight = colorBrightness === 'light';
10000
9498
  this._isBrightnessDark = colorBrightness === 'dark';
@@ -10007,7 +9505,7 @@
10007
9505
  ThemeColorDirective.decorators = [
10008
9506
  { type: i0.Directive, args: [{
10009
9507
  // tslint:disable-next-line:directive-selector
10010
- selector: "kirby-avatar[themeColor],\n kirby-card[themeColor],\n kirby-badge[themeColor],\n kirby-icon[themeColor],\n kirby-progress-circle-ring[themeColor],\n kirby-modal-footer[themeColor],\n kirby-empty-state[themeColor]",
9508
+ selector: "kirby-avatar[themeColor],\n kirby-card[themeColor],\n kirby-icon[themeColor],\n kirby-progress-circle-ring[themeColor],\n kirby-modal-footer[themeColor],\n kirby-empty-state[themeColor]",
10011
9509
  },] }
10012
9510
  ];
10013
9511
  ThemeColorDirective.propDecorators = {
@@ -10028,6 +9526,90 @@
10028
9526
  themeColor: [{ type: i0.Input }]
10029
9527
  };
10030
9528
 
9529
+ var proxyInputs = function (Cmp, inputs) {
9530
+ var Prototype = Cmp.prototype;
9531
+ inputs.forEach(function (item) {
9532
+ Object.defineProperty(Prototype, item, {
9533
+ get: function () {
9534
+ return this.el[item];
9535
+ },
9536
+ set: function (val) {
9537
+ var _this = this;
9538
+ this.z.runOutsideAngular(function () { return (_this.el[item] = val); });
9539
+ },
9540
+ });
9541
+ });
9542
+ };
9543
+ var proxyMethods = function (Cmp, methods) {
9544
+ var Prototype = Cmp.prototype;
9545
+ methods.forEach(function (methodName) {
9546
+ Prototype[methodName] = function () {
9547
+ var _this = this;
9548
+ var args = arguments;
9549
+ return this.z.runOutsideAngular(function () { return _this.el[methodName].apply(_this.el, args); });
9550
+ };
9551
+ });
9552
+ };
9553
+ var proxyOutputs = function (instance, el, events) {
9554
+ events.forEach(function (eventName) { return (instance[eventName] = rxjs.fromEvent(el, eventName)); });
9555
+ };
9556
+ // tslint:disable-next-line: only-arrow-functions
9557
+ function ProxyCmp(opts) {
9558
+ var decorator = function (cls) {
9559
+ if (opts.inputs) {
9560
+ proxyInputs(cls, opts.inputs);
9561
+ }
9562
+ if (opts.methods) {
9563
+ proxyMethods(cls, opts.methods);
9564
+ }
9565
+ return cls;
9566
+ };
9567
+ return decorator;
9568
+ }
9569
+
9570
+ var __decorate$1 = (this && this.__decorate) || function (decorators, target, key, desc) {
9571
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9572
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
9573
+ r = Reflect.decorate(decorators, target, key, desc);
9574
+ else
9575
+ for (var i = decorators.length - 1; i >= 0; i--)
9576
+ if (d = decorators[i])
9577
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9578
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
9579
+ };
9580
+ var __metadata$1 = (this && this.__metadata) || function (k, v) {
9581
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
9582
+ return Reflect.metadata(k, v);
9583
+ };
9584
+ exports.BadgeComponent = /** @class */ (function () {
9585
+ function KirbyBadge(c, r, z) {
9586
+ this.z = z;
9587
+ c.detach();
9588
+ this.el = r.nativeElement;
9589
+ }
9590
+ return KirbyBadge;
9591
+ }());
9592
+ exports.BadgeComponent.decorators = [
9593
+ { type: i0.Component, args: [{
9594
+ selector: 'kirby-badge',
9595
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
9596
+ template: '<ng-content></ng-content>',
9597
+ inputs: ['size', 'text', 'themeColor']
9598
+ },] }
9599
+ ];
9600
+ /** @nocollapse */
9601
+ exports.BadgeComponent.ctorParameters = function () { return [
9602
+ { type: i0.ChangeDetectorRef },
9603
+ { type: i0.ElementRef },
9604
+ { type: i0.NgZone }
9605
+ ]; };
9606
+ exports.BadgeComponent = __decorate$1([
9607
+ ProxyCmp({
9608
+ inputs: ['size', 'text', 'themeColor']
9609
+ }),
9610
+ __metadata$1("design:paramtypes", [i0.ChangeDetectorRef, i0.ElementRef, i0.NgZone])
9611
+ ], exports.BadgeComponent);
9612
+
10031
9613
  var ChartModule = /** @class */ (function () {
10032
9614
  function ChartModule() {
10033
9615
  }
@@ -10147,6 +9729,20 @@
10147
9729
  },] }
10148
9730
  ];
10149
9731
 
9732
+ var appInitialize = function (doc) {
9733
+ return function () {
9734
+ loader.defineCustomElements(doc.defaultView);
9735
+ };
9736
+ };
9737
+ function customElementsInitializer() {
9738
+ return {
9739
+ provide: i0.APP_INITIALIZER,
9740
+ useFactory: appInitialize,
9741
+ deps: [common.DOCUMENT],
9742
+ multi: true,
9743
+ };
9744
+ }
9745
+
10150
9746
  var ModalRouterLinkDirective = /** @class */ (function () {
10151
9747
  function ModalRouterLinkDirective(modalNavigationService) {
10152
9748
  this.modalNavigationService = modalNavigationService;
@@ -10190,7 +9786,7 @@
10190
9786
  ModalRouterLinkDirective,
10191
9787
  SegmentedControlComponent,
10192
9788
  ChipComponent,
10193
- BadgeComponent,
9789
+ exports.BadgeComponent,
10194
9790
  ThemeColorDirective,
10195
9791
  DateInputDirective,
10196
9792
  DecimalMaskDirective,
@@ -10250,6 +9846,7 @@
10250
9846
  LoadingOverlayService,
10251
9847
  ResizeObserverFactory,
10252
9848
  ResizeObserverService,
9849
+ customElementsInitializer(),
10253
9850
  ];
10254
9851
  var entryComponents = [
10255
9852
  ModalWrapperComponent,
@@ -10304,6 +9901,42 @@
10304
9901
  * Generated bundle index. Do not edit.
10305
9902
  */
10306
9903
 
9904
+ Object.defineProperty(exports, 'ColorHelper', {
9905
+ enumerable: true,
9906
+ get: function () {
9907
+ return core.ColorHelper;
9908
+ }
9909
+ });
9910
+ Object.defineProperty(exports, 'DesignTokenHelper', {
9911
+ enumerable: true,
9912
+ get: function () {
9913
+ return core.DesignTokenHelper;
9914
+ }
9915
+ });
9916
+ Object.defineProperty(exports, 'camelToKebabCase', {
9917
+ enumerable: true,
9918
+ get: function () {
9919
+ return core.camelToKebabCase;
9920
+ }
9921
+ });
9922
+ Object.defineProperty(exports, 'capitalizeFirstLetter', {
9923
+ enumerable: true,
9924
+ get: function () {
9925
+ return core.capitalizeFirstLetter;
9926
+ }
9927
+ });
9928
+ Object.defineProperty(exports, 'kebabToCamelCase', {
9929
+ enumerable: true,
9930
+ get: function () {
9931
+ return core.kebabToCamelCase;
9932
+ }
9933
+ });
9934
+ Object.defineProperty(exports, 'kebabToTitleCase', {
9935
+ enumerable: true,
9936
+ get: function () {
9937
+ return core.kebabToTitleCase;
9938
+ }
9939
+ });
10307
9940
  Object.defineProperty(exports, 'IonRouterOutlet', {
10308
9941
  enumerable: true,
10309
9942
  get: function () {
@@ -10328,7 +9961,6 @@
10328
9961
  exports.AppComponent = AppComponent;
10329
9962
  exports.AppModule = AppModule;
10330
9963
  exports.AvatarComponent = AvatarComponent;
10331
- exports.BadgeComponent = BadgeComponent;
10332
9964
  exports.ButtonComponent = ButtonComponent;
10333
9965
  exports.COMPONENT_PROPS = COMPONENT_PROPS;
10334
9966
  exports.CalendarComponent = CalendarComponent;
@@ -10339,11 +9971,9 @@
10339
9971
  exports.ChartDeprecatedComponent = ChartDeprecatedComponent;
10340
9972
  exports.CheckboxComponent = CheckboxComponent;
10341
9973
  exports.ChipComponent = ChipComponent;
10342
- exports.ColorHelper = ColorHelper;
10343
9974
  exports.ComponentLoaderDirective = ComponentLoaderDirective;
10344
9975
  exports.DateInputDirective = DateInputDirective;
10345
9976
  exports.DecimalMaskDirective = DecimalMaskDirective;
10346
- exports.DesignTokenHelper = DesignTokenHelper;
10347
9977
  exports.DividerComponent = DividerComponent;
10348
9978
  exports.DropdownComponent = DropdownComponent;
10349
9979
  exports.EmptyStateComponent = EmptyStateComponent;
@@ -10424,85 +10054,81 @@
10424
10054
  exports.ToggleButtonComponent = ToggleButtonComponent;
10425
10055
  exports.ToggleComponent = ToggleComponent;
10426
10056
  exports.annotations = annotations;
10427
- exports.camelToKebabCase = camelToKebabCase;
10428
- exports.capitalizeFirstLetter = capitalizeFirstLetter;
10429
10057
  exports.defaultIcons = defaultIcons;
10430
10058
  exports.isNumberArray = isNumberArray;
10431
- exports.kebabToCamelCase = kebabToCamelCase;
10432
- exports.kebabToTitleCase = kebabToTitleCase;
10433
10059
  exports.selectedTabClickEvent = selectedTabClickEvent;
10434
10060
  exports.stockChartDeprecatedOptions = stockChartDeprecatedOptions;
10435
10061
  exports.ɵ0 = ɵ0$6;
10436
- exports.ɵa = AppModule;
10437
- exports.ɵb = AppComponent;
10438
- exports.ɵba = Modal;
10439
- exports.ɵbb = ButtonComponent;
10440
- exports.ɵbc = IconComponent;
10441
- exports.ɵbd = IconRegistryService;
10442
- exports.ɵbf = ICON_SETTINGS;
10443
- exports.ɵbg = ResizeObserverService;
10444
- exports.ɵbh = ResizeObserverFactory;
10445
- exports.ɵbi = FitHeadingModule;
10446
- exports.ɵbj = FitHeadingDirective;
10447
- exports.ɵbk = LineClampHelper;
10448
- exports.ɵbl = SpinnerModule;
10449
- exports.ɵbm = SpinnerComponent;
10450
- exports.ɵbn = TabsModule;
10451
- exports.ɵbo = IconModule;
10452
- exports.ɵbp = TabButtonComponent;
10453
- exports.ɵbq = ItemModule;
10454
- exports.ɵbr = ItemComponent;
10455
- exports.ɵbs = LabelComponent;
10456
- exports.ɵbt = ToggleButtonModule;
10457
- exports.ɵbu = ToggleButtonComponent;
10458
- exports.ɵbv = ListModule;
10459
- exports.ɵbw = ListComponent;
10460
- exports.ɵbx = ListHelper;
10461
- exports.ɵby = GroupByPipe;
10462
- exports.ɵbz = InfiniteScrollDirective;
10463
- exports.ɵc = RouterOutletComponent;
10464
- exports.ɵca = ListItemDirective;
10465
- exports.ɵcb = ListFlexItemDirective;
10466
- exports.ɵcc = ListItemTemplateDirective;
10467
- exports.ɵcd = ListHeaderDirective;
10468
- exports.ɵce = ListSectionHeaderDirective;
10469
- exports.ɵcf = ListFooterDirective;
10470
- exports.ɵcg = ListItemComponent;
10471
- exports.ɵch = ListSectionHeaderComponent;
10472
- exports.ɵci = ListHeaderComponent;
10473
- exports.ɵcj = ListItemColorDirective;
10474
- exports.ɵck = ChartModule;
10475
- exports.ɵcl = ChartComponent;
10476
- exports.ɵcm = ChartJSService;
10477
- exports.ɵcn = ChartConfigService;
10478
- exports.ɵco = CardComponent;
10479
- exports.ɵcp = CardHeaderComponent;
10480
- exports.ɵcq = CardFooterComponent;
10481
- exports.ɵcr = ChartDeprecatedComponent;
10482
- exports.ɵcs = ChartDeprecatedHelper;
10483
- exports.ɵct = DONUT_OPTIONS;
10484
- exports.ɵcu = DonutOptions;
10485
- exports.ɵcv = AREASPLINE_OPTIONS;
10486
- exports.ɵcw = AreaSplineOptions;
10487
- exports.ɵcx = TIMESERIES_OPTIONS;
10488
- exports.ɵcy = TimeSeriesOptions;
10489
- exports.ɵcz = ACTIVITYGAUGE_OPTIONS;
10490
- exports.ɵd = ModalController;
10491
- exports.ɵda = ActivityGaugeOptions;
10492
- exports.ɵdb = StockChartDeprecatedComponent;
10493
- exports.ɵdc = GridComponent;
10494
- exports.ɵdd = BreakpointHelperService;
10495
- exports.ɵde = ComponentLoaderDirective;
10496
- exports.ɵdf = AvatarComponent;
10497
- exports.ɵdg = CalendarComponent;
10498
- exports.ɵdh = CalendarHelper;
10499
- exports.ɵdi = CheckboxComponent;
10500
- exports.ɵdj = ActionSheetComponent;
10501
- exports.ɵdk = ModalFooterComponent;
10502
- exports.ɵdl = ModalRouterLinkDirective;
10503
- exports.ɵdm = SegmentedControlComponent;
10504
- exports.ɵdn = ChipComponent;
10505
- exports.ɵdo = BadgeComponent;
10062
+ exports.ɵa = ProxyCmp;
10063
+ exports.ɵb = AppModule;
10064
+ exports.ɵba = ModalWrapperComponent;
10065
+ exports.ɵbb = Modal;
10066
+ exports.ɵbc = ButtonComponent;
10067
+ exports.ɵbd = IconComponent;
10068
+ exports.ɵbe = IconRegistryService;
10069
+ exports.ɵbg = ICON_SETTINGS;
10070
+ exports.ɵbh = ResizeObserverService;
10071
+ exports.ɵbi = ResizeObserverFactory;
10072
+ exports.ɵbj = FitHeadingModule;
10073
+ exports.ɵbk = FitHeadingDirective;
10074
+ exports.ɵbl = LineClampHelper;
10075
+ exports.ɵbm = SpinnerModule;
10076
+ exports.ɵbn = SpinnerComponent;
10077
+ exports.ɵbo = TabsModule;
10078
+ exports.ɵbp = IconModule;
10079
+ exports.ɵbq = TabButtonComponent;
10080
+ exports.ɵbr = ItemModule;
10081
+ exports.ɵbs = ItemComponent;
10082
+ exports.ɵbt = LabelComponent;
10083
+ exports.ɵbu = ToggleButtonModule;
10084
+ exports.ɵbv = ToggleButtonComponent;
10085
+ exports.ɵbw = ListModule;
10086
+ exports.ɵbx = ListComponent;
10087
+ exports.ɵby = ListHelper;
10088
+ exports.ɵbz = GroupByPipe;
10089
+ exports.ɵc = AppComponent;
10090
+ exports.ɵca = InfiniteScrollDirective;
10091
+ exports.ɵcb = ListItemDirective;
10092
+ exports.ɵcc = ListFlexItemDirective;
10093
+ exports.ɵcd = ListItemTemplateDirective;
10094
+ exports.ɵce = ListHeaderDirective;
10095
+ exports.ɵcf = ListSectionHeaderDirective;
10096
+ exports.ɵcg = ListFooterDirective;
10097
+ exports.ɵch = ListItemComponent;
10098
+ exports.ɵci = ListSectionHeaderComponent;
10099
+ exports.ɵcj = ListHeaderComponent;
10100
+ exports.ɵck = ListItemColorDirective;
10101
+ exports.ɵcl = ChartModule;
10102
+ exports.ɵcm = ChartComponent;
10103
+ exports.ɵcn = ChartJSService;
10104
+ exports.ɵco = ChartConfigService;
10105
+ exports.ɵcp = CardComponent;
10106
+ exports.ɵcq = CardHeaderComponent;
10107
+ exports.ɵcr = CardFooterComponent;
10108
+ exports.ɵcs = ChartDeprecatedComponent;
10109
+ exports.ɵct = ChartDeprecatedHelper;
10110
+ exports.ɵcu = DONUT_OPTIONS;
10111
+ exports.ɵcv = DonutOptions;
10112
+ exports.ɵcw = AREASPLINE_OPTIONS;
10113
+ exports.ɵcx = AreaSplineOptions;
10114
+ exports.ɵcy = TIMESERIES_OPTIONS;
10115
+ exports.ɵcz = TimeSeriesOptions;
10116
+ exports.ɵd = RouterOutletComponent;
10117
+ exports.ɵda = ACTIVITYGAUGE_OPTIONS;
10118
+ exports.ɵdb = ActivityGaugeOptions;
10119
+ exports.ɵdc = StockChartDeprecatedComponent;
10120
+ exports.ɵdd = GridComponent;
10121
+ exports.ɵde = BreakpointHelperService;
10122
+ exports.ɵdf = ComponentLoaderDirective;
10123
+ exports.ɵdg = AvatarComponent;
10124
+ exports.ɵdh = CalendarComponent;
10125
+ exports.ɵdi = CalendarHelper;
10126
+ exports.ɵdj = CheckboxComponent;
10127
+ exports.ɵdk = ActionSheetComponent;
10128
+ exports.ɵdl = ModalFooterComponent;
10129
+ exports.ɵdm = ModalRouterLinkDirective;
10130
+ exports.ɵdn = SegmentedControlComponent;
10131
+ exports.ɵdo = ChipComponent;
10506
10132
  exports.ɵdp = ThemeColorDirective;
10507
10133
  exports.ɵdq = DateInputDirective;
10508
10134
  exports.ɵdr = DecimalMaskDirective;
@@ -10514,7 +10140,7 @@
10514
10140
  exports.ɵdx = RadioGroupComponent;
10515
10141
  exports.ɵdy = RadioComponent;
10516
10142
  exports.ɵdz = InputComponent;
10517
- exports.ɵe = ModalHelper;
10143
+ exports.ɵe = ModalController;
10518
10144
  exports.ɵea = TextareaComponent;
10519
10145
  exports.ɵeb = FabSheetComponent;
10520
10146
  exports.ɵec = DividerComponent;
@@ -10538,27 +10164,29 @@
10538
10164
  exports.ɵeu = ToastHelper;
10539
10165
  exports.ɵev = ToastController;
10540
10166
  exports.ɵew = LoadingOverlayService;
10541
- exports.ɵf = ModalAnimationBuilderService;
10542
- exports.ɵg = PlatformService;
10543
- exports.ɵh = WindowRef;
10544
- exports.ɵi = ActionSheetHelper;
10545
- exports.ɵj = AlertHelper;
10546
- exports.ɵk = ModalNavigationService;
10547
- exports.ɵl = RouterOutletModule;
10548
- exports.ɵm = PageModule;
10549
- exports.ɵn = PageTitleDirective;
10550
- exports.ɵo = PageToolbarTitleDirective;
10551
- exports.ɵp = PageActionsDirective;
10552
- exports.ɵq = PageContentDirective;
10553
- exports.ɵr = PageProgressComponent;
10554
- exports.ɵs = PageTitleComponent;
10555
- exports.ɵt = PageContentComponent;
10556
- exports.ɵu = PageActionsComponent;
10557
- exports.ɵv = PageComponent;
10558
- exports.ɵw = TabsComponent;
10559
- exports.ɵx = TabsService;
10560
- exports.ɵy = PageFooterComponent;
10561
- exports.ɵz = ModalWrapperComponent;
10167
+ exports.ɵex = appInitialize;
10168
+ exports.ɵey = customElementsInitializer;
10169
+ exports.ɵf = ModalHelper;
10170
+ exports.ɵg = ModalAnimationBuilderService;
10171
+ exports.ɵh = PlatformService;
10172
+ exports.ɵi = WindowRef;
10173
+ exports.ɵj = ActionSheetHelper;
10174
+ exports.ɵk = AlertHelper;
10175
+ exports.ɵl = ModalNavigationService;
10176
+ exports.ɵm = RouterOutletModule;
10177
+ exports.ɵn = PageModule;
10178
+ exports.ɵo = PageTitleDirective;
10179
+ exports.ɵp = PageToolbarTitleDirective;
10180
+ exports.ɵq = PageActionsDirective;
10181
+ exports.ɵr = PageContentDirective;
10182
+ exports.ɵs = PageProgressComponent;
10183
+ exports.ɵt = PageTitleComponent;
10184
+ exports.ɵu = PageContentComponent;
10185
+ exports.ɵv = PageActionsComponent;
10186
+ exports.ɵw = PageComponent;
10187
+ exports.ɵx = TabsComponent;
10188
+ exports.ɵy = TabsService;
10189
+ exports.ɵz = PageFooterComponent;
10562
10190
 
10563
10191
  Object.defineProperty(exports, '__esModule', { value: true });
10564
10192