@basis-ng/styles 0.0.1-alpha.2 → 0.0.1-alpha.200
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 +49 -10
- package/src/components/alert.css +58 -0
- package/src/components/backdrop.css +17 -0
- package/src/components/badge.css +43 -0
- package/src/components/button-group.css +16 -0
- package/src/components/button.css +88 -0
- package/src/components/calendar.css +56 -0
- package/src/components/card.css +24 -0
- package/src/components/checkbox.css +66 -0
- package/src/components/command-options.css +17 -0
- package/src/components/command.css +20 -0
- package/src/components/dialog.css +41 -0
- package/src/components/drawer.css +112 -0
- package/src/components/input-group.css +138 -0
- package/src/components/input.css +56 -0
- package/{label.component.css → src/components/label.css} +70 -74
- package/src/components/menu.css +154 -0
- package/src/components/option.css +37 -0
- package/src/components/otp.css +64 -0
- package/src/components/range.css +29 -0
- package/{row-item.component.css → src/components/row-item.css} +14 -14
- package/{row.component.css → src/components/row.css} +48 -56
- package/src/components/select-options.css +56 -0
- package/src/components/select.css +230 -0
- package/src/components/skeleton.css +37 -0
- package/src/components/spinner.css +3 -0
- package/src/components/switch.css +48 -0
- package/src/components/tabs.css +84 -0
- package/src/components/textarea-group.css +63 -0
- package/src/components/textarea.css +35 -0
- package/src/components/tooltip.css +37 -0
- package/src/components/tree.css +64 -0
- package/src/index.css +82 -0
- package/src/utilities/general.css +7 -0
- package/src/utilities/index.css +2 -0
- package/src/utilities/sizes.css +7 -0
- package/alert.component.css +0 -71
- package/attached-box.component.css +0 -84
- package/badge.component.css +0 -58
- package/bottom-sheet.component.css +0 -49
- package/button-group.component.css +0 -20
- package/button.component.css +0 -177
- package/checkbox.component.css +0 -41
- package/color-picker.component.css +0 -34
- package/icon.component.css +0 -5
- package/index.css +0 -35
- package/input-group.component.css +0 -110
- package/input.component.css +0 -70
- package/menu-group.component.css +0 -18
- package/menu-item-checkbox.component.css +0 -32
- package/menu-item-radio.component.css +0 -32
- package/menu-item.component.css +0 -32
- package/menu-label.component.css +0 -4
- package/menu.component.css +0 -32
- package/option.component.css +0 -35
- package/range.component.css +0 -39
- package/search.component.css +0 -241
- package/select.component.css +0 -120
- package/side-sheet.component.css +0 -59
- package/spinner.component.css +0 -13
- package/switch.component.css +0 -68
- package/tab.component.css +0 -41
- package/table.component.css +0 -34
- package/tabs.component.css +0 -18
- package/textarea.component.css +0 -40
- package/tooltip.component.css +0 -45
- package/tree-node.component.css +0 -77
- package/tree.component.css +0 -7
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
b-input-group {
|
|
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 shadow-xs;
|
|
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
|
+
}
|
|
17
|
+
|
|
18
|
+
/* Internal input adjustments when placed inside group */
|
|
19
|
+
input[b-input] {
|
|
20
|
+
@apply outline-0! px-0! inset-ring-0! w-full! rounded-none! bg-transparent! hover:bg-transparent! shadow-none;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* Internal button adjustments when placed inside group */
|
|
24
|
+
button[b-button] {
|
|
25
|
+
@apply inset-ring-0 shadow-none rounded-size-sm;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* Squared buttons should match the input group height */
|
|
29
|
+
button[b-button].b-squared {
|
|
30
|
+
@apply h-full! w-auto! aspect-square;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* Focus state when any inner input is focused (and not readonly) */
|
|
34
|
+
&:has(input[b-input]:focus-visible:not(:read-only)) {
|
|
35
|
+
/* Focus outline remains primary for contrast */
|
|
36
|
+
@apply outline-2 outline-offset-2 outline-primary dark:outline-primary-dark;
|
|
37
|
+
|
|
38
|
+
/* Override outline color if invalid while focused */
|
|
39
|
+
&:has(input[b-input].ng-invalid.ng-touched) {
|
|
40
|
+
@apply outline-destructive dark:outline-destructive-dark;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* Disabled inner input visual tweak */
|
|
45
|
+
input[b-input]:disabled {
|
|
46
|
+
@apply opacity-60 pointer-events-none;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* Invalid state styles (group reflects error) */
|
|
50
|
+
&:has(input[b-input].ng-invalid.ng-touched) {
|
|
51
|
+
@apply text-destructive placeholder:text-destructive bg-destructive/20 inset-ring-1 inset-ring-destructive/20;
|
|
52
|
+
@apply dark:text-destructive-dark dark:placeholder:text-destructive-dark dark:bg-destructive-dark/20 dark:inset-ring-destructive-dark/20;
|
|
53
|
+
|
|
54
|
+
button[b-button] {
|
|
55
|
+
@apply text-destructive placeholder:text-destructive bg-destructive/20 inset-ring-1 inset-ring-destructive/20;
|
|
56
|
+
@apply dark:text-destructive-dark dark:placeholder:text-destructive-dark dark:bg-destructive-dark/20 dark:inset-ring-destructive-dark/20;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* Icon strokes inside when error */
|
|
60
|
+
i svg {
|
|
61
|
+
stroke: var(--color-destructive-foreground, currentColor);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/* Size variants (normalized to Tailwind scale, matching input sizes) */
|
|
66
|
+
&:has(input[b-input].b-size-sm) {
|
|
67
|
+
/* small */
|
|
68
|
+
@apply px-2 py-0 text-xs h-6 rounded-size-sm gap-1;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
&:has(input[b-input].b-size-md) {
|
|
72
|
+
/* medium */
|
|
73
|
+
@apply px-2.5 py-0 text-sm h-8 rounded-size-md gap-1.5;
|
|
74
|
+
|
|
75
|
+
&:has(> button[b-button]:first-child) {
|
|
76
|
+
@apply pl-1!;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&:has(> button[b-button]:last-child) {
|
|
80
|
+
@apply pr-1!;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
&:has(input[b-input].b-size-lg) {
|
|
85
|
+
/* large */
|
|
86
|
+
@apply px-3 py-0 text-base h-10 rounded-size-lg gap-2;
|
|
87
|
+
|
|
88
|
+
&:has(> button[b-button]:first-child) {
|
|
89
|
+
@apply pl-1!;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
&:has(> button[b-button]:last-child) {
|
|
93
|
+
@apply pr-1!;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* Prevent icons from shrinking inside the group */
|
|
98
|
+
> ng-icon {
|
|
99
|
+
@apply shrink-0;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/* Rounded full - extra horizontal padding */
|
|
103
|
+
&.b-rounded-full {
|
|
104
|
+
@apply px-4;
|
|
105
|
+
|
|
106
|
+
&:has(> button[b-button]:first-child) {
|
|
107
|
+
@apply pl-1!;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
&:has(> button[b-button]:last-child) {
|
|
111
|
+
@apply pr-1!;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
&:has(input[b-input].b-size-sm).b-rounded-full {
|
|
116
|
+
@apply px-3;
|
|
117
|
+
|
|
118
|
+
&:has(> button[b-button]:first-child) {
|
|
119
|
+
@apply pl-1!;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
&:has(> button[b-button]:last-child) {
|
|
123
|
+
@apply pr-1!;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
&:has(input[b-input].b-size-lg).b-rounded-full {
|
|
128
|
+
@apply px-5;
|
|
129
|
+
|
|
130
|
+
&:has(> button[b-button]:first-child) {
|
|
131
|
+
@apply pl-1!;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
&:has(> button[b-button]:last-child) {
|
|
135
|
+
@apply pr-1!;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/* Input styles — Base / Sizes / States */
|
|
2
|
+
input[b-input] {
|
|
3
|
+
/* Base */
|
|
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 shadow-xs;
|
|
6
|
+
|
|
7
|
+
/* Base md by default */
|
|
8
|
+
@apply px-2.5 py-0 text-sm h-8 rounded-size-md;
|
|
9
|
+
|
|
10
|
+
/* Disabled */
|
|
11
|
+
&:disabled {
|
|
12
|
+
@apply opacity-60 pointer-events-none;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&:focus-visible:not(:read-only) {
|
|
16
|
+
/* Keep primary outline on focus to maintain emphasis */
|
|
17
|
+
@apply outline-2 outline-offset-4 outline-primary;
|
|
18
|
+
@apply dark:outline-primary-dark;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&::placeholder {
|
|
22
|
+
@apply opacity-50;
|
|
23
|
+
@apply dark:opacity-70 dark:text-font-dark;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&.ng-invalid.ng-touched {
|
|
27
|
+
@apply text-destructive placeholder:text-destructive bg-destructive/20 inset-ring-1 inset-ring-destructive/20;
|
|
28
|
+
@apply dark:text-destructive-dark dark:placeholder:text-destructive-dark dark:bg-destructive-dark/20 dark:inset-ring-destructive-dark/20;
|
|
29
|
+
&:focus-visible {
|
|
30
|
+
@apply outline-2 outline-offset-4 outline-destructive;
|
|
31
|
+
@apply dark:outline-destructive-dark;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* Sizes */
|
|
36
|
+
&.b-size-sm {
|
|
37
|
+
@apply px-2 py-0 text-xs h-6 rounded-size-sm;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&.b-size-lg {
|
|
41
|
+
@apply px-3 py-0 text-base h-10 rounded-size-lg;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* Rounded full - extra horizontal padding */
|
|
45
|
+
&.b-rounded-full {
|
|
46
|
+
@apply px-4;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&.b-size-sm.b-rounded-full {
|
|
50
|
+
@apply px-3;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&.b-size-lg.b-rounded-full {
|
|
54
|
+
@apply px-5;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -1,74 +1,70 @@
|
|
|
1
|
-
b-label {
|
|
2
|
-
position: relative;
|
|
3
|
-
display: flex;
|
|
4
|
-
--horizontal-padding: clamp(
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
padding-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
cursor: pointer;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
1
|
+
b-label {
|
|
2
|
+
position: relative;
|
|
3
|
+
display: flex;
|
|
4
|
+
--horizontal-padding: clamp(1rem, calc(0.75rem + var(--radius, 0.5rem) / 2), 1.5rem);
|
|
5
|
+
|
|
6
|
+
label {
|
|
7
|
+
color: var(--text-color);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
&:not(.is-switch):not(.is-checkbox) {
|
|
11
|
+
width: 100%;
|
|
12
|
+
|
|
13
|
+
label {
|
|
14
|
+
position: absolute;
|
|
15
|
+
z-index: 1;
|
|
16
|
+
top: 50%;
|
|
17
|
+
left: var(--horizontal-padding);
|
|
18
|
+
transform: translateY(-50%);
|
|
19
|
+
pointer-events: none;
|
|
20
|
+
transition:
|
|
21
|
+
top 0.2s,
|
|
22
|
+
font-size 0.2s,
|
|
23
|
+
transform 0.2s;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&.up {
|
|
27
|
+
label {
|
|
28
|
+
top: 0.45rem;
|
|
29
|
+
font-size: 0.7rem;
|
|
30
|
+
transform: translateY(0);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
input,
|
|
34
|
+
select {
|
|
35
|
+
--vertical-padding: calc(0.9rem - 2px);
|
|
36
|
+
padding-top: calc(var(--vertical-padding) + 0.5rem);
|
|
37
|
+
padding-bottom: calc(var(--vertical-padding) - 0.5rem);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
textarea {
|
|
41
|
+
padding-top: 1.5rem;
|
|
42
|
+
box-sizing: border-box;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&.is-textarea {
|
|
47
|
+
label {
|
|
48
|
+
top: 0.8rem;
|
|
49
|
+
transform: none;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&.up {
|
|
53
|
+
label {
|
|
54
|
+
top: 0.45rem;
|
|
55
|
+
font-size: 0.7rem;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
&.is-switch,
|
|
62
|
+
&.is-checkbox {
|
|
63
|
+
gap: 0.5rem;
|
|
64
|
+
align-items: center;
|
|
65
|
+
|
|
66
|
+
label {
|
|
67
|
+
cursor: pointer;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
b-menu {
|
|
2
|
+
@apply flex flex-col;
|
|
3
|
+
|
|
4
|
+
/* Base */
|
|
5
|
+
@apply text-base rounded-size-md;
|
|
6
|
+
|
|
7
|
+
/* Horizontal Modifier: Only applies to direct children */
|
|
8
|
+
&.b-orientation-horizontal {
|
|
9
|
+
@apply flex-row items-center w-max;
|
|
10
|
+
|
|
11
|
+
& > b-menu-group {
|
|
12
|
+
@apply flex-row items-center h-full;
|
|
13
|
+
|
|
14
|
+
/* Border adjustments for horizontal layout */
|
|
15
|
+
&:not(:first-child) {
|
|
16
|
+
@apply border-t-0 border-l border-secondary;
|
|
17
|
+
@apply dark:border-l-secondary-dark;
|
|
18
|
+
}
|
|
19
|
+
&:not(:last-child) {
|
|
20
|
+
@apply border-b-0;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/* Spacing adjustments for direct items in horizontal mode */
|
|
25
|
+
&:not(:has(> b-menu-group)) {
|
|
26
|
+
@apply py-0 px-1; /* Reduce vertical padding in horizontal mode */
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/* --- Vertical Structure (Default) --- */
|
|
31
|
+
&:not(:has(b-menu-group)) {
|
|
32
|
+
@apply p-1 gap-1;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
b-menu-group {
|
|
36
|
+
@apply p-1 gap-1 flex flex-col;
|
|
37
|
+
|
|
38
|
+
&:not(:first-child) {
|
|
39
|
+
@apply border-t border-secondary;
|
|
40
|
+
@apply dark:border-secondary-dark;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&:not(:last-child) {
|
|
44
|
+
@apply border-b border-secondary;
|
|
45
|
+
@apply dark:border-secondary-dark;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* --- Internal Elements --- */
|
|
50
|
+
b-menu-label {
|
|
51
|
+
@apply px-3 py-0 text-sm h-8 gap-1.5 flex items-center whitespace-nowrap;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
button[b-menu-item],
|
|
55
|
+
button[b-menu-item-radio],
|
|
56
|
+
button[b-menu-item-checkbox] {
|
|
57
|
+
@apply px-3 py-0 text-sm h-8 rounded-size-md gap-1.5 flex items-center cursor-pointer;
|
|
58
|
+
@apply hover:bg-secondary/50;
|
|
59
|
+
@apply dark:hover:bg-secondary-dark/50;
|
|
60
|
+
@apply whitespace-nowrap;
|
|
61
|
+
|
|
62
|
+
&.b-squared {
|
|
63
|
+
@apply aspect-square p-0 flex items-center justify-center size-8;
|
|
64
|
+
text-align: center;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
&.b-destructive {
|
|
68
|
+
@apply bg-destructive/10 text-destructive;
|
|
69
|
+
@apply dark:bg-destructive-dark/10 dark:text-destructive-dark;
|
|
70
|
+
@apply hover:bg-destructive/20;
|
|
71
|
+
@apply dark:hover:bg-destructive-dark/20;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&:focus-visible {
|
|
75
|
+
@apply outline-2 outline-offset-4 outline-primary;
|
|
76
|
+
@apply dark:outline-primary-dark;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&[aria-selected='true'],
|
|
80
|
+
&.b-active {
|
|
81
|
+
@apply bg-secondary text-secondary-foreground;
|
|
82
|
+
@apply dark:bg-secondary-dark dark:text-secondary-foreground-dark;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&[aria-disabled='true'] {
|
|
86
|
+
@apply opacity-60 pointer-events-none bg-none cursor-auto;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/* --- Sizes --- */
|
|
91
|
+
&.b-size-sm {
|
|
92
|
+
@apply text-sm rounded-size-sm box-border;
|
|
93
|
+
|
|
94
|
+
&:not(:has(b-menu-group)),
|
|
95
|
+
& b-menu-group {
|
|
96
|
+
@apply p-0.5 gap-0.5;
|
|
97
|
+
}
|
|
98
|
+
b-menu-label {
|
|
99
|
+
@apply px-2 text-xs h-6 gap-1;
|
|
100
|
+
}
|
|
101
|
+
button[b-menu-item],
|
|
102
|
+
button[b-menu-item-radio],
|
|
103
|
+
button[b-menu-item-checkbox] {
|
|
104
|
+
@apply px-2 text-xs h-6 rounded-size-xs gap-1;
|
|
105
|
+
&.b-squared {
|
|
106
|
+
@apply size-6;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
&.b-size-md {
|
|
112
|
+
@apply text-base rounded-size-md;
|
|
113
|
+
&:not(:has(b-menu-group)),
|
|
114
|
+
& b-menu-group {
|
|
115
|
+
@apply p-1 gap-1;
|
|
116
|
+
}
|
|
117
|
+
b-menu-label {
|
|
118
|
+
@apply px-3 text-sm h-8 gap-1.5;
|
|
119
|
+
}
|
|
120
|
+
button[b-menu-item],
|
|
121
|
+
button[b-menu-item-radio],
|
|
122
|
+
button[b-menu-item-checkbox] {
|
|
123
|
+
@apply px-3 text-sm h-8 rounded-size-sm gap-1.5;
|
|
124
|
+
&.b-squared {
|
|
125
|
+
@apply size-8;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
&.b-size-lg {
|
|
131
|
+
@apply text-lg rounded-size-lg;
|
|
132
|
+
&:not(:has(b-menu-group)),
|
|
133
|
+
& b-menu-group {
|
|
134
|
+
@apply p-1.5 gap-1.5;
|
|
135
|
+
}
|
|
136
|
+
b-menu-label {
|
|
137
|
+
@apply px-4 text-base h-10 gap-2;
|
|
138
|
+
}
|
|
139
|
+
button[b-menu-item],
|
|
140
|
+
button[b-menu-item-radio],
|
|
141
|
+
button[b-menu-item-checkbox] {
|
|
142
|
+
@apply px-4 text-base h-10 rounded-size-md gap-2;
|
|
143
|
+
&.b-squared {
|
|
144
|
+
@apply size-10;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/* Overlay Styles (Popups) */
|
|
151
|
+
.cdk-overlay-container b-menu {
|
|
152
|
+
@apply inset-ring-1 inset-ring-ring bg-surface shadow-xs;
|
|
153
|
+
@apply dark:inset-ring-ring-dark/60 dark:bg-surface-dark;
|
|
154
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
li[b-option] {
|
|
2
|
+
@apply flex gap-2 py-1.5 px-3 text-sm box-border cursor-pointer min-w-full items-center rounded-sm;
|
|
3
|
+
@apply hover:bg-secondary/30;
|
|
4
|
+
@apply dark:hover:bg-secondary-dark/30;
|
|
5
|
+
|
|
6
|
+
/* Default */
|
|
7
|
+
@apply px-3 py-0 text-sm h-8 min-h-8 rounded-size-sm gap-1.5;
|
|
8
|
+
|
|
9
|
+
&.cdk-option-active {
|
|
10
|
+
@apply bg-secondary/30;
|
|
11
|
+
@apply dark:bg-secondary-dark/30;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
&.cdk-option-highlighted {
|
|
15
|
+
@apply bg-secondary/10;
|
|
16
|
+
@apply dark:bg-secondary-dark/10;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&[aria-selected='true'] {
|
|
20
|
+
@apply bg-secondary text-secondary-foreground;
|
|
21
|
+
@apply dark:bg-secondary-dark dark:text-secondary-foreground-dark;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&[aria-disabled='true'] {
|
|
25
|
+
@apply opacity-60 pointer-events-none bg-none;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.b-size-sm li[b-option] {
|
|
30
|
+
@apply px-2 py-0 text-xs min-h-6 rounded-size-xs gap-1;
|
|
31
|
+
}
|
|
32
|
+
.b-size-md li[b-option] {
|
|
33
|
+
@apply px-3 py-0 text-sm min-h-8 rounded-size-sm gap-1.5;
|
|
34
|
+
}
|
|
35
|
+
.b-size-lg li[b-option] {
|
|
36
|
+
@apply px-4 py-0 text-base min-h-10 rounded-size-md gap-2;
|
|
37
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
b-otp {
|
|
2
|
+
display: flex;
|
|
3
|
+
gap: 0.5rem;
|
|
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
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
input[b-otp-digit] {
|
|
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;
|
|
14
|
+
|
|
15
|
+
&:read-only:not(:disabled) {
|
|
16
|
+
@apply border-0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&::-webkit-outer-spin-button,
|
|
20
|
+
&::-webkit-inner-spin-button {
|
|
21
|
+
-webkit-appearance: none;
|
|
22
|
+
margin: 0;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&[type='text'],
|
|
26
|
+
&[type='number'] {
|
|
27
|
+
appearance: textfield;
|
|
28
|
+
-moz-appearance: textfield;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&:focus-visible:not(:read-only) {
|
|
32
|
+
@apply outline-2 outline-offset-2 outline-primary;
|
|
33
|
+
@apply dark:outline-primary-dark;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&::placeholder {
|
|
37
|
+
@apply opacity-50;
|
|
38
|
+
@apply dark:opacity-70 dark:text-font-dark;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&:disabled {
|
|
42
|
+
@apply opacity-60 pointer-events-none;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
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;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
b-otp.ng-invalid.ng-touched input[b-otp-digit] {
|
|
57
|
+
@apply text-destructive placeholder:text-destructive bg-destructive/20 inset-ring-1 inset-ring-destructive/20;
|
|
58
|
+
@apply dark:text-destructive-dark dark:placeholder:text-destructive-dark dark:bg-destructive-dark/20 dark:inset-ring-destructive-dark/20;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
b-otp.ng-invalid.ng-touched input[b-otp-digit]:focus-visible {
|
|
62
|
+
@apply outline-2 outline-offset-2 outline-destructive;
|
|
63
|
+
@apply dark:outline-destructive-dark;
|
|
64
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
input[b-range] {
|
|
2
|
+
@apply appearance-none w-full bg-secondary dark:bg-secondary-dark rounded-full cursor-pointer m-0 outline-none;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
input[b-range]::-webkit-slider-thumb {
|
|
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
|
+
}
|
|
9
|
+
|
|
10
|
+
input[b-range] {
|
|
11
|
+
@apply h-2;
|
|
12
|
+
}
|
|
13
|
+
input[b-range]::-webkit-slider-thumb {
|
|
14
|
+
@apply w-5 h-5;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
input[b-range].b-size-sm {
|
|
18
|
+
@apply h-1;
|
|
19
|
+
}
|
|
20
|
+
input[b-range].b-size-sm::-webkit-slider-thumb {
|
|
21
|
+
@apply w-3 h-3;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
input[b-range].b-size-lg {
|
|
25
|
+
@apply h-3;
|
|
26
|
+
}
|
|
27
|
+
input[b-range].b-size-lg::-webkit-slider-thumb {
|
|
28
|
+
@apply w-6 h-6;
|
|
29
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
b-row-item {
|
|
2
|
-
&:not(&:last-child) {
|
|
3
|
-
.row-item-container {
|
|
4
|
-
border-right: 1px solid var(--border-color, transparent);
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
.row-item-container {
|
|
8
|
-
box-sizing: border-box;
|
|
9
|
-
display: flex;
|
|
10
|
-
align-items: center;
|
|
11
|
-
height: 100%;
|
|
12
|
-
padding-inline: 10px;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
1
|
+
b-row-item {
|
|
2
|
+
&:not(&:last-child) {
|
|
3
|
+
.row-item-container {
|
|
4
|
+
border-right: 1px solid var(--border-color, transparent);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
.row-item-container {
|
|
8
|
+
box-sizing: border-box;
|
|
9
|
+
display: flex;
|
|
10
|
+
align-items: center;
|
|
11
|
+
height: 100%;
|
|
12
|
+
padding-inline: 10px;
|
|
13
|
+
}
|
|
14
|
+
}
|