lsp-uikit 1.5.2 → 1.5.4

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.
Files changed (33) hide show
  1. package/dist/components/accordion/accordion.js +1 -1
  2. package/dist/components/badge/badge.d.ts +6 -4
  3. package/dist/components/badge/badge.js +1 -1
  4. package/dist/components/button/button.d.ts +2 -2
  5. package/dist/components/button/button.js +1 -1
  6. package/dist/components/calendar/calendar.js +1 -1
  7. package/dist/components/context-menu/context-menu.d.ts +28 -0
  8. package/dist/components/context-menu/context-menu.js +2 -0
  9. package/dist/components/date-picker/date-picker.js +1 -1
  10. package/dist/components/date-range-picker/date-range-picker.js +1 -1
  11. package/dist/components/dialog/dialog.d.ts +2 -1
  12. package/dist/components/dialog/dialog.js +1 -1
  13. package/dist/components/dropdown/dropdown.js +1 -1
  14. package/dist/components/input/input.js +1 -1
  15. package/dist/components/number-field/number-field.js +1 -1
  16. package/dist/components/pagination/pagination.js +1 -1
  17. package/dist/components/popover/coach-mark.js +1 -1
  18. package/dist/components/scroll-area/scroll-area.d.ts +3 -1
  19. package/dist/components/scroll-area/scroll-area.js +1 -1
  20. package/dist/components/select/select.js +1 -1
  21. package/dist/components/sheet/sheet.js +1 -1
  22. package/dist/components/sidebar/sidebar.d.ts +2 -2
  23. package/dist/components/sidebar/sidebar.js +1 -1
  24. package/dist/components/text/text.js +1 -1
  25. package/dist/components/textarea/textarea.js +1 -1
  26. package/dist/components/toggle/toggle.d.ts +1 -1
  27. package/dist/components/tooltip/tooltip.d.ts +19 -3
  28. package/dist/components/tooltip/tooltip.js +1 -1
  29. package/dist/components/tour/tour.js +1 -1
  30. package/dist/index.d.ts +2 -1
  31. package/dist/index.js +1 -1
  32. package/dist/variables.css +0 -4
  33. package/package.json +5 -1
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Accordion as a}from"@base-ui/react/accordion";import{ChevronDownIcon as n}from"lucide-react";import{cn as i}from"../../lib/utils/cn.js";function o(e){return t(a.Root,{"data-slot":"accordion",...e})}function r({className:e,...n}){return t(a.Item,{className:i("border-b last:border-b-0",e),"data-slot":"accordion-item",...n})}function s({className:o,children:r,...s}){return t(a.Header,{className:"flex",children:e(a.Trigger,{className:i("focus-visible:ring-ring flex flex-1 cursor-pointer items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-64 data-panel-open:*:data-[slot=accordion-indicator]:rotate-180",o),"data-slot":"accordion-trigger",...s,children:[r,t(n,{className:"pointer-events-none size-4 shrink-0 translate-y-0.5 opacity-80 transition-transform duration-200 ease-in-out","data-slot":"accordion-indicator"})]})})}function c({className:e,children:n,...o}){return t(a.Panel,{className:"text-muted-foreground h-(--accordion-panel-height) overflow-hidden text-sm transition-[height] duration-200 ease-in-out data-ending-style:h-0 data-starting-style:h-0","data-slot":"accordion-panel",...o,children:t("div",{className:i("pt-0 pb-4",e),children:n})})}export{o as Accordion,c as AccordionContent,r as AccordionItem,s as AccordionTrigger};
2
+ import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Accordion as a}from"@base-ui/react/accordion";import{ChevronDownIcon as i}from"lucide-react";import{cn as n}from"../../lib/utils/cn.js";function o(e){return t(a.Root,{"data-slot":"accordion",...e})}function r({className:e,...i}){return t(a.Item,{className:n("border-b last:border-b-0",e),"data-slot":"accordion-item",...i})}function s({className:o,children:r,...s}){return t(a.Header,{className:"flex",children:e(a.Trigger,{className:n("focus-visible:ring-ring flex flex-1 cursor-pointer items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-64 data-panel-open:*:data-[slot=accordion-indicator]:rotate-180",o),"data-slot":"accordion-trigger",...s,children:[r,t(i,{className:"pointer-events-none size-4 shrink-0 translate-y-0.5 opacity-80 transition-transform duration-200 ease-in-out","data-slot":"accordion-indicator"})]})})}function c({className:e,children:i,...o}){return t(a.Panel,{className:"h-(--accordion-panel-height) overflow-hidden text-sm transition-[height] duration-200 ease-in-out data-ending-style:h-0 data-starting-style:h-0","data-slot":"accordion-panel",...o,children:t("div",{className:n("pt-0 pb-4",e),children:i})})}export{o as Accordion,c as AccordionContent,r as AccordionItem,s as AccordionTrigger};
@@ -4,18 +4,20 @@ import { useRender } from '@base-ui/react/use-render';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
 
6
6
  declare const badgeVariants: (props?: ({
7
- size?: "default" | "lg" | "sm" | null | undefined;
8
- variant?: "success" | "warning" | "primary" | "primary_ghost" | "primary_outline" | "success_ghost" | "success_outline" | "warning_ghost" | "warning_outline" | "secondary" | "destructive" | "destructive_ghost" | "destructive_outline" | "outline" | null | undefined;
7
+ size?: "default" | "sm" | "lg" | null | undefined;
8
+ variant?: "success" | "warning" | "destructive" | "outline" | "secondary" | "primary" | "primary_ghost" | "primary_outline" | "success_ghost" | "success_outline" | "warning_ghost" | "warning_outline" | "destructive_ghost" | "destructive_outline" | null | undefined;
9
9
  rounded?: "sm" | "md" | "full" | null | undefined;
10
10
  textOverflow?: "default" | "hidden" | null | undefined;
11
- hover?: boolean | null | undefined;
11
+ hovered?: boolean | null | undefined;
12
12
  } & class_variance_authority_types.ClassProp) | undefined) => string;
13
13
  interface BadgeProps extends useRender.ComponentProps<'span'> {
14
14
  variant?: VariantProps<typeof badgeVariants>['variant'];
15
15
  size?: VariantProps<typeof badgeVariants>['size'];
16
16
  textOverflow?: VariantProps<typeof badgeVariants>['textOverflow'];
17
+ rounded?: VariantProps<typeof badgeVariants>['rounded'];
18
+ hovered?: VariantProps<typeof badgeVariants>['hovered'];
17
19
  }
18
- declare function Badge({ className, variant, size, render, textOverflow, ...props }: BadgeProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
20
+ declare function Badge({ className, variant, rounded, hovered, render, size, textOverflow, ...props }: BadgeProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
19
21
 
20
22
  export { Badge, badgeVariants };
21
23
  export type { BadgeProps };
@@ -1 +1 @@
1
- import{mergeProps as r}from"@base-ui/react/merge-props";import{useRender as e}from"@base-ui/react/use-render";import{cva as t}from"class-variance-authority";import{cn as a}from"../../lib/utils/cn.js";const n=t("focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-md border px-2 py-1 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{size:{default:"h-5.5 min-w-5.5 px-[calc(--spacing(1.5)-1px)] sm:h-4.5 sm:min-w-4.5",lg:"h-6.5 min-w-6.5 px-[calc(--spacing(2.5)-1px)] py-1 text-sm sm:h-5.5 sm:min-w-5.5",sm:"h-5 min-w-5 rounded-[calc(var(--radius-sm)-2px)] px-[calc(--spacing(1)-1px)] text-xs leading-none sm:h-4 sm:min-w-4 sm:text-[.625rem]"},variant:{primary:"text-primary-foreground border-transparent bg-blue-500",primary_ghost:"text-primary bg-primary/10 border-none dark:bg-blue-800/20",primary_outline:"border-primary/50 text-primary dark:border-primary dark:text-primary-foreground bg-blue-100/50 dark:bg-blue-600/70",success:"text-primary-foreground border-transparent bg-green-500",success_ghost:"border-none bg-green-500/10 text-green-600",success_outline:"dark:text-primary-foreground border-green-300 bg-green-100/50 text-green-600 dark:border-green-700 dark:bg-green-700/70",warning:"bg-warning dark:bg-warning/70 text-primary-foreground border-transparent",warning_ghost:"bg-warning/10 dark:bg-warning/15 border-none text-amber-600",warning_outline:"dark:text-primary-foreground border-amber-300 bg-amber-100/50 text-amber-600 dark:border-amber-700 dark:bg-amber-700/70",secondary:"bg-secondary text-secondary-foreground border-transparent",destructive:"bg-destructive border-transparent text-white",destructive_ghost:"bg-destructive/5 dark:bg-destructive/10 text-destructive border-none",destructive_outline:"border-destructive/60 dark:border-destructive bg-destructive/20 dark:bg-destructive/20 text-red-500",outline:"text-foreground"},rounded:{sm:"rounded-sm",md:"rounded-md",full:"rounded-full"},textOverflow:{default:"inline-flex",hidden:"block overflow-hidden text-ellipsis whitespace-nowrap"},hover:{true:"hover:opacity-80"}},defaultVariants:{variant:"primary_outline",rounded:"sm",textOverflow:"default"}});function i({className:t,variant:i,size:d,render:o,textOverflow:s="default",...g}){const u={className:a(n({className:t,size:d,textOverflow:s,variant:i})),"data-slot":"badge"};return e({defaultTagName:"span",props:r(u,g),render:o})}export{i as Badge,n as badgeVariants};
1
+ import{mergeProps as r}from"@base-ui/react/merge-props";import{useRender as e}from"@base-ui/react/use-render";import{cva as t}from"class-variance-authority";import{cn as a}from"../../lib/utils/cn.js";const n=t("focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-md border px-2 py-1 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{size:{default:"h-5.5 min-w-5.5 px-[calc(--spacing(1.5)-1px)] sm:h-4.5 sm:min-w-4.5",lg:"h-6.5 min-w-6.5 px-[calc(--spacing(2.5)-1px)] py-1 text-sm sm:h-5.5 sm:min-w-5.5",sm:"h-5 min-w-5 rounded-[calc(var(--radius-sm)-2px)] px-[calc(--spacing(1)-1px)] text-xs leading-none sm:h-4 sm:min-w-4 sm:text-[.625rem]"},variant:{primary:"text-primary-foreground border-transparent bg-blue-500",primary_ghost:"text-primary bg-primary/10 border-none dark:bg-blue-800/20",primary_outline:"border-primary/50 text-primary dark:border-primary dark:text-primary-foreground bg-blue-100/50 dark:bg-blue-600/70",success:"text-primary-foreground border-transparent bg-green-500",success_ghost:"border-none bg-green-500/10 text-green-600",success_outline:"dark:text-primary-foreground border-green-300 bg-green-100/50 text-green-600 dark:border-green-700 dark:bg-green-700/70",warning:"bg-warning dark:bg-warning/70 text-primary-foreground border-transparent",warning_ghost:"bg-warning/10 dark:bg-warning/15 border-none text-amber-600",warning_outline:"dark:text-primary-foreground border-amber-300 bg-amber-100/50 text-amber-600 dark:border-amber-700 dark:bg-amber-700/70",secondary:"bg-secondary text-secondary-foreground border-transparent",destructive:"bg-destructive border-transparent text-white",destructive_ghost:"bg-destructive/5 dark:bg-destructive/10 text-destructive border-none",destructive_outline:"border-destructive/60 dark:border-destructive bg-destructive/20 dark:bg-destructive/20 text-red-500",outline:"text-foreground"},rounded:{sm:"rounded-sm",md:"rounded-md",full:"rounded-full"},textOverflow:{default:"inline-flex",hidden:"block overflow-hidden text-ellipsis whitespace-nowrap"},hovered:{true:"hover:opacity-80"}},defaultVariants:{size:"default",variant:"primary_outline",rounded:"sm",textOverflow:"default"}});function i({className:t,variant:i,rounded:d,hovered:o,render:s,size:u="default",textOverflow:g="default",...b}){const m={className:a(n({className:t,size:u,textOverflow:g,variant:i,rounded:d,hovered:o})),"data-slot":"badge"};return e({defaultTagName:"span",props:r(m,b),render:s})}export{i as Badge,n as badgeVariants};
@@ -4,8 +4,8 @@ import { Button as Button$1 } from '@base-ui/react/button';
4
4
  import { VariantProps } from 'class-variance-authority';
5
5
 
6
6
  declare const buttonVariants: (props?: ({
7
- variant?: "default" | "warning" | "secondary" | "destructive" | "outline" | "link" | "default_invert" | "destructive_invert" | "warning_invert" | "ghost" | "clear" | null | undefined;
8
- size?: "default" | "lg" | "sm" | "icon" | "icon-lg" | "icon-sm" | "icon-xl" | "icon-xs" | null | undefined;
7
+ variant?: "default" | "warning" | "default_invert" | "destructive" | "destructive_invert" | "warning_invert" | "outline" | "secondary" | "ghost" | "link" | "clear" | null | undefined;
8
+ size?: "default" | "sm" | "lg" | "icon" | "icon-lg" | "icon-sm" | "icon-xl" | "icon-xs" | null | undefined;
9
9
  } & class_variance_authority_types.ClassProp) | undefined) => string;
10
10
  interface ButtonProps extends Button$1.Props, VariantProps<typeof buttonVariants> {
11
11
  isLoading?: boolean;
@@ -1 +1 @@
1
- import{jsxs as e,jsx as r}from"react/jsx-runtime";import{Button as t}from"@base-ui/react/button";import{cva as i}from"class-variance-authority";import{Loader2 as a}from"lucide-react";import{cn as s}from"../../lib/utils/cn.js";const n=i('focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive relative inline-flex cursor-pointer items-center justify-center gap-2 overflow-hidden rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] active:scale-[0.975] active:animate-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*="size-"])]:size-4',{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90 active:bg-blue-700/80",default_invert:"text-primary dark:border-primary bg-primary/10 hover:bg-primary/15 dark:bg-blue-600/25 dark:text-blue-500 dark:hover:bg-blue-600/30",destructive:"bg-destructive hover:bg-destructive/90 text-white",destructive_invert:"bg-destructive/10 dark:bg-destructive/15 text-destructive hover:bg-destructive/15 dark:hover:bg-destructive/25 dark:text-red-500",warning:"hover:bg-warning/90 bg-orange-400 text-white dark:bg-amber-700 dark:hover:bg-amber-800",warning_invert:"dark:bg-warning/15 hover:bg-warning/15 dark:hover:bg-warning/20 bg-amber-500/15 text-amber-600",outline:"border-input bg-background hover:bg-accent hover:text-accent-foreground border",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/60",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 after:hidden hover:underline",clear:"hover:text-muted-foreground p-0"},size:{default:"h-10 px-[14px] py-2",sm:"h-9 px-3 py-2",lg:"h-[50px] rounded-2xl px-8 text-base",icon:"size-9 sm:size-8","icon-lg":"size-10 sm:size-9","icon-sm":"size-8 sm:size-7","icon-xl":"size-11 sm:size-10 [&_svg:not([class*='size-'])]:size-5 sm:[&_svg:not([class*='size-'])]:size-4.5","icon-xs":"size-7 rounded-md sm:size-6 not-in-data-[slot=input-group]:[&_svg:not([class*='size-'])]:size-4 sm:not-in-data-[slot=input-group]:[&_svg:not([class*='size-'])]:size-3.5"}},defaultVariants:{variant:"default",size:"default"}});function o({className:i,variant:o,size:d,isLoading:c,disabled:g,replaceSvgWithLoading:l=!0,children:v,...u}){return e(t,{disabled:c||g,"data-slot":"button",className:s(n({variant:o,size:d,className:i}),'data-[slot="combobox-trigger"]:active:scale-100 data-[slot="dropdown-menu-trigger"]:active:scale-100 data-[slot="popover-trigger"]:active:scale-100 data-[slot="select-trigger"]:active:scale-100',{"[&>svg:not(:last-child)]:hidden":l&&c}),...u,children:[v,c&&r(a,{className:"h-4 w-4 animate-spin","data-loading":"true"})]})}export{o as Button,n as buttonVariants};
1
+ import{jsxs as e,jsx as r}from"react/jsx-runtime";import{Button as t}from"@base-ui/react/button";import{cva as i}from"class-variance-authority";import{Loader2 as a}from"lucide-react";import{cn as s}from"../../lib/utils/cn.js";const n=i('focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive relative inline-flex cursor-pointer items-center justify-center gap-2 overflow-hidden rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] active:scale-[0.97] active:animate-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*="size-"])]:size-4',{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90 active:bg-blue-700/80",default_invert:"text-primary dark:border-primary bg-primary/10 hover:bg-primary/15 dark:bg-blue-600/25 dark:text-blue-500 dark:hover:bg-blue-600/30",destructive:"bg-destructive hover:bg-destructive/90 text-white",destructive_invert:"bg-destructive/10 dark:bg-destructive/15 text-destructive hover:bg-destructive/15 dark:hover:bg-destructive/25 dark:text-red-500",warning:"hover:bg-warning/90 bg-orange-400 text-white dark:bg-amber-700 dark:hover:bg-amber-800",warning_invert:"dark:bg-warning/15 hover:bg-warning/20 dark:hover:bg-warning/20 bg-amber-500/15 text-amber-600",outline:"border-input bg-background hover:bg-secondary hover:text-accent-foreground border",secondary:"bg-secondary text-secondary-foreground hover:bg-foreground/5 dark:hover:bg-secondary/60",ghost:"hover:bg-secondary hover:text-accent-foreground",link:"text-primary underline-offset-4 after:hidden hover:underline",clear:"hover:text-muted-foreground p-0"},size:{default:"h-10 px-[14px] py-2",sm:"h-9 px-3 py-2",lg:"h-[50px] rounded-2xl px-8 text-base",icon:"size-9 sm:size-8","icon-lg":"size-10 sm:size-9","icon-sm":"size-8 sm:size-7","icon-xl":"size-11 sm:size-10 [&_svg:not([class*='size-'])]:size-5 sm:[&_svg:not([class*='size-'])]:size-4.5","icon-xs":"size-7 rounded-md sm:size-6 not-in-data-[slot=input-group]:[&_svg:not([class*='size-'])]:size-4 sm:not-in-data-[slot=input-group]:[&_svg:not([class*='size-'])]:size-3.5"}},defaultVariants:{variant:"default",size:"default"}});function o({className:i,variant:o,size:d,isLoading:c,disabled:g,replaceSvgWithLoading:l=!0,children:v,...u}){return e(t,{disabled:c||g,"data-slot":"button",className:s(n({variant:o,size:d,className:i}),'data-[slot="combobox-trigger"]:active:scale-100 data-[slot="dropdown-menu-trigger"]:active:scale-100 data-[slot="popover-trigger"]:active:scale-100 data-[slot="select-trigger"]:active:scale-100',{"[&>svg:not(:last-child)]:hidden":l&&c}),...u,children:[v,c&&r(a,{className:"h-4 w-4 animate-spin","data-loading":"true"})]})}export{o as Button,n as buttonVariants};
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{jsx as e}from"react/jsx-runtime";import{ChevronLeftIcon as t,ChevronRightIcon as r,ChevronDownIcon as a}from"lucide-react";import*as n from"react";import{getDefaultClassNames as d,DayPicker as o}from"react-day-picker";import{cn as s}from"../../lib/utils/cn.js";import{buttonVariants as l,Button as u}from"../button/button.js";function i({className:n,classNames:u,showOutsideDays:i=!0,captionLayout:m="label",buttonVariant:g="ghost",formatters:f,components:p,...b}){const x=d();return e(o,{showOutsideDays:i,className:s("bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,n),captionLayout:m,formatters:{formatMonthDropdown:e=>e.toLocaleString("default",{month:"short"}),...f},classNames:{root:s("w-fit",x.root),months:s("relative flex flex-col gap-4 md:flex-row",x.months),month:s("flex w-full flex-col gap-4",x.month),nav:s("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",x.nav),button_previous:s(l({variant:g}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",x.button_previous),button_next:s(l({variant:g}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",x.button_next),month_caption:s("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",x.month_caption),dropdowns:s("flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",x.dropdowns),dropdown_root:s("has-focus:border-ring border-input has-focus:ring-ring/50 relative rounded-md border shadow-xs has-focus:ring-[3px]",x.dropdown_root),dropdown:s("bg-popover absolute inset-0 opacity-0",x.dropdown),caption_label:s("font-medium select-none","label"===m?"text-sm":"[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5",x.caption_label),table:"w-full border-collapse",weekdays:s("flex",x.weekdays),weekday:s("text-muted-foreground flex-1 rounded-md text-[0.8rem] font-normal select-none",x.weekday),week:s("mt-2 flex w-full",x.week),week_number_header:s("w-(--cell-size) select-none",x.week_number_header),week_number:s("text-muted-foreground text-[0.8rem] select-none",x.week_number),day:s("group/day relative aspect-square h-full w-full p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-md",b.showWeekNumber?"[&:nth-child(2)[data-selected=true]_button]:rounded-l-md":"[&:first-child[data-selected=true]_button]:rounded-l-md",x.day),range_start:s("bg-accent rounded-l-md",x.range_start),range_middle:s("rounded-none",x.range_middle),range_end:s("bg-accent rounded-r-md",x.range_end),today:s("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",x.today),outside:s("text-muted-foreground aria-selected:text-muted-foreground",x.outside),disabled:s("text-muted-foreground opacity-50",x.disabled),hidden:s("invisible",x.hidden),...u},components:{Root:({className:t,rootRef:r,...a})=>e("div",{"data-slot":"calendar",ref:r,className:s(t),...a}),Chevron:({className:n,orientation:d,...o})=>e("left"===d?t:"right"===d?r:a,{className:s("size-4",n),...o}),DayButton:c,WeekNumber:({children:t,...r})=>e("td",{...r,children:e("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:t})}),...p},...b})}function c({className:t,day:r,modifiers:a,...o}){const l=d(),i=n.useRef(null);return n.useEffect(()=>{a.focused&&i.current?.focus()},[a.focused]),e(u,{ref:i,variant:"ghost",size:"icon","data-day":r.date.toLocaleDateString(),"data-selected-single":a.selected&&!a.range_start&&!a.range_end&&!a.range_middle,"data-range-start":a.range_start,"data-range-end":a.range_end,"data-range-middle":a.range_middle,className:s("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70",l.day,t),...o})}export{i as Calendar,c as CalendarDayButton};
2
+ import{jsx as e}from"react/jsx-runtime";import{ChevronLeftIcon as t,ChevronRightIcon as r,ChevronDownIcon as a}from"lucide-react";import*as o from"react";import{getDefaultClassNames as n,DayPicker as d}from"react-day-picker";import{cn as s}from"../../lib/utils/cn.js";import{buttonVariants as l,Button as u}from"../button/button.js";import"copy-to-clipboard";import"../tooltip/tooltip.js";function i({className:o,classNames:u,showOutsideDays:i=!0,captionLayout:m="label",buttonVariant:g="ghost",formatters:p,components:f,...b}){const x=n();return e(d,{showOutsideDays:i,className:s("bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,o),captionLayout:m,formatters:{formatMonthDropdown:e=>e.toLocaleString("default",{month:"short"}),...p},classNames:{root:s("w-fit",x.root),months:s("relative flex flex-col gap-4 md:flex-row",x.months),month:s("flex w-full flex-col gap-4",x.month),nav:s("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",x.nav),button_previous:s(l({variant:g}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",x.button_previous),button_next:s(l({variant:g}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",x.button_next),month_caption:s("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",x.month_caption),dropdowns:s("flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",x.dropdowns),dropdown_root:s("has-focus:border-ring border-input has-focus:ring-ring/50 relative rounded-md border shadow-xs has-focus:ring-[3px]",x.dropdown_root),dropdown:s("bg-popover absolute inset-0 opacity-0",x.dropdown),caption_label:s("font-medium select-none","label"===m?"text-sm":"[&>svg]:text-muted-foreground flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5",x.caption_label),table:"w-full border-collapse",weekdays:s("flex",x.weekdays),weekday:s("text-muted-foreground flex-1 rounded-md text-[0.8rem] font-normal select-none",x.weekday),week:s("mt-2 flex w-full",x.week),week_number_header:s("w-(--cell-size) select-none",x.week_number_header),week_number:s("text-muted-foreground text-[0.8rem] select-none",x.week_number),day:s("group/day relative aspect-square h-full w-full p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-md",b.showWeekNumber?"[&:nth-child(2)[data-selected=true]_button]:rounded-l-md":"[&:first-child[data-selected=true]_button]:rounded-l-md",x.day),range_start:s("bg-accent rounded-l-md",x.range_start),range_middle:s("rounded-none",x.range_middle),range_end:s("bg-accent rounded-r-md",x.range_end),today:s("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",x.today),outside:s("text-muted-foreground aria-selected:text-muted-foreground",x.outside),disabled:s("text-muted-foreground opacity-50",x.disabled),hidden:s("invisible",x.hidden),...u},components:{Root:({className:t,rootRef:r,...a})=>e("div",{"data-slot":"calendar",ref:r,className:s(t),...a}),Chevron:({className:o,orientation:n,...d})=>e("left"===n?t:"right"===n?r:a,{className:s("size-4",o),...d}),DayButton:c,WeekNumber:({children:t,...r})=>e("td",{...r,children:e("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:t})}),...f},...b})}function c({className:t,day:r,modifiers:a,...d}){const l=n(),i=o.useRef(null);return o.useEffect(()=>{a.focused&&i.current?.focus()},[a.focused]),e(u,{ref:i,variant:"ghost",size:"icon","data-day":r.date.toLocaleDateString(),"data-selected-single":a.selected&&!a.range_start&&!a.range_end&&!a.range_middle,"data-range-start":a.range_start,"data-range-end":a.range_end,"data-range-middle":a.range_middle,className:s("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70",l.day,t),...d})}export{i as Calendar,c as CalendarDayButton};
@@ -0,0 +1,28 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ContextMenu as ContextMenu$1 } from '@base-ui/react/context-menu';
3
+ import * as React from 'react';
4
+
5
+ declare function ContextMenu({ ...props }: ContextMenu$1.Root.Props): react_jsx_runtime.JSX.Element;
6
+ declare function ContextMenuPortal({ ...props }: ContextMenu$1.Portal.Props): react_jsx_runtime.JSX.Element;
7
+ declare function ContextMenuTrigger({ ...props }: ContextMenu$1.Trigger.Props): react_jsx_runtime.JSX.Element;
8
+ declare function ContextMenuContent({ align, alignOffset, side, sideOffset, className, ...props }: ContextMenu$1.Popup.Props & Pick<ContextMenu$1.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'>): react_jsx_runtime.JSX.Element;
9
+ declare function ContextMenuGroup({ ...props }: ContextMenu$1.Group.Props): react_jsx_runtime.JSX.Element;
10
+ declare function ContextMenuLabel({ className, inset, ...props }: ContextMenu$1.GroupLabel.Props & {
11
+ inset?: boolean;
12
+ }): react_jsx_runtime.JSX.Element;
13
+ declare function ContextMenuItem({ className, inset, variant, ...props }: ContextMenu$1.Item.Props & {
14
+ inset?: boolean;
15
+ variant?: 'default' | 'destructive';
16
+ }): react_jsx_runtime.JSX.Element;
17
+ declare function ContextMenuSub({ ...props }: ContextMenu$1.SubmenuRoot.Props): react_jsx_runtime.JSX.Element;
18
+ declare function ContextMenuSubTrigger({ className, inset, children, ...props }: ContextMenu$1.SubmenuTrigger.Props & {
19
+ inset?: boolean;
20
+ }): react_jsx_runtime.JSX.Element;
21
+ declare function ContextMenuSubContent({ align, alignOffset, side, sideOffset, className, ...props }: React.ComponentProps<typeof ContextMenuContent>): react_jsx_runtime.JSX.Element;
22
+ declare function ContextMenuCheckboxItem({ className, children, checked, ...props }: ContextMenu$1.CheckboxItem.Props): react_jsx_runtime.JSX.Element;
23
+ declare function ContextMenuRadioGroup({ ...props }: ContextMenu$1.RadioGroup.Props): react_jsx_runtime.JSX.Element;
24
+ declare function ContextMenuRadioItem({ className, children, ...props }: ContextMenu$1.RadioItem.Props): react_jsx_runtime.JSX.Element;
25
+ declare function ContextMenuSeparator({ className, ...props }: ContextMenu$1.Separator.Props): react_jsx_runtime.JSX.Element;
26
+ declare function ContextMenuShortcut({ className, ...props }: React.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
27
+
28
+ export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger };
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{ContextMenu as n}from"@base-ui/react/context-menu";import{CheckIcon as a,ChevronRightIcon as o}from"lucide-react";import{cn as s}from"../../lib/utils/cn.js";function r({...t}){return e(n.Root,{"data-slot":"context-menu",...t})}function i({...t}){return e(n.Portal,{"data-slot":"context-menu-portal",...t})}function c({...t}){return e(n.Trigger,{"data-slot":"context-menu-trigger",...t})}function d({align:t="start",alignOffset:a=0,side:o="bottom",sideOffset:r=4,className:i,...c}){return e(n.Portal,{children:e(n.Positioner,{className:"isolate z-50 outline-none",align:t,alignOffset:a,side:o,sideOffset:r,children:e(n.Popup,{"data-slot":"context-menu-content",className:s("popup-animate ring-foreground/10 bg-popover text-popover-foreground z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 overflow-x-hidden overflow-y-auto rounded-lg py-2 shadow-md ring-1 outline-none data-closed:overflow-hidden",i),...c})})})}function u({...t}){return e(n.Group,{"data-slot":"context-menu-group",...t})}function l({className:t,inset:a,...o}){return e(n.GroupLabel,{"data-slot":"context-menu-label","data-inset":a,className:s("text-muted-foreground px-3 py-1 text-xs font-medium data-[inset]:pl-8",t),...o})}function m({className:t,inset:a,variant:o="default",...r}){return e(n.Item,{"data-slot":"context-menu-item","data-inset":a,"data-variant":o,className:s("focus:bg-accent data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground group/context-menu-item relative flex cursor-default items-center gap-1.5 px-3 py-[6px] text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...r})}function f({...t}){return e(n.SubmenuRoot,{"data-slot":"context-menu-sub",...t})}function p({className:a,inset:r,children:i,...c}){return t(n.SubmenuTrigger,{"data-slot":"context-menu-sub-trigger","data-inset":r,className:s("focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-popup-open:bg-accent data-popup-open:text-accent-foreground flex cursor-default items-center gap-1.5 px-3 py-[6px] text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),...c,children:[i,e(o,{className:"ml-auto"})]})}function g({align:t="start",alignOffset:n=-3,side:a="right",sideOffset:o=0,className:r,...i}){return e(d,{"data-slot":"context-menu-sub-content",className:s("popup-animate ring-foreground/10 bg-popover text-popover-foreground w-auto min-w-[96px] rounded-lg py-2 shadow-lg ring-1 duration-100",r),align:t,alignOffset:n,side:a,sideOffset:o,...i})}function x({className:o,children:r,checked:i,...c}){return t(n.CheckboxItem,{"data-slot":"context-menu-checkbox-item",className:s("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 px-3 py-[6px] pr-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",o),checked:i,...c,children:[e("span",{className:"pointer-events-none absolute right-2 flex items-center justify-center","data-slot":"context-menu-checkbox-item-indicator",children:e(n.CheckboxItemIndicator,{children:e(a,{})})}),r]})}function v({...t}){return e(n.RadioGroup,{"data-slot":"context-menu-radio-group",...t})}function h({className:o,children:r,...i}){return t(n.RadioItem,{"data-slot":"context-menu-radio-item",className:s("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 py-[6px] pr-8 pl-3 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",o),...i,children:[e("span",{className:"pointer-events-none absolute right-2 flex items-center justify-center","data-slot":"context-menu-radio-item-indicator",children:e(n.RadioItemIndicator,{children:e(a,{})})}),r]})}function b({className:t,...a}){return e(n.Separator,{"data-slot":"context-menu-separator",className:s("bg-border -mx-1 my-1 h-px",t),...a})}function N({className:t,...n}){return e("span",{"data-slot":"context-menu-shortcut",className:s("text-muted-foreground group-focus/context-menu-item:text-accent-foreground ml-auto text-xs tracking-widest",t),...n})}export{r as ContextMenu,x as ContextMenuCheckboxItem,d as ContextMenuContent,u as ContextMenuGroup,m as ContextMenuItem,l as ContextMenuLabel,i as ContextMenuPortal,v as ContextMenuRadioGroup,h as ContextMenuRadioItem,b as ContextMenuSeparator,N as ContextMenuShortcut,f as ContextMenuSub,g as ContextMenuSubContent,p as ContextMenuSubTrigger,c as ContextMenuTrigger};
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{jsxs as t,jsx as e}from"react/jsx-runtime";import{format as r}from"date-fns";import*as o from"react";import{LuCalendarFold as a}from"react-icons/lu";import{cn as s}from"../../lib/utils/cn.js";import{Button as m}from"../button/button.js";import{Calendar as i}from"../calendar/calendar.js";import{Popover as n,PopoverTrigger as c,PopoverContent as l}from"../popover/popover.js";import"lucide-react";import{Text as d}from"../text/text.js";const p=p=>{const{selectedDate:f,className:u,triggerClassName:j,onApply:x}=p,[y,g]=o.useState();o.useEffect(()=>{g(f?new Date(f):void 0)},[f]);return t(n,{children:[t(c,{render:e(m,{variant:"secondary",className:s("w-[240px] justify-start text-left font-normal",!y&&"text-muted-foreground",j)}),children:[e(a,{className:"mr-1 h-4 w-4"}),y?r(y,"PPP"):e(d,{children:"Выберите дату"})]}),e(l,{className:s("w-auto p-0",u),align:"start",children:e(i,{mode:"single",selected:y,onSelect:t=>{g(t),x?.(t?r(t,"yyyy-MM-dd"):void 0)},autoFocus:!0})})]})};export{p as DatePicker};
2
+ import{jsxs as t,jsx as o}from"react/jsx-runtime";import{format as e}from"date-fns";import*as r from"react";import{LuCalendarFold as a}from"react-icons/lu";import{cn as s}from"../../lib/utils/cn.js";import{Button as i}from"../button/button.js";import"copy-to-clipboard";import"lucide-react";import"../tooltip/tooltip.js";import{Calendar as m}from"../calendar/calendar.js";import{Popover as c,PopoverTrigger as l,PopoverContent as n}from"../popover/popover.js";import{Text as p}from"../text/text.js";const d=d=>{const{selectedDate:f,className:u,triggerClassName:j,onApply:y}=d,[x,g]=r.useState();r.useEffect(()=>{g(f?new Date(f):void 0)},[f]);return t(c,{children:[t(l,{render:o(i,{variant:"secondary",className:s("w-[240px] justify-start text-left font-normal",!x&&"text-muted-foreground",j)}),children:[o(a,{className:"mr-1 h-4 w-4"}),x?e(x,"PPP"):o(p,{children:"Выберите дату"})]}),o(n,{className:s("w-auto p-0",u),align:"start",children:o(m,{mode:"single",selected:x,onSelect:t=>{g(t),y?.(t?e(t,"yyyy-MM-dd"):void 0)},autoFocus:!0})})]})};export{d as DatePicker};
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import{format as o,subDays as t}from"date-fns";import{useState as a,useEffect as n}from"react";import{LuCalendarFold as i}from"react-icons/lu";import{cn as l}from"../../lib/utils/cn.js";import{Button as s}from"../button/button.js";import{Calendar as d}from"../calendar/calendar.js";import{Popover as m,PopoverTrigger as c,PopoverContent as f}from"../popover/popover.js";import"lucide-react";const y=y=>{const{className:p,datesRange:u,withDatesMacroses:M,triggerClassName:h,render:v,onApply:w,...g}=y,[N,x]=a(!1),[k,C]=a();n(()=>{C({from:u?.from?new Date(u?.from):void 0,to:u?.to?new Date(u?.to):void 0})},[u]);const j=e=>{const r=new Date;let a=new Date(r);"week"===e&&(a=t(r,6)),"month"===e&&(a=t(r,30)),"year"===e&&(a=t(r,365)),w({from:o(a,"yyyy-MM-dd"),to:o(r,"yyyy-MM-dd")}),x(!1)};return e("div",{className:l("grid gap-2",p),children:r(m,{open:N,onOpenChange:x,children:[r(c,{render:v??e(s,{id:"date",variant:"secondary",className:l("justify-start text-left font-normal",!u&&"text-muted-foreground",h)}),children:[e(i,{}),k?.from?k.to?`${o(k.from,"dd MMM yyyy")} - ${o(k.to,"dd MMM yyyy")}`:o(k.from,"dd MMM yyyy"):"Укажите даты"]}),e(f,{className:"w-fit p-0",align:"start",children:r("div",{className:"flex w-full flex-col",children:[M&&r("div",{className:"flex w-full items-center gap-2 p-3",children:[e(s,{size:"sm",variant:"secondary",onClick:()=>j("week"),children:"7 дней"}),e(s,{size:"sm",variant:"secondary",onClick:()=>j("month"),children:"30 дней"}),e(s,{size:"sm",variant:"secondary",onClick:()=>j("year"),children:"Год"})]}),e(d,{...g,autoFocus:!0,mode:"range",defaultMonth:k?.from,selected:k,onSelect:C,numberOfMonths:2}),r("div",{className:"flex w-full gap-3 p-3",children:[e(s,{className:"w-full",onClick:()=>{w(void 0),x(!1)},variant:"outline",size:"sm",children:"Сбросить период"}),e(s,{variant:"default_invert",disabled:!k?.from||!k.to,className:"w-full",onClick:()=>{w({from:o(k.from,"yyyy-MM-dd"),to:o(k.to,"yyyy-MM-dd")}),x(!1)},size:"sm",children:"Применить"})]})]})})]})})};export{y as DateRangePicker};
2
+ import{jsx as e,jsxs as o}from"react/jsx-runtime";import{format as r,subDays as t}from"date-fns";import{useState as a,useEffect as n}from"react";import{LuCalendarFold as i}from"react-icons/lu";import{cn as l}from"../../lib/utils/cn.js";import{Button as s}from"../button/button.js";import{Calendar as d}from"../calendar/calendar.js";import{Popover as m,PopoverTrigger as c,PopoverContent as f}from"../popover/popover.js";import"lucide-react";import"copy-to-clipboard";import"../tooltip/tooltip.js";const y=y=>{const{className:p,datesRange:u,withDatesMacroses:M,triggerClassName:h,render:v,onApply:w,...g}=y,[N,x]=a(!1),[j,k]=a();n(()=>{k({from:u?.from?new Date(u?.from):void 0,to:u?.to?new Date(u?.to):void 0})},[u]);const C=e=>{const o=new Date;let a=new Date(o);"week"===e&&(a=t(o,6)),"month"===e&&(a=t(o,30)),"year"===e&&(a=t(o,365)),w({from:r(a,"yyyy-MM-dd"),to:r(o,"yyyy-MM-dd")}),x(!1)};return e("div",{className:l("grid gap-2",p),children:o(m,{open:N,onOpenChange:x,children:[o(c,{render:v??e(s,{id:"date",variant:"secondary",className:l("justify-start text-left font-normal",!u&&"text-muted-foreground",h)}),children:[e(i,{}),j?.from?j.to?`${r(j.from,"dd MMM yyyy")} - ${r(j.to,"dd MMM yyyy")}`:r(j.from,"dd MMM yyyy"):"Укажите даты"]}),e(f,{className:"w-fit p-0",align:"start",children:o("div",{className:"flex w-full flex-col",children:[M&&o("div",{className:"flex w-full items-center gap-2 p-3",children:[e(s,{size:"sm",variant:"secondary",onClick:()=>C("week"),children:"7 дней"}),e(s,{size:"sm",variant:"secondary",onClick:()=>C("month"),children:"30 дней"}),e(s,{size:"sm",variant:"secondary",onClick:()=>C("year"),children:"Год"})]}),e(d,{...g,autoFocus:!0,mode:"range",defaultMonth:j?.from,selected:j,onSelect:k,numberOfMonths:2}),o("div",{className:"flex w-full gap-3 p-3",children:[e(s,{className:"w-full",onClick:()=>{w(void 0),x(!1)},variant:"outline",size:"sm",children:"Сбросить период"}),e(s,{variant:"default_invert",disabled:!j?.from||!j.to,className:"w-full",onClick:()=>{w({from:r(j.from,"yyyy-MM-dd"),to:r(j.to,"yyyy-MM-dd")}),x(!1)},size:"sm",children:"Применить"})]})]})})]})})};export{y as DateRangePicker};
@@ -10,10 +10,11 @@ declare function DialogTrigger(props: Dialog$1.Trigger.Props): react_jsx_runtime
10
10
  declare function DialogClose(props: Dialog$1.Close.Props): react_jsx_runtime.JSX.Element;
11
11
  declare function DialogOverlay({ className, ...props }: Dialog$1.Backdrop.Props): react_jsx_runtime.JSX.Element;
12
12
  declare function DialogViewport({ className, ...props }: Dialog$1.Viewport.Props): react_jsx_runtime.JSX.Element;
13
- declare function DialogContent({ className, children, contentRef, radixClassName, bottomStickOnMobile, hideCloseButton, ...props }: Dialog$1.Popup.Props & {
13
+ declare function DialogContent({ className, children, contentRef, radixClassName, bottomStickOnMobile, hideCloseButton, animateVariant, ...props }: Dialog$1.Popup.Props & {
14
14
  hideCloseButton?: boolean;
15
15
  bottomStickOnMobile?: boolean;
16
16
  radixClassName?: string;
17
+ animateVariant?: 'scale' | 'slide';
17
18
  contentRef?: React.Ref<HTMLDivElement | null>;
18
19
  }): react_jsx_runtime.JSX.Element;
19
20
  declare function DialogHeader({ className, pin, ...props }: React.ComponentProps<'div'> & {
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import{Dialog as o}from"@base-ui/react/dialog";import{XIcon as t}from"lucide-react";import*as s from"react";import{cn as l}from"../../lib/utils/cn.js";import{Button as n}from"../button/button.js";const d=o.createHandle,r=o.Root,i=o.Portal;function c(a){return e(o.Trigger,{"data-slot":"dialog-trigger",...a})}function m(a){return e(o.Close,{"data-slot":"dialog-close",...a,tabIndex:-1})}function u({className:a,...t}){return e(o.Backdrop,{className:l("data-[closed]:animate-out data-[open]:animate-in data-[closed]:fade-out-0 data-[open]:fade-in-0 fixed inset-0 z-50 bg-black/32 backdrop-blur-sm data-[closed]:duration-200 data-[closed]:ease-in-out data-[open]:duration-200 data-[open]:ease-in-out",a),"data-slot":"dialog-backdrop",...t})}function x({className:a,...t}){return e(o.Viewport,{className:l("fixed inset-0 top-0 left-0 z-50 flex flex-col items-center justify-center overflow-hidden p-4",a),"data-slot":"dialog-viewport",...t})}function p({className:d,children:r,contentRef:c,radixClassName:m,bottomStickOnMobile:p=!0,hideCloseButton:f=!1,...g}){const b=s.useRef(null);return a(i,{children:[e(u,{}),e(x,{className:l(p&&"max-xs:grid-rows-[1fr_auto] max-xs:p-0 max-xs:pt-12"),children:a(o.Popup,{ref:b,initialFocus:!0,className:l("bg-dialog text-popover-foreground border-background xs:max-h-[94%] data-[closed]:animate-out data-[open]:animate-in data-[closed]:fade-out-0 data-[open]:fade-in-0 data-[closed]:zoom-out-98 data-[open]:zoom-in-98 data-[nested]:data-[closed]:slide-out-to-bottom-8 data-[nested]:data-[open]:slide-in-from-bottom-8 fixed flex max-h-[98%] min-h-0 w-full max-w-[calc(100%-2rem)] min-w-0 -translate-y-[calc(1.25rem*var(--nested-dialogs))] scale-[calc(1-0.1*var(--nested-dialogs))] flex-col gap-3 overflow-hidden rounded-3xl border opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 will-change-transform not-dark:bg-clip-padding before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/6%)] focus:outline-none focus-visible:outline-none data-nested-dialog-open:origin-top data-[closed]:duration-200 data-[closed]:ease-in-out data-[open]:duration-200 data-[open]:ease-in-out sm:max-w-lg dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",p&&"max-xs:max-w-none max-xs:rounded-none max-xs:border-x-0 max-xs:border-t max-xs:border-b-0 max-xs:opacity-[calc(1-min(var(--nested-dialogs),1))] max-xs:before:hidden max-xs:before:rounded-none max-xs:data-[closed]:slide-out-to-bottom-4 max-xs:data-[open]:slide-in-from-bottom-4",m),"data-slot":"dialog-popup",...g,children:[e("div",{ref:c,className:l("flex h-full w-full flex-col gap-2 overflow-y-auto",d),children:r}),!f&&a(o.Close,{"aria-label":"Close",className:"absolute top-[25px] right-[25px] rounded-md [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",render:e(n,{variant:"secondary",className:"h-auto rounded-md p-[6px]"}),children:[e(t,{className:"xs:size-4 size-5"}),e("span",{className:"sr-only",children:"Close"})]})]})})]})}function f({className:a,pin:o,...t}){return e("div",{"data-slot":"dialog-header",className:l("bg-background flex flex-col rounded-b-3xl p-[30px] text-left",{"outline-dialog sticky top-0 left-0 outline-[8px]":o},a),...t})}function g({className:a,...o}){return e("div",{className:l("bg-background rounded-3xl p-[30px]",a),...o})}function b({className:a,pin:o,...t}){return e("div",{"data-slot":"dialog-footer",className:l("bg-background flex flex-col-reverse gap-2 rounded-t-3xl p-[30px] sm:flex-row sm:justify-end",{"outline-dialog sticky bottom-0 left-0 outline-[8px]":o},a),...t})}function h({className:a,...t}){return e(o.Title,{"data-slot":"dialog-title",className:l("line-clamp-2 pr-5 text-xl leading-tight font-medium break-words text-ellipsis",a),...t})}function N({className:a,...t}){return e(o.Description,{"data-slot":"dialog-description",className:l("text-muted-foreground mt-2 text-sm",a),...t})}export{r as Dialog,m as DialogClose,p as DialogContent,g as DialogContentSection,d as DialogCreateHandle,N as DialogDescription,b as DialogFooter,f as DialogHeader,u as DialogOverlay,i as DialogPortal,h as DialogTitle,c as DialogTrigger,x as DialogViewport};
2
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import{Dialog as o}from"@base-ui/react/dialog";import{XIcon as t}from"lucide-react";import*as l from"react";import{cn as s}from"../../lib/utils/cn.js";import{Button as n}from"../button/button.js";import"copy-to-clipboard";import"../tooltip/tooltip.js";import{ScrollArea as d}from"../scroll-area/scroll-area.js";import{VStack as r}from"../stack/stack.js";const i=o.createHandle,c=o.Root,m=o.Portal;function u(a){return e(o.Trigger,{"data-slot":"dialog-trigger",...a})}function p(a){return e(o.Close,{"data-slot":"dialog-close",...a,tabIndex:-1})}function x({className:a,...t}){return e(o.Backdrop,{className:s("data-[closed]:animate-out data-[open]:animate-in data-[closed]:fade-out-0 data-[open]:fade-in-0 fixed inset-0 z-50 bg-black/32 backdrop-blur-sm data-[closed]:pointer-events-none data-[closed]:duration-200 data-[closed]:ease-in-out data-[open]:duration-200 data-[open]:ease-in-out",a),"data-slot":"dialog-backdrop",...t})}function f({className:a,...t}){return e(o.Viewport,{className:s("fixed inset-0 top-0 left-0 z-50 flex flex-col items-center justify-center overflow-hidden p-4",a),"data-slot":"dialog-viewport",...t})}function b({className:i,children:c,contentRef:u,radixClassName:p,bottomStickOnMobile:b=!0,hideCloseButton:g=!1,animateVariant:h="slide",...v}){const w=l.useRef(null);return a(m,{children:[e(x,{}),e(f,{className:s(b&&"max-xs:grid-rows-[1fr_auto] max-xs:p-0 max-xs:pt-12"),children:a(o.Popup,{ref:w,initialFocus:!0,className:s("bg-dialog text-popover-foreground border-background xs:max-h-[94%] data-[closed]:animate-out data-[open]:animate-in data-[closed]:fade-out-0 data-[open]:fade-in-0 fixed flex max-h-[98%] min-h-0 w-full max-w-[calc(100%-2rem)] min-w-0 -translate-y-[calc(1.25rem*var(--nested-dialogs))] scale-[calc(1-0.1*var(--nested-dialogs))] flex-col gap-3 overflow-hidden rounded-3xl border opacity-[calc(1-0.1*var(--nested-dialogs))] shadow-lg/5 will-change-transform not-dark:bg-clip-padding before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-2xl)-1px)] before:shadow-[0_1px_--theme(--color-black/6%)] focus:outline-none focus-visible:outline-none data-nested-dialog-open:origin-top data-[closed]:pointer-events-none data-[closed]:duration-200 data-[closed]:ease-in-out data-[open]:duration-200 data-[open]:ease-in-out sm:max-w-lg dark:before:shadow-[0_-1px_--theme(--color-white/6%)]","data-[nested]:data-[closed]:slide-out-to-bottom-8 data-[nested]:data-[open]:slide-in-from-bottom-8","scale"===h&&"data-[closed]:zoom-out-98 data-[open]:zoom-in-98","slide"===h&&"data-[closed]:slide-out-to-bottom-8 data-[open]:slide-in-from-bottom-8",b&&"max-xs:max-w-none max-xs:rounded-none max-xs:border-x-0 max-xs:border-t max-xs:border-b-0 max-xs:opacity-[calc(1-min(var(--nested-dialogs),1))] max-xs:before:hidden max-xs:before:rounded-none max-xs:data-[closed]:slide-out-to-bottom-4 max-xs:data-[open]:slide-in-from-bottom-4",p),"data-slot":"dialog-popup",...v,children:[e(d,{viewportRef:u,viewportProps:{tabIndex:-1},className:s("flex h-full w-full flex-col gap-2",i),children:e(r,{children:c})}),!g&&a(o.Close,{"aria-label":"Close",className:"absolute top-[25px] right-[25px] rounded-md [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",render:e(n,{variant:"secondary",className:"h-auto rounded-md p-[6px]"}),children:[e(t,{className:"xs:size-4 size-5"}),e("span",{className:"sr-only",children:"Close"})]})]})})]})}function g({className:a,pin:o,...t}){return e("div",{"data-slot":"dialog-header",className:s("bg-background flex w-full flex-col rounded-b-3xl p-[30px] text-left",{"outline-dialog sticky top-0 left-0 outline-[8px]":o},a),...t})}function h({className:a,...o}){return e("div",{className:s("bg-background w-full rounded-3xl p-[30px]",a),...o})}function v({className:a,pin:o,...t}){return e("div",{"data-slot":"dialog-footer",className:s("bg-background flex w-full flex-col-reverse gap-2 rounded-t-3xl p-[30px] sm:flex-row sm:justify-end",{"outline-dialog sticky bottom-0 left-0 outline-[8px]":o},a),...t})}function w({className:a,...t}){return e(o.Title,{"data-slot":"dialog-title",className:s("line-clamp-2 pr-5 text-xl leading-tight font-medium break-words text-ellipsis",a),...t})}function N({className:a,...t}){return e(o.Description,{"data-slot":"dialog-description",className:s("text-muted-foreground mt-2 text-sm",a),...t})}export{c as Dialog,p as DialogClose,b as DialogContent,h as DialogContentSection,i as DialogCreateHandle,N as DialogDescription,v as DialogFooter,g as DialogHeader,x as DialogOverlay,m as DialogPortal,w as DialogTitle,u as DialogTrigger,f as DialogViewport};
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Menu as n}from"@base-ui/react/menu";import{CheckIcon as o,ChevronRightIcon as a}from"lucide-react";import{cn as r}from"../../lib/utils/cn.js";function s({modal:t=!1,...o}){return e(n.Root,{modal:t,"data-slot":"dropdown-menu",...o})}function d({...t}){return e(n.Portal,{"data-slot":"dropdown-menu-portal",...t})}function i({...t}){return e(n.Trigger,{"data-slot":"dropdown-menu-trigger",...t})}function c({align:t="start",alignOffset:o=0,side:a="bottom",sideOffset:s=4,className:d,...i}){return e(n.Portal,{children:e(n.Positioner,{className:"isolate z-50 outline-none",align:t,alignOffset:o,side:a,sideOffset:s,children:e(n.Popup,{"data-slot":"dropdown-menu-content",className:r("popup-animate ring-foreground/10 bg-popover text-popover-foreground z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 overflow-x-hidden overflow-y-auto rounded-lg py-2 shadow-md ring-1 outline-none data-closed:overflow-hidden",d),...i})})})}function u({...t}){return e(n.Group,{"data-slot":"dropdown-menu-group",...t})}function l({className:t,inset:o,...a}){return e(n.GroupLabel,{"data-slot":"dropdown-menu-label","data-inset":o,className:r("text-muted-foreground px-3 py-2 text-xs font-medium data-[inset]:pl-8",t),...a})}function p({className:t,inset:o,variant:a="default",...s}){return e(n.Item,{"data-slot":"dropdown-menu-item","data-inset":o,"data-variant":a,className:r("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 px-3 py-[6px] text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...s})}function m({...t}){return e(n.SubmenuRoot,{"data-slot":"dropdown-menu-sub",...t})}function f({className:o,inset:s,children:d,...i}){return t(n.SubmenuTrigger,{"data-slot":"dropdown-menu-sub-trigger","data-inset":s,className:r("focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-popup-open:bg-accent data-popup-open:text-accent-foreground flex cursor-default items-center gap-1.5 px-3 py-[6px] text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",o),...i,children:[d,e(a,{className:"ml-auto"})]})}function g({align:t="start",alignOffset:n=-3,side:o="right",sideOffset:a=0,className:s,...d}){return e(c,{"data-slot":"dropdown-menu-sub-content",className:r("popup-animate ring-foreground/10 bg-popover text-popover-foreground w-auto min-w-[96px] rounded-lg py-2 shadow-lg ring-1 duration-100",s),align:t,alignOffset:n,side:o,sideOffset:a,...d})}function v({className:a,children:s,checked:d,...i}){return t(n.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item",className:r("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 px-3 py-[6px] pr-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),checked:d,...i,children:[e("span",{className:"pointer-events-none absolute right-2 flex items-center justify-center","data-slot":"dropdown-menu-checkbox-item-indicator",children:e(n.CheckboxItemIndicator,{children:e(o,{})})}),s]})}function x({...t}){return e(n.RadioGroup,{"data-slot":"dropdown-menu-radio-group",...t})}function h({className:a,children:s,...d}){return t(n.RadioItem,{"data-slot":"dropdown-menu-radio-item",className:r("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 py-[6px] pr-8 pl-3 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),...d,children:[e("span",{className:"pointer-events-none absolute right-2 flex items-center justify-center","data-slot":"dropdown-menu-radio-item-indicator",children:e(n.RadioItemIndicator,{children:e(o,{})})}),s]})}function b({className:t,...o}){return e(n.Separator,{"data-slot":"dropdown-menu-separator",className:r("bg-border -mx-1 my-1 h-px",t),...o})}function w({className:t,...n}){return e("span",{"data-slot":"dropdown-menu-shortcut",className:r("text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest",t),...n})}export{s as DropdownMenu,v as DropdownMenuCheckboxItem,c as DropdownMenuContent,u as DropdownMenuGroup,p as DropdownMenuItem,l as DropdownMenuLabel,d as DropdownMenuPortal,x as DropdownMenuRadioGroup,h as DropdownMenuRadioItem,b as DropdownMenuSeparator,w as DropdownMenuShortcut,m as DropdownMenuSub,g as DropdownMenuSubContent,f as DropdownMenuSubTrigger,i as DropdownMenuTrigger};
2
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Menu as n}from"@base-ui/react/menu";import{CheckIcon as o,ChevronRightIcon as a}from"lucide-react";import{cn as r}from"../../lib/utils/cn.js";function s({modal:t=!1,...o}){return e(n.Root,{modal:t,"data-slot":"dropdown-menu",...o})}function d({...t}){return e(n.Portal,{"data-slot":"dropdown-menu-portal",...t})}function i({...t}){return e(n.Trigger,{"data-slot":"dropdown-menu-trigger",...t})}function c({align:t="start",alignOffset:o=0,side:a="bottom",sideOffset:s=4,className:d,...i}){return e(n.Portal,{children:e(n.Positioner,{className:"isolate z-50 outline-none",align:t,alignOffset:o,side:a,sideOffset:s,children:e(n.Popup,{"data-slot":"dropdown-menu-content",className:r("popup-animate ring-foreground/10 bg-popover text-popover-foreground z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 overflow-x-hidden overflow-y-auto rounded-lg py-2 shadow-md ring-1 outline-none data-closed:overflow-hidden",d),...i})})})}function u({...t}){return e(n.Group,{"data-slot":"dropdown-menu-group",...t})}function l({className:t,inset:o,...a}){return e(n.GroupLabel,{"data-slot":"dropdown-menu-label","data-inset":o,className:r("text-muted-foreground px-3 py-1 text-xs font-medium data-[inset]:pl-8",t),...a})}function p({className:t,inset:o,variant:a="default",...s}){return e(n.Item,{"data-slot":"dropdown-menu-item","data-inset":o,"data-variant":a,className:r("focus:bg-accent data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 px-3 py-[6px] text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...s})}function m({...t}){return e(n.SubmenuRoot,{"data-slot":"dropdown-menu-sub",...t})}function f({className:o,inset:s,children:d,...i}){return t(n.SubmenuTrigger,{"data-slot":"dropdown-menu-sub-trigger","data-inset":s,className:r("focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-popup-open:bg-accent data-popup-open:text-accent-foreground flex cursor-default items-center gap-1.5 px-3 py-[6px] text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",o),...i,children:[d,e(a,{className:"ml-auto"})]})}function g({align:t="start",alignOffset:n=-3,side:o="right",sideOffset:a=0,className:s,...d}){return e(c,{"data-slot":"dropdown-menu-sub-content",className:r("popup-animate ring-foreground/10 bg-popover text-popover-foreground w-auto min-w-[96px] rounded-lg py-2 shadow-lg ring-1 duration-100",s),align:t,alignOffset:n,side:o,sideOffset:a,...d})}function v({className:a,children:s,checked:d,...i}){return t(n.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item",className:r("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 px-3 py-[6px] pr-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),checked:d,...i,children:[e("span",{className:"pointer-events-none absolute right-2 flex items-center justify-center","data-slot":"dropdown-menu-checkbox-item-indicator",children:e(n.CheckboxItemIndicator,{children:e(o,{})})}),s]})}function x({...t}){return e(n.RadioGroup,{"data-slot":"dropdown-menu-radio-group",...t})}function h({className:a,children:s,...d}){return t(n.RadioItem,{"data-slot":"dropdown-menu-radio-item",className:r("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 py-[6px] pr-8 pl-3 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),...d,children:[e("span",{className:"pointer-events-none absolute right-2 flex items-center justify-center","data-slot":"dropdown-menu-radio-item-indicator",children:e(n.RadioItemIndicator,{children:e(o,{})})}),s]})}function b({className:t,...o}){return e(n.Separator,{"data-slot":"dropdown-menu-separator",className:r("bg-border -mx-1 my-1 h-px",t),...o})}function w({className:t,...n}){return e("span",{"data-slot":"dropdown-menu-shortcut",className:r("text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest",t),...n})}export{s as DropdownMenu,v as DropdownMenuCheckboxItem,c as DropdownMenuContent,u as DropdownMenuGroup,p as DropdownMenuItem,l as DropdownMenuLabel,d as DropdownMenuPortal,x as DropdownMenuRadioGroup,h as DropdownMenuRadioItem,b as DropdownMenuSeparator,w as DropdownMenuShortcut,m as DropdownMenuSub,g as DropdownMenuSubContent,f as DropdownMenuSubTrigger,i as DropdownMenuTrigger};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{Input as i}from"@base-ui/react/input";import{cn as r}from"../../lib/utils/cn.js";function t({className:t,type:n,...o}){return e(i,{type:n,"data-slot":"input",className:r("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-10 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 sm:text-sm","focus-visible:border-ring focus-visible:ring-ring/20 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",t),...o})}export{t as Input};
1
+ import{jsx as e}from"react/jsx-runtime";import{Input as r}from"@base-ui/react/input";import{cn as t}from"../../lib/utils/cn.js";function i({className:i,type:o,...n}){return e(r,{type:o,"data-slot":"input",autoComplete:"off",className:t("file:text-foreground placeholder:text-muted-foreground hover:bg-secondary/30 dark:hover:bg-input/35 selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-10 w-full min-w-0 rounded-md border-none bg-transparent px-3 py-1 text-base shadow-[inset_0_0_0_1.5px_var(--input)] transition-[border-color,box-shadow,colors] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 sm:text-sm","focus-visible:border-ring focus-visible:bg-transparent focus-visible:shadow-[inset_0_0_0_1.5px_var(--ring)]","aria-invalid:border-destructive aria-invalid:shadow-[inset_0_0_0_1.5px_var(--destructive)]",i),...n})}export{i as Input};
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import{NumberField as a}from"@base-ui/react/number-field";import{MinusIcon as t,PlusIcon as i}from"lucide-react";import*as n from"react";import{cn as s}from"../../lib/utils/cn.js";import{Label as o}from"../label/label.js";const l=n.createContext(null);function c({id:r,className:t,size:i="lg",...o}){const c=n.useId(),d=r??c;return e(l.Provider,{value:{fieldId:d},children:e(a.Root,{className:s("flex w-full flex-col items-start gap-2",t),"data-size":i,"data-slot":"number-field",id:d,...o})})}function d({className:r,...t}){return e(a.Group,{className:s("border-input bg-background text-foreground ring-ring/24 focus-within:border-ring has-aria-invalid:border-destructive/36 focus-within:has-aria-invalid:border-destructive/64 focus-within:has-aria-invalid:ring-destructive/48 dark:bg-input/32 dark:has-aria-invalid:ring-destructive/24 relative flex w-full justify-between rounded-lg border text-base shadow-xs/5 transition-shadow not-dark:bg-clip-padding before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] not-data-disabled:not-focus-within:not-aria-invalid:before:shadow-[0_1px_--theme(--color-black/6%)] focus-within:ring-[3px] data-disabled:pointer-events-none data-disabled:opacity-64 sm:text-sm dark:not-data-disabled:not-focus-within:not-aria-invalid:before:shadow-[0_-1px_--theme(--color-white/6%)] [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [[data-disabled],:focus-within,[aria-invalid]]:shadow-none",r),"data-slot":"number-field-group",...t})}function u({className:r,...i}){return e(a.Decrement,{className:s("hover:bg-accent relative flex shrink-0 cursor-pointer items-center justify-center rounded-s-[calc(var(--radius-lg)-1px)] px-[calc(--spacing(3)-1px)] transition-colors in-data-[size=sm]:px-[calc(--spacing(2.5)-1px)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11",r),"data-slot":"number-field-decrement",...i,children:e(t,{})})}function f({className:r,...t}){return e(a.Increment,{className:s("hover:bg-accent relative flex shrink-0 cursor-pointer items-center justify-center rounded-e-[calc(var(--radius-lg)-1px)] px-[calc(--spacing(3)-1px)] transition-colors in-data-[size=sm]:px-[calc(--spacing(2.5)-1px)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11",r),"data-slot":"number-field-increment",...t,children:e(i,{})})}function m({className:r,...t}){return e(a.Input,{className:s("h-10 w-full min-w-0 grow bg-transparent px-[calc(--spacing(3)-1px)] text-center tabular-nums outline-none",r),"data-slot":"number-field-input",...t})}function p({className:t,label:i,...c}){const d=n.useContext(l);if(!d)throw new Error("NumberFieldScrubArea must be used within a NumberField component for accessibility.");return r(a.ScrubArea,{className:s("flex cursor-ew-resize",t),"data-slot":"number-field-scrub-area",...c,children:[e(o,{className:"cursor-ew-resize",htmlFor:d.fieldId,children:i}),e(a.ScrubAreaCursor,{className:"drop-shadow-[0_1px_1px_#0008] filter",children:e(b,{})})]})}function b(r){return e("svg",{fill:"black",height:"14",stroke:"white",viewBox:"0 0 24 14",width:"26",xmlns:"http://www.w3.org/2000/svg",...r,children:e("path",{d:"M19.5 5.5L6.49737 5.51844V2L1 6.9999L6.5 12L6.49737 8.5L19.5 8.5V12L25 6.9999L19.5 2V5.5Z"})})}export{c as NumberField,u as NumberFieldDecrement,d as NumberFieldGroup,f as NumberFieldIncrement,m as NumberFieldInput,p as NumberFieldScrubArea};
2
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{NumberField as t}from"@base-ui/react/number-field";import{MinusIcon as s,PlusIcon as a}from"lucide-react";import*as n from"react";import{cn as o}from"../../lib/utils/cn.js";import{Label as i}from"../label/label.js";const l=n.createContext(null);function c({id:r,className:s,size:a="lg",...i}){const c=n.useId(),u=r??c;return e(l.Provider,{value:{fieldId:u},children:e(t.Root,{className:o("flex w-full flex-col items-start gap-2",s),"data-size":a,"data-slot":"number-field",id:u,...i})})}function u({className:r,...s}){return e(t.Group,{className:o("text-foreground hover:bg-secondary/30 dark:hover:bg-input/35 dark:bg-input/30 relative flex w-full items-center overflow-hidden rounded-lg border-none bg-transparent p-[2px] text-base shadow-[inset_0_0_0_1.5px_var(--input)] transition-[border-color,box-shadow,colors] outline-none focus-within:shadow-[inset_0_0_0_1.5px_var(--ring)] has-aria-invalid:shadow-[inset_0_0_0_1.5px_var(--destructive)] data-disabled:pointer-events-none data-disabled:opacity-64 sm:text-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4",r),"data-slot":"number-field-group",...s})}function d({className:r,...a}){return e(t.Decrement,{className:o("text-muted-foreground hover:text-foreground relative order-2 flex shrink-0 cursor-pointer items-center justify-center bg-transparent transition-colors pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11",r),"data-slot":"number-field-decrement",...a,children:e(s,{})})}function m({className:r,...s}){return e(t.Increment,{className:o("text-muted-foreground hover:text-foreground relative order-3 flex shrink-0 cursor-pointer items-center justify-center bg-transparent px-[calc(--spacing(2)-1px)] pr-2 transition-colors in-data-[size=sm]:px-[calc(--spacing(1.5)-1px)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11",r),"data-slot":"number-field-increment",...s,children:e(a,{})})}function f({className:r,...s}){return e(t.Input,{className:o("order-1 h-10 w-full min-w-0 grow bg-transparent px-[calc(--spacing(3)-1px)] text-start tabular-nums outline-none",r),"data-slot":"number-field-input",...s})}function p({className:s,label:a,...c}){const u=n.useContext(l);if(!u)throw new Error("NumberFieldScrubArea must be used within a NumberField component for accessibility.");return r(t.ScrubArea,{className:o("flex cursor-ew-resize",s),"data-slot":"number-field-scrub-area",...c,children:[e(i,{className:"cursor-ew-resize",htmlFor:u.fieldId,children:a}),e(t.ScrubAreaCursor,{className:"drop-shadow-[0_1px_1px_#0008] filter",children:e(b,{})})]})}function b(r){return e("svg",{fill:"black",height:"14",stroke:"white",viewBox:"0 0 24 14",width:"26",xmlns:"http://www.w3.org/2000/svg",...r,children:e("path",{d:"M19.5 5.5L6.49737 5.51844V2L1 6.9999L6.5 12L6.49737 8.5L19.5 8.5V12L25 6.9999L19.5 2V5.5Z"})})}export{c as NumberField,d as NumberFieldDecrement,u as NumberFieldGroup,m as NumberFieldIncrement,f as NumberFieldInput,p as NumberFieldScrubArea};
@@ -1 +1 @@
1
- import{jsx as a,jsxs as e,Fragment as i}from"react/jsx-runtime";import{ChevronLeftIcon as s,ChevronRightIcon as n,MoreHorizontalIcon as t}from"lucide-react";import*as l from"react";import{useIsMobile as r}from"../../lib/hooks/useMobile.js";import{cn as o}from"../../lib/utils/cn.js";import{Button as c,buttonVariants as m}from"../button/button.js";function d(t){const{limit:o,offset:m,total:d,className:f,onChange:N}=t,g=r(),x=Math.ceil(d/o),v=0===m?1:x-Math.ceil((d-m)/o)+1,b=l.useCallback(a=>{if(v===a)return;document.body.offsetHeight>window.innerHeight&&window.scrollTo({top:0,left:0,behavior:"smooth"}),N(a)},[v,N]);if(x<=1)return null;const k=g?3:5,z=Math.floor(k/2);let w=Math.max(1,v-z),C=w+k-1;C>x&&(C=x,w=Math.max(1,C-k+1));const M=Array.from({length:C-w+1},(a,e)=>w+e);return a(h,{className:f,children:e(u,{children:[e(c,{variant:"ghost",disabled:1===v,onClick:()=>b(v-1),size:"sm",children:[a(s,{})," ",a("span",{className:"max-md:hidden",children:"Назад"})]}),w>1&&e(i,{children:[a(p,{isActive:1===v,onClick:()=>b(1),className:"max-md:hidden",children:"1"},1),w>2&&a("span",{className:"px-2 max-md:hidden",children:"…"})]}),M.map(e=>a(p,{isActive:e===v,onClick:()=>b(e),children:e},e)),C<x&&e(i,{children:[C<x-1&&a("span",{className:"px-2",children:"…"}),a(p,{isActive:v===x,onClick:()=>b(x),children:x},x)]}),e(c,{variant:"ghost",disabled:v===x,onClick:()=>b(v+1),size:"sm",children:[a("span",{className:"max-md:hidden",children:"Вперед"})," ",a(n,{})]})]})})}function h({className:e,...i}){return a("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:o("mx-auto flex w-full justify-center",e),...i})}function u({className:e,...i}){return a("ul",{"data-slot":"pagination-content",className:o("flex flex-row flex-wrap items-center gap-1",e),...i})}function p({className:e,isActive:i,size:s="icon",...n}){return a("li",{"data-slot":"pagination-item",className:o(m({variant:i?"default_invert":"ghost",size:s}),"cursor-pointer font-medium",e),...n})}function f({className:e,isActive:i,size:s="icon",...n}){return a("a",{"aria-current":i?"page":void 0,"data-slot":"pagination-link","data-active":i,className:o(m({variant:i?"outline":"ghost",size:s}),e),...n})}function N({className:i,...n}){return e(f,{"aria-label":"Go to previous page",size:"default",className:o("gap-1 px-2.5 sm:pl-2.5",i),...n,children:[a(s,{}),a("span",{className:"hidden sm:block",children:"Previous"})]})}function g({className:i,...s}){return e(f,{"aria-label":"Go to next page",size:"default",className:o("gap-1 px-2.5 sm:pr-2.5",i),...s,children:[a("span",{className:"hidden sm:block",children:"Next"}),a(n,{})]})}function x({className:i,...s}){return e("span",{"aria-hidden":!0,"data-slot":"pagination-ellipsis",className:o("flex size-9 items-center justify-center",i),...s,children:[a(t,{className:"size-4"}),a("span",{className:"sr-only",children:"More pages"})]})}export{d as Pagination,u as PaginationContent,x as PaginationEllipsis,p as PaginationItem,f as PaginationLink,g as PaginationNext,N as PaginationPrevious};
1
+ import{jsx as a,jsxs as e,Fragment as i}from"react/jsx-runtime";import{ChevronLeftIcon as s,ChevronRightIcon as t,MoreHorizontalIcon as n}from"lucide-react";import*as l from"react";import{useIsMobile as o}from"../../lib/hooks/useMobile.js";import{cn as r}from"../../lib/utils/cn.js";import{Button as c,buttonVariants as m}from"../button/button.js";import"copy-to-clipboard";import"../tooltip/tooltip.js";function d(n){const{limit:r,offset:m,total:d,className:f,onChange:N}=n,g=o(),x=Math.ceil(d/r),v=0===m?1:x-Math.ceil((d-m)/r)+1,b=l.useCallback(a=>{if(v===a)return;document.body.offsetHeight>window.innerHeight&&window.scrollTo({top:0,left:0,behavior:"smooth"}),N(a)},[v,N]);if(x<=1)return null;const k=g?3:5,z=Math.floor(k/2);let j=Math.max(1,v-z),w=j+k-1;w>x&&(w=x,j=Math.max(1,w-k+1));const C=Array.from({length:w-j+1},(a,e)=>j+e);return a(p,{className:f,children:e(h,{children:[e(c,{variant:"ghost",disabled:1===v,onClick:()=>b(v-1),size:"sm",children:[a(s,{})," ",a("span",{className:"max-md:hidden",children:"Назад"})]}),j>1&&e(i,{children:[a(u,{isActive:1===v,onClick:()=>b(1),className:"max-md:hidden",children:"1"},1),j>2&&a("span",{className:"px-2 max-md:hidden",children:"…"})]}),C.map(e=>a(u,{isActive:e===v,onClick:()=>b(e),children:e},e)),w<x&&e(i,{children:[w<x-1&&a("span",{className:"px-2",children:"…"}),a(u,{isActive:v===x,onClick:()=>b(x),children:x},x)]}),e(c,{variant:"ghost",disabled:v===x,onClick:()=>b(v+1),size:"sm",children:[a("span",{className:"max-md:hidden",children:"Вперед"})," ",a(t,{})]})]})})}function p({className:e,...i}){return a("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:r("mx-auto flex w-full justify-center",e),...i})}function h({className:e,...i}){return a("ul",{"data-slot":"pagination-content",className:r("flex flex-row flex-wrap items-center gap-1",e),...i})}function u({className:e,isActive:i,size:s="icon",...t}){return a("li",{"data-slot":"pagination-item",className:r(m({variant:i?"default_invert":"ghost",size:s}),"cursor-pointer font-medium",e),...t})}function f({className:e,isActive:i,size:s="icon",...t}){return a("a",{"aria-current":i?"page":void 0,"data-slot":"pagination-link","data-active":i,className:r(m({variant:i?"outline":"ghost",size:s}),e),...t})}function N({className:i,...t}){return e(f,{"aria-label":"Go to previous page",size:"default",className:r("gap-1 px-2.5 sm:pl-2.5",i),...t,children:[a(s,{}),a("span",{className:"hidden sm:block",children:"Previous"})]})}function g({className:i,...s}){return e(f,{"aria-label":"Go to next page",size:"default",className:r("gap-1 px-2.5 sm:pr-2.5",i),...s,children:[a("span",{className:"hidden sm:block",children:"Next"}),a(t,{})]})}function x({className:i,...s}){return e("span",{"aria-hidden":!0,"data-slot":"pagination-ellipsis",className:r("flex size-9 items-center justify-center",i),...s,children:[a(n,{className:"size-4"}),a("span",{className:"sr-only",children:"More pages"})]})}export{d as Pagination,h as PaginationContent,x as PaginationEllipsis,u as PaginationItem,f as PaginationLink,g as PaginationNext,N as PaginationPrevious};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as r}from"react/jsx-runtime";import{X as n}from"lucide-react";import o from"react";import{cn as t}from"../../lib/utils/cn.js";import{Button as s}from"../button/button.js";import{Popover as i,PopoverTrigger as c,PopoverClose as p}from"./popover.js";function a({defaultOpen:n,open:t,trigger:s,children:p,canOpen:a=!0,showOnce:m=!0,onOpenChange:u,closeOnOutsidePress:l=!1,closeOnEscape:d=!1,closeOnTriggerPress:f=!1,...g}){const[O,h]=o.useState(!1),[v,b]=o.useState(!1),j=void 0!==t;return o.useEffect(()=>{b(!0)},[]),O||!a?s:e(i,{defaultOpen:n??!1,open:(t||void 0===t)&&v,onOpenChangeComplete:e=>{!e&&m&&h(!0)},onOpenChange:(e,r)=>{if(e&&"trigger-press"!==r.reason)return void u?.(e,r);const n=r?.reason;("close-press"===n||"imperative-action"===n||l&&"outside-press"===n||d&&"escape-key"===n||f&&"trigger-press"===n)&&(u?.(e,r),j||b(!1))},...g,children:[r(c,{render:s}),p]})}function m({className:e,...o}){return r(p,{render:r(s,{size:"icon-sm",variant:"secondary",className:t("absolute top-0 right-0",e)}),children:r(n,{}),...o})}export{a as CoachMark,m as CoachMarkClose};
1
+ import{jsxs as e,jsx as r}from"react/jsx-runtime";import{X as o}from"lucide-react";import t from"react";import{cn as n}from"../../lib/utils/cn.js";import{Button as s}from"../button/button.js";import"copy-to-clipboard";import"../tooltip/tooltip.js";import{Popover as i,PopoverTrigger as p,PopoverClose as c}from"./popover.js";function a({defaultOpen:o,open:n,trigger:s,children:c,canOpen:a=!0,showOnce:m=!0,onOpenChange:l,closeOnOutsidePress:u=!1,closeOnEscape:d=!1,closeOnTriggerPress:f=!1,...g}){const[O,h]=t.useState(!1),[v,b]=t.useState(!1),j=void 0!==n;return t.useEffect(()=>{b(!0)},[]),O||!a?s:e(i,{defaultOpen:o??!1,open:(n||void 0===n)&&v,onOpenChangeComplete:e=>{!e&&m&&h(!0)},onOpenChange:(e,r)=>{if(e&&"trigger-press"!==r.reason)return void l?.(e,r);const o=r?.reason;("close-press"===o||"imperative-action"===o||u&&"outside-press"===o||d&&"escape-key"===o||f&&"trigger-press"===o)&&(l?.(e,r),j||b(!1))},...g,children:[r(p,{render:s}),c]})}function m({className:e,...t}){return r(c,{render:r(s,{size:"icon-sm",variant:"secondary",className:n("absolute top-0 right-0",e)}),children:r(o,{}),...t})}export{a as CoachMark,m as CoachMarkClose};
@@ -1,10 +1,12 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ScrollArea as ScrollArea$1 } from '@base-ui/react/scroll-area';
3
3
 
4
- declare function ScrollArea({ className, children, scrollFade, scrollbarGutter, viewportRef, ...props }: ScrollArea$1.Root.Props & {
4
+ declare function ScrollArea({ className, children, viewportClassName, viewportProps, scrollFade, scrollbarGutter, viewportRef, ...props }: ScrollArea$1.Root.Props & {
5
5
  scrollFade?: boolean;
6
6
  scrollbarGutter?: boolean;
7
7
  viewportRef?: React.Ref<HTMLDivElement>;
8
+ viewportClassName?: string;
9
+ viewportProps?: React.ComponentPropsWithoutRef<typeof ScrollArea$1.Viewport>;
8
10
  }): react_jsx_runtime.JSX.Element;
9
11
  declare function ScrollBar({ className, orientation, ...props }: ScrollArea$1.Scrollbar.Props): react_jsx_runtime.JSX.Element;
10
12
 
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{jsxs as a,jsx as r}from"react/jsx-runtime";import{ScrollArea as o}from"@base-ui/react/scroll-area";import{cn as e}from"../../lib/utils/cn.js";function l({className:l,children:t,scrollFade:s=!1,scrollbarGutter:n=!1,viewportRef:c,...d}){return a(o.Root,{className:e("size-full min-h-0",l),...d,children:[r(o.Viewport,{ref:c,className:e("transition-shadows focus-visible:ring-ring focus-visible:ring-offset-background h-full rounded-[inherit] outline-none focus-visible:ring-2 focus-visible:ring-offset-1 data-has-overflow-x:overscroll-x-contain",s&&"mask-t-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-y-start)))] mask-r-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-x-end)))] mask-b-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-y-end)))] mask-l-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-x-start)))] [--fade-size:1.5rem]",n&&"data-has-overflow-x:pb-2.5 data-has-overflow-y:pe-2.5"),"data-slot":"scroll-area-viewport",children:t}),r(i,{orientation:"vertical"}),r(i,{orientation:"horizontal"}),r(o.Corner,{"data-slot":"scroll-area-corner"})]})}function i({className:a,orientation:l="vertical",...i}){return r(o.Scrollbar,{className:e("m-1 flex opacity-0 transition-opacity delay-300 data-hovering:opacity-100 data-hovering:delay-0 data-hovering:duration-100 data-scrolling:opacity-100 data-scrolling:delay-0 data-scrolling:duration-100 data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:flex-col data-[orientation=vertical]:w-1.5",a),"data-slot":"scroll-area-scrollbar",orientation:l,...i,children:r(o.Thumb,{className:"bg-foreground/20 relative flex-1 rounded-full","data-slot":"scroll-area-thumb"})})}export{l as ScrollArea,i as ScrollBar};
2
+ import{jsxs as a,jsx as r}from"react/jsx-runtime";import{ScrollArea as o}from"@base-ui/react/scroll-area";import{cn as e}from"../../lib/utils/cn.js";function l({className:l,children:t,viewportClassName:s,viewportProps:n,scrollFade:c=!1,scrollbarGutter:d=!1,viewportRef:f,...m}){const{className:v,...u}=n??{};return a(o.Root,{className:e("size-full min-h-0",l),...m,children:[r(o.Viewport,{ref:f,className:e("transition-shadows focus-visible:ring-ring focus-visible:ring-offset-background h-full w-full rounded-[inherit] outline-none focus-visible:ring-2 focus-visible:ring-offset-1 data-has-overflow-x:overscroll-x-contain",c&&"mask-t-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-y-start)))] mask-r-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-x-end)))] mask-b-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-y-end)))] mask-l-from-[calc(100%-min(var(--fade-size),var(--scroll-area-overflow-x-start)))] [--fade-size:1.5rem]",d&&"data-has-overflow-x:pb-2.5 data-has-overflow-y:pe-2.5",s,v),"data-slot":"scroll-area-viewport",...u,children:t}),r(i,{orientation:"vertical"}),r(i,{orientation:"horizontal"}),r(o.Corner,{"data-slot":"scroll-area-corner"})]})}function i({className:a,orientation:l="vertical",...i}){return r(o.Scrollbar,{className:e("m-1 flex opacity-0 transition-opacity delay-300 data-hovering:opacity-100 data-hovering:delay-0 data-hovering:duration-100 data-scrolling:opacity-100 data-scrolling:delay-0 data-scrolling:duration-100 data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:flex-col data-[orientation=vertical]:w-1.5",a),"data-slot":"scroll-area-scrollbar",orientation:l,...i,children:r(o.Thumb,{className:"bg-foreground/20 relative flex-1 rounded-full","data-slot":"scroll-area-thumb"})})}export{l as ScrollArea,i as ScrollBar};
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Select as s}from"@base-ui/react/select";import{CheckIcon as a,ChevronDownIcon as r,ChevronUpIcon as n}from"lucide-react";import{cn as o}from"../../lib/utils/cn.js";import{Button as l}from"../button/button.js";function i({modal:t=!1,...a}){return e(s.Root,{modal:t,...a})}function c({className:t,...a}){return e(s.Group,{"data-slot":"select-group",className:o("scroll-my-1",t),...a})}function d({className:t,...a}){return e(s.Value,{"data-slot":"select-value",className:o("flex flex-1 text-left font-normal",t),...a})}function u({className:a,render:n=e(l,{variant:"secondary"}),size:i="default",children:c,...d}){return t(s.Trigger,{"data-slot":"select-trigger","data-size":i,render:n,className:o("disabled:cursor-not-allowed disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",a),...d,children:[c,e(s.Icon,{render:e(r,{className:"text-muted-foreground pointer-events-none size-4"})})]})}function m({className:a,children:r,side:n="bottom",sideOffset:l=4,align:i="center",alignOffset:c=0,alignItemWithTrigger:d=!1,...u}){return e(s.Portal,{children:e(s.Positioner,{side:n,sideOffset:l,align:i,alignOffset:c,alignItemWithTrigger:d,className:"isolate z-50",children:t(s.Popup,{"data-slot":"select-content",className:o("bg-popover text-popover-foreground popup-animate ring-foreground/10 relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 overflow-x-hidden overflow-y-auto rounded-lg py-2 shadow-md ring-1",a),...u,children:[e(h,{}),e(s.List,{children:r}),e(v,{})]})})})}function f({className:t,...a}){return e(s.GroupLabel,{"data-slot":"select-label",className:o("text-muted-foreground px-3 py-2 text-xs",t),...a})}function p({className:r,children:n,...l}){return t(s.Item,{"data-slot":"select-item",className:o("focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground relative flex w-full cursor-default items-center gap-1.5 py-[6px] pr-8 pl-3 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",r),...l,children:[e(s.ItemText,{className:"flex flex-1 shrink-0 gap-2 whitespace-nowrap",children:n}),e(s.ItemIndicator,{render:e("span",{className:"pointer-events-none absolute right-2 flex size-4 items-center justify-center",children:e(a,{className:"pointer-events-none"})})})]})}function g({className:t,...a}){return e(s.Separator,{"data-slot":"select-separator",className:o("bg-border pointer-events-none -mx-1 my-1 h-px",t),...a})}function h({className:t,...a}){return e(s.ScrollUpArrow,{"data-slot":"select-scroll-up-button",className:o("bg-popover top-0 z-10 flex w-full cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4",t),...a,children:e(n,{})})}function v({className:t,...a}){return e(s.ScrollDownArrow,{"data-slot":"select-scroll-down-button",className:o("bg-popover bottom-0 z-10 flex w-full cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4",t),...a,children:e(r,{})})}export{i as Select,m as SelectContent,c as SelectGroup,p as SelectItem,f as SelectLabel,v as SelectScrollDownButton,h as SelectScrollUpButton,g as SelectSeparator,u as SelectTrigger,d as SelectValue};
2
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Select as s}from"@base-ui/react/select";import{CheckIcon as r,ChevronDownIcon as a,ChevronUpIcon as o}from"lucide-react";import{cn as n}from"../../lib/utils/cn.js";import{Button as l}from"../button/button.js";import"copy-to-clipboard";import"react";import"../tooltip/tooltip.js";function i({modal:t=!1,...r}){return e(s.Root,{modal:t,...r})}function c({className:t,...r}){return e(s.Group,{"data-slot":"select-group",className:n("scroll-my-1",t),...r})}function d({className:t,...r}){return e(s.Value,{"data-slot":"select-value",className:n("flex flex-1 truncate overflow-hidden text-left font-normal",t),...r})}function u({className:r,render:o=e(l,{variant:"secondary"}),size:i="default",children:c,...d}){return t(s.Trigger,{"data-slot":"select-trigger","data-size":i,render:o,className:n("justify-start disabled:cursor-not-allowed disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",r),...d,children:[c,e(s.Icon,{render:e(a,{className:"text-muted-foreground pointer-events-none size-4"})})]})}function m({className:r,children:a,side:o="bottom",sideOffset:l=4,align:i="center",alignOffset:c=0,alignItemWithTrigger:d=!1,...u}){return e(s.Portal,{children:e(s.Positioner,{side:o,sideOffset:l,align:i,alignOffset:c,alignItemWithTrigger:d,className:"isolate z-50",children:t(s.Popup,{"data-slot":"select-content",className:n("bg-popover text-popover-foreground popup-animate ring-foreground/10 relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 overflow-x-hidden overflow-y-auto rounded-lg py-2 shadow-md ring-1 focus-visible:outline-none",r),...u,children:[e(h,{}),e(s.List,{children:a}),e(v,{})]})})})}function p({className:t,...r}){return e(s.GroupLabel,{"data-slot":"select-label",className:n("text-muted-foreground px-3 py-2 text-xs",t),...r})}function f({className:a,children:o,...l}){return t(s.Item,{"data-slot":"select-item",className:n("focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground relative flex w-full cursor-default items-center gap-1.5 py-[6px] pr-8 pl-3 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...l,children:[e(s.ItemText,{className:"flex flex-1 shrink-0 gap-2",children:o}),e(s.ItemIndicator,{render:e("span",{className:"pointer-events-none absolute top-[50%] right-2 flex size-4 -translate-y-[50%] items-center justify-center",children:e(r,{className:"pointer-events-none"})})})]})}function g({className:t,...r}){return e(s.Separator,{"data-slot":"select-separator",className:n("bg-border pointer-events-none -mx-1 my-1 h-px",t),...r})}function h({className:t,...r}){return e(s.ScrollUpArrow,{"data-slot":"select-scroll-up-button",className:n("bg-popover top-0 z-10 flex w-full cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4",t),...r,children:e(o,{})})}function v({className:t,...r}){return e(s.ScrollDownArrow,{"data-slot":"select-scroll-down-button",className:n("bg-popover bottom-0 z-10 flex w-full cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4",t),...r,children:e(a,{})})}export{i as Select,m as SelectContent,c as SelectGroup,f as SelectItem,p as SelectLabel,v as SelectScrollDownButton,h as SelectScrollUpButton,g as SelectSeparator,u as SelectTrigger,d as SelectValue};
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Dialog as a}from"@base-ui/react/dialog";import{XIcon as o}from"lucide-react";import{cn as l}from"../../lib/utils/cn.js";import{Button as d}from"../button/button.js";const s=a.Root,r=a.Portal;function i(t){return e(a.Trigger,{"data-slot":"sheet-trigger",...t})}function n(t){return e(a.Close,{"data-slot":"sheet-close",...t})}function c({className:t,...o}){return e(a.Backdrop,{className:l("data-[closed]:animate-out data-[open]:animate-in data-[closed]:fade-out-0 data-[open]:fade-in-0 fixed inset-0 z-50 bg-black/32 backdrop-blur-sm data-[closed]:duration-200 data-[closed]:ease-in-out data-[open]:duration-200 data-[open]:ease-in-out",t),"data-slot":"sheet-backdrop",...o})}function u({className:t,side:o,inset:d=!1,...s}){return e(a.Viewport,{className:l("fixed inset-0 z-50 grid","bottom"===o&&"flex flex-col justify-end","top"===o&&"grid grid-rows-[auto_1fr] pb-12","left"===o&&"flex justify-start","right"===o&&"flex justify-end",d&&"sm:p-4"),"data-slot":"sheet-viewport",...s})}function f({className:s,children:i,contentRef:n,radixClassName:f,hideCloseButton:m=!1,side:p="right",inset:x=!1,...b}){return t(r,{children:[e(c,{}),e(u,{inset:x,side:p,children:t(a.Popup,{className:l("bg-dialog max-xs:w-full data-[closed]:animate-out data-[open]:animate-in data-[closed]:fade-out-0 data-[open]:fade-in-0 relative flex max-h-full min-h-0 w-full min-w-0 flex-col overflow-hidden shadow-lg/5 will-change-transform not-dark:bg-clip-padding before:pointer-events-none before:absolute before:inset-0 before:shadow-[0_1px_--theme(--color-black/6%)] data-[closed]:duration-200 data-[closed]:ease-in-out data-[open]:duration-200 data-[open]:ease-in-out max-sm:before:hidden dark:before:shadow-[0_-1px_--theme(--color-white/6%)]","bottom"===p&&"data-[closed]:slide-out-to-bottom-8 data-[open]:slide-in-from-bottom-8 max-h-[98%] rounded-t-3xl border-t","top"===p&&"data-[closed]:slide-out-to-top-8 data-[open]:slide-in-from-top-8 border-b","left"===p&&"data-[closed]:slide-out-to-left-8 data-[open]:slide-in-from-left-8 w-[calc(100%-(--spacing(12)))] max-w-md border-e","right"===p&&"data-[closed]:slide-out-to-right-8 data-[open]:slide-in-from-right-8 col-start-2 w-[calc(100%-(--spacing(12)))] max-w-md border-s",x&&"before:hidden sm:rounded-2xl sm:border sm:before:rounded-[calc(var(--radius-2xl)-1px)] sm:**:data-[slot=sheet-footer]:rounded-b-[calc(var(--radius-2xl)-1px)]",f),"data-slot":"sheet-popup",...b,children:[e("div",{ref:n,className:l("flex h-full w-full flex-1 flex-col gap-2 overflow-y-auto",s),children:i}),!m&&e(a.Close,{"aria-label":"Close",className:"absolute top-[25px] right-[25px] rounded-md",render:e(d,{size:"icon",variant:"secondary",className:"h-auto rounded-md p-[6px]"}),children:e(o,{className:"xs:size-4 size-5"})})]})})]})}function m({className:t,pin:a,children:o,...d}){return e("div",{"data-slot":"sheet-header",className:l("bg-background flex flex-col gap-1.5 rounded-b-3xl p-[30px]",{"outline-dialog sticky top-0 left-0 outline-[8px]":a},t),...d,children:o})}function p({className:t,...a}){return e("div",{className:l("bg-background flex flex-col rounded-3xl p-[30px]",t),...a})}function x({className:t,pin:a,...o}){return e("div",{"data-slot":"sheet-footer",className:l("bg-background flex h-full flex-1 flex-col gap-2 rounded-t-3xl p-[30px]",{"outline-dialog sticky bottom-0 left-0 outline-[8px]":a},t),...o})}function b({className:t,...o}){return e(a.Title,{"data-slot":"sheet-title",className:l("text-foreground line-clamp-2 pr-[38px] text-xl leading-tight font-medium break-words text-ellipsis",t),...o})}function h({className:t,...o}){return e(a.Description,{"data-slot":"sheet-description",className:l("text-muted-foreground text-sm",t),...o})}export{s as Sheet,n as SheetClose,f as SheetContent,p as SheetContentSection,h as SheetDescription,x as SheetFooter,m as SheetHeader,b as SheetTitle,i as SheetTrigger};
2
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Dialog as o}from"@base-ui/react/dialog";import{XIcon as a}from"lucide-react";import{cn as l}from"../../lib/utils/cn.js";import{Button as d}from"../button/button.js";import"copy-to-clipboard";import"react";import"../tooltip/tooltip.js";const s=o.Root,r=o.Portal;function i(t){return e(o.Trigger,{"data-slot":"sheet-trigger",...t})}function n(t){return e(o.Close,{"data-slot":"sheet-close",...t})}function c({className:t,...a}){return e(o.Backdrop,{className:l("data-[closed]:animate-out data-[open]:animate-in data-[closed]:fade-out-0 data-[open]:fade-in-0 fixed inset-0 z-50 bg-black/32 backdrop-blur-sm data-[closed]:duration-200 data-[closed]:ease-in-out data-[open]:duration-200 data-[open]:ease-in-out",t),"data-slot":"sheet-backdrop",...a})}function u({className:t,side:a,inset:d=!1,...s}){return e(o.Viewport,{className:l("fixed inset-0 z-50 grid","bottom"===a&&"flex flex-col justify-end","top"===a&&"grid grid-rows-[auto_1fr] pb-12","left"===a&&"flex justify-start","right"===a&&"flex justify-end",d&&"sm:p-4"),"data-slot":"sheet-viewport",...s})}function p({className:s,children:i,contentRef:n,radixClassName:p,hideCloseButton:f=!1,side:m="right",inset:x=!1,...b}){return t(r,{children:[e(c,{}),e(u,{inset:x,side:m,children:t(o.Popup,{className:l("bg-dialog max-xs:w-full data-[closed]:animate-out data-[open]:animate-in data-[closed]:fade-out-0 data-[open]:fade-in-0 relative flex max-h-full min-h-0 w-full min-w-0 flex-col overflow-hidden shadow-lg/5 will-change-transform not-dark:bg-clip-padding before:pointer-events-none before:absolute before:inset-0 before:shadow-[0_1px_--theme(--color-black/6%)] data-[closed]:pointer-events-none data-[closed]:duration-200 data-[closed]:ease-in-out data-[open]:duration-200 data-[open]:ease-in-out max-sm:before:hidden dark:before:shadow-[0_-1px_--theme(--color-white/6%)]","bottom"===m&&"data-[closed]:slide-out-to-bottom-8 data-[open]:slide-in-from-bottom-8 max-h-[98%] rounded-t-3xl border-t","top"===m&&"data-[closed]:slide-out-to-top-8 data-[open]:slide-in-from-top-8 border-b","left"===m&&"data-[closed]:slide-out-to-left-8 data-[open]:slide-in-from-left-8 w-[calc(100%-(--spacing(12)))] max-w-md border-e","right"===m&&"data-[closed]:slide-out-to-right-8 data-[open]:slide-in-from-right-8 col-start-2 w-[calc(100%-(--spacing(12)))] max-w-md border-s",x&&"before:hidden sm:rounded-2xl sm:border sm:before:rounded-[calc(var(--radius-2xl)-1px)] sm:**:data-[slot=sheet-footer]:rounded-b-[calc(var(--radius-2xl)-1px)]",p),"data-slot":"sheet-popup",...b,children:[e("div",{ref:n,className:l("flex h-full w-full flex-1 flex-col gap-2 overflow-y-auto",s),children:i}),!f&&e(o.Close,{"aria-label":"Close",className:"absolute top-[25px] right-[25px] rounded-md",render:e(d,{size:"icon",variant:"secondary",className:"h-auto rounded-md p-[6px]"}),children:e(a,{className:"xs:size-4 size-5"})})]})})]})}function f({className:t,pin:o,children:a,...d}){return e("div",{"data-slot":"sheet-header",className:l("bg-background flex flex-col gap-1.5 rounded-b-3xl p-[30px]",{"outline-dialog sticky top-0 left-0 outline-[8px]":o},t),...d,children:a})}function m({className:t,...o}){return e("div",{className:l("bg-background flex flex-col rounded-3xl p-[30px]",t),...o})}function x({className:t,pin:o,...a}){return e("div",{"data-slot":"sheet-footer",className:l("bg-background flex h-full flex-1 flex-col gap-2 rounded-t-3xl p-[30px]",{"outline-dialog sticky bottom-0 left-0 outline-[8px]":o},t),...a})}function b({className:t,...a}){return e(o.Title,{"data-slot":"sheet-title",className:l("text-foreground line-clamp-2 pr-[38px] text-xl leading-tight font-medium break-words text-ellipsis",t),...a})}function h({className:t,...a}){return e(o.Description,{"data-slot":"sheet-description",className:l("text-muted-foreground text-sm",t),...a})}export{s as Sheet,n as SheetClose,p as SheetContent,m as SheetContentSection,h as SheetDescription,x as SheetFooter,f as SheetHeader,b as SheetTitle,i as SheetTrigger};
@@ -3,9 +3,9 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
3
3
  import { VariantProps } from 'class-variance-authority';
4
4
  import * as React from 'react';
5
5
  import { Button } from '../button/button.js';
6
+ import { TooltipPopup } from '../tooltip/tooltip.js';
6
7
  import { Input } from '../input/input.js';
7
8
  import { Separator } from '../separator/separator.js';
8
- import { TooltipPopup } from '../tooltip/tooltip.js';
9
9
 
10
10
  type SidebarContextProps = {
11
11
  state: 'expanded' | 'collapsed';
@@ -47,7 +47,7 @@ declare function SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>
47
47
  declare function SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>): react_jsx_runtime.JSX.Element;
48
48
  declare const sidebarMenuButtonVariants: (props?: ({
49
49
  variant?: "default" | "outline" | null | undefined;
50
- size?: "default" | "lg" | "sm" | null | undefined;
50
+ size?: "default" | "sm" | "lg" | null | undefined;
51
51
  } & class_variance_authority_types.ClassProp) | undefined) => string;
52
52
  declare function SidebarMenuButton({ asChild, isActive, variant, size, tooltip, className, ...props }: React.ComponentProps<'button'> & {
53
53
  asChild?: boolean;
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import{Slot as t}from"@radix-ui/react-slot";import{cva as r}from"class-variance-authority";import{PanelLeftIcon as i}from"lucide-react";import*as s from"react";import{useIsMobile as d}from"../../lib/hooks/useMobile.js";import"copy-to-clipboard";import{cn as n}from"../../lib/utils/cn.js";import{Button as o}from"../button/button.js";import{Input as l}from"../input/input.js";import{Separator as c}from"../separator/separator.js";import{Sheet as u,SheetContent as b,SheetHeader as p,SheetTitle as m,SheetDescription as f}from"../sheet/sheet.js";import{Skeleton as g}from"../skeleton/skeleton.js";import{Tooltip as h,TooltipTrigger as v,TooltipPopup as x,TooltipProvider as w}from"../tooltip/tooltip.js";const N=s.createContext(null);function y(){const e=s.useContext(N);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}function k({defaultOpen:a=!0,open:t,onOpenChange:r,className:i,style:o,children:l,...c}){const u=d(),[b,p]=s.useState(!1),[m,f]=s.useState(a),g=t??m,h=s.useCallback(e=>{const a="function"==typeof e?e(g):e;r?r(a):f(a),document.cookie=`sidebar_state=${a}; path=/; max-age=604800`},[r,g]),v=s.useCallback(()=>u?p(e=>!e):h(e=>!e),[u,h,p]);s.useEffect(()=>{const e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),v())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[v]);const x=g?"expanded":"collapsed",y=s.useMemo(()=>({state:x,open:g,setOpen:h,isMobile:u,openMobile:b,setOpenMobile:p,toggleSidebar:v}),[x,g,h,u,b,p,v]);return e(N.Provider,{value:y,children:e(w,{delay:0,children:e("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"5rem",...o},className:n("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",i),...c,children:l})})})}function z({side:t="left",variant:r="sidebar",collapsible:i="offcanvas",className:s,children:d,...o}){const{isMobile:l,state:c,openMobile:g,setOpenMobile:h}=y();return"none"===i?e("div",{"data-slot":"sidebar",className:n("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",s),...o,children:d}):l?e(u,{open:g,onOpenChange:h,...o,children:a(b,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",radixClassName:"xs:max-w-[var(--sidebar-width)]",className:"text-sidebar-foreground w-full p-0 [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:t,children:[a(p,{className:"sr-only",children:[e(m,{children:"Меню"}),e(f,{className:"hidden"})]}),d]})}):a("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":c,"data-collapsible":"collapsed"===c?i:"","data-variant":r,"data-side":t,"data-slot":"sidebar",children:[e("div",{"data-slot":"sidebar-gap",className:n("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===r||"inset"===r?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),e("div",{"data-slot":"sidebar-container",className:n("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===t?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===r||"inset"===r?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",s),...o,children:e("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:d})})]})}function C({className:t,onClick:r,...s}){const{toggleSidebar:d}=y();return a(o,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:n("size-7",t),onClick:e=>{r?.(e),d()},...s,children:[e(i,{}),e("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function _({className:a,...t}){const{toggleSidebar:r}=y();return e("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:n("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",a),...t})}function j({className:a,...t}){return e("main",{"data-slot":"sidebar-inset",className:n("bg-background relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",a),...t})}function M({className:a,...t}){return e(l,{"data-slot":"sidebar-input","data-sidebar":"input",className:n("bg-background h-8 w-full shadow-none",a),...t})}function S({className:a,...t}){return e("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:n("flex flex-col gap-2 p-2",a),...t})}function O({className:a,...t}){return e("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:n("flex flex-col gap-2 p-2",a),...t})}function E({className:a,...t}){return e(c,{"data-slot":"sidebar-separator","data-sidebar":"separator",className:n("bg-sidebar-border mx-2 w-auto",a),...t})}function T({className:a,...t}){return e("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:n("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",a),...t})}function q({className:a,...t}){return e("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:n("relative flex w-full min-w-0 flex-col px-[15px] py-2 max-md:p-0",a),...t})}function A({className:a,asChild:r=!1,...i}){return e(r?t:"div",{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:n("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",a),...i})}function I({className:a,asChild:r=!1,...i}){return e(r?t:"button",{"data-slot":"sidebar-group-action","data-sidebar":"group-action",className:n("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 md:after:hidden","group-data-[collapsible=icon]:hidden",a),...i})}function K({className:a,...t}){return e("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:n("w-full text-sm",a),...t})}function L({className:a,...t}){return e("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:n("flex w-full min-w-0 flex-col gap-1",a),...t})}function P({className:a,...t}){return e("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:n("group/menu-item relative",a),...t})}const $=r("peer/menu-button ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground flex w-full cursor-pointer items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:p-2! focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium [&>span:last-child]:truncate group-data-[collapsible=icon]:[&>span:last-child]:hidden [&>svg]:ml-[8px] [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-[32px] text-sm",sm:"h-7 text-xs",lg:"h-10 text-sm"}},defaultVariants:{variant:"default",size:"default"}});function D({asChild:r=!1,isActive:i=!1,variant:s="default",size:d="default",tooltip:o,className:l,...c}){const u=r?t:"button",{isMobile:b,state:p}=y(),m=e(u,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":d,"data-active":i,className:n($({variant:s,size:d}),l),...c});return o?("string"==typeof o&&(o={children:o}),a(h,{children:[e(v,{render:m}),e(x,{side:"right",align:"center",hidden:"collapsed"!==p||b,...o})]})):m}function H({className:a,asChild:r=!1,showOnHover:i=!1,...s}){return e(r?t:"button",{"data-slot":"sidebar-menu-action","data-sidebar":"menu-action",className:n("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 md:after:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",i&&"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",a),...s})}function V({className:a,...t}){return e("div",{"data-slot":"sidebar-menu-badge","data-sidebar":"menu-badge",className:n("text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",a),...t})}function B({className:t,showIcon:r=!1,...i}){const d=s.useMemo(()=>`${Math.floor(40*Math.random())+50}%`,[]);return a("div",{"data-slot":"sidebar-menu-skeleton","data-sidebar":"menu-skeleton",className:n("flex h-8 items-center gap-2 rounded-md px-2",t),...i,children:[r&&e(g,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),e(g,{className:"h-4 max-w-(--skeleton-width) flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":d}})]})}function F({className:a,...t}){return e("ul",{"data-slot":"sidebar-menu-sub","data-sidebar":"menu-sub",className:n("border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",a),...t})}function G({className:a,...t}){return e("li",{"data-slot":"sidebar-menu-sub-item","data-sidebar":"menu-sub-item",className:n("group/menu-sub-item relative",a),...t})}function J({asChild:a=!1,size:r="md",isActive:i=!1,className:s,...d}){return e(a?t:"a",{"data-slot":"sidebar-menu-sub-button","data-sidebar":"menu-sub-button","data-size":r,"data-active":i,className:n("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 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","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground","sm"===r&&"text-xs","md"===r&&"text-sm","group-data-[collapsible=icon]:hidden",s),...d})}export{z as Sidebar,T as SidebarContent,O as SidebarFooter,q as SidebarGroup,I as SidebarGroupAction,K as SidebarGroupContent,A as SidebarGroupLabel,S as SidebarHeader,M as SidebarInput,j as SidebarInset,L as SidebarMenu,H as SidebarMenuAction,V as SidebarMenuBadge,D as SidebarMenuButton,P as SidebarMenuItem,B as SidebarMenuSkeleton,F as SidebarMenuSub,J as SidebarMenuSubButton,G as SidebarMenuSubItem,k as SidebarProvider,_ as SidebarRail,E as SidebarSeparator,C as SidebarTrigger,y as useSidebar};
2
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import{Slot as t}from"@radix-ui/react-slot";import{cva as r}from"class-variance-authority";import{PanelLeftIcon as i}from"lucide-react";import*as s from"react";import{useIsMobile as d}from"../../lib/hooks/useMobile.js";import"copy-to-clipboard";import{cn as n}from"../../lib/utils/cn.js";import{Button as o}from"../button/button.js";import{Tooltip as l,TooltipTrigger as c,TooltipPopup as u,TooltipProvider as b}from"../tooltip/tooltip.js";import{Input as p}from"../input/input.js";import{Separator as m}from"../separator/separator.js";import{Sheet as f,SheetContent as g,SheetHeader as h,SheetTitle as v,SheetDescription as x}from"../sheet/sheet.js";import{Skeleton as w}from"../skeleton/skeleton.js";const N=s.createContext(null);function y(){const e=s.useContext(N);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}function k({defaultOpen:a=!0,open:t,onOpenChange:r,className:i,style:o,children:l,...c}){const u=d(),[p,m]=s.useState(!1),[f,g]=s.useState(a),h=t??f,v=s.useCallback(e=>{const a="function"==typeof e?e(h):e;r?r(a):g(a),document.cookie=`sidebar_state=${a}; path=/; max-age=604800`},[r,h]),x=s.useCallback(()=>u?m(e=>!e):v(e=>!e),[u,v,m]);s.useEffect(()=>{const e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),x())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[x]);const w=h?"expanded":"collapsed",y=s.useMemo(()=>({state:w,open:h,setOpen:v,isMobile:u,openMobile:p,setOpenMobile:m,toggleSidebar:x}),[w,h,v,u,p,m,x]);return e(N.Provider,{value:y,children:e(b,{delay:0,children:e("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"5rem",...o},className:n("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",i),...c,children:l})})})}function z({side:t="left",variant:r="sidebar",collapsible:i="offcanvas",className:s,children:d,...o}){const{isMobile:l,state:c,openMobile:u,setOpenMobile:b}=y();return"none"===i?e("div",{"data-slot":"sidebar",className:n("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",s),...o,children:d}):l?e(f,{open:u,onOpenChange:b,...o,children:a(g,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",radixClassName:"xs:max-w-[var(--sidebar-width)]",className:"text-sidebar-foreground w-full p-0 [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:t,children:[a(h,{className:"sr-only",children:[e(v,{children:"Меню"}),e(x,{className:"hidden"})]}),d]})}):a("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":c,"data-collapsible":"collapsed"===c?i:"","data-variant":r,"data-side":t,"data-slot":"sidebar",children:[e("div",{"data-slot":"sidebar-gap",className:n("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===r||"inset"===r?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),e("div",{"data-slot":"sidebar-container",className:n("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===t?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===r||"inset"===r?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",s),...o,children:e("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:d})})]})}function C({className:t,onClick:r,...s}){const{toggleSidebar:d}=y();return a(o,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:n("size-7",t),onClick:e=>{r?.(e),d()},...s,children:[e(i,{}),e("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function _({className:a,...t}){const{toggleSidebar:r}=y();return e("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:n("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",a),...t})}function j({className:a,...t}){return e("main",{"data-slot":"sidebar-inset",className:n("bg-background relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",a),...t})}function M({className:a,...t}){return e(p,{"data-slot":"sidebar-input","data-sidebar":"input",className:n("bg-background h-8 w-full shadow-none",a),...t})}function S({className:a,...t}){return e("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:n("flex flex-col gap-2 p-2",a),...t})}function O({className:a,...t}){return e("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:n("flex flex-col gap-2 p-2",a),...t})}function E({className:a,...t}){return e(m,{"data-slot":"sidebar-separator","data-sidebar":"separator",className:n("bg-sidebar-border mx-2 w-auto",a),...t})}function T({className:a,...t}){return e("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:n("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",a),...t})}function q({className:a,...t}){return e("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:n("relative flex w-full min-w-0 flex-col px-[15px] py-2 max-md:p-0",a),...t})}function A({className:a,asChild:r=!1,...i}){return e(r?t:"div",{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:n("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",a),...i})}function I({className:a,asChild:r=!1,...i}){return e(r?t:"button",{"data-slot":"sidebar-group-action","data-sidebar":"group-action",className:n("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 md:after:hidden","group-data-[collapsible=icon]:hidden",a),...i})}function K({className:a,...t}){return e("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:n("w-full text-sm",a),...t})}function L({className:a,...t}){return e("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:n("flex w-full min-w-0 flex-col gap-1",a),...t})}function P({className:a,...t}){return e("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:n("group/menu-item relative",a),...t})}const $=r("peer/menu-button ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground flex w-full cursor-pointer items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:p-2! focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium [&>span:last-child]:truncate group-data-[collapsible=icon]:[&>span:last-child]:hidden [&>svg]:ml-[8px] [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-[32px] text-sm",sm:"h-7 text-xs",lg:"h-10 text-sm"}},defaultVariants:{variant:"default",size:"default"}});function D({asChild:r=!1,isActive:i=!1,variant:s="default",size:d="default",tooltip:o,className:b,...p}){const m=r?t:"button",{isMobile:f,state:g}=y(),h=e(m,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":d,"data-active":i,className:n($({variant:s,size:d}),b),...p});return o?("string"==typeof o&&(o={children:o}),a(l,{children:[e(c,{render:h}),e(u,{side:"right",align:"center",hidden:"collapsed"!==g||f,...o})]})):h}function H({className:a,asChild:r=!1,showOnHover:i=!1,...s}){return e(r?t:"button",{"data-slot":"sidebar-menu-action","data-sidebar":"menu-action",className:n("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 md:after:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",i&&"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",a),...s})}function V({className:a,...t}){return e("div",{"data-slot":"sidebar-menu-badge","data-sidebar":"menu-badge",className:n("text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",a),...t})}function B({className:t,showIcon:r=!1,...i}){const d=s.useMemo(()=>`${Math.floor(40*Math.random())+50}%`,[]);return a("div",{"data-slot":"sidebar-menu-skeleton","data-sidebar":"menu-skeleton",className:n("flex h-8 items-center gap-2 rounded-md px-2",t),...i,children:[r&&e(w,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),e(w,{className:"h-4 max-w-(--skeleton-width) flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":d}})]})}function F({className:a,...t}){return e("ul",{"data-slot":"sidebar-menu-sub","data-sidebar":"menu-sub",className:n("border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",a),...t})}function G({className:a,...t}){return e("li",{"data-slot":"sidebar-menu-sub-item","data-sidebar":"menu-sub-item",className:n("group/menu-sub-item relative",a),...t})}function J({asChild:a=!1,size:r="md",isActive:i=!1,className:s,...d}){return e(a?t:"a",{"data-slot":"sidebar-menu-sub-button","data-sidebar":"menu-sub-button","data-size":r,"data-active":i,className:n("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 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","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground","sm"===r&&"text-xs","md"===r&&"text-sm","group-data-[collapsible=icon]:hidden",s),...d})}export{z as Sidebar,T as SidebarContent,O as SidebarFooter,q as SidebarGroup,I as SidebarGroupAction,K as SidebarGroupContent,A as SidebarGroupLabel,S as SidebarHeader,M as SidebarInput,j as SidebarInset,L as SidebarMenu,H as SidebarMenuAction,V as SidebarMenuBadge,D as SidebarMenuButton,P as SidebarMenuItem,B as SidebarMenuSkeleton,F as SidebarMenuSub,J as SidebarMenuSubButton,G as SidebarMenuSubItem,k as SidebarProvider,_ as SidebarRail,E as SidebarSeparator,C as SidebarTrigger,y as useSidebar};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{cn as e}from"../../lib/utils/cn.js";const r={default:"",error:"text-destructive",secondary:"text-muted-foreground",primary:"text-primary",warning:"text-warning"},l={black:"font-black",extrabold:"font-extrabold",bold:"font-bold",semibold:"font-semibold",medium:"font-medium",light:"font-light",extraLight:"font-extralight",normal:""},a={xs:"text-xs",sm:"text-sm",md:"text-base",lg:"text-lg",xl:"text-xl","2xl":"text-2xl","3xl":"text-3xl"},o=o=>{const{className:n,children:x,variant:i="default",weight:m="normal",size:s="sm",as:d="p",truncate:c=!1,...f}=o;return t(d,{className:e(c&&"block truncate",l[m],a[s],"default"!==i&&r[i],n),...f,children:x})};export{o as Text};
1
+ import{jsx as t}from"react/jsx-runtime";import{cn as e}from"../../lib/utils/cn.js";const r={default:"",error:"text-destructive",secondary:"text-muted-foreground",primary:"text-primary",warning:"text-warning"},l={black:"font-black",extrabold:"font-extrabold",bold:"font-bold",semibold:"font-semibold",medium:"font-medium",light:"font-light",extraLight:"font-extralight",normal:""},a={xs:"text-xs",sm:"text-sm",md:"text-base",lg:"text-lg",xl:"text-xl","2xl":"text-2xl","3xl":"text-3xl"},o=o=>{const{className:x,children:n,variant:i="default",weight:m,size:s,as:d="p",truncate:c=!1,...f}=o;return t(d,{className:e(c&&"block truncate",m&&l[m],s&&a[s],"default"!==i&&r[i],x),...f,children:n})};export{o as Text};
@@ -1 +1 @@
1
- import{jsx as a}from"react/jsx-runtime";import{cva as r}from"class-variance-authority";import t from"react-textarea-autosize";import{cn as i}from"../../lib/utils/cn.js";const e=r("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/20 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full resize-none rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",{variants:{variant:{default:""}},defaultVariants:{variant:"default"}});function n({className:r,variant:n="default",...o}){return a(t,{"data-slot":"textarea",className:i(e({variant:n,className:r})),...o})}export{n as Textarea,e as textareaVariants};
1
+ import{jsx as r}from"react/jsx-runtime";import{cva as t}from"class-variance-authority";import a from"react-textarea-autosize";import{cn as e}from"../../lib/utils/cn.js";const i=t("placeholder:text-muted-foreground hover:bg-secondary/30 dark:hover:bg-input/35 selection:bg-primary selection:text-primary-foreground dark:bg-input/30 flex field-sizing-content min-h-16 w-full resize-none rounded-md border-none bg-transparent px-3 py-2 text-base shadow-[inset_0_0_0_1.5px_var(--input)] transition-[border-color,box-shadow,colors] outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm [&:-webkit-autofill]:shadow-[inset_0_0_0_1000px_var(--background)] [&:-webkit-autofill]:[-webkit-text-fill-color:var(--foreground)] focus-visible:border-ring focus-visible:bg-transparent focus-visible:shadow-[inset_0_0_0_1.5px_var(--ring)] aria-invalid:border-destructive aria-invalid:shadow-[inset_0_0_0_1.5px_var(--destructive)]",{variants:{variant:{default:""}},defaultVariants:{variant:"default"}});function o({className:t,variant:o="default",...n}){return r(a,{"data-slot":"textarea",className:e(i({variant:o,className:t})),...n})}export{o as Textarea,i as textareaVariants};
@@ -5,7 +5,7 @@ import { VariantProps } from 'class-variance-authority';
5
5
 
6
6
  declare const toggleVariants: (props?: ({
7
7
  variant?: "default" | "outline" | null | undefined;
8
- size?: "default" | "lg" | "sm" | null | undefined;
8
+ size?: "default" | "sm" | "lg" | null | undefined;
9
9
  } & class_variance_authority_types.ClassProp) | undefined) => string;
10
10
  declare function Toggle({ className, variant, size, ...props }: Toggle$1.Props & VariantProps<typeof toggleVariants>): react_jsx_runtime.JSX.Element;
11
11
 
@@ -1,12 +1,13 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as React from 'react';
3
2
  import * as _base_ui_react from '@base-ui/react';
4
3
  import * as class_variance_authority_types from 'class-variance-authority/types';
5
4
  import { Tooltip as Tooltip$1 } from '@base-ui/react/tooltip';
6
5
  import { VariantProps } from 'class-variance-authority';
6
+ import * as React from 'react';
7
+ import { PopoverRootProps, PopoverTrigger } from '../popover/popover.js';
7
8
 
8
9
  declare const tooltipVariants: (props?: ({
9
- variant?: "default" | "primary" | "secondary" | "destructive" | "foreground" | null | undefined;
10
+ variant?: "default" | "destructive" | "secondary" | "primary" | "foreground" | null | undefined;
10
11
  } & class_variance_authority_types.ClassProp) | undefined) => string;
11
12
  declare const TooltipCreateHandle: typeof Tooltip$1.createHandle;
12
13
  declare const TooltipProvider: React.FC<_base_ui_react.TooltipProviderProps>;
@@ -18,5 +19,20 @@ declare function TooltipPopup({ className, align, sideOffset, side, variant, chi
18
19
  sideOffset?: Tooltip$1.Positioner.Props['sideOffset'];
19
20
  variant?: VariantProps<typeof tooltipVariants>['variant'];
20
21
  }): react_jsx_runtime.JSX.Element;
22
+ type TooltipPopoverProps<P> = PopoverRootProps<P> & {
23
+ trigger: React.ReactElement;
24
+ tooltip: React.ReactNode;
25
+ tooltipProps?: Omit<Tooltip$1.Root.Props, 'children' | 'disabled'>;
26
+ tooltipContentProps?: Omit<Tooltip$1.Popup.Props, 'children'> & {
27
+ align?: Tooltip$1.Positioner.Props['align'];
28
+ side?: Tooltip$1.Positioner.Props['side'];
29
+ sideOffset?: Tooltip$1.Positioner.Props['sideOffset'];
30
+ variant?: VariantProps<typeof tooltipVariants>['variant'];
31
+ };
32
+ tooltipTriggerProps?: Omit<Tooltip$1.Trigger.Props, 'render' | 'children'>;
33
+ popoverTriggerProps?: Omit<React.ComponentProps<typeof PopoverTrigger>, 'render' | 'children'>;
34
+ children: React.ReactNode;
35
+ };
36
+ declare function TooltipPopover<P>({ trigger, tooltip, tooltipProps, tooltipContentProps, tooltipTriggerProps, popoverTriggerProps, open: openProp, onOpenChange, defaultOpen, children, ...popoverProps }: TooltipPopoverProps<P>): react_jsx_runtime.JSX.Element;
21
37
 
22
- export { Tooltip, TooltipPopup as TooltipContent, TooltipCreateHandle, TooltipPopup, TooltipProvider, TooltipTrigger };
38
+ export { Tooltip, TooltipPopup as TooltipContent, TooltipCreateHandle, TooltipPopover, TooltipPopup, TooltipProvider, TooltipTrigger };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Tooltip as a}from"@base-ui/react/tooltip";import{cva as r}from"class-variance-authority";import{cn as o}from"../../lib/utils/cn.js";const d=r("bg-popover popup-animate data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-closed:animate-out data-closed:fade-out-0 text-popover-foreground relative flex h-(--popup-height,auto) w-(--popup-width,auto) rounded-md border px-2.5 py-1.5 text-xs text-balance transition-[width,height,opacity] not-dark:bg-clip-padding data-instant:duration-0",{variants:{variant:{default:"bg-popover text-popover-foreground before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-md)-1px)] before:shadow-[0_1px_--theme(--color-black/6%)] dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",primary:"bg-primary text-primary-foreground border-none",secondary:"bg-secondary text-secondary-foreground border-border/40 before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-md)-1px)] before:shadow-[0_1px_--theme(--color-black/8%)]",foreground:"bg-foreground text-background border-none",destructive:"bg-destructive border-none text-white"}},defaultVariants:{variant:"foreground"}}),i=r(["pointer-events-none absolute z-50 size-2 rotate-45 rounded-[1px] border","data-[side=bottom]:top-0 data-[side=bottom]:-translate-y-[40%] data-[side=bottom]:border-r-0 data-[side=bottom]:border-b-0","data-[side=inline-end]:left-0 data-[side=inline-end]:-translate-x-[50%] data-[side=inline-end]:border-b-0 data-[side=inline-end]:border-l-0","data-[side=inline-start]:right-0 data-[side=inline-start]:translate-x-[50%] data-[side=inline-start]:border-t-0 data-[side=inline-start]:border-r-0","data-[side=left]:right-0 data-[side=left]:translate-x-[40%] data-[side=left]:border-b-0 data-[side=left]:border-l-0","data-[side=right]:left-0 data-[side=right]:-translate-x-[40%] data-[side=right]:border-t-0 data-[side=right]:border-r-0","data-[side=top]:bottom-0 data-[side=top]:translate-y-[40%] data-[side=top]:border-t-0 data-[side=top]:border-l-0","data-[side=left]:data-[align=end]:top-auto! data-[side=left]:data-[align=end]:bottom-[10px]! data-[side=left]:data-[align=start]:top-[10px]!","data-[side=right]:data-[align=end]:top-auto! data-[side=right]:data-[align=end]:bottom-[10px]! data-[side=right]:data-[align=start]:top-[10px]!"],{variants:{variant:{default:"bg-popover border-border data-[side=bottom]:-translate-y-[60%] data-[side=left]:translate-x-[60%] data-[side=right]:-translate-x-[60%] data-[side=top]:translate-y-[60%]",primary:"bg-primary rounded-[2px] border-none",secondary:"bg-secondary border-border/40 data-[side=top]:border-border data-[side=bottom]:-translate-y-[60%] data-[side=left]:translate-x-[60%] data-[side=right]:-translate-x-[60%] data-[side=top]:translate-y-[60%]",foreground:"bg-foreground border-none",destructive:"bg-destructive border-none text-white"}},defaultVariants:{variant:"foreground"}}),n=a.createHandle,s=a.Provider,l=a.Root;function p(e){return t(a.Trigger,{"data-slot":"tooltip-trigger",...e})}function b({className:r,align:n="center",sideOffset:s=8,side:l="top",variant:p="default",children:b,...f}){return t(a.Portal,{children:t(a.Positioner,{align:n,className:"z-50 h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom,transform] data-instant:transition-none","data-slot":"tooltip-positioner",side:l,sideOffset:s,children:e(a.Popup,{className:o(d({variant:p}),r),"data-slot":"tooltip-popup",...f,children:[b,t(a.Arrow,{className:i({variant:p}),"data-slot":"tooltip-arrow"})]})})})}export{l as Tooltip,b as TooltipContent,n as TooltipCreateHandle,b as TooltipPopup,s as TooltipProvider,p as TooltipTrigger};
2
+ import{jsx as t,jsxs as e}from"react/jsx-runtime";import{Tooltip as a}from"@base-ui/react/tooltip";import{cva as r}from"class-variance-authority";import*as o from"react";import{cn as d}from"../../lib/utils/cn.js";import{Popover as i,PopoverTrigger as n}from"../popover/popover.js";import"lucide-react";import"../button/button.js";import"copy-to-clipboard";const s=r("bg-popover popup-animate data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-closed:animate-out data-closed:fade-out-0 text-popover-foreground relative flex h-(--popup-height,auto) w-(--popup-width,auto) rounded-md border px-2.5 py-1.5 text-xs text-balance transition-[width,height,opacity] not-dark:bg-clip-padding data-instant:duration-0",{variants:{variant:{default:"bg-popover text-popover-foreground before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-md)-1px)] before:shadow-[0_1px_--theme(--color-black/6%)] dark:before:shadow-[0_-1px_--theme(--color-white/6%)]",primary:"bg-primary text-primary-foreground border-none",secondary:"bg-secondary text-secondary-foreground border-border/40 before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-md)-1px)] before:shadow-[0_1px_--theme(--color-black/8%)]",foreground:"bg-foreground text-background border-none",destructive:"bg-destructive border-none text-white"}},defaultVariants:{variant:"foreground"}}),l=r(["pointer-events-none absolute z-50 size-2 rotate-45 rounded-[1px] border","data-[side=bottom]:top-0 data-[side=bottom]:-translate-y-[40%] data-[side=bottom]:border-r-0 data-[side=bottom]:border-b-0","data-[side=inline-end]:left-0 data-[side=inline-end]:-translate-x-[50%] data-[side=inline-end]:border-b-0 data-[side=inline-end]:border-l-0","data-[side=inline-start]:right-0 data-[side=inline-start]:translate-x-[50%] data-[side=inline-start]:border-t-0 data-[side=inline-start]:border-r-0","data-[side=left]:right-0 data-[side=left]:translate-x-[40%] data-[side=left]:border-b-0 data-[side=left]:border-l-0","data-[side=right]:left-0 data-[side=right]:-translate-x-[40%] data-[side=right]:border-t-0 data-[side=right]:border-r-0","data-[side=top]:bottom-0 data-[side=top]:translate-y-[40%] data-[side=top]:border-t-0 data-[side=top]:border-l-0","data-[side=left]:data-[align=end]:top-auto! data-[side=left]:data-[align=end]:bottom-[10px]! data-[side=left]:data-[align=start]:top-[10px]!","data-[side=right]:data-[align=end]:top-auto! data-[side=right]:data-[align=end]:bottom-[10px]! data-[side=right]:data-[align=start]:top-[10px]!"],{variants:{variant:{default:"bg-popover border-border data-[side=bottom]:-translate-y-[60%] data-[side=left]:translate-x-[60%] data-[side=right]:-translate-x-[60%] data-[side=top]:translate-y-[60%]",primary:"bg-primary rounded-[2px] border-none",secondary:"bg-secondary border-border/40 data-[side=top]:border-border data-[side=bottom]:-translate-y-[60%] data-[side=left]:translate-x-[60%] data-[side=right]:-translate-x-[60%] data-[side=top]:translate-y-[60%]",foreground:"bg-foreground border-none",destructive:"bg-destructive border-none text-white"}},defaultVariants:{variant:"foreground"}}),p=a.createHandle,b=a.Provider,g=a.Root;function u(e){return t(a.Trigger,{"data-slot":"tooltip-trigger",...e})}function f({className:r,align:o="center",sideOffset:i=8,side:n="top",variant:p="foreground",children:b,...g}){return t(a.Portal,{children:t(a.Positioner,{align:o,className:"z-50 h-(--positioner-height) w-(--positioner-width) max-w-(--available-width) transition-[top,left,right,bottom,transform] data-instant:transition-none","data-slot":"tooltip-positioner",side:n,sideOffset:i,children:e(a.Popup,{className:d(s({variant:p}),r),"data-slot":"tooltip-popup",...g,children:[b,t(a.Arrow,{className:l({variant:p}),"data-slot":"tooltip-arrow"})]})})})}function c({trigger:a,tooltip:r,tooltipProps:d,tooltipContentProps:s,tooltipTriggerProps:l,popoverTriggerProps:p,open:b,onOpenChange:c,defaultOpen:m,children:h,...x}){const v=void 0!==b,[y,w]=o.useState(m??!1),P=b??y,k=o.useCallback((t,e)=>{v||w(t),c?.(t,e)},[v,c]);return e(i,{...x,open:P,onOpenChange:k,children:[e(g,{...d,disabled:P,children:[t(n,{...p,render:t(u,{...l,render:a})}),t(f,{...s,children:r})]}),h]})}export{g as Tooltip,f as TooltipContent,p as TooltipCreateHandle,c as TooltipPopover,f as TooltipPopup,b as TooltipProvider,u as TooltipTrigger};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{offset as o,shift as r,flip as i,arrow as s,hide as a,limitShift as l,useFloating as u,autoUpdate as d}from"@floating-ui/react-dom";import{Slot as c}from"@radix-ui/react-slot";import{X as f,ChevronLeft as p,ChevronRight as m}from"lucide-react";import*as h from"react";import*as g from"react-dom";import"copy-to-clipboard";import{useComposedRefs as v}from"../../lib/hooks/useComposedRefs.js";import{useIsomorphicLayoutEffect as w}from"../../lib/hooks/useIsomorphicLayoutEffect.js";import{useLazyRef as b}from"../../lib/hooks/useLazyRef.js";import{useAsRef as C}from"../../lib/hooks/useAsRef.js";import{cn as y}from"../../lib/utils/cn.js";import{Button as x}from"../button/button.js";import{Card as E}from"../card/card.js";import{useFocusGuards as S}from"./useFocusGuards.js";import{useFocusTrap as P}from"./useFocusTrap.js";const k="Tour",O="TourStep",A="TourFooter",F="tour.interactOutside",N="tour.closeAutoFocus",L={bubbles:!1,cancelable:!0},T=0,R=20,D=8,M={top:"bottom",right:"left",bottom:"top",left:"right"};function $(e){return e?"open":"closed"}function B(e,t){const n=h.useContext(I),o=t??n;if(!o)throw new Error(`\`useStore\` must be used within \`${k}\``);const r=h.useCallback(()=>e(o.getState()),[o,e]);return h.useSyncExternalStore(o.subscribe,r,r)}function j(e){return"string"==typeof e?document.querySelector(e):e&&"current"in e?e.current:e instanceof HTMLElement?e:null}function z(){return"undefined"==typeof window?"smooth":window.matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":"smooth"}function H(e,t,n=D){const o=t.getBoundingClientRect(),r=window.innerWidth,i=window.innerHeight,s=Math.max(0,o.left-n),a=Math.max(0,o.top-n),l=Math.min(r-s,o.width+2*n),u=Math.min(i-a,o.height+2*n);e.setState("spotlightRect",{x:s,y:a,width:l,height:u})}const I=h.createContext(null);function Y(e){const t=h.useContext(I);if(!t)throw new Error(`\`${e}\` must be used within \`${k}\``);return t}const W=h.createContext(null);function V(e){const t=h.useContext(W);if(!t)throw new Error(`\`${e}\` must be used within \`${k}\``);return t}const X=h.createContext(null);function q(e){const t=h.useContext(X);if(!t)throw new Error(`\`${e}\` must be used within \`${O}\``);return t}const K=h.createContext(!1),U=h.createContext(null);function G(t){const{open:n,defaultOpen:o=!1,onOpenChange:r,value:i,defaultValue:s=0,onValueChange:a,onComplete:l,onSkip:u,autoScroll:d=!0,scrollBehavior:f=z(),scrollOffset:p,onEscapeKeyDown:m,onPointerDownOutside:g,onInteractOutside:v,onOpenAutoFocus:y,onCloseAutoFocus:x,alignOffset:E=T,sideOffset:S=R,spotlightPadding:P=D,dismissible:k=!0,modal:O=!0,stepFooter:A,asChild:F,...M}=t,$="ltr",[H,Y]=h.useState(null),V=h.useRef(void 0),X=h.useRef(null),q=b(()=>({open:n??o,value:i??s,steps:[],spotlightRect:null})),K=b(()=>new Set),G=b(()=>new Map),J=b(()=>({current:0})),Q=C({valueProp:i,onOpenChange:r,onValueChange:a,onComplete:l,onSkip:u,onEscapeKeyDown:m,onCloseAutoFocus:x,autoScroll:d,scrollBehavior:f,scrollOffset:p}),Z=h.useMemo(()=>({subscribe:e=>(K.current.add(e),()=>K.current.delete(e)),getState:()=>q.current,setState:(e,t)=>{if(!Object.is(q.current[e],t)){if(q.current[e]=t,"open"===e&&"boolean"==typeof t)Q.current.onOpenChange?.(t),t?q.current.steps.length>0&&q.current.value>=q.current.steps.length&&Z.setState("value",0):q.current.value<(q.current.steps.length||0)-1&&Q.current.onSkip?.();else if("value"===e&&"number"==typeof t){const e=q.current.steps[q.current.value],n=q.current.steps[t];if(e?.onStepLeave?.(),n?.onStepEnter?.(),t>=q.current.steps.length)return Q.current.onComplete?.(),void 0!==Q.current.valueProp&&Q.current.onValueChange?.(t),void Z.setState("open",!1);if(void 0!==Q.current.valueProp)return void Q.current.onValueChange?.(t);if(Q.current.onValueChange?.(t),n&&Q.current.autoScroll){const e=j(n.target);e&&function(e,t=z(),n){const o={top:100,bottom:100,left:0,right:0,...n},r=e.getBoundingClientRect(),i=window.innerHeight,s=window.innerWidth;if(!(r.top>=o.top&&r.bottom<=i-o.bottom&&r.left>=o.left&&r.right<=s-o.right)){const e=r.top+window.scrollY-o.top;window.scrollTo({top:Math.max(0,e),behavior:t})}}(e,Q.current.scrollBehavior,Q.current.scrollOffset)}}Z.notify()}},notify:()=>{K.current.forEach(e=>{e()})},addStep:e=>{const t="step-"+J.current.current++,n=q.current.steps.length;return G.current.set(t,n),q.current.steps=[...q.current.steps,e],Z.notify(),{id:t,index:n}},removeStep:e=>{const t=G.current.get(e);if(void 0!==t){q.current.steps=q.current.steps.filter((e,n)=>n!==t),G.current.delete(e);for(const[e,n]of G.current.entries())n>t&&G.current.set(e,n-1);Z.notify()}}}),[q,K,G,J,Q]),_=B(e=>e.open,Z);h.useEffect(()=>{function e(e){if(_&&"Escape"===e.key){if(Q.current.onEscapeKeyDown&&(Q.current.onEscapeKeyDown(e),e.defaultPrevented))return;Z.setState("open",!1)}}return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[Z,_,Q]),w(()=>{const e=V.current;_&&!e?X.current=document.activeElement:!_&&e&&setTimeout(()=>{const e=H??document.body,t=new CustomEvent(N,L);if(Q.current.onCloseAutoFocus&&e.addEventListener(N,Q.current.onCloseAutoFocus,{once:!0}),e.dispatchEvent(t),!t.defaultPrevented){const e=X.current;e&&document.body.contains(e)&&e.focus({preventScroll:!0})}X.current=null},0),V.current=_},[_,H,Q]),w(()=>{void 0!==n&&Z.setState("open",n)},[n,Z]),w(()=>{void 0!==i&&Z.setState("value",i)},[i,Z]);const ee=h.useMemo(()=>({dir:$,alignOffset:E,sideOffset:S,spotlightPadding:P,dismissible:k,modal:O,stepFooter:A,onPointerDownOutside:g,onInteractOutside:v,onOpenAutoFocus:y,onCloseAutoFocus:x}),[$,E,S,P,k,O,A,g,v,y,x]),te=h.useMemo(()=>({portal:H,onPortalChange:Y}),[H]);var ne;ne=_&&O,h.useEffect(()=>{if(!ne)return;const e=window.getComputedStyle(document.body).overflow,t=window.innerWidth-document.documentElement.clientWidth;return document.body.style.overflow="hidden",t>0&&(document.body.style.paddingRight=`${t}px`),()=>{document.body.style.overflow=e,document.body.style.paddingRight=""}},[ne]);const oe=F?c:"div";return e(I.Provider,{value:Z,children:e(W.Provider,{value:ee,children:e(U.Provider,{value:te,children:e(oe,{"data-slot":"tour",dir:$,...M})})})})}function J(n){const{target:f,side:p="bottom",sideOffset:m,align:g="center",alignOffset:b,collisionBoundary:C=[],collisionPadding:x=0,arrowPadding:k=0,sticky:A="partial",hideWhenDetached:T=!1,avoidCollisions:R=!0,required:D=!1,forceMount:M=!1,hideCloseButton:$=!1,onStepEnter:z,onStepLeave:I,onPointerDownCapture:W,onFocusCapture:q,onBlurCapture:U,children:G,className:J,style:Q,asChild:Z,..._}=n,te=Y(O),[ne,oe]=h.useState(null),[ie,se]=h.useState(null),ae=h.useRef(null),le=h.useRef(""),ue=h.useRef(-1),de=h.useRef(!1),ce=h.useRef(!1),fe=B(e=>e.open),pe=B(e=>e.value),me=B(e=>e.steps),he=V(O),ge=m??he.sideOffset,ve=b??he.alignOffset;w(()=>{const{id:e,index:t}=te.addStep({target:f,align:g,alignOffset:ve,side:p,sideOffset:ge,collisionBoundary:C,collisionPadding:x,arrowPadding:k,sticky:A,hideWhenDetached:T,avoidCollisions:R,onStepEnter:z,onStepLeave:I,required:D});return le.current=e,ue.current=t,()=>{te.removeStep(le.current)}},[f,p,ge,g,ve,x,k,A,T,R,D,z,I,te]);const we=me[pe],be=we?j(we.target):null,Ce=ue.current===pe,ye=h.useMemo(()=>{if(!we)return[];const e=we.sideOffset??ge,t=we.alignOffset??ve,n="number"==typeof we.collisionPadding?we.collisionPadding:{top:we.collisionPadding?.top??0,right:we.collisionPadding?.right??0,bottom:we.collisionPadding?.bottom??0,left:we.collisionPadding?.left??0},u=Array.isArray(we.collisionBoundary)?we.collisionBoundary:we.collisionBoundary?[we.collisionBoundary]:[],d=u.length>0,c={padding:n,boundary:u.filter(e=>null!==e),altBoundary:d};return[o({mainAxis:e,alignmentAxis:t}),we.avoidCollisions&&r({mainAxis:!0,crossAxis:!1,limiter:"partial"===we.sticky?l():void 0,...c}),we.avoidCollisions&&i({...c}),ne&&s({element:ne,padding:we.arrowPadding}),we.hideWhenDetached&&a({strategy:"referenceHidden",...c})].filter(Boolean)},[we,ge,ve,ne]),xe=function(e,t){return"center"===t?e:`${e}-${t}`}(we?.side??p,we?.align??g),{refs:Ee,floatingStyles:Se,placement:Pe,middlewareData:ke}=u({placement:xe,middleware:ye,strategy:"fixed",whileElementsMounted:d,elements:{reference:be}}),Oe=v(Ee.setFloating,ae),[Ae,Fe]=function(e){const[t,n="center"]=e.split("-");return[t,n]}(Pe),Ne=ke.arrow?.x,Le=ke.arrow?.y,Te=0!==ke.arrow?.centerOffset,Re=T&&ke.hide?.referenceHidden,De=h.useMemo(()=>({arrowX:Ne,arrowY:Le,placedAlign:Fe,placedSide:Ae,shouldHideArrow:Te,onArrowChange:oe,onFooterChange:se}),[Ne,Le,Ae,Fe,Te]);h.useEffect(()=>{if(fe&&be&&Ce){H(te,be,he.spotlightPadding);let e=null;const t=()=>{be&&H(te,be,he.spotlightPadding)},n=()=>{null===e&&(e=requestAnimationFrame(()=>{be&&H(te,be,he.spotlightPadding),e=null}))};return window.addEventListener("resize",t),window.addEventListener("scroll",n,{passive:!0}),()=>{window.removeEventListener("resize",t),window.removeEventListener("scroll",n),null!==e&&cancelAnimationFrame(e)}}},[fe,be,Ce,te,he.spotlightPadding]),h.useEffect(()=>{if(!fe||!Ce)return;const e=ae.current;if(!e)return;const t=e.ownerDocument;function n(e){if(e.target&&!de.current){const t=new CustomEvent("tour.pointerDownOutside",{...L,detail:{originalEvent:e}});he.onPointerDownOutside?.(t);const n=new CustomEvent(F,{...L,detail:{originalEvent:e}});he.onInteractOutside?.(n),t.defaultPrevented||n.defaultPrevented||!he.dismissible||te.setState("open",!1)}de.current=!1}const o=window.setTimeout(()=>{t.addEventListener("pointerdown",n)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",n)}},[fe,Ce,te,he]),h.useEffect(()=>{if(!fe||!Ce)return;const e=ae.current;if(!e)return;const t=e.ownerDocument;function n(t){const n=t.target,o=e?.contains(n),r=be?.contains(n);if(t.target&&!ce.current&&!o&&!r){const e=new CustomEvent(F,{...L,detail:{originalEvent:t}});he.onInteractOutside?.(e),!e.defaultPrevented&&he.dismissible&&te.setState("open",!1)}}return t.addEventListener("focusin",n),()=>{t.removeEventListener("focusin",n)}},[fe,Ce,te,he,be]);const Me=h.useCallback(e=>{W?.(e),de.current=!0},[W]),$e=h.useCallback(e=>{q?.(e),ce.current=!0},[q]),Be=h.useCallback(e=>{U?.(e),ce.current=!1},[U]);if(h.useEffect(()=>{if(fe&&Ce&&be)return be.addEventListener("pointerdown",e,!0),be.addEventListener("focus",t,!0),be.addEventListener("blur",n,!0),()=>{be.removeEventListener("pointerdown",e,!0),be.removeEventListener("focus",t,!0),be.removeEventListener("blur",n,!0)};function e(){de.current=!0}function t(){ce.current=!0}function n(){ce.current=!1}},[fe,Ce,be]),S(),P(ae,fe&&Ce,fe,{onOpenAutoFocus:he.onOpenAutoFocus,onCloseAutoFocus:he.onCloseAutoFocus,openAutoFocusEvent:"tour.openAutoFocus",closeAutoFocusEvent:N,eventOptions:L}),!fe||!we||!be&&!M||!Ce)return null;const je=Z?c:"div";return e(X.Provider,{value:De,children:e(je,{ref:Oe,"data-slot":"tour-step","data-side":Ae,"data-align":Fe,dir:he.dir,tabIndex:-1,..._,onPointerDownCapture:Me,onFocusCapture:$e,onBlurCapture:Be,className:y("fixed z-50",J),style:{...Q,...Se,visibility:Re?"hidden":void 0,pointerEvents:Re?"none":void 0},children:t(E,{"data-side":Ae,"data-open":fe?"":void 0,"data-closed":fe?void 0:"",className:"bg-popover popup-animate text-popover-foreground flex w-80 flex-col gap-4 duration-300 outline-none",children:[e(ee,{}),G,!ie&&e(K.Provider,{value:!0,children:he.stepFooter}),!$&&e(re,{})]})})})}function Q(n){const{asChild:o,className:r,style:i,forceMount:s=!1,...a}=n,l=h.useId(),u=B(e=>e.open),d=B(e=>e.spotlightRect);if(!u&&!s||!d)return null;const f="12px";return e(o?c:"div",{"data-slot":"tour-spotlight","data-state":$(u),...a,className:y("data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=open]:animate-in pointer-events-none fixed inset-0 z-50",r),style:i,children:t("svg",{"aria-hidden":"true",className:"block h-full w-full",children:[e("defs",{children:t("mask",{id:l,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse",x:"0",y:"0",width:"100%",height:"100%",children:[e("rect",{width:"100%",height:"100%",fill:"white"}),e("rect",{x:d.x,y:d.y,width:d.width,height:d.height,rx:f,ry:f,fill:"black"})]})}),e("rect",{width:"100%",height:"100%",fill:"rgba(0,0,0,0.8)",mask:`url(#${l})`})]})})}function Z(t){const{asChild:n,className:o,style:r,forceMount:i=!1,...s}=t,a=B(e=>e.open),l=B(e=>e.spotlightRect);if(!a&&!i)return null;if(!l)return null;return e(n?c:"div",{"data-slot":"tour-spotlight-ring","data-state":$(a),...s,className:y("border-ring ring-ring/50 pointer-events-none fixed z-50 rounded-[12px] ring-[3px]",o),style:{left:l.x,top:l.y,width:l.width,height:l.height,...r}})}function _(e){const{children:t,container:n}=e,o=function(e){const t=h.useContext(U);if(!t)throw new Error(`\`${e}\` must be used within \`${k}\``);return t}("TourPortal"),[r,i]=h.useState(!1);if(w(()=>{i(!0);const e=n??document.body;return o?.onPortalChange(e),()=>{o?.onPortalChange(null)}},[n,o]),!r)return null;const s=n??o?.portal??document.body;return g.createPortal(t,s)}function ee(t){const{className:n,children:o,asChild:r,...i}=t,s=q("TourArrow"),a=M[s.placedSide];return e("span",{ref:s.onArrowChange,"data-slot":"tour-arrow",style:{position:"absolute",left:null!=s.arrowX?`${s.arrowX}px`:void 0,top:null!=s.arrowY?`${s.arrowY}px`:void 0,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(56%)",right:"translateY(50%) translateX(-50%)",bottom:"rotate(180deg) translateY(-44%)",left:"translateY(50%) translateX(60%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:r?o:e("div",{"data-side":s.placedSide,className:y("border-border bg-popover size-[12px] rotate-45 rounded-[1px] border","data-[side=bottom]:border-t-0 data-[side=bottom]:border-l-0","data-[side=left]:border-b-0 data-[side=left]:border-l-0","data-[side=right]:border-t-0 data-[side=right]:border-r-0","data-[side=top]:border-t-0 data-[side=top]:border-l-0"),...i})})}function te(t){const{asChild:n,className:o,...r}=t,i=V("TourHeader");return e(n?c:"div",{"data-slot":"tour-header",dir:i.dir,...r,className:y("flex flex-col gap-1.5 text-center sm:text-left",o)})}function ne(t){const{asChild:n,className:o,...r}=t,i=V("TourTitle");return e(n?c:"div",{"data-slot":"tour-title",dir:i.dir,...r,className:y("text-lg leading-none font-semibold tracking-tight",o)})}function oe(t){const{asChild:n,className:o,...r}=t,i=V("TourDescription");return e(n?c:"div",{"data-slot":"tour-description",dir:i.dir,...r,className:y("text-muted-foreground text-sm",o)})}function re(t){const{asChild:n,className:o,onClick:r,...i}=t,s=Y("TourClose"),a=h.useCallback(e=>{r?.(e),e.defaultPrevented||s.setState("open",!1)},[s,r]);return e(x,{tabIndex:-1,variant:"secondary",size:"icon-sm",type:"button","aria-label":"Закрыть информационное окно",onClick:a,className:y("absolute top-3 right-3",o),...i,children:e(f,{className:"size-4"})})}function ie(o){const{children:r,onClick:i,...s}=o,a=Y("TourPrev"),l=B(e=>e.value),u=h.useCallback(e=>{i?.(e),e.defaultPrevented||l>0&&a.setState("value",l-1)},[l,a,i]);return e(x,{type:"button","aria-label":"Previous step","data-slot":"tour-prev",variant:"outline",...s,onClick:u,disabled:0===l,children:r??t(n,{children:[e(p,{}),"Назад"]})})}function se(o){const{children:r,onClick:i,...s}=o,a=Y("TourNext"),l=B(e=>e.value),u=B(e=>e.steps),d=l===u.length-1,c=h.useCallback(e=>{i?.(e),e.defaultPrevented||a.setState("value",l+1)},[l,a,i]);return e(x,{type:"button","aria-label":"Next step","data-slot":"tour-next",...s,onClick:c,children:r??t(n,{children:[d?"Понятно!":"Вперед",!d&&e(m,{})]})})}function ae(t){const{children:n,onClick:o,...r}=t,i=Y("TourSkip"),s=h.useCallback(e=>{o?.(e),e.defaultPrevented||i.setState("open",!1)},[i,o]);return e(x,{type:"button","aria-label":"Skip tour","data-slot":"tour-skip",variant:"outline",...r,onClick:s,children:n??"Пропустить"})}function le(t){const{format:n=(e,t)=>`${e} / ${t}`,asChild:o,className:r,children:i,...s}=t,a=B(e=>e.value),l=B(e=>e.steps);return e(o?c:"div",{"data-slot":"tour-step-counter",...s,className:y("text-muted-foreground text-sm",r),children:i??n(a+1,l.length)})}function ue(t){const{asChild:n,className:o,ref:r,...i}=t,s=q(A),a=h.useContext(K),l=V(A),u=v(r,a?void 0:s.onFooterChange);return e(n?c:"div",{"data-slot":"tour-footer",dir:l.dir,...i,ref:u,className:y("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",o)})}export{G as Tour,ee as TourArrow,re as TourClose,oe as TourDescription,ue as TourFooter,te as TourHeader,se as TourNext,_ as TourPortal,ie as TourPrev,ae as TourSkip,Q as TourSpotlight,Z as TourSpotlightRing,J as TourStep,le as TourStepCounter,ne as TourTitle};
1
+ import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{offset as o,shift as r,flip as i,arrow as s,hide as a,limitShift as l,useFloating as u,autoUpdate as d}from"@floating-ui/react-dom";import{Slot as c}from"@radix-ui/react-slot";import{X as f,ChevronLeft as p,ChevronRight as m}from"lucide-react";import*as h from"react";import*as g from"react-dom";import"copy-to-clipboard";import{useComposedRefs as v}from"../../lib/hooks/useComposedRefs.js";import{useIsomorphicLayoutEffect as w}from"../../lib/hooks/useIsomorphicLayoutEffect.js";import{useLazyRef as b}from"../../lib/hooks/useLazyRef.js";import{useAsRef as C}from"../../lib/hooks/useAsRef.js";import{cn as y}from"../../lib/utils/cn.js";import{Button as x}from"../button/button.js";import"../tooltip/tooltip.js";import{Card as E}from"../card/card.js";import{useFocusGuards as S}from"./useFocusGuards.js";import{useFocusTrap as P}from"./useFocusTrap.js";const k="Tour",O="TourStep",A="TourFooter",F="tour.interactOutside",N="tour.closeAutoFocus",L={bubbles:!1,cancelable:!0},T=0,R=20,D=8,M={top:"bottom",right:"left",bottom:"top",left:"right"};function $(e){return e?"open":"closed"}function B(e,t){const n=h.useContext(I),o=t??n;if(!o)throw new Error(`\`useStore\` must be used within \`${k}\``);const r=h.useCallback(()=>e(o.getState()),[o,e]);return h.useSyncExternalStore(o.subscribe,r,r)}function j(e){return"string"==typeof e?document.querySelector(e):e&&"current"in e?e.current:e instanceof HTMLElement?e:null}function z(){return"undefined"==typeof window?"smooth":window.matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":"smooth"}function H(e,t,n=D){const o=t.getBoundingClientRect(),r=window.innerWidth,i=window.innerHeight,s=Math.max(0,o.left-n),a=Math.max(0,o.top-n),l=Math.min(r-s,o.width+2*n),u=Math.min(i-a,o.height+2*n);e.setState("spotlightRect",{x:s,y:a,width:l,height:u})}const I=h.createContext(null);function Y(e){const t=h.useContext(I);if(!t)throw new Error(`\`${e}\` must be used within \`${k}\``);return t}const W=h.createContext(null);function V(e){const t=h.useContext(W);if(!t)throw new Error(`\`${e}\` must be used within \`${k}\``);return t}const X=h.createContext(null);function q(e){const t=h.useContext(X);if(!t)throw new Error(`\`${e}\` must be used within \`${O}\``);return t}const K=h.createContext(!1),U=h.createContext(null);function G(t){const{open:n,defaultOpen:o=!1,onOpenChange:r,value:i,defaultValue:s=0,onValueChange:a,onComplete:l,onSkip:u,autoScroll:d=!0,scrollBehavior:f=z(),scrollOffset:p,onEscapeKeyDown:m,onPointerDownOutside:g,onInteractOutside:v,onOpenAutoFocus:y,onCloseAutoFocus:x,alignOffset:E=T,sideOffset:S=R,spotlightPadding:P=D,dismissible:k=!0,modal:O=!0,stepFooter:A,asChild:F,...M}=t,$="ltr",[H,Y]=h.useState(null),V=h.useRef(void 0),X=h.useRef(null),q=b(()=>({open:n??o,value:i??s,steps:[],spotlightRect:null})),K=b(()=>new Set),G=b(()=>new Map),J=b(()=>({current:0})),Q=C({valueProp:i,onOpenChange:r,onValueChange:a,onComplete:l,onSkip:u,onEscapeKeyDown:m,onCloseAutoFocus:x,autoScroll:d,scrollBehavior:f,scrollOffset:p}),Z=h.useMemo(()=>({subscribe:e=>(K.current.add(e),()=>K.current.delete(e)),getState:()=>q.current,setState:(e,t)=>{if(!Object.is(q.current[e],t)){if(q.current[e]=t,"open"===e&&"boolean"==typeof t)Q.current.onOpenChange?.(t),t?q.current.steps.length>0&&q.current.value>=q.current.steps.length&&Z.setState("value",0):q.current.value<(q.current.steps.length||0)-1&&Q.current.onSkip?.();else if("value"===e&&"number"==typeof t){const e=q.current.steps[q.current.value],n=q.current.steps[t];if(e?.onStepLeave?.(),n?.onStepEnter?.(),t>=q.current.steps.length)return Q.current.onComplete?.(),void 0!==Q.current.valueProp&&Q.current.onValueChange?.(t),void Z.setState("open",!1);if(void 0!==Q.current.valueProp)return void Q.current.onValueChange?.(t);if(Q.current.onValueChange?.(t),n&&Q.current.autoScroll){const e=j(n.target);e&&function(e,t=z(),n){const o={top:100,bottom:100,left:0,right:0,...n},r=e.getBoundingClientRect(),i=window.innerHeight,s=window.innerWidth;if(!(r.top>=o.top&&r.bottom<=i-o.bottom&&r.left>=o.left&&r.right<=s-o.right)){const e=r.top+window.scrollY-o.top;window.scrollTo({top:Math.max(0,e),behavior:t})}}(e,Q.current.scrollBehavior,Q.current.scrollOffset)}}Z.notify()}},notify:()=>{K.current.forEach(e=>{e()})},addStep:e=>{const t="step-"+J.current.current++,n=q.current.steps.length;return G.current.set(t,n),q.current.steps=[...q.current.steps,e],Z.notify(),{id:t,index:n}},removeStep:e=>{const t=G.current.get(e);if(void 0!==t){q.current.steps=q.current.steps.filter((e,n)=>n!==t),G.current.delete(e);for(const[e,n]of G.current.entries())n>t&&G.current.set(e,n-1);Z.notify()}}}),[q,K,G,J,Q]),_=B(e=>e.open,Z);h.useEffect(()=>{function e(e){if(_&&"Escape"===e.key){if(Q.current.onEscapeKeyDown&&(Q.current.onEscapeKeyDown(e),e.defaultPrevented))return;Z.setState("open",!1)}}return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[Z,_,Q]),w(()=>{const e=V.current;_&&!e?X.current=document.activeElement:!_&&e&&setTimeout(()=>{const e=H??document.body,t=new CustomEvent(N,L);if(Q.current.onCloseAutoFocus&&e.addEventListener(N,Q.current.onCloseAutoFocus,{once:!0}),e.dispatchEvent(t),!t.defaultPrevented){const e=X.current;e&&document.body.contains(e)&&e.focus({preventScroll:!0})}X.current=null},0),V.current=_},[_,H,Q]),w(()=>{void 0!==n&&Z.setState("open",n)},[n,Z]),w(()=>{void 0!==i&&Z.setState("value",i)},[i,Z]);const ee=h.useMemo(()=>({dir:$,alignOffset:E,sideOffset:S,spotlightPadding:P,dismissible:k,modal:O,stepFooter:A,onPointerDownOutside:g,onInteractOutside:v,onOpenAutoFocus:y,onCloseAutoFocus:x}),[$,E,S,P,k,O,A,g,v,y,x]),te=h.useMemo(()=>({portal:H,onPortalChange:Y}),[H]);var ne;ne=_&&O,h.useEffect(()=>{if(!ne)return;const e=window.getComputedStyle(document.body).overflow,t=window.innerWidth-document.documentElement.clientWidth;return document.body.style.overflow="hidden",t>0&&(document.body.style.paddingRight=`${t}px`),()=>{document.body.style.overflow=e,document.body.style.paddingRight=""}},[ne]);const oe=F?c:"div";return e(I.Provider,{value:Z,children:e(W.Provider,{value:ee,children:e(U.Provider,{value:te,children:e(oe,{"data-slot":"tour",dir:$,...M})})})})}function J(n){const{target:f,side:p="bottom",sideOffset:m,align:g="center",alignOffset:b,collisionBoundary:C=[],collisionPadding:x=0,arrowPadding:k=0,sticky:A="partial",hideWhenDetached:T=!1,avoidCollisions:R=!0,required:D=!1,forceMount:M=!1,hideCloseButton:$=!1,onStepEnter:z,onStepLeave:I,onPointerDownCapture:W,onFocusCapture:q,onBlurCapture:U,children:G,className:J,style:Q,asChild:Z,..._}=n,te=Y(O),[ne,oe]=h.useState(null),[ie,se]=h.useState(null),ae=h.useRef(null),le=h.useRef(""),ue=h.useRef(-1),de=h.useRef(!1),ce=h.useRef(!1),fe=B(e=>e.open),pe=B(e=>e.value),me=B(e=>e.steps),he=V(O),ge=m??he.sideOffset,ve=b??he.alignOffset;w(()=>{const{id:e,index:t}=te.addStep({target:f,align:g,alignOffset:ve,side:p,sideOffset:ge,collisionBoundary:C,collisionPadding:x,arrowPadding:k,sticky:A,hideWhenDetached:T,avoidCollisions:R,onStepEnter:z,onStepLeave:I,required:D});return le.current=e,ue.current=t,()=>{te.removeStep(le.current)}},[f,p,ge,g,ve,x,k,A,T,R,D,z,I,te]);const we=me[pe],be=we?j(we.target):null,Ce=ue.current===pe,ye=h.useMemo(()=>{if(!we)return[];const e=we.sideOffset??ge,t=we.alignOffset??ve,n="number"==typeof we.collisionPadding?we.collisionPadding:{top:we.collisionPadding?.top??0,right:we.collisionPadding?.right??0,bottom:we.collisionPadding?.bottom??0,left:we.collisionPadding?.left??0},u=Array.isArray(we.collisionBoundary)?we.collisionBoundary:we.collisionBoundary?[we.collisionBoundary]:[],d=u.length>0,c={padding:n,boundary:u.filter(e=>null!==e),altBoundary:d};return[o({mainAxis:e,alignmentAxis:t}),we.avoidCollisions&&r({mainAxis:!0,crossAxis:!1,limiter:"partial"===we.sticky?l():void 0,...c}),we.avoidCollisions&&i({...c}),ne&&s({element:ne,padding:we.arrowPadding}),we.hideWhenDetached&&a({strategy:"referenceHidden",...c})].filter(Boolean)},[we,ge,ve,ne]),xe=function(e,t){return"center"===t?e:`${e}-${t}`}(we?.side??p,we?.align??g),{refs:Ee,floatingStyles:Se,placement:Pe,middlewareData:ke}=u({placement:xe,middleware:ye,strategy:"fixed",whileElementsMounted:d,elements:{reference:be}}),Oe=v(Ee.setFloating,ae),[Ae,Fe]=function(e){const[t,n="center"]=e.split("-");return[t,n]}(Pe),Ne=ke.arrow?.x,Le=ke.arrow?.y,Te=0!==ke.arrow?.centerOffset,Re=T&&ke.hide?.referenceHidden,De=h.useMemo(()=>({arrowX:Ne,arrowY:Le,placedAlign:Fe,placedSide:Ae,shouldHideArrow:Te,onArrowChange:oe,onFooterChange:se}),[Ne,Le,Ae,Fe,Te]);h.useEffect(()=>{if(fe&&be&&Ce){H(te,be,he.spotlightPadding);let e=null;const t=()=>{be&&H(te,be,he.spotlightPadding)},n=()=>{null===e&&(e=requestAnimationFrame(()=>{be&&H(te,be,he.spotlightPadding),e=null}))};return window.addEventListener("resize",t),window.addEventListener("scroll",n,{passive:!0}),()=>{window.removeEventListener("resize",t),window.removeEventListener("scroll",n),null!==e&&cancelAnimationFrame(e)}}},[fe,be,Ce,te,he.spotlightPadding]),h.useEffect(()=>{if(!fe||!Ce)return;const e=ae.current;if(!e)return;const t=e.ownerDocument;function n(e){if(e.target&&!de.current){const t=new CustomEvent("tour.pointerDownOutside",{...L,detail:{originalEvent:e}});he.onPointerDownOutside?.(t);const n=new CustomEvent(F,{...L,detail:{originalEvent:e}});he.onInteractOutside?.(n),t.defaultPrevented||n.defaultPrevented||!he.dismissible||te.setState("open",!1)}de.current=!1}const o=window.setTimeout(()=>{t.addEventListener("pointerdown",n)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",n)}},[fe,Ce,te,he]),h.useEffect(()=>{if(!fe||!Ce)return;const e=ae.current;if(!e)return;const t=e.ownerDocument;function n(t){const n=t.target,o=e?.contains(n),r=be?.contains(n);if(t.target&&!ce.current&&!o&&!r){const e=new CustomEvent(F,{...L,detail:{originalEvent:t}});he.onInteractOutside?.(e),!e.defaultPrevented&&he.dismissible&&te.setState("open",!1)}}return t.addEventListener("focusin",n),()=>{t.removeEventListener("focusin",n)}},[fe,Ce,te,he,be]);const Me=h.useCallback(e=>{W?.(e),de.current=!0},[W]),$e=h.useCallback(e=>{q?.(e),ce.current=!0},[q]),Be=h.useCallback(e=>{U?.(e),ce.current=!1},[U]);if(h.useEffect(()=>{if(fe&&Ce&&be)return be.addEventListener("pointerdown",e,!0),be.addEventListener("focus",t,!0),be.addEventListener("blur",n,!0),()=>{be.removeEventListener("pointerdown",e,!0),be.removeEventListener("focus",t,!0),be.removeEventListener("blur",n,!0)};function e(){de.current=!0}function t(){ce.current=!0}function n(){ce.current=!1}},[fe,Ce,be]),S(),P(ae,fe&&Ce,fe,{onOpenAutoFocus:he.onOpenAutoFocus,onCloseAutoFocus:he.onCloseAutoFocus,openAutoFocusEvent:"tour.openAutoFocus",closeAutoFocusEvent:N,eventOptions:L}),!fe||!we||!be&&!M||!Ce)return null;const je=Z?c:"div";return e(X.Provider,{value:De,children:e(je,{ref:Oe,"data-slot":"tour-step","data-side":Ae,"data-align":Fe,dir:he.dir,tabIndex:-1,..._,onPointerDownCapture:Me,onFocusCapture:$e,onBlurCapture:Be,className:y("fixed z-50",J),style:{...Q,...Se,visibility:Re?"hidden":void 0,pointerEvents:Re?"none":void 0},children:t(E,{"data-side":Ae,"data-open":fe?"":void 0,"data-closed":fe?void 0:"",className:"bg-popover popup-animate text-popover-foreground flex w-80 flex-col gap-4 duration-300 outline-none",children:[e(ee,{}),G,!ie&&e(K.Provider,{value:!0,children:he.stepFooter}),!$&&e(re,{})]})})})}function Q(n){const{asChild:o,className:r,style:i,forceMount:s=!1,...a}=n,l=h.useId(),u=B(e=>e.open),d=B(e=>e.spotlightRect);if(!u&&!s||!d)return null;const f="12px";return e(o?c:"div",{"data-slot":"tour-spotlight","data-state":$(u),...a,className:y("data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=open]:animate-in pointer-events-none fixed inset-0 z-50",r),style:i,children:t("svg",{"aria-hidden":"true",className:"block h-full w-full",children:[e("defs",{children:t("mask",{id:l,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse",x:"0",y:"0",width:"100%",height:"100%",children:[e("rect",{width:"100%",height:"100%",fill:"white"}),e("rect",{x:d.x,y:d.y,width:d.width,height:d.height,rx:f,ry:f,fill:"black"})]})}),e("rect",{width:"100%",height:"100%",fill:"rgba(0,0,0,0.8)",mask:`url(#${l})`})]})})}function Z(t){const{asChild:n,className:o,style:r,forceMount:i=!1,...s}=t,a=B(e=>e.open),l=B(e=>e.spotlightRect);if(!a&&!i)return null;if(!l)return null;return e(n?c:"div",{"data-slot":"tour-spotlight-ring","data-state":$(a),...s,className:y("border-ring ring-ring/50 pointer-events-none fixed z-50 rounded-[12px] ring-[3px]",o),style:{left:l.x,top:l.y,width:l.width,height:l.height,...r}})}function _(e){const{children:t,container:n}=e,o=function(e){const t=h.useContext(U);if(!t)throw new Error(`\`${e}\` must be used within \`${k}\``);return t}("TourPortal"),[r,i]=h.useState(!1);if(w(()=>{i(!0);const e=n??document.body;return o?.onPortalChange(e),()=>{o?.onPortalChange(null)}},[n,o]),!r)return null;const s=n??o?.portal??document.body;return g.createPortal(t,s)}function ee(t){const{className:n,children:o,asChild:r,...i}=t,s=q("TourArrow"),a=M[s.placedSide];return e("span",{ref:s.onArrowChange,"data-slot":"tour-arrow",style:{position:"absolute",left:null!=s.arrowX?`${s.arrowX}px`:void 0,top:null!=s.arrowY?`${s.arrowY}px`:void 0,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(56%)",right:"translateY(50%) translateX(-50%)",bottom:"rotate(180deg) translateY(-44%)",left:"translateY(50%) translateX(60%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:r?o:e("div",{"data-side":s.placedSide,className:y("border-border bg-popover size-[12px] rotate-45 rounded-[1px] border","data-[side=bottom]:border-t-0 data-[side=bottom]:border-l-0","data-[side=left]:border-b-0 data-[side=left]:border-l-0","data-[side=right]:border-t-0 data-[side=right]:border-r-0","data-[side=top]:border-t-0 data-[side=top]:border-l-0"),...i})})}function te(t){const{asChild:n,className:o,...r}=t,i=V("TourHeader");return e(n?c:"div",{"data-slot":"tour-header",dir:i.dir,...r,className:y("flex flex-col gap-1.5 text-center sm:text-left",o)})}function ne(t){const{asChild:n,className:o,...r}=t,i=V("TourTitle");return e(n?c:"div",{"data-slot":"tour-title",dir:i.dir,...r,className:y("text-lg leading-none font-semibold tracking-tight",o)})}function oe(t){const{asChild:n,className:o,...r}=t,i=V("TourDescription");return e(n?c:"div",{"data-slot":"tour-description",dir:i.dir,...r,className:y("text-muted-foreground text-sm",o)})}function re(t){const{asChild:n,className:o,onClick:r,...i}=t,s=Y("TourClose"),a=h.useCallback(e=>{r?.(e),e.defaultPrevented||s.setState("open",!1)},[s,r]);return e(x,{tabIndex:-1,variant:"secondary",size:"icon-sm",type:"button","aria-label":"Закрыть информационное окно",onClick:a,className:y("absolute top-3 right-3",o),...i,children:e(f,{className:"size-4"})})}function ie(o){const{children:r,onClick:i,...s}=o,a=Y("TourPrev"),l=B(e=>e.value),u=h.useCallback(e=>{i?.(e),e.defaultPrevented||l>0&&a.setState("value",l-1)},[l,a,i]);return e(x,{type:"button","aria-label":"Previous step","data-slot":"tour-prev",variant:"outline",...s,onClick:u,disabled:0===l,children:r??t(n,{children:[e(p,{}),"Назад"]})})}function se(o){const{children:r,onClick:i,...s}=o,a=Y("TourNext"),l=B(e=>e.value),u=B(e=>e.steps),d=l===u.length-1,c=h.useCallback(e=>{i?.(e),e.defaultPrevented||a.setState("value",l+1)},[l,a,i]);return e(x,{type:"button","aria-label":"Next step","data-slot":"tour-next",...s,onClick:c,children:r??t(n,{children:[d?"Понятно!":"Вперед",!d&&e(m,{})]})})}function ae(t){const{children:n,onClick:o,...r}=t,i=Y("TourSkip"),s=h.useCallback(e=>{o?.(e),e.defaultPrevented||i.setState("open",!1)},[i,o]);return e(x,{type:"button","aria-label":"Skip tour","data-slot":"tour-skip",variant:"outline",...r,onClick:s,children:n??"Пропустить"})}function le(t){const{format:n=(e,t)=>`${e} / ${t}`,asChild:o,className:r,children:i,...s}=t,a=B(e=>e.value),l=B(e=>e.steps);return e(o?c:"div",{"data-slot":"tour-step-counter",...s,className:y("text-muted-foreground text-sm",r),children:i??n(a+1,l.length)})}function ue(t){const{asChild:n,className:o,ref:r,...i}=t,s=q(A),a=h.useContext(K),l=V(A),u=v(r,a?void 0:s.onFooterChange);return e(n?c:"div",{"data-slot":"tour-footer",dir:l.dir,...i,ref:u,className:y("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",o)})}export{G as Tour,ee as TourArrow,re as TourClose,oe as TourDescription,ue as TourFooter,te as TourHeader,se as TourNext,_ as TourPortal,ie as TourPrev,ae as TourSkip,Q as TourSpotlight,Z as TourSpotlightRing,J as TourStep,le as TourStepCounter,ne as TourTitle};
package/dist/index.d.ts CHANGED
@@ -3,11 +3,13 @@ export { Alert, AlertDescription, AlertTitle, alertVariants } from './components
3
3
  export { Avatar, AvatarFallback, AvatarImage } from './components/avatar/avatar.js';
4
4
  export { Badge, BadgeProps, badgeVariants } from './components/badge/badge.js';
5
5
  export { Button, ButtonProps, buttonVariants } from './components/button/button.js';
6
+ export { Tooltip, TooltipPopup as TooltipContent, TooltipCreateHandle, TooltipPopover, TooltipPopup, TooltipProvider, TooltipTrigger } from './components/tooltip/tooltip.js';
6
7
  export { Calendar, CalendarDayButton } from './components/calendar/calendar.js';
7
8
  export { Card, CardDescription, CardHeader, CardTitle } from './components/card/card.js';
8
9
  export { Checkbox } from './components/checkbox/checkbox.js';
9
10
  export { Collapsible, CollapsiblePanel as CollapsibleContent, CollapsiblePanel, CollapsibleTrigger } from './components/collapsible/collapsible.js';
10
11
  export { Combobox, ComboboxChip, ComboboxChips, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxPopup, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, useComboboxFilter } from './components/combobox/combobox.js';
12
+ export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from './components/context-menu/context-menu.js';
11
13
  export { DatePicker } from './components/date-picker/date-picker.js';
12
14
  export { DateRangePicker, DatesStringRange } from './components/date-range-picker/date-range-picker.js';
13
15
  export { Dialog, DialogClose, DialogContent, DialogContentSection, DialogCreateHandle, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DialogViewport } from './components/dialog/dialog.js';
@@ -41,6 +43,5 @@ export { Tabs, TabsPanel as TabsContent, TabsList, TabsPanel, TabsTab, TabsTab a
41
43
  export { Text, TextProps } from './components/text/text.js';
42
44
  export { Textarea, TextareaProps, textareaVariants } from './components/textarea/textarea.js';
43
45
  export { Toggle, toggleVariants } from './components/toggle/toggle.js';
44
- export { Tooltip, TooltipPopup as TooltipContent, TooltipCreateHandle, TooltipPopup, TooltipProvider, TooltipTrigger } from './components/tooltip/tooltip.js';
45
46
  export { Tour, TourArrow, TourClose, TourDescription, TourFooter, TourHeader, TourNext, TourPortal, TourPrev, TourProps, TourSkip, TourSpotlight, TourSpotlightRing, TourStep, TourStepCounter, TourStepProps, TourTitle } from './components/tour/tour.js';
46
47
  export { TourCoachMarkCard, TourCoachMarkProvider } from './components/tour/tour-coach-mark.js';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export{Accordion,AccordionContent,AccordionItem,AccordionTrigger}from"./components/accordion/accordion.js";export{Alert,AlertDescription,AlertTitle,alertVariants}from"./components/alert/alert.js";export{Avatar,AvatarFallback,AvatarImage}from"./components/avatar/avatar.js";export{Badge,badgeVariants}from"./components/badge/badge.js";export{Button,buttonVariants}from"./components/button/button.js";export{Calendar,CalendarDayButton}from"./components/calendar/calendar.js";export{Card,CardDescription,CardHeader,CardTitle}from"./components/card/card.js";export{Checkbox}from"./components/checkbox/checkbox.js";export{Collapsible,CollapsiblePanel as CollapsibleContent,CollapsiblePanel,CollapsibleTrigger}from"./components/collapsible/collapsible.js";export{Combobox,ComboboxChip,ComboboxChips,ComboboxClear,ComboboxCollection,ComboboxEmpty,ComboboxGroup,ComboboxGroupLabel,ComboboxInput,ComboboxItem,ComboboxList,ComboboxPopup,ComboboxRow,ComboboxSeparator,ComboboxStatus,ComboboxTrigger,ComboboxValue,useComboboxFilter}from"./components/combobox/combobox.js";export{DatePicker}from"./components/date-picker/date-picker.js";export{DateRangePicker}from"./components/date-range-picker/date-range-picker.js";export{Dialog,DialogClose,DialogContent,DialogContentSection,DialogCreateHandle,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger,DialogViewport}from"./components/dialog/dialog.js";export{DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger}from"./components/dropdown/dropdown.js";export{Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle}from"./components/empty/empty.js";export{Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle}from"./components/field/field.js";export{Input}from"./components/input/input.js";export{Label}from"./components/label/label.js";export{Loader}from"./components/loader/loader.js";export{NativeTable,NativeTableBody,NativeTableCaption,NativeTableCell,NativeTableFooter,NativeTableHead,NativeTableHeader,NativeTableRow}from"./components/native-table/native-table.js";export{NumberField,NumberFieldDecrement,NumberFieldGroup,NumberFieldIncrement,NumberFieldInput,NumberFieldScrubArea}from"./components/number-field/number-field.js";export{Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious}from"./components/pagination/pagination.js";export{Popover,PopoverBackdrop,PopoverClose,PopoverContent,PopoverCreateHandle,PopoverDescription,PopoverHeader,PopoverTitle,PopoverTrigger}from"./components/popover/popover.js";export{CoachMark,CoachMarkClose}from"./components/popover/coach-mark.js";export{PreviewCard,PreviewCardPopup,PreviewCardTrigger}from"./components/preview-card/preview-card.js";export{Progress,ProgressIndicator,ProgressLabel,ProgressTrack,ProgressValue}from"./components/progress/progress.js";export{RDialog,RDialogContent,RDialogDescription,RDialogFooter,RDialogHeader,RDialogOnly,RDialogTitle,RDialogTrigger}from"./components/r-dialog/r-dialog.js";export{Radio,RadioGroup,Radio as RadioGroupItem}from"./components/radio-group/radio-group.js";export{ScrollArea,ScrollBar}from"./components/scroll-area/scroll-area.js";export{Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue}from"./components/select/select.js";export{Separator}from"./components/separator/separator.js";export{Sheet,SheetClose,SheetContent,SheetContentSection,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger}from"./components/sheet/sheet.js";export{Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar}from"./components/sidebar/sidebar.js";export{Skeleton}from"./components/skeleton/skeleton.js";export{Slider}from"./components/slider/slider.js";export{Toaster,toast,useSonner}from"./components/sonner/sonner.js";export{HStack,VStack}from"./components/stack/stack.js";export{Switch}from"./components/switch/switch.js";export{EmptyTableRow,Table,TableBody,TableCell,TableHeader,TableRow}from"./components/table/table.js";export{Tabs,TabsPanel as TabsContent,TabsList,TabsPanel,TabsTab,TabsTab as TabsTrigger}from"./components/tabs/tabs.js";export{Text}from"./components/text/text.js";export{Textarea,textareaVariants}from"./components/textarea/textarea.js";export{Toggle,toggleVariants}from"./components/toggle/toggle.js";export{Tooltip,TooltipPopup as TooltipContent,TooltipCreateHandle,TooltipPopup,TooltipProvider,TooltipTrigger}from"./components/tooltip/tooltip.js";export{Tour,TourArrow,TourClose,TourDescription,TourFooter,TourHeader,TourNext,TourPortal,TourPrev,TourSkip,TourSpotlight,TourSpotlightRing,TourStep,TourStepCounter,TourTitle}from"./components/tour/tour.js";export{TourCoachMarkCard,TourCoachMarkProvider}from"./components/tour/tour-coach-mark.js";
2
+ export{Accordion,AccordionContent,AccordionItem,AccordionTrigger}from"./components/accordion/accordion.js";export{Alert,AlertDescription,AlertTitle,alertVariants}from"./components/alert/alert.js";export{Avatar,AvatarFallback,AvatarImage}from"./components/avatar/avatar.js";export{Badge,badgeVariants}from"./components/badge/badge.js";export{Button,buttonVariants}from"./components/button/button.js";import"react/jsx-runtime";import"copy-to-clipboard";import"lucide-react";import"react";import"clsx";import"tailwind-merge";export{Tooltip,TooltipPopup as TooltipContent,TooltipCreateHandle,TooltipPopover,TooltipPopup,TooltipProvider,TooltipTrigger}from"./components/tooltip/tooltip.js";export{Calendar,CalendarDayButton}from"./components/calendar/calendar.js";export{Card,CardDescription,CardHeader,CardTitle}from"./components/card/card.js";export{Checkbox}from"./components/checkbox/checkbox.js";export{Collapsible,CollapsiblePanel as CollapsibleContent,CollapsiblePanel,CollapsibleTrigger}from"./components/collapsible/collapsible.js";export{Combobox,ComboboxChip,ComboboxChips,ComboboxClear,ComboboxCollection,ComboboxEmpty,ComboboxGroup,ComboboxGroupLabel,ComboboxInput,ComboboxItem,ComboboxList,ComboboxPopup,ComboboxRow,ComboboxSeparator,ComboboxStatus,ComboboxTrigger,ComboboxValue,useComboboxFilter}from"./components/combobox/combobox.js";export{ContextMenu,ContextMenuCheckboxItem,ContextMenuContent,ContextMenuGroup,ContextMenuItem,ContextMenuLabel,ContextMenuPortal,ContextMenuRadioGroup,ContextMenuRadioItem,ContextMenuSeparator,ContextMenuShortcut,ContextMenuSub,ContextMenuSubContent,ContextMenuSubTrigger,ContextMenuTrigger}from"./components/context-menu/context-menu.js";export{DatePicker}from"./components/date-picker/date-picker.js";export{DateRangePicker}from"./components/date-range-picker/date-range-picker.js";export{Dialog,DialogClose,DialogContent,DialogContentSection,DialogCreateHandle,DialogDescription,DialogFooter,DialogHeader,DialogOverlay,DialogPortal,DialogTitle,DialogTrigger,DialogViewport}from"./components/dialog/dialog.js";export{DropdownMenu,DropdownMenuCheckboxItem,DropdownMenuContent,DropdownMenuGroup,DropdownMenuItem,DropdownMenuLabel,DropdownMenuPortal,DropdownMenuRadioGroup,DropdownMenuRadioItem,DropdownMenuSeparator,DropdownMenuShortcut,DropdownMenuSub,DropdownMenuSubContent,DropdownMenuSubTrigger,DropdownMenuTrigger}from"./components/dropdown/dropdown.js";export{Empty,EmptyContent,EmptyDescription,EmptyHeader,EmptyMedia,EmptyTitle}from"./components/empty/empty.js";export{Field,FieldContent,FieldDescription,FieldError,FieldGroup,FieldLabel,FieldLegend,FieldSeparator,FieldSet,FieldTitle}from"./components/field/field.js";export{Input}from"./components/input/input.js";export{Label}from"./components/label/label.js";export{Loader}from"./components/loader/loader.js";export{NativeTable,NativeTableBody,NativeTableCaption,NativeTableCell,NativeTableFooter,NativeTableHead,NativeTableHeader,NativeTableRow}from"./components/native-table/native-table.js";export{NumberField,NumberFieldDecrement,NumberFieldGroup,NumberFieldIncrement,NumberFieldInput,NumberFieldScrubArea}from"./components/number-field/number-field.js";export{Pagination,PaginationContent,PaginationEllipsis,PaginationItem,PaginationLink,PaginationNext,PaginationPrevious}from"./components/pagination/pagination.js";export{Popover,PopoverBackdrop,PopoverClose,PopoverContent,PopoverCreateHandle,PopoverDescription,PopoverHeader,PopoverTitle,PopoverTrigger}from"./components/popover/popover.js";export{CoachMark,CoachMarkClose}from"./components/popover/coach-mark.js";export{PreviewCard,PreviewCardPopup,PreviewCardTrigger}from"./components/preview-card/preview-card.js";export{Progress,ProgressIndicator,ProgressLabel,ProgressTrack,ProgressValue}from"./components/progress/progress.js";export{RDialog,RDialogContent,RDialogDescription,RDialogFooter,RDialogHeader,RDialogOnly,RDialogTitle,RDialogTrigger}from"./components/r-dialog/r-dialog.js";export{Radio,RadioGroup,Radio as RadioGroupItem}from"./components/radio-group/radio-group.js";export{ScrollArea,ScrollBar}from"./components/scroll-area/scroll-area.js";export{Select,SelectContent,SelectGroup,SelectItem,SelectLabel,SelectScrollDownButton,SelectScrollUpButton,SelectSeparator,SelectTrigger,SelectValue}from"./components/select/select.js";export{Separator}from"./components/separator/separator.js";export{Sheet,SheetClose,SheetContent,SheetContentSection,SheetDescription,SheetFooter,SheetHeader,SheetTitle,SheetTrigger}from"./components/sheet/sheet.js";export{Sidebar,SidebarContent,SidebarFooter,SidebarGroup,SidebarGroupAction,SidebarGroupContent,SidebarGroupLabel,SidebarHeader,SidebarInput,SidebarInset,SidebarMenu,SidebarMenuAction,SidebarMenuBadge,SidebarMenuButton,SidebarMenuItem,SidebarMenuSkeleton,SidebarMenuSub,SidebarMenuSubButton,SidebarMenuSubItem,SidebarProvider,SidebarRail,SidebarSeparator,SidebarTrigger,useSidebar}from"./components/sidebar/sidebar.js";export{Skeleton}from"./components/skeleton/skeleton.js";export{Slider}from"./components/slider/slider.js";export{Toaster,toast,useSonner}from"./components/sonner/sonner.js";export{HStack,VStack}from"./components/stack/stack.js";export{Switch}from"./components/switch/switch.js";export{EmptyTableRow,Table,TableBody,TableCell,TableHeader,TableRow}from"./components/table/table.js";export{Tabs,TabsPanel as TabsContent,TabsList,TabsPanel,TabsTab,TabsTab as TabsTrigger}from"./components/tabs/tabs.js";export{Text}from"./components/text/text.js";export{Textarea,textareaVariants}from"./components/textarea/textarea.js";export{Toggle,toggleVariants}from"./components/toggle/toggle.js";export{Tour,TourArrow,TourClose,TourDescription,TourFooter,TourHeader,TourNext,TourPortal,TourPrev,TourSkip,TourSpotlight,TourSpotlightRing,TourStep,TourStepCounter,TourTitle}from"./components/tour/tour.js";export{TourCoachMarkCard,TourCoachMarkProvider}from"./components/tour/tour-coach-mark.js";
@@ -300,10 +300,6 @@
300
300
  }
301
301
  }
302
302
 
303
- body:has([aria-expanded='true']) [data-slot='tooltip-popup'] {
304
- @apply hidden;
305
- }
306
-
307
303
  body {
308
304
  @apply relative;
309
305
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lsp-uikit",
3
- "version": "1.5.2",
3
+ "version": "1.5.4",
4
4
  "description": "LevelSkill.Pro UI components based on BaseUI and Tailwind CSS",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -156,6 +156,10 @@
156
156
  "import": "./dist/components/combobox/combobox.js",
157
157
  "types": "./dist/components/combobox/combobox.d.ts"
158
158
  },
159
+ "./context-menu": {
160
+ "import": "./dist/components/context-menu/context-menu.js",
161
+ "types": "./dist/components/context-menu/context-menu.d.ts"
162
+ },
159
163
  "./date-picker": {
160
164
  "import": "./dist/components/date-picker/date-picker.js",
161
165
  "types": "./dist/components/date-picker/date-picker.d.ts"