@kubetail/ui 2.1.2 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/dist/elements/button.cjs +1 -1
  2. package/dist/elements/button.cjs.map +1 -1
  3. package/dist/elements/button.js +12 -10
  4. package/dist/elements/button.js.map +1 -1
  5. package/dist/elements/calendar.cjs +1 -1
  6. package/dist/elements/calendar.cjs.map +1 -1
  7. package/dist/elements/calendar.js +10 -8
  8. package/dist/elements/calendar.js.map +1 -1
  9. package/dist/elements/card.cjs +1 -1
  10. package/dist/elements/card.cjs.map +1 -1
  11. package/dist/elements/card.js +33 -31
  12. package/dist/elements/card.js.map +1 -1
  13. package/dist/elements/checkbox.cjs +1 -1
  14. package/dist/elements/checkbox.cjs.map +1 -1
  15. package/dist/elements/checkbox.js +12 -10
  16. package/dist/elements/checkbox.js.map +1 -1
  17. package/dist/elements/dialog.cjs +1 -1
  18. package/dist/elements/dialog.cjs.map +1 -1
  19. package/dist/elements/dialog.js +42 -40
  20. package/dist/elements/dialog.js.map +1 -1
  21. package/dist/elements/dropdown-menu.cjs +1 -1
  22. package/dist/elements/dropdown-menu.cjs.map +1 -1
  23. package/dist/elements/dropdown-menu.js +74 -72
  24. package/dist/elements/dropdown-menu.js.map +1 -1
  25. package/dist/elements/form.cjs +1 -1
  26. package/dist/elements/form.cjs.map +1 -1
  27. package/dist/elements/form.js +55 -53
  28. package/dist/elements/form.js.map +1 -1
  29. package/dist/elements/input.cjs +1 -1
  30. package/dist/elements/input.cjs.map +1 -1
  31. package/dist/elements/input.js +8 -6
  32. package/dist/elements/input.js.map +1 -1
  33. package/dist/elements/label.cjs +1 -1
  34. package/dist/elements/label.cjs.map +1 -1
  35. package/dist/elements/label.js +9 -7
  36. package/dist/elements/label.js.map +1 -1
  37. package/dist/elements/link.cjs +1 -1
  38. package/dist/elements/link.cjs.map +1 -1
  39. package/dist/elements/link.js +28 -26
  40. package/dist/elements/link.js.map +1 -1
  41. package/dist/elements/pagination.cjs +1 -1
  42. package/dist/elements/pagination.cjs.map +1 -1
  43. package/dist/elements/pagination.js +43 -41
  44. package/dist/elements/pagination.js.map +1 -1
  45. package/dist/elements/popover.cjs +1 -1
  46. package/dist/elements/popover.cjs.map +1 -1
  47. package/dist/elements/popover.js +19 -17
  48. package/dist/elements/popover.js.map +1 -1
  49. package/dist/elements/search-box.cjs +1 -1
  50. package/dist/elements/search-box.cjs.map +1 -1
  51. package/dist/elements/search-box.js +16 -14
  52. package/dist/elements/search-box.js.map +1 -1
  53. package/dist/elements/select.cjs +1 -1
  54. package/dist/elements/select.cjs.map +1 -1
  55. package/dist/elements/select.js +58 -56
  56. package/dist/elements/select.js.map +1 -1
  57. package/dist/elements/separator.cjs +1 -1
  58. package/dist/elements/separator.cjs.map +1 -1
  59. package/dist/elements/separator.js +9 -7
  60. package/dist/elements/separator.js.map +1 -1
  61. package/dist/elements/sheet.cjs +1 -1
  62. package/dist/elements/sheet.cjs.map +1 -1
  63. package/dist/elements/sheet.js +41 -39
  64. package/dist/elements/sheet.js.map +1 -1
  65. package/dist/elements/sidebar.cjs +1 -1
  66. package/dist/elements/sidebar.cjs.map +1 -1
  67. package/dist/elements/sidebar.js +196 -194
  68. package/dist/elements/sidebar.js.map +1 -1
  69. package/dist/elements/skeleton.cjs +1 -1
  70. package/dist/elements/skeleton.cjs.map +1 -1
  71. package/dist/elements/skeleton.js +8 -6
  72. package/dist/elements/skeleton.js.map +1 -1
  73. package/dist/elements/spinner.cjs +1 -1
  74. package/dist/elements/spinner.cjs.map +1 -1
  75. package/dist/elements/spinner.js +12 -11
  76. package/dist/elements/spinner.js.map +1 -1
  77. package/dist/elements/switch.cjs +2 -0
  78. package/dist/elements/switch.cjs.map +1 -0
  79. package/dist/elements/switch.d.ts +5 -0
  80. package/dist/elements/switch.js +21 -0
  81. package/dist/elements/switch.js.map +1 -0
  82. package/dist/elements/switch.stories.d.ts +15 -0
  83. package/dist/elements/switch.test.d.ts +0 -0
  84. package/dist/elements/table.cjs +1 -1
  85. package/dist/elements/table.cjs.map +1 -1
  86. package/dist/elements/table.js +39 -37
  87. package/dist/elements/table.js.map +1 -1
  88. package/dist/elements/tabs.cjs +1 -1
  89. package/dist/elements/tabs.cjs.map +1 -1
  90. package/dist/elements/tabs.js +22 -20
  91. package/dist/elements/tabs.js.map +1 -1
  92. package/dist/elements/toggle.cjs +2 -0
  93. package/dist/elements/toggle.cjs.map +1 -0
  94. package/dist/elements/toggle.d.ts +8 -0
  95. package/dist/elements/toggle.js +38 -0
  96. package/dist/elements/toggle.js.map +1 -0
  97. package/dist/elements/toggle.stories.d.ts +15 -0
  98. package/dist/elements/toggle.test.d.ts +0 -0
  99. package/dist/elements/tooltip.cjs +1 -1
  100. package/dist/elements/tooltip.cjs.map +1 -1
  101. package/dist/elements/tooltip.js +16 -14
  102. package/dist/elements/tooltip.js.map +1 -1
  103. package/dist/hooks/use-mobile.cjs +1 -1
  104. package/dist/hooks/use-mobile.cjs.map +1 -1
  105. package/dist/hooks/use-mobile.js +11 -9
  106. package/dist/hooks/use-mobile.js.map +1 -1
  107. package/dist/lib/utils.cjs +1 -1
  108. package/dist/lib/utils.cjs.map +1 -1
  109. package/dist/lib/utils.js +7 -5
  110. package/dist/lib/utils.js.map +1 -1
  111. package/package.json +40 -29
  112. /package/dist/_virtual/{rolldown:runtime.cjs → _rolldown/runtime.cjs} +0 -0
@@ -1,35 +1,37 @@
1
1
  "use client";
2
- import { cn } from "../lib/utils.js";
3
- import { jsx } from "react/jsx-runtime";
4
- import * as TabsPrimitive from "@radix-ui/react-tabs";
5
- function Tabs({ className: a, ...o }) {
6
- return /* @__PURE__ */ jsx(TabsPrimitive.Root, {
2
+ import { cn as e } from "../lib/utils.js";
3
+ import { jsx as t } from "react/jsx-runtime";
4
+ import * as n from "@radix-ui/react-tabs";
5
+ //#region src/elements/tabs.tsx
6
+ function r({ className: r, ...i }) {
7
+ return /* @__PURE__ */ t(n.Root, {
7
8
  "data-slot": "tabs",
8
- className: cn("flex flex-col gap-2", a),
9
- ...o
9
+ className: e("flex flex-col gap-2", r),
10
+ ...i
10
11
  });
11
12
  }
12
- function TabsList({ className: a, ...o }) {
13
- return /* @__PURE__ */ jsx(TabsPrimitive.List, {
13
+ function i({ className: r, ...i }) {
14
+ return /* @__PURE__ */ t(n.List, {
14
15
  "data-slot": "tabs-list",
15
- className: cn("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]", a),
16
- ...o
16
+ className: e("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]", r),
17
+ ...i
17
18
  });
18
19
  }
19
- function TabsTrigger({ className: a, ...o }) {
20
- return /* @__PURE__ */ jsx(TabsPrimitive.Trigger, {
20
+ function a({ className: r, ...i }) {
21
+ return /* @__PURE__ */ t(n.Trigger, {
21
22
  "data-slot": "tabs-trigger",
22
- className: cn("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", a),
23
- ...o
23
+ className: e("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", r),
24
+ ...i
24
25
  });
25
26
  }
26
- function TabsContent({ className: a, ...o }) {
27
- return /* @__PURE__ */ jsx(TabsPrimitive.Content, {
27
+ function o({ className: r, ...i }) {
28
+ return /* @__PURE__ */ t(n.Content, {
28
29
  "data-slot": "tabs-content",
29
- className: cn("flex-1 outline-none", a),
30
- ...o
30
+ className: e("flex-1 outline-none", r),
31
+ ...i
31
32
  });
32
33
  }
33
- export { Tabs, TabsContent, TabsList, TabsTrigger };
34
+ //#endregion
35
+ export { r as Tabs, o as TabsContent, i as TabsList, a as TabsTrigger };
34
36
 
35
37
  //# sourceMappingURL=tabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","names":[],"sources":["../../src/elements/tabs.tsx"],"sourcesContent":["'use client';\n\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport { cn } from '@/lib/utils';\n\nfunction Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return <TabsPrimitive.Root data-slot=\"tabs\" className={cn('flex flex-col gap-2', className)} {...props} />;\n}\n\nfunction TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return <TabsPrimitive.Content data-slot=\"tabs-content\" className={cn('flex-1 outline-none', className)} {...props} />;\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n"],"mappings":";;;;AAMA,SAAS,KAAK,EAAE,cAAW,GAAG,KAA0D;AACtF,QAAO,oBAAC,cAAc,MAAA;EAAK,aAAU;EAAO,WAAW,GAAG,uBAAuB,EAAU;EAAE,GAAI;GAAS;;AAG5G,SAAS,SAAS,EAAE,cAAW,GAAG,KAA0D;AAC1F,QACE,oBAAC,cAAc,MAAA;EACb,aAAU;EACV,WAAW,GACT,uGACA,EACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,cAAW,GAAG,KAA6D;AAChG,QACE,oBAAC,cAAc,SAAA;EACb,aAAU;EACV,WAAW,GACT,mqBACA,EACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,cAAW,GAAG,KAA6D;AAChG,QAAO,oBAAC,cAAc,SAAA;EAAQ,aAAU;EAAe,WAAW,GAAG,uBAAuB,EAAU;EAAE,GAAI;GAAS"}
1
+ {"version":3,"file":"tabs.js","names":[],"sources":["../../src/elements/tabs.tsx"],"sourcesContent":["'use client';\n\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport { cn } from '@/lib/utils';\n\nfunction Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return <TabsPrimitive.Root data-slot=\"tabs\" className={cn('flex flex-col gap-2', className)} {...props} />;\n}\n\nfunction TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return <TabsPrimitive.Content data-slot=\"tabs-content\" className={cn('flex-1 outline-none', className)} {...props} />;\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n"],"mappings":";;;;;AAMA,SAAS,EAAK,EAAE,cAAW,GAAG,KAA0D;AACtF,QAAO,kBAAC,EAAc,MAAf;EAAoB,aAAU;EAAO,WAAW,EAAG,uBAAuB,EAAU;EAAE,GAAI;EAAS,CAAA;;AAG5G,SAAS,EAAS,EAAE,cAAW,GAAG,KAA0D;AAC1F,QACE,kBAAC,EAAc,MAAf;EACE,aAAU;EACV,WAAW,EACT,uGACA,EACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAY,EAAE,cAAW,GAAG,KAA6D;AAChG,QACE,kBAAC,EAAc,SAAf;EACE,aAAU;EACV,WAAW,EACT,mqBACA,EACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAY,EAAE,cAAW,GAAG,KAA6D;AAChG,QAAO,kBAAC,EAAc,SAAf;EAAuB,aAAU;EAAe,WAAW,EAAG,uBAAuB,EAAU;EAAE,GAAI;EAAS,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../lib/utils.cjs`);let n=require(`react/jsx-runtime`),r=require(`@radix-ui/react-toggle`);r=e.__toESM(r);var i=(0,require(`class-variance-authority`).cva)(`inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-muted hover:text-muted-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground`,{variants:{variant:{default:`bg-transparent`,outline:`border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground`},size:{default:`h-9 px-2 min-w-9`,sm:`h-8 px-1.5 min-w-8`,lg:`h-10 px-2.5 min-w-10`}},defaultVariants:{variant:`default`,size:`default`}});function a({className:e,variant:a,size:o,...s}){return(0,n.jsx)(r.Root,{"data-slot":`toggle`,className:t.cn(i({variant:a,size:o,className:e})),...s})}exports.Toggle=a,exports.toggleVariants=i;
2
+ //# sourceMappingURL=toggle.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.cjs","names":[],"sources":["../../src/elements/toggle.tsx"],"sourcesContent":["'use client';\n\nimport * as TogglePrimitive from '@radix-ui/react-toggle';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-muted hover:text-muted-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground\",\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n default: 'h-9 px-2 min-w-9',\n sm: 'h-8 px-1.5 min-w-8',\n lg: 'h-10 px-2.5 min-w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nfunction Toggle({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive.Root data-slot=\"toggle\" className={cn(toggleVariants({ variant, size, className }))} {...props} />\n );\n}\n\nexport { Toggle, toggleVariants };\n"],"mappings":"yPAOA,IAAM,GAAA,sCAAA,KACJ,+gBACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,iBACT,QAAS,4FACV,CACD,KAAM,CACJ,QAAS,mBACT,GAAI,qBACJ,GAAI,uBACL,CACF,CACD,gBAAiB,CACf,QAAS,UACT,KAAM,UACP,CACF,CACF,CAED,SAAS,EAAO,CACd,YACA,UACA,OACA,GAAG,GACuF,CAC1F,OAAA,EAAA,EAAA,KACG,EAAgB,KAAjB,CAAsB,YAAU,SAAS,UAAW,EAAA,GAAG,EAAe,CAAE,UAAS,OAAM,YAAW,CAAC,CAAC,CAAE,GAAI,EAAS,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as TogglePrimitive from '@radix-ui/react-toggle';
3
+ declare const toggleVariants: (props?: ({
4
+ variant?: "default" | "outline" | null | undefined;
5
+ size?: "default" | "sm" | "lg" | null | undefined;
6
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
+ declare function Toggle({ className, variant, size, ...props }: React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>): import("react/jsx-runtime").JSX.Element;
8
+ export { Toggle, toggleVariants };
@@ -0,0 +1,38 @@
1
+ "use client";
2
+ import { cn as e } from "../lib/utils.js";
3
+ import { jsx as t } from "react/jsx-runtime";
4
+ import * as n from "@radix-ui/react-toggle";
5
+ import { cva as r } from "class-variance-authority";
6
+ //#region src/elements/toggle.tsx
7
+ var i = r("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-muted hover:text-muted-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground", {
8
+ variants: {
9
+ variant: {
10
+ default: "bg-transparent",
11
+ outline: "border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground"
12
+ },
13
+ size: {
14
+ default: "h-9 px-2 min-w-9",
15
+ sm: "h-8 px-1.5 min-w-8",
16
+ lg: "h-10 px-2.5 min-w-10"
17
+ }
18
+ },
19
+ defaultVariants: {
20
+ variant: "default",
21
+ size: "default"
22
+ }
23
+ });
24
+ function a({ className: r, variant: a, size: o, ...s }) {
25
+ return /* @__PURE__ */ t(n.Root, {
26
+ "data-slot": "toggle",
27
+ className: e(i({
28
+ variant: a,
29
+ size: o,
30
+ className: r
31
+ })),
32
+ ...s
33
+ });
34
+ }
35
+ //#endregion
36
+ export { a as Toggle, i as toggleVariants };
37
+
38
+ //# sourceMappingURL=toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.js","names":[],"sources":["../../src/elements/toggle.tsx"],"sourcesContent":["'use client';\n\nimport * as TogglePrimitive from '@radix-ui/react-toggle';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-muted hover:text-muted-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground\",\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline: 'border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n default: 'h-9 px-2 min-w-9',\n sm: 'h-8 px-1.5 min-w-8',\n lg: 'h-10 px-2.5 min-w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nfunction Toggle({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive.Root data-slot=\"toggle\" className={cn(toggleVariants({ variant, size, className }))} {...props} />\n );\n}\n\nexport { Toggle, toggleVariants };\n"],"mappings":";;;;;;AAOA,IAAM,IAAiB,EACrB,ghBACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,SAAS;GACV;EACD,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACL;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;AAED,SAAS,EAAO,EACd,cACA,YACA,SACA,GAAG,KACuF;AAC1F,QACE,kBAAC,EAAgB,MAAjB;EAAsB,aAAU;EAAS,WAAW,EAAG,EAAe;GAAE;GAAS;GAAM;GAAW,CAAC,CAAC;EAAE,GAAI;EAAS,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { Toggle } from './toggle';
2
+ declare const meta: {
3
+ title: string;
4
+ tags: string[];
5
+ component: typeof Toggle;
6
+ parameters: {
7
+ docs: {
8
+ description: {
9
+ component: string;
10
+ };
11
+ };
12
+ };
13
+ };
14
+ export default meta;
15
+ export declare function Demo(): import("react/jsx-runtime").JSX.Element;
File without changes
@@ -1,2 +1,2 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../_virtual/rolldown:runtime.cjs`),t=require(`../lib/utils.cjs`);let n=require(`@radix-ui/react-tooltip`);n=e.__toESM(n);let r=require(`react/jsx-runtime`);function i({delayDuration:e=0,...t}){return(0,r.jsx)(n.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function a({...e}){return(0,r.jsx)(i,{children:(0,r.jsx)(n.Root,{"data-slot":`tooltip`,...e})})}function o({...e}){return(0,r.jsx)(n.Trigger,{"data-slot":`tooltip-trigger`,...e})}function s({className:e,sideOffset:i=0,children:a,...o}){return(0,r.jsx)(n.Portal,{children:(0,r.jsxs)(n.Content,{"data-slot":`tooltip-content`,sideOffset:i,className:t.cn(`bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance`,e),...o,children:[a,(0,r.jsx)(n.Arrow,{className:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]})})}exports.Tooltip=a,exports.TooltipContent=s,exports.TooltipProvider=i,exports.TooltipTrigger=o;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../lib/utils.cjs`);let n=require(`@radix-ui/react-tooltip`);n=e.__toESM(n);let r=require(`react/jsx-runtime`);function i({delayDuration:e=0,...t}){return(0,r.jsx)(n.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function a({...e}){return(0,r.jsx)(i,{children:(0,r.jsx)(n.Root,{"data-slot":`tooltip`,...e})})}function o({...e}){return(0,r.jsx)(n.Trigger,{"data-slot":`tooltip-trigger`,...e})}function s({className:e,sideOffset:i=0,children:a,...o}){return(0,r.jsx)(n.Portal,{children:(0,r.jsxs)(n.Content,{"data-slot":`tooltip-content`,sideOffset:i,className:t.cn(`bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance`,e),...o,children:[a,(0,r.jsx)(n.Arrow,{className:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]})})}exports.Tooltip=a,exports.TooltipContent=s,exports.TooltipProvider=i,exports.TooltipTrigger=o;
2
2
  //# sourceMappingURL=tooltip.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.cjs","names":[],"sources":["../../src/elements/tooltip.tsx"],"sourcesContent":["'use client';\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\n\nimport { cn } from '@/lib/utils';\n\nfunction TooltipProvider({ delayDuration = 0, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delayDuration={delayDuration} {...props} />;\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance',\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n"],"mappings":"6PAMA,SAAS,EAAgB,CAAE,gBAAgB,EAAG,GAAG,GAAiE,CAChH,OAAO,EAAA,EAAA,KAAC,EAAiB,SAAA,CAAS,YAAU,mBAAkC,gBAAe,GAAI,GAAS,CAG5G,SAAS,EAAQ,CAAE,GAAG,GAA6D,CACjF,OACE,EAAA,EAAA,KAAC,EAAA,CAAA,UACC,EAAA,EAAA,KAAC,EAAiB,KAAA,CAAK,YAAU,UAAU,GAAI,GAAS,CAAA,CACxC,CAItB,SAAS,EAAe,CAAE,GAAG,GAAgE,CAC3F,OAAO,EAAA,EAAA,KAAC,EAAiB,QAAA,CAAQ,YAAU,kBAAkB,GAAI,GAAS,CAG5E,SAAS,EAAe,CACtB,YACA,aAAa,EACb,WACA,GAAG,GACqD,CACxD,OACE,EAAA,EAAA,KAAC,EAAiB,OAAA,CAAA,UAChB,EAAA,EAAA,MAAC,EAAiB,QAAA,CAChB,YAAU,kBACE,aACZ,UAAW,EAAA,GACT,oaACA,EACD,CACD,GAAI,YAEH,GACD,EAAA,EAAA,KAAC,EAAiB,MAAA,CAAM,UAAU,qGAAA,CAAuG,CAAA,EAChH,CAAA,CACH"}
1
+ {"version":3,"file":"tooltip.cjs","names":[],"sources":["../../src/elements/tooltip.tsx"],"sourcesContent":["'use client';\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\n\nimport { cn } from '@/lib/utils';\n\nfunction TooltipProvider({ delayDuration = 0, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delayDuration={delayDuration} {...props} />;\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance',\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n"],"mappings":"8PAMA,SAAS,EAAgB,CAAE,gBAAgB,EAAG,GAAG,GAAiE,CAChH,OAAA,EAAA,EAAA,KAAQ,EAAiB,SAAlB,CAA2B,YAAU,mBAAkC,gBAAe,GAAI,EAAS,CAAA,CAG5G,SAAS,EAAQ,CAAE,GAAG,GAA6D,CACjF,OAAA,EAAA,EAAA,KACG,EAAD,CAAA,UAAA,EAAA,EAAA,KACG,EAAiB,KAAlB,CAAuB,YAAU,UAAU,GAAI,EAAS,CAAA,CACxC,CAAA,CAItB,SAAS,EAAe,CAAE,GAAG,GAAgE,CAC3F,OAAA,EAAA,EAAA,KAAQ,EAAiB,QAAlB,CAA0B,YAAU,kBAAkB,GAAI,EAAS,CAAA,CAG5E,SAAS,EAAe,CACtB,YACA,aAAa,EACb,WACA,GAAG,GACqD,CACxD,OAAA,EAAA,EAAA,KACG,EAAiB,OAAlB,CAAA,UAAA,EAAA,EAAA,MACG,EAAiB,QAAlB,CACE,YAAU,kBACE,aACZ,UAAW,EAAA,GACT,oaACA,EACD,CACD,GAAI,WAPN,CASG,GAAA,EAAA,EAAA,KACA,EAAiB,MAAlB,CAAwB,UAAU,qGAAuG,CAAA,CAChH,GACH,CAAA"}
@@ -1,35 +1,37 @@
1
1
  "use client";
2
- import { cn } from "../lib/utils.js";
3
- import * as TooltipPrimitive from "@radix-ui/react-tooltip";
4
- import { jsx, jsxs } from "react/jsx-runtime";
5
- function TooltipProvider({ delayDuration: e = 0, ...r }) {
6
- return /* @__PURE__ */ jsx(TooltipPrimitive.Provider, {
2
+ import { cn as e } from "../lib/utils.js";
3
+ import * as t from "@radix-ui/react-tooltip";
4
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
5
+ //#region src/elements/tooltip.tsx
6
+ function i({ delayDuration: e = 0, ...r }) {
7
+ return /* @__PURE__ */ n(t.Provider, {
7
8
  "data-slot": "tooltip-provider",
8
9
  delayDuration: e,
9
10
  ...r
10
11
  });
11
12
  }
12
- function Tooltip({ ...e }) {
13
- return /* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(TooltipPrimitive.Root, {
13
+ function a({ ...e }) {
14
+ return /* @__PURE__ */ n(i, { children: /* @__PURE__ */ n(t.Root, {
14
15
  "data-slot": "tooltip",
15
16
  ...e
16
17
  }) });
17
18
  }
18
- function TooltipTrigger({ ...e }) {
19
- return /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, {
19
+ function o({ ...e }) {
20
+ return /* @__PURE__ */ n(t.Trigger, {
20
21
  "data-slot": "tooltip-trigger",
21
22
  ...e
22
23
  });
23
24
  }
24
- function TooltipContent({ className: i, sideOffset: a = 0, children: o, ...s }) {
25
- return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs(TooltipPrimitive.Content, {
25
+ function s({ className: i, sideOffset: a = 0, children: o, ...s }) {
26
+ return /* @__PURE__ */ n(t.Portal, { children: /* @__PURE__ */ r(t.Content, {
26
27
  "data-slot": "tooltip-content",
27
28
  sideOffset: a,
28
- className: cn("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance", i),
29
+ className: e("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance", i),
29
30
  ...s,
30
- children: [o, /* @__PURE__ */ jsx(TooltipPrimitive.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })]
31
+ children: [o, /* @__PURE__ */ n(t.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })]
31
32
  }) });
32
33
  }
33
- export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
34
+ //#endregion
35
+ export { a as Tooltip, s as TooltipContent, i as TooltipProvider, o as TooltipTrigger };
34
36
 
35
37
  //# sourceMappingURL=tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","names":[],"sources":["../../src/elements/tooltip.tsx"],"sourcesContent":["'use client';\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\n\nimport { cn } from '@/lib/utils';\n\nfunction TooltipProvider({ delayDuration = 0, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delayDuration={delayDuration} {...props} />;\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance',\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n"],"mappings":";;;;AAMA,SAAS,gBAAgB,EAAE,mBAAgB,GAAG,GAAG,KAAiE;AAChH,QAAO,oBAAC,iBAAiB,UAAA;EAAS,aAAU;EAAkC;EAAe,GAAI;GAAS;;AAG5G,SAAS,QAAQ,EAAE,GAAG,KAA6D;AACjF,QACE,oBAAC,iBAAA,EAAA,UACC,oBAAC,iBAAiB,MAAA;EAAK,aAAU;EAAU,GAAI;GAAS,EAAA,CACxC;;AAItB,SAAS,eAAe,EAAE,GAAG,KAAgE;AAC3F,QAAO,oBAAC,iBAAiB,SAAA;EAAQ,aAAU;EAAkB,GAAI;GAAS;;AAG5E,SAAS,eAAe,EACtB,cACA,gBAAa,GACb,aACA,GAAG,KACqD;AACxD,QACE,oBAAC,iBAAiB,QAAA,EAAA,UAChB,qBAAC,iBAAiB,SAAA;EAChB,aAAU;EACE;EACZ,WAAW,GACT,qaACA,EACD;EACD,GAAI;aAEH,GACD,oBAAC,iBAAiB,OAAA,EAAM,WAAU,sGAAA,CAAuG,CAAA;GAChH,EAAA,CACH"}
1
+ {"version":3,"file":"tooltip.js","names":[],"sources":["../../src/elements/tooltip.tsx"],"sourcesContent":["'use client';\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\n\nimport { cn } from '@/lib/utils';\n\nfunction TooltipProvider({ delayDuration = 0, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delayDuration={delayDuration} {...props} />;\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance',\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n"],"mappings":";;;;;AAMA,SAAS,EAAgB,EAAE,mBAAgB,GAAG,GAAG,KAAiE;AAChH,QAAO,kBAAC,EAAiB,UAAlB;EAA2B,aAAU;EAAkC;EAAe,GAAI;EAAS,CAAA;;AAG5G,SAAS,EAAQ,EAAE,GAAG,KAA6D;AACjF,QACE,kBAAC,GAAD,EAAA,UACE,kBAAC,EAAiB,MAAlB;EAAuB,aAAU;EAAU,GAAI;EAAS,CAAA,EACxC,CAAA;;AAItB,SAAS,EAAe,EAAE,GAAG,KAAgE;AAC3F,QAAO,kBAAC,EAAiB,SAAlB;EAA0B,aAAU;EAAkB,GAAI;EAAS,CAAA;;AAG5E,SAAS,EAAe,EACtB,cACA,gBAAa,GACb,aACA,GAAG,KACqD;AACxD,QACE,kBAAC,EAAiB,QAAlB,EAAA,UACE,kBAAC,EAAiB,SAAlB;EACE,aAAU;EACE;EACZ,WAAW,EACT,qaACA,EACD;EACD,GAAI;YAPN,CASG,GACD,kBAAC,EAAiB,OAAlB,EAAwB,WAAU,sGAAuG,CAAA,CAChH;KACH,CAAA"}
@@ -1,2 +1,2 @@
1
- const e=require(`../_virtual/rolldown:runtime.cjs`);let t=require(`react`);var n=768;function r(){let[e,r]=(0,t.useState)(void 0);return(0,t.useEffect)(()=>{let e=window.matchMedia(`(max-width: ${n-1}px)`),t=()=>{r(window.innerWidth<n)};return e.addEventListener(`change`,t),r(window.innerWidth<n),()=>e.removeEventListener(`change`,t)},[]),!!e}exports.useIsMobile=r;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);let e=require(`react`);var t=768;function n(){let[n,r]=(0,e.useState)(void 0);return(0,e.useEffect)(()=>{let e=window.matchMedia(`(max-width: ${t-1}px)`),n=()=>{r(window.innerWidth<t)};return e.addEventListener(`change`,n),r(window.innerWidth<t),()=>e.removeEventListener(`change`,n)},[]),!!n}exports.useIsMobile=n;
2
2
  //# sourceMappingURL=use-mobile.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-mobile.cjs","names":[],"sources":["../../src/hooks/use-mobile.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst MOBILE_BREAKPOINT = 768;\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = useState<boolean | undefined>(undefined);\n\n useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n };\n mql.addEventListener('change', onChange);\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n return () => mql.removeEventListener('change', onChange);\n }, []);\n\n return !!isMobile;\n}\n"],"mappings":"2EAEA,IAAM,EAAoB,IAE1B,SAAgB,GAAc,CAC5B,GAAM,CAAC,EAAU,IAAA,EAAA,EAAA,UAA6C,IAAA,GAAU,CAYxE,OAVA,EAAA,EAAA,eAAgB,CACd,IAAM,EAAM,OAAO,WAAW,eAAe,EAAoB,EAAE,KAAK,CAClE,MAAiB,CACrB,EAAY,OAAO,WAAa,EAAkB,EAIpD,OAFA,EAAI,iBAAiB,SAAU,EAAS,CACxC,EAAY,OAAO,WAAa,EAAkB,KACrC,EAAI,oBAAoB,SAAU,EAAS,EACvD,EAAE,CAAC,CAEC,CAAC,CAAC"}
1
+ {"version":3,"file":"use-mobile.cjs","names":[],"sources":["../../src/hooks/use-mobile.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst MOBILE_BREAKPOINT = 768;\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = useState<boolean | undefined>(undefined);\n\n useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n };\n mql.addEventListener('change', onChange);\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n return () => mql.removeEventListener('change', onChange);\n }, []);\n\n return !!isMobile;\n}\n"],"mappings":"oEAEA,IAAM,EAAoB,IAE1B,SAAgB,GAAc,CAC5B,GAAM,CAAC,EAAU,IAAA,EAAA,EAAA,UAA6C,IAAA,GAAU,CAYxE,OAVA,EAAA,EAAA,eAAgB,CACd,IAAM,EAAM,OAAO,WAAW,eAAe,EAAoB,EAAE,KAAK,CAClE,MAAiB,CACrB,EAAY,OAAO,WAAa,EAAkB,EAIpD,OAFA,EAAI,iBAAiB,SAAU,EAAS,CACxC,EAAY,OAAO,WAAa,EAAkB,KACrC,EAAI,oBAAoB,SAAU,EAAS,EACvD,EAAE,CAAC,CAEC,CAAC,CAAC"}
@@ -1,14 +1,16 @@
1
- import { useEffect, useState } from "react";
2
- var MOBILE_BREAKPOINT = 768;
3
- function useIsMobile() {
4
- let [r, i] = useState(void 0);
5
- return useEffect(() => {
6
- let e = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`), n = () => {
7
- i(window.innerWidth < MOBILE_BREAKPOINT);
1
+ import { useEffect as e, useState as t } from "react";
2
+ //#region src/hooks/use-mobile.ts
3
+ var n = 768;
4
+ function r() {
5
+ let [r, i] = t(void 0);
6
+ return e(() => {
7
+ let e = window.matchMedia(`(max-width: ${n - 1}px)`), t = () => {
8
+ i(window.innerWidth < n);
8
9
  };
9
- return e.addEventListener("change", n), i(window.innerWidth < MOBILE_BREAKPOINT), () => e.removeEventListener("change", n);
10
+ return e.addEventListener("change", t), i(window.innerWidth < n), () => e.removeEventListener("change", t);
10
11
  }, []), !!r;
11
12
  }
12
- export { useIsMobile };
13
+ //#endregion
14
+ export { r as useIsMobile };
13
15
 
14
16
  //# sourceMappingURL=use-mobile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-mobile.js","names":[],"sources":["../../src/hooks/use-mobile.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst MOBILE_BREAKPOINT = 768;\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = useState<boolean | undefined>(undefined);\n\n useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n };\n mql.addEventListener('change', onChange);\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n return () => mql.removeEventListener('change', onChange);\n }, []);\n\n return !!isMobile;\n}\n"],"mappings":";AAEA,IAAM,oBAAoB;AAE1B,SAAgB,cAAc;CAC5B,IAAM,CAAC,GAAU,KAAe,SAA8B,KAAA,EAAU;AAYxE,QAVA,gBAAgB;EACd,IAAM,IAAM,OAAO,WAAW,eAAe,oBAAoB,EAAE,KAAK,EAClE,UAAiB;AACrB,KAAY,OAAO,aAAa,kBAAkB;;AAIpD,SAFA,EAAI,iBAAiB,UAAU,EAAS,EACxC,EAAY,OAAO,aAAa,kBAAkB,QACrC,EAAI,oBAAoB,UAAU,EAAS;IACvD,EAAE,CAAC,EAEC,CAAC,CAAC"}
1
+ {"version":3,"file":"use-mobile.js","names":[],"sources":["../../src/hooks/use-mobile.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nconst MOBILE_BREAKPOINT = 768;\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = useState<boolean | undefined>(undefined);\n\n useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n };\n mql.addEventListener('change', onChange);\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n return () => mql.removeEventListener('change', onChange);\n }, []);\n\n return !!isMobile;\n}\n"],"mappings":";;AAEA,IAAM,IAAoB;AAE1B,SAAgB,IAAc;CAC5B,IAAM,CAAC,GAAU,KAAe,EAA8B,KAAA,EAAU;AAYxE,QAVA,QAAgB;EACd,IAAM,IAAM,OAAO,WAAW,eAAe,IAAoB,EAAE,KAAK,EAClE,UAAiB;AACrB,KAAY,OAAO,aAAa,EAAkB;;AAIpD,SAFA,EAAI,iBAAiB,UAAU,EAAS,EACxC,EAAY,OAAO,aAAa,EAAkB,QACrC,EAAI,oBAAoB,UAAU,EAAS;IACvD,EAAE,CAAC,EAEC,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- const e=require(`../_virtual/rolldown:runtime.cjs`);let t=require(`clsx`),n=require(`tailwind-merge`);function r(...e){return(0,n.twMerge)((0,t.clsx)(e))}exports.cn=r;
1
+ require(`../_virtual/_rolldown/runtime.cjs`);let e=require(`clsx`),t=require(`tailwind-merge`);function n(...n){return(0,t.twMerge)((0,e.clsx)(n))}exports.cn=n;
2
2
  //# sourceMappingURL=utils.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","names":[],"sources":["../../src/lib/utils.ts"],"sourcesContent":["// Copyright 2024-2025 Andres Morey\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":"sGAiBA,SAAgB,EAAG,GAAG,EAAsB,CAC1C,OAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAoB,EAAO,CAAC"}
1
+ {"version":3,"file":"utils.cjs","names":[],"sources":["../../src/lib/utils.ts"],"sourcesContent":["// Copyright 2024-2025 Andres Morey\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":"+FAiBA,SAAgB,EAAG,GAAG,EAAsB,CAC1C,OAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAoB,EAAO,CAAC"}
package/dist/lib/utils.js CHANGED
@@ -1,8 +1,10 @@
1
- import { clsx } from "clsx";
2
- import { twMerge } from "tailwind-merge";
3
- function cn(...n) {
4
- return twMerge(clsx(n));
1
+ import { clsx as e } from "clsx";
2
+ import { twMerge as t } from "tailwind-merge";
3
+ //#region src/lib/utils.ts
4
+ function n(...n) {
5
+ return t(e(n));
5
6
  }
6
- export { cn };
7
+ //#endregion
8
+ export { n as cn };
7
9
 
8
10
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":[],"sources":["../../src/lib/utils.ts"],"sourcesContent":["// Copyright 2024-2025 Andres Morey\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;AAiBA,SAAgB,GAAG,GAAG,GAAsB;AAC1C,QAAO,QAAQ,KAAK,EAAO,CAAC"}
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../src/lib/utils.ts"],"sourcesContent":["// Copyright 2024-2025 Andres Morey\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;;AAiBA,SAAgB,EAAG,GAAG,GAAsB;AAC1C,QAAO,EAAQ,EAAK,EAAO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubetail/ui",
3
- "version": "v2.1.2",
3
+ "version": "v2.3.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/kubetail-org/kubetail-ui"
@@ -42,7 +42,9 @@
42
42
  "@radix-ui/react-select": "^2",
43
43
  "@radix-ui/react-separator": "^1",
44
44
  "@radix-ui/react-slot": "^1",
45
+ "@radix-ui/react-switch": "^1",
45
46
  "@radix-ui/react-tabs": "^1",
47
+ "@radix-ui/react-toggle": "^1",
46
48
  "@radix-ui/react-tooltip": "^1",
47
49
  "lucide-react": "*",
48
50
  "react": "^19",
@@ -76,9 +78,15 @@
76
78
  "@radix-ui/react-separator": {
77
79
  "optional": true
78
80
  },
81
+ "@radix-ui/react-switch": {
82
+ "optional": true
83
+ },
79
84
  "@radix-ui/react-tabs": {
80
85
  "optional": true
81
86
  },
87
+ "@radix-ui/react-toggle": {
88
+ "optional": true
89
+ },
82
90
  "@radix-ui/react-tooltip": {
83
91
  "optional": true
84
92
  },
@@ -93,11 +101,11 @@
93
101
  }
94
102
  },
95
103
  "devDependencies": {
96
- "@chromatic-com/storybook": "^4.1.3",
97
- "@eslint/compat": "^2.0.0",
104
+ "@chromatic-com/storybook": "^5.0.1",
105
+ "@eslint/compat": "^2.0.3",
98
106
  "@eslint/js": "^9.39.1",
99
107
  "@fontsource-variable/roboto-flex": "^5.2.8",
100
- "@microsoft/api-extractor": "^7.55.2",
108
+ "@microsoft/api-extractor": "^7.57.7",
101
109
  "@radix-ui/react-checkbox": "^1.3.3",
102
110
  "@radix-ui/react-dialog": "^1.1.15",
103
111
  "@radix-ui/react-dropdown-menu": "^2.1.16",
@@ -106,56 +114,59 @@
106
114
  "@radix-ui/react-select": "^2.2.6",
107
115
  "@radix-ui/react-separator": "^1.1.8",
108
116
  "@radix-ui/react-slot": "^1.2.4",
117
+ "@radix-ui/react-switch": "^1.2.6",
109
118
  "@radix-ui/react-tabs": "^1.1.13",
119
+ "@radix-ui/react-toggle": "^1.1.10",
110
120
  "@radix-ui/react-tooltip": "^1.2.8",
111
- "@storybook/addon-docs": "^10.1.4",
112
- "@storybook/addon-links": "^10.1.4",
113
- "@storybook/addon-themes": "^10.1.4",
114
- "@storybook/builder-vite": "^10.1.4",
115
- "@storybook/react-vite": "^10.1.4",
121
+ "@storybook/addon-docs": "^10.2.19",
122
+ "@storybook/addon-links": "^10.2.19",
123
+ "@storybook/addon-themes": "^10.2.19",
124
+ "@storybook/builder-vite": "^10.2.9",
125
+ "@storybook/react-vite": "^10.2.9",
116
126
  "@stylistic/eslint-plugin": "^3.1.0",
117
- "@tailwindcss/vite": "^4.1.17",
127
+ "@tailwindcss/vite": "^4.2.1",
118
128
  "@testing-library/jest-dom": "^6.9.1",
119
- "@testing-library/react": "^16.3.0",
129
+ "@testing-library/react": "^16.3.2",
120
130
  "@types/node": "^24.10.1",
121
- "@types/react": "^19.2.5",
131
+ "@types/react": "^19.2.14",
122
132
  "@types/react-dom": "^19.2.3",
123
133
  "@types/rollup-plugin-auto-external": "^2.0.5",
124
- "@vitejs/plugin-react": "^5.1.2",
125
- "@vueless/storybook-dark-mode": "^10.0.4",
134
+ "@vitejs/plugin-react": "^6.0.1",
135
+ "@vueless/storybook-dark-mode": "^10.0.7",
126
136
  "eslint": "^9.39.1",
127
137
  "eslint-config-airbnb-extended": "^2.3.3",
128
138
  "eslint-config-prettier": "^10.1.8",
129
139
  "eslint-import-resolver-typescript": "^4.4.3",
130
- "eslint-plugin-import-x": "^4.15.2",
140
+ "eslint-plugin-import-x": "^4.16.2",
131
141
  "eslint-plugin-jsx-a11y": "^6.10.2",
132
- "eslint-plugin-prettier": "^5.5.4",
142
+ "eslint-plugin-prettier": "^5.5.5",
133
143
  "eslint-plugin-react": "^7.37.5",
134
144
  "eslint-plugin-react-hooks": "^7.0.1",
135
- "eslint-plugin-react-refresh": "^0.4.24",
136
- "glob": "^13.0.0",
137
- "globals": "^16.5.0",
138
- "jsdom": "^27.2.0",
139
- "lucide-react": "^0.556.0",
140
- "prettier": "^3.7.4",
141
- "react-day-picker": "^9.12.0",
145
+ "eslint-plugin-react-refresh": "^0.5.2",
146
+ "glob": "^13.0.6",
147
+ "globals": "^17.4.0",
148
+ "jsdom": "^29.0.0",
149
+ "lucide-react": "^0.577.0",
150
+ "prettier": "^3.8.1",
151
+ "react-day-picker": "^9.14.0",
142
152
  "react-docgen-typescript": "^2.4.0",
143
- "react-hook-form": "^7.68.0",
153
+ "react-hook-form": "^7.71.2",
144
154
  "rollup-plugin-auto-external": "^2.0.0",
145
155
  "rollup-plugin-copy": "^3.5.0",
146
- "storybook": "^10.1.4",
156
+ "storybook": "^10.2.9",
157
+ "tailwindcss": "^4.2.1",
147
158
  "tslib": "^2.8.1",
148
159
  "typescript": "~5.9.3",
149
- "typescript-eslint": "^8.46.4",
160
+ "typescript-eslint": "^8.57.0",
150
161
  "unplugin-dts": "1.0.0-beta.6",
151
162
  "unplugin-fonts": "^1.4.0",
152
- "vite": "^7.2.7",
153
- "vitest": "^4.0.15"
163
+ "vite": "^8.0.0",
164
+ "vitest": "^4.1.0"
154
165
  },
155
166
  "dependencies": {
156
167
  "class-variance-authority": "^0.7.1",
157
168
  "clsx": "^2.1.1",
158
- "tailwind-merge": "^3.4.0"
169
+ "tailwind-merge": "^3.5.0"
159
170
  },
160
171
  "scripts": {
161
172
  "dev": "vite",