@cloudscape-design/components-themeable 3.0.1311 → 3.0.1313
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/app-layout/visual-refresh/drawers.scss +16 -0
- package/lib/internal/scss/app-layout/visual-refresh/navigation.scss +1 -1
- package/lib/internal/scss/app-layout/visual-refresh/tools.scss +4 -0
- package/lib/internal/scss/app-layout/visual-refresh-toolbar/drawer/styles.scss +1 -1
- package/lib/internal/scss/app-layout/visual-refresh-toolbar/navigation/styles.scss +1 -1
- package/lib/internal/scss/button-dropdown/category-elements/styles.scss +5 -0
- package/lib/internal/scss/button-dropdown/styles.scss +18 -0
- package/lib/internal/scss/expandable-section/styles.scss +17 -0
- package/lib/internal/scss/internal/components/button-trigger/styles.scss +7 -0
- package/lib/internal/scss/internal/components/drag-handle/styles.scss +5 -1
- package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
- package/lib/internal/scss/internal/styles/utils/theming.scss +6 -0
- package/lib/internal/scss/segmented-control/styles.scss +2 -2
- package/lib/internal/scss/status-indicator/styles.scss +36 -0
- package/lib/internal/scss/steps/styles.scss +39 -0
- package/lib/internal/scss/table/header-cell/styles.scss +12 -1
- package/lib/internal/scss/table/resizer/styles.scss +9 -1
- package/lib/internal/scss/toggle/styles.scss +1 -1
- package/lib/internal/scss/toggle-button/styles.scss +7 -1
- package/lib/internal/scss/token/mixins.scss +4 -4
- package/lib/internal/scss/token/styles.scss +7 -0
- package/lib/internal/scss/tree-view/tree-item/styles.scss +10 -0
- package/lib/internal/template/app-layout/runtime-drawer/index.js +1 -1
- package/lib/internal/template/app-layout/runtime-drawer/index.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/drawers.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/drawers.js +3 -0
- package/lib/internal/template/app-layout/visual-refresh/drawers.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/styles.css.js +87 -86
- package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +176 -164
- package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +87 -86
- package/lib/internal/template/app-layout/visual-refresh/tools.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/tools.js +2 -0
- package/lib/internal/template/app-layout/visual-refresh/tools.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +32 -32
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +84 -84
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +32 -32
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +6 -6
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
- package/lib/internal/template/breadcrumb-group/implementation.d.ts.map +1 -1
- package/lib/internal/template/breadcrumb-group/implementation.js +2 -2
- package/lib/internal/template/breadcrumb-group/implementation.js.map +1 -1
- package/lib/internal/template/breadcrumb-group/item/item.d.ts.map +1 -1
- package/lib/internal/template/breadcrumb-group/item/item.js +2 -1
- package/lib/internal/template/breadcrumb-group/item/item.js.map +1 -1
- package/lib/internal/template/button/internal.d.ts +3 -0
- package/lib/internal/template/button/internal.d.ts.map +1 -1
- package/lib/internal/template/button/internal.js +2 -2
- package/lib/internal/template/button/internal.js.map +1 -1
- package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js +4 -2
- package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
- package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js +4 -2
- package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
- package/lib/internal/template/button-dropdown/category-elements/styles.css.js +19 -18
- package/lib/internal/template/button-dropdown/category-elements/styles.scoped.css +32 -28
- package/lib/internal/template/button-dropdown/category-elements/styles.selectors.js +19 -18
- package/lib/internal/template/button-dropdown/index.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/index.js +4 -3
- package/lib/internal/template/button-dropdown/index.js.map +1 -1
- package/lib/internal/template/button-dropdown/interfaces.d.ts +22 -0
- package/lib/internal/template/button-dropdown/interfaces.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/interfaces.js.map +1 -1
- package/lib/internal/template/button-dropdown/internal.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/internal.js +15 -6
- package/lib/internal/template/button-dropdown/internal.js.map +1 -1
- package/lib/internal/template/button-dropdown/styles.css.js +23 -21
- package/lib/internal/template/button-dropdown/styles.scoped.css +39 -29
- package/lib/internal/template/button-dropdown/styles.selectors.js +23 -21
- package/lib/internal/template/button-group/icon-toggle-button-item.js +1 -1
- package/lib/internal/template/button-group/icon-toggle-button-item.js.map +1 -1
- package/lib/internal/template/button-group/interfaces.d.ts +12 -1
- package/lib/internal/template/button-group/interfaces.d.ts.map +1 -1
- package/lib/internal/template/button-group/interfaces.js.map +1 -1
- package/lib/internal/template/button-group/menu-dropdown-item.d.ts.map +1 -1
- package/lib/internal/template/button-group/menu-dropdown-item.js +2 -1
- package/lib/internal/template/button-group/menu-dropdown-item.js.map +1 -1
- package/lib/internal/template/dropdown/internal.d.ts.map +1 -1
- package/lib/internal/template/dropdown/internal.js +14 -2
- package/lib/internal/template/dropdown/internal.js.map +1 -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 +5 -5
- package/lib/internal/template/expandable-section/expandable-section-header.js.map +1 -1
- package/lib/internal/template/expandable-section/styles.css.js +36 -35
- package/lib/internal/template/expandable-section/styles.scoped.css +81 -66
- package/lib/internal/template/expandable-section/styles.selectors.js +36 -35
- package/lib/internal/template/icon/generated/icons.d.ts +1 -0
- package/lib/internal/template/icon/generated/icons.d.ts.map +1 -1
- package/lib/internal/template/icon/generated/icons.js +2 -0
- package/lib/internal/template/icon/generated/icons.js.map +1 -1
- package/lib/internal/template/icon-provider/interfaces.d.ts +1 -1
- package/lib/internal/template/icon-provider/interfaces.d.ts.map +1 -1
- package/lib/internal/template/icon-provider/interfaces.js.map +1 -1
- package/lib/internal/template/internal/base-component/styles.scoped.css +65 -1
- package/lib/internal/template/internal/components/button-trigger/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/button-trigger/index.js +3 -2
- package/lib/internal/template/internal/components/button-trigger/index.js.map +1 -1
- package/lib/internal/template/internal/components/button-trigger/styles.css.js +15 -14
- package/lib/internal/template/internal/components/button-trigger/styles.scoped.css +35 -29
- package/lib/internal/template/internal/components/button-trigger/styles.selectors.js +15 -14
- package/lib/internal/template/internal/components/checkbox-icon/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/checkbox-icon/index.js +11 -2
- package/lib/internal/template/internal/components/checkbox-icon/index.js.map +1 -1
- package/lib/internal/template/internal/components/drag-handle/styles.css.js +14 -14
- package/lib/internal/template/internal/components/drag-handle/styles.scoped.css +20 -19
- package/lib/internal/template/internal/components/drag-handle/styles.selectors.js +14 -14
- package/lib/internal/template/internal/components/drag-handle-wrapper/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/drag-handle-wrapper/index.js +6 -3
- package/lib/internal/template/internal/components/drag-handle-wrapper/index.js.map +1 -1
- package/lib/internal/template/internal/components/drag-handle-wrapper/portal-overlay.d.ts +2 -1
- package/lib/internal/template/internal/components/drag-handle-wrapper/portal-overlay.d.ts.map +1 -1
- package/lib/internal/template/internal/components/drag-handle-wrapper/portal-overlay.js +2 -2
- package/lib/internal/template/internal/components/drag-handle-wrapper/portal-overlay.js.map +1 -1
- package/lib/internal/template/internal/components/expand-toggle-button/index.js +2 -2
- package/lib/internal/template/internal/components/expand-toggle-button/index.js.map +1 -1
- package/lib/internal/template/internal/environment.js +2 -2
- package/lib/internal/template/internal/environment.json +2 -2
- package/lib/internal/template/internal/generated/styles/tokens.d.ts +8 -0
- package/lib/internal/template/internal/generated/styles/tokens.js +8 -0
- package/lib/internal/template/internal/generated/theming/index.cjs +236 -0
- package/lib/internal/template/internal/generated/theming/index.cjs.d.ts +72 -0
- package/lib/internal/template/internal/generated/theming/index.d.ts +72 -0
- package/lib/internal/template/internal/generated/theming/index.js +236 -0
- package/lib/internal/template/internal/hooks/use-mouse-down-target.js +2 -2
- package/lib/internal/template/internal/hooks/use-mouse-down-target.js.map +1 -1
- package/lib/internal/template/internal/hooks/use-portal-mode-classes/index.d.ts.map +1 -1
- package/lib/internal/template/internal/hooks/use-portal-mode-classes/index.js +4 -2
- package/lib/internal/template/internal/hooks/use-portal-mode-classes/index.js.map +1 -1
- package/lib/internal/template/internal/hooks/use-visual-mode/index.d.ts +1 -0
- package/lib/internal/template/internal/hooks/use-visual-mode/index.d.ts.map +1 -1
- package/lib/internal/template/internal/hooks/use-visual-mode/index.js +2 -1
- package/lib/internal/template/internal/hooks/use-visual-mode/index.js.map +1 -1
- package/lib/internal/template/internal/utils/throttle.d.ts.map +1 -1
- package/lib/internal/template/internal/utils/throttle.js +3 -1
- package/lib/internal/template/internal/utils/throttle.js.map +1 -1
- package/lib/internal/template/progress-bar/index.d.ts.map +1 -1
- package/lib/internal/template/progress-bar/index.js +1 -0
- package/lib/internal/template/progress-bar/index.js.map +1 -1
- package/lib/internal/template/segmented-control/styles.css.js +16 -16
- package/lib/internal/template/segmented-control/styles.scoped.css +34 -34
- package/lib/internal/template/segmented-control/styles.selectors.js +16 -16
- package/lib/internal/template/status-indicator/internal.d.ts.map +1 -1
- package/lib/internal/template/status-indicator/internal.js +4 -3
- package/lib/internal/template/status-indicator/internal.js.map +1 -1
- package/lib/internal/template/status-indicator/styles.css.js +25 -24
- package/lib/internal/template/status-indicator/styles.scoped.css +75 -40
- package/lib/internal/template/status-indicator/styles.selectors.js +25 -24
- package/lib/internal/template/steps/internal.d.ts.map +1 -1
- package/lib/internal/template/steps/internal.js +20 -6
- package/lib/internal/template/steps/internal.js.map +1 -1
- package/lib/internal/template/steps/styles.css.js +12 -9
- package/lib/internal/template/steps/styles.scoped.css +43 -15
- package/lib/internal/template/steps/styles.selectors.js +12 -9
- package/lib/internal/template/table/header-cell/group-header-cell.d.ts.map +1 -1
- package/lib/internal/template/table/header-cell/group-header-cell.js +4 -16
- package/lib/internal/template/table/header-cell/group-header-cell.js.map +1 -1
- package/lib/internal/template/table/header-cell/index.d.ts.map +1 -1
- package/lib/internal/template/table/header-cell/index.js +2 -1
- package/lib/internal/template/table/header-cell/index.js.map +1 -1
- package/lib/internal/template/table/header-cell/styles.css.js +33 -33
- package/lib/internal/template/table/header-cell/styles.scoped.css +80 -73
- package/lib/internal/template/table/header-cell/styles.selectors.js +33 -33
- package/lib/internal/template/table/header-cell/th-element.d.ts +6 -5
- package/lib/internal/template/table/header-cell/th-element.d.ts.map +1 -1
- package/lib/internal/template/table/header-cell/th-element.js +4 -3
- package/lib/internal/template/table/header-cell/th-element.js.map +1 -1
- package/lib/internal/template/table/resizer/index.d.ts +4 -2
- package/lib/internal/template/table/resizer/index.d.ts.map +1 -1
- package/lib/internal/template/table/resizer/index.js +4 -4
- package/lib/internal/template/table/resizer/index.js.map +1 -1
- package/lib/internal/template/table/resizer/styles.css.js +17 -16
- package/lib/internal/template/table/resizer/styles.scoped.css +32 -24
- package/lib/internal/template/table/resizer/styles.selectors.js +17 -16
- package/lib/internal/template/table/selection/selection-cell.d.ts +2 -1
- package/lib/internal/template/table/selection/selection-cell.d.ts.map +1 -1
- package/lib/internal/template/table/selection/selection-cell.js +2 -2
- package/lib/internal/template/table/selection/selection-cell.js.map +1 -1
- package/lib/internal/template/table/sticky-columns/use-sticky-columns.d.ts +2 -1
- package/lib/internal/template/table/sticky-columns/use-sticky-columns.d.ts.map +1 -1
- package/lib/internal/template/table/sticky-columns/use-sticky-columns.js +31 -7
- package/lib/internal/template/table/sticky-columns/use-sticky-columns.js.map +1 -1
- package/lib/internal/template/table/thead.d.ts.map +1 -1
- package/lib/internal/template/table/thead.js +2 -2
- package/lib/internal/template/table/thead.js.map +1 -1
- package/lib/internal/template/test-utils/dom/table/index.js +1 -1
- package/lib/internal/template/test-utils/dom/table/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/table/index.js +1 -1
- package/lib/internal/template/test-utils/selectors/table/index.js.map +1 -1
- package/lib/internal/template/theming/index.d.ts +2 -0
- package/lib/internal/template/theming/index.d.ts.map +1 -1
- package/lib/internal/template/theming/index.js +55 -0
- package/lib/internal/template/theming/index.js.map +1 -1
- package/lib/internal/template/toggle/styles.css.js +10 -10
- package/lib/internal/template/toggle/styles.scoped.css +18 -18
- package/lib/internal/template/toggle/styles.selectors.js +10 -10
- package/lib/internal/template/toggle-button/internal.d.ts.map +1 -1
- package/lib/internal/template/toggle-button/internal.js +3 -1
- package/lib/internal/template/toggle-button/internal.js.map +1 -1
- package/lib/internal/template/toggle-button/styles.css.js +4 -3
- package/lib/internal/template/toggle-button/styles.scoped.css +8 -3
- package/lib/internal/template/toggle-button/styles.selectors.js +4 -3
- package/lib/internal/template/token/dismiss-button.d.ts.map +1 -1
- package/lib/internal/template/token/dismiss-button.js +3 -1
- package/lib/internal/template/token/dismiss-button.js.map +1 -1
- package/lib/internal/template/token/internal.d.ts.map +1 -1
- package/lib/internal/template/token/internal.js +11 -3
- package/lib/internal/template/token/internal.js.map +1 -1
- package/lib/internal/template/token/styles.css.js +14 -14
- package/lib/internal/template/token/styles.scoped.css +33 -30
- package/lib/internal/template/token/styles.selectors.js +14 -14
- package/lib/internal/template/tree-view/tree-item/index.d.ts.map +1 -1
- package/lib/internal/template/tree-view/tree-item/index.js +2 -1
- package/lib/internal/template/tree-view/tree-item/index.js.map +1 -1
- package/lib/internal/template/tree-view/tree-item/styles.css.js +10 -9
- package/lib/internal/template/tree-view/tree-item/styles.scoped.css +19 -12
- package/lib/internal/template/tree-view/tree-item/styles.selectors.js +10 -9
- package/package.json +1 -1
|
@@ -22,6 +22,12 @@
|
|
|
22
22
|
background-color: awsui.$color-background-container-content;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
+
&.one-theme {
|
|
26
|
+
&.has-open-drawer {
|
|
27
|
+
background-color: awsui.$color-background-layout-panel-content;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
25
31
|
@include styles.media-breakpoint-up(styles.$breakpoint-x-small) {
|
|
26
32
|
max-inline-size: calc(
|
|
27
33
|
var(#{custom-props.$layoutWidth}) - var(#{custom-props.$mainOffsetLeft}) - var(
|
|
@@ -66,6 +72,12 @@
|
|
|
66
72
|
background-color: awsui.$color-background-container-content;
|
|
67
73
|
}
|
|
68
74
|
|
|
75
|
+
&.one-theme {
|
|
76
|
+
&.has-multiple-triggers.has-open-drawer {
|
|
77
|
+
background-color: awsui.$color-background-layout-panel-content;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
69
81
|
&:not(.has-multiple-triggers):not(.has-open-drawer) {
|
|
70
82
|
inline-size: calc((awsui.$space-layout-toggle-padding * 2) + awsui.$space-layout-toggle-diameter);
|
|
71
83
|
}
|
|
@@ -125,6 +137,10 @@
|
|
|
125
137
|
pointer-events: auto;
|
|
126
138
|
word-wrap: break-word;
|
|
127
139
|
|
|
140
|
+
&.one-theme {
|
|
141
|
+
background-color: awsui.$color-background-layout-panel-content;
|
|
142
|
+
}
|
|
143
|
+
|
|
128
144
|
> .drawer-content-container {
|
|
129
145
|
grid-column: 1 / span 2;
|
|
130
146
|
grid-row: 1;
|
|
@@ -95,6 +95,10 @@ viewport size and state of the Tools drawer.
|
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
+
&.one-theme {
|
|
99
|
+
background-color: awsui.$color-background-layout-panel-content;
|
|
100
|
+
}
|
|
101
|
+
|
|
98
102
|
/*
|
|
99
103
|
A non-semantic node is added with a fixed width equal to the final Tools
|
|
100
104
|
width. This will create the visual appearance of horizontal movement and
|
|
@@ -28,7 +28,7 @@ $ai-drawer-heider-height: 42px;
|
|
|
28
28
|
.drawer {
|
|
29
29
|
position: sticky;
|
|
30
30
|
z-index: constants.$drawer-z-index;
|
|
31
|
-
background-color: awsui.$color-background-
|
|
31
|
+
background-color: awsui.$color-background-layout-panel-content;
|
|
32
32
|
display: grid;
|
|
33
33
|
grid-template-columns: awsui.$space-m 1fr;
|
|
34
34
|
inline-size: var(#{custom-props.$drawerSize});
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
.navigation-container {
|
|
13
13
|
position: sticky;
|
|
14
14
|
z-index: constants.$drawer-z-index;
|
|
15
|
-
background-color: awsui.$color-background-
|
|
15
|
+
background-color: awsui.$color-background-layout-panel-content;
|
|
16
16
|
inset-block-end: 0;
|
|
17
17
|
overflow-x: hidden;
|
|
18
18
|
word-wrap: break-word;
|
|
@@ -120,6 +120,11 @@
|
|
|
120
120
|
display: inline-block;
|
|
121
121
|
margin-inline-start: auto;
|
|
122
122
|
|
|
123
|
+
&.one-theme {
|
|
124
|
+
inset-inline-end: calc(-1 * #{awsui.$space-xs});
|
|
125
|
+
inline-size: awsui.$space-s;
|
|
126
|
+
}
|
|
127
|
+
|
|
123
128
|
@include styles.with-motion {
|
|
124
129
|
transition: transform awsui.$motion-duration-rotate-180 awsui.$motion-easing-rotate-180;
|
|
125
130
|
}
|
|
@@ -50,6 +50,10 @@ $dropdown-trigger-icon-offset: 2px;
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
.trigger-button {
|
|
53
|
+
&.one-theme {
|
|
54
|
+
display: flex;
|
|
55
|
+
align-items: center;
|
|
56
|
+
}
|
|
53
57
|
&.full-width {
|
|
54
58
|
display: grid;
|
|
55
59
|
grid-template-columns: 1fr auto;
|
|
@@ -110,6 +114,20 @@ $dropdown-trigger-icon-offset: 2px;
|
|
|
110
114
|
margin-inline-start: calc(#{awsui.$border-width-button} * -1);
|
|
111
115
|
}
|
|
112
116
|
}
|
|
117
|
+
|
|
118
|
+
& > .trigger-item:not(:first-child).one-theme {
|
|
119
|
+
& > .trigger-button {
|
|
120
|
+
// Resets the padding-inline-end override applied by .visual-refresh above,
|
|
121
|
+
// so both sides stay at $space-xs - $dropdown-trigger-icon-offset.
|
|
122
|
+
padding-inline: calc(#{awsui.$space-xs} - #{$dropdown-trigger-icon-offset});
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
&.has-trigger-text {
|
|
126
|
+
& > .trigger-button {
|
|
127
|
+
padding-inline: calc(#{awsui.$space-xs} + #{$dropdown-trigger-icon-offset});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
113
131
|
}
|
|
114
132
|
.split-trigger {
|
|
115
133
|
display: contents;
|
|
@@ -14,6 +14,8 @@ $icon-width-medium: awsui.$size-icon-medium;
|
|
|
14
14
|
$icon-margin-left: '(#{awsui.$line-height-body-m} - #{$icon-width-normal}) / -2';
|
|
15
15
|
$icon-margin-right-normal: '#{awsui.$space-xxs} + #{awsui.$border-divider-list-width}';
|
|
16
16
|
$icon-margin-right-medium: awsui.$space-xs;
|
|
17
|
+
$icon-offset-inline: awsui.$space-xxs;
|
|
18
|
+
$icon-offset-block: awsui.$space-xxxs;
|
|
17
19
|
|
|
18
20
|
// Total space occupied by the expand icon on the left and its margins.
|
|
19
21
|
// Useful to keep elements correctly aligned.
|
|
@@ -52,6 +54,21 @@ $icon-total-space-medium: calc(#{$icon-width-medium} + #{$icon-margin-left} + #{
|
|
|
52
54
|
// For vertical alignment of text in side navigation items
|
|
53
55
|
&-container {
|
|
54
56
|
margin-inline-end: $icon-margin-right-medium;
|
|
57
|
+
&.one-theme {
|
|
58
|
+
margin-inline-end: calc(#{$icon-margin-right-medium} + $icon-offset-inline);
|
|
59
|
+
inset-block-start: $icon-offset-block;
|
|
60
|
+
> .icon {
|
|
61
|
+
inset-block-start: calc(#{$icon-offset-block} * 3); // Double-check
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
&.one-theme {
|
|
66
|
+
display: inline-flex;
|
|
67
|
+
align-items: flex-start;
|
|
68
|
+
margin-inline-end: calc(#{$icon-margin-right-normal} + #{$icon-offset-inline});
|
|
69
|
+
> .icon {
|
|
70
|
+
inset-block-start: $icon-offset-block;
|
|
71
|
+
}
|
|
55
72
|
}
|
|
56
73
|
}
|
|
57
74
|
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
$padding-inline-inner-filtering-token: styles.$control-padding-horizontal;
|
|
14
14
|
$padding-block-inner-filtering-token: 0px;
|
|
15
|
+
$icon-offset: awsui.$space-xxxs;
|
|
15
16
|
|
|
16
17
|
.button-trigger {
|
|
17
18
|
@include styles.styles-reset;
|
|
@@ -69,6 +70,9 @@ $padding-block-inner-filtering-token: 0px;
|
|
|
69
70
|
inset-inline-end: styles.$control-icon-horizontal-offset;
|
|
70
71
|
inset-block-start: styles.$control-icon-vertical-offset;
|
|
71
72
|
color: awsui.$color-text-button-inline-icon-default;
|
|
73
|
+
&.one-theme {
|
|
74
|
+
inset-block-start: calc(styles.$control-icon-vertical-offset + $icon-offset);
|
|
75
|
+
}
|
|
72
76
|
}
|
|
73
77
|
|
|
74
78
|
&:hover {
|
|
@@ -80,6 +84,9 @@ $padding-block-inner-filtering-token: 0px;
|
|
|
80
84
|
&.pressed {
|
|
81
85
|
> .arrow {
|
|
82
86
|
transform: rotate(-180deg);
|
|
87
|
+
&.one-theme {
|
|
88
|
+
inset-block-start: calc(styles.$control-icon-vertical-offset - $icon-offset);
|
|
89
|
+
}
|
|
83
90
|
}
|
|
84
91
|
}
|
|
85
92
|
|
|
@@ -64,7 +64,11 @@
|
|
|
64
64
|
|
|
65
65
|
@include focus-visible.when-visible {
|
|
66
66
|
&:not(.hide-focus) {
|
|
67
|
-
|
|
67
|
+
// Render the focus ring above container border overlays. The dropdown content border is
|
|
68
|
+
// drawn by `dropdown-shadow`'s `::after` at `z-index: 1`; since that `::after` is the
|
|
69
|
+
// wrapper's generated last child, it paints after (on top of) this deeply-nested ring in
|
|
70
|
+
// tree order, so the ring must use a strictly higher z-index to win.
|
|
71
|
+
@include styles.focus-highlight(0px, $z-index: 2);
|
|
68
72
|
}
|
|
69
73
|
}
|
|
70
74
|
}
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
|
|
25
25
|
.segment-part {
|
|
26
26
|
display: inline-grid;
|
|
27
|
-
border-inline: solid awsui.$border-width-field awsui.$color-border-
|
|
28
|
-
border-block: solid awsui.$border-width-field awsui.$color-border-
|
|
27
|
+
border-inline: solid awsui.$border-width-field awsui.$color-border-segment-wrapper;
|
|
28
|
+
border-block: solid awsui.$border-width-field awsui.$color-border-segment-wrapper;
|
|
29
29
|
border-start-start-radius: awsui.$border-radius-button;
|
|
30
30
|
border-start-end-radius: awsui.$border-radius-button;
|
|
31
31
|
border-end-start-radius: awsui.$border-radius-button;
|
|
@@ -41,6 +41,14 @@ $_status-backgrounds: (
|
|
|
41
41
|
'not-started': awsui.$color-background-status-indicator-neutral,
|
|
42
42
|
);
|
|
43
43
|
|
|
44
|
+
$_background-overrides: (
|
|
45
|
+
'red': awsui.$color-background-status-indicator-error,
|
|
46
|
+
'grey': awsui.$color-background-status-indicator-neutral,
|
|
47
|
+
'blue': awsui.$color-background-status-indicator-info,
|
|
48
|
+
'green': awsui.$color-background-status-indicator-success,
|
|
49
|
+
'yellow': awsui.$color-background-status-indicator-warning,
|
|
50
|
+
);
|
|
51
|
+
|
|
44
52
|
.root {
|
|
45
53
|
@include styles.default-text-style;
|
|
46
54
|
@each $status in map.keys($_status-colors) {
|
|
@@ -58,6 +66,11 @@ $_status-backgrounds: (
|
|
|
58
66
|
background: #{map.get($_status-backgrounds, $status)};
|
|
59
67
|
}
|
|
60
68
|
}
|
|
69
|
+
@each $color in map.keys($_background-overrides) {
|
|
70
|
+
&.color-override-#{$color} > .container {
|
|
71
|
+
background: #{map.get($_background-overrides, $color)};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
61
74
|
}
|
|
62
75
|
|
|
63
76
|
.container {
|
|
@@ -72,6 +85,9 @@ $_status-backgrounds: (
|
|
|
72
85
|
|
|
73
86
|
> .icon {
|
|
74
87
|
white-space: nowrap;
|
|
88
|
+
&.one-theme {
|
|
89
|
+
vertical-align: middle;
|
|
90
|
+
}
|
|
75
91
|
}
|
|
76
92
|
}
|
|
77
93
|
|
|
@@ -79,9 +95,19 @@ $_status-backgrounds: (
|
|
|
79
95
|
display: inline-block;
|
|
80
96
|
word-wrap: break-word;
|
|
81
97
|
word-break: break-all;
|
|
98
|
+
&.one-theme {
|
|
99
|
+
display: inline-flex;
|
|
100
|
+
align-items: flex-start;
|
|
101
|
+
}
|
|
82
102
|
|
|
83
103
|
> .icon {
|
|
84
104
|
padding-inline-end: awsui.$space-xxs;
|
|
105
|
+
|
|
106
|
+
&.one-theme {
|
|
107
|
+
display: inline-flex;
|
|
108
|
+
align-items: center;
|
|
109
|
+
margin-block-start: awsui.$space-xxxs;
|
|
110
|
+
}
|
|
85
111
|
}
|
|
86
112
|
}
|
|
87
113
|
}
|
|
@@ -92,4 +118,14 @@ $_status-backgrounds: (
|
|
|
92
118
|
text-overflow: ellipsis;
|
|
93
119
|
white-space: nowrap;
|
|
94
120
|
vertical-align: text-bottom;
|
|
121
|
+
|
|
122
|
+
&.one-theme {
|
|
123
|
+
text-overflow: unset;
|
|
124
|
+
|
|
125
|
+
> span:last-child {
|
|
126
|
+
overflow: hidden;
|
|
127
|
+
text-overflow: ellipsis;
|
|
128
|
+
white-space: nowrap;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
95
131
|
}
|
|
@@ -116,3 +116,42 @@
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
|
+
|
|
120
|
+
// Vertical custom steps: a column-1 "rail" stacks the icon above a connector that grows to fill
|
|
121
|
+
// the full height of the step (header + details), keeping the vertical line continuous and
|
|
122
|
+
// connecting consecutive steps regardless of header height. Placed after `.horizontal` so
|
|
123
|
+
// selectors stay in ascending specificity order.
|
|
124
|
+
.root > .list > .container.custom-vertical {
|
|
125
|
+
// The rail stretches to the row height (default `align-items: stretch`), which is driven by the
|
|
126
|
+
// content column, so the connector always spans the full step.
|
|
127
|
+
> .rail {
|
|
128
|
+
grid-column: 1;
|
|
129
|
+
display: flex;
|
|
130
|
+
flex-direction: column;
|
|
131
|
+
align-items: center;
|
|
132
|
+
|
|
133
|
+
> .connector {
|
|
134
|
+
grid-row: auto;
|
|
135
|
+
grid-column: auto;
|
|
136
|
+
flex: 1 1 auto;
|
|
137
|
+
background-color: awsui.$color-border-divider-default;
|
|
138
|
+
border-block: 0;
|
|
139
|
+
border-inline: 0;
|
|
140
|
+
inline-size: awsui.$border-divider-list-width;
|
|
141
|
+
block-size: auto;
|
|
142
|
+
min-block-size: awsui.$space-static-xs;
|
|
143
|
+
inset-inline-end: 0;
|
|
144
|
+
margin-block: awsui.$space-static-xxs 0;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
> .content {
|
|
149
|
+
grid-column: 2;
|
|
150
|
+
// Allow long header/details text to wrap instead of stretching the grid column.
|
|
151
|
+
min-inline-size: 0;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.root > .list > .container.custom-vertical:last-of-type > .rail > .connector {
|
|
156
|
+
display: none;
|
|
157
|
+
}
|
|
@@ -53,7 +53,7 @@ $cell-horizontal-padding: awsui.$space-scaled-l;
|
|
|
53
53
|
position: relative;
|
|
54
54
|
text-align: start;
|
|
55
55
|
box-sizing: border-box;
|
|
56
|
-
border-block-end: awsui.$border-divider-list-width solid awsui.$color-border-divider-
|
|
56
|
+
border-block-end: awsui.$border-divider-list-width solid awsui.$color-border-divider-default;
|
|
57
57
|
background: awsui.$color-background-table-header;
|
|
58
58
|
color: awsui.$color-text-column-header;
|
|
59
59
|
font-weight: awsui.$font-weight-heading-s;
|
|
@@ -68,10 +68,21 @@ $cell-horizontal-padding: awsui.$space-scaled-l;
|
|
|
68
68
|
&.header-cell-spans-rows {
|
|
69
69
|
padding-block: awsui.$space-xxxs;
|
|
70
70
|
padding-inline: awsui.$space-scaled-xs;
|
|
71
|
+
border-block-end-color: awsui.$color-border-divider-table-group;
|
|
72
|
+
|
|
73
|
+
> .resize-divider.resize-divider {
|
|
74
|
+
border-inline-start-color: awsui.$color-border-divider-table-group;
|
|
75
|
+
}
|
|
71
76
|
}
|
|
72
77
|
|
|
73
78
|
&-sticky {
|
|
74
79
|
border-block-end: awsui.$border-table-sticky-width solid awsui.$color-border-divider-default;
|
|
80
|
+
|
|
81
|
+
&.header-cell-group,
|
|
82
|
+
&.header-cell-grouped,
|
|
83
|
+
&.header-cell-spans-rows {
|
|
84
|
+
border-block-end-color: awsui.$color-border-divider-table-group;
|
|
85
|
+
}
|
|
75
86
|
}
|
|
76
87
|
&-stuck:not(.header-cell-variant-full-page) {
|
|
77
88
|
border-block-end-color: transparent;
|
|
@@ -46,9 +46,17 @@ th:not([data-rightmost]) > .divider,
|
|
|
46
46
|
max-block-size: calc(100% - #{$block-gap});
|
|
47
47
|
margin-block: auto;
|
|
48
48
|
margin-inline: auto;
|
|
49
|
-
border-inline-start: awsui.$border-divider-list-width solid awsui.$color-border-divider-
|
|
49
|
+
border-inline-start: awsui.$border-divider-list-width solid awsui.$color-border-divider-default;
|
|
50
50
|
box-sizing: border-box;
|
|
51
51
|
|
|
52
|
+
&.divider-interactive {
|
|
53
|
+
border-inline-start: awsui.$border-divider-list-width solid awsui.$color-border-divider-interactive-default;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&.divider-grouped {
|
|
57
|
+
border-inline-start-color: awsui.$color-border-divider-table-group;
|
|
58
|
+
}
|
|
59
|
+
|
|
52
60
|
// Position variants for grouped column headers.
|
|
53
61
|
// All Column dividers maintain the same bottom gap ($block-gap / 2) as the default.
|
|
54
62
|
&.divider-position-top {
|
|
@@ -13,7 +13,7 @@ $toggle-width: 2.4 * styles.$base-size;
|
|
|
13
13
|
$toggle-height: 1.6 * styles.$base-size;
|
|
14
14
|
$handle-size: 1.2 * styles.$base-size;
|
|
15
15
|
$handle-offset: 0.2 * styles.$base-size;
|
|
16
|
-
$shadow-color:
|
|
16
|
+
$shadow-color: awsui.$color-shadow-toggle-handle;
|
|
17
17
|
|
|
18
18
|
.root {
|
|
19
19
|
@include styles.styles-reset;
|
|
@@ -5,8 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
@use '../internal/styles/tokens' as awsui;
|
|
7
7
|
|
|
8
|
-
.variant-normal {
|
|
8
|
+
.toggle-button.variant-normal {
|
|
9
9
|
background: awsui.$color-background-toggle-button-normal-default;
|
|
10
|
+
border-color: awsui.$color-border-toggle-button-normal-default;
|
|
11
|
+
|
|
12
|
+
&:hover {
|
|
13
|
+
background: awsui.$color-background-toggle-button-normal-hover;
|
|
14
|
+
border-color: awsui.$color-border-toggle-button-normal-hover;
|
|
15
|
+
}
|
|
10
16
|
}
|
|
11
17
|
|
|
12
18
|
.variant-normal.pressed {
|
|
@@ -42,10 +42,10 @@
|
|
|
42
42
|
display: flex;
|
|
43
43
|
align-items: center;
|
|
44
44
|
background: var(#{custom-props.$tokenStyleBackgroundDefault}, constants.$token-background);
|
|
45
|
-
border-start-start-radius: awsui.$
|
|
46
|
-
border-start-end-radius: awsui.$
|
|
47
|
-
border-end-start-radius: awsui.$
|
|
48
|
-
border-end-end-radius: awsui.$
|
|
45
|
+
border-start-start-radius: awsui.$border-radius-token-inline;
|
|
46
|
+
border-start-end-radius: awsui.$border-radius-token-inline;
|
|
47
|
+
border-end-start-radius: awsui.$border-radius-token-inline;
|
|
48
|
+
border-end-end-radius: awsui.$border-radius-token-inline;
|
|
49
49
|
color: awsui.$color-text-body-default;
|
|
50
50
|
box-sizing: border-box;
|
|
51
51
|
max-inline-size: 100%;
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
@use '../internal/generated/custom-css-properties/index.scss' as custom-props;
|
|
11
11
|
@use './constants' as constants;
|
|
12
12
|
@use './mixins.scss' as mixins;
|
|
13
|
+
@use '../internal/styles/utils/theming' as theming;
|
|
13
14
|
|
|
14
15
|
.root {
|
|
15
16
|
@include styles.styles-reset;
|
|
@@ -54,6 +55,12 @@
|
|
|
54
55
|
align-items: center;
|
|
55
56
|
align-self: center;
|
|
56
57
|
}
|
|
58
|
+
|
|
59
|
+
&:not(&-inline) {
|
|
60
|
+
@include theming.one-theme-only {
|
|
61
|
+
padding-block-start: 1px;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
57
64
|
}
|
|
58
65
|
|
|
59
66
|
.icon {
|
|
@@ -49,6 +49,16 @@ $item-toggle-column-width: 28px;
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
&.one-theme {
|
|
53
|
+
align-items: center;
|
|
54
|
+
> .expand-toggle-wrapper {
|
|
55
|
+
> .toggle {
|
|
56
|
+
inset-inline-start: 0px;
|
|
57
|
+
inset-block-start: 3px;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
52
62
|
> .structured-item-wrapper {
|
|
53
63
|
grid-column: 2;
|
|
54
64
|
grid-row: 1 / span 2;
|
|
@@ -53,7 +53,7 @@ function mapRuntimeHeaderActionsToHeaderActions(runtimeHeaderActions) {
|
|
|
53
53
|
// eslint-disable-next-line no-restricted-syntax -- Runtime plugin API: property not in TS type
|
|
54
54
|
...('pressedIconSvg' in runtimeHeaderAction &&
|
|
55
55
|
runtimeHeaderAction.pressedIconSvg && {
|
|
56
|
-
|
|
56
|
+
pressedIconSvg: convertRuntimeTriggerToReactNode(runtimeHeaderAction.pressedIconSvg),
|
|
57
57
|
}),
|
|
58
58
|
};
|
|
59
59
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app-layout/runtime-drawer/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useContext, useEffect, useRef } from 'react';\n\nimport { ButtonGroupProps, ItemRuntime } from '../../button-group/interfaces';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../../internal/events';\nimport {\n DrawerConfig as RuntimeDrawerConfig,\n DrawerStateChangeParams,\n} from '../../internal/plugins/controllers/drawers';\nimport { sortByPriority } from '../../internal/plugins/helpers/utils';\nimport { DrawerPayload as RuntimeAiDrawerConfig } from '../../internal/plugins/widget/interfaces';\nimport { AppLayoutProps } from '../interfaces';\nimport { ActiveDrawersContext } from '../utils/visibility-context';\n\nimport styles from './styles.css.js';\n\nexport interface RuntimeDrawer extends AppLayoutProps.Drawer {\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n position?: 'side' | 'bottom';\n}\n\nexport interface DrawersLayout {\n global: Array<RuntimeDrawer>;\n localBefore: Array<RuntimeDrawer>;\n localAfter: Array<RuntimeDrawer>;\n}\n\ntype VisibilityCallback = (isVisible: boolean) => void;\n\ninterface RuntimeContentWrapperProps {\n id?: string;\n mountContent: RuntimeDrawerConfig['mountContent'];\n unmountContent: RuntimeDrawerConfig['unmountContent'];\n}\n\nfunction RuntimeDrawerWrapper({ mountContent, unmountContent, id }: RuntimeContentWrapperProps) {\n const ref = useRef<HTMLDivElement>(null);\n const visibilityChangeCallback = useRef<VisibilityCallback | null>(null);\n const activeDrawersIds = useContext(ActiveDrawersContext);\n const isVisible = !!id && activeDrawersIds.includes(id);\n\n useEffect(() => {\n const container = ref.current!;\n mountContent(container, {\n onVisibilityChange: cb => {\n visibilityChangeCallback.current = cb;\n },\n });\n return () => {\n unmountContent(container);\n visibilityChangeCallback.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n visibilityChangeCallback.current?.(isVisible);\n }, [isVisible]);\n\n return <div ref={ref} className={styles['runtime-content-wrapper']} data-awsui-runtime-drawer-root-id={id}></div>;\n}\n\ninterface RuntimeContentHeaderProps {\n mountHeader: (container: HTMLElement) => void;\n unmountHeader?: (container: HTMLElement) => void;\n}\n\nfunction RuntimeDrawerHeader({ mountHeader, unmountHeader }: RuntimeContentHeaderProps) {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const container = ref.current!;\n mountHeader?.(container);\n return () => {\n unmountHeader?.(container);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return <div className={styles['runtime-header-wrapper']} ref={ref} />;\n}\n\nfunction mapRuntimeHeaderActionsToHeaderActions(\n runtimeHeaderActions: ReadonlyArray<ItemRuntime>\n): ReadonlyArray<ButtonGroupProps.Item> {\n return runtimeHeaderActions.map(runtimeHeaderAction => {\n return {\n ...runtimeHeaderAction,\n // eslint-disable-next-line no-restricted-syntax -- Runtime plugin API: property not in TS type\n ...('iconSvg' in runtimeHeaderAction &&\n runtimeHeaderAction.iconSvg && {\n iconSvg: convertRuntimeTriggerToReactNode(runtimeHeaderAction.iconSvg),\n }),\n // eslint-disable-next-line no-restricted-syntax -- Runtime plugin API: property not in TS type\n ...('pressedIconSvg' in runtimeHeaderAction &&\n runtimeHeaderAction.pressedIconSvg && {\n iconSvg: convertRuntimeTriggerToReactNode(runtimeHeaderAction.pressedIconSvg),\n }),\n };\n });\n}\n\nconst convertRuntimeTriggerToReactNode = (runtimeTrigger?: string) => {\n if (!runtimeTrigger) {\n return undefined;\n }\n // eslint-disable-next-line react/no-danger\n return <span style={{ lineHeight: 0 }} dangerouslySetInnerHTML={{ __html: runtimeTrigger }} />;\n};\n\nexport const mapRuntimeConfigToDrawer = (\n runtimeConfig: RuntimeDrawerConfig\n): AppLayoutProps.Drawer & {\n orderPriority?: number;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n headerActions?: ReadonlyArray<ButtonGroupProps.Item>;\n} => {\n const { mountContent, unmountContent, trigger, ...runtimeDrawer } = runtimeConfig;\n\n return {\n ...runtimeDrawer,\n ariaLabels: { drawerName: runtimeDrawer.ariaLabels.content ?? '', ...runtimeDrawer.ariaLabels },\n trigger: trigger\n ? {\n ...(trigger.iconSvg && {\n iconSvg: convertRuntimeTriggerToReactNode(trigger.iconSvg),\n }),\n }\n : undefined,\n content: (\n <RuntimeDrawerWrapper\n key={runtimeDrawer.id}\n mountContent={mountContent}\n unmountContent={unmountContent}\n id={runtimeDrawer.id}\n />\n ),\n onResize: event => {\n fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });\n },\n headerActions: runtimeDrawer.headerActions\n ? mapRuntimeHeaderActionsToHeaderActions(runtimeDrawer.headerActions)\n : undefined,\n };\n};\n\nexport const mapRuntimeConfigToAiDrawer = (\n runtimeConfig: RuntimeAiDrawerConfig\n): AppLayoutProps.Drawer & {\n orderPriority?: number;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n headerActions?: ReadonlyArray<ButtonGroupProps.Item>;\n exitExpandedModeTrigger?: React.ReactNode;\n onToggleFocusMode?: NonCancelableEventHandler<{ isExpanded: boolean }>;\n} => {\n const { mountContent, unmountContent, trigger, exitExpandedModeTrigger, ...runtimeDrawer } = runtimeConfig;\n\n return {\n ...runtimeDrawer,\n ariaLabels: { drawerName: runtimeDrawer.ariaLabels.content ?? '', ...runtimeDrawer.ariaLabels },\n ...(trigger && {\n trigger: {\n customIcon: convertRuntimeTriggerToReactNode(trigger?.customIcon),\n iconSvg: convertRuntimeTriggerToReactNode(trigger?.iconSvg),\n },\n }),\n exitExpandedModeTrigger: exitExpandedModeTrigger\n ? {\n customIcon: convertRuntimeTriggerToReactNode(exitExpandedModeTrigger?.customIcon),\n }\n : undefined,\n content: (\n <RuntimeDrawerWrapper\n key={runtimeDrawer.id}\n mountContent={mountContent}\n unmountContent={unmountContent}\n id={runtimeDrawer.id}\n />\n ),\n ...(runtimeDrawer.mountHeader && {\n header: (\n <RuntimeDrawerHeader mountHeader={runtimeDrawer.mountHeader} unmountHeader={runtimeDrawer.unmountHeader} />\n ),\n }),\n onResize: event => {\n fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });\n },\n headerActions: runtimeDrawer.headerActions\n ? mapRuntimeHeaderActionsToHeaderActions(runtimeDrawer.headerActions)\n : undefined,\n };\n};\n\nexport function convertRuntimeDrawers(\n localDrawers: Array<RuntimeDrawerConfig>,\n globalDrawers: Array<RuntimeDrawerConfig>\n): DrawersLayout {\n const converted = localDrawers.map(mapRuntimeConfigToDrawer);\n const sorted = sortByPriority(converted);\n return {\n global: sortByPriority(globalDrawers.map(mapRuntimeConfigToDrawer)),\n localBefore: sorted.filter(item => (item.orderPriority ?? 0) > 0),\n localAfter: sorted.filter(item => (item.orderPriority ?? 0) <= 0),\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app-layout/runtime-drawer/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useContext, useEffect, useRef } from 'react';\n\nimport { ButtonGroupProps, ItemRuntime } from '../../button-group/interfaces';\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from '../../internal/events';\nimport {\n DrawerConfig as RuntimeDrawerConfig,\n DrawerStateChangeParams,\n} from '../../internal/plugins/controllers/drawers';\nimport { sortByPriority } from '../../internal/plugins/helpers/utils';\nimport { DrawerPayload as RuntimeAiDrawerConfig } from '../../internal/plugins/widget/interfaces';\nimport { AppLayoutProps } from '../interfaces';\nimport { ActiveDrawersContext } from '../utils/visibility-context';\n\nimport styles from './styles.css.js';\n\nexport interface RuntimeDrawer extends AppLayoutProps.Drawer {\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n position?: 'side' | 'bottom';\n}\n\nexport interface DrawersLayout {\n global: Array<RuntimeDrawer>;\n localBefore: Array<RuntimeDrawer>;\n localAfter: Array<RuntimeDrawer>;\n}\n\ntype VisibilityCallback = (isVisible: boolean) => void;\n\ninterface RuntimeContentWrapperProps {\n id?: string;\n mountContent: RuntimeDrawerConfig['mountContent'];\n unmountContent: RuntimeDrawerConfig['unmountContent'];\n}\n\nfunction RuntimeDrawerWrapper({ mountContent, unmountContent, id }: RuntimeContentWrapperProps) {\n const ref = useRef<HTMLDivElement>(null);\n const visibilityChangeCallback = useRef<VisibilityCallback | null>(null);\n const activeDrawersIds = useContext(ActiveDrawersContext);\n const isVisible = !!id && activeDrawersIds.includes(id);\n\n useEffect(() => {\n const container = ref.current!;\n mountContent(container, {\n onVisibilityChange: cb => {\n visibilityChangeCallback.current = cb;\n },\n });\n return () => {\n unmountContent(container);\n visibilityChangeCallback.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n visibilityChangeCallback.current?.(isVisible);\n }, [isVisible]);\n\n return <div ref={ref} className={styles['runtime-content-wrapper']} data-awsui-runtime-drawer-root-id={id}></div>;\n}\n\ninterface RuntimeContentHeaderProps {\n mountHeader: (container: HTMLElement) => void;\n unmountHeader?: (container: HTMLElement) => void;\n}\n\nfunction RuntimeDrawerHeader({ mountHeader, unmountHeader }: RuntimeContentHeaderProps) {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const container = ref.current!;\n mountHeader?.(container);\n return () => {\n unmountHeader?.(container);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return <div className={styles['runtime-header-wrapper']} ref={ref} />;\n}\n\nfunction mapRuntimeHeaderActionsToHeaderActions(\n runtimeHeaderActions: ReadonlyArray<ItemRuntime>\n): ReadonlyArray<ButtonGroupProps.Item> {\n return runtimeHeaderActions.map(runtimeHeaderAction => {\n return {\n ...runtimeHeaderAction,\n // eslint-disable-next-line no-restricted-syntax -- Runtime plugin API: property not in TS type\n ...('iconSvg' in runtimeHeaderAction &&\n runtimeHeaderAction.iconSvg && {\n iconSvg: convertRuntimeTriggerToReactNode(runtimeHeaderAction.iconSvg),\n }),\n // eslint-disable-next-line no-restricted-syntax -- Runtime plugin API: property not in TS type\n ...('pressedIconSvg' in runtimeHeaderAction &&\n runtimeHeaderAction.pressedIconSvg && {\n pressedIconSvg: convertRuntimeTriggerToReactNode(runtimeHeaderAction.pressedIconSvg),\n }),\n };\n });\n}\n\nconst convertRuntimeTriggerToReactNode = (runtimeTrigger?: string) => {\n if (!runtimeTrigger) {\n return undefined;\n }\n // eslint-disable-next-line react/no-danger\n return <span style={{ lineHeight: 0 }} dangerouslySetInnerHTML={{ __html: runtimeTrigger }} />;\n};\n\nexport const mapRuntimeConfigToDrawer = (\n runtimeConfig: RuntimeDrawerConfig\n): AppLayoutProps.Drawer & {\n orderPriority?: number;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n headerActions?: ReadonlyArray<ButtonGroupProps.Item>;\n} => {\n const { mountContent, unmountContent, trigger, ...runtimeDrawer } = runtimeConfig;\n\n return {\n ...runtimeDrawer,\n ariaLabels: { drawerName: runtimeDrawer.ariaLabels.content ?? '', ...runtimeDrawer.ariaLabels },\n trigger: trigger\n ? {\n ...(trigger.iconSvg && {\n iconSvg: convertRuntimeTriggerToReactNode(trigger.iconSvg),\n }),\n }\n : undefined,\n content: (\n <RuntimeDrawerWrapper\n key={runtimeDrawer.id}\n mountContent={mountContent}\n unmountContent={unmountContent}\n id={runtimeDrawer.id}\n />\n ),\n onResize: event => {\n fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });\n },\n headerActions: runtimeDrawer.headerActions\n ? mapRuntimeHeaderActionsToHeaderActions(runtimeDrawer.headerActions)\n : undefined,\n };\n};\n\nexport const mapRuntimeConfigToAiDrawer = (\n runtimeConfig: RuntimeAiDrawerConfig\n): AppLayoutProps.Drawer & {\n orderPriority?: number;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n headerActions?: ReadonlyArray<ButtonGroupProps.Item>;\n exitExpandedModeTrigger?: React.ReactNode;\n onToggleFocusMode?: NonCancelableEventHandler<{ isExpanded: boolean }>;\n} => {\n const { mountContent, unmountContent, trigger, exitExpandedModeTrigger, ...runtimeDrawer } = runtimeConfig;\n\n return {\n ...runtimeDrawer,\n ariaLabels: { drawerName: runtimeDrawer.ariaLabels.content ?? '', ...runtimeDrawer.ariaLabels },\n ...(trigger && {\n trigger: {\n customIcon: convertRuntimeTriggerToReactNode(trigger?.customIcon),\n iconSvg: convertRuntimeTriggerToReactNode(trigger?.iconSvg),\n },\n }),\n exitExpandedModeTrigger: exitExpandedModeTrigger\n ? {\n customIcon: convertRuntimeTriggerToReactNode(exitExpandedModeTrigger?.customIcon),\n }\n : undefined,\n content: (\n <RuntimeDrawerWrapper\n key={runtimeDrawer.id}\n mountContent={mountContent}\n unmountContent={unmountContent}\n id={runtimeDrawer.id}\n />\n ),\n ...(runtimeDrawer.mountHeader && {\n header: (\n <RuntimeDrawerHeader mountHeader={runtimeDrawer.mountHeader} unmountHeader={runtimeDrawer.unmountHeader} />\n ),\n }),\n onResize: event => {\n fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });\n },\n headerActions: runtimeDrawer.headerActions\n ? mapRuntimeHeaderActionsToHeaderActions(runtimeDrawer.headerActions)\n : undefined,\n };\n};\n\nexport function convertRuntimeDrawers(\n localDrawers: Array<RuntimeDrawerConfig>,\n globalDrawers: Array<RuntimeDrawerConfig>\n): DrawersLayout {\n const converted = localDrawers.map(mapRuntimeConfigToDrawer);\n const sorted = sortByPriority(converted);\n return {\n global: sortByPriority(globalDrawers.map(mapRuntimeConfigToDrawer)),\n localBefore: sorted.filter(item => (item.orderPriority ?? 0) > 0),\n localAfter: sorted.filter(item => (item.orderPriority ?? 0) <= 0),\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawers.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/visual-refresh/drawers.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"drawers.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/visual-refresh/drawers.tsx"],"names":[],"mappings":"AA+BA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,uBA+B9B;AAuPD;;;;;GAKG;AACH,wBAAgB,cAAc,uBA2E7B"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import React, { useRef } from 'react';
|
|
4
4
|
import clsx from 'clsx';
|
|
5
5
|
import { useContainerQuery } from '@cloudscape-design/component-toolkit';
|
|
6
|
+
import { isThemeActive, Theme } from '@cloudscape-design/component-toolkit/internal';
|
|
6
7
|
import { InternalButton } from '../../button/internal';
|
|
7
8
|
import customCssProps from '../../internal/generated/custom-css-properties';
|
|
8
9
|
import { getLimitedValue } from '../../split-panel/utils/size-utils';
|
|
@@ -60,6 +61,7 @@ function ActiveDrawer() {
|
|
|
60
61
|
return (React.createElement("aside", { id: activeDrawerId !== null && activeDrawerId !== void 0 ? activeDrawerId : undefined, "aria-hidden": isHidden, "aria-label": computedAriaLabels.content, className: clsx(styles.drawer, {
|
|
61
62
|
[styles['is-drawer-open']]: activeDrawerId,
|
|
62
63
|
[styles.unfocusable]: isUnfocusable,
|
|
64
|
+
[styles['one-theme']]: isThemeActive(Theme.OneTheme),
|
|
63
65
|
[testutilStyles['active-drawer']]: activeDrawerId,
|
|
64
66
|
[testutilStyles.tools]: isToolsDrawer,
|
|
65
67
|
}), style: {
|
|
@@ -118,6 +120,7 @@ function DesktopTriggers() {
|
|
|
118
120
|
return (React.createElement("aside", { className: clsx(styles['drawers-desktop-triggers-container'], {
|
|
119
121
|
[styles['has-multiple-triggers']]: hasMultipleTriggers,
|
|
120
122
|
[styles['has-open-drawer']]: hasOpenDrawer,
|
|
123
|
+
[styles['one-theme']]: isThemeActive(Theme.OneTheme),
|
|
121
124
|
}), "aria-label": drawersAriaLabel, ref: triggersContainerRef, role: "region" },
|
|
122
125
|
React.createElement("div", { className: clsx(styles['drawers-trigger-content'], {
|
|
123
126
|
[styles['has-multiple-triggers']]: hasMultipleTriggers,
|