@stubber/ui 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,85 @@ import { Tabs as TabsPrimitive } from "bits-ui";
2
2
  import Content from "./tabs-content.svelte";
3
3
  import List from "./tabs-list.svelte";
4
4
  import Trigger from "./tabs-trigger.svelte";
5
+ import { type VariantProps } from "tailwind-variants";
5
6
  declare const Root: typeof TabsPrimitive.Root;
6
- export type TabVariant = "default" | "secondary";
7
- export { Root, Content, List, Trigger, Root as Tabs, Content as TabsContent, List as TabsList, Trigger as TabsTrigger, };
7
+ declare const listVariants: import("tailwind-variants").TVReturnType<{
8
+ variant: {
9
+ default: string;
10
+ secondary: string;
11
+ };
12
+ }, undefined, "text-muted-foreground", import("tailwind-variants/dist/config.d.ts").TVConfig<{
13
+ variant: {
14
+ default: string;
15
+ secondary: string;
16
+ };
17
+ }, {
18
+ variant: {
19
+ default: string;
20
+ secondary: string;
21
+ };
22
+ }>, {
23
+ variant: {
24
+ default: string;
25
+ secondary: string;
26
+ };
27
+ }, undefined, import("tailwind-variants").TVReturnType<{
28
+ variant: {
29
+ default: string;
30
+ secondary: string;
31
+ };
32
+ }, undefined, "text-muted-foreground", import("tailwind-variants/dist/config.d.ts").TVConfig<{
33
+ variant: {
34
+ default: string;
35
+ secondary: string;
36
+ };
37
+ }, {
38
+ variant: {
39
+ default: string;
40
+ secondary: string;
41
+ };
42
+ }>, unknown, unknown, undefined>>;
43
+ declare const triggerVariants: import("tailwind-variants").TVReturnType<{
44
+ variant: {
45
+ default: string;
46
+ secondary: string;
47
+ };
48
+ }, undefined, "data-[state=active]:bg-background data-[state=active]:text-foreground", import("tailwind-variants/dist/config.d.ts").TVConfig<{
49
+ variant: {
50
+ default: string;
51
+ secondary: string;
52
+ };
53
+ }, {
54
+ variant: {
55
+ default: string;
56
+ secondary: string;
57
+ };
58
+ }>, {
59
+ variant: {
60
+ default: string;
61
+ secondary: string;
62
+ };
63
+ }, undefined, import("tailwind-variants").TVReturnType<{
64
+ variant: {
65
+ default: string;
66
+ secondary: string;
67
+ };
68
+ }, undefined, "data-[state=active]:bg-background data-[state=active]:text-foreground", import("tailwind-variants/dist/config.d.ts").TVConfig<{
69
+ variant: {
70
+ default: string;
71
+ secondary: string;
72
+ };
73
+ }, {
74
+ variant: {
75
+ default: string;
76
+ secondary: string;
77
+ };
78
+ }>, unknown, unknown, undefined>>;
79
+ type ListVariant = VariantProps<typeof listVariants>["variant"];
80
+ type ListProps = TabsPrimitive.ListProps & {
81
+ variant?: ListVariant;
82
+ };
83
+ type TriggerProps = TabsPrimitive.TriggerProps & {
84
+ variant?: VariantProps<typeof triggerVariants>["variant"];
85
+ };
86
+ export { Root, Content, List, Trigger, type ListProps, type TriggerProps, Root as Tabs, Content as TabsContent, List as TabsList, Trigger as TabsTrigger, type ListProps as TabsListProps, type TriggerProps as TabsTriggerProps, listVariants, triggerVariants, };
@@ -2,7 +2,32 @@ import { Tabs as TabsPrimitive } from "bits-ui";
2
2
  import Content from "./tabs-content.svelte";
3
3
  import List from "./tabs-list.svelte";
4
4
  import Trigger from "./tabs-trigger.svelte";
5
+ import { tv } from "tailwind-variants";
5
6
  const Root = TabsPrimitive.Root;
7
+ const listVariants = tv({
8
+ base: "text-muted-foreground",
9
+ variants: {
10
+ variant: {
11
+ default: "bg-white text-muted-foreground",
12
+ secondary: "bg-muted text-muted-foreground",
13
+ },
14
+ },
15
+ defaultVariants: {
16
+ variant: "default",
17
+ },
18
+ });
19
+ const triggerVariants = tv({
20
+ base: "data-[state=active]:bg-background data-[state=active]:text-foreground",
21
+ variants: {
22
+ variant: {
23
+ default: "data-[state=active]:border-b-2 border-black",
24
+ secondary: "data-[state=active]:shadow-sm rounded-lg",
25
+ },
26
+ },
27
+ defaultVariants: {
28
+ variant: "default",
29
+ },
30
+ });
6
31
  export { Root, Content, List, Trigger,
7
32
  //
8
- Root as Tabs, Content as TabsContent, List as TabsList, Trigger as TabsTrigger, };
33
+ Root as Tabs, Content as TabsContent, List as TabsList, Trigger as TabsTrigger, listVariants, triggerVariants, };
@@ -1,19 +1,18 @@
1
1
  <script>import { Tabs as TabsPrimitive } from "bits-ui";
2
2
  import { cn } from "../../utils/shadcn-utils.js";
3
+ import { listVariants } from "./index.js";
4
+ import { getContext } from "svelte";
3
5
  let className = void 0;
4
6
  export let variant = "default";
5
7
  export { className as class };
6
- const variantStyles = {
7
- default: "bg-white text-muted-foreground",
8
- secondary: "bg-muted text-muted-foreground"
9
- };
8
+ let context = getContext("tabs");
9
+ if (context?.options) context.options.variant = variant;
10
10
  </script>
11
11
 
12
12
  <TabsPrimitive.List
13
13
  class={cn(
14
14
  "inline-flex h-10 items-center justify-center rounded-lg p-1",
15
- variantStyles[variant],
16
- className
15
+ listVariants({ variant, className })
17
16
  )}
18
17
  {...$$restProps}
19
18
  >
@@ -1,7 +1,7 @@
1
1
  import { SvelteComponent } from "svelte";
2
- import { Tabs as TabsPrimitive } from "bits-ui";
2
+ import { type ListProps } from "./index.js";
3
3
  declare const __propDef: {
4
- props: TabsPrimitive.ListProps;
4
+ props: ListProps;
5
5
  events: {
6
6
  [evt: string]: CustomEvent<any>;
7
7
  };
@@ -1,20 +1,21 @@
1
1
  <script>import { Tabs as TabsPrimitive } from "bits-ui";
2
2
  import { cn } from "../../utils/shadcn-utils.js";
3
+ import { triggerVariants } from "./index.js";
4
+ import { getAllContexts, getContext } from "svelte";
3
5
  let className = void 0;
4
6
  export let value;
5
7
  export let variant = "default";
6
8
  export { className as class };
7
- const variantStyles = {
8
- default: "data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:border-b-2 border-black",
9
- secondary: "data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm rounded-lg"
10
- };
9
+ let context = getContext("tabs");
10
+ if (context?.options?.variant) {
11
+ variant = context.options.variant;
12
+ }
11
13
  </script>
12
14
 
13
15
  <TabsPrimitive.Trigger
14
16
  class={cn(
15
17
  "ring-offset-background focus-visible:ring-ring inline-flex items-center justify-center gap-2 whitespace-nowrap px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
16
- variantStyles[variant],
17
- className
18
+ triggerVariants({ variant, className })
18
19
  )}
19
20
  {value}
20
21
  {...$$restProps}
@@ -1,7 +1,8 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  import { Tabs as TabsPrimitive } from "bits-ui";
3
+ import { type TriggerProps } from "./index.js";
3
4
  declare const __propDef: {
4
- props: TabsPrimitive.TriggerProps;
5
+ props: TriggerProps;
5
6
  slots: {
6
7
  default: {};
7
8
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stubber/ui",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "scripts": {
5
5
  "dev": "vite dev",
6
6
  "build": "vite build && pnpm run package && node ./fix_dts_imports.js",