@cimpress-ui/react 1.32.0 → 1.33.1
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 +1 -1
- 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/date-picker/views/multi-year/use-multi-year-view-state.js.map +1 -1
- package/dist/commonjs/components/date-picker/views/year/use-year-view-state.js.map +1 -1
- package/dist/commonjs/components/page-header/page-header.d.ts +17 -0
- package/dist/commonjs/components/page-header/page-header.d.ts.map +1 -0
- package/dist/commonjs/components/page-header/page-header.js +18 -0
- package/dist/commonjs/components/page-header/page-header.js.map +1 -0
- package/dist/commonjs/components/slider/slider.d.ts.map +1 -1
- package/dist/commonjs/components/slider/slider.js +1 -10
- package/dist/commonjs/components/slider/slider.js.map +1 -1
- package/dist/commonjs/components/table/table-header.d.ts.map +1 -1
- package/dist/commonjs/components/table/table-header.js +2 -2
- package/dist/commonjs/components/table/table-header.js.map +1 -1
- package/dist/commonjs/icons/app-window-previous.d.ts +8 -0
- package/dist/commonjs/icons/app-window-previous.d.ts.map +1 -0
- package/dist/commonjs/icons/app-window-previous.js +24 -0
- package/dist/commonjs/icons/app-window-previous.js.map +1 -0
- package/dist/commonjs/icons/identification-card.d.ts +8 -0
- package/dist/commonjs/icons/identification-card.d.ts.map +1 -0
- package/dist/commonjs/icons/identification-card.js +24 -0
- package/dist/commonjs/icons/identification-card.js.map +1 -0
- package/dist/commonjs/icons/index.d.ts +7 -0
- package/dist/commonjs/icons/index.d.ts.map +1 -1
- package/dist/commonjs/icons/index.js +19 -5
- package/dist/commonjs/icons/index.js.map +1 -1
- package/dist/commonjs/icons/pause.d.ts +8 -0
- package/dist/commonjs/icons/pause.d.ts.map +1 -0
- package/dist/commonjs/icons/pause.js +24 -0
- package/dist/commonjs/icons/pause.js.map +1 -0
- package/dist/commonjs/icons/text-format.d.ts +8 -0
- package/dist/commonjs/icons/text-format.d.ts.map +1 -0
- package/dist/commonjs/icons/text-format.js +24 -0
- package/dist/commonjs/icons/text-format.js.map +1 -0
- package/dist/commonjs/icons/thumbs-down.d.ts +8 -0
- package/dist/commonjs/icons/thumbs-down.d.ts.map +1 -0
- package/dist/commonjs/icons/thumbs-down.js +24 -0
- package/dist/commonjs/icons/thumbs-down.js.map +1 -0
- package/dist/commonjs/icons/thumbs-up.d.ts +8 -0
- package/dist/commonjs/icons/thumbs-up.d.ts.map +1 -0
- package/dist/commonjs/icons/thumbs-up.js +24 -0
- package/dist/commonjs/icons/thumbs-up.js.map +1 -0
- package/dist/commonjs/icons/user-replace.d.ts +8 -0
- package/dist/commonjs/icons/user-replace.d.ts.map +1 -0
- package/dist/commonjs/icons/user-replace.js +24 -0
- package/dist/commonjs/icons/user-replace.js.map +1 -0
- package/dist/commonjs/icons.figma.batch.json +953 -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 +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/date-picker/views/multi-year/use-multi-year-view-state.js +1 -1
- package/dist/esm/components/date-picker/views/multi-year/use-multi-year-view-state.js.map +1 -1
- package/dist/esm/components/date-picker/views/year/use-year-view-state.js +1 -1
- package/dist/esm/components/date-picker/views/year/use-year-view-state.js.map +1 -1
- package/dist/esm/components/page-header/page-header.d.ts +17 -0
- package/dist/esm/components/page-header/page-header.d.ts.map +1 -0
- package/dist/esm/components/page-header/page-header.js +12 -0
- package/dist/esm/components/page-header/page-header.js.map +1 -0
- package/dist/esm/components/slider/slider.d.ts.map +1 -1
- package/dist/esm/components/slider/slider.js +2 -11
- package/dist/esm/components/slider/slider.js.map +1 -1
- package/dist/esm/components/table/table-header.d.ts.map +1 -1
- package/dist/esm/components/table/table-header.js +1 -1
- package/dist/esm/components/table/table-header.js.map +1 -1
- package/dist/esm/icons/app-window-previous.d.ts +8 -0
- package/dist/esm/icons/app-window-previous.d.ts.map +1 -0
- package/dist/esm/icons/app-window-previous.js +19 -0
- package/dist/esm/icons/app-window-previous.js.map +1 -0
- package/dist/esm/icons/identification-card.d.ts +8 -0
- package/dist/esm/icons/identification-card.d.ts.map +1 -0
- package/dist/esm/icons/identification-card.js +19 -0
- package/dist/esm/icons/identification-card.js.map +1 -0
- package/dist/esm/icons/index.d.ts +7 -0
- package/dist/esm/icons/index.d.ts.map +1 -1
- package/dist/esm/icons/index.js +7 -0
- package/dist/esm/icons/index.js.map +1 -1
- package/dist/esm/icons/pause.d.ts +8 -0
- package/dist/esm/icons/pause.d.ts.map +1 -0
- package/dist/esm/icons/pause.js +19 -0
- package/dist/esm/icons/pause.js.map +1 -0
- package/dist/esm/icons/text-format.d.ts +8 -0
- package/dist/esm/icons/text-format.d.ts.map +1 -0
- package/dist/esm/icons/text-format.js +19 -0
- package/dist/esm/icons/text-format.js.map +1 -0
- package/dist/esm/icons/thumbs-down.d.ts +8 -0
- package/dist/esm/icons/thumbs-down.d.ts.map +1 -0
- package/dist/esm/icons/thumbs-down.js +19 -0
- package/dist/esm/icons/thumbs-down.js.map +1 -0
- package/dist/esm/icons/thumbs-up.d.ts +8 -0
- package/dist/esm/icons/thumbs-up.d.ts.map +1 -0
- package/dist/esm/icons/thumbs-up.js +19 -0
- package/dist/esm/icons/thumbs-up.js.map +1 -0
- package/dist/esm/icons/user-replace.d.ts +8 -0
- package/dist/esm/icons/user-replace.d.ts.map +1 -0
- package/dist/esm/icons/user-replace.js +19 -0
- package/dist/esm/icons/user-replace.js.map +1 -0
- package/dist/esm/icons.figma.batch.json +953 -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 +17 -15
|
@@ -3,7 +3,7 @@ import type { CommonProps, Href, NavigationProps, WithRequired } from '../types.
|
|
|
3
3
|
export interface AppHeaderTitleLinkProps extends WithRequired<NavigationProps, 'href'> {
|
|
4
4
|
}
|
|
5
5
|
export interface AppHeaderProps extends CommonProps {
|
|
6
|
-
/** The title displayed in the header, usually the application name.
|
|
6
|
+
/** The title displayed in the header, usually the application name. */
|
|
7
7
|
title: string;
|
|
8
8
|
/** The props of the link that is rendered around the header title. */
|
|
9
9
|
titleLink: Href | AppHeaderTitleLinkProps;
|
|
@@ -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,
|
|
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,wEAAwE;IACxE,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?.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: "
|
|
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: "span", 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,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,
|
|
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,MAAM,EAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,YAC3C,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. */\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=\"span\" 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"]}
|
package/dist/commonjs/components/date-picker/views/multi-year/use-multi-year-view-state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-multi-year-view-state.js","sourceRoot":"","sources":["../../../../../../src/components/date-picker/views/multi-year/use-multi-year-view-state.ts"],"names":[],"mappings":"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","sourcesContent":["import { endOfYear, isSameDay, isSameYear, startOfYear, today, type CalendarDate } from '@internationalized/date';\nimport { useContext, useMemo, useState } from 'react';\nimport { useDateFormatter } from 'react-aria';\nimport { CalendarStateContext as RACCalendarStateContext } from 'react-aria-components';\nimport { useLocalizedMessages } from '../../../../i18n/index.js';\nimport { constrainValue, getEraFormat, isDateInvalid } from '../../utils.js';\nimport type { ViewGridCellData, ViewGridState } from '../types.js';\nimport { useDatePickerView } from '../view-provider.js';\n\nconst ITEMS_PER_ROW = 4;\nconst YEARS_PER_SECTION = 20;\nconst YEARS_SKIP_AMOUNT = 100;\n\n/** @internal */\nexport function useMultiYearViewState(): ViewGridState {\n const calendarState = useContext(RACCalendarStateContext)!;\n const { switchToView, focusedDate, setFocusedDate } = useDatePickerView();\n const messages = useLocalizedMessages('datePicker');\n const [isFocused, setIsFocused] = useState(true);\n\n const currentDate = useMemo(() => today(calendarState.timeZone), [calendarState.timeZone]);\n\n const yearFormatter = useDateFormatter({\n year: 'numeric',\n era: getEraFormat(focusedDate),\n calendar: focusedDate.calendar.identifier,\n timeZone: calendarState.timeZone,\n });\n\n const lowerYear = (Math.ceil(focusedDate.year / YEARS_PER_SECTION) - 1) * YEARS_PER_SECTION + 1;\n const higherYear = lowerYear + YEARS_PER_SECTION - 1;\n\n // Years are always represented by positive numbers.\n // If era implies negative years, flip start and end.\n const isNegativeEra = focusedDate.era === 'BC';\n const startYear = isNegativeEra ? higherYear : lowerYear;\n const endYear = isNegativeEra ? lowerYear : higherYear;\n\n const data: (ViewGridCellData | null)[][] = useMemo(() => {\n const rowCount = Math.ceil(YEARS_PER_SECTION / ITEMS_PER_ROW);\n const result: (ViewGridCellData | null)[][] = new Array(rowCount);\n\n for (let rowIdx = 0; rowIdx < rowCount; rowIdx++) {\n result[rowIdx] = new Array(ITEMS_PER_ROW).fill(null);\n }\n\n for (let yearIdx = 0; yearIdx < YEARS_PER_SECTION; yearIdx++) {\n const rowIdx = Math.floor(yearIdx / ITEMS_PER_ROW);\n const colIdx = yearIdx % ITEMS_PER_ROW;\n\n const yearToSet = startYear + (isNegativeEra ? -yearIdx : yearIdx);\n const date = focusedDate.set({ year: yearToSet });\n\n if (date.year !== yearToSet) {\n // Reached minimum/maximum date\n continue;\n }\n\n const content = yearFormatter.format(date.toDate(calendarState.timeZone));\n\n result[rowIdx]![colIdx] = {\n date,\n content,\n ariaLabel: content,\n isCurrent: isSameYear(date, currentDate),\n };\n }\n\n return result;\n }, [startYear, calendarState.timeZone, focusedDate, yearFormatter, isNegativeEra, currentDate]);\n\n const focusCell = (date: CalendarDate) => {\n setFocusedDate(constrainValue(date, calendarState.minValue, calendarState.maxValue));\n };\n\n return {\n header: yearFormatter.formatRange(\n focusedDate.set({ year: startYear }).toDate(calendarState.timeZone),\n focusedDate.set({ year: endYear }).toDate(calendarState.timeZone),\n ),\n previousLabel: messages.format('previousMultiYearSection', { yearCount: 20 }),\n nextLabel: messages.format('nextMultiYearSection', { yearCount: 20 }),\n data,\n isReadOnly: calendarState.isReadOnly,\n isDisabled: calendarState.isDisabled,\n isFocused,\n setIsFocused,\n focusedDate,\n setFocusedDate,\n timeZone: calendarState.timeZone,\n focusPreviousItem() {\n focusCell(focusedDate.subtract({ years: 1 }));\n },\n focusNextItem() {\n focusCell(focusedDate.add({ years: 1 }));\n },\n focusPreviousRow() {\n focusCell(focusedDate.subtract({ years: ITEMS_PER_ROW }));\n },\n focusNextRow() {\n focusCell(focusedDate.add({ years: ITEMS_PER_ROW }));\n },\n focusSectionStart() {\n focusCell(focusedDate.set({ year: startYear }));\n },\n focusSectionEnd() {\n focusCell(focusedDate.set({ year: endYear }));\n },\n focusPreviousSection(shouldSkip) {\n focusCell(focusedDate.subtract({ years: shouldSkip ? YEARS_SKIP_AMOUNT : YEARS_PER_SECTION }));\n },\n focusNextSection(shouldSkip) {\n focusCell(focusedDate.add({ years: shouldSkip ? YEARS_SKIP_AMOUNT : YEARS_PER_SECTION }));\n },\n isPreviousSectionInvalid() {\n const current = startOfYear(focusedDate.set({ year: startYear }));\n const prev = current.subtract({ days: 1 });\n\n return (\n isDateInvalid(current, calendarState.minValue, calendarState.maxValue) ||\n isDateInvalid(prev, calendarState.minValue, calendarState.maxValue) ||\n isSameDay(prev, current)\n );\n },\n isNextSectionInvalid() {\n const current = endOfYear(focusedDate.set({ year: endYear }));\n const next = current.add({ days: 1 });\n\n return (\n isDateInvalid(current, calendarState.minValue, calendarState.maxValue) ||\n isDateInvalid(next, calendarState.minValue, calendarState.maxValue) ||\n isSameDay(next, current)\n );\n },\n selectFocusedDate() {\n switchToView('year');\n },\n isCellDisabled(date) {\n return (\n isDateInvalid(endOfYear(date), calendarState.minValue, null) ||\n isDateInvalid(startOfYear(date), null, calendarState.maxValue)\n );\n },\n isCellSelected(date) {\n return calendarState.value !== null && isSameYear(date, calendarState.value);\n },\n isCellTabbable(date) {\n return isSameYear(date, focusedDate);\n },\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"use-multi-year-view-state.js","sourceRoot":"","sources":["../../../../../../src/components/date-picker/views/multi-year/use-multi-year-view-state.ts"],"names":[],"mappings":"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","sourcesContent":["import { endOfYear, isSameDay, isSameYear, startOfYear, today, type CalendarDate } from '@internationalized/date';\nimport { useContext, useMemo, useState } from 'react';\nimport { useDateFormatter } from 'react-aria';\nimport {\n type CalendarState as RACCalendarState,\n CalendarStateContext as RACCalendarStateContext,\n} from 'react-aria-components';\nimport { useLocalizedMessages } from '../../../../i18n/index.js';\nimport { constrainValue, getEraFormat, isDateInvalid } from '../../utils.js';\nimport type { ViewGridCellData, ViewGridState } from '../types.js';\nimport { useDatePickerView } from '../view-provider.js';\n\nconst ITEMS_PER_ROW = 4;\nconst YEARS_PER_SECTION = 20;\nconst YEARS_SKIP_AMOUNT = 100;\n\n/** @internal */\nexport function useMultiYearViewState(): ViewGridState {\n const calendarState = useContext(RACCalendarStateContext)! as RACCalendarState<'single'>;\n const { switchToView, focusedDate, setFocusedDate } = useDatePickerView();\n const messages = useLocalizedMessages('datePicker');\n const [isFocused, setIsFocused] = useState(true);\n\n const currentDate = useMemo(() => today(calendarState.timeZone), [calendarState.timeZone]);\n\n const yearFormatter = useDateFormatter({\n year: 'numeric',\n era: getEraFormat(focusedDate),\n calendar: focusedDate.calendar.identifier,\n timeZone: calendarState.timeZone,\n });\n\n const lowerYear = (Math.ceil(focusedDate.year / YEARS_PER_SECTION) - 1) * YEARS_PER_SECTION + 1;\n const higherYear = lowerYear + YEARS_PER_SECTION - 1;\n\n // Years are always represented by positive numbers.\n // If era implies negative years, flip start and end.\n const isNegativeEra = focusedDate.era === 'BC';\n const startYear = isNegativeEra ? higherYear : lowerYear;\n const endYear = isNegativeEra ? lowerYear : higherYear;\n\n const data: (ViewGridCellData | null)[][] = useMemo(() => {\n const rowCount = Math.ceil(YEARS_PER_SECTION / ITEMS_PER_ROW);\n const result: (ViewGridCellData | null)[][] = new Array(rowCount);\n\n for (let rowIdx = 0; rowIdx < rowCount; rowIdx++) {\n result[rowIdx] = new Array(ITEMS_PER_ROW).fill(null);\n }\n\n for (let yearIdx = 0; yearIdx < YEARS_PER_SECTION; yearIdx++) {\n const rowIdx = Math.floor(yearIdx / ITEMS_PER_ROW);\n const colIdx = yearIdx % ITEMS_PER_ROW;\n\n const yearToSet = startYear + (isNegativeEra ? -yearIdx : yearIdx);\n const date = focusedDate.set({ year: yearToSet });\n\n if (date.year !== yearToSet) {\n // Reached minimum/maximum date\n continue;\n }\n\n const content = yearFormatter.format(date.toDate(calendarState.timeZone));\n\n result[rowIdx]![colIdx] = {\n date,\n content,\n ariaLabel: content,\n isCurrent: isSameYear(date, currentDate),\n };\n }\n\n return result;\n }, [startYear, calendarState.timeZone, focusedDate, yearFormatter, isNegativeEra, currentDate]);\n\n const focusCell = (date: CalendarDate) => {\n setFocusedDate(constrainValue(date, calendarState.minValue, calendarState.maxValue));\n };\n\n return {\n header: yearFormatter.formatRange(\n focusedDate.set({ year: startYear }).toDate(calendarState.timeZone),\n focusedDate.set({ year: endYear }).toDate(calendarState.timeZone),\n ),\n previousLabel: messages.format('previousMultiYearSection', { yearCount: 20 }),\n nextLabel: messages.format('nextMultiYearSection', { yearCount: 20 }),\n data,\n isReadOnly: calendarState.isReadOnly,\n isDisabled: calendarState.isDisabled,\n isFocused,\n setIsFocused,\n focusedDate,\n setFocusedDate,\n timeZone: calendarState.timeZone,\n focusPreviousItem() {\n focusCell(focusedDate.subtract({ years: 1 }));\n },\n focusNextItem() {\n focusCell(focusedDate.add({ years: 1 }));\n },\n focusPreviousRow() {\n focusCell(focusedDate.subtract({ years: ITEMS_PER_ROW }));\n },\n focusNextRow() {\n focusCell(focusedDate.add({ years: ITEMS_PER_ROW }));\n },\n focusSectionStart() {\n focusCell(focusedDate.set({ year: startYear }));\n },\n focusSectionEnd() {\n focusCell(focusedDate.set({ year: endYear }));\n },\n focusPreviousSection(shouldSkip) {\n focusCell(focusedDate.subtract({ years: shouldSkip ? YEARS_SKIP_AMOUNT : YEARS_PER_SECTION }));\n },\n focusNextSection(shouldSkip) {\n focusCell(focusedDate.add({ years: shouldSkip ? YEARS_SKIP_AMOUNT : YEARS_PER_SECTION }));\n },\n isPreviousSectionInvalid() {\n const current = startOfYear(focusedDate.set({ year: startYear }));\n const prev = current.subtract({ days: 1 });\n\n return (\n isDateInvalid(current, calendarState.minValue, calendarState.maxValue) ||\n isDateInvalid(prev, calendarState.minValue, calendarState.maxValue) ||\n isSameDay(prev, current)\n );\n },\n isNextSectionInvalid() {\n const current = endOfYear(focusedDate.set({ year: endYear }));\n const next = current.add({ days: 1 });\n\n return (\n isDateInvalid(current, calendarState.minValue, calendarState.maxValue) ||\n isDateInvalid(next, calendarState.minValue, calendarState.maxValue) ||\n isSameDay(next, current)\n );\n },\n selectFocusedDate() {\n switchToView('year');\n },\n isCellDisabled(date) {\n return (\n isDateInvalid(endOfYear(date), calendarState.minValue, null) ||\n isDateInvalid(startOfYear(date), null, calendarState.maxValue)\n );\n },\n isCellSelected(date) {\n return calendarState.value !== null && isSameYear(date, calendarState.value);\n },\n isCellTabbable(date) {\n return isSameYear(date, focusedDate);\n },\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-year-view-state.js","sourceRoot":"","sources":["../../../../../../src/components/date-picker/views/year/use-year-view-state.ts"],"names":[],"mappings":";;AAuBA,4CA0KC;AAjMD,kDAUiC;AACjC,iCAAsD;AACtD,2CAA8C;AAC9C,iEAAwF;AACxF,wDAAiE;AACjE,6CAA6E;AAE7E,4DAA0D;AAE1D,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,gBAAgB;AAChB,SAAgB,gBAAgB;IAC9B,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,4CAAuB,CAAE,CAAC;IAC3D,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,IAAA,oCAAiB,GAAE,CAAC;IAC1E,MAAM,QAAQ,GAAG,IAAA,+BAAoB,EAAC,YAAY,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAEjD,MAAM,WAAW,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAA,YAAK,EAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE3F,MAAM,cAAc,GAAG,IAAA,6BAAgB,EAAC;QACtC,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU;QACzC,QAAQ,EAAE,aAAa,CAAC,QAAQ;KACjC,CAAC,CAAC;IAEH,MAAM,uBAAuB,GAAG,IAAA,6BAAgB,EAAC;QAC/C,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU;QACzC,QAAQ,EAAE,aAAa,CAAC,QAAQ;KACjC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,IAAA,6BAAgB,EAAC;QACrC,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,IAAA,uBAAY,EAAC,WAAW,CAAC;QAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU;QACzC,QAAQ,EAAE,aAAa,CAAC,QAAQ;KACjC,CAAC,CAAC;IAEH,uGAAuG;IACvG,iDAAiD;IACjD,mEAAmE;IACnE,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IACrE,MAAM,sBAAsB,GAAG,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxG,MAAM,oBAAoB,GAAG,UAAU,GAAG,aAAa,CAAC;IACxD,MAAM,gCAAgC,GAAG,sBAAsB,GAAG,aAAa,CAAC;IAEhF,MAAM,IAAI,GAAkC,IAAA,eAAO,EAAC,GAAG,EAAE;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,CAAC;QACvD,MAAM,MAAM,GAAkC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QAElE,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QAED,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAC;YAExC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAEvD,MAAM,CAAC,MAAM,CAAE,CAAC,MAAM,CAAC,GAAG;gBACxB,IAAI;gBACJ,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC1C,SAAS,EAAE,uBAAuB,CAAC,MAAM,CAAC,UAAU,CAAC;gBACrD,SAAS,EAAE,IAAA,iBAAU,EAAC,IAAI,EAAE,WAAW,CAAC,IAAI,IAAA,kBAAW,EAAC,IAAI,EAAE,WAAW,CAAC;aAC3E,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,WAAW,CAAC,CAAC,CAAC;IAE5G,MAAM,SAAS,GAAG,CAAC,IAAkB,EAAE,EAAE;QACvC,cAAc,CAAC,IAAA,yBAAc,EAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvF,CAAC,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxE,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC;QAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QACtC,IAAI;QACJ,UAAU,EAAE,aAAa,CAAC,UAAU;QACpC,UAAU,EAAE,aAAa,CAAC,UAAU;QACpC,SAAS;QACT,YAAY;QACZ,WAAW;QACX,cAAc;QACd,QAAQ,EAAE,aAAa,CAAC,QAAQ;QAChC,iBAAiB;YACf,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,aAAa;YACX,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,gBAAgB;YACd,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC;YACvC,IAAI,gBAAwB,CAAC;YAE7B,IAAI,YAAY,IAAI,gCAAgC,EAAE,CAAC;gBACrD,gBAAgB,GAAG,gCAAgC,CAAC;YACtD,CAAC;iBAAM,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;gBACzC,gBAAgB,GAAG,aAAa,GAAG,gCAAgC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACN,gBAAgB,GAAG,aAAa,CAAC;YACnC,CAAC;YAED,SAAS,CACP,WAAW,CAAC,QAAQ,CAAC;gBACnB,MAAM,EAAE,gBAAgB;aACzB,CAAC,CACH,CAAC;QACJ,CAAC;QACD,YAAY;YACV,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC;YACvC,IAAI,WAAmB,CAAC;YAExB,IAAI,YAAY,GAAG,UAAU,GAAG,oBAAoB,EAAE,CAAC;gBACrD,WAAW,GAAG,oBAAoB,CAAC;YACrC,CAAC;iBAAM,IAAI,YAAY,GAAG,aAAa,GAAG,UAAU,EAAE,CAAC;gBACrD,WAAW,GAAG,aAAa,GAAG,oBAAoB,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,aAAa,CAAC;YAC9B,CAAC;YAED,SAAS,CACP,WAAW,CAAC,GAAG,CAAC;gBACd,MAAM,EAAE,WAAW;aACpB,CAAC,CACH,CAAC;QACJ,CAAC;QACD,iBAAiB;YACf,SAAS,CAAC,IAAA,kBAAW,EAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,eAAe;YACb,SAAS,CAAC,IAAA,gBAAS,EAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,oBAAoB,CAAC,UAAU;YAC7B,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,gBAAgB,CAAC,UAAU;YACzB,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,wBAAwB;YACtB,MAAM,OAAO,GAAG,IAAA,kBAAW,EAAC,WAAW,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAE3C,OAAO,CACL,IAAA,wBAAa,EAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;gBACtE,IAAA,wBAAa,EAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;gBACnE,IAAA,gBAAS,EAAC,IAAI,EAAE,OAAO,CAAC,CACzB,CAAC;QACJ,CAAC;QACD,oBAAoB;YAClB,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,WAAW,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAEtC,OAAO,CACL,IAAA,wBAAa,EAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;gBACtE,IAAA,wBAAa,EAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;gBACnE,IAAA,gBAAS,EAAC,IAAI,EAAE,OAAO,CAAC,CACzB,CAAC;QACJ,CAAC;QACD,iBAAiB;YACf,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,cAAc,CAAC,IAAI;YACjB,OAAO,CACL,IAAA,wBAAa,EAAC,IAAA,iBAAU,EAAC,IAAI,CAAC,EAAE,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAC7D,IAAA,wBAAa,EAAC,IAAA,mBAAY,EAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAChE,CAAC;QACJ,CAAC;QACD,cAAc,CAAC,IAAI;YACjB,OAAO,CACL,aAAa,CAAC,KAAK,KAAK,IAAI,IAAI,IAAA,iBAAU,EAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,IAAA,kBAAW,EAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAChH,CAAC;QACJ,CAAC;QACD,cAAc,CAAC,IAAI;YACjB,OAAO,IAAA,iBAAU,EAAC,IAAI,EAAE,WAAW,CAAC,IAAI,IAAA,kBAAW,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzE,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import {\n endOfMonth,\n endOfYear,\n isSameDay,\n isSameMonth,\n isSameYear,\n startOfMonth,\n startOfYear,\n type CalendarDate,\n today,\n} from '@internationalized/date';\nimport { useContext, useMemo, useState } from 'react';\nimport { useDateFormatter } from 'react-aria';\nimport { CalendarStateContext as RACCalendarStateContext } from 'react-aria-components';\nimport { useLocalizedMessages } from '../../../../i18n/index.js';\nimport { constrainValue, getEraFormat, isDateInvalid } from '../../utils.js';\nimport type { ViewGridCellData, ViewGridState } from './../types.js';\nimport { useDatePickerView } from './../view-provider.js';\n\nconst ITEMS_PER_ROW = 3;\nconst YEARS_SKIP_AMOUNT = 10;\n\n/** @internal */\nexport function useYearViewState(): ViewGridState {\n const calendarState = useContext(RACCalendarStateContext)!;\n const { switchToView, focusedDate, setFocusedDate } = useDatePickerView();\n const messages = useLocalizedMessages('datePicker');\n const [isFocused, setIsFocused] = useState(true);\n\n const currentDate = useMemo(() => today(calendarState.timeZone), [calendarState.timeZone]);\n\n const monthFormatter = useDateFormatter({\n month: 'short',\n calendar: focusedDate.calendar.identifier,\n timeZone: calendarState.timeZone,\n });\n\n const monthAriaLabelFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n calendar: focusedDate.calendar.identifier,\n timeZone: calendarState.timeZone,\n });\n\n const yearFormatter = useDateFormatter({\n year: 'numeric',\n era: getEraFormat(focusedDate),\n calendar: focusedDate.calendar.identifier,\n timeZone: calendarState.timeZone,\n });\n\n // Some calendars have more than 12 months, and in some calendars the number of months varies per year.\n // This can result in partially filled grid rows.\n // Detect this to keep keyboard navigation between rows consistent.\n const monthCount = focusedDate.calendar.getMonthsInYear(focusedDate);\n const previousYearMonthCount = focusedDate.calendar.getMonthsInYear(focusedDate.subtract({ years: 1 }));\n const partialRowMonthCount = monthCount % ITEMS_PER_ROW;\n const previousYearPartialRowMonthCount = previousYearMonthCount % ITEMS_PER_ROW;\n\n const data: (ViewGridCellData | null)[][] = useMemo(() => {\n const rowCount = Math.ceil(monthCount / ITEMS_PER_ROW);\n const result: (ViewGridCellData | null)[][] = new Array(rowCount);\n\n for (let rowIdx = 0; rowIdx < rowCount; rowIdx++) {\n result[rowIdx] = new Array(ITEMS_PER_ROW).fill(null);\n }\n\n for (let monthIdx = 0; monthIdx < monthCount; monthIdx++) {\n const rowIdx = Math.floor(monthIdx / ITEMS_PER_ROW);\n const colIdx = monthIdx % ITEMS_PER_ROW;\n\n const date = focusedDate.set({ month: monthIdx + 1 });\n const nativeDate = date.toDate(calendarState.timeZone);\n\n result[rowIdx]![colIdx] = {\n date,\n content: monthFormatter.format(nativeDate),\n ariaLabel: monthAriaLabelFormatter.format(nativeDate),\n isCurrent: isSameYear(date, currentDate) && isSameMonth(date, currentDate),\n };\n }\n\n return result;\n }, [monthCount, calendarState.timeZone, focusedDate, monthFormatter, monthAriaLabelFormatter, currentDate]);\n\n const focusCell = (date: CalendarDate) => {\n setFocusedDate(constrainValue(date, calendarState.minValue, calendarState.maxValue));\n };\n\n return {\n header: yearFormatter.format(focusedDate.toDate(calendarState.timeZone)),\n previousLabel: messages.format('previousYear'),\n nextLabel: messages.format('nextYear'),\n data,\n isReadOnly: calendarState.isReadOnly,\n isDisabled: calendarState.isDisabled,\n isFocused,\n setIsFocused,\n focusedDate,\n setFocusedDate,\n timeZone: calendarState.timeZone,\n focusPreviousItem() {\n focusCell(focusedDate.subtract({ months: 1 }));\n },\n focusNextItem() {\n focusCell(focusedDate.add({ months: 1 }));\n },\n focusPreviousRow() {\n const currentMonth = focusedDate.month;\n let monthsToSubtract: number;\n\n if (currentMonth <= previousYearPartialRowMonthCount) {\n monthsToSubtract = previousYearPartialRowMonthCount;\n } else if (currentMonth <= ITEMS_PER_ROW) {\n monthsToSubtract = ITEMS_PER_ROW + previousYearPartialRowMonthCount;\n } else {\n monthsToSubtract = ITEMS_PER_ROW;\n }\n\n focusCell(\n focusedDate.subtract({\n months: monthsToSubtract,\n }),\n );\n },\n focusNextRow() {\n const currentMonth = focusedDate.month;\n let monthsToAdd: number;\n\n if (currentMonth > monthCount - partialRowMonthCount) {\n monthsToAdd = partialRowMonthCount;\n } else if (currentMonth + ITEMS_PER_ROW > monthCount) {\n monthsToAdd = ITEMS_PER_ROW + partialRowMonthCount;\n } else {\n monthsToAdd = ITEMS_PER_ROW;\n }\n\n focusCell(\n focusedDate.add({\n months: monthsToAdd,\n }),\n );\n },\n focusSectionStart() {\n focusCell(startOfYear(focusedDate).set({ day: focusedDate.day }));\n },\n focusSectionEnd() {\n focusCell(endOfYear(focusedDate).set({ day: focusedDate.day }));\n },\n focusPreviousSection(shouldSkip) {\n focusCell(focusedDate.subtract({ years: shouldSkip ? YEARS_SKIP_AMOUNT : 1 }));\n },\n focusNextSection(shouldSkip) {\n focusCell(focusedDate.add({ years: shouldSkip ? YEARS_SKIP_AMOUNT : 1 }));\n },\n isPreviousSectionInvalid() {\n const current = startOfYear(focusedDate);\n const prev = current.subtract({ days: 1 });\n\n return (\n isDateInvalid(current, calendarState.minValue, calendarState.maxValue) ||\n isDateInvalid(prev, calendarState.minValue, calendarState.maxValue) ||\n isSameDay(prev, current)\n );\n },\n isNextSectionInvalid() {\n const current = endOfYear(focusedDate);\n const next = current.add({ days: 1 });\n\n return (\n isDateInvalid(current, calendarState.minValue, calendarState.maxValue) ||\n isDateInvalid(next, calendarState.minValue, calendarState.maxValue) ||\n isSameDay(next, current)\n );\n },\n selectFocusedDate() {\n switchToView('month');\n },\n isCellDisabled(date) {\n return (\n isDateInvalid(endOfMonth(date), calendarState.minValue, null) ||\n isDateInvalid(startOfMonth(date), null, calendarState.maxValue)\n );\n },\n isCellSelected(date) {\n return (\n calendarState.value !== null && isSameYear(date, calendarState.value) && isSameMonth(date, calendarState.value)\n );\n },\n isCellTabbable(date) {\n return isSameYear(date, focusedDate) && isSameMonth(date, focusedDate);\n },\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"use-year-view-state.js","sourceRoot":"","sources":["../../../../../../src/components/date-picker/views/year/use-year-view-state.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n endOfMonth,\n endOfYear,\n isSameDay,\n isSameMonth,\n isSameYear,\n startOfMonth,\n startOfYear,\n type CalendarDate,\n today,\n} from '@internationalized/date';\nimport { useContext, useMemo, useState } from 'react';\nimport { useDateFormatter } from 'react-aria';\nimport {\n type CalendarState as RACCalendarState,\n CalendarStateContext as RACCalendarStateContext,\n} from 'react-aria-components';\nimport { useLocalizedMessages } from '../../../../i18n/index.js';\nimport { constrainValue, getEraFormat, isDateInvalid } from '../../utils.js';\nimport type { ViewGridCellData, ViewGridState } from './../types.js';\nimport { useDatePickerView } from './../view-provider.js';\n\nconst ITEMS_PER_ROW = 3;\nconst YEARS_SKIP_AMOUNT = 10;\n\n/** @internal */\nexport function useYearViewState(): ViewGridState {\n const calendarState = useContext(RACCalendarStateContext)! as RACCalendarState<'single'>;\n const { switchToView, focusedDate, setFocusedDate } = useDatePickerView();\n const messages = useLocalizedMessages('datePicker');\n const [isFocused, setIsFocused] = useState(true);\n\n const currentDate = useMemo(() => today(calendarState.timeZone), [calendarState.timeZone]);\n\n const monthFormatter = useDateFormatter({\n month: 'short',\n calendar: focusedDate.calendar.identifier,\n timeZone: calendarState.timeZone,\n });\n\n const monthAriaLabelFormatter = useDateFormatter({\n month: 'long',\n year: 'numeric',\n calendar: focusedDate.calendar.identifier,\n timeZone: calendarState.timeZone,\n });\n\n const yearFormatter = useDateFormatter({\n year: 'numeric',\n era: getEraFormat(focusedDate),\n calendar: focusedDate.calendar.identifier,\n timeZone: calendarState.timeZone,\n });\n\n // Some calendars have more than 12 months, and in some calendars the number of months varies per year.\n // This can result in partially filled grid rows.\n // Detect this to keep keyboard navigation between rows consistent.\n const monthCount = focusedDate.calendar.getMonthsInYear(focusedDate);\n const previousYearMonthCount = focusedDate.calendar.getMonthsInYear(focusedDate.subtract({ years: 1 }));\n const partialRowMonthCount = monthCount % ITEMS_PER_ROW;\n const previousYearPartialRowMonthCount = previousYearMonthCount % ITEMS_PER_ROW;\n\n const data: (ViewGridCellData | null)[][] = useMemo(() => {\n const rowCount = Math.ceil(monthCount / ITEMS_PER_ROW);\n const result: (ViewGridCellData | null)[][] = new Array(rowCount);\n\n for (let rowIdx = 0; rowIdx < rowCount; rowIdx++) {\n result[rowIdx] = new Array(ITEMS_PER_ROW).fill(null);\n }\n\n for (let monthIdx = 0; monthIdx < monthCount; monthIdx++) {\n const rowIdx = Math.floor(monthIdx / ITEMS_PER_ROW);\n const colIdx = monthIdx % ITEMS_PER_ROW;\n\n const date = focusedDate.set({ month: monthIdx + 1 });\n const nativeDate = date.toDate(calendarState.timeZone);\n\n result[rowIdx]![colIdx] = {\n date,\n content: monthFormatter.format(nativeDate),\n ariaLabel: monthAriaLabelFormatter.format(nativeDate),\n isCurrent: isSameYear(date, currentDate) && isSameMonth(date, currentDate),\n };\n }\n\n return result;\n }, [monthCount, calendarState.timeZone, focusedDate, monthFormatter, monthAriaLabelFormatter, currentDate]);\n\n const focusCell = (date: CalendarDate) => {\n setFocusedDate(constrainValue(date, calendarState.minValue, calendarState.maxValue));\n };\n\n return {\n header: yearFormatter.format(focusedDate.toDate(calendarState.timeZone)),\n previousLabel: messages.format('previousYear'),\n nextLabel: messages.format('nextYear'),\n data,\n isReadOnly: calendarState.isReadOnly,\n isDisabled: calendarState.isDisabled,\n isFocused,\n setIsFocused,\n focusedDate,\n setFocusedDate,\n timeZone: calendarState.timeZone,\n focusPreviousItem() {\n focusCell(focusedDate.subtract({ months: 1 }));\n },\n focusNextItem() {\n focusCell(focusedDate.add({ months: 1 }));\n },\n focusPreviousRow() {\n const currentMonth = focusedDate.month;\n let monthsToSubtract: number;\n\n if (currentMonth <= previousYearPartialRowMonthCount) {\n monthsToSubtract = previousYearPartialRowMonthCount;\n } else if (currentMonth <= ITEMS_PER_ROW) {\n monthsToSubtract = ITEMS_PER_ROW + previousYearPartialRowMonthCount;\n } else {\n monthsToSubtract = ITEMS_PER_ROW;\n }\n\n focusCell(\n focusedDate.subtract({\n months: monthsToSubtract,\n }),\n );\n },\n focusNextRow() {\n const currentMonth = focusedDate.month;\n let monthsToAdd: number;\n\n if (currentMonth > monthCount - partialRowMonthCount) {\n monthsToAdd = partialRowMonthCount;\n } else if (currentMonth + ITEMS_PER_ROW > monthCount) {\n monthsToAdd = ITEMS_PER_ROW + partialRowMonthCount;\n } else {\n monthsToAdd = ITEMS_PER_ROW;\n }\n\n focusCell(\n focusedDate.add({\n months: monthsToAdd,\n }),\n );\n },\n focusSectionStart() {\n focusCell(startOfYear(focusedDate).set({ day: focusedDate.day }));\n },\n focusSectionEnd() {\n focusCell(endOfYear(focusedDate).set({ day: focusedDate.day }));\n },\n focusPreviousSection(shouldSkip) {\n focusCell(focusedDate.subtract({ years: shouldSkip ? YEARS_SKIP_AMOUNT : 1 }));\n },\n focusNextSection(shouldSkip) {\n focusCell(focusedDate.add({ years: shouldSkip ? YEARS_SKIP_AMOUNT : 1 }));\n },\n isPreviousSectionInvalid() {\n const current = startOfYear(focusedDate);\n const prev = current.subtract({ days: 1 });\n\n return (\n isDateInvalid(current, calendarState.minValue, calendarState.maxValue) ||\n isDateInvalid(prev, calendarState.minValue, calendarState.maxValue) ||\n isSameDay(prev, current)\n );\n },\n isNextSectionInvalid() {\n const current = endOfYear(focusedDate);\n const next = current.add({ days: 1 });\n\n return (\n isDateInvalid(current, calendarState.minValue, calendarState.maxValue) ||\n isDateInvalid(next, calendarState.minValue, calendarState.maxValue) ||\n isSameDay(next, current)\n );\n },\n selectFocusedDate() {\n switchToView('month');\n },\n isCellDisabled(date) {\n return (\n isDateInvalid(endOfMonth(date), calendarState.minValue, null) ||\n isDateInvalid(startOfMonth(date), null, calendarState.maxValue)\n );\n },\n isCellSelected(date) {\n return (\n calendarState.value !== null && isSameYear(date, calendarState.value) && isSameMonth(date, calendarState.value)\n );\n },\n isCellTabbable(date) {\n return isSameYear(date, focusedDate) && isSameMonth(date, focusedDate);\n },\n };\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { CommonProps } from '../types.js';
|
|
3
|
+
export interface UNSTABLE_PageHeaderProps extends CommonProps {
|
|
4
|
+
/** The title describing the page. Rendered as an `<h1>` element. */
|
|
5
|
+
title: string;
|
|
6
|
+
/** Optional navigation breadcrumbs displayed above the title. */
|
|
7
|
+
breadcrumbs?: ReactNode;
|
|
8
|
+
/** Optional action buttons or controls displayed to the right of the title. */
|
|
9
|
+
actions?: ReactNode;
|
|
10
|
+
/** Optional row beneath the title for metadata or a short description. Automatically styled as subtle when a string is provided. */
|
|
11
|
+
description?: ReactNode;
|
|
12
|
+
/** Optional tabs displayed below the header content. */
|
|
13
|
+
tabs?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
declare const _UNSTABLE_PageHeader: (props: UNSTABLE_PageHeaderProps & import("react").RefAttributes<HTMLElement>) => import("react").JSX.Element | null;
|
|
16
|
+
export { _UNSTABLE_PageHeader as UNSTABLE_PageHeader };
|
|
17
|
+
//# sourceMappingURL=page-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-header.d.ts","sourceRoot":"","sources":["../../../../src/components/page-header/page-header.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AAGrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,MAAM,WAAW,wBAAyB,SAAQ,WAAW;IAC3D,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,oIAAoI;IACpI,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,wDAAwD;IACxD,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAgDD,QAAA,MAAM,oBAAoB,sHAAgD,CAAC;AAE3E,OAAO,EAAE,oBAAoB,IAAI,mBAAmB,EAAE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
exports.UNSTABLE_PageHeader = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
9
|
+
const forward_ref_js_1 = require("../../forward-ref.js");
|
|
10
|
+
const stack_js_1 = require("../spacing/stack/stack.js");
|
|
11
|
+
const text_js_1 = require("../typography/text.js");
|
|
12
|
+
const utils_js_1 = require("../typography/utils.js");
|
|
13
|
+
function UNSTABLE_PageHeader({ title, breadcrumbs, actions, description, tabs, UNSAFE_className, UNSAFE_style, ...props }, ref) {
|
|
14
|
+
return ((0, jsx_runtime_1.jsxs)("header", { ...props, className: (0, clsx_1.default)('cim-page-header', UNSAFE_className), style: UNSAFE_style, ref: ref, children: [(0, jsx_runtime_1.jsxs)("div", { className: "cim-page-header-container", children: [breadcrumbs && (0, jsx_runtime_1.jsx)("div", { className: "cim-page-header-breadcrumbs", children: breadcrumbs }), (0, jsx_runtime_1.jsxs)(stack_js_1.Stack, { direction: "horizontal", gap: 16, justify: "space-between", wrap: true, children: [(0, jsx_runtime_1.jsx)("div", { className: "cim-page-header-title", children: (0, jsx_runtime_1.jsxs)(stack_js_1.Stack, { gap: 4, children: [(0, jsx_runtime_1.jsx)(text_js_1.Text, { as: "h1", variant: "title-2", UNSAFE_className: "cim-page-header-title-text", children: title }), description && ((0, jsx_runtime_1.jsx)("div", { className: (0, clsx_1.default)('cim-page-header-description', typeof description === 'string' && (0, utils_js_1.textStyle)({ variant: 'medium', tone: 'subtle' })), children: description }))] }) }), (0, jsx_runtime_1.jsx)(stack_js_1.Stack, { direction: "horizontal", gap: 12, UNSAFE_className: "cim-page-header-actions", wrap: true, children: actions })] })] }), tabs && (0, jsx_runtime_1.jsx)("div", { className: "cim-page-header-tabs", children: tabs })] }));
|
|
15
|
+
}
|
|
16
|
+
const _UNSTABLE_PageHeader = (0, forward_ref_js_1.forwardRef)(UNSTABLE_PageHeader, 'PageHeader');
|
|
17
|
+
exports.UNSTABLE_PageHeader = _UNSTABLE_PageHeader;
|
|
18
|
+
//# sourceMappingURL=page-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-header.js","sourceRoot":"","sources":["../../../../src/components/page-header/page-header.tsx"],"names":[],"mappings":";;;;;;;AAAA,gDAAwB;AAExB,yDAAkD;AAClD,wDAAkD;AAElD,mDAA6C;AAC7C,qDAAmD;AAenD,SAAS,mBAAmB,CAC1B,EACE,KAAK,EACL,WAAW,EACX,OAAO,EACP,WAAW,EACX,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,GAAG,KAAK,EACiB,EAC3B,GAA8B;IAE9B,OAAO,CACL,uCAAY,KAAK,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,aACpG,iCAAK,SAAS,EAAC,2BAA2B,aACvC,WAAW,IAAI,gCAAK,SAAS,EAAC,6BAA6B,YAAE,WAAW,GAAO,EAChF,wBAAC,gBAAK,IAAC,SAAS,EAAC,YAAY,EAAC,GAAG,EAAE,EAAE,EAAE,OAAO,EAAC,eAAe,EAAC,IAAI,mBACjE,gCAAK,SAAS,EAAC,uBAAuB,YACpC,wBAAC,gBAAK,IAAC,GAAG,EAAE,CAAC,aACX,uBAAC,cAAI,IAAC,EAAE,EAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,gBAAgB,EAAC,4BAA4B,YAC1E,KAAK,GACD,EAEN,WAAW,IAAI,CACd,gCACE,SAAS,EAAE,IAAA,cAAI,EACb,6BAA6B,EAC7B,OAAO,WAAW,KAAK,QAAQ,IAAI,IAAA,oBAAS,EAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CACpF,YAEA,WAAW,GACR,CACP,IACK,GACJ,EACN,uBAAC,gBAAK,IAAC,SAAS,EAAC,YAAY,EAAC,GAAG,EAAE,EAAE,EAAE,gBAAgB,EAAC,yBAAyB,EAAC,IAAI,kBACnF,OAAO,GACF,IACF,IACJ,EACL,IAAI,IAAI,gCAAK,SAAS,EAAC,sBAAsB,YAAE,IAAI,GAAO,IACpD,CACV,CAAC;AACJ,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAA,2BAAU,EAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;AAE1C,mDAAmB","sourcesContent":["import clsx from 'clsx';\nimport type { ForwardedRef, ReactNode } from 'react';\nimport { forwardRef } from '../../forward-ref.js';\nimport { Stack } from '../spacing/stack/stack.js';\nimport type { CommonProps } from '../types.js';\nimport { Text } from '../typography/text.js';\nimport { textStyle } from '../typography/utils.js';\n\nexport interface UNSTABLE_PageHeaderProps extends CommonProps {\n /** The title describing the page. Rendered as an `<h1>` element. */\n title: string;\n /** Optional navigation breadcrumbs displayed above the title. */\n breadcrumbs?: ReactNode;\n /** Optional action buttons or controls displayed to the right of the title. */\n actions?: ReactNode;\n /** Optional row beneath the title for metadata or a short description. Automatically styled as subtle when a string is provided. */\n description?: ReactNode;\n /** Optional tabs displayed below the header content. */\n tabs?: ReactNode;\n}\n\nfunction UNSTABLE_PageHeader(\n {\n title,\n breadcrumbs,\n actions,\n description,\n tabs,\n UNSAFE_className,\n UNSAFE_style,\n ...props\n }: UNSTABLE_PageHeaderProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n return (\n <header {...props} className={clsx('cim-page-header', UNSAFE_className)} style={UNSAFE_style} ref={ref}>\n <div className=\"cim-page-header-container\">\n {breadcrumbs && <div className=\"cim-page-header-breadcrumbs\">{breadcrumbs}</div>}\n <Stack direction=\"horizontal\" gap={16} justify=\"space-between\" wrap>\n <div className=\"cim-page-header-title\">\n <Stack gap={4}>\n <Text as=\"h1\" variant=\"title-2\" UNSAFE_className=\"cim-page-header-title-text\">\n {title}\n </Text>\n\n {description && (\n <div\n className={clsx(\n 'cim-page-header-description',\n typeof description === 'string' && textStyle({ variant: 'medium', tone: 'subtle' }),\n )}\n >\n {description}\n </div>\n )}\n </Stack>\n </div>\n <Stack direction=\"horizontal\" gap={12} UNSAFE_className=\"cim-page-header-actions\" wrap>\n {actions}\n </Stack>\n </Stack>\n </div>\n {tabs && <div className=\"cim-page-header-tabs\">{tabs}</div>}\n </header>\n );\n}\n\nconst _UNSTABLE_PageHeader = forwardRef(UNSTABLE_PageHeader, 'PageHeader');\n\nexport { _UNSTABLE_PageHeader as UNSTABLE_PageHeader };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../../src/components/slider/slider.tsx"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../../src/components/slider/slider.tsx"],"names":[],"mappings":"AAKA,OAAO,EAaL,KAAK,WAAW,IAAI,cAAc,EACnC,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGhE,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CACvE,SACE,WAAW,EACX,eAAe,EACf,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,eAAe,CAAC;IAC5F,qGAAqG;IACrG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IACjC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IAC9D;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;SAGK;IACL,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA4ID;;;;GAIG;AACH,QAAA,MAAM,OAAO,GA/IG,CAAC,SAAS,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,wKA+IS,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,CAAC"}
|
|
@@ -29,16 +29,7 @@ function Slider({ label, description, UNSAFE_className, UNSAFE_style, form, name
|
|
|
29
29
|
}, [label, ariaLabel, ariaLabelledBy]);
|
|
30
30
|
return ((0, jsx_runtime_1.jsx)(react_aria_components_1.Provider, { values: [[react_aria_components_1.TextContext, { slots: { description: { id: descriptionId } } }]], children: (0, jsx_runtime_1.jsx)(react_aria_components_1.Slider, { ...props, ref: ref, className: (0, clsx_1.default)('cim-slider', UNSAFE_className), style: UNSAFE_style, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, orientation: "horizontal", "aria-describedby": [description && descriptionId, props['aria-describedby']].filter(Boolean).join(' '), children: ({ state, isDisabled }) => {
|
|
31
31
|
const isRangeSlider = state.values.length === 2;
|
|
32
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldLabel, { isRequired: false, isDisabled: isDisabled, children: label }), !withInput && label != null && ((0, jsx_runtime_1.jsx)(react_aria_components_1.SliderOutput, { className: "cim-slider-output", children: (0, jsx_runtime_1.jsx)(text_js_1.Text, { as: "span", variant: "medium", children: state.values.map((_, i) => state.getThumbValueLabel(i)).join(' – ') }) })), (0, jsx_runtime_1.jsxs)("div", { className: "cim-slider-track-container", children: [showLabels && ((0, jsx_runtime_1.jsx)(text_js_1.Text, { as: "span", variant: "medium", UNSAFE_className: "cim-slider-label-min", children: state.getThumbMinValue(0) })), (0, jsx_runtime_1.jsx)(react_aria_components_1.SliderTrack, { className: "cim-slider-track", children: ({ state: trackState, isDisabled: trackIsDisabled }) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "cim-slider-track-background", "data-disabled": trackIsDisabled || undefined }), (0, jsx_runtime_1.jsx)("div", { className: "cim-slider-
|
|
33
|
-
? {
|
|
34
|
-
'--cim-slider-fill-size': trackState.getThumbPercent(0) * 100 + '%',
|
|
35
|
-
}
|
|
36
|
-
: isRangeSlider
|
|
37
|
-
? {
|
|
38
|
-
'--cim-slider-fill-start': trackState.getThumbPercent(0) * 100 + '%',
|
|
39
|
-
'--cim-slider-fill-size': (trackState.getThumbPercent(1) - trackState.getThumbPercent(0)) * 100 + '%',
|
|
40
|
-
}
|
|
41
|
-
: {}) }), trackState.values.map((_, i) => ((0, jsx_runtime_1.jsx)(react_aria_components_1.SliderThumb, { index: i, className: "cim-slider-thumb", name: typeof name === 'string' ? name : name?.[i], form: form, "aria-labelledby": isRangeSlider ? (i === 0 ? rangeStartLabelId : rangeEndLabelId) : undefined }, i)))] })) }), showLabels && ((0, jsx_runtime_1.jsx)(text_js_1.Text, { as: "span", variant: "medium", UNSAFE_className: "cim-slider-label-max", children: state.getThumbMaxValue(state.values.length - 1) })), withInput && ((0, jsx_runtime_1.jsx)("div", { className: "cim-slider-inputs-container-wide", children: state.values.map((_, i) => ((0, jsx_runtime_1.jsx)(SliderNumberField, { index: i, "aria-labelledby": isRangeSlider ? (i === 0 ? rangeStartLabelId : rangeEndLabelId) : undefined, style: { order: isRangeSlider ? (i === 0 ? -1 : 1) : undefined }, formatOptions: props.formatOptions }, i))) }))] }), withInput && ((0, jsx_runtime_1.jsx)("div", { className: "cim-slider-inputs-container-narrow", children: state.values.map((_, i) => ((0, jsx_runtime_1.jsx)(SliderNumberField, { index: i, "aria-labelledby": isRangeSlider ? (i === 0 ? rangeStartLabelId : rangeEndLabelId) : undefined, formatOptions: props.formatOptions }, i))) })), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldDescription, { children: description }), isRangeSlider && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { style: { display: 'none' }, id: rangeStartLabelId, children: messages.format('rangeStart') }), (0, jsx_runtime_1.jsx)("span", { style: { display: 'none' }, id: rangeEndLabelId, children: messages.format('rangeEnd') })] }))] }));
|
|
32
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldLabel, { isRequired: false, isDisabled: isDisabled, children: label }), !withInput && label != null && ((0, jsx_runtime_1.jsx)(react_aria_components_1.SliderOutput, { className: "cim-slider-output", children: (0, jsx_runtime_1.jsx)(text_js_1.Text, { as: "span", variant: "medium", children: state.values.map((_, i) => state.getThumbValueLabel(i)).join(' – ') }) })), (0, jsx_runtime_1.jsxs)("div", { className: "cim-slider-track-container", children: [showLabels && ((0, jsx_runtime_1.jsx)(text_js_1.Text, { as: "span", variant: "medium", UNSAFE_className: "cim-slider-label-min", children: state.getThumbMinValue(0) })), (0, jsx_runtime_1.jsx)(react_aria_components_1.SliderTrack, { className: "cim-slider-track", children: ({ state: trackState, isDisabled: trackIsDisabled }) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: "cim-slider-track-background", "data-disabled": trackIsDisabled || undefined, children: (0, jsx_runtime_1.jsx)(react_aria_components_1.SliderFill, { className: "cim-slider-fill" }) }), trackState.values.map((_, i) => ((0, jsx_runtime_1.jsx)(react_aria_components_1.SliderThumb, { index: i, className: "cim-slider-thumb", name: typeof name === 'string' ? name : name?.[i], form: form, "aria-labelledby": isRangeSlider ? (i === 0 ? rangeStartLabelId : rangeEndLabelId) : undefined }, i)))] })) }), showLabels && ((0, jsx_runtime_1.jsx)(text_js_1.Text, { as: "span", variant: "medium", UNSAFE_className: "cim-slider-label-max", children: state.getThumbMaxValue(state.values.length - 1) })), withInput && ((0, jsx_runtime_1.jsx)("div", { className: "cim-slider-inputs-container-wide", children: state.values.map((_, i) => ((0, jsx_runtime_1.jsx)(SliderNumberField, { index: i, "aria-labelledby": isRangeSlider ? (i === 0 ? rangeStartLabelId : rangeEndLabelId) : undefined, style: { order: isRangeSlider ? (i === 0 ? -1 : 1) : undefined }, formatOptions: props.formatOptions }, i))) }))] }), withInput && ((0, jsx_runtime_1.jsx)("div", { className: "cim-slider-inputs-container-narrow", children: state.values.map((_, i) => ((0, jsx_runtime_1.jsx)(SliderNumberField, { index: i, "aria-labelledby": isRangeSlider ? (i === 0 ? rangeStartLabelId : rangeEndLabelId) : undefined, formatOptions: props.formatOptions }, i))) })), (0, jsx_runtime_1.jsx)(form_field_js_1.FormFieldDescription, { children: description }), isRangeSlider && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { style: { display: 'none' }, id: rangeStartLabelId, children: messages.format('rangeStart') }), (0, jsx_runtime_1.jsx)("span", { style: { display: 'none' }, id: rangeEndLabelId, children: messages.format('rangeEnd') })] }))] }));
|
|
42
33
|
} }) }));
|
|
43
34
|
}
|
|
44
35
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.js","sourceRoot":"","sources":["../../../../src/components/slider/slider.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { useContext, type ForwardedRef } from 'react';\nimport { useId } from 'react-aria';\nimport {\n LabelContext as RACLabelContext,\n NumberField as RACNumberField,\n Provider as RACProvider,\n Slider as RACSlider,\n SliderOutput as RACSliderOutput,\n SliderStateContext as RACSliderStateContext,\n SliderThumb as RACSliderThumb,\n SliderTrack as RACSliderTrack,\n TextContext as RACTextContext,\n useSlottedContext,\n type NumberFieldProps as RACNumberFieldProps,\n type SliderProps as RACSliderProps,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { useLocalizedMessages } from '../../i18n/localization-provider.js';\nimport { useProductionWarning } from '../../utils/use-production-warning.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { FormFieldDescription, FormFieldLabel } from '../internal/form-field/form-field.js';\nimport { Input } from '../internal/input/input.js';\nimport type { CommonProps, LabellableProps } from '../types.js';\nimport { Text } from '../typography/text.js';\n\nexport interface SliderProps<T extends number | [number, number] = number>\n extends\n CommonProps,\n LabellableProps,\n Pick<RACSliderProps<T>, 'isDisabled' | 'minValue' | 'maxValue' | 'step' | 'formatOptions'> {\n /** A description for the field. Provides a hint such as specific requirements for what to choose. */\n description?: string;\n /** The current value (controlled). */\n value?: T;\n /** The default value (uncontrolled). */\n defaultValue?: T;\n /** Handler that is called when the value changes. */\n onChange?: (value: T) => void;\n /** Handler that is called when the slider stops moving. */\n onChangeEnd?: (value: T) => void;\n /**\n * The `<form>` element to associate the input with.\n * The value of this attribute must be the id of a `<form>` in the same document.\n * See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#form).\n */\n form?: string;\n /**\n * The name(s) of the input element(s), used when submitting an HTML form. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name).\n */\n name?: T extends [number, number] ? [string, string] : string;\n /**\n * Whether to show input fields for slider values.\n * @default false\n */\n withInput?: boolean;\n /**\n * Whether to show static labels with minimum and maximum values.\n * @default false\n * */\n showLabels?: boolean;\n}\n\nfunction Slider<T extends number | [number, number] = number>(\n {\n label,\n description,\n UNSAFE_className,\n UNSAFE_style,\n form,\n name,\n withInput,\n showLabels,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n ...props\n }: SliderProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descriptionId = useId();\n const rangeStartLabelId = useId();\n const rangeEndLabelId = useId();\n const messages = useLocalizedMessages('slider');\n\n useProductionWarning(() => {\n if (!label && !ariaLabel && !ariaLabelledBy) {\n console.warn('Slider requires one of label / aria-label / aria-labelledby for accessibility');\n }\n }, [label, ariaLabel, ariaLabelledBy]);\n\n return (\n <RACProvider values={[[RACTextContext, { slots: { description: { id: descriptionId } } }]]}>\n <RACSlider\n {...props}\n ref={ref}\n className={clsx('cim-slider', UNSAFE_className)}\n style={UNSAFE_style}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n orientation=\"horizontal\"\n aria-describedby={[description && descriptionId, props['aria-describedby']].filter(Boolean).join(' ')}\n >\n {({ state, isDisabled }) => {\n const isRangeSlider = state.values.length === 2;\n\n return (\n <>\n <FormFieldLabel isRequired={false} isDisabled={isDisabled}>\n {label}\n </FormFieldLabel>\n\n {!withInput && label != null && (\n <RACSliderOutput className=\"cim-slider-output\">\n <Text as=\"span\" variant=\"medium\">\n {state.values.map((_, i) => state.getThumbValueLabel(i)).join(' – ')}\n </Text>\n </RACSliderOutput>\n )}\n\n <div className=\"cim-slider-track-container\">\n {showLabels && (\n <Text as=\"span\" variant=\"medium\" UNSAFE_className=\"cim-slider-label-min\">\n {state.getThumbMinValue(0)}\n </Text>\n )}\n\n <RACSliderTrack className=\"cim-slider-track\">\n {({ state: trackState, isDisabled: trackIsDisabled }) => (\n <>\n <div className=\"cim-slider-track-background\" data-disabled={trackIsDisabled || undefined} />\n\n <div\n className=\"cim-slider-fill\"\n style={\n (state.values.length === 1\n ? {\n '--cim-slider-fill-size': trackState.getThumbPercent(0) * 100 + '%',\n }\n : isRangeSlider\n ? {\n '--cim-slider-fill-start': trackState.getThumbPercent(0) * 100 + '%',\n '--cim-slider-fill-size':\n (trackState.getThumbPercent(1) - trackState.getThumbPercent(0)) * 100 + '%',\n }\n : {}) as React.CSSProperties\n }\n />\n\n {trackState.values.map((_, i) => (\n <RACSliderThumb\n key={i}\n index={i}\n className=\"cim-slider-thumb\"\n name={typeof name === 'string' ? name : name?.[i]}\n form={form}\n aria-labelledby={isRangeSlider ? (i === 0 ? rangeStartLabelId : rangeEndLabelId) : undefined}\n />\n ))}\n </>\n )}\n </RACSliderTrack>\n\n {showLabels && (\n <Text as=\"span\" variant=\"medium\" UNSAFE_className=\"cim-slider-label-max\">\n {state.getThumbMaxValue(state.values.length - 1)}\n </Text>\n )}\n\n {withInput && (\n <div className=\"cim-slider-inputs-container-wide\">\n {state.values.map((_, i) => (\n <SliderNumberField\n key={i}\n index={i}\n aria-labelledby={isRangeSlider ? (i === 0 ? rangeStartLabelId : rangeEndLabelId) : undefined}\n style={{ order: isRangeSlider ? (i === 0 ? -1 : 1) : undefined }}\n formatOptions={props.formatOptions}\n />\n ))}\n </div>\n )}\n </div>\n\n {withInput && (\n <div className=\"cim-slider-inputs-container-narrow\">\n {state.values.map((_, i) => (\n <SliderNumberField\n key={i}\n index={i}\n aria-labelledby={isRangeSlider ? (i === 0 ? rangeStartLabelId : rangeEndLabelId) : undefined}\n formatOptions={props.formatOptions}\n />\n ))}\n </div>\n )}\n\n <FormFieldDescription>{description}</FormFieldDescription>\n\n {isRangeSlider && (\n <>\n <span style={{ display: 'none' }} id={rangeStartLabelId}>\n {messages.format('rangeStart')}\n </span>\n <span style={{ display: 'none' }} id={rangeEndLabelId}>\n {messages.format('rangeEnd')}\n </span>\n </>\n )}\n </>\n );\n }}\n </RACSlider>\n </RACProvider>\n );\n}\n\n/**\n * Allows users to select one or more values within a range.\n *\n * See [slider usage guidelines](https://ui.cimpress.io/components/slider/).\n */\nconst _Slider = withStyleProps(forwardRef(Slider), 'Slider');\n\nexport { _Slider as Slider };\n\ninterface SliderNumberFieldProps extends RACNumberFieldProps {\n index: number;\n}\n\nfunction SliderNumberField({ index, 'aria-labelledby': ariaLabelledBy, ...props }: SliderNumberFieldProps) {\n const state = useContext(RACSliderStateContext)!;\n const labelProps = useSlottedContext(RACLabelContext)!;\n\n return (\n <RACNumberField\n {...props}\n className=\"cim-slider-input\"\n value={state.values[index]}\n onChange={(value) => {\n if (!Number.isNaN(value)) {\n state.setThumbValue(index, value ?? 0);\n }\n }}\n aria-labelledby={[labelProps.id, ariaLabelledBy].filter(Boolean).join(' ')}\n >\n <Input contentWidth=\"5ch\" />\n </RACNumberField>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"slider.js","sourceRoot":"","sources":["../../../../src/components/slider/slider.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { useContext, type ForwardedRef } from 'react';\nimport { useId } from 'react-aria';\nimport {\n LabelContext as RACLabelContext,\n NumberField as RACNumberField,\n Provider as RACProvider,\n Slider as RACSlider,\n SliderFill as RACSliderFill,\n SliderOutput as RACSliderOutput,\n SliderStateContext as RACSliderStateContext,\n SliderThumb as RACSliderThumb,\n SliderTrack as RACSliderTrack,\n TextContext as RACTextContext,\n useSlottedContext,\n type NumberFieldProps as RACNumberFieldProps,\n type SliderProps as RACSliderProps,\n} from 'react-aria-components';\nimport { forwardRef } from '../../forward-ref.js';\nimport { useLocalizedMessages } from '../../i18n/localization-provider.js';\nimport { useProductionWarning } from '../../utils/use-production-warning.js';\nimport { withStyleProps } from '../../with-style-props.js';\nimport { FormFieldDescription, FormFieldLabel } from '../internal/form-field/form-field.js';\nimport { Input } from '../internal/input/input.js';\nimport type { CommonProps, LabellableProps } from '../types.js';\nimport { Text } from '../typography/text.js';\n\nexport interface SliderProps<T extends number | [number, number] = number>\n extends\n CommonProps,\n LabellableProps,\n Pick<RACSliderProps<T>, 'isDisabled' | 'minValue' | 'maxValue' | 'step' | 'formatOptions'> {\n /** A description for the field. Provides a hint such as specific requirements for what to choose. */\n description?: string;\n /** The current value (controlled). */\n value?: T;\n /** The default value (uncontrolled). */\n defaultValue?: T;\n /** Handler that is called when the value changes. */\n onChange?: (value: T) => void;\n /** Handler that is called when the slider stops moving. */\n onChangeEnd?: (value: T) => void;\n /**\n * The `<form>` element to associate the input with.\n * The value of this attribute must be the id of a `<form>` in the same document.\n * See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#form).\n */\n form?: string;\n /**\n * The name(s) of the input element(s), used when submitting an HTML form. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#name).\n */\n name?: T extends [number, number] ? [string, string] : string;\n /**\n * Whether to show input fields for slider values.\n * @default false\n */\n withInput?: boolean;\n /**\n * Whether to show static labels with minimum and maximum values.\n * @default false\n * */\n showLabels?: boolean;\n}\n\nfunction Slider<T extends number | [number, number] = number>(\n {\n label,\n description,\n UNSAFE_className,\n UNSAFE_style,\n form,\n name,\n withInput,\n showLabels,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n ...props\n }: SliderProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const descriptionId = useId();\n const rangeStartLabelId = useId();\n const rangeEndLabelId = useId();\n const messages = useLocalizedMessages('slider');\n\n useProductionWarning(() => {\n if (!label && !ariaLabel && !ariaLabelledBy) {\n console.warn('Slider requires one of label / aria-label / aria-labelledby for accessibility');\n }\n }, [label, ariaLabel, ariaLabelledBy]);\n\n return (\n <RACProvider values={[[RACTextContext, { slots: { description: { id: descriptionId } } }]]}>\n <RACSlider\n {...props}\n ref={ref}\n className={clsx('cim-slider', UNSAFE_className)}\n style={UNSAFE_style}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n orientation=\"horizontal\"\n aria-describedby={[description && descriptionId, props['aria-describedby']].filter(Boolean).join(' ')}\n >\n {({ state, isDisabled }) => {\n const isRangeSlider = state.values.length === 2;\n\n return (\n <>\n <FormFieldLabel isRequired={false} isDisabled={isDisabled}>\n {label}\n </FormFieldLabel>\n\n {!withInput && label != null && (\n <RACSliderOutput className=\"cim-slider-output\">\n <Text as=\"span\" variant=\"medium\">\n {state.values.map((_, i) => state.getThumbValueLabel(i)).join(' – ')}\n </Text>\n </RACSliderOutput>\n )}\n\n <div className=\"cim-slider-track-container\">\n {showLabels && (\n <Text as=\"span\" variant=\"medium\" UNSAFE_className=\"cim-slider-label-min\">\n {state.getThumbMinValue(0)}\n </Text>\n )}\n\n <RACSliderTrack className=\"cim-slider-track\">\n {({ state: trackState, isDisabled: trackIsDisabled }) => (\n <>\n <div className=\"cim-slider-track-background\" data-disabled={trackIsDisabled || undefined}>\n <RACSliderFill className=\"cim-slider-fill\" />\n </div>\n\n {trackState.values.map((_, i) => (\n <RACSliderThumb\n key={i}\n index={i}\n className=\"cim-slider-thumb\"\n name={typeof name === 'string' ? name : name?.[i]}\n form={form}\n aria-labelledby={isRangeSlider ? (i === 0 ? rangeStartLabelId : rangeEndLabelId) : undefined}\n />\n ))}\n </>\n )}\n </RACSliderTrack>\n\n {showLabels && (\n <Text as=\"span\" variant=\"medium\" UNSAFE_className=\"cim-slider-label-max\">\n {state.getThumbMaxValue(state.values.length - 1)}\n </Text>\n )}\n\n {withInput && (\n <div className=\"cim-slider-inputs-container-wide\">\n {state.values.map((_, i) => (\n <SliderNumberField\n key={i}\n index={i}\n aria-labelledby={isRangeSlider ? (i === 0 ? rangeStartLabelId : rangeEndLabelId) : undefined}\n style={{ order: isRangeSlider ? (i === 0 ? -1 : 1) : undefined }}\n formatOptions={props.formatOptions}\n />\n ))}\n </div>\n )}\n </div>\n\n {withInput && (\n <div className=\"cim-slider-inputs-container-narrow\">\n {state.values.map((_, i) => (\n <SliderNumberField\n key={i}\n index={i}\n aria-labelledby={isRangeSlider ? (i === 0 ? rangeStartLabelId : rangeEndLabelId) : undefined}\n formatOptions={props.formatOptions}\n />\n ))}\n </div>\n )}\n\n <FormFieldDescription>{description}</FormFieldDescription>\n\n {isRangeSlider && (\n <>\n <span style={{ display: 'none' }} id={rangeStartLabelId}>\n {messages.format('rangeStart')}\n </span>\n <span style={{ display: 'none' }} id={rangeEndLabelId}>\n {messages.format('rangeEnd')}\n </span>\n </>\n )}\n </>\n );\n }}\n </RACSlider>\n </RACProvider>\n );\n}\n\n/**\n * Allows users to select one or more values within a range.\n *\n * See [slider usage guidelines](https://ui.cimpress.io/components/slider/).\n */\nconst _Slider = withStyleProps(forwardRef(Slider), 'Slider');\n\nexport { _Slider as Slider };\n\ninterface SliderNumberFieldProps extends RACNumberFieldProps {\n index: number;\n}\n\nfunction SliderNumberField({ index, 'aria-labelledby': ariaLabelledBy, ...props }: SliderNumberFieldProps) {\n const state = useContext(RACSliderStateContext)!;\n const labelProps = useSlottedContext(RACLabelContext)!;\n\n return (\n <RACNumberField\n {...props}\n className=\"cim-slider-input\"\n value={state.values[index]}\n onChange={(value) => {\n if (!Number.isNaN(value)) {\n state.setThumbValue(index, value ?? 0);\n }\n }}\n aria-labelledby={[labelProps.id, ariaLabelledBy].filter(Boolean).join(' ')}\n >\n <Input contentWidth=\"5ch\" />\n </RACNumberField>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-header.d.ts","sourceRoot":"","sources":["../../../../src/components/table/table-header.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table-header.d.ts","sourceRoot":"","sources":["../../../../src/components/table/table-header.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,wDAAwD;IACxD,QAAQ,EAAE,SAAS,CAAC;CACrB;AAgBD;;;;GAIG;AACH,QAAA,MAAM,YAAY,0HAAyC,CAAC;AAE5D,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,CAAC"}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.TableHeader = void 0;
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
const utils_1 = require("@react-aria/utils");
|
|
7
6
|
const react_1 = require("react");
|
|
7
|
+
const react_aria_1 = require("react-aria");
|
|
8
8
|
const forward_ref_js_1 = require("../../forward-ref.js");
|
|
9
9
|
const refs_js_1 = require("./contexts/refs.js");
|
|
10
10
|
function TableHeader({ children, UNSAFE_className, UNSAFE_style, ...props }, ref) {
|
|
11
11
|
const { header: headerRef } = (0, refs_js_1.useTableRefs)();
|
|
12
|
-
const mergedRef = (0,
|
|
12
|
+
const mergedRef = (0, react_aria_1.useObjectRef)((0, react_1.useMemo)(() => (0, react_aria_1.mergeRefs)(ref, headerRef), [ref, headerRef]));
|
|
13
13
|
return ((0, jsx_runtime_1.jsx)("thead", { ...props, ref: mergedRef, className: UNSAFE_className, style: UNSAFE_style, children: children }));
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-header.js","sourceRoot":"","sources":["../../../../src/components/table/table-header.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;AAEb,
|
|
1
|
+
{"version":3,"file":"table-header.js","sourceRoot":"","sources":["../../../../src/components/table/table-header.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;AAEb,iCAAmE;AACnE,2CAAqD;AACrD,yDAAkD;AAElD,gDAAkD;AAOlD,SAAS,WAAW,CAClB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,KAAK,EAAoB,EACxE,GAA0C;IAE1C,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,sBAAY,GAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAA,yBAAY,EAAC,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAA,sBAAS,EAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAE3F,OAAO,CACL,qCAAW,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,YAC/E,QAAQ,GACH,CACT,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,YAAY,GAAG,IAAA,2BAAU,EAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AAEnC,mCAAW","sourcesContent":["'use client';\n\nimport { useMemo, type ForwardedRef, type ReactNode } from 'react';\nimport { mergeRefs, useObjectRef } from 'react-aria';\nimport { forwardRef } from '../../forward-ref.js';\nimport type { CommonProps } from '../types.js';\nimport { useTableRefs } from './contexts/refs.js';\n\nexport interface TableHeaderProps extends CommonProps {\n /** The header rows that belong to this table header. */\n children: ReactNode;\n}\n\nfunction TableHeader(\n { children, UNSAFE_className, UNSAFE_style, ...props }: TableHeaderProps,\n ref: ForwardedRef<HTMLTableSectionElement>,\n) {\n const { header: headerRef } = useTableRefs();\n const mergedRef = useObjectRef(useMemo(() => mergeRefs(ref, headerRef), [ref, headerRef]));\n\n return (\n <thead {...props} ref={mergedRef} className={UNSAFE_className} style={UNSAFE_style}>\n {children}\n </thead>\n );\n}\n\n/**\n * Renders a header section within a table.\n *\n * See [table usage guidelines](https://ui.cimpress.io/components/table/) and [table building guide](https://ui.cimpress.io/dev-guides/tables/).\n */\nconst _TableHeader = forwardRef(TableHeader, 'TableHeader');\n\nexport { _TableHeader as TableHeader };\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IconProps } from '../components/types.js';
|
|
2
|
+
/** Renders an SVG icon. */
|
|
3
|
+
declare const SvgAppWindowPrevious: {
|
|
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 SvgAppWindowPrevious;
|
|
8
|
+
//# sourceMappingURL=app-window-previous.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-window-previous.d.ts","sourceRoot":"","sources":["../../../src/icons/app-window-previous.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGxD,2BAA2B;AAC3B,QAAA,MAAM,oBAAoB;yFAOvB,SAAS;;CAeX,CAAC;AAEF,eAAe,oBAAoB,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 = 'IconAppWindowPrevious';
|
|
10
|
+
/** Renders an SVG icon. */
|
|
11
|
+
const SvgAppWindowPrevious = ({ 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", { d: "M26 14V7a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h7a1 1 0 1 1 0 2H7a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v7a1 1 0 1 1-2 0" }), (0, jsx_runtime_1.jsx)("path", { d: "M29 28v-1.5a4.5 4.5 0 0 0-4.5-4.5h-4.086l2.293-2.293a1 1 0 1 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 1 0 1.414-1.414L20.414 24H24.5a2.5 2.5 0 0 1 2.5 2.5V28a1 1 0 1 0 2 0m-2-18a1 1 0 1 1 0 2H5a1 1 0 1 1 0-2zM9 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0m3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0" })] }));
|
|
21
|
+
};
|
|
22
|
+
SvgAppWindowPrevious.displayName = displayName;
|
|
23
|
+
exports.default = SvgAppWindowPrevious;
|
|
24
|
+
//# sourceMappingURL=app-window-previous.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-window-previous.js","sourceRoot":"","sources":["../../../src/icons/app-window-previous.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,oDAAgD;AAChD,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAC5C,2BAA2B;AAC3B,MAAM,oBAAoB,GAAG,CAAC,EAC5B,IAAI,EACJ,aAAa,EAAE,UAAU,EACzB,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,GAAG,IAAI,EACG,EAAE,EAAE;IACd,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,iCAAM,CAAC,EAAC,0IAA0I,GAAG,EACrJ,iCAAM,CAAC,EAAC,wRAAwR,GAAG,IAC/R,CACP,CAAC;AACJ,CAAC,CAAC;AACF,oBAAoB,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/C,kBAAe,oBAAoB,CAAC","sourcesContent":["import clsx from 'clsx';\nimport type { IconProps } from '../components/types.js';\nimport { fgTone } from '../utils/style/tone.js';\nconst displayName = 'IconAppWindowPrevious';\n/** Renders an SVG icon. */\nconst SvgAppWindowPrevious = ({\n size,\n 'aria-hidden': ariaHidden,\n tone,\n UNSAFE_className,\n UNSAFE_style,\n ...rest\n}: 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 d=\"M26 14V7a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v18a1 1 0 0 0 1 1h7a1 1 0 1 1 0 2H7a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h18a3 3 0 0 1 3 3v7a1 1 0 1 1-2 0\" />\n <path d=\"M29 28v-1.5a4.5 4.5 0 0 0-4.5-4.5h-4.086l2.293-2.293a1 1 0 1 0-1.414-1.414l-4 4a1 1 0 0 0 0 1.414l4 4a1 1 0 1 0 1.414-1.414L20.414 24H24.5a2.5 2.5 0 0 1 2.5 2.5V28a1 1 0 1 0 2 0m-2-18a1 1 0 1 1 0 2H5a1 1 0 1 1 0-2zM9 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0m3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0\" />\n </svg>\n );\n};\nSvgAppWindowPrevious.displayName = displayName;\nexport default SvgAppWindowPrevious;\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IconProps } from '../components/types.js';
|
|
2
|
+
/** Renders an SVG icon. */
|
|
3
|
+
declare const SvgIdentificationCard: {
|
|
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 SvgIdentificationCard;
|
|
8
|
+
//# sourceMappingURL=identification-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identification-card.d.ts","sourceRoot":"","sources":["../../../src/icons/identification-card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGxD,2BAA2B;AAC3B,QAAA,MAAM,qBAAqB;yFAOxB,SAAS;;CAiBX,CAAC;AAEF,eAAe,qBAAqB,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 = 'IconIdentificationCard';
|
|
10
|
+
/** Renders an SVG icon. */
|
|
11
|
+
const SvgIdentificationCard = ({ 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", { d: "M24 13a1 1 0 1 1 0 2h-5a1 1 0 1 1 0-2zm0 4a1 1 0 1 1 0 2h-5a1 1 0 1 1 0-2z" }), (0, jsx_runtime_1.jsx)("path", { d: "M26.999 7.75a.75.75 0 0 0-.75-.75H5.751a.75.75 0 0 0-.75.75L5 24.25c0 .414.336.75.75.75h20.5a.75.75 0 0 0 .75-.75zM29 24.25A2.75 2.75 0 0 1 26.25 27H5.75A2.75 2.75 0 0 1 3 24.25l.001-16.5A2.75 2.75 0 0 1 5.751 5h20.498a2.75 2.75 0 0 1 2.75 2.75z" }), (0, jsx_runtime_1.jsx)("path", { d: "M14 15a2 2 0 1 0-4 0 2 2 0 0 0 4 0m2 0a4 4 0 1 1-8 0 4 4 0 0 1 8 0" }), (0, jsx_runtime_1.jsx)("path", { d: "M12 17c2.293 0 4.406 1.557 4.969 3.752a1 1 0 0 1-1.938.496C14.71 19.99 13.434 19 12 19s-2.708.99-3.031 2.249a1 1 0 0 1-1.938-.498C7.595 18.559 9.706 17 12 17" })] }));
|
|
21
|
+
};
|
|
22
|
+
SvgIdentificationCard.displayName = displayName;
|
|
23
|
+
exports.default = SvgIdentificationCard;
|
|
24
|
+
//# sourceMappingURL=identification-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identification-card.js","sourceRoot":"","sources":["../../../src/icons/identification-card.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,oDAAgD;AAChD,MAAM,WAAW,GAAG,wBAAwB,CAAC;AAC7C,2BAA2B;AAC3B,MAAM,qBAAqB,GAAG,CAAC,EAC7B,IAAI,EACJ,aAAa,EAAE,UAAU,EACzB,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,GAAG,IAAI,EACG,EAAE,EAAE;IACd,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,iCAAM,CAAC,EAAC,4EAA4E,GAAG,EACvF,iCAAM,CAAC,EAAC,uPAAuP,GAAG,EAClQ,iCAAM,CAAC,EAAC,oEAAoE,GAAG,EAC/E,iCAAM,CAAC,EAAC,+JAA+J,GAAG,IACtK,CACP,CAAC;AACJ,CAAC,CAAC;AACF,qBAAqB,CAAC,WAAW,GAAG,WAAW,CAAC;AAChD,kBAAe,qBAAqB,CAAC","sourcesContent":["import clsx from 'clsx';\nimport type { IconProps } from '../components/types.js';\nimport { fgTone } from '../utils/style/tone.js';\nconst displayName = 'IconIdentificationCard';\n/** Renders an SVG icon. */\nconst SvgIdentificationCard = ({\n size,\n 'aria-hidden': ariaHidden,\n tone,\n UNSAFE_className,\n UNSAFE_style,\n ...rest\n}: 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 d=\"M24 13a1 1 0 1 1 0 2h-5a1 1 0 1 1 0-2zm0 4a1 1 0 1 1 0 2h-5a1 1 0 1 1 0-2z\" />\n <path d=\"M26.999 7.75a.75.75 0 0 0-.75-.75H5.751a.75.75 0 0 0-.75.75L5 24.25c0 .414.336.75.75.75h20.5a.75.75 0 0 0 .75-.75zM29 24.25A2.75 2.75 0 0 1 26.25 27H5.75A2.75 2.75 0 0 1 3 24.25l.001-16.5A2.75 2.75 0 0 1 5.751 5h20.498a2.75 2.75 0 0 1 2.75 2.75z\" />\n <path d=\"M14 15a2 2 0 1 0-4 0 2 2 0 0 0 4 0m2 0a4 4 0 1 1-8 0 4 4 0 0 1 8 0\" />\n <path d=\"M12 17c2.293 0 4.406 1.557 4.969 3.752a1 1 0 0 1-1.938.496C14.71 19.99 13.434 19 12 19s-2.708.99-3.031 2.249a1 1 0 0 1-1.938-.498C7.595 18.559 9.706 17 12 17\" />\n </svg>\n );\n};\nSvgIdentificationCard.displayName = displayName;\nexport default SvgIdentificationCard;\n"]}
|
|
@@ -20,6 +20,7 @@ export { default as IconAnalyticsPieFill } from './analytics-pie-fill.js';
|
|
|
20
20
|
export { default as IconAnalyticsPie } from './analytics-pie.js';
|
|
21
21
|
export { default as IconAppWindowLayout } from './app-window-layout.js';
|
|
22
22
|
export { default as IconAppWindowNext } from './app-window-next.js';
|
|
23
|
+
export { default as IconAppWindowPrevious } from './app-window-previous.js';
|
|
23
24
|
export { default as IconAppWindowSearch } from './app-window-search.js';
|
|
24
25
|
export { default as IconArrowDownBold } from './arrow-down-bold.js';
|
|
25
26
|
export { default as IconArrowDown } from './arrow-down.js';
|
|
@@ -130,6 +131,7 @@ export { default as IconFolderDatabase } from './folder-database.js';
|
|
|
130
131
|
export { default as IconGlobe } from './globe.js';
|
|
131
132
|
export { default as IconGrid } from './grid.js';
|
|
132
133
|
export { default as IconHome } from './home.js';
|
|
134
|
+
export { default as IconIdentificationCard } from './identification-card.js';
|
|
133
135
|
export { default as IconImageBroken } from './image-broken.js';
|
|
134
136
|
export { default as IconImageFill } from './image-fill.js';
|
|
135
137
|
export { default as IconImage } from './image.js';
|
|
@@ -156,6 +158,7 @@ export { default as IconMenuMoreVertical } from './menu-more-vertical.js';
|
|
|
156
158
|
export { default as IconMenu } from './menu.js';
|
|
157
159
|
export { default as IconMobilePhone } from './mobile-phone.js';
|
|
158
160
|
export { default as IconOpacity } from './opacity.js';
|
|
161
|
+
export { default as IconPause } from './pause.js';
|
|
159
162
|
export { default as IconPencilFill } from './pencil-fill.js';
|
|
160
163
|
export { default as IconPencil } from './pencil.js';
|
|
161
164
|
export { default as IconPhone } from './phone.js';
|
|
@@ -214,14 +217,18 @@ export { default as IconTextAlignmentJustify } from './text-alignment-justify.js
|
|
|
214
217
|
export { default as IconTextAlignmentLeft } from './text-alignment-left.js';
|
|
215
218
|
export { default as IconTextAlignmentRight } from './text-alignment-right.js';
|
|
216
219
|
export { default as IconTextBold } from './text-bold.js';
|
|
220
|
+
export { default as IconTextFormat } from './text-format.js';
|
|
217
221
|
export { default as IconTextItalic } from './text-italic.js';
|
|
218
222
|
export { default as IconTextStrikethrough } from './text-strikethrough.js';
|
|
219
223
|
export { default as IconTextUnderline } from './text-underline.js';
|
|
220
224
|
export { default as IconText } from './text.js';
|
|
225
|
+
export { default as IconThumbsDown } from './thumbs-down.js';
|
|
226
|
+
export { default as IconThumbsUp } from './thumbs-up.js';
|
|
221
227
|
export { default as IconTranslate } from './translate.js';
|
|
222
228
|
export { default as IconTrashFill } from './trash-fill.js';
|
|
223
229
|
export { default as IconTrash } from './trash.js';
|
|
224
230
|
export { default as IconUpload } from './upload.js';
|
|
231
|
+
export { default as IconUserReplace } from './user-replace.js';
|
|
225
232
|
export { default as IconUser } from './user.js';
|
|
226
233
|
export { default as IconUsers } from './users.js';
|
|
227
234
|
export { default as IconVariants } from './variants.js';
|