@cloudscape-design/components-themeable 3.0.1383 → 3.0.1385
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/components/control-group/styles.scss +27 -10
- package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
- package/lib/internal/scss/internal/styles/forms/mixins.scss +37 -22
- package/lib/internal/scss/key-value-pairs/styles.scss +9 -2
- package/lib/internal/scss/modal/styles.scss +6 -0
- package/lib/internal/scss/prompt-input/styles.scss +4 -0
- package/lib/internal/scss/segmented-control/segment.scss +5 -0
- package/lib/internal/scss/segmented-control/styles.scss +12 -2
- package/lib/internal/scss/space-between/styles.scss +8 -0
- package/lib/internal/scss/steps/styles.scss +1 -1
- package/lib/internal/template/input/internal.d.ts.map +1 -1
- package/lib/internal/template/input/internal.js +3 -4
- package/lib/internal/template/input/internal.js.map +1 -1
- package/lib/internal/template/input/styles.css.js +36 -34
- package/lib/internal/template/input/styles.scoped.css +89 -79
- package/lib/internal/template/input/styles.selectors.js +36 -34
- package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
- package/lib/internal/template/internal/components/button-trigger/index.d.ts +2 -2
- package/lib/internal/template/internal/components/button-trigger/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/button-trigger/index.js +3 -2
- package/lib/internal/template/internal/components/button-trigger/index.js.map +1 -1
- package/lib/internal/template/internal/components/button-trigger/styles.css.js +21 -19
- package/lib/internal/template/internal/components/button-trigger/styles.scoped.css +49 -39
- package/lib/internal/template/internal/components/button-trigger/styles.selectors.js +21 -19
- package/lib/internal/template/internal/components/control-group/grouped-control-styles.d.ts +10 -0
- package/lib/internal/template/internal/components/control-group/grouped-control-styles.d.ts.map +1 -0
- package/lib/internal/template/internal/components/control-group/grouped-control-styles.js +14 -0
- package/lib/internal/template/internal/components/control-group/grouped-control-styles.js.map +1 -0
- package/lib/internal/template/internal/components/control-group/index.d.ts +3 -1
- package/lib/internal/template/internal/components/control-group/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/control-group/index.js +5 -5
- package/lib/internal/template/internal/components/control-group/index.js.map +1 -1
- package/lib/internal/template/internal/components/control-group/styles.css.js +8 -4
- package/lib/internal/template/internal/components/control-group/styles.scoped.css +13 -4
- package/lib/internal/template/internal/components/control-group/styles.selectors.js +8 -4
- package/lib/internal/template/internal/components/focus-lock/index.d.ts +6 -0
- package/lib/internal/template/internal/components/focus-lock/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/focus-lock/index.js +8 -3
- package/lib/internal/template/internal/components/focus-lock/index.js.map +1 -1
- package/lib/internal/template/internal/context/control-group-context.d.ts +6 -0
- package/lib/internal/template/internal/context/control-group-context.d.ts.map +1 -1
- package/lib/internal/template/internal/context/control-group-context.js +3 -1
- package/lib/internal/template/internal/context/control-group-context.js.map +1 -1
- package/lib/internal/template/internal/environment.js +2 -2
- package/lib/internal/template/internal/environment.json +2 -2
- package/lib/internal/template/key-value-pairs/styles.css.js +8 -8
- package/lib/internal/template/key-value-pairs/styles.scoped.css +16 -11
- package/lib/internal/template/key-value-pairs/styles.selectors.js +8 -8
- package/lib/internal/template/modal/index.d.ts +1 -1
- package/lib/internal/template/modal/index.d.ts.map +1 -1
- package/lib/internal/template/modal/index.js +6 -5
- package/lib/internal/template/modal/index.js.map +1 -1
- package/lib/internal/template/modal/interfaces.d.ts +7 -0
- package/lib/internal/template/modal/interfaces.d.ts.map +1 -1
- package/lib/internal/template/modal/interfaces.js.map +1 -1
- package/lib/internal/template/modal/internal.js +23 -6
- package/lib/internal/template/modal/internal.js.map +1 -1
- package/lib/internal/template/modal/styles.css.js +32 -31
- package/lib/internal/template/modal/styles.scoped.css +49 -46
- package/lib/internal/template/modal/styles.selectors.js +32 -31
- package/lib/internal/template/multiselect/internal.d.ts.map +1 -1
- package/lib/internal/template/multiselect/internal.js +7 -3
- package/lib/internal/template/multiselect/internal.js.map +1 -1
- package/lib/internal/template/prompt-input/styles.css.js +26 -26
- package/lib/internal/template/prompt-input/styles.scoped.css +57 -53
- package/lib/internal/template/prompt-input/styles.selectors.js +26 -26
- package/lib/internal/template/segmented-control/internal-segmented-control.d.ts +3 -3
- package/lib/internal/template/segmented-control/internal-segmented-control.d.ts.map +1 -1
- package/lib/internal/template/segmented-control/internal-segmented-control.js +8 -5
- package/lib/internal/template/segmented-control/internal-segmented-control.js.map +1 -1
- package/lib/internal/template/segmented-control/internal.d.ts.map +1 -1
- package/lib/internal/template/segmented-control/internal.js +4 -6
- package/lib/internal/template/segmented-control/internal.js.map +1 -1
- package/lib/internal/template/segmented-control/segment.d.ts +1 -0
- package/lib/internal/template/segmented-control/segment.d.ts.map +1 -1
- package/lib/internal/template/segmented-control/segment.js +2 -2
- package/lib/internal/template/segmented-control/segment.js.map +1 -1
- package/lib/internal/template/segmented-control/styles.css.js +26 -21
- package/lib/internal/template/segmented-control/styles.scoped.css +75 -43
- package/lib/internal/template/segmented-control/styles.selectors.js +26 -21
- package/lib/internal/template/select/internal.js +2 -2
- package/lib/internal/template/select/internal.js.map +1 -1
- package/lib/internal/template/select/parts/trigger.d.ts +2 -2
- package/lib/internal/template/select/parts/trigger.d.ts.map +1 -1
- package/lib/internal/template/select/parts/trigger.js +2 -2
- package/lib/internal/template/select/parts/trigger.js.map +1 -1
- package/lib/internal/template/space-between/internal.d.ts.map +1 -1
- package/lib/internal/template/space-between/internal.js +2 -1
- package/lib/internal/template/space-between/internal.js.map +1 -1
- package/lib/internal/template/space-between/styles.css.js +24 -23
- package/lib/internal/template/space-between/styles.scoped.css +29 -24
- package/lib/internal/template/space-between/styles.selectors.js +24 -23
- package/lib/internal/template/steps/styles.css.js +17 -17
- package/lib/internal/template/steps/styles.scoped.css +35 -35
- package/lib/internal/template/steps/styles.selectors.js +17 -17
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segment.js","sourceRoot":"","sources":["../../../src/segmented-control/segment.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAE7E,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAE7C,OAAO,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;AAE3D,OAAO,MAAM,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"segment.js","sourceRoot":"","sources":["../../../src/segmented-control/segment.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, { useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs } from '@cloudscape-design/component-toolkit/internal';\n\nimport InternalIcon from '../icon/internal';\nimport useHiddenDescription from '../internal/hooks/use-hidden-description';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport Tooltip from '../tooltip/internal.js';\nimport { SegmentedControlProps } from './interfaces';\nimport { getSegmentedControlSegmentStyles } from './style';\n\nimport styles from './styles.css.js';\n\ninterface SegmentProps extends SegmentedControlProps.Option {\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\n onKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>) => void;\n isActive: boolean;\n tabIndex: number;\n style: SegmentedControlProps['style'];\n fullWidth?: boolean;\n}\n\nexport const Segment = React.forwardRef(\n (\n {\n disabled,\n disabledReason,\n text,\n iconName,\n iconAlt,\n iconUrl,\n iconSvg,\n isActive,\n onClick,\n onKeyDown,\n tabIndex,\n id,\n style,\n fullWidth,\n }: SegmentProps,\n ref: React.Ref<HTMLButtonElement>\n ) => {\n const buttonRef = useRef<HTMLElement>(null);\n const [showTooltip, setShowTooltip] = useState(false);\n const isDisabledWithReason = disabled && !!disabledReason;\n\n const { targetProps, descriptionEl } = useHiddenDescription(disabledReason);\n const isVisualRefresh = useVisualRefresh();\n\n return (\n <button\n className={clsx(\n styles.segment,\n { [styles.disabled]: !!disabled },\n { [styles.selected]: isActive },\n { [styles.refresh]: isVisualRefresh },\n { [styles['full-width']]: fullWidth }\n )}\n ref={useMergeRefs(ref, buttonRef)}\n onClick={onClick}\n onKeyDown={onKeyDown}\n disabled={disabled && !disabledReason}\n aria-disabled={isDisabledWithReason ? 'true' : undefined}\n type=\"button\"\n tabIndex={tabIndex}\n aria-pressed={isActive ? 'true' : 'false'}\n aria-label={!text ? iconAlt : undefined}\n onFocus={isDisabledWithReason ? () => setShowTooltip(true) : undefined}\n onBlur={isDisabledWithReason ? () => setShowTooltip(false) : undefined}\n onMouseEnter={isDisabledWithReason ? () => setShowTooltip(true) : undefined}\n onMouseLeave={isDisabledWithReason ? () => setShowTooltip(false) : undefined}\n {...(isDisabledWithReason ? targetProps : {})}\n data-testid={id}\n data-awsui-motion-trigger=\"hover\"\n data-awsui-motion-target=\"\"\n style={getSegmentedControlSegmentStyles(style)}\n >\n {(iconName || iconUrl || iconSvg) && (\n <InternalIcon\n className={clsx(styles.icon, text ? styles['with-text'] : styles['with-no-text'])}\n name={iconName}\n url={iconUrl}\n svg={iconSvg}\n alt={iconAlt}\n variant={disabled ? 'disabled' : 'normal'}\n />\n )}\n <span>{text}</span>\n\n {isDisabledWithReason && (\n <>\n {descriptionEl}\n {showTooltip && (\n <Tooltip\n className={styles['disabled-reason-tooltip']}\n getTrack={() => buttonRef.current}\n content={disabledReason!}\n onEscape={() => setShowTooltip(false)}\n />\n )}\n </>\n )}\n </button>\n );\n }\n);\n"]}
|
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"segment": "
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"with-
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"grouped
|
|
15
|
-
"grouped-
|
|
16
|
-
"grouped-
|
|
17
|
-
"grouped-
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
4
|
+
"segment": "awsui_segment_8cbea_19w97_17",
|
|
5
|
+
"full-width": "awsui_full-width_8cbea_19w97_44",
|
|
6
|
+
"refresh": "awsui_refresh_8cbea_19w97_47",
|
|
7
|
+
"disabled": "awsui_disabled_8cbea_19w97_53",
|
|
8
|
+
"selected": "awsui_selected_8cbea_19w97_110",
|
|
9
|
+
"icon": "awsui_icon_8cbea_19w97_120",
|
|
10
|
+
"with-text": "awsui_with-text_8cbea_19w97_124",
|
|
11
|
+
"with-no-text": "awsui_with-no-text_8cbea_19w97_130",
|
|
12
|
+
"root": "awsui_root_8cbea_19w97_135",
|
|
13
|
+
"segment-part": "awsui_segment-part_8cbea_19w97_167",
|
|
14
|
+
"grouped": "awsui_grouped_8cbea_19w97_188",
|
|
15
|
+
"grouped-only": "awsui_grouped-only_8cbea_19w97_188",
|
|
16
|
+
"grouped-vertical": "awsui_grouped-vertical_8cbea_19w97_192",
|
|
17
|
+
"grouped-horizontal-first": "awsui_grouped-horizontal-first_8cbea_19w97_203",
|
|
18
|
+
"grouped-horizontal-middle": "awsui_grouped-horizontal-middle_8cbea_19w97_207",
|
|
19
|
+
"grouped-horizontal-last": "awsui_grouped-horizontal-last_8cbea_19w97_213",
|
|
20
|
+
"grouped-vertical-first": "awsui_grouped-vertical-first_8cbea_19w97_217",
|
|
21
|
+
"grouped-vertical-middle": "awsui_grouped-vertical-middle_8cbea_19w97_221",
|
|
22
|
+
"grouped-vertical-last": "awsui_grouped-vertical-last_8cbea_19w97_227",
|
|
23
|
+
"select": "awsui_select_8cbea_19w97_110",
|
|
24
|
+
"segment-count-2": "awsui_segment-count-2_8cbea_19w97_244",
|
|
25
|
+
"segment-count-3": "awsui_segment-count-3_8cbea_19w97_251",
|
|
26
|
+
"segment-count-4": "awsui_segment-count-4_8cbea_19w97_258",
|
|
27
|
+
"segment-count-5": "awsui_segment-count-5_8cbea_19w97_265",
|
|
28
|
+
"segment-count-6": "awsui_segment-count-6_8cbea_19w97_272",
|
|
29
|
+
"disabled-reason-tooltip": "awsui_disabled-reason-tooltip_8cbea_19w97_279"
|
|
25
30
|
};
|
|
26
31
|
|
|
@@ -14,7 +14,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
14
14
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
15
15
|
SPDX-License-Identifier: Apache-2.0
|
|
16
16
|
*/
|
|
17
|
-
.
|
|
17
|
+
.awsui_segment_8cbea_19w97_17:not(#\9) {
|
|
18
18
|
font-size: var(--font-size-body-m-tq5a14, 14px);
|
|
19
19
|
line-height: var(--line-height-body-m-5xw6xo, 22px);
|
|
20
20
|
word-wrap: break-word;
|
|
@@ -41,24 +41,27 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
41
41
|
border-block: none;
|
|
42
42
|
--awsui-style-focus-ring-box-shadow-ka4djm: 0 0 0 var(--awsui-style-focus-ring-border-width-ka4djm, 2px) var(--awsui-style-focus-ring-border-color-ka4djm, var(--color-border-item-focused-sewkzn, #0073bb));
|
|
43
43
|
}
|
|
44
|
-
.
|
|
44
|
+
.awsui_segment_8cbea_19w97_17.awsui_full-width_8cbea_19w97_44:not(#\9) {
|
|
45
|
+
justify-content: center;
|
|
46
|
+
}
|
|
47
|
+
.awsui_segment_8cbea_19w97_17:not(#\9):not(.awsui_refresh_8cbea_19w97_47) {
|
|
45
48
|
block-size: calc(100% - var(--space-static-xxs-vzto3j, 4px) - 2 * var(--border-width-field-2365x3, 1px));
|
|
46
49
|
}
|
|
47
|
-
.
|
|
50
|
+
.awsui_segment_8cbea_19w97_17:not(#\9):focus {
|
|
48
51
|
outline: none;
|
|
49
52
|
}
|
|
50
|
-
.
|
|
53
|
+
.awsui_segment_8cbea_19w97_17.awsui_disabled_8cbea_19w97_53:not(#\9) {
|
|
51
54
|
background: var(--awsui-style-background-disabled-ka4djm, var(--color-background-segment-disabled-mjubn7, #ffffff));
|
|
52
55
|
color: var(--awsui-style-color-disabled-ka4djm, var(--color-text-interactive-disabled-tuxgxq, #aab7b8));
|
|
53
56
|
}
|
|
54
|
-
body[data-awsui-focus-visible=true] .
|
|
57
|
+
body[data-awsui-focus-visible=true] .awsui_segment_8cbea_19w97_17:not(#\9):focus {
|
|
55
58
|
position: relative;
|
|
56
59
|
}
|
|
57
|
-
body[data-awsui-focus-visible=true] .
|
|
60
|
+
body[data-awsui-focus-visible=true] .awsui_segment_8cbea_19w97_17:not(#\9):focus {
|
|
58
61
|
outline: 2px dotted transparent;
|
|
59
62
|
outline-offset: calc(var(--space-segmented-control-focus-outline-gutter-sz9jgo, 3px) - 1px);
|
|
60
63
|
}
|
|
61
|
-
body[data-awsui-focus-visible=true] .
|
|
64
|
+
body[data-awsui-focus-visible=true] .awsui_segment_8cbea_19w97_17:not(#\9):focus::before {
|
|
62
65
|
content: " ";
|
|
63
66
|
display: block;
|
|
64
67
|
position: absolute;
|
|
@@ -73,7 +76,7 @@ body[data-awsui-focus-visible=true] .awsui_segment_8cbea_xy00c_17:not(#\9):focus
|
|
|
73
76
|
box-shadow: var(--awsui-style-focus-ring-box-shadow-ka4djm);
|
|
74
77
|
z-index: 1;
|
|
75
78
|
}
|
|
76
|
-
.
|
|
79
|
+
.awsui_segment_8cbea_19w97_17:not(#\9):not(:last-child)::after {
|
|
77
80
|
content: "";
|
|
78
81
|
position: absolute;
|
|
79
82
|
inset-inline-end: calc(-1 * (var(--space-static-xxs-vzto3j, 4px) + 1px));
|
|
@@ -83,53 +86,53 @@ body[data-awsui-focus-visible=true] .awsui_segment_8cbea_xy00c_17:not(#\9):focus
|
|
|
83
86
|
background: var(--color-border-segment-divider-mq01bu, #687078);
|
|
84
87
|
z-index: 1;
|
|
85
88
|
}
|
|
86
|
-
.
|
|
89
|
+
.awsui_segment_8cbea_19w97_17:not(#\9):not(.awsui_refresh_8cbea_19w97_47):not(:last-child)::after {
|
|
87
90
|
inset-inline-end: calc(-1 * var(--space-static-xxs-vzto3j, 4px));
|
|
88
91
|
}
|
|
89
|
-
.
|
|
92
|
+
.awsui_segment_8cbea_19w97_17:not(#\9):nth-child(1) {
|
|
90
93
|
grid-column: 1;
|
|
91
94
|
}
|
|
92
|
-
.
|
|
95
|
+
.awsui_segment_8cbea_19w97_17:not(#\9):nth-child(2) {
|
|
93
96
|
grid-column: 2;
|
|
94
97
|
}
|
|
95
|
-
.
|
|
98
|
+
.awsui_segment_8cbea_19w97_17:not(#\9):nth-child(3) {
|
|
96
99
|
grid-column: 3;
|
|
97
100
|
}
|
|
98
|
-
.
|
|
101
|
+
.awsui_segment_8cbea_19w97_17:not(#\9):nth-child(4) {
|
|
99
102
|
grid-column: 4;
|
|
100
103
|
}
|
|
101
|
-
.
|
|
104
|
+
.awsui_segment_8cbea_19w97_17:not(#\9):nth-child(5) {
|
|
102
105
|
grid-column: 5;
|
|
103
106
|
}
|
|
104
|
-
.
|
|
107
|
+
.awsui_segment_8cbea_19w97_17:not(#\9):nth-child(6) {
|
|
105
108
|
grid-column: 6;
|
|
106
109
|
}
|
|
107
|
-
.
|
|
110
|
+
.awsui_segment_8cbea_19w97_17.awsui_selected_8cbea_19w97_110:not(#\9) {
|
|
108
111
|
background: var(--awsui-style-background-active-ka4djm, var(--color-background-segment-active-ns5rt6, #0073bb));
|
|
109
112
|
color: var(--awsui-style-color-active-ka4djm, var(--color-text-segment-active-hbbf1h, #ffffff));
|
|
110
113
|
}
|
|
111
|
-
.
|
|
114
|
+
.awsui_segment_8cbea_19w97_17:not(#\9):hover:not(.awsui_selected_8cbea_19w97_110):not(.awsui_disabled_8cbea_19w97_53):not(:focus) {
|
|
112
115
|
background: var(--awsui-style-background-hover-ka4djm, var(--color-background-segment-hover-el4hte, #fafafa));
|
|
113
116
|
color: var(--awsui-style-color-hover-ka4djm, var(--color-text-segment-hover-qq2b2e, #16191f));
|
|
114
117
|
cursor: pointer;
|
|
115
118
|
}
|
|
116
119
|
|
|
117
|
-
.
|
|
120
|
+
.awsui_icon_8cbea_19w97_120:not(#\9) {
|
|
118
121
|
/* used in test-utils */
|
|
119
122
|
}
|
|
120
123
|
|
|
121
|
-
.awsui_with-
|
|
124
|
+
.awsui_with-text_8cbea_19w97_124:not(#\9) {
|
|
122
125
|
position: relative;
|
|
123
126
|
inset-inline-start: calc(-1 * var(--space-xxs-3o1yoq, 4px));
|
|
124
127
|
margin-inline-end: var(--space-xxs-3o1yoq, 4px);
|
|
125
128
|
}
|
|
126
129
|
|
|
127
|
-
.awsui_with-no-
|
|
130
|
+
.awsui_with-no-text_8cbea_19w97_130:not(#\9) {
|
|
128
131
|
margin-inline: auto;
|
|
129
132
|
inset-inline: 0;
|
|
130
133
|
}
|
|
131
134
|
|
|
132
|
-
.
|
|
135
|
+
.awsui_root_8cbea_19w97_135:not(#\9) {
|
|
133
136
|
border-collapse: separate;
|
|
134
137
|
border-spacing: 0;
|
|
135
138
|
box-sizing: border-box;
|
|
@@ -161,7 +164,7 @@ body[data-awsui-focus-visible=true] .awsui_segment_8cbea_xy00c_17:not(#\9):focus
|
|
|
161
164
|
-moz-osx-font-smoothing: auto;
|
|
162
165
|
}
|
|
163
166
|
|
|
164
|
-
.awsui_segment-
|
|
167
|
+
.awsui_segment-part_8cbea_19w97_167:not(#\9) {
|
|
165
168
|
display: inline-grid;
|
|
166
169
|
border-inline: solid var(--border-width-field-2365x3, 1px) var(--color-border-segment-wrapper-ofstpm, #687078);
|
|
167
170
|
border-block: solid var(--border-width-field-2365x3, 1px) var(--color-border-segment-wrapper-ofstpm, #687078);
|
|
@@ -176,74 +179,103 @@ body[data-awsui-focus-visible=true] .awsui_segment_8cbea_xy00c_17:not(#\9):focus
|
|
|
176
179
|
padding-inline: calc(var(--space-static-xxs-vzto3j, 4px) - var(--border-width-field-2365x3, 1px));
|
|
177
180
|
gap: calc(var(--space-static-xxs-vzto3j, 4px) * 2 + 1px);
|
|
178
181
|
}
|
|
179
|
-
.awsui_segment-
|
|
182
|
+
.awsui_segment-part_8cbea_19w97_167:not(#\9):not(.awsui_refresh_8cbea_19w97_47) {
|
|
180
183
|
padding-inline: calc(var(--space-static-xxxs-opeihl, 2px) + var(--border-width-field-2365x3, 1px));
|
|
181
184
|
padding-block: 0;
|
|
182
185
|
gap: calc(var(--space-static-xxs-vzto3j, 4px) * 2 - 1px);
|
|
183
186
|
}
|
|
184
187
|
@media (max-width: 688px) {
|
|
185
|
-
.awsui_segment-
|
|
188
|
+
.awsui_segment-part_8cbea_19w97_167:not(#\9):not(.awsui_grouped_8cbea_19w97_188), .awsui_segment-part_8cbea_19w97_167.awsui_grouped-only_8cbea_19w97_188:not(#\9) {
|
|
186
189
|
display: none;
|
|
187
190
|
}
|
|
188
191
|
}
|
|
192
|
+
.awsui_segment-part_8cbea_19w97_167.awsui_grouped_8cbea_19w97_188.awsui_grouped-vertical_8cbea_19w97_192:not(#\9) {
|
|
193
|
+
inline-size: 100%;
|
|
194
|
+
box-sizing: border-box;
|
|
195
|
+
}
|
|
189
196
|
|
|
190
|
-
.
|
|
197
|
+
.awsui_grouped_8cbea_19w97_188:not(#\9) {
|
|
191
198
|
border-start-start-radius: var(--border-radius-input-k1q34z, 2px);
|
|
199
|
+
border-start-end-radius: var(--border-radius-input-k1q34z, 2px);
|
|
192
200
|
border-end-start-radius: var(--border-radius-input-k1q34z, 2px);
|
|
201
|
+
border-end-end-radius: var(--border-radius-input-k1q34z, 2px);
|
|
202
|
+
}
|
|
203
|
+
.awsui_grouped-horizontal-first_8cbea_19w97_203:not(#\9) {
|
|
193
204
|
border-start-end-radius: 0;
|
|
194
205
|
border-end-end-radius: 0;
|
|
195
206
|
}
|
|
196
|
-
.
|
|
207
|
+
.awsui_grouped-horizontal-middle_8cbea_19w97_207:not(#\9) {
|
|
197
208
|
border-start-start-radius: 0;
|
|
198
209
|
border-start-end-radius: 0;
|
|
199
210
|
border-end-start-radius: 0;
|
|
200
211
|
border-end-end-radius: 0;
|
|
201
212
|
}
|
|
202
|
-
.
|
|
203
|
-
border-start-end-radius: var(--border-radius-input-k1q34z, 2px);
|
|
204
|
-
border-end-end-radius: var(--border-radius-input-k1q34z, 2px);
|
|
213
|
+
.awsui_grouped-horizontal-last_8cbea_19w97_213:not(#\9) {
|
|
205
214
|
border-start-start-radius: 0;
|
|
206
215
|
border-end-start-radius: 0;
|
|
207
216
|
}
|
|
208
|
-
.
|
|
209
|
-
border-
|
|
210
|
-
border-
|
|
211
|
-
border-end-start-radius: var(--border-radius-input-k1q34z, 2px);
|
|
212
|
-
border-end-end-radius: var(--border-radius-input-k1q34z, 2px);
|
|
217
|
+
.awsui_grouped-vertical-first_8cbea_19w97_217:not(#\9) {
|
|
218
|
+
border-end-start-radius: 0;
|
|
219
|
+
border-end-end-radius: 0;
|
|
213
220
|
}
|
|
214
|
-
.
|
|
221
|
+
.awsui_grouped-vertical-middle_8cbea_19w97_221:not(#\9) {
|
|
222
|
+
border-start-start-radius: 0;
|
|
223
|
+
border-start-end-radius: 0;
|
|
224
|
+
border-end-start-radius: 0;
|
|
225
|
+
border-end-end-radius: 0;
|
|
226
|
+
}
|
|
227
|
+
.awsui_grouped-vertical-last_8cbea_19w97_227:not(#\9) {
|
|
228
|
+
border-start-start-radius: 0;
|
|
229
|
+
border-start-end-radius: 0;
|
|
230
|
+
}
|
|
231
|
+
.awsui_grouped_8cbea_19w97_188.awsui_grouped-horizontal-middle_8cbea_19w97_207:not(#\9), .awsui_grouped_8cbea_19w97_188.awsui_grouped-horizontal-last_8cbea_19w97_213:not(#\9) {
|
|
215
232
|
border-inline-start: none;
|
|
216
233
|
}
|
|
217
234
|
|
|
218
|
-
.
|
|
235
|
+
.awsui_select_8cbea_19w97_110:not(#\9) {
|
|
219
236
|
display: none;
|
|
220
237
|
}
|
|
221
238
|
@media (max-width: 688px) {
|
|
222
|
-
.
|
|
239
|
+
.awsui_select_8cbea_19w97_110:not(#\9):not(.awsui_grouped_8cbea_19w97_188), .awsui_select_8cbea_19w97_110.awsui_grouped-only_8cbea_19w97_188:not(#\9) {
|
|
223
240
|
display: block;
|
|
224
241
|
}
|
|
225
242
|
}
|
|
226
243
|
|
|
227
|
-
.awsui_segment-count-
|
|
244
|
+
.awsui_segment-count-2_8cbea_19w97_244:not(#\9) {
|
|
228
245
|
grid-template-columns: repeat(2, auto);
|
|
229
246
|
}
|
|
247
|
+
.awsui_segment-count-2_8cbea_19w97_244.awsui_grouped_8cbea_19w97_188.awsui_grouped-vertical_8cbea_19w97_192:not(#\9) {
|
|
248
|
+
grid-template-columns: repeat(2, 1fr);
|
|
249
|
+
}
|
|
230
250
|
|
|
231
|
-
.awsui_segment-count-
|
|
251
|
+
.awsui_segment-count-3_8cbea_19w97_251:not(#\9) {
|
|
232
252
|
grid-template-columns: repeat(3, auto);
|
|
233
253
|
}
|
|
254
|
+
.awsui_segment-count-3_8cbea_19w97_251.awsui_grouped_8cbea_19w97_188.awsui_grouped-vertical_8cbea_19w97_192:not(#\9) {
|
|
255
|
+
grid-template-columns: repeat(3, 1fr);
|
|
256
|
+
}
|
|
234
257
|
|
|
235
|
-
.awsui_segment-count-
|
|
258
|
+
.awsui_segment-count-4_8cbea_19w97_258:not(#\9) {
|
|
236
259
|
grid-template-columns: repeat(4, auto);
|
|
237
260
|
}
|
|
261
|
+
.awsui_segment-count-4_8cbea_19w97_258.awsui_grouped_8cbea_19w97_188.awsui_grouped-vertical_8cbea_19w97_192:not(#\9) {
|
|
262
|
+
grid-template-columns: repeat(4, 1fr);
|
|
263
|
+
}
|
|
238
264
|
|
|
239
|
-
.awsui_segment-count-
|
|
265
|
+
.awsui_segment-count-5_8cbea_19w97_265:not(#\9) {
|
|
240
266
|
grid-template-columns: repeat(5, auto);
|
|
241
267
|
}
|
|
268
|
+
.awsui_segment-count-5_8cbea_19w97_265.awsui_grouped_8cbea_19w97_188.awsui_grouped-vertical_8cbea_19w97_192:not(#\9) {
|
|
269
|
+
grid-template-columns: repeat(5, 1fr);
|
|
270
|
+
}
|
|
242
271
|
|
|
243
|
-
.awsui_segment-count-
|
|
272
|
+
.awsui_segment-count-6_8cbea_19w97_272:not(#\9) {
|
|
244
273
|
grid-template-columns: repeat(6, auto);
|
|
245
274
|
}
|
|
275
|
+
.awsui_segment-count-6_8cbea_19w97_272.awsui_grouped_8cbea_19w97_188.awsui_grouped-vertical_8cbea_19w97_192:not(#\9) {
|
|
276
|
+
grid-template-columns: repeat(6, 1fr);
|
|
277
|
+
}
|
|
246
278
|
|
|
247
|
-
.awsui_disabled-reason-
|
|
279
|
+
.awsui_disabled-reason-tooltip_8cbea_19w97_279:not(#\9) {
|
|
248
280
|
/* used in test-utils or tests */
|
|
249
281
|
}
|
|
@@ -2,26 +2,31 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"segment": "
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"with-
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"grouped
|
|
16
|
-
"grouped-
|
|
17
|
-
"grouped-
|
|
18
|
-
"grouped-
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
5
|
+
"segment": "awsui_segment_8cbea_19w97_17",
|
|
6
|
+
"full-width": "awsui_full-width_8cbea_19w97_44",
|
|
7
|
+
"refresh": "awsui_refresh_8cbea_19w97_47",
|
|
8
|
+
"disabled": "awsui_disabled_8cbea_19w97_53",
|
|
9
|
+
"selected": "awsui_selected_8cbea_19w97_110",
|
|
10
|
+
"icon": "awsui_icon_8cbea_19w97_120",
|
|
11
|
+
"with-text": "awsui_with-text_8cbea_19w97_124",
|
|
12
|
+
"with-no-text": "awsui_with-no-text_8cbea_19w97_130",
|
|
13
|
+
"root": "awsui_root_8cbea_19w97_135",
|
|
14
|
+
"segment-part": "awsui_segment-part_8cbea_19w97_167",
|
|
15
|
+
"grouped": "awsui_grouped_8cbea_19w97_188",
|
|
16
|
+
"grouped-only": "awsui_grouped-only_8cbea_19w97_188",
|
|
17
|
+
"grouped-vertical": "awsui_grouped-vertical_8cbea_19w97_192",
|
|
18
|
+
"grouped-horizontal-first": "awsui_grouped-horizontal-first_8cbea_19w97_203",
|
|
19
|
+
"grouped-horizontal-middle": "awsui_grouped-horizontal-middle_8cbea_19w97_207",
|
|
20
|
+
"grouped-horizontal-last": "awsui_grouped-horizontal-last_8cbea_19w97_213",
|
|
21
|
+
"grouped-vertical-first": "awsui_grouped-vertical-first_8cbea_19w97_217",
|
|
22
|
+
"grouped-vertical-middle": "awsui_grouped-vertical-middle_8cbea_19w97_221",
|
|
23
|
+
"grouped-vertical-last": "awsui_grouped-vertical-last_8cbea_19w97_227",
|
|
24
|
+
"select": "awsui_select_8cbea_19w97_110",
|
|
25
|
+
"segment-count-2": "awsui_segment-count-2_8cbea_19w97_244",
|
|
26
|
+
"segment-count-3": "awsui_segment-count-3_8cbea_19w97_251",
|
|
27
|
+
"segment-count-4": "awsui_segment-count-4_8cbea_19w97_258",
|
|
28
|
+
"segment-count-5": "awsui_segment-count-5_8cbea_19w97_265",
|
|
29
|
+
"segment-count-6": "awsui_segment-count-6_8cbea_19w97_272",
|
|
30
|
+
"disabled-reason-tooltip": "awsui_disabled-reason-tooltip_8cbea_19w97_279"
|
|
26
31
|
};
|
|
27
32
|
|
|
@@ -31,7 +31,7 @@ const InternalSelect = React.forwardRef(({ options, filteringType = 'none', filt
|
|
|
31
31
|
var _a;
|
|
32
32
|
const baseProps = getBaseProps(restProps);
|
|
33
33
|
const formFieldContext = useFormFieldContext(restProps);
|
|
34
|
-
const
|
|
34
|
+
const groupedControlProps = useGroupedControlContext();
|
|
35
35
|
const i18n = useInternalI18n('select');
|
|
36
36
|
const errorIconAriaLabel = i18n('errorIconAriaLabel', restProps.errorIconAriaLabel);
|
|
37
37
|
const selectedAriaLabel = i18n('selectedAriaLabel', restProps.selectedAriaLabel);
|
|
@@ -84,7 +84,7 @@ const InternalSelect = React.forwardRef(({ options, filteringType = 'none', filt
|
|
|
84
84
|
const customDropdownHeader = renderDropdownHeader === null || renderDropdownHeader === void 0 ? void 0 : renderDropdownHeader(dropdownContentProps);
|
|
85
85
|
const customDropdownFooter = renderDropdownFooter === null || renderDropdownFooter === void 0 ? void 0 : renderDropdownFooter(dropdownContentProps);
|
|
86
86
|
const filter = (React.createElement(Filter, { clearAriaLabel: filteringClearAriaLabel, filteringType: filteringType, placeholder: filteringPlaceholder, ariaLabel: filteringAriaLabel, ariaRequired: ariaRequired, value: filteringValue, ...getFilterProps() }));
|
|
87
|
-
const trigger = (React.createElement(Trigger, { renderOption: renderOption, ref: triggerRef, placeholder: placeholder, disabled: disabled, readOnly: readOnly, triggerVariant: triggerVariant, triggerProps: getTriggerProps(disabled, autoFocus), selectedOption: selectedOption, isOpen: isOpen, inFilteringToken: __inFilteringToken,
|
|
87
|
+
const trigger = (React.createElement(Trigger, { renderOption: renderOption, ref: triggerRef, placeholder: placeholder, disabled: disabled, readOnly: readOnly, triggerVariant: triggerVariant, triggerProps: getTriggerProps(disabled, autoFocus), selectedOption: selectedOption, isOpen: isOpen, inFilteringToken: __inFilteringToken, groupedControlProps: groupedControlProps, inlineLabelText: inlineLabelText, ...formFieldContext, controlId: controlId, ariaLabelledby: joinStrings(formFieldContext.ariaLabelledby, selectAriaLabelId) }));
|
|
88
88
|
const isEmpty = !options || options.length === 0;
|
|
89
89
|
const isNoMatch = filteredOptions && filteredOptions.length === 0;
|
|
90
90
|
const isFiltered = filteringType !== 'none' && filteringValue.length > 0 && filteredOptions && filteredOptions.length > 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/select/internal.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, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs, useResizeObserver, useUniqueId, warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport Dropdown from '../dropdown/internal';\nimport { useInternalI18n } from '../i18n/context.js';\nimport { getBaseProps } from '../internal/base-component';\nimport { getBreakpointValue } from '../internal/breakpoints';\nimport DropdownFooter from '../internal/components/dropdown-footer';\nimport { useDropdownStatus } from '../internal/components/dropdown-status';\nimport { prepareOptions } from '../internal/components/option/utils/prepare-options.js';\nimport { ResetGroupedControlContext, useGroupedControlContext } from '../internal/context/control-group-context';\nimport { useFormFieldContext } from '../internal/context/form-field-context';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport checkControlled from '../internal/hooks/check-controlled';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { SomeRequired } from '../internal/types';\nimport { getDropdownMinWidth } from '../internal/utils/get-dropdown-min-width';\nimport { joinStrings } from '../internal/utils/strings/join-strings.js';\nimport { OptionGroup } from '../types/option';\nimport { SelectProps } from './interfaces';\nimport Filter from './parts/filter';\nimport PlainList, { SelectListProps } from './parts/plain-list';\nimport Trigger from './parts/trigger';\nimport VirtualList from './parts/virtual-list';\nimport { checkOptionValueField } from './utils/check-option-value-field';\nimport { composeDropdownContent } from './utils/dropdown-customization';\nimport { useAnnouncement } from './utils/use-announcement';\nimport { useLoadItems } from './utils/use-load-items';\nimport { useNativeSearch } from './utils/use-native-search';\nimport { useSelect } from './utils/use-select';\n\nimport styles from './styles.css.js';\n\nexport interface InternalSelectProps extends SomeRequired<SelectProps, 'options'>, InternalBaseComponentProps {\n __inFilteringToken?: 'root' | 'nested';\n}\n\nconst InternalSelect = React.forwardRef(\n (\n {\n options,\n filteringType = 'none',\n filteringPlaceholder,\n filteringAriaLabel,\n filteringClearAriaLabel,\n filteringResultsText,\n inlineLabelText,\n ariaRequired,\n placeholder,\n disabled,\n readOnly,\n ariaLabel,\n statusType = 'finished',\n empty,\n loadingText,\n finishedText,\n errorText,\n noMatch,\n triggerVariant = 'label',\n renderHighlightedAriaLive,\n selectedOption,\n onBlur,\n onFocus,\n onLoadItems,\n onChange,\n virtualScroll,\n expandToViewport,\n autoFocus,\n __inFilteringToken,\n __internalRootRef,\n renderOption,\n renderDropdownHeader,\n renderDropdownFooter,\n dropdownRole,\n dropdownAriaDescribedby,\n ...restProps\n }: InternalSelectProps,\n externalRef: React.Ref<SelectProps.Ref>\n ) => {\n const baseProps = getBaseProps(restProps);\n const formFieldContext = useFormFieldContext(restProps);\n const { position: groupedControlPosition } = useGroupedControlContext();\n\n const i18n = useInternalI18n('select');\n const errorIconAriaLabel = i18n('errorIconAriaLabel', restProps.errorIconAriaLabel);\n const selectedAriaLabel = i18n('selectedAriaLabel', restProps.selectedAriaLabel);\n const recoveryText = i18n('recoveryText', restProps.recoveryText);\n\n if (restProps.recoveryText && !onLoadItems) {\n warnOnce('Select', '`onLoadItems` must be provided for `recoveryText` to be displayed.');\n }\n\n const { handleLoadMore, handleRecoveryClick, fireLoadItems } = useLoadItems({\n onLoadItems,\n options,\n statusType,\n });\n\n checkControlled('Select', 'selectedOption', selectedOption, 'onChange', onChange);\n\n checkOptionValueField('Select', 'options', options);\n\n const [filteringValue, setFilteringValue] = useState('');\n\n const { filteredOptions, parentMap, totalCount, matchesCount } = prepareOptions(\n options,\n filteringType,\n filteringValue\n );\n\n const rootRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const [triggerWidth, setTriggerWidth] = useState<number | null>(null);\n useResizeObserver(\n () => triggerRef.current,\n entry => entry.borderBoxWidth > 0 && setTriggerWidth(entry.borderBoxWidth)\n );\n\n const selfControlId = useUniqueId('trigger');\n const controlId = formFieldContext.controlId ?? selfControlId;\n\n const scrollToIndex = useRef<SelectListProps.SelectListRef>(null);\n const {\n isOpen,\n highlightType,\n highlightedOption,\n highlightedIndex,\n getTriggerProps,\n getDropdownProps,\n getFilterProps,\n getMenuProps,\n getOptionProps,\n highlightOption,\n selectOption,\n announceSelected,\n focusActiveRef,\n closeDropdown,\n } = useSelect({\n selectedOptions: selectedOption ? [selectedOption] : [],\n updateSelectedOption: option => fireNonCancelableEvent(onChange, { selectedOption: option }),\n options: filteredOptions,\n filteringType,\n onBlur,\n onFocus,\n externalRef,\n fireLoadItems,\n setFilteringValue,\n statusType,\n dropdownRole,\n });\n\n const handleNativeSearch = useNativeSearch({\n isEnabled: filteringType === 'none' && !readOnly,\n options: filteredOptions,\n highlightOption: !isOpen ? selectOption : highlightOption,\n highlightedOption: !isOpen ? selectedOption : highlightedOption?.option,\n });\n\n const selectAriaLabelId = useUniqueId('select-arialabel-');\n const footerId = useUniqueId('footer');\n\n useEffect(() => {\n scrollToIndex.current?.(highlightedIndex);\n }, [highlightedIndex]);\n\n const dropdownContentProps: SelectProps.DropdownContentProps = { filterText: filteringValue, closeDropdown };\n const customDropdownHeader = renderDropdownHeader?.(dropdownContentProps);\n const customDropdownFooter = renderDropdownFooter?.(dropdownContentProps);\n\n const filter = (\n <Filter\n clearAriaLabel={filteringClearAriaLabel}\n filteringType={filteringType}\n placeholder={filteringPlaceholder}\n ariaLabel={filteringAriaLabel}\n ariaRequired={ariaRequired}\n value={filteringValue}\n {...getFilterProps()}\n />\n );\n\n const trigger = (\n <Trigger\n renderOption={renderOption}\n ref={triggerRef}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n triggerVariant={triggerVariant}\n triggerProps={getTriggerProps(disabled, autoFocus)}\n selectedOption={selectedOption}\n isOpen={isOpen}\n inFilteringToken={__inFilteringToken}\n groupedControlPosition={groupedControlPosition}\n inlineLabelText={inlineLabelText}\n {...formFieldContext}\n controlId={controlId}\n ariaLabelledby={joinStrings(formFieldContext.ariaLabelledby, selectAriaLabelId)}\n />\n );\n\n const isEmpty = !options || options.length === 0;\n const isNoMatch = filteredOptions && filteredOptions.length === 0;\n const isFiltered =\n filteringType !== 'none' && filteringValue.length > 0 && filteredOptions && filteredOptions.length > 0;\n const filteredText = isFiltered ? filteringResultsText?.(matchesCount, totalCount) : undefined;\n\n const dropdownStatus = useDropdownStatus({\n statusType,\n empty,\n loadingText,\n finishedText,\n errorText,\n recoveryText,\n isEmpty,\n isNoMatch,\n noMatch,\n filteringResultsText: filteredText,\n errorIconAriaLabel,\n onRecoveryClick: () => {\n handleRecoveryClick();\n focusActiveRef();\n },\n hasRecoveryCallback: !!onLoadItems,\n });\n\n const statusFooter = dropdownStatus.isSticky ? (\n <DropdownFooter content={isOpen ? dropdownStatus.content : null} id={footerId} />\n ) : null;\n const { header: dropdownHeader, footer: dropdownFooter } = composeDropdownContent({\n filter,\n customDropdownHeader,\n customDropdownFooter,\n statusFooter,\n dropdownHeaderClass: styles['dropdown-header'],\n dropdownFooterClass: styles['dropdown-footer'],\n });\n\n const menuProps = {\n ...getMenuProps(),\n onLoadMore: handleLoadMore,\n ariaLabelledby: joinStrings(selectAriaLabelId, controlId),\n ariaDescribedby: joinStrings(dropdownStatus.content ? footerId : undefined, dropdownAriaDescribedby),\n ariaRequired,\n };\n\n const announcement = useAnnouncement({\n announceSelected,\n highlightedOption,\n getParent: option => parentMap.get(option)?.option as undefined | OptionGroup,\n selectedAriaLabel,\n renderHighlightedAriaLive,\n });\n\n const ListComponent = virtualScroll ? VirtualList : PlainList;\n\n const handleMouseDown = (event: React.MouseEvent) => {\n const target = event.target as HTMLElement;\n\n if (target !== document.activeElement) {\n // prevent currently focused element from losing it\n event.preventDefault();\n }\n };\n\n const mergedRef = useMergeRefs(rootRef, __internalRootRef);\n\n const dropdownProps = getDropdownProps();\n\n const hasOptions = useRef(options.length > 0);\n hasOptions.current = hasOptions.current || options.length > 0;\n\n return (\n <ResetGroupedControlContext>\n <div\n {...baseProps}\n ref={mergedRef}\n className={clsx(styles.root, baseProps.className)}\n onKeyDown={handleNativeSearch}\n >\n <Dropdown\n {...dropdownProps}\n ariaLabelledby={dropdownProps.ariaRole ? joinStrings(selectAriaLabelId, controlId) : undefined}\n ariaDescribedby={\n dropdownProps.ariaRole\n ? joinStrings(dropdownStatus.content ? footerId : undefined, dropdownAriaDescribedby)\n : undefined\n }\n open={isOpen}\n stretchTriggerHeight={!!__inFilteringToken}\n minWidth={getDropdownMinWidth({ expandToViewport, triggerWidth })}\n maxWidth={getBreakpointValue('xxs')} // AWSUI-19898\n trigger={trigger}\n header={dropdownHeader}\n onMouseDown={handleMouseDown}\n footer={dropdownFooter}\n expandToViewport={expandToViewport}\n // Forces dropdown position recalculation when new options are loaded\n contentKey={hasOptions.current.toString()}\n content={\n <ListComponent\n listBottom={\n !dropdownStatus.isSticky ? (\n <DropdownFooter content={isOpen ? dropdownStatus.content : null} id={footerId} />\n ) : null\n }\n renderOption={renderOption}\n menuProps={menuProps}\n getOptionProps={getOptionProps}\n filteredOptions={filteredOptions}\n filteringValue={filteringValue}\n ref={scrollToIndex}\n hasDropdownStatus={dropdownStatus.content !== null}\n screenReaderContent={announcement}\n highlightType={highlightType}\n />\n }\n />\n <div hidden={true} id={selectAriaLabelId}>\n {ariaLabel || inlineLabelText}\n </div>\n </div>\n </ResetGroupedControlContext>\n );\n }\n);\n\nexport default InternalSelect;\n"]}
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/select/internal.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, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs, useResizeObserver, useUniqueId, warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport Dropdown from '../dropdown/internal';\nimport { useInternalI18n } from '../i18n/context.js';\nimport { getBaseProps } from '../internal/base-component';\nimport { getBreakpointValue } from '../internal/breakpoints';\nimport DropdownFooter from '../internal/components/dropdown-footer';\nimport { useDropdownStatus } from '../internal/components/dropdown-status';\nimport { prepareOptions } from '../internal/components/option/utils/prepare-options.js';\nimport { ResetGroupedControlContext, useGroupedControlContext } from '../internal/context/control-group-context';\nimport { useFormFieldContext } from '../internal/context/form-field-context';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport checkControlled from '../internal/hooks/check-controlled';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { SomeRequired } from '../internal/types';\nimport { getDropdownMinWidth } from '../internal/utils/get-dropdown-min-width';\nimport { joinStrings } from '../internal/utils/strings/join-strings.js';\nimport { OptionGroup } from '../types/option';\nimport { SelectProps } from './interfaces';\nimport Filter from './parts/filter';\nimport PlainList, { SelectListProps } from './parts/plain-list';\nimport Trigger from './parts/trigger';\nimport VirtualList from './parts/virtual-list';\nimport { checkOptionValueField } from './utils/check-option-value-field';\nimport { composeDropdownContent } from './utils/dropdown-customization';\nimport { useAnnouncement } from './utils/use-announcement';\nimport { useLoadItems } from './utils/use-load-items';\nimport { useNativeSearch } from './utils/use-native-search';\nimport { useSelect } from './utils/use-select';\n\nimport styles from './styles.css.js';\n\nexport interface InternalSelectProps extends SomeRequired<SelectProps, 'options'>, InternalBaseComponentProps {\n __inFilteringToken?: 'root' | 'nested';\n}\n\nconst InternalSelect = React.forwardRef(\n (\n {\n options,\n filteringType = 'none',\n filteringPlaceholder,\n filteringAriaLabel,\n filteringClearAriaLabel,\n filteringResultsText,\n inlineLabelText,\n ariaRequired,\n placeholder,\n disabled,\n readOnly,\n ariaLabel,\n statusType = 'finished',\n empty,\n loadingText,\n finishedText,\n errorText,\n noMatch,\n triggerVariant = 'label',\n renderHighlightedAriaLive,\n selectedOption,\n onBlur,\n onFocus,\n onLoadItems,\n onChange,\n virtualScroll,\n expandToViewport,\n autoFocus,\n __inFilteringToken,\n __internalRootRef,\n renderOption,\n renderDropdownHeader,\n renderDropdownFooter,\n dropdownRole,\n dropdownAriaDescribedby,\n ...restProps\n }: InternalSelectProps,\n externalRef: React.Ref<SelectProps.Ref>\n ) => {\n const baseProps = getBaseProps(restProps);\n const formFieldContext = useFormFieldContext(restProps);\n const groupedControlProps = useGroupedControlContext();\n\n const i18n = useInternalI18n('select');\n const errorIconAriaLabel = i18n('errorIconAriaLabel', restProps.errorIconAriaLabel);\n const selectedAriaLabel = i18n('selectedAriaLabel', restProps.selectedAriaLabel);\n const recoveryText = i18n('recoveryText', restProps.recoveryText);\n\n if (restProps.recoveryText && !onLoadItems) {\n warnOnce('Select', '`onLoadItems` must be provided for `recoveryText` to be displayed.');\n }\n\n const { handleLoadMore, handleRecoveryClick, fireLoadItems } = useLoadItems({\n onLoadItems,\n options,\n statusType,\n });\n\n checkControlled('Select', 'selectedOption', selectedOption, 'onChange', onChange);\n\n checkOptionValueField('Select', 'options', options);\n\n const [filteringValue, setFilteringValue] = useState('');\n\n const { filteredOptions, parentMap, totalCount, matchesCount } = prepareOptions(\n options,\n filteringType,\n filteringValue\n );\n\n const rootRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const [triggerWidth, setTriggerWidth] = useState<number | null>(null);\n useResizeObserver(\n () => triggerRef.current,\n entry => entry.borderBoxWidth > 0 && setTriggerWidth(entry.borderBoxWidth)\n );\n\n const selfControlId = useUniqueId('trigger');\n const controlId = formFieldContext.controlId ?? selfControlId;\n\n const scrollToIndex = useRef<SelectListProps.SelectListRef>(null);\n const {\n isOpen,\n highlightType,\n highlightedOption,\n highlightedIndex,\n getTriggerProps,\n getDropdownProps,\n getFilterProps,\n getMenuProps,\n getOptionProps,\n highlightOption,\n selectOption,\n announceSelected,\n focusActiveRef,\n closeDropdown,\n } = useSelect({\n selectedOptions: selectedOption ? [selectedOption] : [],\n updateSelectedOption: option => fireNonCancelableEvent(onChange, { selectedOption: option }),\n options: filteredOptions,\n filteringType,\n onBlur,\n onFocus,\n externalRef,\n fireLoadItems,\n setFilteringValue,\n statusType,\n dropdownRole,\n });\n\n const handleNativeSearch = useNativeSearch({\n isEnabled: filteringType === 'none' && !readOnly,\n options: filteredOptions,\n highlightOption: !isOpen ? selectOption : highlightOption,\n highlightedOption: !isOpen ? selectedOption : highlightedOption?.option,\n });\n\n const selectAriaLabelId = useUniqueId('select-arialabel-');\n const footerId = useUniqueId('footer');\n\n useEffect(() => {\n scrollToIndex.current?.(highlightedIndex);\n }, [highlightedIndex]);\n\n const dropdownContentProps: SelectProps.DropdownContentProps = { filterText: filteringValue, closeDropdown };\n const customDropdownHeader = renderDropdownHeader?.(dropdownContentProps);\n const customDropdownFooter = renderDropdownFooter?.(dropdownContentProps);\n\n const filter = (\n <Filter\n clearAriaLabel={filteringClearAriaLabel}\n filteringType={filteringType}\n placeholder={filteringPlaceholder}\n ariaLabel={filteringAriaLabel}\n ariaRequired={ariaRequired}\n value={filteringValue}\n {...getFilterProps()}\n />\n );\n\n const trigger = (\n <Trigger\n renderOption={renderOption}\n ref={triggerRef}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n triggerVariant={triggerVariant}\n triggerProps={getTriggerProps(disabled, autoFocus)}\n selectedOption={selectedOption}\n isOpen={isOpen}\n inFilteringToken={__inFilteringToken}\n groupedControlProps={groupedControlProps}\n inlineLabelText={inlineLabelText}\n {...formFieldContext}\n controlId={controlId}\n ariaLabelledby={joinStrings(formFieldContext.ariaLabelledby, selectAriaLabelId)}\n />\n );\n\n const isEmpty = !options || options.length === 0;\n const isNoMatch = filteredOptions && filteredOptions.length === 0;\n const isFiltered =\n filteringType !== 'none' && filteringValue.length > 0 && filteredOptions && filteredOptions.length > 0;\n const filteredText = isFiltered ? filteringResultsText?.(matchesCount, totalCount) : undefined;\n\n const dropdownStatus = useDropdownStatus({\n statusType,\n empty,\n loadingText,\n finishedText,\n errorText,\n recoveryText,\n isEmpty,\n isNoMatch,\n noMatch,\n filteringResultsText: filteredText,\n errorIconAriaLabel,\n onRecoveryClick: () => {\n handleRecoveryClick();\n focusActiveRef();\n },\n hasRecoveryCallback: !!onLoadItems,\n });\n\n const statusFooter = dropdownStatus.isSticky ? (\n <DropdownFooter content={isOpen ? dropdownStatus.content : null} id={footerId} />\n ) : null;\n const { header: dropdownHeader, footer: dropdownFooter } = composeDropdownContent({\n filter,\n customDropdownHeader,\n customDropdownFooter,\n statusFooter,\n dropdownHeaderClass: styles['dropdown-header'],\n dropdownFooterClass: styles['dropdown-footer'],\n });\n\n const menuProps = {\n ...getMenuProps(),\n onLoadMore: handleLoadMore,\n ariaLabelledby: joinStrings(selectAriaLabelId, controlId),\n ariaDescribedby: joinStrings(dropdownStatus.content ? footerId : undefined, dropdownAriaDescribedby),\n ariaRequired,\n };\n\n const announcement = useAnnouncement({\n announceSelected,\n highlightedOption,\n getParent: option => parentMap.get(option)?.option as undefined | OptionGroup,\n selectedAriaLabel,\n renderHighlightedAriaLive,\n });\n\n const ListComponent = virtualScroll ? VirtualList : PlainList;\n\n const handleMouseDown = (event: React.MouseEvent) => {\n const target = event.target as HTMLElement;\n\n if (target !== document.activeElement) {\n // prevent currently focused element from losing it\n event.preventDefault();\n }\n };\n\n const mergedRef = useMergeRefs(rootRef, __internalRootRef);\n\n const dropdownProps = getDropdownProps();\n\n const hasOptions = useRef(options.length > 0);\n hasOptions.current = hasOptions.current || options.length > 0;\n\n return (\n <ResetGroupedControlContext>\n <div\n {...baseProps}\n ref={mergedRef}\n className={clsx(styles.root, baseProps.className)}\n onKeyDown={handleNativeSearch}\n >\n <Dropdown\n {...dropdownProps}\n ariaLabelledby={dropdownProps.ariaRole ? joinStrings(selectAriaLabelId, controlId) : undefined}\n ariaDescribedby={\n dropdownProps.ariaRole\n ? joinStrings(dropdownStatus.content ? footerId : undefined, dropdownAriaDescribedby)\n : undefined\n }\n open={isOpen}\n stretchTriggerHeight={!!__inFilteringToken}\n minWidth={getDropdownMinWidth({ expandToViewport, triggerWidth })}\n maxWidth={getBreakpointValue('xxs')} // AWSUI-19898\n trigger={trigger}\n header={dropdownHeader}\n onMouseDown={handleMouseDown}\n footer={dropdownFooter}\n expandToViewport={expandToViewport}\n // Forces dropdown position recalculation when new options are loaded\n contentKey={hasOptions.current.toString()}\n content={\n <ListComponent\n listBottom={\n !dropdownStatus.isSticky ? (\n <DropdownFooter content={isOpen ? dropdownStatus.content : null} id={footerId} />\n ) : null\n }\n renderOption={renderOption}\n menuProps={menuProps}\n getOptionProps={getOptionProps}\n filteredOptions={filteredOptions}\n filteringValue={filteringValue}\n ref={scrollToIndex}\n hasDropdownStatus={dropdownStatus.content !== null}\n screenReaderContent={announcement}\n highlightType={highlightType}\n />\n }\n />\n <div hidden={true} id={selectAriaLabelId}>\n {ariaLabel || inlineLabelText}\n </div>\n </div>\n </ResetGroupedControlContext>\n );\n }\n);\n\nexport default InternalSelect;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { GroupedControlContextProps } from '../../internal/context/control-group-context';
|
|
3
3
|
import { MultiselectProps } from '../../multiselect/interfaces';
|
|
4
4
|
import { FormFieldValidationControlProps } from '../../types/form-field';
|
|
5
5
|
import { OptionDefinition } from '../../types/option';
|
|
@@ -17,7 +17,7 @@ export interface TriggerProps extends FormFieldValidationControlProps {
|
|
|
17
17
|
inFilteringToken?: 'root' | 'nested';
|
|
18
18
|
selectedOptions?: ReadonlyArray<OptionDefinition>;
|
|
19
19
|
renderOption?: SelectProps.SelectOptionItemRenderer;
|
|
20
|
-
|
|
20
|
+
groupedControlProps?: GroupedControlContextProps;
|
|
21
21
|
}
|
|
22
22
|
declare const Trigger: React.ForwardRefExoticComponent<TriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
23
23
|
export default Trigger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../../../src/select/parts/trigger.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"trigger.d.ts","sourceRoot":"","sources":["../../../../src/select/parts/trigger.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAG1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAIzD,MAAM,WAAW,YAAa,SAAQ,+BAA+B;IACnE,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,kBAAkB,CAAC;IACjC,cAAc,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,WAAW,CAAC,cAAc,GAAG,gBAAgB,CAAC,cAAc,CAAC;IAC9E,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,eAAe,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAClD,YAAY,CAAC,EAAE,WAAW,CAAC,wBAAwB,CAAC;IACpD,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;CAClD;AAED,QAAA,MAAM,OAAO,wFA6IZ,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -9,7 +9,7 @@ import { useVisualRefresh } from '../../internal/hooks/use-visual-mode';
|
|
|
9
9
|
import { joinStrings } from '../../internal/utils/strings';
|
|
10
10
|
import InternalToken from '../../token/internal';
|
|
11
11
|
import styles from './styles.css.js';
|
|
12
|
-
const Trigger = React.forwardRef(({ ariaLabelledby, ariaDescribedby, controlId, invalid, inlineLabelText, warning, triggerProps, selectedOption, selectedOptions, triggerVariant, inFilteringToken, isOpen, placeholder, disabled, readOnly, renderOption,
|
|
12
|
+
const Trigger = React.forwardRef(({ ariaLabelledby, ariaDescribedby, controlId, invalid, inlineLabelText, warning, triggerProps, selectedOption, selectedOptions, triggerVariant, inFilteringToken, isOpen, placeholder, disabled, readOnly, renderOption, groupedControlProps, }, ref) => {
|
|
13
13
|
const isVisualRefresh = useVisualRefresh();
|
|
14
14
|
const generatedId = useUniqueId();
|
|
15
15
|
const id = controlId !== null && controlId !== void 0 ? controlId : generatedId;
|
|
@@ -56,7 +56,7 @@ const Trigger = React.forwardRef(({ ariaLabelledby, ariaDescribedby, controlId,
|
|
|
56
56
|
triggerContent = (React.createElement("span", { id: triggerContentId, className: styles.trigger }, selectedOption.label || selectedOption.value));
|
|
57
57
|
}
|
|
58
58
|
const mergedRef = useMergeRefs(triggerProps.ref, ref);
|
|
59
|
-
const triggerButton = (React.createElement(ButtonTrigger, { ...triggerProps, id: id, ref: mergedRef, pressed: !!isOpen, disabled: disabled, readOnly: readOnly, invalid: invalid, warning: warning && !invalid, inFilteringToken: inFilteringToken, inlineTokens: triggerVariant === 'tokens', hasCustomContent: hasCustomContent, ariaDescribedby: ariaDescribedby, ariaLabelledby: ariaLabelledbyIds,
|
|
59
|
+
const triggerButton = (React.createElement(ButtonTrigger, { ...triggerProps, id: id, ref: mergedRef, pressed: !!isOpen, disabled: disabled, readOnly: readOnly, invalid: invalid, warning: warning && !invalid, inFilteringToken: inFilteringToken, inlineTokens: triggerVariant === 'tokens', hasCustomContent: hasCustomContent, ariaDescribedby: ariaDescribedby, ariaLabelledby: ariaLabelledbyIds, groupedControlProps: groupedControlProps }, triggerContent));
|
|
60
60
|
return (React.createElement(React.Fragment, null, inlineLabelText ? (React.createElement("div", { className: styles['inline-label-wrapper'] },
|
|
61
61
|
React.createElement("label", { htmlFor: controlId, className: clsx(styles['inline-label'], disabled && styles['inline-label-disabled'], triggerVariant === 'tokens' && styles['inline-label-inline-tokens']) }, inlineLabelText),
|
|
62
62
|
React.createElement("div", { className: styles['inline-label-trigger-wrapper'] }, triggerButton))) : (React.createElement(React.Fragment, null, triggerButton))));
|