@primer/react 38.0.0-rc.7 → 38.0.0-rc.9
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/CHANGELOG.md +55 -0
- package/dist/ActionBar/ActionBar-3069d5f1.css +2 -0
- package/dist/ActionBar/ActionBar-3069d5f1.css.map +1 -0
- package/dist/ActionBar/ActionBar.d.ts +6 -0
- package/dist/ActionBar/ActionBar.d.ts.map +1 -1
- package/dist/ActionBar/ActionBar.js +155 -129
- package/dist/ActionBar/ActionBar.module.css.js +1 -1
- package/dist/ActionList/Selection.js +1 -2
- package/dist/ActionMenu/ActionMenu-bb42318d.css +2 -0
- package/dist/ActionMenu/ActionMenu-bb42318d.css.map +1 -0
- package/dist/ActionMenu/ActionMenu.d.ts.map +1 -1
- package/dist/ActionMenu/ActionMenu.js +6 -0
- package/dist/ActionMenu/ActionMenu.module.css.js +1 -1
- package/dist/AnchoredOverlay/AnchoredOverlay.d.ts +1 -1
- package/dist/AnchoredOverlay/AnchoredOverlay.d.ts.map +1 -1
- package/dist/Banner/Banner-c1744c4b.css +2 -0
- package/dist/Banner/Banner-c1744c4b.css.map +1 -0
- package/dist/Banner/Banner.d.ts +8 -0
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +2 -0
- package/dist/Banner/Banner.module.css.js +2 -2
- package/dist/Banner/index.d.ts +1 -0
- package/dist/Banner/index.d.ts.map +1 -1
- package/dist/Breadcrumbs/Breadcrumbs-dbfc9d95.css +2 -0
- package/dist/Breadcrumbs/Breadcrumbs-dbfc9d95.css.map +1 -0
- package/dist/Breadcrumbs/Breadcrumbs.module.css.js +1 -1
- package/dist/Button/ButtonBase-643c673a.css +2 -0
- package/dist/Button/ButtonBase-643c673a.css.map +1 -0
- package/dist/Button/ButtonBase.module.css.js +1 -1
- package/dist/Checkbox/Checkbox-edc5dc3e.css +2 -0
- package/dist/Checkbox/{Checkbox-2aef6693.css.map → Checkbox-edc5dc3e.css.map} +1 -1
- package/dist/Checkbox/Checkbox.module.css.js +1 -1
- package/dist/ConfirmationDialog/ConfirmationDialog.d.ts.map +1 -1
- package/dist/ConfirmationDialog/ConfirmationDialog.js +8 -24
- package/dist/Details/Details.d.ts.map +1 -1
- package/dist/Details/Details.js +19 -41
- package/dist/NavList/NavList.d.ts.map +1 -1
- package/dist/NavList/NavList.js +1 -1
- package/dist/Pagination/Pagination-16a5b4c6.css +2 -0
- package/dist/Pagination/Pagination-16a5b4c6.css.map +1 -0
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +16 -3
- package/dist/Pagination/Pagination.module.css.js +1 -1
- package/dist/ToggleSwitch/{ToggleSwitch-4b23d166.css → ToggleSwitch-d5c8dc81.css} +2 -2
- package/dist/ToggleSwitch/ToggleSwitch-d5c8dc81.css.map +1 -0
- package/dist/ToggleSwitch/ToggleSwitch.module.css.js +1 -1
- package/dist/Token/IssueLabelToken-a5fe569e.css +2 -0
- package/dist/Token/IssueLabelToken-a5fe569e.css.map +1 -0
- package/dist/Token/IssueLabelToken.d.ts.map +1 -1
- package/dist/Token/IssueLabelToken.js +0 -5
- package/dist/Token/IssueLabelToken.module.css.js +1 -1
- package/dist/Token/TokenBase-57c65c47.css +2 -0
- package/dist/Token/TokenBase-57c65c47.css.map +1 -0
- package/dist/Token/TokenBase.js +1 -7
- package/dist/Token/TokenBase.module.css.js +1 -1
- package/dist/Token/_RemoveTokenButton-c205593b.css +2 -0
- package/dist/Token/_RemoveTokenButton-c205593b.css.map +1 -0
- package/dist/Token/_RemoveTokenButton.d.ts.map +1 -1
- package/dist/Token/_RemoveTokenButton.js +3 -4
- package/dist/Token/_RemoveTokenButton.module.css.js +1 -1
- package/dist/experimental/IssueLabel/{IssueLabel-6581d1bd.css → IssueLabel-d9c2c5cf.css} +2 -2
- package/dist/experimental/IssueLabel/IssueLabel-d9c2c5cf.css.map +1 -0
- package/dist/experimental/IssueLabel/IssueLabel.d.ts.map +1 -1
- package/dist/experimental/IssueLabel/IssueLabel.js +52 -70
- package/dist/experimental/IssueLabel/IssueLabel.module.css.js +1 -1
- package/dist/experimental/IssueLabel/getColorFromHex.d.ts +1 -3
- package/dist/experimental/IssueLabel/getColorFromHex.d.ts.map +1 -1
- package/dist/experimental/IssueLabel/getColorFromHex.js +58 -26
- package/dist/index.d.ts +1 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -3
- package/dist/sx.d.ts +0 -2
- package/dist/sx.d.ts.map +1 -1
- package/generated/components.json +98 -150
- package/package.json +6 -6
- package/dist/ActionBar/ActionBar-e6a5d54e.css +0 -2
- package/dist/ActionBar/ActionBar-e6a5d54e.css.map +0 -1
- package/dist/ActionMenu/ActionMenu-5fe972e2.css +0 -2
- package/dist/ActionMenu/ActionMenu-5fe972e2.css.map +0 -1
- package/dist/Banner/Banner-459c533a.css +0 -2
- package/dist/Banner/Banner-459c533a.css.map +0 -1
- package/dist/Box/Box.js +0 -15
- package/dist/Breadcrumbs/Breadcrumbs-7cbdf03c.css +0 -2
- package/dist/Breadcrumbs/Breadcrumbs-7cbdf03c.css.map +0 -1
- package/dist/Button/ButtonBase-0a7871f4.css +0 -2
- package/dist/Button/ButtonBase-0a7871f4.css.map +0 -1
- package/dist/Checkbox/Checkbox-2aef6693.css +0 -2
- package/dist/Pagination/Pagination-1845feaa.css +0 -2
- package/dist/Pagination/Pagination-1845feaa.css.map +0 -1
- package/dist/ToggleSwitch/ToggleSwitch-4b23d166.css.map +0 -1
- package/dist/Token/IssueLabelToken-0dbbbcdf.css +0 -2
- package/dist/Token/IssueLabelToken-0dbbbcdf.css.map +0 -1
- package/dist/Token/TokenBase-0386597b.css +0 -2
- package/dist/Token/TokenBase-0386597b.css.map +0 -1
- package/dist/Token/_RemoveTokenButton-d7f5985b.css +0 -2
- package/dist/Token/_RemoveTokenButton-d7f5985b.css.map +0 -1
- package/dist/experimental/IssueLabel/IssueLabel-6581d1bd.css.map +0 -1
- package/dist/sx.js +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,60 @@
|
|
|
1
1
|
# @primer/react
|
|
2
2
|
|
|
3
|
+
## 38.0.0-rc.9
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [#7032](https://github.com/primer/react/pull/7032) [`9fce541`](https://github.com/primer/react/commit/9fce5419ce76c94837f2bd4b013f007837a97182) Thanks [@francinelucca](https://github.com/francinelucca)! - - remove sx, SxProp, exports
|
|
8
|
+
- add type ThemeColorPaths, type ThemeShadowPaths
|
|
9
|
+
|
|
10
|
+
### Minor Changes
|
|
11
|
+
|
|
12
|
+
- [#7045](https://github.com/primer/react/pull/7045) [`7595b8d`](https://github.com/primer/react/commit/7595b8d0d534043aeca69f0862a8ffd5c911c50c) Thanks [@langermank](https://github.com/langermank)! - Add new `Banner` `actionsLayout` prop to handle actions layout edge cases
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- [#7020](https://github.com/primer/react/pull/7020) [`aaa2e1f`](https://github.com/primer/react/commit/aaa2e1f5589a862557b6f7d5194e0579bc952c84) Thanks [@hectahertz](https://github.com/hectahertz)! - Fixes `Details` flickering, prevents re-renders
|
|
17
|
+
|
|
18
|
+
- [#7008](https://github.com/primer/react/pull/7008) [`ca6d60d`](https://github.com/primer/react/commit/ca6d60d37dcdaec354bbdd097fd8c656971e752b) Thanks [@langermank](https://github.com/langermank)! - Use primitives for Button line-height
|
|
19
|
+
|
|
20
|
+
- [#7046](https://github.com/primer/react/pull/7046) [`4ffe66d`](https://github.com/primer/react/commit/4ffe66d0d87c5ab8a3c0d9ef4e9ba571e6d57393) Thanks [@pksjce](https://github.com/pksjce)! - Fix: ActionMenu with overflow contains scrollbars within its rounded border
|
|
21
|
+
|
|
22
|
+
- [#7030](https://github.com/primer/react/pull/7030) [`52d6cf7`](https://github.com/primer/react/commit/52d6cf7e7cc2a0f4ea3186ee61412a2a2549b530) Thanks [@francinelucca](https://github.com/francinelucca)! - fix(SelectPanel): remove hidden attribute from selection Radio
|
|
23
|
+
|
|
24
|
+
- [#7048](https://github.com/primer/react/pull/7048) [`f4a92f6`](https://github.com/primer/react/commit/f4a92f6d5fab8aee0bebb0b3bd8a400d55dc6cc7) Thanks [@langermank](https://github.com/langermank)! - Adjust Breadcrumb item focus outline
|
|
25
|
+
|
|
26
|
+
## 38.0.0-rc.8
|
|
27
|
+
|
|
28
|
+
### Major Changes
|
|
29
|
+
|
|
30
|
+
- [#7015](https://github.com/primer/react/pull/7015) [`0889246`](https://github.com/primer/react/commit/0889246fda736fe7dd967a295fe8467109d06bc9) Thanks [@francinelucca](https://github.com/francinelucca)! - @primer/react: chore: remove Box, BoxProps export
|
|
31
|
+
@primer/styled-react: add Box component
|
|
32
|
+
|
|
33
|
+
### Patch Changes
|
|
34
|
+
|
|
35
|
+
- [#6984](https://github.com/primer/react/pull/6984) [`a3765c2`](https://github.com/primer/react/commit/a3765c2e6c7d23972cdeeb8e206d802678f0d832) Thanks [@mperrotti](https://github.com/mperrotti)! - Fixes vertical alignment of prev/next pagination chevrons
|
|
36
|
+
|
|
37
|
+
- [#7014](https://github.com/primer/react/pull/7014) [`a108ab9`](https://github.com/primer/react/commit/a108ab92fa71af83f7da1ee9a311bc272568cfb3) Thanks [@francinelucca](https://github.com/francinelucca)! - chore: remove useTheme from IssueLabel
|
|
38
|
+
|
|
39
|
+
- [#6981](https://github.com/primer/react/pull/6981) [`3099210`](https://github.com/primer/react/commit/30992106820dee75cb2f6f0594e66acfd8b56f3c) Thanks [@mperrotti](https://github.com/mperrotti)! - Removes unwanted box-shadow on buttons with 'inactive' prop passed.
|
|
40
|
+
|
|
41
|
+
- [#6877](https://github.com/primer/react/pull/6877) [`860ac93`](https://github.com/primer/react/commit/860ac93dcdff0ba6f05cac1b5137721a9b34dfcb) Thanks [@mperrotti](https://github.com/mperrotti)! - In `ActionBar`, `aria-label` now gets added to the `role="toolbar"` element.
|
|
42
|
+
|
|
43
|
+
- [#7017](https://github.com/primer/react/pull/7017) [`2fd6c82`](https://github.com/primer/react/commit/2fd6c82e327db24b63cf604465b4192b0d29d8a9) Thanks [@langermank](https://github.com/langermank)! - update token close button sizing
|
|
44
|
+
|
|
45
|
+
- [#7000](https://github.com/primer/react/pull/7000) [`34e7fa8`](https://github.com/primer/react/commit/34e7fa8cd88684c16d17e997aa7ef69d40b50340) Thanks [@pksjce](https://github.com/pksjce)! - Add gap prop to ActionBar for customizable spacing between items
|
|
46
|
+
|
|
47
|
+
- [#6973](https://github.com/primer/react/pull/6973) [`a3f7ea9`](https://github.com/primer/react/commit/a3f7ea96514d4ba0a2d28aeb26e49eaafb8bf474) Thanks [@jonrohan](https://github.com/jonrohan)! - fix(AnchoredOverlay): Omit aria-label and aria-labelledby from renderAnchor props
|
|
48
|
+
|
|
49
|
+
- [#7007](https://github.com/primer/react/pull/7007) [`96968a2`](https://github.com/primer/react/commit/96968a28c1ddb2c31cb3e2f0e2e6297c1ee8df97) Thanks [@mperrotti](https://github.com/mperrotti)! - Corrects bg color of disabled indeterminate checkbox
|
|
50
|
+
|
|
51
|
+
- [#7019](https://github.com/primer/react/pull/7019) [`4308179`](https://github.com/primer/react/commit/43081799465d5e4d66a0d761406a2ab64fb27d91) Thanks [@francinelucca](https://github.com/francinelucca)! - @primer/styled-react: chore(navlist): remove unneeded exports
|
|
52
|
+
@primer/react: add missing isSlot checks
|
|
53
|
+
|
|
54
|
+
- [#6982](https://github.com/primer/react/pull/6982) [`3c32e7e`](https://github.com/primer/react/commit/3c32e7e162ae9a5f66c068639934cc55c01cca72) Thanks [@mperrotti](https://github.com/mperrotti)! - Uses correct bg color for disabled ToggleSwitch knob
|
|
55
|
+
|
|
56
|
+
- [#6980](https://github.com/primer/react/pull/6980) [`4b84948`](https://github.com/primer/react/commit/4b849489b123636209d6dd71b0fe66fbe7963bdb) Thanks [@TylerJDev](https://github.com/TylerJDev)! - ActionBar: Supplies `aria-label` to toolbar inside of `ActionBar`
|
|
57
|
+
|
|
3
58
|
## 38.0.0-rc.7
|
|
4
59
|
|
|
5
60
|
### Major Changes
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
.prc-ActionBar-List-Z4LzW{align-items:center;display:flex;gap:var(--actionbar-gap,var(--stack-gap-condensed,.5rem));list-style:none;margin-bottom:-1px;min-width:0;position:relative;white-space:nowrap}.prc-ActionBar-List-Z4LzW:where([data-gap=none]){--actionbar-gap:0}.prc-ActionBar-List-Z4LzW:where([data-gap=condensed]){--actionbar-gap:var(--stack-gap-condensed,0.5rem)}.prc-ActionBar-Nav-hc-9G{align-items:center;display:flex;justify-content:flex-end;padding-inline:var(--base-size-16,1rem)}.prc-ActionBar-Nav-hc-9G:where([data-flush=true]){padding-inline:0}.prc-ActionBar-Divider-CcBO8:before{background:var(--borderColor-muted,var(--color-border-muted));content:"";display:block;height:var(--base-size-20,1.25rem);width:var(--borderWidth-thin,.0625rem)}
|
|
2
|
+
/*# sourceMappingURL=ActionBar-3069d5f1.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ActionBar/ActionBar.module.css"],"names":[],"mappings":"AAAA,0BAUE,kBAAmB,CARnB,YAAa,CASb,yDAAqD,CAFrD,eAAgB,CAFhB,kBAAmB,CAJnB,WAAY,CAFZ,iBAAkB,CAOlB,kBAaF,CAPE,iDACE,iBACF,CAEA,sDACE,iDACF,CAGF,yBAIE,kBAAmB,CAHnB,YAAa,CAEb,wBAAyB,CADzB,uCAOF,CAHE,kDACE,gBACF,CAIA,oCAME,6DAAoC,CAFpC,UAAW,CAHX,aAAc,CAEd,kCAA2B,CAD3B,sCAKF","file":"ActionBar-3069d5f1.css","sourcesContent":[".List {\n position: relative;\n display: flex;\n min-width: 0;\n\n /* wonder why this is here */\n /* stylelint-disable-next-line primer/spacing */\n margin-bottom: -1px;\n white-space: nowrap;\n list-style: none;\n align-items: center;\n gap: var(--actionbar-gap, var(--stack-gap-condensed));\n\n /* Gap scale (mirrors Stack) */\n &:where([data-gap='none']) {\n --actionbar-gap: 0;\n }\n\n &:where([data-gap='condensed']) {\n --actionbar-gap: var(--stack-gap-condensed);\n }\n}\n\n.Nav {\n display: flex;\n padding-inline: var(--base-size-16);\n justify-content: flex-end;\n align-items: center;\n\n &:where([data-flush='true']) {\n padding-inline: 0;\n }\n}\n\n.Divider {\n &::before {\n display: block;\n width: var(--borderWidth-thin);\n height: var(--base-size-20);\n content: '';\n /* stylelint-disable-next-line primer/colors */\n background: var(--borderColor-muted);\n }\n}\n"]}
|
|
@@ -12,6 +12,7 @@ type A11yProps = {
|
|
|
12
12
|
*/
|
|
13
13
|
'aria-labelledby': React.AriaAttributes['aria-labelledby'];
|
|
14
14
|
};
|
|
15
|
+
type GapScale = 'none' | 'condensed';
|
|
15
16
|
export type ActionBarProps = {
|
|
16
17
|
/**
|
|
17
18
|
* Size of the action bar
|
|
@@ -27,6 +28,11 @@ export type ActionBarProps = {
|
|
|
27
28
|
flush?: boolean;
|
|
28
29
|
/** Custom className */
|
|
29
30
|
className?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Horizontal gap scale between items (mirrors Stack gap scale)
|
|
33
|
+
* @default 'condensed'
|
|
34
|
+
*/
|
|
35
|
+
gap?: GapScale;
|
|
30
36
|
} & A11yProps;
|
|
31
37
|
export type ActionBarIconButtonProps = {
|
|
32
38
|
disabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionBar.d.ts","sourceRoot":"","sources":["../../src/ActionBar/ActionBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAyD,MAAM,OAAO,CAAA;AAS7E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,WAAW,CAAA;AAqC9C,KAAK,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AAExC,KAAK,SAAS,GACV;IACE,wDAAwD;IACxD,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;IAChD,iBAAiB,CAAC,EAAE,SAAS,CAAA;CAC9B,GACD;IACE,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB;;OAEG;IACH,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;CAC3D,CAAA;AAEL,MAAM,MAAM,cAAc,GAAG;IAC3B;;;SAGK;IACL,IAAI,CAAC,EAAE,IAAI,CAAA;IAEX,gCAAgC;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAEzB;;;SAGK;IACL,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"ActionBar.d.ts","sourceRoot":"","sources":["../../src/ActionBar/ActionBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAyD,MAAM,OAAO,CAAA;AAS7E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,WAAW,CAAA;AAqC9C,KAAK,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AAExC,KAAK,SAAS,GACV;IACE,wDAAwD;IACxD,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;IAChD,iBAAiB,CAAC,EAAE,SAAS,CAAA;CAC9B,GACD;IACE,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB;;OAEG;IACH,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAA;CAC3D,CAAA;AAEL,KAAK,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAA;AAEpC,MAAM,MAAM,cAAc,GAAG;IAC3B;;;SAGK;IACL,IAAI,CAAC,EAAE,IAAI,CAAA;IAEX,gCAAgC;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAEzB;;;SAGK;IACL,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAA;CACf,GAAG,SAAS,CAAA;AAEb,MAAM,MAAM,wBAAwB,GAAG;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAC,GAAG,eAAe,CAAA;AA4E7E,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,CA0IvE,CAAA;AAED,eAAO,MAAM,mBAAmB,0FAiD/B,CAAA;AAED,eAAO,MAAM,eAAe,gCAoB3B,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { c } from 'react-compiler-runtime';
|
|
2
|
-
import React, { forwardRef,
|
|
2
|
+
import React, { forwardRef, useRef, useState, useId } from 'react';
|
|
3
3
|
import { KebabHorizontalIcon } from '@primer/octicons-react';
|
|
4
4
|
import { ActionList } from '../ActionList/index.js';
|
|
5
5
|
import useIsomorphicLayoutEffect from '../utils/useIsomorphicLayoutEffect.js';
|
|
@@ -34,12 +34,12 @@ small (28px), medium (32px), large (40px)
|
|
|
34
34
|
*/
|
|
35
35
|
|
|
36
36
|
const MORE_BTN_WIDTH = 32;
|
|
37
|
-
const calculatePossibleItems = (registryEntries, navWidth, moreMenuWidth = 0) => {
|
|
37
|
+
const calculatePossibleItems = (registryEntries, navWidth, gap, moreMenuWidth = 0) => {
|
|
38
38
|
const widthToFit = navWidth - moreMenuWidth;
|
|
39
39
|
let breakpoint = registryEntries.length; // assume all items will fit
|
|
40
40
|
let sumsOfChildWidth = 0;
|
|
41
41
|
for (const [index, [, child]] of registryEntries.entries()) {
|
|
42
|
-
sumsOfChildWidth += index > 0 ? child.width +
|
|
42
|
+
sumsOfChildWidth += index > 0 ? child.width + gap : child.width;
|
|
43
43
|
if (sumsOfChildWidth > widthToFit) {
|
|
44
44
|
breakpoint = index;
|
|
45
45
|
break;
|
|
@@ -49,11 +49,11 @@ const calculatePossibleItems = (registryEntries, navWidth, moreMenuWidth = 0) =>
|
|
|
49
49
|
}
|
|
50
50
|
return breakpoint;
|
|
51
51
|
};
|
|
52
|
-
const getMenuItems = (navWidth, moreMenuWidth, childRegistry, hasActiveMenu) => {
|
|
52
|
+
const getMenuItems = (navWidth, moreMenuWidth, childRegistry, hasActiveMenu, gap) => {
|
|
53
53
|
const registryEntries = Array.from(childRegistry).filter(entry => entry[1] !== null);
|
|
54
54
|
if (registryEntries.length === 0) return new Set();
|
|
55
|
-
const numberOfItemsPossible = calculatePossibleItems(registryEntries, navWidth);
|
|
56
|
-
const numberOfItemsPossibleWithMoreMenu = calculatePossibleItems(registryEntries, navWidth, moreMenuWidth || MORE_BTN_WIDTH);
|
|
55
|
+
const numberOfItemsPossible = calculatePossibleItems(registryEntries, navWidth, gap);
|
|
56
|
+
const numberOfItemsPossibleWithMoreMenu = calculatePossibleItems(registryEntries, navWidth, gap, moreMenuWidth || MORE_BTN_WIDTH);
|
|
57
57
|
const menuItems = new Set();
|
|
58
58
|
|
|
59
59
|
// First, we check if we can fit all the items with their icons
|
|
@@ -85,168 +85,189 @@ const getMenuItems = (navWidth, moreMenuWidth, childRegistry, hasActiveMenu) =>
|
|
|
85
85
|
}
|
|
86
86
|
};
|
|
87
87
|
const ActionBar = props => {
|
|
88
|
-
const $ = c(
|
|
88
|
+
const $ = c(40);
|
|
89
89
|
const {
|
|
90
90
|
size: t0,
|
|
91
91
|
children,
|
|
92
92
|
"aria-label": ariaLabel,
|
|
93
|
+
"aria-labelledby": ariaLabelledBy,
|
|
93
94
|
flush: t1,
|
|
94
|
-
className
|
|
95
|
+
className,
|
|
96
|
+
gap: t2
|
|
95
97
|
} = props;
|
|
96
98
|
const size = t0 === undefined ? "medium" : t0;
|
|
97
99
|
const flush = t1 === undefined ? false : t1;
|
|
100
|
+
const gap = t2 === undefined ? "condensed" : t2;
|
|
101
|
+
const listRef = useRef(null);
|
|
102
|
+
const [computedGap, setComputedGap] = useState(ACTIONBAR_ITEM_GAP);
|
|
98
103
|
const [childRegistry, setChildRegistry] = useState(_temp);
|
|
99
|
-
let
|
|
104
|
+
let t3;
|
|
100
105
|
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
101
|
-
|
|
102
|
-
$[0] =
|
|
106
|
+
t3 = (id, childProps) => setChildRegistry(prev => new Map(prev).set(id, childProps));
|
|
107
|
+
$[0] = t3;
|
|
103
108
|
} else {
|
|
104
|
-
|
|
109
|
+
t3 = $[0];
|
|
105
110
|
}
|
|
106
|
-
const registerChild =
|
|
107
|
-
let
|
|
111
|
+
const registerChild = t3;
|
|
112
|
+
let t4;
|
|
108
113
|
if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
109
|
-
|
|
110
|
-
$[1] =
|
|
114
|
+
t4 = id_0 => setChildRegistry(prev_0 => new Map(prev_0).set(id_0, null));
|
|
115
|
+
$[1] = t4;
|
|
111
116
|
} else {
|
|
112
|
-
|
|
117
|
+
t4 = $[1];
|
|
113
118
|
}
|
|
114
|
-
const unregisterChild =
|
|
119
|
+
const unregisterChild = t4;
|
|
115
120
|
const [menuItemIds, setMenuItemIds] = useState(_temp2);
|
|
116
121
|
const navRef = useRef(null);
|
|
117
|
-
|
|
122
|
+
let t5;
|
|
123
|
+
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
124
|
+
t5 = () => {
|
|
125
|
+
if (!listRef.current) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const g = window.getComputedStyle(listRef.current).gap;
|
|
129
|
+
const parsed = parseFloat(g);
|
|
130
|
+
if (!Number.isNaN(parsed)) {
|
|
131
|
+
setComputedGap(parsed);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
$[2] = t5;
|
|
135
|
+
} else {
|
|
136
|
+
t5 = $[2];
|
|
137
|
+
}
|
|
138
|
+
let t6;
|
|
139
|
+
if ($[3] !== gap) {
|
|
140
|
+
t6 = [gap];
|
|
141
|
+
$[3] = gap;
|
|
142
|
+
$[4] = t6;
|
|
143
|
+
} else {
|
|
144
|
+
t6 = $[4];
|
|
145
|
+
}
|
|
146
|
+
useIsomorphicLayoutEffect(t5, t6);
|
|
118
147
|
const moreMenuRef = useRef(null);
|
|
119
148
|
const moreMenuBtnRef = useRef(null);
|
|
120
149
|
const containerRef = React.useRef(null);
|
|
121
|
-
let
|
|
122
|
-
if ($[
|
|
123
|
-
|
|
150
|
+
let t7;
|
|
151
|
+
if ($[5] !== childRegistry || $[6] !== computedGap || $[7] !== menuItemIds.size) {
|
|
152
|
+
t7 = resizeObserverEntries => {
|
|
124
153
|
var _moreMenuRef$current$, _moreMenuRef$current;
|
|
125
154
|
const navWidth = resizeObserverEntries[0].contentRect.width;
|
|
126
155
|
const moreMenuWidth = (_moreMenuRef$current$ = (_moreMenuRef$current = moreMenuRef.current) === null || _moreMenuRef$current === void 0 ? void 0 : _moreMenuRef$current.getBoundingClientRect().width) !== null && _moreMenuRef$current$ !== void 0 ? _moreMenuRef$current$ : 0;
|
|
127
156
|
const hasActiveMenu = menuItemIds.size > 0;
|
|
128
157
|
if (navWidth > 0) {
|
|
129
|
-
const newMenuItemIds = getMenuItems(navWidth, moreMenuWidth, childRegistry, hasActiveMenu);
|
|
158
|
+
const newMenuItemIds = getMenuItems(navWidth, moreMenuWidth, childRegistry, hasActiveMenu, computedGap);
|
|
130
159
|
if (newMenuItemIds) {
|
|
131
160
|
setMenuItemIds(newMenuItemIds);
|
|
132
161
|
}
|
|
133
162
|
}
|
|
134
163
|
};
|
|
135
|
-
$[
|
|
136
|
-
$[
|
|
137
|
-
$[
|
|
164
|
+
$[5] = childRegistry;
|
|
165
|
+
$[6] = computedGap;
|
|
166
|
+
$[7] = menuItemIds.size;
|
|
167
|
+
$[8] = t7;
|
|
138
168
|
} else {
|
|
139
|
-
|
|
169
|
+
t7 = $[8];
|
|
140
170
|
}
|
|
141
|
-
useResizeObserver(
|
|
142
|
-
let
|
|
143
|
-
if ($[
|
|
144
|
-
|
|
145
|
-
$[
|
|
146
|
-
$[
|
|
171
|
+
useResizeObserver(t7, navRef);
|
|
172
|
+
let t8;
|
|
173
|
+
if ($[9] !== menuItemIds) {
|
|
174
|
+
t8 = id_1 => !menuItemIds.has(id_1);
|
|
175
|
+
$[9] = menuItemIds;
|
|
176
|
+
$[10] = t8;
|
|
147
177
|
} else {
|
|
148
|
-
|
|
178
|
+
t8 = $[10];
|
|
149
179
|
}
|
|
150
|
-
const isVisibleChild =
|
|
180
|
+
const isVisibleChild = t8;
|
|
151
181
|
const [isWidgetOpen, setIsWidgetOpen] = useState(false);
|
|
152
|
-
let
|
|
153
|
-
if ($[
|
|
154
|
-
|
|
182
|
+
let t9;
|
|
183
|
+
if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
|
|
184
|
+
t9 = () => {
|
|
155
185
|
setIsWidgetOpen(false);
|
|
156
186
|
};
|
|
157
|
-
$[
|
|
187
|
+
$[11] = t9;
|
|
158
188
|
} else {
|
|
159
|
-
|
|
189
|
+
t9 = $[11];
|
|
160
190
|
}
|
|
161
|
-
const closeOverlay =
|
|
162
|
-
let
|
|
163
|
-
if ($[
|
|
164
|
-
|
|
191
|
+
const closeOverlay = t9;
|
|
192
|
+
let t10;
|
|
193
|
+
if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
194
|
+
t10 = () => {
|
|
165
195
|
var _moreMenuBtnRef$curre;
|
|
166
196
|
(_moreMenuBtnRef$curre = moreMenuBtnRef.current) === null || _moreMenuBtnRef$curre === void 0 ? void 0 : _moreMenuBtnRef$curre.focus();
|
|
167
197
|
};
|
|
168
|
-
$[
|
|
198
|
+
$[12] = t10;
|
|
169
199
|
} else {
|
|
170
|
-
|
|
200
|
+
t10 = $[12];
|
|
171
201
|
}
|
|
172
|
-
const focusOnMoreMenuBtn =
|
|
173
|
-
let
|
|
174
|
-
let
|
|
175
|
-
if ($[
|
|
176
|
-
|
|
202
|
+
const focusOnMoreMenuBtn = t10;
|
|
203
|
+
let t11;
|
|
204
|
+
let t12;
|
|
205
|
+
if ($[13] !== isWidgetOpen) {
|
|
206
|
+
t11 = event => {
|
|
177
207
|
if (isWidgetOpen) {
|
|
178
208
|
event.preventDefault();
|
|
179
209
|
closeOverlay();
|
|
180
210
|
focusOnMoreMenuBtn();
|
|
181
211
|
}
|
|
182
212
|
};
|
|
183
|
-
|
|
184
|
-
$[
|
|
185
|
-
$[
|
|
186
|
-
$[
|
|
213
|
+
t12 = [isWidgetOpen];
|
|
214
|
+
$[13] = isWidgetOpen;
|
|
215
|
+
$[14] = t11;
|
|
216
|
+
$[15] = t12;
|
|
187
217
|
} else {
|
|
188
|
-
|
|
189
|
-
|
|
218
|
+
t11 = $[14];
|
|
219
|
+
t12 = $[15];
|
|
190
220
|
}
|
|
191
|
-
useOnEscapePress(
|
|
192
|
-
let
|
|
193
|
-
if ($[
|
|
194
|
-
|
|
221
|
+
useOnEscapePress(t11, t12);
|
|
222
|
+
let t13;
|
|
223
|
+
if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
|
|
224
|
+
t13 = {
|
|
195
225
|
onClickOutside: closeOverlay,
|
|
196
226
|
containerRef,
|
|
197
227
|
ignoreClickRefs: [moreMenuBtnRef]
|
|
198
228
|
};
|
|
199
|
-
$[
|
|
229
|
+
$[16] = t13;
|
|
200
230
|
} else {
|
|
201
|
-
|
|
231
|
+
t13 = $[16];
|
|
202
232
|
}
|
|
203
|
-
useOnOutsideClick(
|
|
204
|
-
let
|
|
205
|
-
if ($[
|
|
206
|
-
|
|
233
|
+
useOnOutsideClick(t13);
|
|
234
|
+
let t14;
|
|
235
|
+
if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
|
|
236
|
+
t14 = {
|
|
207
237
|
containerRef: listRef,
|
|
208
238
|
bindKeys: FocusKeys.ArrowHorizontal | FocusKeys.HomeAndEnd,
|
|
209
239
|
focusOutBehavior: "wrap"
|
|
210
240
|
};
|
|
211
|
-
$[
|
|
241
|
+
$[17] = t14;
|
|
212
242
|
} else {
|
|
213
|
-
|
|
243
|
+
t14 = $[17];
|
|
214
244
|
}
|
|
215
|
-
useFocusZone(
|
|
216
|
-
let
|
|
217
|
-
if ($[
|
|
218
|
-
|
|
245
|
+
useFocusZone(t14);
|
|
246
|
+
let t15;
|
|
247
|
+
if ($[18] !== isVisibleChild || $[19] !== size) {
|
|
248
|
+
t15 = {
|
|
219
249
|
size,
|
|
220
250
|
registerChild,
|
|
221
251
|
unregisterChild,
|
|
222
252
|
isVisibleChild
|
|
223
253
|
};
|
|
224
|
-
$[
|
|
225
|
-
$[
|
|
226
|
-
$[
|
|
227
|
-
} else {
|
|
228
|
-
t12 = $[16];
|
|
229
|
-
}
|
|
230
|
-
let t13;
|
|
231
|
-
if ($[17] !== className) {
|
|
232
|
-
t13 = clsx(className, styles.Nav);
|
|
233
|
-
$[17] = className;
|
|
234
|
-
$[18] = t13;
|
|
254
|
+
$[18] = isVisibleChild;
|
|
255
|
+
$[19] = size;
|
|
256
|
+
$[20] = t15;
|
|
235
257
|
} else {
|
|
236
|
-
|
|
258
|
+
t15 = $[20];
|
|
237
259
|
}
|
|
238
|
-
let
|
|
239
|
-
if ($[
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
$[19] = t14;
|
|
260
|
+
let t16;
|
|
261
|
+
if ($[21] !== className) {
|
|
262
|
+
t16 = clsx(className, styles.Nav);
|
|
263
|
+
$[21] = className;
|
|
264
|
+
$[22] = t16;
|
|
244
265
|
} else {
|
|
245
|
-
|
|
266
|
+
t16 = $[22];
|
|
246
267
|
}
|
|
247
|
-
let
|
|
248
|
-
if ($[
|
|
249
|
-
|
|
268
|
+
let t17;
|
|
269
|
+
if ($[23] !== ariaLabel || $[24] !== childRegistry || $[25] !== menuItemIds) {
|
|
270
|
+
t17 = menuItemIds.size > 0 && /*#__PURE__*/jsxs(ActionMenu, {
|
|
250
271
|
children: [/*#__PURE__*/jsx(ActionMenu.Anchor, {
|
|
251
272
|
children: /*#__PURE__*/jsx(IconButton, {
|
|
252
273
|
variant: "invisible",
|
|
@@ -285,56 +306,61 @@ const ActionBar = props => {
|
|
|
285
306
|
})
|
|
286
307
|
})]
|
|
287
308
|
});
|
|
288
|
-
$[
|
|
289
|
-
$[
|
|
290
|
-
$[
|
|
291
|
-
$[
|
|
309
|
+
$[23] = ariaLabel;
|
|
310
|
+
$[24] = childRegistry;
|
|
311
|
+
$[25] = menuItemIds;
|
|
312
|
+
$[26] = t17;
|
|
292
313
|
} else {
|
|
293
|
-
|
|
314
|
+
t17 = $[26];
|
|
294
315
|
}
|
|
295
|
-
let
|
|
296
|
-
if ($[
|
|
297
|
-
|
|
316
|
+
let t18;
|
|
317
|
+
if ($[27] !== ariaLabel || $[28] !== ariaLabelledBy || $[29] !== children || $[30] !== gap || $[31] !== t17) {
|
|
318
|
+
t18 = /*#__PURE__*/jsxs("div", {
|
|
298
319
|
ref: listRef,
|
|
299
320
|
role: "toolbar",
|
|
300
321
|
className: styles.List,
|
|
301
|
-
|
|
302
|
-
|
|
322
|
+
"aria-label": ariaLabel,
|
|
323
|
+
"aria-labelledby": ariaLabelledBy,
|
|
324
|
+
"data-gap": gap,
|
|
325
|
+
children: [children, t17]
|
|
303
326
|
});
|
|
304
|
-
$[
|
|
305
|
-
$[
|
|
306
|
-
$[
|
|
327
|
+
$[27] = ariaLabel;
|
|
328
|
+
$[28] = ariaLabelledBy;
|
|
329
|
+
$[29] = children;
|
|
330
|
+
$[30] = gap;
|
|
331
|
+
$[31] = t17;
|
|
332
|
+
$[32] = t18;
|
|
307
333
|
} else {
|
|
308
|
-
|
|
334
|
+
t18 = $[32];
|
|
309
335
|
}
|
|
310
|
-
let
|
|
311
|
-
if ($[
|
|
312
|
-
|
|
336
|
+
let t19;
|
|
337
|
+
if ($[33] !== flush || $[34] !== t16 || $[35] !== t18) {
|
|
338
|
+
t19 = /*#__PURE__*/jsx("div", {
|
|
313
339
|
ref: navRef,
|
|
314
|
-
className:
|
|
340
|
+
className: t16,
|
|
315
341
|
"data-flush": flush,
|
|
316
|
-
children:
|
|
342
|
+
children: t18
|
|
317
343
|
});
|
|
318
|
-
$[
|
|
319
|
-
$[
|
|
320
|
-
$[
|
|
321
|
-
$[
|
|
344
|
+
$[33] = flush;
|
|
345
|
+
$[34] = t16;
|
|
346
|
+
$[35] = t18;
|
|
347
|
+
$[36] = t19;
|
|
322
348
|
} else {
|
|
323
|
-
|
|
349
|
+
t19 = $[36];
|
|
324
350
|
}
|
|
325
|
-
let
|
|
326
|
-
if ($[
|
|
327
|
-
|
|
328
|
-
value:
|
|
329
|
-
children:
|
|
351
|
+
let t20;
|
|
352
|
+
if ($[37] !== t15 || $[38] !== t19) {
|
|
353
|
+
t20 = /*#__PURE__*/jsx(ActionBarContext.Provider, {
|
|
354
|
+
value: t15,
|
|
355
|
+
children: t19
|
|
330
356
|
});
|
|
331
|
-
$[
|
|
332
|
-
$[
|
|
333
|
-
$[
|
|
357
|
+
$[37] = t15;
|
|
358
|
+
$[38] = t19;
|
|
359
|
+
$[39] = t20;
|
|
334
360
|
} else {
|
|
335
|
-
|
|
361
|
+
t20 = $[39];
|
|
336
362
|
}
|
|
337
|
-
return
|
|
363
|
+
return t20;
|
|
338
364
|
};
|
|
339
365
|
const ActionBarIconButton = /*#__PURE__*/forwardRef((t0, forwardedRef) => {
|
|
340
366
|
const $ = c(26);
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
.prc-ActionMenu-ActionMenuContainer-XdFHv:where([data-variant=fullscreen]){padding-top:var(--base-size-36,2.25rem)}.prc-ActionMenu-ActionMenuContainer-XdFHv:where([data-overflow-auto]){overflow:auto}.prc-ActionMenu-ActionMenuContainer-XdFHv:where([data-overflow-hidden]){overflow:hidden}.prc-ActionMenu-ActionMenuContainer-XdFHv:where([data-overflow-scroll]){overflow:scroll}.prc-ActionMenu-ActionMenuContainer-XdFHv:where([data-overflow-visible]){overflow:visible}.prc-ActionMenu-ActionMenuContainer-XdFHv:where([data-max-height-xsmall]){max-height:192px}.prc-ActionMenu-ActionMenuContainer-XdFHv:where([data-max-height-small]){max-height:256px}.prc-ActionMenu-ActionMenuContainer-XdFHv:where([data-max-height-medium]){max-height:320px}.prc-ActionMenu-ActionMenuContainer-XdFHv:where([data-max-height-large]){max-height:432px}.prc-ActionMenu-ActionMenuContainer-XdFHv:where([data-max-height-xlarge]){max-height:600px}.prc-ActionMenu-ActionMenuContainer-XdFHv:where([data-max-height-fit-content]){max-height:-moz-fit-content;max-height:fit-content}
|
|
2
|
+
/*# sourceMappingURL=ActionMenu-bb42318d.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ActionMenu/ActionMenu.module.css"],"names":[],"mappings":"AACE,2EACE,uCACF,CAGA,sEACE,aACF,CAEA,wEACE,eACF,CAEA,wEACE,eACF,CAEA,yEACE,gBACF,CAGA,0EACE,gBACF,CAEA,yEACE,gBACF,CAEA,0EACE,gBACF,CAEA,yEACE,gBACF,CAEA,0EACE,gBACF,CAEA,+EACE,2BAAuB,CAAvB,sBACF","file":"ActionMenu-bb42318d.css","sourcesContent":[".ActionMenuContainer {\n &:where([data-variant='fullscreen']) {\n padding-top: var(--base-size-36);\n }\n\n /* Overflow variants */\n &:where([data-overflow-auto]) {\n overflow: auto;\n }\n\n &:where([data-overflow-hidden]) {\n overflow: hidden;\n }\n\n &:where([data-overflow-scroll]) {\n overflow: scroll;\n }\n\n &:where([data-overflow-visible]) {\n overflow: visible;\n }\n\n /* Max-height size tokens (mirror Overlay sizes) */\n &:where([data-max-height-xsmall]) {\n max-height: 192px;\n }\n\n &:where([data-max-height-small]) {\n max-height: 256px;\n }\n\n &:where([data-max-height-medium]) {\n max-height: 320px;\n }\n\n &:where([data-max-height-large]) {\n max-height: 432px;\n }\n\n &:where([data-max-height-xlarge]) {\n max-height: 600px;\n }\n\n &:where([data-max-height-fit-content]) {\n max-height: fit-content;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenu.d.ts","sourceRoot":"","sources":["../../src/ActionMenu/ActionMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAElF,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAA;AAE5D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAA;AAI5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAA;AAC1C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAA;AAIrD,OAAO,KAAK,EAAC,mBAAmB,IAAI,8BAA8B,EAAC,MAAM,sBAAsB,CAAA;AAK/F,OAAO,KAAK,EAAC,gBAAgB,EAAE,cAAc,EAAC,MAAM,sBAAsB,CAAA;AAE1E,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,cAAc,GAAG,eAAe,GAAG,QAAQ,GAAG,KAAK,GAAG,aAAa,GAAG,YAAY,GAAG,OAAO,KAClG,IAAI,CAAA;AAET,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,oBAAoB,EACpB,WAAW,GAAG,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAC9D,GAAG;IACF,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAGD,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,YAAY,CAAA;IAEnD;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CACpC,GAAG,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAA;AAqI3C,MAAM,MAAM,qBAAqB,GAAG;IAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;AAyDnH,6CAA6C;AAC7C,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAA;AAe/C,KAAK,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,GAC3C,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG;IACzD;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,gBAAgB,CAAC,EAAE,CAAC,EAAC,QAAQ,EAAC,EAAE;QAAC,QAAQ,EAAE,cAAc,CAAA;KAAC,KAAK,IAAI,CAAA;CACpE,CAAA;
|
|
1
|
+
{"version":3,"file":"ActionMenu.d.ts","sourceRoot":"","sources":["../../src/ActionMenu/ActionMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAElF,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAA;AAE5D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAA;AAI5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,WAAW,CAAA;AAC1C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAA;AAIrD,OAAO,KAAK,EAAC,mBAAmB,IAAI,8BAA8B,EAAC,MAAM,sBAAsB,CAAA;AAK/F,OAAO,KAAK,EAAC,gBAAgB,EAAE,cAAc,EAAC,MAAM,sBAAsB,CAAA;AAE1E,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,cAAc,GAAG,eAAe,GAAG,QAAQ,GAAG,KAAK,GAAG,aAAa,GAAG,YAAY,GAAG,OAAO,KAClG,IAAI,CAAA;AAET,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,oBAAoB,EACpB,WAAW,GAAG,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAC9D,GAAG;IACF,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAGD,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,YAAY,CAAA;IAEnD;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;CACpC,GAAG,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAA;AAqI3C,MAAM,MAAM,qBAAqB,GAAG;IAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;AAyDnH,6CAA6C;AAC7C,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAA;AAe/C,KAAK,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,GAC3C,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,GAAG;IACzD;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,gBAAgB,CAAC,EAAE,CAAC,EAAC,QAAQ,EAAC,EAAE;QAAC,QAAQ,EAAE,cAAc,CAAA;KAAC,KAAK,IAAI,CAAA;CACpE,CAAA;AAyFH,eAAO,MAAM,UAAU;;;kBArKP,KAAK,CAAC,YAAY;aACvB,MAAM;;;;CAoK4E,CAAA"}
|
|
@@ -267,6 +267,12 @@ const Overlay = ({
|
|
|
267
267
|
ref: containerRef,
|
|
268
268
|
className: styles.ActionMenuContainer,
|
|
269
269
|
"data-variant": responsiveVariant,
|
|
270
|
+
...(overlayProps.overflow ? {
|
|
271
|
+
[`data-overflow-${overlayProps.overflow}`]: ''
|
|
272
|
+
} : {}),
|
|
273
|
+
...(overlayProps.maxHeight ? {
|
|
274
|
+
[`data-max-height-${overlayProps.maxHeight}`]: ''
|
|
275
|
+
} : {}),
|
|
270
276
|
children: /*#__PURE__*/jsx(ActionListContainerContext.Provider, {
|
|
271
277
|
value: {
|
|
272
278
|
container: 'ActionMenu',
|
|
@@ -10,7 +10,7 @@ interface AnchoredOverlayPropsWithAnchor {
|
|
|
10
10
|
* A custom function component used to render the anchor element.
|
|
11
11
|
* Will receive the selected text as `children` prop when an item is activated.
|
|
12
12
|
*/
|
|
13
|
-
renderAnchor: <T extends React.HTMLAttributes<HTMLElement>>(props: T) => JSX.Element;
|
|
13
|
+
renderAnchor: <T extends Omit<React.HTMLAttributes<HTMLElement>, 'aria-label' | 'aria-labelledby'>>(props: T) => JSX.Element;
|
|
14
14
|
/**
|
|
15
15
|
* An override to the internal ref that will be spread on to the renderAnchor
|
|
16
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnchoredOverlay.d.ts","sourceRoot":"","sources":["../../src/AnchoredOverlay/AnchoredOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAA;AAE5C,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,uBAAuB,CAAA;AAEhE,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,uBAAuB,CAAA;AAIhE,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAqB,KAAK,eAAe,EAAC,MAAM,6BAA6B,CAAA;AACpF,OAAO,EAAa,KAAK,eAAe,EAAC,MAAM,WAAW,CAAA;AAK1D,UAAU,8BAA8B;IACtC;;;OAGG;IACH,YAAY,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"AnchoredOverlay.d.ts","sourceRoot":"","sources":["../../src/AnchoredOverlay/AnchoredOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAA;AAE5C,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,uBAAuB,CAAA;AAEhE,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,uBAAuB,CAAA;AAIhE,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAqB,KAAK,eAAe,EAAC,MAAM,6BAA6B,CAAA;AACpF,OAAO,EAAa,KAAK,eAAe,EAAC,MAAM,WAAW,CAAA;AAK1D,UAAU,8BAA8B;IACtC;;;OAGG;IACH,YAAY,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,iBAAiB,CAAC,EAChG,KAAK,EAAE,CAAC,KACL,GAAG,CAAC,OAAO,CAAA;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAExC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,UAAU,iCAAiC;IACzC;;;OAGG;IACH,YAAY,EAAE,IAAI,CAAA;IAElB;;;OAGG;IACH,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IACvC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,iCAAiC,GACzC,OAAO,CAAC,8BAA8B,CAAC,GACvC,iCAAiC,CAAA;AAErC,UAAU,wBAAyB,SAAQ,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC/E;;OAEG;IACH,IAAI,EAAE,OAAO,CAAA;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,OAAO,CAAA;IAE5G;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe,GAAG,QAAQ,GAAG,OAAO,KAAK,OAAO,CAAA;IAErF;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;IAEpC;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAElD;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAElD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY,CAAC,CAAA;IAChE;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,EAAC,QAAQ,EAAC,EAAE;QAAC,QAAQ,EAAE,cAAc,CAAA;KAAC,KAAK,IAAI,CAAA;IACnE;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;CAC5C;AAED,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GACzD,CAAC,8BAA8B,GAAG,iCAAiC,CAAC,GACpE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,MAAM,GAAG,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAA;AASxF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAwJnF,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
.prc-Banner-Banner-IR8eJ{align-items:start;background-color:var(--banner-bgColor);border:var(--borderWidth-thin,.0625rem) solid var(--banner-borderColor);border-radius:var(--borderRadius-medium,.375rem);display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding:var(--base-size-8,.5rem)}@supports (container-type:inline-size){.prc-Banner-Banner-IR8eJ[data-actions-layout=default]{container:banner/inline-size}}.prc-Banner-Banner-IR8eJ[data-actions-layout=stacked] .prc-Banner-BannerContainer-lbx3d{flex-direction:column}.prc-Banner-Banner-IR8eJ[data-actions-layout=stacked] .prc-Banner-BannerActions-XCfHL :where([data-primary-action=trailing]){display:none}.prc-Banner-Banner-IR8eJ[data-actions-layout=stacked] .prc-Banner-BannerActions-XCfHL :where([data-primary-action=leading]){display:flex}.prc-Banner-Banner-IR8eJ[data-actions-layout=inline] .prc-Banner-BannerContainer-lbx3d{flex-wrap:nowrap}.prc-Banner-Banner-IR8eJ[data-actions-layout=inline] .prc-Banner-BannerActions-XCfHL{flex:0 0 auto}.prc-Banner-Banner-IR8eJ[data-actions-layout=inline] .prc-Banner-BannerActions-XCfHL :where([data-primary-action=trailing]){display:flex}.prc-Banner-Banner-IR8eJ[data-actions-layout=inline] .prc-Banner-BannerActions-XCfHL :where([data-primary-action=leading]){display:none}.prc-Banner-Banner-IR8eJ[data-layout=compact]{padding:var(--base-size-4,.25rem)}.prc-Banner-Banner-IR8eJ[data-variant=critical]{--banner-bgColor:var(--bgColor-danger-muted,var(--color-danger-subtle));--banner-borderColor:var(--borderColor-danger-muted,var(--color-danger-muted));--banner-icon-fgColor:var(--fgColor-danger,var(--color-danger-fg))}.prc-Banner-Banner-IR8eJ[data-variant=info]{--banner-bgColor:var(--bgColor-accent-muted,var(--color-accent-subtle));--banner-borderColor:var(--borderColor-accent-muted,var(--color-accent-muted));--banner-icon-fgColor:var(--fgColor-accent,var(--color-accent-fg))}.prc-Banner-Banner-IR8eJ[data-variant=success]{--banner-bgColor:var(--bgColor-success-muted,var(--color-success-subtle));--banner-borderColor:var(--borderColor-success-muted,var(--color-success-muted));--banner-icon-fgColor:var(--fgColor-success,var(--color-success-fg))}.prc-Banner-Banner-IR8eJ[data-variant=upsell]{--banner-bgColor:var(--bgColor-upsell-muted,#fbefff);--banner-borderColor:var(--borderColor-upsell-muted,#c297ff66);--banner-icon-fgColor:var(--fgColor-upsell,#8250df)}.prc-Banner-Banner-IR8eJ[data-variant=warning]{--banner-bgColor:var(--bgColor-attention-muted,var(--color-attention-subtle));--banner-borderColor:var(--borderColor-attention-muted,var(--color-attention-muted));--banner-icon-fgColor:var(--fgColor-attention,var(--color-attention-fg))}.prc-Banner-BannerContainer-lbx3d{align-items:start;column-gap:var(--base-size-4,.25rem);font-size:var(--text-body-size-medium,.875rem);line-height:var(--text-body-lineHeight-medium,1.4285);row-gap:var(--base-size-4,.25rem)}.prc-Banner-Banner-IR8eJ :where(.prc-Banner-BannerContainer-lbx3d){display:flex;flex-wrap:wrap;justify-content:space-between}.prc-Banner-Banner-IR8eJ[data-dismissible]:not([data-title-hidden],[data-actions-layout=inline]) .prc-Banner-BannerContainer-lbx3d{display:grid;grid-template-columns:auto;grid-template-rows:auto}.prc-Banner-BannerContent-zTITK{display:grid;grid-column-start:1;margin-block:var(--base-size-8,.5rem);row-gap:var(--base-size-4,.25rem)}.prc-Banner-Banner-IR8eJ[data-title-hidden]:not(:has(.prc-Banner-BannerActions-XCfHL)) .prc-Banner-BannerContent-zTITK{margin-block:var(--base-size-6,.375rem)}@media screen and (min-width:544px){.prc-Banner-BannerContent-zTITK{flex:1 1 0%}}.prc-Banner-BannerTitle-TcuJl{font-size:inherit;font-weight:var(--base-text-weight-semibold,600);margin:0}.prc-Banner-BannerIcon-WuOyf{display:grid;padding:var(--base-size-8,.5rem);place-items:center}.prc-Banner-BannerIcon-WuOyf svg{color:var(--banner-icon-fgColor);height:var(--base-size-20,1.25rem);fill:var(--banner-icon-fgColor)}.prc-Banner-Banner-IR8eJ[data-title-hidden]:not(:has(.prc-Banner-BannerActions-XCfHL)) .prc-Banner-BannerIcon-WuOyf svg{height:var(--base-size-16,1rem)}.prc-Banner-BannerDismiss-uBZVm{display:grid;margin-inline-start:var(--base-size-4,.25rem);padding:var(--base-size-8,.5rem);place-items:center}:where(.prc-Banner-Banner-IR8eJ):has(.prc-Banner-BannerActions-XCfHL) .prc-Banner-BannerDismiss-uBZVm{margin-block:var(--base-size-2,.125rem)}.prc-Banner-BannerDismiss-uBZVm svg{color:var(--banner-icon-fgColor)}.prc-Banner-BannerActionsContainer-ukGMH{align-items:center;column-gap:var(--base-size-12,.75rem);display:flex;margin-block:var(--base-size-2,.125rem)}.prc-Banner-BannerActions-XCfHL :where([data-primary-action=trailing]){display:none}.prc-Banner-Banner-IR8eJ[data-dismissible]:not([data-title-hidden],[data-actions-layout=inline]) .prc-Banner-BannerActions-XCfHL{margin-block-end:var(--base-size-6,.375rem)}.prc-Banner-Banner-IR8eJ[data-dismissible]:not([data-title-hidden],[data-actions-layout=inline]) .prc-Banner-BannerActionsContainer-ukGMH[data-primary-action=trailing]{display:none}.prc-Banner-Banner-IR8eJ[data-dismissible]:not([data-title-hidden],[data-actions-layout=inline]) .prc-Banner-BannerActionsContainer-ukGMH[data-primary-action=leading]{display:flex}@container banner (max-width: 500px){.prc-Banner-BannerContainer-lbx3d{display:grid}.prc-Banner-BannerContainer-lbx3d:has(.prc-Banner-BannerActionsContainer-ukGMH){grid-template-rows:auto auto}.prc-Banner-BannerActions-XCfHL{margin-block-end:var(--base-size-6,.375rem)}.prc-Banner-BannerActions-XCfHL [data-primary-action=trailing]{display:none}.prc-Banner-BannerActions-XCfHL [data-primary-action=leading]{display:flex}}@container banner (min-width: 500px){.prc-Banner-BannerContainer-lbx3d{display:grid;grid-template-columns:auto auto}:where(.prc-Banner-Banner-IR8eJ):not([data-dismissible]) :where(.prc-Banner-BannerActionsContainer-ukGMH[data-primary-action=trailing]) :where([data-variant=link]:only-child){padding-inline:0 var(--base-size-12,.75rem)}.prc-Banner-BannerActions-XCfHL [data-primary-action=trailing]{display:flex;min-height:var(--base-size-32,2rem)}.prc-Banner-BannerActions-XCfHL [data-primary-action=leading]{display:none}}
|
|
2
|
+
/*# sourceMappingURL=Banner-c1744c4b.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/Banner/Banner.module.css"],"names":[],"mappings":"AAAA,yBASE,iBAAkB,CALlB,sCAAuC,CAEvC,uEAA+D,CAC/D,gDAAyC,CANzC,YAAa,CAOb,6CAA+C,CAN/C,gCAgFF,CAtEI,uCADF,sDAEI,4BAEJ,CADE,CAIA,wFACE,qBACF,CAEA,6HACE,YACF,CAEA,4HACE,YACF,CAIA,uFACE,gBACF,CAEA,qFACE,aACF,CAEA,4HACE,YACF,CAEA,2HACE,YACF,CAGF,8CACE,iCACF,CAEA,gDACE,uEAA6C,CAC7C,8EAAqD,CACrD,kEACF,CAEA,4CACE,uEAA6C,CAC7C,8EAAqD,CACrD,kEACF,CAEA,+CACE,yEAA8C,CAC9C,gFAAsD,CACtD,oEACF,CAEA,8CACE,oDAA6C,CAC7C,8DAAqD,CACrD,mDACF,CAEA,+CACE,6EAAgD,CAChD,oFAAwD,CACxD,wEACF,CAKF,kCAEE,iBAAkB,CAGlB,oCAA8B,CAJ9B,8CAAuC,CAEvC,qDAA+C,CAC/C,iCAEF,CAEA,mEACE,YAAa,CACb,cAAe,CACf,6BACF,CAEA,mIACE,YAAa,CACb,0BAA2B,CAC3B,uBACF,CAIA,gCACE,YAAa,CAEb,mBAAoB,CACpB,qCAAgC,CAFhC,iCAGF,CAEA,uHACE,uCACF,CAEA,oCACE,gCACE,WACF,CACF,CAEA,8BAEE,iBAAkB,CAClB,gDAA6C,CAF7C,QAGF,CAIA,6BACE,YAAa,CAEb,gCAA2B,CAD3B,kBAEF,CAEA,iCAIE,gCAAiC,CAFjC,kCAA2B,CAI3B,+BACF,CAGA,wHACE,+BACF,CAIA,gCACE,YAAa,CAGb,6CAAuC,CADvC,gCAA2B,CAD3B,kBAGF,CAEA,sGACE,uCACF,CAEA,oCAEE,gCACF,CAIA,yCAGE,kBAAmB,CADnB,qCAA+B,CAD/B,YAAa,CAGb,uCACF,CAEA,uEACE,YACF,CAEA,iIACE,2CACF,CAGA,wKAEE,YACF,CAGA,uKAEE,YACF,CAIA,qCACE,kCACE,YACF,CAEA,gFACE,4BACF,CAEA,gCACE,2CACF,CAEA,+DACE,YACF,CAEA,8DACE,YACF,CACF,CAEA,qCACE,kCACE,YAAa,CACb,+BACF,CAEA,+KAGE,2CACF,CAEA,+DACE,YAAa,CACb,mCACF,CAEA,8DACE,YACF,CACF","file":"Banner-c1744c4b.css","sourcesContent":[".Banner {\n display: grid;\n padding: var(--base-size-8);\n /* stylelint-disable-next-line primer/colors */\n background-color: var(--banner-bgColor);\n /* stylelint-disable-next-line primer/colors */\n border: var(--borderWidth-thin) solid var(--banner-borderColor);\n border-radius: var(--borderRadius-medium);\n grid-template-columns: auto minmax(0, 1fr) auto;\n align-items: start;\n\n &[data-actions-layout='default'] {\n @supports (container-type: inline-size) {\n container: banner / inline-size;\n }\n }\n\n &[data-actions-layout='stacked'] {\n & .BannerContainer {\n flex-direction: column;\n }\n\n & .BannerActions :where([data-primary-action='trailing']) {\n display: none;\n }\n\n & .BannerActions :where([data-primary-action='leading']) {\n display: flex;\n }\n }\n\n &[data-actions-layout='inline'] {\n & .BannerContainer {\n flex-wrap: nowrap;\n }\n\n & .BannerActions {\n flex: 0 0 auto;\n }\n\n & .BannerActions :where([data-primary-action='trailing']) {\n display: flex;\n }\n\n & .BannerActions :where([data-primary-action='leading']) {\n display: none;\n }\n }\n\n &[data-layout='compact'] {\n padding: var(--base-size-4);\n }\n\n &[data-variant='critical'] {\n --banner-bgColor: var(--bgColor-danger-muted);\n --banner-borderColor: var(--borderColor-danger-muted);\n --banner-icon-fgColor: var(--fgColor-danger);\n }\n\n &[data-variant='info'] {\n --banner-bgColor: var(--bgColor-accent-muted);\n --banner-borderColor: var(--borderColor-accent-muted);\n --banner-icon-fgColor: var(--fgColor-accent);\n }\n\n &[data-variant='success'] {\n --banner-bgColor: var(--bgColor-success-muted);\n --banner-borderColor: var(--borderColor-success-muted);\n --banner-icon-fgColor: var(--fgColor-success);\n }\n\n &[data-variant='upsell'] {\n --banner-bgColor: var(--bgColor-upsell-muted);\n --banner-borderColor: var(--borderColor-upsell-muted);\n --banner-icon-fgColor: var(--fgColor-upsell);\n }\n\n &[data-variant='warning'] {\n --banner-bgColor: var(--bgColor-attention-muted);\n --banner-borderColor: var(--borderColor-attention-muted);\n --banner-icon-fgColor: var(--fgColor-attention);\n }\n}\n\n/* BannerContainer -------------------------------------------------------- */\n\n.BannerContainer {\n font-size: var(--text-body-size-medium);\n align-items: start;\n line-height: var(--text-body-lineHeight-medium);\n row-gap: var(--base-size-4);\n column-gap: var(--base-size-4);\n}\n\n.Banner :where(.BannerContainer) {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n}\n\n.Banner[data-dismissible]:not([data-title-hidden], [data-actions-layout='inline']) .BannerContainer {\n display: grid;\n grid-template-columns: auto;\n grid-template-rows: auto;\n}\n\n/* BannerContent ---------------------------------------------------------- */\n\n.BannerContent {\n display: grid;\n row-gap: var(--base-size-4);\n grid-column-start: 1;\n margin-block: var(--base-size-8);\n}\n\n.Banner[data-title-hidden]:not(:has(.BannerActions)) .BannerContent {\n margin-block: var(--base-size-6);\n}\n\n@media screen and (min-width: 544px) {\n .BannerContent {\n flex: 1 1 0%;\n }\n}\n\n.BannerTitle {\n margin: 0;\n font-size: inherit;\n font-weight: var(--base-text-weight-semibold);\n}\n\n/* BannerIcon ------------------------------------------------------------- */\n\n.BannerIcon {\n display: grid;\n place-items: center;\n padding: var(--base-size-8);\n}\n\n.BannerIcon svg {\n /* 20px is the line box height of the trailing action buttons */\n height: var(--base-size-20);\n /* stylelint-disable-next-line primer/colors */\n color: var(--banner-icon-fgColor);\n /* stylelint-disable-next-line primer/colors */\n fill: var(--banner-icon-fgColor);\n}\n\n/* stylelint-disable-next-line selector-max-specificity */\n.Banner[data-title-hidden]:not(:has(.BannerActions)) .BannerIcon svg {\n height: var(--base-size-16);\n}\n\n/* BannerDismiss ---------------------------------------------------------- */\n\n.BannerDismiss {\n display: grid;\n place-items: center;\n padding: var(--base-size-8);\n margin-inline-start: var(--base-size-4);\n}\n\n:where(.Banner):has(.BannerActions) .BannerDismiss {\n margin-block: var(--base-size-2);\n}\n\n.BannerDismiss svg {\n /* stylelint-disable-next-line primer/colors */\n color: var(--banner-icon-fgColor);\n}\n\n/* BannerActions ---------------------------------------------------------- */\n\n.BannerActionsContainer {\n display: flex;\n column-gap: var(--base-size-12);\n align-items: center;\n margin-block: var(--base-size-2);\n}\n\n.BannerActions :where([data-primary-action='trailing']) {\n display: none;\n}\n\n.Banner[data-dismissible]:not([data-title-hidden], [data-actions-layout='inline']) .BannerActions {\n margin-block-end: var(--base-size-6);\n}\n\n/* stylelint-disable-next-line selector-max-specificity */\n.Banner[data-dismissible]:not([data-title-hidden], [data-actions-layout='inline'])\n .BannerActionsContainer[data-primary-action='trailing'] {\n display: none;\n}\n\n/* stylelint-disable-next-line selector-max-specificity */\n.Banner[data-dismissible]:not([data-title-hidden], [data-actions-layout='inline'])\n .BannerActionsContainer[data-primary-action='leading'] {\n display: flex;\n}\n\n/* Layout ------------------------------------------------------------------- */\n\n@container banner (max-width: 500px) {\n .BannerContainer {\n display: grid;\n }\n\n .BannerContainer:has(.BannerActionsContainer) {\n grid-template-rows: auto auto;\n }\n\n .BannerActions {\n margin-block-end: var(--base-size-6);\n }\n\n .BannerActions [data-primary-action='trailing'] {\n display: none;\n }\n\n .BannerActions [data-primary-action='leading'] {\n display: flex;\n }\n}\n\n@container banner (min-width: 500px) {\n .BannerContainer {\n display: grid;\n grid-template-columns: auto auto;\n }\n\n :where(.Banner):not([data-dismissible])\n :where(.BannerActionsContainer[data-primary-action='trailing'])\n :where([data-variant='link']:only-child) {\n padding-inline: 0 var(--base-size-12);\n }\n\n .BannerActions [data-primary-action='trailing'] {\n display: flex;\n min-height: var(--base-size-32, 2rem);\n }\n\n .BannerActions [data-primary-action='leading'] {\n display: none;\n }\n}\n"]}
|