@rvx/ui 0.1.7 → 0.1.9

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 (108) hide show
  1. package/dist/common/theme-test.js +1 -2
  2. package/dist/common/theme-test.js.map +1 -1
  3. package/dist/common/theme.d.ts +11 -2
  4. package/dist/common/theme.js +2 -1
  5. package/dist/common/theme.js.map +1 -1
  6. package/dist/components/button.d.ts +1 -1
  7. package/dist/components/button.js +2 -2
  8. package/dist/components/button.js.map +1 -1
  9. package/dist/components/card.d.ts +6 -0
  10. package/dist/components/card.js +12 -0
  11. package/dist/components/card.js.map +1 -0
  12. package/dist/components/checkbox-test.d.ts +3 -0
  13. package/dist/components/checkbox-test.js +31 -0
  14. package/dist/components/checkbox-test.js.map +1 -0
  15. package/dist/components/checkbox.js +5 -8
  16. package/dist/components/checkbox.js.map +1 -1
  17. package/dist/components/collapse.d.ts +2 -1
  18. package/dist/components/collapse.js +2 -2
  19. package/dist/components/collapse.js.map +1 -1
  20. package/dist/components/column.js +2 -2
  21. package/dist/components/column.js.map +1 -1
  22. package/dist/components/control-group.js +1 -2
  23. package/dist/components/control-group.js.map +1 -1
  24. package/dist/components/dialog.js +23 -21
  25. package/dist/components/dialog.js.map +1 -1
  26. package/dist/components/dropdown-input.js.map +1 -1
  27. package/dist/components/dropdown.js +4 -3
  28. package/dist/components/dropdown.js.map +1 -1
  29. package/dist/components/flex-space.js +2 -2
  30. package/dist/components/flex-space.js.map +1 -1
  31. package/dist/components/heading.d.ts +4 -0
  32. package/dist/components/heading.js +8 -10
  33. package/dist/components/heading.js.map +1 -1
  34. package/dist/components/label.js +2 -2
  35. package/dist/components/label.js.map +1 -1
  36. package/dist/components/layer.d.ts +4 -4
  37. package/dist/components/layer.js +7 -13
  38. package/dist/components/layer.js.map +1 -1
  39. package/dist/components/link.js +2 -2
  40. package/dist/components/link.js.map +1 -1
  41. package/dist/components/page.js +1 -2
  42. package/dist/components/page.js.map +1 -1
  43. package/dist/components/popout.d.ts +2 -1
  44. package/dist/components/popout.js +59 -58
  45. package/dist/components/popout.js.map +1 -1
  46. package/dist/components/popover.js +6 -5
  47. package/dist/components/popover.js.map +1 -1
  48. package/dist/components/radio-buttons.js +3 -2
  49. package/dist/components/radio-buttons.js.map +1 -1
  50. package/dist/components/row.js +3 -3
  51. package/dist/components/row.js.map +1 -1
  52. package/dist/components/scroll-view.js +2 -2
  53. package/dist/components/scroll-view.js.map +1 -1
  54. package/dist/components/text-input.js +2 -2
  55. package/dist/components/text-input.js.map +1 -1
  56. package/dist/components/text.js +1 -2
  57. package/dist/components/text.js.map +1 -1
  58. package/dist/components/validation.d.ts +4 -3
  59. package/dist/components/validation.js +10 -11
  60. package/dist/components/validation.js.map +1 -1
  61. package/dist/components/value.js +1 -2
  62. package/dist/components/value.js.map +1 -1
  63. package/dist/index.d.ts +3 -2
  64. package/dist/index.js +3 -2
  65. package/dist/index.js.map +1 -1
  66. package/dist/test.d.ts +1 -0
  67. package/dist/test.js +1 -0
  68. package/dist/test.js.map +1 -1
  69. package/dist/theme.module.css +152 -41
  70. package/dist/theme.module.css.map +1 -1
  71. package/package.json +2 -2
  72. package/src/common/theme-test.tsx +1 -3
  73. package/src/common/theme.tsx +12 -2
  74. package/src/components/button.tsx +3 -4
  75. package/src/components/card.tsx +22 -0
  76. package/src/components/checkbox-test.tsx +35 -0
  77. package/src/components/checkbox.tsx +5 -7
  78. package/src/components/collapse.tsx +3 -3
  79. package/src/components/column.tsx +2 -3
  80. package/src/components/control-group.tsx +2 -3
  81. package/src/components/dialog.tsx +23 -22
  82. package/src/components/dropdown-input.tsx +0 -1
  83. package/src/components/dropdown.tsx +4 -4
  84. package/src/components/flex-space.tsx +2 -3
  85. package/src/components/heading.tsx +18 -11
  86. package/src/components/label.tsx +3 -2
  87. package/src/components/layer.tsx +13 -19
  88. package/src/components/link.tsx +2 -3
  89. package/src/components/page.tsx +2 -3
  90. package/src/components/popout.tsx +68 -67
  91. package/src/components/popover.tsx +5 -5
  92. package/src/components/radio-buttons.tsx +3 -3
  93. package/src/components/row.tsx +3 -4
  94. package/src/components/scroll-view.tsx +2 -3
  95. package/src/components/text-input.tsx +2 -3
  96. package/src/components/text.tsx +2 -3
  97. package/src/components/validation.tsx +11 -13
  98. package/src/components/value.tsx +2 -3
  99. package/src/index.tsx +3 -2
  100. package/src/test.tsx +1 -0
  101. package/src/theme/base.scss +11 -5
  102. package/src/theme/components/button.scss +58 -31
  103. package/src/theme/components/card.scss +31 -0
  104. package/src/theme/components/column.scss +8 -0
  105. package/src/theme/components/control-group.scss +6 -1
  106. package/src/theme/components/link.scss +1 -1
  107. package/src/theme/components/text-input.scss +2 -2
  108. package/src/theme/theme.scss +1 -0
@@ -1,5 +1,4 @@
1
- import { ClassValue, Expression, extract, StyleValue } from "rvx";
2
-
1
+ import { ClassValue, Expression, StyleValue } from "rvx";
3
2
  import { THEME } from "../common/theme.js";
4
3
 
5
4
  export function Value(props: {
@@ -8,7 +7,7 @@ export function Value(props: {
8
7
  id?: Expression<string | undefined>;
9
8
  children?: unknown;
10
9
  }): unknown {
11
- const theme = extract(THEME);
10
+ const theme = THEME.current;
12
11
  return <span
13
12
  class={[
14
13
  theme?.value,
package/src/index.tsx CHANGED
@@ -5,13 +5,14 @@ export * from "./common/trim.js";
5
5
  export * from "./common/types.js";
6
6
  export * from "./common/writing-mode.js";
7
7
  export * from "./components/button.js";
8
+ export * from "./components/card.js";
8
9
  export * from "./components/checkbox.js";
9
10
  export * from "./components/collapse.js";
10
11
  export * from "./components/column.js";
11
12
  export * from "./components/control-group.js";
12
13
  export * from "./components/dialog.js";
13
- export * from "./components/dropdown.js";
14
14
  export * from "./components/dropdown-input.js";
15
+ export * from "./components/dropdown.js";
15
16
  export * from "./components/flex-space.js";
16
17
  export * from "./components/heading.js";
17
18
  export * from "./components/label.js";
@@ -23,7 +24,7 @@ export * from "./components/popover.js";
23
24
  export * from "./components/radio-buttons.js";
24
25
  export * from "./components/row.js";
25
26
  export * from "./components/scroll-view.js";
26
- export * from "./components/text.js";
27
27
  export * from "./components/text-input.js";
28
+ export * from "./components/text.js";
28
29
  export * from "./components/validation.js";
29
30
  export * from "./components/value.js";
package/src/test.tsx CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from "./common/theme-test.js";
2
+ export * from "./components/checkbox-test.js";
2
3
  export * from "./components/collapse-test.js";
@@ -12,16 +12,21 @@ $root-size: 14px;
12
12
  font-size: #{math.div(1rem, 16px) * $root-size};
13
13
  line-height: 1;
14
14
 
15
+ --accent: rgb(0, 192, 255);
16
+ accent-color: var(--accent);
17
+
15
18
  --content-column-gap: #{px(16)};
16
19
  --content-row-gap: #{px(16)};
17
20
  --content-radius: #{px(8)};
18
21
  --content-border: #{px(2)};
22
+ --content-shadow: 0 0 #{px(16)} rgba(0, 0, 0, .2);
19
23
  @include common.define-quad(content-pad, px(20), px(20));
20
24
 
21
25
  --control-column-gap: #{px(8)};
22
26
  --control-row-gap: #{px(8)};
23
- --control-radius: #{px(4)};
24
- --control-border: #{px(1)};
27
+ --control-radius: #{px(5)};
28
+ --control-border: #{px(2)};
29
+ --control-shadow: 0 0 #{px(3)} rgba(0, 0, 0, .5);
25
30
  --control-disabled: opacity(.5);
26
31
  @include common.define-quad(control-pad, px(8), px(10));
27
32
 
@@ -33,17 +38,18 @@ $root-size: 14px;
33
38
  --space-gap: #{px(6)};
34
39
 
35
40
  --layout-transition: .15s ease;
41
+ --color-transition: .1s ease;
36
42
  }
37
43
 
38
44
  @include common.theme((
39
45
  bg: (
40
- dark: rgb(32, 32, 32),
46
+ dark: rgb(36, 36, 36),
41
47
  ),
42
48
  fg: (
43
49
  dark: white,
44
50
  ),
45
51
  focus-outline: (
46
- dark: var(--control-border) dashed rgb(0, 127, 255),
52
+ dark: var(--control-border) dashed var(--accent),
47
53
  ),
48
54
  ));
49
55
 
@@ -65,5 +71,5 @@ body {
65
71
  }
66
72
 
67
73
  ::selection {
68
- background-color: rgba(0, 100, 200, .7);
74
+ background-color: rgba(0, 150, 200, .6);
69
75
  }
@@ -2,75 +2,75 @@
2
2
 
3
3
  @include common.theme((
4
4
  button-default-bg: (
5
- dark: rgb(54, 54, 54),
5
+ dark: rgb(64, 64, 64),
6
6
  ),
7
- button-default-bg-lit: (
8
- dark: rgb(72, 72, 72),
7
+ button-default-bg-hover: (
8
+ dark: rgb(90, 90, 90),
9
9
  ),
10
10
  button-default-fg: (
11
11
  dark: var(--fg),
12
12
  ),
13
- button-default-border: (
14
- dark: rgb(80, 80, 80),
15
- ),
16
13
 
17
14
  button-primary-bg: (
18
- dark: rgb(0, 100, 200),
15
+ dark: rgb(0, 192, 255),
19
16
  ),
20
- button-primary-bg-lit: (
21
- dark: rgb(0, 128, 255),
17
+ button-primary-bg-hover: (
18
+ dark: rgb(92, 214, 255),
22
19
  ),
23
20
  button-primary-fg: (
24
- dark: white,
21
+ dark: black,
25
22
  ),
26
- button-primary-border: (
27
- dark: rgb(0, 100, 200),
23
+ button-primary-focus: (
24
+ dark: rgb(200, 241, 255),
28
25
  ),
29
26
 
30
27
  button-success-bg: (
31
28
  dark: rgb(0, 200, 100),
32
29
  ),
33
- button-success-bg-lit: (
30
+ button-success-bg-hover: (
34
31
  dark: rgb(0, 242, 121),
35
32
  ),
36
33
  button-success-fg: (
37
34
  dark: black,
38
35
  ),
39
- button-success-border: (
40
- dark: rgb(0, 200, 100),
36
+ button-success-focus: (
37
+ dark: rgb(200, 255, 228),
41
38
  ),
42
39
 
43
40
  button-warning-bg: (
44
- dark: rgb(255, 200, 0),
41
+ dark: rgb(230, 180, 0),
45
42
  ),
46
- button-warning-bg-lit: (
47
- dark: rgb(255, 224, 122),
43
+ button-warning-bg-hover: (
44
+ dark: rgb(255, 220, 105),
48
45
  ),
49
46
  button-warning-fg: (
50
47
  dark: black,
51
48
  ),
52
- button-warning-border: (
53
- dark: rgb(255, 200, 0),
49
+ button-warning-focus: (
50
+ dark: rgb(255, 243, 200),
54
51
  ),
55
52
 
56
53
  button-danger-bg: (
57
54
  dark: rgb(255, 0, 64),
58
55
  ),
59
- button-danger-bg-lit: (
60
- dark: rgb(255, 64, 96),
56
+ button-danger-bg-hover: (
57
+ dark: rgb(255, 70, 100),
61
58
  ),
62
59
  button-danger-fg: (
63
60
  dark: black,
64
61
  ),
65
- button-danger-border: (
66
- dark: rgb(255, 0, 64),
62
+ button-danger-focus: (
63
+ dark: rgb(255, 200, 214),
67
64
  ),
68
65
 
69
66
  button-input-bg: (
70
67
  dark: rgb(16, 16, 16),
71
68
  ),
72
- button-input-bg-lit: (
73
- dark: rgb(36, 36, 36),
69
+ button-input-bg-hover: (
70
+ dark: rgb(60, 60, 60),
71
+ ),
72
+ button-input-bg-active: (
73
+ dark: rgb(80, 80, 80),
74
74
  ),
75
75
  button-input-fg: (
76
76
  dark: white,
@@ -78,6 +78,19 @@
78
78
  button-input-border: (
79
79
  dark: rgb(80, 80, 80),
80
80
  ),
81
+
82
+ button-text-bg: (
83
+ dark: transparent,
84
+ ),
85
+ button-text-bg-hover: (
86
+ dark: rgb(80, 80, 80),
87
+ ),
88
+ button-text-bg-active: (
89
+ dark: rgb(100, 100, 100),
90
+ ),
91
+ button-text-fg: (
92
+ dark: var(--fg),
93
+ ),
81
94
  ));
82
95
 
83
96
  .button {
@@ -92,6 +105,12 @@
92
105
  @include common.padding(control-pad, var(--control-border));
93
106
 
94
107
  border-radius: var(--control-radius);
108
+ transition: var(--color-transition) background-color,
109
+ var(--color-transition) border-color;
110
+
111
+ &:not(.button_text) {
112
+ box-shadow: var(--control-shadow);
113
+ }
95
114
 
96
115
  &[disabled] {
97
116
  cursor: default;
@@ -99,14 +118,22 @@
99
118
  }
100
119
  }
101
120
 
102
- @each $variant in (default, primary, success, warning, danger, input) {
121
+ @each $variant in (default, primary, success, warning, danger, input, text) {
103
122
  .button_#{$variant} {
104
123
  background-color: var(--button-#{$variant}-bg);
105
124
  color: var(--button-#{$variant}-fg);
106
- border: var(--control-border) solid var(--button-#{$variant}-border, transparent);
107
- &:hover:not(:active):not([disabled]),
108
- &:focus-visible:not([disabled]) {
109
- background-color: var(--button-#{$variant}-bg-lit);
125
+ border: var(--button-#{$variant}-border, transparent) solid var(--control-border);
126
+
127
+ &:hover:not(:active):not([disabled]) {
128
+ background-color: var(--button-#{$variant}-bg-hover);
129
+ }
130
+
131
+ &:focus-visible {
132
+ border-color: var(--button-#{$variant}-focus, var(--accent));
133
+ }
134
+
135
+ &:active {
136
+ background-color: var(--button-#{$variant}-bg-active, var(--button-#{$variant}-bg));
110
137
  }
111
138
  }
112
139
  }
@@ -0,0 +1,31 @@
1
+ @use "../common";
2
+
3
+ @include common.theme((
4
+ card-default-border: (
5
+ dark: rgb(72, 72, 72),
6
+ ),
7
+ card-info-border: (
8
+ dark: rgb(0, 96, 128),
9
+ ),
10
+ card-success-border: (
11
+ dark: rgb(0, 128, 64),
12
+ ),
13
+ card-warning-border: (
14
+ dark: rgb(150, 117, 0),
15
+ ),
16
+ card-danger-border: (
17
+ dark: rgb(160, 0, 40),
18
+ ),
19
+ ));
20
+
21
+ .card {
22
+ box-shadow: var(--content-shadow);
23
+ border-radius: var(--content-radius);
24
+ @include common.padding(content-pad, var(--content-border));
25
+ }
26
+
27
+ @each $name in (default, info, success, warning, danger) {
28
+ .card_#{$name} {
29
+ border: var(--content-border) solid var(--card-#{$name}-border);
30
+ }
31
+ }
@@ -10,12 +10,20 @@
10
10
  );
11
11
  }
12
12
 
13
+ & > :first-child {
14
+ margin-block-start: calc(var(--parent-row-gap) * (var(--space-scale) - 1) / 2);
15
+ }
16
+
13
17
  & > :not(:last-child) {
14
18
  margin-block-end: calc(
15
19
  (var(--space-below, var(--parent-row-gap)) - var(--parent-row-gap)) * var(--space-scale)
16
20
  + var(--parent-row-gap) * (var(--space-scale) - 1) / 2
17
21
  );
18
22
  }
23
+
24
+ & > :last-child {
25
+ margin-block-end: calc(var(--parent-row-gap) * (var(--space-scale) - 1) / 2);
26
+ }
19
27
  }
20
28
 
21
29
  @each $size in "content", "control" {
@@ -2,7 +2,12 @@
2
2
  .control_group {
3
3
  display: flex;
4
4
  flex-direction: row;
5
- flex-wrap: wrap;
5
+
6
+ box-shadow: var(--control-shadow);
7
+ * {
8
+ --control-shadow: none;
9
+ }
10
+
6
11
  & > :not(:first-child) {
7
12
  border-start-start-radius: 0;
8
13
  border-end-start-radius: 0;
@@ -2,7 +2,7 @@
2
2
 
3
3
  @include common.theme((
4
4
  link-fg: (
5
- dark: rgb(64, 160, 255),
5
+ dark: rgb(64, 208, 255),
6
6
  ),
7
7
  ));
8
8
 
@@ -11,7 +11,7 @@
11
11
  dark: rgb(80, 80, 80),
12
12
  ),
13
13
  text-input-border-lit: (
14
- dark: rgb(0, 128, 255),
14
+ dark: var(--accent),
15
15
  ),
16
16
  ));
17
17
 
@@ -26,7 +26,7 @@
26
26
  @include common.padding(control-pad);
27
27
  border: var(--control-border) solid var(--text-input-border);
28
28
  border-radius: var(--control-radius);
29
-
29
+ box-shadow: var(--control-shadow);
30
30
  background-color: var(--text-input-bg);
31
31
  color: var(--text-input-fg);
32
32
 
@@ -1,6 +1,7 @@
1
1
  @forward "base";
2
2
 
3
3
  @forward "components/button";
4
+ @forward "components/card";
4
5
  @forward "components/checkbox";
5
6
  @forward "components/collapse";
6
7
  @forward "components/column";