@cimpress-ui/react 1.27.0 → 1.29.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/commonjs/components/app-header/app-header.d.ts.map +1 -1
- package/dist/commonjs/components/app-header/app-header.js +1 -1
- package/dist/commonjs/components/app-header/app-header.js.map +1 -1
- package/dist/commonjs/components/app-header/nav-button.d.ts.map +1 -1
- package/dist/commonjs/components/app-header/nav-button.js +2 -2
- package/dist/commonjs/components/app-header/nav-button.js.map +1 -1
- package/dist/commonjs/components/app-shell/app-shell-context.js.map +1 -1
- package/dist/commonjs/components/app-shell/app-shell.d.ts.map +1 -1
- package/dist/commonjs/components/app-shell/app-shell.js +27 -9
- package/dist/commonjs/components/app-shell/app-shell.js.map +1 -1
- package/dist/commonjs/components/mobile-nav/mobile-nav.d.ts +11 -0
- package/dist/commonjs/components/mobile-nav/mobile-nav.d.ts.map +1 -0
- package/dist/commonjs/components/mobile-nav/mobile-nav.js +11 -0
- package/dist/commonjs/components/mobile-nav/mobile-nav.js.map +1 -0
- package/dist/commonjs/components/side-nav/side-nav.d.ts +12 -12
- package/dist/commonjs/components/side-nav/side-nav.d.ts.map +1 -1
- package/dist/commonjs/components/side-nav/side-nav.js +32 -16
- package/dist/commonjs/components/side-nav/side-nav.js.map +1 -1
- package/dist/commonjs/icons/ai-expand.d.ts +8 -0
- package/dist/commonjs/icons/ai-expand.d.ts.map +1 -0
- package/dist/commonjs/icons/ai-expand.js +24 -0
- package/dist/commonjs/icons/ai-expand.js.map +1 -0
- package/dist/commonjs/icons/chat.d.ts +8 -0
- package/dist/commonjs/icons/chat.d.ts.map +1 -0
- package/dist/commonjs/icons/chat.js +24 -0
- package/dist/commonjs/icons/chat.js.map +1 -0
- package/dist/commonjs/icons/index.d.ts +5 -0
- package/dist/commonjs/icons/index.d.ts.map +1 -1
- package/dist/commonjs/icons/index.js +15 -5
- package/dist/commonjs/icons/index.js.map +1 -1
- package/dist/commonjs/icons/link-broken.d.ts +8 -0
- package/dist/commonjs/icons/link-broken.d.ts.map +1 -0
- package/dist/commonjs/icons/link-broken.js +24 -0
- package/dist/commonjs/icons/link-broken.js.map +1 -0
- package/dist/commonjs/icons/mobile-phone.d.ts +8 -0
- package/dist/commonjs/icons/mobile-phone.d.ts.map +1 -0
- package/dist/commonjs/icons/mobile-phone.js +24 -0
- package/dist/commonjs/icons/mobile-phone.js.map +1 -0
- package/dist/commonjs/icons/phone.d.ts +8 -0
- package/dist/commonjs/icons/phone.d.ts.map +1 -0
- package/dist/commonjs/icons/phone.js +24 -0
- package/dist/commonjs/icons/phone.js.map +1 -0
- package/dist/commonjs/index.d.ts +1 -0
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +1 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/esm/components/app-header/app-header.d.ts.map +1 -1
- package/dist/esm/components/app-header/app-header.js +1 -1
- package/dist/esm/components/app-header/app-header.js.map +1 -1
- package/dist/esm/components/app-header/nav-button.d.ts.map +1 -1
- package/dist/esm/components/app-header/nav-button.js +2 -2
- package/dist/esm/components/app-header/nav-button.js.map +1 -1
- package/dist/esm/components/app-shell/app-shell-context.js.map +1 -1
- package/dist/esm/components/app-shell/app-shell.d.ts.map +1 -1
- package/dist/esm/components/app-shell/app-shell.js +28 -10
- package/dist/esm/components/app-shell/app-shell.js.map +1 -1
- package/dist/esm/components/mobile-nav/mobile-nav.d.ts +11 -0
- package/dist/esm/components/mobile-nav/mobile-nav.d.ts.map +1 -0
- package/dist/esm/components/mobile-nav/mobile-nav.js +8 -0
- package/dist/esm/components/mobile-nav/mobile-nav.js.map +1 -0
- package/dist/esm/components/side-nav/side-nav.d.ts +12 -12
- package/dist/esm/components/side-nav/side-nav.d.ts.map +1 -1
- package/dist/esm/components/side-nav/side-nav.js +35 -19
- package/dist/esm/components/side-nav/side-nav.js.map +1 -1
- package/dist/esm/icons/ai-expand.d.ts +8 -0
- package/dist/esm/icons/ai-expand.d.ts.map +1 -0
- package/dist/esm/icons/ai-expand.js +19 -0
- package/dist/esm/icons/ai-expand.js.map +1 -0
- package/dist/esm/icons/chat.d.ts +8 -0
- package/dist/esm/icons/chat.d.ts.map +1 -0
- package/dist/esm/icons/chat.js +19 -0
- package/dist/esm/icons/chat.js.map +1 -0
- package/dist/esm/icons/index.d.ts +5 -0
- package/dist/esm/icons/index.d.ts.map +1 -1
- package/dist/esm/icons/index.js +5 -0
- package/dist/esm/icons/index.js.map +1 -1
- package/dist/esm/icons/link-broken.d.ts +8 -0
- package/dist/esm/icons/link-broken.d.ts.map +1 -0
- package/dist/esm/icons/link-broken.js +19 -0
- package/dist/esm/icons/link-broken.js.map +1 -0
- package/dist/esm/icons/mobile-phone.d.ts +8 -0
- package/dist/esm/icons/mobile-phone.d.ts.map +1 -0
- package/dist/esm/icons/mobile-phone.js +19 -0
- package/dist/esm/icons/mobile-phone.js.map +1 -0
- package/dist/esm/icons/phone.d.ts +8 -0
- package/dist/esm/icons/phone.d.ts.map +1 -0
- package/dist/esm/icons/phone.js +19 -0
- package/dist/esm/icons/phone.js.map +1 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist-styles/core.css +1 -1
- package/dist-styles/styles.css +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-header.d.ts","sourceRoot":"","sources":["../../../../src/components/app-header/app-header.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQtE,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMpF,MAAM,WAAW,uBAAwB,SAAQ,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;CAAG;AAEzF,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,sGAAsG;IACtG,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,SAAS,EAAE,IAAI,GAAG,uBAAuB,CAAC;IAC1C,oDAAoD;IACpD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"app-header.d.ts","sourceRoot":"","sources":["../../../../src/components/app-header/app-header.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQtE,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMpF,MAAM,WAAW,uBAAwB,SAAQ,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;CAAG;AAEzF,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,sGAAsG;IACtG,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,SAAS,EAAE,IAAI,GAAG,uBAAuB,CAAC;IAC1C,oDAAoD;IACpD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B;AAqED;;;;GAIG;AACH,QAAA,MAAM,UAAU,+GAAqC,CAAC;AAEtD,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC"}
|
|
@@ -23,7 +23,7 @@ function AppHeader({ title, titleLink, tools, UNSTABLE_navButton: navButton, UNS
|
|
|
23
23
|
const isMobile = (0, use_is_mobile_js_1.useIsMobile)();
|
|
24
24
|
const appShellContext = (0, react_1.useContext)(app_shell_context_js_1.AppShellContext);
|
|
25
25
|
const titleLinkProps = typeof titleLink === 'object' && 'href' in titleLink ? titleLink : { href: titleLink };
|
|
26
|
-
return ((0, jsx_runtime_1.jsxs)("header", { ...props, ref: ref, className: (0, clsx_1.default)('cim-app-header', UNSAFE_className), style: UNSAFE_style, "data-react-aria-top-layer": appShellContext?.
|
|
26
|
+
return ((0, jsx_runtime_1.jsxs)("header", { ...props, ref: ref, className: (0, clsx_1.default)('cim-app-header', UNSAFE_className), style: UNSAFE_style, "data-react-aria-top-layer": appShellContext?.mobileNavIsOpen || undefined, children: [(0, jsx_runtime_1.jsxs)("div", { className: "cim-app-header-title", children: [navButton !== undefined ? (navButton) : appShellContext ? ((0, jsx_runtime_1.jsx)(nav_button_js_1.UNSTABLE_AppHeaderNavButton, { "data-app-shell-controlled": true })) : null, (0, jsx_runtime_1.jsx)(cimpress_logo_js_1.CimpressLogo, { height: 24 }), (0, jsx_runtime_1.jsx)(divider_js_1.Divider, { orientation: "vertical" }), (0, jsx_runtime_1.jsx)(text_js_1.Text, { as: "h1", variant: "title-5", tone: "base", children: (0, jsx_runtime_1.jsx)(link_js_1.Link, { ...titleLinkProps, UNSAFE_className: "cim-app-header-title-link", children: title }) }), postTitle] }), search && (0, jsx_runtime_1.jsx)("div", { className: "cim-app-header-search", children: search }), (0, jsx_runtime_1.jsx)("div", { className: "cim-app-header-tools", children: isMobile && tools ? ((0, jsx_runtime_1.jsxs)(popover_js_1.PopoverRoot, { children: [(0, jsx_runtime_1.jsx)(icon_button_js_1.IconButton, { icon: (0, jsx_runtime_1.jsx)(index_js_1.IconMenuMoreVertical, {}), "aria-label": "Expand/collapse header", variant: "tertiary", size: "small" }), (0, jsx_runtime_1.jsx)(popover_js_1.Popover, { "aria-label": "Expanded header", placement: "bottom end", children: (0, jsx_runtime_1.jsx)("div", { className: "cim-app-header-tools-collapsed", children: tools }) })] })) : (tools) })] }));
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Displays a basic application header.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-header.js","sourceRoot":"","sources":["../../../../src/components/app-header/app-header.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AACxB,iCAAsE;AACtE,yDAAkD;AAClD,mDAA4D;AAC5D,mEAA2D;AAC3D,4EAAoE;AACpE,6DAAsD;AACtD,sDAAgD;AAChD,sDAA6D;AAE7D,mDAA6C;AAC7C,mDAA6C;AAC7C,yDAAkD;AAClD,mDAAoF;AAgBpF,SAAS,SAAS,CAChB,EACE,KAAK,EACL,SAAS,EACT,KAAK,EACL,kBAAkB,EAAE,SAAS,EAC7B,kBAAkB,EAAE,SAAS,EAC7B,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACO,EACjB,GAAiC;IAEjC,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;IAC/B,MAAM,eAAe,GAAG,IAAA,kBAAU,EAAC,sCAAe,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAE9G,OAAO,CACL,uCACM,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,cAAI,EAAC,gBAAgB,EAAE,gBAAgB,CAAC,EACnD,KAAK,EAAE,YAAY,+BACQ,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"app-header.js","sourceRoot":"","sources":["../../../../src/components/app-header/app-header.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;AAEb,gDAAwB;AACxB,iCAAsE;AACtE,yDAAkD;AAClD,mDAA4D;AAC5D,mEAA2D;AAC3D,4EAAoE;AACpE,6DAAsD;AACtD,sDAAgD;AAChD,sDAA6D;AAE7D,mDAA6C;AAC7C,mDAA6C;AAC7C,yDAAkD;AAClD,mDAAoF;AAgBpF,SAAS,SAAS,CAChB,EACE,KAAK,EACL,SAAS,EACT,KAAK,EACL,kBAAkB,EAAE,SAAS,EAC7B,kBAAkB,EAAE,SAAS,EAC7B,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACO,EACjB,GAAiC;IAEjC,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAC;IAC/B,MAAM,eAAe,GAAG,IAAA,kBAAU,EAAC,sCAAe,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAE9G,OAAO,CACL,uCACM,KAAK,EACT,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,cAAI,EAAC,gBAAgB,EAAE,gBAAgB,CAAC,EACnD,KAAK,EAAE,YAAY,+BACQ,eAAe,EAAE,eAAe,IAAI,SAAS,aAExE,iCAAK,SAAS,EAAC,sBAAsB,aAClC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CACzB,SAAS,CACV,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CACpB,uBAAC,2CAAkB,wCAA6B,CACjD,CAAC,CAAC,CAAC,IAAI,EACR,uBAAC,+BAAY,IAAC,MAAM,EAAE,EAAE,GAAI,EAC5B,uBAAC,oBAAO,IAAC,WAAW,EAAC,UAAU,GAAG,EAClC,uBAAC,cAAI,IAAC,EAAE,EAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,YACzC,uBAAC,cAAI,OAAK,cAAc,EAAE,gBAAgB,EAAC,2BAA2B,YACnE,KAAK,GACD,GACF,EAEN,SAAS,IACN,EAEL,MAAM,IAAI,gCAAK,SAAS,EAAC,uBAAuB,YAAE,MAAM,GAAO,EAEhE,gCAAK,SAAS,EAAC,sBAAsB,YAClC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CACnB,wBAAC,wBAAW,eACV,uBAAC,2BAAU,IACT,IAAI,EAAE,uBAAC,+BAAoB,KAAG,gBAEnB,wBAAwB,EACnC,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,OAAO,GACZ,EACF,uBAAC,oBAAO,kBAAY,iBAAiB,EAAC,SAAS,EAAC,YAAY,YAC1D,gCAAK,SAAS,EAAC,gCAAgC,YAAE,KAAK,GAAO,GACrD,IACE,CACf,CAAC,CAAC,CAAC,CACF,KAAK,CACN,GACG,IACC,CACV,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,GAAG,IAAA,2BAAU,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAE/B,+BAAS","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { useContext, type ForwardedRef, type ReactNode } from 'react';\nimport { forwardRef } from '../../forward-ref.js';\nimport { IconMenuMoreVertical } from '../../icons/index.js';\nimport { useIsMobile } from '../../utils/use-is-mobile.js';\nimport { AppShellContext } from '../app-shell/app-shell-context.js';\nimport { IconButton } from '../button/icon-button.js';\nimport { Divider } from '../divider/divider.js';\nimport { Popover, PopoverRoot } from '../popover/popover.js';\nimport type { CommonProps, Href, NavigationProps, WithRequired } from '../types.js';\nimport { Link } from '../typography/link.js';\nimport { Text } from '../typography/text.js';\nimport { CimpressLogo } from './cimpress-logo.js';\nimport { UNSTABLE_AppHeaderNavButton as AppHeaderNavButton } from './nav-button.js';\n\nexport interface AppHeaderTitleLinkProps extends WithRequired<NavigationProps, 'href'> {}\n\nexport interface AppHeaderProps extends CommonProps {\n /** The title displayed in the header, usually the application name. Rendered as an `<h1>` element. */\n title: string;\n /** The props of the link that is rendered around the header title. */\n titleLink: Href | AppHeaderTitleLinkProps;\n /** The tools to render at the end of the header. */\n tools?: ReactNode;\n UNSTABLE_navButton?: ReactNode;\n UNSTABLE_postTitle?: ReactNode;\n UNSTABLE_search?: ReactNode;\n}\n\nfunction AppHeader(\n {\n title,\n titleLink,\n tools,\n UNSTABLE_navButton: navButton,\n UNSTABLE_postTitle: postTitle,\n UNSTABLE_search: search,\n UNSAFE_className,\n UNSAFE_style,\n ...props\n }: AppHeaderProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const isMobile = useIsMobile();\n const appShellContext = useContext(AppShellContext);\n const titleLinkProps = typeof titleLink === 'object' && 'href' in titleLink ? titleLink : { href: titleLink };\n\n return (\n <header\n {...props}\n ref={ref}\n className={clsx('cim-app-header', UNSAFE_className)}\n style={UNSAFE_style}\n data-react-aria-top-layer={appShellContext?.mobileNavIsOpen || undefined}\n >\n <div className=\"cim-app-header-title\">\n {navButton !== undefined ? (\n navButton\n ) : appShellContext ? (\n <AppHeaderNavButton data-app-shell-controlled />\n ) : null}\n <CimpressLogo height={24} />\n <Divider orientation=\"vertical\" />\n <Text as=\"h1\" variant=\"title-5\" tone=\"base\">\n <Link {...titleLinkProps} UNSAFE_className=\"cim-app-header-title-link\">\n {title}\n </Link>\n </Text>\n\n {postTitle}\n </div>\n\n {search && <div className=\"cim-app-header-search\">{search}</div>}\n\n <div className=\"cim-app-header-tools\">\n {isMobile && tools ? (\n <PopoverRoot>\n <IconButton\n icon={<IconMenuMoreVertical />}\n // TODO: i18n\n aria-label=\"Expand/collapse header\"\n variant=\"tertiary\"\n size=\"small\"\n />\n <Popover aria-label=\"Expanded header\" placement=\"bottom end\">\n <div className=\"cim-app-header-tools-collapsed\">{tools}</div>\n </Popover>\n </PopoverRoot>\n ) : (\n tools\n )}\n </div>\n </header>\n );\n}\n\n/**\n * Displays a basic application header.\n *\n * See [app header usage guidelines](https://ui.cimpress.io/components/app-header/).\n */\nconst _AppHeader = forwardRef(AppHeader, 'AppHeader');\n\nexport { _AppHeader as AppHeader };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-button.d.ts","sourceRoot":"","sources":["../../../../src/components/app-header/nav-button.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,gCAAiC,SAAQ,WAAW;IACnE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"nav-button.d.ts","sourceRoot":"","sources":["../../../../src/components/app-header/nav-button.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,gCAAiC,SAAQ,WAAW;IACnE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AA6BD,QAAA,MAAM,4BAA4B,qLAAgF,CAAC;AAEnH,OAAO,EAAE,4BAA4B,IAAI,2BAA2B,EAAE,CAAC"}
|
|
@@ -12,13 +12,13 @@ const index_js_1 = require("../../icons/index.js");
|
|
|
12
12
|
const with_style_props_js_1 = require("../../with-style-props.js");
|
|
13
13
|
const app_shell_context_js_1 = require("../app-shell/app-shell-context.js");
|
|
14
14
|
const icon_button_js_1 = require("../button/icon-button.js");
|
|
15
|
-
function UNSTABLE_AppHeaderNavButton({ isOpen, onPress, UNSAFE_className, UNSAFE_style }, ref) {
|
|
15
|
+
function UNSTABLE_AppHeaderNavButton({ isOpen, onPress, UNSAFE_className, UNSAFE_style, ...props }, ref) {
|
|
16
16
|
const appShellContext = (0, react_1.useContext)(app_shell_context_js_1.AppShellContext);
|
|
17
17
|
const handlePress = () => {
|
|
18
18
|
onPress?.();
|
|
19
19
|
appShellContext?.toggleSideNav();
|
|
20
20
|
};
|
|
21
|
-
return ((0, jsx_runtime_1.jsx)(icon_button_js_1.IconButton, { "aria-expanded": isOpen ?? appShellContext?.
|
|
21
|
+
return ((0, jsx_runtime_1.jsx)(icon_button_js_1.IconButton, { ...props, "aria-expanded": isOpen ?? appShellContext?.mobileNavIsOpen, icon: (0, jsx_runtime_1.jsx)(index_js_1.IconMenu, {}), "aria-label": "Open menu", variant: "tertiary", onPress: handlePress, ref: ref, UNSAFE_className: (0, clsx_1.default)('cim-app-header-nav-toggle', UNSAFE_className), UNSAFE_style: UNSAFE_style }));
|
|
22
22
|
}
|
|
23
23
|
const _UNSTABLE_AppHeaderNavButton = (0, with_style_props_js_1.withStyleProps)((0, forward_ref_js_1.forwardRef)(UNSTABLE_AppHeaderNavButton, 'AppHeaderNavButton'));
|
|
24
24
|
exports.UNSTABLE_AppHeaderNavButton = _UNSTABLE_AppHeaderNavButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-button.js","sourceRoot":"","sources":["../../../../src/components/app-header/nav-button.tsx"],"names":[],"mappings":";;;;;;;AAAA,gDAAwB;AACxB,iCAAsD;AACtD,yDAAkD;AAClD,mDAAgD;AAChD,mEAA2D;AAC3D,4EAAoE;AACpE,6DAAsD;AAQtD,SAAS,2BAA2B,CAClC,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAoC,
|
|
1
|
+
{"version":3,"file":"nav-button.js","sourceRoot":"","sources":["../../../../src/components/app-header/nav-button.tsx"],"names":[],"mappings":";;;;;;;AAAA,gDAAwB;AACxB,iCAAsD;AACtD,yDAAkD;AAClD,mDAAgD;AAChD,mEAA2D;AAC3D,4EAAoE;AACpE,6DAAsD;AAQtD,SAAS,2BAA2B,CAClC,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAoC,EAC/F,GAAoC;IAEpC,MAAM,eAAe,GAAG,IAAA,kBAAU,EAAC,sCAAe,CAAC,CAAC;IAEpD,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,OAAO,EAAE,EAAE,CAAC;QACZ,eAAe,EAAE,aAAa,EAAE,CAAC;IACnC,CAAC,CAAC;IAEF,OAAO,CACL,uBAAC,2BAAU,OACL,KAAK,mBACM,MAAM,IAAI,eAAe,EAAE,eAAe,EACzD,IAAI,EAAE,uBAAC,mBAAQ,KAAG,gBAEP,WAAW,EACtB,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,GAAG,EACR,gBAAgB,EAAE,IAAA,cAAI,EAAC,2BAA2B,EAAE,gBAAgB,CAAC,EACrE,YAAY,EAAE,YAAY,GAC1B,CACH,CAAC;AACJ,CAAC;AAED,MAAM,4BAA4B,GAAG,IAAA,oCAAc,EAAC,IAAA,2BAAU,EAAC,2BAA2B,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAE1E,mEAA2B","sourcesContent":["import clsx from 'clsx';\nimport { useContext, type ForwardedRef } from 'react';\nimport { forwardRef } from '../../forward-ref.js';\nimport { IconMenu } from '../../icons/index.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { AppShellContext } from '../app-shell/app-shell-context.js';\nimport { IconButton } from '../button/icon-button.js';\nimport type { CommonProps } from '../types.js';\n\nexport interface UNSTABLE_AppHeaderNavButtonProps extends CommonProps {\n isOpen?: boolean;\n onPress?: () => void;\n}\n\nfunction UNSTABLE_AppHeaderNavButton(\n { isOpen, onPress, UNSAFE_className, UNSAFE_style, ...props }: UNSTABLE_AppHeaderNavButtonProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) {\n const appShellContext = useContext(AppShellContext);\n\n const handlePress = () => {\n onPress?.();\n appShellContext?.toggleSideNav();\n };\n\n return (\n <IconButton\n {...props}\n aria-expanded={isOpen ?? appShellContext?.mobileNavIsOpen}\n icon={<IconMenu />}\n // TODO\n aria-label=\"Open menu\"\n variant=\"tertiary\"\n onPress={handlePress}\n ref={ref}\n UNSAFE_className={clsx('cim-app-header-nav-toggle', UNSAFE_className)}\n UNSAFE_style={UNSAFE_style}\n />\n );\n}\n\nconst _UNSTABLE_AppHeaderNavButton = withStyleProps(forwardRef(UNSTABLE_AppHeaderNavButton, 'AppHeaderNavButton'));\n\nexport { _UNSTABLE_AppHeaderNavButton as UNSTABLE_AppHeaderNavButton };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-shell-context.js","sourceRoot":"","sources":["../../../../src/components/app-shell/app-shell-context.tsx"],"names":[],"mappings":";;;AAAA,iCAAsC;AAEtC,gBAAgB;AACH,QAAA,eAAe,GAAG,IAAA,qBAAa,
|
|
1
|
+
{"version":3,"file":"app-shell-context.js","sourceRoot":"","sources":["../../../../src/components/app-shell/app-shell-context.tsx"],"names":[],"mappings":";;;AAAA,iCAAsC;AAEtC,gBAAgB;AACH,QAAA,eAAe,GAAG,IAAA,qBAAa,EAQlC,IAAI,CAAC,CAAC","sourcesContent":["import { createContext } from 'react';\n\n/** @internal */\nexport const AppShellContext = createContext<{\n mobileNavIsOpen: boolean;\n toggleMobileNav: (isOpen?: boolean) => void;\n sideNavIsCollapsed: boolean | undefined;\n toggleSideNavCollapse: (isCollapsed?: boolean) => void;\n sideNavIsCollapsible: boolean;\n setSideNavIsCollapsible: (isCollapsible: boolean) => void;\n toggleSideNav: () => void;\n} | null>(null);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../../../src/components/app-shell/app-shell.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../../../src/components/app-shell/app-shell.tsx"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACzD,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,2CAmC/G;AAED,MAAM,WAAW,0BAA2B,SAAQ,WAAW;IAC7D,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,0BAA0B,2CAM5B"}
|
|
@@ -8,19 +8,37 @@ exports.UNSTABLE_AppShellBody = UNSTABLE_AppShellBody;
|
|
|
8
8
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
9
9
|
const clsx_1 = __importDefault(require("clsx"));
|
|
10
10
|
const react_1 = require("react");
|
|
11
|
-
const
|
|
11
|
+
const breakpoints_js_1 = require("../../utils/breakpoints.js");
|
|
12
12
|
const app_shell_context_js_1 = require("./app-shell-context.js");
|
|
13
13
|
function UNSTABLE_AppShell({ children, UNSAFE_className, UNSAFE_style, ...props }) {
|
|
14
|
-
const [
|
|
15
|
-
const
|
|
16
|
-
|
|
14
|
+
const [sideNavIsCollapsible, setSideNavIsCollapsible] = (0, react_1.useState)(false);
|
|
15
|
+
const [mobileNavIsOpen, setMobileNavIsOpen] = (0, react_1.useState)(false);
|
|
16
|
+
const toggleMobileNav = (0, react_1.useCallback)((isOpen) => {
|
|
17
|
+
setMobileNavIsOpen((prevIsOpen) => isOpen ?? !prevIsOpen);
|
|
17
18
|
}, []);
|
|
18
|
-
|
|
19
|
+
const [sideNavIsCollapsed, setSideNavIsCollapsed] = (0, react_1.useState)(undefined);
|
|
20
|
+
const toggleSideNavCollapse = (0, react_1.useCallback)((isCollapsed) => {
|
|
21
|
+
setSideNavIsCollapsed((prevIsCollapsed) => isCollapsed ?? !prevIsCollapsed);
|
|
22
|
+
}, []);
|
|
23
|
+
const toggleSideNav = (0, react_1.useCallback)(() => {
|
|
24
|
+
if (sideNavIsCollapsible && (0, breakpoints_js_1.matchesBreakpoint)({ min: 'md' })) {
|
|
25
|
+
toggleSideNavCollapse();
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
toggleMobileNav();
|
|
29
|
+
}
|
|
30
|
+
}, [sideNavIsCollapsible, toggleMobileNav, toggleSideNavCollapse]);
|
|
31
|
+
return ((0, jsx_runtime_1.jsx)(app_shell_context_js_1.AppShellContext.Provider, { value: {
|
|
32
|
+
sideNavIsCollapsible,
|
|
33
|
+
setSideNavIsCollapsible,
|
|
34
|
+
mobileNavIsOpen,
|
|
35
|
+
toggleMobileNav,
|
|
36
|
+
sideNavIsCollapsed,
|
|
37
|
+
toggleSideNavCollapse,
|
|
38
|
+
toggleSideNav,
|
|
39
|
+
}, children: (0, jsx_runtime_1.jsx)("div", { className: (0, clsx_1.default)('cim-app-shell', UNSAFE_className), style: UNSAFE_style, ...props, children: children }) }));
|
|
19
40
|
}
|
|
20
41
|
function UNSTABLE_AppShellBody({ children, UNSAFE_className, UNSAFE_style, ...props }) {
|
|
21
|
-
|
|
22
|
-
const sideNavIsOpen = appShellContext?.sideNavIsOpen ?? false;
|
|
23
|
-
const isMobile = (0, use_is_mobile_js_1.useIsMobile)();
|
|
24
|
-
return ((0, jsx_runtime_1.jsx)("div", { className: (0, clsx_1.default)('cim-app-shell-body', UNSAFE_className), style: UNSAFE_style, inert: isMobile && sideNavIsOpen ? '' : undefined, ...props, children: children }));
|
|
42
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: (0, clsx_1.default)('cim-app-shell-body', UNSAFE_className), style: UNSAFE_style, ...props, children: children }));
|
|
25
43
|
}
|
|
26
44
|
//# sourceMappingURL=app-shell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-shell.js","sourceRoot":"","sources":["../../../../src/components/app-shell/app-shell.tsx"],"names":[],"mappings":";;;;;AAUA,
|
|
1
|
+
{"version":3,"file":"app-shell.js","sourceRoot":"","sources":["../../../../src/components/app-shell/app-shell.tsx"],"names":[],"mappings":";;;;;AAUA,8CAmCC;AAMD,sDAWC;;AA9DD,gDAAwB;AACxB,iCAA8D;AAC9D,+DAA+D;AAE/D,iEAAyD;AAMzD,SAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAA0B;IAC9G,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACxE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,IAAA,mBAAW,EAAC,CAAC,MAAgB,EAAE,EAAE;QACvD,kBAAkB,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,IAAA,gBAAQ,EAAsB,SAAS,CAAC,CAAC;IAC7F,MAAM,qBAAqB,GAAG,IAAA,mBAAW,EAAC,CAAC,WAAqB,EAAE,EAAE;QAClE,qBAAqB,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9E,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,aAAa,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACrC,IAAI,oBAAoB,IAAI,IAAA,kCAAiB,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC7D,qBAAqB,EAAE,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,eAAe,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,EAAE,CAAC,oBAAoB,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAEnE,OAAO,CACL,uBAAC,sCAAe,CAAC,QAAQ,IACvB,KAAK,EAAE;YACL,oBAAoB;YACpB,uBAAuB;YACvB,eAAe;YACf,eAAe;YACf,kBAAkB;YAClB,qBAAqB;YACrB,aAAa;SACd,YAED,gCAAK,SAAS,EAAE,IAAA,cAAI,EAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,KAAM,KAAK,YACpF,QAAQ,GACL,GACmB,CAC5B,CAAC;AACJ,CAAC;AAMD,SAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACmB;IAC3B,OAAO,CACL,gCAAK,SAAS,EAAE,IAAA,cAAI,EAAC,oBAAoB,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,KAAM,KAAK,YACzF,QAAQ,GACL,CACP,CAAC;AACJ,CAAC","sourcesContent":["import clsx from 'clsx';\nimport { useCallback, useState, type ReactNode } from 'react';\nimport { matchesBreakpoint } from '../../utils/breakpoints.js';\nimport type { CommonProps } from '../types.js';\nimport { AppShellContext } from './app-shell-context.js';\n\nexport interface UNSTABLE_AppShellProps extends CommonProps {\n children: ReactNode;\n}\n\nexport function UNSTABLE_AppShell({ children, UNSAFE_className, UNSAFE_style, ...props }: UNSTABLE_AppShellProps) {\n const [sideNavIsCollapsible, setSideNavIsCollapsible] = useState(false);\n const [mobileNavIsOpen, setMobileNavIsOpen] = useState(false);\n const toggleMobileNav = useCallback((isOpen?: boolean) => {\n setMobileNavIsOpen((prevIsOpen) => isOpen ?? !prevIsOpen);\n }, []);\n const [sideNavIsCollapsed, setSideNavIsCollapsed] = useState<boolean | undefined>(undefined);\n const toggleSideNavCollapse = useCallback((isCollapsed?: boolean) => {\n setSideNavIsCollapsed((prevIsCollapsed) => isCollapsed ?? !prevIsCollapsed);\n }, []);\n const toggleSideNav = useCallback(() => {\n if (sideNavIsCollapsible && matchesBreakpoint({ min: 'md' })) {\n toggleSideNavCollapse();\n } else {\n toggleMobileNav();\n }\n }, [sideNavIsCollapsible, toggleMobileNav, toggleSideNavCollapse]);\n\n return (\n <AppShellContext.Provider\n value={{\n sideNavIsCollapsible,\n setSideNavIsCollapsible,\n mobileNavIsOpen,\n toggleMobileNav,\n sideNavIsCollapsed,\n toggleSideNavCollapse,\n toggleSideNav,\n }}\n >\n <div className={clsx('cim-app-shell', UNSAFE_className)} style={UNSAFE_style} {...props}>\n {children}\n </div>\n </AppShellContext.Provider>\n );\n}\n\nexport interface UNSTABLE_AppShellBodyProps extends CommonProps {\n children: ReactNode;\n}\n\nexport function UNSTABLE_AppShellBody({\n children,\n UNSAFE_className,\n UNSAFE_style,\n ...props\n}: UNSTABLE_AppShellBodyProps) {\n return (\n <div className={clsx('cim-app-shell-body', UNSAFE_className)} style={UNSAFE_style} {...props}>\n {children}\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export interface UNSTABLE_MobileNavProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
isOpen?: boolean;
|
|
5
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function UNSTABLE_MobileNav({ children, isOpen, onOpenChange }: UNSTABLE_MobileNavProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare namespace UNSTABLE_MobileNav {
|
|
9
|
+
var displayName: string;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=mobile-nav.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobile-nav.d.ts","sourceRoot":"","sources":["../../../../src/components/mobile-nav/mobile-nav.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,uBAAuB,2CAoB7F;yBApBe,kBAAkB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UNSTABLE_MobileNav = UNSTABLE_MobileNav;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_aria_components_1 = require("react-aria-components");
|
|
6
|
+
const focusable_container_js_1 = require("../internal/focusable-container/focusable-container.js");
|
|
7
|
+
function UNSTABLE_MobileNav({ children, isOpen, onOpenChange }) {
|
|
8
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "cim-mobile-nav", children: (0, jsx_runtime_1.jsx)(react_aria_components_1.ModalOverlay, { isOpen: isOpen, onOpenChange: onOpenChange, isDismissable: true, className: "cim-mobile-nav-drawer-overlay", "data-cim-style-root": true, children: (0, jsx_runtime_1.jsx)(react_aria_components_1.Modal, { className: "cim-mobile-nav-drawer", children: (0, jsx_runtime_1.jsx)(react_aria_components_1.Dialog, { className: "cim-mobile-nav-drawer-dialog", "aria-label": "Navigation", children: (0, jsx_runtime_1.jsx)(focusable_container_js_1.FocusableContainer, { scrollDirection: "vertical", className: "cim-mobile-nav-drawer-body", children: children }) }) }) }) }));
|
|
9
|
+
}
|
|
10
|
+
UNSTABLE_MobileNav.displayName = 'UNSTABLE_MobileNav';
|
|
11
|
+
//# sourceMappingURL=mobile-nav.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobile-nav.js","sourceRoot":"","sources":["../../../../src/components/mobile-nav/mobile-nav.tsx"],"names":[],"mappings":";;AAUA,gDAoBC;;AA7BD,iEAAgH;AAChH,mGAA4F;AAQ5F,SAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAA2B;IAC5F,OAAO,CACL,gCAAK,SAAS,EAAC,gBAAgB,YAC7B,uBAAC,oCAAe,IACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,aAAa,QACb,SAAS,EAAC,+BAA+B,yCAGzC,uBAAC,6BAAQ,IAAC,SAAS,EAAC,uBAAuB,YACzC,uBAAC,8BAAS,IAAC,SAAS,EAAC,8BAA8B,gBAAY,YAAY,YACzE,uBAAC,2CAAkB,IAAC,eAAe,EAAC,UAAU,EAAC,SAAS,EAAC,4BAA4B,YAClF,QAAQ,GACU,GACX,GACH,GACK,GACd,CACP,CAAC;AACJ,CAAC;AAED,kBAAkB,CAAC,WAAW,GAAG,oBAAoB,CAAC","sourcesContent":["import type { ReactNode } from 'react';\nimport { Dialog as RACDialog, Modal as RACModal, ModalOverlay as RACModalOverlay } from 'react-aria-components';\nimport { FocusableContainer } from '../internal/focusable-container/focusable-container.js';\n\nexport interface UNSTABLE_MobileNavProps {\n children: ReactNode;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n}\n\nexport function UNSTABLE_MobileNav({ children, isOpen, onOpenChange }: UNSTABLE_MobileNavProps) {\n return (\n <div className=\"cim-mobile-nav\">\n <RACModalOverlay\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n isDismissable\n className=\"cim-mobile-nav-drawer-overlay\"\n data-cim-style-root\n >\n <RACModal className=\"cim-mobile-nav-drawer\">\n <RACDialog className=\"cim-mobile-nav-drawer-dialog\" aria-label=\"Navigation\">\n <FocusableContainer scrollDirection=\"vertical\" className=\"cim-mobile-nav-drawer-body\">\n {children}\n </FocusableContainer>\n </RACDialog>\n </RACModal>\n </RACModalOverlay>\n </div>\n );\n}\n\nUNSTABLE_MobileNav.displayName = 'UNSTABLE_MobileNav';\n"]}
|
|
@@ -3,20 +3,20 @@ import type { Href, StringLikeChildren } from '../types.js';
|
|
|
3
3
|
export interface UNSTABLE_SideNavProps {
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Determines if the side navigation can be collapsed down to an icon-only rail, allowing for more screen space when needed.
|
|
7
|
+
*
|
|
8
|
+
* Setting to `true` will enable collapsibility. Passing an object allows for more advanced configuration, including fully controlled usage outside app shell context.
|
|
7
9
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
*/
|
|
17
|
-
defaultIsOpen?: boolean;
|
|
10
|
+
UNSTABLE_isCollapsible?: boolean | {
|
|
11
|
+
/** Whether the side nav should be collapsed by default. Only affects large viewports. */
|
|
12
|
+
defaultCollapsed?: true;
|
|
13
|
+
/** Whether the side nav is currently collapsed. Only needed when the side nav is not controlled by the app shell. */
|
|
14
|
+
isCollapsed?: boolean;
|
|
15
|
+
/** Callback function that is called when the side nav is collapsed or expanded. */
|
|
16
|
+
onCollapseChange?: (isCollapsed: boolean) => void;
|
|
17
|
+
};
|
|
18
18
|
}
|
|
19
|
-
export declare function UNSTABLE_SideNav({ children,
|
|
19
|
+
export declare function UNSTABLE_SideNav({ children, UNSTABLE_isCollapsible: isCollapsible }: UNSTABLE_SideNavProps): import("react/jsx-runtime").JSX.Element;
|
|
20
20
|
export interface UNSTABLE_SideNavListProps {
|
|
21
21
|
children: ReactNode;
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"side-nav.d.ts","sourceRoot":"","sources":["../../../../src/components/side-nav/side-nav.tsx"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"side-nav.d.ts","sourceRoot":"","sources":["../../../../src/components/side-nav/side-nav.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAqC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQ1E,OAAO,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAK5D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,sBAAsB,CAAC,EACnB,OAAO,GACP;QACE,yFAAyF;QACzF,gBAAgB,CAAC,EAAE,IAAI,CAAC;QACxB,qHAAqH;QACrH,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,mFAAmF;QACnF,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;KACnD,CAAC;CACP;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,sBAAsB,EAAE,aAAa,EAAE,EAAE,qBAAqB,2CAiB1G;AA6DD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE,yBAAyB,2CAE3E;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,wBAAgB,wBAAwB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,6BAA6B,2CAazG;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,2BAA2B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,gCAAgC,2CAahG"}
|
|
@@ -12,43 +12,59 @@ const react_aria_1 = require("react-aria");
|
|
|
12
12
|
const react_aria_components_1 = require("react-aria-components");
|
|
13
13
|
const breakpoints_js_1 = require("../../utils/breakpoints.js");
|
|
14
14
|
const string_like_children_to_string_js_1 = require("../../utils/string-like-children-to-string.js");
|
|
15
|
-
const use_is_mobile_js_1 = require("../../utils/use-is-mobile.js");
|
|
16
15
|
const app_shell_context_js_1 = require("../app-shell/app-shell-context.js");
|
|
16
|
+
const mobile_nav_js_1 = require("../mobile-nav/mobile-nav.js");
|
|
17
17
|
const tooltip_js_1 = require("../tooltip/tooltip.js");
|
|
18
18
|
const text_js_1 = require("../typography/text.js");
|
|
19
|
-
const SideNavContext = (0, react_1.createContext)({
|
|
20
|
-
function UNSTABLE_SideNav({ children,
|
|
19
|
+
const SideNavContext = (0, react_1.createContext)({ isCollapsed: false });
|
|
20
|
+
function UNSTABLE_SideNav({ children, UNSTABLE_isCollapsible: isCollapsible }) {
|
|
21
|
+
const appShellContext = (0, react_1.useContext)(app_shell_context_js_1.AppShellContext);
|
|
22
|
+
(0, utils_1.useLayoutEffect)(() => {
|
|
23
|
+
appShellContext?.setSideNavIsCollapsible(typeof isCollapsible === 'object' || isCollapsible || false);
|
|
24
|
+
}, [isCollapsible, appShellContext]);
|
|
25
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(SideNavInner, { UNSTABLE_isCollapsible: isCollapsible, children: children }), appShellContext && ((0, jsx_runtime_1.jsx)(mobile_nav_js_1.UNSTABLE_MobileNav, { isOpen: appShellContext.mobileNavIsOpen, onOpenChange: () => appShellContext.toggleMobileNav(false), children: children }))] }));
|
|
26
|
+
}
|
|
27
|
+
function SideNavInner({ children, UNSTABLE_isCollapsible: isCollapsible }) {
|
|
21
28
|
const appShellContext = (0, react_1.useContext)(app_shell_context_js_1.AppShellContext);
|
|
22
|
-
const [isHydrated, setIsHydrated] = (0, react_1.useState)(false);
|
|
23
|
-
const resolvedIsOpen = isOpen ?? (isHydrated ? appShellContext?.sideNavIsOpen : defaultIsOpen);
|
|
24
29
|
const sideNavRef = (0, react_1.useRef)(null);
|
|
25
|
-
const
|
|
26
|
-
const
|
|
30
|
+
const isOverlaySideNav = (0, breakpoints_js_1.useBreakpoint)({ max: 'md' }) && isCollapsible !== false;
|
|
31
|
+
const isCollapsed = typeof isCollapsible === 'object'
|
|
32
|
+
? (isCollapsible.isCollapsed ?? appShellContext?.sideNavIsCollapsed ?? isCollapsible.defaultCollapsed)
|
|
33
|
+
: isCollapsible
|
|
34
|
+
? appShellContext?.sideNavIsCollapsed
|
|
35
|
+
: undefined;
|
|
27
36
|
function handleClose() {
|
|
28
|
-
appShellContext?.
|
|
29
|
-
|
|
37
|
+
appShellContext?.toggleSideNavCollapse(true);
|
|
38
|
+
if (typeof isCollapsible === 'object') {
|
|
39
|
+
isCollapsible.onCollapseChange?.(true);
|
|
40
|
+
}
|
|
30
41
|
}
|
|
31
|
-
const { overlayProps
|
|
42
|
+
const { overlayProps } = (0, react_aria_1.useOverlay)({
|
|
32
43
|
isDismissable: isOverlaySideNav,
|
|
33
|
-
isOpen:
|
|
44
|
+
isOpen: isOverlaySideNav && isCollapsed !== undefined ? !isCollapsed : undefined,
|
|
34
45
|
onClose: () => handleClose(),
|
|
35
46
|
}, sideNavRef);
|
|
36
47
|
const resetState = (0, utils_1.useEffectEvent)(() => {
|
|
37
|
-
|
|
38
|
-
|
|
48
|
+
if (typeof isCollapsible === 'object' || isCollapsible) {
|
|
49
|
+
const defaultIsCollapsed = typeof isCollapsible === 'object' ? isCollapsible.defaultCollapsed : false;
|
|
50
|
+
appShellContext?.toggleSideNavCollapse(defaultIsCollapsed || (0, breakpoints_js_1.matchesBreakpoint)({ max: 'md' }));
|
|
51
|
+
if (typeof isCollapsible === 'object') {
|
|
52
|
+
isCollapsible.onCollapseChange?.(defaultIsCollapsed || (0, breakpoints_js_1.matchesBreakpoint)({ max: 'md' }));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
39
55
|
});
|
|
40
56
|
// Hydrate state and reset when screen size changes to or from overlay mode
|
|
41
57
|
(0, utils_1.useLayoutEffect)(() => {
|
|
42
58
|
resetState();
|
|
43
59
|
}, [isOverlaySideNav]);
|
|
44
|
-
return ((0, jsx_runtime_1.
|
|
60
|
+
return ((0, jsx_runtime_1.jsx)(SideNavContext.Provider, { value: { isCollapsed: isCollapsed ?? false }, children: (0, jsx_runtime_1.jsx)("div", { ...(isOverlaySideNav ? overlayProps : {}), className: "cim-side-nav", "data-collapsible": typeof isCollapsible === 'object' ? true : isCollapsible || false, "data-collapsed": isCollapsed, "aria-label": "Side navigation", ref: sideNavRef, children: children }) }));
|
|
45
61
|
}
|
|
46
62
|
function UNSTABLE_SideNavList({ children }) {
|
|
47
63
|
return (0, jsx_runtime_1.jsx)("nav", { className: "cim-side-nav-list", children: children });
|
|
48
64
|
}
|
|
49
65
|
function UNSTABLE_SideNavListItem({ children, href, isActive, icon }) {
|
|
50
|
-
const {
|
|
51
|
-
return ((0, jsx_runtime_1.jsx)(tooltip_js_1.Tooltip, { label: (0, string_like_children_to_string_js_1.stringLikeChildrenToString)(children), placement: "right", isDisabled:
|
|
66
|
+
const { isCollapsed } = (0, react_1.useContext)(SideNavContext);
|
|
67
|
+
return ((0, jsx_runtime_1.jsx)(tooltip_js_1.Tooltip, { label: (0, string_like_children_to_string_js_1.stringLikeChildrenToString)(children), placement: "right", isDisabled: !isCollapsed, children: (0, jsx_runtime_1.jsxs)(react_aria_components_1.Link, { href: href, className: "cim-side-nav-list-item", "data-active": isActive, children: [icon, (0, jsx_runtime_1.jsx)(text_js_1.Text, { as: "span", variant: "medium", UNSAFE_className: "cim-side-nav-list-item-label", children: children })] }) }));
|
|
52
68
|
}
|
|
53
69
|
function UNSTABLE_SideNavListSection({ children, label }) {
|
|
54
70
|
return ((0, jsx_runtime_1.jsxs)("div", { className: "cim-side-nav-list-section", children: [label && ((0, jsx_runtime_1.jsx)("div", { className: "cim-side-nav-list-section-header", children: (0, jsx_runtime_1.jsx)(text_js_1.Text, { as: "p", variant: "small-semibold", tone: "subtle", UNSAFE_className: "cim-side-nav-list-section-header-label", children: label }) })), children] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"side-nav.js","sourceRoot":"","sources":["../../../../src/components/side-nav/side-nav.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;
|
|
1
|
+
{"version":3,"file":"side-nav.js","sourceRoot":"","sources":["../../../../src/components/side-nav/side-nav.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport { useEffectEvent, useLayoutEffect } from '@react-aria/utils';\nimport { createContext, useContext, useRef, type ReactNode } from 'react';\nimport { useOverlay } from 'react-aria';\nimport { Link as RACLink } from 'react-aria-components';\nimport { matchesBreakpoint, useBreakpoint } from '../../utils/breakpoints.js';\nimport { stringLikeChildrenToString } from '../../utils/string-like-children-to-string.js';\nimport { AppShellContext } from '../app-shell/app-shell-context.js';\nimport { UNSTABLE_MobileNav as MobileNav } from '../mobile-nav/mobile-nav.js';\nimport { Tooltip } from '../tooltip/tooltip.js';\nimport type { Href, StringLikeChildren } from '../types.js';\nimport { Text } from '../typography/text.js';\n\nconst SideNavContext = createContext<{ isCollapsed: boolean }>({ isCollapsed: false });\n\nexport interface UNSTABLE_SideNavProps {\n children: ReactNode;\n /**\n * Determines if the side navigation can be collapsed down to an icon-only rail, allowing for more screen space when needed.\n *\n * Setting to `true` will enable collapsibility. Passing an object allows for more advanced configuration, including fully controlled usage outside app shell context.\n */\n UNSTABLE_isCollapsible?:\n | boolean\n | {\n /** Whether the side nav should be collapsed by default. Only affects large viewports. */\n defaultCollapsed?: true;\n /** Whether the side nav is currently collapsed. Only needed when the side nav is not controlled by the app shell. */\n isCollapsed?: boolean;\n /** Callback function that is called when the side nav is collapsed or expanded. */\n onCollapseChange?: (isCollapsed: boolean) => void;\n };\n}\n\nexport function UNSTABLE_SideNav({ children, UNSTABLE_isCollapsible: isCollapsible }: UNSTABLE_SideNavProps) {\n const appShellContext = useContext(AppShellContext);\n\n useLayoutEffect(() => {\n appShellContext?.setSideNavIsCollapsible(typeof isCollapsible === 'object' || isCollapsible || false);\n }, [isCollapsible, appShellContext]);\n\n return (\n <>\n <SideNavInner UNSTABLE_isCollapsible={isCollapsible}>{children}</SideNavInner>\n {appShellContext && (\n <MobileNav isOpen={appShellContext.mobileNavIsOpen} onOpenChange={() => appShellContext.toggleMobileNav(false)}>\n {children}\n </MobileNav>\n )}\n </>\n );\n}\n\nfunction SideNavInner({ children, UNSTABLE_isCollapsible: isCollapsible }: UNSTABLE_SideNavProps) {\n const appShellContext = useContext(AppShellContext);\n const sideNavRef = useRef<HTMLDivElement>(null);\n const isOverlaySideNav = useBreakpoint({ max: 'md' }) && isCollapsible !== false;\n const isCollapsed =\n typeof isCollapsible === 'object'\n ? (isCollapsible.isCollapsed ?? appShellContext?.sideNavIsCollapsed ?? isCollapsible.defaultCollapsed)\n : isCollapsible\n ? appShellContext?.sideNavIsCollapsed\n : undefined;\n\n function handleClose() {\n appShellContext?.toggleSideNavCollapse(true);\n\n if (typeof isCollapsible === 'object') {\n isCollapsible.onCollapseChange?.(true);\n }\n }\n\n const { overlayProps } = useOverlay(\n {\n isDismissable: isOverlaySideNav,\n isOpen: isOverlaySideNav && isCollapsed !== undefined ? !isCollapsed : undefined,\n onClose: () => handleClose(),\n },\n sideNavRef,\n );\n\n const resetState = useEffectEvent(() => {\n if (typeof isCollapsible === 'object' || isCollapsible) {\n const defaultIsCollapsed = typeof isCollapsible === 'object' ? isCollapsible.defaultCollapsed : false;\n appShellContext?.toggleSideNavCollapse(defaultIsCollapsed || matchesBreakpoint({ max: 'md' }));\n if (typeof isCollapsible === 'object') {\n isCollapsible.onCollapseChange?.(defaultIsCollapsed || matchesBreakpoint({ max: 'md' }));\n }\n }\n });\n\n // Hydrate state and reset when screen size changes to or from overlay mode\n useLayoutEffect(() => {\n resetState();\n }, [isOverlaySideNav]);\n\n return (\n <SideNavContext.Provider value={{ isCollapsed: isCollapsed ?? false }}>\n <div\n {...(isOverlaySideNav ? overlayProps : {})}\n className=\"cim-side-nav\"\n data-collapsible={typeof isCollapsible === 'object' ? true : isCollapsible || false}\n data-collapsed={isCollapsed}\n aria-label=\"Side navigation\"\n ref={sideNavRef}\n >\n {children}\n </div>\n </SideNavContext.Provider>\n );\n}\n\nexport interface UNSTABLE_SideNavListProps {\n children: ReactNode;\n}\n\nexport function UNSTABLE_SideNavList({ children }: UNSTABLE_SideNavListProps) {\n return <nav className=\"cim-side-nav-list\">{children}</nav>;\n}\n\nexport interface UNSTABLE_SideNavListItemProps {\n children: StringLikeChildren;\n href: Href;\n isActive?: boolean;\n icon?: ReactNode;\n}\n\nexport function UNSTABLE_SideNavListItem({ children, href, isActive, icon }: UNSTABLE_SideNavListItemProps) {\n const { isCollapsed } = useContext(SideNavContext);\n\n return (\n <Tooltip label={stringLikeChildrenToString(children)} placement=\"right\" isDisabled={!isCollapsed}>\n <RACLink href={href} className=\"cim-side-nav-list-item\" data-active={isActive}>\n {icon}\n <Text as=\"span\" variant=\"medium\" UNSAFE_className=\"cim-side-nav-list-item-label\">\n {children}\n </Text>\n </RACLink>\n </Tooltip>\n );\n}\n\nexport interface UNSTABLE_SideNavListSectionProps {\n children: ReactNode;\n label?: string;\n}\n\nexport function UNSTABLE_SideNavListSection({ children, label }: UNSTABLE_SideNavListSectionProps) {\n return (\n <div className=\"cim-side-nav-list-section\">\n {label && (\n <div className=\"cim-side-nav-list-section-header\">\n <Text as=\"p\" variant=\"small-semibold\" tone=\"subtle\" UNSAFE_className=\"cim-side-nav-list-section-header-label\">\n {label}\n </Text>\n </div>\n )}\n {children}\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IconProps } from '../components/types.js';
|
|
2
|
+
/** Renders an SVG icon. */
|
|
3
|
+
declare const SvgAiExpand: {
|
|
4
|
+
({ size, "aria-hidden": ariaHidden, tone, UNSAFE_className, UNSAFE_style, ...rest }: IconProps): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
displayName: string;
|
|
6
|
+
};
|
|
7
|
+
export default SvgAiExpand;
|
|
8
|
+
//# sourceMappingURL=ai-expand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-expand.d.ts","sourceRoot":"","sources":["../../../src/icons/ai-expand.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGxD,2BAA2B;AAC3B,QAAA,MAAM,WAAW;yFAAwF,SAAS;;CAqBjH,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
8
|
+
const tone_js_1 = require("../utils/style/tone.js");
|
|
9
|
+
const displayName = 'IconAiExpand';
|
|
10
|
+
/** Renders an SVG icon. */
|
|
11
|
+
const SvgAiExpand = ({ size, 'aria-hidden': ariaHidden, tone, UNSAFE_className, UNSAFE_style, ...rest }) => {
|
|
12
|
+
const props = {
|
|
13
|
+
...rest,
|
|
14
|
+
'aria-hidden': ariaHidden ?? (rest['aria-label'] == null && rest['aria-labelledby'] == null),
|
|
15
|
+
className: (0, clsx_1.default)('cim-icon', tone && (0, tone_js_1.fgTone)(tone), UNSAFE_className),
|
|
16
|
+
style: UNSAFE_style,
|
|
17
|
+
width: size != null ? size + 'px' : '1em',
|
|
18
|
+
height: size != null ? size + 'px' : '1em',
|
|
19
|
+
};
|
|
20
|
+
return ((0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 32 32", "data-icon": "true", fill: "currentColor", ...props, children: [(0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M23 3a1 1 0 0 0-.906.577l-.976 2.091a3 3 0 0 1-1.45 1.45l-2.09.976a1 1 0 0 0 0 1.812l2.09.976a3 3 0 0 1 1.45 1.45l.976 2.09a1 1 0 0 0 1.812 0l.976-2.09a3 3 0 0 1 1.45-1.45l2.09-.976a1 1 0 0 0 0-1.812l-2.09-.976a3 3 0 0 1-1.45-1.45l-.976-2.09A1 1 0 0 0 23 3m.07 3.514a5 5 0 0 0 2.416 2.417l.15.069-.15.07a5 5 0 0 0-2.417 2.416l-.069.149-.07-.149a5 5 0 0 0-2.416-2.417L20.365 9l.149-.07a5 5 0 0 0 2.417-2.416l.069-.15zM4 25v-2.25a1 1 0 1 1 2 0V25a1 1 0 0 0 1 1h2.25a1 1 0 1 1 0 2H7a3 3 0 0 1-3-3m14.25 1a1 1 0 1 1 0 2h-4.5a1 1 0 1 1 0-2zM26 25v-2.25a1 1 0 1 1 2 0V25a3 3 0 0 1-3 3h-2.25a1 1 0 1 1 0-2H25a1 1 0 0 0 1-1M4 18.25v-4.5a1 1 0 1 1 2 0v4.5a1 1 0 1 1-2 0m22 0V16a1 1 0 1 1 2 0v2.25a1 1 0 1 1-2 0m-22-9V7a3 3 0 0 1 3-3h2.25a1 1 0 0 1 0 2H7a1 1 0 0 0-1 1v2.25a1 1 0 0 1-2 0M16 4a1 1 0 1 1 0 2h-2.25a1 1 0 1 1 0-2z" }), (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M14 25a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1zm2-6a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h6a3 3 0 0 0 3-3z" })] }));
|
|
21
|
+
};
|
|
22
|
+
SvgAiExpand.displayName = displayName;
|
|
23
|
+
exports.default = SvgAiExpand;
|
|
24
|
+
//# sourceMappingURL=ai-expand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-expand.js","sourceRoot":"","sources":["../../../src/icons/ai-expand.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,oDAAgD;AAChD,MAAM,WAAW,GAAG,cAAc,CAAC;AACnC,2BAA2B;AAC3B,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,IAAI,EAAa,EAAE,EAAE;IACpH,MAAM,KAAK,GAAG;QACZ,GAAG,IAAI;QACP,aAAa,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC;QAC5F,SAAS,EAAE,IAAA,cAAI,EAAC,UAAU,EAAE,IAAI,IAAI,IAAA,gBAAM,EAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;QACnE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK;QACzC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK;KAC3C,CAAC;IACF,OAAO,CACL,iCAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,eAAW,MAAM,EAAC,IAAI,EAAC,cAAc,KAAK,KAAK,aACxG,iCACE,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,mzBAAmzB,GACrzB,EACF,iCACE,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,2IAA2I,GAC7I,IACE,CACP,CAAC;AACJ,CAAC,CAAC;AACF,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;AACtC,kBAAe,WAAW,CAAC","sourcesContent":["import clsx from 'clsx';\nimport type { IconProps } from '../components/types.js';\nimport { fgTone } from '../utils/style/tone.js';\nconst displayName = 'IconAiExpand';\n/** Renders an SVG icon. */\nconst SvgAiExpand = ({ size, 'aria-hidden': ariaHidden, tone, UNSAFE_className, UNSAFE_style, ...rest }: IconProps) => {\n const props = {\n ...rest,\n 'aria-hidden': ariaHidden ?? (rest['aria-label'] == null && rest['aria-labelledby'] == null),\n className: clsx('cim-icon', tone && fgTone(tone), UNSAFE_className),\n style: UNSAFE_style,\n width: size != null ? size + 'px' : '1em',\n height: size != null ? size + 'px' : '1em',\n };\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" data-icon=\"true\" fill=\"currentColor\" {...props}>\n <path\n fill=\"currentColor\"\n d=\"M23 3a1 1 0 0 0-.906.577l-.976 2.091a3 3 0 0 1-1.45 1.45l-2.09.976a1 1 0 0 0 0 1.812l2.09.976a3 3 0 0 1 1.45 1.45l.976 2.09a1 1 0 0 0 1.812 0l.976-2.09a3 3 0 0 1 1.45-1.45l2.09-.976a1 1 0 0 0 0-1.812l-2.09-.976a3 3 0 0 1-1.45-1.45l-.976-2.09A1 1 0 0 0 23 3m.07 3.514a5 5 0 0 0 2.416 2.417l.15.069-.15.07a5 5 0 0 0-2.417 2.416l-.069.149-.07-.149a5 5 0 0 0-2.416-2.417L20.365 9l.149-.07a5 5 0 0 0 2.417-2.416l.069-.15zM4 25v-2.25a1 1 0 1 1 2 0V25a1 1 0 0 0 1 1h2.25a1 1 0 1 1 0 2H7a3 3 0 0 1-3-3m14.25 1a1 1 0 1 1 0 2h-4.5a1 1 0 1 1 0-2zM26 25v-2.25a1 1 0 1 1 2 0V25a3 3 0 0 1-3 3h-2.25a1 1 0 1 1 0-2H25a1 1 0 0 0 1-1M4 18.25v-4.5a1 1 0 1 1 2 0v4.5a1 1 0 1 1-2 0m22 0V16a1 1 0 1 1 2 0v2.25a1 1 0 1 1-2 0m-22-9V7a3 3 0 0 1 3-3h2.25a1 1 0 0 1 0 2H7a1 1 0 0 0-1 1v2.25a1 1 0 0 1-2 0M16 4a1 1 0 1 1 0 2h-2.25a1 1 0 1 1 0-2z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M14 25a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1zm2-6a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h6a3 3 0 0 0 3-3z\"\n />\n </svg>\n );\n};\nSvgAiExpand.displayName = displayName;\nexport default SvgAiExpand;\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IconProps } from '../components/types.js';
|
|
2
|
+
/** Renders an SVG icon. */
|
|
3
|
+
declare const SvgChat: {
|
|
4
|
+
({ size, "aria-hidden": ariaHidden, tone, UNSAFE_className, UNSAFE_style, ...rest }: IconProps): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
displayName: string;
|
|
6
|
+
};
|
|
7
|
+
export default SvgChat;
|
|
8
|
+
//# sourceMappingURL=chat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/icons/chat.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGxD,2BAA2B;AAC3B,QAAA,MAAM,OAAO;yFAAwF,SAAS;;CAqB7G,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
8
|
+
const tone_js_1 = require("../utils/style/tone.js");
|
|
9
|
+
const displayName = 'IconChat';
|
|
10
|
+
/** Renders an SVG icon. */
|
|
11
|
+
const SvgChat = ({ size, 'aria-hidden': ariaHidden, tone, UNSAFE_className, UNSAFE_style, ...rest }) => {
|
|
12
|
+
const props = {
|
|
13
|
+
...rest,
|
|
14
|
+
'aria-hidden': ariaHidden ?? (rest['aria-label'] == null && rest['aria-labelledby'] == null),
|
|
15
|
+
className: (0, clsx_1.default)('cim-icon', tone && (0, tone_js_1.fgTone)(tone), UNSAFE_className),
|
|
16
|
+
style: UNSAFE_style,
|
|
17
|
+
width: size != null ? size + 'px' : '1em',
|
|
18
|
+
height: size != null ? size + 'px' : '1em',
|
|
19
|
+
};
|
|
20
|
+
return ((0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 32 32", "data-icon": "true", fill: "currentColor", ...props, children: [(0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M28 15a2 2 0 0 0-2-2H16a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h5a4 4 0 0 1 2.4.8L25 25v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1zm2 7a3 3 0 0 1-3 3v2a1 1 0 0 1-1.6.8l-3.2-2.4A2 2 0 0 0 21 25h-5a4 4 0 0 1-4-4v-6a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z" }), (0, jsx_runtime_1.jsx)("path", { fill: "currentColor", d: "M11 16a4 4 0 0 0-2.4.8L7 18a2 2 0 0 0-2-2 1 1 0 0 1-1-1V8a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v2.5a1 1 0 1 0 2 0V8a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v7a3 3 0 0 0 3 3v2a1 1 0 0 0 1.6.8l3.2-2.4A2 2 0 0 1 11 18h1.5a1 1 0 1 0 0-2zm7 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0m4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0m4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0" })] }));
|
|
21
|
+
};
|
|
22
|
+
SvgChat.displayName = displayName;
|
|
23
|
+
exports.default = SvgChat;
|
|
24
|
+
//# sourceMappingURL=chat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/icons/chat.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,oDAAgD;AAChD,MAAM,WAAW,GAAG,UAAU,CAAC;AAC/B,2BAA2B;AAC3B,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,IAAI,EAAa,EAAE,EAAE;IAChH,MAAM,KAAK,GAAG;QACZ,GAAG,IAAI;QACP,aAAa,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC;QAC5F,SAAS,EAAE,IAAA,cAAI,EAAC,UAAU,EAAE,IAAI,IAAI,IAAA,gBAAM,EAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;QACnE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK;QACzC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK;KAC3C,CAAC;IACF,OAAO,CACL,iCAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,eAAW,MAAM,EAAC,IAAI,EAAC,cAAc,KAAK,KAAK,aACxG,iCACE,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,kOAAkO,GACpO,EACF,iCACE,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,yTAAyT,GAC3T,IACE,CACP,CAAC;AACJ,CAAC,CAAC;AACF,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;AAClC,kBAAe,OAAO,CAAC","sourcesContent":["import clsx from 'clsx';\nimport type { IconProps } from '../components/types.js';\nimport { fgTone } from '../utils/style/tone.js';\nconst displayName = 'IconChat';\n/** Renders an SVG icon. */\nconst SvgChat = ({ size, 'aria-hidden': ariaHidden, tone, UNSAFE_className, UNSAFE_style, ...rest }: IconProps) => {\n const props = {\n ...rest,\n 'aria-hidden': ariaHidden ?? (rest['aria-label'] == null && rest['aria-labelledby'] == null),\n className: clsx('cim-icon', tone && fgTone(tone), UNSAFE_className),\n style: UNSAFE_style,\n width: size != null ? size + 'px' : '1em',\n height: size != null ? size + 'px' : '1em',\n };\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" data-icon=\"true\" fill=\"currentColor\" {...props}>\n <path\n fill=\"currentColor\"\n d=\"M28 15a2 2 0 0 0-2-2H16a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h5a4 4 0 0 1 2.4.8L25 25v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1zm2 7a3 3 0 0 1-3 3v2a1 1 0 0 1-1.6.8l-3.2-2.4A2 2 0 0 0 21 25h-5a4 4 0 0 1-4-4v-6a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M11 16a4 4 0 0 0-2.4.8L7 18a2 2 0 0 0-2-2 1 1 0 0 1-1-1V8a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v2.5a1 1 0 1 0 2 0V8a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v7a3 3 0 0 0 3 3v2a1 1 0 0 0 1.6.8l3.2-2.4A2 2 0 0 1 11 18h1.5a1 1 0 1 0 0-2zm7 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0m4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0m4 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0\"\n />\n </svg>\n );\n};\nSvgChat.displayName = displayName;\nexport default SvgChat;\n"]}
|
|
@@ -6,6 +6,7 @@ export { default as IconAddCircle } from './add-circle.js';
|
|
|
6
6
|
export { default as IconAddSquareFill } from './add-square-fill.js';
|
|
7
7
|
export { default as IconAddSquare } from './add-square.js';
|
|
8
8
|
export { default as IconAdd } from './add.js';
|
|
9
|
+
export { default as IconAiExpand } from './ai-expand.js';
|
|
9
10
|
export { default as IconAi } from './ai.js';
|
|
10
11
|
export { default as IconAlignHorizontalCenter } from './align-horizontal-center.js';
|
|
11
12
|
export { default as IconAlignHorizontalLeft } from './align-horizontal-left.js';
|
|
@@ -59,6 +60,7 @@ export { default as IconCategoryNewspaper } from './category-newspaper.js';
|
|
|
59
60
|
export { default as IconCategoryPackage } from './category-package.js';
|
|
60
61
|
export { default as IconCategoryPromoProduct } from './category-promo-product.js';
|
|
61
62
|
export { default as IconCategorySmallFormat } from './category-small-format.js';
|
|
63
|
+
export { default as IconChat } from './chat.js';
|
|
62
64
|
export { default as IconCheckBadgeFill } from './check-badge-fill.js';
|
|
63
65
|
export { default as IconCheckBadge } from './check-badge.js';
|
|
64
66
|
export { default as IconCheckBold } from './check-bold.js';
|
|
@@ -138,6 +140,7 @@ export { default as IconKeyboard } from './keyboard.js';
|
|
|
138
140
|
export { default as IconLayerDown } from './layer-down.js';
|
|
139
141
|
export { default as IconLayerUp } from './layer-up.js';
|
|
140
142
|
export { default as IconLayers } from './layers.js';
|
|
143
|
+
export { default as IconLinkBroken } from './link-broken.js';
|
|
141
144
|
export { default as IconLink } from './link.js';
|
|
142
145
|
export { default as IconListBullets } from './list-bullets.js';
|
|
143
146
|
export { default as IconListNumbers } from './list-numbers.js';
|
|
@@ -151,9 +154,11 @@ export { default as IconMenuGrid } from './menu-grid.js';
|
|
|
151
154
|
export { default as IconMenuMoreHorizontal } from './menu-more-horizontal.js';
|
|
152
155
|
export { default as IconMenuMoreVertical } from './menu-more-vertical.js';
|
|
153
156
|
export { default as IconMenu } from './menu.js';
|
|
157
|
+
export { default as IconMobilePhone } from './mobile-phone.js';
|
|
154
158
|
export { default as IconOpacity } from './opacity.js';
|
|
155
159
|
export { default as IconPencilFill } from './pencil-fill.js';
|
|
156
160
|
export { default as IconPencil } from './pencil.js';
|
|
161
|
+
export { default as IconPhone } from './phone.js';
|
|
157
162
|
export { default as IconPinMap } from './pin-map.js';
|
|
158
163
|
export { default as IconPlaceholder } from './placeholder.js';
|
|
159
164
|
export { default as IconPlacement } from './placement.js';
|