@kaizen/components 1.68.13 → 1.69.0
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/dist/cjs/__actions__/Menu/v3/MenuHeader.cjs +22 -0
- package/dist/cjs/__actions__/Menu/v3/MenuPopover.cjs +22 -0
- package/dist/cjs/__actions__/Menu/v3/MenuSection.cjs +22 -0
- package/dist/cjs/__actions__/Menu/v3/MenuTrigger.cjs +1 -1
- package/dist/cjs/actionsV3.cjs +6 -0
- package/dist/esm/__actions__/Menu/v3/MenuHeader.mjs +17 -0
- package/dist/esm/__actions__/Menu/v3/MenuPopover.mjs +17 -0
- package/dist/esm/__actions__/Menu/v3/MenuSection.mjs +17 -0
- package/dist/esm/__actions__/Menu/v3/MenuTrigger.mjs +1 -1
- package/dist/esm/actionsV3.mjs +3 -0
- package/dist/styles.css +51 -51
- package/dist/types/__actions__/Menu/v3/MenuHeader.d.ts +8 -0
- package/dist/types/__actions__/Menu/v3/MenuPopover.d.ts +7 -0
- package/dist/types/__actions__/Menu/v3/MenuSection.d.ts +7 -0
- package/dist/types/__actions__/Menu/v3/MenuTrigger.d.ts +1 -1
- package/dist/types/__actions__/Menu/v3/index.d.ts +3 -0
- package/package.json +3 -3
- package/src/__actions__/Menu/v3/MenuHeader.tsx +12 -0
- package/src/__actions__/Menu/v3/MenuPopover.tsx +12 -0
- package/src/__actions__/Menu/v3/MenuSection.tsx +15 -0
- package/src/__actions__/Menu/v3/MenuTrigger.tsx +1 -1
- package/src/__actions__/Menu/v3/_docs/ApiSpecification.mdx +13 -43
- package/src/__actions__/Menu/v3/_docs/Menu.docs.stories.tsx +33 -31
- package/src/__actions__/Menu/v3/_docs/Menu.mdx +92 -155
- package/src/__actions__/Menu/v3/_docs/Menu.spec.stories.tsx +24 -25
- package/src/__actions__/Menu/v3/_docs/Menu.stories.tsx +39 -7
- package/src/__actions__/Menu/v3/index.ts +3 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var reactAriaComponents = require('react-aria-components');
|
|
6
|
+
function _interopDefault(e) {
|
|
7
|
+
return e && e.__esModule ? e : {
|
|
8
|
+
default: e
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* A <header> element, used to title a MenuSection
|
|
15
|
+
*/
|
|
16
|
+
var MenuHeader = React.forwardRef(function (props, ref) {
|
|
17
|
+
return React__default.default.createElement(reactAriaComponents.Header, tslib.__assign({
|
|
18
|
+
ref: ref
|
|
19
|
+
}, props));
|
|
20
|
+
});
|
|
21
|
+
MenuHeader.displayName = 'MenuHeader';
|
|
22
|
+
exports.MenuHeader = MenuHeader;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var reactAriaComponents = require('react-aria-components');
|
|
6
|
+
function _interopDefault(e) {
|
|
7
|
+
return e && e.__esModule ? e : {
|
|
8
|
+
default: e
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Overlay element for holding a <Menu>
|
|
15
|
+
*/
|
|
16
|
+
var MenuPopover = React.forwardRef(function (props, ref) {
|
|
17
|
+
return React__default.default.createElement(reactAriaComponents.Popover, tslib.__assign({
|
|
18
|
+
ref: ref
|
|
19
|
+
}, props));
|
|
20
|
+
});
|
|
21
|
+
MenuPopover.displayName = 'MenuPopover';
|
|
22
|
+
exports.MenuPopover = MenuPopover;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var reactAriaComponents = require('react-aria-components');
|
|
6
|
+
function _interopDefault(e) {
|
|
7
|
+
return e && e.__esModule ? e : {
|
|
8
|
+
default: e
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* A <section> element used to separate <MenuItem>s
|
|
15
|
+
*/
|
|
16
|
+
var MenuSection = React.forwardRef(function (props, ref) {
|
|
17
|
+
return React__default.default.createElement(reactAriaComponents.MenuSection, tslib.__assign({
|
|
18
|
+
ref: ref
|
|
19
|
+
}, props));
|
|
20
|
+
});
|
|
21
|
+
MenuSection.displayName = 'MenuSection';
|
|
22
|
+
exports.MenuSection = MenuSection;
|
|
@@ -11,7 +11,7 @@ function _interopDefault(e) {
|
|
|
11
11
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* A MenuTrigger adds open/close functionality when wrapping a Button and a Popover (with a Menu inside of the
|
|
14
|
+
* A MenuTrigger adds open/close functionality when wrapping a Button and a Popover (with a Menu inside of the MenuPopover)
|
|
15
15
|
*/
|
|
16
16
|
var MenuTrigger = function (props) {
|
|
17
17
|
return React__default.default.createElement(reactAriaComponents.MenuTrigger, tslib.__assign({}, props));
|
package/dist/cjs/actionsV3.cjs
CHANGED
|
@@ -3,8 +3,14 @@
|
|
|
3
3
|
var Menu = require('./__actions__/Menu/v3/Menu.cjs');
|
|
4
4
|
var MenuItem = require('./__actions__/Menu/v3/MenuItem.cjs');
|
|
5
5
|
var MenuTrigger = require('./__actions__/Menu/v3/MenuTrigger.cjs');
|
|
6
|
+
var MenuPopover = require('./__actions__/Menu/v3/MenuPopover.cjs');
|
|
7
|
+
var MenuSection = require('./__actions__/Menu/v3/MenuSection.cjs');
|
|
8
|
+
var MenuHeader = require('./__actions__/Menu/v3/MenuHeader.cjs');
|
|
6
9
|
var Button = require('./__actions__/Button/v3/Button.cjs');
|
|
7
10
|
exports.Menu = Menu.Menu;
|
|
8
11
|
exports.MenuItem = MenuItem.MenuItem;
|
|
9
12
|
exports.MenuTrigger = MenuTrigger.MenuTrigger;
|
|
13
|
+
exports.MenuPopover = MenuPopover.MenuPopover;
|
|
14
|
+
exports.MenuSection = MenuSection.MenuSection;
|
|
15
|
+
exports.MenuHeader = MenuHeader.MenuHeader;
|
|
10
16
|
exports.Button = Button.Button;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { __assign } from 'tslib';
|
|
2
|
+
import React, { forwardRef } from 'react';
|
|
3
|
+
import { Header } from 'react-aria-components';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A <header> element, used to title a MenuSection
|
|
7
|
+
*/
|
|
8
|
+
const MenuHeader = /*#__PURE__*/function () {
|
|
9
|
+
const MenuHeader = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
10
|
+
return /*#__PURE__*/React.createElement(Header, __assign({
|
|
11
|
+
ref: ref
|
|
12
|
+
}, props));
|
|
13
|
+
});
|
|
14
|
+
MenuHeader.displayName = 'MenuHeader';
|
|
15
|
+
return MenuHeader;
|
|
16
|
+
}();
|
|
17
|
+
export { MenuHeader };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { __assign } from 'tslib';
|
|
2
|
+
import React, { forwardRef } from 'react';
|
|
3
|
+
import { Popover } from 'react-aria-components';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Overlay element for holding a <Menu>
|
|
7
|
+
*/
|
|
8
|
+
const MenuPopover = /*#__PURE__*/function () {
|
|
9
|
+
const MenuPopover = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
10
|
+
return /*#__PURE__*/React.createElement(Popover, __assign({
|
|
11
|
+
ref: ref
|
|
12
|
+
}, props));
|
|
13
|
+
});
|
|
14
|
+
MenuPopover.displayName = 'MenuPopover';
|
|
15
|
+
return MenuPopover;
|
|
16
|
+
}();
|
|
17
|
+
export { MenuPopover };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { __assign } from 'tslib';
|
|
2
|
+
import React, { forwardRef } from 'react';
|
|
3
|
+
import { MenuSection as MenuSection$1 } from 'react-aria-components';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A <section> element used to separate <MenuItem>s
|
|
7
|
+
*/
|
|
8
|
+
const MenuSection = /*#__PURE__*/function () {
|
|
9
|
+
const MenuSection = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
10
|
+
return /*#__PURE__*/React.createElement(MenuSection$1, __assign({
|
|
11
|
+
ref: ref
|
|
12
|
+
}, props));
|
|
13
|
+
});
|
|
14
|
+
MenuSection.displayName = 'MenuSection';
|
|
15
|
+
return MenuSection;
|
|
16
|
+
}();
|
|
17
|
+
export { MenuSection };
|
|
@@ -3,7 +3,7 @@ import React from 'react';
|
|
|
3
3
|
import { MenuTrigger as MenuTrigger$1 } from 'react-aria-components';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* A MenuTrigger adds open/close functionality when wrapping a Button and a Popover (with a Menu inside of the
|
|
6
|
+
* A MenuTrigger adds open/close functionality when wrapping a Button and a Popover (with a Menu inside of the MenuPopover)
|
|
7
7
|
*/
|
|
8
8
|
var MenuTrigger = function (props) {
|
|
9
9
|
return /*#__PURE__*/React.createElement(MenuTrigger$1, __assign({}, props));
|
package/dist/esm/actionsV3.mjs
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export { Menu } from './__actions__/Menu/v3/Menu.mjs';
|
|
2
2
|
export { MenuItem } from './__actions__/Menu/v3/MenuItem.mjs';
|
|
3
3
|
export { MenuTrigger } from './__actions__/Menu/v3/MenuTrigger.mjs';
|
|
4
|
+
export { MenuPopover } from './__actions__/Menu/v3/MenuPopover.mjs';
|
|
5
|
+
export { MenuSection } from './__actions__/Menu/v3/MenuSection.mjs';
|
|
6
|
+
export { MenuHeader } from './__actions__/Menu/v3/MenuHeader.mjs';
|
|
4
7
|
export { Button } from './__actions__/Button/v3/Button.mjs';
|
package/dist/styles.css
CHANGED
|
@@ -1,37 +1,4 @@
|
|
|
1
1
|
@layer tokens, normalize, reset;@layer tokens{:root{--theme-key:heart;--animation-easing-function-ease-in-out:cubic-bezier(0.455,0.03,0.515,0.955);--animation-easing-function-ease-in:cubic-bezier(0.55,0.085,0.68,0.53);--animation-easing-function-ease-out:cubic-bezier(0.25,0.46,0.45,0.94);--animation-easing-function-linear:linear;--animation-easing-function-bounce-in:cubic-bezier(0.485,0.155,0.24,1.245);--animation-easing-function-bounce-out:cubic-bezier(0.485,0.155,0.515,0.845);--animation-easing-function-bounce-in-out:cubic-bezier(0.76,-0.245,0.24,1.245);--animation-duration-instant:0ms;--animation-duration-immediate:100ms;--animation-duration-rapid:200ms;--animation-duration-fast:300ms;--animation-duration-slow:400ms;--animation-duration-deliberate:700ms;--border-solid-border-width:2px;--border-solid-border-radius:7px;--border-solid-border-style:solid;--border-solid-border-color:#e1e2ea;--border-solid-border-color-rgb:225,226,234;--border-dashed-border-width:2px;--border-dashed-border-radius:7px;--border-dashed-border-style:dashed;--border-borderless-border-width:2px;--border-borderless-border-radius:7px;--border-borderless-border-style:solid;--border-borderless-border-color:transparent;--border-borderless-border-color-rgb:0,0,0;--border-focus-ring-border-width:2px;--border-focus-ring-border-radius:10px;--border-focus-ring-border-style:solid;--border-width-1:1px;--color-purple-100:#f4edf8;--color-purple-100-rgb:244,237,248;--color-purple-200:#dfc9ea;--color-purple-200-rgb:223,201,234;--color-purple-300:#c9a5dd;--color-purple-300-rgb:201,165,221;--color-purple-400:#ae67b1;--color-purple-400-rgb:174,103,177;--color-purple-500:#844587;--color-purple-500-rgb:132,69,135;--color-purple-600:#5f3361;--color-purple-600-rgb:95,51,97;--color-purple-700:#4a234d;--color-purple-700-rgb:74,35,77;--color-purple-800:#2f2438;--color-purple-800-rgb:47,36,56;--color-blue-100:#e6f6ff;--color-blue-100-rgb:230,246,255;--color-blue-200:#bde2f5;--color-blue-200-rgb:189,226,245;--color-blue-300:#73c0e8;--color-blue-300-rgb:115,192,232;--color-blue-400:#008bd6;--color-blue-400-rgb:0,139,214;--color-blue-500:#0168b3;--color-blue-500-rgb:1,104,179;--color-blue-600:#004970;--color-blue-600-rgb:0,73,112;--color-blue-700:#003157;--color-blue-700-rgb:0,49,87;--color-green-100:#e8f8f4;--color-green-100-rgb:232,248,244;--color-green-200:#c4ede2;--color-green-200-rgb:196,237,226;--color-green-300:#8fdbc7;--color-green-300-rgb:143,219,199;--color-green-400:#5dcaad;--color-green-400-rgb:93,202,173;--color-green-500:#3f9a86;--color-green-500-rgb:63,154,134;--color-green-600:#2c7d67;--color-green-600-rgb:44,125,103;--color-green-700:#22594a;--color-green-700-rgb:34,89,74;--color-yellow-100:#fff9e4;--color-yellow-100-rgb:255,249,228;--color-yellow-200:#ffeeb3;--color-yellow-200-rgb:255,238,179;--color-yellow-300:#ffe36e;--color-yellow-300-rgb:255,227,110;--color-yellow-400:#ffca4d;--color-yellow-400-rgb:255,202,77;--color-yellow-500:#ffb600;--color-yellow-500-rgb:255,182,0;--color-yellow-600:#c68600;--color-yellow-600-rgb:198,134,0;--color-yellow-700:#876400;--color-yellow-700-rgb:135,100,0;--color-red-100:#fdeaee;--color-red-100-rgb:253,234,238;--color-red-200:#f9c2cb;--color-red-200-rgb:249,194,203;--color-red-300:#f597a8;--color-red-300-rgb:245,151,168;--color-red-400:#e0707d;--color-red-400-rgb:224,112,125;--color-red-500:#c93b55;--color-red-500-rgb:201,59,85;--color-red-600:#a82433;--color-red-600-rgb:168,36,51;--color-red-700:#6c1e20;--color-red-700-rgb:108,30,32;--color-orange-100:#fff0e8;--color-orange-100-rgb:255,240,232;--color-orange-200:#ffd1b9;--color-orange-200-rgb:255,209,185;--color-orange-300:#ffb08a;--color-orange-300-rgb:255,176,138;--color-orange-400:#ff9461;--color-orange-400-rgb:255,148,97;--color-orange-500:#e96c2f;--color-orange-500-rgb:233,108,47;--color-orange-600:#b74302;--color-orange-600-rgb:183,67,2;--color-orange-700:#903c00;--color-orange-700-rgb:144,60,0;--color-gray-100:#f9f9f9;--color-gray-100-rgb:249,249,249;--color-gray-200:#f4f4f5;--color-gray-200-rgb:244,244,245;--color-gray-300:#eaeaec;--color-gray-300-rgb:234,234,236;--color-gray-400:#cdcdd0;--color-gray-400-rgb:205,205,208;--color-gray-500:#878792;--color-gray-500-rgb:135,135,146;--color-gray-600:#524e56;--color-gray-600-rgb:82,78,86;--color-white:#fff;--color-white-rgb:255,255,255;--color-black:#000;--color-black-rgb:0,0,0;--data-viz-favorable:#7dd5bd;--data-viz-favorable-rgb:125,213,189;--data-viz-unfavorable:#e68d97;--data-viz-unfavorable-rgb:230,141,151;--layout-content-max-width:1392px;--layout-content-max-width-with-sidebar:1080px;--layout-content-side-margin:72px;--layout-mobile-actions-drawer-height:60px;--layout-navigation-bar-height:72px;--layout-breakpoints-medium:768px;--layout-breakpoints-large:1080px;--shadow-small-box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 3px 16px 0 rgba(0,0,0,.06);--shadow-large-box-shadow:0 3px 9px 0 rgba(0,0,0,.1),0 8px 40px 0 rgba(0,0,0,.08);--spacing-0:0;--spacing-1:.0625rem;--spacing-2:.125rem;--spacing-4:.25rem;--spacing-6:.375rem;--spacing-8:.5rem;--spacing-12:.75rem;--spacing-16:1rem;--spacing-20:1.25rem;--spacing-24:1.5rem;--spacing-32:2rem;--spacing-40:2.5rem;--spacing-48:3rem;--spacing-56:3.5rem;--spacing-64:4rem;--spacing-72:4.5rem;--spacing-80:5rem;--spacing-96:6rem;--spacing-112:7rem;--spacing-128:8rem;--spacing-160:10rem;--spacing-200:12.5rem;--spacing-240:15rem;--spacing-280:17.5rem;--spacing-320:20rem;--spacing-xs:0.375rem;--spacing-sm:0.75rem;--spacing-md:1.5rem;--spacing-lg:2.25rem;--spacing-xl:3rem;--spacing-xxl:3.75rem;--spacing-xxxl:4.5rem;--spacing-xxxxl:5.25rem;--spacing-xxxxxl:6rem;--typography-data-large-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-large-font-weight:700;--typography-data-large-font-size:5.25rem;--typography-data-large-line-height:5.25rem;--typography-data-large-letter-spacing:normal;--typography-data-large-units-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-large-units-font-weight:700;--typography-data-large-units-font-size:2.625rem;--typography-data-large-units-line-height:5.25rem;--typography-data-large-units-letter-spacing:normal;--typography-data-medium-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-medium-font-weight:700;--typography-data-medium-font-size:3rem;--typography-data-medium-line-height:5rem;--typography-data-medium-letter-spacing:normal;--typography-data-medium-units-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-medium-units-font-weight:700;--typography-data-medium-units-font-size:1.5rem;--typography-data-medium-units-line-height:5rem;--typography-data-medium-units-letter-spacing:normal;--typography-data-small-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-small-font-weight:700;--typography-data-small-font-size:1.5rem;--typography-data-small-line-height:1.5rem;--typography-data-small-letter-spacing:normal;--typography-data-small-units-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-data-small-units-font-weight:700;--typography-data-small-units-font-size:1.125rem;--typography-data-small-units-line-height:1.5rem;--typography-data-small-units-letter-spacing:normal;--typography-display-0-font-family:"Tiempos Headline",Georgia,serif;--typography-display-0-font-weight:800;--typography-display-0-font-size:4.5rem;--typography-display-0-line-height:5.25rem;--typography-display-0-letter-spacing:0em;--typography-heading-1-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-1-font-weight:500;--typography-heading-1-font-size:2.125rem;--typography-heading-1-line-height:2.625rem;--typography-heading-1-letter-spacing:normal;--typography-heading-2-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-2-font-weight:600;--typography-heading-2-font-size:1.75rem;--typography-heading-2-line-height:2.25rem;--typography-heading-2-letter-spacing:normal;--typography-heading-3-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-3-font-weight:600;--typography-heading-3-font-size:1.375rem;--typography-heading-3-line-height:1.875rem;--typography-heading-3-letter-spacing:normal;--typography-heading-4-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-4-font-weight:600;--typography-heading-4-font-size:1.125rem;--typography-heading-4-line-height:1.5rem;--typography-heading-4-letter-spacing:normal;--typography-heading-5-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-5-font-weight:600;--typography-heading-5-font-size:1rem;--typography-heading-5-line-height:1.5rem;--typography-heading-5-letter-spacing:normal;--typography-heading-6-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-heading-6-font-weight:600;--typography-heading-6-font-size:0.875rem;--typography-heading-6-line-height:1.5rem;--typography-heading-6-letter-spacing:normal;--typography-paragraph-intro-lede-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-paragraph-intro-lede-font-weight:400;--typography-paragraph-intro-lede-font-size:1.25rem;--typography-paragraph-intro-lede-line-height:1.875rem;--typography-paragraph-intro-lede-letter-spacing:0;--typography-paragraph-intro-lede-max-width:975px;--typography-paragraph-body-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-paragraph-body-font-weight:400;--typography-paragraph-body-font-size:1rem;--typography-paragraph-body-line-height:1.5rem;--typography-paragraph-body-letter-spacing:normal;--typography-paragraph-body-max-width:780px;--typography-paragraph-small-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-paragraph-small-font-weight:400;--typography-paragraph-small-font-size:0.875rem;--typography-paragraph-small-line-height:1.125rem;--typography-paragraph-small-letter-spacing:normal;--typography-paragraph-small-max-width:680px;--typography-paragraph-extra-small-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-paragraph-extra-small-font-weight:400;--typography-paragraph-extra-small-font-size:0.75rem;--typography-paragraph-extra-small-line-height:1.125rem;--typography-paragraph-extra-small-letter-spacing:normal;--typography-paragraph-extra-small-max-width:600px;--typography-paragraph-bold-font-weight:600;--typography-button-primary-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-button-primary-font-weight:500;--typography-button-primary-font-size:1.125rem;--typography-button-primary-line-height:1.5rem;--typography-button-primary-letter-spacing:normal;--typography-button-secondary-font-family:"Inter","Noto Sans",Helvetica,Arial,sans-serif;--typography-button-secondary-font-weight:500;--typography-button-secondary-font-size:1rem;--typography-button-secondary-line-height:1.5rem;--typography-button-secondary-letter-spacing:normal}}@layer normalize{html{text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{appearance:none}::-webkit-file-upload-button{appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}}@layer reset{@font-face{font-family:Tiempos Headline;font-weight:800;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/tiempos/tiempos-headline-bold.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/tiempos/tiempos-headline-bold.woff)}@font-face{font-family:Tiempos Headline;font-weight:500;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/tiempos/tiempos-headline-medium.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/tiempos/tiempos-headline-medium.woff)}@font-face{font-family:Greycliff CF;font-weight:300;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-light.woff) format("woff")}@font-face{font-family:Greycliff CF;font-weight:400;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-regular.woff) format("woff")}@font-face{font-family:Greycliff CF;font-weight:500;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-medium.woff) format("woff")}@font-face{font-family:Greycliff CF;font-weight:600;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-demi-bold.woff) format("woff")}@font-face{font-family:Greycliff CF;font-weight:700;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-bold.woff) format("woff")}@font-face{font-family:Greycliff CF;font-weight:800;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/greycliff/greycliff-cf-extra-bold.woff) format("woff")}@font-face{font-family:Inter;font-weight:300;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-light.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-light.woff)}@font-face{font-family:Inter;font-weight:400;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-regular.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-regular.woff)}@font-face{font-family:Inter;font-weight:500;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-medium.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-medium.woff)}@font-face{font-family:Inter;font-weight:600;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-demi-bold.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-demi-bold.woff)}@font-face{font-family:Inter;font-weight:700;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-bold.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-bold.woff)}@font-face{font-family:Inter;font-weight:800;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-extra-bold.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/inter/inter-extra-bold.woff)}@font-face{font-family:IBM Plex Mono;src:url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/ibm-plex-mono/ibm-plex-mono-regular.woff2),url(https://d1e7r7b0lb8p4d.cloudfront.net/fonts/ibm-plex-mono/ibm-plex-mono-regular.woff)}}@layer reset{*,:after,:before{border-color:var(--border-solid-border-color,"currentColor");border-style:solid;border-width:0}}
|
|
2
|
-
.Menu-module_menu__AowD8 {
|
|
3
|
-
background-color: var(--color-white);
|
|
4
|
-
color: var(--color-purple-800);
|
|
5
|
-
width: 248px;
|
|
6
|
-
max-height: 22rem;
|
|
7
|
-
overflow: auto;
|
|
8
|
-
padding-block: var(--spacing-6);
|
|
9
|
-
outline: none;
|
|
10
|
-
border-radius: var(--border-solid-border-radius);
|
|
11
|
-
box-shadow: var(--shadow-large-box-shadow);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.Menu-module_menu__AowD8 .react-aria-Header {
|
|
15
|
-
font-family: var(--typography-heading-6-font-family);
|
|
16
|
-
font-size: var(--typography-heading-6-font-size);
|
|
17
|
-
letter-spacing: var(--typography-heading-6-letter-spacing);
|
|
18
|
-
font-weight: var(--typography-heading-6-font-weight);
|
|
19
|
-
line-height: var(--typography-heading-6-line-height);
|
|
20
|
-
padding: var(--spacing-6) 10px;
|
|
21
|
-
margin-inline: var(--spacing-6);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.Menu-module_menu__AowD8 section:not(:last-of-type) {
|
|
25
|
-
&::after {
|
|
26
|
-
width: 100%;
|
|
27
|
-
height: 1px;
|
|
28
|
-
background-color: var(--border-solid-border-color);
|
|
29
|
-
content: '';
|
|
30
|
-
display: block;
|
|
31
|
-
margin-block: var(--spacing-6);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
2
|
.MenuItem-module_item__uImZI {
|
|
36
3
|
display: block;
|
|
37
4
|
font-family: var(--typography-paragraph-body-font-family);
|
|
@@ -79,6 +46,39 @@
|
|
|
79
46
|
opacity: 0.3;
|
|
80
47
|
}
|
|
81
48
|
|
|
49
|
+
.Menu-module_menu__AowD8 {
|
|
50
|
+
background-color: var(--color-white);
|
|
51
|
+
color: var(--color-purple-800);
|
|
52
|
+
width: 248px;
|
|
53
|
+
max-height: 22rem;
|
|
54
|
+
overflow: auto;
|
|
55
|
+
padding-block: var(--spacing-6);
|
|
56
|
+
outline: none;
|
|
57
|
+
border-radius: var(--border-solid-border-radius);
|
|
58
|
+
box-shadow: var(--shadow-large-box-shadow);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.Menu-module_menu__AowD8 .react-aria-Header {
|
|
62
|
+
font-family: var(--typography-heading-6-font-family);
|
|
63
|
+
font-size: var(--typography-heading-6-font-size);
|
|
64
|
+
letter-spacing: var(--typography-heading-6-letter-spacing);
|
|
65
|
+
font-weight: var(--typography-heading-6-font-weight);
|
|
66
|
+
line-height: var(--typography-heading-6-line-height);
|
|
67
|
+
padding: var(--spacing-6) 10px;
|
|
68
|
+
margin-inline: var(--spacing-6);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.Menu-module_menu__AowD8 section:not(:last-of-type) {
|
|
72
|
+
&::after {
|
|
73
|
+
width: 100%;
|
|
74
|
+
height: 1px;
|
|
75
|
+
background-color: var(--border-solid-border-color);
|
|
76
|
+
content: '';
|
|
77
|
+
display: block;
|
|
78
|
+
margin-block: var(--spacing-6);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
82
|
.Button-module_button__vlUCI {
|
|
83
83
|
/* RESET */
|
|
84
84
|
appearance: none;
|
|
@@ -312,23 +312,6 @@
|
|
|
312
312
|
visibility: hidden;
|
|
313
313
|
}
|
|
314
314
|
|
|
315
|
-
.PendingContent-module_pendingContent__c4IFS {
|
|
316
|
-
display: inline-flex;
|
|
317
|
-
align-items: center;
|
|
318
|
-
gap: var(--button-pending-content-gap, var(--spacing-6));
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
.PendingContent-module_large__ypTxk {
|
|
322
|
-
--button-pending-content-gap: var(--spacing-8);
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
.PendingContent-module_centerSpinner__EYn7L {
|
|
326
|
-
position: absolute;
|
|
327
|
-
left: 50%;
|
|
328
|
-
top: 50%;
|
|
329
|
-
transform: translate(-50%, -50%);
|
|
330
|
-
}
|
|
331
|
-
|
|
332
315
|
.ButtonContent-module_buttonContent__v5mHZ {
|
|
333
316
|
display: inline-flex;
|
|
334
317
|
align-items: center;
|
|
@@ -349,9 +332,23 @@
|
|
|
349
332
|
align-items: center;
|
|
350
333
|
}
|
|
351
334
|
|
|
352
|
-
.
|
|
335
|
+
.PendingContent-module_pendingContent__c4IFS {
|
|
353
336
|
display: inline-flex;
|
|
337
|
+
align-items: center;
|
|
338
|
+
gap: var(--button-pending-content-gap, var(--spacing-6));
|
|
354
339
|
}
|
|
340
|
+
|
|
341
|
+
.PendingContent-module_large__ypTxk {
|
|
342
|
+
--button-pending-content-gap: var(--spacing-8);
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
.PendingContent-module_centerSpinner__EYn7L {
|
|
346
|
+
position: absolute;
|
|
347
|
+
left: 50%;
|
|
348
|
+
top: 50%;
|
|
349
|
+
transform: translate(-50%, -50%);
|
|
350
|
+
}
|
|
351
|
+
|
|
355
352
|
/** THIS IS AN AUTOGENERATED FILE **/
|
|
356
353
|
/** THIS IS AN AUTOGENERATED FILE **/
|
|
357
354
|
/** THIS IS AN AUTOGENERATED FILE **/
|
|
@@ -436,6 +433,9 @@
|
|
|
436
433
|
.OverlayArrow-module_overlayArrow__hoDyK.OverlayArrow-module_reversed__-WGcR path {
|
|
437
434
|
fill: var(--color-white, #ffffff);
|
|
438
435
|
}
|
|
436
|
+
.Focusable-module_focusableWrapper__NfuIi {
|
|
437
|
+
display: inline-flex;
|
|
438
|
+
}
|
|
439
439
|
/*
|
|
440
440
|
* This is taken from the Material Symbols CDN
|
|
441
441
|
* font-weight & font-size removed as overridden in .icon
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
export type MenuHeaderProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* A <header> element, used to title a MenuSection
|
|
7
|
+
*/
|
|
8
|
+
export declare const MenuHeader: React.ForwardRefExoticComponent<MenuHeaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PopoverProps } from 'react-aria-components';
|
|
3
|
+
export type MenuPopoverProps = PopoverProps;
|
|
4
|
+
/**
|
|
5
|
+
* Overlay element for holding a <Menu>
|
|
6
|
+
*/
|
|
7
|
+
export declare const MenuPopover: React.ForwardRefExoticComponent<PopoverProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { MenuSectionProps as RACMenuSectionProps } from 'react-aria-components';
|
|
3
|
+
export type MenuSectionProps = RACMenuSectionProps<HTMLDivElement>;
|
|
4
|
+
/**
|
|
5
|
+
* A <section> element used to separate <MenuItem>s
|
|
6
|
+
*/
|
|
7
|
+
export declare const MenuSection: React.ForwardRefExoticComponent<MenuSectionProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MenuTriggerProps as RACMenuTriggerProps } from 'react-aria-components';
|
|
2
2
|
export type MenuTriggerProps = Omit<RACMenuTriggerProps, 'trigger'>;
|
|
3
3
|
/**
|
|
4
|
-
* A MenuTrigger adds open/close functionality when wrapping a Button and a Popover (with a Menu inside of the
|
|
4
|
+
* A MenuTrigger adds open/close functionality when wrapping a Button and a Popover (with a Menu inside of the MenuPopover)
|
|
5
5
|
*/
|
|
6
6
|
export declare const MenuTrigger: (props: MenuTriggerProps) => JSX.Element;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaizen/components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.69.0",
|
|
4
4
|
"description": "Kaizen component library",
|
|
5
5
|
"author": "Geoffrey Chong <geoff.chong@cultureamp.com>",
|
|
6
6
|
"homepage": "https://cultureamp.design",
|
|
@@ -117,8 +117,8 @@
|
|
|
117
117
|
"svgo": "^3.3.2",
|
|
118
118
|
"tslib": "^2.8.1",
|
|
119
119
|
"tsx": "^4.19.2",
|
|
120
|
-
"@kaizen/
|
|
121
|
-
"@kaizen/
|
|
120
|
+
"@kaizen/package-bundler": "2.0.3",
|
|
121
|
+
"@kaizen/design-tokens": "10.8.6"
|
|
122
122
|
},
|
|
123
123
|
"devDependenciesComments": {
|
|
124
124
|
"sass": "Prevent deprecation warnings introduced in 1.80 as we plan to move away from sass",
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { forwardRef, ReactNode } from 'react'
|
|
2
|
+
import { Header } from 'react-aria-components'
|
|
3
|
+
|
|
4
|
+
export type MenuHeaderProps = { children: ReactNode }
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* A <header> element, used to title a MenuSection
|
|
8
|
+
*/
|
|
9
|
+
export const MenuHeader = forwardRef<HTMLDivElement, MenuHeaderProps>(
|
|
10
|
+
(props, ref): JSX.Element => <Header ref={ref} {...props} />,
|
|
11
|
+
)
|
|
12
|
+
MenuHeader.displayName = 'MenuHeader'
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { forwardRef } from 'react'
|
|
2
|
+
import { Popover, PopoverProps } from 'react-aria-components'
|
|
3
|
+
|
|
4
|
+
export type MenuPopoverProps = PopoverProps
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Overlay element for holding a <Menu>
|
|
8
|
+
*/
|
|
9
|
+
export const MenuPopover = forwardRef<HTMLDivElement, MenuPopoverProps>(
|
|
10
|
+
(props, ref): JSX.Element => <Popover ref={ref} {...props} />,
|
|
11
|
+
)
|
|
12
|
+
MenuPopover.displayName = 'MenuPopover'
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React, { forwardRef } from 'react'
|
|
2
|
+
import {
|
|
3
|
+
MenuSection as RACMenuSection,
|
|
4
|
+
MenuSectionProps as RACMenuSectionProps,
|
|
5
|
+
} from 'react-aria-components'
|
|
6
|
+
|
|
7
|
+
export type MenuSectionProps = RACMenuSectionProps<HTMLDivElement>
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A <section> element used to separate <MenuItem>s
|
|
11
|
+
*/
|
|
12
|
+
export const MenuSection = forwardRef<HTMLDivElement, MenuSectionProps>(
|
|
13
|
+
(props, ref): JSX.Element => <RACMenuSection ref={ref} {...props} />,
|
|
14
|
+
)
|
|
15
|
+
MenuSection.displayName = 'MenuSection'
|
|
@@ -7,6 +7,6 @@ import {
|
|
|
7
7
|
export type MenuTriggerProps = Omit<RACMenuTriggerProps, 'trigger'>
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
* A MenuTrigger adds open/close functionality when wrapping a Button and a Popover (with a Menu inside of the
|
|
10
|
+
* A MenuTrigger adds open/close functionality when wrapping a Button and a Popover (with a Menu inside of the MenuPopover)
|
|
11
11
|
*/
|
|
12
12
|
export const MenuTrigger = (props: MenuTriggerProps): JSX.Element => <RACMenuTrigger {...props} />
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import { Canvas, Controls, Meta, Source } from '@storybook/blocks'
|
|
2
|
-
import { KAIOInstallation, ResourceLinks
|
|
2
|
+
import { KAIOInstallation, ResourceLinks } from '~storybook/components'
|
|
3
3
|
import * as docsStories from './Menu.docs.stories'
|
|
4
4
|
import * as exampleStories from './Menu.stories'
|
|
5
5
|
|
|
6
6
|
<Meta title="Actions/Menu/v3/API Specification" />
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
# Menu API Specification (v3)
|
|
8
|
+
# Menu API Specification (v3)
|
|
10
9
|
|
|
11
|
-
Updated
|
|
12
|
-
|
|
13
|
-
</SbContent>
|
|
10
|
+
Updated December 16, 2024
|
|
14
11
|
|
|
15
12
|
<ResourceLinks
|
|
16
13
|
sourceCode="https://github.com/cultureamp/kaizen-design-system/tree/main/packages/components/src/__actions__/Menu"
|
|
@@ -19,34 +16,20 @@ Updated July 4, 2024
|
|
|
19
16
|
ariaComponentPage="https://react-spectrum.adobe.com/react-aria/Menu.html"
|
|
20
17
|
/>
|
|
21
18
|
|
|
22
|
-
<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
</div>
|
|
29
|
-
</SbContent>
|
|
30
|
-
|
|
31
|
-
<SbContent className="mb-24">
|
|
32
|
-
|
|
33
|
-
{' '}
|
|
34
|
-
|
|
35
|
-
<KAIOInstallation exportNames={['Menu', 'MenuTrigger', 'MenuItem']} family="actions" version="3" />
|
|
19
|
+
<KAIOInstallation
|
|
20
|
+
exportNames={['Menu', 'MenuTrigger', 'MenuItem', 'MenuPopover', 'MenuSection', 'MenuHeader']}
|
|
21
|
+
family="actions"
|
|
22
|
+
version="3"
|
|
23
|
+
/>
|
|
36
24
|
|
|
37
|
-
|
|
25
|
+
## Compatibility
|
|
38
26
|
|
|
39
|
-
|
|
40
|
-
code={'import { Popover, Section, Header } from "@kaizen/components/v3/react-aria-components"'}
|
|
41
|
-
language="tsx"
|
|
42
|
-
/>
|
|
27
|
+
The `Menu` `v3` component is not backwards compatible with Kaizen `Button` `v1` and `v2`. This will only work when used with the `Button` `v3` component.
|
|
43
28
|
|
|
44
29
|
## Overview
|
|
45
30
|
|
|
46
31
|
A menu displays a list of actions in a popover, toggled opened with a button.
|
|
47
32
|
|
|
48
|
-
</SbContent>
|
|
49
|
-
|
|
50
33
|
<Canvas
|
|
51
34
|
className="mb-64"
|
|
52
35
|
of={exampleStories.Basic}
|
|
@@ -54,30 +37,17 @@ A menu displays a list of actions in a popover, toggled opened with a button.
|
|
|
54
37
|
code: `
|
|
55
38
|
<MenuTrigger>
|
|
56
39
|
<Button><Icon name="more_horiz" alt="Actions" /></Button>
|
|
57
|
-
<
|
|
40
|
+
<MenuPopover>
|
|
58
41
|
<Menu>
|
|
59
42
|
<MenuItem href="#">Menu Item</MenuItem>
|
|
60
43
|
<MenuItem onAction={handleAction}>Menu Item</MenuItem>
|
|
61
44
|
</Menu>
|
|
62
|
-
</
|
|
45
|
+
</MenuPopover>
|
|
63
46
|
</MenuTrigger>
|
|
64
47
|
`,
|
|
65
48
|
}}
|
|
66
49
|
/>
|
|
67
50
|
|
|
68
|
-
<SbContent className="mb-64">
|
|
69
|
-
### React Aria
|
|
70
|
-
|
|
71
|
-
This component is built using the `react-aria-components` library and extends the [Menu component](https://react-spectrum.adobe.com/react-aria/Menu.html).
|
|
72
|
-
|
|
73
|
-
As this shares the same core [anatomy](https://react-spectrum.adobe.com/react-aria/Menu.html#anatomy), [props types](https://react-spectrum.adobe.com/react-aria/Menu.html#menu-1) and [functionality](https://react-spectrum.adobe.com/react-aria/Menu.html#features), the guidance below is tailored to our implementation and should cover known use cases of the Menu.
|
|
74
|
-
|
|
75
|
-
More on the React Aria API and a deep dive into other examples can be found via the [React Aria docs page](https://react-spectrum.adobe.com/react-aria/Menu.html) if not present below.
|
|
76
|
-
|
|
77
|
-
</SbContent>
|
|
78
|
-
|
|
79
|
-
<SbContent className="mb-12">## API</SbContent>
|
|
80
|
-
|
|
81
51
|
<Controls of={exampleStories.Basic} />
|
|
82
52
|
|
|
83
53
|
## Actions and Next.js routing
|
|
@@ -99,7 +69,7 @@ If you're passing `ReactNode` into `MenuItem` `children`, you'll need to specify
|
|
|
99
69
|
|
|
100
70
|
## Sections
|
|
101
71
|
|
|
102
|
-
Sections can be added with the `
|
|
72
|
+
Sections can be added with the `MenuSection` and `MenuHeader` components.
|
|
103
73
|
|
|
104
74
|
<Canvas className="mb-24" of={exampleStories.WithSections} />
|
|
105
75
|
|