@jumoo/usync 18.2.0 → 19.0.0-beta01

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 (45) hide show
  1. package/LICENCE +372 -372
  2. package/README.md +10 -10
  3. package/dist/api/sdk.gen.js +5 -1
  4. package/dist/api/types.gen.d.ts +18 -1
  5. package/dist/components/usync-action-box.js +71 -71
  6. package/dist/components/usync-change-detail.js +409 -409
  7. package/dist/components/usync-change-view.js +49 -49
  8. package/dist/components/usync-progress-box.js +113 -113
  9. package/dist/components/usync-result-row.js +65 -65
  10. package/dist/components/usync-results-group-view.js +63 -63
  11. package/dist/components/usync-results-view.js +64 -64
  12. package/dist/components/usync-sync-file-info-view.js +10 -10
  13. package/dist/conditions/new-section.condition.js +16 -2
  14. package/dist/constants.js +1 -1
  15. package/dist/dialogs/details-modal-element.js +45 -45
  16. package/dist/dialogs/error-modal-element.js +22 -22
  17. package/dist/dialogs/legacy-modal-element.d.ts +11 -5
  18. package/dist/dialogs/legacy-modal-element.js +90 -38
  19. package/dist/dialogs/single-import-modal.element.js +31 -31
  20. package/dist/icons/svg/logo.js +20 -20
  21. package/dist/lang/files/da-dk.js +13 -13
  22. package/dist/lang/files/de-de.js +13 -13
  23. package/dist/lang/files/en-us.js +13 -13
  24. package/dist/lang/files/es-es.js +13 -13
  25. package/dist/lang/files/fr-fr.js +13 -13
  26. package/dist/lang/files/nl-nl.js +13 -13
  27. package/dist/repository/SyncAction.respositoy.d.ts +2 -1
  28. package/dist/repository/SyncAction.respositoy.js +3 -2
  29. package/dist/repository/sources/SyncMigration.source.d.ts +1 -1
  30. package/dist/repository/sources/SyncMigration.source.js +2 -2
  31. package/dist/signalr/signalr.context.js +5 -5
  32. package/dist/tree/usync.menu-element.js +8 -8
  33. package/dist/workspace/components/usync-action-button.js +53 -53
  34. package/dist/workspace/components/usync-file-picker.element.js +33 -33
  35. package/dist/workspace/components/usync-file-upload.element.js +25 -25
  36. package/dist/workspace/dialogs/import-modal.element.js +22 -22
  37. package/dist/workspace/views/addons/addons.element.js +97 -97
  38. package/dist/workspace/views/default/default.element.js +186 -186
  39. package/dist/workspace/views/legacy/legacy.element.js +87 -91
  40. package/dist/workspace/views/settings/components/usyncSettingItem.element.js +38 -38
  41. package/dist/workspace/views/settings/settings.element.js +124 -124
  42. package/dist/workspace/workspace.context.d.ts +1 -1
  43. package/dist/workspace/workspace.context.js +2 -2
  44. package/dist/workspace/workspace.element.js +16 -16
  45. package/package.json +77 -77
@@ -43,33 +43,33 @@ let uSyncChangeView = class uSyncChangeView extends UmbLitElement {
43
43
  // straight away; with more than one, start collapsed and let the user
44
44
  // open the ones they care about.
45
45
  const startOpen = details.length <= 1;
46
- return html `
47
- <div class="detail-list">
48
- ${repeat(details, (detail, index) => `${index}:${detail.path}:${detail.name}`, (detail) => html `<usync-change-detail
49
- .detail=${detail}
50
- ?open=${startOpen}></usync-change-detail>`)}
51
- </div>
46
+ return html `
47
+ <div class="detail-list">
48
+ ${repeat(details, (detail, index) => `${index}:${detail.path}:${detail.name}`, (detail) => html `<usync-change-detail
49
+ .detail=${detail}
50
+ ?open=${startOpen}></usync-change-detail>`)}
51
+ </div>
52
52
  `;
53
53
  }
54
54
  renderNoChanges() {
55
- return html `
56
- <div class="change-box">
57
- <h3>
58
- <umb-localize key="uSync_noChanges${this.item?.change}"
59
- >No changes</umb-localize
60
- >
61
- </h3>
62
- ${this.renderMessage()}
63
- </div>
55
+ return html `
56
+ <div class="change-box">
57
+ <h3>
58
+ <umb-localize key="uSync_noChanges${this.item?.change}"
59
+ >No changes</umb-localize
60
+ >
61
+ </h3>
62
+ ${this.renderMessage()}
63
+ </div>
64
64
  `;
65
65
  }
66
66
  render_create() {
67
- return html `
68
- <div class="change-box">
69
- <h3>
70
- <umb-localize key="uSync_changeCreate">This item is being created</umb-localize>
71
- </h3>
72
- </div>
67
+ return html `
68
+ <div class="change-box">
69
+ <h3>
70
+ <umb-localize key="uSync_changeCreate">This item is being created</umb-localize>
71
+ </h3>
72
+ </div>
73
73
  `;
74
74
  }
75
75
  renderMessage() {
@@ -86,34 +86,34 @@ _uSyncChangeView_instances = new WeakSet();
86
86
  _uSyncChangeView_renderable = function _uSyncChangeView_renderable() {
87
87
  return (this.item?.details ?? []).filter((detail) => detail.change !== ChangeDetailType.NO_CHANGE);
88
88
  };
89
- uSyncChangeView.styles = css `
90
- :host {
91
- display: block;
92
- margin: 0;
93
- }
94
-
95
- .change-box {
96
- display: block;
97
- padding: var(
98
- --uui-box-header-padding,
99
- var(--uui-size-space-4, 12px) var(--uui-size-space-5, 18px)
100
- );
101
- }
102
-
103
- .change-box h3 {
104
- margin: 0;
105
- }
106
-
107
- .error {
108
- color: var(--uui-color-danger);
109
- margin-top: var(--uui-size-space-2);
110
- }
111
-
112
- .detail-list {
113
- display: flex;
114
- flex-direction: column;
115
- border-top: 1px solid var(--uui-color-border);
116
- }
89
+ uSyncChangeView.styles = css `
90
+ :host {
91
+ display: block;
92
+ margin: 0;
93
+ }
94
+
95
+ .change-box {
96
+ display: block;
97
+ padding: var(
98
+ --uui-box-header-padding,
99
+ var(--uui-size-space-4, 12px) var(--uui-size-space-5, 18px)
100
+ );
101
+ }
102
+
103
+ .change-box h3 {
104
+ margin: 0;
105
+ }
106
+
107
+ .error {
108
+ color: var(--uui-color-danger);
109
+ margin-top: var(--uui-size-space-2);
110
+ }
111
+
112
+ .detail-list {
113
+ display: flex;
114
+ flex-direction: column;
115
+ border-top: 1px solid var(--uui-color-border);
116
+ }
117
117
  `;
118
118
  __decorate([
119
119
  property({ type: Object })
@@ -50,17 +50,17 @@ let uSyncProcessBox = class uSyncProcessBox extends UmbElementMixin(LitElement)
50
50
  if (action.status == HandlerStatus.COMPLETE)
51
51
  progress++;
52
52
  const actionName = __classPrivateFieldGet(this, _uSyncProcessBox_instances, "m", _uSyncProcessBox_camelize).call(this, action.name ?? 'unknown');
53
- return html `
54
- <div
55
- class="action
56
- ${action.status == HandlerStatus.COMPLETE ? 'complete' : ''}
57
- ${action.status == HandlerStatus.PROCESSING ? 'working' : ''}">
58
- <div class="icon-holder">
59
- <uui-icon .name=${action.icon ?? 'icon-box'}></uui-icon>
60
- ${this.renderBadge(action)}
61
- </div>
62
- <h4>${this.localize.termOrDefault(`treeHeaders_${actionName}`, actionName)}</h4>
63
- </div>
53
+ return html `
54
+ <div
55
+ class="action
56
+ ${action.status == HandlerStatus.COMPLETE ? 'complete' : ''}
57
+ ${action.status == HandlerStatus.PROCESSING ? 'working' : ''}">
58
+ <div class="icon-holder">
59
+ <uui-icon .name=${action.icon ?? 'icon-box'}></uui-icon>
60
+ ${this.renderBadge(action)}
61
+ </div>
62
+ <h4>${this.localize.termOrDefault(`treeHeaders_${actionName}`, actionName)}</h4>
63
+ </div>
64
64
  `;
65
65
  });
66
66
  let overall = this.showProgress
@@ -73,25 +73,25 @@ let uSyncProcessBox = class uSyncProcessBox extends UmbElementMixin(LitElement)
73
73
  this.showProgress = true;
74
74
  }
75
75
  const progressClass = { hidden: !this.showProgress };
76
- return html `
77
- <uui-box>
78
- <div class="header">
79
- <h2>${this.localize.termOrDefault(`uSync_group${this.title}`, this.title)}</h2>
80
- </div>
81
- <div class="action-list">${actionHtml}</div>
82
- <div class="update-box">${this.updateMsg?.message}</div>
83
- <uui-progress-bar
84
- progress=${overall}
85
- class=${classMap(progressClass)}></uui-progress-bar>
86
- </uui-box>
76
+ return html `
77
+ <uui-box>
78
+ <div class="header">
79
+ <h2>${this.localize.termOrDefault(`uSync_group${this.title}`, this.title)}</h2>
80
+ </div>
81
+ <div class="action-list">${actionHtml}</div>
82
+ <div class="update-box">${this.updateMsg?.message}</div>
83
+ <uui-progress-bar
84
+ progress=${overall}
85
+ class=${classMap(progressClass)}></uui-progress-bar>
86
+ </uui-box>
87
87
  `;
88
88
  }
89
89
  renderBadge(action) {
90
90
  if (action.status == HandlerStatus.PENDING)
91
91
  return;
92
92
  if (action.status == HandlerStatus.PROCESSING) {
93
- return html `<uui-badge color="positive" look="default">
94
- <uui-icon name="icon-circle-dotted" class="rotating"></uui-icon
93
+ return html `<uui-badge color="positive" look="default">
94
+ <uui-icon name="icon-circle-dotted" class="rotating"></uui-icon
95
95
  ></uui-badge>`;
96
96
  }
97
97
  const color = action.inError ? 'warning' : 'positive';
@@ -99,8 +99,8 @@ let uSyncProcessBox = class uSyncProcessBox extends UmbElementMixin(LitElement)
99
99
  ? 'Some errors occured duing import'
100
100
  : 'Changes imported successfully';
101
101
  if (!this.complete || action.changes == 0)
102
- return html `<uui-badge .color=${color} look="default" title=${label}
103
- ><uui-icon name="icon-check"></uui-icon
102
+ return html `<uui-badge .color=${color} look="default" title=${label}
103
+ ><uui-icon name="icon-check"></uui-icon
104
104
  ></uui-badge>`;
105
105
  return html `<uui-badge .color=${color} title=${label}>${action.changes}</uui-badge>`;
106
106
  }
@@ -118,93 +118,93 @@ _uSyncProcessBox_camelize = function _uSyncProcessBox_camelize(str) {
118
118
  })
119
119
  .replace(/\s+/g, '');
120
120
  };
121
- uSyncProcessBox.styles = css `
122
- :host {
123
- display: block;
124
- }
125
-
126
- .header {
127
- display: flex;
128
- justify-content: center;
129
- padding: var(uui-size-space-3);
130
- }
131
-
132
- h2 {
133
- margin: 0;
134
- }
135
-
136
- .action-list {
137
- margin-top: var(--uui-size-space-4);
138
- padding: var(--uui-size-space-4) 0;
139
- display: flex;
140
- flex-wrap: wrap;
141
- justify-content: center;
142
- }
143
-
144
- .action {
145
- display: flex;
146
- flex-direction: column;
147
- align-items: center;
148
- min-width: var(--uui-size-layout-5);
149
- color: var(--uui-color-text-alt);
150
- opacity: 0.67;
151
- margin: var(--uui-size-space-2) 0;
152
- }
153
-
154
- .action h4 {
155
- margin: var(--uui-size-space-2) 0;
156
- }
157
-
158
- .icon-holder {
159
- position: relative;
160
- padding: 0 var(--uui-size-7);
161
- }
162
-
163
- .rotating {
164
- animation: spin-animation 2s infinite;
165
- animation-timing-function: linear;
166
- display: inline-block;
167
- }
168
-
169
- @keyframes spin-animation {
170
- 0% {
171
- transform: rotate(360deg);
172
- }
173
- 100% {
174
- transform: rotate(0deg);
175
- }
176
- }
177
-
178
- .action uui-icon {
179
- font-size: var(--uui-size-12);
180
- }
181
-
182
- .action uui-badge uui-icon {
183
- font-size: var(--uui-type-h4-size);
184
- }
185
-
186
- .complete {
187
- color: var(--uui-color-default-emphasis);
188
- }
189
-
190
- .working {
191
- color: var(--uui-color-positive);
192
- opacity: 1;
193
- }
194
-
195
- .update-box {
196
- font-weight: bold;
197
- text-align: center;
198
- }
199
-
200
- uui-progress-bar {
201
- padding: 0;
202
- margin: 0;
203
- }
204
-
205
- .hidden {
206
- opacity: 0;
207
- }
121
+ uSyncProcessBox.styles = css `
122
+ :host {
123
+ display: block;
124
+ }
125
+
126
+ .header {
127
+ display: flex;
128
+ justify-content: center;
129
+ padding: var(uui-size-space-3);
130
+ }
131
+
132
+ h2 {
133
+ margin: 0;
134
+ }
135
+
136
+ .action-list {
137
+ margin-top: var(--uui-size-space-4);
138
+ padding: var(--uui-size-space-4) 0;
139
+ display: flex;
140
+ flex-wrap: wrap;
141
+ justify-content: center;
142
+ }
143
+
144
+ .action {
145
+ display: flex;
146
+ flex-direction: column;
147
+ align-items: center;
148
+ min-width: var(--uui-size-layout-5);
149
+ color: var(--uui-color-text-alt);
150
+ opacity: 0.67;
151
+ margin: var(--uui-size-space-2) 0;
152
+ }
153
+
154
+ .action h4 {
155
+ margin: var(--uui-size-space-2) 0;
156
+ }
157
+
158
+ .icon-holder {
159
+ position: relative;
160
+ padding: 0 var(--uui-size-7);
161
+ }
162
+
163
+ .rotating {
164
+ animation: spin-animation 2s infinite;
165
+ animation-timing-function: linear;
166
+ display: inline-block;
167
+ }
168
+
169
+ @keyframes spin-animation {
170
+ 0% {
171
+ transform: rotate(360deg);
172
+ }
173
+ 100% {
174
+ transform: rotate(0deg);
175
+ }
176
+ }
177
+
178
+ .action uui-icon {
179
+ font-size: var(--uui-size-12);
180
+ }
181
+
182
+ .action uui-badge uui-icon {
183
+ font-size: var(--uui-type-h4-size);
184
+ }
185
+
186
+ .complete {
187
+ color: var(--uui-color-default-emphasis);
188
+ }
189
+
190
+ .working {
191
+ color: var(--uui-color-positive);
192
+ opacity: 1;
193
+ }
194
+
195
+ .update-box {
196
+ font-weight: bold;
197
+ text-align: center;
198
+ }
199
+
200
+ uui-progress-bar {
201
+ padding: 0;
202
+ margin: 0;
203
+ }
204
+
205
+ .hidden {
206
+ opacity: 0;
207
+ }
208
208
  `;
209
209
  __decorate([
210
210
  state()
@@ -32,21 +32,21 @@ let uSyncResultRow = class uSyncResultRow extends UmbLitElement {
32
32
  ? 'icon-check color-green'
33
33
  : 'icon-wrong color-red';
34
34
  const noChange = result.change == ChangeType.NO_CHANGE || result.change == ChangeType.EXPORT;
35
- return html `<div
36
- class="${classMap({ no_change: noChange })} row"
37
- @click=${() => __classPrivateFieldGet(this, _uSyncResultRow_instances, "m", _uSyncResultRow_showDetail).call(this, result)}>
38
- <div class="icon-cell" .noPadding=${true}>
39
- <umb-icon .name=${icon}></umb-icon>
40
- </div>
41
- <div class="row-content" .clipText=${true}>
42
- <div class="item-detail">
43
- <div class="item-change">${result.change}</div>
44
- </div>
45
- <div class="item-name">
46
- <div>${result.name}</div>
47
- <div>${this.renderMessage(result)}</div>
48
- </div>
49
- </div>
35
+ return html `<div
36
+ class="${classMap({ no_change: noChange })} row"
37
+ @click=${() => __classPrivateFieldGet(this, _uSyncResultRow_instances, "m", _uSyncResultRow_showDetail).call(this, result)}>
38
+ <div class="icon-cell" .noPadding=${true}>
39
+ <umb-icon .name=${icon}></umb-icon>
40
+ </div>
41
+ <div class="row-content" .clipText=${true}>
42
+ <div class="item-detail">
43
+ <div class="item-change">${result.change}</div>
44
+ </div>
45
+ <div class="item-name">
46
+ <div>${result.name}</div>
47
+ <div>${this.renderMessage(result)}</div>
48
+ </div>
49
+ </div>
50
50
  </div>`;
51
51
  }
52
52
  renderMessage(result) {
@@ -54,11 +54,11 @@ let uSyncResultRow = class uSyncResultRow extends UmbLitElement {
54
54
  result.change != ChangeType.IMPORT_FAIL) ||
55
55
  !result.message
56
56
  ? html `<em>${result.message}</em>`
57
- : html ` <uui-button
58
- look="outline"
59
- color="danger"
60
- label="View error"
61
- compact
57
+ : html ` <uui-button
58
+ look="outline"
59
+ color="danger"
60
+ label="View error"
61
+ compact
62
62
  @click=${(e) => __classPrivateFieldGet(this, _uSyncResultRow_instances, "m", _uSyncResultRow_viewError).call(this, e, result)}></uui-button>`;
63
63
  }
64
64
  };
@@ -81,51 +81,51 @@ _uSyncResultRow_viewError = async function _uSyncResultRow_viewError(e, result)
81
81
  });
82
82
  return data;
83
83
  };
84
- uSyncResultRow.styles = css `
85
- .row {
86
- display: flex;
87
- align-items: center;
88
- gap: var(--uui-size-space-5);
89
- padding: var(--uui-size-space-5);
90
- border-bottom: 1px solid var(--uui-color-border);
91
- cursor: pointer;
92
- }
93
-
94
- :host:last-child {
95
- background-color: blue;
96
- }
97
-
98
- .row:hover {
99
- background-color: var(--uui-color-surface-alt);
100
- }
101
-
102
- .no_change {
103
- color: var(--uui-color-disabled-contrast);
104
- cursor: default;
105
- }
106
-
107
- .row-content {
108
- gap: 10px;
109
- flex-grow: 1;
110
- display: flex;
111
- align-items: center;
112
- justify-content: space-between;
113
- }
114
-
115
- .item-name {
116
- display: flex;
117
- font-weight: bold;
118
- align-items: center;
119
- flex-grow: 2;
120
- justify-content: space-between;
121
- }
122
-
123
- .item-detail {
124
- display: flex;
125
- flex-direction: column;
126
- font-size: smaller;
127
- min-width: 60px;
128
- }
84
+ uSyncResultRow.styles = css `
85
+ .row {
86
+ display: flex;
87
+ align-items: center;
88
+ gap: var(--uui-size-space-5);
89
+ padding: var(--uui-size-space-5);
90
+ border-bottom: 1px solid var(--uui-color-border);
91
+ cursor: pointer;
92
+ }
93
+
94
+ :host:last-child {
95
+ background-color: blue;
96
+ }
97
+
98
+ .row:hover {
99
+ background-color: var(--uui-color-surface-alt);
100
+ }
101
+
102
+ .no_change {
103
+ color: var(--uui-color-disabled-contrast);
104
+ cursor: default;
105
+ }
106
+
107
+ .row-content {
108
+ gap: 10px;
109
+ flex-grow: 1;
110
+ display: flex;
111
+ align-items: center;
112
+ justify-content: space-between;
113
+ }
114
+
115
+ .item-name {
116
+ display: flex;
117
+ font-weight: bold;
118
+ align-items: center;
119
+ flex-grow: 2;
120
+ justify-content: space-between;
121
+ }
122
+
123
+ .item-detail {
124
+ display: flex;
125
+ flex-direction: column;
126
+ font-size: smaller;
127
+ min-width: 60px;
128
+ }
129
129
  `;
130
130
  __decorate([
131
131
  property({ type: Object })
@@ -22,25 +22,25 @@ let uSyncResultGroupView = class uSyncResultGroupView extends UmbLitElement {
22
22
  const changeCount = this.getChangeCount() ?? 0;
23
23
  if (changeCount === 0 && !this.showAll)
24
24
  return nothing;
25
- return html `
26
- <uui-box
25
+ return html `
26
+ <uui-box
27
27
  class=${classMap({
28
28
  has_changes: changeCount > 0,
29
- })}>
30
- <div
31
- class="summary ${when(this.expanded, () => 'expanded')}"
32
- @click=${() => (this.expanded = !this.expanded)}>
33
- <h4>${this.localize.termOrDefault('uSync_' + this.groupName, this.groupName)}</h4>
34
- <div class="summary-right">
35
- <h4 class="count">${changeCount}/${this.results?.length}</h4>
36
- <uui-icon
37
- name="icon-play"
38
- class=${classMap({ expanded: this.expanded })}></uui-icon>
39
- </div>
40
- </div>
41
-
42
- ${when(this.expanded == true, () => html `<uui-table>${this.renderGroupedRows(this.results)}</uui-table>`)}
43
- </uui-box>
29
+ })}>
30
+ <div
31
+ class="summary ${when(this.expanded, () => 'expanded')}"
32
+ @click=${() => (this.expanded = !this.expanded)}>
33
+ <h4>${this.localize.termOrDefault('uSync_' + this.groupName, this.groupName)}</h4>
34
+ <div class="summary-right">
35
+ <h4 class="count">${changeCount}/${this.results?.length}</h4>
36
+ <uui-icon
37
+ name="icon-play"
38
+ class=${classMap({ expanded: this.expanded })}></uui-icon>
39
+ </div>
40
+ </div>
41
+
42
+ ${when(this.expanded == true, () => html `<uui-table>${this.renderGroupedRows(this.results)}</uui-table>`)}
43
+ </uui-box>
44
44
  `;
45
45
  }
46
46
  renderGroupedRows(results) {
@@ -52,52 +52,52 @@ let uSyncResultGroupView = class uSyncResultGroupView extends UmbLitElement {
52
52
  return rowsHtml;
53
53
  }
54
54
  };
55
- uSyncResultGroupView.styles = css `
56
- uui-box {
57
- cursor: pointer;
58
- --uui-box-default-padding: 0;
59
- }
60
-
61
- uui-table {
62
- border-top-left-radius: 0;
63
- border-top-right-radius: 0;
64
- }
65
-
66
- usync-result-row:last-child row {
67
- border-bottom: none;
68
- }
69
-
70
- .expanded {
71
- border-bottom: 1px solid var(--uui-color-border);
72
- }
73
-
74
- .summary {
75
- display: flex;
76
- margin: 0;
77
- padding: 0 20px;
78
- justify-content: space-between;
79
- }
80
-
81
- .summary-right {
82
- display: flex;
83
- align-items: center;
84
- gap: var(--uui-size-space-2);
85
- color: var(--uui-color-border-emphasis);
86
- }
87
-
88
- .summary-right uui-icon {
89
- transform: rotate(90deg);
90
- transition: transform 0.5s cubic-bezier(0.42, 0, 0.37, 1.62);
91
- }
92
-
93
- .summary-right uui-icon.expanded {
94
- transform: rotate(-90deg);
95
- border-bottom: none;
96
- }
97
-
98
- .count {
99
- color: var(--uui-text);
100
- }
55
+ uSyncResultGroupView.styles = css `
56
+ uui-box {
57
+ cursor: pointer;
58
+ --uui-box-default-padding: 0;
59
+ }
60
+
61
+ uui-table {
62
+ border-top-left-radius: 0;
63
+ border-top-right-radius: 0;
64
+ }
65
+
66
+ usync-result-row:last-child row {
67
+ border-bottom: none;
68
+ }
69
+
70
+ .expanded {
71
+ border-bottom: 1px solid var(--uui-color-border);
72
+ }
73
+
74
+ .summary {
75
+ display: flex;
76
+ margin: 0;
77
+ padding: 0 20px;
78
+ justify-content: space-between;
79
+ }
80
+
81
+ .summary-right {
82
+ display: flex;
83
+ align-items: center;
84
+ gap: var(--uui-size-space-2);
85
+ color: var(--uui-color-border-emphasis);
86
+ }
87
+
88
+ .summary-right uui-icon {
89
+ transform: rotate(90deg);
90
+ transition: transform 0.5s cubic-bezier(0.42, 0, 0.37, 1.62);
91
+ }
92
+
93
+ .summary-right uui-icon.expanded {
94
+ transform: rotate(-90deg);
95
+ border-bottom: none;
96
+ }
97
+
98
+ .count {
99
+ color: var(--uui-text);
100
+ }
101
101
  `;
102
102
  __decorate([
103
103
  state()