@raystack/apsara 0.51.0 → 0.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordion/__tests__/accordion.test.d.ts +2 -0
- package/dist/components/accordion/__tests__/accordion.test.d.ts.map +1 -0
- package/dist/components/accordion/accordion-content.cjs +14 -0
- package/dist/components/accordion/accordion-content.cjs.map +1 -0
- package/dist/components/accordion/accordion-content.d.ts +8 -0
- package/dist/components/accordion/accordion-content.d.ts.map +1 -0
- package/dist/components/accordion/accordion-content.js +12 -0
- package/dist/components/accordion/accordion-content.js.map +1 -0
- package/dist/components/accordion/accordion-item.cjs +14 -0
- package/dist/components/accordion/accordion-item.cjs.map +1 -0
- package/dist/components/accordion/accordion-item.d.ts +8 -0
- package/dist/components/accordion/accordion-item.d.ts.map +1 -0
- package/dist/components/accordion/accordion-item.js +12 -0
- package/dist/components/accordion/accordion-item.js.map +1 -0
- package/dist/components/accordion/accordion-root.cjs +26 -0
- package/dist/components/accordion/accordion-root.cjs.map +1 -0
- package/dist/components/accordion/accordion-root.d.ts +11 -0
- package/dist/components/accordion/accordion-root.d.ts.map +1 -0
- package/dist/components/accordion/accordion-root.js +24 -0
- package/dist/components/accordion/accordion-root.js.map +1 -0
- package/dist/components/accordion/accordion-trigger.cjs +15 -0
- package/dist/components/accordion/accordion-trigger.cjs.map +1 -0
- package/dist/components/accordion/accordion-trigger.d.ts +8 -0
- package/dist/components/accordion/accordion-trigger.d.ts.map +1 -0
- package/dist/components/accordion/accordion-trigger.js +13 -0
- package/dist/components/accordion/accordion-trigger.js.map +1 -0
- package/dist/components/accordion/accordion.cjs +15 -0
- package/dist/components/accordion/accordion.cjs.map +1 -0
- package/dist/components/accordion/accordion.d.ts +6 -0
- package/dist/components/accordion/accordion.d.ts.map +1 -0
- package/dist/components/accordion/accordion.js +13 -0
- package/dist/components/accordion/accordion.js.map +1 -0
- package/dist/components/accordion/accordion.module.css.cjs +8 -0
- package/dist/components/accordion/accordion.module.css.cjs.map +1 -0
- package/dist/components/accordion/accordion.module.css.js +4 -0
- package/dist/components/accordion/accordion.module.css.js.map +1 -0
- package/dist/components/accordion/index.d.ts +2 -0
- package/dist/components/accordion/index.d.ts.map +1 -0
- package/dist/components/amount/__tests__/amount.test.d.ts +2 -0
- package/dist/components/amount/__tests__/amount.test.d.ts.map +1 -0
- package/dist/components/announcement-bar/__tests__/announcement-bar.test.d.ts +2 -0
- package/dist/components/announcement-bar/__tests__/announcement-bar.test.d.ts.map +1 -0
- package/dist/components/avatar/__tests__/avatar.test.d.ts +2 -0
- package/dist/components/avatar/__tests__/avatar.test.d.ts.map +1 -0
- package/dist/components/badge/__tests__/badge.test.d.ts +2 -0
- package/dist/components/badge/__tests__/badge.test.d.ts.map +1 -0
- package/dist/components/box/__tests__/box.test.d.ts +2 -0
- package/dist/components/box/__tests__/box.test.d.ts.map +1 -0
- package/dist/components/breadcrumb/__tests__/breadcrumb.test.d.ts +2 -0
- package/dist/components/breadcrumb/__tests__/breadcrumb.test.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb-item.cjs +1 -1
- package/dist/components/breadcrumb/breadcrumb-item.cjs.map +1 -1
- package/dist/components/breadcrumb/breadcrumb-item.js +1 -1
- package/dist/components/breadcrumb/breadcrumb-item.js.map +1 -1
- package/dist/components/breadcrumb/breadcrumb-misc.cjs +2 -2
- package/dist/components/breadcrumb/breadcrumb-misc.cjs.map +1 -1
- package/dist/components/breadcrumb/breadcrumb-misc.d.ts.map +1 -1
- package/dist/components/breadcrumb/breadcrumb-misc.js +3 -3
- package/dist/components/breadcrumb/breadcrumb-misc.js.map +1 -1
- package/dist/components/button/__tests__/button.test.d.ts +2 -0
- package/dist/components/button/__tests__/button.test.d.ts.map +1 -0
- package/dist/components/calendar/__tests__/calendar.test.d.ts +2 -0
- package/dist/components/calendar/__tests__/calendar.test.d.ts.map +1 -0
- package/dist/components/calendar/calendar.cjs +1 -1
- package/dist/components/calendar/calendar.cjs.map +1 -1
- package/dist/components/calendar/calendar.js +1 -1
- package/dist/components/calendar/calendar.js.map +1 -1
- package/dist/components/calendar/date-picker.cjs +7 -6
- package/dist/components/calendar/date-picker.cjs.map +1 -1
- package/dist/components/calendar/date-picker.d.ts +3 -2
- package/dist/components/calendar/date-picker.d.ts.map +1 -1
- package/dist/components/calendar/date-picker.js +7 -6
- package/dist/components/calendar/date-picker.js.map +1 -1
- package/dist/components/calendar/range-picker.cjs +4 -3
- package/dist/components/calendar/range-picker.cjs.map +1 -1
- package/dist/components/calendar/range-picker.d.ts +3 -2
- package/dist/components/calendar/range-picker.d.ts.map +1 -1
- package/dist/components/calendar/range-picker.js +4 -3
- package/dist/components/calendar/range-picker.js.map +1 -1
- package/dist/components/callout/__tests__/callout.test.d.ts +2 -0
- package/dist/components/callout/__tests__/callout.test.d.ts.map +1 -0
- package/dist/components/checkbox/__tests__/checkbox.test.d.ts +2 -0
- package/dist/components/checkbox/__tests__/checkbox.test.d.ts.map +1 -0
- package/dist/components/chip/__tests__/chip.test.d.ts +2 -0
- package/dist/components/chip/__tests__/chip.test.d.ts.map +1 -0
- package/dist/components/color-picker/__tests__/color-picker.test.d.ts +2 -0
- package/dist/components/color-picker/__tests__/color-picker.test.d.ts.map +1 -0
- package/dist/components/command/__tests__/command.test.d.ts +2 -0
- package/dist/components/command/__tests__/command.test.d.ts.map +1 -0
- package/dist/components/container/__tests__/container.test.d.ts +2 -0
- package/dist/components/container/__tests__/container.test.d.ts.map +1 -0
- package/dist/components/container/container.d.ts +1 -1
- package/dist/components/copy-button/__tests__/copy-button.test.d.ts +2 -0
- package/dist/components/copy-button/__tests__/copy-button.test.d.ts.map +1 -0
- package/dist/components/data-table/__tests__/data-table.test.d.ts +2 -0
- package/dist/components/data-table/__tests__/data-table.test.d.ts.map +1 -0
- package/dist/components/dialog/__tests__/dialog.test.d.ts +2 -0
- package/dist/components/dialog/__tests__/dialog.test.d.ts.map +1 -0
- package/dist/components/dropdown-menu/__tests__/dropdown-menu.test.d.ts +2 -0
- package/dist/components/dropdown-menu/__tests__/dropdown-menu.test.d.ts.map +1 -0
- package/dist/components/dropdown-menu/dropdown-menu-content.cjs +19 -6
- package/dist/components/dropdown-menu/dropdown-menu-content.cjs.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-content.d.ts.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-content.js +19 -6
- package/dist/components/dropdown-menu/dropdown-menu-content.js.map +1 -1
- package/dist/components/empty-state/__tests__/empty-state.test.d.ts +2 -0
- package/dist/components/empty-state/__tests__/empty-state.test.d.ts.map +1 -0
- package/dist/components/filter-chip/__tests__/filter-chip.test.d.ts +2 -0
- package/dist/components/filter-chip/__tests__/filter-chip.test.d.ts.map +1 -0
- package/dist/components/flex/__tests__/flex.test.d.ts +2 -0
- package/dist/components/flex/__tests__/flex.test.d.ts.map +1 -0
- package/dist/components/flex/flex.d.ts +3 -3
- package/dist/components/grid/__tests__/grid.test.d.ts +2 -0
- package/dist/components/grid/__tests__/grid.test.d.ts.map +1 -0
- package/dist/components/headline/__tests__/headline.test.d.ts +2 -0
- package/dist/components/headline/__tests__/headline.test.d.ts.map +1 -0
- package/dist/components/headline/headline.d.ts +1 -1
- package/dist/components/icon-button/__tests__/icon-button.test.d.ts +2 -0
- package/dist/components/icon-button/__tests__/icon-button.test.d.ts.map +1 -0
- package/dist/components/image/__tests__/image.test.d.ts +2 -0
- package/dist/components/image/__tests__/image.test.d.ts.map +1 -0
- package/dist/components/image/image.d.ts +1 -1
- package/dist/components/indicator/__tests__/indicator.test.d.ts +2 -0
- package/dist/components/indicator/__tests__/indicator.test.d.ts.map +1 -0
- package/dist/components/input-field/__tests__/input-field.test.d.ts +2 -0
- package/dist/components/input-field/__tests__/input-field.test.d.ts.map +1 -0
- package/dist/components/label/__tests__/label.test.d.ts +2 -0
- package/dist/components/label/__tests__/label.test.d.ts.map +1 -0
- package/dist/components/link/__tests__/link.test.d.ts +2 -0
- package/dist/components/link/__tests__/link.test.d.ts.map +1 -0
- package/dist/components/list/__tests__/list.test.d.ts +2 -0
- package/dist/components/list/__tests__/list.test.d.ts.map +1 -0
- package/dist/components/popover/__tests__/popover.test.d.ts +2 -0
- package/dist/components/popover/__tests__/popover.test.d.ts.map +1 -0
- package/dist/components/popover/popover.cjs.map +1 -1
- package/dist/components/popover/popover.d.ts +1 -2
- package/dist/components/popover/popover.d.ts.map +1 -1
- package/dist/components/popover/popover.js.map +1 -1
- package/dist/components/radio/__tests__/radio.test.d.ts +2 -0
- package/dist/components/radio/__tests__/radio.test.d.ts.map +1 -0
- package/dist/components/search/__tests__/search.test.d.ts +2 -0
- package/dist/components/search/__tests__/search.test.d.ts.map +1 -0
- package/dist/components/select/__tests__/select.test.d.ts +2 -0
- package/dist/components/select/__tests__/select.test.d.ts.map +1 -0
- package/dist/components/separator/__tests__/separator.test.d.ts +2 -0
- package/dist/components/separator/__tests__/separator.test.d.ts.map +1 -0
- package/dist/components/sheet/__tests__/sheet.test.d.ts +2 -0
- package/dist/components/sheet/__tests__/sheet.test.d.ts.map +1 -0
- package/dist/components/sheet/sheet.cjs.map +1 -1
- package/dist/components/sheet/sheet.d.ts +1 -1
- package/dist/components/sheet/sheet.d.ts.map +1 -1
- package/dist/components/sheet/sheet.js.map +1 -1
- package/dist/components/side-panel/__tests__/side-panel.test.d.ts +2 -0
- package/dist/components/side-panel/__tests__/side-panel.test.d.ts.map +1 -0
- package/dist/components/sidebar/__tests__/sidebar.test.d.ts +2 -0
- package/dist/components/sidebar/__tests__/sidebar.test.d.ts.map +1 -0
- package/dist/components/sidebar/sidebar-item.cjs +37 -0
- package/dist/components/sidebar/sidebar-item.cjs.map +1 -0
- package/dist/components/sidebar/sidebar-item.d.ts +14 -0
- package/dist/components/sidebar/sidebar-item.d.ts.map +1 -0
- package/dist/components/sidebar/sidebar-item.js +35 -0
- package/dist/components/sidebar/sidebar-item.js.map +1 -0
- package/dist/components/sidebar/sidebar-main.cjs +13 -0
- package/dist/components/sidebar/sidebar-main.cjs.map +1 -0
- package/dist/components/sidebar/sidebar-main.d.ts +2 -0
- package/dist/components/sidebar/sidebar-main.d.ts.map +1 -0
- package/dist/components/sidebar/sidebar-main.js +11 -0
- package/dist/components/sidebar/sidebar-main.js.map +1 -0
- package/dist/components/sidebar/sidebar-misc.cjs +20 -0
- package/dist/components/sidebar/sidebar-misc.cjs.map +1 -0
- package/dist/components/sidebar/sidebar-misc.d.ts +9 -0
- package/dist/components/sidebar/sidebar-misc.d.ts.map +1 -0
- package/dist/components/sidebar/sidebar-misc.js +16 -0
- package/dist/components/sidebar/sidebar-misc.js.map +1 -0
- package/dist/components/sidebar/sidebar-root.cjs +34 -0
- package/dist/components/sidebar/sidebar-root.cjs.map +1 -0
- package/dist/components/sidebar/sidebar-root.d.ts +15 -0
- package/dist/components/sidebar/sidebar-root.d.ts.map +1 -0
- package/dist/components/sidebar/sidebar-root.js +31 -0
- package/dist/components/sidebar/sidebar-root.js.map +1 -0
- package/dist/components/sidebar/sidebar.cjs +10 -64
- package/dist/components/sidebar/sidebar.cjs.map +1 -1
- package/dist/components/sidebar/sidebar.d.ts +4 -29
- package/dist/components/sidebar/sidebar.d.ts.map +1 -1
- package/dist/components/sidebar/sidebar.js +4 -58
- package/dist/components/sidebar/sidebar.js.map +1 -1
- package/dist/components/skeleton/__tests__/skeleton.test.d.ts +2 -0
- package/dist/components/skeleton/__tests__/skeleton.test.d.ts.map +1 -0
- package/dist/components/slider/__tests__/slider.test.d.ts +2 -0
- package/dist/components/slider/__tests__/slider.test.d.ts.map +1 -0
- package/dist/components/slider/slider.cjs +4 -21
- package/dist/components/slider/slider.cjs.map +1 -1
- package/dist/components/slider/slider.d.ts +3 -3
- package/dist/components/slider/slider.d.ts.map +1 -1
- package/dist/components/slider/slider.js +6 -4
- package/dist/components/slider/slider.js.map +1 -1
- package/dist/components/slider/slider.module.css.cjs +1 -1
- package/dist/components/slider/slider.module.css.js +1 -1
- package/dist/components/switch/__tests__/switch.test.d.ts +2 -0
- package/dist/components/switch/__tests__/switch.test.d.ts.map +1 -0
- package/dist/components/switch/switch.cjs +1 -1
- package/dist/components/switch/switch.cjs.map +1 -1
- package/dist/components/switch/switch.d.ts.map +1 -1
- package/dist/components/switch/switch.js +2 -2
- package/dist/components/switch/switch.js.map +1 -1
- package/dist/components/table/__tests__/table.test.d.ts +2 -0
- package/dist/components/table/__tests__/table.test.d.ts.map +1 -0
- package/dist/components/tabs/__tests__/tabs.test.d.ts +2 -0
- package/dist/components/tabs/__tests__/tabs.test.d.ts.map +1 -0
- package/dist/components/tabs/tabs.cjs.map +1 -1
- package/dist/components/tabs/tabs.d.ts +1 -1
- package/dist/components/tabs/tabs.d.ts.map +1 -1
- package/dist/components/tabs/tabs.js.map +1 -1
- package/dist/components/text/__tests__/text.test.d.ts +2 -0
- package/dist/components/text/__tests__/text.test.d.ts.map +1 -0
- package/dist/components/text/text.cjs +7 -5
- package/dist/components/text/text.cjs.map +1 -1
- package/dist/components/text/text.d.ts +2 -2
- package/dist/components/text/text.d.ts.map +1 -1
- package/dist/components/text/text.js +5 -3
- package/dist/components/text/text.js.map +1 -1
- package/dist/components/text-area/__tests__/text-area.test.d.ts +2 -0
- package/dist/components/text-area/__tests__/text-area.test.d.ts.map +1 -0
- package/dist/components/text-area/text-area.cjs +1 -1
- package/dist/components/text-area/text-area.cjs.map +1 -1
- package/dist/components/text-area/text-area.d.ts.map +1 -1
- package/dist/components/text-area/text-area.js +1 -1
- package/dist/components/text-area/text-area.js.map +1 -1
- package/dist/components/theme-provider/__tests__/theme-provider.test.d.ts +2 -0
- package/dist/components/theme-provider/__tests__/theme-provider.test.d.ts.map +1 -0
- package/dist/components/toast/__tests__/toast.test.d.ts +2 -0
- package/dist/components/toast/__tests__/toast.test.d.ts.map +1 -0
- package/dist/components/tooltip/__tests__/tooltip.test.d.ts +2 -0
- package/dist/components/tooltip/__tests__/tooltip.test.d.ts.map +1 -0
- package/dist/components/tooltip/tooltip-root.d.ts +1 -1
- package/dist/figma/button.figma.d.ts +2 -0
- package/dist/figma/button.figma.d.ts.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/node_modules/.pnpm/@radix-ui_react-accordion@1.2.11_@types_react-dom@19.1.7_@types_react@19.1.9__@types_react@19_mt5ahf6cxnui73dcsmqbdvyj2i/node_modules/@radix-ui/react-accordion/dist/index.cjs +319 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-accordion@1.2.11_@types_react-dom@19.1.7_@types_react@19.1.9__@types_react@19_mt5ahf6cxnui73dcsmqbdvyj2i/node_modules/@radix-ui/react-accordion/dist/index.cjs.map +1 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-accordion@1.2.11_@types_react-dom@19.1.7_@types_react@19.1.9__@types_react@19_mt5ahf6cxnui73dcsmqbdvyj2i/node_modules/@radix-ui/react-accordion/dist/index.js +307 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-accordion@1.2.11_@types_react-dom@19.1.7_@types_react@19.1.9__@types_react@19_mt5ahf6cxnui73dcsmqbdvyj2i/node_modules/@radix-ui/react-accordion/dist/index.js.map +1 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.11_@types_react-dom@19.1.7_@types_react@19.1.9__@types_react@_a35yqe6vcc2vmteafw4xyimtca/node_modules/@radix-ui/react-collapsible/dist/index.cjs +4 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.11_@types_react-dom@19.1.7_@types_react@19.1.9__@types_react@_a35yqe6vcc2vmteafw4xyimtca/node_modules/@radix-ui/react-collapsible/dist/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.11_@types_react-dom@19.1.7_@types_react@19.1.9__@types_react@_a35yqe6vcc2vmteafw4xyimtca/node_modules/@radix-ui/react-collapsible/dist/index.js +3 -1
- package/dist/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.11_@types_react-dom@19.1.7_@types_react@19.1.9__@types_react@_a35yqe6vcc2vmteafw4xyimtca/node_modules/@radix-ui/react-collapsible/dist/index.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +24 -21
- package/dist/test-utils.d.ts +0 -6
- package/dist/test-utils.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-misc.cjs","sources":["../../../components/sidebar/sidebar-misc.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'class-variance-authority';\nimport { ComponentPropsWithoutRef, ReactNode, forwardRef } from 'react';\nimport { Flex } from '../flex';\nimport styles from './sidebar.module.css';\n\nexport const SidebarHeader = forwardRef<\n HTMLDivElement,\n ComponentPropsWithoutRef<'div'>\n>(({ className, children, ...props }, ref) => (\n <Flex\n align='center'\n ref={ref}\n className={styles.header}\n role='banner'\n {...props}\n >\n {children}\n </Flex>\n));\nSidebarHeader.displayName = 'Sidebar.Header';\n\nexport const SidebarFooter = forwardRef<\n HTMLDivElement,\n ComponentPropsWithoutRef<'div'>\n>(({ className, children, ...props }, ref) => (\n <Flex\n ref={ref}\n className={styles.footer}\n direction='column'\n role='group'\n aria-label='Footer navigation'\n {...props}\n >\n {children}\n </Flex>\n));\nSidebarFooter.displayName = 'Sidebar.Footer';\n\nexport interface SidebarNavigationGroupProps\n extends ComponentPropsWithoutRef<'div'> {\n label: string;\n leadingIcon?: ReactNode;\n}\n\nexport const SidebarNavigationGroup = forwardRef<\n HTMLElement,\n SidebarNavigationGroupProps\n>(({ className, label, leadingIcon, children, ...props }, ref) => (\n <section\n ref={ref}\n className={cx(styles['nav-group'], className)}\n aria-label={label}\n {...props}\n >\n <Flex align='center' gap={3} className={styles['nav-group-header']}>\n {leadingIcon && (\n <span className={styles['nav-leading-icon']}>{leadingIcon}</span>\n )}\n <span className={styles['nav-group-label']}>{label}</span>\n </Flex>\n <Flex direction='column' className={styles['nav-group-items']} role='list'>\n {children}\n </Flex>\n </section>\n));\n\nSidebarNavigationGroup.displayName = 'Sidebar.Group';\n"],"names":[],"mappings":";;;;;;;;;;AAqBA;;AAiBA;AAQa;AAsBb;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
export declare const SidebarHeader: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
3
|
+
export declare const SidebarFooter: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
4
|
+
export interface SidebarNavigationGroupProps extends ComponentPropsWithoutRef<'div'> {
|
|
5
|
+
label: string;
|
|
6
|
+
leadingIcon?: ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare const SidebarNavigationGroup: import("react").ForwardRefExoticComponent<SidebarNavigationGroupProps & import("react").RefAttributes<HTMLElement>>;
|
|
9
|
+
//# sourceMappingURL=sidebar-misc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-misc.d.ts","sourceRoot":"","sources":["../../../components/sidebar/sidebar-misc.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAIxE,eAAO,MAAM,aAAa,2MAaxB,CAAC;AAGH,eAAO,MAAM,aAAa,2MAcxB,CAAC;AAGH,MAAM,WAAW,2BACf,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,eAAO,MAAM,sBAAsB,qHAoBjC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { cx } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
|
|
4
|
+
import { forwardRef } from 'react';
|
|
5
|
+
import { Flex } from '../flex/flex.js';
|
|
6
|
+
import styles from './sidebar.module.css.js';
|
|
7
|
+
|
|
8
|
+
const SidebarHeader = forwardRef(({ className, children, ...props }, ref) => (jsx(Flex, { align: 'center', ref: ref, className: styles.header, role: 'banner', ...props, children: children })));
|
|
9
|
+
SidebarHeader.displayName = 'Sidebar.Header';
|
|
10
|
+
const SidebarFooter = forwardRef(({ className, children, ...props }, ref) => (jsx(Flex, { ref: ref, className: styles.footer, direction: 'column', role: 'group', "aria-label": 'Footer navigation', ...props, children: children })));
|
|
11
|
+
SidebarFooter.displayName = 'Sidebar.Footer';
|
|
12
|
+
const SidebarNavigationGroup = forwardRef(({ className, label, leadingIcon, children, ...props }, ref) => (jsxs("section", { ref: ref, className: cx(styles['nav-group'], className), "aria-label": label, ...props, children: [jsxs(Flex, { align: 'center', gap: 3, className: styles['nav-group-header'], children: [leadingIcon && (jsx("span", { className: styles['nav-leading-icon'], children: leadingIcon })), jsx("span", { className: styles['nav-group-label'], children: label })] }), jsx(Flex, { direction: 'column', className: styles['nav-group-items'], role: 'list', children: children })] })));
|
|
13
|
+
SidebarNavigationGroup.displayName = 'Sidebar.Group';
|
|
14
|
+
|
|
15
|
+
export { SidebarFooter, SidebarHeader, SidebarNavigationGroup };
|
|
16
|
+
//# sourceMappingURL=sidebar-misc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-misc.js","sources":["../../../components/sidebar/sidebar-misc.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'class-variance-authority';\nimport { ComponentPropsWithoutRef, ReactNode, forwardRef } from 'react';\nimport { Flex } from '../flex';\nimport styles from './sidebar.module.css';\n\nexport const SidebarHeader = forwardRef<\n HTMLDivElement,\n ComponentPropsWithoutRef<'div'>\n>(({ className, children, ...props }, ref) => (\n <Flex\n align='center'\n ref={ref}\n className={styles.header}\n role='banner'\n {...props}\n >\n {children}\n </Flex>\n));\nSidebarHeader.displayName = 'Sidebar.Header';\n\nexport const SidebarFooter = forwardRef<\n HTMLDivElement,\n ComponentPropsWithoutRef<'div'>\n>(({ className, children, ...props }, ref) => (\n <Flex\n ref={ref}\n className={styles.footer}\n direction='column'\n role='group'\n aria-label='Footer navigation'\n {...props}\n >\n {children}\n </Flex>\n));\nSidebarFooter.displayName = 'Sidebar.Footer';\n\nexport interface SidebarNavigationGroupProps\n extends ComponentPropsWithoutRef<'div'> {\n label: string;\n leadingIcon?: ReactNode;\n}\n\nexport const SidebarNavigationGroup = forwardRef<\n HTMLElement,\n SidebarNavigationGroupProps\n>(({ className, label, leadingIcon, children, ...props }, ref) => (\n <section\n ref={ref}\n className={cx(styles['nav-group'], className)}\n aria-label={label}\n {...props}\n >\n <Flex align='center' gap={3} className={styles['nav-group-header']}>\n {leadingIcon && (\n <span className={styles['nav-leading-icon']}>{leadingIcon}</span>\n )}\n <span className={styles['nav-group-label']}>{label}</span>\n </Flex>\n <Flex direction='column' className={styles['nav-group-items']} role='list'>\n {children}\n </Flex>\n </section>\n));\n\nSidebarNavigationGroup.displayName = 'Sidebar.Group';\n"],"names":[],"mappings":";;;;;;;;AAqBA;;AAiBA;AAQa;AAsBb;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var index$1 = require('../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var tooltip = require('../tooltip/tooltip.cjs');
|
|
8
|
+
var sidebar_module = require('./sidebar.module.css.cjs');
|
|
9
|
+
var index = require('../../node_modules/.pnpm/@radix-ui_react-collapsible@1.1.11_@types_react-dom@19.1.7_@types_react@19.1.9__@types_react@_a35yqe6vcc2vmteafw4xyimtca/node_modules/@radix-ui/react-collapsible/dist/index.cjs');
|
|
10
|
+
|
|
11
|
+
const SidebarContext = React.createContext({
|
|
12
|
+
isCollapsed: false
|
|
13
|
+
});
|
|
14
|
+
const root = index$1.cva(sidebar_module.default.root);
|
|
15
|
+
const SidebarRoot = React.forwardRef(({ className, position = 'left', open: providedOpen, onOpenChange, hideCollapsedItemTooltip, collapsible = true, tooltipMessage, defaultOpen, children, ...props }, ref) => {
|
|
16
|
+
const [internalOpen, setInternalOpen] = React.useState(defaultOpen);
|
|
17
|
+
const open = providedOpen ?? internalOpen;
|
|
18
|
+
const handleOpenChange = React.useCallback((value) => {
|
|
19
|
+
setInternalOpen(value);
|
|
20
|
+
onOpenChange?.(value);
|
|
21
|
+
}, [onOpenChange]);
|
|
22
|
+
return (jsxRuntime.jsx(SidebarContext.Provider, { value: { isCollapsed: !open, hideCollapsedItemTooltip }, children: jsxRuntime.jsx(tooltip.Tooltip.Provider, { children: jsxRuntime.jsx(index.Root, { ref: ref, className: root({ className }), "data-position": position, "data-state": open ? 'expanded' : 'collapsed', "data-collapse-disabled": !collapsible, open: open, onOpenChange: collapsible ? handleOpenChange : undefined, "aria-label": 'Navigation Sidebar', "aria-expanded": open, role: 'navigation', ...props, asChild: true, children: jsxRuntime.jsxs("aside", { children: [collapsible && (jsxRuntime.jsx(tooltip.Tooltip, { message: tooltipMessage ??
|
|
23
|
+
(open ? 'Click to collapse' : 'Click to expand'), side: position === 'left' ? 'right' : 'left', asChild: true, followCursor: true, sideOffset: 10, children: jsxRuntime.jsx("div", { className: sidebar_module.default.resizeHandle, onClick: () => handleOpenChange(!open), role: 'button', tabIndex: 0, "aria-label": open ? 'Collapse sidebar' : 'Expand sidebar', onKeyDown: e => {
|
|
24
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
25
|
+
e.preventDefault();
|
|
26
|
+
handleOpenChange(!open);
|
|
27
|
+
}
|
|
28
|
+
} }) })), children] }) }) }) }));
|
|
29
|
+
});
|
|
30
|
+
SidebarRoot.displayName = 'Sidebar';
|
|
31
|
+
|
|
32
|
+
exports.SidebarContext = SidebarContext;
|
|
33
|
+
exports.SidebarRoot = SidebarRoot;
|
|
34
|
+
//# sourceMappingURL=sidebar-root.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-root.cjs","sources":["../../../components/sidebar/sidebar-root.tsx"],"sourcesContent":["'use client';\n\nimport { cva } from 'class-variance-authority';\nimport { Collapsible } from 'radix-ui';\nimport {\n ComponentPropsWithoutRef,\n ComponentRef,\n ReactNode,\n createContext,\n forwardRef,\n useCallback,\n useState\n} from 'react';\nimport { Tooltip } from '../tooltip';\nimport styles from './sidebar.module.css';\n\nexport interface SidebarContextValue {\n isCollapsed: boolean;\n hideCollapsedItemTooltip?: boolean;\n}\n\nexport const SidebarContext = createContext<SidebarContextValue>({\n isCollapsed: false\n});\n\nconst root = cva(styles.root);\n\nexport interface SidebarRootProps\n extends ComponentPropsWithoutRef<typeof Collapsible.Root> {\n position?: 'left' | 'right';\n hideCollapsedItemTooltip?: boolean;\n collapsible?: boolean;\n tooltipMessage?: ReactNode;\n}\n\nexport const SidebarRoot = forwardRef<\n ComponentRef<typeof Collapsible.Root>,\n SidebarRootProps\n>(\n (\n {\n className,\n position = 'left',\n open: providedOpen,\n onOpenChange,\n hideCollapsedItemTooltip,\n collapsible = true,\n tooltipMessage,\n defaultOpen,\n children,\n ...props\n },\n ref\n ) => {\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n\n const open = providedOpen ?? internalOpen;\n\n const handleOpenChange = useCallback(\n (value: boolean) => {\n setInternalOpen(value);\n onOpenChange?.(value);\n },\n [onOpenChange]\n );\n\n return (\n <SidebarContext.Provider\n value={{ isCollapsed: !open, hideCollapsedItemTooltip }}\n >\n <Tooltip.Provider>\n <Collapsible.Root\n ref={ref}\n className={root({ className })}\n data-position={position}\n data-state={open ? 'expanded' : 'collapsed'}\n data-collapse-disabled={!collapsible}\n open={open}\n onOpenChange={collapsible ? handleOpenChange : undefined}\n aria-label='Navigation Sidebar'\n aria-expanded={open}\n role='navigation'\n {...props}\n asChild\n >\n <aside>\n {collapsible && (\n <Tooltip\n message={\n tooltipMessage ??\n (open ? 'Click to collapse' : 'Click to expand')\n }\n side={position === 'left' ? 'right' : 'left'}\n asChild\n followCursor\n sideOffset={10}\n >\n <div\n className={styles.resizeHandle}\n onClick={() => handleOpenChange(!open)}\n role='button'\n tabIndex={0}\n aria-label={open ? 'Collapse sidebar' : 'Expand sidebar'}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n handleOpenChange(!open);\n }\n }}\n />\n </Tooltip>\n )}\n {children}\n </aside>\n </Collapsible.Root>\n </Tooltip.Provider>\n </SidebarContext.Provider>\n );\n }\n);\n\nSidebarRoot.displayName = 'Sidebar';\n"],"names":[],"mappings":";;;;;;;;;;AAqBO;AACL;AACD;AAED;AAUa;;AAqBT;AAEA;;AAGI;AACF;;AA4Bc;AAcE;;AAEE;;;AAYtB;AAGF;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Collapsible } from 'radix-ui';
|
|
2
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
3
|
+
export interface SidebarContextValue {
|
|
4
|
+
isCollapsed: boolean;
|
|
5
|
+
hideCollapsedItemTooltip?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const SidebarContext: import("react").Context<SidebarContextValue>;
|
|
8
|
+
export interface SidebarRootProps extends ComponentPropsWithoutRef<typeof Collapsible.Root> {
|
|
9
|
+
position?: 'left' | 'right';
|
|
10
|
+
hideCollapsedItemTooltip?: boolean;
|
|
11
|
+
collapsible?: boolean;
|
|
12
|
+
tooltipMessage?: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export declare const SidebarRoot: import("react").ForwardRefExoticComponent<SidebarRootProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
15
|
+
//# sourceMappingURL=sidebar-root.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-root.d.ts","sourceRoot":"","sources":["../../../components/sidebar/sidebar-root.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EACL,wBAAwB,EAExB,SAAS,EAKV,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,eAAO,MAAM,cAAc,8CAEzB,CAAC;AAIH,MAAM,WAAW,gBACf,SAAQ,wBAAwB,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,WAAW,6GAoFvB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { cva } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
|
|
4
|
+
import { createContext, forwardRef, useState, useCallback } from 'react';
|
|
5
|
+
import { Tooltip } from '../tooltip/tooltip.js';
|
|
6
|
+
import styles from './sidebar.module.css.js';
|
|
7
|
+
import { Root } from '../../node_modules/.pnpm/@radix-ui_react-collapsible@1.1.11_@types_react-dom@19.1.7_@types_react@19.1.9__@types_react@_a35yqe6vcc2vmteafw4xyimtca/node_modules/@radix-ui/react-collapsible/dist/index.js';
|
|
8
|
+
|
|
9
|
+
const SidebarContext = createContext({
|
|
10
|
+
isCollapsed: false
|
|
11
|
+
});
|
|
12
|
+
const root = cva(styles.root);
|
|
13
|
+
const SidebarRoot = forwardRef(({ className, position = 'left', open: providedOpen, onOpenChange, hideCollapsedItemTooltip, collapsible = true, tooltipMessage, defaultOpen, children, ...props }, ref) => {
|
|
14
|
+
const [internalOpen, setInternalOpen] = useState(defaultOpen);
|
|
15
|
+
const open = providedOpen ?? internalOpen;
|
|
16
|
+
const handleOpenChange = useCallback((value) => {
|
|
17
|
+
setInternalOpen(value);
|
|
18
|
+
onOpenChange?.(value);
|
|
19
|
+
}, [onOpenChange]);
|
|
20
|
+
return (jsx(SidebarContext.Provider, { value: { isCollapsed: !open, hideCollapsedItemTooltip }, children: jsx(Tooltip.Provider, { children: jsx(Root, { ref: ref, className: root({ className }), "data-position": position, "data-state": open ? 'expanded' : 'collapsed', "data-collapse-disabled": !collapsible, open: open, onOpenChange: collapsible ? handleOpenChange : undefined, "aria-label": 'Navigation Sidebar', "aria-expanded": open, role: 'navigation', ...props, asChild: true, children: jsxs("aside", { children: [collapsible && (jsx(Tooltip, { message: tooltipMessage ??
|
|
21
|
+
(open ? 'Click to collapse' : 'Click to expand'), side: position === 'left' ? 'right' : 'left', asChild: true, followCursor: true, sideOffset: 10, children: jsx("div", { className: styles.resizeHandle, onClick: () => handleOpenChange(!open), role: 'button', tabIndex: 0, "aria-label": open ? 'Collapse sidebar' : 'Expand sidebar', onKeyDown: e => {
|
|
22
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
23
|
+
e.preventDefault();
|
|
24
|
+
handleOpenChange(!open);
|
|
25
|
+
}
|
|
26
|
+
} }) })), children] }) }) }) }));
|
|
27
|
+
});
|
|
28
|
+
SidebarRoot.displayName = 'Sidebar';
|
|
29
|
+
|
|
30
|
+
export { SidebarContext, SidebarRoot };
|
|
31
|
+
//# sourceMappingURL=sidebar-root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-root.js","sources":["../../../components/sidebar/sidebar-root.tsx"],"sourcesContent":["'use client';\n\nimport { cva } from 'class-variance-authority';\nimport { Collapsible } from 'radix-ui';\nimport {\n ComponentPropsWithoutRef,\n ComponentRef,\n ReactNode,\n createContext,\n forwardRef,\n useCallback,\n useState\n} from 'react';\nimport { Tooltip } from '../tooltip';\nimport styles from './sidebar.module.css';\n\nexport interface SidebarContextValue {\n isCollapsed: boolean;\n hideCollapsedItemTooltip?: boolean;\n}\n\nexport const SidebarContext = createContext<SidebarContextValue>({\n isCollapsed: false\n});\n\nconst root = cva(styles.root);\n\nexport interface SidebarRootProps\n extends ComponentPropsWithoutRef<typeof Collapsible.Root> {\n position?: 'left' | 'right';\n hideCollapsedItemTooltip?: boolean;\n collapsible?: boolean;\n tooltipMessage?: ReactNode;\n}\n\nexport const SidebarRoot = forwardRef<\n ComponentRef<typeof Collapsible.Root>,\n SidebarRootProps\n>(\n (\n {\n className,\n position = 'left',\n open: providedOpen,\n onOpenChange,\n hideCollapsedItemTooltip,\n collapsible = true,\n tooltipMessage,\n defaultOpen,\n children,\n ...props\n },\n ref\n ) => {\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n\n const open = providedOpen ?? internalOpen;\n\n const handleOpenChange = useCallback(\n (value: boolean) => {\n setInternalOpen(value);\n onOpenChange?.(value);\n },\n [onOpenChange]\n );\n\n return (\n <SidebarContext.Provider\n value={{ isCollapsed: !open, hideCollapsedItemTooltip }}\n >\n <Tooltip.Provider>\n <Collapsible.Root\n ref={ref}\n className={root({ className })}\n data-position={position}\n data-state={open ? 'expanded' : 'collapsed'}\n data-collapse-disabled={!collapsible}\n open={open}\n onOpenChange={collapsible ? handleOpenChange : undefined}\n aria-label='Navigation Sidebar'\n aria-expanded={open}\n role='navigation'\n {...props}\n asChild\n >\n <aside>\n {collapsible && (\n <Tooltip\n message={\n tooltipMessage ??\n (open ? 'Click to collapse' : 'Click to expand')\n }\n side={position === 'left' ? 'right' : 'left'}\n asChild\n followCursor\n sideOffset={10}\n >\n <div\n className={styles.resizeHandle}\n onClick={() => handleOpenChange(!open)}\n role='button'\n tabIndex={0}\n aria-label={open ? 'Collapse sidebar' : 'Expand sidebar'}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n handleOpenChange(!open);\n }\n }}\n />\n </Tooltip>\n )}\n {children}\n </aside>\n </Collapsible.Root>\n </Tooltip.Provider>\n </SidebarContext.Provider>\n );\n }\n);\n\nSidebarRoot.displayName = 'Sidebar';\n"],"names":[],"mappings":";;;;;;;;AAqBO;AACL;AACD;AAED;AAUa;;AAqBT;AAEA;;AAGI;AACF;;AA4Bc;AAcE;;AAEE;;;AAYtB;AAGF;;"}
|
|
@@ -1,70 +1,16 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
'use strict';
|
|
3
2
|
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var flex = require('../flex/flex.cjs');
|
|
9
|
-
var tooltip = require('../tooltip/tooltip.cjs');
|
|
10
|
-
var sidebar_module = require('./sidebar.module.css.cjs');
|
|
11
|
-
var index = require('../../node_modules/.pnpm/@radix-ui_react-collapsible@1.1.11_@types_react-dom@19.1.7_@types_react@19.1.9__@types_react@_a35yqe6vcc2vmteafw4xyimtca/node_modules/@radix-ui/react-collapsible/dist/index.cjs');
|
|
3
|
+
var sidebarItem = require('./sidebar-item.cjs');
|
|
4
|
+
var sidebarMain = require('./sidebar-main.cjs');
|
|
5
|
+
var sidebarMisc = require('./sidebar-misc.cjs');
|
|
6
|
+
var sidebarRoot = require('./sidebar-root.cjs');
|
|
12
7
|
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const open = providedOpen ?? internalOpen;
|
|
20
|
-
const handleOpenChange = React.useCallback((value) => {
|
|
21
|
-
setInternalOpen(value);
|
|
22
|
-
onOpenChange?.(value);
|
|
23
|
-
}, [onOpenChange]);
|
|
24
|
-
return (jsxRuntime.jsx(SidebarContext.Provider, { value: { isCollapsed: !open, hideCollapsedItemTooltip }, children: jsxRuntime.jsx(tooltip.Tooltip.Provider, { children: jsxRuntime.jsx(index.Root, { ref: ref, className: root({ className }), "data-position": position, "data-state": open ? 'expanded' : 'collapsed', "data-collapse-disabled": !collapsible, open: open, onOpenChange: collapsible ? handleOpenChange : undefined, "aria-label": 'Navigation Sidebar', "aria-expanded": open, role: 'navigation', ...props, asChild: true, children: jsxRuntime.jsxs("aside", { children: [collapsible && (jsxRuntime.jsx(tooltip.Tooltip, { message: open ? 'Click to collapse' : 'Click to expand', side: position === 'left' ? 'right' : 'left', asChild: true, followCursor: true, sideOffset: 10, children: jsxRuntime.jsx("div", { className: sidebar_module.default.resizeHandle, onClick: () => handleOpenChange(!open), role: 'button', tabIndex: 0, "aria-label": open ? 'Collapse sidebar' : 'Expand sidebar', onKeyDown: e => {
|
|
25
|
-
if (e.key === 'Enter' || e.key === ' ') {
|
|
26
|
-
e.preventDefault();
|
|
27
|
-
handleOpenChange(!open);
|
|
28
|
-
}
|
|
29
|
-
} }) })), children] }) }) }) }));
|
|
30
|
-
});
|
|
31
|
-
const SidebarHeader = React.forwardRef(({ className, children, ...props }, ref) => (jsxRuntime.jsx(flex.Flex, { align: 'center', ref: ref, className: sidebar_module.default.header, role: 'banner', ...props, children: children })));
|
|
32
|
-
const SidebarMain = React.forwardRef(({ className, children, ...props }, ref) => (jsxRuntime.jsx(flex.Flex, { ref: ref, className: sidebar_module.default.main, direction: 'column', role: 'group', "aria-label": 'Main navigation', ...props, children: children })));
|
|
33
|
-
const SidebarFooter = React.forwardRef(({ className, children, ...props }, ref) => (jsxRuntime.jsx(flex.Flex, { ref: ref, className: sidebar_module.default.footer, direction: 'column', role: 'group', "aria-label": 'Footer navigation', ...props, children: children })));
|
|
34
|
-
const SidebarItem = React.forwardRef(({ classNames, leadingIcon, children, active, disabled, as = jsxRuntime.jsx("a", {}), ...props }, ref) => {
|
|
35
|
-
const { isCollapsed, hideCollapsedItemTooltip } = React.useContext(SidebarContext);
|
|
36
|
-
const shouldShowFallback = leadingIcon == undefined &&
|
|
37
|
-
isCollapsed &&
|
|
38
|
-
typeof children === 'string' &&
|
|
39
|
-
children.length > 0;
|
|
40
|
-
const content = React.cloneElement(as, {
|
|
41
|
-
ref,
|
|
42
|
-
className: index$1.cx(sidebar_module.default['nav-item'], classNames?.root),
|
|
43
|
-
'data-active': active,
|
|
44
|
-
'data-disabled': disabled,
|
|
45
|
-
role: 'menuitem',
|
|
46
|
-
'aria-current': active ? 'page' : undefined,
|
|
47
|
-
'aria-disabled': disabled,
|
|
48
|
-
...props
|
|
49
|
-
}, jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(flex.Flex, { align: 'center', gap: 3, className: index$1.cx(sidebar_module.default['nav-leading-icon'], classNames?.leadingIcon), "aria-hidden": 'true', children: shouldShowFallback ? (jsxRuntime.jsx(avatar.Avatar, { size: 1, variant: 'soft', color: 'neutral', fallback: children[0].toUpperCase(), style: { cursor: 'pointer' } })) : (leadingIcon) }), !isCollapsed && jsxRuntime.jsx("span", { className: sidebar_module.default['nav-text'], children: children })] }));
|
|
50
|
-
if (isCollapsed && !hideCollapsedItemTooltip) {
|
|
51
|
-
return (jsxRuntime.jsx(tooltip.Tooltip, { message: children, side: 'right', children: content }));
|
|
52
|
-
}
|
|
53
|
-
return content;
|
|
54
|
-
});
|
|
55
|
-
const SidebarNavigationGroup = React.forwardRef(({ className, label, leadingIcon, children, ...props }, ref) => (jsxRuntime.jsxs("section", { ref: ref, className: index$1.cx(sidebar_module.default['nav-group'], className), "aria-label": label, ...props, children: [jsxRuntime.jsxs(flex.Flex, { align: 'center', gap: 3, className: sidebar_module.default['nav-group-header'], children: [leadingIcon && (jsxRuntime.jsx("span", { className: sidebar_module.default['nav-leading-icon'], children: leadingIcon })), jsxRuntime.jsx("span", { className: sidebar_module.default['nav-group-label'], children: label })] }), jsxRuntime.jsx(flex.Flex, { direction: 'column', className: sidebar_module.default['nav-group-items'], role: 'list', children: children })] })));
|
|
56
|
-
SidebarRoot.displayName = 'Sidebar.Root';
|
|
57
|
-
SidebarHeader.displayName = 'Sidebar.Header';
|
|
58
|
-
SidebarMain.displayName = 'Sidebar.Main';
|
|
59
|
-
SidebarFooter.displayName = 'Sidebar.Footer';
|
|
60
|
-
SidebarItem.displayName = 'Sidebar.Item';
|
|
61
|
-
SidebarNavigationGroup.displayName = 'Sidebar.Group';
|
|
62
|
-
const Sidebar = Object.assign(SidebarRoot, {
|
|
63
|
-
Header: SidebarHeader,
|
|
64
|
-
Main: SidebarMain,
|
|
65
|
-
Footer: SidebarFooter,
|
|
66
|
-
Item: SidebarItem,
|
|
67
|
-
Group: SidebarNavigationGroup
|
|
8
|
+
const Sidebar = Object.assign(sidebarRoot.SidebarRoot, {
|
|
9
|
+
Header: sidebarMisc.SidebarHeader,
|
|
10
|
+
Main: sidebarMain.SidebarMain,
|
|
11
|
+
Footer: sidebarMisc.SidebarFooter,
|
|
12
|
+
Item: sidebarItem.SidebarItem,
|
|
13
|
+
Group: sidebarMisc.SidebarNavigationGroup
|
|
68
14
|
});
|
|
69
15
|
|
|
70
16
|
exports.Sidebar = Sidebar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.cjs","sources":["../../../components/sidebar/sidebar.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"sidebar.cjs","sources":["../../../components/sidebar/sidebar.tsx"],"sourcesContent":["import { SidebarItem } from './sidebar-item';\nimport { SidebarMain } from './sidebar-main';\nimport {\n SidebarFooter,\n SidebarHeader,\n SidebarNavigationGroup\n} from './sidebar-misc';\nimport { SidebarRoot } from './sidebar-root';\n\nexport const Sidebar = Object.assign(SidebarRoot, {\n Header: SidebarHeader,\n Main: SidebarMain,\n Footer: SidebarFooter,\n Item: SidebarItem,\n Group: SidebarNavigationGroup\n});\n"],"names":["SidebarRoot","SidebarHeader","SidebarMain","SidebarFooter","SidebarItem","SidebarNavigationGroup"],"mappings":";;;;;;;MASa,OAAO,GAAG,MAAM,CAAC,MAAM,CAACA,uBAAW,EAAE;AAChD,IAAA,MAAM,EAAEC,yBAAa;AACrB,IAAA,IAAI,EAAEC,uBAAW;AACjB,IAAA,MAAM,EAAEC,yBAAa;AACrB,IAAA,IAAI,EAAEC,uBAAW;AACjB,IAAA,KAAK,EAAEC,kCAAsB;AAC9B,CAAA;;;;"}
|
|
@@ -1,33 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react';
|
|
3
|
-
interface SidebarProps extends ComponentPropsWithoutRef<typeof Collapsible.Root> {
|
|
4
|
-
position?: 'left' | 'right';
|
|
5
|
-
hideCollapsedItemTooltip?: boolean;
|
|
6
|
-
collapsible?: boolean;
|
|
7
|
-
}
|
|
8
|
-
interface SidebarItemProps extends ComponentPropsWithoutRef<'a'> {
|
|
9
|
-
leadingIcon?: ReactNode;
|
|
10
|
-
active?: boolean;
|
|
11
|
-
disabled?: boolean;
|
|
12
|
-
as?: ReactElement;
|
|
13
|
-
classNames?: {
|
|
14
|
-
root?: string;
|
|
15
|
-
leadingIcon?: string;
|
|
16
|
-
text?: string;
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
interface SidebarFooterProps extends ComponentPropsWithoutRef<'div'> {
|
|
20
|
-
}
|
|
21
|
-
interface SidebarNavigationGroupProps extends ComponentPropsWithoutRef<'div'> {
|
|
22
|
-
label: string;
|
|
23
|
-
leadingIcon?: ReactNode;
|
|
24
|
-
}
|
|
25
|
-
export declare const Sidebar: import("react").ForwardRefExoticComponent<SidebarProps & import("react").RefAttributes<HTMLDivElement>> & {
|
|
1
|
+
export declare const Sidebar: import("react").ForwardRefExoticComponent<import("./sidebar-root").SidebarRootProps & import("react").RefAttributes<HTMLDivElement>> & {
|
|
26
2
|
Header: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
27
3
|
Main: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
28
|
-
Footer: import("react").ForwardRefExoticComponent<
|
|
29
|
-
Item: import("react").ForwardRefExoticComponent<SidebarItemProps & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
30
|
-
Group: import("react").ForwardRefExoticComponent<SidebarNavigationGroupProps & import("react").RefAttributes<HTMLElement>>;
|
|
4
|
+
Footer: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
5
|
+
Item: import("react").ForwardRefExoticComponent<import("./sidebar-item").SidebarItemProps & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
6
|
+
Group: import("react").ForwardRefExoticComponent<import("./sidebar-misc").SidebarNavigationGroupProps & import("react").RefAttributes<HTMLElement>>;
|
|
31
7
|
};
|
|
32
|
-
export {};
|
|
33
8
|
//# sourceMappingURL=sidebar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../components/sidebar/sidebar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../components/sidebar/sidebar.tsx"],"names":[],"mappings":"AASA,eAAO,MAAM,OAAO;;;;;;CAMlB,CAAC"}
|
|
@@ -1,62 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { Avatar } from '../avatar/avatar.js';
|
|
6
|
-
import { Flex } from '../flex/flex.js';
|
|
7
|
-
import { Tooltip } from '../tooltip/tooltip.js';
|
|
8
|
-
import styles from './sidebar.module.css.js';
|
|
9
|
-
import { Root } from '../../node_modules/.pnpm/@radix-ui_react-collapsible@1.1.11_@types_react-dom@19.1.7_@types_react@19.1.9__@types_react@_a35yqe6vcc2vmteafw4xyimtca/node_modules/@radix-ui/react-collapsible/dist/index.js';
|
|
1
|
+
import { SidebarItem } from './sidebar-item.js';
|
|
2
|
+
import { SidebarMain } from './sidebar-main.js';
|
|
3
|
+
import { SidebarHeader, SidebarFooter, SidebarNavigationGroup } from './sidebar-misc.js';
|
|
4
|
+
import { SidebarRoot } from './sidebar-root.js';
|
|
10
5
|
|
|
11
|
-
const SidebarContext = createContext({
|
|
12
|
-
isCollapsed: false
|
|
13
|
-
});
|
|
14
|
-
const root = cva(styles.root);
|
|
15
|
-
const SidebarRoot = forwardRef(({ className, position = 'left', open: providedOpen, onOpenChange, hideCollapsedItemTooltip, collapsible = true, defaultOpen, children, ...props }, ref) => {
|
|
16
|
-
const [internalOpen, setInternalOpen] = useState(defaultOpen);
|
|
17
|
-
const open = providedOpen ?? internalOpen;
|
|
18
|
-
const handleOpenChange = useCallback((value) => {
|
|
19
|
-
setInternalOpen(value);
|
|
20
|
-
onOpenChange?.(value);
|
|
21
|
-
}, [onOpenChange]);
|
|
22
|
-
return (jsx(SidebarContext.Provider, { value: { isCollapsed: !open, hideCollapsedItemTooltip }, children: jsx(Tooltip.Provider, { children: jsx(Root, { ref: ref, className: root({ className }), "data-position": position, "data-state": open ? 'expanded' : 'collapsed', "data-collapse-disabled": !collapsible, open: open, onOpenChange: collapsible ? handleOpenChange : undefined, "aria-label": 'Navigation Sidebar', "aria-expanded": open, role: 'navigation', ...props, asChild: true, children: jsxs("aside", { children: [collapsible && (jsx(Tooltip, { message: open ? 'Click to collapse' : 'Click to expand', side: position === 'left' ? 'right' : 'left', asChild: true, followCursor: true, sideOffset: 10, children: jsx("div", { className: styles.resizeHandle, onClick: () => handleOpenChange(!open), role: 'button', tabIndex: 0, "aria-label": open ? 'Collapse sidebar' : 'Expand sidebar', onKeyDown: e => {
|
|
23
|
-
if (e.key === 'Enter' || e.key === ' ') {
|
|
24
|
-
e.preventDefault();
|
|
25
|
-
handleOpenChange(!open);
|
|
26
|
-
}
|
|
27
|
-
} }) })), children] }) }) }) }));
|
|
28
|
-
});
|
|
29
|
-
const SidebarHeader = forwardRef(({ className, children, ...props }, ref) => (jsx(Flex, { align: 'center', ref: ref, className: styles.header, role: 'banner', ...props, children: children })));
|
|
30
|
-
const SidebarMain = forwardRef(({ className, children, ...props }, ref) => (jsx(Flex, { ref: ref, className: styles.main, direction: 'column', role: 'group', "aria-label": 'Main navigation', ...props, children: children })));
|
|
31
|
-
const SidebarFooter = forwardRef(({ className, children, ...props }, ref) => (jsx(Flex, { ref: ref, className: styles.footer, direction: 'column', role: 'group', "aria-label": 'Footer navigation', ...props, children: children })));
|
|
32
|
-
const SidebarItem = forwardRef(({ classNames, leadingIcon, children, active, disabled, as = jsx("a", {}), ...props }, ref) => {
|
|
33
|
-
const { isCollapsed, hideCollapsedItemTooltip } = useContext(SidebarContext);
|
|
34
|
-
const shouldShowFallback = leadingIcon == undefined &&
|
|
35
|
-
isCollapsed &&
|
|
36
|
-
typeof children === 'string' &&
|
|
37
|
-
children.length > 0;
|
|
38
|
-
const content = cloneElement(as, {
|
|
39
|
-
ref,
|
|
40
|
-
className: cx(styles['nav-item'], classNames?.root),
|
|
41
|
-
'data-active': active,
|
|
42
|
-
'data-disabled': disabled,
|
|
43
|
-
role: 'menuitem',
|
|
44
|
-
'aria-current': active ? 'page' : undefined,
|
|
45
|
-
'aria-disabled': disabled,
|
|
46
|
-
...props
|
|
47
|
-
}, jsxs(Fragment, { children: [jsx(Flex, { align: 'center', gap: 3, className: cx(styles['nav-leading-icon'], classNames?.leadingIcon), "aria-hidden": 'true', children: shouldShowFallback ? (jsx(Avatar, { size: 1, variant: 'soft', color: 'neutral', fallback: children[0].toUpperCase(), style: { cursor: 'pointer' } })) : (leadingIcon) }), !isCollapsed && jsx("span", { className: styles['nav-text'], children: children })] }));
|
|
48
|
-
if (isCollapsed && !hideCollapsedItemTooltip) {
|
|
49
|
-
return (jsx(Tooltip, { message: children, side: 'right', children: content }));
|
|
50
|
-
}
|
|
51
|
-
return content;
|
|
52
|
-
});
|
|
53
|
-
const SidebarNavigationGroup = forwardRef(({ className, label, leadingIcon, children, ...props }, ref) => (jsxs("section", { ref: ref, className: cx(styles['nav-group'], className), "aria-label": label, ...props, children: [jsxs(Flex, { align: 'center', gap: 3, className: styles['nav-group-header'], children: [leadingIcon && (jsx("span", { className: styles['nav-leading-icon'], children: leadingIcon })), jsx("span", { className: styles['nav-group-label'], children: label })] }), jsx(Flex, { direction: 'column', className: styles['nav-group-items'], role: 'list', children: children })] })));
|
|
54
|
-
SidebarRoot.displayName = 'Sidebar.Root';
|
|
55
|
-
SidebarHeader.displayName = 'Sidebar.Header';
|
|
56
|
-
SidebarMain.displayName = 'Sidebar.Main';
|
|
57
|
-
SidebarFooter.displayName = 'Sidebar.Footer';
|
|
58
|
-
SidebarItem.displayName = 'Sidebar.Item';
|
|
59
|
-
SidebarNavigationGroup.displayName = 'Sidebar.Group';
|
|
60
6
|
const Sidebar = Object.assign(SidebarRoot, {
|
|
61
7
|
Header: SidebarHeader,
|
|
62
8
|
Main: SidebarMain,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","sources":["../../../components/sidebar/sidebar.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"sidebar.js","sources":["../../../components/sidebar/sidebar.tsx"],"sourcesContent":["import { SidebarItem } from './sidebar-item';\nimport { SidebarMain } from './sidebar-main';\nimport {\n SidebarFooter,\n SidebarHeader,\n SidebarNavigationGroup\n} from './sidebar-misc';\nimport { SidebarRoot } from './sidebar-root';\n\nexport const Sidebar = Object.assign(SidebarRoot, {\n Header: SidebarHeader,\n Main: SidebarMain,\n Footer: SidebarFooter,\n Item: SidebarItem,\n Group: SidebarNavigationGroup\n});\n"],"names":[],"mappings":";;;;;MASa,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;AAChD,IAAA,MAAM,EAAE,aAAa;AACrB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,MAAM,EAAE,aAAa;AACrB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,KAAK,EAAE,sBAAsB;AAC9B,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton.test.d.ts","sourceRoot":"","sources":["../../../../components/skeleton/__tests__/skeleton.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slider.test.d.ts","sourceRoot":"","sources":["../../../../components/slider/__tests__/slider.test.tsx"],"names":[],"mappings":""}
|
|
@@ -4,29 +4,11 @@
|
|
|
4
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
5
|
var index$1 = require('../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
|
|
6
6
|
var React = require('react');
|
|
7
|
+
var text = require('../text/text.cjs');
|
|
7
8
|
var slider_module = require('./slider.module.css.cjs');
|
|
8
9
|
var thumb = require('./thumb.cjs');
|
|
9
10
|
var index = require('../../node_modules/.pnpm/@radix-ui_react-slider@1.3.5_@types_react-dom@19.1.7_@types_react@19.1.9__@types_react@19.1.9_p32zwhugtqgn4tfikzqx3cas2u/node_modules/@radix-ui/react-slider/dist/index.cjs');
|
|
10
11
|
|
|
11
|
-
function _interopNamespaceDefault(e) {
|
|
12
|
-
var n = Object.create(null);
|
|
13
|
-
if (e) {
|
|
14
|
-
Object.keys(e).forEach(function (k) {
|
|
15
|
-
if (k !== 'default') {
|
|
16
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
17
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
get: function () { return e[k]; }
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
n.default = e;
|
|
25
|
-
return Object.freeze(n);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
29
|
-
|
|
30
12
|
const slider = index$1.cva(slider_module.default.slider, {
|
|
31
13
|
variants: {
|
|
32
14
|
variant: {
|
|
@@ -38,8 +20,9 @@ const slider = index$1.cva(slider_module.default.slider, {
|
|
|
38
20
|
variant: 'single'
|
|
39
21
|
}
|
|
40
22
|
});
|
|
41
|
-
const Slider =
|
|
23
|
+
const Slider = React.forwardRef(({ className, variant = 'single', value, defaultValue, min = 0, max = 100, step = 1, label, onChange, 'aria-label': ariaLabel, 'aria-valuetext': ariaValueText, thumbSize = 'large', ...props }, ref) => {
|
|
42
24
|
const isRange = variant === 'range';
|
|
25
|
+
const isThumbSmall = thumbSize === 'small';
|
|
43
26
|
const defaultVal = isRange
|
|
44
27
|
? defaultValue || [min, max]
|
|
45
28
|
: [defaultValue || min];
|
|
@@ -62,7 +45,7 @@ const Slider = React__namespace.forwardRef(({ className, variant = 'single', val
|
|
|
62
45
|
const val = currentValue[index];
|
|
63
46
|
return labelText ? `${labelText}: ${val}` : `${val}`;
|
|
64
47
|
};
|
|
65
|
-
return (jsxRuntime.jsxs(index.Root, { ref: ref, className: `${slider({ variant })} ${className || ''}`, value: value ? currentValue : undefined, defaultValue: defaultVal, min: min, max: max, step: step, onValueChange: val => onChange?.(isRange ? val : val[0]), "aria-label": ariaLabel || (isRange ? 'Range slider' : 'Slider'), ...props, children: [jsxRuntime.jsx(index.Track, { className: slider_module.default.track, children: jsxRuntime.jsx(index.Range, { className: slider_module.default.range }) }), defaultVal.map((_, i) => (jsxRuntime.jsx(index.Thumb, { className: slider_module.default.thumb, asChild: true, "aria-label": getLabel(i) || `Thumb ${i + 1}`, "aria-valuetext": getAriaValueText(i), children: jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx(thumb.ThumbIcon, {}), getLabel(i) && jsxRuntime.jsx(
|
|
48
|
+
return (jsxRuntime.jsxs(index.Root, { ref: ref, className: `${slider({ variant })} ${className || ''}`, value: value ? currentValue : undefined, defaultValue: defaultVal, min: min, max: max, step: step, onValueChange: val => onChange?.(isRange ? val : val[0]), "aria-label": ariaLabel || (isRange ? 'Range slider' : 'Slider'), ...props, children: [jsxRuntime.jsx(index.Track, { className: slider_module.default.track, children: jsxRuntime.jsx(index.Range, { className: slider_module.default.range }) }), defaultVal.map((_, i) => (jsxRuntime.jsx(index.Thumb, { className: index$1.cx(slider_module.default.thumb), asChild: true, "aria-label": getLabel(i) || `Thumb ${i + 1}`, "aria-valuetext": getAriaValueText(i), "data-size": thumbSize, children: jsxRuntime.jsxs("div", { children: [isThumbSmall ? (jsxRuntime.jsx("div", { className: slider_module.default.thumbSmall })) : (jsxRuntime.jsx(thumb.ThumbIcon, {})), getLabel(i) && (jsxRuntime.jsx(text.Text, { className: slider_module.default.label, size: isThumbSmall ? 'micro' : 'mini', weight: 'medium', children: getLabel(i) }))] }) }, i)))] }));
|
|
66
49
|
});
|
|
67
50
|
Slider.displayName = 'Slider';
|
|
68
51
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.cjs","sources":["../../../components/slider/slider.tsx"],"sourcesContent":["'use client';\n\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport { Slider as SliderPrimitive } from 'radix-ui';\nimport
|
|
1
|
+
{"version":3,"file":"slider.cjs","sources":["../../../components/slider/slider.tsx"],"sourcesContent":["'use client';\n\nimport { type VariantProps, cva, cx } from 'class-variance-authority';\nimport { Slider as SliderPrimitive } from 'radix-ui';\nimport {\n type ComponentPropsWithoutRef,\n type ElementRef,\n forwardRef\n} from 'react';\nimport { Text } from '../text';\nimport styles from './slider.module.css';\nimport { ThumbIcon } from './thumb';\n\nconst slider = cva(styles.slider, {\n variants: {\n variant: {\n single: styles['slider-variant-single'],\n range: styles['slider-variant-range']\n }\n },\n defaultVariants: {\n variant: 'single'\n }\n});\n\nexport interface SliderProps\n extends Omit<\n ComponentPropsWithoutRef<typeof SliderPrimitive.Root>,\n 'value' | 'defaultValue' | 'onChange'\n >,\n VariantProps<typeof slider> {\n value?: number | [number, number];\n defaultValue?: number | [number, number];\n min?: number;\n max?: number;\n step?: number;\n label?: string | [string, string];\n onChange?: (value: number | [number, number]) => void;\n 'aria-label'?: string;\n 'aria-valuetext'?: string;\n thumbSize?: 'small' | 'large';\n}\n\nexport const Slider = forwardRef<\n ElementRef<typeof SliderPrimitive.Root>,\n SliderProps\n>(\n (\n {\n className,\n variant = 'single',\n value,\n defaultValue,\n min = 0,\n max = 100,\n step = 1,\n label,\n onChange,\n 'aria-label': ariaLabel,\n 'aria-valuetext': ariaValueText,\n thumbSize = 'large',\n ...props\n },\n ref\n ) => {\n const isRange = variant === 'range';\n const isThumbSmall = thumbSize === 'small';\n const defaultVal = isRange\n ? (defaultValue as [number, number]) || [min, max]\n : [(defaultValue as number) || min];\n const currentValue = value\n ? isRange\n ? (value as [number, number])\n : [value as number]\n : defaultVal;\n\n const getLabel = (index: number) => {\n if (!label) return undefined;\n if (typeof label === 'string') return label;\n return label[index];\n };\n\n const getAriaValueText = (index: number) => {\n if (ariaValueText) return ariaValueText;\n const labelText = getLabel(index);\n const val = currentValue[index];\n return labelText ? `${labelText}: ${val}` : `${val}`;\n };\n\n return (\n <SliderPrimitive.Root\n ref={ref}\n className={`${slider({ variant })} ${className || ''}`}\n value={value ? currentValue : undefined}\n defaultValue={defaultVal}\n min={min}\n max={max}\n step={step}\n onValueChange={val =>\n onChange?.(isRange ? (val as [number, number]) : val[0])\n }\n aria-label={ariaLabel || (isRange ? 'Range slider' : 'Slider')}\n {...props}\n >\n <SliderPrimitive.Track className={styles.track}>\n <SliderPrimitive.Range className={styles.range} />\n </SliderPrimitive.Track>\n {defaultVal.map((_, i) => (\n <SliderPrimitive.Thumb\n key={i}\n className={cx(styles.thumb)}\n asChild\n aria-label={getLabel(i) || `Thumb ${i + 1}`}\n aria-valuetext={getAriaValueText(i)}\n data-size={thumbSize}\n >\n <div>\n {isThumbSmall ? (\n <div className={styles.thumbSmall} />\n ) : (\n <ThumbIcon />\n )}\n {getLabel(i) && (\n <Text\n className={styles.label}\n size={isThumbSmall ? 'micro' : 'mini'}\n weight='medium'\n >\n {getLabel(i)}\n </Text>\n )}\n </div>\n </SliderPrimitive.Thumb>\n ))}\n </SliderPrimitive.Root>\n );\n }\n);\n\nSlider.displayName = 'Slider';\n"],"names":[],"mappings":";;;;;;;;;;;AAaA;AACE;AACE;AACE;AACA;AACD;AACF;AACD;AACE;AACD;AACF;AAoBY;AAsBT;AACA;;AAEE;AACA;;AAEA;AACE;;;AAIJ;AACE;AAAY;;AACmB;AAC/B;AACF;AAEA;AACE;AAAmB;AACnB;AACA;AACA;AACF;;AAiDF;AAGF;;"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { type VariantProps } from 'class-variance-authority';
|
|
2
2
|
import { Slider as SliderPrimitive } from 'radix-ui';
|
|
3
|
-
import * as React from 'react';
|
|
4
3
|
import { type ComponentPropsWithoutRef } from 'react';
|
|
5
4
|
declare const slider: (props?: ({
|
|
6
|
-
variant?: "
|
|
5
|
+
variant?: "single" | "range" | null | undefined;
|
|
7
6
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
7
|
export interface SliderProps extends Omit<ComponentPropsWithoutRef<typeof SliderPrimitive.Root>, 'value' | 'defaultValue' | 'onChange'>, VariantProps<typeof slider> {
|
|
9
8
|
value?: number | [number, number];
|
|
@@ -15,7 +14,8 @@ export interface SliderProps extends Omit<ComponentPropsWithoutRef<typeof Slider
|
|
|
15
14
|
onChange?: (value: number | [number, number]) => void;
|
|
16
15
|
'aria-label'?: string;
|
|
17
16
|
'aria-valuetext'?: string;
|
|
17
|
+
thumbSize?: 'small' | 'large';
|
|
18
18
|
}
|
|
19
|
-
export declare const Slider:
|
|
19
|
+
export declare const Slider: import("react").ForwardRefExoticComponent<SliderProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
20
20
|
export {};
|
|
21
21
|
//# sourceMappingURL=slider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../components/slider/slider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../components/slider/slider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAW,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EACL,KAAK,wBAAwB,EAG9B,MAAM,OAAO,CAAC;AAKf,QAAA,MAAM,MAAM;;8EAUV,CAAC;AAEH,MAAM,WAAW,WACf,SAAQ,IAAI,CACR,wBAAwB,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,EACrD,OAAO,GAAG,cAAc,GAAG,UAAU,CACtC,EACD,YAAY,CAAC,OAAO,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,MAAM,yGA8FlB,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { cva } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
|
|
4
|
-
import
|
|
3
|
+
import { cx, cva } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
|
|
4
|
+
import { forwardRef } from 'react';
|
|
5
|
+
import { Text } from '../text/text.js';
|
|
5
6
|
import styles from './slider.module.css.js';
|
|
6
7
|
import { ThumbIcon } from './thumb.js';
|
|
7
8
|
import { Root, Track, Range, Thumb } from '../../node_modules/.pnpm/@radix-ui_react-slider@1.3.5_@types_react-dom@19.1.7_@types_react@19.1.9__@types_react@19.1.9_p32zwhugtqgn4tfikzqx3cas2u/node_modules/@radix-ui/react-slider/dist/index.js';
|
|
@@ -17,8 +18,9 @@ const slider = cva(styles.slider, {
|
|
|
17
18
|
variant: 'single'
|
|
18
19
|
}
|
|
19
20
|
});
|
|
20
|
-
const Slider =
|
|
21
|
+
const Slider = forwardRef(({ className, variant = 'single', value, defaultValue, min = 0, max = 100, step = 1, label, onChange, 'aria-label': ariaLabel, 'aria-valuetext': ariaValueText, thumbSize = 'large', ...props }, ref) => {
|
|
21
22
|
const isRange = variant === 'range';
|
|
23
|
+
const isThumbSmall = thumbSize === 'small';
|
|
22
24
|
const defaultVal = isRange
|
|
23
25
|
? defaultValue || [min, max]
|
|
24
26
|
: [defaultValue || min];
|
|
@@ -41,7 +43,7 @@ const Slider = React.forwardRef(({ className, variant = 'single', value, default
|
|
|
41
43
|
const val = currentValue[index];
|
|
42
44
|
return labelText ? `${labelText}: ${val}` : `${val}`;
|
|
43
45
|
};
|
|
44
|
-
return (jsxs(Root, { ref: ref, className: `${slider({ variant })} ${className || ''}`, value: value ? currentValue : undefined, defaultValue: defaultVal, min: min, max: max, step: step, onValueChange: val => onChange?.(isRange ? val : val[0]), "aria-label": ariaLabel || (isRange ? 'Range slider' : 'Slider'), ...props, children: [jsx(Track, { className: styles.track, children: jsx(Range, { className: styles.range }) }), defaultVal.map((_, i) => (jsx(Thumb, { className: styles.thumb, asChild: true, "aria-label": getLabel(i) || `Thumb ${i + 1}`, "aria-valuetext": getAriaValueText(i), children: jsxs("div", { children: [jsx(ThumbIcon, {}), getLabel(i) && jsx(
|
|
46
|
+
return (jsxs(Root, { ref: ref, className: `${slider({ variant })} ${className || ''}`, value: value ? currentValue : undefined, defaultValue: defaultVal, min: min, max: max, step: step, onValueChange: val => onChange?.(isRange ? val : val[0]), "aria-label": ariaLabel || (isRange ? 'Range slider' : 'Slider'), ...props, children: [jsx(Track, { className: styles.track, children: jsx(Range, { className: styles.range }) }), defaultVal.map((_, i) => (jsx(Thumb, { className: cx(styles.thumb), asChild: true, "aria-label": getLabel(i) || `Thumb ${i + 1}`, "aria-valuetext": getAriaValueText(i), "data-size": thumbSize, children: jsxs("div", { children: [isThumbSmall ? (jsx("div", { className: styles.thumbSmall })) : (jsx(ThumbIcon, {})), getLabel(i) && (jsx(Text, { className: styles.label, size: isThumbSmall ? 'micro' : 'mini', weight: 'medium', children: getLabel(i) }))] }) }, i)))] }));
|
|
45
47
|
});
|
|
46
48
|
Slider.displayName = 'Slider';
|
|
47
49
|
|