@cloudscape-design/components 3.0.360 → 3.0.362
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.
- package/annotation-context/annotation/styles.css.js +24 -24
- package/annotation-context/annotation/styles.scoped.css +30 -30
- package/annotation-context/annotation/styles.selectors.js +24 -24
- package/app-layout/index.d.ts.map +1 -1
- package/app-layout/index.js +4 -5
- package/app-layout/index.js.map +1 -1
- package/app-layout/utils/use-content-width.js +1 -1
- package/app-layout/utils/use-content-width.js.map +1 -1
- package/app-layout/utils/use-observed-element.js +1 -1
- package/app-layout/utils/use-observed-element.js.map +1 -1
- package/app-layout/visual-refresh/styles.css.js +69 -69
- package/app-layout/visual-refresh/styles.scoped.css +169 -169
- package/app-layout/visual-refresh/styles.selectors.js +69 -69
- package/area-chart/model/use-chart-model.d.ts.map +1 -1
- package/area-chart/model/use-chart-model.js +2 -2
- package/area-chart/model/use-chart-model.js.map +1 -1
- package/area-chart/styles.css.js +6 -6
- package/area-chart/styles.scoped.css +10 -10
- package/area-chart/styles.selectors.js +6 -6
- package/attribute-editor/styles.css.js +14 -14
- package/attribute-editor/styles.scoped.css +25 -25
- package/attribute-editor/styles.selectors.js +14 -14
- package/button-dropdown/category-elements/styles.css.js +13 -13
- package/button-dropdown/category-elements/styles.scoped.css +27 -27
- package/button-dropdown/category-elements/styles.selectors.js +13 -13
- package/button-dropdown/item-element/styles.css.js +15 -15
- package/button-dropdown/item-element/styles.scoped.css +19 -19
- package/button-dropdown/item-element/styles.selectors.js +15 -15
- package/button-dropdown/styles.css.js +14 -14
- package/button-dropdown/styles.scoped.css +22 -22
- package/button-dropdown/styles.selectors.js +14 -14
- package/code-editor/listeners.js +2 -2
- package/code-editor/listeners.js.map +1 -1
- package/code-editor/resizable-box/index.js +2 -2
- package/code-editor/resizable-box/index.js.map +1 -1
- package/code-editor/styles.css.js +32 -32
- package/code-editor/styles.scoped.css +130 -130
- package/code-editor/styles.selectors.js +32 -32
- package/collection-preferences/content-display/styles.css.js +11 -11
- package/collection-preferences/content-display/styles.scoped.css +18 -18
- package/collection-preferences/content-display/styles.selectors.js +11 -11
- package/collection-preferences/styles.css.js +37 -37
- package/collection-preferences/styles.scoped.css +47 -47
- package/collection-preferences/styles.selectors.js +37 -37
- package/column-layout/flexible-column-layout/styles.css.js +5 -5
- package/column-layout/flexible-column-layout/styles.scoped.css +5 -5
- package/column-layout/flexible-column-layout/styles.selectors.js +5 -5
- package/column-layout/styles.css.js +13 -13
- package/column-layout/styles.scoped.css +46 -46
- package/column-layout/styles.selectors.js +13 -13
- package/container/styles.css.js +28 -28
- package/container/styles.scoped.css +55 -55
- package/container/styles.selectors.js +28 -28
- package/date-range-picker/styles.css.js +38 -38
- package/date-range-picker/styles.scoped.css +47 -47
- package/date-range-picker/styles.selectors.js +38 -38
- package/expandable-section/styles.css.js +29 -29
- package/expandable-section/styles.scoped.css +66 -66
- package/expandable-section/styles.selectors.js +29 -29
- package/form-field/styles.css.js +19 -19
- package/form-field/styles.scoped.css +30 -30
- package/form-field/styles.selectors.js +19 -19
- package/help-panel/styles.css.js +4 -4
- package/help-panel/styles.scoped.css +66 -66
- package/help-panel/styles.selectors.js +4 -4
- package/internal/base-component/styles.scoped.css +81 -57
- package/internal/components/dark-ribbon/index.js +2 -2
- package/internal/components/dark-ribbon/index.js.map +1 -1
- package/internal/components/dropdown-footer/styles.css.js +3 -3
- package/internal/components/dropdown-footer/styles.scoped.css +4 -4
- package/internal/components/dropdown-footer/styles.selectors.js +3 -3
- package/internal/components/options-list/index.d.ts.map +1 -1
- package/internal/components/options-list/index.js +2 -2
- package/internal/components/options-list/index.js.map +1 -1
- package/internal/components/selectable-item/styles.css.js +16 -16
- package/internal/components/selectable-item/styles.scoped.css +31 -31
- package/internal/components/selectable-item/styles.selectors.js +16 -16
- package/internal/components/token-list/styles.css.js +9 -9
- package/internal/components/token-list/styles.scoped.css +22 -22
- package/internal/components/token-list/styles.selectors.js +9 -9
- package/internal/environment.js +1 -1
- package/internal/environment.json +1 -1
- package/internal/generated/styles/tokens.js +1 -1
- package/internal/generated/theming/index.cjs +25 -23
- package/internal/generated/theming/index.js +25 -23
- package/internal/hooks/container-queries/index.d.ts +0 -1
- package/internal/hooks/container-queries/index.d.ts.map +1 -1
- package/internal/hooks/container-queries/index.js +0 -1
- package/internal/hooks/container-queries/index.js.map +1 -1
- package/internal/hooks/container-queries/use-height-measure.js +1 -1
- package/internal/hooks/container-queries/use-height-measure.js.map +1 -1
- package/internal/hooks/use-dynamic-overlap/index.js +1 -1
- package/internal/hooks/use-dynamic-overlap/index.js.map +1 -1
- package/internal/hooks/use-mobile/index.js +1 -1
- package/internal/hooks/use-mobile/index.js.map +1 -1
- package/internal/hooks/use-mouse-down-target.js +1 -1
- package/internal/hooks/use-mouse-down-target.js.map +1 -1
- package/internal/hooks/use-mutation-observer/index.d.ts.map +1 -1
- package/internal/hooks/use-mutation-observer/index.js +2 -3
- package/internal/hooks/use-mutation-observer/index.js.map +1 -1
- package/internal/manifest.json +1 -1
- package/modal/styles.css.js +23 -23
- package/modal/styles.scoped.css +39 -39
- package/modal/styles.selectors.js +23 -23
- package/package.json +1 -1
- package/pie-chart/labels.js +1 -1
- package/pie-chart/labels.js.map +1 -1
- package/pie-chart/styles.css.js +27 -27
- package/pie-chart/styles.scoped.css +43 -43
- package/pie-chart/styles.selectors.js +27 -27
- package/popover/container.d.ts.map +1 -1
- package/popover/container.js +1 -1
- package/popover/container.js.map +1 -1
- package/property-filter/styles.css.js +29 -29
- package/property-filter/styles.scoped.css +33 -33
- package/property-filter/styles.selectors.js +29 -29
- package/s3-resource-selector/s3-in-context/styles.css.js +7 -7
- package/s3-resource-selector/s3-in-context/styles.scoped.css +10 -10
- package/s3-resource-selector/s3-in-context/styles.selectors.js +7 -7
- package/s3-resource-selector/s3-in-context/use-versions-fetch.d.ts.map +1 -1
- package/s3-resource-selector/s3-in-context/use-versions-fetch.js +2 -2
- package/s3-resource-selector/s3-in-context/use-versions-fetch.js.map +1 -1
- package/s3-resource-selector/s3-modal/basic-table.d.ts.map +1 -1
- package/s3-resource-selector/s3-modal/basic-table.js +2 -2
- package/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
- package/side-navigation/styles.css.js +28 -28
- package/side-navigation/styles.scoped.css +43 -43
- package/side-navigation/styles.selectors.js +28 -28
- package/split-panel/bottom.js +1 -1
- package/split-panel/bottom.js.map +1 -1
- package/split-panel/styles.css.js +56 -56
- package/split-panel/styles.scoped.css +85 -85
- package/split-panel/styles.selectors.js +56 -56
- package/table/body-cell/click-away.js +2 -2
- package/table/body-cell/click-away.js.map +1 -1
- package/table/body-cell/styles.css.js +28 -28
- package/table/body-cell/styles.scoped.css +76 -76
- package/table/body-cell/styles.selectors.js +28 -28
- package/table/header-cell/styles.css.js +24 -24
- package/table/header-cell/styles.scoped.css +43 -43
- package/table/header-cell/styles.selectors.js +24 -24
- package/table/resizer/index.js +3 -3
- package/table/resizer/index.js.map +1 -1
- package/table/sticky-columns/use-sticky-columns.d.ts.map +1 -1
- package/table/sticky-columns/use-sticky-columns.js +2 -3
- package/table/sticky-columns/use-sticky-columns.js.map +1 -1
- package/table/sticky-scrollbar/styles.css.js +6 -6
- package/table/sticky-scrollbar/styles.scoped.css +9 -9
- package/table/sticky-scrollbar/styles.selectors.js +6 -6
- package/table/styles.css.js +34 -34
- package/table/styles.scoped.css +42 -42
- package/table/styles.selectors.js +34 -34
- package/table/use-sticky-header.js +1 -1
- package/table/use-sticky-header.js.map +1 -1
- package/tabs/styles.css.js +21 -21
- package/tabs/styles.scoped.css +46 -46
- package/tabs/styles.selectors.js +21 -21
- package/tag-editor/index.d.ts.map +1 -1
- package/tag-editor/index.js +6 -6
- package/tag-editor/index.js.map +1 -1
- package/tiles/styles.css.js +29 -29
- package/tiles/styles.scoped.css +73 -73
- package/tiles/styles.selectors.js +29 -29
- package/top-navigation/1.0-beta/styles.css.js +25 -25
- package/top-navigation/1.0-beta/styles.scoped.css +43 -43
- package/top-navigation/1.0-beta/styles.selectors.js +25 -25
- package/top-navigation/styles.css.js +47 -47
- package/top-navigation/styles.scoped.css +73 -73
- package/top-navigation/styles.selectors.js +47 -47
- package/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
- package/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +23 -23
- package/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
- package/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
- package/tutorial-panel/components/tutorial-list/styles.scoped.css +28 -28
- package/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
- package/wizard/styles.css.js +31 -31
- package/wizard/styles.scoped.css +63 -63
- package/wizard/styles.selectors.js +31 -31
- package/internal/hooks/container-queries/use-resize-observer.d.ts +0 -21
- package/internal/hooks/container-queries/use-resize-observer.d.ts.map +0 -1
- package/internal/hooks/container-queries/use-resize-observer.js +0 -54
- package/internal/hooks/container-queries/use-resize-observer.js.map +0 -1
- package/internal/hooks/container-queries/utils.d.ts +0 -4
- package/internal/hooks/container-queries/utils.d.ts.map +0 -1
- package/internal/hooks/container-queries/utils.js +0 -10
- package/internal/hooks/container-queries/utils.js.map +0 -1
- package/internal/hooks/use-singleton-handler/index.d.ts +0 -11
- package/internal/hooks/use-singleton-handler/index.d.ts.map +0 -1
- package/internal/hooks/use-singleton-handler/index.js +0 -45
- package/internal/hooks/use-singleton-handler/index.js.map +0 -1
- package/internal/hooks/use-stable-event-handler/index.d.ts +0 -10
- package/internal/hooks/use-stable-event-handler/index.d.ts.map +0 -1
- package/internal/hooks/use-stable-event-handler/index.js +0 -19
- package/internal/hooks/use-stable-event-handler/index.js.map +0 -1
package/modal/styles.scoped.css
CHANGED
|
@@ -94,7 +94,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
94
94
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
95
95
|
SPDX-License-Identifier: Apache-2.0
|
|
96
96
|
*/
|
|
97
|
-
@keyframes awsui_modal-slide-
|
|
97
|
+
@keyframes awsui_modal-slide-up_1d2i7_1ber5_1 {
|
|
98
98
|
0% {
|
|
99
99
|
transform: translate(0, 10px);
|
|
100
100
|
}
|
|
@@ -102,12 +102,12 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
102
102
|
transform: translate(0, 0);
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
.
|
|
106
|
-
animation: awsui_modal-slide-
|
|
105
|
+
.awsui_dialog_1d2i7_1ber5_105:not(#\9) {
|
|
106
|
+
animation: awsui_modal-slide-up_1d2i7_1ber5_1 var(--motion-duration-slow-z2kaah, 180ms) ease-out, awsui_awsui-motion-fade-in-0_1d2i7_1ber5_1 var(--motion-duration-slow-z2kaah, 180ms) ease-out;
|
|
107
107
|
animation-delay: var(--motion-duration-fast-sbm3r7, 90ms);
|
|
108
108
|
animation-fill-mode: both;
|
|
109
109
|
}
|
|
110
|
-
@keyframes awsui_awsui-motion-fade-in-
|
|
110
|
+
@keyframes awsui_awsui-motion-fade-in-0_1d2i7_1ber5_1 {
|
|
111
111
|
from {
|
|
112
112
|
opacity: 0;
|
|
113
113
|
}
|
|
@@ -116,22 +116,22 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
@media (prefers-reduced-motion: reduce) {
|
|
119
|
-
.
|
|
119
|
+
.awsui_dialog_1d2i7_1ber5_105:not(#\9) {
|
|
120
120
|
animation: none;
|
|
121
121
|
transition: none;
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
|
-
.awsui-motion-disabled .
|
|
124
|
+
.awsui-motion-disabled .awsui_dialog_1d2i7_1ber5_105:not(#\9), .awsui-mode-entering .awsui_dialog_1d2i7_1ber5_105:not(#\9) {
|
|
125
125
|
animation: none;
|
|
126
126
|
transition: none;
|
|
127
127
|
}
|
|
128
|
-
.
|
|
129
|
-
animation: awsui_awsui-motion-scale-
|
|
128
|
+
.awsui_dialog_1d2i7_1ber5_105.awsui_refresh_1d2i7_1ber5_128:not(#\9) {
|
|
129
|
+
animation: awsui_awsui-motion-scale-popup_1d2i7_1ber5_1, awsui_awsui-motion-fade-in-0_1d2i7_1ber5_1;
|
|
130
130
|
animation-duration: var(--motion-duration-refresh-only-fast-4jn2d7, 115ms);
|
|
131
131
|
animation-timing-function: var(--motion-easing-refresh-only-a-8flf9q, cubic-bezier(0, 0, 0, 1));
|
|
132
132
|
animation-fill-mode: both;
|
|
133
133
|
}
|
|
134
|
-
@keyframes awsui_awsui-motion-fade-in-
|
|
134
|
+
@keyframes awsui_awsui-motion-fade-in-0_1d2i7_1ber5_1 {
|
|
135
135
|
from {
|
|
136
136
|
opacity: 0;
|
|
137
137
|
}
|
|
@@ -139,7 +139,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
139
139
|
opacity: 1;
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
|
-
@keyframes awsui_awsui-motion-scale-
|
|
142
|
+
@keyframes awsui_awsui-motion-scale-popup_1d2i7_1ber5_1 {
|
|
143
143
|
0% {
|
|
144
144
|
transform: scale(0.95);
|
|
145
145
|
}
|
|
@@ -148,21 +148,21 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
@media (prefers-reduced-motion: reduce) {
|
|
151
|
-
.
|
|
151
|
+
.awsui_dialog_1d2i7_1ber5_105.awsui_refresh_1d2i7_1ber5_128:not(#\9) {
|
|
152
152
|
animation: none;
|
|
153
153
|
transition: none;
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
|
-
.awsui-motion-disabled .
|
|
156
|
+
.awsui-motion-disabled .awsui_dialog_1d2i7_1ber5_105.awsui_refresh_1d2i7_1ber5_128:not(#\9), .awsui-mode-entering .awsui_dialog_1d2i7_1ber5_105.awsui_refresh_1d2i7_1ber5_128:not(#\9) {
|
|
157
157
|
animation: none;
|
|
158
158
|
transition: none;
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
-
.
|
|
162
|
-
animation: awsui_awsui-motion-fade-
|
|
161
|
+
.awsui_root_1d2i7_1ber5_161:not(#\9) {
|
|
162
|
+
animation: awsui_awsui-motion-fade-in_1d2i7_1ber5_1 var(--motion-duration-extra-slow-ngjb9g, 270ms) ease-out;
|
|
163
163
|
animation-fill-mode: both;
|
|
164
164
|
}
|
|
165
|
-
@keyframes awsui_awsui-motion-fade-
|
|
165
|
+
@keyframes awsui_awsui-motion-fade-in_1d2i7_1ber5_1 {
|
|
166
166
|
from {
|
|
167
167
|
opacity: 0.2;
|
|
168
168
|
}
|
|
@@ -171,25 +171,25 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
173
|
@media (prefers-reduced-motion: reduce) {
|
|
174
|
-
.
|
|
174
|
+
.awsui_root_1d2i7_1ber5_161:not(#\9) {
|
|
175
175
|
animation: none;
|
|
176
176
|
transition: none;
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
|
-
.awsui-motion-disabled .
|
|
179
|
+
.awsui-motion-disabled .awsui_root_1d2i7_1ber5_161:not(#\9), .awsui-mode-entering .awsui_root_1d2i7_1ber5_161:not(#\9) {
|
|
180
180
|
animation: none;
|
|
181
181
|
transition: none;
|
|
182
182
|
}
|
|
183
|
-
.
|
|
183
|
+
.awsui_root_1d2i7_1ber5_161.awsui_refresh_1d2i7_1ber5_128:not(#\9) {
|
|
184
184
|
animation-duration: var(--motion-duration-refresh-only-fast-4jn2d7, 115ms);
|
|
185
185
|
}
|
|
186
186
|
@media (prefers-reduced-motion: reduce) {
|
|
187
|
-
.
|
|
187
|
+
.awsui_root_1d2i7_1ber5_161.awsui_refresh_1d2i7_1ber5_128:not(#\9) {
|
|
188
188
|
animation: none;
|
|
189
189
|
transition: none;
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
|
-
.awsui-motion-disabled .
|
|
192
|
+
.awsui-motion-disabled .awsui_root_1d2i7_1ber5_161.awsui_refresh_1d2i7_1ber5_128:not(#\9), .awsui-mode-entering .awsui_root_1d2i7_1ber5_161.awsui_refresh_1d2i7_1ber5_128:not(#\9) {
|
|
193
193
|
animation: none;
|
|
194
194
|
transition: none;
|
|
195
195
|
}
|
|
@@ -198,7 +198,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
198
198
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
199
199
|
SPDX-License-Identifier: Apache-2.0
|
|
200
200
|
*/
|
|
201
|
-
.
|
|
201
|
+
.awsui_root_1d2i7_1ber5_161:not(#\9) {
|
|
202
202
|
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
|
|
203
203
|
border-collapse: separate;
|
|
204
204
|
border-spacing: 0;
|
|
@@ -249,11 +249,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
249
249
|
overflow: auto;
|
|
250
250
|
cursor: pointer;
|
|
251
251
|
}
|
|
252
|
-
.
|
|
252
|
+
.awsui_root_1d2i7_1ber5_161.awsui_hidden_1d2i7_1ber5_226:not(#\9) {
|
|
253
253
|
display: none;
|
|
254
254
|
}
|
|
255
255
|
|
|
256
|
-
.awsui_focus-
|
|
256
|
+
.awsui_focus-lock_1d2i7_1ber5_230:not(#\9) {
|
|
257
257
|
align-self: flex-start;
|
|
258
258
|
margin: auto;
|
|
259
259
|
padding: var(--space-s-34lx8l, 12px) 0;
|
|
@@ -261,7 +261,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
261
261
|
pointer-events: none;
|
|
262
262
|
}
|
|
263
263
|
|
|
264
|
-
.
|
|
264
|
+
.awsui_dialog_1d2i7_1ber5_105:not(#\9) {
|
|
265
265
|
position: static;
|
|
266
266
|
top: 0;
|
|
267
267
|
transform: translate(0, 0);
|
|
@@ -271,21 +271,21 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
271
271
|
z-index: 5000;
|
|
272
272
|
pointer-events: all;
|
|
273
273
|
}
|
|
274
|
-
.
|
|
274
|
+
.awsui_dialog_1d2i7_1ber5_105.awsui_small_1d2i7_1ber5_248:not(#\9) {
|
|
275
275
|
max-width: 320px;
|
|
276
276
|
}
|
|
277
|
-
.
|
|
277
|
+
.awsui_dialog_1d2i7_1ber5_105.awsui_medium_1d2i7_1ber5_251:not(#\9) {
|
|
278
278
|
max-width: 600px;
|
|
279
279
|
}
|
|
280
|
-
.
|
|
280
|
+
.awsui_dialog_1d2i7_1ber5_105.awsui_large_1d2i7_1ber5_254:not(#\9) {
|
|
281
281
|
max-width: 820px;
|
|
282
282
|
}
|
|
283
|
-
.
|
|
283
|
+
.awsui_dialog_1d2i7_1ber5_105.awsui_max_1d2i7_1ber5_257.awsui_breakpoint-xs_1d2i7_1ber5_257:not(#\9) {
|
|
284
284
|
max-width: calc(100vw - (2 * 4 * 10px + var(--space-xxxl-4x2gki, 40px)));
|
|
285
285
|
margin: auto;
|
|
286
286
|
}
|
|
287
287
|
|
|
288
|
-
.
|
|
288
|
+
.awsui_container_1d2i7_1ber5_262:not(#\9) {
|
|
289
289
|
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
|
|
290
290
|
border-collapse: separate;
|
|
291
291
|
border-spacing: 0;
|
|
@@ -330,46 +330,46 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
330
330
|
box-shadow: var(--shadow-modal-espdsd, 0px 4px 20px 1px rgba(0, 7, 22, 0.1));
|
|
331
331
|
}
|
|
332
332
|
|
|
333
|
-
.
|
|
333
|
+
.awsui_content_1d2i7_1ber5_281:not(#\9) {
|
|
334
334
|
padding: var(--space-container-content-top-1ae0r3, 4px) var(--space-modal-horizontal-f89syl, 20px) var(--space-modal-content-bottom-hqahub, 16px);
|
|
335
335
|
}
|
|
336
|
-
.
|
|
336
|
+
.awsui_content_1d2i7_1ber5_281.awsui_no-paddings_1d2i7_1ber5_284:not(#\9) {
|
|
337
337
|
padding: 0;
|
|
338
338
|
}
|
|
339
339
|
|
|
340
|
-
.
|
|
340
|
+
.awsui_header_1d2i7_1ber5_288:not(#\9) {
|
|
341
341
|
padding: var(--space-container-header-top-5qav00, 12px) var(--space-modal-horizontal-f89syl, 20px) var(--space-container-header-bottom-vj01hn, 8px);
|
|
342
342
|
background-color: var(--color-background-container-header-8b9fgi, #ffffff);
|
|
343
343
|
border-bottom: 1px solid var(--color-border-container-divider-p2uygo, transparent);
|
|
344
344
|
border-radius: var(--border-radius-container-wqv1zi, 16px) var(--border-radius-container-wqv1zi, 16px) 0 0;
|
|
345
345
|
}
|
|
346
346
|
|
|
347
|
-
.awsui_header--
|
|
347
|
+
.awsui_header--text_1d2i7_1ber5_295:not(#\9) {
|
|
348
348
|
/* used in test-utils */
|
|
349
349
|
}
|
|
350
350
|
|
|
351
|
-
.
|
|
352
|
-
border-top: var(--border-divider-section-width-
|
|
351
|
+
.awsui_footer_1d2i7_1ber5_299:not(#\9) {
|
|
352
|
+
border-top: var(--border-divider-section-width-8a5uu9, 2px) solid var(--color-border-divider-default-et9j7s, #e9ebed);
|
|
353
353
|
padding: var(--space-scaled-s-aqzyko, 12px) var(--space-container-horizontal-wfukh3, 20px);
|
|
354
354
|
background-color: var(--color-background-container-content-4un1ap, #ffffff);
|
|
355
355
|
position: sticky;
|
|
356
356
|
bottom: 0;
|
|
357
357
|
z-index: 800;
|
|
358
358
|
}
|
|
359
|
-
.awsui_footer--
|
|
359
|
+
.awsui_footer--stuck_1d2i7_1ber5_307:not(#\9) {
|
|
360
360
|
border-radius: 0 0 var(--border-radius-container-wqv1zi, 16px) var(--border-radius-container-wqv1zi, 16px);
|
|
361
361
|
}
|
|
362
|
-
.
|
|
362
|
+
.awsui_footer_1d2i7_1ber5_299:not(#\9):after {
|
|
363
363
|
content: "";
|
|
364
364
|
display: table;
|
|
365
365
|
clear: both;
|
|
366
366
|
}
|
|
367
367
|
|
|
368
|
-
.awsui_dismiss-
|
|
368
|
+
.awsui_dismiss-control_1d2i7_1ber5_316:not(#\9) {
|
|
369
369
|
/* used in test-utils */
|
|
370
370
|
}
|
|
371
371
|
|
|
372
|
-
.awsui_modal-
|
|
372
|
+
.awsui_modal-open_1d2i7_1ber5_320:not(#\9) {
|
|
373
373
|
overflow: hidden;
|
|
374
374
|
/*
|
|
375
375
|
* When padding-right is added to account for scrollbar being turned
|
|
@@ -2,28 +2,28 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"dialog": "
|
|
6
|
-
"modal-slide-up": "awsui_modal-slide-
|
|
7
|
-
"awsui-motion-fade-in-0": "awsui_awsui-motion-fade-in-
|
|
8
|
-
"refresh": "
|
|
9
|
-
"awsui-motion-scale-popup": "awsui_awsui-motion-scale-
|
|
10
|
-
"root": "
|
|
11
|
-
"awsui-motion-fade-in": "awsui_awsui-motion-fade-
|
|
12
|
-
"hidden": "
|
|
13
|
-
"focus-lock": "awsui_focus-
|
|
14
|
-
"small": "
|
|
15
|
-
"medium": "
|
|
16
|
-
"large": "
|
|
17
|
-
"max": "
|
|
18
|
-
"breakpoint-xs": "awsui_breakpoint-
|
|
19
|
-
"container": "
|
|
20
|
-
"content": "
|
|
21
|
-
"no-paddings": "awsui_no-
|
|
22
|
-
"header": "
|
|
23
|
-
"header--text": "awsui_header--
|
|
24
|
-
"footer": "
|
|
25
|
-
"footer--stuck": "awsui_footer--
|
|
26
|
-
"dismiss-control": "awsui_dismiss-
|
|
27
|
-
"modal-open": "awsui_modal-
|
|
5
|
+
"dialog": "awsui_dialog_1d2i7_1ber5_105",
|
|
6
|
+
"modal-slide-up": "awsui_modal-slide-up_1d2i7_1ber5_1",
|
|
7
|
+
"awsui-motion-fade-in-0": "awsui_awsui-motion-fade-in-0_1d2i7_1ber5_1",
|
|
8
|
+
"refresh": "awsui_refresh_1d2i7_1ber5_128",
|
|
9
|
+
"awsui-motion-scale-popup": "awsui_awsui-motion-scale-popup_1d2i7_1ber5_1",
|
|
10
|
+
"root": "awsui_root_1d2i7_1ber5_161",
|
|
11
|
+
"awsui-motion-fade-in": "awsui_awsui-motion-fade-in_1d2i7_1ber5_1",
|
|
12
|
+
"hidden": "awsui_hidden_1d2i7_1ber5_226",
|
|
13
|
+
"focus-lock": "awsui_focus-lock_1d2i7_1ber5_230",
|
|
14
|
+
"small": "awsui_small_1d2i7_1ber5_248",
|
|
15
|
+
"medium": "awsui_medium_1d2i7_1ber5_251",
|
|
16
|
+
"large": "awsui_large_1d2i7_1ber5_254",
|
|
17
|
+
"max": "awsui_max_1d2i7_1ber5_257",
|
|
18
|
+
"breakpoint-xs": "awsui_breakpoint-xs_1d2i7_1ber5_257",
|
|
19
|
+
"container": "awsui_container_1d2i7_1ber5_262",
|
|
20
|
+
"content": "awsui_content_1d2i7_1ber5_281",
|
|
21
|
+
"no-paddings": "awsui_no-paddings_1d2i7_1ber5_284",
|
|
22
|
+
"header": "awsui_header_1d2i7_1ber5_288",
|
|
23
|
+
"header--text": "awsui_header--text_1d2i7_1ber5_295",
|
|
24
|
+
"footer": "awsui_footer_1d2i7_1ber5_299",
|
|
25
|
+
"footer--stuck": "awsui_footer--stuck_1d2i7_1ber5_307",
|
|
26
|
+
"dismiss-control": "awsui_dismiss-control_1d2i7_1ber5_316",
|
|
27
|
+
"modal-open": "awsui_modal-open_1d2i7_1ber5_320"
|
|
28
28
|
};
|
|
29
29
|
|
package/package.json
CHANGED
package/pie-chart/labels.js
CHANGED
|
@@ -5,8 +5,8 @@ import clsx from 'clsx';
|
|
|
5
5
|
import { arc } from 'd3-shape';
|
|
6
6
|
import styles from './styles.css.js';
|
|
7
7
|
import { balanceLabelNodes } from './utils';
|
|
8
|
-
import { useResizeObserver } from '../internal/hooks/container-queries';
|
|
9
8
|
import ResponsiveText from './responsive-text';
|
|
9
|
+
import { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';
|
|
10
10
|
function LabelElement({ x, y, hideTitles, hideDescriptions, rightSide, title, description, containerBoundaries, }) {
|
|
11
11
|
return (
|
|
12
12
|
// Reset the transform property to prepare for `balanceLabelNodes`.
|
package/pie-chart/labels.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.js","sourceRoot":"lib/default/","sources":["pie-chart/labels.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport { arc, PieArcDatum } from 'd3-shape';\n\nimport { PieChartProps } from './interfaces';\nimport styles from './styles.css.js';\nimport { InternalChartDatum } from './pie-chart';\nimport { Dimension, balanceLabelNodes } from './utils';\nimport { useResizeObserver } from '../internal/hooks/container-queries';\nimport ResponsiveText from './responsive-text';\n\nexport interface LabelsProps<T> {\n pieData: PieArcDatum<InternalChartDatum<T>>[];\n visibleDataSum: number;\n dimensions: Dimension;\n hideTitles: boolean;\n hideDescriptions: boolean;\n highlightedSegment: PieChartProps.Datum | null;\n segmentDescription?: PieChartProps.SegmentDescriptionFunction<T>;\n containerRef: React.RefObject<HTMLDivElement>;\n}\n\ninterface LabelElementProps {\n x: number;\n y: number;\n rightSide: boolean;\n hideTitles: boolean;\n hideDescriptions: boolean;\n title: PieChartProps.Datum['title'];\n description?: string;\n containerBoundaries: null | { left: number; right: number };\n}\n\nfunction LabelElement({\n x,\n y,\n hideTitles,\n hideDescriptions,\n rightSide,\n title,\n description,\n containerBoundaries,\n}: LabelElementProps) {\n return (\n // Reset the transform property to prepare for `balanceLabelNodes`.\n // The dataset attributes are also needed in the function for IE11 support.\n <g className={styles['label-text']} transform=\"\" data-x={x} data-y={y}>\n {!hideTitles && (\n <ResponsiveText x={x} y={y} rightSide={rightSide} containerBoundaries={containerBoundaries}>\n {title}\n </ResponsiveText>\n )}\n {!hideDescriptions && description && (\n <ResponsiveText\n x={x}\n y={y + (hideTitles ? 0 : 18)}\n rightSide={rightSide}\n className={styles.label__description}\n containerBoundaries={containerBoundaries}\n >\n {description}\n </ResponsiveText>\n )}\n </g>\n );\n}\n\nexport default <T extends PieChartProps.Datum>({\n pieData,\n dimensions,\n highlightedSegment,\n segmentDescription,\n visibleDataSum,\n hideTitles,\n hideDescriptions,\n containerRef,\n}: LabelsProps<T>) => {\n const containerBoundaries = useElementBoundaries(containerRef);\n\n const markers = useMemo(() => {\n const { outerRadius: radius, innerLabelPadding } = dimensions;\n\n // More arc factories for the label positioning\n const arcMarkerStart = arc<PieArcDatum<any>>()\n .innerRadius(radius - 1)\n .outerRadius(radius - 1);\n\n const arcMarkerBreak = arc<PieArcDatum<any>>()\n .innerRadius(radius + innerLabelPadding)\n .outerRadius(radius + innerLabelPadding);\n\n return pieData.map((datum, i) => {\n const labelDatum = pieData[i];\n const midAngle = labelDatum.startAngle + (labelDatum.endAngle - labelDatum.startAngle) / 2;\n\n // Make the marker line longer if the segment is closer to the top or bottom of the chart\n arcMarkerBreak.outerRadius(radius + 20 * (0.5 * Math.cos(2 * midAngle) + 0.5));\n arcMarkerBreak.innerRadius(radius + 20 * (0.5 * Math.cos(2 * midAngle) + 0.5));\n const [startX, startY] = arcMarkerStart.centroid(datum);\n const [breakX, breakY] = arcMarkerBreak.centroid(datum);\n\n const rightSide = midAngle < Math.PI;\n const endX = (radius + 20) * (rightSide ? 1 : -1);\n const textX = endX + 5 * (rightSide ? 1 : -1);\n\n return {\n startX,\n startY,\n breakX,\n breakY,\n endX,\n endY: breakY,\n textX,\n textY: breakY,\n rightSide,\n datum,\n };\n });\n }, [pieData, dimensions]);\n\n const rootRef = useRef<SVGGElement>(null);\n\n useLayoutEffect(() => {\n if (!rootRef.current) {\n return;\n }\n\n // Relax labels that are overlapping\n const labelNodes = rootRef.current.querySelectorAll<SVGGElement>(`.${styles['label-text']}`);\n balanceLabelNodes(labelNodes, markers, false);\n balanceLabelNodes(labelNodes, markers, true);\n }, [markers, pieData]);\n\n return (\n <g className={styles.markers} aria-hidden=\"true\" ref={rootRef}>\n {markers.map(({ startX, startY, breakX, breakY, endX, endY, textX, textY, rightSide, datum }) => {\n const segment = datum.data.datum;\n const description = segmentDescription?.(segment, visibleDataSum);\n if ((hideTitles && !description) || (hideDescriptions && !segment.title)) {\n return null;\n }\n return (\n <g\n key={datum.data.index}\n className={clsx(styles.label, {\n [styles['label--highlighted']]: highlightedSegment === segment,\n [styles['label--dimmed']]: highlightedSegment !== null && highlightedSegment !== segment,\n [styles['label--align-right']]: !rightSide,\n })}\n >\n <line x1={startX} y1={startY} x2={breakX} y2={breakY} />\n <line x1={breakX} y1={breakY} x2={endX} y2={endY} className={styles['label-line']} />\n <LabelElement\n x={textX}\n y={textY}\n rightSide={rightSide}\n title={segment.title}\n description={description}\n hideTitles={hideTitles}\n hideDescriptions={hideDescriptions}\n containerBoundaries={containerBoundaries}\n />\n </g>\n );\n })}\n </g>\n );\n};\n\nfunction useElementBoundaries(ref: React.RefObject<HTMLElement>): { left: number; right: number } {\n const [state, setState] = useState({ left: 0, right: 0 });\n useResizeObserver(ref, entry => {\n const elementRect = entry.target.getBoundingClientRect();\n setState({ left: elementRect.left, right: elementRect.right });\n });\n return state;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"labels.js","sourceRoot":"lib/default/","sources":["pie-chart/labels.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport { arc, PieArcDatum } from 'd3-shape';\n\nimport { PieChartProps } from './interfaces';\nimport styles from './styles.css.js';\nimport { InternalChartDatum } from './pie-chart';\nimport { Dimension, balanceLabelNodes } from './utils';\nimport ResponsiveText from './responsive-text';\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\n\nexport interface LabelsProps<T> {\n pieData: PieArcDatum<InternalChartDatum<T>>[];\n visibleDataSum: number;\n dimensions: Dimension;\n hideTitles: boolean;\n hideDescriptions: boolean;\n highlightedSegment: PieChartProps.Datum | null;\n segmentDescription?: PieChartProps.SegmentDescriptionFunction<T>;\n containerRef: React.RefObject<HTMLDivElement>;\n}\n\ninterface LabelElementProps {\n x: number;\n y: number;\n rightSide: boolean;\n hideTitles: boolean;\n hideDescriptions: boolean;\n title: PieChartProps.Datum['title'];\n description?: string;\n containerBoundaries: null | { left: number; right: number };\n}\n\nfunction LabelElement({\n x,\n y,\n hideTitles,\n hideDescriptions,\n rightSide,\n title,\n description,\n containerBoundaries,\n}: LabelElementProps) {\n return (\n // Reset the transform property to prepare for `balanceLabelNodes`.\n // The dataset attributes are also needed in the function for IE11 support.\n <g className={styles['label-text']} transform=\"\" data-x={x} data-y={y}>\n {!hideTitles && (\n <ResponsiveText x={x} y={y} rightSide={rightSide} containerBoundaries={containerBoundaries}>\n {title}\n </ResponsiveText>\n )}\n {!hideDescriptions && description && (\n <ResponsiveText\n x={x}\n y={y + (hideTitles ? 0 : 18)}\n rightSide={rightSide}\n className={styles.label__description}\n containerBoundaries={containerBoundaries}\n >\n {description}\n </ResponsiveText>\n )}\n </g>\n );\n}\n\nexport default <T extends PieChartProps.Datum>({\n pieData,\n dimensions,\n highlightedSegment,\n segmentDescription,\n visibleDataSum,\n hideTitles,\n hideDescriptions,\n containerRef,\n}: LabelsProps<T>) => {\n const containerBoundaries = useElementBoundaries(containerRef);\n\n const markers = useMemo(() => {\n const { outerRadius: radius, innerLabelPadding } = dimensions;\n\n // More arc factories for the label positioning\n const arcMarkerStart = arc<PieArcDatum<any>>()\n .innerRadius(radius - 1)\n .outerRadius(radius - 1);\n\n const arcMarkerBreak = arc<PieArcDatum<any>>()\n .innerRadius(radius + innerLabelPadding)\n .outerRadius(radius + innerLabelPadding);\n\n return pieData.map((datum, i) => {\n const labelDatum = pieData[i];\n const midAngle = labelDatum.startAngle + (labelDatum.endAngle - labelDatum.startAngle) / 2;\n\n // Make the marker line longer if the segment is closer to the top or bottom of the chart\n arcMarkerBreak.outerRadius(radius + 20 * (0.5 * Math.cos(2 * midAngle) + 0.5));\n arcMarkerBreak.innerRadius(radius + 20 * (0.5 * Math.cos(2 * midAngle) + 0.5));\n const [startX, startY] = arcMarkerStart.centroid(datum);\n const [breakX, breakY] = arcMarkerBreak.centroid(datum);\n\n const rightSide = midAngle < Math.PI;\n const endX = (radius + 20) * (rightSide ? 1 : -1);\n const textX = endX + 5 * (rightSide ? 1 : -1);\n\n return {\n startX,\n startY,\n breakX,\n breakY,\n endX,\n endY: breakY,\n textX,\n textY: breakY,\n rightSide,\n datum,\n };\n });\n }, [pieData, dimensions]);\n\n const rootRef = useRef<SVGGElement>(null);\n\n useLayoutEffect(() => {\n if (!rootRef.current) {\n return;\n }\n\n // Relax labels that are overlapping\n const labelNodes = rootRef.current.querySelectorAll<SVGGElement>(`.${styles['label-text']}`);\n balanceLabelNodes(labelNodes, markers, false);\n balanceLabelNodes(labelNodes, markers, true);\n }, [markers, pieData]);\n\n return (\n <g className={styles.markers} aria-hidden=\"true\" ref={rootRef}>\n {markers.map(({ startX, startY, breakX, breakY, endX, endY, textX, textY, rightSide, datum }) => {\n const segment = datum.data.datum;\n const description = segmentDescription?.(segment, visibleDataSum);\n if ((hideTitles && !description) || (hideDescriptions && !segment.title)) {\n return null;\n }\n return (\n <g\n key={datum.data.index}\n className={clsx(styles.label, {\n [styles['label--highlighted']]: highlightedSegment === segment,\n [styles['label--dimmed']]: highlightedSegment !== null && highlightedSegment !== segment,\n [styles['label--align-right']]: !rightSide,\n })}\n >\n <line x1={startX} y1={startY} x2={breakX} y2={breakY} />\n <line x1={breakX} y1={breakY} x2={endX} y2={endY} className={styles['label-line']} />\n <LabelElement\n x={textX}\n y={textY}\n rightSide={rightSide}\n title={segment.title}\n description={description}\n hideTitles={hideTitles}\n hideDescriptions={hideDescriptions}\n containerBoundaries={containerBoundaries}\n />\n </g>\n );\n })}\n </g>\n );\n};\n\nfunction useElementBoundaries(ref: React.RefObject<HTMLElement>): { left: number; right: number } {\n const [state, setState] = useState({ left: 0, right: 0 });\n useResizeObserver(ref, entry => {\n const elementRect = entry.target.getBoundingClientRect();\n setState({ left: elementRect.left, right: elementRect.right });\n });\n return state;\n}\n"]}
|
package/pie-chart/styles.css.js
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"segment__path": "
|
|
5
|
-
"segment": "
|
|
6
|
-
"segment__hover": "
|
|
7
|
-
"label": "
|
|
8
|
-
"root": "
|
|
9
|
-
"content": "
|
|
10
|
-
"content--small": "awsui_content--
|
|
11
|
-
"content--without-labels": "awsui_content--without-
|
|
12
|
-
"content--medium": "awsui_content--
|
|
13
|
-
"content--large": "awsui_content--
|
|
14
|
-
"content--fit-height": "awsui_content--fit-
|
|
15
|
-
"status-container": "awsui_status-
|
|
16
|
-
"chart-container": "awsui_chart-
|
|
17
|
-
"chart-container--fit-height": "awsui_chart-container--fit-
|
|
18
|
-
"chart-container-chart-plot": "awsui_chart-container-chart-
|
|
19
|
-
"chart-container-chart-plot--fit-height": "awsui_chart-container-chart-plot--fit-
|
|
20
|
-
"inner-content": "awsui_inner-
|
|
21
|
-
"segment__highlight": "
|
|
22
|
-
"segment--dimmed": "awsui_segment--
|
|
23
|
-
"segment--highlighted": "awsui_segment--
|
|
24
|
-
"label--dimmed": "awsui_label--
|
|
25
|
-
"label--align-right": "awsui_label--align-
|
|
26
|
-
"label-text": "awsui_label-
|
|
27
|
-
"label__description": "
|
|
28
|
-
"label-line": "awsui_label-
|
|
29
|
-
"label--highlighted": "awsui_label--
|
|
30
|
-
"popover-header": "awsui_popover-
|
|
4
|
+
"segment__path": "awsui_segment__path_1edmh_1iq5s_97",
|
|
5
|
+
"segment": "awsui_segment_1edmh_1iq5s_97",
|
|
6
|
+
"segment__hover": "awsui_segment__hover_1edmh_1iq5s_124",
|
|
7
|
+
"label": "awsui_label_1edmh_1iq5s_138",
|
|
8
|
+
"root": "awsui_root_1edmh_1iq5s_156",
|
|
9
|
+
"content": "awsui_content_1edmh_1iq5s_160",
|
|
10
|
+
"content--small": "awsui_content--small_1edmh_1iq5s_160",
|
|
11
|
+
"content--without-labels": "awsui_content--without-labels_1edmh_1iq5s_163",
|
|
12
|
+
"content--medium": "awsui_content--medium_1edmh_1iq5s_166",
|
|
13
|
+
"content--large": "awsui_content--large_1edmh_1iq5s_172",
|
|
14
|
+
"content--fit-height": "awsui_content--fit-height_1edmh_1iq5s_179",
|
|
15
|
+
"status-container": "awsui_status-container_1edmh_1iq5s_183",
|
|
16
|
+
"chart-container": "awsui_chart-container_1edmh_1iq5s_187",
|
|
17
|
+
"chart-container--fit-height": "awsui_chart-container--fit-height_1edmh_1iq5s_191",
|
|
18
|
+
"chart-container-chart-plot": "awsui_chart-container-chart-plot_1edmh_1iq5s_196",
|
|
19
|
+
"chart-container-chart-plot--fit-height": "awsui_chart-container-chart-plot--fit-height_1edmh_1iq5s_199",
|
|
20
|
+
"inner-content": "awsui_inner-content_1edmh_1iq5s_208",
|
|
21
|
+
"segment__highlight": "awsui_segment__highlight_1edmh_1iq5s_222",
|
|
22
|
+
"segment--dimmed": "awsui_segment--dimmed_1edmh_1iq5s_237",
|
|
23
|
+
"segment--highlighted": "awsui_segment--highlighted_1edmh_1iq5s_240",
|
|
24
|
+
"label--dimmed": "awsui_label--dimmed_1edmh_1iq5s_257",
|
|
25
|
+
"label--align-right": "awsui_label--align-right_1edmh_1iq5s_260",
|
|
26
|
+
"label-text": "awsui_label-text_1edmh_1iq5s_268",
|
|
27
|
+
"label__description": "awsui_label__description_1edmh_1iq5s_276",
|
|
28
|
+
"label-line": "awsui_label-line_1edmh_1iq5s_283",
|
|
29
|
+
"label--highlighted": "awsui_label--highlighted_1edmh_1iq5s_287",
|
|
30
|
+
"popover-header": "awsui_popover-header_1edmh_1iq5s_291"
|
|
31
31
|
};
|
|
32
32
|
|