ada-ui 4.7.0 → 5.1.0

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.
@@ -1,15 +1,14 @@
1
1
  %colourShades {
2
- --fg: hsl(var(--h-fg), var(--s-fg), var(--l-fg));
2
+ --color100: oklch(0.91 0.05 var(--hue));
3
3
 
4
- --default: hsl(var(--h), var(--s), var(--l));
5
- --default-alpha40: hsla(var(--h), var(--s), var(--l), 0.4);
6
- --default-alpha70: hsla(var(--h), var(--s), var(--l), 0.7);
4
+ --color500: oklch(0.46 0.13 var(--hue));
5
+ --color600: oklch(0.41 0.11 var(--hue));
6
+ --color700: oklch(0.36 0.09 var(--hue));
7
+ --color800: oklch(0.31 0.07 var(--hue));
7
8
 
8
- --light: hsl(var(--h-light), var(--s-light), var(--l-light));
9
- --light-alpha40: hsla(var(--h-light), var(--s-light), var(--l-light), 0.4);
10
- --light-alpha70: hsla(var(--h-light), var(--s-light), var(--l-light), 0.7);
9
+ --color950: oklch(0.18 0.03 var(--hue));
11
10
 
12
- --panel-background: hsla(var(--h), var(--s), var(--l), 0.1);
13
- --tile-background: hsla(var(--h), var(--s), var(--l), 0.2);
14
- --footer-color: hsla(var(--h-fg), var(--s-fg), var(--l-fg), 0.6);
11
+ --bg-body: var(--bg-body-override, var(--color950));
12
+ --fg-body: var(--fg-body-override, var(--color100));
13
+ --panel-background: oklch(var(--500) / 0.1);
15
14
  }
@@ -0,0 +1,141 @@
1
+ .command {
2
+ background-color: var(--color800);
3
+ box-shadow: var(--box-shadow);
4
+ display: grid;
5
+ align-items: end;
6
+ justify-items: end;
7
+ text-align: end;
8
+ border-style: solid;
9
+ border-color: transparent;
10
+ border-width: 0 0 0 var(--focus-border-width);
11
+ padding: var(--spacing-xs) var(--spacing-sm);
12
+ min-height: 3rem;
13
+ min-width: 3rem;
14
+ border-radius: var(--border-radius);
15
+ overflow: hidden;
16
+ outline: none;
17
+ color: var(--color100);
18
+ font-family: inherit;
19
+ font-size: var(--scale-base);
20
+ cursor: pointer;
21
+ user-select: none;
22
+ vertical-align: middle;
23
+ transition: border-color 0.15s ease-in-out, background-color 0.15s ease-in-out;
24
+
25
+ &.flash {
26
+ animation: flash-background 1s ease-in-out infinite;
27
+ }
28
+
29
+ &:disabled {
30
+ opacity: 0.7;
31
+ cursor: default;
32
+ pointer-events: none;
33
+ background: #6d6d6d;
34
+ color: #ededed;
35
+ }
36
+
37
+ &.outline {
38
+ background-color: transparent;
39
+ border-color: var(--color700);
40
+ border-width: var(--border-width);
41
+ color: var(--fg-body);
42
+
43
+ &.flash {
44
+ animation-name: flash-border;
45
+ }
46
+
47
+ &:disabled {
48
+ background: transparent;
49
+ border-color: #6d6d6d;
50
+ color: #6d6d6d;
51
+ }
52
+
53
+ &:focus {
54
+ border-color: var(--color500);
55
+ }
56
+
57
+ &:active {
58
+ color: var(--color100);
59
+ }
60
+ }
61
+
62
+ &:focus {
63
+ border-left-color: var(--color500);
64
+ }
65
+
66
+ &:active {
67
+ border-color: var(--color500);
68
+ background-color: var(--color500);
69
+ animation-play-state: paused;
70
+ }
71
+ }
72
+
73
+ .compound-commands {
74
+ display: inline-flex;
75
+ gap: var(--spacing-sm);
76
+
77
+ > .spacer {
78
+ background-color: var(--color800);
79
+ box-shadow: var(--box-shadow);
80
+ min-width: 1rem;
81
+ min-height: 1rem;
82
+
83
+ &.outline {
84
+ background-color: transparent;
85
+ border: var(--border-width) solid var(--color700);
86
+ }
87
+ }
88
+
89
+ > .text {
90
+ font-size: var(--scale-3xl);
91
+ line-height: var(--scale-3xl);
92
+ align-self: center;
93
+ padding: var(--spacing-xs);
94
+ }
95
+
96
+ > .command,
97
+ .spacer {
98
+ &:first-child {
99
+ border-radius: var(--border-radius) 0 0 var(--border-radius);
100
+ }
101
+
102
+ &:not(:first-child):not(:last-child) {
103
+ border-radius: 0;
104
+ }
105
+
106
+ &:last-child {
107
+ border-radius: 0 var(--border-radius) var(--border-radius) 0;
108
+ }
109
+ }
110
+
111
+ &.vertical {
112
+ flex-direction: column;
113
+
114
+ > .text {
115
+ justify-self: center;
116
+ }
117
+
118
+ > .command,
119
+ .spacer {
120
+ &:first-child {
121
+ border-radius: var(--border-radius) var(--border-radius) 0 0;
122
+ }
123
+
124
+ &:last-child {
125
+ border-radius: 0 0 var(--border-radius) var(--border-radius);
126
+ }
127
+ }
128
+ }
129
+ }
130
+
131
+ @keyframes flash-background {
132
+ 50% {
133
+ background-color: var(--color600);
134
+ }
135
+ }
136
+
137
+ @keyframes flash-border {
138
+ 50% {
139
+ border-color: var(--color500);
140
+ }
141
+ }
@@ -0,0 +1,57 @@
1
+ :root {
2
+ --font-family: "Open Sans", sans-serif;
3
+ --font-size: 16px;
4
+ --scale-sm: 0.85rem;
5
+ --scale-base: 1rem;
6
+ --scale-lg: 1.2rem;
7
+ --scale-xl: 1.4rem;
8
+ --scale-2xl: 1.6rem;
9
+ --scale-3xl: 1.8rem;
10
+ --box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4);
11
+ --spacing-xs: 2px;
12
+ --spacing-sm: 6px;
13
+ --spacing: 10px;
14
+ --border-width: 0.15rem;
15
+ --focus-border-width: 0.15rem;
16
+ --border-radius: 0.3rem;
17
+
18
+ @media screen and (min-width: 768px) {
19
+ --font-size: 14px;
20
+ }
21
+
22
+ &.light-theme {
23
+ --box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.4);
24
+ }
25
+ }
26
+
27
+ %scrollbar {
28
+ &::-webkit-scrollbar {
29
+ width: var(--spacing-sm);
30
+ background: transparent;
31
+ }
32
+ &::-webkit-scrollbar-thumb {
33
+ min-width: 1rem;
34
+ border-style: solid;
35
+ border-color: transparent;
36
+ border-width: var(--spacing-sm);
37
+ background: var(--color700);
38
+ box-sizing: border-box;
39
+ background-clip: border-box;
40
+ }
41
+ }
42
+
43
+ html {
44
+ font-family: var(--font-family);
45
+ font-weight: 400;
46
+ font-size: var(--font-size);
47
+ }
48
+
49
+ body {
50
+ font-size: 1rem;
51
+ padding: var(--spacing);
52
+ background: var(--bg-body);
53
+ color: var(--fg-body);
54
+ transition: background-color 0.15s ease-in-out;
55
+
56
+ @extend %scrollbar;
57
+ }
package/scss/_input.scss CHANGED
@@ -1,18 +1,17 @@
1
1
  .input {
2
- border-radius: 0.3rem;
3
- box-shadow: $box-shadow;
2
+ border-radius: var(--border-radius);
3
+ box-shadow: var(--box-shadow);
4
4
  outline: none;
5
- border: 1px solid var(--light-alpha40);
6
- color: var(--fg);
5
+ border: var(--border-width) solid var(--color600);
6
+ color: var(--fg-body);
7
7
  font-family: inherit;
8
8
  background-color: transparent;
9
9
  transition: border-color 0.15s ease-in-out;
10
- padding: 0.8rem;
11
- margin: 0.8rem;
12
- font-size: 1.1rem;
10
+ padding: var(--spacing-sm);
11
+ font-size: var(--scale-base);
13
12
 
14
13
  &:focus {
15
- border: 1px solid var(--light-alpha70);
14
+ border: var(--border-width) solid var(--color500);
16
15
  }
17
16
  &:disabled {
18
17
  opacity: 0.4;
package/scss/_panel.scss CHANGED
@@ -1,67 +1,71 @@
1
- @import "corner";
1
+ %corner-base {
2
+ content: "";
3
+ border-style: solid;
4
+ border-color: var(--color700);
5
+ position: absolute;
6
+ height: 1rem;
7
+ width: 1rem;
8
+ z-index: 2;
9
+ }
2
10
 
3
11
  .panel {
4
12
  background: var(--panel-background);
5
- box-shadow: $box-shadow;
6
- border-radius: 0.3rem;
13
+ box-shadow: var(--box-shadow);
14
+ border-radius: var(--border-radius);
7
15
  display: grid;
8
16
  grid-template-rows: auto 1fr auto;
9
17
  overflow: auto;
10
- margin: 0.5rem;
11
18
 
12
19
  > header {
13
20
  position: relative;
14
- @extend %h3;
15
- padding: 0.4rem 0.6rem;
21
+ @extend %header;
22
+ font-size: var(--scale-xl);
16
23
 
17
- &:before {
18
- @include corner("top-left");
19
- }
20
- &:after {
21
- @include corner("top-right");
22
- }
24
+ padding: var(--spacing-sm) var(--spacing);
23
25
 
24
- &:empty {
25
- padding: 0.2rem;
26
+ &::before {
27
+ @extend %corner-base;
28
+ border-width: var(--border-width) 0 0 var(--border-width);
29
+ border-radius: var(--border-radius) 0 0 0;
30
+ left: 0;
31
+ top: 0;
32
+ }
33
+ &::after {
34
+ @extend %corner-base;
35
+ border-width: var(--border-width) var(--border-width) 0 0;
36
+ border-radius: 0 var(--border-radius) 0 0;
37
+ right: 0;
38
+ top: 0;
26
39
  }
27
40
  }
28
41
 
29
42
  > article {
30
43
  z-index: 1;
31
- padding: 0 0.6rem;
44
+ padding: var(--spacing);
32
45
  overflow: auto;
33
46
 
34
- &::-webkit-scrollbar {
35
- width: 2px;
36
- background: transparent;
37
- }
38
- &::-webkit-scrollbar-thumb {
39
- min-width: 1rem;
40
- border-style: solid;
41
- border-color: transparent;
42
- border-width: 2px 2px 1px 2px;
43
- background: var(--default);
44
- box-sizing: border-box;
45
- background-clip: border-box;
46
- }
47
+ @extend %scrollbar;
47
48
  }
48
49
  > footer {
49
50
  position: relative;
50
51
 
51
- color: var(--footer-color);
52
- padding: 0.4rem 0.6rem;
53
- font-size: 0.75rem;
52
+ padding: var(--spacing-sm) var(--spacing);
53
+ font-size: var(--scale-sm);
54
54
  text-align: right;
55
55
 
56
- &:before {
57
- @include corner("bottom-left");
56
+ &::before {
57
+ @extend %corner-base;
58
+ border-width: 0 0 var(--border-width) var(--border-width);
59
+ border-radius: 0 0 0 var(--border-radius);
60
+ left: 0;
61
+ bottom: 0;
58
62
  }
59
- &:after {
60
- @include corner("bottom-right");
61
- }
62
-
63
- &:empty {
64
- padding: 0.2rem;
63
+ &::after {
64
+ @extend %corner-base;
65
+ border-width: 0 var(--border-width) var(--border-width) 0;
66
+ border-radius: 0 0 var(--border-radius) 0;
67
+ right: 0;
68
+ bottom: 0;
65
69
  }
66
70
  }
67
71
  }
@@ -0,0 +1,88 @@
1
+ *,
2
+ ::before,
3
+ ::after {
4
+ box-sizing: border-box;
5
+ border-width: 0;
6
+ border-style: solid;
7
+ border-color: currentColor;
8
+ }
9
+
10
+ html {
11
+ -webkit-text-size-adjust: 100%; // Prevent adjustments of font size after orientation changes in iOS.
12
+ -webkit-tap-highlight-color: transparent; // Disable tap highlights on iOS
13
+ }
14
+
15
+ body {
16
+ margin: 0;
17
+ }
18
+
19
+ h1,
20
+ h2,
21
+ h3,
22
+ h4,
23
+ h5,
24
+ h6,
25
+ p,
26
+ pre {
27
+ font-size: inherit;
28
+ font-weight: inherit;
29
+ margin: 0;
30
+ }
31
+
32
+ a {
33
+ color: inherit;
34
+ text-decoration: inherit;
35
+ }
36
+
37
+ button,
38
+ input,
39
+ select,
40
+ textarea {
41
+ font-family: inherit;
42
+ font-feature-settings: inherit;
43
+ font-variation-settings: inherit;
44
+ font-size: 100%;
45
+ font-weight: inherit;
46
+ color: inherit;
47
+ margin: 0;
48
+ padding: 0;
49
+ }
50
+
51
+ button,
52
+ select {
53
+ text-transform: none;
54
+ }
55
+
56
+ button,
57
+ [type="button"],
58
+ [type="reset"],
59
+ [type="submit"] {
60
+ -webkit-appearance: button;
61
+ background-color: transparent;
62
+ background-image: none;
63
+ }
64
+
65
+ button,
66
+ [role="button"] {
67
+ cursor: pointer;
68
+ }
69
+
70
+ :disabled {
71
+ cursor: default;
72
+ }
73
+
74
+ :-moz-focusring {
75
+ outline: auto;
76
+ }
77
+
78
+ :-moz-ui-invalid {
79
+ box-shadow: none;
80
+ }
81
+
82
+ ol,
83
+ ul,
84
+ menu {
85
+ list-style: none;
86
+ margin: 0;
87
+ padding: 0;
88
+ }
@@ -1,5 +1,4 @@
1
1
  .spinner {
2
- margin: 0.3rem;
3
2
  display: inline-grid;
4
3
  justify-items: center;
5
4
  align-items: center;
@@ -9,7 +8,7 @@
9
8
  box-sizing: border-box;
10
9
  animation: 6s 0.5s rotate ease-in-out alternate infinite;
11
10
 
12
- &:before {
11
+ &::before {
13
12
  content: "";
14
13
  position: absolute;
15
14
  top: 0;
@@ -19,12 +18,13 @@
19
18
  border-style: solid;
20
19
  border-width: 0.05em;
21
20
  border-radius: 50%;
22
- border-color: var(--light-alpha40) transparent;
21
+ border-color: var(--color700) transparent;
23
22
  animation: 4s 0.5s inset1 ease-in-out infinite;
24
- box-shadow: 0px 12px 10px -12px #000a, 0px -12px 10px -12px #000a;
23
+ box-shadow: 0px 12px 10px -12px rgba(0, 0, 0, 0.4),
24
+ 0px -12px 10px -12px rgba(0, 0, 0, 0.4);
25
25
  }
26
26
 
27
- &:after {
27
+ &::after {
28
28
  content: "";
29
29
  position: absolute;
30
30
  top: 0;
@@ -34,9 +34,10 @@
34
34
  border-style: solid;
35
35
  border-width: 0.05em;
36
36
  border-radius: 50%;
37
- border-color: transparent var(--light-alpha70);
37
+ border-color: transparent var(--color500);
38
38
  animation: 4s 0.5s inset2 ease-in-out infinite;
39
- box-shadow: 12px 0px 10px -12px #000a, -12px 0px 10px -12px #000a;
39
+ box-shadow: 12px 0px 10px -12px rgba(0, 0, 0, 0.4),
40
+ -12px 0px 10px -12px rgba(0, 0, 0, 0.4);
40
41
  }
41
42
  }
42
43
 
@@ -1,62 +1,25 @@
1
- %h1 {
2
- @extend %header;
3
- font-size: 3rem;
4
- }
5
-
6
- %h2 {
7
- @extend %header;
8
- font-size: 2rem;
9
- }
10
-
11
- %h3 {
12
- @extend %header;
13
- font-size: 1.5rem;
14
- }
15
-
16
- %h4 {
17
- @extend %header;
18
- font-weight: 400;
19
- font-size: 1.2rem;
20
- }
21
-
1
+ h1,
2
+ h2,
3
+ h3,
4
+ h4,
22
5
  %header {
23
6
  font-weight: 300;
24
- text-shadow: 0 0 4px var(--light-alpha40);
25
- color: var(--fg);
7
+ text-shadow: 0 0 4px oklch(var(--400) / 0.5);
8
+ color: var(--fg-body);
26
9
  }
27
10
 
28
11
  h1 {
29
- @extend %h1;
30
- margin: 1rem 0 2rem 0;
31
-
32
- &.m-0 {
33
- margin: 0;
34
- }
12
+ font-size: var(--scale-3xl);
35
13
  }
36
14
 
37
15
  h2 {
38
- @extend %h2;
39
- margin: 1rem 0 1.5rem 0;
40
-
41
- &.m-0 {
42
- margin: 0;
43
- }
16
+ font-size: var(--scale-2xl);
44
17
  }
45
18
 
46
19
  h3 {
47
- @extend %h3;
48
- margin: 0.5rem 0 1.5rem 0;
49
-
50
- &.m-0 {
51
- margin: 0;
52
- }
20
+ font-size: var(--scale-xl);
53
21
  }
54
22
 
55
23
  h4 {
56
- @extend %h4;
57
- margin: 0.5rem 0 0.5rem 0;
58
-
59
- &.m-0 {
60
- margin: 0;
61
- }
24
+ font-size: var(--scale-lg);
62
25
  }
@@ -1,107 +1,37 @@
1
1
  @import "ada.theme-base";
2
2
 
3
- .primary {
4
- @extend %colourShades;
5
-
6
- // old one, more blue-greenish
7
- //--h: 197;
8
- //--s: 100%;
9
- //--l: 19%;
10
- //--h-light: 197;
11
- //--s-light: 100%;
12
- //--l-light: 40%;
13
-
14
- --h: 205;
15
- --s: 80%;
16
- --l: 23%;
17
- --h-light: 205;
18
- --s-light: 80%;
19
- --l-light: 40%;
3
+ :root {
4
+ //Defaults to primary color
5
+ @extend .primary;
20
6
 
21
- --h-fg: var(--h);
22
- --s-fg: 100%;
23
- --l-fg: 89%;
7
+ //Set overrides for light theme
8
+ &.light-theme {
9
+ --bg-body-override: var(--color100);
10
+ --fg-body-override: var(--color800);
11
+ }
24
12
  }
25
13
 
26
- :root {
27
- @extend .primary;
28
- // old one, more blue-greenish
29
- //--bg: hsl(197, 80%, 7%);
30
- --bg: hsl(207, 61%, 7%);
14
+ .primary {
15
+ @extend %colourShades;
16
+ --hue: 246;
31
17
  }
32
18
 
33
19
  .shade1 {
34
20
  @extend %colourShades;
35
-
36
- --h: 198;
37
- --s: 90%;
38
- --l: 30%;
39
- --h-light: 198;
40
- --s-light: 90%;
41
- --l-light: 58%;
42
-
43
- --h-fg: var(--h);
44
- --s-fg: 100%;
45
- --l-fg: 89%;
21
+ --hue: 225;
46
22
  }
47
23
 
48
- .shade2 {
24
+ .shade3 {
49
25
  @extend %colourShades;
50
-
51
- // old one, more blue-greenish
52
- //--h: 165;
53
- //--s: 90%;
54
- //--l: 20%;
55
- //--h-light: 165;
56
- //--s-light: 90%;
57
- //--l-light: 40%;
58
-
59
- --h: 185;
60
- --s: 50%;
61
- --l: 30%;
62
- --h-light: 185;
63
- --s-light: 50%;
64
- --l-light: 50%;
65
-
66
- --h-fg: var(--h);
67
- --s-fg: 100%;
68
- --l-fg: 89%;
26
+ --hue: 165;
69
27
  }
70
28
 
71
- .accent {
29
+ .shade2 {
72
30
  @extend %colourShades;
73
-
74
- // old one
75
- //--h: 11;
76
- //--s: 74%;
77
- //--l: 45%;
78
- //--h-light: 10;
79
- //--s-light: 89%;
80
- //--l-light: 56%;
81
-
82
- --h: 146;
83
- --s: 58%;
84
- --l: 20%;
85
- --h-light: 146;
86
- --s-light: 58%;
87
- --l-light: 48%;
88
-
89
- --h-fg: var(--h);
90
- --s-fg: 100%;
91
- --l-fg: 89%;
31
+ --hue: 190;
92
32
  }
93
33
 
94
34
  .warn {
95
35
  @extend %colourShades;
96
-
97
- --h: 0;
98
- --s: 100%;
99
- --l: 28%;
100
- --h-light: 0;
101
- --s-light: 85%;
102
- --l-light: 48%;
103
-
104
- --h-fg: var(--h);
105
- --s-fg: 100%;
106
- --l-fg: 89%;
36
+ --hue: 29;
107
37
  }