@cloudscape-design/components-themeable 3.0.1371 → 3.0.1373
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/__tests__/theming.test.js +14 -0
- package/lib/__tests__/theming.test.js.map +1 -1
- package/lib/internal/manifest.json +1 -1
- package/lib/internal/scss/button-dropdown/category-elements/styles.scss +1 -4
- package/lib/internal/scss/button-dropdown/item-element/styles.scss +1 -4
- package/lib/internal/scss/dropdown/styles.scss +23 -4
- package/lib/internal/scss/internal/components/checkbox-icon/motion.scss +35 -0
- package/lib/internal/scss/internal/components/checkbox-icon/styles.scss +2 -0
- package/lib/internal/scss/internal/components/selectable-item/styles.scss +2 -8
- package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
- package/lib/internal/scss/internal/styles/links.scss +15 -6
- package/lib/internal/scss/internal/styles/utils/mixins.scss +7 -0
- package/lib/internal/scss/link/styles.scss +35 -16
- package/lib/internal/scss/status-indicator/styles.scss +3 -2
- package/lib/internal/template/box/interfaces.d.ts +3 -0
- package/lib/internal/template/box/interfaces.d.ts.map +1 -1
- package/lib/internal/template/box/interfaces.js.map +1 -1
- package/lib/internal/template/button/interfaces.d.ts +0 -1
- package/lib/internal/template/button/interfaces.d.ts.map +1 -1
- package/lib/internal/template/button/interfaces.js.map +1 -1
- package/lib/internal/template/button/internal.d.ts.map +1 -1
- package/lib/internal/template/button/internal.js +8 -1
- package/lib/internal/template/button/internal.js.map +1 -1
- package/lib/internal/template/button-dropdown/category-elements/styles.css.js +18 -18
- package/lib/internal/template/button-dropdown/category-elements/styles.scoped.css +32 -32
- package/lib/internal/template/button-dropdown/category-elements/styles.selectors.js +18 -18
- package/lib/internal/template/button-dropdown/item-element/styles.css.js +21 -21
- package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +38 -38
- package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +21 -21
- package/lib/internal/template/copy-to-clipboard/interfaces.d.ts +0 -1
- package/lib/internal/template/copy-to-clipboard/interfaces.d.ts.map +1 -1
- package/lib/internal/template/copy-to-clipboard/interfaces.js.map +1 -1
- package/lib/internal/template/dropdown/index.d.ts.map +1 -1
- package/lib/internal/template/dropdown/index.js +1 -1
- package/lib/internal/template/dropdown/index.js.map +1 -1
- package/lib/internal/template/dropdown/internal.d.ts +5 -1
- package/lib/internal/template/dropdown/internal.d.ts.map +1 -1
- package/lib/internal/template/dropdown/internal.js +4 -4
- package/lib/internal/template/dropdown/internal.js.map +1 -1
- package/lib/internal/template/dropdown/styles.css.js +20 -20
- package/lib/internal/template/dropdown/styles.scoped.css +69 -48
- package/lib/internal/template/dropdown/styles.selectors.js +20 -20
- package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
- package/lib/internal/template/internal/components/checkbox-icon/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/checkbox-icon/index.js +8 -2
- package/lib/internal/template/internal/components/checkbox-icon/index.js.map +1 -1
- package/lib/internal/template/internal/components/selectable-item/styles.css.js +22 -22
- package/lib/internal/template/internal/components/selectable-item/styles.scoped.css +53 -49
- package/lib/internal/template/internal/components/selectable-item/styles.selectors.js +22 -22
- package/lib/internal/template/internal/environment.js +2 -2
- package/lib/internal/template/internal/environment.json +2 -2
- package/lib/internal/template/link/index.d.ts.map +1 -1
- package/lib/internal/template/link/index.js +1 -1
- package/lib/internal/template/link/index.js.map +1 -1
- package/lib/internal/template/link/internal.d.ts +4 -0
- package/lib/internal/template/link/internal.d.ts.map +1 -1
- package/lib/internal/template/link/internal.js +2 -2
- package/lib/internal/template/link/internal.js.map +1 -1
- package/lib/internal/template/link/styles.css.js +21 -21
- package/lib/internal/template/link/styles.scoped.css +121 -104
- package/lib/internal/template/link/styles.selectors.js +21 -21
- package/lib/internal/template/status-indicator/internal.d.ts +5 -1
- package/lib/internal/template/status-indicator/internal.d.ts.map +1 -1
- package/lib/internal/template/status-indicator/internal.js +2 -2
- package/lib/internal/template/status-indicator/internal.js.map +1 -1
- package/lib/internal/template/status-indicator/styles.css.js +26 -25
- package/lib/internal/template/status-indicator/styles.scoped.css +47 -47
- package/lib/internal/template/status-indicator/styles.selectors.js +26 -25
- package/lib/internal/template/steps/internal.js +1 -1
- package/lib/internal/template/steps/internal.js.map +1 -1
- package/lib/internal/template/theming/index.d.ts +4 -2
- package/lib/internal/template/theming/index.d.ts.map +1 -1
- package/lib/internal/template/theming/index.js +7 -4
- package/lib/internal/template/theming/index.js.map +1 -1
- package/lib/theming.d.ts +5 -0
- package/lib/theming.d.ts.map +1 -1
- package/lib/theming.js +12 -0
- package/lib/theming.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
/* stylelint-enable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
|
|
7
7
|
/* Style used for links in slots/components that are text heavy, to help links stand out among
|
|
8
8
|
surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
|
|
9
|
-
.awsui_selectable-
|
|
9
|
+
.awsui_selectable-item_15o6u_1mhnc_9:not(#\9) {
|
|
10
10
|
font-size: var(--font-size-body-m-tq5a14, 14px);
|
|
11
11
|
line-height: var(--line-height-body-m-5xw6xo, 22px);
|
|
12
12
|
color: var(--color-text-body-default-b2us04, #16191f);
|
|
@@ -25,165 +25,169 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
25
25
|
overflow: hidden;
|
|
26
26
|
box-shadow: inset 0 var(--border-divider-list-width-2qbfmz, 1px) 0 0 var(--color-border-dropdown-item-default-j9osbc, #eaeded), inset 0 calc(-1 * var(--border-divider-list-width-2qbfmz, 1px)) 0 0 var(--color-border-dropdown-item-default-j9osbc, #eaeded);
|
|
27
27
|
}
|
|
28
|
-
.awsui_selectable-
|
|
28
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_parent_15o6u_1mhnc_28.awsui_interactiveGroups_15o6u_1mhnc_28:not(#\9):not(.awsui_highlighted_15o6u_1mhnc_28):not(.awsui_selected_15o6u_1mhnc_28) {
|
|
29
29
|
box-shadow: inset 0 var(--border-divider-list-width-2qbfmz, 1px) 0 0 var(--color-border-dropdown-item-default-j9osbc, #eaeded), inset 0 calc(-1 * var(--border-divider-list-width-2qbfmz, 1px)) 0 0 var(--color-border-dropdown-item-default-j9osbc, #eaeded);
|
|
30
30
|
}
|
|
31
|
-
.awsui_selectable-
|
|
31
|
+
.awsui_selectable-item_15o6u_1mhnc_9 > .awsui_selectable-item-content_15o6u_1mhnc_31:not(#\9) {
|
|
32
32
|
padding-block: var(--space-option-padding-vertical-hggcse, 4px);
|
|
33
33
|
padding-inline: var(--space-field-horizontal-anki5k, 8px);
|
|
34
34
|
}
|
|
35
|
-
.awsui_selectable-
|
|
35
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_pad-bottom_15o6u_1mhnc_35:not(#\9) {
|
|
36
36
|
padding-block-end: var(--border-item-width-pyfg4s, 1px);
|
|
37
37
|
box-shadow: inset 0 var(--border-divider-list-width-2qbfmz, 1px) 0 0 var(--color-border-dropdown-item-default-j9osbc, #eaeded);
|
|
38
38
|
}
|
|
39
|
-
.awsui_selectable-
|
|
39
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_pad-bottom_15o6u_1mhnc_35 > .awsui_selectable-item-content_15o6u_1mhnc_31:not(#\9) {
|
|
40
40
|
padding-block-end: calc(var(--space-option-padding-vertical-hggcse, 4px) + var(--space-xxxs-3ulqs3, 2px));
|
|
41
41
|
}
|
|
42
|
-
.awsui_selectable-
|
|
42
|
+
.awsui_selectable-item_15o6u_1mhnc_9:not(#\9):not(:first-child), .awsui_selectable-item_15o6u_1mhnc_9.awsui_virtual_15o6u_1mhnc_42:not(#\9) {
|
|
43
43
|
margin-block-start: calc(-1 * var(--border-item-width-pyfg4s, 1px));
|
|
44
44
|
}
|
|
45
|
-
.awsui_selectable-
|
|
45
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_has-background_15o6u_1mhnc_45:not(#\9) {
|
|
46
46
|
background-color: var(--awsui-option-background-highlighted-66120l, var(--color-background-dropdown-item-hover-pvfsrg, #f2f3f3));
|
|
47
47
|
}
|
|
48
|
-
.awsui_selectable-
|
|
48
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_child_15o6u_1mhnc_48:not(#\9) {
|
|
49
49
|
padding-inline-start: var(--border-item-width-pyfg4s, 1px);
|
|
50
50
|
}
|
|
51
|
-
.awsui_selectable-
|
|
51
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_child_15o6u_1mhnc_48 > .awsui_selectable-item-content_15o6u_1mhnc_31:not(#\9) {
|
|
52
52
|
padding-inline-start: var(--space-xxl-xj5vu7, 32px);
|
|
53
53
|
}
|
|
54
|
-
.awsui_selectable-
|
|
54
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_disabled_15o6u_1mhnc_54 > .awsui_selectable-item-content_15o6u_1mhnc_31:not(#\9) {
|
|
55
55
|
color: var(--awsui-option-color-disabled-66120l, var(--color-text-dropdown-item-disabled-2udtn0, #aab7b8));
|
|
56
56
|
}
|
|
57
|
-
.awsui_selectable-
|
|
57
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_highlighted_15o6u_1mhnc_28:not(#\9), .awsui_selectable-item_15o6u_1mhnc_9.awsui_selected_15o6u_1mhnc_28:not(#\9) {
|
|
58
58
|
color: var(--awsui-option-color-highlighted-66120l, var(--color-text-dropdown-item-highlighted-dikwgu, #16191f));
|
|
59
59
|
border-start-start-radius: var(--border-radius-item-mitz8h, 0px);
|
|
60
60
|
border-start-end-radius: var(--border-radius-item-mitz8h, 0px);
|
|
61
61
|
border-end-start-radius: var(--border-radius-item-mitz8h, 0px);
|
|
62
62
|
border-end-end-radius: var(--border-radius-item-mitz8h, 0px);
|
|
63
63
|
}
|
|
64
|
-
.awsui_selectable-
|
|
64
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_highlighted_15o6u_1mhnc_28:not(#\9) {
|
|
65
65
|
z-index: 3;
|
|
66
66
|
background-color: var(--awsui-option-background-highlighted-66120l, var(--color-background-dropdown-item-hover-pvfsrg, #f2f3f3));
|
|
67
67
|
box-shadow: inset 0 0 0 var(--border-width-item-selected-l41fek, 1px) var(--color-border-dropdown-item-hover-y2b7z1, #879596);
|
|
68
|
+
border-start-start-radius: var(--border-radius-dropdown-azs8zp, 0px);
|
|
69
|
+
border-start-end-radius: var(--border-radius-dropdown-azs8zp, 0px);
|
|
70
|
+
border-end-start-radius: var(--border-radius-dropdown-azs8zp, 0px);
|
|
71
|
+
border-end-end-radius: var(--border-radius-dropdown-azs8zp, 0px);
|
|
68
72
|
}
|
|
69
|
-
.awsui_selectable-
|
|
73
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_highlighted_15o6u_1mhnc_28.awsui_is-keyboard_15o6u_1mhnc_73:not(#\9) {
|
|
70
74
|
box-shadow: inset 0 0 0 var(--border-width-item-selected-l41fek, 1px) var(--color-border-dropdown-item-focused-y1x3ts, #0073bb);
|
|
71
75
|
}
|
|
72
|
-
.awsui_selectable-
|
|
76
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_highlighted_15o6u_1mhnc_28.awsui_disabled_15o6u_1mhnc_54:not(#\9) {
|
|
73
77
|
box-shadow: inset 0 0 0 var(--border-width-item-selected-l41fek, 1px) var(--color-border-dropdown-item-dimmed-hover-54pdcr, #879596);
|
|
74
78
|
background-color: var(--color-background-dropdown-item-dimmed-vz24i5, transparent);
|
|
75
79
|
}
|
|
76
|
-
.awsui_selectable-
|
|
80
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_highlighted_15o6u_1mhnc_28.awsui_disabled_15o6u_1mhnc_54 > .awsui_selectable-item-content_15o6u_1mhnc_31:not(#\9) {
|
|
77
81
|
color: var(--color-text-dropdown-item-dimmed-asp9ue, #aab7b8);
|
|
78
82
|
}
|
|
79
|
-
.awsui_selectable-
|
|
83
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_highlighted_15o6u_1mhnc_28:not(#\9):not(.awsui_visual-refresh_15o6u_1mhnc_83).awsui_is-keyboard_15o6u_1mhnc_73 {
|
|
80
84
|
box-shadow: inset 0 0 0 var(--border-control-focus-ring-shadow-spread-iijyo6, 1px) var(--color-border-item-focused-sewkzn, #0073bb);
|
|
81
85
|
}
|
|
82
|
-
.awsui_selectable-
|
|
86
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_selected_15o6u_1mhnc_28:not(#\9) {
|
|
83
87
|
z-index: 2;
|
|
84
88
|
background-color: var(--awsui-option-background-selected-66120l, var(--color-background-dropdown-item-selected-jwgsiw, #f1faff));
|
|
85
89
|
box-shadow: inset 0 0 0 var(--border-width-item-selected-l41fek, 1px) var(--color-border-dropdown-item-selected-y1kt81, #eaeded);
|
|
86
90
|
}
|
|
87
|
-
.awsui_selectable-
|
|
91
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_selected_15o6u_1mhnc_28.awsui_highlighted_15o6u_1mhnc_28:not(#\9) {
|
|
88
92
|
box-shadow: inset 0 0 0 var(--border-width-item-selected-l41fek, 1px) var(--color-border-dropdown-item-selected-y1kt81, #eaeded), inset 0 0 0 calc(2 * var(--border-width-item-selected-l41fek, 1px)) var(--color-border-dropdown-item-hover-y2b7z1, #879596);
|
|
89
93
|
}
|
|
90
|
-
.awsui_selectable-
|
|
94
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_selected_15o6u_1mhnc_28.awsui_highlighted_15o6u_1mhnc_28.awsui_is-keyboard_15o6u_1mhnc_73:not(#\9) {
|
|
91
95
|
box-shadow: inset 0 0 0 var(--border-width-item-selected-l41fek, 1px) var(--color-border-dropdown-item-selected-y1kt81, #eaeded), inset 0 0 0 calc(2 * var(--border-width-item-selected-l41fek, 1px)) var(--color-border-dropdown-item-focused-y1x3ts, #0073bb);
|
|
92
96
|
}
|
|
93
|
-
.awsui_selectable-
|
|
97
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_selected_15o6u_1mhnc_28.awsui_next-item-selected_15o6u_1mhnc_97:not(#\9) {
|
|
94
98
|
border-end-start-radius: 0;
|
|
95
99
|
border-end-end-radius: 0;
|
|
96
100
|
}
|
|
97
|
-
.awsui_selectable-
|
|
101
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_selected_15o6u_1mhnc_28.awsui_highlighted_15o6u_1mhnc_28:not(#\9):not(.awsui_visual-refresh_15o6u_1mhnc_83) {
|
|
98
102
|
box-shadow: inset 0 0 0 var(--border-width-item-selected-l41fek, 1px) var(--color-border-dropdown-item-hover-y2b7z1, #879596);
|
|
99
103
|
}
|
|
100
|
-
.awsui_selectable-
|
|
104
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_selected_15o6u_1mhnc_28.awsui_highlighted_15o6u_1mhnc_28:not(#\9):not(.awsui_visual-refresh_15o6u_1mhnc_83).awsui_is-keyboard_15o6u_1mhnc_73 {
|
|
101
105
|
box-shadow: inset 0 0 0 var(--border-width-item-selected-l41fek, 1px) var(--color-border-dropdown-item-focused-y1x3ts, #0073bb);
|
|
102
106
|
}
|
|
103
|
-
.awsui_selectable-
|
|
107
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_selected_15o6u_1mhnc_28 + .awsui_selectable-item_15o6u_1mhnc_9.awsui_selected_15o6u_1mhnc_28:not(#\9), .awsui_selectable-item_15o6u_1mhnc_9.awsui_selected_15o6u_1mhnc_28.awsui_previous-item-selected_15o6u_1mhnc_107:not(#\9) {
|
|
104
108
|
border-start-start-radius: 0;
|
|
105
109
|
border-start-end-radius: 0;
|
|
106
110
|
}
|
|
107
|
-
.awsui_selectable-
|
|
111
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_parent_15o6u_1mhnc_28:not(#\9):not(.awsui_disabled_15o6u_1mhnc_54) > .awsui_selectable-item-content_15o6u_1mhnc_31 {
|
|
108
112
|
color: var(--awsui-option-group-label-color-66120l, var(--color-text-dropdown-group-label-gquzok, #545b64));
|
|
109
113
|
}
|
|
110
|
-
.awsui_selectable-
|
|
114
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_parent_15o6u_1mhnc_28:not(#\9):not(.awsui_interactiveGroups_15o6u_1mhnc_28) {
|
|
111
115
|
box-shadow: inset 0 var(--border-divider-list-width-2qbfmz, 1px) 0 0 var(--color-border-dropdown-group-y5droz, #eaeded), inset 0 calc(-1 * var(--border-divider-list-width-2qbfmz, 1px)) 0 0 var(--color-border-dropdown-item-default-j9osbc, #eaeded);
|
|
112
116
|
padding-block: 0;
|
|
113
117
|
padding-inline: 0;
|
|
114
118
|
}
|
|
115
|
-
.awsui_selectable-
|
|
119
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_parent_15o6u_1mhnc_28:not(#\9):not(.awsui_interactiveGroups_15o6u_1mhnc_28):not(:has(> .awsui_selectable-item-content_15o6u_1mhnc_31)) {
|
|
116
120
|
padding-block: var(--border-item-width-pyfg4s, 1px);
|
|
117
121
|
padding-inline: var(--border-item-width-pyfg4s, 1px);
|
|
118
122
|
}
|
|
119
|
-
.awsui_selectable-
|
|
123
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_parent_15o6u_1mhnc_28:not(#\9):not(.awsui_interactiveGroups_15o6u_1mhnc_28) > .awsui_selectable-item-content_15o6u_1mhnc_31 {
|
|
120
124
|
padding-block: var(--space-xs-m9b7jf, 8px);
|
|
121
125
|
padding-inline: var(--space-xs-m9b7jf, 8px);
|
|
122
126
|
font-weight: var(--font-weight-bold-xpar9m, 700);
|
|
123
127
|
}
|
|
124
|
-
.awsui_selectable-
|
|
128
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_parent_15o6u_1mhnc_28.awsui_interactiveGroups_15o6u_1mhnc_28 > .awsui_selectable-item-content_15o6u_1mhnc_31:not(#\9) {
|
|
125
129
|
padding-block: var(--space-xs-m9b7jf, 8px);
|
|
126
130
|
padding-inline: var(--space-field-horizontal-anki5k, 8px);
|
|
127
131
|
font-weight: var(--font-weight-bold-xpar9m, 700);
|
|
128
132
|
}
|
|
129
|
-
.awsui_selectable-
|
|
133
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_parent_15o6u_1mhnc_28.awsui_interactiveGroups_15o6u_1mhnc_28.awsui_highlighted_15o6u_1mhnc_28 > .awsui_selectable-item-content_15o6u_1mhnc_31:not(#\9) {
|
|
130
134
|
color: var(--color-text-dropdown-item-highlighted-dikwgu, #16191f);
|
|
131
135
|
}
|
|
132
|
-
.awsui_selectable-
|
|
136
|
+
.awsui_selectable-item_15o6u_1mhnc_9:not(#\9):not(.awsui_disabled_15o6u_1mhnc_54):not(.awsui_parent_15o6u_1mhnc_28), .awsui_selectable-item_15o6u_1mhnc_9.awsui_interactiveGroups_15o6u_1mhnc_28:not(#\9):not(.awsui_disabled_15o6u_1mhnc_54) {
|
|
133
137
|
cursor: pointer;
|
|
134
138
|
}
|
|
135
|
-
.awsui_selectable-
|
|
139
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_sticky_15o6u_1mhnc_139 + .awsui_selectable-item_15o6u_1mhnc_9:not(#\9):not(.awsui_sticky_15o6u_1mhnc_139):not(.awsui_highlighted_15o6u_1mhnc_28):not(.awsui_selected_15o6u_1mhnc_28) {
|
|
136
140
|
box-shadow: inset 0 calc(-1 * var(--border-divider-list-width-2qbfmz, 1px)) 0 0 var(--color-border-dropdown-item-default-j9osbc, #eaeded);
|
|
137
141
|
}
|
|
138
|
-
.awsui_selectable-
|
|
142
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_sticky_15o6u_1mhnc_139:not(#\9) {
|
|
139
143
|
position: sticky;
|
|
140
144
|
inset-block-start: 0;
|
|
141
145
|
margin-block-end: var(--border-item-width-pyfg4s, 1px);
|
|
142
146
|
z-index: 4;
|
|
143
147
|
padding-inline: var(--border-item-width-pyfg4s, 1px);
|
|
144
148
|
}
|
|
145
|
-
.awsui_selectable-
|
|
149
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_sticky_15o6u_1mhnc_139.awsui_highlighted_15o6u_1mhnc_28:not(#\9), .awsui_selectable-item_15o6u_1mhnc_9.awsui_sticky_15o6u_1mhnc_139.awsui_selected_15o6u_1mhnc_28:not(#\9) {
|
|
146
150
|
padding-inline: var(--border-item-width-pyfg4s, 1px);
|
|
147
151
|
}
|
|
148
|
-
.awsui_selectable-
|
|
152
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_sticky_15o6u_1mhnc_139 > .awsui_selectable-item-content_15o6u_1mhnc_31:not(#\9) {
|
|
149
153
|
padding-inline: var(--space-field-horizontal-anki5k, 8px);
|
|
150
154
|
}
|
|
151
|
-
.awsui_selectable-
|
|
155
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_sticky_15o6u_1mhnc_139:not(#\9):not(.awsui_highlighted_15o6u_1mhnc_28):not(.awsui_selected_15o6u_1mhnc_28) {
|
|
152
156
|
box-shadow: inset 0 var(--border-divider-list-width-2qbfmz, 1px) 0 0 var(--color-border-dropdown-item-default-j9osbc, #eaeded), inset 0 calc(-1 * var(--border-divider-list-width-2qbfmz, 1px)) 0 0 var(--color-border-dropdown-item-default-j9osbc, #eaeded), inset var(--border-width-popover-snsxri, 1px) 0 0 0 var(--color-border-dropdown-container-zmsfa8, transparent);
|
|
153
157
|
}
|
|
154
|
-
.awsui_selectable-
|
|
158
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_sticky_15o6u_1mhnc_139:not(#\9):not(.awsui_highlighted_15o6u_1mhnc_28):not(.awsui_selected_15o6u_1mhnc_28):not(.awsui_with-scrollbar_15o6u_1mhnc_158) {
|
|
155
159
|
box-shadow: inset 0 var(--border-divider-list-width-2qbfmz, 1px) 0 0 var(--color-border-dropdown-item-default-j9osbc, #eaeded), inset 0 calc(-1 * var(--border-divider-list-width-2qbfmz, 1px)) 0 0 var(--color-border-dropdown-item-default-j9osbc, #eaeded), inset var(--border-width-popover-snsxri, 1px) 0 0 0 var(--color-border-dropdown-container-zmsfa8, transparent), inset calc(-1 * var(--border-width-popover-snsxri, 1px)) 0 0 0 var(--color-border-dropdown-container-zmsfa8, transparent);
|
|
156
160
|
}
|
|
157
|
-
.awsui_selectable-
|
|
161
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_sticky_15o6u_1mhnc_139:not(#\9):not(.awsui_highlighted_15o6u_1mhnc_28):not(.awsui_selected_15o6u_1mhnc_28):not(.awsui_after-header_15o6u_1mhnc_161) {
|
|
158
162
|
border-start-start-radius: var(--border-radius-item-mitz8h, 0px);
|
|
159
163
|
}
|
|
160
|
-
.awsui_selectable-
|
|
164
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_sticky_15o6u_1mhnc_139:not(#\9):not(.awsui_highlighted_15o6u_1mhnc_28):not(.awsui_selected_15o6u_1mhnc_28):not(.awsui_after-header_15o6u_1mhnc_161):not(.awsui_selectable-item_15o6u_1mhnc_9.awsui_sticky_15o6u_1mhnc_139:not(.awsui_highlighted_15o6u_1mhnc_28):not(.awsui_selected_15o6u_1mhnc_28):not(.awsui_after-header_15o6u_1mhnc_161).awsui_with-scrollbar_15o6u_1mhnc_158) {
|
|
161
165
|
border-start-end-radius: var(--border-radius-item-mitz8h, 0px);
|
|
162
166
|
}
|
|
163
|
-
.awsui_selectable-
|
|
167
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_sticky_15o6u_1mhnc_139:not(#\9):not(.awsui_highlighted_15o6u_1mhnc_28):not(.awsui_selected_15o6u_1mhnc_28).awsui_after-header_15o6u_1mhnc_161 {
|
|
164
168
|
box-shadow: inset 0 var(--border-divider-list-width-2qbfmz, 1px) 0 0 var(--color-background-dropdown-item-default-x5ga9w, #ffffff), inset 0 calc(-1 * var(--border-divider-list-width-2qbfmz, 1px)) 0 0 var(--color-border-dropdown-item-default-j9osbc, #eaeded), inset var(--border-width-popover-snsxri, 1px) 0 0 0 var(--color-border-dropdown-container-zmsfa8, transparent);
|
|
165
169
|
}
|
|
166
|
-
.awsui_selectable-
|
|
170
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_sticky_15o6u_1mhnc_139:not(#\9):not(.awsui_highlighted_15o6u_1mhnc_28):not(.awsui_selected_15o6u_1mhnc_28).awsui_after-header_15o6u_1mhnc_161:not(.awsui_with-scrollbar_15o6u_1mhnc_158) {
|
|
167
171
|
box-shadow: inset 0 var(--border-divider-list-width-2qbfmz, 1px) 0 0 var(--color-background-dropdown-item-default-x5ga9w, #ffffff), inset 0 calc(-1 * var(--border-divider-list-width-2qbfmz, 1px)) 0 0 var(--color-border-dropdown-item-default-j9osbc, #eaeded), inset var(--border-width-popover-snsxri, 1px) 0 0 0 var(--color-border-dropdown-container-zmsfa8, transparent), inset calc(-1 * var(--border-width-popover-snsxri, 1px)) 0 0 0 var(--color-border-dropdown-container-zmsfa8, transparent);
|
|
168
172
|
}
|
|
169
|
-
.awsui_selectable-
|
|
173
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_sticky_15o6u_1mhnc_139.awsui_disabled_15o6u_1mhnc_54.awsui_highlighted_15o6u_1mhnc_28:not(#\9), .awsui_selectable-item_15o6u_1mhnc_9.awsui_sticky_15o6u_1mhnc_139.awsui_disabled_15o6u_1mhnc_54.awsui_selected_15o6u_1mhnc_28:not(#\9) {
|
|
170
174
|
box-shadow: none;
|
|
171
175
|
}
|
|
172
|
-
.awsui_selectable-
|
|
176
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_virtual_15o6u_1mhnc_42:not(#\9) {
|
|
173
177
|
position: absolute;
|
|
174
178
|
inset-block-start: var(--border-dropdown-virtual-offset-width-a5kgm3, 0px);
|
|
175
179
|
inset-inline-start: 0;
|
|
176
180
|
inline-size: 100%;
|
|
177
181
|
box-sizing: border-box;
|
|
178
182
|
}
|
|
179
|
-
.awsui_selectable-
|
|
183
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_virtual_15o6u_1mhnc_42:not(#\9):first-of-type:not(.awsui_selected_15o6u_1mhnc_28, .awsui_highlighted_15o6u_1mhnc_28) {
|
|
180
184
|
box-shadow: inset 0 var(--border-divider-list-width-2qbfmz, 1px) 0 0 var(--color-border-dropdown-item-top-vxgkn8, #eaeded), inset 0 calc(-1 * var(--border-divider-list-width-2qbfmz, 1px)) 0 0 var(--color-border-dropdown-item-default-j9osbc, #eaeded);
|
|
181
185
|
}
|
|
182
|
-
.awsui_selectable-
|
|
186
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_virtual_15o6u_1mhnc_42.awsui_parent_15o6u_1mhnc_28:not(#\9):not(.awsui_interactiveGroups_15o6u_1mhnc_28) {
|
|
183
187
|
box-shadow: inset 0 var(--border-divider-list-width-2qbfmz, 1px) 0 0 var(--color-border-dropdown-group-y5droz, #eaeded), inset 0 calc(-1 * var(--border-divider-list-width-2qbfmz, 1px)) 0 0 var(--color-border-dropdown-item-default-j9osbc, #eaeded);
|
|
184
188
|
}
|
|
185
189
|
|
|
186
|
-
.awsui_measure-
|
|
190
|
+
.awsui_measure-strut_15o6u_1mhnc_190:not(#\9) {
|
|
187
191
|
position: absolute;
|
|
188
192
|
pointer-events: none;
|
|
189
193
|
block-size: 100%;
|
|
@@ -191,20 +195,20 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
191
195
|
inset-block-start: 0;
|
|
192
196
|
inset-inline-start: 0;
|
|
193
197
|
}
|
|
194
|
-
.awsui_selectable-
|
|
198
|
+
.awsui_selectable-item_15o6u_1mhnc_9.awsui_virtual_15o6u_1mhnc_42 > .awsui_measure-strut_15o6u_1mhnc_190:not(#\9) {
|
|
195
199
|
block-size: calc(100% - var(--border-width-item-selected-l41fek, 1px));
|
|
196
200
|
}
|
|
197
201
|
|
|
198
|
-
.awsui_screenreader-
|
|
202
|
+
.awsui_screenreader-content_15o6u_1mhnc_202:not(#\9) {
|
|
199
203
|
position: absolute !important;
|
|
200
204
|
inset-block-start: -9999px !important;
|
|
201
205
|
inset-inline-start: -9999px !important;
|
|
202
206
|
}
|
|
203
207
|
|
|
204
|
-
.awsui_option-
|
|
208
|
+
.awsui_option-content_15o6u_1mhnc_208:not(#\9) {
|
|
205
209
|
/* used in test-utils */
|
|
206
210
|
}
|
|
207
211
|
|
|
208
|
-
.awsui_select-
|
|
212
|
+
.awsui_select-all_15o6u_1mhnc_212:not(#\9) {
|
|
209
213
|
/* used in test-utils */
|
|
210
214
|
}
|
|
@@ -2,27 +2,27 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"selectable-item": "awsui_selectable-
|
|
6
|
-
"parent": "
|
|
7
|
-
"interactiveGroups": "
|
|
8
|
-
"highlighted": "
|
|
9
|
-
"selected": "
|
|
10
|
-
"selectable-item-content": "awsui_selectable-item-
|
|
11
|
-
"pad-bottom": "awsui_pad-
|
|
12
|
-
"virtual": "
|
|
13
|
-
"has-background": "awsui_has-
|
|
14
|
-
"child": "
|
|
15
|
-
"disabled": "
|
|
16
|
-
"is-keyboard": "awsui_is-
|
|
17
|
-
"visual-refresh": "awsui_visual-
|
|
18
|
-
"next-item-selected": "awsui_next-item-
|
|
19
|
-
"previous-item-selected": "awsui_previous-item-
|
|
20
|
-
"sticky": "
|
|
21
|
-
"with-scrollbar": "awsui_with-
|
|
22
|
-
"after-header": "awsui_after-
|
|
23
|
-
"measure-strut": "awsui_measure-
|
|
24
|
-
"screenreader-content": "awsui_screenreader-
|
|
25
|
-
"option-content": "awsui_option-
|
|
26
|
-
"select-all": "awsui_select-
|
|
5
|
+
"selectable-item": "awsui_selectable-item_15o6u_1mhnc_9",
|
|
6
|
+
"parent": "awsui_parent_15o6u_1mhnc_28",
|
|
7
|
+
"interactiveGroups": "awsui_interactiveGroups_15o6u_1mhnc_28",
|
|
8
|
+
"highlighted": "awsui_highlighted_15o6u_1mhnc_28",
|
|
9
|
+
"selected": "awsui_selected_15o6u_1mhnc_28",
|
|
10
|
+
"selectable-item-content": "awsui_selectable-item-content_15o6u_1mhnc_31",
|
|
11
|
+
"pad-bottom": "awsui_pad-bottom_15o6u_1mhnc_35",
|
|
12
|
+
"virtual": "awsui_virtual_15o6u_1mhnc_42",
|
|
13
|
+
"has-background": "awsui_has-background_15o6u_1mhnc_45",
|
|
14
|
+
"child": "awsui_child_15o6u_1mhnc_48",
|
|
15
|
+
"disabled": "awsui_disabled_15o6u_1mhnc_54",
|
|
16
|
+
"is-keyboard": "awsui_is-keyboard_15o6u_1mhnc_73",
|
|
17
|
+
"visual-refresh": "awsui_visual-refresh_15o6u_1mhnc_83",
|
|
18
|
+
"next-item-selected": "awsui_next-item-selected_15o6u_1mhnc_97",
|
|
19
|
+
"previous-item-selected": "awsui_previous-item-selected_15o6u_1mhnc_107",
|
|
20
|
+
"sticky": "awsui_sticky_15o6u_1mhnc_139",
|
|
21
|
+
"with-scrollbar": "awsui_with-scrollbar_15o6u_1mhnc_158",
|
|
22
|
+
"after-header": "awsui_after-header_15o6u_1mhnc_161",
|
|
23
|
+
"measure-strut": "awsui_measure-strut_15o6u_1mhnc_190",
|
|
24
|
+
"screenreader-content": "awsui_screenreader-content_15o6u_1mhnc_202",
|
|
25
|
+
"option-content": "awsui_option-content_15o6u_1mhnc_208",
|
|
26
|
+
"select-all": "awsui_select-all_15o6u_1mhnc_212"
|
|
27
27
|
};
|
|
28
28
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export var PACKAGE_SOURCE = "components";
|
|
2
|
-
export var PACKAGE_VERSION = "3.0.0 (
|
|
3
|
-
export var GIT_SHA = "
|
|
2
|
+
export var PACKAGE_VERSION = "3.0.0 (3dc4191d)";
|
|
3
|
+
export var GIT_SHA = "3dc4191d";
|
|
4
4
|
export var THEME = "open-source-visual-refresh";
|
|
5
5
|
export var SYSTEM = "core";
|
|
6
6
|
export var ALWAYS_VISUAL_REFRESH = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/link/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,QAAA,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/link/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,QAAA,MAAM,IAAI,iFAwCT,CAAC;AAGF,eAAe,IAAI,CAAC"}
|
|
@@ -25,7 +25,7 @@ const Link = React.forwardRef(({ fontSize = 'body-m', color = 'normal', external
|
|
|
25
25
|
if (props.href) {
|
|
26
26
|
analyticsMetadata.detail.href = props.href;
|
|
27
27
|
}
|
|
28
|
-
return (React.createElement(InternalLink, { fontSize: fontSize, color: color, external: external, ...props, ...baseComponentProps, ref: ref, ...getAnalyticsMetadataAttribute(analyticsMetadata), style: style }));
|
|
28
|
+
return (React.createElement(InternalLink, { fontSize: fontSize, color: color, external: external, ...props, ...baseComponentProps, ref: ref, ...getAnalyticsMetadataAttribute(analyticsMetadata), style: style, styleClassNames: props.styleClassNames }));
|
|
29
29
|
});
|
|
30
30
|
applyDisplayName(Link, 'Link');
|
|
31
31
|
export default Link;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/link/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/link/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,YAAiC,MAAM,YAAY,CAAC;AAI3D,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAC3B,CACE,EAAE,QAAQ,GAAG,QAAQ,EAAE,KAAK,GAAG,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAa,EACvF,GAA6B,EAC7B,EAAE;IACF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,EAAE;QAClD,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;KACnG,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAA2C;QAChE,MAAM,EAAE,OAAO;QACf,MAAM,EAAE;YACN,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,QAAQ,EAAE,GAAG,QAAQ,EAAE;SACxB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE;SACtD;KACF,CAAC;IAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,iBAAiB,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,OAAO,CACL,oBAAC,YAAY,IACX,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,KACd,KAAK,KACL,kBAAkB,EACtB,GAAG,EAAE,GAAG,KACJ,6BAA6B,CAAC,iBAAiB,CAAC,EACpD,KAAK,EAAE,KAAK,EACZ,eAAe,EAAG,KAA+C,CAAC,eAAe,GACjF,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC/B,eAAe,IAAI,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React from 'react';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { GeneratedAnalyticsMetadataLinkFragment } from './analytics-metadata/interfaces';\nimport { LinkProps } from './interfaces';\nimport InternalLink, { StyleClassNames } from './internal';\n\nexport { LinkProps };\n\nconst Link = React.forwardRef(\n (\n { fontSize = 'body-m', color = 'normal', external = false, style, ...props }: LinkProps,\n ref: React.Ref<LinkProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('Link', {\n props: { color, external, fontSize, rel: props.rel, target: props.target, variant: props.variant },\n });\n\n const analyticsMetadata: GeneratedAnalyticsMetadataLinkFragment = {\n action: 'click',\n detail: {\n label: { root: 'self' },\n external: `${external}`,\n },\n component: {\n name: 'awsui.Link',\n label: { root: 'self' },\n properties: { variant: props.variant || 'secondary' },\n },\n };\n\n if (props.href) {\n analyticsMetadata.detail.href = props.href;\n }\n\n return (\n <InternalLink\n fontSize={fontSize}\n color={color}\n external={external}\n {...props}\n {...baseComponentProps}\n ref={ref}\n {...getAnalyticsMetadataAttribute(analyticsMetadata)}\n style={style}\n styleClassNames={(props as { styleClassNames?: StyleClassNames }).styleClassNames}\n />\n );\n }\n);\n\napplyDisplayName(Link, 'Link');\nexport default Link;\n"]}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { InternalBaseComponentProps } from '../internal/hooks/use-base-component';
|
|
3
3
|
import { LinkProps } from './interfaces';
|
|
4
|
+
export interface StyleClassNames {
|
|
5
|
+
root?: string;
|
|
6
|
+
}
|
|
4
7
|
declare const InternalLink: React.ForwardRefExoticComponent<InternalBaseComponentProps & Omit<LinkProps, "variant"> & {
|
|
5
8
|
variant?: LinkProps["variant"] | "top-navigation" | "link" | "recovery";
|
|
9
|
+
styleClassNames?: StyleClassNames;
|
|
6
10
|
} & React.RefAttributes<LinkProps.Ref>>;
|
|
7
11
|
export default InternalLink;
|
|
8
12
|
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/link/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAsBlD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAKlF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/link/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAsBlD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAKlF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAYzC,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,YAAY;cATJ,SAAS,CAAC,SAAS,CAAC,GAAG,gBAAgB,GAAG,MAAM,GAAG,UAAU;sBACrD,eAAe;uCA8NpC,CAAC;AAqBF,eAAe,YAAY,CAAC"}
|
|
@@ -21,7 +21,7 @@ import { checkSafeUrl } from '../internal/utils/check-safe-url';
|
|
|
21
21
|
import WithNativeAttributes from '../internal/utils/with-native-attributes';
|
|
22
22
|
import { getLinkStyles } from './style';
|
|
23
23
|
import styles from './styles.css.js';
|
|
24
|
-
const InternalLink = React.forwardRef(({ variant: providedVariant, fontSize = 'body-m', color = 'normal', external = false, target, href, rel, ariaLabel, externalIconAriaLabel, onFollow, onClick, children, nativeAttributes, __internalRootRef, style, ...props }, ref) => {
|
|
24
|
+
const InternalLink = React.forwardRef(({ variant: providedVariant, fontSize = 'body-m', color = 'normal', external = false, target, href, rel, ariaLabel, externalIconAriaLabel, onFollow, onClick, children, nativeAttributes, __internalRootRef, style, styleClassNames, ...props }, ref) => {
|
|
25
25
|
checkSafeUrl('Link', href);
|
|
26
26
|
const isButton = !href;
|
|
27
27
|
const { defaultVariant } = useContext(LinkDefaultVariantContext);
|
|
@@ -118,7 +118,7 @@ const InternalLink = React.forwardRef(({ variant: providedVariant, fontSize = 'b
|
|
|
118
118
|
id: linkId,
|
|
119
119
|
...baseProps,
|
|
120
120
|
ref: useMergeRefs(linkRef, __internalRootRef),
|
|
121
|
-
className: clsx(styles.link, baseProps.className, applyButtonStyles ? styles.button : null, styles[getVariantStyle(variant)], styles[getFontSizeStyle(variant, fontSize)], styles[getColorStyle(variant, color)], isInlineToken && styles['in-inline-token']),
|
|
121
|
+
className: clsx(styles.link, baseProps.className, styleClassNames === null || styleClassNames === void 0 ? void 0 : styleClassNames.root, applyButtonStyles ? styles.button : null, styles[getVariantStyle(variant)], styles[getFontSizeStyle(variant, fontSize)], styles[getColorStyle(variant, color)], isInlineToken && styles['in-inline-token']),
|
|
122
122
|
style: getLinkStyles(style),
|
|
123
123
|
'aria-label': ariaLabel,
|
|
124
124
|
'aria-labelledby': undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/link/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, { useContext, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs, useUniqueId } from '@cloudscape-design/component-toolkit/internal';\nimport { useSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useInternalI18n } from '../i18n/context';\nimport InternalIcon from '../icon/internal';\nimport { FunnelMetrics } from '../internal/analytics';\nimport { useFunnel, useFunnelStep, useFunnelSubStep } from '../internal/analytics/hooks/use-funnel';\nimport {\n DATA_ATTR_FUNNEL_VALUE,\n getFunnelValueSelector,\n getSubStepAllSelector,\n getTextFromSelector,\n} from '../internal/analytics/selectors';\nimport { getBaseProps } from '../internal/base-component';\nimport { InfoLinkLabelContext } from '../internal/context/info-link-label-context';\nimport { LinkDefaultVariantContext } from '../internal/context/link-default-variant-context';\nimport { useTokenInlineContext } from '../internal/context/token-inline-context';\nimport { fireCancelableEvent, fireNonCancelableEvent, isPlainLeftClick } from '../internal/events';\nimport useForwardFocus from '../internal/hooks/forward-focus';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { KeyCode } from '../internal/keycode';\nimport { checkSafeUrl } from '../internal/utils/check-safe-url';\nimport WithNativeAttributes from '../internal/utils/with-native-attributes';\nimport { LinkProps } from './interfaces';\nimport { getLinkStyles } from './style';\n\nimport styles from './styles.css.js';\n\ntype InternalLinkProps = InternalBaseComponentProps &\n Omit<LinkProps, 'variant'> & {\n variant?: LinkProps['variant'] | 'top-navigation' | 'link' | 'recovery';\n };\n\nconst InternalLink = React.forwardRef(\n (\n {\n variant: providedVariant,\n fontSize = 'body-m',\n color = 'normal',\n external = false,\n target,\n href,\n rel,\n ariaLabel,\n externalIconAriaLabel,\n onFollow,\n onClick,\n children,\n nativeAttributes,\n __internalRootRef,\n style,\n ...props\n }: InternalLinkProps,\n ref: React.Ref<LinkProps.Ref>\n ) => {\n checkSafeUrl('Link', href);\n const isButton = !href;\n const { defaultVariant } = useContext(LinkDefaultVariantContext);\n const variant = providedVariant || defaultVariant;\n const specialStyles = ['top-navigation', 'link', 'recovery', 'info'];\n const hasSpecialStyle = specialStyles.indexOf(variant) > -1;\n\n const i18n = useInternalI18n('link');\n const baseProps = getBaseProps(props);\n const anchorTarget = target ?? (external ? '_blank' : undefined);\n const anchorRel = rel ?? (anchorTarget === '_blank' ? 'noopener noreferrer' : undefined);\n const uniqueId = useUniqueId('link');\n const linkId = useUniqueId('link-self');\n const infoId = useUniqueId('link-info');\n\n const infoLinkLabelFromContext = useContext(InfoLinkLabelContext);\n\n const { funnelIdentifier, funnelInteractionId } = useFunnel();\n const { stepIdentifier, stepNumber, stepNameSelector } = useFunnelStep();\n const { subStepIdentifier, subStepSelector, subStepNameSelector } = useFunnelSubStep();\n\n const fireFunnelEvent = (funnelInteractionId: string) => {\n if (variant === 'info') {\n const stepName = getTextFromSelector(stepNameSelector);\n const subStepName = getTextFromSelector(subStepNameSelector);\n\n FunnelMetrics.helpPanelInteracted({\n funnelIdentifier,\n funnelInteractionId,\n stepIdentifier,\n stepNumber,\n stepName,\n subStepIdentifier,\n stepNameSelector,\n subStepSelector,\n subStepName,\n subStepNameSelector,\n elementSelector: getFunnelValueSelector(uniqueId),\n subStepAllSelector: getSubStepAllSelector(),\n });\n } else if (external) {\n const stepName = getTextFromSelector(stepNameSelector);\n const subStepName = getTextFromSelector(subStepNameSelector);\n\n FunnelMetrics.externalLinkInteracted({\n funnelIdentifier,\n funnelInteractionId,\n stepIdentifier,\n stepNumber,\n stepName,\n stepNameSelector,\n subStepIdentifier,\n subStepSelector,\n subStepName,\n subStepNameSelector,\n elementSelector: getFunnelValueSelector(uniqueId),\n subStepAllSelector: getSubStepAllSelector(),\n });\n }\n };\n\n const fireFollowEvent = (event: React.SyntheticEvent) => {\n if (funnelInteractionId) {\n fireFunnelEvent(funnelInteractionId);\n }\n\n fireCancelableEvent(onFollow, { href, external, target: anchorTarget }, event);\n };\n\n const fireClickEvent = (event: React.MouseEvent | React.KeyboardEvent) => {\n const { altKey, ctrlKey, metaKey, shiftKey } = event;\n // eslint-disable-next-line no-restricted-syntax -- MouseEvent vs KeyboardEvent discrimination\n const button = 'button' in event ? event.button : 0;\n // make onClick non-cancelable to prevent it from being used to block full page reload\n // for navigation use `onFollow` event instead\n fireNonCancelableEvent(onClick, { altKey, button, ctrlKey, metaKey, shiftKey });\n };\n\n const handleLinkClick = (event: React.MouseEvent) => {\n if (isPlainLeftClick(event)) {\n fireFollowEvent(event);\n }\n fireClickEvent(event);\n };\n\n const handleButtonClick = (event: React.MouseEvent) => {\n fireFollowEvent(event);\n fireClickEvent(event);\n };\n\n const handleButtonKeyDown = (event: React.KeyboardEvent) => {\n if (event.keyCode === KeyCode.space || event.keyCode === KeyCode.enter) {\n event.preventDefault();\n fireFollowEvent(event);\n fireClickEvent(event);\n }\n };\n\n const linkRef = useRef<HTMLElement>(null);\n const isVisualRefresh = useVisualRefresh();\n const { isInlineToken } = useTokenInlineContext();\n useForwardFocus(ref, linkRef);\n\n // Visual refresh should only add styles to buttons that don't already have unique styles (e.g. primary/secondary variants)\n const applyButtonStyles = isButton && isVisualRefresh && !hasSpecialStyle;\n\n const sharedProps = {\n id: linkId,\n ...baseProps,\n ref: useMergeRefs(linkRef, __internalRootRef),\n className: clsx(\n styles.link,\n baseProps.className,\n applyButtonStyles ? styles.button : null,\n styles[getVariantStyle(variant)],\n styles[getFontSizeStyle(variant, fontSize)],\n styles[getColorStyle(variant, color)],\n isInlineToken && styles['in-inline-token']\n ),\n style: getLinkStyles(style),\n 'aria-label': ariaLabel,\n 'aria-labelledby': undefined as string | undefined,\n [DATA_ATTR_FUNNEL_VALUE]: uniqueId,\n 'data-awsui-motion-trigger': 'hover',\n 'data-awsui-motion-target': '',\n };\n\n if (variant === 'info' && infoLinkLabelFromContext && !ariaLabel) {\n sharedProps['aria-labelledby'] = `${sharedProps.id} ${infoId} ${infoLinkLabelFromContext}`;\n }\n\n const renderedExternalIconAriaLabel = i18n('externalIconAriaLabel', externalIconAriaLabel);\n const content = (\n <>\n <span>{children}</span>\n {external && (\n <span className={styles['icon-wrapper']}>\n \n <span\n className={styles.icon}\n aria-label={renderedExternalIconAriaLabel}\n role={renderedExternalIconAriaLabel ? 'img' : undefined}\n >\n <InternalIcon name=\"external\" size=\"inherit\" />\n </span>\n </span>\n )}\n {variant === 'info' && (\n <span hidden={true} id={infoId}>\n :\n </span>\n )}\n </>\n );\n\n const { tabIndex } = useSingleTabStopNavigation(linkRef, { tabIndex: isButton ? 0 : undefined });\n\n if (isButton) {\n return (\n <WithNativeAttributes\n {...sharedProps}\n tag=\"a\"\n componentName=\"Link\"\n nativeAttributes={nativeAttributes}\n role=\"button\"\n tabIndex={tabIndex}\n onKeyDown={handleButtonKeyDown}\n onClick={handleButtonClick}\n >\n {content}\n </WithNativeAttributes>\n );\n }\n\n return (\n <WithNativeAttributes\n {...sharedProps}\n tag=\"a\"\n componentName=\"Link\"\n nativeAttributes={nativeAttributes}\n tabIndex={tabIndex}\n target={anchorTarget}\n rel={anchorRel}\n href={href}\n onClick={handleLinkClick}\n >\n {content}\n </WithNativeAttributes>\n );\n }\n);\n\nfunction getVariantStyle(variant: Exclude<InternalLinkProps['variant'], undefined>) {\n return `variant-${variant.replace(/^awsui-/, '')}`;\n}\n\nfunction getFontSizeStyle(variant: InternalLinkProps['variant'], fontSize: InternalLinkProps['fontSize']) {\n switch (variant) {\n case 'info':\n return 'font-size-body-s';\n case 'awsui-value-large':\n return 'font-size-display-l';\n default:\n return `font-size-${fontSize}`;\n }\n}\n\nfunction getColorStyle(variant: InternalLinkProps['variant'], color: InternalLinkProps['color']) {\n return `color-${variant === 'info' ? 'normal' : color}`;\n}\n\nexport default InternalLink;\n"]}
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/link/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, { useContext, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs, useUniqueId } from '@cloudscape-design/component-toolkit/internal';\nimport { useSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useInternalI18n } from '../i18n/context';\nimport InternalIcon from '../icon/internal';\nimport { FunnelMetrics } from '../internal/analytics';\nimport { useFunnel, useFunnelStep, useFunnelSubStep } from '../internal/analytics/hooks/use-funnel';\nimport {\n DATA_ATTR_FUNNEL_VALUE,\n getFunnelValueSelector,\n getSubStepAllSelector,\n getTextFromSelector,\n} from '../internal/analytics/selectors';\nimport { getBaseProps } from '../internal/base-component';\nimport { InfoLinkLabelContext } from '../internal/context/info-link-label-context';\nimport { LinkDefaultVariantContext } from '../internal/context/link-default-variant-context';\nimport { useTokenInlineContext } from '../internal/context/token-inline-context';\nimport { fireCancelableEvent, fireNonCancelableEvent, isPlainLeftClick } from '../internal/events';\nimport useForwardFocus from '../internal/hooks/forward-focus';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { KeyCode } from '../internal/keycode';\nimport { checkSafeUrl } from '../internal/utils/check-safe-url';\nimport WithNativeAttributes from '../internal/utils/with-native-attributes';\nimport { LinkProps } from './interfaces';\nimport { getLinkStyles } from './style';\n\nimport styles from './styles.css.js';\n\ntype InternalLinkProps = InternalBaseComponentProps &\n Omit<LinkProps, 'variant'> & {\n variant?: LinkProps['variant'] | 'top-navigation' | 'link' | 'recovery';\n styleClassNames?: StyleClassNames;\n };\n\n// Style API v2\nexport interface StyleClassNames {\n root?: string;\n}\n\nconst InternalLink = React.forwardRef(\n (\n {\n variant: providedVariant,\n fontSize = 'body-m',\n color = 'normal',\n external = false,\n target,\n href,\n rel,\n ariaLabel,\n externalIconAriaLabel,\n onFollow,\n onClick,\n children,\n nativeAttributes,\n __internalRootRef,\n style,\n styleClassNames,\n ...props\n }: InternalLinkProps,\n ref: React.Ref<LinkProps.Ref>\n ) => {\n checkSafeUrl('Link', href);\n const isButton = !href;\n const { defaultVariant } = useContext(LinkDefaultVariantContext);\n const variant = providedVariant || defaultVariant;\n const specialStyles = ['top-navigation', 'link', 'recovery', 'info'];\n const hasSpecialStyle = specialStyles.indexOf(variant) > -1;\n\n const i18n = useInternalI18n('link');\n const baseProps = getBaseProps(props);\n const anchorTarget = target ?? (external ? '_blank' : undefined);\n const anchorRel = rel ?? (anchorTarget === '_blank' ? 'noopener noreferrer' : undefined);\n const uniqueId = useUniqueId('link');\n const linkId = useUniqueId('link-self');\n const infoId = useUniqueId('link-info');\n\n const infoLinkLabelFromContext = useContext(InfoLinkLabelContext);\n\n const { funnelIdentifier, funnelInteractionId } = useFunnel();\n const { stepIdentifier, stepNumber, stepNameSelector } = useFunnelStep();\n const { subStepIdentifier, subStepSelector, subStepNameSelector } = useFunnelSubStep();\n\n const fireFunnelEvent = (funnelInteractionId: string) => {\n if (variant === 'info') {\n const stepName = getTextFromSelector(stepNameSelector);\n const subStepName = getTextFromSelector(subStepNameSelector);\n\n FunnelMetrics.helpPanelInteracted({\n funnelIdentifier,\n funnelInteractionId,\n stepIdentifier,\n stepNumber,\n stepName,\n subStepIdentifier,\n stepNameSelector,\n subStepSelector,\n subStepName,\n subStepNameSelector,\n elementSelector: getFunnelValueSelector(uniqueId),\n subStepAllSelector: getSubStepAllSelector(),\n });\n } else if (external) {\n const stepName = getTextFromSelector(stepNameSelector);\n const subStepName = getTextFromSelector(subStepNameSelector);\n\n FunnelMetrics.externalLinkInteracted({\n funnelIdentifier,\n funnelInteractionId,\n stepIdentifier,\n stepNumber,\n stepName,\n stepNameSelector,\n subStepIdentifier,\n subStepSelector,\n subStepName,\n subStepNameSelector,\n elementSelector: getFunnelValueSelector(uniqueId),\n subStepAllSelector: getSubStepAllSelector(),\n });\n }\n };\n\n const fireFollowEvent = (event: React.SyntheticEvent) => {\n if (funnelInteractionId) {\n fireFunnelEvent(funnelInteractionId);\n }\n\n fireCancelableEvent(onFollow, { href, external, target: anchorTarget }, event);\n };\n\n const fireClickEvent = (event: React.MouseEvent | React.KeyboardEvent) => {\n const { altKey, ctrlKey, metaKey, shiftKey } = event;\n // eslint-disable-next-line no-restricted-syntax -- MouseEvent vs KeyboardEvent discrimination\n const button = 'button' in event ? event.button : 0;\n // make onClick non-cancelable to prevent it from being used to block full page reload\n // for navigation use `onFollow` event instead\n fireNonCancelableEvent(onClick, { altKey, button, ctrlKey, metaKey, shiftKey });\n };\n\n const handleLinkClick = (event: React.MouseEvent) => {\n if (isPlainLeftClick(event)) {\n fireFollowEvent(event);\n }\n fireClickEvent(event);\n };\n\n const handleButtonClick = (event: React.MouseEvent) => {\n fireFollowEvent(event);\n fireClickEvent(event);\n };\n\n const handleButtonKeyDown = (event: React.KeyboardEvent) => {\n if (event.keyCode === KeyCode.space || event.keyCode === KeyCode.enter) {\n event.preventDefault();\n fireFollowEvent(event);\n fireClickEvent(event);\n }\n };\n\n const linkRef = useRef<HTMLElement>(null);\n const isVisualRefresh = useVisualRefresh();\n const { isInlineToken } = useTokenInlineContext();\n useForwardFocus(ref, linkRef);\n\n // Visual refresh should only add styles to buttons that don't already have unique styles (e.g. primary/secondary variants)\n const applyButtonStyles = isButton && isVisualRefresh && !hasSpecialStyle;\n\n const sharedProps = {\n id: linkId,\n ...baseProps,\n ref: useMergeRefs(linkRef, __internalRootRef),\n className: clsx(\n styles.link,\n baseProps.className,\n styleClassNames?.root,\n applyButtonStyles ? styles.button : null,\n styles[getVariantStyle(variant)],\n styles[getFontSizeStyle(variant, fontSize)],\n styles[getColorStyle(variant, color)],\n isInlineToken && styles['in-inline-token']\n ),\n style: getLinkStyles(style),\n 'aria-label': ariaLabel,\n 'aria-labelledby': undefined as string | undefined,\n [DATA_ATTR_FUNNEL_VALUE]: uniqueId,\n 'data-awsui-motion-trigger': 'hover',\n 'data-awsui-motion-target': '',\n };\n\n if (variant === 'info' && infoLinkLabelFromContext && !ariaLabel) {\n sharedProps['aria-labelledby'] = `${sharedProps.id} ${infoId} ${infoLinkLabelFromContext}`;\n }\n\n const renderedExternalIconAriaLabel = i18n('externalIconAriaLabel', externalIconAriaLabel);\n const content = (\n <>\n <span>{children}</span>\n {external && (\n <span className={styles['icon-wrapper']}>\n \n <span\n className={styles.icon}\n aria-label={renderedExternalIconAriaLabel}\n role={renderedExternalIconAriaLabel ? 'img' : undefined}\n >\n <InternalIcon name=\"external\" size=\"inherit\" />\n </span>\n </span>\n )}\n {variant === 'info' && (\n <span hidden={true} id={infoId}>\n :\n </span>\n )}\n </>\n );\n\n const { tabIndex } = useSingleTabStopNavigation(linkRef, { tabIndex: isButton ? 0 : undefined });\n\n if (isButton) {\n return (\n <WithNativeAttributes\n {...sharedProps}\n tag=\"a\"\n componentName=\"Link\"\n nativeAttributes={nativeAttributes}\n role=\"button\"\n tabIndex={tabIndex}\n onKeyDown={handleButtonKeyDown}\n onClick={handleButtonClick}\n >\n {content}\n </WithNativeAttributes>\n );\n }\n\n return (\n <WithNativeAttributes\n {...sharedProps}\n tag=\"a\"\n componentName=\"Link\"\n nativeAttributes={nativeAttributes}\n tabIndex={tabIndex}\n target={anchorTarget}\n rel={anchorRel}\n href={href}\n onClick={handleLinkClick}\n >\n {content}\n </WithNativeAttributes>\n );\n }\n);\n\nfunction getVariantStyle(variant: Exclude<InternalLinkProps['variant'], undefined>) {\n return `variant-${variant.replace(/^awsui-/, '')}`;\n}\n\nfunction getFontSizeStyle(variant: InternalLinkProps['variant'], fontSize: InternalLinkProps['fontSize']) {\n switch (variant) {\n case 'info':\n return 'font-size-body-s';\n case 'awsui-value-large':\n return 'font-size-display-l';\n default:\n return `font-size-${fontSize}`;\n }\n}\n\nfunction getColorStyle(variant: InternalLinkProps['variant'], color: InternalLinkProps['color']) {\n return `color-${variant === 'info' ? 'normal' : color}`;\n}\n\nexport default InternalLink;\n"]}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"link": "
|
|
5
|
-
"variant-recovery": "awsui_variant-
|
|
6
|
-
"variant-secondary": "awsui_variant-
|
|
7
|
-
"variant-primary": "awsui_variant-
|
|
8
|
-
"variant-info": "awsui_variant-
|
|
9
|
-
"variant-value-large": "awsui_variant-value-
|
|
10
|
-
"variant-top-navigation": "awsui_variant-top-
|
|
11
|
-
"button": "
|
|
12
|
-
"color-inverted": "awsui_color-
|
|
13
|
-
"font-size-body-s": "awsui_font-size-body-
|
|
14
|
-
"font-size-body-m": "awsui_font-size-body-
|
|
15
|
-
"font-size-heading-xs": "awsui_font-size-heading-
|
|
16
|
-
"font-size-heading-s": "awsui_font-size-heading-
|
|
17
|
-
"font-size-heading-m": "awsui_font-size-heading-
|
|
18
|
-
"font-size-heading-l": "awsui_font-size-heading-
|
|
19
|
-
"font-size-heading-xl": "awsui_font-size-heading-
|
|
20
|
-
"font-size-display-l": "awsui_font-size-display-
|
|
21
|
-
"font-size-inherit": "awsui_font-size-
|
|
22
|
-
"in-inline-token": "awsui_in-inline-
|
|
23
|
-
"icon-wrapper": "awsui_icon-
|
|
24
|
-
"icon": "
|
|
4
|
+
"link": "awsui_link_4c84z_vlyrh_26",
|
|
5
|
+
"variant-recovery": "awsui_variant-recovery_4c84z_vlyrh_94",
|
|
6
|
+
"variant-secondary": "awsui_variant-secondary_4c84z_vlyrh_127",
|
|
7
|
+
"variant-primary": "awsui_variant-primary_4c84z_vlyrh_162",
|
|
8
|
+
"variant-info": "awsui_variant-info_4c84z_vlyrh_195",
|
|
9
|
+
"variant-value-large": "awsui_variant-value-large_4c84z_vlyrh_230",
|
|
10
|
+
"variant-top-navigation": "awsui_variant-top-navigation_4c84z_vlyrh_262",
|
|
11
|
+
"button": "awsui_button_4c84z_vlyrh_297",
|
|
12
|
+
"color-inverted": "awsui_color-inverted_4c84z_vlyrh_332",
|
|
13
|
+
"font-size-body-s": "awsui_font-size-body-s_4c84z_vlyrh_353",
|
|
14
|
+
"font-size-body-m": "awsui_font-size-body-m_4c84z_vlyrh_361",
|
|
15
|
+
"font-size-heading-xs": "awsui_font-size-heading-xs_4c84z_vlyrh_368",
|
|
16
|
+
"font-size-heading-s": "awsui_font-size-heading-s_4c84z_vlyrh_376",
|
|
17
|
+
"font-size-heading-m": "awsui_font-size-heading-m_4c84z_vlyrh_384",
|
|
18
|
+
"font-size-heading-l": "awsui_font-size-heading-l_4c84z_vlyrh_392",
|
|
19
|
+
"font-size-heading-xl": "awsui_font-size-heading-xl_4c84z_vlyrh_400",
|
|
20
|
+
"font-size-display-l": "awsui_font-size-display-l_4c84z_vlyrh_408",
|
|
21
|
+
"font-size-inherit": "awsui_font-size-inherit_4c84z_vlyrh_416",
|
|
22
|
+
"in-inline-token": "awsui_in-inline-token_4c84z_vlyrh_424",
|
|
23
|
+
"icon-wrapper": "awsui_icon-wrapper_4c84z_vlyrh_428",
|
|
24
|
+
"icon": "awsui_icon_4c84z_vlyrh_428"
|
|
25
25
|
};
|
|
26
26
|
|