@sbb-esta/lyne-elements 4.5.1 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/autocomplete/autocomplete-base-element.js +34 -34
  2. package/calendar/{calendar.component.js → calendar/calendar.component.js} +413 -401
  3. package/calendar/calendar-day/calendar-day.component.js +98 -0
  4. package/calendar/calendar-day.js +4 -0
  5. package/calendar/calendar.js +5 -0
  6. package/calendar.js +5 -2
  7. package/chip/chip-group/chip-group.component.js +69 -49
  8. package/core/styles/core.scss +46 -73
  9. package/core/styles/mixins/overlay.scss +25 -15
  10. package/core/styles/mixins/pearl-chain-bullet.scss +12 -6
  11. package/core.css +114 -49
  12. package/custom-elements.json +18902 -17898
  13. package/datepicker/common/datepicker-button.js +18 -14
  14. package/datepicker/datepicker/datepicker.component.js +1 -1
  15. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +18 -26
  16. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +20 -28
  17. package/development/autocomplete/autocomplete-base-element.d.ts +2 -0
  18. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  19. package/development/autocomplete/autocomplete-base-element.js +37 -34
  20. package/development/calendar/{calendar.component.d.ts → calendar/calendar.component.d.ts} +22 -2
  21. package/development/calendar/calendar/calendar.component.d.ts.map +1 -0
  22. package/development/calendar/calendar/calendar.component.js +1990 -0
  23. package/development/calendar/calendar-day/calendar-day.component.d.ts +49 -0
  24. package/development/calendar/calendar-day/calendar-day.component.d.ts.map +1 -0
  25. package/development/calendar/calendar-day/calendar-day.component.js +255 -0
  26. package/development/calendar/calendar-day.d.ts +5 -0
  27. package/development/calendar/calendar-day.d.ts.map +1 -0
  28. package/development/calendar/calendar-day.js +5 -0
  29. package/development/calendar/calendar.d.ts +5 -0
  30. package/development/calendar/calendar.d.ts.map +1 -0
  31. package/development/calendar/calendar.js +6 -0
  32. package/development/calendar.d.ts +2 -1
  33. package/development/calendar.d.ts.map +1 -1
  34. package/development/calendar.js +6 -3
  35. package/development/chip/chip-group/chip-group.component.d.ts +6 -0
  36. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  37. package/development/chip/chip-group/chip-group.component.js +33 -4
  38. package/development/container/container/container.component.d.ts +2 -0
  39. package/development/container/container/container.component.d.ts.map +1 -1
  40. package/development/container/container/container.component.js +1 -1
  41. package/development/datepicker/common/datepicker-button.d.ts +3 -1
  42. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  43. package/development/datepicker/common/datepicker-button.js +8 -4
  44. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  45. package/development/datepicker/datepicker/datepicker.component.js +2 -1
  46. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +1 -1
  47. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  48. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +3 -12
  49. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +1 -1
  50. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  51. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +3 -12
  52. package/development/dialog/dialog/dialog.component.js +24 -37
  53. package/development/dialog/dialog-actions/dialog-actions.component.js +2 -2
  54. package/development/dialog/dialog-close-button/dialog-close-button.component.js +2 -2
  55. package/development/footer/footer.component.js +4 -19
  56. package/development/form-field/form-field/form-field.component.js +8 -5
  57. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts +1 -1
  58. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -1
  59. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +2 -2
  60. package/development/option/optgroup/optgroup-base-element.js +4 -13
  61. package/development/option/option/option-base-element.d.ts.map +1 -1
  62. package/development/option/option/option-base-element.js +12 -14
  63. package/development/option/option/option.component.js +4 -28
  64. package/development/option/option-hint/option-hint.component.d.ts.map +1 -1
  65. package/development/option/option-hint/option-hint.component.js +11 -26
  66. package/development/select/select.component.js +11 -16
  67. package/development/status/status.component.d.ts.map +1 -1
  68. package/development/status/status.component.js +20 -26
  69. package/dialog/dialog/dialog.component.js +19 -19
  70. package/dialog/dialog-actions/dialog-actions.component.js +6 -6
  71. package/dialog/dialog-close-button/dialog-close-button.component.js +9 -9
  72. package/footer/footer.component.js +22 -22
  73. package/form-field/form-field/form-field.component.js +11 -11
  74. package/index.d.ts +3 -1
  75. package/index.js +3 -1
  76. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
  77. package/off-brand-theme.css +114 -49
  78. package/option/optgroup/optgroup-base-element.js +22 -22
  79. package/option/option/option-base-element.js +11 -13
  80. package/option/option/option.component.js +15 -15
  81. package/option/option-hint/option-hint.component.js +16 -18
  82. package/package.json +11 -1
  83. package/safety-theme.css +114 -49
  84. package/select/select.component.js +18 -18
  85. package/standard-theme.css +114 -49
  86. package/status/status.component.js +27 -29
  87. package/development/calendar/calendar.component.d.ts.map +0 -1
  88. package/development/calendar/calendar.component.js +0 -1957
@@ -0,0 +1,49 @@
1
+ import { CSSResultGroup, TemplateResult } from 'lit';
2
+ import { SbbButtonLikeBaseElement } from '../../core/base-elements.ts';
3
+ import { DateAdapter } from '../../core/datetime/date-adapter.ts';
4
+ import { FormRestoreReason, FormRestoreState } from '../../core/mixins.ts';
5
+ declare const SbbCalendarDayElement_base: import('../../core/mixins.ts').AbstractConstructor<import('../../core/mixins.ts').SbbDisabledMixinType> & typeof SbbButtonLikeBaseElement;
6
+ /**
7
+ * It displays a single day cell in the `sbb-calendar` component.
8
+ *
9
+ * @slot - Use the unnamed slot to add some custom content to the day.
10
+ */
11
+ export declare class SbbCalendarDayElement<T = Date> extends SbbCalendarDayElement_base {
12
+ static styles: CSSResultGroup;
13
+ protected dateAdapter: DateAdapter;
14
+ set slot(value: string);
15
+ get slot(): string;
16
+ /** Value of the calendar-day element. */
17
+ set value(value: T | null);
18
+ get value(): T | null;
19
+ private _value;
20
+ constructor();
21
+ /**
22
+ * Intentionally empty, as buttons are not targeted by form reset.
23
+ * @internal
24
+ */
25
+ formResetCallback(): void;
26
+ /**
27
+ * Intentionally empty, as buttons are not targeted by form restore.
28
+ * @internal
29
+ */
30
+ formStateRestoreCallback(_state: FormRestoreState | null, _reason: FormRestoreReason): void;
31
+ connectedCallback(): void;
32
+ /**
33
+ * The component is used as the default day cell within the `sbb-calendar`,
34
+ * or, if extra content is needed, it can be slotted.
35
+ */
36
+ private _getParent;
37
+ private _setSelectedState;
38
+ private _setDisabledFilteredState;
39
+ private _isActiveDate;
40
+ private _isDayInRange;
41
+ protected renderTemplate(): TemplateResult;
42
+ }
43
+ declare global {
44
+ interface HTMLElementTagNameMap {
45
+ 'sbb-calendar-day': SbbCalendarDayElement;
46
+ }
47
+ }
48
+ export {};
49
+ //# sourceMappingURL=calendar-day.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-day.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/calendar/calendar-day/calendar-day.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAI1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAEtB,MAAM,sBAAsB,CAAC;;AAM9B;;;;GAIG;AACH,qBAEM,qBAAqB,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,0BAA0C;IACtF,OAAuB,MAAM,EAAE,cAAc,CAA4B;IACzE,SAAS,CAAC,WAAW,EAAE,WAAW,CAA4D;IAE9F,IACoB,IAAI,CAAC,KAAK,EAAE,MAAM,EAGrC;IACD,IAAoB,IAAI,IAAI,MAAM,CAEjC;IAED,yCAAyC;IACzC,IACW,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAc/B;IACD,IAAW,KAAK,IAAI,CAAC,GAAG,IAAI,CAE3B;IACD,OAAO,CAAC,MAAM,CAAkB;;IAchC;;;OAGG;IACa,iBAAiB,IAAI,IAAI;IAEzC;;;OAGG;IACa,wBAAwB,CACtC,MAAM,EAAE,gBAAgB,GAAG,IAAI,EAC/B,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAES,iBAAiB,IAAI,IAAI;IAKzC;;;OAGG;IACH,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,yBAAyB;IAQjC,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;cAOF,cAAc,IAAI,cAAc;CAQpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
@@ -0,0 +1,255 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { css, html } from "lit";
3
+ import { customElement, property, state } from "lit/decorators.js";
4
+ import { SbbButtonLikeBaseElement } from "../../core/base-elements.js";
5
+ import { readConfig } from "../../core/config/config.js";
6
+ import { SbbPropertyWatcherController } from "../../core/controllers.js";
7
+ import { defaultDateAdapter } from "../../core/datetime/native-date-adapter.js";
8
+ import { SbbDisabledMixin } from "../../core/mixins.js";
9
+ import { boxSizingStyles } from "../../core/styles.js";
10
+ const style = css`:host {
11
+ display: block;
12
+ --sbb-calendar-day-width: 2.75rem;
13
+ --sbb-calendar-day-height: 3rem;
14
+ --sbb-calendar-day-cell-background-color: var(--sbb-calendar-cell-background-color);
15
+ --sbb-calendar-day-selected-border: none;
16
+ --sbb-calendar-day-transition-duration: var(
17
+ --sbb-disable-animation-duration,
18
+ var(--sbb-animation-duration-2x)
19
+ );
20
+ --sbb-calendar-day-transition-easing-function: var(--sbb-animation-easing);
21
+ --sbb-calendar-day-cursor: var(--sbb-cursor-pointer);
22
+ --sbb-calendar-day-border-radius: var(--sbb-border-radius-4x);
23
+ --sbb-calendar-day-flex-direction: column;
24
+ --sbb-calendar-day-justify-content: initial;
25
+ --sbb-calendar-day-align-items: initial;
26
+ --sbb-calendar-day-value-height: var(--sbb-spacing-fixed-6x);
27
+ --sbb-calendar-day-extra-display: block;
28
+ --sbb-calendar-day-extra-height: var(--sbb-spacing-fixed-4x);
29
+ --sbb-calendar-day-crossed-out-top: 33%;
30
+ --sbb-calendar-day-crossed-out-translate: translate(-50%, -33%) rotate(-45deg);
31
+ }
32
+
33
+ :host(:is(:state(selected),[state--selected])) {
34
+ --sbb-calendar-day-selected-border: var(--sbb-border-width-2x) solid var(--sbb-border-color-2);
35
+ }
36
+
37
+ :host(:disabled) {
38
+ --sbb-calendar-cell-color: var(--sbb-calendar-cell-disabled-color);
39
+ --sbb-calendar-day-cursor: unset;
40
+ }
41
+
42
+ :host(:focus-visible) {
43
+ outline: 0;
44
+ }
45
+
46
+ :host(:not(:disabled):active) {
47
+ --sbb-calendar-day-cell-background-color: var(--sbb-calendar-cell-background-color-active);
48
+ }
49
+
50
+ .sbb-calendar-day {
51
+ --sbb-text-font-size: var(--sbb-text-font-size-s);
52
+ font-family: var(--sbb-typo-font-family);
53
+ font-weight: normal;
54
+ line-height: var(--sbb-typo-line-height-text);
55
+ letter-spacing: var(--sbb-typo-letter-spacing-text);
56
+ font-size: var(--sbb-text-font-size);
57
+ display: flex;
58
+ flex-direction: var(--sbb-calendar-day-flex-direction);
59
+ justify-content: var(--sbb-calendar-day-justify-content);
60
+ align-items: var(--sbb-calendar-day-align-items);
61
+ height: var(--sbb-calendar-day-height);
62
+ width: var(--sbb-calendar-day-width);
63
+ padding: var(--sbb-calendar-cell-padding);
64
+ padding-block-end: var(--sbb-calendar-day-cell-padding-hover, var(--sbb-calendar-cell-padding));
65
+ margin: auto;
66
+ color: var(--sbb-calendar-cell-color);
67
+ cursor: var(--sbb-calendar-day-cursor);
68
+ position: relative;
69
+ z-index: 0;
70
+ }
71
+ .sbb-calendar-day::before {
72
+ content: "";
73
+ position: absolute;
74
+ inset: 0;
75
+ background-color: var(--sbb-calendar-day-cell-background-color);
76
+ border: var(--sbb-calendar-day-selected-border);
77
+ border-radius: var(--sbb-calendar-day-border-radius);
78
+ z-index: -1;
79
+ transition-duration: var(--sbb-calendar-day-transition-duration);
80
+ transition-timing-function: var(--sbb-calendar-day-transition-easing-function);
81
+ transition-property: background-color;
82
+ }
83
+ :host(:focus-visible) .sbb-calendar-day::before {
84
+ outline-offset: var(--sbb-focus-outline-offset);
85
+ outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
86
+ }
87
+ @media (forced-colors: active) {
88
+ :host(:not(:disabled):active) .sbb-calendar-day::before {
89
+ outline-offset: var(--sbb-focus-outline-offset);
90
+ outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
91
+ --sbb-focus-outline-style: initial;
92
+ }
93
+ }
94
+ @media (any-hover: hover) {
95
+ :host(:not(:active, :disabled):hover) .sbb-calendar-day {
96
+ --sbb-calendar-day-cell-background-color: var(--sbb-calendar-cell-background-color-hover);
97
+ --sbb-calendar-day-cell-padding-hover: calc(
98
+ 0.0625rem + var(--sbb-calendar-cell-padding)
99
+ );
100
+ }
101
+ }
102
+ @media (any-hover: hover) and (forced-colors: active) {
103
+ :host(:not(:active, :disabled):hover) .sbb-calendar-day::before {
104
+ outline-offset: var(--sbb-focus-outline-offset);
105
+ outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
106
+ --sbb-focus-outline-style: initial;
107
+ }
108
+ }
109
+
110
+ .sbb-calendar-day__value {
111
+ height: var(--sbb-calendar-day-value-height);
112
+ }
113
+ :host(:is(:state(current),[state--current])) .sbb-calendar-day__value {
114
+ font-weight: bold;
115
+ }
116
+ :host(:is(:state(crossed-out),[state--crossed-out])) .sbb-calendar-day__value::after {
117
+ content: "";
118
+ height: var(--sbb-calendar-cell-disabled-height);
119
+ width: var(--sbb-calendar-cell-disabled-width);
120
+ position: absolute;
121
+ background-color: var(--sbb-calendar-cell-disabled-color);
122
+ inset-block-start: var(--sbb-calendar-day-crossed-out-top);
123
+ inset-inline-start: 50%;
124
+ transform: var(--sbb-calendar-day-crossed-out-translate);
125
+ }
126
+
127
+ .sbb-calendar-day__extra {
128
+ display: var(--sbb-calendar-day-extra-display);
129
+ height: var(--sbb-calendar-day-extra-height);
130
+ padding: var(--sbb-calendar-cell-padding);
131
+ }
132
+
133
+ ::slotted(*) {
134
+ height: 1rem;
135
+ }`;
136
+ let SbbCalendarDayElement = (() => {
137
+ var _a;
138
+ let _classDecorators = [customElement("sbb-calendar-day")];
139
+ let _classDescriptor;
140
+ let _classExtraInitializers = [];
141
+ let _classThis;
142
+ let _classSuper = SbbDisabledMixin(SbbButtonLikeBaseElement);
143
+ let _instanceExtraInitializers = [];
144
+ let _set_slot_decorators;
145
+ let _set_value_decorators;
146
+ _a = class extends _classSuper {
147
+ set slot(value) {
148
+ super.slot = value;
149
+ this.value = this.dateAdapter.deserialize(value);
150
+ }
151
+ get slot() {
152
+ return super.slot;
153
+ }
154
+ /** Value of the calendar-day element. */
155
+ set value(value) {
156
+ const date = this.dateAdapter.getValidDateOrNull(this.dateAdapter.deserialize(value));
157
+ if (date) {
158
+ this._value = date;
159
+ const isToday = this.dateAdapter.sameDate(date, this.dateAdapter.today());
160
+ this.toggleState("current", isToday);
161
+ this.internals.ariaCurrent = isToday ? "date" : null;
162
+ this.internals.ariaLabel = this.dateAdapter.getAccessibilityFormatDate(date);
163
+ const parent = this._getParent();
164
+ if (parent) {
165
+ this._setDisabledFilteredState(parent);
166
+ this._setSelectedState(parent);
167
+ }
168
+ }
169
+ }
170
+ get value() {
171
+ return this._value;
172
+ }
173
+ constructor() {
174
+ super();
175
+ this.dateAdapter = (__runInitializers(this, _instanceExtraInitializers), readConfig().datetime?.dateAdapter ?? defaultDateAdapter);
176
+ this._value = null;
177
+ this.addController(new SbbPropertyWatcherController(this, () => this._getParent(), {
178
+ dateFilter: (component) => this._setDisabledFilteredState(component),
179
+ min: (component) => this._setDisabledFilteredState(component),
180
+ max: (component) => this._setDisabledFilteredState(component),
181
+ selected: (component) => this._setSelectedState(component)
182
+ }));
183
+ }
184
+ /**
185
+ * Intentionally empty, as buttons are not targeted by form reset.
186
+ * @internal
187
+ */
188
+ formResetCallback() {
189
+ }
190
+ /**
191
+ * Intentionally empty, as buttons are not targeted by form restore.
192
+ * @internal
193
+ */
194
+ formStateRestoreCallback(_state, _reason) {
195
+ }
196
+ connectedCallback() {
197
+ super.connectedCallback();
198
+ this.tabIndex = -1;
199
+ }
200
+ /**
201
+ * The component is used as the default day cell within the `sbb-calendar`,
202
+ * or, if extra content is needed, it can be slotted.
203
+ */
204
+ _getParent() {
205
+ return this.closest?.("sbb-calendar") ?? this.getRootNode?.()?.host?.closest("sbb-calendar");
206
+ }
207
+ _setSelectedState(component) {
208
+ const selected = component.multiple ? component.selected.some((selDay) => this.dateAdapter.sameDate(this.value, selDay)) : !!component.selected && this.dateAdapter.compareDate(this.value, component.selected) === 0;
209
+ this.toggleState("selected", selected);
210
+ this.internals.ariaPressed = String(selected);
211
+ }
212
+ _setDisabledFilteredState(component) {
213
+ const isFilteredOut = !this._isActiveDate(component.dateFilter);
214
+ const isOutOfRange = !this._isDayInRange(component.min, component.max);
215
+ this.disabled = isFilteredOut || isOutOfRange;
216
+ this.internals.ariaDisabled = String(this.disabled);
217
+ this.toggleState("crossed-out", isFilteredOut && !isOutOfRange);
218
+ }
219
+ _isActiveDate(dateFilter) {
220
+ return dateFilter?.(this.value) ?? true;
221
+ }
222
+ _isDayInRange(min, max) {
223
+ if (!min && !max) {
224
+ return true;
225
+ }
226
+ return this.dateAdapter.sameDate(this.value, this.dateAdapter.clampDate(this.value, min, max));
227
+ }
228
+ renderTemplate() {
229
+ return html` <span class="sbb-calendar-day__value" aria-hidden="true">
230
+ ${this.dateAdapter.getDate(this.value)}
231
+ </span>
232
+ <span class="sbb-calendar-day__extra">
233
+ <slot></slot>
234
+ </span>`;
235
+ }
236
+ }, _classThis = _a, (() => {
237
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
238
+ _set_slot_decorators = [property()];
239
+ _set_value_decorators = [state()];
240
+ __esDecorate(_a, null, _set_slot_decorators, { kind: "setter", name: "slot", static: false, private: false, access: { has: (obj) => "slot" in obj, set: (obj, value) => {
241
+ obj.slot = value;
242
+ } }, metadata: _metadata }, null, _instanceExtraInitializers);
243
+ __esDecorate(_a, null, _set_value_decorators, { kind: "setter", name: "value", static: false, private: false, access: { has: (obj) => "value" in obj, set: (obj, value) => {
244
+ obj.value = value;
245
+ } }, metadata: _metadata }, null, _instanceExtraInitializers);
246
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
247
+ _classThis = _classDescriptor.value;
248
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
249
+ })(), _a.styles = [boxSizingStyles, style], __runInitializers(_classThis, _classExtraInitializers), _a;
250
+ return _classThis;
251
+ })();
252
+ export {
253
+ SbbCalendarDayElement
254
+ };
255
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLWRheS9jYWxlbmRhci1kYXkuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJCdXR0b25MaWtlQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgcmVhZENvbmZpZyB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlnL2NvbmZpZy50cyc7XG5pbXBvcnQgeyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgdHlwZSB7IERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRldGltZS9kYXRlLWFkYXB0ZXIudHMnO1xuaW1wb3J0IHsgZGVmYXVsdERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRldGltZS9uYXRpdmUtZGF0ZS1hZGFwdGVyLnRzJztcbmltcG9ydCB7XG4gIHR5cGUgRm9ybVJlc3RvcmVSZWFzb24sXG4gIHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSxcbiAgU2JiRGlzYWJsZWRNaXhpbixcbn0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJDYWxlbmRhckVsZW1lbnQgfSBmcm9tICcuLi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9jYWxlbmRhci1kYXkuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHNpbmdsZSBkYXkgY2VsbCBpbiB0aGUgYHNiYi1jYWxlbmRhcmAgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIHNvbWUgY3VzdG9tIGNvbnRlbnQgdG8gdGhlIGRheS5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWNhbGVuZGFyLWRheScpXG5jbGFzcyBTYmJDYWxlbmRhckRheUVsZW1lbnQ8VCA9IERhdGU+IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihTYmJCdXR0b25MaWtlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgc3R5bGVdO1xuICBwcm90ZWN0ZWQgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyID0gcmVhZENvbmZpZygpLmRhdGV0aW1lPy5kYXRlQWRhcHRlciA/PyBkZWZhdWx0RGF0ZUFkYXB0ZXI7XG5cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBzbG90KHZhbHVlOiBzdHJpbmcpIHtcbiAgICBzdXBlci5zbG90ID0gdmFsdWU7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuZGF0ZUFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgc2xvdCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdXBlci5zbG90O1xuICB9XG5cbiAgLyoqIFZhbHVlIG9mIHRoZSBjYWxlbmRhci1kYXkgZWxlbWVudC4gKi9cbiAgQHN0YXRlKClcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogVCB8IG51bGwpIHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5kYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwodGhpcy5kYXRlQWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSkpO1xuICAgIGlmIChkYXRlKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IGRhdGU7XG4gICAgICBjb25zdCBpc1RvZGF5ID0gdGhpcy5kYXRlQWRhcHRlci5zYW1lRGF0ZShkYXRlLCB0aGlzLmRhdGVBZGFwdGVyLnRvZGF5KCkpO1xuICAgICAgdGhpcy50b2dnbGVTdGF0ZSgnY3VycmVudCcsIGlzVG9kYXkpO1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUN1cnJlbnQgPSBpc1RvZGF5ID8gJ2RhdGUnIDogbnVsbDtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbCA9IHRoaXMuZGF0ZUFkYXB0ZXIuZ2V0QWNjZXNzaWJpbGl0eUZvcm1hdERhdGUoZGF0ZSk7XG4gICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLl9nZXRQYXJlbnQoKTtcbiAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgdGhpcy5fc2V0RGlzYWJsZWRGaWx0ZXJlZFN0YXRlKHBhcmVudCk7XG4gICAgICAgIHRoaXMuX3NldFNlbGVjdGVkU3RhdGUocGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3ZhbHVlOiBUIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5fZ2V0UGFyZW50KCksIHtcbiAgICAgICAgZGF0ZUZpbHRlcjogKGNvbXBvbmVudCkgPT4gdGhpcy5fc2V0RGlzYWJsZWRGaWx0ZXJlZFN0YXRlKGNvbXBvbmVudCksXG4gICAgICAgIG1pbjogKGNvbXBvbmVudCkgPT4gdGhpcy5fc2V0RGlzYWJsZWRGaWx0ZXJlZFN0YXRlKGNvbXBvbmVudCksXG4gICAgICAgIG1heDogKGNvbXBvbmVudCkgPT4gdGhpcy5fc2V0RGlzYWJsZWRGaWx0ZXJlZFN0YXRlKGNvbXBvbmVudCksXG4gICAgICAgIHNlbGVjdGVkOiAoY29tcG9uZW50KSA9PiB0aGlzLl9zZXRTZWxlY3RlZFN0YXRlKGNvbXBvbmVudCksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEludGVudGlvbmFsbHkgZW1wdHksIGFzIGJ1dHRvbnMgYXJlIG5vdCB0YXJnZXRlZCBieSBmb3JtIHJlc2V0LlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHt9XG5cbiAgLyoqXG4gICAqIEludGVudGlvbmFsbHkgZW1wdHksIGFzIGJ1dHRvbnMgYXJlIG5vdCB0YXJnZXRlZCBieSBmb3JtIHJlc3RvcmUuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhcbiAgICBfc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICApOiB2b2lkIHt9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy50YWJJbmRleCA9IC0xO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjb21wb25lbnQgaXMgdXNlZCBhcyB0aGUgZGVmYXVsdCBkYXkgY2VsbCB3aXRoaW4gdGhlIGBzYmItY2FsZW5kYXJgLFxuICAgKiBvciwgaWYgZXh0cmEgY29udGVudCBpcyBuZWVkZWQsIGl0IGNhbiBiZSBzbG90dGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0UGFyZW50KCk6IFNiYkNhbGVuZGFyRWxlbWVudDxUPiB8IG51bGwge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNsb3Nlc3Q/LjxTYmJDYWxlbmRhckVsZW1lbnQ8VD4+KCdzYmItY2FsZW5kYXInKSA/P1xuICAgICAgKHRoaXMuZ2V0Um9vdE5vZGU/LigpIGFzIFNoYWRvd1Jvb3QpPy5ob3N0Py5jbG9zZXN0PFNiYkNhbGVuZGFyRWxlbWVudDxUPj4oJ3NiYi1jYWxlbmRhcicpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFNlbGVjdGVkU3RhdGUoY29tcG9uZW50OiBTYmJDYWxlbmRhckVsZW1lbnQ8VD4pOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IGNvbXBvbmVudC5tdWx0aXBsZVxuICAgICAgPyAoY29tcG9uZW50LnNlbGVjdGVkIGFzIERhdGVbXSkuc29tZSgoc2VsRGF5KSA9PlxuICAgICAgICAgIHRoaXMuZGF0ZUFkYXB0ZXIuc2FtZURhdGUodGhpcy52YWx1ZSwgc2VsRGF5KSxcbiAgICAgICAgKVxuICAgICAgOiAhIWNvbXBvbmVudC5zZWxlY3RlZCAmJiB0aGlzLmRhdGVBZGFwdGVyLmNvbXBhcmVEYXRlKHRoaXMudmFsdWUsIGNvbXBvbmVudC5zZWxlY3RlZCkgPT09IDA7XG4gICAgdGhpcy50b2dnbGVTdGF0ZSgnc2VsZWN0ZWQnLCBzZWxlY3RlZCk7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVByZXNzZWQgPSBTdHJpbmcoc2VsZWN0ZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0RGlzYWJsZWRGaWx0ZXJlZFN0YXRlKGNvbXBvbmVudDogU2JiQ2FsZW5kYXJFbGVtZW50PFQ+KTogdm9pZCB7XG4gICAgY29uc3QgaXNGaWx0ZXJlZE91dCA9ICF0aGlzLl9pc0FjdGl2ZURhdGUoY29tcG9uZW50LmRhdGVGaWx0ZXIpO1xuICAgIGNvbnN0IGlzT3V0T2ZSYW5nZSA9ICF0aGlzLl9pc0RheUluUmFuZ2UoY29tcG9uZW50Lm1pbiwgY29tcG9uZW50Lm1heCk7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRmlsdGVyZWRPdXQgfHwgaXNPdXRPZlJhbmdlO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFEaXNhYmxlZCA9IFN0cmluZyh0aGlzLmRpc2FibGVkKTtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdjcm9zc2VkLW91dCcsIGlzRmlsdGVyZWRPdXQgJiYgIWlzT3V0T2ZSYW5nZSk7XG4gIH1cblxuICBwcml2YXRlIF9pc0FjdGl2ZURhdGUoZGF0ZUZpbHRlcjogKChkYXRlOiBUIHwgbnVsbCkgPT4gYm9vbGVhbikgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGRhdGVGaWx0ZXI/Lih0aGlzLnZhbHVlKSA/PyB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNEYXlJblJhbmdlKG1pbjogVCB8IG51bGwsIG1heDogVCB8IG51bGwpOiBib29sZWFuIHtcbiAgICBpZiAoIW1pbiAmJiAhbWF4KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZGF0ZUFkYXB0ZXIuc2FtZURhdGUodGhpcy52YWx1ZSwgdGhpcy5kYXRlQWRhcHRlci5jbGFtcERhdGUodGhpcy52YWx1ZSwgbWluLCBtYXgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgIDxzcGFuIGNsYXNzPVwic2JiLWNhbGVuZGFyLWRheV9fdmFsdWVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgJHt0aGlzLmRhdGVBZGFwdGVyLmdldERhdGUodGhpcy52YWx1ZSl9XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1jYWxlbmRhci1kYXlfX2V4dHJhXCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5gO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItY2FsZW5kYXItZGF5JzogU2JiQ2FsZW5kYXJEYXlFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBMEJNLHlCQUFxQixNQUFBOzswQkFEMUIsY0FBYyxrQkFBa0IsQ0FBQzs7OztvQkFDWSxpQkFBaUIsd0JBQXdCOzs7O0FBQWpELEVBQUEsbUJBQVEsWUFBMEM7QUFBQSxJQUt0RixJQUFvQixLQUFLLE9BQWE7QUFDcEMsWUFBTSxPQUFPO0FBQ2IsV0FBSyxRQUFRLEtBQUssWUFBWSxZQUFZLEtBQUs7QUFBQSxJQUNqRDtBQUFBLElBQ0EsSUFBb0IsT0FBSTtBQUN0QixhQUFPLE1BQU07QUFBQSxJQUNmO0FBQUE7QUFBQSxJQUlBLElBQVcsTUFBTSxPQUFlO0FBQzlCLFlBQU0sT0FBTyxLQUFLLFlBQVksbUJBQW1CLEtBQUssWUFBWSxZQUFZLEtBQUssQ0FBQztBQUNwRixVQUFJLE1BQU07QUFDUixhQUFLLFNBQVM7QUFDZCxjQUFNLFVBQVUsS0FBSyxZQUFZLFNBQVMsTUFBTSxLQUFLLFlBQVksT0FBTztBQUN4RSxhQUFLLFlBQVksV0FBVyxPQUFPO0FBQ25DLGFBQUssVUFBVSxjQUFjLFVBQVUsU0FBUztBQUNoRCxhQUFLLFVBQVUsWUFBWSxLQUFLLFlBQVksMkJBQTJCLElBQUk7QUFDM0UsY0FBTSxTQUFTLEtBQUssV0FBQTtBQUNwQixZQUFJLFFBQVE7QUFDVixlQUFLLDBCQUEwQixNQUFNO0FBQ3JDLGVBQUssa0JBQWtCLE1BQU07QUFBQSxRQUMvQjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsSUFDQSxJQUFXLFFBQUs7QUFDZCxh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
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @entrypoint
3
+ */
4
+ export * from './calendar-day/calendar-day.component.ts';
5
+ //# sourceMappingURL=calendar-day.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-day.d.ts","sourceRoot":"","sources":["../../../../src/elements/calendar/calendar-day.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,0CAA0C,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { SbbCalendarDayElement } from "./calendar-day/calendar-day.component.js";
2
+ export {
3
+ SbbCalendarDayElement
4
+ };
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF5LmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjsifQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @entrypoint
3
+ */
4
+ export * from './calendar/calendar.component.ts';
5
+ //# sourceMappingURL=calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../../src/elements/calendar/calendar.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,kCAAkC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { SbbCalendarElement, SbbMonthChangeEvent } from "./calendar/calendar.component.js";
2
+ export {
3
+ SbbCalendarElement,
4
+ SbbMonthChangeEvent
5
+ };
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOyJ9
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * @entrypoint
3
3
  */
4
- export * from './calendar/calendar.component.ts';
4
+ export * from './calendar/calendar.ts';
5
+ export * from './calendar/calendar-day.ts';
5
6
  //# sourceMappingURL=calendar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/elements/calendar.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../src/elements/calendar.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC"}
@@ -1,5 +1,8 @@
1
- import { SbbCalendarElement } from "./calendar/calendar.component.js";
1
+ import { SbbCalendarElement, SbbMonthChangeEvent } from "./calendar/calendar/calendar.component.js";
2
+ import { SbbCalendarDayElement } from "./calendar/calendar-day/calendar-day.component.js";
2
3
  export {
3
- SbbCalendarElement
4
+ SbbCalendarDayElement,
5
+ SbbCalendarElement,
6
+ SbbMonthChangeEvent
4
7
  };
5
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOyJ9
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzsifQ==
@@ -37,6 +37,8 @@ export declare class SbbChipGroupElement<T = string> extends SbbChipGroupElement
37
37
  accessor displayWith: ((value: T) => string) | null;
38
38
  /** The array of keys that will trigger a `chipinputtokenend` event. Default `['Enter']` */
39
39
  accessor separatorKeys: string[];
40
+ /** Whether to automatically add a chip when the input loses focus if there's a value. */
41
+ accessor addOnBlur: boolean;
40
42
  /**
41
43
  * Listens to the changes on `readonly` and `disabled` attributes of `<input>`.
42
44
  */
@@ -69,6 +71,10 @@ export declare class SbbChipGroupElement<T = string> extends SbbChipGroupElement
69
71
  * Listen for keyboard events on the input
70
72
  **/
71
73
  private _onInputKeyDown;
74
+ /**
75
+ * Handle blur event on the input
76
+ **/
77
+ private _onInputBlur;
72
78
  /**
73
79
  * If the input is not empty, create a chip with its value
74
80
  */
@@ -1 +1 @@
1
- {"version":3,"file":"chip-group.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/chip/chip-group/chip-group.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAOb,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAMtB,MAAM,sBAAsB,CAAC;AAU9B,MAAM,WAAW,gCAAgC,CAAC,CAAC,GAAG,MAAM;IAC1D,mDAAmD;IACnD,MAAM,EAAE,OAAO,GAAG,cAAc,CAAC;IACjC;;;;OAIG;IACH,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACzB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;;AAED;;;;;GAKG;AACH,qBAEM,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,wBAE7C;IACC,gBAAgC,IAAI,aAAa;IACjD,OAAuB,MAAM,EAAE,cAAc,CAA4B;IACzE,gBAAuB,MAAM;;;;MAIlB;IAEX,iCAAiC;IACjC,IACW,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,EA2B1C;IACD,IAAW,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAE/B;IAED,8DAA8D;IAC9D,SACgB,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,GAAG,IAAI,CAAQ;IAElE,2FAA2F;IAC3F,SACgB,aAAa,EAAE,MAAM,EAAE,CAAa;IAEpD;;OAEG;IACH,OAAO,CAAC,uBAAuB,CAEtB;IAET,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,aAAa,CAAC,CAA8B;;IAoBpD,OAAO,CAAC,iBAAiB;IAIT,iBAAiB,IAAI,IAAI;cAKtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAYtE,gBAAgB;IACT,iBAAiB,IAAI,IAAI;IAIhC,gBAAgB;IACT,wBAAwB,CAC7B,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,OAAO,EAAE,iBAAiB,GACzB,IAAI;YASO,aAAa;cAUR,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO;cAItD,QAAQ,IAAI,IAAI;IASnC,wCAAwC;IACxC,OAAO,CAAC,aAAa;IAIrB,gDAAgD;IAChD,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,eAAe;IAwCvB;;QAEI;IACJ,OAAO,CAAC,cAAc;IAyBtB;;QAEI;IACJ,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,0BAA0B;IAelC,OAAO,CAAC,WAAW;IAOnB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,uBAAuB;cAUZ,MAAM,IAAI,cAAc;CAG5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,mBAAmB;QAC3B,iBAAiB,EAAE,WAAW,CAAC,gCAAgC,CAAC,GAAG,CAAC,CAAC,CAAC;KACvE;CACF"}
1
+ {"version":3,"file":"chip-group.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/chip/chip-group/chip-group.component.ts"],"names":[],"mappings":"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"}