@cloudscape-design/components-themeable 3.0.1181 → 3.0.1183
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/lib/internal/manifest.json +1 -1
- package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +139 -132
- package/lib/internal/scss/slider/mixins.scss +32 -24
- package/lib/internal/scss/slider/styles.scss +56 -29
- package/lib/internal/scss/tiles/analytics-metadata/styles.scss +4 -0
- package/lib/internal/template/alert/styles.css.js +27 -27
- package/lib/internal/template/alert/styles.scoped.css +50 -50
- package/lib/internal/template/alert/styles.selectors.js +27 -27
- package/lib/internal/template/annotation-context/annotation/styles.css.js +13 -13
- package/lib/internal/template/annotation-context/annotation/styles.scoped.css +21 -21
- package/lib/internal/template/annotation-context/annotation/styles.selectors.js +13 -13
- package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
- package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
- package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
- package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
- package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +258 -258
- package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +30 -30
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +87 -87
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +30 -30
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +27 -27
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +54 -54
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +27 -27
- package/lib/internal/template/attribute-editor/styles.css.js +15 -15
- package/lib/internal/template/attribute-editor/styles.scoped.css +28 -28
- package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
- package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
- package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +28 -28
- package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
- package/lib/internal/template/button/styles.css.js +22 -22
- package/lib/internal/template/button/styles.scoped.css +256 -256
- package/lib/internal/template/button/styles.selectors.js +22 -22
- package/lib/internal/template/button-dropdown/item-element/styles.css.js +20 -20
- package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +34 -34
- package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +20 -20
- package/lib/internal/template/checkbox/styles.css.js +3 -3
- package/lib/internal/template/checkbox/styles.scoped.css +11 -11
- package/lib/internal/template/checkbox/styles.selectors.js +3 -3
- package/lib/internal/template/content-layout/styles.css.js +14 -14
- package/lib/internal/template/content-layout/styles.scoped.css +27 -27
- package/lib/internal/template/content-layout/styles.selectors.js +14 -14
- package/lib/internal/template/flashbar/collapsible-flashbar.d.ts.map +1 -1
- package/lib/internal/template/flashbar/collapsible-flashbar.js +4 -4
- package/lib/internal/template/flashbar/collapsible-flashbar.js.map +1 -1
- package/lib/internal/template/flashbar/styles.css.js +50 -50
- package/lib/internal/template/flashbar/styles.scoped.css +187 -187
- package/lib/internal/template/flashbar/styles.selectors.js +50 -50
- package/lib/internal/template/help-panel/styles.css.js +6 -6
- package/lib/internal/template/help-panel/styles.scoped.css +73 -73
- package/lib/internal/template/help-panel/styles.selectors.js +6 -6
- package/lib/internal/template/i18n/messages/all.all.js +1 -1
- package/lib/internal/template/i18n/messages/all.all.json +1 -1
- package/lib/internal/template/i18n/messages/all.ar.js +1 -1
- package/lib/internal/template/i18n/messages/all.ar.json +1 -1
- package/lib/internal/template/i18n/messages/all.de.js +1 -1
- package/lib/internal/template/i18n/messages/all.de.json +1 -1
- package/lib/internal/template/i18n/messages/all.en-GB.js +1 -1
- package/lib/internal/template/i18n/messages/all.en-GB.json +1 -1
- package/lib/internal/template/i18n/messages/all.en.js +1 -1
- package/lib/internal/template/i18n/messages/all.en.json +1 -1
- package/lib/internal/template/i18n/messages/all.es.js +1 -1
- package/lib/internal/template/i18n/messages/all.es.json +1 -1
- package/lib/internal/template/i18n/messages/all.fr.js +1 -1
- package/lib/internal/template/i18n/messages/all.fr.json +1 -1
- package/lib/internal/template/i18n/messages/all.id.js +1 -1
- package/lib/internal/template/i18n/messages/all.id.json +1 -1
- package/lib/internal/template/i18n/messages/all.it.js +1 -1
- package/lib/internal/template/i18n/messages/all.it.json +1 -1
- package/lib/internal/template/i18n/messages/all.ja.js +1 -1
- package/lib/internal/template/i18n/messages/all.ja.json +1 -1
- package/lib/internal/template/i18n/messages/all.ko.js +1 -1
- package/lib/internal/template/i18n/messages/all.ko.json +1 -1
- package/lib/internal/template/i18n/messages/all.pt-BR.js +1 -1
- package/lib/internal/template/i18n/messages/all.pt-BR.json +1 -1
- package/lib/internal/template/i18n/messages/all.tr.js +1 -1
- package/lib/internal/template/i18n/messages/all.tr.json +1 -1
- package/lib/internal/template/i18n/messages/all.zh-CN.js +1 -1
- package/lib/internal/template/i18n/messages/all.zh-CN.json +1 -1
- package/lib/internal/template/i18n/messages/all.zh-TW.js +1 -1
- package/lib/internal/template/i18n/messages/all.zh-TW.json +1 -1
- package/lib/internal/template/i18n/messages-types.d.ts +3 -0
- package/lib/internal/template/i18n/messages-types.d.ts.map +1 -1
- package/lib/internal/template/i18n/messages-types.js.map +1 -1
- package/lib/internal/template/icon/internal.d.ts.map +1 -1
- package/lib/internal/template/icon/internal.js +10 -4
- package/lib/internal/template/icon/internal.js.map +1 -1
- package/lib/internal/template/input/styles.css.js +13 -13
- package/lib/internal/template/input/styles.scoped.css +74 -74
- package/lib/internal/template/input/styles.selectors.js +13 -13
- package/lib/internal/template/internal/base-component/styles.scoped.css +27 -11
- package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +30 -30
- package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +58 -58
- package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +30 -30
- package/lib/internal/template/internal/components/dropdown/styles.css.js +20 -20
- package/lib/internal/template/internal/components/dropdown/styles.scoped.css +38 -38
- package/lib/internal/template/internal/components/dropdown/styles.selectors.js +20 -20
- package/lib/internal/template/internal/components/radio-button/styles.css.js +7 -7
- package/lib/internal/template/internal/components/radio-button/styles.scoped.css +18 -18
- package/lib/internal/template/internal/components/radio-button/styles.selectors.js +7 -7
- package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
- package/lib/internal/template/internal/components/token-list/styles.scoped.css +25 -25
- package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
- package/lib/internal/template/internal/environment.js +2 -2
- package/lib/internal/template/internal/environment.json +2 -2
- package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +7 -0
- package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
- package/lib/internal/template/internal/generated/custom-css-properties/index.js +138 -131
- package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
- package/lib/internal/template/internal/generated/styles/tokens.d.ts +3 -1
- package/lib/internal/template/internal/generated/styles/tokens.js +3 -1
- package/lib/internal/template/internal/generated/theming/index.cjs +82 -10
- package/lib/internal/template/internal/generated/theming/index.cjs.d.ts +45 -0
- package/lib/internal/template/internal/generated/theming/index.d.ts +45 -0
- package/lib/internal/template/internal/generated/theming/index.js +82 -10
- package/lib/internal/template/internal/hooks/use-throttle-callback/index.d.ts +3 -0
- package/lib/internal/template/internal/hooks/use-throttle-callback/index.d.ts.map +1 -0
- package/lib/internal/template/internal/hooks/use-throttle-callback/index.js +9 -0
- package/lib/internal/template/internal/hooks/use-throttle-callback/index.js.map +1 -0
- package/lib/internal/template/link/styles.css.js +20 -20
- package/lib/internal/template/link/styles.scoped.css +103 -103
- package/lib/internal/template/link/styles.selectors.js +20 -20
- package/lib/internal/template/progress-bar/index.d.ts.map +1 -1
- package/lib/internal/template/progress-bar/index.js +5 -7
- package/lib/internal/template/progress-bar/index.js.map +1 -1
- package/lib/internal/template/progress-bar/styles.css.js +19 -19
- package/lib/internal/template/progress-bar/styles.scoped.css +56 -56
- package/lib/internal/template/progress-bar/styles.selectors.js +19 -19
- package/lib/internal/template/prompt-input/styles.css.js +17 -17
- package/lib/internal/template/prompt-input/styles.scoped.css +79 -79
- package/lib/internal/template/prompt-input/styles.selectors.js +17 -17
- package/lib/internal/template/segmented-control/styles.css.js +16 -16
- package/lib/internal/template/segmented-control/styles.scoped.css +46 -46
- package/lib/internal/template/segmented-control/styles.selectors.js +16 -16
- package/lib/internal/template/slider/index.d.ts +1 -1
- package/lib/internal/template/slider/index.d.ts.map +1 -1
- package/lib/internal/template/slider/index.js +2 -2
- package/lib/internal/template/slider/index.js.map +1 -1
- package/lib/internal/template/slider/interfaces.d.ts +23 -0
- package/lib/internal/template/slider/interfaces.d.ts.map +1 -1
- package/lib/internal/template/slider/interfaces.js.map +1 -1
- package/lib/internal/template/slider/internal.d.ts +2 -1
- package/lib/internal/template/slider/internal.d.ts.map +1 -1
- package/lib/internal/template/slider/internal.js +3 -2
- package/lib/internal/template/slider/internal.js.map +1 -1
- package/lib/internal/template/slider/styles.css.js +26 -26
- package/lib/internal/template/slider/styles.d.ts +12 -0
- package/lib/internal/template/slider/styles.d.ts.map +1 -0
- package/lib/internal/template/slider/styles.js +20 -0
- package/lib/internal/template/slider/styles.js.map +1 -0
- package/lib/internal/template/slider/styles.scoped.css +165 -163
- package/lib/internal/template/slider/styles.selectors.js +26 -26
- package/lib/internal/template/spinner/styles.css.js +13 -13
- package/lib/internal/template/spinner/styles.scoped.css +39 -39
- package/lib/internal/template/spinner/styles.selectors.js +13 -13
- package/lib/internal/template/table/resizer/index.d.ts.map +1 -1
- package/lib/internal/template/table/resizer/index.js +4 -2
- package/lib/internal/template/table/resizer/index.js.map +1 -1
- package/lib/internal/template/table/use-sticky-header.d.ts.map +1 -1
- package/lib/internal/template/table/use-sticky-header.js +0 -4
- package/lib/internal/template/table/use-sticky-header.js.map +1 -1
- package/lib/internal/template/tabs/styles.css.js +30 -30
- package/lib/internal/template/tabs/styles.scoped.css +76 -76
- package/lib/internal/template/tabs/styles.selectors.js +30 -30
- package/lib/internal/template/tag-editor/styles.css.js +3 -3
- package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
- package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
- package/lib/internal/template/text-content/styles.css.js +1 -1
- package/lib/internal/template/text-content/styles.scoped.css +66 -66
- package/lib/internal/template/text-content/styles.selectors.js +1 -1
- package/lib/internal/template/textarea/styles.css.js +5 -5
- package/lib/internal/template/textarea/styles.scoped.css +45 -45
- package/lib/internal/template/textarea/styles.selectors.js +5 -5
- package/lib/internal/template/tiles/analytics-metadata/interfaces.d.ts +1 -0
- package/lib/internal/template/tiles/analytics-metadata/interfaces.d.ts.map +1 -1
- package/lib/internal/template/tiles/analytics-metadata/interfaces.js.map +1 -1
- package/lib/internal/template/tiles/analytics-metadata/styles.css.js +2 -1
- package/lib/internal/template/tiles/analytics-metadata/styles.scoped.css +5 -1
- package/lib/internal/template/tiles/analytics-metadata/styles.selectors.js +2 -1
- package/lib/internal/template/tiles/index.d.ts.map +1 -1
- package/lib/internal/template/tiles/index.js +2 -0
- package/lib/internal/template/tiles/index.js.map +1 -1
- package/lib/internal/template/tiles/tile.js +1 -1
- package/lib/internal/template/tiles/tile.js.map +1 -1
- package/lib/internal/template/toggle/styles.css.js +10 -10
- package/lib/internal/template/toggle/styles.scoped.css +23 -23
- package/lib/internal/template/toggle/styles.selectors.js +10 -10
- package/package.json +1 -1
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"root": "
|
|
5
|
-
"spinner-rotator": "awsui_spinner-
|
|
6
|
-
"size-normal": "awsui_size-
|
|
7
|
-
"size-big": "awsui_size-
|
|
8
|
-
"size-large": "awsui_size-
|
|
9
|
-
"variant-normal": "awsui_variant-
|
|
10
|
-
"variant-disabled": "awsui_variant-
|
|
11
|
-
"variant-inverted": "awsui_variant-
|
|
12
|
-
"circle": "
|
|
13
|
-
"circle-left": "awsui_circle-
|
|
14
|
-
"spinner-line-left": "awsui_spinner-line-
|
|
15
|
-
"circle-right": "awsui_circle-
|
|
16
|
-
"spinner-line-right": "awsui_spinner-line-
|
|
4
|
+
"root": "awsui_root_1612d_f58pi_183",
|
|
5
|
+
"spinner-rotator": "awsui_spinner-rotator_1612d_f58pi_1",
|
|
6
|
+
"size-normal": "awsui_size-normal_1612d_f58pi_198",
|
|
7
|
+
"size-big": "awsui_size-big_1612d_f58pi_206",
|
|
8
|
+
"size-large": "awsui_size-large_1612d_f58pi_214",
|
|
9
|
+
"variant-normal": "awsui_variant-normal_1612d_f58pi_222",
|
|
10
|
+
"variant-disabled": "awsui_variant-disabled_1612d_f58pi_225",
|
|
11
|
+
"variant-inverted": "awsui_variant-inverted_1612d_f58pi_228",
|
|
12
|
+
"circle": "awsui_circle_1612d_f58pi_240",
|
|
13
|
+
"circle-left": "awsui_circle-left_1612d_f58pi_268",
|
|
14
|
+
"spinner-line-left": "awsui_spinner-line-left_1612d_f58pi_1",
|
|
15
|
+
"circle-right": "awsui_circle-right_1612d_f58pi_273",
|
|
16
|
+
"spinner-line-right": "awsui_spinner-line-right_1612d_f58pi_1"
|
|
17
17
|
};
|
|
18
18
|
|
|
@@ -150,52 +150,52 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
150
150
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
151
151
|
SPDX-License-Identifier: Apache-2.0
|
|
152
152
|
*/
|
|
153
|
-
@keyframes awsui_spinner-
|
|
153
|
+
@keyframes awsui_spinner-rotator_1612d_f58pi_1 {
|
|
154
154
|
0% {
|
|
155
|
-
transform: rotate(var(--awsui-spinner-rotator-from-
|
|
155
|
+
transform: rotate(var(--awsui-spinner-rotator-from-4hh3rt));
|
|
156
156
|
}
|
|
157
157
|
100% {
|
|
158
|
-
transform: rotate(var(--awsui-spinner-rotator-to-
|
|
158
|
+
transform: rotate(var(--awsui-spinner-rotator-to-4hh3rt));
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
-
@keyframes awsui_spinner-line-
|
|
161
|
+
@keyframes awsui_spinner-line-left_1612d_f58pi_1 {
|
|
162
162
|
0% {
|
|
163
|
-
transform: rotate(var(--awsui-spinner-line-left-from-
|
|
163
|
+
transform: rotate(var(--awsui-spinner-line-left-from-4hh3rt));
|
|
164
164
|
}
|
|
165
165
|
50% {
|
|
166
|
-
transform: rotate(var(--awsui-spinner-line-left-to-
|
|
166
|
+
transform: rotate(var(--awsui-spinner-line-left-to-4hh3rt));
|
|
167
167
|
}
|
|
168
168
|
100% {
|
|
169
|
-
transform: rotate(var(--awsui-spinner-line-left-from-
|
|
169
|
+
transform: rotate(var(--awsui-spinner-line-left-from-4hh3rt));
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
|
-
@keyframes awsui_spinner-line-
|
|
172
|
+
@keyframes awsui_spinner-line-right_1612d_f58pi_1 {
|
|
173
173
|
0% {
|
|
174
|
-
transform: rotate(var(--awsui-spinner-line-right-from-
|
|
174
|
+
transform: rotate(var(--awsui-spinner-line-right-from-4hh3rt));
|
|
175
175
|
}
|
|
176
176
|
50% {
|
|
177
|
-
transform: rotate(var(--awsui-spinner-line-right-to-
|
|
177
|
+
transform: rotate(var(--awsui-spinner-line-right-to-4hh3rt));
|
|
178
178
|
}
|
|
179
179
|
100% {
|
|
180
|
-
transform: rotate(var(--awsui-spinner-line-right-from-
|
|
180
|
+
transform: rotate(var(--awsui-spinner-line-right-from-4hh3rt));
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
|
-
.
|
|
184
|
-
--awsui-spinner-rotator-from-
|
|
185
|
-
--awsui-spinner-rotator-to-
|
|
186
|
-
--awsui-spinner-line-left-from-
|
|
187
|
-
--awsui-spinner-line-left-to-
|
|
188
|
-
--awsui-spinner-line-right-from-
|
|
189
|
-
--awsui-spinner-line-right-to-
|
|
183
|
+
.awsui_root_1612d_f58pi_183:not(#\9) {
|
|
184
|
+
--awsui-spinner-rotator-from-4hh3rt: 0deg;
|
|
185
|
+
--awsui-spinner-rotator-to-4hh3rt: 360deg;
|
|
186
|
+
--awsui-spinner-line-left-from-4hh3rt: 0deg;
|
|
187
|
+
--awsui-spinner-line-left-to-4hh3rt: 120deg;
|
|
188
|
+
--awsui-spinner-line-right-from-4hh3rt: 90deg;
|
|
189
|
+
--awsui-spinner-line-right-to-4hh3rt: -30deg;
|
|
190
190
|
display: inline-block;
|
|
191
191
|
vertical-align: top;
|
|
192
192
|
/*stylelint-disable-next-line @cloudscape-design/no-motion-outside-of-mixin */
|
|
193
|
-
animation: awsui_spinner-
|
|
193
|
+
animation: awsui_spinner-rotator_1612d_f58pi_1 0.7s linear infinite;
|
|
194
194
|
box-sizing: border-box;
|
|
195
195
|
line-height: 0;
|
|
196
196
|
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
|
|
197
197
|
}
|
|
198
|
-
.
|
|
198
|
+
.awsui_root_1612d_f58pi_183.awsui_size-normal_1612d_f58pi_198:not(#\9) {
|
|
199
199
|
inline-size: var(--size-icon-normal-2f5zkr, 16px);
|
|
200
200
|
block-size: var(--size-icon-normal-2f5zkr, 16px);
|
|
201
201
|
padding-block: calc((var(--size-icon-normal-2f5zkr, 16px) - 12px) / 2);
|
|
@@ -203,7 +203,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
203
203
|
margin-block: calc((var(--line-height-body-m-bedeoh, 22px) - var(--size-icon-normal-2f5zkr, 16px)) / 2);
|
|
204
204
|
box-sizing: border-box;
|
|
205
205
|
}
|
|
206
|
-
.
|
|
206
|
+
.awsui_root_1612d_f58pi_183.awsui_size-big_1612d_f58pi_206:not(#\9) {
|
|
207
207
|
inline-size: var(--size-icon-big-hnqj8f, 32px);
|
|
208
208
|
block-size: var(--size-icon-big-hnqj8f, 32px);
|
|
209
209
|
padding-block: calc((var(--size-icon-big-hnqj8f, 32px) - 24px) / 2);
|
|
@@ -211,7 +211,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
211
211
|
margin-block: calc((var(--line-height-heading-xl-vs1f23, 36px) - var(--size-icon-big-hnqj8f, 32px)) / 2);
|
|
212
212
|
box-sizing: border-box;
|
|
213
213
|
}
|
|
214
|
-
.
|
|
214
|
+
.awsui_root_1612d_f58pi_183.awsui_size-large_1612d_f58pi_214:not(#\9) {
|
|
215
215
|
inline-size: var(--size-icon-large-gj7xfw, 48px);
|
|
216
216
|
block-size: var(--size-icon-large-gj7xfw, 48px);
|
|
217
217
|
padding-block: calc((var(--size-icon-large-gj7xfw, 48px) - 36px) / 2);
|
|
@@ -219,32 +219,32 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
219
219
|
margin-block: calc((var(--line-height-display-l-3zghmm, 56px) - var(--size-icon-large-gj7xfw, 48px)) / 2);
|
|
220
220
|
box-sizing: border-box;
|
|
221
221
|
}
|
|
222
|
-
.
|
|
222
|
+
.awsui_root_1612d_f58pi_183.awsui_variant-normal_1612d_f58pi_222:not(#\9) {
|
|
223
223
|
color: currentColor;
|
|
224
224
|
}
|
|
225
|
-
.
|
|
225
|
+
.awsui_root_1612d_f58pi_183.awsui_variant-disabled_1612d_f58pi_225:not(#\9) {
|
|
226
226
|
color: var(--color-text-interactive-disabled-xwt2jl, #aab7b8);
|
|
227
227
|
}
|
|
228
|
-
.
|
|
228
|
+
.awsui_root_1612d_f58pi_183.awsui_variant-inverted_1612d_f58pi_228:not(#\9) {
|
|
229
229
|
color: var(--color-text-inverted-2l365o, #ffffff);
|
|
230
230
|
}
|
|
231
|
-
.
|
|
232
|
-
--awsui-spinner-rotator-from-
|
|
233
|
-
--awsui-spinner-rotator-to-
|
|
234
|
-
--awsui-spinner-line-left-from-
|
|
235
|
-
--awsui-spinner-line-left-to-
|
|
236
|
-
--awsui-spinner-line-right-from-
|
|
237
|
-
--awsui-spinner-line-right-to-
|
|
231
|
+
.awsui_root_1612d_f58pi_183:not(#\9):dir(rtl) {
|
|
232
|
+
--awsui-spinner-rotator-from-4hh3rt: 360deg;
|
|
233
|
+
--awsui-spinner-rotator-to-4hh3rt: 0deg;
|
|
234
|
+
--awsui-spinner-line-left-from-4hh3rt: 0deg;
|
|
235
|
+
--awsui-spinner-line-left-to-4hh3rt: -120deg;
|
|
236
|
+
--awsui-spinner-line-right-from-4hh3rt: -90deg;
|
|
237
|
+
--awsui-spinner-line-right-to-4hh3rt: 30deg;
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
-
.
|
|
240
|
+
.awsui_circle_1612d_f58pi_240:not(#\9) {
|
|
241
241
|
display: inline-block;
|
|
242
242
|
inline-size: 50%;
|
|
243
243
|
block-size: 100%;
|
|
244
244
|
overflow: hidden;
|
|
245
245
|
position: relative;
|
|
246
246
|
}
|
|
247
|
-
.
|
|
247
|
+
.awsui_circle_1612d_f58pi_240:not(#\9):after {
|
|
248
248
|
position: absolute;
|
|
249
249
|
box-sizing: border-box;
|
|
250
250
|
content: "";
|
|
@@ -257,7 +257,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
257
257
|
border-inline-end-color: transparent;
|
|
258
258
|
border-block-end-color: transparent;
|
|
259
259
|
}
|
|
260
|
-
.
|
|
260
|
+
.awsui_circle_1612d_f58pi_240:not(#\9):after {
|
|
261
261
|
/*stylelint-disable-next-line @cloudscape-design/no-motion-outside-of-mixin */
|
|
262
262
|
animation: 1.5s ease-in-out infinite;
|
|
263
263
|
inset-block-start: 0;
|
|
@@ -265,13 +265,13 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
265
265
|
block-size: 100%;
|
|
266
266
|
inline-size: 200%;
|
|
267
267
|
}
|
|
268
|
-
.
|
|
268
|
+
.awsui_circle_1612d_f58pi_240.awsui_circle-left_1612d_f58pi_268:not(#\9):after {
|
|
269
269
|
inset-inline-start: 0;
|
|
270
270
|
/*stylelint-disable-next-line @cloudscape-design/no-motion-outside-of-mixin */
|
|
271
|
-
animation-name: awsui_spinner-line-
|
|
271
|
+
animation-name: awsui_spinner-line-left_1612d_f58pi_1;
|
|
272
272
|
}
|
|
273
|
-
.
|
|
273
|
+
.awsui_circle_1612d_f58pi_240.awsui_circle-right_1612d_f58pi_273:not(#\9):after {
|
|
274
274
|
inset-inline-start: -100%;
|
|
275
275
|
/*stylelint-disable-next-line @cloudscape-design/no-motion-outside-of-mixin */
|
|
276
|
-
animation-name: awsui_spinner-line-
|
|
276
|
+
animation-name: awsui_spinner-line-right_1612d_f58pi_1;
|
|
277
277
|
}
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"root": "
|
|
6
|
-
"spinner-rotator": "awsui_spinner-
|
|
7
|
-
"size-normal": "awsui_size-
|
|
8
|
-
"size-big": "awsui_size-
|
|
9
|
-
"size-large": "awsui_size-
|
|
10
|
-
"variant-normal": "awsui_variant-
|
|
11
|
-
"variant-disabled": "awsui_variant-
|
|
12
|
-
"variant-inverted": "awsui_variant-
|
|
13
|
-
"circle": "
|
|
14
|
-
"circle-left": "awsui_circle-
|
|
15
|
-
"spinner-line-left": "awsui_spinner-line-
|
|
16
|
-
"circle-right": "awsui_circle-
|
|
17
|
-
"spinner-line-right": "awsui_spinner-line-
|
|
5
|
+
"root": "awsui_root_1612d_f58pi_183",
|
|
6
|
+
"spinner-rotator": "awsui_spinner-rotator_1612d_f58pi_1",
|
|
7
|
+
"size-normal": "awsui_size-normal_1612d_f58pi_198",
|
|
8
|
+
"size-big": "awsui_size-big_1612d_f58pi_206",
|
|
9
|
+
"size-large": "awsui_size-large_1612d_f58pi_214",
|
|
10
|
+
"variant-normal": "awsui_variant-normal_1612d_f58pi_222",
|
|
11
|
+
"variant-disabled": "awsui_variant-disabled_1612d_f58pi_225",
|
|
12
|
+
"variant-inverted": "awsui_variant-inverted_1612d_f58pi_228",
|
|
13
|
+
"circle": "awsui_circle_1612d_f58pi_240",
|
|
14
|
+
"circle-left": "awsui_circle-left_1612d_f58pi_268",
|
|
15
|
+
"spinner-line-left": "awsui_spinner-line-left_1612d_f58pi_1",
|
|
16
|
+
"circle-right": "awsui_circle-right_1612d_f58pi_273",
|
|
17
|
+
"spinner-line-right": "awsui_spinner-line-right_1612d_f58pi_1"
|
|
18
18
|
};
|
|
19
19
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/table/resizer/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/table/resizer/index.tsx"],"names":[],"mappings":"AAqBA,UAAU,YAAY;IACpB,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;CACvB;AAOD,wBAAgB,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,eAE5D;AAED,wBAAgB,OAAO,CAAC,EACtB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,QAA+B,EAC/B,QAAQ,EACR,aAAa,EACb,OAAO,EACP,eAAe,EACf,WAAW,EACX,YAAY,GACb,EAAE,YAAY,eAgYd;AAED,wBAAgB,aAAa,gBAE5B"}
|
|
@@ -6,6 +6,7 @@ import { useStableCallback, useUniqueId } from '@cloudscape-design/component-too
|
|
|
6
6
|
import { getIsRtl, getLogicalBoundingClientRect, getLogicalPageX } from '@cloudscape-design/component-toolkit/internal';
|
|
7
7
|
import { useSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal';
|
|
8
8
|
import DragHandleWrapper from '../../internal/components/drag-handle-wrapper';
|
|
9
|
+
import { useThrottleCallback } from '../../internal/hooks/use-throttle-callback';
|
|
9
10
|
import { useVisualRefresh } from '../../internal/hooks/use-visual-mode';
|
|
10
11
|
import { KeyCode } from '../../internal/keycode';
|
|
11
12
|
import handleKey, { isEventLike } from '../../internal/utils/handle-key';
|
|
@@ -13,6 +14,7 @@ import { scrollElementIntoView } from '../../internal/utils/scrollable-container
|
|
|
13
14
|
import { DEFAULT_COLUMN_WIDTH } from '../use-column-widths';
|
|
14
15
|
import { getHeaderWidth, getResizerElements } from './resizer-lookup';
|
|
15
16
|
import styles from './styles.css.js';
|
|
17
|
+
const RESIZE_THROTTLE = 25;
|
|
16
18
|
const AUTO_GROW_START_TIME = 10;
|
|
17
19
|
const AUTO_GROW_INTERVAL = 10;
|
|
18
20
|
const AUTO_GROW_INCREMENT = 5;
|
|
@@ -113,7 +115,7 @@ export function Resizer({ onWidthUpdate, onWidthUpdateCommit, ariaLabelledby, mi
|
|
|
113
115
|
// callbacks must be the last calls in the handler, because they may cause an extra update
|
|
114
116
|
onWidthUpdate(newWidth);
|
|
115
117
|
}, [minWidth, onWidthUpdate, updateTrackerPosition]);
|
|
116
|
-
const resizeColumn =
|
|
118
|
+
const resizeColumn = useThrottleCallback((offset) => {
|
|
117
119
|
const elements = getResizerElements(resizerToggleRef.current);
|
|
118
120
|
if (!elements) {
|
|
119
121
|
return;
|
|
@@ -125,7 +127,7 @@ export function Resizer({ onWidthUpdate, onWidthUpdateCommit, ariaLabelledby, mi
|
|
|
125
127
|
// callbacks must be the last calls in the handler, because they may cause an extra update
|
|
126
128
|
updateColumnWidth(newWidth);
|
|
127
129
|
}
|
|
128
|
-
}, [updateColumnWidth]);
|
|
130
|
+
}, RESIZE_THROTTLE, [updateColumnWidth]);
|
|
129
131
|
useEffect(() => {
|
|
130
132
|
var _a, _b;
|
|
131
133
|
const elements = getResizerElements(resizerToggleRef.current);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table/resizer/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAE,4BAA4B,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AACxH,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAE3F,OAAO,iBAAiB,MAAM,+CAA+C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAerC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,MAAM,UAAU,OAAO,CAAC,EAAE,SAAS,EAA0B;IAC3D,OAAO,8BAAM,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,GAAI,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EACtB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,QAAQ,GAAG,oBAAoB,EAC/B,QAAQ,EACR,aAAa,EACb,OAAO,EACP,eAAe,EACf,WAAW,EACX,YAAY,GACC;IACb,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACjD,mBAAmB,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IAE7D,MAAM,eAAe,GAAG,gBAAgB,EAAE,CAAC;IAE3C,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;IAClC,MAAM,qBAAqB,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAClE,MAAM,gBAAgB,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IAChE,MAAM,mBAAmB,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;IAEjE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,eAAe,GAAG,MAAM,EAA6C,CAAC;IAC5E,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE1D,8GAA8G;IAC9G,SAAS,CAAC,GAAG,EAAE;QACb,kBAAkB,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,wBAAwB,GAAG,CAAC,CAAC;QACjC,IAAI,sBAAsB,GAAG,CAAC,CAAC;QAE/B,wEAAwE;QACxE,0DAA0D;QAC1D,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACnC,MAAM,EAAE,UAAU,EAAE,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;YAC5D,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAClC,wBAAwB,IAAI,UAAU,CAAC;YACzC,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;gBAChC,sBAAsB,IAAI,UAAU,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,cAAc,EAAE,0BAA0B,EAAE,GAClG,4BAA4B,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvG,MAAM,wBAAwB,GAAG,gBAAgB,GAAG,4BAA4B,CAAC;QACjF,MAAM,sBAAsB,GAAG,0BAA0B,GAAG,cAAc,CAAC;QAC3E,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;QAEpG,OAAO;QACL,uEAAuE;QACvE,IAAI,CAAC,IAAI,CAAC,wBAAwB,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;YAC5F,wEAAwE;YACxE,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAC5E,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,IAAI,mBAAmB,CAAC,OAAO,IAAI,UAAU,EAAE,EAAE,CAAC;YAChD,qBAAqB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAC;QACxD,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3D,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,cAAc,EAAE,CAAC;YACnB,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IAElD,MAAM,qBAAqB,GAAG,WAAW,CAAC,CAAC,SAAiB,EAAE,EAAE;QAC9D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,GAAG,4BAA4B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;QACxG,4CAA4C;QAC5C,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,SAAS,GAAG,4BAA4B,GAAG,CAAC,GAAG,IAAI,CAAC;IAChG,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,QAAgB,EAAE,EAAE;QACnB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/D,qBAAqB,CAAC,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC,CAAC;QAClE,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAEjC,0FAA0F;QAC1F,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1B,CAAC,EACD,CAAC,QAAQ,EAAE,aAAa,EAAE,qBAAqB,CAAC,CACjD,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,MAAc,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,4BAA4B,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAClG,IAAI,MAAM,GAAG,eAAe,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC;YAChF,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;YACnC,0FAA0F;YAC1F,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,EACD,CAAC,iBAAiB,CAAC,CACpB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;;QACb,MAAM,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAA,MAAA,gBAAgB,CAAC,OAAO,0CAAE,aAAa,mCAAI,MAAM,CAAC,QAAQ,CAAC;QAE5E,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtD,OAAO;QACT,CAAC;QAED,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,4BAA4B,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE9F,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,MAAM,UAAU,GAAG,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC;YAC5E,eAAe,CAAC,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YACrE,0FAA0F;YAC1F,iBAAiB,CAAC,UAAU,GAAG,mBAAmB,CAAC,CAAC;YACpD,QAAQ,CAAC,YAAY,CAAC,UAAU,IAAI,mBAAmB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvG,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAE,EAAE;YAC5C,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,MAAM,GAAG,aAAa,EAAE,CAAC;gBAC3B,eAAe,CAAC,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAE,EAAE;YAC1C,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,UAAU,EAAE,CAAC;gBACf,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrB,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,mBAAmB,EAAE,CAAC;YACtB,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAE,EAAE;YACzC,IAAI,kBAAkB,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAEzF,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBACvC,KAAK,CAAC,cAAc,EAAE,CAAC;oBAEvB,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvB,SAAS,CAAC,KAAK,EAAE;4BACf,UAAU,EAAE,GAAG,EAAE;;gCACf,qBAAqB,CAAC,KAAK,CAAC,CAAC;gCAC7B,iBAAiB,CAAC,KAAK,CAAC,CAAC;gCACzB,MAAA,gBAAgB,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;4BACpC,CAAC;4BACD,QAAQ,EAAE,GAAG,EAAE;;gCACb,qBAAqB,CAAC,KAAK,CAAC,CAAC;gCAC7B,iBAAiB,CAAC,KAAK,CAAC,CAAC;gCACzB,MAAA,gBAAgB,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;4BACpC,CAAC;4BACD,aAAa,EAAE,GAAG,EAAE;gCAClB,iBAAiB,CAAC,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;gCACjF,sBAAsB,EAAE,CAAC;4BAC3B,CAAC;4BACD,WAAW,EAAE,GAAG,EAAE;gCAChB,iBAAiB,CAAC,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;gCACjF,sBAAsB,EAAE,CAAC;4BAC3B,CAAC;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;oBACvE,+BAA+B;oBAC/B,KAAK,CAAC,cAAc,EAAE,CAAC;oBAEvB,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvB,SAAS,CAAC,KAAK,EAAE;4BACf,UAAU,EAAE,GAAG,EAAE;;gCACf,iBAAiB,CAAC,IAAI,CAAC,CAAC;gCACxB,qBAAqB,CAAC,IAAI,CAAC,CAAC;gCAC5B,MAAA,mBAAmB,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;4BACvC,CAAC;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,4EAA4E;oBAC5E,oEAAoE;oBACpE,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,qBAAqB,CAAC,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QACpF,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAEzC,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;YACrD,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YACvF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACrF,CAAC;aAAM,IAAI,eAAe,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;YAChE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,kBAAkB,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;YACxD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACnE,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,UAAU;QACV,kBAAkB;QAClB,aAAa;QACb,eAAe;QACf,sBAAsB;QACtB,mBAAmB;QACnB,YAAY;QACZ,iBAAiB;QACjB,qBAAqB;KACtB,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,0BAA0B,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEjG,OAAO,CACL;QACE,sGAAsG;QACtG,uEAAuE;QACvE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,iBAAiB,CAAC,EACzB,eAAe,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAC3C,CAAC,CAAC,eAAe,IAAI,YAAY,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,CAC9D,EACD,GAAG,EAAE,qBAAqB;QAE1B,oBAAC,iBAAiB,IAChB,kBAAkB,EAAE,CAAC,EACrB,iBAAiB,EAAE,KAAK,EACxB,UAAU,EAAE;gBACV,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;gBAChG,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;aACrD,EACD,WAAW,EAAC,YAAY,EACxB,qBAAqB,EAAE,cAAc,IAAI,CAAC,eAAe,EACzD,gBAAgB,EAAE,MAAM,CAAC,wBAAwB,CAAC,EAClD,WAAW,EAAE,WAAW,mBACT,eAAe,EAC9B,gBAAgB,EAAE,SAAS,CAAC,EAAE;gBAC5B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO;gBACT,CAAC;gBAED,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;oBACjC,iBAAiB,CAAC,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;oBACjF,qBAAqB,CAAC,GAAG,EAAE;wBACzB,mBAAmB,EAAE,CAAC;wBACtB,sBAAsB,EAAE,CAAC;oBAC3B,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;oBACtC,iBAAiB,CAAC,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;oBACjF,qBAAqB,CAAC,GAAG,EAAE;wBACzB,mBAAmB,EAAE,CAAC;wBACtB,sBAAsB,EAAE,CAAC;oBAC3B,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,gCACE,IAAI,EAAC,QAAQ,EACb,GAAG,EAAE,gBAAgB,EACrB,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,OAAO,EACd,CAAC,eAAe,IAAI,aAAa,IAAI,kBAAkB,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAChF,EACD,aAAa,EAAE,KAAK,CAAC,EAAE;oBACrB,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACxD,OAAO;oBACT,CAAC;oBACD,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC,EACD,OAAO,EAAE,GAAG,EAAE;;oBACZ,mFAAmF;oBACnF,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBACxB,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBACxB,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBACzB,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC5B,MAAA,mBAAmB,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;gBACvC,CAAC,EACD,OAAO,EAAE,GAAG,EAAE;oBACZ,kBAAkB,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC7D,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC,EACD,MAAM,EAAE,KAAK,CAAC,EAAE;oBACd,yEAAyE;oBACzE,uFAAuF;oBACvF,IAAI,KAAK,CAAC,aAAa,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;wBACxD,kBAAkB,CAAC,KAAK,CAAC,CAAC;wBAC1B,iBAAiB,CAAC,KAAK,CAAC,CAAC;wBACzB,OAAO;oBACT,CAAC;gBACH,CAAC,0BAIqB,eAAe,qBACpB,cAAc,EAC/B,QAAQ,EAAE,eAAe,mBACV,OAAO,GACtB;YACF,8BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,aAAa,IAAI,UAAU,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,0CACnE,IAAI,EAC1C,GAAG,EAAE,mBAAmB,EACxB,EAAE,EAAE,WAAW,EACf,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,CAAC,qBACK,cAAc,iBAClB,CAAC,kBAAkB,mBACjB,QAAQ,mBAER,MAAM,CAAC,gBAAgB,mBACvB,eAAe,mBACf,OAAO,EACtB,MAAM,EAAE,KAAK,CAAC,EAAE;oBACd,qBAAqB,CAAC,KAAK,CAAC,CAAC;oBAC7B,IAAI,KAAK,CAAC,aAAa,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC;wBACrD,kBAAkB,CAAC,KAAK,CAAC,CAAC;wBAC1B,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC;oBACD,mBAAmB,EAAE,CAAC;gBACxB,CAAC,GACD,CACgB,CAChB,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,8BAAM,SAAS,EAAE,MAAM,CAAC,OAAO,GAAI,CAAC;AAC7C,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useStableCallback, useUniqueId } from '@cloudscape-design/component-toolkit/internal';\nimport { getIsRtl, getLogicalBoundingClientRect, getLogicalPageX } from '@cloudscape-design/component-toolkit/internal';\nimport { useSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal';\n\nimport DragHandleWrapper from '../../internal/components/drag-handle-wrapper';\nimport { useVisualRefresh } from '../../internal/hooks/use-visual-mode';\nimport { KeyCode } from '../../internal/keycode';\nimport handleKey, { isEventLike } from '../../internal/utils/handle-key';\nimport { scrollElementIntoView } from '../../internal/utils/scrollable-containers';\nimport { DEFAULT_COLUMN_WIDTH } from '../use-column-widths';\nimport { getHeaderWidth, getResizerElements } from './resizer-lookup';\n\nimport styles from './styles.css.js';\n\ninterface ResizerProps {\n onWidthUpdate: (newWidth: number) => void;\n onWidthUpdateCommit: () => void;\n ariaLabelledby?: string;\n minWidth?: number;\n tabIndex?: number;\n focusId?: string;\n showFocusRing?: boolean;\n roleDescription?: string;\n tooltipText?: string;\n isBorderless: boolean;\n}\n\nconst AUTO_GROW_START_TIME = 10;\nconst AUTO_GROW_INTERVAL = 10;\nconst AUTO_GROW_INCREMENT = 5;\n\nexport function Divider({ className }: { className?: string }) {\n return <span className={clsx(styles.divider, styles['divider-disabled'], className)} />;\n}\n\nexport function Resizer({\n onWidthUpdate,\n onWidthUpdateCommit,\n ariaLabelledby,\n minWidth = DEFAULT_COLUMN_WIDTH,\n tabIndex,\n showFocusRing,\n focusId,\n roleDescription,\n tooltipText,\n isBorderless,\n}: ResizerProps) {\n onWidthUpdate = useStableCallback(onWidthUpdate);\n onWidthUpdateCommit = useStableCallback(onWidthUpdateCommit);\n\n const isVisualRefresh = useVisualRefresh();\n\n const separatorId = useUniqueId();\n const positioningWrapperRef = useRef<HTMLDivElement | null>(null);\n const resizerToggleRef = useRef<HTMLButtonElement | null>(null);\n const resizerSeparatorRef = useRef<HTMLSpanElement | null>(null);\n\n const [isPointerDown, setIsPointerDown] = useState(false);\n const [isDragging, setIsDragging] = useState(false);\n const [showUapButtons, setShowUapButtons] = useState(false);\n const [resizerObscured, setResizerObscured] = useState(false);\n const [isKeyboardDragging, setIsKeyboardDragging] = useState(false);\n const autoGrowTimeout = useRef<ReturnType<typeof setTimeout> | undefined>();\n const [resizerHasFocus, setResizerHasFocus] = useState(false);\n const [headerCellWidth, setHeaderCellWidth] = useState(0);\n\n // Read header width after mounting for it to be available in the element's ARIA label before it gets focused.\n useEffect(() => {\n setHeaderCellWidth(getHeaderWidth(resizerToggleRef.current));\n }, []);\n\n const isObscured = useCallback(() => {\n const elements = getResizerElements(resizerToggleRef.current);\n if (!elements || !positioningWrapperRef.current) {\n return false;\n }\n\n let scrollPaddingInlineStart = 0;\n let scrollPaddingInlineEnd = 0;\n\n // Calculate size of the headers at the exact moment of the call to deal\n // with auto-width columns and cached sticky column state.\n elements.allHeaders.forEach(header => {\n const { inlineSize } = getLogicalBoundingClientRect(header);\n if (header.style.insetInlineStart) {\n scrollPaddingInlineStart += inlineSize;\n }\n if (header.style.insetInlineEnd) {\n scrollPaddingInlineEnd += inlineSize;\n }\n });\n\n const { insetInlineStart: scrollParentInsetInlineStart, insetInlineEnd: scrollParentInsetInlineEnd } =\n getLogicalBoundingClientRect(elements.scrollParent);\n const { insetInlineStart, insetInlineEnd, inlineSize } = getLogicalBoundingClientRect(elements.header);\n const relativeInsetInlineStart = insetInlineStart - scrollParentInsetInlineStart;\n const relativeInsetInlineEnd = scrollParentInsetInlineEnd - insetInlineEnd;\n const isSticky = !!elements.header.style.insetInlineStart || !!elements.header.style.insetInlineEnd;\n\n return (\n // Is positioningWrapper obscured behind the left edge of scrollParent?\n Math.ceil(relativeInsetInlineStart + inlineSize) < (isSticky ? 0 : scrollPaddingInlineStart) ||\n // Is positioningWrapper obscured behind the right edge of scrollParent?\n Math.ceil(relativeInsetInlineEnd) < (isSticky ? 0 : scrollPaddingInlineEnd)\n );\n }, []);\n\n const scrollIntoViewIfNeeded = useCallback(() => {\n if (resizerSeparatorRef.current && isObscured()) {\n scrollElementIntoView(resizerSeparatorRef.current);\n }\n }, [isObscured]);\n\n useEffect(() => {\n if (!showUapButtons) {\n setResizerObscured(false);\n return;\n }\n\n const elements = getResizerElements(resizerToggleRef.current);\n if (!elements) {\n return;\n }\n\n const onScroll = () => setResizerObscured(isObscured());\n elements.scrollParent.addEventListener('scroll', onScroll);\n return () => elements.scrollParent.removeEventListener('scroll', onScroll);\n }, [isObscured, showUapButtons]);\n\n useEffect(() => {\n if (showUapButtons) {\n setResizerObscured(isObscured());\n }\n }, [headerCellWidth, isObscured, showUapButtons]);\n\n const updateTrackerPosition = useCallback((newOffset: number) => {\n const elements = getResizerElements(resizerToggleRef.current);\n if (!elements) {\n return;\n }\n\n const { insetInlineStart: scrollParentInsetInlineStart } = getLogicalBoundingClientRect(elements.table);\n elements.tracker.style.insetBlockStart = getLogicalBoundingClientRect(elements.header).blockSize + 'px';\n // minus one pixel to offset the cell border\n elements.tracker.style.insetInlineStart = newOffset - scrollParentInsetInlineStart - 1 + 'px';\n }, []);\n\n const updateColumnWidth = useCallback(\n (newWidth: number) => {\n const elements = getResizerElements(resizerToggleRef.current);\n if (!elements) {\n return;\n }\n\n const { insetInlineEnd, inlineSize } = getLogicalBoundingClientRect(elements.header);\n const updatedWidth = newWidth < minWidth ? minWidth : newWidth;\n updateTrackerPosition(insetInlineEnd + updatedWidth - inlineSize);\n setHeaderCellWidth(updatedWidth);\n\n // callbacks must be the last calls in the handler, because they may cause an extra update\n onWidthUpdate(newWidth);\n },\n [minWidth, onWidthUpdate, updateTrackerPosition]\n );\n\n const resizeColumn = useCallback(\n (offset: number) => {\n const elements = getResizerElements(resizerToggleRef.current);\n if (!elements) {\n return;\n }\n\n const { insetInlineStart: inlineStartEdge } = getLogicalBoundingClientRect(elements.scrollParent);\n if (offset > inlineStartEdge) {\n const cellLeft = getLogicalBoundingClientRect(elements.header).insetInlineStart;\n const newWidth = offset - cellLeft;\n // callbacks must be the last calls in the handler, because they may cause an extra update\n updateColumnWidth(newWidth);\n }\n },\n [updateColumnWidth]\n );\n\n useEffect(() => {\n const elements = getResizerElements(resizerToggleRef.current);\n const document = resizerToggleRef.current?.ownerDocument ?? window.document;\n\n if ((!isPointerDown && !resizerHasFocus) || !elements) {\n return;\n }\n\n const { insetInlineEnd: inlineEndEdge } = getLogicalBoundingClientRect(elements.scrollParent);\n\n const onAutoGrow = () => {\n const inlineSize = getLogicalBoundingClientRect(elements.header).inlineSize;\n autoGrowTimeout.current = setTimeout(onAutoGrow, AUTO_GROW_INTERVAL);\n // callbacks must be the last calls in the handler, because they may cause an extra update\n updateColumnWidth(inlineSize + AUTO_GROW_INCREMENT);\n elements.scrollParent.scrollLeft += AUTO_GROW_INCREMENT * (getIsRtl(elements.scrollParent) ? -1 : 1);\n };\n\n const onPointerMove = (event: PointerEvent) => {\n setIsDragging(true);\n clearTimeout(autoGrowTimeout.current);\n const offset = getLogicalPageX(event);\n if (offset > inlineEndEdge) {\n autoGrowTimeout.current = setTimeout(onAutoGrow, AUTO_GROW_START_TIME);\n } else {\n resizeColumn(offset);\n }\n };\n\n const onPointerUp = (event: PointerEvent) => {\n setIsPointerDown(false);\n if (isDragging) {\n setIsDragging(false);\n resizeColumn(getLogicalPageX(event));\n } else {\n setShowUapButtons(true);\n }\n onWidthUpdateCommit();\n clearTimeout(autoGrowTimeout.current);\n };\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (isKeyboardDragging) {\n const keys = [KeyCode.left, KeyCode.right, KeyCode.enter, KeyCode.space, KeyCode.escape];\n\n if (keys.indexOf(event.keyCode) !== -1) {\n event.preventDefault();\n\n if (isEventLike(event)) {\n handleKey(event, {\n onActivate: () => {\n setIsKeyboardDragging(false);\n setShowUapButtons(false);\n resizerToggleRef.current?.focus();\n },\n onEscape: () => {\n setIsKeyboardDragging(false);\n setShowUapButtons(false);\n resizerToggleRef.current?.focus();\n },\n onInlineStart: () => {\n updateColumnWidth(getLogicalBoundingClientRect(elements.header).inlineSize - 10);\n scrollIntoViewIfNeeded();\n },\n onInlineEnd: () => {\n updateColumnWidth(getLogicalBoundingClientRect(elements.header).inlineSize + 10);\n scrollIntoViewIfNeeded();\n },\n });\n }\n }\n } else {\n if (event.keyCode === KeyCode.enter || event.keyCode === KeyCode.space) {\n // Enter keyboard dragging mode\n event.preventDefault();\n\n if (isEventLike(event)) {\n handleKey(event, {\n onActivate: () => {\n setShowUapButtons(true);\n setIsKeyboardDragging(true);\n resizerSeparatorRef.current?.focus();\n },\n });\n }\n } else {\n // Showing the UAP buttons when the button is only focused and not activated\n // gives a false impression that you can resize with the arrow keys.\n setShowUapButtons(false);\n }\n }\n };\n\n updateTrackerPosition(getLogicalBoundingClientRect(elements.header).insetInlineEnd);\n const controller = new AbortController();\n\n if (isPointerDown) {\n document.body.classList.add(styles['resize-active']);\n document.addEventListener('pointermove', onPointerMove, { signal: controller.signal });\n document.addEventListener('pointerup', onPointerUp, { signal: controller.signal });\n } else if (resizerHasFocus) {\n document.body.classList.add(styles['resize-active-with-focus']);\n elements.header.addEventListener('keydown', onKeyDown, { signal: controller.signal });\n }\n if (isKeyboardDragging) {\n document.body.classList.add(styles['resize-active']);\n }\n\n return () => {\n document.body.classList.remove(styles['resize-active']);\n document.body.classList.remove(styles['resize-active-with-focus']);\n controller.abort();\n };\n }, [\n isDragging,\n isKeyboardDragging,\n isPointerDown,\n resizerHasFocus,\n scrollIntoViewIfNeeded,\n onWidthUpdateCommit,\n resizeColumn,\n updateColumnWidth,\n updateTrackerPosition,\n ]);\n\n useEffect(() => {\n if (isDragging) {\n return () => clearTimeout(autoGrowTimeout.current);\n }\n }, [isDragging]);\n\n const { tabIndex: resizerTabIndex } = useSingleTabStopNavigation(resizerToggleRef, { tabIndex });\n\n return (\n <div\n // When the table is borderless (works in visual refresh tables only), the last resize handle must not\n // exceed table's edges, as it causes an unintended overflow otherwise.\n className={clsx(\n styles['resizer-wrapper'],\n isVisualRefresh && styles['visual-refresh'],\n (!isVisualRefresh || isBorderless) && styles['is-borderless']\n )}\n ref={positioningWrapperRef}\n >\n <DragHandleWrapper\n clickDragThreshold={3}\n hideButtonsOnDrag={false}\n directions={{\n 'inline-start': resizerObscured ? undefined : headerCellWidth > minWidth ? 'active' : 'disabled',\n 'inline-end': resizerObscured ? undefined : 'active',\n }}\n triggerMode=\"controlled\"\n controlledShowButtons={showUapButtons && !resizerObscured}\n wrapperClassName={styles['resizer-button-wrapper']}\n tooltipText={tooltipText}\n data-obscured={resizerObscured}\n onDirectionClick={direction => {\n const elements = getResizerElements(resizerToggleRef.current);\n if (!elements) {\n return;\n }\n\n if (direction === 'inline-start') {\n updateColumnWidth(getLogicalBoundingClientRect(elements.header).inlineSize - 20);\n requestAnimationFrame(() => {\n onWidthUpdateCommit();\n scrollIntoViewIfNeeded();\n });\n } else if (direction === 'inline-end') {\n updateColumnWidth(getLogicalBoundingClientRect(elements.header).inlineSize + 20);\n requestAnimationFrame(() => {\n onWidthUpdateCommit();\n scrollIntoViewIfNeeded();\n });\n }\n }}\n >\n <button\n type=\"button\"\n ref={resizerToggleRef}\n className={clsx(\n styles.resizer,\n (resizerHasFocus || showFocusRing || isKeyboardDragging) && styles['has-focus']\n )}\n onPointerDown={event => {\n if (event.pointerType === 'mouse' && event.button !== 0) {\n return;\n }\n setIsPointerDown(true);\n }}\n onClick={() => {\n // Prevent mouse drag activation and activate keyboard dragging for VO+Space click.\n setIsPointerDown(false);\n setIsDragging(false);\n setShowUapButtons(true);\n setResizerHasFocus(true);\n setIsKeyboardDragging(true);\n resizerSeparatorRef.current?.focus();\n }}\n onFocus={() => {\n setHeaderCellWidth(getHeaderWidth(resizerToggleRef.current));\n setResizerHasFocus(true);\n }}\n onBlur={event => {\n // Ignoring blur event when focus moves to the resizer separator element.\n // (This focus transition is done programmatically when the resizer button is clicked).\n if (event.relatedTarget !== resizerSeparatorRef.current) {\n setResizerHasFocus(false);\n setShowUapButtons(false);\n return;\n }\n }}\n // Using a custom role-description to make the element's purpose better clear.\n // The role-description must include the word \"button\" to imply the interaction model.\n // See https://www.w3.org/TR/wai-aria-1.1/#aria-roledescription\n aria-roledescription={roleDescription}\n aria-labelledby={ariaLabelledby}\n tabIndex={resizerTabIndex}\n data-focus-id={focusId}\n />\n <span\n className={clsx(styles['divider-interactive'], (isPointerDown || isDragging) && styles['divider-active'])}\n data-awsui-table-suppress-navigation={true}\n ref={resizerSeparatorRef}\n id={separatorId}\n role=\"slider\"\n tabIndex={-1}\n aria-labelledby={ariaLabelledby}\n aria-hidden={!isKeyboardDragging}\n aria-valuemin={minWidth}\n // aria-valuemax is needed because the slider is inoperable in VoiceOver without it\n aria-valuemax={Number.MAX_SAFE_INTEGER}\n aria-valuenow={headerCellWidth}\n data-focus-id={focusId}\n onBlur={event => {\n setIsKeyboardDragging(false);\n if (event.relatedTarget !== resizerToggleRef.current) {\n setResizerHasFocus(false);\n setShowUapButtons(false);\n }\n onWidthUpdateCommit();\n }}\n />\n </DragHandleWrapper>\n </div>\n );\n}\n\nexport function ResizeTracker() {\n return <span className={styles.tracker} />;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table/resizer/index.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\n\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useStableCallback, useUniqueId } from '@cloudscape-design/component-toolkit/internal';\nimport { getIsRtl, getLogicalBoundingClientRect, getLogicalPageX } from '@cloudscape-design/component-toolkit/internal';\nimport { useSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal';\n\nimport DragHandleWrapper from '../../internal/components/drag-handle-wrapper';\nimport { useThrottleCallback } from '../../internal/hooks/use-throttle-callback';\nimport { useVisualRefresh } from '../../internal/hooks/use-visual-mode';\nimport { KeyCode } from '../../internal/keycode';\nimport handleKey, { isEventLike } from '../../internal/utils/handle-key';\nimport { scrollElementIntoView } from '../../internal/utils/scrollable-containers';\nimport { DEFAULT_COLUMN_WIDTH } from '../use-column-widths';\nimport { getHeaderWidth, getResizerElements } from './resizer-lookup';\n\nimport styles from './styles.css.js';\n\ninterface ResizerProps {\n onWidthUpdate: (newWidth: number) => void;\n onWidthUpdateCommit: () => void;\n ariaLabelledby?: string;\n minWidth?: number;\n tabIndex?: number;\n focusId?: string;\n showFocusRing?: boolean;\n roleDescription?: string;\n tooltipText?: string;\n isBorderless: boolean;\n}\n\nconst RESIZE_THROTTLE = 25;\nconst AUTO_GROW_START_TIME = 10;\nconst AUTO_GROW_INTERVAL = 10;\nconst AUTO_GROW_INCREMENT = 5;\n\nexport function Divider({ className }: { className?: string }) {\n return <span className={clsx(styles.divider, styles['divider-disabled'], className)} />;\n}\n\nexport function Resizer({\n onWidthUpdate,\n onWidthUpdateCommit,\n ariaLabelledby,\n minWidth = DEFAULT_COLUMN_WIDTH,\n tabIndex,\n showFocusRing,\n focusId,\n roleDescription,\n tooltipText,\n isBorderless,\n}: ResizerProps) {\n onWidthUpdate = useStableCallback(onWidthUpdate);\n onWidthUpdateCommit = useStableCallback(onWidthUpdateCommit);\n\n const isVisualRefresh = useVisualRefresh();\n\n const separatorId = useUniqueId();\n const positioningWrapperRef = useRef<HTMLDivElement | null>(null);\n const resizerToggleRef = useRef<HTMLButtonElement | null>(null);\n const resizerSeparatorRef = useRef<HTMLSpanElement | null>(null);\n\n const [isPointerDown, setIsPointerDown] = useState(false);\n const [isDragging, setIsDragging] = useState(false);\n const [showUapButtons, setShowUapButtons] = useState(false);\n const [resizerObscured, setResizerObscured] = useState(false);\n const [isKeyboardDragging, setIsKeyboardDragging] = useState(false);\n const autoGrowTimeout = useRef<ReturnType<typeof setTimeout> | undefined>();\n const [resizerHasFocus, setResizerHasFocus] = useState(false);\n const [headerCellWidth, setHeaderCellWidth] = useState(0);\n\n // Read header width after mounting for it to be available in the element's ARIA label before it gets focused.\n useEffect(() => {\n setHeaderCellWidth(getHeaderWidth(resizerToggleRef.current));\n }, []);\n\n const isObscured = useCallback(() => {\n const elements = getResizerElements(resizerToggleRef.current);\n if (!elements || !positioningWrapperRef.current) {\n return false;\n }\n\n let scrollPaddingInlineStart = 0;\n let scrollPaddingInlineEnd = 0;\n\n // Calculate size of the headers at the exact moment of the call to deal\n // with auto-width columns and cached sticky column state.\n elements.allHeaders.forEach(header => {\n const { inlineSize } = getLogicalBoundingClientRect(header);\n if (header.style.insetInlineStart) {\n scrollPaddingInlineStart += inlineSize;\n }\n if (header.style.insetInlineEnd) {\n scrollPaddingInlineEnd += inlineSize;\n }\n });\n\n const { insetInlineStart: scrollParentInsetInlineStart, insetInlineEnd: scrollParentInsetInlineEnd } =\n getLogicalBoundingClientRect(elements.scrollParent);\n const { insetInlineStart, insetInlineEnd, inlineSize } = getLogicalBoundingClientRect(elements.header);\n const relativeInsetInlineStart = insetInlineStart - scrollParentInsetInlineStart;\n const relativeInsetInlineEnd = scrollParentInsetInlineEnd - insetInlineEnd;\n const isSticky = !!elements.header.style.insetInlineStart || !!elements.header.style.insetInlineEnd;\n\n return (\n // Is positioningWrapper obscured behind the left edge of scrollParent?\n Math.ceil(relativeInsetInlineStart + inlineSize) < (isSticky ? 0 : scrollPaddingInlineStart) ||\n // Is positioningWrapper obscured behind the right edge of scrollParent?\n Math.ceil(relativeInsetInlineEnd) < (isSticky ? 0 : scrollPaddingInlineEnd)\n );\n }, []);\n\n const scrollIntoViewIfNeeded = useCallback(() => {\n if (resizerSeparatorRef.current && isObscured()) {\n scrollElementIntoView(resizerSeparatorRef.current);\n }\n }, [isObscured]);\n\n useEffect(() => {\n if (!showUapButtons) {\n setResizerObscured(false);\n return;\n }\n\n const elements = getResizerElements(resizerToggleRef.current);\n if (!elements) {\n return;\n }\n\n const onScroll = () => setResizerObscured(isObscured());\n elements.scrollParent.addEventListener('scroll', onScroll);\n return () => elements.scrollParent.removeEventListener('scroll', onScroll);\n }, [isObscured, showUapButtons]);\n\n useEffect(() => {\n if (showUapButtons) {\n setResizerObscured(isObscured());\n }\n }, [headerCellWidth, isObscured, showUapButtons]);\n\n const updateTrackerPosition = useCallback((newOffset: number) => {\n const elements = getResizerElements(resizerToggleRef.current);\n if (!elements) {\n return;\n }\n\n const { insetInlineStart: scrollParentInsetInlineStart } = getLogicalBoundingClientRect(elements.table);\n elements.tracker.style.insetBlockStart = getLogicalBoundingClientRect(elements.header).blockSize + 'px';\n // minus one pixel to offset the cell border\n elements.tracker.style.insetInlineStart = newOffset - scrollParentInsetInlineStart - 1 + 'px';\n }, []);\n\n const updateColumnWidth = useCallback(\n (newWidth: number) => {\n const elements = getResizerElements(resizerToggleRef.current);\n if (!elements) {\n return;\n }\n\n const { insetInlineEnd, inlineSize } = getLogicalBoundingClientRect(elements.header);\n const updatedWidth = newWidth < minWidth ? minWidth : newWidth;\n updateTrackerPosition(insetInlineEnd + updatedWidth - inlineSize);\n setHeaderCellWidth(updatedWidth);\n\n // callbacks must be the last calls in the handler, because they may cause an extra update\n onWidthUpdate(newWidth);\n },\n [minWidth, onWidthUpdate, updateTrackerPosition]\n );\n\n const resizeColumn = useThrottleCallback(\n (offset: number) => {\n const elements = getResizerElements(resizerToggleRef.current);\n if (!elements) {\n return;\n }\n\n const { insetInlineStart: inlineStartEdge } = getLogicalBoundingClientRect(elements.scrollParent);\n if (offset > inlineStartEdge) {\n const cellLeft = getLogicalBoundingClientRect(elements.header).insetInlineStart;\n const newWidth = offset - cellLeft;\n // callbacks must be the last calls in the handler, because they may cause an extra update\n updateColumnWidth(newWidth);\n }\n },\n RESIZE_THROTTLE,\n [updateColumnWidth]\n );\n\n useEffect(() => {\n const elements = getResizerElements(resizerToggleRef.current);\n const document = resizerToggleRef.current?.ownerDocument ?? window.document;\n\n if ((!isPointerDown && !resizerHasFocus) || !elements) {\n return;\n }\n\n const { insetInlineEnd: inlineEndEdge } = getLogicalBoundingClientRect(elements.scrollParent);\n\n const onAutoGrow = () => {\n const inlineSize = getLogicalBoundingClientRect(elements.header).inlineSize;\n autoGrowTimeout.current = setTimeout(onAutoGrow, AUTO_GROW_INTERVAL);\n // callbacks must be the last calls in the handler, because they may cause an extra update\n updateColumnWidth(inlineSize + AUTO_GROW_INCREMENT);\n elements.scrollParent.scrollLeft += AUTO_GROW_INCREMENT * (getIsRtl(elements.scrollParent) ? -1 : 1);\n };\n\n const onPointerMove = (event: PointerEvent) => {\n setIsDragging(true);\n clearTimeout(autoGrowTimeout.current);\n const offset = getLogicalPageX(event);\n if (offset > inlineEndEdge) {\n autoGrowTimeout.current = setTimeout(onAutoGrow, AUTO_GROW_START_TIME);\n } else {\n resizeColumn(offset);\n }\n };\n\n const onPointerUp = (event: PointerEvent) => {\n setIsPointerDown(false);\n if (isDragging) {\n setIsDragging(false);\n resizeColumn(getLogicalPageX(event));\n } else {\n setShowUapButtons(true);\n }\n onWidthUpdateCommit();\n clearTimeout(autoGrowTimeout.current);\n };\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (isKeyboardDragging) {\n const keys = [KeyCode.left, KeyCode.right, KeyCode.enter, KeyCode.space, KeyCode.escape];\n\n if (keys.indexOf(event.keyCode) !== -1) {\n event.preventDefault();\n\n if (isEventLike(event)) {\n handleKey(event, {\n onActivate: () => {\n setIsKeyboardDragging(false);\n setShowUapButtons(false);\n resizerToggleRef.current?.focus();\n },\n onEscape: () => {\n setIsKeyboardDragging(false);\n setShowUapButtons(false);\n resizerToggleRef.current?.focus();\n },\n onInlineStart: () => {\n updateColumnWidth(getLogicalBoundingClientRect(elements.header).inlineSize - 10);\n scrollIntoViewIfNeeded();\n },\n onInlineEnd: () => {\n updateColumnWidth(getLogicalBoundingClientRect(elements.header).inlineSize + 10);\n scrollIntoViewIfNeeded();\n },\n });\n }\n }\n } else {\n if (event.keyCode === KeyCode.enter || event.keyCode === KeyCode.space) {\n // Enter keyboard dragging mode\n event.preventDefault();\n\n if (isEventLike(event)) {\n handleKey(event, {\n onActivate: () => {\n setShowUapButtons(true);\n setIsKeyboardDragging(true);\n resizerSeparatorRef.current?.focus();\n },\n });\n }\n } else {\n // Showing the UAP buttons when the button is only focused and not activated\n // gives a false impression that you can resize with the arrow keys.\n setShowUapButtons(false);\n }\n }\n };\n\n updateTrackerPosition(getLogicalBoundingClientRect(elements.header).insetInlineEnd);\n const controller = new AbortController();\n\n if (isPointerDown) {\n document.body.classList.add(styles['resize-active']);\n document.addEventListener('pointermove', onPointerMove, { signal: controller.signal });\n document.addEventListener('pointerup', onPointerUp, { signal: controller.signal });\n } else if (resizerHasFocus) {\n document.body.classList.add(styles['resize-active-with-focus']);\n elements.header.addEventListener('keydown', onKeyDown, { signal: controller.signal });\n }\n if (isKeyboardDragging) {\n document.body.classList.add(styles['resize-active']);\n }\n\n return () => {\n document.body.classList.remove(styles['resize-active']);\n document.body.classList.remove(styles['resize-active-with-focus']);\n controller.abort();\n };\n }, [\n isDragging,\n isKeyboardDragging,\n isPointerDown,\n resizerHasFocus,\n scrollIntoViewIfNeeded,\n onWidthUpdateCommit,\n resizeColumn,\n updateColumnWidth,\n updateTrackerPosition,\n ]);\n\n useEffect(() => {\n if (isDragging) {\n return () => clearTimeout(autoGrowTimeout.current);\n }\n }, [isDragging]);\n\n const { tabIndex: resizerTabIndex } = useSingleTabStopNavigation(resizerToggleRef, { tabIndex });\n\n return (\n <div\n // When the table is borderless (works in visual refresh tables only), the last resize handle must not\n // exceed table's edges, as it causes an unintended overflow otherwise.\n className={clsx(\n styles['resizer-wrapper'],\n isVisualRefresh && styles['visual-refresh'],\n (!isVisualRefresh || isBorderless) && styles['is-borderless']\n )}\n ref={positioningWrapperRef}\n >\n <DragHandleWrapper\n clickDragThreshold={3}\n hideButtonsOnDrag={false}\n directions={{\n 'inline-start': resizerObscured ? undefined : headerCellWidth > minWidth ? 'active' : 'disabled',\n 'inline-end': resizerObscured ? undefined : 'active',\n }}\n triggerMode=\"controlled\"\n controlledShowButtons={showUapButtons && !resizerObscured}\n wrapperClassName={styles['resizer-button-wrapper']}\n tooltipText={tooltipText}\n data-obscured={resizerObscured}\n onDirectionClick={direction => {\n const elements = getResizerElements(resizerToggleRef.current);\n if (!elements) {\n return;\n }\n\n if (direction === 'inline-start') {\n updateColumnWidth(getLogicalBoundingClientRect(elements.header).inlineSize - 20);\n requestAnimationFrame(() => {\n onWidthUpdateCommit();\n scrollIntoViewIfNeeded();\n });\n } else if (direction === 'inline-end') {\n updateColumnWidth(getLogicalBoundingClientRect(elements.header).inlineSize + 20);\n requestAnimationFrame(() => {\n onWidthUpdateCommit();\n scrollIntoViewIfNeeded();\n });\n }\n }}\n >\n <button\n type=\"button\"\n ref={resizerToggleRef}\n className={clsx(\n styles.resizer,\n (resizerHasFocus || showFocusRing || isKeyboardDragging) && styles['has-focus']\n )}\n onPointerDown={event => {\n if (event.pointerType === 'mouse' && event.button !== 0) {\n return;\n }\n setIsPointerDown(true);\n }}\n onClick={() => {\n // Prevent mouse drag activation and activate keyboard dragging for VO+Space click.\n setIsPointerDown(false);\n setIsDragging(false);\n setShowUapButtons(true);\n setResizerHasFocus(true);\n setIsKeyboardDragging(true);\n resizerSeparatorRef.current?.focus();\n }}\n onFocus={() => {\n setHeaderCellWidth(getHeaderWidth(resizerToggleRef.current));\n setResizerHasFocus(true);\n }}\n onBlur={event => {\n // Ignoring blur event when focus moves to the resizer separator element.\n // (This focus transition is done programmatically when the resizer button is clicked).\n if (event.relatedTarget !== resizerSeparatorRef.current) {\n setResizerHasFocus(false);\n setShowUapButtons(false);\n return;\n }\n }}\n // Using a custom role-description to make the element's purpose better clear.\n // The role-description must include the word \"button\" to imply the interaction model.\n // See https://www.w3.org/TR/wai-aria-1.1/#aria-roledescription\n aria-roledescription={roleDescription}\n aria-labelledby={ariaLabelledby}\n tabIndex={resizerTabIndex}\n data-focus-id={focusId}\n />\n <span\n className={clsx(styles['divider-interactive'], (isPointerDown || isDragging) && styles['divider-active'])}\n data-awsui-table-suppress-navigation={true}\n ref={resizerSeparatorRef}\n id={separatorId}\n role=\"slider\"\n tabIndex={-1}\n aria-labelledby={ariaLabelledby}\n aria-hidden={!isKeyboardDragging}\n aria-valuemin={minWidth}\n // aria-valuemax is needed because the slider is inoperable in VoiceOver without it\n aria-valuemax={Number.MAX_SAFE_INTEGER}\n aria-valuenow={headerCellWidth}\n data-focus-id={focusId}\n onBlur={event => {\n setIsKeyboardDragging(false);\n if (event.relatedTarget !== resizerToggleRef.current) {\n setResizerHasFocus(false);\n setShowUapButtons(false);\n }\n onWidthUpdateCommit();\n }}\n />\n </DragHandleWrapper>\n </div>\n );\n}\n\nexport function ResizeTracker() {\n return <span className={styles.tracker} />;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-sticky-header.d.ts","sourceRoot":"","sources":["../../../src/table/use-sticky-header.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAgC,MAAM,OAAO,CAAC;AAOhE,eAAO,MAAM,eAAe,GAC1B,UAAU,SAAS,CAAC,WAAW,CAAC,EAChC,UAAU,SAAS,CAAC,WAAW,CAAC,EAChC,mBAAmB,SAAS,CAAC,WAAW,CAAC,EACzC,mBAAmB,SAAS,CAAC,WAAW,CAAC,EACzC,iBAAiB,SAAS,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"use-sticky-header.d.ts","sourceRoot":"","sources":["../../../src/table/use-sticky-header.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAgC,MAAM,OAAO,CAAC;AAOhE,eAAO,MAAM,eAAe,GAC1B,UAAU,SAAS,CAAC,WAAW,CAAC,EAChC,UAAU,SAAS,CAAC,WAAW,CAAC,EAChC,mBAAmB,SAAS,CAAC,WAAW,CAAC,EACzC,mBAAmB,SAAS,CAAC,WAAW,CAAC,EACzC,iBAAiB,SAAS,CAAC,WAAW,CAAC;4BA4BR,WAAW,GAAG,IAAI;;CAMlD,CAAC"}
|
|
@@ -13,10 +13,6 @@ export const useStickyHeader = (tableRef, theadRef, secondaryTheadRef, secondary
|
|
|
13
13
|
secondaryTheadRef.current &&
|
|
14
14
|
secondaryTableRef.current &&
|
|
15
15
|
tableWrapperRef.current) {
|
|
16
|
-
// Using the tableRef getBoundingClientRect().width instead of the theadRef because in VR
|
|
17
|
-
// the tableRef adds extra padding to the table and by default the theadRef will have a width
|
|
18
|
-
// without the padding and will make the sticky header width incorrect.
|
|
19
|
-
secondaryTableRef.current.style.inlineSize = `${tableRef.current.getBoundingClientRect().width}px`;
|
|
20
16
|
tableWrapperRef.current.style.marginBlockStart = `-${theadRef.current.getBoundingClientRect().height}px`;
|
|
21
17
|
}
|
|
22
18
|
}, [theadRef, secondaryTheadRef, secondaryTableRef, tableWrapperRef, tableRef]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-sticky-header.js","sourceRoot":"","sources":["../../../src/table/use-sticky-header.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAa,WAAW,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,eAAe,EAAE,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE3F,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAgC,EAChC,QAAgC,EAChC,iBAAyC,EACzC,iBAAyC,EACzC,eAAuC,EACvC,EAAE;IACF,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,qFAAqF;IACrF,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,IACE,QAAQ,CAAC,OAAO;YAChB,QAAQ,CAAC,OAAO;YAChB,iBAAiB,CAAC,OAAO;YACzB,iBAAiB,CAAC,OAAO;YACzB,eAAe,CAAC,OAAO,EACvB,CAAC;YACD,
|
|
1
|
+
{"version":3,"file":"use-sticky-header.js","sourceRoot":"","sources":["../../../src/table/use-sticky-header.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAa,WAAW,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,eAAe,EAAE,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE3F,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAgC,EAChC,QAAgC,EAChC,iBAAyC,EACzC,iBAAyC,EACzC,eAAuC,EACvC,EAAE;IACF,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,qFAAqF;IACrF,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,IACE,QAAQ,CAAC,OAAO;YAChB,QAAQ,CAAC,OAAO;YAChB,iBAAiB,CAAC,OAAO;YACzB,iBAAiB,CAAC,OAAO;YACzB,eAAe,CAAC,OAAO,EACvB,CAAC;YACD,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,IAAI,CAAC;QAC3G,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChF,eAAe,CAAC,GAAG,EAAE;QACnB,sBAAsB,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,iBAAiB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,IAAI,iBAAiB,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;YAC1F,MAAM,UAAU,GAAG,wBAAwB,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACzF,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,UAAU,CAAC,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,CAAC,QAA4B,EAAE,EAAE;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,YAAY,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IACF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACtC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { RefObject, useCallback, useLayoutEffect } from 'react';\n\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport stickyScrolling, { calculateScrollingOffset, scrollUpBy } from './sticky-scrolling';\n\nexport const useStickyHeader = (\n tableRef: RefObject<HTMLElement>,\n theadRef: RefObject<HTMLElement>,\n secondaryTheadRef: RefObject<HTMLElement>,\n secondaryTableRef: RefObject<HTMLElement>,\n tableWrapperRef: RefObject<HTMLElement>\n) => {\n const isMobile = useMobile();\n // Sync the sizes of the column header copies in the sticky header with the originals\n const syncColumnHeaderWidths = useCallback(() => {\n if (\n tableRef.current &&\n theadRef.current &&\n secondaryTheadRef.current &&\n secondaryTableRef.current &&\n tableWrapperRef.current\n ) {\n tableWrapperRef.current.style.marginBlockStart = `-${theadRef.current.getBoundingClientRect().height}px`;\n }\n }, [theadRef, secondaryTheadRef, secondaryTableRef, tableWrapperRef, tableRef]);\n useLayoutEffect(() => {\n syncColumnHeaderWidths();\n });\n useResizeObserver(theadRef, syncColumnHeaderWidths);\n const scrollToTop = () => {\n if (!isMobile && theadRef.current && secondaryTheadRef.current && tableWrapperRef.current) {\n const scrollDist = calculateScrollingOffset(theadRef.current, secondaryTheadRef.current);\n if (scrollDist > 0) {\n scrollUpBy(scrollDist, tableWrapperRef.current);\n }\n }\n };\n const { scrollToItem } = stickyScrolling(tableWrapperRef, secondaryTheadRef);\n const scrollToRow = (itemNode: HTMLElement | null) => {\n if (!isMobile) {\n scrollToItem(itemNode);\n }\n };\n return { scrollToRow, scrollToTop };\n};\n"]}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"tabs-header": "awsui_tabs-
|
|
5
|
-
"tab-header-scroll-container": "awsui_tab-header-scroll-
|
|
6
|
-
"tabs-header-list": "awsui_tabs-header-
|
|
7
|
-
"pagination-button": "awsui_pagination-
|
|
8
|
-
"pagination-button-left": "awsui_pagination-button-
|
|
9
|
-
"pagination-button-left-scrollable": "awsui_pagination-button-left-
|
|
10
|
-
"pagination-button-right": "awsui_pagination-button-
|
|
11
|
-
"pagination-button-right-scrollable": "awsui_pagination-button-right-
|
|
12
|
-
"actions-container": "awsui_actions-
|
|
13
|
-
"tabs-tab": "awsui_tabs-
|
|
14
|
-
"tabs-tab-label": "awsui_tabs-tab-
|
|
15
|
-
"tabs-tab-header-container": "awsui_tabs-tab-header-
|
|
16
|
-
"tabs-tab-dismiss": "awsui_tabs-tab-
|
|
17
|
-
"tabs-tab-action": "awsui_tabs-tab-
|
|
18
|
-
"refresh": "
|
|
19
|
-
"tabs-tab-disabled": "awsui_tabs-tab-
|
|
20
|
-
"tabs-tab-link": "awsui_tabs-tab-
|
|
21
|
-
"tabs-tab-active": "awsui_tabs-tab-
|
|
22
|
-
"tabs-header-with-divider": "awsui_tabs-header-with-
|
|
23
|
-
"tabs-tab-focusable": "awsui_tabs-tab-
|
|
24
|
-
"root": "
|
|
25
|
-
"tabs": "
|
|
26
|
-
"tabs-content": "awsui_tabs-
|
|
27
|
-
"fit-height": "awsui_fit-
|
|
28
|
-
"tabs-content-active": "awsui_tabs-content-
|
|
29
|
-
"tabs-content-wrapper": "awsui_tabs-content-
|
|
30
|
-
"with-paddings": "awsui_with-
|
|
31
|
-
"tabs-container-content-wrapper": "awsui_tabs-container-content-
|
|
32
|
-
"disabled-reason-tooltip": "awsui_disabled-reason-
|
|
33
|
-
"tabs-tab-focused": "awsui_tabs-tab-
|
|
4
|
+
"tabs-header": "awsui_tabs-header_14rmt_1yqae_154",
|
|
5
|
+
"tab-header-scroll-container": "awsui_tab-header-scroll-container_14rmt_1yqae_163",
|
|
6
|
+
"tabs-header-list": "awsui_tabs-header-list_14rmt_1yqae_169",
|
|
7
|
+
"pagination-button": "awsui_pagination-button_14rmt_1yqae_186",
|
|
8
|
+
"pagination-button-left": "awsui_pagination-button-left_14rmt_1yqae_193",
|
|
9
|
+
"pagination-button-left-scrollable": "awsui_pagination-button-left-scrollable_14rmt_1yqae_196",
|
|
10
|
+
"pagination-button-right": "awsui_pagination-button-right_14rmt_1yqae_200",
|
|
11
|
+
"pagination-button-right-scrollable": "awsui_pagination-button-right-scrollable_14rmt_1yqae_203",
|
|
12
|
+
"actions-container": "awsui_actions-container_14rmt_1yqae_208",
|
|
13
|
+
"tabs-tab": "awsui_tabs-tab_14rmt_1yqae_216",
|
|
14
|
+
"tabs-tab-label": "awsui_tabs-tab-label_14rmt_1yqae_226",
|
|
15
|
+
"tabs-tab-header-container": "awsui_tabs-tab-header-container_14rmt_1yqae_237",
|
|
16
|
+
"tabs-tab-dismiss": "awsui_tabs-tab-dismiss_14rmt_1yqae_245",
|
|
17
|
+
"tabs-tab-action": "awsui_tabs-tab-action_14rmt_1yqae_245",
|
|
18
|
+
"refresh": "awsui_refresh_14rmt_1yqae_250",
|
|
19
|
+
"tabs-tab-disabled": "awsui_tabs-tab-disabled_14rmt_1yqae_254",
|
|
20
|
+
"tabs-tab-link": "awsui_tabs-tab-link_14rmt_1yqae_296",
|
|
21
|
+
"tabs-tab-active": "awsui_tabs-tab-active_14rmt_1yqae_379",
|
|
22
|
+
"tabs-header-with-divider": "awsui_tabs-header-with-divider_14rmt_1yqae_388",
|
|
23
|
+
"tabs-tab-focusable": "awsui_tabs-tab-focusable_14rmt_1yqae_392",
|
|
24
|
+
"root": "awsui_root_14rmt_1yqae_396",
|
|
25
|
+
"tabs": "awsui_tabs_14rmt_1yqae_154",
|
|
26
|
+
"tabs-content": "awsui_tabs-content_14rmt_1yqae_434",
|
|
27
|
+
"fit-height": "awsui_fit-height_14rmt_1yqae_438",
|
|
28
|
+
"tabs-content-active": "awsui_tabs-content-active_14rmt_1yqae_444",
|
|
29
|
+
"tabs-content-wrapper": "awsui_tabs-content-wrapper_14rmt_1yqae_458",
|
|
30
|
+
"with-paddings": "awsui_with-paddings_14rmt_1yqae_458",
|
|
31
|
+
"tabs-container-content-wrapper": "awsui_tabs-container-content-wrapper_14rmt_1yqae_469",
|
|
32
|
+
"disabled-reason-tooltip": "awsui_disabled-reason-tooltip_14rmt_1yqae_480",
|
|
33
|
+
"tabs-tab-focused": "awsui_tabs-tab-focused_14rmt_1yqae_484"
|
|
34
34
|
};
|
|
35
35
|
|