@oneplatformdev/ui 0.1.99-beta.245 → 0.1.99-beta.247
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/.storybook/Wrappers.js.map +1 -1
- package/Accordion/Accordion.js.map +1 -1
- package/Alert/Alert.js.map +1 -1
- package/Alert/alertVariants.js.map +1 -1
- package/AlertDialog/AlertDialog.js.map +1 -1
- package/AlertDialog/AlertDialog.stories.js +4 -2
- package/AlertDialog/AlertDialog.stories.js.map +1 -1
- package/AlertDialog/AlertDialogRoot.js +20 -18
- package/AlertDialog/AlertDialogRoot.js.map +1 -1
- package/AreaChart/AreaChart.js.map +1 -1
- package/Aside/Aside.js.map +1 -1
- package/Aside/AsideSidebar.js.map +1 -1
- package/AspectRatio/AspectRatio.js.map +1 -1
- package/Avatar/Avatar.js.map +1 -1
- package/Badge/Badge.js.map +1 -1
- package/Badge/badgeVariants.js.map +1 -1
- package/Breadcrumb/Breadcrumb.js.map +1 -1
- package/Button/Button.js +11 -10
- package/Button/Button.js.map +1 -1
- package/Button/Button.stories.js.map +1 -1
- package/Button/Button.utils.js.map +1 -1
- package/Button/ButtonCounterBadge.js.map +1 -1
- package/Button/buttonVariants.js.map +1 -1
- package/ButtonIcon/ButtonIcon.js +22 -19
- package/ButtonIcon/ButtonIcon.js.map +1 -1
- package/ButtonIcon/ButtonIcon.stories.js.map +1 -1
- package/ButtonIcon/buttonIconVariants.js.map +1 -1
- package/CHANGELOG.md +3265 -3241
- package/Calendar/Calendar.js +6 -4
- package/Calendar/Calendar.js.map +1 -1
- package/Card/Card.js.map +1 -1
- package/Carousel/Carousel.js +7 -6
- package/Carousel/Carousel.js.map +1 -1
- package/Chart/Chart.js.map +1 -1
- package/Checkbox/Checkbox.js +1 -0
- package/Checkbox/Checkbox.js.map +1 -1
- package/Checkbox/Checkbox.stories.js.map +1 -1
- package/Collapsible/Collapsible.js.map +1 -1
- package/Combobox/Combobox.js +10 -10
- package/Combobox/Combobox.js.map +1 -1
- package/Combobox/Combobox.stories.js.map +1 -1
- package/Combobox/Combobox.types.js.map +1 -1
- package/Combobox/ComboboxOptionItem.js +20 -19
- package/Combobox/ComboboxOptionItem.js.map +1 -1
- package/Combobox/ComboboxRenderContent.js +15 -14
- package/Combobox/ComboboxRenderContent.js.map +1 -1
- package/Combobox/ComboboxRenderOptions.js +5 -5
- package/Combobox/ComboboxRenderOptions.js.map +1 -1
- package/Combobox/ComboboxRenderTrigger.js +30 -28
- package/Combobox/ComboboxRenderTrigger.js.map +1 -1
- package/Command/Command.js +22 -21
- package/Command/Command.js.map +1 -1
- package/ContextPopover/ContextDropdownMenu.js.map +1 -1
- package/ContextPopover/ContextPopover.js.map +1 -1
- package/ContextPopover/useContextPopoverHandler.js.map +1 -1
- package/DataTable/DataTable.js +26 -24
- package/DataTable/DataTable.js.map +1 -1
- package/DataTable/DataTableColumnFilter.js +7 -6
- package/DataTable/DataTableColumnFilter.js.map +1 -1
- package/DataTable/useDataTable.js.map +1 -1
- package/DatePicker/DatePicker.js +13 -12
- package/DatePicker/DatePicker.js.map +1 -1
- package/Dialog/Dialog.js +17 -16
- package/Dialog/Dialog.js.map +1 -1
- package/Dialog/Dialog.stories.js +15 -14
- package/Dialog/Dialog.stories.js.map +1 -1
- package/Dialog/DialogOverlayScope.js.map +1 -1
- package/Drawer/Drawer.js.map +1 -1
- package/DropdownMenu/DropdownMenu.js.map +1 -1
- package/Dropzone/Dropzone.js.map +1 -1
- package/Dropzone/Dropzone.stories.js.map +1 -1
- package/Dropzone/Dropzone.types.js.map +1 -1
- package/Dropzone/DropzoneFilePreview.js.map +1 -1
- package/Dropzone/DropzoneSinglePickPreview.js.map +1 -1
- package/Dropzone/DropzoneUtils.js.map +1 -1
- package/Form/Form.js +15 -14
- package/Form/Form.js.map +1 -1
- package/Form/FormRenderControl.d.ts.map +1 -1
- package/Form/FormRenderControl.js +17 -15
- package/Form/FormRenderControl.js.map +1 -1
- package/Form/FormRenderControl.types.d.ts +1 -0
- package/Form/FormRenderControl.types.d.ts.map +1 -1
- package/Form/Form_old.js +5 -4
- package/Form/Form_old.js.map +1 -1
- package/FormCheckbox/FormCheckbox.js +4 -4
- package/FormCheckbox/FormCheckbox.js.map +1 -1
- package/FormCombobox/FormCombobox.js +4 -4
- package/FormCombobox/FormCombobox.js.map +1 -1
- package/FormDatePicker/FormDatePicker.js +4 -4
- package/FormDatePicker/FormDatePicker.js.map +1 -1
- package/FormDropzone/FormDropzone.js +3 -3
- package/FormDropzone/FormDropzone.js.map +1 -1
- package/FormInput/FormInput.js +6 -6
- package/FormInput/FormInput.js.map +1 -1
- package/FormInput/FormInput.stories.js.map +1 -1
- package/FormRadio/FormRadio.js.map +1 -1
- package/FormSelect/FormSelect.js +9 -6
- package/FormSelect/FormSelect.js.map +1 -1
- package/FormTextarea/FormTextarea.js +4 -4
- package/FormTextarea/FormTextarea.js.map +1 -1
- package/Header/Header.js.map +1 -1
- package/HoverCard/HoverCard.js.map +1 -1
- package/InfoBlock/InfoBlock.js.map +1 -1
- package/InfoBlock/InfoBlock.stories.js.map +1 -1
- package/InfoBlock/infoBlockVariants.js.map +1 -1
- package/Input/Input.js.map +1 -1
- package/Input/Input.stories.js.map +1 -1
- package/Input/inputVariants.js.map +1 -1
- package/InputOTP/InputOTP.d.ts.map +1 -1
- package/InputOTP/InputOTP.js.map +1 -1
- package/LICENSE +21 -21
- package/Label/Label.js.map +1 -1
- package/Label/labelVariants.js.map +1 -1
- package/LazyLoader/LazyLoader.js +5 -4
- package/LazyLoader/LazyLoader.js.map +1 -1
- package/LoadedIcon/LoadedIcon.js.map +1 -1
- package/LoadingMask/LoadingMask.js.map +1 -1
- package/LoadingMask/RenderLoadingMask.js.map +1 -1
- package/LoadingProgress/LoadingProgress.js.map +1 -1
- package/LoadingProgress/loadingProgressVariants.js.map +1 -1
- package/Menubar/Menubar.js.map +1 -1
- package/NavigationMenu/NavigationMenu.js.map +1 -1
- package/NavigationMenu/navigationMenuVariants.js.map +1 -1
- package/Pagination/Pagination.js +1 -0
- package/Pagination/Pagination.js.map +1 -1
- package/Popover/Popover.js.map +1 -1
- package/Progress/Progress.js.map +1 -1
- package/README.md +7 -7
- package/Radio/Radio.js.map +1 -1
- package/RadioGroup/RadioGroup.js.map +1 -1
- package/Resizable/Resizable.js.map +1 -1
- package/Resizable/Resizable.stories.js.map +1 -1
- package/ScrollArea/ScrollArea.js.map +1 -1
- package/Search/Search.js +9 -9
- package/Search/Search.js.map +1 -1
- package/Search/Search.stories.js.map +1 -1
- package/Select/Select.js +7 -6
- package/Select/Select.js.map +1 -1
- package/Select/Select.stories.js.map +1 -1
- package/Select/SelectRoot.js.map +1 -1
- package/Separator/Separator.js.map +1 -1
- package/Sheet/Sheet.js.map +1 -1
- package/Sidebar/Sidebar.js +21 -20
- package/Sidebar/Sidebar.js.map +1 -1
- package/Skeleton/Skeleton.js.map +1 -1
- package/Slider/Slider.js.map +1 -1
- package/Sonner/Sonner.js.map +1 -1
- package/Switch/Switch.d.ts.map +1 -1
- package/Switch/Switch.js +19 -7
- package/Switch/Switch.js.map +1 -1
- package/Switch/Switch.stories.js +62 -0
- package/Switch/Switch.stories.js.map +1 -0
- package/Table/Table.js.map +1 -1
- package/TablePagination/TablePagination.js +26 -21
- package/TablePagination/TablePagination.js.map +1 -1
- package/Tabs/Tabs.js.map +1 -1
- package/Tabs/TabsRoot.js.map +1 -1
- package/Textarea/Textarea.js.map +1 -1
- package/Textarea/Textarea.stories.js.map +1 -1
- package/Textarea/useAutosizeTextArea.js.map +1 -1
- package/Theme/ThemeModeToggle.js +4 -3
- package/Theme/ThemeModeToggle.js.map +1 -1
- package/Theme/ThemeProvider.js.map +1 -1
- package/Toast/Toast.js.map +1 -1
- package/Toast/toast.constants.js.map +1 -1
- package/Toast/toastVariants.js.map +1 -1
- package/Toast/useToast.js.map +1 -1
- package/Toaster/Toaster.js.map +1 -1
- package/Toggle/Toggle.js.map +1 -1
- package/ToggleGroup/ToggleGroup.js.map +1 -1
- package/Tooltip/Tooltip.js.map +1 -1
- package/Tooltip/TooltipRoot.js.map +1 -1
- package/Tooltip/tooltipVariants.js.map +1 -1
- package/index.js +286 -286
- package/package.json +4 -4
package/Sidebar/Sidebar.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { jsx as r, jsxs as S } from "react/jsx-runtime";
|
|
2
|
+
import { Input as _ } from "../Input/Input.js";
|
|
3
|
+
import { Separator as I } from "../Separator/Separator.js";
|
|
4
|
+
import { Sheet as z, SheetContent as B } from "../Sheet/Sheet.js";
|
|
5
|
+
import { Skeleton as M } from "../Skeleton/Skeleton.js";
|
|
2
6
|
import { Slot as g } from "@radix-ui/react-slot";
|
|
3
|
-
import { cva as
|
|
4
|
-
import { PanelLeft as
|
|
7
|
+
import { cva as E } from "class-variance-authority";
|
|
8
|
+
import { PanelLeft as T } from "lucide-react";
|
|
5
9
|
import * as i from "react";
|
|
6
10
|
import { cn as o } from "@oneplatformdev/utils";
|
|
7
|
-
import { useIsMobile as
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import { Input as G } from "../Input/Input.js";
|
|
12
|
-
import { Separator as H } from "../Separator/Separator.js";
|
|
13
|
-
import { Skeleton as M } from "../Skeleton/Skeleton.js";
|
|
11
|
+
import { useIsMobile as A } from "@oneplatformdev/hooks/useIsMobile";
|
|
12
|
+
import { Button as D } from "../Button/Button.js";
|
|
13
|
+
import "../Button/buttonVariants.js";
|
|
14
|
+
import { TooltipProvider as O, TooltipTrigger as G, TooltipContent as H } from "../Tooltip/TooltipRoot.js";
|
|
14
15
|
import { Tooltip as K } from "../Tooltip/Tooltip.js";
|
|
15
16
|
const L = "sidebar:state", j = 3600 * 24 * 7, P = "16rem", $ = "18rem", V = "3rem", W = "b", R = i.createContext(null);
|
|
16
17
|
function N() {
|
|
@@ -29,7 +30,7 @@ const q = i.forwardRef(
|
|
|
29
30
|
children: s,
|
|
30
31
|
...c
|
|
31
32
|
}, m) => {
|
|
32
|
-
const u =
|
|
33
|
+
const u = A(), [f, b] = i.useState(!1), [h, C] = i.useState(a), p = e ?? h, v = i.useCallback(
|
|
33
34
|
(l) => {
|
|
34
35
|
if (t)
|
|
35
36
|
return t?.(
|
|
@@ -57,7 +58,7 @@ const q = i.forwardRef(
|
|
|
57
58
|
}),
|
|
58
59
|
[y, p, v, u, f, b, x]
|
|
59
60
|
);
|
|
60
|
-
return /* @__PURE__ */ r(R.Provider, { value: k, children: /* @__PURE__ */ r(
|
|
61
|
+
return /* @__PURE__ */ r(R.Provider, { value: k, children: /* @__PURE__ */ r(O, { delayDuration: 0, children: /* @__PURE__ */ r(
|
|
61
62
|
"div",
|
|
62
63
|
{
|
|
63
64
|
style: {
|
|
@@ -98,8 +99,8 @@ const F = i.forwardRef(
|
|
|
98
99
|
...s,
|
|
99
100
|
children: n
|
|
100
101
|
}
|
|
101
|
-
) : m ? /* @__PURE__ */ r(
|
|
102
|
-
|
|
102
|
+
) : m ? /* @__PURE__ */ r(z, { open: f, onOpenChange: b, ...s, children: /* @__PURE__ */ r(
|
|
103
|
+
B,
|
|
103
104
|
{
|
|
104
105
|
"data-sidebar": "sidebar",
|
|
105
106
|
"data-mobile": "true",
|
|
@@ -161,7 +162,7 @@ F.displayName = "Sidebar";
|
|
|
161
162
|
const U = i.forwardRef(({ className: a, onClick: e, children: t, ...d }, n) => {
|
|
162
163
|
const { toggleSidebar: s } = N();
|
|
163
164
|
return /* @__PURE__ */ S(
|
|
164
|
-
|
|
165
|
+
D,
|
|
165
166
|
{
|
|
166
167
|
ref: n,
|
|
167
168
|
"data-sidebar": "trigger",
|
|
@@ -173,7 +174,7 @@ const U = i.forwardRef(({ className: a, onClick: e, children: t, ...d }, n) => {
|
|
|
173
174
|
},
|
|
174
175
|
...d,
|
|
175
176
|
children: [
|
|
176
|
-
t || /* @__PURE__ */ r(
|
|
177
|
+
t || /* @__PURE__ */ r(T, {}),
|
|
177
178
|
/* @__PURE__ */ r("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
178
179
|
]
|
|
179
180
|
}
|
|
@@ -219,7 +220,7 @@ const Y = i.forwardRef(({ className: a, ...e }, t) => /* @__PURE__ */ r(
|
|
|
219
220
|
));
|
|
220
221
|
Y.displayName = "SidebarInset";
|
|
221
222
|
const J = i.forwardRef(({ className: a, ...e }, t) => /* @__PURE__ */ r(
|
|
222
|
-
|
|
223
|
+
_,
|
|
223
224
|
{
|
|
224
225
|
ref: t,
|
|
225
226
|
"data-sidebar": "input",
|
|
@@ -252,7 +253,7 @@ const Z = i.forwardRef(({ className: a, ...e }, t) => /* @__PURE__ */ r(
|
|
|
252
253
|
));
|
|
253
254
|
Z.displayName = "SidebarFooter";
|
|
254
255
|
const ee = i.forwardRef(({ className: a, ...e }, t) => /* @__PURE__ */ r(
|
|
255
|
-
|
|
256
|
+
I,
|
|
256
257
|
{
|
|
257
258
|
ref: t,
|
|
258
259
|
"data-sidebar": "separator",
|
|
@@ -344,7 +345,7 @@ const ne = i.forwardRef(({ className: a, ...e }, t) => /* @__PURE__ */ r(
|
|
|
344
345
|
}
|
|
345
346
|
));
|
|
346
347
|
ne.displayName = "SidebarMenuItem";
|
|
347
|
-
const se =
|
|
348
|
+
const se = E(
|
|
348
349
|
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
|
|
349
350
|
{
|
|
350
351
|
variants: {
|
|
@@ -387,9 +388,9 @@ const se = _(
|
|
|
387
388
|
return n ? (typeof n == "string" && (n = {
|
|
388
389
|
children: n
|
|
389
390
|
}), /* @__PURE__ */ S(K, { children: [
|
|
390
|
-
/* @__PURE__ */ r(
|
|
391
|
+
/* @__PURE__ */ r(G, { asChild: !0, children: h }),
|
|
391
392
|
/* @__PURE__ */ r(
|
|
392
|
-
|
|
393
|
+
H,
|
|
393
394
|
{
|
|
394
395
|
side: "right",
|
|
395
396
|
align: "center",
|
package/Sidebar/Sidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sources":["../../src/Sidebar/Sidebar.tsx"],"sourcesContent":["import { Input } from \"../Input\";\r\nimport { Separator } from \"../Separator\";\r\nimport { Sheet, SheetContent } from \"..//Sheet\";\r\nimport { Skeleton } from \"../Skeleton\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport { cva, VariantProps } from \"class-variance-authority\";\r\nimport { PanelLeft } from \"lucide-react\";\r\nimport * as React from \"react\";\r\n\r\nimport { cn } from \"@oneplatformdev/utils\";\r\nimport { useIsMobile } from \"@oneplatformdev/hooks/useIsMobile\";\r\n\r\nimport { Button } from \"../Button\";\r\nimport {\r\n Tooltip,\r\n TooltipContent,\r\n TooltipProvider,\r\n TooltipTrigger,\r\n} from \"../Tooltip\";\r\n\r\nconst SIDEBAR_COOKIE_NAME = \"sidebar:state\";\r\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\r\nconst SIDEBAR_WIDTH = \"16rem\";\r\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\r\nconst SIDEBAR_WIDTH_ICON = \"3rem\";\r\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\r\n\r\ntype SidebarContext = {\r\n state: \"expanded\" | \"collapsed\"\r\n open: boolean\r\n setOpen: (open: boolean) => void\r\n openMobile: boolean\r\n setOpenMobile: (open: boolean) => void\r\n isMobile: boolean\r\n toggleSidebar: () => void\r\n}\r\n\r\nconst SidebarContext = React.createContext<SidebarContext | null>(null);\r\n\r\nfunction useSidebar() {\r\n const context = React.useContext(SidebarContext);\r\n if (!context) {\r\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\r\n }\r\n\r\n return context;\r\n}\r\n\r\nconst SidebarProvider = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> & {\r\n defaultOpen?: boolean\r\n open?: boolean\r\n onOpenChange?: (open: boolean) => void\r\n}\r\n>(\r\n (\r\n {\r\n defaultOpen = true,\r\n open: openProp,\r\n onOpenChange: setOpenProp,\r\n className,\r\n style,\r\n children,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const isMobile = useIsMobile();\r\n const [openMobile, setOpenMobile] = React.useState(false);\r\n\r\n // This is the internal state of the sidebar.\r\n // We use openProp and setOpenProp for control from outside the component.\r\n const [_open, _setOpen] = React.useState(defaultOpen);\r\n const open = openProp ?? _open;\r\n const setOpen = React.useCallback(\r\n (value: boolean | ((value: boolean) => boolean)) => {\r\n if (setOpenProp) {\r\n return setOpenProp?.(\r\n typeof value === \"function\" ? value(open) : value\r\n );\r\n }\r\n\r\n _setOpen(value);\r\n\r\n // This sets the cookie to keep the sidebar state.\r\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${open}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\r\n },\r\n [setOpenProp, open]\r\n );\r\n\r\n // Helper to toggle the sidebar.\r\n const toggleSidebar = React.useCallback(() => {\r\n return isMobile\r\n ? setOpenMobile((open) => !open)\r\n : setOpen((open) => !open);\r\n }, [isMobile, setOpen, setOpenMobile]);\r\n\r\n // Adds a keyboard shortcut to toggle the sidebar.\r\n React.useEffect(() => {\r\n const handleKeyDown = (event: KeyboardEvent) => {\r\n if (\r\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\r\n (event.metaKey || event.ctrlKey)\r\n ) {\r\n event.preventDefault();\r\n toggleSidebar();\r\n }\r\n };\r\n\r\n window.addEventListener(\"keydown\", handleKeyDown);\r\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\r\n }, [toggleSidebar]);\r\n\r\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\r\n // This makes it easier to style the sidebar with Tailwind classes.\r\n const state = open ? \"expanded\" : \"collapsed\";\r\n\r\n const contextValue = React.useMemo<SidebarContext>(\r\n () => ({\r\n state,\r\n open,\r\n setOpen,\r\n isMobile,\r\n openMobile,\r\n setOpenMobile,\r\n toggleSidebar,\r\n }),\r\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\r\n );\r\n\r\n return (\r\n <SidebarContext.Provider value={contextValue}>\r\n <TooltipProvider delayDuration={0}>\r\n <div\r\n style={\r\n {\r\n \"--sidebar-width\": SIDEBAR_WIDTH,\r\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\r\n ...style,\r\n } as React.CSSProperties\r\n }\r\n className={cn(\r\n \"group/sidebar-wrapper flex max-h-svh w-full h-full has-data-[variant=inset]:bg-sidebar\",\r\n className\r\n )}\r\n ref={ref}\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n </TooltipProvider>\r\n </SidebarContext.Provider>\r\n );\r\n }\r\n);\r\nSidebarProvider.displayName = \"SidebarProvider\";\r\n\r\nconst Sidebar = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> & {\r\n side?: \"left\" | \"right\"\r\n variant?: \"sidebar\" | \"floating\" | \"inset\"\r\n collapsible?: \"offcanvas\" | \"icon\" | \"none\"\r\n}\r\n>(\r\n (\r\n {\r\n side = \"left\",\r\n variant = \"sidebar\",\r\n collapsible = \"offcanvas\",\r\n className,\r\n children,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\r\n\r\n if (collapsible === \"none\") {\r\n return (\r\n <div\r\n className={cn(\r\n \"flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground\",\r\n className\r\n )}\r\n ref={ref}\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n );\r\n }\r\n\r\n if (isMobile) {\r\n return (\r\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\r\n <SheetContent\r\n data-sidebar=\"sidebar\"\r\n data-mobile=\"true\"\r\n className=\"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\r\n style={\r\n {\r\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\r\n } as React.CSSProperties\r\n }\r\n side={side}\r\n >\r\n <div className=\"flex h-full w-full flex-col\">{children}</div>\r\n </SheetContent>\r\n </Sheet>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className=\"group peer hidden md:block text-sidebar-foreground\"\r\n data-state={state}\r\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\r\n data-variant={variant}\r\n data-side={side}\r\n >\r\n {/* This is what handles the sidebar gap on desktop */}\r\n <div\r\n className={cn(\r\n \"duration-200 relative h-svh w-(--sidebar-width) bg-transparent transition-[width] ease-linear\",\r\n \"group-data-[collapsible=offcanvas]:w-0\",\r\n \"group-data-[side=right]:rotate-180\",\r\n variant === \"floating\" || variant === \"inset\"\r\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\r\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\"\r\n )}\r\n />\r\n <div\r\n className={cn(\r\n \"duration-200 fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] ease-linear md:flex\",\r\n side === \"left\"\r\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\r\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\r\n // Adjust the padding for floating and inset variants.\r\n variant === \"floating\" || variant === \"inset\"\r\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\r\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <div\r\n data-sidebar=\"sidebar\"\r\n className=\"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow\"\r\n >\r\n {children}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n);\r\nSidebar.displayName = \"Sidebar\";\r\n\r\nconst SidebarTrigger = React.forwardRef<\r\n React.ElementRef<typeof Button>,\r\n React.ComponentProps<typeof Button>\r\n>(({ className, onClick, children, ...props }, ref) => {\r\n const { toggleSidebar } = useSidebar();\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n data-sidebar=\"trigger\"\r\n variant=\"ghost\"\r\n size=\"icon\"\r\n className={cn(\"h-7 w-7\", className)}\r\n onClick={(event) => {\r\n onClick?.(event);\r\n toggleSidebar();\r\n }}\r\n {...props}\r\n >\r\n {children ? children : <PanelLeft />}\r\n <span className=\"sr-only\">Toggle Sidebar</span>\r\n </Button>\r\n );\r\n});\r\nSidebarTrigger.displayName = \"SidebarTrigger\";\r\n\r\nconst SidebarRail = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<\"button\">\r\n>(({ className, ...props }, ref) => {\r\n const { toggleSidebar } = useSidebar();\r\n\r\n return (\r\n <button\r\n ref={ref}\r\n data-sidebar=\"rail\"\r\n aria-label=\"Toggle Sidebar\"\r\n tabIndex={-1}\r\n onClick={toggleSidebar}\r\n title=\"Toggle Sidebar\"\r\n className={cn(\r\n \"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex\",\r\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\r\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\r\n \"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar\",\r\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\r\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarRail.displayName = \"SidebarRail\";\r\n\r\nconst SidebarInset = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"main\">\r\n>(({ className, ...props }, ref) => {\r\n return (\r\n <main\r\n ref={ref}\r\n className={cn(\r\n \"relative flex flex-1 flex-col grow w-full min-h-full max-h-full bg-background overflow-hidden\",\r\n \"peer-data-[variant=inset]:min-h-[calc(100svh-(--spacing(4)))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarInset.displayName = \"SidebarInset\";\r\n\r\nconst SidebarInput = React.forwardRef<\r\n React.ElementRef<typeof Input>,\r\n React.ComponentProps<typeof Input>\r\n>(({ className, ...props }, ref) => {\r\n return (\r\n <Input\r\n ref={ref}\r\n data-sidebar=\"input\"\r\n className={cn(\r\n \"h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarInput.displayName = \"SidebarInput\";\r\n\r\nconst SidebarHeader = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\">\r\n>(({ className, ...props }, ref) => {\r\n return (\r\n <div\r\n ref={ref}\r\n data-sidebar=\"header\"\r\n className={cn(\"flex flex-col gap-2 p-2\", className)}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarHeader.displayName = \"SidebarHeader\";\r\n\r\nconst SidebarFooter = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\">\r\n>(({ className, ...props }, ref) => {\r\n return (\r\n <div\r\n ref={ref}\r\n data-sidebar=\"footer\"\r\n className={cn(\"flex flex-col gap-2 p-2\", className)}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarFooter.displayName = \"SidebarFooter\";\r\n\r\nconst SidebarSeparator = React.forwardRef<\r\n React.ElementRef<typeof Separator>,\r\n React.ComponentProps<typeof Separator>\r\n>(({ className, ...props }, ref) => {\r\n return (\r\n <Separator\r\n ref={ref}\r\n data-sidebar=\"separator\"\r\n className={cn(\"mx-2 w-auto bg-sidebar-border\", className)}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarSeparator.displayName = \"SidebarSeparator\";\r\n\r\nconst SidebarContent = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\">\r\n>(({ className, ...props }, ref) => {\r\n return (\r\n <div\r\n ref={ref}\r\n data-sidebar=\"content\"\r\n className={cn(\r\n \"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarContent.displayName = \"SidebarContent\";\r\n\r\nconst SidebarGroup = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\">\r\n>(({ className, ...props }, ref) => {\r\n return (\r\n <div\r\n ref={ref}\r\n data-sidebar=\"group\"\r\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarGroup.displayName = \"SidebarGroup\";\r\n\r\nconst SidebarGroupLabel = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> & { asChild?: boolean }\r\n>(({ className, asChild = false, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"div\";\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"group-label\"\r\n className={cn(\r\n \"duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\r\n \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\";\r\n\r\nconst SidebarGroupAction = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<\"button\"> & { asChild?: boolean }\r\n>(({ className, asChild = false, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"button\";\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"group-action\"\r\n className={cn(\r\n \"absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\r\n // Increases the hit area of the button on mobile.\r\n \"after:absolute after:-inset-2 after:md:hidden\",\r\n \"group-data-[collapsible=icon]:hidden\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarGroupAction.displayName = \"SidebarGroupAction\";\r\n\r\nconst SidebarGroupContent = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\">\r\n>(({ className, ...props }, ref) => (\r\n <div\r\n ref={ref}\r\n data-sidebar=\"group-content\"\r\n className={cn(\"w-full text-sm\", className)}\r\n {...props}\r\n />\r\n));\r\nSidebarGroupContent.displayName = \"SidebarGroupContent\";\r\n\r\nconst SidebarMenu = React.forwardRef<\r\n HTMLUListElement,\r\n React.ComponentProps<\"ul\">\r\n>(({ className, ...props }, ref) => (\r\n <ul\r\n ref={ref}\r\n data-sidebar=\"menu\"\r\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\r\n {...props}\r\n />\r\n));\r\nSidebarMenu.displayName = \"SidebarMenu\";\r\n\r\nconst SidebarMenuItem = React.forwardRef<\r\n HTMLLIElement,\r\n React.ComponentProps<\"li\">\r\n>(({ className, ...props }, ref) => (\r\n <li\r\n ref={ref}\r\n data-sidebar=\"menu-item\"\r\n className={cn(\"group/menu-item relative\", className)}\r\n {...props}\r\n />\r\n));\r\nSidebarMenuItem.displayName = \"SidebarMenuItem\";\r\n\r\nconst sidebarMenuButtonVariants = cva(\r\n \"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\r\n {\r\n variants: {\r\n variant: {\r\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\r\n outline:\r\n \"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]\",\r\n },\r\n size: {\r\n default: \"h-8 text-sm\",\r\n sm: \"h-7 text-xs\",\r\n lg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n size: \"default\",\r\n },\r\n }\r\n);\r\n\r\nconst SidebarMenuButton = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<\"button\"> & {\r\n asChild?: boolean\r\n isActive?: boolean\r\n tooltip?: string | React.ComponentProps<typeof TooltipContent>\r\n} & VariantProps<typeof sidebarMenuButtonVariants>\r\n>(\r\n (\r\n {\r\n asChild = false,\r\n isActive = false,\r\n variant = \"default\",\r\n size = \"default\",\r\n tooltip,\r\n className,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const Comp = asChild ? Slot : \"button\";\r\n const { isMobile, state } = useSidebar();\r\n\r\n const button = (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"menu-button\"\r\n data-size={size}\r\n data-active={isActive}\r\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\r\n {...props}\r\n />\r\n );\r\n\r\n if (!tooltip) {\r\n return button;\r\n }\r\n\r\n if (typeof tooltip === \"string\") {\r\n tooltip = {\r\n children: tooltip,\r\n };\r\n }\r\n\r\n return (\r\n <Tooltip>\r\n <TooltipTrigger asChild>{button}</TooltipTrigger>\r\n <TooltipContent\r\n side=\"right\"\r\n align=\"center\"\r\n hidden={state !== \"collapsed\" || isMobile}\r\n {...tooltip}\r\n />\r\n </Tooltip>\r\n );\r\n }\r\n);\r\nSidebarMenuButton.displayName = \"SidebarMenuButton\";\r\n\r\nconst SidebarMenuAction = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<\"button\"> & {\r\n asChild?: boolean\r\n showOnHover?: boolean\r\n}\r\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"button\";\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"menu-action\"\r\n className={cn(\r\n \"absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0\",\r\n // Increases the hit area of the button on mobile.\r\n \"after:absolute after:-inset-2 after:md:hidden\",\r\n \"peer-data-[size=sm]/menu-button:top-1\",\r\n \"peer-data-[size=default]/menu-button:top-1.5\",\r\n \"peer-data-[size=lg]/menu-button:top-2.5\",\r\n \"group-data-[collapsible=icon]:hidden\",\r\n showOnHover &&\r\n \"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarMenuAction.displayName = \"SidebarMenuAction\";\r\n\r\nconst SidebarMenuBadge = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\">\r\n>(({ className, ...props }, ref) => (\r\n <div\r\n ref={ref}\r\n data-sidebar=\"menu-badge\"\r\n className={cn(\r\n \"absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none\",\r\n \"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\r\n \"peer-data-[size=sm]/menu-button:top-1\",\r\n \"peer-data-[size=default]/menu-button:top-1.5\",\r\n \"peer-data-[size=lg]/menu-button:top-2.5\",\r\n \"group-data-[collapsible=icon]:hidden\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nSidebarMenuBadge.displayName = \"SidebarMenuBadge\";\r\n\r\nconst SidebarMenuSkeleton = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> & {\r\n showIcon?: boolean\r\n}\r\n>(({ className, showIcon = false, ...props }, ref) => {\r\n // Random width between 50 to 90%.\r\n const width = React.useMemo(() => {\r\n return `${Math.floor(Math.random() * 40) + 50}%`;\r\n }, []);\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n data-sidebar=\"menu-skeleton\"\r\n className={cn(\"rounded-md h-8 flex gap-2 px-2 items-center\", className)}\r\n {...props}\r\n >\r\n {showIcon && (\r\n <Skeleton\r\n className=\"size-4 rounded-md\"\r\n data-sidebar=\"menu-skeleton-icon\"\r\n />\r\n )}\r\n <Skeleton\r\n className=\"h-4 flex-1 max-w-(--skeleton-width)\"\r\n data-sidebar=\"menu-skeleton-text\"\r\n style={\r\n {\r\n \"--skeleton-width\": width,\r\n } as React.CSSProperties\r\n }\r\n />\r\n </div>\r\n );\r\n});\r\nSidebarMenuSkeleton.displayName = \"SidebarMenuSkeleton\";\r\n\r\nconst SidebarMenuSub = React.forwardRef<\r\n HTMLUListElement,\r\n React.ComponentProps<\"ul\">\r\n>(({ className, ...props }, ref) => (\r\n <ul\r\n ref={ref}\r\n data-sidebar=\"menu-sub\"\r\n className={cn(\r\n \"ml-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border pl-2.5 pr-0.5 py-0.5\",\r\n \"group-data-[collapsible=icon]:hidden\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nSidebarMenuSub.displayName = \"SidebarMenuSub\";\r\n\r\nconst SidebarMenuSubItem = React.forwardRef<\r\n HTMLLIElement,\r\n React.ComponentProps<\"li\">\r\n>(({ ...props }, ref) => <li ref={ref} {...props} />);\r\nSidebarMenuSubItem.displayName = \"SidebarMenuSubItem\";\r\n\r\nconst SidebarMenuSubButton = React.forwardRef<\r\n HTMLAnchorElement,\r\n React.ComponentProps<\"a\"> & {\r\n asChild?: boolean\r\n size?: \"sm\" | \"md\"\r\n isActive?: boolean\r\n}\r\n>(({ asChild = false, size = \"md\", isActive, className, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"a\";\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"menu-sub-button\"\r\n data-size={size}\r\n data-active={isActive}\r\n className={cn(\r\n \"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground\",\r\n \"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground\",\r\n size === \"sm\" && \"text-xs\",\r\n size === \"md\" && \"text-sm\",\r\n \"group-data-[collapsible=icon]:hidden\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarMenuSubButton.displayName = \"SidebarMenuSubButton\";\r\n\r\nexport {\r\n Sidebar,\r\n SidebarContent,\r\n SidebarFooter,\r\n SidebarGroup,\r\n SidebarGroupAction,\r\n SidebarGroupContent,\r\n SidebarGroupLabel,\r\n SidebarHeader,\r\n SidebarInput,\r\n SidebarInset,\r\n SidebarMenu,\r\n SidebarMenuAction,\r\n SidebarMenuBadge,\r\n SidebarMenuButton,\r\n SidebarMenuItem,\r\n SidebarMenuSkeleton,\r\n SidebarMenuSub,\r\n SidebarMenuSubButton,\r\n SidebarMenuSubItem,\r\n SidebarProvider,\r\n SidebarRail,\r\n SidebarSeparator,\r\n SidebarTrigger,\r\n useSidebar,\r\n};\r\n"],"names":["SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","React","useSidebar","context","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","ref","isMobile","useIsMobile","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","cn","Sidebar","side","variant","collapsible","Sheet","SheetContent","jsxs","SidebarTrigger","onClick","Button","PanelLeft","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","cva","SidebarMenuButton","isActive","size","tooltip","Comp","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Skeleton","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sources":["../../src/Sidebar/Sidebar.tsx"],"sourcesContent":["import { Input } from \"../Input\";\nimport { Separator } from \"../Separator\";\nimport { Sheet, SheetContent } from \"..//Sheet\";\nimport { Skeleton } from \"../Skeleton\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, VariantProps } from \"class-variance-authority\";\nimport { PanelLeft } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@oneplatformdev/utils\";\nimport { useIsMobile } from \"@oneplatformdev/hooks/useIsMobile\";\n\nimport { Button } from \"../Button\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"../Tooltip\";\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar:state\";\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = \"16rem\";\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\nconst SIDEBAR_WIDTH_ICON = \"3rem\";\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n\ntype SidebarContext = {\n state: \"expanded\" | \"collapsed\"\n open: boolean\n setOpen: (open: boolean) => void\n openMobile: boolean\n setOpenMobile: (open: boolean) => void\n isMobile: boolean\n toggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContext | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n }\n\n return context;\n}\n\nconst SidebarProvider = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n defaultOpen?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n}\n>(\n (\n {\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n },\n ref\n ) => {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n if (setOpenProp) {\n return setOpenProp?.(\n typeof value === \"function\" ? value(open) : value\n );\n }\n\n _setOpen(value);\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${open}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile\n ? setOpenMobile((open) => !open)\n : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\";\n\n const contextValue = React.useMemo<SidebarContext>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n \"group/sidebar-wrapper flex max-h-svh w-full h-full has-data-[variant=inset]:bg-sidebar\",\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n }\n);\nSidebarProvider.displayName = \"SidebarProvider\";\n\nconst Sidebar = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\"\n variant?: \"sidebar\" | \"floating\" | \"inset\"\n collapsible?: \"offcanvas\" | \"icon\" | \"none\"\n}\n>(\n (\n {\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n },\n ref\n ) => {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === \"none\") {\n return (\n <div\n className={cn(\n \"flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground\",\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-mobile=\"true\"\n className=\"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n ref={ref}\n className=\"group peer hidden md:block text-sidebar-foreground\"\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n \"duration-200 relative h-svh w-(--sidebar-width) bg-transparent transition-[width] ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\"\n )}\n />\n <div\n className={cn(\n \"duration-200 fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n className=\"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n }\n);\nSidebar.displayName = \"Sidebar\";\n\nconst SidebarTrigger = React.forwardRef<\n React.ElementRef<typeof Button>,\n React.ComponentProps<typeof Button>\n>(({ className, onClick, children, ...props }, ref) => {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n ref={ref}\n data-sidebar=\"trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn(\"h-7 w-7\", className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n {children ? children : <PanelLeft />}\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n});\nSidebarTrigger.displayName = \"SidebarTrigger\";\n\nconst SidebarRail = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\">\n>(({ className, ...props }, ref) => {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n ref={ref}\n data-sidebar=\"rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n className\n )}\n {...props}\n />\n );\n});\nSidebarRail.displayName = \"SidebarRail\";\n\nconst SidebarInset = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"main\">\n>(({ className, ...props }, ref) => {\n return (\n <main\n ref={ref}\n className={cn(\n \"relative flex flex-1 flex-col grow w-full min-h-full max-h-full bg-background overflow-hidden\",\n \"peer-data-[variant=inset]:min-h-[calc(100svh-(--spacing(4)))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow\",\n className\n )}\n {...props}\n />\n );\n});\nSidebarInset.displayName = \"SidebarInset\";\n\nconst SidebarInput = React.forwardRef<\n React.ElementRef<typeof Input>,\n React.ComponentProps<typeof Input>\n>(({ className, ...props }, ref) => {\n return (\n <Input\n ref={ref}\n data-sidebar=\"input\"\n className={cn(\n \"h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring\",\n className\n )}\n {...props}\n />\n );\n});\nSidebarInput.displayName = \"SidebarInput\";\n\nconst SidebarHeader = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n});\nSidebarHeader.displayName = \"SidebarHeader\";\n\nconst SidebarFooter = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n});\nSidebarFooter.displayName = \"SidebarFooter\";\n\nconst SidebarSeparator = React.forwardRef<\n React.ElementRef<typeof Separator>,\n React.ComponentProps<typeof Separator>\n>(({ className, ...props }, ref) => {\n return (\n <Separator\n ref={ref}\n data-sidebar=\"separator\"\n className={cn(\"mx-2 w-auto bg-sidebar-border\", className)}\n {...props}\n />\n );\n});\nSidebarSeparator.displayName = \"SidebarSeparator\";\n\nconst SidebarContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"content\"\n className={cn(\n \"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className\n )}\n {...props}\n />\n );\n});\nSidebarContent.displayName = \"SidebarContent\";\n\nconst SidebarGroup = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"group\"\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n {...props}\n />\n );\n});\nSidebarGroup.displayName = \"SidebarGroup\";\n\nconst SidebarGroupLabel = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & { asChild?: boolean }\n>(({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-label\"\n className={cn(\n \"duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n className\n )}\n {...props}\n />\n );\n});\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\";\n\nconst SidebarGroupAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\"> & { asChild?: boolean }\n>(({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-action\"\n className={cn(\n \"absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 after:md:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n});\nSidebarGroupAction.displayName = \"SidebarGroupAction\";\n\nconst SidebarGroupContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n));\nSidebarGroupContent.displayName = \"SidebarGroupContent\";\n\nconst SidebarMenu = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n));\nSidebarMenu.displayName = \"SidebarMenu\";\n\nconst SidebarMenuItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({ className, ...props }, ref) => (\n <li\n ref={ref}\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\n));\nSidebarMenuItem.displayName = \"SidebarMenuItem\";\n\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]\",\n },\n size: {\n default: \"h-8 text-sm\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n);\n\nconst SidebarMenuButton = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\"> & {\n asChild?: boolean\n isActive?: boolean\n tooltip?: string | React.ComponentProps<typeof TooltipContent>\n} & VariantProps<typeof sidebarMenuButtonVariants>\n>(\n (\n {\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\";\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n ref={ref}\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n );\n }\n);\nSidebarMenuButton.displayName = \"SidebarMenuButton\";\n\nconst SidebarMenuAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<\"button\"> & {\n asChild?: boolean\n showOnHover?: boolean\n}\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-action\"\n className={cn(\n \"absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 after:md:hidden\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n showOnHover &&\n \"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0\",\n className\n )}\n {...props}\n />\n );\n});\nSidebarMenuAction.displayName = \"SidebarMenuAction\";\n\nconst SidebarMenuBadge = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"menu-badge\"\n className={cn(\n \"absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none\",\n \"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n));\nSidebarMenuBadge.displayName = \"SidebarMenuBadge\";\n\nconst SidebarMenuSkeleton = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n showIcon?: boolean\n}\n>(({ className, showIcon = false, ...props }, ref) => {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n ref={ref}\n data-sidebar=\"menu-skeleton\"\n className={cn(\"rounded-md h-8 flex gap-2 px-2 items-center\", className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 flex-1 max-w-(--skeleton-width)\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n});\nSidebarMenuSkeleton.displayName = \"SidebarMenuSkeleton\";\n\nconst SidebarMenuSub = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu-sub\"\n className={cn(\n \"ml-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border pl-2.5 pr-0.5 py-0.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n));\nSidebarMenuSub.displayName = \"SidebarMenuSub\";\n\nconst SidebarMenuSubItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({ ...props }, ref) => <li ref={ref} {...props} />);\nSidebarMenuSubItem.displayName = \"SidebarMenuSubItem\";\n\nconst SidebarMenuSubButton = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentProps<\"a\"> & {\n asChild?: boolean\n size?: \"sm\" | \"md\"\n isActive?: boolean\n}\n>(({ asChild = false, size = \"md\", isActive, className, ...props }, ref) => {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n \"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground\",\n \"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-sm\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n});\nSidebarMenuSubButton.displayName = \"SidebarMenuSubButton\";\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"],"names":["SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","React","useSidebar","context","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","ref","isMobile","useIsMobile","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","cn","Sidebar","side","variant","collapsible","Sheet","SheetContent","jsxs","SidebarTrigger","onClick","Button","PanelLeft","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","cva","SidebarMenuButton","isActive","size","tooltip","Comp","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Skeleton","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton"],"mappings":"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"}
|
package/Skeleton/Skeleton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skeleton.js","sources":["../../src/Skeleton/Skeleton.tsx"],"sourcesContent":["import { cn } from '@oneplatformdev/utils';\
|
|
1
|
+
{"version":3,"file":"Skeleton.js","sources":["../../src/Skeleton/Skeleton.tsx"],"sourcesContent":["import { cn } from '@oneplatformdev/utils';\nimport React from 'react';\n\n// TODO: ??\nfunction Skeleton({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(\"animate-pulse rounded-md bg-primary/10\", className)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n"],"names":["Skeleton","className","props","jsx","cn"],"mappings":";;AAIA,SAASA,EAAS;AAAA,EAChB,WAAAC;AAAA,EACA,GAAGC;AACL,GAAyC;AACvC,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAG,0CAA0CH,CAAS;AAAA,MAChE,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
package/Slider/Slider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.js","sources":["../../src/Slider/Slider.tsx"],"sourcesContent":["\"use client\"\
|
|
1
|
+
{"version":3,"file":"Slider.js","sources":["../../src/Slider/Slider.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as SliderPrimitive from \"@radix-ui/react-slider\"\n\nimport { cn } from \"@oneplatformdev/utils\";\n\nconst Slider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <SliderPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex w-full touch-none select-none items-center\",\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track className=\"relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20\">\n <SliderPrimitive.Range className=\"absolute h-full bg-primary\" />\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb className=\"block h-4 w-4 rounded-full border border-primary/50 bg-background shadow-sm transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50\" />\n </SliderPrimitive.Root>\n))\nSlider.displayName = SliderPrimitive.Root.displayName\n\nexport { Slider }\n"],"names":["Slider","React","className","props","ref","jsxs","SliderPrimitive","cn","jsx"],"mappings":";;;;AAOA,MAAMA,IAASC,EAAM,WAGnB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAACC,EAAgB;AAAA,EAAhB;AAAA,IACC,KAAAF;AAAA,IACA,WAAWG;AAAA,MACT;AAAA,MACAL;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,IAEJ,UAAA;AAAA,MAAA,gBAAAK,EAACF,EAAgB,OAAhB,EAAsB,WAAU,yEAC/B,UAAA,gBAAAE,EAACF,EAAgB,OAAhB,EAAsB,WAAU,6BAAA,CAA6B,EAAA,CAChE;AAAA,MACA,gBAAAE,EAACF,EAAgB,OAAhB,EAAsB,WAAU,2NAAA,CAA2N;AAAA,IAAA;AAAA,EAAA;AAC9P,CACD;AACDN,EAAO,cAAcM,EAAgB,KAAK;"}
|
package/Sonner/Sonner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sonner.js","sources":["../../src/Sonner/Sonner.tsx"],"sourcesContent":["\"use client\"\
|
|
1
|
+
{"version":3,"file":"Sonner.js","sources":["../../src/Sonner/Sonner.tsx"],"sourcesContent":["\"use client\"\n\nimport { useTheme } from \"next-themes\"\nimport { Toaster as SonnerToaster } from \"sonner\"\n\ntype SonnerProps = React.ComponentProps<typeof SonnerToaster>\n\nconst Sonner = ({ ...props }: SonnerProps) => {\n const { theme = \"system\" } = useTheme()\n\n return (\n <SonnerToaster\n theme={theme as SonnerProps[\"theme\"]}\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toast]:text-muted-foreground\",\n actionButton:\n \"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground\",\n cancelButton:\n \"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground\",\n },\n }}\n {...props}\n />\n )\n}\n\nexport { Sonner }\n"],"names":["Sonner","props","theme","useTheme","jsx","SonnerToaster"],"mappings":";;;AAOA,MAAMA,IAAS,CAAC,EAAE,GAAGC,QAAyB;AAC5C,QAAM,EAAE,OAAAC,IAAQ,SAAA,IAAaC,EAAA;AAE7B,SACE,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,OAAAH;AAAA,MACA,WAAU;AAAA,MACV,cAAc;AAAA,QACZ,YAAY;AAAA,UACV,OACE;AAAA,UACF,aAAa;AAAA,UACb,cACE;AAAA,UACF,cACE;AAAA,QAAA;AAAA,MACJ;AAAA,MAED,GAAGD;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
package/Switch/Switch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../src/Switch/Switch.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAIzD,iBAAS,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../src/Switch/Switch.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAIzD,iBAAS,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CA+BvE;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
package/Switch/Switch.js
CHANGED
|
@@ -1,23 +1,35 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import * as t from "@radix-ui/react-switch";
|
|
3
3
|
import { cn as a } from "@oneplatformdev/utils";
|
|
4
|
-
function
|
|
5
|
-
const { className:
|
|
4
|
+
function o(r) {
|
|
5
|
+
const { className: s, ...c } = r;
|
|
6
6
|
return /* @__PURE__ */ e(
|
|
7
7
|
t.Root,
|
|
8
8
|
{
|
|
9
9
|
"data-slot": "switch",
|
|
10
10
|
className: a(
|
|
11
|
-
"peer
|
|
12
|
-
|
|
11
|
+
"peer inline-flex h-5 w-9.5 shrink-0 items-center box-border rounded-full",
|
|
12
|
+
"data-[state=checked]:bg-[#9368FF] data-[state=unchecked]:bg-transparent",
|
|
13
|
+
"border data-[state=checked]:border-[#9368FF] data-[state=unchecked]:border-[#8C8F9A]",
|
|
14
|
+
"dark:data-[state=unchecked]:bg-input/80",
|
|
15
|
+
"cursor-pointer",
|
|
16
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
17
|
+
"shadow-none outline-none focus-visible:ring-[3px]",
|
|
18
|
+
"focus-visible:border-ring focus-visible:ring-ring/50",
|
|
19
|
+
"transition-all",
|
|
20
|
+
s
|
|
13
21
|
),
|
|
14
|
-
...
|
|
22
|
+
...c,
|
|
15
23
|
children: /* @__PURE__ */ e(
|
|
16
24
|
t.Thumb,
|
|
17
25
|
{
|
|
18
26
|
"data-slot": "switch-thumb",
|
|
19
27
|
className: a(
|
|
20
|
-
"
|
|
28
|
+
"block rounded-full h-[calc(100%-1px)] aspect-square",
|
|
29
|
+
"data-[state=checked]:bg-[#FCFCFC] data-[state=unchecked]:bg-[#8C8F9A]",
|
|
30
|
+
"dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground",
|
|
31
|
+
"data-[state=unchecked]:translate-x-px data-[state=checked]:translate-x-[calc(100%+1px)]",
|
|
32
|
+
"pointer-events-none ring-0 transition-transform"
|
|
21
33
|
)
|
|
22
34
|
}
|
|
23
35
|
)
|
|
@@ -25,6 +37,6 @@ function d(r) {
|
|
|
25
37
|
);
|
|
26
38
|
}
|
|
27
39
|
export {
|
|
28
|
-
|
|
40
|
+
o as Switch
|
|
29
41
|
};
|
|
30
42
|
//# sourceMappingURL=Switch.js.map
|
package/Switch/Switch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","sources":["../../src/Switch/Switch.tsx"],"sourcesContent":["\"use client\"\
|
|
1
|
+
{"version":3,"file":"Switch.js","sources":["../../src/Switch/Switch.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\"\n\nimport { cn } from \"@oneplatformdev/utils\"\n\nfunction Switch(props: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n const { className, ...rest } = props;\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n 'peer inline-flex h-5 w-9.5 shrink-0 items-center box-border rounded-full',\n 'data-[state=checked]:bg-[#9368FF] data-[state=unchecked]:bg-transparent',\n 'border data-[state=checked]:border-[#9368FF] data-[state=unchecked]:border-[#8C8F9A]',\n 'dark:data-[state=unchecked]:bg-input/80',\n 'cursor-pointer',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'shadow-none outline-none focus-visible:ring-[3px]',\n 'focus-visible:border-ring focus-visible:ring-ring/50',\n \"transition-all\",\n className\n )}\n {...rest}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'block rounded-full h-[calc(100%-1px)] aspect-square',\n 'data-[state=checked]:bg-[#FCFCFC] data-[state=unchecked]:bg-[#8C8F9A]',\n 'dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground',\n 'data-[state=unchecked]:translate-x-px data-[state=checked]:translate-x-[calc(100%+1px)]',\n \"pointer-events-none ring-0 transition-transform\"\n )}\n />\n </SwitchPrimitive.Root>\n )\n}\n\nexport { Switch }\n"],"names":["Switch","props","className","rest","jsx","SwitchPrimitive","cn"],"mappings":";;;AAOA,SAASA,EAAOC,GAA0D;AACxE,QAAM,EAAE,WAAAC,GAAW,GAAGC,EAAA,IAASF;AAC/B,SACE,gBAAAG;AAAA,IAACC,EAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,MAEJ,UAAA,gBAAAC;AAAA,QAACC,EAAgB;AAAA,QAAhB;AAAA,UACC,aAAU;AAAA,UACV,WAAWC;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsxs as n, jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import * as a from "react";
|
|
3
|
+
import { Switch as o } from "./Switch.js";
|
|
4
|
+
const r = {
|
|
5
|
+
title: "Input/Switch",
|
|
6
|
+
component: o,
|
|
7
|
+
tags: ["autodocs"],
|
|
8
|
+
args: {
|
|
9
|
+
checked: !1,
|
|
10
|
+
disabled: !1
|
|
11
|
+
},
|
|
12
|
+
argTypes: {
|
|
13
|
+
checked: {
|
|
14
|
+
control: "boolean"
|
|
15
|
+
},
|
|
16
|
+
disabled: {
|
|
17
|
+
control: "boolean"
|
|
18
|
+
},
|
|
19
|
+
onCheckedChange: {
|
|
20
|
+
action: "checked changed"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
render: (e) => {
|
|
24
|
+
const [c, t] = a.useState(e.checked);
|
|
25
|
+
return a.useEffect(() => {
|
|
26
|
+
t(e.checked);
|
|
27
|
+
}, [e.checked]), /* @__PURE__ */ n("div", { className: "flex items-center gap-3", children: [
|
|
28
|
+
/* @__PURE__ */ s(
|
|
29
|
+
o,
|
|
30
|
+
{
|
|
31
|
+
...e,
|
|
32
|
+
checked: c,
|
|
33
|
+
onCheckedChange: (d) => {
|
|
34
|
+
t(d), e.onCheckedChange?.(d);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
),
|
|
38
|
+
/* @__PURE__ */ s("span", { className: "text-sm", children: c ? "Enabled" : "Disabled" })
|
|
39
|
+
] });
|
|
40
|
+
}
|
|
41
|
+
}, i = {}, k = {
|
|
42
|
+
args: {
|
|
43
|
+
checked: !0
|
|
44
|
+
}
|
|
45
|
+
}, m = {
|
|
46
|
+
args: {
|
|
47
|
+
disabled: !0
|
|
48
|
+
}
|
|
49
|
+
}, b = {
|
|
50
|
+
args: {
|
|
51
|
+
checked: !0,
|
|
52
|
+
disabled: !0
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
export {
|
|
56
|
+
k as Checked,
|
|
57
|
+
i as Default,
|
|
58
|
+
m as Disabled,
|
|
59
|
+
b as DisabledChecked,
|
|
60
|
+
r as default
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=Switch.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Switch.stories.js","sources":["../../src/Switch/Switch.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react';\nimport * as React from 'react';\n\nimport { Switch } from './switch';\n\nconst meta = {\n title: 'Input/Switch',\n component: Switch,\n tags: ['autodocs'],\n args: {\n checked: false,\n disabled: false,\n },\n argTypes: {\n checked: {\n control: 'boolean',\n },\n disabled: {\n control: 'boolean',\n },\n onCheckedChange: {\n action: 'checked changed',\n },\n },\n render: (args) => {\n const [checked, setChecked] = React.useState(args.checked);\n\n React.useEffect(() => {\n setChecked(args.checked);\n }, [args.checked]);\n\n return (\n <div className=\"flex items-center gap-3\">\n <Switch\n {...args}\n checked={checked}\n onCheckedChange={(value) => {\n setChecked(value);\n args.onCheckedChange?.(value);\n }}\n />\n <span className=\"text-sm\">{checked ? 'Enabled' : 'Disabled'}</span>\n </div>\n );\n },\n} satisfies Meta<typeof Switch>;\n\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Default: Story = {};\n\nexport const Checked: Story = {\n args: {\n checked: true,\n },\n};\n\nexport const Disabled: Story = {\n args: {\n disabled: true,\n },\n};\n\nexport const DisabledChecked: Story = {\n args: {\n checked: true,\n disabled: true,\n },\n};\n"],"names":["meta","Switch","args","checked","setChecked","React","jsxs","jsx","value","Default","Checked","Disabled","DisabledChecked"],"mappings":";;;AAKA,MAAMA,IAAO;AAAA,EACX,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,MAAM,CAAC,UAAU;AAAA,EACjB,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,UAAU;AAAA,EAAA;AAAA,EAEZ,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,IAAA;AAAA,IAEX,UAAU;AAAA,MACR,SAAS;AAAA,IAAA;AAAA,IAEX,iBAAiB;AAAA,MACf,QAAQ;AAAA,IAAA;AAAA,EACV;AAAA,EAEF,QAAQ,CAACC,MAAS;AAChB,UAAM,CAACC,GAASC,CAAU,IAAIC,EAAM,SAASH,EAAK,OAAO;AAEzD,WAAAG,EAAM,UAAU,MAAM;AACpB,MAAAD,EAAWF,EAAK,OAAO;AAAA,IACzB,GAAG,CAACA,EAAK,OAAO,CAAC,GAGf,gBAAAI,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACN;AAAA,QAAA;AAAA,UACE,GAAGC;AAAA,UACJ,SAAAC;AAAA,UACA,iBAAiB,CAACK,MAAU;AAC1B,YAAAJ,EAAWI,CAAK,GAChBN,EAAK,kBAAkBM,CAAK;AAAA,UAC9B;AAAA,QAAA;AAAA,MAAA;AAAA,wBAED,QAAA,EAAK,WAAU,WAAW,UAAAL,IAAU,YAAY,WAAA,CAAW;AAAA,IAAA,GAC9D;AAAA,EAEJ;AACF,GAMaM,IAAiB,CAAA,GAEjBC,IAAiB;AAAA,EAC5B,MAAM;AAAA,IACJ,SAAS;AAAA,EAAA;AAEb,GAEaC,IAAkB;AAAA,EAC7B,MAAM;AAAA,IACJ,UAAU;AAAA,EAAA;AAEd,GAEaC,IAAyB;AAAA,EACpC,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,UAAU;AAAA,EAAA;AAEd;"}
|
package/Table/Table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sources":["../../src/Table/Table.tsx"],"sourcesContent":["import * as React from \"react\"\
|
|
1
|
+
{"version":3,"file":"Table.js","sources":["../../src/Table/Table.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@oneplatformdev/utils\";\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n))\nTable.displayName = \"Table\"\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n))\nTableHeader.displayName = \"TableHeader\"\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n))\nTableBody.displayName = \"TableBody\"\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"border-t bg-muted/50 font-medium last:[&>tr]:border-b-0\",\n className\n )}\n {...props}\n />\n))\nTableFooter.displayName = \"TableFooter\"\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className\n )}\n {...props}\n />\n))\nTableRow.displayName = \"TableRow\"\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className\n )}\n {...props}\n />\n))\nTableHead.displayName = \"TableHead\"\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n \"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className\n )}\n {...props}\n />\n))\nTableCell.displayName = \"TableCell\"\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\"mt-4 text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nTableCaption.displayName = \"TableCaption\"\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n"],"names":["Table","React","className","props","ref","jsx","cn","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption"],"mappings":";;;AAIA,MAAMA,IAAQC,EAAM,WAGlB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC,EAAC,OAAA,EAAI,WAAU,iCACb,UAAA,gBAAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,GACF,CACD;AACDH,EAAM,cAAc;AAEpB,MAAMO,IAAcN,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,KAASC,wBACzB,SAAA,EAAM,KAAAA,GAAU,WAAWE,EAAG,mBAAmBJ,CAAS,GAAI,GAAGC,GAAO,CAC1E;AACDI,EAAY,cAAc;AAE1B,MAAMC,IAAYP,EAAM,WAGtB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,8BAA8BJ,CAAS;AAAA,IACpD,GAAGC;AAAA,EAAA;AACN,CACD;AACDK,EAAU,cAAc;AAExB,MAAMC,IAAcR,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDM,EAAY,cAAc;AAE1B,MAAMC,IAAWT,EAAM,WAGrB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDO,EAAS,cAAc;AAEvB,MAAMC,IAAYV,EAAM,WAGtB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDQ,EAAU,cAAc;AAExB,MAAMC,IAAYX,EAAM,WAGtB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDS,EAAU,cAAc;AAExB,MAAMC,IAAeZ,EAAM,WAGzB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,sCAAsCJ,CAAS;AAAA,IAC5D,GAAGC;AAAA,EAAA;AACN,CACD;AACDU,EAAa,cAAc;"}
|
|
@@ -1,30 +1,35 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as i, jsx as n } from "react/jsx-runtime";
|
|
2
2
|
import { Button as o } from "../Button/Button.js";
|
|
3
|
+
import "../Button/buttonVariants.js";
|
|
4
|
+
import "react";
|
|
5
|
+
import "@radix-ui/react-select";
|
|
6
|
+
import "lucide-react";
|
|
7
|
+
import "@oneplatformdev/utils";
|
|
3
8
|
import { Select as P } from "../Select/Select.js";
|
|
4
|
-
const
|
|
9
|
+
const M = ({
|
|
5
10
|
offset: l,
|
|
6
11
|
limit: a,
|
|
7
|
-
totalRows:
|
|
8
|
-
setLimit:
|
|
9
|
-
setOffset:
|
|
10
|
-
tRowsPerPage:
|
|
11
|
-
tPrevious:
|
|
12
|
-
tPage:
|
|
13
|
-
tNext:
|
|
12
|
+
totalRows: t,
|
|
13
|
+
setLimit: p,
|
|
14
|
+
setOffset: s,
|
|
15
|
+
tRowsPerPage: m = "Rows per page",
|
|
16
|
+
tPrevious: d = "Previous",
|
|
17
|
+
tPage: u = "Page",
|
|
18
|
+
tNext: x = "Next",
|
|
14
19
|
tOf: v = "Of"
|
|
15
20
|
}) => {
|
|
16
|
-
const
|
|
17
|
-
|
|
21
|
+
const r = Math.ceil(l / a) + 1, c = Math.ceil(t / a), h = r === c, b = (e) => {
|
|
22
|
+
s(0), p(parseInt(e));
|
|
18
23
|
}, g = () => {
|
|
19
24
|
let e = l - a;
|
|
20
|
-
e < 0 && (e = 0),
|
|
25
|
+
e < 0 && (e = 0), s(e);
|
|
21
26
|
}, N = () => {
|
|
22
27
|
let e = l + a;
|
|
23
|
-
e >
|
|
28
|
+
e > t && (e = t - a), s(e);
|
|
24
29
|
};
|
|
25
|
-
return /* @__PURE__ */
|
|
26
|
-
/* @__PURE__ */
|
|
27
|
-
/* @__PURE__ */ n("span", { className: "text-sm text-nowrap", children:
|
|
30
|
+
return /* @__PURE__ */ i("div", { className: "flex items-center justify-end space-x-2 py-4", children: [
|
|
31
|
+
/* @__PURE__ */ i("div", { className: "flex items-center space-x-2", children: [
|
|
32
|
+
/* @__PURE__ */ n("span", { className: "text-sm text-nowrap", children: m }),
|
|
28
33
|
/* @__PURE__ */ n(
|
|
29
34
|
P,
|
|
30
35
|
{
|
|
@@ -42,7 +47,7 @@ const j = ({
|
|
|
42
47
|
}
|
|
43
48
|
)
|
|
44
49
|
] }),
|
|
45
|
-
/* @__PURE__ */
|
|
50
|
+
/* @__PURE__ */ i("div", { className: "space-x-2", children: [
|
|
46
51
|
/* @__PURE__ */ n(
|
|
47
52
|
o,
|
|
48
53
|
{
|
|
@@ -50,10 +55,10 @@ const j = ({
|
|
|
50
55
|
size: "sm",
|
|
51
56
|
disabled: !l,
|
|
52
57
|
onClick: g,
|
|
53
|
-
children:
|
|
58
|
+
children: d
|
|
54
59
|
}
|
|
55
60
|
),
|
|
56
|
-
/* @__PURE__ */ n("span", { className: "text-sm", children: `${
|
|
61
|
+
/* @__PURE__ */ n("span", { className: "text-sm", children: `${u} ${r} ${v} ${c}` }),
|
|
57
62
|
/* @__PURE__ */ n(
|
|
58
63
|
o,
|
|
59
64
|
{
|
|
@@ -61,13 +66,13 @@ const j = ({
|
|
|
61
66
|
size: "sm",
|
|
62
67
|
disabled: h,
|
|
63
68
|
onClick: N,
|
|
64
|
-
children:
|
|
69
|
+
children: x
|
|
65
70
|
}
|
|
66
71
|
)
|
|
67
72
|
] })
|
|
68
73
|
] });
|
|
69
74
|
};
|
|
70
75
|
export {
|
|
71
|
-
|
|
76
|
+
M as TablePagination
|
|
72
77
|
};
|
|
73
78
|
//# sourceMappingURL=TablePagination.js.map
|