@mesob/ui 0.2.5 → 0.3.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mesob/ui",
3
- "version": "0.2.5",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -26,40 +26,20 @@
26
26
  "./lib/*": {
27
27
  "types": "./dist/lib/*.d.ts",
28
28
  "default": "./dist/lib/*.js"
29
+ },
30
+ "./styles/themes.css": {
31
+ "default": "./src/styles/themes.css",
32
+ "import": "./src/styles/themes.css",
33
+ "require": "./src/styles/themes.css"
29
34
  }
30
35
  },
31
36
  "files": [
32
- "dist"
37
+ "dist",
38
+ "src/styles"
33
39
  ],
34
40
  "dependencies": {
41
+ "@base-ui/react": "^1.1.0",
35
42
  "@hookform/resolvers": "^5.2.2",
36
- "@radix-ui/react-accordion": "^1.2.12",
37
- "@radix-ui/react-alert-dialog": "^1.1.15",
38
- "@radix-ui/react-aspect-ratio": "^1.1.8",
39
- "@radix-ui/react-avatar": "^1.1.11",
40
- "@radix-ui/react-checkbox": "^1.3.3",
41
- "@radix-ui/react-collapsible": "^1.1.12",
42
- "@radix-ui/react-context-menu": "^2.2.16",
43
- "@radix-ui/react-dialog": "^1.1.15",
44
- "@radix-ui/react-dropdown-menu": "^2.1.16",
45
- "@radix-ui/react-hover-card": "^1.1.15",
46
- "@radix-ui/react-label": "^2.1.8",
47
- "@radix-ui/react-menubar": "^1.1.16",
48
- "@radix-ui/react-navigation-menu": "^1.2.14",
49
- "@radix-ui/react-popover": "^1.1.15",
50
- "@radix-ui/react-progress": "^1.1.8",
51
- "@radix-ui/react-radio-group": "^1.3.8",
52
- "@radix-ui/react-scroll-area": "^1.2.10",
53
- "@radix-ui/react-select": "^2.2.6",
54
- "@radix-ui/react-separator": "^1.1.8",
55
- "@radix-ui/react-slider": "^1.3.6",
56
- "@radix-ui/react-slot": "^1.2.4",
57
- "@radix-ui/react-switch": "^1.2.6",
58
- "@radix-ui/react-tabs": "^1.1.13",
59
- "@radix-ui/react-toggle": "^1.1.10",
60
- "@radix-ui/react-toggle-group": "^1.1.11",
61
- "@radix-ui/react-tooltip": "^1.2.8",
62
- "@radix-ui/react-visually-hidden": "^1.2.4",
63
43
  "@tabler/icons-react": "^3.35.0",
64
44
  "@tanstack/react-table": "^8.21.3",
65
45
  "@tiptap/core": "^3.18.0",
@@ -80,9 +60,10 @@
80
60
  "@tiptap/extension-youtube": "^3.18.0",
81
61
  "@tiptap/react": "^3.18.0",
82
62
  "@tiptap/starter-kit": "^3.18.0",
63
+ "ahooks": "^3.9.6",
83
64
  "class-variance-authority": "^0.7.1",
84
65
  "clsx": "^2.1.1",
85
- "cmdk": "^1.1.1",
66
+ "culori": "^4.0.2",
86
67
  "date-fns": "^4.1.0",
87
68
  "embla-carousel-react": "^8.6.0",
88
69
  "html-react-parser": "^5.2.16",
@@ -97,7 +78,6 @@
97
78
  "sonner": "^2.0.7",
98
79
  "tailwind-merge": "^3.3.1",
99
80
  "tw-animate-css": "^1.4.0",
100
- "vaul": "^1.1.2",
101
81
  "zod": "^3.25.76"
102
82
  },
103
83
  "devDependencies": {
@@ -0,0 +1,79 @@
1
+ .style-lyra {
2
+ /* MARK: Button */
3
+ .cn-button {
4
+ @apply focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-none border border-transparent bg-clip-padding text-xs font-medium focus-visible:ring-1 aria-invalid:ring-1 [&_svg:not([class*='size-'])]:size-4;
5
+ }
6
+
7
+ .cn-button-variant-default {
8
+ @apply bg-primary text-primary-foreground [a]:hover:bg-primary/80;
9
+ }
10
+
11
+ .cn-button-variant-outline {
12
+ @apply border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground;
13
+ }
14
+
15
+ .cn-button-variant-secondary {
16
+ @apply bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground;
17
+ }
18
+
19
+ .cn-button-variant-ghost {
20
+ @apply hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground;
21
+ }
22
+
23
+ .cn-button-variant-destructive {
24
+ @apply bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30;
25
+ }
26
+
27
+ .cn-button-variant-link {
28
+ @apply text-primary underline-offset-4 hover:underline;
29
+ }
30
+
31
+ .cn-button-variant-light {
32
+ @apply bg-primary/12 text-primary hover:bg-primary/18 dark:bg-primary/20 dark:hover:bg-primary/28;
33
+ }
34
+
35
+ .cn-button-variant-destructive-filled {
36
+ @apply bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40;
37
+ }
38
+
39
+ .cn-button-size-xl {
40
+ @apply h-10 gap-2 px-4.5 has-data-[icon=inline-end]:pr-4 has-data-[icon=inline-start]:pl-4 text-sm;
41
+ }
42
+
43
+ .cn-button-size-icon-xl {
44
+ @apply size-10 [&_svg:not([class*='size-'])]:size-4.5;
45
+ }
46
+
47
+ .cn-button-size-xs {
48
+ @apply h-6 gap-1 rounded-none px-2 text-xs has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3;
49
+ }
50
+
51
+ .cn-button-size-sm {
52
+ @apply h-7 gap-1.5 rounded-none px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3.5;
53
+ }
54
+
55
+ .cn-button-size-default {
56
+ @apply h-8 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5;
57
+ }
58
+
59
+ .cn-button-size-lg {
60
+ @apply h-9 gap-2 px-3.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3;
61
+ }
62
+
63
+ .cn-button-size-icon-xs {
64
+ @apply size-6 rounded-none [&_svg:not([class*='size-'])]:size-3;
65
+ }
66
+
67
+ .cn-button-size-icon-sm {
68
+ @apply size-7 rounded-none [&_svg:not([class*='size-'])]:size-3.5;
69
+ }
70
+
71
+ .cn-button-size-icon {
72
+ @apply size-8 [&_svg:not([class*='size-'])]:size-4;
73
+ }
74
+
75
+ .cn-button-size-icon-lg {
76
+ @apply size-9 [&_svg:not([class*='size-'])]:size-4;
77
+ }
78
+
79
+ }
@@ -0,0 +1,79 @@
1
+ .style-maia {
2
+ /* MARK: Button */
3
+ .cn-button {
4
+ @apply focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-4xl border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] [&_svg:not([class*='size-'])]:size-4;
5
+ }
6
+
7
+ .cn-button-variant-default {
8
+ @apply bg-primary text-primary-foreground hover:bg-primary/80;
9
+ }
10
+
11
+ .cn-button-variant-outline {
12
+ @apply border-border bg-input/30 hover:bg-input/50 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground;
13
+ }
14
+
15
+ .cn-button-variant-secondary {
16
+ @apply bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground;
17
+ }
18
+
19
+ .cn-button-variant-ghost {
20
+ @apply hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground;
21
+ }
22
+
23
+ .cn-button-variant-destructive {
24
+ @apply bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30;
25
+ }
26
+
27
+ .cn-button-variant-link {
28
+ @apply text-primary underline-offset-4 hover:underline;
29
+ }
30
+
31
+ .cn-button-variant-light {
32
+ @apply bg-primary/12 text-primary hover:bg-primary/18 dark:bg-primary/20 dark:hover:bg-primary/28;
33
+ }
34
+
35
+ .cn-button-variant-destructive-filled {
36
+ @apply bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40;
37
+ }
38
+
39
+ .cn-button-size-xl {
40
+ @apply h-12 gap-2 px-7 has-data-[icon=inline-end]:pr-5 has-data-[icon=inline-start]:pl-5 text-lg;
41
+ }
42
+
43
+ .cn-button-size-icon-xl {
44
+ @apply size-12;
45
+ }
46
+
47
+ .cn-button-size-xs {
48
+ @apply h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3;
49
+ }
50
+
51
+ .cn-button-size-sm {
52
+ @apply h-8 gap-1 px-3 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2;
53
+ }
54
+
55
+ .cn-button-size-default {
56
+ @apply h-9 gap-1.5 px-3 has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5;
57
+ }
58
+
59
+ .cn-button-size-lg {
60
+ @apply h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3;
61
+ }
62
+
63
+ .cn-button-size-icon-xs {
64
+ @apply size-6 [&_svg:not([class*='size-'])]:size-3;
65
+ }
66
+
67
+ .cn-button-size-icon-sm {
68
+ @apply size-8;
69
+ }
70
+
71
+ .cn-button-size-icon {
72
+ @apply size-9;
73
+ }
74
+
75
+ .cn-button-size-icon-lg {
76
+ @apply size-10;
77
+ }
78
+
79
+ }
@@ -0,0 +1,79 @@
1
+ .style-mira {
2
+ /* MARK: Button */
3
+ .cn-button {
4
+ @apply focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-xs/relaxed font-medium focus-visible:ring-2 aria-invalid:ring-2 [&_svg:not([class*='size-'])]:size-4;
5
+ }
6
+
7
+ .cn-button-variant-default {
8
+ @apply bg-primary text-primary-foreground hover:bg-primary/80;
9
+ }
10
+
11
+ .cn-button-variant-outline {
12
+ @apply border-border dark:bg-input/30 hover:bg-input/50 hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground;
13
+ }
14
+
15
+ .cn-button-variant-secondary {
16
+ @apply bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground;
17
+ }
18
+
19
+ .cn-button-variant-ghost {
20
+ @apply hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground;
21
+ }
22
+
23
+ .cn-button-variant-destructive {
24
+ @apply bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30;
25
+ }
26
+
27
+ .cn-button-variant-link {
28
+ @apply text-primary underline-offset-4 hover:underline;
29
+ }
30
+
31
+ .cn-button-variant-light {
32
+ @apply bg-primary/12 text-primary hover:bg-primary/18 dark:bg-primary/20 dark:hover:bg-primary/28;
33
+ }
34
+
35
+ .cn-button-variant-destructive-filled {
36
+ @apply bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40;
37
+ }
38
+
39
+ .cn-button-size-xl {
40
+ @apply h-12 gap-2 px-7 has-data-[icon=inline-end]:pr-5 has-data-[icon=inline-start]:pl-5 text-lg;
41
+ }
42
+
43
+ .cn-button-size-icon-xl {
44
+ @apply size-12;
45
+ }
46
+
47
+ .cn-button-size-xs {
48
+ @apply h-5 gap-1 rounded-sm px-2 text-[0.625rem] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-2.5;
49
+ }
50
+
51
+ .cn-button-size-sm {
52
+ @apply h-6 gap-1 px-2 text-xs/relaxed has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3;
53
+ }
54
+
55
+ .cn-button-size-default {
56
+ @apply h-7 gap-1 px-2 text-xs/relaxed has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5;
57
+ }
58
+
59
+ .cn-button-size-lg {
60
+ @apply h-8 gap-1 px-2.5 text-xs/relaxed has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-4;
61
+ }
62
+
63
+ .cn-button-size-icon-xs {
64
+ @apply size-5 rounded-sm [&_svg:not([class*='size-'])]:size-2.5;
65
+ }
66
+
67
+ .cn-button-size-icon-sm {
68
+ @apply size-6 [&_svg:not([class*='size-'])]:size-3;
69
+ }
70
+
71
+ .cn-button-size-icon {
72
+ @apply size-7 [&_svg:not([class*='size-'])]:size-3.5;
73
+ }
74
+
75
+ .cn-button-size-icon-lg {
76
+ @apply size-8 [&_svg:not([class*='size-'])]:size-4;
77
+ }
78
+
79
+ }