@basis-ng/styles 0.0.1-alpha.117 → 0.0.1-alpha.119

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": "@basis-ng/styles",
3
- "version": "0.0.1-alpha.117",
3
+ "version": "0.0.1-alpha.119",
4
4
  "description": "CSS foundation for @basis-ng/primitives components",
5
5
  "main": "src/index.css",
6
6
  "exports": {
@@ -11,7 +11,6 @@
11
11
  "./button-group": "./src/components/button-group.css",
12
12
  "./button": "./src/components/button.css",
13
13
  "./checkbox": "./src/components/checkbox.css",
14
- "./color-picker": "./src/components/color-picker.css",
15
14
  "./input-group": "./src/components/input-group.css",
16
15
  "./input": "./src/components/input.css",
17
16
  "./label": "./src/components/label.css",
@@ -26,7 +25,6 @@
26
25
  "./sheet": "./src/components/sheet.css",
27
26
  "./spinner": "./src/components/spinner.css",
28
27
  "./switch": "./src/components/switch.css",
29
- "./table": "./src/components/table.css",
30
28
  "./tabs": "./src/components/tabs.css",
31
29
  "./textarea": "./src/components/textarea.css",
32
30
  "./tooltip": "./src/components/tooltip.css",
@@ -1,43 +1,58 @@
1
+ /* Alert styles — Base / Types / Sizes / Close */
2
+
3
+ /* Use the same selector the primitive exposes: `b-alert` */
4
+
1
5
  b-alert {
2
- @apply flex items-center gap-4 p-4 rounded-size-md relative font-sans w-full box-border max-w-full;
6
+ @apply flex items-start gap-4 p-4 rounded-size-md w-full box-border max-w-full font-sans;
3
7
 
4
8
  .icon {
5
9
  @apply flex-shrink-0 self-start;
6
10
  }
7
11
 
8
12
  .content {
9
- @apply flex-grow flex flex-col gap-2;
13
+ @apply flex-1 flex flex-col gap-1;
10
14
 
11
15
  .title {
12
- @apply font-bold;
16
+ @apply font-semibold;
13
17
  }
14
18
 
15
19
  .body {
16
- @apply text-sm flex flex-col gap-1;
20
+ @apply text-sm;
17
21
  }
18
22
  }
19
23
 
20
- &.success {
21
- @apply bg-success/20 text-success-foreground;
22
- @apply dark:bg-success-dark/20 dark:text-success-foreground-dark;
24
+ /* Default: info */
25
+ @apply bg-info/20 text-info-foreground dark:bg-info-dark/20 dark:text-info-foreground-dark;
26
+
27
+ /* Types (match primitive's `type` input): use `b-type-` prefix to avoid classname collisions */
28
+ &.b-type-success {
29
+ @apply bg-success/20 inset-ring-1 text-success-foreground dark:bg-success-dark/20 dark:text-success-foreground-dark inset-ring-success/90 dark:inset-ring-success-dark/30;
23
30
  }
24
31
 
25
- &.error {
26
- @apply bg-destructive/20 text-destructive;
27
- @apply dark:bg-destructive-dark/20 dark:text-destructive-dark;
32
+ &.b-type-error {
33
+ @apply bg-destructive/20 inset-ring-1 text-destructive dark:bg-destructive-dark/20 dark:text-destructive-dark inset-ring-destructive/30 dark:inset-ring-destructive-dark/30;
28
34
  }
29
35
 
30
- &.warning {
31
- @apply bg-warning/20 text-warning-foreground;
32
- @apply dark:bg-warning-dark/20 dark:text-warning-foreground-dark;
36
+ &.b-type-warning {
37
+ @apply bg-warning/20 inset-ring-1 text-warning-foreground dark:bg-warning-dark/20 dark:text-warning-foreground-dark inset-ring-warning/90 dark:inset-ring-warning-dark/30;
33
38
  }
34
39
 
35
- &.info {
36
- @apply bg-info/20 text-info-foreground;
37
- @apply dark:bg-info-dark/20 dark:text-info-foreground-dark;
40
+ &.b-type-info {
41
+ @apply bg-info/20 inset-ring-1 text-info-foreground dark:bg-info-dark/20 dark:text-info-foreground-dark inset-ring-info/90 dark:inset-ring-info-dark/30;
42
+ }
43
+
44
+ /* Sizes */
45
+ &.b-size-sm {
46
+ @apply p-2 text-sm;
47
+ }
48
+ &.b-size-md {
49
+ @apply p-4 text-base;
50
+ }
51
+ &.b-size-lg {
52
+ @apply p-6 text-lg;
38
53
  }
39
54
 
40
55
  .close-btn {
41
- @apply self-start flex-shrink-0 bg-transparent border-none cursor-pointer text-inherit flex items-start p-0;
56
+ @apply ml-auto bg-transparent border-0 cursor-pointer p-1 rounded;
42
57
  }
43
58
  }
@@ -1,36 +1,37 @@
1
1
  span[b-badge] {
2
- @apply inline-flex justify-center items-center rounded-full transition-colors duration-150 box-border;
2
+ /* Base */
3
+ @apply inline-flex items-center gap-2 px-2 py-1 font-medium text-sm rounded-size-md;
4
+ @apply bg-primary text-primary-foreground dark:bg-primary-dark dark:text-primary-foreground-dark;
3
5
 
4
6
  /* Variants */
5
- &.b-badge-variant-primary {
6
- @apply bg-primary text-primary-foreground border border-primary;
7
- @apply dark:bg-primary-dark dark:text-primary-foreground-dark dark:border-primary-dark;
7
+ &.b-variant-primary {
8
+ @apply bg-primary text-primary-foreground dark:bg-primary-dark dark:text-primary-foreground-dark;
8
9
  }
9
- &.b-badge-variant-secondary {
10
- @apply bg-secondary text-secondary-foreground;
11
- @apply dark:bg-secondary-dark dark:text-secondary-foreground-dark;
10
+
11
+ &.b-variant-secondary {
12
+ @apply bg-secondary text-secondary-foreground dark:bg-secondary-dark dark:text-secondary-foreground-dark;
12
13
  }
13
- &.b-badge-variant-ghost {
14
- @apply bg-transparent hover:bg-primary/10;
15
- @apply dark:hover:bg-primary-dark/10;
14
+
15
+ &.b-variant-ghost {
16
+ @apply bg-transparent text-secondary-foreground dark:text-secondary-foreground-dark;
16
17
  }
17
- &.b-badge-variant-outlined {
18
- @apply bg-transparent inset-ring-1 inset-ring-secondary-foreground/30 hover:bg-primary/5;
19
- @apply dark:inset-ring-secondary-foreground-dark/30 dark:hover:bg-primary-dark/5;
18
+
19
+ &.b-variant-outlined {
20
+ @apply bg-transparent inset-ring-1 inset-ring-ring text-secondary-foreground dark:inset-ring-ring-dark dark:text-secondary-foreground-dark;
20
21
  }
21
- &.b-badge-variant-destructive {
22
- @apply bg-destructive text-destructive-foreground inset-ring-1 inset-ring-destructive hover:bg-destructive/90 hover:inset-ring-destructive/80;
23
- @apply dark:bg-destructive-dark dark:text-destructive-foreground-dark dark:inset-ring-destructive-dark dark:hover:bg-destructive-dark/90 dark:hover:inset-ring-destructive-dark/80;
22
+
23
+ &.b-variant-destructive {
24
+ @apply bg-destructive text-destructive-foreground dark:bg-destructive-dark dark:text-destructive-foreground-dark;
24
25
  }
25
26
 
26
27
  /* Sizes */
27
- &.b-badge-size-sm {
28
- @apply px-1.5 py-0.5 text-xs;
28
+ &.b-size-sm {
29
+ @apply px-1.5 py-0.5 text-xs rounded-size-sm;
29
30
  }
30
- &.b-badge-size-md {
31
- @apply px-2.5 py-1 text-sm;
31
+ &.b-size-md {
32
+ @apply px-2 py-1 text-sm rounded-size-md;
32
33
  }
33
- &.b-badge-size-lg {
34
- @apply px-3.5 py-1.5 text-base;
34
+ &.b-size-lg {
35
+ @apply px-2.5 py-1 text-base rounded-size-lg;
35
36
  }
36
37
  }
@@ -1,62 +1,73 @@
1
+ /* Button styles — grouped sections: Base / Variants / Sizes / States / Squared */
1
2
  button[b-button] {
2
- @apply transition-colors duration-150 flex items-center justify-center gap-x-2 disabled:opacity-50 disabled:cursor-not-allowed;
3
+ /* Base */
4
+ @apply transition-colors duration-150 flex items-center justify-center gap-x-1.5 disabled:opacity-50 disabled:cursor-not-allowed;
5
+
6
+ /* Default spacing/typography applied when no explicit size is present */
7
+ @apply px-3 py-0 text-sm h-8 rounded-size-md;
8
+
9
+ /* Default visual (primary) applied when no explicit variant is present */
10
+ @apply bg-primary text-primary-foreground hover:bg-primary/80;
11
+ @apply dark:bg-primary-dark dark:text-primary-foreground-dark dark:hover:bg-primary-dark/80;
3
12
 
4
13
  /* Variants */
5
- &.b-button-variant-primary {
14
+ &.b-variant-primary {
6
15
  @apply bg-primary text-primary-foreground hover:bg-primary/80;
7
16
  @apply dark:bg-primary-dark dark:text-primary-foreground-dark dark:hover:bg-primary-dark/80;
8
17
  }
9
- &.b-button-variant-secondary {
18
+ &.b-variant-secondary {
10
19
  @apply bg-secondary text-secondary-foreground hover:bg-secondary/80;
11
20
  @apply dark:bg-secondary-dark dark:text-secondary-foreground-dark dark:hover:bg-secondary-dark/80;
12
21
  }
13
- &.b-button-variant-ghost {
14
- @apply bg-transparent hover:bg-primary/10;
15
- @apply dark:hover:bg-primary-dark/10;
22
+ &.b-variant-ghost {
23
+ /* Ghost is transparent with a subtle hover; text uses secondary foreground */
24
+ @apply bg-transparent text-secondary-foreground hover:bg-secondary;
25
+ @apply dark:text-secondary-foreground-dark dark:hover:bg-secondary-dark;
16
26
  }
17
- &.b-button-variant-outlined {
18
- @apply bg-transparent inset-ring-1 inset-ring-secondary hover:bg-primary/5;
19
- @apply dark:inset-ring-secondary-dark dark:hover:bg-primary-dark/5;
27
+ &.b-variant-outlined {
28
+ /* Outlined keeps a transparent background and an inset ring */
29
+ @apply bg-secondary/10 text-secondary-foreground inset-ring inset-ring-ring hover:bg-primary/5 shadow-xs;
30
+ @apply dark:bg-secondary-dark/40 dark:text-secondary-foreground-dark dark:inset-ring-ring-dark dark:hover:bg-primary-dark/5 shadow-xs;
20
31
  }
21
- &.b-button-variant-destructive {
32
+ &.b-variant-destructive {
22
33
  @apply bg-destructive text-destructive-foreground inset-ring-1 inset-ring-destructive hover:bg-destructive/90 hover:inset-ring-destructive/80;
23
34
  @apply dark:bg-destructive-dark dark:text-destructive-foreground-dark dark:inset-ring-destructive-dark dark:hover:bg-destructive-dark/90 dark:hover:inset-ring-destructive-dark/80;
24
35
  }
25
36
 
26
37
  /* Sizes */
27
- &.b-button-size-sm {
28
- @apply px-2 py-1 text-sm rounded-size-sm;
38
+ &.b-size-sm {
39
+ @apply px-2 py-0 text-xs h-6 rounded-size-sm gap-1;
29
40
  }
30
- &.b-button-size-md {
31
- @apply px-4 py-2 text-base rounded-size-md;
41
+ &.b-size-md {
42
+ @apply px-3 py-0 text-sm h-8 rounded-size-md gap-1.5;
32
43
  }
33
- &.b-button-size-lg {
34
- @apply px-6 py-3 text-lg rounded-size-lg;
44
+ &.b-size-lg {
45
+ @apply px-4 py-0 text-base h-10 rounded-size-lg gap-2;
35
46
  }
36
47
 
37
- /* Active state */
48
+ /* States */
38
49
  &.b-active,
39
50
  &:focus-visible {
40
51
  @apply outline-2 outline-offset-4 outline-primary;
41
52
  @apply dark:outline-primary-dark;
42
53
  }
43
- &.b-button-variant-destructive.b-active,
44
- &.b-button-variant-destructive:focus-visible {
54
+ &.b-variant-destructive.b-active,
55
+ &.b-variant-destructive:focus-visible {
45
56
  @apply outline-2 outline-offset-4 outline-destructive;
46
57
  @apply dark:outline-destructive-dark;
47
58
  }
48
59
 
49
- /* Squared (square button, useful for icons) */
50
- &.b-button-squared {
60
+ /* Squared */
61
+ &.b-squared {
51
62
  @apply aspect-square p-0 flex items-center justify-center;
52
- &.b-button-size-sm {
53
- @apply size-6;
54
- }
55
- &.b-button-size-md {
56
- @apply size-9;
57
- }
58
- &.b-button-size-lg {
59
- @apply size-12;
60
- }
63
+ }
64
+ &.b-squared.b-size-sm {
65
+ @apply size-6;
66
+ }
67
+ &.b-squared.b-size-md {
68
+ @apply size-9;
69
+ }
70
+ &.b-squared.b-size-lg {
71
+ @apply size-12;
61
72
  }
62
73
  }
@@ -1,6 +1,6 @@
1
1
  b-card {
2
- @apply flex flex-col gap-4 p-6 bg-background inset-ring-1 inset-ring-secondary rounded-size-lg;
3
- @apply dark:bg-background-dark dark:inset-ring-secondary-dark;
2
+ @apply flex flex-col gap-4 p-6 bg-background inset-ring-1 inset-ring-ring rounded-size-lg;
3
+ @apply dark:bg-background-dark dark:inset-ring-ring-dark;
4
4
 
5
5
  b-card-header {
6
6
  @apply flex flex-col gap-1;
@@ -1,20 +1,31 @@
1
1
  input[b-checkbox] {
2
+ /* Base styles */
3
+ @apply w-5 h-5 rounded-md;
4
+
2
5
  /* Sizes */
3
- &.b-checkbox-size-sm {
6
+ &.b-size-sm {
4
7
  @apply w-4 h-4 rounded-sm;
5
8
  }
6
- &.b-checkbox-size-md {
9
+ &.b-size-md {
7
10
  @apply w-5 h-5 rounded-md;
8
11
  }
9
- &.b-checkbox-size-lg {
12
+ &.b-size-lg {
10
13
  @apply w-7 h-7 rounded-lg;
11
14
  }
12
15
 
13
16
  &:checked {
14
- @apply accent-primary dark:accent-primary-dark;
17
+ @apply accent-primary;
18
+
19
+ @media (prefers-color-scheme: dark) {
20
+ @apply accent-primary-dark;
21
+ }
15
22
  }
16
23
 
17
24
  &:focus-visible {
18
- @apply outline-2 outline-offset-4 outline-primary dark:outline-primary-dark;
25
+ @apply outline-2 outline-offset-4 outline-primary;
26
+
27
+ @media (prefers-color-scheme: dark) {
28
+ @apply outline-primary-dark;
29
+ }
19
30
  }
20
31
  }
@@ -1,11 +1,23 @@
1
1
  b-input-group {
2
- /* Base container styles mirroring input.css approach */
3
- @apply flex items-center overflow-hidden inset-ring-1 inset-ring-secondary bg-background text-font font-sans transition-colors;
4
- @apply dark:inset-ring-secondary-dark dark:bg-background-dark dark:text-font-dark;
2
+ /* Base */
3
+ @apply flex overflow-hidden items-center;
4
+ @apply bg-secondary/10 text-secondary-foreground inset-ring-1 inset-ring-ring shadow-xs;
5
+ @apply dark:bg-secondary-dark/40 dark:text-secondary-foreground-dark dark:inset-ring-ring-dark;
6
+
7
+ /* Base md by default */
8
+ @apply px-2.5 py-0 text-sm h-8 rounded-size-md gap-1.5;
9
+
10
+ &:has(> button[b-button]:first-child) {
11
+ @apply !pl-1;
12
+ }
13
+
14
+ &:has(> button[b-button]:last-child) {
15
+ @apply !pr-1;
16
+ }
5
17
 
6
18
  /* Internal input adjustments when placed inside group */
7
19
  input[b-input] {
8
- @apply !outline-0 p-0 inset-ring-0 !w-full !rounded-none bg-transparent;
20
+ @apply !outline-0 !px-0 inset-ring-0 !w-full !rounded-none bg-transparent hover:bg-transparent;
9
21
  }
10
22
 
11
23
  /* Focus state when any inner input is focused (and not readonly) */
@@ -42,55 +54,34 @@ b-input-group {
42
54
  }
43
55
 
44
56
  /* Size variants (normalized to Tailwind scale, matching input sizes) */
45
- &:has(.b-input-size-sm) {
57
+ &:has(input[b-input].b-size-sm) {
46
58
  /* small */
47
- @apply py-1 h-7 text-sm rounded-size-sm;
48
-
49
- &:has(> :first-child:not(input[b-input])) {
50
- @apply pl-2;
51
- }
52
-
53
- &:has(> :last-child:not(input[b-input])) {
54
- @apply pr-2;
55
- }
59
+ @apply px-2 py-0 text-xs h-6 rounded-size-sm gap-1;
56
60
  }
57
- &:has(.b-input-size-md) {
58
- /* medium */
59
- @apply py-2 h-10 text-base rounded-size-md;
60
61
 
61
- &:has(> :first-child:not(input[b-input])) {
62
- @apply pl-3;
62
+ &:has(input[b-input].b-size-md) {
63
+ /* medium */
64
+ @apply px-2.5 py-0 text-sm h-8 rounded-size-md gap-1.5;
63
65
 
64
- &:has(> button[b-button]:first-child) {
65
- @apply !pl-1.5;
66
- }
66
+ &:has(> button[b-button]:first-child) {
67
+ @apply !pl-1;
67
68
  }
68
69
 
69
- &:has(> :last-child:not(input[b-input])) {
70
- @apply pr-3;
71
-
72
- &:has(> button[b-button]:last-child) {
73
- @apply !pr-1.5;
74
- }
70
+ &:has(> button[b-button]:last-child) {
71
+ @apply !pr-1;
75
72
  }
76
73
  }
77
- &:has(.b-input-size-lg) {
78
- /* large */
79
- @apply py-3 h-13 text-lg rounded-size-lg;
80
74
 
81
- &:has(> :first-child:not(input[b-input])) {
82
- @apply pl-4;
75
+ &:has(input[b-input].b-size-lg) {
76
+ /* large */
77
+ @apply px-3 py-0 text-base h-10 rounded-size-lg gap-2;
83
78
 
84
- &:has(> button[b-button]:first-child) {
85
- @apply !pl-1.5;
86
- }
79
+ &:has(> button[b-button]:first-child) {
80
+ @apply !pl-1;
87
81
  }
88
- &:has(> :last-child:not(input[b-input])) {
89
- @apply pr-4;
90
82
 
91
- &:has(> button[b-button]:last-child) {
92
- @apply !pr-1.5;
93
- }
83
+ &:has(> button[b-button]:last-child) {
84
+ @apply !pr-1;
94
85
  }
95
86
  }
96
87
  }
@@ -1,6 +1,12 @@
1
+ /* Input styles — Base / Sizes / States */
1
2
  input[b-input] {
2
- @apply inset-ring-1 inset-ring-secondary transition-colors text-base font-sans bg-background text-font min-w-1/2;
3
- @apply dark:bg-background-dark dark:text-font-dark dark:inset-ring-secondary-dark;
3
+ /* Base */
4
+ @apply px-3 py-0 text-sm h-8 rounded-size-md;
5
+ @apply bg-secondary/10 text-secondary-foreground inset-ring-1 inset-ring-ring hover:bg-primary/5 shadow-xs;
6
+ @apply dark:bg-secondary-dark/40 dark:text-secondary-foreground-dark dark:inset-ring-ring-dark dark:hover:bg-primary-dark/5 shadow-xs;
7
+
8
+ /* Disabled */
9
+ @apply disabled:opacity-50 disabled:cursor-not-allowed;
4
10
 
5
11
  &:focus-visible:not(:read-only) {
6
12
  @apply outline-2 outline-offset-4 outline-primary;
@@ -30,13 +36,14 @@ input[b-input] {
30
36
  @apply opacity-60 pointer-events-none;
31
37
  }
32
38
 
33
- &.b-input-size-sm {
34
- @apply px-2 py-1 h-7 text-sm rounded-size-sm;
39
+ /* Sizes */
40
+ &.b-size-sm {
41
+ @apply px-2 py-0 text-xs h-6 rounded-size-sm;
35
42
  }
36
- &.b-input-size-md {
37
- @apply px-3 py-2 h-10 text-base rounded-size-md;
43
+ &.b-size-md {
44
+ @apply px-2.5 py-0 text-sm h-8 rounded-size-md;
38
45
  }
39
- &.b-input-size-lg {
40
- @apply px-4 py-3 h-13 text-lg rounded-size-lg;
46
+ &.b-size-lg {
47
+ @apply px-3 py-0 text-base h-10 rounded-size-lg;
41
48
  }
42
49
  }
@@ -1,7 +1,33 @@
1
1
  b-menu {
2
2
  @apply flex flex-col;
3
3
 
4
- &.b-menu-size-sm {
4
+ /* Base */
5
+ @apply text-base rounded-size-md;
6
+
7
+ &:not(:has(b-menu-group)) {
8
+ @apply p-1 gap-1;
9
+ }
10
+
11
+ b-menu-group {
12
+ @apply p-1 gap-1;
13
+ }
14
+
15
+ b-menu-label {
16
+ @apply px-3 py-0 text-sm h-8 gap-1.5 flex items-center;
17
+ }
18
+
19
+ button[b-menu-item],
20
+ button[b-menu-item-radio],
21
+ button[b-menu-item-checkbox] {
22
+ @apply px-3 py-0 text-sm h-8 rounded-size-sm gap-1.5;
23
+
24
+ &.b-squared {
25
+ aspect-ratio: 1 / 1;
26
+ @apply w-10 min-w-10 h-10 min-h-10 !p-0 flex items-center justify-center text-center;
27
+ }
28
+ }
29
+
30
+ &.b-size-sm {
5
31
  @apply text-sm rounded-size-sm box-border;
6
32
 
7
33
  &:not(:has(b-menu-group)) {
@@ -13,22 +39,22 @@ b-menu {
13
39
  }
14
40
 
15
41
  b-menu-label {
16
- @apply !py-0.5 !px-2;
42
+ @apply px-2 py-0 text-xs h-6 gap-1 flex items-center;
17
43
  }
18
44
 
19
45
  button[b-menu-item],
20
46
  button[b-menu-item-radio],
21
47
  button[b-menu-item-checkbox] {
22
- @apply !py-1 !px-2 rounded-size-xs;
48
+ @apply px-2 py-0 text-xs h-6 rounded-size-xs gap-1;
23
49
 
24
- &.squared {
50
+ &.b-squared {
25
51
  aspect-ratio: 1 / 1;
26
52
  @apply w-8 min-w-8 h-8 min-h-8 !p-0 flex items-center justify-center text-center;
27
53
  }
28
54
  }
29
55
  }
30
56
 
31
- &.b-menu-size-md {
57
+ &.b-size-md {
32
58
  @apply text-base rounded-size-md;
33
59
 
34
60
  &:not(:has(b-menu-group)) {
@@ -40,22 +66,22 @@ b-menu {
40
66
  }
41
67
 
42
68
  b-menu-label {
43
- @apply !py-1 !px-3;
69
+ @apply px-3 py-0 text-sm h-8 gap-1.5 flex items-center;
44
70
  }
45
71
 
46
72
  button[b-menu-item],
47
73
  button[b-menu-item-radio],
48
74
  button[b-menu-item-checkbox] {
49
- @apply !py-1.5 !px-3 rounded-size-sm;
75
+ @apply px-3 py-0 text-sm h-8 rounded-size-sm gap-1.5;
50
76
 
51
- &.squared {
77
+ &.b-squared {
52
78
  aspect-ratio: 1 / 1;
53
79
  @apply w-10 min-w-10 h-10 min-h-10 !p-0 flex items-center justify-center text-center;
54
80
  }
55
81
  }
56
82
  }
57
83
 
58
- &.b-menu-size-lg {
84
+ &.b-size-lg {
59
85
  @apply text-lg rounded-size-lg;
60
86
 
61
87
  &:not(:has(b-menu-group)) {
@@ -67,15 +93,15 @@ b-menu {
67
93
  }
68
94
 
69
95
  b-menu-label {
70
- @apply !py-1.5 !px-4;
96
+ @apply px-4 py-0 text-base h-10 gap-2 flex items-center;
71
97
  }
72
98
 
73
99
  button[b-menu-item],
74
100
  button[b-menu-item-radio],
75
101
  button[b-menu-item-checkbox] {
76
- @apply !py-2 !px-4 rounded-size-md;
102
+ @apply px-4 py-0 text-base h-10 rounded-size-md gap-2;
77
103
 
78
- &.squared {
104
+ &.b-squared {
79
105
  aspect-ratio: 1 / 1;
80
106
  @apply w-12 min-w-12 h-12 min-h-12 !p-0 flex items-center justify-center text-center;
81
107
  }
@@ -89,7 +115,7 @@ b-menu {
89
115
  @apply hover:bg-secondary/50;
90
116
  @apply dark:hover:bg-secondary-dark/50;
91
117
 
92
- &.destructive {
118
+ &.b-destructive {
93
119
  @apply bg-destructive/10 text-destructive;
94
120
  @apply dark:bg-destructive-dark/10 dark:text-destructive-dark;
95
121
  @apply hover:bg-destructive/20;
@@ -102,7 +128,7 @@ b-menu {
102
128
  }
103
129
 
104
130
  &[aria-selected='true'],
105
- &.active {
131
+ &.b-active {
106
132
  @apply bg-secondary text-secondary-foreground;
107
133
  @apply dark:bg-secondary-dark dark:text-secondary-foreground-dark;
108
134
  }
@@ -125,13 +151,9 @@ b-menu {
125
151
  @apply dark:border-secondary-dark;
126
152
  }
127
153
  }
128
-
129
- b-menu-label {
130
- @apply font-medium;
131
- }
132
154
  }
133
155
 
134
156
  .cdk-overlay-container b-menu {
135
- @apply inset-ring-1 inset-ring-secondary bg-background;
136
- @apply dark:inset-ring-secondary-dark dark:bg-background-dark;
157
+ @apply inset-ring-1 inset-ring-ring bg-background shadow-xs;
158
+ @apply dark:inset-ring-ring-dark/60 dark:bg-background-dark;
137
159
  }
@@ -3,6 +3,9 @@ li[b-option] {
3
3
  @apply hover:bg-secondary/30;
4
4
  @apply dark:hover:bg-secondary-dark/30;
5
5
 
6
+ /* Default */
7
+ @apply px-3 py-0 text-sm h-8 rounded-size-sm gap-1.5;
8
+
6
9
  &.cdk-option-active {
7
10
  @apply bg-secondary/30;
8
11
  @apply dark:bg-secondary-dark/30;
@@ -23,12 +26,12 @@ li[b-option] {
23
26
  }
24
27
  }
25
28
 
26
- .b-select-size-sm li[b-option] {
27
- @apply text-sm !py-1 !px-2 rounded-size-xs;
29
+ .b-size-sm li[b-option] {
30
+ @apply px-2 py-0 text-xs h-6 rounded-size-xs gap-1;
28
31
  }
29
- .b-select-size-md li[b-option] {
30
- @apply text-base !py-1.5 !px-3 rounded-size-sm;
32
+ .b-size-md li[b-option] {
33
+ @apply px-3 py-0 text-sm h-8 rounded-size-sm gap-1.5;
31
34
  }
32
- .b-select-size-lg li[b-option] {
33
- @apply text-lg !py-2 !px-4 rounded-size-md;
35
+ .b-size-lg li[b-option] {
36
+ @apply px-4 py-0 text-base h-10 rounded-size-md gap-2;
34
37
  }
@@ -2,11 +2,15 @@ b-otp {
2
2
  display: flex;
3
3
  gap: 0.5rem;
4
4
  justify-content: center;
5
+
6
+ input[b-otp-digit] {
7
+ @apply w-8 h-8 py-0 text-sm rounded-size-md p-0;
8
+ }
5
9
  }
6
10
 
7
11
  input[b-otp-digit] {
8
- @apply box-border text-center font-sans text-base transition-opacity bg-background text-font inset-ring-1 inset-ring-secondary;
9
- @apply dark:bg-background-dark dark:text-font-dark dark:inset-ring-secondary-dark;
12
+ @apply box-border text-center font-sans text-base transition-opacity bg-background text-font inset-ring-1 inset-ring-ring;
13
+ @apply dark:bg-background-dark dark:text-font-dark dark:inset-ring-ring-dark;
10
14
 
11
15
  &:read-only:not(:disabled) {
12
16
  @apply border-0;
@@ -37,16 +41,16 @@ input[b-otp-digit] {
37
41
  &:disabled {
38
42
  @apply opacity-60 pointer-events-none;
39
43
  }
44
+ }
40
45
 
41
- &.b-otp-size-sm {
42
- @apply w-7 h-7 text-sm rounded-size-sm p-0;
43
- }
44
- &.b-otp-size-md {
45
- @apply w-9 h-9 text-base rounded-size-md p-0;
46
- }
47
- &.b-otp-size-lg {
48
- @apply w-11 h-11 text-lg rounded-size-lg p-0;
49
- }
46
+ b-otp.b-size-sm input[b-otp-digit] {
47
+ @apply w-6 h-6 text-xs rounded-size-sm p-0;
48
+ }
49
+ b-otp.b-size-md input[b-otp-digit] {
50
+ @apply w-8 h-8 py-0 text-sm rounded-size-md p-0;
51
+ }
52
+ b-otp.b-size-lg input[b-otp-digit] {
53
+ @apply w-10 h-10 text-base rounded-size-lg p-0;
50
54
  }
51
55
 
52
56
  b-otp.ng-invalid.ng-touched input[b-otp-digit],
@@ -3,27 +3,27 @@ input[b-range] {
3
3
  }
4
4
 
5
5
  input[b-range]::-webkit-slider-thumb {
6
- @apply appearance-none rounded-full cursor-pointer transition-colors inset-ring-1 inset-ring-secondary border-0;
7
- @apply bg-primary dark:bg-primary-dark dark:inset-ring-secondary-dark;
6
+ @apply appearance-none rounded-full cursor-pointer transition-colors inset-ring-1 inset-ring-ring border-0;
7
+ @apply bg-primary dark:bg-primary-dark dark:inset-ring-ring-dark;
8
8
  }
9
9
 
10
- input[b-range].b-range-size-sm {
11
- @apply h-1;
10
+ input[b-range] {
11
+ @apply h-2;
12
12
  }
13
- input[b-range].b-range-size-sm::-webkit-slider-thumb {
14
- @apply w-3 h-3;
13
+ input[b-range]::-webkit-slider-thumb {
14
+ @apply w-5 h-5;
15
15
  }
16
16
 
17
- input[b-range].b-range-size-md {
18
- @apply h-2;
17
+ input[b-range].b-size-sm {
18
+ @apply h-1;
19
19
  }
20
- input[b-range].b-range-size-md::-webkit-slider-thumb {
21
- @apply w-5 h-5;
20
+ input[b-range].b-size-sm::-webkit-slider-thumb {
21
+ @apply w-3 h-3;
22
22
  }
23
23
 
24
- input[b-range].b-range-size-lg {
24
+ input[b-range].b-size-lg {
25
25
  @apply h-3;
26
26
  }
27
- input[b-range].b-range-size-lg::-webkit-slider-thumb {
27
+ input[b-range].b-size-lg::-webkit-slider-thumb {
28
28
  @apply w-6 h-6;
29
29
  }
@@ -1,5 +1,5 @@
1
1
  ul[b-select-options] {
2
- @apply list-none p-1 box-border m-0 relative bg-background shadow-xs rounded-lg inset-ring-1 inset-ring-secondary flex flex-col gap-1 w-full overflow-y-auto;
2
+ @apply list-none p-1 box-border m-0 relative bg-background shadow-xs rounded-lg inset-ring-1 inset-ring-ring flex flex-col gap-1 w-full overflow-y-auto;
3
3
 
4
4
  .no-options-message {
5
5
  @apply py-1 px-2 text-sm;
@@ -2,45 +2,48 @@ b-select {
2
2
  @apply flex gap-1;
3
3
 
4
4
  button[b-select-trigger] {
5
- @apply transition-colors duration-150 flex items-center justify-center gap-x-2 disabled:opacity-50 disabled:cursor-not-allowed;
6
- @apply bg-transparent inset-ring-1 inset-ring-secondary hover:bg-primary/5 flex-1;
7
- @apply dark:inset-ring-secondary-dark dark:hover:bg-primary-dark/5;
5
+ /* Base */
6
+ @apply transition-colors duration-150 flex items-center justify-center gap-x-1.5 disabled:opacity-50 disabled:cursor-not-allowed;
8
7
 
9
- b-select-value {
10
- @apply flex-1 text-start whitespace-nowrap overflow-hidden text-ellipsis;
11
- }
8
+ /* Default spacing/typography applied when no explicit size is present */
9
+ @apply px-3 py-0 text-sm h-8 rounded-size-md gap-2;
10
+
11
+ /* Default visual */
12
+ @apply bg-secondary/10 text-secondary-foreground inset-ring-1 inset-ring-ring hover:bg-primary/5 shadow-xs;
13
+ @apply dark:bg-secondary-dark/40 dark:text-secondary-foreground-dark dark:inset-ring-ring-dark dark:hover:bg-primary-dark/5 shadow-xs;
12
14
 
13
15
  svg {
14
16
  @apply -mx-1;
17
+ @apply size-5;
15
18
  }
16
- }
17
19
 
18
- &.b-select-size-sm button[b-select-trigger] {
19
- @apply px-2 py-1 text-sm rounded-size-sm;
20
+ &.b-size-sm {
21
+ @apply px-2 py-0 text-xs h-6 rounded-size-sm gap-1.5;
20
22
 
21
- svg {
22
- @apply size-4;
23
+ svg {
24
+ @apply size-4;
25
+ }
23
26
  }
24
- }
25
27
 
26
- &.b-select-size-md button[b-select-trigger] {
27
- @apply px-4 py-2 text-base rounded-size-md;
28
- svg {
29
- @apply size-5;
28
+ &.b-size-md {
29
+ @apply px-3 py-0 text-sm h-8 rounded-size-md gap-2;
30
+ svg {
31
+ @apply size-5;
32
+ }
30
33
  }
31
- }
32
34
 
33
- &.b-select-size-lg button[b-select-trigger] {
34
- @apply px-6 py-3 text-lg rounded-size-lg;
35
+ &.b-size-lg {
36
+ @apply px-4 py-0 text-base h-10 rounded-size-lg gap-2.5;
35
37
 
36
- svg {
37
- @apply size-6;
38
+ svg {
39
+ @apply size-6;
40
+ }
38
41
  }
39
42
  }
40
43
 
41
44
  &.ng-invalid.ng-touched,
42
45
  &.ng-invalid.ng-dirty {
43
- button {
46
+ button[b-select-trigger] {
44
47
  @apply text-destructive inset-ring-destructive/20 bg-destructive/10 hover:bg-destructive/20;
45
48
  @apply dark:text-destructive-dark dark:inset-ring-destructive-dark/20 dark:bg-destructive-dark/10 dark:hover:bg-destructive-dark/20;
46
49
 
@@ -58,16 +61,32 @@ b-select {
58
61
  }
59
62
 
60
63
  ul[b-select-content] {
61
- @apply list-none box-border m-0 relative bg-background shadow-xs inset-ring-1 inset-ring-secondary flex flex-col w-full overflow-y-auto;
62
- @apply dark:bg-background-dark dark:shadow-xs dark:inset-ring-secondary-dark;
64
+ @apply list-none box-border m-0 relative flex flex-col w-full overflow-y-auto;
65
+ @apply bg-background text-secondary-foreground inset-ring-1 inset-ring-ring shadow-xs;
66
+ @apply dark:bg-background-dark dark:text-secondary-foreground-dark dark:inset-ring-ring-dark shadow-xs;
67
+
63
68
  @apply outline-none;
69
+ max-height: 320px;
70
+
71
+ @apply text-base rounded-size-md p-1 gap-1;
64
72
 
65
73
  .no-options-message {
66
74
  @apply py-1 px-2 text-sm;
67
75
  }
68
76
 
69
77
  input[b-input] {
70
- @apply outline-none;
78
+ @apply outline-none sticky top-0 z-10 bg-background;
79
+ @apply dark:bg-background-dark;
80
+ }
81
+
82
+ &.b-size-sm {
83
+ @apply text-sm rounded-size-sm p-0.5 gap-0.5;
84
+ }
85
+ &.b-size-md {
86
+ @apply text-base rounded-size-md p-1 gap-1;
87
+ }
88
+ &.b-size-lg {
89
+ @apply text-lg rounded-size-lg p-1.5 gap-1.5;
71
90
  }
72
91
 
73
92
  &.b-select-content-entering-top {
@@ -103,16 +122,6 @@ ul[b-select-content] {
103
122
  }
104
123
  }
105
124
 
106
- .b-select-size-sm ul[b-select-content] {
107
- @apply text-sm p-0.5 gap-0.5 rounded-size-sm;
108
- }
109
- .b-select-size-md ul[b-select-content] {
110
- @apply text-base p-1 gap-1 rounded-size-md;
111
- }
112
- .b-select-size-lg ul[b-select-content] {
113
- @apply text-lg p-1.5 gap-1.5 rounded-size-lg;
114
- }
115
-
116
125
  @keyframes overlay-entering-top {
117
126
  from {
118
127
  opacity: 0;
@@ -9,19 +9,19 @@ input[b-switch] {
9
9
  @apply flex rounded-full shadow-md transition-transform duration-200 justify-center items-center bg-primary-foreground will-change-transform content-[''];
10
10
  }
11
11
 
12
- &.b-switch-size-sm {
12
+ &.b-size-sm {
13
13
  @apply h-5 w-8;
14
14
  &::after {
15
15
  @apply h-3 w-3 m-1;
16
16
  }
17
17
  }
18
- &.b-switch-size-md {
18
+ &.b-size-md {
19
19
  @apply h-6 w-10;
20
20
  &::after {
21
21
  @apply h-4 w-4 m-1;
22
22
  }
23
23
  }
24
- &.b-switch-size-lg {
24
+ &.b-size-lg {
25
25
  @apply h-8 w-14;
26
26
  &::after {
27
27
  @apply h-6 w-6 m-1;
@@ -29,17 +29,17 @@ input[b-switch] {
29
29
  }
30
30
 
31
31
  &:checked {
32
- &.b-switch-size-sm {
32
+ &.b-size-sm {
33
33
  &::after {
34
34
  @apply transform translate-x-[0.7rem];
35
35
  }
36
36
  }
37
- &.b-switch-size-md {
37
+ &.b-size-md {
38
38
  &::after {
39
39
  @apply transform translate-x-[1rem];
40
40
  }
41
41
  }
42
- &.b-switch-size-lg {
42
+ &.b-size-lg {
43
43
  &::after {
44
44
  @apply transform translate-x-[1.5rem];
45
45
  }
@@ -1,8 +1,15 @@
1
1
  b-tabs {
2
- @apply flex bg-secondary outline-none inset-ring-1 inset-ring-primary/10;
3
- @apply dark:bg-secondary-dark dark:inset-ring-primary-dark/10;
2
+ @apply flex items-center;
3
+ @apply bg-secondary/50 text-secondary-foreground;
4
+ @apply dark:bg-secondary-dark/50 dark:text-secondary-foreground-dark;
5
+
6
+ /* Base md by default */
7
+ @apply px-1 py-0 text-sm h-8 rounded-size-md gap-1.5;
4
8
 
5
9
  b-tab {
10
+ @apply flex items-center justify-center;
11
+ @apply px-2 py-0 text-xs h-6 rounded-size-sm gap-1;
12
+
6
13
  &[aria-selected='true'] {
7
14
  @apply bg-primary-foreground inset-ring-1 inset-ring-primary/10;
8
15
  @apply dark:bg-primary-foreground-dark dark:inset-ring-primary-dark/10;
@@ -19,27 +26,27 @@ b-tabs {
19
26
  @apply dark:outline-primary-dark;
20
27
  }
21
28
 
22
- &.b-tabs-size-sm {
23
- @apply h-7 rounded-size-sm p-0.5 gap-0.5;
29
+ &.b-size-sm {
30
+ @apply px-0.5 py-0 text-xs h-6 rounded-size-sm gap-0.5;
24
31
 
25
32
  b-tab {
26
- @apply px-2 text-sm rounded-size-xs flex items-center justify-center;
33
+ @apply px-2 py-0 text-xs h-5 rounded-size-sm gap-1;
27
34
  }
28
35
  }
29
36
 
30
- &.b-tabs-size-md {
31
- @apply h-10 rounded-size-md p-1 gap-1;
37
+ &.b-size-md {
38
+ @apply px-1 py-0 text-sm h-8 rounded-size-md gap-1;
32
39
 
33
40
  b-tab {
34
- @apply px-4 text-base rounded-size-sm flex items-center justify-center;
41
+ @apply px-2 py-0 text-xs h-6 rounded-size-sm gap-1;
35
42
  }
36
43
  }
37
44
 
38
- &.b-tabs-size-lg {
39
- @apply h-13 rounded-size-lg p-1.5 gap-1.5;
45
+ &.b-size-lg {
46
+ @apply px-1 py-0 text-base h-10 rounded-size-lg gap-1;
40
47
 
41
48
  b-tab {
42
- @apply px-6 text-lg rounded-size-md flex items-center justify-center;
49
+ @apply px-3 py-0 text-sm h-8 rounded-size-md gap-1.5;
43
50
  }
44
51
  }
45
52
  }
@@ -1,6 +1,7 @@
1
1
  textarea[b-textarea] {
2
- @apply inset-ring-1 inset-ring-secondary transition-colors text-base font-sans bg-background text-font min-w-1/2;
3
- @apply dark:bg-background-dark dark:text-font-dark dark:inset-ring-secondary-dark;
2
+ @apply px-2.5 py-1 text-sm rounded-size-md;
3
+ @apply bg-secondary/10 text-secondary-foreground inset-ring-1 inset-ring-ring hover:bg-primary/5 shadow-xs;
4
+ @apply dark:bg-secondary-dark/40 dark:text-secondary-foreground-dark dark:inset-ring-ring-dark dark:hover:bg-primary-dark/5 shadow-xs;
4
5
 
5
6
  &:focus-visible:not(:read-only) {
6
7
  @apply outline-2 outline-offset-4 outline-primary dark:outline-primary-dark;
@@ -26,13 +27,13 @@ textarea[b-textarea] {
26
27
  @apply opacity-60 pointer-events-none;
27
28
  }
28
29
 
29
- &.b-textarea-size-sm {
30
- @apply px-2 py-1 text-sm;
30
+ &.b-size-sm {
31
+ @apply px-2 py-1 text-xs rounded-size-sm;
31
32
  }
32
- &.b-textarea-size-md {
33
- @apply px-3 py-2 text-base;
33
+ &.b-size-md {
34
+ @apply px-2.5 py-1 text-sm rounded-size-md;
34
35
  }
35
- &.b-textarea-size-lg {
36
- @apply px-4 py-3 text-lg;
36
+ &.b-size-lg {
37
+ @apply px-3 py-2 text-base rounded-size-lg;
37
38
  }
38
39
  }
@@ -1,7 +1,40 @@
1
1
  b-tooltip-content {
2
- @apply whitespace-nowrap rounded-lg shadow transition-colors bg-background text-base font-sans;
2
+ @apply whitespace-nowrap rounded-lg shadow flex items-center justify-center gap-x-1.5 bg-background text-base font-sans;
3
3
  @apply dark:bg-background-dark;
4
4
 
5
+ /* Variants */
6
+ /* Default (primary) */
7
+ @apply bg-primary text-primary-foreground hover:bg-primary/80;
8
+ @apply dark:bg-primary-dark dark:text-primary-foreground-dark dark:hover:bg-primary-dark/80;
9
+
10
+ &.b-variant-secondary {
11
+ @apply bg-secondary text-secondary-foreground hover:bg-secondary/80;
12
+ @apply dark:bg-secondary-dark dark:text-secondary-foreground-dark dark:hover:bg-secondary-dark/80;
13
+ }
14
+ &.b-variant-ghost {
15
+ @apply bg-transparent text-secondary-foreground hover:bg-secondary shadow-none;
16
+ @apply dark:text-secondary-foreground-dark dark:hover:bg-secondary-dark shadow-none;
17
+ }
18
+ &.b-variant-outlined {
19
+ @apply bg-secondary/10 text-secondary-foreground inset-ring inset-ring-ring hover:bg-primary/5 shadow-xs;
20
+ @apply dark:bg-secondary-dark/40 dark:text-secondary-foreground-dark dark:inset-ring-ring-dark dark:hover:bg-primary-dark/5 shadow-xs;
21
+ }
22
+ &.b-variant-destructive {
23
+ @apply bg-destructive text-destructive-foreground inset-ring-1 inset-ring-destructive hover:bg-destructive/90 hover:inset-ring-destructive/80;
24
+ @apply dark:bg-destructive-dark dark:text-destructive-foreground-dark dark:inset-ring-destructive-dark dark:hover:bg-destructive-dark/90 dark:hover:inset-ring-destructive-dark/80;
25
+ }
26
+
27
+ /* Sizes */
28
+ /* Default (md) */
29
+ @apply px-3 py-0 text-sm h-8 rounded-size-md gap-1.5;
30
+
31
+ &.b-size-sm {
32
+ @apply px-2 py-0 text-xs h-6 rounded-size-sm gap-1;
33
+ }
34
+ &.b-size-lg {
35
+ @apply px-4 py-0 text-base h-10 rounded-size-lg gap-2;
36
+ }
37
+
5
38
  &.b-tooltip-content-entering-top {
6
39
  animation: tooltip-entering-top 0.1s ease forwards;
7
40
  }
@@ -28,39 +61,6 @@ b-tooltip-content {
28
61
  }
29
62
  }
30
63
 
31
- /* Variants */
32
- .b-tooltip-variant-primary b-tooltip-content {
33
- @apply bg-primary text-primary-foreground border border-primary;
34
- @apply dark:bg-primary-dark dark:text-primary-foreground-dark dark:border-primary-dark;
35
- }
36
- .b-tooltip-variant-secondary b-tooltip-content {
37
- @apply bg-secondary text-secondary-foreground;
38
- @apply dark:bg-secondary-dark dark:text-secondary-foreground-dark;
39
- }
40
- .b-tooltip-variant-ghost b-tooltip-content {
41
- @apply bg-transparent hover:bg-primary/10 shadow-none;
42
- @apply dark:hover:bg-primary-dark/10;
43
- }
44
- .b-tooltip-variant-outlined b-tooltip-content {
45
- @apply bg-transparent inset-ring-1 inset-ring-secondary-foreground/30 hover:bg-primary/5;
46
- @apply dark:inset-ring-secondary-foreground-dark/30 dark:hover:bg-primary-dark/5;
47
- }
48
- .b-tooltip-variant-destructive b-tooltip-content {
49
- @apply bg-destructive text-destructive-foreground inset-ring-1 inset-ring-destructive hover:bg-destructive/90 hover:inset-ring-destructive/80;
50
- @apply dark:bg-destructive-dark dark:text-destructive-foreground-dark dark:inset-ring-destructive-dark dark:hover:bg-destructive-dark/90 dark:hover:inset-ring-destructive-dark/80;
51
- }
52
-
53
- /* Sizes */
54
- .b-tooltip-size-sm b-tooltip-content {
55
- @apply px-2 py-1 text-sm;
56
- }
57
- .b-tooltip-size-md b-tooltip-content {
58
- @apply px-3 py-2 text-base;
59
- }
60
- .b-tooltip-size-lg b-tooltip-content {
61
- @apply px-4 py-3 text-lg;
62
- }
63
-
64
64
  @keyframes tooltip-entering-top {
65
65
  from {
66
66
  opacity: 0;
@@ -4,9 +4,9 @@ b-tree {
4
4
  b-tree-node {
5
5
  @apply flex flex-col box-border;
6
6
 
7
- &.active section {
8
- @apply bg-background;
9
- @apply dark:bg-background-dark;
7
+ &.b-active section {
8
+ @apply bg-secondary text-secondary-foreground;
9
+ @apply dark:bg-secondary-dark dark:text-secondary-foreground-dark;
10
10
  }
11
11
 
12
12
  section {
package/src/index.css CHANGED
@@ -26,8 +26,9 @@
26
26
  --color-font: #0a0a0a;
27
27
  --color-primary: #0a0a0a;
28
28
  --color-primary-foreground: #fff;
29
- --color-secondary: color-mix(in srgb, #fff, #0a0a0a 8%);
29
+ --color-secondary: #f5f5f5;
30
30
  --color-secondary-foreground: #0a0a0a;
31
+ --color-ring: #e0e0e0;
31
32
  --color-destructive: #e53935;
32
33
  --color-destructive-foreground: #fff;
33
34
  --color-success: #b7e4c7;
@@ -43,8 +44,9 @@
43
44
  --color-bg-dark: #0a0a0a;
44
45
  --color-primary-dark: #fff;
45
46
  --color-primary-foreground-dark: #0a0a0a;
46
- --color-secondary-dark: color-mix(in srgb, #0a0a0a, #fff 8%);
47
+ --color-secondary-dark: #262626;
47
48
  --color-secondary-foreground-dark: #fff;
49
+ --color-ring-dark: #ffffff26;
48
50
  --color-destructive-dark: #ff6659;
49
51
  --color-destructive-foreground-dark: #0a0a0a;
50
52
  --color-success-dark: #22543d;
@@ -62,7 +64,6 @@
62
64
  @import './components/button-group.css';
63
65
  @import './components/button.css';
64
66
  @import './components/checkbox.css';
65
- @import './components/color-picker.css';
66
67
  @import './components/input-group.css';
67
68
  @import './components/input.css';
68
69
  @import './components/label.css';
@@ -77,7 +78,6 @@
77
78
  @import './components/sheet.css';
78
79
  @import './components/spinner.css';
79
80
  @import './components/switch.css';
80
- @import './components/table.css';
81
81
  @import './components/tabs.css';
82
82
  @import './components/textarea.css';
83
83
  @import './components/tooltip.css';
@@ -1,74 +0,0 @@
1
- input[b-color-picker] {
2
- @apply w-full relative bg-background dark:bg-background-dark p-0 cursor-pointer transition-colors text-base font-sans;
3
-
4
- &::-webkit-color-swatch-wrapper {
5
- @apply w-full h-full p-0;
6
- }
7
-
8
- &::-webkit-color-swatch {
9
- @apply rounded-lg;
10
-
11
- &:focus-visible:not(:read-only) {
12
- @apply outline-2 outline-offset-4 outline-primary;
13
- @apply dark:outline-primary-dark;
14
- }
15
- }
16
-
17
- &.show-color {
18
- &::before {
19
- @apply flex absolute text-[var(--text-color)] content-[var(--value)] top-1/2 left-1/2 text-base font-display -translate-y-1/2 -translate-x-1/2;
20
- }
21
- }
22
-
23
- &.b-color-picker-size-sm {
24
- @apply h-7 rounded-size-sm;
25
-
26
- &::-webkit-color-swatch {
27
- @apply rounded-size-sm inset-ring-1 inset-ring-secondary transition-colors;
28
- @apply dark:inset-ring-secondary-dark;
29
-
30
- &:focus-visible:not(:read-only) {
31
- @apply outline-2 outline-offset-4 outline-primary;
32
- @apply dark:outline-primary-dark;
33
- }
34
- }
35
-
36
- &::before {
37
- @apply text-xs;
38
- }
39
- }
40
-
41
- &.b-color-picker-size-md {
42
- @apply h-9 rounded-size-md;
43
-
44
- &::-webkit-color-swatch {
45
- @apply rounded-size-md inset-ring-1 inset-ring-secondary transition-colors;
46
- @apply dark:inset-ring-secondary-dark;
47
- &:focus-visible:not(:read-only) {
48
- @apply outline-2 outline-offset-4 outline-primary;
49
- @apply dark:outline-primary-dark;
50
- }
51
- }
52
-
53
- &::before {
54
- @apply text-base;
55
- }
56
- }
57
-
58
- &.b-color-picker-size-lg {
59
- @apply h-11 rounded-size-lg;
60
-
61
- &::-webkit-color-swatch {
62
- @apply rounded-size-lg inset-ring-1 inset-ring-secondary transition-colors;
63
- @apply dark:inset-ring-secondary-dark;
64
- &:focus-visible:not(:read-only) {
65
- @apply outline-2 outline-offset-4 outline-primary;
66
- @apply dark:outline-primary-dark;
67
- }
68
- }
69
-
70
- &::before {
71
- @apply text-lg;
72
- }
73
- }
74
- }
@@ -1,34 +0,0 @@
1
- b-table {
2
- display: flex;
3
- flex: 1;
4
- width: 100px;
5
- flex-direction: column;
6
- align-items: flex-start;
7
- overflow-x: auto;
8
- overscroll-behavior-inline: none;
9
- scrollbar-width: thin;
10
- border: 1px solid var(--border-color, transparent);
11
- background-color: color-mix(
12
- in srgb,
13
- var(--foreground, #798194) 5%,
14
- var(--background, #ffffff)
15
- );
16
- position: relative;
17
- height: 100%;
18
- box-sizing: border-box;
19
- border-radius: var(--radius, 0.5rem);
20
-
21
- .scroll-section {
22
- overflow-y: auto;
23
- scrollbar-width: thin;
24
- overscroll-behavior-block: none;
25
-
26
- b-row {
27
- &:first-child {
28
- .row-container {
29
- border-top: 0;
30
- }
31
- }
32
- }
33
- }
34
- }