@cloudscape-design/components 3.0.1043 → 3.0.1044
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/button-dropdown/internal.d.ts.map +1 -1
- package/button-dropdown/internal.js +2 -2
- package/button-dropdown/internal.js.map +1 -1
- package/internal/base-component/styles.scoped.css +1 -1
- package/internal/components/button-trigger/styles.css.js +13 -13
- package/internal/components/button-trigger/styles.scoped.css +36 -31
- package/internal/components/button-trigger/styles.selectors.js +13 -13
- package/internal/environment.js +2 -2
- package/internal/environment.json +2 -2
- package/internal/manifest.json +1 -1
- package/package.json +1 -2
- package/test-utils/dom/top-navigation/1.0-beta/index.d.ts +0 -28
- package/test-utils/dom/top-navigation/1.0-beta/index.js +0 -72
- package/test-utils/dom/top-navigation/1.0-beta/index.js.map +0 -1
- package/test-utils/selectors/top-navigation/1.0-beta/index.d.ts +0 -28
- package/test-utils/selectors/top-navigation/1.0-beta/index.js +0 -72
- package/test-utils/selectors/top-navigation/1.0-beta/index.js.map +0 -1
- package/top-navigation/1.0-beta/index.d.ts +0 -12
- package/top-navigation/1.0-beta/index.d.ts.map +0 -1
- package/top-navigation/1.0-beta/index.js +0 -19
- package/top-navigation/1.0-beta/index.js.map +0 -1
- package/top-navigation/1.0-beta/interfaces.d.ts +0 -102
- package/top-navigation/1.0-beta/interfaces.d.ts.map +0 -1
- package/top-navigation/1.0-beta/interfaces.js +0 -2
- package/top-navigation/1.0-beta/interfaces.js.map +0 -1
- package/top-navigation/1.0-beta/internal.d.ts +0 -13
- package/top-navigation/1.0-beta/internal.d.ts.map +0 -1
- package/top-navigation/1.0-beta/internal.js +0 -93
- package/top-navigation/1.0-beta/internal.js.map +0 -1
- package/top-navigation/1.0-beta/parts/overflow-menu.d.ts +0 -20
- package/top-navigation/1.0-beta/parts/overflow-menu.d.ts.map +0 -1
- package/top-navigation/1.0-beta/parts/overflow-menu.js +0 -54
- package/top-navigation/1.0-beta/parts/overflow-menu.js.map +0 -1
- package/top-navigation/1.0-beta/parts/utility.d.ts +0 -14
- package/top-navigation/1.0-beta/parts/utility.d.ts.map +0 -1
- package/top-navigation/1.0-beta/parts/utility.js +0 -56
- package/top-navigation/1.0-beta/parts/utility.js.map +0 -1
- package/top-navigation/1.0-beta/styles.css.js +0 -28
- package/top-navigation/1.0-beta/styles.scoped.css +0 -360
- package/top-navigation/1.0-beta/styles.selectors.js +0 -29
- package/top-navigation/1.0-beta/use-top-navigation.d.ts +0 -29
- package/top-navigation/1.0-beta/use-top-navigation.d.ts.map +0 -1
- package/top-navigation/1.0-beta/use-top-navigation.js +0 -154
- package/top-navigation/1.0-beta/use-top-navigation.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAsBtE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAQhF,QAAA,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/button-dropdown/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiD,MAAM,OAAO,CAAC;AAsBtE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAQhF,QAAA,MAAM,sBAAsB,6GAqY3B,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -139,7 +139,7 @@ const InternalButtonDropdown = React.forwardRef((_a, ref) => {
|
|
|
139
139
|
const hasNoText = !text;
|
|
140
140
|
const mainActionButton = (React.createElement(InternalButton, Object.assign({ ref: mainActionRef }, mainActionProps, mainActionIconProps, { fullWidth: canBeFullWidth, className: clsx(styles['trigger-button'], hasNoText && styles['has-no-text'], isVisualRefresh && styles['visual-refresh'], canBeFullWidth && styles['main-action-full-width']), variant: variant, ariaLabel: mainActionAriaLabel, formAction: "none", nativeAnchorAttributes: nativeMainActionAttributes === null || nativeMainActionAttributes === void 0 ? void 0 : nativeMainActionAttributes.anchor, nativeButtonAttributes: nativeMainActionAttributes === null || nativeMainActionAttributes === void 0 ? void 0 : nativeMainActionAttributes.button }), text));
|
|
141
141
|
trigger = (React.createElement("div", { role: "group", "aria-label": ariaLabel, className: styles['split-trigger-wrapper'] },
|
|
142
|
-
React.createElement("div", Object.assign({ className: clsx(styles['trigger-item'], styles['split-trigger'], styles[`variant-${variant}`], mainActionProps.
|
|
142
|
+
React.createElement("div", Object.assign({ className: clsx(styles['trigger-item'], styles['split-trigger'], styles[`variant-${variant}`], mainActionProps.loading && styles.loading),
|
|
143
143
|
// Close dropdown upon main action click unless event is cancelled.
|
|
144
144
|
onClick: closeDropdown,
|
|
145
145
|
// Prevent keyboard events from propagation to the button dropdown handler.
|
|
@@ -149,7 +149,7 @@ const InternalButtonDropdown = React.forwardRef((_a, ref) => {
|
|
|
149
149
|
label: `.${analyticsSelectors['main-action-label']}`,
|
|
150
150
|
},
|
|
151
151
|
})), mainActionButton),
|
|
152
|
-
!showMainActionOnly && (React.createElement("div", Object.assign({ className: clsx(styles['trigger-item'], styles['dropdown-trigger'], isVisualRefresh && styles['visual-refresh'], styles[`variant-${variant}`], baseTriggerProps.
|
|
152
|
+
!showMainActionOnly && (React.createElement("div", Object.assign({ className: clsx(styles['trigger-item'], styles['dropdown-trigger'], isVisualRefresh && styles['visual-refresh'], styles[`variant-${variant}`], baseTriggerProps.loading && styles.loading) }, getAnalyticsMetadataAttribute(analyticsMetadata)),
|
|
153
153
|
React.createElement(InternalButton, Object.assign({ ref: triggerRef }, baseTriggerProps, { className: clsx(baseTriggerProps.className, {
|
|
154
154
|
[styles['main-action-trigger-full-width']]: canBeFullWidth,
|
|
155
155
|
}), __emitPerformanceMarks: false }), children)))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/button-dropdown/internal.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAuB,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AACvD,OAAO,WAAW,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAMhE,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AACpE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,sBAAsB,GAAG,KAAK,CAAC,UAAU,CAC7C,CACE,EA2B8B,EAC9B,GAAuC,EACvC,EAAE;;QA7BF,EACE,KAAK,EACL,OAAO,GAAG,QAAQ,EAClB,OAAO,GAAG,KAAK,EACf,WAAW,EACX,QAAQ,GAAG,KAAK,EAChB,cAAc,EACd,gBAAgB,GAAG,KAAK,EACxB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,SAAS,EACT,SAAS,EACT,QAAQ,EACR,0BAA0B,EAC1B,uBAAuB,OAEK,EADzB,KAAK,cA1BV,oaA2BC,CADS;IAIV,MAAM,kBAAkB,GAAG,SAAS,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;YACpB,YAAY,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3C;KACF;IACD,IAAI,UAAU,EAAE;QACd,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;KACjD;IAED,IAAI,aAAa,EAAE;QACjB,IAAI,UAAU,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,EAAE;YAC/D,QAAQ,CAAC,gBAAgB,EAAE,6EAA6E,CAAC,CAAC;SAC3G;KACF;IACD,MAAM,aAAa,GAAG,UAAU,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC;IACpF,MAAM,eAAe,GAAG,gBAAgB,EAAE,CAAC;IAE3C,MAAM,EACJ,MAAM,EACN,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,SAAS,EACT,OAAO,EACP,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,GAChB,GAAG,iBAAiB,CAAC;QACpB,KAAK;QACL,WAAW;QACX,YAAY;QACZ,wEAAwE;QACxE,aAAa,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA,EAAA;QACvE,gBAAgB;QAChB,mBAAmB,EAAE,gBAAgB;QACrC,kBAAkB;KACnB,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,aAAa,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAE7C,mBAAmB,CACjB,GAAG,EACH,GAAG,EAAE,CAAC,CAAC;QACL,KAAK,CAAC,GAAG,IAAI;;YACX,MAAA,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,0CAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACvE,CAAC;QACD,oBAAoB,CAAC,GAAG,IAAI;;YAC1B,MAAA,UAAU,CAAC,OAAO,0CAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACrC,CAAC;KACF,CAAC,EACF,CAAC,aAAa,EAAE,UAAU,EAAE,aAAa,CAAC,CAC3C,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE;YACzB,uFAAuF;YACvF,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC,kBAAkB,EAAE,CAAC,CAAC;SAC9D;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC;IAE1C,MAAM,cAAc,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC;IAEtF,MAAM,cAAc,GAAG,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;IAClH,MAAM,SAAS,GACb,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,aAAa;QAC7C,CAAC,CAAC;YACE,QAAQ,EAAE,UAAU;SACrB;QACH,CAAC,CAAC;YACE,QAAQ,EAAE,mBAAmB;YAC7B,SAAS,EAAE,OAAO;YAClB,WAAW,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,IAAI,MAAM,CAAC;SACnE,CAAC;IAER,MAAM,gBAAgB,iCACpB,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,gBAAgB,CAAC,EACxB,MAAM,CAAC,2BAA2B,CAAC,EACnC,kBAAkB,CAAC,eAAe,CAAC,CACpC,IACE,SAAS,KACZ,OAAO,EAAE,cAAc,EACvB,OAAO;QACP,WAAW;QACX,QAAQ;QACR,cAAc,EACd,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YACxB,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,YAAY,EAAE,CAAC;QACjB,CAAC,EACD,SAAS,EACT,YAAY,EAAE,WAAW,IAAI,MAAM,EACnC,UAAU,EAAE,MAAM,EAClB,sBAAsB,kBACpB,eAAe,EAAE,IAAI,IAClB,uBAAuB,IAE7B,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,gCAAgC,CAAC,CAAC;IAEhE,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACrC,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,OAAO,CACL,OAAO,KAAK,MAAM;YAClB,CAAC,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBACvB,IAAI,OAAO,IAAI,IAAI,EAAE;oBACnB,OAAO,IAAI,CAAC,KAAK,CAAC;iBACnB;YACH,CAAC,CAAC,CAAA,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,OAAO,GAAoB,IAAI,CAAC;IAEpC,MAAM,iBAAiB,GAGK,QAAQ;QAClC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;YACvC,MAAM,EAAE;gBACN,KAAK,EAAE,IAAI,kBAAkB,CAAC,eAAe,CAAC,EAAE;aACjD;SACF,CAAC;IAEN,IAAI,oBAAoB,EAAE;QACxB,OAAO,GAAG,CACR,2CAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,IAAM,6BAA6B,CAAC,iBAAiB,CAAC,GAC7F,oBAAoB,CAAC;YACpB,cAAc,EAAE,MAAM,CAAC,2BAA2B,CAAC;YACnD,YAAY,EAAE,WAAW,IAAI,MAAM;YACnC,OAAO,EAAE,YAAY;YACrB,UAAU;YACV,SAAS;YACT,QAAQ;YACR,cAAc;YACd,MAAM;SACP,CAAC,CACE,CACP,CAAC;KACH;SAAM,IAAI,aAAa,EAAE;QACxB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,qBAAqB,KAChF,UAAU,EAD2E,eAAe,UACpG,UAAU,EADN,0FAAkG,CAC5F,CAAC;QACb,MAAM,mBAAmB,GAAG,QAAQ;YAClC,CAAC,CAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,qBAAqB,EAAY;YACvG,CAAC,CAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAY,CAAC;QACvD,MAAM,mBAAmB,GAAG,qBAAqB;YAC/C,CAAC,CAAC,GAAG,MAAA,UAAU,CAAC,SAAS,mCAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,qBAAqB,EAAE;YAClF,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QACzB,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC;QACxB,MAAM,gBAAgB,GAAG,CACvB,oBAAC,cAAc,kBACb,GAAG,EAAE,aAAa,IACd,eAAe,EACf,mBAAmB,IACvB,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,gBAAgB,CAAC,EACxB,SAAS,IAAI,MAAM,CAAC,aAAa,CAAC,EAClC,eAAe,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAC3C,cAAc,IAAI,MAAM,CAAC,wBAAwB,CAAC,CACnD,EACD,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAC,MAAM,EACjB,sBAAsB,EAAE,0BAA0B,aAA1B,0BAA0B,uBAA1B,0BAA0B,CAAE,MAAM,EAC1D,sBAAsB,EAAE,0BAA0B,aAA1B,0BAA0B,uBAA1B,0BAA0B,CAAE,MAAM,KAEzD,IAAI,CACU,CAClB,CAAC;QACF,OAAO,GAAG,CACR,6BAAK,IAAI,EAAC,OAAO,gBAAa,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC;YACjF,2CACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,cAAc,CAAC,EACtB,MAAM,CAAC,eAAe,CAAC,EACvB,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAC5B,eAAe,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAC3C,eAAe,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAC1C;gBACD,mEAAmE;gBACnE,OAAO,EAAE,aAAa;gBACtB,2EAA2E;gBAC3E,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EACnC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,IAC7B,6BAA6B,CAAC;gBAChC,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE;oBACN,KAAK,EAAE,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,EAAE;iBACrD;aACF,CAAC,GAED,gBAAgB,CACb;YACL,CAAC,kBAAkB,IAAI,CACtB,2CACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,cAAc,CAAC,EACtB,MAAM,CAAC,kBAAkB,CAAC,EAC1B,eAAe,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAC3C,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAC5B,gBAAgB,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAC5C,gBAAgB,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAC3C,IACG,6BAA6B,CAAC,iBAAiB,CAAC;gBAEpD,oBAAC,cAAc,kBACb,GAAG,EAAE,UAAU,IACX,gBAAgB,IACpB,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;wBAC1C,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,EAAE,cAAc;qBAC3D,CAAC,EACF,sBAAsB,EAAE,KAAK,KAE5B,QAAQ,CACM,CACb,CACP,CACG,CACP,CAAC;KACH;SAAM;QACL,OAAO,GAAG,CACR,2CAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,IAAM,6BAA6B,CAAC,iBAAiB,CAAC;YAC9F,oBAAC,cAAc,kBACb,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,SAAS,IACT,gBAAgB,IACpB,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE;oBAC1C,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,cAAc;oBACtC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc,IAAI,CAAC,CAAC,OAAO;iBAC9C,CAAC,EACF,KAAK,EAAE,eAAe,EAAE,EACxB,SAAS,EAAE,SAAS,KAEnB,QAAQ,CACM,CACb,CACP,CAAC;KACH;IAED,MAAM,SAAS,GAAG,KAAK,IAAI,WAAW,CAAC;IACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAE9D,MAAM,sBAAsB,GAAG,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,aAAa,CAAC;IAE5G,MAAM,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAAE,CAAC;IAC3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE;YACX,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,GAAG,EAAE;gBACV,uDAAuD;gBACvD,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC/B,CAAC,CAAC;SACH;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAElC,OAAO,CACL,6CACM,SAAS,IACb,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,gBAAgB,EAC7B,WAAW,EAAE,gBAAgB,EAC7B,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,iBAAiB,CAAC,EACzB,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EAC5B,cAAc,IAAI,MAAM,CAAC,YAAY,CAAC,EACtC,SAAS,CAAC,SAAS,CACpB,eACU,gBAAgB,IAAI,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC9D,GAAG,EAAE,iBAAiB;QAEtB,oBAAC,QAAQ,IACP,IAAI,EAAE,WAAW,IAAI,MAAM,EAC3B,YAAY,EAAE,KAAK,EACnB,oBAAoB,EAAE,OAAO,KAAK,YAAY,EAC9C,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE,EACvC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU;YAErB,SAAS,IAAI,CACZ,6BAAK,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ;gBACxC,KAAK,IAAI,CACR,6BAAK,SAAS,EAAE,MAAM,CAAC,KAAK;oBAC1B,oBAAC,WAAW,IACV,QAAQ,EAAC,WAAW,EACpB,UAAU,EAAC,MAAM,EACjB,KAAK,EAAC,SAAS,EACf,WAAW,EAAC,IAAI,EAChB,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,IAEzC,KAAK,CACM,CACV,CACP;gBACA,WAAW,IAAI,CACd,oBAAC,WAAW,IAAC,QAAQ,EAAC,QAAQ;oBAC5B,8BAAM,SAAS,EAAE,MAAM,CAAC,WAAW,IAAG,WAAW,CAAQ,CAC7C,CACf,CACG,CACP;YACD,oBAAC,WAAW,IACV,IAAI,EAAE,WAAW,IAAI,MAAM,EAC3B,QAAQ,EAAC,QAAQ,EACjB,IAAI,EAAC,MAAM,EACX,mBAAmB,EAAE,IAAI,EACzB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACrF,UAAU,EAAC,UAAU;gBAErB,oBAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,gBAAgB,EACrC,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,IAAI,EACpB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,OAAO,EAChB,4BAA4B,EAAE,4BAA4B,EAC1D,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GAClB,CACU,CACL,CACP,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,sBAAsB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useImperativeHandle, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useUniqueId, warnOnce } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalBox from '../box/internal';\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton, InternalButtonProps } from '../button/internal';\nimport { useFunnel } from '../internal/analytics/hooks/use-funnel.js';\nimport { getBaseProps } from '../internal/base-component';\nimport Dropdown from '../internal/components/dropdown';\nimport OptionsList from '../internal/components/options-list';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode/index.js';\nimport { isDevelopment } from '../internal/is-development';\nimport { spinWhenOpen } from '../internal/styles/motion/utils';\nimport { checkSafeUrl } from '../internal/utils/check-safe-url';\nimport {\n GeneratedAnalyticsMetadataButtonDropdownCollapse,\n GeneratedAnalyticsMetadataButtonDropdownExpand,\n} from './analytics-metadata/interfaces.js';\nimport { ButtonDropdownProps, InternalButtonDropdownProps } from './interfaces';\nimport ItemsList from './items-list';\nimport { useButtonDropdown } from './utils/use-button-dropdown';\nimport { isLinkItem } from './utils/utils.js';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nconst InternalButtonDropdown = React.forwardRef(\n (\n {\n items,\n variant = 'normal',\n loading = false,\n loadingText,\n disabled = false,\n disabledReason,\n expandableGroups = false,\n children,\n onItemClick,\n onItemFollow,\n customTriggerBuilder,\n expandToViewport,\n ariaLabel,\n title,\n description,\n preferCenter,\n mainAction,\n showMainActionOnly,\n __internalRootRef,\n analyticsMetadataTransformer,\n linkStyle,\n fullWidth,\n position,\n nativeMainActionAttributes,\n nativeTriggerAttributes,\n ...props\n }: InternalButtonDropdownProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const isInRestrictedView = useMobile();\n const dropdownId = useUniqueId('dropdown');\n for (const item of items) {\n if (isLinkItem(item)) {\n checkSafeUrl('ButtonDropdown', item.href);\n }\n }\n if (mainAction) {\n checkSafeUrl('ButtonDropdown', mainAction.href);\n }\n\n if (isDevelopment) {\n if (mainAction && variant !== 'primary' && variant !== 'normal') {\n warnOnce('ButtonDropdown', 'Main action is only supported for \"primary\" and \"normal\" component variant.');\n }\n }\n const hasMainAction = mainAction && (variant === 'primary' || variant === 'normal');\n const isVisualRefresh = useVisualRefresh();\n\n const {\n isOpen,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n highlightItem,\n onKeyDown,\n onKeyUp,\n onItemActivate,\n onGroupToggle,\n toggleDropdown,\n closeDropdown,\n setIsUsingMouse,\n } = useButtonDropdown({\n items,\n onItemClick,\n onItemFollow,\n // Scroll is unnecessary when moving focus back to the dropdown trigger.\n onReturnFocus: () => triggerRef.current?.focus({ preventScroll: true }),\n expandToViewport,\n hasExpandableGroups: expandableGroups,\n isInRestrictedView,\n });\n\n const handleMouseEvent = () => {\n setIsUsingMouse(true);\n };\n\n const baseProps = getBaseProps(props);\n\n const mainActionRef = useRef<HTMLElement>(null);\n const triggerRef = useRef<HTMLElement>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus(...args) {\n (hasMainAction ? mainActionRef : triggerRef).current?.focus(...args);\n },\n focusDropdownTrigger(...args) {\n triggerRef.current?.focus(...args);\n },\n }),\n [mainActionRef, triggerRef, hasMainAction]\n );\n\n const clickHandler = () => {\n if (!loading && !disabled) {\n // Prevent moving highlight on mobiles to avoid disabled state reason popup if defined.\n toggleDropdown({ moveHighlightOnOpen: !isInRestrictedView });\n }\n };\n\n const canBeOpened = !loading && !disabled;\n\n const canBeFullWidth = !!fullWidth && (variant === 'primary' || variant === 'normal');\n\n const triggerVariant = variant === 'navigation' ? undefined : variant === 'inline-icon' ? 'inline-icon' : variant;\n const iconProps: Partial<ButtonProps & { __iconClass?: string }> =\n variant === 'icon' || variant === 'inline-icon'\n ? {\n iconName: 'ellipsis',\n }\n : {\n iconName: 'caret-down-filled',\n iconAlign: 'right',\n __iconClass: spinWhenOpen(styles, 'rotate', canBeOpened && isOpen),\n };\n\n const baseTriggerProps: InternalButtonProps = {\n className: clsx(\n styles['trigger-button'],\n styles['test-utils-button-trigger'],\n analyticsSelectors['trigger-label']\n ),\n ...iconProps,\n variant: triggerVariant,\n loading,\n loadingText,\n disabled,\n disabledReason,\n onClick: (event: Event) => {\n event.preventDefault();\n clickHandler();\n },\n ariaLabel,\n ariaExpanded: canBeOpened && isOpen,\n formAction: 'none',\n nativeButtonAttributes: {\n 'aria-haspopup': true,\n ...nativeTriggerAttributes,\n },\n };\n\n const triggerId = useUniqueId('awsui-button-dropdown__trigger');\n\n const triggerHasBadge = () => {\n const flatItems = items.flatMap(item => {\n if ('items' in item) {\n return item.items;\n }\n return item;\n });\n\n return (\n variant === 'icon' &&\n !!flatItems?.find(item => {\n if ('badge' in item) {\n return item.badge;\n }\n })\n );\n };\n\n let trigger: React.ReactNode = null;\n\n const analyticsMetadata:\n | GeneratedAnalyticsMetadataButtonDropdownExpand\n | GeneratedAnalyticsMetadataButtonDropdownCollapse\n | Record<string, never> = disabled\n ? {}\n : {\n action: !isOpen ? 'expand' : 'collapse',\n detail: {\n label: `.${analyticsSelectors['trigger-label']}`,\n },\n };\n\n if (customTriggerBuilder) {\n trigger = (\n <div className={styles['dropdown-trigger']} {...getAnalyticsMetadataAttribute(analyticsMetadata)}>\n {customTriggerBuilder({\n testUtilsClass: styles['test-utils-button-trigger'],\n ariaExpanded: canBeOpened && isOpen,\n onClick: clickHandler,\n triggerRef,\n ariaLabel,\n disabled,\n disabledReason,\n isOpen,\n })}\n </div>\n );\n } else if (hasMainAction) {\n const { text, iconName, iconAlt, iconSvg, iconUrl, external, externalIconAriaLabel, ...mainActionProps } =\n mainAction;\n const mainActionIconProps = external\n ? ({ iconName: 'external', iconAlign: 'right', target: '_blank', rel: 'noopener noreferrer' } as const)\n : ({ iconName, iconAlt, iconSvg, iconUrl } as const);\n const mainActionAriaLabel = externalIconAriaLabel\n ? `${mainAction.ariaLabel ?? mainAction.text} ${mainAction.externalIconAriaLabel}`\n : mainAction.ariaLabel;\n const hasNoText = !text;\n const mainActionButton = (\n <InternalButton\n ref={mainActionRef}\n {...mainActionProps}\n {...mainActionIconProps}\n fullWidth={canBeFullWidth}\n className={clsx(\n styles['trigger-button'],\n hasNoText && styles['has-no-text'],\n isVisualRefresh && styles['visual-refresh'],\n canBeFullWidth && styles['main-action-full-width']\n )}\n variant={variant}\n ariaLabel={mainActionAriaLabel}\n formAction=\"none\"\n nativeAnchorAttributes={nativeMainActionAttributes?.anchor}\n nativeButtonAttributes={nativeMainActionAttributes?.button}\n >\n {text}\n </InternalButton>\n );\n trigger = (\n <div role=\"group\" aria-label={ariaLabel} className={styles['split-trigger-wrapper']}>\n <div\n className={clsx(\n styles['trigger-item'],\n styles['split-trigger'],\n styles[`variant-${variant}`],\n mainActionProps.disabled && styles.disabled,\n mainActionProps.loading && styles.loading\n )}\n // Close dropdown upon main action click unless event is cancelled.\n onClick={closeDropdown}\n // Prevent keyboard events from propagation to the button dropdown handler.\n onKeyDown={e => e.stopPropagation()}\n onKeyUp={e => e.stopPropagation()}\n {...getAnalyticsMetadataAttribute({\n action: 'click',\n detail: {\n label: `.${analyticsSelectors['main-action-label']}`,\n },\n })}\n >\n {mainActionButton}\n </div>\n {!showMainActionOnly && (\n <div\n className={clsx(\n styles['trigger-item'],\n styles['dropdown-trigger'],\n isVisualRefresh && styles['visual-refresh'],\n styles[`variant-${variant}`],\n baseTriggerProps.disabled && styles.disabled,\n baseTriggerProps.loading && styles.loading\n )}\n {...getAnalyticsMetadataAttribute(analyticsMetadata)}\n >\n <InternalButton\n ref={triggerRef}\n {...baseTriggerProps}\n className={clsx(baseTriggerProps.className, {\n [styles['main-action-trigger-full-width']]: canBeFullWidth,\n })}\n __emitPerformanceMarks={false}\n >\n {children}\n </InternalButton>\n </div>\n )}\n </div>\n );\n } else {\n trigger = (\n <div className={styles['dropdown-trigger']} {...getAnalyticsMetadataAttribute(analyticsMetadata)}>\n <InternalButton\n ref={triggerRef}\n id={triggerId}\n {...baseTriggerProps}\n className={clsx(baseTriggerProps.className, {\n [styles['full-width']]: canBeFullWidth,\n [styles.loading]: canBeFullWidth && !!loading,\n })}\n badge={triggerHasBadge()}\n fullWidth={fullWidth}\n >\n {children}\n </InternalButton>\n </div>\n );\n }\n\n const hasHeader = title || description;\n const headerId = useUniqueId('awsui-button-dropdown__header');\n\n const shouldLabelWithTrigger = !ariaLabel && !mainAction && variant !== 'icon' && variant !== 'inline-icon';\n\n const { loadingButtonCount } = useFunnel();\n useEffect(() => {\n if (loading) {\n loadingButtonCount.current++;\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n loadingButtonCount.current--;\n };\n }\n }, [loading, loadingButtonCount]);\n\n return (\n <div\n {...baseProps}\n onKeyDown={onKeyDown}\n onKeyUp={onKeyUp}\n onMouseDown={handleMouseEvent}\n onMouseMove={handleMouseEvent}\n className={clsx(\n styles['button-dropdown'],\n styles[`variant-${variant}`],\n canBeFullWidth && styles['full-width'],\n baseProps.className\n )}\n aria-owns={expandToViewport && isOpen ? dropdownId : undefined}\n ref={__internalRootRef}\n >\n <Dropdown\n open={canBeOpened && isOpen}\n stretchWidth={false}\n stretchTriggerHeight={variant === 'navigation'}\n expandToViewport={expandToViewport}\n preferCenter={preferCenter}\n onDropdownClose={() => toggleDropdown()}\n trigger={trigger}\n dropdownId={dropdownId}\n >\n {hasHeader && (\n <div className={styles.header} id={headerId}>\n {title && (\n <div className={styles.title}>\n <InternalBox\n fontSize=\"heading-s\"\n fontWeight=\"bold\"\n color=\"inherit\"\n tagOverride=\"h2\"\n margin={{ vertical: 'n', horizontal: 'n' }}\n >\n {title}\n </InternalBox>\n </div>\n )}\n {description && (\n <InternalBox fontSize=\"body-s\">\n <span className={styles.description}>{description}</span>\n </InternalBox>\n )}\n </div>\n )}\n <OptionsList\n open={canBeOpened && isOpen}\n position=\"static\"\n role=\"menu\"\n decreaseBlockMargin={true}\n ariaLabel={ariaLabel}\n ariaLabelledby={hasHeader ? headerId : shouldLabelWithTrigger ? triggerId : undefined}\n statusType=\"finished\"\n >\n <ItemsList\n items={items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n hasExpandableGroups={expandableGroups}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={true}\n highlightItem={highlightItem}\n expandToViewport={expandToViewport}\n variant={variant}\n analyticsMetadataTransformer={analyticsMetadataTransformer}\n linkStyle={linkStyle}\n position={position}\n />\n </OptionsList>\n </Dropdown>\n </div>\n );\n }\n);\n\nexport default InternalButtonDropdown;\n"]}
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/button-dropdown/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useImperativeHandle, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useUniqueId, warnOnce } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalBox from '../box/internal';\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton, InternalButtonProps } from '../button/internal';\nimport { useFunnel } from '../internal/analytics/hooks/use-funnel.js';\nimport { getBaseProps } from '../internal/base-component';\nimport Dropdown from '../internal/components/dropdown';\nimport OptionsList from '../internal/components/options-list';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode/index.js';\nimport { isDevelopment } from '../internal/is-development';\nimport { spinWhenOpen } from '../internal/styles/motion/utils';\nimport { checkSafeUrl } from '../internal/utils/check-safe-url';\nimport {\n GeneratedAnalyticsMetadataButtonDropdownCollapse,\n GeneratedAnalyticsMetadataButtonDropdownExpand,\n} from './analytics-metadata/interfaces.js';\nimport { ButtonDropdownProps, InternalButtonDropdownProps } from './interfaces';\nimport ItemsList from './items-list';\nimport { useButtonDropdown } from './utils/use-button-dropdown';\nimport { isLinkItem } from './utils/utils.js';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nconst InternalButtonDropdown = React.forwardRef(\n (\n {\n items,\n variant = 'normal',\n loading = false,\n loadingText,\n disabled = false,\n disabledReason,\n expandableGroups = false,\n children,\n onItemClick,\n onItemFollow,\n customTriggerBuilder,\n expandToViewport,\n ariaLabel,\n title,\n description,\n preferCenter,\n mainAction,\n showMainActionOnly,\n __internalRootRef,\n analyticsMetadataTransformer,\n linkStyle,\n fullWidth,\n position,\n nativeMainActionAttributes,\n nativeTriggerAttributes,\n ...props\n }: InternalButtonDropdownProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const isInRestrictedView = useMobile();\n const dropdownId = useUniqueId('dropdown');\n for (const item of items) {\n if (isLinkItem(item)) {\n checkSafeUrl('ButtonDropdown', item.href);\n }\n }\n if (mainAction) {\n checkSafeUrl('ButtonDropdown', mainAction.href);\n }\n\n if (isDevelopment) {\n if (mainAction && variant !== 'primary' && variant !== 'normal') {\n warnOnce('ButtonDropdown', 'Main action is only supported for \"primary\" and \"normal\" component variant.');\n }\n }\n const hasMainAction = mainAction && (variant === 'primary' || variant === 'normal');\n const isVisualRefresh = useVisualRefresh();\n\n const {\n isOpen,\n targetItem,\n isHighlighted,\n isKeyboardHighlight,\n isExpanded,\n highlightItem,\n onKeyDown,\n onKeyUp,\n onItemActivate,\n onGroupToggle,\n toggleDropdown,\n closeDropdown,\n setIsUsingMouse,\n } = useButtonDropdown({\n items,\n onItemClick,\n onItemFollow,\n // Scroll is unnecessary when moving focus back to the dropdown trigger.\n onReturnFocus: () => triggerRef.current?.focus({ preventScroll: true }),\n expandToViewport,\n hasExpandableGroups: expandableGroups,\n isInRestrictedView,\n });\n\n const handleMouseEvent = () => {\n setIsUsingMouse(true);\n };\n\n const baseProps = getBaseProps(props);\n\n const mainActionRef = useRef<HTMLElement>(null);\n const triggerRef = useRef<HTMLElement>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus(...args) {\n (hasMainAction ? mainActionRef : triggerRef).current?.focus(...args);\n },\n focusDropdownTrigger(...args) {\n triggerRef.current?.focus(...args);\n },\n }),\n [mainActionRef, triggerRef, hasMainAction]\n );\n\n const clickHandler = () => {\n if (!loading && !disabled) {\n // Prevent moving highlight on mobiles to avoid disabled state reason popup if defined.\n toggleDropdown({ moveHighlightOnOpen: !isInRestrictedView });\n }\n };\n\n const canBeOpened = !loading && !disabled;\n\n const canBeFullWidth = !!fullWidth && (variant === 'primary' || variant === 'normal');\n\n const triggerVariant = variant === 'navigation' ? undefined : variant === 'inline-icon' ? 'inline-icon' : variant;\n const iconProps: Partial<ButtonProps & { __iconClass?: string }> =\n variant === 'icon' || variant === 'inline-icon'\n ? {\n iconName: 'ellipsis',\n }\n : {\n iconName: 'caret-down-filled',\n iconAlign: 'right',\n __iconClass: spinWhenOpen(styles, 'rotate', canBeOpened && isOpen),\n };\n\n const baseTriggerProps: InternalButtonProps = {\n className: clsx(\n styles['trigger-button'],\n styles['test-utils-button-trigger'],\n analyticsSelectors['trigger-label']\n ),\n ...iconProps,\n variant: triggerVariant,\n loading,\n loadingText,\n disabled,\n disabledReason,\n onClick: (event: Event) => {\n event.preventDefault();\n clickHandler();\n },\n ariaLabel,\n ariaExpanded: canBeOpened && isOpen,\n formAction: 'none',\n nativeButtonAttributes: {\n 'aria-haspopup': true,\n ...nativeTriggerAttributes,\n },\n };\n\n const triggerId = useUniqueId('awsui-button-dropdown__trigger');\n\n const triggerHasBadge = () => {\n const flatItems = items.flatMap(item => {\n if ('items' in item) {\n return item.items;\n }\n return item;\n });\n\n return (\n variant === 'icon' &&\n !!flatItems?.find(item => {\n if ('badge' in item) {\n return item.badge;\n }\n })\n );\n };\n\n let trigger: React.ReactNode = null;\n\n const analyticsMetadata:\n | GeneratedAnalyticsMetadataButtonDropdownExpand\n | GeneratedAnalyticsMetadataButtonDropdownCollapse\n | Record<string, never> = disabled\n ? {}\n : {\n action: !isOpen ? 'expand' : 'collapse',\n detail: {\n label: `.${analyticsSelectors['trigger-label']}`,\n },\n };\n\n if (customTriggerBuilder) {\n trigger = (\n <div className={styles['dropdown-trigger']} {...getAnalyticsMetadataAttribute(analyticsMetadata)}>\n {customTriggerBuilder({\n testUtilsClass: styles['test-utils-button-trigger'],\n ariaExpanded: canBeOpened && isOpen,\n onClick: clickHandler,\n triggerRef,\n ariaLabel,\n disabled,\n disabledReason,\n isOpen,\n })}\n </div>\n );\n } else if (hasMainAction) {\n const { text, iconName, iconAlt, iconSvg, iconUrl, external, externalIconAriaLabel, ...mainActionProps } =\n mainAction;\n const mainActionIconProps = external\n ? ({ iconName: 'external', iconAlign: 'right', target: '_blank', rel: 'noopener noreferrer' } as const)\n : ({ iconName, iconAlt, iconSvg, iconUrl } as const);\n const mainActionAriaLabel = externalIconAriaLabel\n ? `${mainAction.ariaLabel ?? mainAction.text} ${mainAction.externalIconAriaLabel}`\n : mainAction.ariaLabel;\n const hasNoText = !text;\n const mainActionButton = (\n <InternalButton\n ref={mainActionRef}\n {...mainActionProps}\n {...mainActionIconProps}\n fullWidth={canBeFullWidth}\n className={clsx(\n styles['trigger-button'],\n hasNoText && styles['has-no-text'],\n isVisualRefresh && styles['visual-refresh'],\n canBeFullWidth && styles['main-action-full-width']\n )}\n variant={variant}\n ariaLabel={mainActionAriaLabel}\n formAction=\"none\"\n nativeAnchorAttributes={nativeMainActionAttributes?.anchor}\n nativeButtonAttributes={nativeMainActionAttributes?.button}\n >\n {text}\n </InternalButton>\n );\n trigger = (\n <div role=\"group\" aria-label={ariaLabel} className={styles['split-trigger-wrapper']}>\n <div\n className={clsx(\n styles['trigger-item'],\n styles['split-trigger'],\n styles[`variant-${variant}`],\n mainActionProps.loading && styles.loading\n )}\n // Close dropdown upon main action click unless event is cancelled.\n onClick={closeDropdown}\n // Prevent keyboard events from propagation to the button dropdown handler.\n onKeyDown={e => e.stopPropagation()}\n onKeyUp={e => e.stopPropagation()}\n {...getAnalyticsMetadataAttribute({\n action: 'click',\n detail: {\n label: `.${analyticsSelectors['main-action-label']}`,\n },\n })}\n >\n {mainActionButton}\n </div>\n {!showMainActionOnly && (\n <div\n className={clsx(\n styles['trigger-item'],\n styles['dropdown-trigger'],\n isVisualRefresh && styles['visual-refresh'],\n styles[`variant-${variant}`],\n baseTriggerProps.loading && styles.loading\n )}\n {...getAnalyticsMetadataAttribute(analyticsMetadata)}\n >\n <InternalButton\n ref={triggerRef}\n {...baseTriggerProps}\n className={clsx(baseTriggerProps.className, {\n [styles['main-action-trigger-full-width']]: canBeFullWidth,\n })}\n __emitPerformanceMarks={false}\n >\n {children}\n </InternalButton>\n </div>\n )}\n </div>\n );\n } else {\n trigger = (\n <div className={styles['dropdown-trigger']} {...getAnalyticsMetadataAttribute(analyticsMetadata)}>\n <InternalButton\n ref={triggerRef}\n id={triggerId}\n {...baseTriggerProps}\n className={clsx(baseTriggerProps.className, {\n [styles['full-width']]: canBeFullWidth,\n [styles.loading]: canBeFullWidth && !!loading,\n })}\n badge={triggerHasBadge()}\n fullWidth={fullWidth}\n >\n {children}\n </InternalButton>\n </div>\n );\n }\n\n const hasHeader = title || description;\n const headerId = useUniqueId('awsui-button-dropdown__header');\n\n const shouldLabelWithTrigger = !ariaLabel && !mainAction && variant !== 'icon' && variant !== 'inline-icon';\n\n const { loadingButtonCount } = useFunnel();\n useEffect(() => {\n if (loading) {\n loadingButtonCount.current++;\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n loadingButtonCount.current--;\n };\n }\n }, [loading, loadingButtonCount]);\n\n return (\n <div\n {...baseProps}\n onKeyDown={onKeyDown}\n onKeyUp={onKeyUp}\n onMouseDown={handleMouseEvent}\n onMouseMove={handleMouseEvent}\n className={clsx(\n styles['button-dropdown'],\n styles[`variant-${variant}`],\n canBeFullWidth && styles['full-width'],\n baseProps.className\n )}\n aria-owns={expandToViewport && isOpen ? dropdownId : undefined}\n ref={__internalRootRef}\n >\n <Dropdown\n open={canBeOpened && isOpen}\n stretchWidth={false}\n stretchTriggerHeight={variant === 'navigation'}\n expandToViewport={expandToViewport}\n preferCenter={preferCenter}\n onDropdownClose={() => toggleDropdown()}\n trigger={trigger}\n dropdownId={dropdownId}\n >\n {hasHeader && (\n <div className={styles.header} id={headerId}>\n {title && (\n <div className={styles.title}>\n <InternalBox\n fontSize=\"heading-s\"\n fontWeight=\"bold\"\n color=\"inherit\"\n tagOverride=\"h2\"\n margin={{ vertical: 'n', horizontal: 'n' }}\n >\n {title}\n </InternalBox>\n </div>\n )}\n {description && (\n <InternalBox fontSize=\"body-s\">\n <span className={styles.description}>{description}</span>\n </InternalBox>\n )}\n </div>\n )}\n <OptionsList\n open={canBeOpened && isOpen}\n position=\"static\"\n role=\"menu\"\n decreaseBlockMargin={true}\n ariaLabel={ariaLabel}\n ariaLabelledby={hasHeader ? headerId : shouldLabelWithTrigger ? triggerId : undefined}\n statusType=\"finished\"\n >\n <ItemsList\n items={items}\n onItemActivate={onItemActivate}\n onGroupToggle={onGroupToggle}\n hasExpandableGroups={expandableGroups}\n targetItem={targetItem}\n isHighlighted={isHighlighted}\n isKeyboardHighlight={isKeyboardHighlight}\n isExpanded={isExpanded}\n lastInDropdown={true}\n highlightItem={highlightItem}\n expandToViewport={expandToViewport}\n variant={variant}\n analyticsMetadataTransformer={analyticsMetadataTransformer}\n linkStyle={linkStyle}\n position={position}\n />\n </OptionsList>\n </Dropdown>\n </div>\n );\n }\n);\n\nexport default InternalButtonDropdown;\n"]}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"button-trigger": "awsui_button-
|
|
5
|
-
"arrow": "
|
|
6
|
-
"in-filtering-token-root": "awsui_in-filtering-token-
|
|
7
|
-
"in-filtering-token-nested": "awsui_in-filtering-token-
|
|
8
|
-
"has-caret": "awsui_has-
|
|
9
|
-
"placeholder": "
|
|
10
|
-
"pressed": "
|
|
11
|
-
"disabled": "
|
|
12
|
-
"in-filtering-token": "awsui_in-filtering-
|
|
13
|
-
"readonly": "
|
|
14
|
-
"invalid": "
|
|
15
|
-
"warning": "
|
|
16
|
-
"inline-tokens": "awsui_inline-
|
|
4
|
+
"button-trigger": "awsui_button-trigger_18eso_1g60k_161",
|
|
5
|
+
"arrow": "awsui_arrow_18eso_1g60k_161",
|
|
6
|
+
"in-filtering-token-root": "awsui_in-filtering-token-root_18eso_1g60k_221",
|
|
7
|
+
"in-filtering-token-nested": "awsui_in-filtering-token-nested_18eso_1g60k_221",
|
|
8
|
+
"has-caret": "awsui_has-caret_18eso_1g60k_257",
|
|
9
|
+
"placeholder": "awsui_placeholder_18eso_1g60k_260",
|
|
10
|
+
"pressed": "awsui_pressed_18eso_1g60k_273",
|
|
11
|
+
"disabled": "awsui_disabled_18eso_1g60k_276",
|
|
12
|
+
"in-filtering-token": "awsui_in-filtering-token_18eso_1g60k_221",
|
|
13
|
+
"readonly": "awsui_readonly_18eso_1g60k_297",
|
|
14
|
+
"invalid": "awsui_invalid_18eso_1g60k_319",
|
|
15
|
+
"warning": "awsui_warning_18eso_1g60k_328",
|
|
16
|
+
"inline-tokens": "awsui_inline-tokens_18eso_1g60k_337"
|
|
17
17
|
};
|
|
18
18
|
|
|
@@ -158,21 +158,21 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
158
158
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
159
159
|
SPDX-License-Identifier: Apache-2.0
|
|
160
160
|
*/
|
|
161
|
-
.awsui_button-
|
|
161
|
+
.awsui_button-trigger_18eso_1g60k_161 > .awsui_arrow_18eso_1g60k_161:not(#\9) {
|
|
162
162
|
transition: transform var(--motion-duration-rotate-180-cxi9g7, 135ms) var(--motion-easing-rotate-180-7a58rc, cubic-bezier(0.165, 0.84, 0.44, 1));
|
|
163
163
|
}
|
|
164
164
|
@media (prefers-reduced-motion: reduce) {
|
|
165
|
-
.awsui_button-
|
|
165
|
+
.awsui_button-trigger_18eso_1g60k_161 > .awsui_arrow_18eso_1g60k_161:not(#\9) {
|
|
166
166
|
animation: none;
|
|
167
167
|
transition: none;
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
|
-
.awsui-motion-disabled .awsui_button-
|
|
170
|
+
.awsui-motion-disabled .awsui_button-trigger_18eso_1g60k_161 > .awsui_arrow_18eso_1g60k_161:not(#\9), .awsui-mode-entering .awsui_button-trigger_18eso_1g60k_161 > .awsui_arrow_18eso_1g60k_161:not(#\9) {
|
|
171
171
|
animation: none;
|
|
172
172
|
transition: none;
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
-
.awsui_button-
|
|
175
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9) {
|
|
176
176
|
border-collapse: separate;
|
|
177
177
|
border-spacing: 0;
|
|
178
178
|
box-sizing: border-box;
|
|
@@ -218,7 +218,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
218
218
|
border-inline: var(--border-width-field-2xc78x, 1px) solid var(--color-border-input-default-317xk5, #8c8c94);
|
|
219
219
|
min-block-size: var(--size-vertical-input-p1d7xx, 32px);
|
|
220
220
|
}
|
|
221
|
-
.awsui_button-
|
|
221
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-root_18eso_1g60k_221:not(#\9), .awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-nested_18eso_1g60k_221:not(#\9) {
|
|
222
222
|
padding-block: 0px;
|
|
223
223
|
padding-inline: var(--space-field-horizontal-0aq2ch, 12px);
|
|
224
224
|
border-block-width: var(--border-width-token-2ukdpu, 2px);
|
|
@@ -229,14 +229,14 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
229
229
|
block-size: 100%;
|
|
230
230
|
min-block-size: unset;
|
|
231
231
|
}
|
|
232
|
-
body[data-awsui-focus-visible=true] .awsui_button-
|
|
232
|
+
body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-root_18eso_1g60k_221:not(#\9):focus, body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-nested_18eso_1g60k_221:not(#\9):focus {
|
|
233
233
|
position: relative;
|
|
234
234
|
}
|
|
235
|
-
body[data-awsui-focus-visible=true] .awsui_button-
|
|
235
|
+
body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-root_18eso_1g60k_221:not(#\9):focus, body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-nested_18eso_1g60k_221:not(#\9):focus {
|
|
236
236
|
outline: 2px dotted transparent;
|
|
237
237
|
outline-offset: calc(var(--space-filtering-token-operation-select-focus-outline-gutter-jacx1t, -5px) - 1px);
|
|
238
238
|
}
|
|
239
|
-
body[data-awsui-focus-visible=true] .awsui_button-
|
|
239
|
+
body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-root_18eso_1g60k_221:not(#\9):focus::before, body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-nested_18eso_1g60k_221:not(#\9):focus::before {
|
|
240
240
|
content: " ";
|
|
241
241
|
display: block;
|
|
242
242
|
position: absolute;
|
|
@@ -250,55 +250,60 @@ body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1qoem_161.awsui_
|
|
|
250
250
|
border-end-end-radius: var(--border-radius-control-default-focus-ring-1uabki, 4px);
|
|
251
251
|
box-shadow: 0 0 0 2px var(--color-border-item-focused-uk47pl, #006ce0);
|
|
252
252
|
}
|
|
253
|
-
.awsui_button-
|
|
253
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token-nested_18eso_1g60k_221:not(#\9) {
|
|
254
254
|
border-start-start-radius: calc(var(--border-radius-input-7q0str, 8px) / 2);
|
|
255
255
|
border-end-start-radius: calc(var(--border-radius-input-7q0str, 8px) / 2);
|
|
256
256
|
}
|
|
257
|
-
.awsui_button-
|
|
257
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_has-caret_18eso_1g60k_257:not(#\9) {
|
|
258
258
|
padding-inline-end: var(--space-field-icon-offset-ikwzwx, 36px);
|
|
259
259
|
}
|
|
260
|
-
.awsui_button-
|
|
260
|
+
.awsui_button-trigger_18eso_1g60k_161 > .awsui_placeholder_18eso_1g60k_260:not(#\9) {
|
|
261
261
|
color: var(--color-text-input-placeholder-dclg8u, #656871);
|
|
262
262
|
font-style: italic;
|
|
263
263
|
}
|
|
264
|
-
.awsui_button-
|
|
264
|
+
.awsui_button-trigger_18eso_1g60k_161 > .awsui_arrow_18eso_1g60k_161:not(#\9) {
|
|
265
265
|
position: absolute;
|
|
266
266
|
inset-inline-end: var(--space-field-horizontal-0aq2ch, 12px);
|
|
267
267
|
inset-block-start: calc(50% - var(--line-height-body-m-2mh3ke, 20px) / 2);
|
|
268
268
|
color: var(--color-text-button-inline-icon-default-f8xgpk, #006ce0);
|
|
269
269
|
}
|
|
270
|
-
.awsui_button-
|
|
270
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9):hover > .awsui_arrow_18eso_1g60k_161 {
|
|
271
271
|
color: var(--color-text-button-inline-icon-hover-c08r6g, #002b66);
|
|
272
272
|
}
|
|
273
|
-
.awsui_button-
|
|
273
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_pressed_18eso_1g60k_273 > .awsui_arrow_18eso_1g60k_161:not(#\9) {
|
|
274
274
|
transform: rotate(-180deg);
|
|
275
275
|
}
|
|
276
|
-
.awsui_button-
|
|
276
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_disabled_18eso_1g60k_276:not(#\9) {
|
|
277
277
|
background-color: var(--color-background-input-disabled-dihaja, #ebebf0);
|
|
278
|
-
border-block: var(--border-width-
|
|
279
|
-
border-inline: var(--border-width-
|
|
278
|
+
border-block: var(--border-width-field-2xc78x, 1px) solid var(--color-border-input-disabled-zgnzvk, #ebebf0);
|
|
279
|
+
border-inline: var(--border-width-field-2xc78x, 1px) solid var(--color-border-input-disabled-zgnzvk, #ebebf0);
|
|
280
280
|
color: var(--color-text-input-disabled-wh1f3y, #b4b4bb);
|
|
281
281
|
cursor: auto;
|
|
282
282
|
}
|
|
283
|
-
.awsui_button-
|
|
283
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_disabled_18eso_1g60k_276 > .awsui_arrow_18eso_1g60k_161:not(#\9) {
|
|
284
284
|
color: var(--color-text-button-inline-icon-disabled-82hho0, #b4b4bb);
|
|
285
285
|
}
|
|
286
|
-
.awsui_button-
|
|
286
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_disabled_18eso_1g60k_276.awsui_in-filtering-token_18eso_1g60k_221:not(#\9) {
|
|
287
|
+
background-color: var(--color-background-input-disabled-dihaja, #ebebf0);
|
|
288
|
+
border-block: var(--border-width-token-2ukdpu, 2px) solid var(--color-border-input-disabled-zgnzvk, #ebebf0);
|
|
289
|
+
border-inline: var(--border-width-token-2ukdpu, 2px) solid var(--color-border-input-disabled-zgnzvk, #ebebf0);
|
|
290
|
+
color: var(--color-text-input-disabled-wh1f3y, #b4b4bb);
|
|
291
|
+
cursor: auto;
|
|
287
292
|
border-color: var(--color-border-control-disabled-uj7t08, #dedee3);
|
|
288
293
|
}
|
|
289
|
-
.awsui_button-
|
|
294
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_disabled_18eso_1g60k_276 > .awsui_placeholder_18eso_1g60k_260:not(#\9) {
|
|
290
295
|
color: var(--color-text-input-placeholder-disabled-wg87og, #b4b4bb);
|
|
291
296
|
}
|
|
292
|
-
.awsui_button-
|
|
297
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_readonly_18eso_1g60k_297:not(#\9):not(.awsui_button-trigger_18eso_1g60k_161.awsui_disabled_18eso_1g60k_276):not(.awsui_button-trigger_18eso_1g60k_161.awsui_in-filtering-token_18eso_1g60k_221) {
|
|
293
298
|
background-color: var(--color-background-input-default-ifz5bb, #ffffff);
|
|
294
|
-
border-block: var(--border-width-
|
|
295
|
-
border-inline: var(--border-width-
|
|
299
|
+
border-block: var(--border-width-field-2xc78x, 1px) solid var(--color-border-input-disabled-zgnzvk, #ebebf0);
|
|
300
|
+
border-inline: var(--border-width-field-2xc78x, 1px) solid var(--color-border-input-disabled-zgnzvk, #ebebf0);
|
|
296
301
|
}
|
|
297
|
-
.awsui_button-
|
|
302
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9):focus {
|
|
298
303
|
outline: none;
|
|
299
304
|
text-decoration: none;
|
|
300
305
|
}
|
|
301
|
-
body[data-awsui-focus-visible=true] .awsui_button-
|
|
306
|
+
body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221):focus {
|
|
302
307
|
outline: 2px dotted transparent;
|
|
303
308
|
border-block: var(--border-width-field-2xc78x, 1px) solid var(--color-border-input-focused-4z0pgn, #006ce0);
|
|
304
309
|
border-inline: var(--border-width-field-2xc78x, 1px) solid var(--color-border-input-focused-4z0pgn, #006ce0);
|
|
@@ -308,27 +313,27 @@ body[data-awsui-focus-visible=true] .awsui_button-trigger_18eso_1qoem_161:not(#\
|
|
|
308
313
|
border-end-end-radius: var(--border-radius-input-7q0str, 8px);
|
|
309
314
|
box-shadow: 0 0 0 var(--border-control-focus-ring-shadow-spread-9mjajk, 1px) var(--color-border-item-focused-uk47pl, #006ce0);
|
|
310
315
|
}
|
|
311
|
-
.awsui_button-
|
|
316
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221):invalid {
|
|
312
317
|
box-shadow: none;
|
|
313
318
|
}
|
|
314
|
-
.awsui_button-
|
|
319
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_invalid_18eso_1g60k_319, .awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_invalid_18eso_1g60k_319:focus {
|
|
315
320
|
color: var(--color-text-status-error-ksqavh, #db0000);
|
|
316
321
|
border-color: var(--color-text-status-error-ksqavh, #db0000);
|
|
317
322
|
padding-inline-start: calc(var(--space-field-horizontal-0aq2ch, 12px) - (var(--border-invalid-width-3xd6e1, 8px) - var(--border-width-field-2xc78x, 1px)));
|
|
318
323
|
border-inline-start-width: var(--border-invalid-width-3xd6e1, 8px);
|
|
319
324
|
}
|
|
320
|
-
.awsui_button-
|
|
325
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_invalid_18eso_1g60k_319:focus, .awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_invalid_18eso_1g60k_319:focus:focus {
|
|
321
326
|
box-shadow: 0 0 0 var(--border-control-invalid-focus-ring-shadow-spread-9jjf96, 2px) var(--color-border-item-focused-uk47pl, #006ce0);
|
|
322
327
|
}
|
|
323
|
-
.awsui_button-
|
|
328
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_warning_18eso_1g60k_328, .awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_warning_18eso_1g60k_328:focus {
|
|
324
329
|
color: var(--color-text-status-warning-6meo06, #855900);
|
|
325
330
|
border-color: var(--color-text-status-warning-6meo06, #855900);
|
|
326
331
|
padding-inline-start: calc(var(--space-field-horizontal-0aq2ch, 12px) - (var(--border-invalid-width-3xd6e1, 8px) - var(--border-width-field-2xc78x, 1px)));
|
|
327
332
|
border-inline-start-width: var(--border-invalid-width-3xd6e1, 8px);
|
|
328
333
|
}
|
|
329
|
-
.awsui_button-
|
|
334
|
+
.awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_warning_18eso_1g60k_328:focus, .awsui_button-trigger_18eso_1g60k_161:not(#\9):not(.awsui_in-filtering-token_18eso_1g60k_221).awsui_warning_18eso_1g60k_328:focus:focus {
|
|
330
335
|
box-shadow: 0 0 0 var(--border-control-invalid-focus-ring-shadow-spread-9jjf96, 2px) var(--color-border-item-focused-uk47pl, #006ce0);
|
|
331
336
|
}
|
|
332
|
-
.awsui_button-
|
|
337
|
+
.awsui_button-trigger_18eso_1g60k_161.awsui_inline-tokens_18eso_1g60k_337:not(#\9) {
|
|
333
338
|
padding-block: 0;
|
|
334
339
|
}
|
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"button-trigger": "awsui_button-
|
|
6
|
-
"arrow": "
|
|
7
|
-
"in-filtering-token-root": "awsui_in-filtering-token-
|
|
8
|
-
"in-filtering-token-nested": "awsui_in-filtering-token-
|
|
9
|
-
"has-caret": "awsui_has-
|
|
10
|
-
"placeholder": "
|
|
11
|
-
"pressed": "
|
|
12
|
-
"disabled": "
|
|
13
|
-
"in-filtering-token": "awsui_in-filtering-
|
|
14
|
-
"readonly": "
|
|
15
|
-
"invalid": "
|
|
16
|
-
"warning": "
|
|
17
|
-
"inline-tokens": "awsui_inline-
|
|
5
|
+
"button-trigger": "awsui_button-trigger_18eso_1g60k_161",
|
|
6
|
+
"arrow": "awsui_arrow_18eso_1g60k_161",
|
|
7
|
+
"in-filtering-token-root": "awsui_in-filtering-token-root_18eso_1g60k_221",
|
|
8
|
+
"in-filtering-token-nested": "awsui_in-filtering-token-nested_18eso_1g60k_221",
|
|
9
|
+
"has-caret": "awsui_has-caret_18eso_1g60k_257",
|
|
10
|
+
"placeholder": "awsui_placeholder_18eso_1g60k_260",
|
|
11
|
+
"pressed": "awsui_pressed_18eso_1g60k_273",
|
|
12
|
+
"disabled": "awsui_disabled_18eso_1g60k_276",
|
|
13
|
+
"in-filtering-token": "awsui_in-filtering-token_18eso_1g60k_221",
|
|
14
|
+
"readonly": "awsui_readonly_18eso_1g60k_297",
|
|
15
|
+
"invalid": "awsui_invalid_18eso_1g60k_319",
|
|
16
|
+
"warning": "awsui_warning_18eso_1g60k_328",
|
|
17
|
+
"inline-tokens": "awsui_inline-tokens_18eso_1g60k_337"
|
|
18
18
|
};
|
|
19
19
|
|
package/internal/environment.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export var PACKAGE_SOURCE = "components";
|
|
2
|
-
export var PACKAGE_VERSION = "3.0.0 (
|
|
3
|
-
export var GIT_SHA = "
|
|
2
|
+
export var PACKAGE_VERSION = "3.0.0 (9e83d9a9)";
|
|
3
|
+
export var GIT_SHA = "9e83d9a9";
|
|
4
4
|
export var THEME = "open-source-visual-refresh";
|
|
5
5
|
export var SYSTEM = "console";
|
|
6
6
|
export var ALWAYS_VISUAL_REFRESH = true;
|
package/internal/manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -111,7 +111,6 @@
|
|
|
111
111
|
"./tree-view": "./tree-view/index.js",
|
|
112
112
|
"./tutorial-panel": "./tutorial-panel/index.js",
|
|
113
113
|
"./wizard": "./wizard/index.js",
|
|
114
|
-
"./top-navigation/1.0-beta": "./top-navigation/1.0-beta/index.js",
|
|
115
114
|
"./i18n": "./i18n/index.js",
|
|
116
115
|
"./i18n/messages/all.all": "./i18n/messages/all.all.js",
|
|
117
116
|
"./i18n/messages/all.all.json": "./i18n/messages/all.all.json",
|
|
@@ -151,7 +150,7 @@
|
|
|
151
150
|
"./internal/base-component/index.js",
|
|
152
151
|
"./internal/base-component/styles.css.js"
|
|
153
152
|
],
|
|
154
|
-
"version": "3.0.
|
|
153
|
+
"version": "3.0.1044",
|
|
155
154
|
"repository": {
|
|
156
155
|
"type": "git",
|
|
157
156
|
"url": "https://github.com/cloudscape-design/components.git"
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ComponentWrapper, ElementWrapper } from '@cloudscape-design/test-utils-core/dom';
|
|
2
|
-
import ButtonWrapper from '../../button';
|
|
3
|
-
import ButtonDropdownWrapper from '../../button-dropdown';
|
|
4
|
-
import LinkWrapper from '../../link';
|
|
5
|
-
export default class TopNavigationWrapper extends ComponentWrapper {
|
|
6
|
-
static rootSelector: string;
|
|
7
|
-
findIdentityLink(): ElementWrapper;
|
|
8
|
-
findLogo(): ElementWrapper | null;
|
|
9
|
-
findTitle(): ElementWrapper | null;
|
|
10
|
-
findSearch(): ElementWrapper | null;
|
|
11
|
-
findUtilities(): Array<TopNavigationUtilityWrapper>;
|
|
12
|
-
findUtility(index: number): TopNavigationUtilityWrapper | null;
|
|
13
|
-
findSearchButton(): ElementWrapper | null;
|
|
14
|
-
findOverflowMenuButtonDropdown(): MenuDropdownWrapper | null;
|
|
15
|
-
}
|
|
16
|
-
export declare class MenuDropdownWrapper extends ButtonDropdownWrapper {
|
|
17
|
-
findNativeButton(): ElementWrapper<HTMLButtonElement>;
|
|
18
|
-
}
|
|
19
|
-
export declare class TopNavigationUtilityWrapper extends ComponentWrapper {
|
|
20
|
-
findButtonLinkType(): LinkWrapper | null;
|
|
21
|
-
findPrimaryButtonType(): ButtonWrapper | null;
|
|
22
|
-
findMenuDropdownType(): TopNavigationMenuDropdownWrapper | null;
|
|
23
|
-
}
|
|
24
|
-
export declare class TopNavigationMenuDropdownWrapper extends ButtonDropdownWrapper {
|
|
25
|
-
findNativeButton(): ElementWrapper<HTMLButtonElement>;
|
|
26
|
-
findTitle(): ElementWrapper | null;
|
|
27
|
-
findDescription(): ElementWrapper | null;
|
|
28
|
-
}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TopNavigationMenuDropdownWrapper = exports.TopNavigationUtilityWrapper = exports.MenuDropdownWrapper = void 0;
|
|
4
|
-
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
6
|
-
const dom_1 = require("@cloudscape-design/test-utils-core/dom");
|
|
7
|
-
const button_1 = require("../../button");
|
|
8
|
-
const button_dropdown_1 = require("../../button-dropdown");
|
|
9
|
-
const link_1 = require("../../link");
|
|
10
|
-
const styles_selectors_js_1 = require("../../../../button-dropdown/styles.selectors.js");
|
|
11
|
-
const styles_selectors_js_2 = require("../../../../internal/components/menu-dropdown/styles.selectors.js");
|
|
12
|
-
const styles_selectors_js_3 = require("../../../../top-navigation/1.0-beta/styles.selectors.js");
|
|
13
|
-
class TopNavigationWrapper extends dom_1.ComponentWrapper {
|
|
14
|
-
findIdentityLink() {
|
|
15
|
-
return this.find(`.${styles_selectors_js_3.default.identity} a`);
|
|
16
|
-
}
|
|
17
|
-
findLogo() {
|
|
18
|
-
return this.find(`.${styles_selectors_js_3.default.logo}`);
|
|
19
|
-
}
|
|
20
|
-
findTitle() {
|
|
21
|
-
return this.find(`.${styles_selectors_js_3.default.title}`);
|
|
22
|
-
}
|
|
23
|
-
findSearch() {
|
|
24
|
-
return this.find(`.${styles_selectors_js_3.default.search}`);
|
|
25
|
-
}
|
|
26
|
-
findUtilities() {
|
|
27
|
-
return this.findAll(`.${styles_selectors_js_3.default['utility-wrapper']}[data-utility-index]`).map(i => new TopNavigationUtilityWrapper(i.getElement()));
|
|
28
|
-
}
|
|
29
|
-
findUtility(index) {
|
|
30
|
-
return this.findComponent(`.${styles_selectors_js_3.default['utility-wrapper']}[data-utility-index="${index - 1}"]`, TopNavigationUtilityWrapper);
|
|
31
|
-
}
|
|
32
|
-
findSearchButton() {
|
|
33
|
-
return this.find(`.${styles_selectors_js_3.default['utility-wrapper']}[data-utility-special="search"] a`);
|
|
34
|
-
}
|
|
35
|
-
findOverflowMenuButtonDropdown() {
|
|
36
|
-
return this.findComponent(`.${styles_selectors_js_3.default.trigger}`, MenuDropdownWrapper);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
exports.default = TopNavigationWrapper;
|
|
40
|
-
TopNavigationWrapper.rootSelector = `${styles_selectors_js_3.default['top-navigation']}:not(.${styles_selectors_js_3.default.hidden})`;
|
|
41
|
-
class MenuDropdownWrapper extends button_dropdown_1.default {
|
|
42
|
-
findNativeButton() {
|
|
43
|
-
// ButtonDropdown always has a button
|
|
44
|
-
return this.find(`button.${styles_selectors_js_2.default.button}`);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.MenuDropdownWrapper = MenuDropdownWrapper;
|
|
48
|
-
class TopNavigationUtilityWrapper extends dom_1.ComponentWrapper {
|
|
49
|
-
findButtonLinkType() {
|
|
50
|
-
return this.findComponent(`.${link_1.default.rootSelector}`, link_1.default);
|
|
51
|
-
}
|
|
52
|
-
findPrimaryButtonType() {
|
|
53
|
-
return this.findComponent(`.${button_1.default.rootSelector}`, button_1.default);
|
|
54
|
-
}
|
|
55
|
-
findMenuDropdownType() {
|
|
56
|
-
return this.findComponent(`.${button_dropdown_1.default.rootSelector}`, TopNavigationMenuDropdownWrapper);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
exports.TopNavigationUtilityWrapper = TopNavigationUtilityWrapper;
|
|
60
|
-
class TopNavigationMenuDropdownWrapper extends button_dropdown_1.default {
|
|
61
|
-
findNativeButton() {
|
|
62
|
-
return this.find(`.${styles_selectors_js_2.default.button}`);
|
|
63
|
-
}
|
|
64
|
-
findTitle() {
|
|
65
|
-
return this.findByClassName(styles_selectors_js_1.default.title);
|
|
66
|
-
}
|
|
67
|
-
findDescription() {
|
|
68
|
-
return this.findByClassName(styles_selectors_js_1.default.description);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
exports.TopNavigationMenuDropdownWrapper = TopNavigationMenuDropdownWrapper;
|
|
72
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/test-utils/dom/top-navigation/1.0-beta/index.ts"],"names":[],"mappings":";;;AAAA,qEAAqE;AACrE,sCAAsC;AACtC,gEAA0F;AAE1F,yCAAyC;AACzC,2DAA0D;AAC1D,qCAAqC;AAErC,yFAAmF;AACnF,2GAAmG;AACnG,iGAA6E;AAE7E,MAAqB,oBAAqB,SAAQ,sBAAgB;IAGhE,gBAAgB;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,6BAAM,CAAC,QAAQ,IAAI,CAAE,CAAC;IAC7C,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,6BAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,6BAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,6BAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,6BAAM,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAC1E,CAAC,CAAC,EAAE,CAAC,IAAI,2BAA2B,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CACrD,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,OAAO,IAAI,CAAC,aAAa,CACvB,IAAI,6BAAM,CAAC,iBAAiB,CAAC,wBAAwB,KAAK,GAAG,CAAC,IAAI,EAClE,2BAA2B,CAC5B,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,6BAAM,CAAC,iBAAiB,CAAC,mCAAmC,CAAC,CAAC;IACrF,CAAC;IAED,8BAA8B;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,6BAAM,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,CAAC;IACvE,CAAC;;AAtCH,uCAuCC;AAtCQ,iCAAY,GAAG,GAAG,6BAAM,CAAC,gBAAgB,CAAC,SAAS,6BAAM,CAAC,MAAM,GAAG,CAAC;AAwC7E,MAAa,mBAAoB,SAAQ,yBAAqB;IAC5D,gBAAgB;QACd,qCAAqC;QACrC,OAAO,IAAI,CAAC,IAAI,CAAoB,UAAU,6BAAkB,CAAC,MAAM,EAAE,CAAE,CAAC;IAC9E,CAAC;CACF;AALD,kDAKC;AAED,MAAa,2BAA4B,SAAQ,sBAAgB;IAC/D,kBAAkB;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,cAAW,CAAC,YAAY,EAAE,EAAE,cAAW,CAAC,CAAC;IACzE,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,gBAAa,CAAC,YAAY,EAAE,EAAE,gBAAa,CAAC,CAAC;IAC7E,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,yBAAqB,CAAC,YAAY,EAAE,EAAE,gCAAgC,CAAC,CAAC;IACxG,CAAC;CACF;AAZD,kEAYC;AAED,MAAa,gCAAiC,SAAQ,yBAAqB;IACzE,gBAAgB;QACd,OAAO,IAAI,CAAC,IAAI,CAAoB,IAAI,6BAAkB,CAAC,MAAM,EAAE,CAAE,CAAC;IACxE,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAoB,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAoB,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;CACF;AAZD,4EAYC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ComponentWrapper, ElementWrapper } from "@cloudscape-design/test-utils-core/selectors";
|
|
2
|
-
import ButtonWrapper from '../../button';
|
|
3
|
-
import ButtonDropdownWrapper from '../../button-dropdown';
|
|
4
|
-
import LinkWrapper from '../../link';
|
|
5
|
-
export default class TopNavigationWrapper extends ComponentWrapper {
|
|
6
|
-
static rootSelector: string;
|
|
7
|
-
findIdentityLink(): ElementWrapper;
|
|
8
|
-
findLogo(): ElementWrapper;
|
|
9
|
-
findTitle(): ElementWrapper;
|
|
10
|
-
findSearch(): ElementWrapper;
|
|
11
|
-
findUtilities(): import("@cloudscape-design/test-utils-core/selectors").MultiElementWrapper<TopNavigationUtilityWrapper>;
|
|
12
|
-
findUtility(index: number): TopNavigationUtilityWrapper;
|
|
13
|
-
findSearchButton(): ElementWrapper;
|
|
14
|
-
findOverflowMenuButtonDropdown(): MenuDropdownWrapper;
|
|
15
|
-
}
|
|
16
|
-
export declare class MenuDropdownWrapper extends ButtonDropdownWrapper {
|
|
17
|
-
findNativeButton(): ElementWrapper;
|
|
18
|
-
}
|
|
19
|
-
export declare class TopNavigationUtilityWrapper extends ComponentWrapper {
|
|
20
|
-
findButtonLinkType(): LinkWrapper;
|
|
21
|
-
findPrimaryButtonType(): ButtonWrapper;
|
|
22
|
-
findMenuDropdownType(): TopNavigationMenuDropdownWrapper;
|
|
23
|
-
}
|
|
24
|
-
export declare class TopNavigationMenuDropdownWrapper extends ButtonDropdownWrapper {
|
|
25
|
-
findNativeButton(): ElementWrapper;
|
|
26
|
-
findTitle(): ElementWrapper;
|
|
27
|
-
findDescription(): ElementWrapper;
|
|
28
|
-
}
|