@cloudscape-design/components 3.0.693 → 3.0.695
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/app-layout/visual-refresh-toolbar/compute-layout.d.ts +2 -2
- package/app-layout/visual-refresh-toolbar/compute-layout.d.ts.map +1 -1
- package/app-layout/visual-refresh-toolbar/compute-layout.js +2 -2
- package/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/drawer/styles.css.js +6 -6
- package/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +7 -7
- package/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +6 -6
- package/app-layout/visual-refresh-toolbar/index.d.ts.map +1 -1
- package/app-layout/visual-refresh-toolbar/index.js +35 -16
- package/app-layout/visual-refresh-toolbar/index.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/multi-layout.d.ts +27 -0
- package/app-layout/visual-refresh-toolbar/multi-layout.d.ts.map +1 -0
- package/app-layout/visual-refresh-toolbar/multi-layout.js +55 -0
- package/app-layout/visual-refresh-toolbar/multi-layout.js.map +1 -0
- package/app-layout/visual-refresh-toolbar/navigation/index.d.ts.map +1 -1
- package/app-layout/visual-refresh-toolbar/navigation/index.js +1 -0
- package/app-layout/visual-refresh-toolbar/navigation/index.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/navigation/styles.css.js +6 -6
- package/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +15 -11
- package/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +6 -6
- package/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +16 -16
- package/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +28 -28
- package/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +16 -16
- package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts +12 -10
- package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts.map +1 -1
- package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +3 -3
- package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/toolbar/index.d.ts +23 -3
- package/app-layout/visual-refresh-toolbar/toolbar/index.d.ts.map +1 -1
- package/app-layout/visual-refresh-toolbar/toolbar/index.js +8 -8
- package/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.css.js +6 -6
- package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scoped.css +30 -44
- package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.selectors.js +6 -6
- package/button-dropdown/analytics-metadata/interfaces.d.ts +26 -0
- package/button-dropdown/analytics-metadata/interfaces.d.ts.map +1 -0
- package/button-dropdown/analytics-metadata/interfaces.js +4 -0
- package/button-dropdown/analytics-metadata/interfaces.js.map +1 -0
- package/button-dropdown/analytics-metadata/styles.css.js +8 -0
- package/button-dropdown/analytics-metadata/styles.scoped.css +9 -0
- package/button-dropdown/analytics-metadata/styles.selectors.js +9 -0
- package/button-dropdown/category-elements/category-element.d.ts +1 -1
- package/button-dropdown/category-elements/category-element.d.ts.map +1 -1
- package/button-dropdown/category-elements/category-element.js +2 -2
- package/button-dropdown/category-elements/category-element.js.map +1 -1
- package/button-dropdown/category-elements/expandable-category-element.d.ts +1 -1
- package/button-dropdown/category-elements/expandable-category-element.d.ts.map +1 -1
- package/button-dropdown/category-elements/expandable-category-element.js +14 -3
- package/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
- package/button-dropdown/category-elements/mobile-expandable-category-element.d.ts +1 -1
- package/button-dropdown/category-elements/mobile-expandable-category-element.d.ts.map +1 -1
- package/button-dropdown/category-elements/mobile-expandable-category-element.js +14 -3
- package/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
- package/button-dropdown/index.d.ts.map +1 -1
- package/button-dropdown/index.js +10 -1
- package/button-dropdown/index.js.map +1 -1
- package/button-dropdown/interfaces.d.ts +3 -0
- package/button-dropdown/interfaces.d.ts.map +1 -1
- package/button-dropdown/interfaces.js.map +1 -1
- package/button-dropdown/internal.d.ts.map +1 -1
- package/button-dropdown/internal.js +22 -6
- package/button-dropdown/internal.js.map +1 -1
- package/button-dropdown/item-element/index.d.ts +1 -1
- package/button-dropdown/item-element/index.d.ts.map +1 -1
- package/button-dropdown/item-element/index.js +15 -4
- package/button-dropdown/item-element/index.js.map +1 -1
- package/button-dropdown/items-list.d.ts +1 -1
- package/button-dropdown/items-list.d.ts.map +1 -1
- package/button-dropdown/items-list.js +4 -4
- package/button-dropdown/items-list.js.map +1 -1
- package/button-dropdown/styles.css.js +18 -15
- package/button-dropdown/styles.scoped.css +31 -22
- package/button-dropdown/styles.selectors.js +18 -15
- package/checkbox/analytics-metadata/interfaces.d.ts +13 -0
- package/checkbox/analytics-metadata/interfaces.d.ts.map +1 -0
- package/checkbox/analytics-metadata/interfaces.js +4 -0
- package/checkbox/analytics-metadata/interfaces.js.map +1 -0
- package/checkbox/index.js +1 -1
- package/checkbox/index.js.map +1 -1
- package/checkbox/internal.d.ts +1 -0
- package/checkbox/internal.d.ts.map +1 -1
- package/checkbox/internal.js +16 -2
- package/checkbox/internal.js.map +1 -1
- package/container/analytics-metadata/interfaces.d.ts +5 -0
- package/container/analytics-metadata/interfaces.d.ts.map +1 -0
- package/container/analytics-metadata/interfaces.js +4 -0
- package/container/analytics-metadata/interfaces.js.map +1 -0
- package/container/analytics-metadata/styles.css.js +6 -0
- package/container/analytics-metadata/styles.scoped.css +7 -0
- package/container/analytics-metadata/styles.selectors.js +7 -0
- package/container/index.d.ts.map +1 -1
- package/container/index.js +6 -1
- package/container/index.js.map +1 -1
- package/container/internal.d.ts.map +1 -1
- package/container/internal.js +4 -2
- package/container/internal.js.map +1 -1
- package/drawer/implementation.d.ts.map +1 -1
- package/drawer/implementation.js +3 -1
- package/drawer/implementation.js.map +1 -1
- package/drawer/styles.css.js +4 -3
- package/drawer/styles.scoped.css +16 -8
- package/drawer/styles.selectors.js +4 -3
- package/form/analytics-metadata/interfaces.d.ts +13 -0
- package/form/analytics-metadata/interfaces.d.ts.map +1 -0
- package/form/analytics-metadata/interfaces.js +4 -0
- package/form/analytics-metadata/interfaces.js.map +1 -0
- package/form/analytics-metadata/styles.css.js +6 -0
- package/form/analytics-metadata/styles.scoped.css +7 -0
- package/form/analytics-metadata/styles.selectors.js +7 -0
- package/form/index.d.ts.map +1 -1
- package/form/index.js +1 -1
- package/form/index.js.map +1 -1
- package/form/internal.d.ts +4 -2
- package/form/internal.d.ts.map +1 -1
- package/form/internal.js +13 -3
- package/form/internal.js.map +1 -1
- package/form-field/analytics-metadata/interfaces.d.ts +5 -0
- package/form-field/analytics-metadata/interfaces.d.ts.map +1 -0
- package/form-field/analytics-metadata/interfaces.js +4 -0
- package/form-field/analytics-metadata/interfaces.js.map +1 -0
- package/form-field/analytics-metadata/styles.css.js +6 -0
- package/form-field/analytics-metadata/styles.scoped.css +7 -0
- package/form-field/analytics-metadata/styles.selectors.js +7 -0
- package/form-field/index.d.ts.map +1 -1
- package/form-field/index.js +8 -1
- package/form-field/index.js.map +1 -1
- package/form-field/internal.d.ts.map +1 -1
- package/form-field/internal.js +4 -2
- package/form-field/internal.js.map +1 -1
- package/header/analytics-metadata/styles.css.js +6 -0
- package/header/analytics-metadata/styles.scoped.css +7 -0
- package/header/analytics-metadata/styles.selectors.js +7 -0
- package/header/internal.d.ts.map +1 -1
- package/header/internal.js +4 -2
- package/header/internal.js.map +1 -1
- package/help-panel/implementation.d.ts.map +1 -1
- package/help-panel/implementation.js +4 -2
- package/help-panel/implementation.js.map +1 -1
- package/help-panel/styles.css.js +5 -4
- package/help-panel/styles.scoped.css +74 -65
- package/help-panel/styles.selectors.js +5 -4
- package/i18n/messages/all.all.js +1 -1
- package/i18n/messages/all.all.json +1 -1
- package/i18n/messages/all.ar.js +1 -1
- package/i18n/messages/all.ar.json +1 -1
- package/i18n/messages/all.de.js +1 -1
- package/i18n/messages/all.de.json +1 -1
- package/i18n/messages/all.en-GB.js +1 -1
- package/i18n/messages/all.en-GB.json +1 -1
- package/i18n/messages/all.en.js +1 -1
- package/i18n/messages/all.en.json +1 -1
- package/i18n/messages/all.es.js +1 -1
- package/i18n/messages/all.es.json +1 -1
- package/i18n/messages/all.fr.js +1 -1
- package/i18n/messages/all.fr.json +1 -1
- package/i18n/messages/all.id.js +1 -1
- package/i18n/messages/all.id.json +1 -1
- package/i18n/messages/all.it.js +1 -1
- package/i18n/messages/all.it.json +1 -1
- package/i18n/messages/all.ja.js +1 -1
- package/i18n/messages/all.ja.json +1 -1
- package/i18n/messages/all.ko.js +1 -1
- package/i18n/messages/all.ko.json +1 -1
- package/i18n/messages/all.pt-BR.js +1 -1
- package/i18n/messages/all.pt-BR.json +1 -1
- package/i18n/messages/all.tr.js +1 -1
- package/i18n/messages/all.tr.json +1 -1
- package/i18n/messages/all.zh-CN.js +1 -1
- package/i18n/messages/all.zh-CN.json +1 -1
- package/i18n/messages/all.zh-TW.js +1 -1
- package/i18n/messages/all.zh-TW.json +1 -1
- package/i18n/messages-types.d.ts +1 -0
- package/i18n/messages-types.d.ts.map +1 -1
- package/i18n/messages-types.js.map +1 -1
- package/internal/components/abstract-switch/analytics-metadata/styles.css.js +7 -0
- package/internal/components/abstract-switch/analytics-metadata/styles.scoped.css +8 -0
- package/internal/components/abstract-switch/analytics-metadata/styles.selectors.js +8 -0
- package/internal/components/abstract-switch/index.d.ts.map +1 -1
- package/internal/components/abstract-switch/index.js +13 -4
- package/internal/components/abstract-switch/index.js.map +1 -1
- package/internal/components/button-trigger/styles.css.js +11 -11
- package/internal/components/button-trigger/styles.scoped.css +52 -49
- package/internal/components/button-trigger/styles.selectors.js +11 -11
- package/internal/components/token-list/index.d.ts +1 -0
- package/internal/components/token-list/index.d.ts.map +1 -1
- package/internal/components/token-list/index.js.map +1 -1
- package/internal/components/tooltip/index.d.ts.map +1 -1
- package/internal/components/tooltip/index.js +1 -1
- package/internal/components/tooltip/index.js.map +1 -1
- package/internal/environment.js +1 -1
- package/internal/environment.json +1 -1
- package/internal/manifest.json +1 -1
- package/internal/plugins/api.d.ts +3 -0
- package/internal/plugins/api.d.ts.map +1 -1
- package/internal/plugins/api.js +3 -0
- package/internal/plugins/api.js.map +1 -1
- package/internal/plugins/controllers/app-layout-widget.d.ts +33 -0
- package/internal/plugins/controllers/app-layout-widget.d.ts.map +1 -0
- package/internal/plugins/controllers/app-layout-widget.js +77 -0
- package/internal/plugins/controllers/app-layout-widget.js.map +1 -0
- package/internal/plugins/helpers/use-global-breadcrumbs.d.ts +1 -1
- package/internal/plugins/helpers/use-global-breadcrumbs.d.ts.map +1 -1
- package/internal/plugins/helpers/use-global-breadcrumbs.js +5 -2
- package/internal/plugins/helpers/use-global-breadcrumbs.js.map +1 -1
- package/link/analytics-metadata/interfaces.d.ts +21 -0
- package/link/analytics-metadata/interfaces.d.ts.map +1 -0
- package/link/analytics-metadata/interfaces.js +4 -0
- package/link/analytics-metadata/interfaces.js.map +1 -0
- package/link/index.d.ts.map +1 -1
- package/link/index.js +17 -1
- package/link/index.js.map +1 -1
- package/package.json +1 -1
- package/pagination/analytics-metadata/interfaces.d.ts +17 -0
- package/pagination/analytics-metadata/interfaces.d.ts.map +1 -0
- package/pagination/analytics-metadata/interfaces.js +4 -0
- package/pagination/analytics-metadata/interfaces.js.map +1 -0
- package/pagination/index.d.ts.map +1 -1
- package/pagination/index.js +12 -1
- package/pagination/index.js.map +1 -1
- package/pagination/internal.d.ts.map +1 -1
- package/pagination/internal.js +35 -6
- package/pagination/internal.js.map +1 -1
- package/popover/internal.d.ts +2 -1
- package/popover/internal.d.ts.map +1 -1
- package/popover/internal.js +1 -1
- package/popover/internal.js.map +1 -1
- package/popover/styles.css.js +52 -50
- package/popover/styles.scoped.css +75 -67
- package/popover/styles.selectors.js +52 -50
- package/property-filter/filtering-token/index.d.ts +25 -8
- package/property-filter/filtering-token/index.d.ts.map +1 -1
- package/property-filter/filtering-token/index.js +51 -11
- package/property-filter/filtering-token/index.js.map +1 -1
- package/property-filter/filtering-token/styles.css.js +18 -7
- package/property-filter/filtering-token/styles.scoped.css +100 -17
- package/property-filter/filtering-token/styles.selectors.js +18 -7
- package/property-filter/styles.css.js +31 -32
- package/property-filter/styles.scoped.css +33 -34
- package/property-filter/styles.selectors.js +31 -32
- package/property-filter/test-classes/styles.css.js +14 -9
- package/property-filter/test-classes/styles.scoped.css +29 -9
- package/property-filter/test-classes/styles.selectors.js +14 -9
- package/property-filter/token-editor.d.ts +5 -5
- package/property-filter/token-editor.d.ts.map +1 -1
- package/property-filter/token-editor.js +19 -25
- package/property-filter/token-editor.js.map +1 -1
- package/property-filter/token.d.ts.map +1 -1
- package/property-filter/token.js +15 -5
- package/property-filter/token.js.map +1 -1
- package/radio-group/analytics-metadata/interfaces.d.ts +14 -0
- package/radio-group/analytics-metadata/interfaces.d.ts.map +1 -0
- package/radio-group/analytics-metadata/interfaces.js +4 -0
- package/radio-group/analytics-metadata/interfaces.js.map +1 -0
- package/radio-group/index.d.ts.map +1 -1
- package/radio-group/index.js +7 -1
- package/radio-group/index.js.map +1 -1
- package/radio-group/internal.d.ts.map +1 -1
- package/radio-group/internal.js +9 -1
- package/radio-group/internal.js.map +1 -1
- package/radio-group/radio-button.d.ts.map +1 -1
- package/radio-group/radio-button.js +6 -3
- package/radio-group/radio-button.js.map +1 -1
- package/select/interfaces.d.ts +15 -0
- package/select/interfaces.d.ts.map +1 -1
- package/select/interfaces.js.map +1 -1
- package/select/internal.d.ts.map +1 -1
- package/select/internal.js +3 -4
- package/select/internal.js.map +1 -1
- package/select/parts/styles.css.js +21 -17
- package/select/parts/styles.scoped.css +52 -18
- package/select/parts/styles.selectors.js +21 -17
- package/select/parts/trigger.d.ts +1 -0
- package/select/parts/trigger.d.ts.map +1 -1
- package/select/parts/trigger.js +5 -2
- package/select/parts/trigger.js.map +1 -1
- package/side-navigation/implementation.d.ts.map +1 -1
- package/side-navigation/implementation.js +3 -1
- package/side-navigation/implementation.js.map +1 -1
- package/side-navigation/styles.css.js +29 -28
- package/side-navigation/styles.scoped.css +47 -38
- package/side-navigation/styles.selectors.js +29 -28
- package/split-panel/implementation.d.ts.map +1 -1
- package/split-panel/implementation.js +3 -1
- package/split-panel/implementation.js.map +1 -1
- package/split-panel/side.d.ts.map +1 -1
- package/split-panel/side.js +4 -1
- package/split-panel/side.js.map +1 -1
- package/split-panel/styles.css.js +27 -27
- package/split-panel/styles.scoped.css +62 -44
- package/split-panel/styles.selectors.js +27 -27
- package/table/analytics-metadata/interfaces.d.ts +45 -0
- package/table/analytics-metadata/interfaces.d.ts.map +1 -0
- package/table/analytics-metadata/interfaces.js +4 -0
- package/table/analytics-metadata/interfaces.js.map +1 -0
- package/table/analytics-metadata/styles.css.js +6 -0
- package/table/analytics-metadata/styles.scoped.css +7 -0
- package/table/analytics-metadata/styles.selectors.js +7 -0
- package/table/body-cell/styles.css.js +47 -46
- package/table/body-cell/styles.scoped.css +276 -273
- package/table/body-cell/styles.selectors.js +47 -46
- package/table/body-cell/td-element.d.ts +2 -0
- package/table/body-cell/td-element.d.ts.map +1 -1
- package/table/body-cell/td-element.js +5 -2
- package/table/body-cell/td-element.js.map +1 -1
- package/table/header-cell/index.d.ts.map +1 -1
- package/table/header-cell/index.js +14 -2
- package/table/header-cell/index.js.map +1 -1
- package/table/header-cell/th-element.d.ts +1 -1
- package/table/header-cell/th-element.d.ts.map +1 -1
- package/table/header-cell/th-element.js +5 -2
- package/table/header-cell/th-element.js.map +1 -1
- package/table/header-cell/utils.d.ts +1 -0
- package/table/header-cell/utils.d.ts.map +1 -1
- package/table/header-cell/utils.js +11 -0
- package/table/header-cell/utils.js.map +1 -1
- package/table/index.d.ts.map +1 -1
- package/table/index.js +19 -2
- package/table/index.js.map +1 -1
- package/table/interfaces.d.ts +3 -0
- package/table/interfaces.d.ts.map +1 -1
- package/table/interfaces.js.map +1 -1
- package/table/internal.d.ts.map +1 -1
- package/table/internal.js +16 -2
- package/table/internal.js.map +1 -1
- package/table/selection/selection-control.d.ts +3 -1
- package/table/selection/selection-control.d.ts.map +1 -1
- package/table/selection/selection-control.js +10 -2
- package/table/selection/selection-control.js.map +1 -1
- package/table/thead.d.ts.map +1 -1
- package/table/thead.js +4 -1
- package/table/thead.js.map +1 -1
- package/test-utils/dom/property-filter/index.d.ts +10 -0
- package/test-utils/dom/property-filter/index.js +25 -1
- package/test-utils/dom/property-filter/index.js.map +1 -1
- package/test-utils/dom/select/index.d.ts +1 -0
- package/test-utils/dom/select/index.js +3 -0
- package/test-utils/dom/select/index.js.map +1 -1
- package/test-utils/selectors/property-filter/index.d.ts +10 -0
- package/test-utils/selectors/property-filter/index.js +25 -1
- package/test-utils/selectors/property-filter/index.js.map +1 -1
- package/test-utils/selectors/select/index.d.ts +1 -0
- package/test-utils/selectors/select/index.js +3 -0
- package/test-utils/selectors/select/index.js.map +1 -1
- package/test-utils/tsconfig.tsbuildinfo +1 -1
|
@@ -94,17 +94,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
94
94
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
95
95
|
SPDX-License-Identifier: Apache-2.0
|
|
96
96
|
*/
|
|
97
|
-
.awsui_trigger-badge-
|
|
97
|
+
.awsui_trigger-badge-wrapper_lpshu_14eln_97:not(#\9) {
|
|
98
98
|
background: transparent;
|
|
99
99
|
color: var(--color-text-interactive-default-lnx6lk, #414d5c);
|
|
100
|
-
border-block: var(--border-field-width-09w7vk, 2px) solid transparent;
|
|
101
|
-
border-inline: var(--border-field-width-09w7vk, 2px) solid transparent;
|
|
102
100
|
border-start-start-radius: 50%;
|
|
103
101
|
border-start-end-radius: 50%;
|
|
104
102
|
border-end-start-radius: 50%;
|
|
105
103
|
border-end-end-radius: 50%;
|
|
106
|
-
block-size:
|
|
107
|
-
inline-size:
|
|
104
|
+
block-size: 34px;
|
|
105
|
+
inline-size: 34px;
|
|
108
106
|
display: flex;
|
|
109
107
|
align-items: center;
|
|
110
108
|
justify-content: center;
|
|
@@ -115,21 +113,19 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
115
113
|
display: flex;
|
|
116
114
|
justify-content: center;
|
|
117
115
|
align-items: center;
|
|
118
|
-
clip-path: path("
|
|
116
|
+
clip-path: path("M32.185 9.34876C31.1913 10.1916 29.905 10.7 28.4999 10.7C25.3519 10.7 22.7999 8.14803 22.7999 5C22.7999 3.68192 23.2473 2.46833 23.9985 1.50281C21.8642 0.537421 19.4948 0 17 0C7.61116 0 0 7.61116 0 17C0 26.3888 7.61116 34 17 34C26.3888 34 34 26.3888 34 17C34 14.2479 33.346 11.6485 32.185 9.34876Z");
|
|
119
117
|
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
|
|
120
118
|
}
|
|
121
|
-
.awsui_trigger-badge-
|
|
119
|
+
.awsui_trigger-badge-wrapper_lpshu_14eln_97:not(#\9):hover {
|
|
122
120
|
background: var(--color-background-input-disabled-ab59a3, #e9ebed);
|
|
123
121
|
color: var(--color-text-interactive-hover-mj8add, #000716);
|
|
124
|
-
border-color: var(--color-background-input-disabled-ab59a3, #e9ebed);
|
|
125
122
|
}
|
|
126
|
-
.awsui_trigger-badge-
|
|
123
|
+
.awsui_trigger-badge-wrapper_lpshu_14eln_97:not(#\9):active {
|
|
127
124
|
background: var(--color-background-control-disabled-pwkvgd, #d1d5db);
|
|
128
125
|
color: var(--color-text-interactive-hover-mj8add, #000716);
|
|
129
|
-
border-color: var(--color-background-control-disabled-pwkvgd, #d1d5db);
|
|
130
126
|
}
|
|
131
|
-
.awsui_trigger-badge-
|
|
132
|
-
clip-path: path("M1.
|
|
127
|
+
.awsui_trigger-badge-wrapper_lpshu_14eln_97:not(#\9):dir(rtl) {
|
|
128
|
+
clip-path: path("M1.81502 9.34876C2.80869 10.1916 4.09501 10.7 5.50007 10.7C8.6481 10.7 11.2001 8.14803 11.2001 5C11.2001 3.68192 10.7527 2.46833 10.0015 1.50281C12.1358 0.537421 14.5052 0 17 0C26.3888 0 34 7.61116 34 17C34 26.3888 26.3888 34 17 34C7.61116 34 0 26.3888 0 17C0 14.2479 0.653984 11.6485 1.81502 9.34876Z");
|
|
133
129
|
}
|
|
134
130
|
|
|
135
131
|
/*
|
|
@@ -137,42 +133,40 @@ Warning! If these design tokens for width change it will adversely impact
|
|
|
137
133
|
the calculation used to determine the Split Panel maximum width in the
|
|
138
134
|
handleSplitPanelMaxWidth function in the context.
|
|
139
135
|
*/
|
|
140
|
-
.
|
|
136
|
+
.awsui_trigger_lpshu_14eln_97:not(#\9) {
|
|
141
137
|
background: transparent;
|
|
142
138
|
color: var(--color-text-interactive-default-lnx6lk, #414d5c);
|
|
143
|
-
border-block: var(--border-field-width-09w7vk, 2px) solid transparent;
|
|
144
|
-
border-inline: var(--border-field-width-09w7vk, 2px) solid transparent;
|
|
145
139
|
border-start-start-radius: 50%;
|
|
146
140
|
border-start-end-radius: 50%;
|
|
147
141
|
border-end-start-radius: 50%;
|
|
148
142
|
border-end-end-radius: 50%;
|
|
149
|
-
block-size:
|
|
150
|
-
inline-size:
|
|
143
|
+
block-size: 34px;
|
|
144
|
+
inline-size: 34px;
|
|
151
145
|
display: flex;
|
|
152
146
|
align-items: center;
|
|
153
147
|
justify-content: center;
|
|
154
148
|
box-sizing: border-box;
|
|
149
|
+
border-block: none;
|
|
150
|
+
border-inline: none;
|
|
155
151
|
cursor: pointer;
|
|
156
152
|
pointer-events: auto;
|
|
157
153
|
}
|
|
158
|
-
.
|
|
154
|
+
.awsui_trigger_lpshu_14eln_97:not(#\9):hover {
|
|
159
155
|
background: var(--color-background-input-disabled-ab59a3, #e9ebed);
|
|
160
156
|
color: var(--color-text-interactive-hover-mj8add, #000716);
|
|
161
|
-
border-color: var(--color-background-input-disabled-ab59a3, #e9ebed);
|
|
162
157
|
}
|
|
163
|
-
.
|
|
158
|
+
.awsui_trigger_lpshu_14eln_97:not(#\9):active {
|
|
164
159
|
background: var(--color-background-control-disabled-pwkvgd, #d1d5db);
|
|
165
160
|
color: var(--color-text-interactive-hover-mj8add, #000716);
|
|
166
|
-
border-color: var(--color-background-control-disabled-pwkvgd, #d1d5db);
|
|
167
161
|
}
|
|
168
|
-
body[data-awsui-focus-visible=true] .
|
|
162
|
+
body[data-awsui-focus-visible=true] .awsui_trigger_lpshu_14eln_97:not(#\9):focus {
|
|
169
163
|
position: relative;
|
|
170
164
|
}
|
|
171
|
-
body[data-awsui-focus-visible=true] .
|
|
165
|
+
body[data-awsui-focus-visible=true] .awsui_trigger_lpshu_14eln_97:not(#\9):focus {
|
|
172
166
|
outline: 2px dotted transparent;
|
|
173
167
|
outline-offset: calc(3px - 1px);
|
|
174
168
|
}
|
|
175
|
-
body[data-awsui-focus-visible=true] .
|
|
169
|
+
body[data-awsui-focus-visible=true] .awsui_trigger_lpshu_14eln_97:not(#\9):focus::before {
|
|
176
170
|
content: " ";
|
|
177
171
|
display: block;
|
|
178
172
|
position: absolute;
|
|
@@ -186,42 +180,34 @@ body[data-awsui-focus-visible=true] .awsui_trigger_lpshu_1878d_97:not(#\9):focus
|
|
|
186
180
|
border-end-end-radius: var(--border-radius-control-default-focus-ring-u8zbsz, 4px);
|
|
187
181
|
box-shadow: 0 0 0 2px var(--color-border-item-focused-b2ntyl, #0972d3);
|
|
188
182
|
}
|
|
189
|
-
.
|
|
183
|
+
.awsui_trigger_lpshu_14eln_97:not(#\9):focus {
|
|
190
184
|
outline: none;
|
|
191
185
|
}
|
|
192
|
-
.
|
|
186
|
+
.awsui_trigger_lpshu_14eln_97.awsui_selected_lpshu_14eln_186:not(#\9) {
|
|
193
187
|
background: var(--color-background-layout-toggle-selected-default-caco0q, #0972d3);
|
|
194
188
|
color: var(--color-text-layout-toggle-selected-b93usl, #ffffff);
|
|
195
|
-
border-block: var(--border-field-width-09w7vk, 2px) solid var(--color-background-layout-toggle-selected-default-caco0q, #0972d3);
|
|
196
|
-
border-inline: var(--border-field-width-09w7vk, 2px) solid var(--color-background-layout-toggle-selected-default-caco0q, #0972d3);
|
|
197
189
|
}
|
|
198
|
-
.
|
|
190
|
+
.awsui_trigger_lpshu_14eln_97.awsui_selected_lpshu_14eln_186:not(#\9):hover {
|
|
199
191
|
background: var(--color-background-layout-toggle-selected-hover-kjak2q, #065299);
|
|
200
|
-
border-color: var(--color-background-layout-toggle-selected-hover-kjak2q, #065299);
|
|
201
192
|
}
|
|
202
|
-
.
|
|
193
|
+
.awsui_trigger_lpshu_14eln_97.awsui_selected_lpshu_14eln_186:not(#\9):active {
|
|
203
194
|
background: var(--color-background-layout-toggle-selected-active-xfk480, #0972d3);
|
|
204
|
-
border-color: var(--color-background-layout-toggle-selected-active-xfk480, #0972d3);
|
|
205
195
|
}
|
|
206
|
-
.
|
|
196
|
+
.awsui_trigger_lpshu_14eln_97.awsui_selected_lpshu_14eln_186 > .awsui_trigger-badge-wrapper_lpshu_14eln_97:not(#\9) {
|
|
207
197
|
background: var(--color-background-layout-toggle-selected-default-caco0q, #0972d3);
|
|
208
198
|
color: var(--color-text-layout-toggle-selected-b93usl, #ffffff);
|
|
209
|
-
border-block: var(--border-field-width-09w7vk, 2px) solid var(--color-background-layout-toggle-selected-default-caco0q, #0972d3);
|
|
210
|
-
border-inline: var(--border-field-width-09w7vk, 2px) solid var(--color-background-layout-toggle-selected-default-caco0q, #0972d3);
|
|
211
199
|
}
|
|
212
|
-
.
|
|
200
|
+
.awsui_trigger_lpshu_14eln_97.awsui_selected_lpshu_14eln_186 > .awsui_trigger-badge-wrapper_lpshu_14eln_97:not(#\9):hover {
|
|
213
201
|
background: var(--color-background-layout-toggle-selected-hover-kjak2q, #065299);
|
|
214
|
-
border-color: var(--color-background-layout-toggle-selected-hover-kjak2q, #065299);
|
|
215
202
|
}
|
|
216
|
-
.
|
|
203
|
+
.awsui_trigger_lpshu_14eln_97.awsui_selected_lpshu_14eln_186 > .awsui_trigger-badge-wrapper_lpshu_14eln_97:not(#\9):active {
|
|
217
204
|
background: var(--color-background-layout-toggle-selected-active-xfk480, #0972d3);
|
|
218
|
-
border-color: var(--color-background-layout-toggle-selected-active-xfk480, #0972d3);
|
|
219
205
|
}
|
|
220
|
-
.
|
|
206
|
+
.awsui_trigger_lpshu_14eln_97.awsui_badge_lpshu_14eln_206:not(#\9), .awsui_trigger_lpshu_14eln_97.awsui_badge_lpshu_14eln_206:not(#\9):hover, .awsui_trigger_lpshu_14eln_97.awsui_badge_lpshu_14eln_206:not(#\9):active {
|
|
221
207
|
background: transparent;
|
|
222
208
|
}
|
|
223
209
|
|
|
224
|
-
.awsui_trigger-
|
|
210
|
+
.awsui_trigger-wrapper_lpshu_14eln_210:not(#\9) {
|
|
225
211
|
position: relative;
|
|
226
212
|
border-start-start-radius: 50%;
|
|
227
213
|
border-start-end-radius: 50%;
|
|
@@ -229,10 +215,10 @@ body[data-awsui-focus-visible=true] .awsui_trigger_lpshu_1878d_97:not(#\9):focus
|
|
|
229
215
|
border-end-end-radius: 50%;
|
|
230
216
|
}
|
|
231
217
|
|
|
232
|
-
.
|
|
218
|
+
.awsui_dot_lpshu_14eln_218:not(#\9) {
|
|
233
219
|
position: absolute;
|
|
234
|
-
inline-size:
|
|
235
|
-
block-size:
|
|
220
|
+
inline-size: 8px;
|
|
221
|
+
block-size: 8px;
|
|
236
222
|
border-start-start-radius: 8px;
|
|
237
223
|
border-start-end-radius: 8px;
|
|
238
224
|
border-end-start-radius: 8px;
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"trigger-badge-wrapper": "awsui_trigger-badge-
|
|
6
|
-
"trigger": "
|
|
7
|
-
"selected": "
|
|
8
|
-
"badge": "
|
|
9
|
-
"trigger-wrapper": "awsui_trigger-
|
|
10
|
-
"dot": "
|
|
5
|
+
"trigger-badge-wrapper": "awsui_trigger-badge-wrapper_lpshu_14eln_97",
|
|
6
|
+
"trigger": "awsui_trigger_lpshu_14eln_97",
|
|
7
|
+
"selected": "awsui_selected_lpshu_14eln_186",
|
|
8
|
+
"badge": "awsui_badge_lpshu_14eln_206",
|
|
9
|
+
"trigger-wrapper": "awsui_trigger-wrapper_lpshu_14eln_210",
|
|
10
|
+
"dot": "awsui_dot_lpshu_14eln_218"
|
|
11
11
|
};
|
|
12
12
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface GeneratedAnalyticsMetadataButtonDropdownClick {
|
|
2
|
+
action: 'click';
|
|
3
|
+
detail: {
|
|
4
|
+
label: string;
|
|
5
|
+
position?: string;
|
|
6
|
+
id?: string;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export interface GeneratedAnalyticsMetadataButtonDropdownExpand {
|
|
10
|
+
action: 'expand';
|
|
11
|
+
detail: {
|
|
12
|
+
label: string;
|
|
13
|
+
expanded: string;
|
|
14
|
+
position?: string;
|
|
15
|
+
id?: string;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface GeneratedAnalyticsMetadataButtonDropdownComponent {
|
|
19
|
+
name: 'awsui.ButtonDropdown';
|
|
20
|
+
label: string;
|
|
21
|
+
properties: {
|
|
22
|
+
variant: string;
|
|
23
|
+
disabled: string;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/analytics-metadata/interfaces.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,6CAA6C;IAC5D,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,8CAA8C;IAC7D,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,iDAAiD;IAChE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/button-dropdown/analytics-metadata/interfaces.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport interface GeneratedAnalyticsMetadataButtonDropdownClick {\n action: 'click';\n detail: {\n label: string;\n position?: string;\n id?: string;\n };\n}\n\nexport interface GeneratedAnalyticsMetadataButtonDropdownExpand {\n action: 'expand';\n detail: {\n label: string;\n expanded: string;\n position?: string;\n id?: string;\n };\n}\n\nexport interface GeneratedAnalyticsMetadataButtonDropdownComponent {\n name: 'awsui.ButtonDropdown';\n label: string;\n properties: {\n variant: string;\n disabled: string;\n };\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
.awsui_trigger-label_q2oen_w271r_5:not(#\9),
|
|
6
|
+
.awsui_menu-item_q2oen_w271r_6:not(#\9),
|
|
7
|
+
.awsui_main-action-label_q2oen_w271r_7:not(#\9) {
|
|
8
|
+
/* used in analytics metadata */
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
// es-module interop with Babel and Typescript
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
module.exports.default = {
|
|
5
|
+
"trigger-label": "awsui_trigger-label_q2oen_w271r_5",
|
|
6
|
+
"menu-item": "awsui_menu-item_q2oen_w271r_6",
|
|
7
|
+
"main-action-label": "awsui_main-action-label_q2oen_w271r_7"
|
|
8
|
+
};
|
|
9
|
+
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { CategoryProps } from '../interfaces';
|
|
3
|
-
declare const CategoryElement: ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, }: CategoryProps) => JSX.Element;
|
|
3
|
+
declare const CategoryElement: ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, position, }: CategoryProps) => JSX.Element;
|
|
4
4
|
export default CategoryElement;
|
|
5
5
|
//# sourceMappingURL=category-element.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/category-element.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,QAAA,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/category-element.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,QAAA,MAAM,eAAe,qKAalB,aAAa,gBAmCf,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -4,12 +4,12 @@ import React from 'react';
|
|
|
4
4
|
import clsx from 'clsx';
|
|
5
5
|
import ItemsList from '../items-list';
|
|
6
6
|
import styles from './styles.css.js';
|
|
7
|
-
const CategoryElement = ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, }) => {
|
|
7
|
+
const CategoryElement = ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, position, }) => {
|
|
8
8
|
// Hide the category title element from screen readers because it will be
|
|
9
9
|
// provided as an ARIA label.
|
|
10
10
|
return (React.createElement("li", { className: clsx(styles.category, styles[`variant-${variant}`], disabled && styles.disabled), role: "presentation", "aria-disabled": disabled ? 'true' : undefined },
|
|
11
11
|
item.text && (React.createElement("p", { className: clsx(styles.header, { [styles.disabled]: disabled }), "aria-hidden": "true" }, item.text)),
|
|
12
|
-
React.createElement("ul", { className: styles['items-list-container'], role: "group", "aria-label": item.text }, item.items && (React.createElement(ItemsList, { items: item.items, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, lastInDropdown: lastInDropdown, highlightItem: highlightItem, categoryDisabled: disabled, hasCategoryHeader: !!item.text, variant: variant })))));
|
|
12
|
+
React.createElement("ul", { className: styles['items-list-container'], role: "group", "aria-label": item.text }, item.items && (React.createElement(ItemsList, { items: item.items, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, lastInDropdown: lastInDropdown, highlightItem: highlightItem, categoryDisabled: disabled, hasCategoryHeader: !!item.text, variant: variant, position: position })))));
|
|
13
13
|
};
|
|
14
14
|
export default CategoryElement;
|
|
15
15
|
//# sourceMappingURL=category-element.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/category-element.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,SAAS,MAAM,eAAe,CAAC;AAEtC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,eAAe,GAAG,CAAC,EACvB,IAAI,EACJ,cAAc,EACd,aAAa,EACb,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,OAAO,
|
|
1
|
+
{"version":3,"file":"category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/category-element.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,SAAS,MAAM,eAAe,CAAC;AAEtC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,eAAe,GAAG,CAAC,EACvB,IAAI,EACJ,cAAc,EACd,aAAa,EACb,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,OAAO,EACP,QAAQ,GACM,EAAE,EAAE;IAClB,yEAAyE;IACzE,6BAA6B;IAC7B,OAAO,CACL,4BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,EAC3F,IAAI,EAAC,cAAc,mBACJ,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAE3C,IAAI,CAAC,IAAI,IAAI,CACZ,2BAAG,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,iBAAc,MAAM,IACnF,IAAI,CAAC,IAAI,CACR,CACL;QACD,4BAAI,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,EAAE,IAAI,EAAC,OAAO,gBAAa,IAAI,CAAC,IAAI,IAC9E,IAAI,CAAC,KAAK,IAAI,CACb,oBAAC,SAAS,IACR,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,QAAQ,EAC1B,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,GAClB,CACH,CACE,CACF,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\n\nimport styles from './styles.css.js';\n\nconst CategoryElement = ({\n item,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n lastInDropdown,\n highlightItem,\n disabled,\n variant,\n position,\n}: CategoryProps) => {\n // Hide the category title element from screen readers because it will be\n // provided as an ARIA label.\n return (\n <li\n className={clsx(styles.category, styles[`variant-${variant}`], disabled && styles.disabled)}\n role=\"presentation\"\n aria-disabled={disabled ? 'true' : undefined}\n >\n {item.text && (\n <p className={clsx(styles.header, { [styles.disabled]: disabled })} aria-hidden=\"true\">\n {item.text}\n </p>\n )}\n <ul className={styles['items-list-container']} role=\"group\" aria-label={item.text}>\n {item.items && (\n <ItemsList\n items={item.items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={lastInDropdown}\n highlightItem={highlightItem}\n categoryDisabled={disabled}\n hasCategoryHeader={!!item.text}\n variant={variant}\n position={position}\n />\n )}\n </ul>\n </li>\n );\n};\n\nexport default CategoryElement;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { CategoryProps } from '../interfaces';
|
|
3
|
-
declare const ExpandableCategoryElement: ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, expandToViewport, variant, }: CategoryProps) => JSX.Element;
|
|
3
|
+
declare const ExpandableCategoryElement: ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, expandToViewport, variant, position, }: CategoryProps) => JSX.Element;
|
|
4
4
|
export default ExpandableCategoryElement;
|
|
5
5
|
//# sourceMappingURL=expandable-category-element.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expandable-category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/expandable-category-element.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"expandable-category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/expandable-category-element.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAO9C,QAAA,MAAM,yBAAyB,uLAc5B,aAAa,gBA6Hf,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import React, { useEffect, useRef } from 'react';
|
|
4
4
|
import clsx from 'clsx';
|
|
5
|
+
import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
|
|
5
6
|
import InternalIcon from '../../icon/internal';
|
|
6
7
|
import Dropdown from '../../internal/components/dropdown';
|
|
7
8
|
import useHiddenDescription from '../../internal/hooks/use-hidden-description';
|
|
@@ -9,7 +10,7 @@ import ItemsList from '../items-list';
|
|
|
9
10
|
import Tooltip from '../tooltip.js';
|
|
10
11
|
import { getMenuItemProps } from '../utils/menu-item';
|
|
11
12
|
import styles from './styles.css.js';
|
|
12
|
-
const ExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, expandToViewport, variant, }) => {
|
|
13
|
+
const ExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, expandToViewport, variant, position, }) => {
|
|
13
14
|
const highlighted = isHighlighted(item);
|
|
14
15
|
const expanded = isExpanded(item);
|
|
15
16
|
const isKeyboardHighlighted = isKeyboardHighlight(item);
|
|
@@ -41,7 +42,17 @@ const ExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, target
|
|
|
41
42
|
// We are using the roving tabindex technique to manage the focus state of the dropdown.
|
|
42
43
|
// The current element will always have tabindex=0 which means that it can be tabbed to,
|
|
43
44
|
// while all other items have tabindex=-1 so we can focus them when necessary.
|
|
44
|
-
tabIndex: highlighted ? 0 : -1, ref: triggerRef }, getMenuItemProps({ parent: true, expanded, disabled }), (isDisabledWithReason ? targetProps : {})
|
|
45
|
+
tabIndex: highlighted ? 0 : -1, ref: triggerRef }, getMenuItemProps({ parent: true, expanded, disabled }), (isDisabledWithReason ? targetProps : {}), getAnalyticsMetadataAttribute(disabled
|
|
46
|
+
? {}
|
|
47
|
+
: {
|
|
48
|
+
action: 'expand',
|
|
49
|
+
detail: {
|
|
50
|
+
position: position || '0',
|
|
51
|
+
label: '',
|
|
52
|
+
id: item.id || '',
|
|
53
|
+
expanded: `${!expanded}`,
|
|
54
|
+
},
|
|
55
|
+
})),
|
|
45
56
|
item.text,
|
|
46
57
|
React.createElement("span", { className: clsx(styles['expand-icon'], styles['expand-icon-right']) },
|
|
47
58
|
React.createElement(InternalIcon, { name: "caret-down-filled" }))));
|
|
@@ -58,7 +69,7 @@ const ExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, target
|
|
|
58
69
|
}
|
|
59
70
|
else {
|
|
60
71
|
content = (React.createElement(Dropdown, { open: expanded, stretchWidth: false, interior: true, expandToViewport: expandToViewport, trigger: trigger }, item.items && expanded && (React.createElement("ul", { role: "menu", "aria-label": item.text, className: clsx(styles['items-list-container'], styles['in-dropdown']) },
|
|
61
|
-
React.createElement(ItemsList, { items: item.items, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, lastInDropdown: lastInDropdown, highlightItem: highlightItem, variant: variant })))));
|
|
72
|
+
React.createElement(ItemsList, { items: item.items, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, lastInDropdown: lastInDropdown, highlightItem: highlightItem, variant: variant, position: position })))));
|
|
62
73
|
}
|
|
63
74
|
return (React.createElement("li", { className: clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {
|
|
64
75
|
[styles.expanded]: expanded,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expandable-category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/expandable-category-element.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,QAAQ,MAAM,oCAAoC,CAAC;AAC1D,OAAO,oBAAoB,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"expandable-category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/expandable-category-element.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalIcon from '../../icon/internal';\nimport Dropdown from '../../internal/components/dropdown';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { GeneratedAnalyticsMetadataButtonDropdownExpand } from '../analytics-metadata/interfaces.js';\nimport { CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\nimport Tooltip from '../tooltip.js';\nimport { getMenuItemProps } from '../utils/menu-item';\n\nimport styles from './styles.css.js';\n\nconst ExpandableCategoryElement = ({\n item,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n lastInDropdown,\n highlightItem,\n disabled,\n expandToViewport,\n variant,\n position,\n}: CategoryProps) => {\n const highlighted = isHighlighted(item);\n const expanded = isExpanded(item);\n const isKeyboardHighlighted = isKeyboardHighlight(item);\n const triggerRef = React.useRef<HTMLSpanElement>(null);\n const ref = useRef<HTMLLIElement>(null);\n\n useEffect(() => {\n if (triggerRef.current && highlighted && !expanded) {\n triggerRef.current.focus();\n }\n }, [expanded, highlighted]);\n\n const onClick: React.MouseEventHandler = event => {\n if (!disabled) {\n event.preventDefault();\n onGroupToggle(item, event);\n triggerRef.current?.focus();\n }\n };\n\n const onHover = () => {\n highlightItem(item);\n };\n\n const isDisabledWithReason = !!item.disabledReason && item.disabled;\n const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);\n const trigger = item.text && (\n <span\n className={clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted,\n [styles['is-focused']]: isKeyboardHighlighted,\n })}\n // We are using the roving tabindex technique to manage the focus state of the dropdown.\n // The current element will always have tabindex=0 which means that it can be tabbed to,\n // while all other items have tabindex=-1 so we can focus them when necessary.\n tabIndex={highlighted ? 0 : -1}\n ref={triggerRef}\n {...getMenuItemProps({ parent: true, expanded, disabled })}\n {...(isDisabledWithReason ? targetProps : {})}\n {...getAnalyticsMetadataAttribute(\n disabled\n ? {}\n : ({\n action: 'expand',\n detail: {\n position: position || '0',\n label: '',\n id: item.id || '',\n expanded: `${!expanded}`,\n },\n } as GeneratedAnalyticsMetadataButtonDropdownExpand)\n )}\n >\n {item.text}\n <span className={clsx(styles['expand-icon'], styles['expand-icon-right'])}>\n <InternalIcon name=\"caret-down-filled\" />\n </span>\n </span>\n );\n\n let content: React.ReactNode;\n // If the category element is disabled, we do not render a dropdown.\n // Screenreaders are confused by additional sections\n if (isDisabledWithReason) {\n content = (\n <Tooltip content={item.disabledReason}>\n {trigger}\n {descriptionEl}\n </Tooltip>\n );\n } else if (disabled) {\n content = trigger;\n } else {\n content = (\n <Dropdown\n open={expanded}\n stretchWidth={false}\n interior={true}\n expandToViewport={expandToViewport}\n trigger={trigger}\n >\n {item.items && expanded && (\n <ul\n role=\"menu\"\n aria-label={item.text}\n className={clsx(styles['items-list-container'], styles['in-dropdown'])}\n >\n <ItemsList\n items={item.items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={lastInDropdown}\n highlightItem={highlightItem}\n variant={variant}\n position={position}\n />\n </ul>\n )}\n </Dropdown>\n );\n }\n\n return (\n <li\n className={clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {\n [styles.expanded]: expanded,\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted,\n })}\n role=\"presentation\"\n data-testid={item.id}\n ref={ref}\n onClick={onClick}\n onMouseEnter={onHover}\n onTouchStart={onHover}\n >\n {content}\n </li>\n );\n};\n\nexport default ExpandableCategoryElement;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { CategoryProps } from '../interfaces';
|
|
3
|
-
declare const MobileExpandableCategoryElement: ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, }: CategoryProps) => JSX.Element;
|
|
3
|
+
declare const MobileExpandableCategoryElement: ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, position, }: CategoryProps) => JSX.Element;
|
|
4
4
|
export default MobileExpandableCategoryElement;
|
|
5
5
|
//# sourceMappingURL=mobile-expandable-category-element.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobile-expandable-category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/mobile-expandable-category-element.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"mobile-expandable-category-element.d.ts","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/mobile-expandable-category-element.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAQ9C,QAAA,MAAM,+BAA+B,qKAalC,aAAa,gBAsHf,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import React, { useEffect } from 'react';
|
|
4
4
|
import clsx from 'clsx';
|
|
5
|
+
import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
|
|
5
6
|
import InternalIcon from '../../icon/internal';
|
|
6
7
|
import useHiddenDescription from '../../internal/hooks/use-hidden-description';
|
|
7
8
|
import ItemsList from '../items-list';
|
|
@@ -9,7 +10,7 @@ import MobileExpandableGroup from '../mobile-expandable-group/mobile-expandable-
|
|
|
9
10
|
import Tooltip from '../tooltip.js';
|
|
10
11
|
import { getMenuItemProps } from '../utils/menu-item.js';
|
|
11
12
|
import styles from './styles.css.js';
|
|
12
|
-
const MobileExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, }) => {
|
|
13
|
+
const MobileExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle, targetItem, isHighlighted, isKeyboardHighlight, isExpanded, lastInDropdown, highlightItem, disabled, variant, position, }) => {
|
|
13
14
|
const highlighted = isHighlighted(item);
|
|
14
15
|
const expanded = isExpanded(item);
|
|
15
16
|
const isKeyboardHighlighted = isKeyboardHighlight(item);
|
|
@@ -39,7 +40,17 @@ const MobileExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle,
|
|
|
39
40
|
// We are using the roving tabindex technique to manage the focus state of the dropdown.
|
|
40
41
|
// The current element will always have tabindex=0 which means that it can be tabbed to,
|
|
41
42
|
// while all other items have tabindex=-1 so we can focus them when necessary.
|
|
42
|
-
tabIndex: highlighted ? 0 : -1, ref: triggerRef }, getMenuItemProps({ parent: true, disabled, expanded }), (isDisabledWithReason ? targetProps : {})
|
|
43
|
+
tabIndex: highlighted ? 0 : -1, ref: triggerRef }, getMenuItemProps({ parent: true, disabled, expanded }), (isDisabledWithReason ? targetProps : {}), getAnalyticsMetadataAttribute(disabled
|
|
44
|
+
? {}
|
|
45
|
+
: {
|
|
46
|
+
action: 'expand',
|
|
47
|
+
detail: {
|
|
48
|
+
position: position || '0',
|
|
49
|
+
label: '',
|
|
50
|
+
id: item.id || '',
|
|
51
|
+
expanded: `${!expanded}`,
|
|
52
|
+
},
|
|
53
|
+
})),
|
|
43
54
|
item.text,
|
|
44
55
|
React.createElement("span", { className: clsx(styles['expand-icon'], {
|
|
45
56
|
[styles['expand-icon-up']]: expanded,
|
|
@@ -56,7 +67,7 @@ const MobileExpandableCategoryElement = ({ item, onItemActivate, onGroupToggle,
|
|
|
56
67
|
}
|
|
57
68
|
else {
|
|
58
69
|
content = (React.createElement(MobileExpandableGroup, { open: expanded, trigger: trigger }, item.items && expanded && (React.createElement("ul", { role: "menu", "aria-label": item.text, className: styles['items-list-container'] },
|
|
59
|
-
React.createElement(ItemsList, { items: item.items, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, lastInDropdown: lastInDropdown, highlightItem: highlightItem, hasCategoryHeader: true, variant: variant })))));
|
|
70
|
+
React.createElement(ItemsList, { items: item.items, onItemActivate: onItemActivate, onGroupToggle: onGroupToggle, targetItem: targetItem, isHighlighted: isHighlighted, isKeyboardHighlight: isKeyboardHighlight, isExpanded: isExpanded, lastInDropdown: lastInDropdown, highlightItem: highlightItem, hasCategoryHeader: true, variant: variant, position: position })))));
|
|
60
71
|
}
|
|
61
72
|
return (React.createElement("li", { className: clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {
|
|
62
73
|
[styles.expanded]: expanded,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobile-expandable-category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/mobile-expandable-category-element.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,YAAY,MAAM,qBAAqB,CAAC;AAC/C,OAAO,oBAAoB,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"mobile-expandable-category-element.js","sourceRoot":"","sources":["../../../../src/button-dropdown/category-elements/mobile-expandable-category-element.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect } from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalIcon from '../../icon/internal';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { GeneratedAnalyticsMetadataButtonDropdownExpand } from '../analytics-metadata/interfaces.js';\nimport { CategoryProps } from '../interfaces';\nimport ItemsList from '../items-list';\nimport MobileExpandableGroup from '../mobile-expandable-group/mobile-expandable-group';\nimport Tooltip from '../tooltip.js';\nimport { getMenuItemProps } from '../utils/menu-item.js';\n\nimport styles from './styles.css.js';\n\nconst MobileExpandableCategoryElement = ({\n item,\n onItemActivate,\n onGroupToggle,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n lastInDropdown,\n highlightItem,\n disabled,\n variant,\n position,\n}: CategoryProps) => {\n const highlighted = isHighlighted(item);\n const expanded = isExpanded(item);\n const isKeyboardHighlighted = isKeyboardHighlight(item);\n const triggerRef = React.useRef<HTMLSpanElement>(null);\n\n useEffect(() => {\n if (triggerRef.current && highlighted && !expanded) {\n triggerRef.current.focus();\n }\n }, [expanded, highlighted]);\n\n const onClick = (e: React.MouseEvent) => {\n if (!disabled) {\n e.preventDefault();\n onGroupToggle(item, e);\n }\n };\n\n const onHover = () => {\n highlightItem(item);\n };\n\n const isDisabledWithReason = !!item.disabledReason && item.disabled;\n const { targetProps, descriptionEl } = useHiddenDescription(item.disabledReason);\n const trigger = item.text && (\n <span\n className={clsx(styles.header, styles['expandable-header'], styles[`variant-${variant}`], {\n [styles.highlighted]: highlighted,\n [styles['rolled-down']]: expanded,\n [styles.disabled]: disabled,\n [styles['is-focused']]: isKeyboardHighlighted,\n })}\n // We are using the roving tabindex technique to manage the focus state of the dropdown.\n // The current element will always have tabindex=0 which means that it can be tabbed to,\n // while all other items have tabindex=-1 so we can focus them when necessary.\n tabIndex={highlighted ? 0 : -1}\n ref={triggerRef}\n {...getMenuItemProps({ parent: true, disabled, expanded })}\n {...(isDisabledWithReason ? targetProps : {})}\n {...getAnalyticsMetadataAttribute(\n disabled\n ? {}\n : ({\n action: 'expand',\n detail: {\n position: position || '0',\n label: '',\n id: item.id || '',\n expanded: `${!expanded}`,\n },\n } as GeneratedAnalyticsMetadataButtonDropdownExpand)\n )}\n >\n {item.text}\n <span\n className={clsx(styles['expand-icon'], {\n [styles['expand-icon-up']]: expanded,\n })}\n >\n <InternalIcon name=\"caret-down-filled\" />\n </span>\n </span>\n );\n\n let content: React.ReactNode;\n\n if (isDisabledWithReason) {\n content = (\n <>\n {descriptionEl}\n <Tooltip content={item.disabledReason}>{trigger}</Tooltip>\n </>\n );\n } else if (disabled) {\n content = trigger;\n } else {\n content = (\n <MobileExpandableGroup open={expanded} trigger={trigger}>\n {item.items && expanded && (\n <ul role=\"menu\" aria-label={item.text} className={styles['items-list-container']}>\n <ItemsList\n items={item.items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={lastInDropdown}\n highlightItem={highlightItem}\n hasCategoryHeader={true}\n variant={variant}\n position={position}\n />\n </ul>\n )}\n </MobileExpandableGroup>\n );\n }\n\n return (\n <li\n className={clsx(styles.category, styles[`variant-${variant}`], styles.expandable, {\n [styles.expanded]: expanded,\n [styles.disabled]: disabled,\n [styles.highlighted]: highlighted || expanded,\n [styles.expandable]: true,\n })}\n role=\"presentation\"\n onClick={onClick}\n onMouseEnter={onHover}\n onTouchStart={onHover}\n data-testid={item.id}\n >\n {content}\n </li>\n );\n};\n\nexport default MobileExpandableCategoryElement;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAMnD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B,QAAA,MAAM,cAAc,qGA4DnB,CAAC;AAGF,eAAe,cAAc,CAAC"}
|
package/button-dropdown/index.js
CHANGED
|
@@ -2,11 +2,13 @@ import { __rest } from "tslib";
|
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
import React from 'react';
|
|
5
|
+
import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
|
|
5
6
|
import { getBaseProps } from '../internal/base-component';
|
|
6
7
|
import useBaseComponent from '../internal/hooks/use-base-component';
|
|
7
8
|
import { applyDisplayName } from '../internal/utils/apply-display-name';
|
|
8
9
|
import InternalButtonDropdown from './internal';
|
|
9
10
|
import { hasCheckboxItems } from './utils/utils';
|
|
11
|
+
import analyticsSelectors from './analytics-metadata/styles.css.js';
|
|
10
12
|
const ButtonDropdown = React.forwardRef((_a, ref) => {
|
|
11
13
|
var { items, variant = 'normal', loading = false, loadingText, disabled = false, disabledReason, expandableGroups = false, expandToViewport = false, ariaLabel, children, onItemClick, onItemFollow, mainAction } = _a, props = __rest(_a, ["items", "variant", "loading", "loadingText", "disabled", "disabledReason", "expandableGroups", "expandToViewport", "ariaLabel", "children", "onItemClick", "onItemFollow", "mainAction"]);
|
|
12
14
|
const baseComponentProps = useBaseComponent('ButtonDropdown', {
|
|
@@ -17,7 +19,14 @@ const ButtonDropdown = React.forwardRef((_a, ref) => {
|
|
|
17
19
|
},
|
|
18
20
|
});
|
|
19
21
|
const baseProps = getBaseProps(props);
|
|
20
|
-
|
|
22
|
+
const analyticsComponentMetadata = {
|
|
23
|
+
name: 'awsui.ButtonDropdown',
|
|
24
|
+
label: `.${analyticsSelectors['trigger-label']}`,
|
|
25
|
+
properties: { variant, disabled: `${disabled}` },
|
|
26
|
+
};
|
|
27
|
+
return (React.createElement(InternalButtonDropdown, Object.assign({}, baseProps, baseComponentProps, { ref: ref, items: items, variant: variant, loading: loading, loadingText: loadingText, disabled: disabled, disabledReason: disabledReason, expandableGroups: expandableGroups, expandToViewport: expandToViewport, ariaLabel: ariaLabel, onItemClick: onItemClick, onItemFollow: onItemFollow, mainAction: mainAction }, getAnalyticsMetadataAttribute({
|
|
28
|
+
component: analyticsComponentMetadata,
|
|
29
|
+
})), children));
|
|
21
30
|
});
|
|
22
31
|
applyDisplayName(ButtonDropdown, 'ButtonDropdown');
|
|
23
32
|
export default ButtonDropdown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/button-dropdown/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/button-dropdown/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,sBAAsB,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AAIpE,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,CACE,EAesB,EACtB,GAAuC,EACvC,EAAE;QAjBF,EACE,KAAK,EACL,OAAO,GAAG,QAAQ,EAClB,OAAO,GAAG,KAAK,EACf,WAAW,EACX,QAAQ,GAAG,KAAK,EAChB,cAAc,EACd,gBAAgB,GAAG,KAAK,EACxB,gBAAgB,GAAG,KAAK,EACxB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,UAAU,OAEU,EADjB,KAAK,cAdV,0LAeC,CADS;IAIV,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,gBAAgB,EAAE;QAC5D,KAAK,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE;QACtD,QAAQ,EAAE;YACR,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,aAAa,EAAE,gBAAgB,CAAC,KAAK,CAAC;SACvC;KACF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,0BAA0B,GAAsD;QACpF,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,IAAI,kBAAkB,CAAC,eAAe,CAAC,EAAE;QAChD,UAAU,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,EAAE;KACjD,CAAC;IAEF,OAAO,CACL,oBAAC,sBAAsB,oBACjB,SAAS,EACT,kBAAkB,IACtB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,IAClB,6BAA6B,CAAC;QAChC,SAAS,EAAE,0BAA0B;KACtC,CAAC,GAED,QAAQ,CACc,CAC1B,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AACnD,eAAe,cAAc,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { getBaseProps } from '../internal/base-component';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { GeneratedAnalyticsMetadataButtonDropdownComponent } from './analytics-metadata/interfaces';\nimport { ButtonDropdownProps } from './interfaces';\nimport InternalButtonDropdown from './internal';\nimport { hasCheckboxItems } from './utils/utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\n\nexport { ButtonDropdownProps };\n\nconst ButtonDropdown = React.forwardRef(\n (\n {\n items,\n variant = 'normal',\n loading = false,\n loadingText,\n disabled = false,\n disabledReason,\n expandableGroups = false,\n expandToViewport = false,\n ariaLabel,\n children,\n onItemClick,\n onItemFollow,\n mainAction,\n ...props\n }: ButtonDropdownProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('ButtonDropdown', {\n props: { expandToViewport, expandableGroups, variant },\n metadata: {\n mainAction: !!mainAction,\n checkboxItems: hasCheckboxItems(items),\n },\n });\n const baseProps = getBaseProps(props);\n\n const analyticsComponentMetadata: GeneratedAnalyticsMetadataButtonDropdownComponent = {\n name: 'awsui.ButtonDropdown',\n label: `.${analyticsSelectors['trigger-label']}`,\n properties: { variant, disabled: `${disabled}` },\n };\n\n return (\n <InternalButtonDropdown\n {...baseProps}\n {...baseComponentProps}\n ref={ref}\n items={items}\n variant={variant}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n disabledReason={disabledReason}\n expandableGroups={expandableGroups}\n expandToViewport={expandToViewport}\n ariaLabel={ariaLabel}\n onItemClick={onItemClick}\n onItemFollow={onItemFollow}\n mainAction={mainAction}\n {...getAnalyticsMetadataAttribute({\n component: analyticsComponentMetadata,\n })}\n >\n {children}\n </InternalButtonDropdown>\n );\n }\n);\n\napplyDisplayName(ButtonDropdown, 'ButtonDropdown');\nexport default ButtonDropdown;\n"]}
|