@cloudscape-design/components-themeable 3.0.1340 → 3.0.1342
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/internal/manifest.json +1 -1
- package/lib/internal/scss/expandable-section/styles.scss +142 -0
- package/lib/internal/scss/input/styles.scss +228 -37
- package/lib/internal/scss/internal/components/chart-legend/styles.scss +1 -0
- package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
- package/lib/internal/scss/multiselect/styles.scss +14 -0
- package/lib/internal/scss/pagination/styles.scss +9 -2
- package/lib/internal/scss/pagination/test-classes/styles.scss +8 -0
- package/lib/internal/scss/select/styles.scss +14 -1
- package/lib/internal/scss/side-navigation/styles.scss +62 -24
- package/lib/internal/scss/textarea/styles.scss +21 -2
- package/lib/internal/template/button-dropdown/filter.d.ts +1 -1
- package/lib/internal/template/button-dropdown/filter.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/internal.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/internal.js +2 -2
- package/lib/internal/template/button-dropdown/internal.js.map +1 -1
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.d.ts +1 -0
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js +9 -0
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js.map +1 -1
- package/lib/internal/template/expandable-section/expandable-section-header.d.ts +2 -1
- package/lib/internal/template/expandable-section/expandable-section-header.d.ts.map +1 -1
- package/lib/internal/template/expandable-section/expandable-section-header.js +57 -13
- package/lib/internal/template/expandable-section/expandable-section-header.js.map +1 -1
- package/lib/internal/template/expandable-section/interfaces.d.ts +1 -1
- package/lib/internal/template/expandable-section/interfaces.js.map +1 -1
- package/lib/internal/template/expandable-section/internal.d.ts +14 -1
- package/lib/internal/template/expandable-section/internal.d.ts.map +1 -1
- package/lib/internal/template/expandable-section/internal.js +3 -3
- package/lib/internal/template/expandable-section/internal.js.map +1 -1
- package/lib/internal/template/expandable-section/styles.css.js +42 -35
- package/lib/internal/template/expandable-section/styles.scoped.css +177 -69
- package/lib/internal/template/expandable-section/styles.selectors.js +42 -35
- package/lib/internal/template/i18n/context.d.ts +16 -4
- package/lib/internal/template/i18n/context.d.ts.map +1 -1
- package/lib/internal/template/i18n/context.js +10 -4
- package/lib/internal/template/i18n/context.js.map +1 -1
- package/lib/internal/template/i18n/index.d.ts +2 -0
- package/lib/internal/template/i18n/index.d.ts.map +1 -1
- package/lib/internal/template/i18n/index.js +1 -0
- package/lib/internal/template/i18n/index.js.map +1 -1
- package/lib/internal/template/i18n/messages/all.all.js +1 -1
- package/lib/internal/template/i18n/messages/all.all.json +1 -1
- package/lib/internal/template/i18n/messages/all.ar.js +1 -1
- package/lib/internal/template/i18n/messages/all.ar.json +1 -1
- package/lib/internal/template/i18n/messages/all.de.js +1 -1
- package/lib/internal/template/i18n/messages/all.de.json +1 -1
- package/lib/internal/template/i18n/messages/all.en-GB.js +1 -1
- package/lib/internal/template/i18n/messages/all.en-GB.json +1 -1
- package/lib/internal/template/i18n/messages/all.en.js +1 -1
- package/lib/internal/template/i18n/messages/all.en.json +1 -1
- package/lib/internal/template/i18n/messages/all.es.js +1 -1
- package/lib/internal/template/i18n/messages/all.es.json +1 -1
- package/lib/internal/template/i18n/messages/all.fr.js +1 -1
- package/lib/internal/template/i18n/messages/all.fr.json +1 -1
- package/lib/internal/template/i18n/messages/all.id.js +1 -1
- package/lib/internal/template/i18n/messages/all.id.json +1 -1
- package/lib/internal/template/i18n/messages/all.it.js +1 -1
- package/lib/internal/template/i18n/messages/all.it.json +1 -1
- package/lib/internal/template/i18n/messages/all.ja.js +1 -1
- package/lib/internal/template/i18n/messages/all.ja.json +1 -1
- package/lib/internal/template/i18n/messages/all.ko.js +1 -1
- package/lib/internal/template/i18n/messages/all.ko.json +1 -1
- package/lib/internal/template/i18n/messages/all.pt-BR.js +1 -1
- package/lib/internal/template/i18n/messages/all.pt-BR.json +1 -1
- package/lib/internal/template/i18n/messages/all.tr.js +1 -1
- package/lib/internal/template/i18n/messages/all.tr.json +1 -1
- package/lib/internal/template/i18n/messages/all.zh-CN.js +1 -1
- package/lib/internal/template/i18n/messages/all.zh-CN.json +1 -1
- package/lib/internal/template/i18n/messages/all.zh-TW.js +1 -1
- package/lib/internal/template/i18n/messages/all.zh-TW.json +1 -1
- package/lib/internal/template/i18n/messages-types.d.ts +5 -0
- package/lib/internal/template/i18n/messages-types.d.ts.map +1 -1
- package/lib/internal/template/i18n/messages-types.js.map +1 -1
- package/lib/internal/template/input/index.d.ts.map +1 -1
- package/lib/internal/template/input/index.js +4 -2
- package/lib/internal/template/input/index.js.map +1 -1
- package/lib/internal/template/input/interfaces.d.ts +9 -0
- package/lib/internal/template/input/interfaces.d.ts.map +1 -1
- package/lib/internal/template/input/interfaces.js.map +1 -1
- package/lib/internal/template/input/internal.d.ts +5 -5
- package/lib/internal/template/input/internal.d.ts.map +1 -1
- package/lib/internal/template/input/internal.js +60 -24
- package/lib/internal/template/input/internal.js.map +1 -1
- package/lib/internal/template/input/styles.css.js +28 -18
- package/lib/internal/template/input/styles.scoped.css +213 -52
- package/lib/internal/template/input/styles.selectors.js +28 -18
- package/lib/internal/template/input/utils.js +3 -3
- package/lib/internal/template/input/utils.js.map +1 -1
- package/lib/internal/template/internal/base-component/styles.scoped.css +297 -289
- package/lib/internal/template/internal/components/cartesian-chart/styles.css.js +28 -28
- package/lib/internal/template/internal/components/cartesian-chart/styles.scoped.css +35 -35
- package/lib/internal/template/internal/components/cartesian-chart/styles.selectors.js +28 -28
- package/lib/internal/template/internal/components/chart-legend/styles.css.js +6 -6
- package/lib/internal/template/internal/components/chart-legend/styles.scoped.css +16 -14
- package/lib/internal/template/internal/components/chart-legend/styles.selectors.js +6 -6
- package/lib/internal/template/internal/environment.js +2 -2
- package/lib/internal/template/internal/environment.json +2 -2
- package/lib/internal/template/internal/generated/styles/tokens.d.ts +1 -0
- package/lib/internal/template/internal/generated/styles/tokens.js +1 -0
- package/lib/internal/template/internal/generated/theming/index.cjs +31 -0
- package/lib/internal/template/internal/generated/theming/index.js +31 -0
- package/lib/internal/template/multiselect/embedded.d.ts +1 -1
- package/lib/internal/template/multiselect/index.d.ts.map +1 -1
- package/lib/internal/template/multiselect/index.js +4 -0
- package/lib/internal/template/multiselect/index.js.map +1 -1
- package/lib/internal/template/multiselect/interfaces.d.ts +8 -1
- package/lib/internal/template/multiselect/interfaces.d.ts.map +1 -1
- package/lib/internal/template/multiselect/interfaces.js.map +1 -1
- package/lib/internal/template/multiselect/internal.d.ts.map +1 -1
- package/lib/internal/template/multiselect/internal.js +22 -2
- package/lib/internal/template/multiselect/internal.js.map +1 -1
- package/lib/internal/template/multiselect/styles.css.js +5 -3
- package/lib/internal/template/multiselect/styles.scoped.css +13 -3
- package/lib/internal/template/multiselect/styles.selectors.js +5 -3
- package/lib/internal/template/multiselect/use-multiselect.d.ts +3 -2
- package/lib/internal/template/multiselect/use-multiselect.d.ts.map +1 -1
- package/lib/internal/template/multiselect/use-multiselect.js +5 -3
- package/lib/internal/template/multiselect/use-multiselect.js.map +1 -1
- package/lib/internal/template/pagination/index.d.ts.map +1 -1
- package/lib/internal/template/pagination/index.js +3 -3
- package/lib/internal/template/pagination/index.js.map +1 -1
- package/lib/internal/template/pagination/interfaces.d.ts +19 -3
- package/lib/internal/template/pagination/interfaces.d.ts.map +1 -1
- package/lib/internal/template/pagination/interfaces.js.map +1 -1
- package/lib/internal/template/pagination/internal.d.ts.map +1 -1
- package/lib/internal/template/pagination/internal.js +18 -6
- package/lib/internal/template/pagination/internal.js.map +1 -1
- package/lib/internal/template/pagination/styles.css.js +12 -11
- package/lib/internal/template/pagination/styles.scoped.css +34 -25
- package/lib/internal/template/pagination/styles.selectors.js +12 -11
- package/lib/internal/template/pagination/test-classes/styles.css.js +6 -0
- package/lib/internal/template/pagination/test-classes/styles.scoped.css +7 -0
- package/lib/internal/template/pagination/test-classes/styles.selectors.js +7 -0
- package/lib/internal/template/prompt-input/internal.d.ts.map +1 -1
- package/lib/internal/template/prompt-input/internal.js +14 -2
- package/lib/internal/template/prompt-input/internal.js.map +1 -1
- package/lib/internal/template/select/index.d.ts.map +1 -1
- package/lib/internal/template/select/index.js +4 -0
- package/lib/internal/template/select/index.js.map +1 -1
- package/lib/internal/template/select/interfaces.d.ts +39 -0
- package/lib/internal/template/select/interfaces.d.ts.map +1 -1
- package/lib/internal/template/select/interfaces.js.map +1 -1
- package/lib/internal/template/select/internal.d.ts.map +1 -1
- package/lib/internal/template/select/internal.js +20 -4
- package/lib/internal/template/select/internal.js.map +1 -1
- package/lib/internal/template/select/parts/filter.d.ts +1 -1
- package/lib/internal/template/select/parts/filter.d.ts.map +1 -1
- package/lib/internal/template/select/styles.css.js +3 -1
- package/lib/internal/template/select/styles.scoped.css +11 -1
- package/lib/internal/template/select/styles.selectors.js +3 -1
- package/lib/internal/template/select/utils/dropdown-customization.d.ts +20 -0
- package/lib/internal/template/select/utils/dropdown-customization.d.ts.map +1 -0
- package/lib/internal/template/select/utils/dropdown-customization.js +22 -0
- package/lib/internal/template/select/utils/dropdown-customization.js.map +1 -0
- package/lib/internal/template/select/utils/use-select.d.ts +4 -1
- package/lib/internal/template/select/utils/use-select.d.ts.map +1 -1
- package/lib/internal/template/select/utils/use-select.js +21 -4
- package/lib/internal/template/select/utils/use-select.js.map +1 -1
- package/lib/internal/template/side-navigation/parts.d.ts.map +1 -1
- package/lib/internal/template/side-navigation/parts.js +3 -2
- package/lib/internal/template/side-navigation/parts.js.map +1 -1
- package/lib/internal/template/side-navigation/styles.css.js +50 -48
- package/lib/internal/template/side-navigation/styles.scoped.css +106 -93
- package/lib/internal/template/side-navigation/styles.selectors.js +50 -48
- package/lib/internal/template/status-indicator/interfaces.d.ts +1 -1
- package/lib/internal/template/status-indicator/interfaces.d.ts.map +1 -1
- package/lib/internal/template/status-indicator/interfaces.js.map +1 -1
- package/lib/internal/template/status-indicator/internal.d.ts +2 -6
- package/lib/internal/template/status-indicator/internal.d.ts.map +1 -1
- package/lib/internal/template/status-indicator/internal.js.map +1 -1
- package/lib/internal/template/steps/interfaces.d.ts +2 -2
- package/lib/internal/template/steps/interfaces.d.ts.map +1 -1
- package/lib/internal/template/steps/interfaces.js.map +1 -1
- package/lib/internal/template/test-utils/dom/input/index.d.ts +2 -0
- package/lib/internal/template/test-utils/dom/input/index.js +6 -0
- package/lib/internal/template/test-utils/dom/input/index.js.map +1 -1
- package/lib/internal/template/test-utils/dom/multiselect/index.d.ts +16 -0
- package/lib/internal/template/test-utils/dom/multiselect/index.js +16 -0
- package/lib/internal/template/test-utils/dom/multiselect/index.js.map +1 -1
- package/lib/internal/template/test-utils/dom/pagination/index.d.ts +5 -1
- package/lib/internal/template/test-utils/dom/pagination/index.js +7 -0
- package/lib/internal/template/test-utils/dom/pagination/index.js.map +1 -1
- package/lib/internal/template/test-utils/dom/select/index.d.ts +16 -0
- package/lib/internal/template/test-utils/dom/select/index.js +16 -0
- package/lib/internal/template/test-utils/dom/select/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/input/index.d.ts +2 -0
- package/lib/internal/template/test-utils/selectors/input/index.js +6 -0
- package/lib/internal/template/test-utils/selectors/input/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/multiselect/index.d.ts +16 -0
- package/lib/internal/template/test-utils/selectors/multiselect/index.js +20 -0
- package/lib/internal/template/test-utils/selectors/multiselect/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/pagination/index.d.ts +5 -1
- package/lib/internal/template/test-utils/selectors/pagination/index.js +7 -0
- package/lib/internal/template/test-utils/selectors/pagination/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/select/index.d.ts +16 -0
- package/lib/internal/template/test-utils/selectors/select/index.js +20 -0
- package/lib/internal/template/test-utils/selectors/select/index.js.map +1 -1
- package/lib/internal/template/textarea/index.d.ts.map +1 -1
- package/lib/internal/template/textarea/index.js +11 -3
- package/lib/internal/template/textarea/index.js.map +1 -1
- package/lib/internal/template/textarea/interfaces.d.ts +12 -0
- package/lib/internal/template/textarea/interfaces.d.ts.map +1 -1
- package/lib/internal/template/textarea/interfaces.js.map +1 -1
- package/lib/internal/template/textarea/styles.css.js +9 -5
- package/lib/internal/template/textarea/styles.scoped.css +26 -14
- package/lib/internal/template/textarea/styles.selectors.js +9 -5
- package/package.json +1 -1
- package/lib/internal/template/status-indicator/internal-interfaces.d.ts +0 -3
- package/lib/internal/template/status-indicator/internal-interfaces.d.ts.map +0 -1
- package/lib/internal/template/status-indicator/internal-interfaces.js +0 -2
- package/lib/internal/template/status-indicator/internal-interfaces.js.map +0 -1
|
@@ -198,6 +198,8 @@ $icon-total-space-medium: calc(#{$icon-width-medium} + #{$icon-margin-left} + #{
|
|
|
198
198
|
flex-direction: row;
|
|
199
199
|
justify-content: space-between;
|
|
200
200
|
align-items: center;
|
|
201
|
+
flex: 1;
|
|
202
|
+
min-inline-size: 0;
|
|
201
203
|
}
|
|
202
204
|
|
|
203
205
|
&-button,
|
|
@@ -285,6 +287,20 @@ $icon-total-space-medium: calc(#{$icon-width-medium} + #{$icon-margin-left} + #{
|
|
|
285
287
|
}
|
|
286
288
|
}
|
|
287
289
|
|
|
290
|
+
// Internal-only class: zeros header wrapper padding when __disableHeaderPaddings is set.
|
|
291
|
+
// Allows parent components to control spacing without brittle positional selectors.
|
|
292
|
+
.disable-header-paddings {
|
|
293
|
+
padding-block: 0;
|
|
294
|
+
padding-inline: 0;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
// Internal-only class: zeros content wrapper padding when the disableContentPaddings prop is set.
|
|
298
|
+
// Paired with disable-header-paddings for consistent zero-padding on both wrapper divs.
|
|
299
|
+
.disable-content-paddings {
|
|
300
|
+
padding-block: 0;
|
|
301
|
+
padding-inline: 0;
|
|
302
|
+
}
|
|
303
|
+
|
|
288
304
|
.focusable {
|
|
289
305
|
&:focus {
|
|
290
306
|
outline: none;
|
|
@@ -302,3 +318,129 @@ $icon-total-space-medium: calc(#{$icon-width-medium} + #{$icon-margin-left} + #{
|
|
|
302
318
|
color: awsui.$color-text-expandable-section-hover;
|
|
303
319
|
}
|
|
304
320
|
}
|
|
321
|
+
|
|
322
|
+
// When the expand/collapse icon is rendered at the end of the header.
|
|
323
|
+
// For non-container variants the icon is rendered at the end of the headerButton
|
|
324
|
+
// (taking the full width of the header). For the container variant the icon is
|
|
325
|
+
// rendered as a sibling of the InternalHeader so it appears past any actions.
|
|
326
|
+
.header-icon-end {
|
|
327
|
+
&.wrapper-default,
|
|
328
|
+
&.wrapper-inline,
|
|
329
|
+
&.wrapper-footer,
|
|
330
|
+
&.wrapper-compact {
|
|
331
|
+
padding-inline-start: 0;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
&.wrapper-navigation {
|
|
335
|
+
justify-content: space-between;
|
|
336
|
+
align-items: flex-start;
|
|
337
|
+
column-gap: awsui.$space-xs;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
&.wrapper-container,
|
|
341
|
+
&.wrapper-default {
|
|
342
|
+
display: flex;
|
|
343
|
+
align-items: flex-start;
|
|
344
|
+
column-gap: awsui.$space-m;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
&.wrapper-container {
|
|
348
|
+
&:not(.header-deprecated) {
|
|
349
|
+
padding-inline-start: container.$header-padding-horizontal;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
.header-button-icon-end {
|
|
355
|
+
margin-inline-start: 0;
|
|
356
|
+
column-gap: awsui.$space-xs;
|
|
357
|
+
justify-content: space-between;
|
|
358
|
+
|
|
359
|
+
// For non-container variants the icon lives inside this button, so it
|
|
360
|
+
// needs to be a full-width flex row to push the icon to the inline-end.
|
|
361
|
+
// The container variant renders the icon outside InternalHeader, so
|
|
362
|
+
// making this element a block-level flex container with 100% width would
|
|
363
|
+
// force the title to consume all available space and push the info slot
|
|
364
|
+
// (rendered as a sibling inside InternalHeader) to a new line.
|
|
365
|
+
&:not(.header-container-button) {
|
|
366
|
+
display: flex;
|
|
367
|
+
inline-size: 100%;
|
|
368
|
+
|
|
369
|
+
> .header-text {
|
|
370
|
+
flex: 1;
|
|
371
|
+
min-inline-size: 0;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
.icon-container-end {
|
|
377
|
+
margin-inline-start: auto;
|
|
378
|
+
margin-inline-end: 0;
|
|
379
|
+
flex-shrink: 0;
|
|
380
|
+
|
|
381
|
+
// Stretch the button to fill the parent's block-size so the entire caret
|
|
382
|
+
// column is clickable/hoverable, matching start-position behavior.
|
|
383
|
+
align-self: stretch;
|
|
384
|
+
align-items: flex-start;
|
|
385
|
+
|
|
386
|
+
// Reset native <button> chrome for the outside caret in end-icon-position.
|
|
387
|
+
// The navigation variant already has its own reset via .header-navigation > .icon-container
|
|
388
|
+
// so this is harmless-but-redundant for that path, and necessary for default/container.
|
|
389
|
+
border-block: none;
|
|
390
|
+
border-inline: none;
|
|
391
|
+
background: none;
|
|
392
|
+
padding-block: 0;
|
|
393
|
+
padding-inline: 0;
|
|
394
|
+
cursor: pointer;
|
|
395
|
+
font: inherit;
|
|
396
|
+
color: inherit;
|
|
397
|
+
|
|
398
|
+
@include focus-visible.when-visible {
|
|
399
|
+
@include styles.focus-highlight(2px);
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
// Align the navigation end-layout caret to the first line of header text.
|
|
403
|
+
// The header link has padding-block equal to (item-height - line-height) / 2
|
|
404
|
+
// (set by side-navigation). Mirror that on the caret so it sits at the same
|
|
405
|
+
// vertical position as the first text line — identical to the start layout.
|
|
406
|
+
.header-icon-end.wrapper-navigation > & {
|
|
407
|
+
padding-block-start: calc((#{awsui.$size-side-navigation-item-height} - #{awsui.$line-height-body-m}) / 2);
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
// In the end layout the icon is a flex child governed by the parent's
|
|
411
|
+
// align-items: flex-start. Reset the inset-block-start offsets that the
|
|
412
|
+
// start layout uses (they assume relative positioning within text flow)
|
|
413
|
+
// so the icon aligns with the first line of header text via flex.
|
|
414
|
+
@include theming.one-theme-only {
|
|
415
|
+
// Override the base .icon-container one-theme rule that re-introduces
|
|
416
|
+
// margin-inline-end via the margin-inline shorthand (equal specificity,
|
|
417
|
+
// later source order wins).
|
|
418
|
+
margin-inline-end: 0;
|
|
419
|
+
&:not(.icon-container-container) {
|
|
420
|
+
inset-block-start: $icon-offset-block;
|
|
421
|
+
}
|
|
422
|
+
> .icon {
|
|
423
|
+
inset-block-start: 0;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
// Semantic wrapper around HeadingTag + actions in non-container variants
|
|
429
|
+
.header-icon-end > .header-content {
|
|
430
|
+
flex: 1;
|
|
431
|
+
min-inline-size: 0;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
.header-icon-end > .header-navigation-content {
|
|
435
|
+
flex: 1;
|
|
436
|
+
min-inline-size: 0;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
// Navigation variant, start icon: align the expand caret to the first line of text
|
|
440
|
+
// when header paddings are disabled (side-navigation use case).
|
|
441
|
+
// Mirrors the end-icon alignment at .icon-container-end (same formula).
|
|
442
|
+
.disable-header-paddings.wrapper-navigation:not(.header-icon-end) > .icon-container {
|
|
443
|
+
display: grid;
|
|
444
|
+
align-items: flex-start;
|
|
445
|
+
padding-block: calc((#{awsui.$size-side-navigation-item-height} - #{awsui.$line-height-body-m}) / 2);
|
|
446
|
+
}
|
|
@@ -28,6 +28,47 @@
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
%input-default-styles {
|
|
32
|
+
background-color: var(#{custom-props.$styleBackgroundDefault}, awsui.$color-background-input-default);
|
|
33
|
+
border-block: awsui.$border-width-field solid
|
|
34
|
+
var(#{custom-props.$styleBorderColorDefault}, awsui.$color-border-input-default);
|
|
35
|
+
border-inline: awsui.$border-width-field solid
|
|
36
|
+
var(#{custom-props.$styleBorderColorDefault}, awsui.$color-border-input-default);
|
|
37
|
+
box-shadow: var(#{custom-props.$styleBoxShadowDefault});
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
%input-hover-styles {
|
|
41
|
+
border-color: var(
|
|
42
|
+
#{custom-props.$styleBorderColorHover},
|
|
43
|
+
var(#{custom-props.$styleBorderColorDefault}, awsui.$color-border-input-default)
|
|
44
|
+
);
|
|
45
|
+
background-color: var(
|
|
46
|
+
#{custom-props.$styleBackgroundHover},
|
|
47
|
+
var(#{custom-props.$styleBackgroundDefault}, awsui.$color-background-input-default)
|
|
48
|
+
);
|
|
49
|
+
box-shadow: var(#{custom-props.$styleBoxShadowHover}, #{custom-props.$styleBoxShadowDefault});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
%input-readonly-styles {
|
|
53
|
+
@include styles.form-readonly-element(
|
|
54
|
+
$background-color: var(
|
|
55
|
+
#{custom-props.$styleBackgroundReadonly},
|
|
56
|
+
var(#{custom-props.$styleBackgroundDefault}, awsui.$color-background-input-default)
|
|
57
|
+
),
|
|
58
|
+
$border-color: var(
|
|
59
|
+
#{custom-props.$styleBorderColorReadonly},
|
|
60
|
+
var(#{custom-props.$styleBorderColorDefault}, awsui.$color-border-input-disabled)
|
|
61
|
+
)
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
%input-focus-styles {
|
|
66
|
+
@include styles.form-focus-element(
|
|
67
|
+
$border-color: var(#{custom-props.$styleBorderColorFocus}, awsui.$color-border-input-focused),
|
|
68
|
+
$box-shadow: var(#{custom-props.$styleBoxShadowFocus}, foundation.$box-shadow-focused-light)
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
31
72
|
.root {
|
|
32
73
|
/* used in test-utils for component to distinguish input from other input-like components, for example autosuggest */
|
|
33
74
|
}
|
|
@@ -40,54 +81,31 @@
|
|
|
40
81
|
inline-size: 100%;
|
|
41
82
|
cursor: text;
|
|
42
83
|
box-sizing: border-box;
|
|
43
|
-
background-color: var(#{custom-props.$styleBackgroundDefault}, awsui.$color-background-input-default);
|
|
44
84
|
border-start-start-radius: styles.$control-border-radius;
|
|
45
85
|
border-start-end-radius: styles.$control-border-radius;
|
|
46
86
|
border-end-start-radius: styles.$control-border-radius;
|
|
47
87
|
border-end-end-radius: styles.$control-border-radius;
|
|
48
88
|
|
|
49
|
-
border-block: awsui.$border-width-field solid
|
|
50
|
-
var(#{custom-props.$styleBorderColorDefault}, awsui.$color-border-input-default);
|
|
51
|
-
border-inline: awsui.$border-width-field solid
|
|
52
|
-
var(#{custom-props.$styleBorderColorDefault}, awsui.$color-border-input-default);
|
|
53
|
-
|
|
54
|
-
box-shadow: var(#{custom-props.$styleBoxShadowDefault});
|
|
55
|
-
|
|
56
89
|
@include styles.font-body-m;
|
|
57
90
|
min-block-size: awsui.$size-vertical-input;
|
|
58
91
|
|
|
92
|
+
@extend %input-default-styles;
|
|
93
|
+
|
|
59
94
|
&:hover {
|
|
60
|
-
border-color: var(
|
|
61
|
-
#{custom-props.$styleBorderColorHover},
|
|
62
|
-
var(#{custom-props.$styleBorderColorDefault}, awsui.$color-border-input-default)
|
|
63
|
-
);
|
|
64
95
|
color: var(
|
|
65
96
|
#{custom-props.$styleColorHover},
|
|
66
97
|
var(#{custom-props.$styleBorderColorDefault}, awsui.$color-text-body-default)
|
|
67
98
|
);
|
|
68
|
-
|
|
69
|
-
#{custom-props.$styleBackgroundHover},
|
|
70
|
-
var(#{custom-props.$styleBackgroundDefault}, awsui.$color-background-input-default)
|
|
71
|
-
);
|
|
72
|
-
box-shadow: var(#{custom-props.$styleBoxShadowHover}, #{custom-props.$styleBoxShadowDefault});
|
|
99
|
+
@extend %input-hover-styles;
|
|
73
100
|
}
|
|
74
101
|
|
|
75
102
|
&.input-readonly {
|
|
76
|
-
@include styles.form-readonly-element(
|
|
77
|
-
$background-color: var(
|
|
78
|
-
#{custom-props.$styleBackgroundReadonly},
|
|
79
|
-
var(#{custom-props.$styleBackgroundDefault}, awsui.$color-background-input-default)
|
|
80
|
-
),
|
|
81
|
-
$border-color: var(
|
|
82
|
-
#{custom-props.$styleBorderColorReadonly},
|
|
83
|
-
var(#{custom-props.$styleBorderColorDefault}, awsui.$color-border-input-disabled)
|
|
84
|
-
)
|
|
85
|
-
);
|
|
86
103
|
color: var(
|
|
87
104
|
#{custom-props.$styleColorReadonly},
|
|
88
105
|
var(#{custom-props.$styleColorDefault}, awsui.$color-text-body-default)
|
|
89
106
|
);
|
|
90
107
|
box-shadow: var(#{custom-props.$styleBoxShadowReadonly});
|
|
108
|
+
@extend %input-readonly-styles;
|
|
91
109
|
}
|
|
92
110
|
|
|
93
111
|
@include placeholder {
|
|
@@ -100,12 +118,9 @@
|
|
|
100
118
|
}
|
|
101
119
|
|
|
102
120
|
&:focus {
|
|
103
|
-
@include styles.form-focus-element(
|
|
104
|
-
$border-color: var(#{custom-props.$styleBorderColorFocus}, awsui.$color-border-input-focused),
|
|
105
|
-
$box-shadow: var(#{custom-props.$styleBoxShadowFocus}, foundation.$box-shadow-focused-light)
|
|
106
|
-
);
|
|
107
121
|
color: var(#{custom-props.$styleColorFocus}, awsui.$color-text-body-default);
|
|
108
122
|
background-color: var(#{custom-props.$styleBackgroundFocus}, awsui.$color-background-input-default);
|
|
123
|
+
@extend %input-focus-styles;
|
|
109
124
|
}
|
|
110
125
|
|
|
111
126
|
&:disabled {
|
|
@@ -134,7 +149,7 @@
|
|
|
134
149
|
$border-color: var(#{custom-props.$styleBorderColorDefault}, awsui.$color-text-status-error),
|
|
135
150
|
$focus-box-shadow: var(#{custom-props.$styleBoxShadowFocus}, foundation.$box-shadow-focused-light-invalid)
|
|
136
151
|
);
|
|
137
|
-
&.input-has-icon-
|
|
152
|
+
&.input-has-icon-start {
|
|
138
153
|
padding-inline-start: calc(
|
|
139
154
|
#{styles.$control-icon-horizontal-padding} -
|
|
140
155
|
(#{styles.$invalid-control-left-border} - #{awsui.$border-width-field})
|
|
@@ -148,7 +163,7 @@
|
|
|
148
163
|
$border-color: var(#{custom-props.$styleBorderColorDefault}, awsui.$color-text-status-warning),
|
|
149
164
|
$focus-box-shadow: var(#{custom-props.$styleBoxShadowFocus}, foundation.$box-shadow-focused-light-invalid)
|
|
150
165
|
);
|
|
151
|
-
&.input-has-icon-
|
|
166
|
+
&.input-has-icon-start {
|
|
152
167
|
padding-inline-start: calc(
|
|
153
168
|
#{styles.$control-icon-horizontal-padding} -
|
|
154
169
|
(#{styles.$invalid-control-left-border} - #{awsui.$border-width-field})
|
|
@@ -169,10 +184,10 @@
|
|
|
169
184
|
display: none;
|
|
170
185
|
}
|
|
171
186
|
}
|
|
172
|
-
&.input-has-icon-
|
|
187
|
+
&.input-has-icon-start {
|
|
173
188
|
padding-inline-start: styles.$control-icon-horizontal-padding;
|
|
174
189
|
}
|
|
175
|
-
&.input-has-icon-
|
|
190
|
+
&.input-has-icon-end {
|
|
176
191
|
padding-inline-end: styles.$control-icon-horizontal-padding;
|
|
177
192
|
}
|
|
178
193
|
&.input-has-no-border-radius {
|
|
@@ -188,14 +203,14 @@
|
|
|
188
203
|
position: relative;
|
|
189
204
|
}
|
|
190
205
|
|
|
191
|
-
.input-icon-
|
|
206
|
+
.input-icon-start {
|
|
192
207
|
position: absolute;
|
|
193
208
|
pointer-events: none;
|
|
194
209
|
inset-inline-start: styles.$control-icon-horizontal-offset;
|
|
195
210
|
inset-block-start: styles.$control-icon-vertical-offset;
|
|
196
211
|
}
|
|
197
212
|
|
|
198
|
-
.input-icon-
|
|
213
|
+
.input-icon-end {
|
|
199
214
|
position: absolute;
|
|
200
215
|
inset-block-start: calc(#{styles.$control-icon-vertical-offset} - #{awsui.$space-xxxs});
|
|
201
216
|
inset-inline-end: calc(#{styles.$control-icon-horizontal-offset} - #{awsui.$space-xxs});
|
|
@@ -224,3 +239,179 @@
|
|
|
224
239
|
.inline-label {
|
|
225
240
|
@include forms.inline-label;
|
|
226
241
|
}
|
|
242
|
+
|
|
243
|
+
.input-adorned-container {
|
|
244
|
+
display: flex;
|
|
245
|
+
align-items: stretch;
|
|
246
|
+
inline-size: 100%;
|
|
247
|
+
box-sizing: border-box;
|
|
248
|
+
color: var(#{custom-props.$styleColorDefault}, awsui.$color-text-form-secondary);
|
|
249
|
+
border-start-start-radius: styles.$control-border-radius;
|
|
250
|
+
border-start-end-radius: styles.$control-border-radius;
|
|
251
|
+
border-end-start-radius: styles.$control-border-radius;
|
|
252
|
+
border-end-end-radius: styles.$control-border-radius;
|
|
253
|
+
min-block-size: awsui.$size-vertical-input;
|
|
254
|
+
|
|
255
|
+
@extend %input-default-styles;
|
|
256
|
+
|
|
257
|
+
&:hover {
|
|
258
|
+
@extend %input-hover-styles;
|
|
259
|
+
color: var(
|
|
260
|
+
#{custom-props.$styleColorHover},
|
|
261
|
+
var(#{custom-props.$styleColorDefault}, awsui.$color-text-form-secondary)
|
|
262
|
+
);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
&.input-adorned-container-readonly {
|
|
266
|
+
@extend %input-readonly-styles;
|
|
267
|
+
color: var(
|
|
268
|
+
#{custom-props.$styleColorReadonly},
|
|
269
|
+
var(#{custom-props.$styleColorDefault}, awsui.$color-text-form-secondary)
|
|
270
|
+
);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
&:focus-within {
|
|
274
|
+
@extend %input-focus-styles;
|
|
275
|
+
color: var(
|
|
276
|
+
#{custom-props.$styleColorFocus},
|
|
277
|
+
var(#{custom-props.$styleColorDefault}, awsui.$color-text-form-secondary)
|
|
278
|
+
);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
&.input-adorned-container-invalid {
|
|
282
|
+
@include styles.form-invalid-control(
|
|
283
|
+
$color: var(#{custom-props.$styleColorDefault}, awsui.$color-text-status-error),
|
|
284
|
+
$border-color: var(#{custom-props.$styleBorderColorDefault}, awsui.$color-text-status-error),
|
|
285
|
+
$focus-box-shadow: var(#{custom-props.$styleBoxShadowFocus}, foundation.$box-shadow-focused-light-invalid)
|
|
286
|
+
) {
|
|
287
|
+
padding-inline-start: 0;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
&:focus-within {
|
|
291
|
+
box-shadow: var(#{custom-props.$styleBoxShadowFocus}, foundation.$box-shadow-focused-light-invalid);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
&.input-adorned-container-warning {
|
|
296
|
+
@include styles.form-warning-control(
|
|
297
|
+
$color: var(#{custom-props.$styleColorDefault}, awsui.$color-text-status-warning),
|
|
298
|
+
$border-color: var(#{custom-props.$styleBorderColorDefault}, awsui.$color-text-status-warning),
|
|
299
|
+
$focus-box-shadow: var(#{custom-props.$styleBoxShadowFocus}, foundation.$box-shadow-focused-light-invalid)
|
|
300
|
+
) {
|
|
301
|
+
padding-inline-start: 0;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
&:focus-within {
|
|
305
|
+
box-shadow: var(#{custom-props.$styleBoxShadowFocus}, foundation.$box-shadow-focused-light-invalid);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
&.input-adorned-container-disabled {
|
|
310
|
+
@include styles.form-disabled-element(
|
|
311
|
+
$background-color: var(#{custom-props.$styleBackgroundDisabled}, awsui.$color-background-input-disabled),
|
|
312
|
+
$border-color: var(#{custom-props.$styleBorderColorDisabled}, awsui.$color-border-input-disabled),
|
|
313
|
+
$color: var(#{custom-props.$styleColorDisabled}, awsui.$color-text-input-disabled),
|
|
314
|
+
$cursor: default
|
|
315
|
+
);
|
|
316
|
+
box-shadow: var(#{custom-props.$styleBoxShadowDisabled});
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
.input-prefix,
|
|
321
|
+
.input-suffix {
|
|
322
|
+
display: flex;
|
|
323
|
+
align-items: center;
|
|
324
|
+
flex-shrink: 1;
|
|
325
|
+
max-inline-size: calc(50% - 6rem);
|
|
326
|
+
min-inline-size: 0;
|
|
327
|
+
padding-block: styles.$control-padding-vertical;
|
|
328
|
+
padding-inline: styles.$control-padding-horizontal;
|
|
329
|
+
color: inherit;
|
|
330
|
+
@include styles.font-body-m;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
.input-adornment-content {
|
|
334
|
+
display: block;
|
|
335
|
+
flex: 1;
|
|
336
|
+
min-inline-size: 0;
|
|
337
|
+
overflow: hidden;
|
|
338
|
+
text-overflow: ellipsis;
|
|
339
|
+
white-space: nowrap;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.input-adornment-divider {
|
|
343
|
+
display: block;
|
|
344
|
+
flex-shrink: 0;
|
|
345
|
+
inline-size: awsui.$border-width-field;
|
|
346
|
+
background-color: awsui.$color-border-divider-default;
|
|
347
|
+
align-self: stretch;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
.input-adorned {
|
|
351
|
+
flex: 1;
|
|
352
|
+
min-inline-size: 0;
|
|
353
|
+
border-block: none;
|
|
354
|
+
border-inline: none;
|
|
355
|
+
border-start-start-radius: 0;
|
|
356
|
+
border-start-end-radius: 0;
|
|
357
|
+
border-end-start-radius: 0;
|
|
358
|
+
border-end-end-radius: 0;
|
|
359
|
+
background-color: transparent;
|
|
360
|
+
box-shadow: none;
|
|
361
|
+
min-block-size: unset;
|
|
362
|
+
|
|
363
|
+
&.input:focus {
|
|
364
|
+
border-block: 0;
|
|
365
|
+
border-inline: 0;
|
|
366
|
+
box-shadow: none;
|
|
367
|
+
outline: none;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
&:hover {
|
|
371
|
+
border-color: transparent;
|
|
372
|
+
background-color: transparent;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
&:disabled {
|
|
376
|
+
background-color: transparent;
|
|
377
|
+
border-color: transparent;
|
|
378
|
+
border-block: 0;
|
|
379
|
+
border-inline: 0;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
&.input-readonly {
|
|
383
|
+
background-color: transparent;
|
|
384
|
+
border-color: transparent;
|
|
385
|
+
border-block: 0;
|
|
386
|
+
border-inline: 0;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
&.input-invalid,
|
|
390
|
+
&.input-warning {
|
|
391
|
+
padding-inline-start: styles.$control-padding-horizontal;
|
|
392
|
+
border-block: 0;
|
|
393
|
+
border-inline: 0;
|
|
394
|
+
border-inline-start-width: 0;
|
|
395
|
+
box-shadow: none;
|
|
396
|
+
|
|
397
|
+
&:focus {
|
|
398
|
+
border-block: 0;
|
|
399
|
+
border-inline: 0;
|
|
400
|
+
box-shadow: none;
|
|
401
|
+
outline: none;
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.input-adorned-container-invalid,
|
|
407
|
+
.input-adorned-container-warning {
|
|
408
|
+
> .input-prefix,
|
|
409
|
+
> .input-adorned:first-child {
|
|
410
|
+
padding-inline-start: styles.$invalid-control-left-padding;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
> .input-prefix,
|
|
414
|
+
> .input-suffix {
|
|
415
|
+
max-inline-size: calc(50% - 6rem + (#{styles.$invalid-control-left-border} - #{awsui.$border-width-field}) / 2);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
@@ -18,3 +18,17 @@
|
|
|
18
18
|
.tokens {
|
|
19
19
|
margin-block-start: awsui.$space-scaled-xs;
|
|
20
20
|
}
|
|
21
|
+
|
|
22
|
+
// Custom dropdown header/footer regions (renderDropdownHeader / renderDropdownFooter). Duplicated in the
|
|
23
|
+
// Select stylesheet. The header can sit directly above the options list, so it is lifted with z-index to
|
|
24
|
+
// keep focusable content's focus ring above the list; the footer sits below the list with natural
|
|
25
|
+
// clearance and needs no lift.
|
|
26
|
+
.dropdown-header {
|
|
27
|
+
inline-size: 100%;
|
|
28
|
+
position: relative;
|
|
29
|
+
z-index: 4;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.dropdown-footer {
|
|
33
|
+
inline-size: 100%;
|
|
34
|
+
}
|
|
@@ -98,8 +98,14 @@
|
|
|
98
98
|
color: awsui.$color-text-interactive-default;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
.pages-compact {
|
|
102
|
+
color: awsui.$color-text-pagination-page-number-default;
|
|
103
|
+
white-space: nowrap;
|
|
104
|
+
}
|
|
105
|
+
|
|
101
106
|
.page-item,
|
|
102
|
-
.dots
|
|
107
|
+
.dots,
|
|
108
|
+
.pages-compact {
|
|
103
109
|
margin-block: styles.$control-padding-vertical;
|
|
104
110
|
margin-inline: awsui.$space-xxs;
|
|
105
111
|
text-align: center;
|
|
@@ -114,6 +120,7 @@
|
|
|
114
120
|
}
|
|
115
121
|
}
|
|
116
122
|
|
|
117
|
-
.root-disabled > .dots
|
|
123
|
+
.root-disabled > .dots,
|
|
124
|
+
.root-disabled > .pages-compact {
|
|
118
125
|
color: awsui.$color-text-interactive-disabled;
|
|
119
126
|
}
|
|
@@ -4,8 +4,21 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
@use '../internal/styles' as styles;
|
|
7
|
-
@use '../internal/styles/tokens' as awsui;
|
|
8
7
|
|
|
9
8
|
.root {
|
|
10
9
|
@include styles.styles-reset;
|
|
11
10
|
}
|
|
11
|
+
|
|
12
|
+
// Custom dropdown header/footer regions (renderDropdownHeader / renderDropdownFooter). Duplicated in the
|
|
13
|
+
// Multiselect stylesheet. The header can sit directly above the options list, so it is lifted with z-index
|
|
14
|
+
// to keep focusable content's focus ring above the list; the footer sits below the list with natural
|
|
15
|
+
// clearance and needs no lift.
|
|
16
|
+
.dropdown-header {
|
|
17
|
+
inline-size: 100%;
|
|
18
|
+
position: relative;
|
|
19
|
+
z-index: 4;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.dropdown-footer {
|
|
23
|
+
inline-size: 100%;
|
|
24
|
+
}
|