@basis-ng/styles 0.0.1-alpha.2 → 0.0.1-alpha.20

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 (43) hide show
  1. package/package.json +57 -10
  2. package/{button.component.css → src/components/button.component.css} +16 -29
  3. package/src/components/combobox-options.component.css +41 -0
  4. package/src/components/combobox.component.css +8 -0
  5. package/src/components/command-options.component.css +33 -0
  6. package/src/components/command.component.css +45 -0
  7. package/{input.component.css → src/components/input.component.css} +16 -16
  8. package/src/components/option.component.css +26 -0
  9. package/src/components/select-options.component.css +41 -0
  10. package/src/components/select.component.css +8 -0
  11. package/{index.css → src/index.css} +6 -2
  12. package/option.component.css +0 -35
  13. package/search.component.css +0 -241
  14. package/select.component.css +0 -120
  15. /package/{alert.component.css → src/components/alert.component.css} +0 -0
  16. /package/{attached-box.component.css → src/components/attached-box.component.css} +0 -0
  17. /package/{badge.component.css → src/components/badge.component.css} +0 -0
  18. /package/{bottom-sheet.component.css → src/components/bottom-sheet.component.css} +0 -0
  19. /package/{button-group.component.css → src/components/button-group.component.css} +0 -0
  20. /package/{checkbox.component.css → src/components/checkbox.component.css} +0 -0
  21. /package/{color-picker.component.css → src/components/color-picker.component.css} +0 -0
  22. /package/{icon.component.css → src/components/icon.component.css} +0 -0
  23. /package/{input-group.component.css → src/components/input-group.component.css} +0 -0
  24. /package/{label.component.css → src/components/label.component.css} +0 -0
  25. /package/{menu-group.component.css → src/components/menu-group.component.css} +0 -0
  26. /package/{menu-item-checkbox.component.css → src/components/menu-item-checkbox.component.css} +0 -0
  27. /package/{menu-item-radio.component.css → src/components/menu-item-radio.component.css} +0 -0
  28. /package/{menu-item.component.css → src/components/menu-item.component.css} +0 -0
  29. /package/{menu-label.component.css → src/components/menu-label.component.css} +0 -0
  30. /package/{menu.component.css → src/components/menu.component.css} +0 -0
  31. /package/{range.component.css → src/components/range.component.css} +0 -0
  32. /package/{row-item.component.css → src/components/row-item.component.css} +0 -0
  33. /package/{row.component.css → src/components/row.component.css} +0 -0
  34. /package/{side-sheet.component.css → src/components/side-sheet.component.css} +0 -0
  35. /package/{spinner.component.css → src/components/spinner.component.css} +0 -0
  36. /package/{switch.component.css → src/components/switch.component.css} +0 -0
  37. /package/{tab.component.css → src/components/tab.component.css} +0 -0
  38. /package/{table.component.css → src/components/table.component.css} +0 -0
  39. /package/{tabs.component.css → src/components/tabs.component.css} +0 -0
  40. /package/{textarea.component.css → src/components/textarea.component.css} +0 -0
  41. /package/{tooltip.component.css → src/components/tooltip.component.css} +0 -0
  42. /package/{tree-node.component.css → src/components/tree-node.component.css} +0 -0
  43. /package/{tree.component.css → src/components/tree.component.css} +0 -0
package/package.json CHANGED
@@ -1,20 +1,67 @@
1
1
  {
2
2
  "name": "@basis-ng/styles",
3
- "version": "0.0.1-alpha.2",
4
- "description": "Styles for the @basis-ng/primitives",
5
- "style": "index.css",
3
+ "version": "0.0.1-alpha.20",
4
+ "description": "CSS foundation for @basis-ng/primitives components",
5
+ "main": "src/index.css",
6
+ "exports": {
7
+ ".": "./src/index.css",
8
+ "./alert": "./src/components/alert.component.css",
9
+ "./attached-box": "./src/components/attached-box.component.css",
10
+ "./badge": "./src/components/badge.component.css",
11
+ "./bottom-sheet": "./src/components/bottom-sheet.component.css",
12
+ "./button-group": "./src/components/button-group.component.css",
13
+ "./button": "./src/components/button.component.css",
14
+ "./checkbox": "./src/components/checkbox.component.css",
15
+ "./color-picker": "./src/components/color-picker.component.css",
16
+ "./icon": "./src/components/icon.component.css",
17
+ "./input-group": "./src/components/input-group.component.css",
18
+ "./input": "./src/components/input.component.css",
19
+ "./label": "./src/components/label.component.css",
20
+ "./menu-group": "./src/components/menu-group.component.css",
21
+ "./menu-item-checkbox": "./src/components/menu-item-checkbox.component.css",
22
+ "./menu-item-radio": "./src/components/menu-item-radio.component.css",
23
+ "./menu-item": "./src/components/menu-item.component.css",
24
+ "./menu-label": "./src/components/menu-label.component.css",
25
+ "./menu": "./src/components/menu.component.css",
26
+ "./option": "./src/components/option.component.css",
27
+ "./range": "./src/components/range.component.css",
28
+ "./row-item": "./src/components/row-item.component.css",
29
+ "./row": "./src/components/row.component.css",
30
+ "./search": "./src/components/search.component.css",
31
+ "./select": "./src/components/select.component.css",
32
+ "./select-content": "./src/components/select-content.component.css",
33
+ "./select-option": "./src/components/select-option.component.css",
34
+ "./side-sheet": "./src/components/side-sheet.component.css",
35
+ "./spinner": "./src/components/spinner.component.css",
36
+ "./switch": "./src/components/switch.component.css",
37
+ "./tab": "./src/components/tab.component.css",
38
+ "./table": "./src/components/table.component.css",
39
+ "./tabs": "./src/components/tabs.component.css",
40
+ "./textarea": "./src/components/textarea.component.css",
41
+ "./tooltip": "./src/components/tooltip.component.css",
42
+ "./tree-node": "./src/components/tree-node.component.css",
43
+ "./tree": "./src/components/tree.component.css"
44
+ },
6
45
  "files": [
7
- "*.css",
8
- "components"
46
+ "src/**/*.css"
9
47
  ],
48
+ "scripts": {
49
+ "prepare": "echo 'No build step needed for pure CSS'",
50
+ "prepublishOnly": "echo 'Verifying CSS structure...'"
51
+ },
10
52
  "keywords": [
11
- "ui",
53
+ "css",
12
54
  "design-system",
13
- "styles",
55
+ "angular",
14
56
  "basis-ng"
15
57
  ],
16
58
  "license": "MIT",
17
- "sideEffects": [
18
- "**/*.css"
19
- ]
59
+ "repository": {
60
+ "type": "git",
61
+ "url": "https://github.com/your-org/basis-ng.git",
62
+ "directory": "projects/styles"
63
+ },
64
+ "publishConfig": {
65
+ "access": "public"
66
+ }
20
67
  }
@@ -7,15 +7,12 @@ button[b-button] {
7
7
  box-sizing: border-box;
8
8
  gap: 0.5rem;
9
9
  position: relative;
10
- overflow: hidden;
11
10
  transition:
12
11
  background-color 0.2s,
13
12
  opacity 0.2s;
14
- font-size: 100%;
15
13
  border: none;
16
14
  text-decoration: none;
17
15
  font-family: 'Geist', sans-serif;
18
- --padding-inline-multiple: 1.5;
19
16
  --border-px: 0px;
20
17
 
21
18
  &:focus-visible {
@@ -133,8 +130,10 @@ button[b-button] {
133
130
  }
134
131
 
135
132
  @media (width >= 768px) {
136
- &:active {
137
- transform: scale(0.98);
133
+ &.active {
134
+ &:active {
135
+ transform: scale(0.98);
136
+ }
138
137
  }
139
138
  }
140
139
  }
@@ -145,33 +144,21 @@ button[b-button] {
145
144
  pointer-events: none;
146
145
  }
147
146
 
148
- &.size-small {
149
- --vertical-padding: calc(0.5rem - (var(--border-px) * 2));
150
- --horizontal-padding: clamp(
151
- 0.75rem,
152
- calc(0.5rem + var(--radius, 0.5rem) / 2),
153
- 1.25rem
154
- );
155
- font-size: 0.875rem;
156
- padding: var(--vertical-padding) var(--horizontal-padding);
157
-
158
- &.equal-padding {
159
- padding: var(--vertical-padding);
160
- }
147
+ &.size-1 {
148
+ padding-inline: 0.571rem;
149
+ min-height: 1.714rem;
150
+ font-size: 0.857rem;
161
151
  }
162
152
 
163
- &.size-default {
164
- --vertical-padding: calc(0.9rem - (var(--border-px) * 2));
165
- --horizontal-padding: clamp(
166
- 1rem,
167
- calc(0.75rem + var(--radius, 0.5rem) / 2),
168
- 1.5rem
169
- );
153
+ &.size-2 {
154
+ padding-inline: 0.857rem;
155
+ min-height: 2.286rem;
170
156
  font-size: 1rem;
171
- padding: var(--vertical-padding) var(--horizontal-padding);
157
+ }
172
158
 
173
- &.equal-padding {
174
- padding: var(--vertical-padding);
175
- }
159
+ &.size-3 {
160
+ padding-inline: 1.143rem;
161
+ min-height: 2.857rem;
162
+ font-size: 1.143rem;
176
163
  }
177
164
  }
@@ -0,0 +1,41 @@
1
+ ul[b-combobox-options] {
2
+ list-style: none;
3
+ padding: 0.2rem;
4
+ box-sizing: border-box;
5
+ margin: 0;
6
+ position: relative;
7
+ background: var(--background, #ffffff);
8
+ box-shadow: 0 0 0.25rem 0.125rem rgba(1, 1, 1, 0.01);
9
+ border-radius: clamp(0rem, var(--radius, 0.5rem), 0.5rem);
10
+ border: 1px solid
11
+ color-mix(
12
+ in srgb,
13
+ var(--foreground, #798194) 10%,
14
+ var(--background, #ffffff)
15
+ );
16
+ display: flex;
17
+ flex-direction: column;
18
+ gap: 0.2rem;
19
+ width: 100%;
20
+ overflow-y: auto;
21
+ }
22
+
23
+ .cdk-overlay-pane:has(ul[b-combobox-options]) {
24
+ opacity: 1;
25
+ transition: transform 150ms ease;
26
+ animation: fadeIn 150ms ease;
27
+
28
+ &.cdk-overlay-pane-closing {
29
+ transform: translateY(0) !important;
30
+ opacity: 0;
31
+ transition:
32
+ opacity 150ms ease,
33
+ transform 150ms ease;
34
+ }
35
+ }
36
+
37
+ @keyframes fadeIn {
38
+ from {
39
+ opacity: 0;
40
+ }
41
+ }
@@ -0,0 +1,8 @@
1
+ b-combobox {
2
+ button {
3
+ display: flex;
4
+ justify-content: space-between !important;
5
+ align-items: center;
6
+ padding-inline: 0.857rem 0.5rem !important;
7
+ }
8
+ }
@@ -0,0 +1,33 @@
1
+ ul[b-command-options] {
2
+ list-style: none;
3
+ box-sizing: border-box;
4
+ margin: 0;
5
+ position: relative;
6
+ display: flex;
7
+ flex-direction: column;
8
+ gap: 0.25rem;
9
+ width: 100%;
10
+ overflow-y: auto;
11
+ padding: 0;
12
+ scrollbar-width: thin;
13
+ }
14
+
15
+ .cdk-overlay-pane:has(ul[b-select-options]) {
16
+ opacity: 1;
17
+ transition: transform 150ms ease;
18
+ animation: fadeIn 150ms ease;
19
+
20
+ &.cdk-overlay-pane-closing {
21
+ transform: translateY(0) !important;
22
+ opacity: 0;
23
+ transition:
24
+ opacity 150ms ease,
25
+ transform 150ms ease;
26
+ }
27
+ }
28
+
29
+ @keyframes fadeIn {
30
+ from {
31
+ opacity: 0;
32
+ }
33
+ }
@@ -0,0 +1,45 @@
1
+ b-command {
2
+ padding: 0.25rem;
3
+ box-sizing: border-box;
4
+ margin: 0;
5
+ position: relative;
6
+ background: var(--background, #ffffff);
7
+ box-shadow: 0 0 0.25rem 0.125rem rgba(1, 1, 1, 0.01);
8
+ border-radius: clamp(0rem, var(--radius, 0.5rem), 0.5rem);
9
+ border: 1px solid
10
+ color-mix(
11
+ in srgb,
12
+ var(--foreground, #798194) 10%,
13
+ var(--background, #ffffff)
14
+ );
15
+ display: flex;
16
+ flex-direction: column;
17
+ gap: 0.25rem;
18
+ width: 100%;
19
+
20
+ input {
21
+ &:focus-visible {
22
+ outline: none !important;
23
+ }
24
+ }
25
+ }
26
+
27
+ .cdk-overlay-pane:has(b-command) {
28
+ opacity: 1;
29
+ transition: transform 150ms ease;
30
+ animation: fadeIn 150ms ease;
31
+
32
+ &.cdk-overlay-pane-closing {
33
+ transform: translateY(0) !important;
34
+ opacity: 0;
35
+ transition:
36
+ opacity 150ms ease,
37
+ transform 150ms ease;
38
+ }
39
+ }
40
+
41
+ @keyframes fadeIn {
42
+ from {
43
+ opacity: 0;
44
+ }
45
+ }
@@ -1,23 +1,13 @@
1
1
  input[b-input] {
2
- --horizontal-padding: clamp(
3
- 1rem,
4
- calc(0.75rem + var(--radius, 0.5rem) / 2),
5
- 1.5rem
6
- );
7
-
8
2
  width: 100%;
9
- min-height: 2.8rem;
10
3
  background-color: var(--input-background, #e0e0e0);
11
4
  border-radius: var(--radius, 0.5rem);
12
5
  box-sizing: border-box;
13
- padding: calc(0.9rem - 2px) var(--horizontal-padding);
14
6
  border-width: 1px;
15
7
  border-style: solid;
16
8
  border-color: var(--border-color, transparent);
17
9
  transition:
18
10
  opacity 0.2s,
19
- padding-top 0.2s,
20
- padding-bottom 0.2s,
21
11
  background-color 0.2s,
22
12
  border-color 0.2s;
23
13
  font-size: 1rem;
@@ -58,13 +48,23 @@ input[b-input] {
58
48
  }
59
49
  }
60
50
 
61
- &.label-up {
62
- padding-top: 1.1rem;
63
- padding-bottom: 0.3rem;
64
- }
65
-
66
- &.disabled {
51
+ &:disabled {
67
52
  opacity: 0.5;
68
53
  pointer-events: none;
69
54
  }
55
+
56
+ &.size-1 {
57
+ padding: 0.357rem 0.5rem;
58
+ font-size: 0.857rem;
59
+ }
60
+
61
+ &.size-2 {
62
+ padding: 0.5rem 0.75rem;
63
+ font-size: 1rem;
64
+ }
65
+
66
+ &.size-3 {
67
+ padding: 0.786rem 1rem;
68
+ font-size: 1.143rem;
69
+ }
70
70
  }
@@ -0,0 +1,26 @@
1
+ li[b-option] {
2
+ display: flex;
3
+ gap: 0.5rem;
4
+ padding: 0.5rem 0.75rem;
5
+ color: var(--foreground, #798194);
6
+ box-sizing: border-box;
7
+ cursor: pointer;
8
+ min-width: 100%;
9
+ align-items: center;
10
+ border-radius: clamp(0rem, calc(var(--radius, 0.5rem) - 0.25rem), 0.5rem);
11
+
12
+ &:focus,
13
+ &:hover,
14
+ &.cdk-option-highlighted {
15
+ background-color: color-mix(
16
+ in srgb,
17
+ var(--foreground, #798194) 5%,
18
+ var(--background, #ffffff)
19
+ );
20
+ }
21
+
22
+ &[aria-selected='true'] {
23
+ background-color: var(--primary, #0a0a0a);
24
+ color: var(--primary-foreground, #ffffff);
25
+ }
26
+ }
@@ -0,0 +1,41 @@
1
+ ul[b-select-options] {
2
+ list-style: none;
3
+ padding: 0.2rem;
4
+ box-sizing: border-box;
5
+ margin: 0;
6
+ position: relative;
7
+ background: var(--background, #ffffff);
8
+ box-shadow: 0 0 0.25rem 0.125rem rgba(1, 1, 1, 0.01);
9
+ border-radius: clamp(0rem, var(--radius, 0.5rem), 0.5rem);
10
+ border: 1px solid
11
+ color-mix(
12
+ in srgb,
13
+ var(--foreground, #798194) 10%,
14
+ var(--background, #ffffff)
15
+ );
16
+ display: flex;
17
+ flex-direction: column;
18
+ gap: 0.2rem;
19
+ width: 100%;
20
+ overflow-y: auto;
21
+ }
22
+
23
+ .cdk-overlay-pane:has(ul[b-select-options]) {
24
+ opacity: 1;
25
+ transition: transform 150ms ease;
26
+ animation: fadeIn 150ms ease;
27
+
28
+ &.cdk-overlay-pane-closing {
29
+ transform: translateY(0) !important;
30
+ opacity: 0;
31
+ transition:
32
+ opacity 150ms ease,
33
+ transform 150ms ease;
34
+ }
35
+ }
36
+
37
+ @keyframes fadeIn {
38
+ from {
39
+ opacity: 0;
40
+ }
41
+ }
@@ -0,0 +1,8 @@
1
+ b-select {
2
+ button {
3
+ display: flex;
4
+ justify-content: space-between !important;
5
+ align-items: center;
6
+ padding-inline: 0.857rem 0.5rem !important;
7
+ }
8
+ }
@@ -17,12 +17,16 @@
17
17
  @import './components/menu-item.component.css';
18
18
  @import './components/menu-label.component.css';
19
19
  @import './components/menu.component.css';
20
- @import './components/option.component.css';
21
20
  @import './components/range.component.css';
22
21
  @import './components/row-item.component.css';
23
22
  @import './components/row.component.css';
24
- @import './components/search.component.css';
25
23
  @import './components/select.component.css';
24
+ @import './components/select-options.component.css';
25
+ @import './components/combobox.component.css';
26
+ @import './components/combobox-options.component.css';
27
+ @import './components/command.component.css';
28
+ @import './components/command-options.component.css';
29
+ @import './components/option.component.css';
26
30
  @import './components/side-sheet.component.css';
27
31
  @import './components/spinner.component.css';
28
32
  @import './components/switch.component.css';
@@ -1,35 +0,0 @@
1
- b-option {
2
- margin-bottom: 0.25rem;
3
- cursor: pointer;
4
- padding: 0.5rem 0.75rem;
5
- color: var(--foreground, #798194);
6
- transition: 0.1s;
7
- border-radius: calc(var(--radius, 0.5rem) - 0.2rem);
8
-
9
- &::checkmark {
10
- display: none;
11
- }
12
-
13
- &:focus-visible {
14
- outline-width: 0;
15
- }
16
-
17
- &:hover,
18
- &:focus-visible {
19
- background-color: color-mix(
20
- in srgb,
21
- var(--foreground, #798194) 5%,
22
- var(--background, #ffffff)
23
- );
24
- }
25
-
26
- &:checked {
27
- background-color: var(--primary, #0a0a0a);
28
- color: var(--primary-foreground, #ffffff);
29
- }
30
-
31
- &:disabled {
32
- pointer-events: none;
33
- opacity: 0.5;
34
- }
35
- }
@@ -1,241 +0,0 @@
1
- b-search {
2
- width: 100%;
3
- position: relative;
4
- border-width: 1px;
5
- border-style: solid;
6
- border-color: var(--border-color, transparent);
7
- transition:
8
- opacity 0.2s,
9
- color 0.2s,
10
- border-color 0.2s;
11
- border-radius: var(--radius, 0.5rem);
12
- overflow: hidden;
13
- box-sizing: border-box;
14
- height: 2.8rem;
15
-
16
- &:has(input:focus-visible),
17
- &:has(select:focus-visible) {
18
- outline: 2px solid var(--primary, #0a0a0a);
19
- outline-offset: 2px;
20
- }
21
-
22
- label {
23
- position: absolute;
24
- z-index: 1;
25
- left: 0.8rem;
26
- top: 50%;
27
- transform: translateY(-50%);
28
- pointer-events: none;
29
- transition:
30
- top 0.2s,
31
- font-size 0.2s,
32
- transform 0.2s;
33
- }
34
-
35
- section {
36
- position: absolute;
37
- top: 50%;
38
- transform: translateY(-50%);
39
- flex: 1;
40
- padding-inline: 0.8rem 0;
41
- width: calc(100% - 3rem);
42
- background-color: color-mix(
43
- in srgb,
44
- var(--foreground, #798194) 5%,
45
- var(--background, #ffffff)
46
- );
47
- border-right-style: solid;
48
- border-right-width: 1px;
49
- border-right-color: var(--border-color, transparent);
50
- display: flex;
51
- gap: 0.8rem;
52
- padding-right: 0.8rem;
53
- box-sizing: border-box;
54
- height: 100%;
55
- transition:
56
- background-color 0.2s,
57
- border-right-color 0.2s;
58
-
59
- &.large {
60
- width: 100%;
61
- border-right: none;
62
- }
63
-
64
- input {
65
- box-sizing: border-box;
66
- font-size: 1rem;
67
- padding: 0.7rem 0;
68
- user-select: none;
69
- border: 0;
70
- background: transparent;
71
- outline: none;
72
- color: var(--input-foreground, #798194);
73
- transition: color 0.2s;
74
- cursor: pointer;
75
- user-select: none;
76
- width: 100%;
77
- font-family: 'Geist', sans-serif;
78
- height: 100%;
79
- transition: color 0.2s;
80
-
81
- &::-webkit-outer-spin-button,
82
- &::-webkit-inner-spin-button {
83
- -webkit-appearance: none;
84
- margin: 0;
85
- }
86
-
87
- &[type='text'],
88
- &[type='number'] {
89
- appearance: textfield;
90
- -moz-appearance: textfield;
91
- }
92
-
93
- &[type='password'] {
94
- font-size: 1.8rem;
95
- }
96
-
97
- &::placeholder {
98
- opacity: 0.5;
99
- }
100
- }
101
-
102
- i {
103
- cursor: pointer;
104
- }
105
- }
106
-
107
- select {
108
- -webkit-appearance: none;
109
- appearance: base-select;
110
- box-sizing: border-box;
111
- width: 100%;
112
- color: var(--input-foreground, #798194);
113
- border: none;
114
- cursor: pointer;
115
- transition:
116
- color 0.2s,
117
- background-color 0.2s;
118
- padding: 0.7rem 2.8rem 0.7rem 0.8rem;
119
- font-size: 1rem;
120
- background-color: var(--background, #ffffff);
121
- outline: none;
122
- font-family: 'Geist', sans-serif;
123
- height: 100%;
124
-
125
- &.no-options {
126
- pointer-events: none;
127
- }
128
-
129
- &::picker(select) {
130
- max-height: 200px;
131
- opacity: 1;
132
- appearance: base-select;
133
- left: 0;
134
- margin: 0.25rem 0;
135
- padding: 0.25rem 0.25rem 0rem 0.25rem;
136
- background: var(--background, #ffffff);
137
- box-shadow: 0 0 0.25rem 0.125rem rgba(1, 1, 1, 0.01);
138
- border-radius: var(--radius, 0.5rem);
139
- border: 1px solid
140
- color-mix(
141
- in srgb,
142
- var(--foreground, #798194) 10%,
143
- var(--background, #ffffff)
144
- );
145
- }
146
-
147
- &::picker-icon {
148
- display: none;
149
- }
150
- }
151
-
152
- .icon-wrapper {
153
- position: absolute;
154
- right: 0;
155
- top: 50%;
156
- transform: translateY(-50%);
157
- cursor: pointer;
158
- display: flex;
159
- height: 100%;
160
- width: 3rem;
161
- justify-content: center;
162
- align-items: center;
163
- pointer-events: none;
164
-
165
- i {
166
- &.select-has-value {
167
- pointer-events: all;
168
- cursor: pointer;
169
-
170
- &.open {
171
- transform: rotate(180deg);
172
- }
173
- }
174
-
175
- &:not(.select-has-value) {
176
- pointer-events: none;
177
- transition: transform 0.2s;
178
- }
179
-
180
- &.searching {
181
- animation: spin 1.7s linear infinite;
182
- }
183
- }
184
- }
185
-
186
- &.invalid {
187
- color: var(--error-foreground, #c40000ab);
188
- border-color: var(--error-foreground, #c40000ab);
189
-
190
- &:has(input:focus-visible),
191
- &:has(select:focus-visible) {
192
- outline-color: var(--error-foreground, #c40000ab);
193
- }
194
-
195
- select {
196
- color: var(--error-foreground, #c40000ab);
197
- background-color: var(--error, #fff0f0);
198
- }
199
-
200
- section {
201
- background-color: var(--error, #fff0f0);
202
- border-right-color: var(--error-foreground, #c40000ab);
203
-
204
- input {
205
- color: var(--error-foreground, #c40000ab);
206
-
207
- &::placeholder {
208
- color: var(--error-foreground, #c40000ab);
209
- }
210
- }
211
- }
212
- }
213
-
214
- &.label-up {
215
- label {
216
- top: 0.344rem;
217
- font-size: 0.7rem;
218
- transform: translateY(0);
219
- }
220
-
221
- section input,
222
- select {
223
- padding-top: 1.1rem;
224
- padding-bottom: 0.3rem;
225
- }
226
- }
227
-
228
- &.disabled {
229
- opacity: 0.5;
230
- pointer-events: none;
231
- }
232
- }
233
-
234
- @keyframes spin {
235
- 0% {
236
- transform: rotate(0deg);
237
- }
238
- 100% {
239
- transform: rotate(360deg);
240
- }
241
- }
@@ -1,120 +0,0 @@
1
- select[b-select] {
2
- --horizontal-padding: clamp(
3
- 1rem,
4
- calc(0.75rem + var(--radius, 0.5rem) / 2),
5
- 1.5rem
6
- );
7
-
8
- position: relative;
9
- -webkit-appearance: none;
10
- appearance: base-select;
11
- box-sizing: border-box;
12
- width: 100%;
13
- min-height: 2.8rem;
14
- border-radius: var(--radius, 0.5rem);
15
- color: var(--input-foreground, #798194);
16
- border-width: 1px;
17
- border-style: solid;
18
- border-color: var(--border-color, transparent);
19
- cursor: pointer;
20
- transition:
21
- opacity 0.2s,
22
- padding-top 0.2s,
23
- padding-bottom 0.2s,
24
- background-color 0.2s,
25
- border-color 0.2s;
26
- --vertical-padding: calc(0.9rem - 2px);
27
- padding: var(--vertical-padding) var(--horizontal-padding);
28
- font-size: 1rem;
29
- background-color: transparent;
30
- display: flex;
31
- align-items: center;
32
-
33
- &:focus-visible {
34
- outline: 2px solid var(--primary, #0a0a0a);
35
- outline-offset: 2px;
36
- }
37
-
38
- &::picker(select) {
39
- pointer-events: all;
40
- max-height: 200px;
41
- animation: picker 0.2s ease-in-out;
42
- appearance: base-select;
43
- left: 0;
44
- margin: 0.25rem 0;
45
- padding: 0.25rem 0.25rem 0rem 0.25rem;
46
- background: var(--background, #ffffff);
47
- box-shadow: 0 0 0.25rem 0.125rem rgba(1, 1, 1, 0.01);
48
- border-radius: clamp(0rem, var(--radius, 0.5rem), 0.5rem);
49
- border: 1px solid
50
- color-mix(
51
- in srgb,
52
- var(--foreground, #798194) 10%,
53
- var(--background, #ffffff)
54
- );
55
- }
56
-
57
- &::picker-icon {
58
- font-size: 0.9rem;
59
- margin-right: 1px;
60
- }
61
-
62
- &.invalid {
63
- color: var(--error-foreground, #c40000ab);
64
- background-color: var(--error, #fff0f0);
65
- border-color: var(--error-border-color, #c40000ab);
66
-
67
- &::picker-icon {
68
- color: var(--error-foreground, #c40000ab);
69
- }
70
-
71
- &:focus-visible {
72
- outline-color: var(--error-foreground, #c40000ab);
73
- }
74
- }
75
-
76
- &.disabled {
77
- pointer-events: none;
78
- opacity: 0.5;
79
- }
80
- }
81
-
82
- option {
83
- margin-bottom: 0.25rem;
84
- cursor: pointer;
85
- padding: 0.5rem 0.75rem;
86
- color: var(--foreground, #798194);
87
- transition: 0.1s;
88
- border-radius: clamp(0rem, calc(var(--radius, 0.5rem) - 0.2rem), 0.5rem);
89
- }
90
-
91
- option::checkmark {
92
- display: none;
93
- }
94
-
95
- option:focus-visible {
96
- outline-width: 0;
97
- }
98
-
99
- option:hover,
100
- option:focus-visible {
101
- background-color: color-mix(
102
- in srgb,
103
- var(--foreground, #798194) 5%,
104
- var(--background, #ffffff)
105
- );
106
- }
107
-
108
- option:checked {
109
- background-color: var(--primary, #0a0a0a);
110
- color: var(--primary-foreground, #ffffff);
111
- }
112
-
113
- option:disabled {
114
- pointer-events: none;
115
- opacity: 0.5;
116
- }
117
-
118
- selectedoption {
119
- background-color: green;
120
- }