@cloudscape-design/components-themeable 3.0.1279 → 3.0.1281

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/action-card/constants.scss +43 -0
  3. package/lib/internal/scss/action-card/mixins.scss +69 -0
  4. package/lib/internal/scss/action-card/motion.scss +31 -0
  5. package/lib/internal/scss/action-card/styles.scss +229 -0
  6. package/lib/internal/scss/action-card/test-classes/styles.scss +13 -0
  7. package/lib/internal/scss/drawer/styles.scss +10 -1
  8. package/lib/internal/scss/internal/components/structured-item/styles.scss +1 -0
  9. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
  10. package/lib/internal/scss/item-card/styles.scss +2 -2
  11. package/lib/internal/scss/table/body-cell/styles.scss +1 -1
  12. package/lib/internal/scss/table/styles.scss +1 -1
  13. package/lib/internal/scss/tiles/styles.scss +2 -1
  14. package/lib/internal/template/action-card/index.d.ts +6 -0
  15. package/lib/internal/template/action-card/index.d.ts.map +1 -0
  16. package/lib/internal/template/action-card/index.js +30 -0
  17. package/lib/internal/template/action-card/index.js.map +1 -0
  18. package/lib/internal/template/action-card/interfaces.d.ts +81 -0
  19. package/lib/internal/template/action-card/interfaces.d.ts.map +1 -0
  20. package/lib/internal/template/action-card/interfaces.js +2 -0
  21. package/lib/internal/template/action-card/interfaces.js.map +1 -0
  22. package/lib/internal/template/action-card/internal.d.ts +7 -0
  23. package/lib/internal/template/action-card/internal.d.ts.map +1 -0
  24. package/lib/internal/template/action-card/internal.js +74 -0
  25. package/lib/internal/template/action-card/internal.js.map +1 -0
  26. package/lib/internal/template/action-card/styles.css.js +22 -0
  27. package/lib/internal/template/action-card/styles.scoped.css +580 -0
  28. package/lib/internal/template/action-card/styles.selectors.js +23 -0
  29. package/lib/internal/template/action-card/test-classes/styles.css.js +11 -0
  30. package/lib/internal/template/action-card/test-classes/styles.scoped.css +12 -0
  31. package/lib/internal/template/action-card/test-classes/styles.selectors.js +12 -0
  32. package/lib/internal/template/date-range-picker/index.d.ts.map +1 -1
  33. package/lib/internal/template/date-range-picker/index.js +7 -6
  34. package/lib/internal/template/date-range-picker/index.js.map +1 -1
  35. package/lib/internal/template/date-range-picker/interfaces.d.ts +8 -0
  36. package/lib/internal/template/date-range-picker/interfaces.d.ts.map +1 -1
  37. package/lib/internal/template/date-range-picker/interfaces.js.map +1 -1
  38. package/lib/internal/template/drawer/implementation.d.ts +3 -3
  39. package/lib/internal/template/drawer/implementation.d.ts.map +1 -1
  40. package/lib/internal/template/drawer/implementation.js +5 -2
  41. package/lib/internal/template/drawer/implementation.js.map +1 -1
  42. package/lib/internal/template/drawer/index.d.ts +2 -1
  43. package/lib/internal/template/drawer/index.d.ts.map +1 -1
  44. package/lib/internal/template/drawer/index.js +16 -4
  45. package/lib/internal/template/drawer/index.js.map +1 -1
  46. package/lib/internal/template/drawer/interfaces.d.ts +72 -7
  47. package/lib/internal/template/drawer/interfaces.d.ts.map +1 -1
  48. package/lib/internal/template/drawer/interfaces.js +2 -0
  49. package/lib/internal/template/drawer/interfaces.js.map +1 -1
  50. package/lib/internal/template/drawer/next.d.ts +5 -0
  51. package/lib/internal/template/drawer/next.d.ts.map +1 -0
  52. package/lib/internal/template/drawer/next.js +31 -0
  53. package/lib/internal/template/drawer/next.js.map +1 -0
  54. package/lib/internal/template/drawer/styles.css.js +16 -12
  55. package/lib/internal/template/drawer/styles.scoped.css +23 -17
  56. package/lib/internal/template/drawer/styles.selectors.js +16 -12
  57. package/lib/internal/template/drawer/utils.d.ts +9 -0
  58. package/lib/internal/template/drawer/utils.d.ts.map +1 -0
  59. package/lib/internal/template/drawer/utils.js +74 -0
  60. package/lib/internal/template/drawer/utils.js.map +1 -0
  61. package/lib/internal/template/i18n/dynamic.d.ts +1 -1
  62. package/lib/internal/template/i18n/testing.js +1 -1
  63. package/lib/internal/template/i18n/testing.js.map +1 -1
  64. package/lib/internal/template/index.d.ts +1 -0
  65. package/lib/internal/template/index.d.ts.map +1 -1
  66. package/lib/internal/template/index.js +1 -0
  67. package/lib/internal/template/index.js.map +1 -1
  68. package/lib/internal/template/internal/base-component/styles.scoped.css +143 -5
  69. package/lib/internal/template/internal/components/drag-handle/button.d.ts +1 -1
  70. package/lib/internal/template/internal/components/drag-handle/index.d.ts +1 -1
  71. package/lib/internal/template/internal/components/structured-item/styles.css.js +7 -7
  72. package/lib/internal/template/internal/components/structured-item/styles.scoped.css +9 -8
  73. package/lib/internal/template/internal/components/structured-item/styles.selectors.js +7 -7
  74. package/lib/internal/template/internal/environment.js +2 -2
  75. package/lib/internal/template/internal/environment.json +2 -2
  76. package/lib/internal/template/internal/generated/styles/tokens.d.ts +28 -1
  77. package/lib/internal/template/internal/generated/styles/tokens.js +28 -1
  78. package/lib/internal/template/internal/generated/theming/index.cjs +533 -4
  79. package/lib/internal/template/internal/generated/theming/index.cjs.d.ts +36 -0
  80. package/lib/internal/template/internal/generated/theming/index.d.ts +36 -0
  81. package/lib/internal/template/internal/generated/theming/index.js +533 -4
  82. package/lib/internal/template/item-card/styles.css.js +14 -14
  83. package/lib/internal/template/item-card/styles.scoped.css +52 -52
  84. package/lib/internal/template/item-card/styles.selectors.js +14 -14
  85. package/lib/internal/template/package.json +1 -0
  86. package/lib/internal/template/select/parts/filter.d.ts +1 -1
  87. package/lib/internal/template/table/body-cell/styles.css.js +48 -48
  88. package/lib/internal/template/table/body-cell/styles.scoped.css +379 -379
  89. package/lib/internal/template/table/body-cell/styles.selectors.js +48 -48
  90. package/lib/internal/template/table/styles.css.js +34 -34
  91. package/lib/internal/template/table/styles.scoped.css +42 -42
  92. package/lib/internal/template/table/styles.selectors.js +34 -34
  93. package/lib/internal/template/test-utils/dom/action-card/index.d.ts +29 -0
  94. package/lib/internal/template/test-utils/dom/action-card/index.js +64 -0
  95. package/lib/internal/template/test-utils/dom/action-card/index.js.map +1 -0
  96. package/lib/internal/template/test-utils/dom/autosuggest/index.js +16 -17
  97. package/lib/internal/template/test-utils/dom/autosuggest/index.js.map +1 -1
  98. package/lib/internal/template/test-utils/dom/button-dropdown/index.js +1 -2
  99. package/lib/internal/template/test-utils/dom/button-dropdown/index.js.map +1 -1
  100. package/lib/internal/template/test-utils/dom/dropdown/index.d.ts +0 -1
  101. package/lib/internal/template/test-utils/dom/dropdown/index.js +0 -2
  102. package/lib/internal/template/test-utils/dom/dropdown/index.js.map +1 -1
  103. package/lib/internal/template/test-utils/dom/index.d.ts +28 -0
  104. package/lib/internal/template/test-utils/dom/index.js +21 -2
  105. package/lib/internal/template/test-utils/dom/index.js.map +1 -1
  106. package/lib/internal/template/test-utils/dom/internal/autosuggest-input.js +1 -2
  107. package/lib/internal/template/test-utils/dom/internal/autosuggest-input.js.map +1 -1
  108. package/lib/internal/template/test-utils/dom/internal/dropdown-host.js +17 -18
  109. package/lib/internal/template/test-utils/dom/internal/dropdown-host.js.map +1 -1
  110. package/lib/internal/template/test-utils/dom/internal/dropdown.js +1 -2
  111. package/lib/internal/template/test-utils/dom/internal/dropdown.js.map +1 -1
  112. package/lib/internal/template/test-utils/selectors/action-card/index.d.ts +20 -0
  113. package/lib/internal/template/test-utils/selectors/action-card/index.js +36 -0
  114. package/lib/internal/template/test-utils/selectors/action-card/index.js.map +1 -0
  115. package/lib/internal/template/test-utils/selectors/autosuggest/index.js +16 -17
  116. package/lib/internal/template/test-utils/selectors/autosuggest/index.js.map +1 -1
  117. package/lib/internal/template/test-utils/selectors/button-dropdown/index.js +1 -2
  118. package/lib/internal/template/test-utils/selectors/button-dropdown/index.js.map +1 -1
  119. package/lib/internal/template/test-utils/selectors/dropdown/index.d.ts +0 -1
  120. package/lib/internal/template/test-utils/selectors/dropdown/index.js +0 -2
  121. package/lib/internal/template/test-utils/selectors/dropdown/index.js.map +1 -1
  122. package/lib/internal/template/test-utils/selectors/index.d.ts +18 -0
  123. package/lib/internal/template/test-utils/selectors/index.js +16 -2
  124. package/lib/internal/template/test-utils/selectors/index.js.map +1 -1
  125. package/lib/internal/template/test-utils/selectors/internal/autosuggest-input.js +1 -2
  126. package/lib/internal/template/test-utils/selectors/internal/autosuggest-input.js.map +1 -1
  127. package/lib/internal/template/test-utils/selectors/internal/dropdown-host.js +17 -18
  128. package/lib/internal/template/test-utils/selectors/internal/dropdown-host.js.map +1 -1
  129. package/lib/internal/template/test-utils/selectors/internal/dropdown.js +1 -2
  130. package/lib/internal/template/test-utils/selectors/internal/dropdown.js.map +1 -1
  131. package/lib/internal/template/tiles/styles.css.js +30 -30
  132. package/lib/internal/template/tiles/styles.scoped.css +73 -73
  133. package/lib/internal/template/tiles/styles.selectors.js +30 -30
  134. package/package.json +1 -1
  135. package/lib/internal/scss/internal/components/dropdown/styles.scss +0 -12
  136. package/lib/internal/template/internal/components/dropdown/styles.css.js +0 -7
  137. package/lib/internal/template/internal/components/dropdown/styles.scoped.css +0 -11
  138. package/lib/internal/template/internal/components/dropdown/styles.selectors.js +0 -8
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "53439b2b38989b0ed9dba615c84845bf6ee93b95"
2
+ "commit": "9d03c89609f1c2f56311a882db2e1fd648dc4894"
3
3
  }
@@ -0,0 +1,43 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ @use '../internal/styles/tokens' as awsui;
7
+
8
+ // State configuration for the action card root element.
9
+ // Each state maps to background, box-shadow, border-color, border-width, text-color, and icon-color.
10
+ $states: (
11
+ 'default': (
12
+ 'background': awsui.$color-background-action-card-default,
13
+ 'box-shadow': none,
14
+ 'border-color': awsui.$color-border-action-card-default,
15
+ 'border-width': awsui.$border-width-action-card-default,
16
+ 'text-color': inherit,
17
+ 'icon-color': awsui.$color-icon-action-card-default,
18
+ ),
19
+ 'hover': (
20
+ 'background': awsui.$color-background-action-card-hover,
21
+ 'box-shadow': none,
22
+ 'border-color': awsui.$color-border-action-card-hover,
23
+ 'border-width': awsui.$border-width-action-card-hover,
24
+ 'text-color': inherit,
25
+ 'icon-color': awsui.$color-icon-action-card-hover,
26
+ ),
27
+ 'active': (
28
+ 'background': awsui.$color-background-action-card-active,
29
+ 'box-shadow': none,
30
+ 'border-color': awsui.$color-border-action-card-active,
31
+ 'border-width': awsui.$border-width-action-card-active,
32
+ 'text-color': inherit,
33
+ 'icon-color': awsui.$color-icon-action-card-active,
34
+ ),
35
+ 'disabled': (
36
+ 'background': awsui.$color-background-action-card-disabled,
37
+ 'box-shadow': none,
38
+ 'border-color': awsui.$color-border-action-card-disabled,
39
+ 'border-width': awsui.$border-width-action-card-disabled,
40
+ 'text-color': awsui.$color-text-action-card-disabled,
41
+ 'icon-color': awsui.$color-icon-action-card-disabled,
42
+ ),
43
+ );
@@ -0,0 +1,69 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ @use 'sass:map';
7
+ @use '../internal/styles/tokens' as awsui;
8
+ @use './constants' as constants;
9
+
10
+ $variant-border-radius: (
11
+ 'embedded': awsui.$border-radius-action-card-embedded,
12
+ 'default': awsui.$border-radius-action-card-default,
13
+ );
14
+
15
+ $variant-padding-block: (
16
+ 'embedded': awsui.$space-action-card-vertical-embedded,
17
+ 'default': awsui.$space-action-card-vertical-default,
18
+ );
19
+
20
+ $variant-padding-inline: (
21
+ 'embedded': awsui.$space-action-card-horizontal-embedded,
22
+ 'default': awsui.$space-action-card-horizontal-default,
23
+ );
24
+
25
+ @mixin border-radius-all($value) {
26
+ border-start-start-radius: $value;
27
+ border-start-end-radius: $value;
28
+ border-end-start-radius: $value;
29
+ border-end-end-radius: $value;
30
+ }
31
+
32
+ @mixin state-border-radius($variant: 'default', $state: 'default') {
33
+ $token: map.get($variant-border-radius, $variant);
34
+ @include border-radius-all($token);
35
+ }
36
+
37
+ @mixin state-border-radius-all-variants($state: 'default') {
38
+ @each $variant in ('embedded', 'default') {
39
+ &.variant-#{$variant} {
40
+ &,
41
+ &:after {
42
+ @include state-border-radius($variant, $state);
43
+ }
44
+ }
45
+ }
46
+ }
47
+
48
+ @mixin apply-state-styles($state) {
49
+ $s: map.get(constants.$states, $state);
50
+
51
+ background-color: map.get($s, 'background');
52
+ box-shadow: map.get($s, 'box-shadow');
53
+ color: map.get($s, 'text-color');
54
+
55
+ @if $state != 'default' {
56
+ @include state-border-radius-all-variants($state);
57
+ }
58
+
59
+ &:after {
60
+ border-color: map.get($s, 'border-color');
61
+ border-block-width: map.get($s, 'border-width');
62
+ border-inline-width: map.get($s, 'border-width');
63
+ }
64
+
65
+ > .icon,
66
+ > .inner-card > .header-row > .icon {
67
+ color: map.get($s, 'icon-color');
68
+ }
69
+ }
@@ -0,0 +1,31 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ @use '../internal/styles' as styles;
7
+ @use '../internal/styles/tokens' as awsui;
8
+
9
+ .root {
10
+ @include styles.with-motion {
11
+ transition-property: background-color;
12
+ transition-duration: awsui.$motion-duration-transition-show-paced;
13
+ transition-timing-function: awsui.$motion-easing-transition-show-paced;
14
+ }
15
+ }
16
+
17
+ .root::after {
18
+ @include styles.with-motion {
19
+ transition-property: border-top-color, border-right-color, border-bottom-color, border-left-color;
20
+ transition-duration: awsui.$motion-duration-transition-show-paced;
21
+ transition-timing-function: awsui.$motion-easing-transition-show-paced;
22
+ }
23
+ }
24
+
25
+ .icon {
26
+ @include styles.with-motion {
27
+ transition-property: color;
28
+ transition-duration: awsui.$motion-duration-transition-show-paced;
29
+ transition-timing-function: awsui.$motion-easing-transition-show-paced;
30
+ }
31
+ }
@@ -0,0 +1,229 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ @use 'sass:map';
7
+
8
+ @use '../internal/styles' as styles;
9
+ @use '../internal/styles/tokens' as awsui;
10
+ @use '@cloudscape-design/component-toolkit/internal/focus-visible' as focus-visible;
11
+ @use './constants' as constants;
12
+ @use './mixins' as mixins;
13
+ @use './motion';
14
+
15
+ .header {
16
+ &-inner {
17
+ @include styles.font-heading-s;
18
+ &.disabled {
19
+ color: map.get(constants.$states, 'disabled', 'text-color');
20
+ }
21
+ }
22
+ &:not(:has(+ .body)) {
23
+ flex: 1;
24
+ }
25
+ }
26
+
27
+ .header-row {
28
+ display: flex;
29
+ align-items: flex-start;
30
+ > .header {
31
+ flex: 1;
32
+ min-inline-size: 0;
33
+ }
34
+ }
35
+
36
+ .body {
37
+ flex: 1;
38
+ }
39
+
40
+ .description {
41
+ @include styles.font-body-s;
42
+ color: awsui.$color-text-body-secondary;
43
+ &.has-header {
44
+ padding-block-start: awsui.$space-action-card-description-padding-top;
45
+ }
46
+ &.disabled {
47
+ color: map.get(constants.$states, 'disabled', 'text-color');
48
+ }
49
+ }
50
+
51
+ .icon {
52
+ flex-shrink: 0;
53
+ display: flex;
54
+ color: map.get(constants.$states, 'default', 'icon-color');
55
+ pointer-events: none;
56
+ }
57
+
58
+ .header-button,
59
+ .overlay-button {
60
+ all: unset;
61
+ cursor: pointer;
62
+ &.disabled {
63
+ cursor: default;
64
+ }
65
+ }
66
+
67
+ .header-button {
68
+ color: inherit;
69
+ font: inherit;
70
+ &::after {
71
+ content: '';
72
+ position: absolute;
73
+ inset: 0;
74
+ z-index: 1;
75
+ }
76
+ @each $variant in ('embedded', 'default') {
77
+ &.variant-#{$variant} {
78
+ &::after {
79
+ @include mixins.state-border-radius($variant);
80
+ }
81
+ &.disabled::after {
82
+ @include mixins.state-border-radius($variant, 'disabled');
83
+ }
84
+ }
85
+ }
86
+ }
87
+
88
+ .overlay-button {
89
+ position: absolute;
90
+ inset: 0;
91
+ opacity: 0;
92
+ @each $variant in ('embedded', 'default') {
93
+ &.variant-#{$variant} {
94
+ @include mixins.state-border-radius($variant);
95
+ &.disabled {
96
+ @include mixins.state-border-radius($variant, 'disabled');
97
+ }
98
+ }
99
+ }
100
+ }
101
+
102
+ .root {
103
+ @include styles.styles-reset();
104
+ box-sizing: border-box;
105
+ position: relative;
106
+ inline-size: 100%;
107
+ min-inline-size: 0;
108
+ text-align: start;
109
+ display: flex;
110
+ $default-state: map.get(constants.$states, 'default');
111
+ background: map.get($default-state, 'background');
112
+ box-shadow: map.get($default-state, 'box-shadow');
113
+ color: map.get($default-state, 'text-color');
114
+ padding-inline: 0;
115
+ padding-block: 0;
116
+ border-block: none;
117
+ border-inline: none;
118
+
119
+ &:after {
120
+ @include styles.base-pseudo-element;
121
+
122
+ box-shadow: none;
123
+ border-block: solid map.get($default-state, 'border-width') map.get($default-state, 'border-color');
124
+ border-inline: solid map.get($default-state, 'border-width') map.get($default-state, 'border-color');
125
+ }
126
+
127
+ &.variant-default,
128
+ &.variant-embedded {
129
+ > .inner-card {
130
+ display: flex;
131
+ flex-direction: column;
132
+ block-size: 100%;
133
+ inline-size: 100%;
134
+ min-inline-size: 0;
135
+
136
+ > .header + .body,
137
+ > .header-row + .body {
138
+ &:not(.no-padding) {
139
+ padding-block-start: awsui.$space-xxs;
140
+ }
141
+ }
142
+
143
+ > .header:not(.no-padding):has(+ .body) {
144
+ padding-block-end: awsui.$space-xxs;
145
+ }
146
+
147
+ > .header-row:has(+ .body) > .header:not(.no-padding) {
148
+ padding-block-end: awsui.$space-xxs;
149
+ }
150
+ }
151
+ }
152
+
153
+ &.icon-vertical-align-center > .icon {
154
+ align-self: center;
155
+ }
156
+
157
+ &.disabled {
158
+ cursor: default;
159
+ @include mixins.apply-state-styles('disabled');
160
+ }
161
+
162
+ &:not(.disabled):has(button:hover) {
163
+ @include mixins.apply-state-styles('hover');
164
+ }
165
+
166
+ &:not(.disabled):has(button:active) {
167
+ @include mixins.apply-state-styles('active');
168
+ }
169
+
170
+ &:has(.header-button:focus-visible),
171
+ &:has(.overlay-button:focus-visible) {
172
+ @include styles.focus-highlight(
173
+ 2px,
174
+ awsui.$border-radius-control-default-focus-ring,
175
+ 0 0 0 2px awsui.$color-border-item-focused
176
+ );
177
+
178
+ @each $variant in ('embedded', 'default') {
179
+ &.variant-#{$variant}::before {
180
+ @include mixins.border-radius-all(awsui.$border-radius-control-default-focus-ring);
181
+ }
182
+ }
183
+ }
184
+
185
+ @each $variant in ('embedded', 'default') {
186
+ &.variant-#{$variant} {
187
+ &,
188
+ &:after {
189
+ @include mixins.state-border-radius($variant);
190
+ }
191
+
192
+ $padding-block: map.get(mixins.$variant-padding-block, $variant);
193
+ $padding-inline: map.get(mixins.$variant-padding-inline, $variant);
194
+
195
+ > .inner-card > .header,
196
+ > .inner-card > .body,
197
+ > .inner-card > .header-row > .header {
198
+ &:not(.no-padding) {
199
+ padding-block: $padding-block;
200
+ padding-inline: $padding-inline;
201
+ }
202
+ }
203
+
204
+ > .icon,
205
+ > .inner-card > .header-row > .icon {
206
+ padding-block-start: $padding-block;
207
+ }
208
+
209
+ > .icon {
210
+ padding-block-end: $padding-block;
211
+ }
212
+
213
+ &.icon-align-end {
214
+ > .icon,
215
+ > .inner-card > .header-row > .icon {
216
+ padding-inline-end: $padding-inline;
217
+ }
218
+
219
+ > .inner-card > .header,
220
+ > .inner-card > .body,
221
+ > .inner-card > .header-row > .header {
222
+ &:not(.no-padding) {
223
+ padding-inline-end: awsui.$space-xs;
224
+ }
225
+ }
226
+ }
227
+ }
228
+ }
229
+ }
@@ -0,0 +1,13 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ .header,
7
+ .description,
8
+ .body,
9
+ .icon,
10
+ .disabled,
11
+ .button {
12
+ /* used in test-utils */
13
+ }
@@ -16,11 +16,20 @@
16
16
  .drawer {
17
17
  @include styles.styles-reset;
18
18
  word-wrap: break-word;
19
+ background-color: awsui.$color-background-drawer;
20
+
21
+ &.position-absolute,
22
+ &.position-sticky,
23
+ &.position-fixed {
24
+ box-shadow: awsui.$shadow-panel;
25
+ }
19
26
 
20
27
  &.with-footer {
21
28
  display: flex;
22
29
  flex-direction: column;
23
- min-block-size: 100%;
30
+ &.position-static {
31
+ min-block-size: 100%;
32
+ }
24
33
 
25
34
  > .content {
26
35
  flex: 1;
@@ -8,6 +8,7 @@
8
8
  .root {
9
9
  @include styles.styles-reset;
10
10
  @include styles.text-wrapping;
11
+ cursor: inherit;
11
12
  display: flex;
12
13
  flex: 1;
13
14
  flex-direction: row;
@@ -1,6 +1,6 @@
1
1
 
2
2
  // Build environment
3
- $awsui-commit-hash: "53439b2b";
3
+ $awsui-commit-hash: "9d03c896";
4
4
  // Manually managed CSS-variables
5
5
  $maxContentWidth: --awsui-max-content-width-6b9ypa;
6
6
  $minContentWidth: --awsui-min-content-width-6b9ypa;
@@ -88,8 +88,8 @@ $action-padding-horizontal: awsui.$space-xxs;
88
88
  background: awsui.$color-background-item-selected;
89
89
 
90
90
  &:before {
91
- border-block: solid awsui.$border-width-item-card-highlighted awsui.$color-border-item-card-highlighted;
92
- border-inline: solid awsui.$border-width-item-card-highlighted awsui.$color-border-item-card-highlighted;
91
+ border-block: solid awsui.$border-width-card-selected awsui.$color-border-item-card-highlighted;
92
+ border-inline: solid awsui.$border-width-card-selected awsui.$color-border-item-card-highlighted;
93
93
  }
94
94
  }
95
95
 
@@ -16,7 +16,7 @@ $cell-vertical-padding-w-border: calc(
16
16
  $cell-horizontal-padding: awsui.$space-scaled-l;
17
17
  $cell-edge-horizontal-padding: calc(#{awsui.$space-l} - #{awsui.$border-item-width});
18
18
  $cell-horizontal-padding-w-border: calc(#{$cell-edge-horizontal-padding} + #{awsui.$border-item-width});
19
- $selected-border: awsui.$border-item-width solid awsui.$color-border-item-selected;
19
+ $selected-border: awsui.$border-width-item-selected solid awsui.$color-border-item-selected;
20
20
  $selected-border-placeholder: awsui.$border-divider-list-width solid awsui.$color-border-item-placeholder;
21
21
  $border-placeholder: awsui.$border-item-width solid transparent;
22
22
  $icon-width-with-spacing: calc(#{awsui.$size-icon-normal} + #{awsui.$space-xs});
@@ -140,7 +140,7 @@ filter search icon.
140
140
  &.selection-control-header {
141
141
  padding-block: awsui.$space-scaled-xs;
142
142
  padding-inline: awsui.$space-scaled-l;
143
- border-inline-start: awsui.$border-item-width solid transparent;
143
+ border-inline-start: awsui.$border-width-item-selected solid transparent;
144
144
  }
145
145
  }
146
146
 
@@ -11,6 +11,7 @@
11
11
  @use '../column-layout/styles.scss' as mixins;
12
12
 
13
13
  $gutter: awsui.$space-tile-gutter;
14
+ $selected-line: calc(awsui.$border-width-item-selected - 1px);
14
15
 
15
16
  .root {
16
17
  @include styles.styles-reset;
@@ -49,7 +50,7 @@ $gutter: awsui.$space-tile-gutter;
49
50
  padding-block: awsui.$space-xs;
50
51
  padding-inline: awsui.$space-s;
51
52
  &.selected:not(.disabled):not(.readonly) {
52
- box-shadow: inset 0 0 0 awsui.$border-width-field awsui.$color-border-item-focused;
53
+ box-shadow: inset 0 0 0 $selected-line awsui.$color-border-item-focused;
53
54
  }
54
55
  }
55
56
 
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { type ActionCardProps } from './interfaces';
3
+ export { ActionCardProps };
4
+ declare const ActionCard: React.ForwardRefExoticComponent<ActionCardProps & React.RefAttributes<ActionCardProps.Ref>>;
5
+ export default ActionCard;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/action-card/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,QAAA,MAAM,UAAU,6FA2Cf,CAAC;AAGF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,30 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ 'use client';
4
+ import React from 'react';
5
+ import useBaseComponent from '../internal/hooks/use-base-component';
6
+ import { applyDisplayName } from '../internal/utils/apply-display-name';
7
+ import { getExternalProps } from '../internal/utils/external-props';
8
+ import InternalActionCard from './internal';
9
+ const ActionCard = React.forwardRef(({ disabled = false, disableHeaderPaddings = false, disableContentPaddings = false, iconVerticalAlignment = 'top', variant = 'default', ...props }, ref) => {
10
+ const baseComponentProps = useBaseComponent('ActionCard', {
11
+ props: {
12
+ disabled,
13
+ disableHeaderPaddings,
14
+ disableContentPaddings,
15
+ iconVerticalAlignment,
16
+ variant,
17
+ },
18
+ metadata: {
19
+ hasHeader: Boolean(props.header),
20
+ hasDescription: Boolean(props.description),
21
+ hasContent: Boolean(props.children),
22
+ hasIcon: Boolean(props.icon),
23
+ },
24
+ });
25
+ const externalProps = getExternalProps(props);
26
+ return (React.createElement(InternalActionCard, { ref: ref, disabled: disabled, disableHeaderPaddings: disableHeaderPaddings, disableContentPaddings: disableContentPaddings, iconVerticalAlignment: iconVerticalAlignment, variant: variant, ...externalProps, ...baseComponentProps }));
27
+ });
28
+ applyDisplayName(ActionCard, 'ActionCard');
29
+ export default ActionCard;
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action-card/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,kBAAkB,MAAM,YAAY,CAAC;AAI5C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACjC,CACE,EACE,QAAQ,GAAG,KAAK,EAChB,qBAAqB,GAAG,KAAK,EAC7B,sBAAsB,GAAG,KAAK,EAC9B,qBAAqB,GAAG,KAAK,EAC7B,OAAO,GAAG,SAAS,EACnB,GAAG,KAAK,EACQ,EAClB,GAAmC,EACnC,EAAE;IACF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,YAAY,EAAE;QACxD,KAAK,EAAE;YACL,QAAQ;YACR,qBAAqB;YACrB,sBAAsB;YACtB,qBAAqB;YACrB,OAAO;SACR;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;YAChC,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;YAC1C,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;YACnC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;SAC7B;KACF,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE9C,OAAO,CACL,oBAAC,kBAAkB,IACjB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,qBAAqB,EAC5C,sBAAsB,EAAE,sBAAsB,EAC9C,qBAAqB,EAAE,qBAAqB,EAC5C,OAAO,EAAE,OAAO,KACZ,aAAa,KACb,kBAAkB,GACtB,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAC3C,eAAe,UAAU,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 useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { getExternalProps } from '../internal/utils/external-props';\nimport { type ActionCardProps } from './interfaces';\nimport InternalActionCard from './internal';\n\nexport { ActionCardProps };\n\nconst ActionCard = React.forwardRef(\n (\n {\n disabled = false,\n disableHeaderPaddings = false,\n disableContentPaddings = false,\n iconVerticalAlignment = 'top',\n variant = 'default',\n ...props\n }: ActionCardProps,\n ref: React.Ref<ActionCardProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('ActionCard', {\n props: {\n disabled,\n disableHeaderPaddings,\n disableContentPaddings,\n iconVerticalAlignment,\n variant,\n },\n metadata: {\n hasHeader: Boolean(props.header),\n hasDescription: Boolean(props.description),\n hasContent: Boolean(props.children),\n hasIcon: Boolean(props.icon),\n },\n });\n\n const externalProps = getExternalProps(props);\n\n return (\n <InternalActionCard\n ref={ref}\n disabled={disabled}\n disableHeaderPaddings={disableHeaderPaddings}\n disableContentPaddings={disableContentPaddings}\n iconVerticalAlignment={iconVerticalAlignment}\n variant={variant}\n {...externalProps}\n {...baseComponentProps}\n />\n );\n }\n);\n\napplyDisplayName(ActionCard, 'ActionCard');\nexport default ActionCard;\n"]}
@@ -0,0 +1,81 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { BaseComponentProps } from '../internal/base-component';
3
+ import { CancelableEventHandler } from '../internal/events';
4
+ import { NativeAttributes } from '../internal/utils/with-native-attributes';
5
+ export interface ActionCardProps extends BaseComponentProps {
6
+ /**
7
+ * The header content displayed at the top of the action card.
8
+ */
9
+ header?: ReactNode;
10
+ /**
11
+ * The description content displayed below the header.
12
+ */
13
+ description?: ReactNode;
14
+ /**
15
+ * The main content of the action card.
16
+ */
17
+ children?: ReactNode;
18
+ /**
19
+ * Called when the user clicks on the action card.
20
+ */
21
+ onClick?: CancelableEventHandler<ActionCardProps.ClickDetail>;
22
+ /**
23
+ * Adds an aria-label to the action card.
24
+ */
25
+ ariaLabel?: string;
26
+ /**
27
+ * Adds an aria-describedby reference for the action card.
28
+ */
29
+ ariaDescribedby?: string;
30
+ /**
31
+ * Determines whether the action card is disabled.
32
+ */
33
+ disabled?: boolean;
34
+ /**
35
+ * Removes the default padding from the header area.
36
+ */
37
+ disableHeaderPaddings?: boolean;
38
+ /**
39
+ * Removes the default padding from the content area.
40
+ */
41
+ disableContentPaddings?: boolean;
42
+ /**
43
+ * Displays an icon next to the content. You can use the `iconVerticalAlignment` property to control vertical alignment.
44
+ */
45
+ icon?: React.ReactNode;
46
+ /**
47
+ * Specifies the vertical alignment of the icon.
48
+ */
49
+ iconVerticalAlignment?: ActionCardProps.IconVerticalAlignment;
50
+ /**
51
+ * Specifies the visual variant of the card, which controls the border radius and padding.
52
+ *
53
+ * - `default` - Uses container-level border radius and padding (larger).
54
+ * - `embedded` - Uses compact border radius and padding (smaller).
55
+ */
56
+ variant?: ActionCardProps.Variant;
57
+ /**
58
+ * Attributes to add to the native button element.
59
+ * Some attributes will be automatically combined with internal attribute values:
60
+ * - `className` will be appended.
61
+ * - Event handlers will be chained, unless the default is prevented.
62
+ *
63
+ * We do not support using this attribute to apply custom styling.
64
+ *
65
+ * @awsuiSystem core
66
+ */
67
+ nativeButtonAttributes?: NativeAttributes<React.ButtonHTMLAttributes<HTMLButtonElement>>;
68
+ }
69
+ export declare namespace ActionCardProps {
70
+ interface ClickDetail {
71
+ }
72
+ type IconVerticalAlignment = 'top' | 'center';
73
+ type Variant = 'default' | 'embedded';
74
+ interface Ref {
75
+ /**
76
+ * Sets focus on the action card.
77
+ */
78
+ focus(): void;
79
+ }
80
+ }
81
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/action-card/interfaces.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAE9D;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB;;OAEG;IACH,qBAAqB,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC;IAE9D;;;;;OAKG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC;IAElC;;;;;;;;;OASG;IACH,sBAAsB,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC;CAC1F;AAED,yBAAiB,eAAe,CAAC;IAE/B,UAAiB,WAAW;KAAG;IAE/B,KAAY,qBAAqB,GAAG,KAAK,GAAG,QAAQ,CAAC;IACrD,KAAY,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;IAE7C,UAAiB,GAAG;QAClB;;WAEG;QACH,KAAK,IAAI,IAAI,CAAC;KACf;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/action-card/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { ReactNode } from 'react';\n\nimport { BaseComponentProps } from '../internal/base-component';\nimport { CancelableEventHandler } from '../internal/events';\nimport { NativeAttributes } from '../internal/utils/with-native-attributes';\n\nexport interface ActionCardProps extends BaseComponentProps {\n /**\n * The header content displayed at the top of the action card.\n */\n header?: ReactNode;\n\n /**\n * The description content displayed below the header.\n */\n description?: ReactNode;\n\n /**\n * The main content of the action card.\n */\n children?: ReactNode;\n\n /**\n * Called when the user clicks on the action card.\n */\n onClick?: CancelableEventHandler<ActionCardProps.ClickDetail>;\n\n /**\n * Adds an aria-label to the action card.\n */\n ariaLabel?: string;\n\n /**\n * Adds an aria-describedby reference for the action card.\n */\n ariaDescribedby?: string;\n\n /**\n * Determines whether the action card is disabled.\n */\n disabled?: boolean;\n\n /**\n * Removes the default padding from the header area.\n */\n disableHeaderPaddings?: boolean;\n\n /**\n * Removes the default padding from the content area.\n */\n disableContentPaddings?: boolean;\n\n /**\n * Displays an icon next to the content. You can use the `iconVerticalAlignment` property to control vertical alignment.\n */\n icon?: React.ReactNode;\n\n /**\n * Specifies the vertical alignment of the icon.\n */\n iconVerticalAlignment?: ActionCardProps.IconVerticalAlignment;\n\n /**\n * Specifies the visual variant of the card, which controls the border radius and padding.\n *\n * - `default` - Uses container-level border radius and padding (larger).\n * - `embedded` - Uses compact border radius and padding (smaller).\n */\n variant?: ActionCardProps.Variant;\n\n /**\n * Attributes to add to the native button element.\n * Some attributes will be automatically combined with internal attribute values:\n * - `className` will be appended.\n * - Event handlers will be chained, unless the default is prevented.\n *\n * We do not support using this attribute to apply custom styling.\n *\n * @awsuiSystem core\n */\n nativeButtonAttributes?: NativeAttributes<React.ButtonHTMLAttributes<HTMLButtonElement>>;\n}\n\nexport namespace ActionCardProps {\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n export interface ClickDetail {}\n\n export type IconVerticalAlignment = 'top' | 'center';\n export type Variant = 'default' | 'embedded';\n\n export interface Ref {\n /**\n * Sets focus on the action card.\n */\n focus(): void;\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { InternalBaseComponentProps } from '../internal/hooks/use-base-component';
3
+ import { type ActionCardProps } from './interfaces';
4
+ export type InternalActionCardProps = ActionCardProps & InternalBaseComponentProps;
5
+ declare const InternalActionCard: React.ForwardRefExoticComponent<ActionCardProps & InternalBaseComponentProps & React.RefAttributes<ActionCardProps.Ref>>;
6
+ export default InternalActionCard;
7
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/action-card/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAStC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAKpD,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,0BAA0B,CAAC;AAEnF,QAAA,MAAM,kBAAkB,0HA8LvB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}