@rvx/ui 0.1.6

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 (159) hide show
  1. package/LICENSE +21 -0
  2. package/dist/common/events.d.ts +72 -0
  3. package/dist/common/events.js +58 -0
  4. package/dist/common/events.js.map +1 -0
  5. package/dist/common/parsers.d.ts +88 -0
  6. package/dist/common/parsers.js +62 -0
  7. package/dist/common/parsers.js.map +1 -0
  8. package/dist/common/theme-test.d.ts +7 -0
  9. package/dist/common/theme-test.js +14 -0
  10. package/dist/common/theme-test.js.map +1 -0
  11. package/dist/common/theme.d.ts +144 -0
  12. package/dist/common/theme.js +2 -0
  13. package/dist/common/theme.js.map +1 -0
  14. package/dist/common/trim.d.ts +12 -0
  15. package/dist/common/trim.js +16 -0
  16. package/dist/common/trim.js.map +1 -0
  17. package/dist/common/types.d.ts +13 -0
  18. package/dist/common/types.js +10 -0
  19. package/dist/common/types.js.map +1 -0
  20. package/dist/common/writing-mode.d.ts +82 -0
  21. package/dist/common/writing-mode.js +61 -0
  22. package/dist/common/writing-mode.js.map +1 -0
  23. package/dist/components/button.d.ts +42 -0
  24. package/dist/components/button.js +26 -0
  25. package/dist/components/button.js.map +1 -0
  26. package/dist/components/checkbox.d.ts +9 -0
  27. package/dist/components/checkbox.js +32 -0
  28. package/dist/components/checkbox.js.map +1 -0
  29. package/dist/components/collapse-test.d.ts +8 -0
  30. package/dist/components/collapse-test.js +15 -0
  31. package/dist/components/collapse-test.js.map +1 -0
  32. package/dist/components/collapse.d.ts +13 -0
  33. package/dist/components/collapse.js +44 -0
  34. package/dist/components/collapse.js.map +1 -0
  35. package/dist/components/column.d.ts +12 -0
  36. package/dist/components/column.js +12 -0
  37. package/dist/components/column.js.map +1 -0
  38. package/dist/components/control-group.d.ts +7 -0
  39. package/dist/components/control-group.js +11 -0
  40. package/dist/components/control-group.js.map +1 -0
  41. package/dist/components/dialog.d.ts +33 -0
  42. package/dist/components/dialog.js +67 -0
  43. package/dist/components/dialog.js.map +1 -0
  44. package/dist/components/dropdown-input.d.ts +27 -0
  45. package/dist/components/dropdown-input.js +31 -0
  46. package/dist/components/dropdown-input.js.map +1 -0
  47. package/dist/components/dropdown.d.ts +123 -0
  48. package/dist/components/dropdown.js +176 -0
  49. package/dist/components/dropdown.js.map +1 -0
  50. package/dist/components/flex-space.d.ts +4 -0
  51. package/dist/components/flex-space.js +10 -0
  52. package/dist/components/flex-space.js.map +1 -0
  53. package/dist/components/heading.d.ts +9 -0
  54. package/dist/components/heading.js +14 -0
  55. package/dist/components/heading.js.map +1 -0
  56. package/dist/components/label.d.ts +14 -0
  57. package/dist/components/label.js +15 -0
  58. package/dist/components/label.js.map +1 -0
  59. package/dist/components/layer.d.ts +81 -0
  60. package/dist/components/layer.js +164 -0
  61. package/dist/components/layer.js.map +1 -0
  62. package/dist/components/link.d.ts +57 -0
  63. package/dist/components/link.js +26 -0
  64. package/dist/components/link.js.map +1 -0
  65. package/dist/components/page.d.ts +9 -0
  66. package/dist/components/page.js +17 -0
  67. package/dist/components/page.js.map +1 -0
  68. package/dist/components/popout.d.ts +134 -0
  69. package/dist/components/popout.js +259 -0
  70. package/dist/components/popout.js.map +1 -0
  71. package/dist/components/popover.d.ts +139 -0
  72. package/dist/components/popover.js +101 -0
  73. package/dist/components/popover.js.map +1 -0
  74. package/dist/components/radio-buttons.d.ts +17 -0
  75. package/dist/components/radio-buttons.js +26 -0
  76. package/dist/components/radio-buttons.js.map +1 -0
  77. package/dist/components/row.d.ts +10 -0
  78. package/dist/components/row.js +23 -0
  79. package/dist/components/row.js.map +1 -0
  80. package/dist/components/scroll-view.d.ts +6 -0
  81. package/dist/components/scroll-view.js +72 -0
  82. package/dist/components/scroll-view.js.map +1 -0
  83. package/dist/components/text-input.d.ts +53 -0
  84. package/dist/components/text-input.js +35 -0
  85. package/dist/components/text-input.js.map +1 -0
  86. package/dist/components/text.d.ts +7 -0
  87. package/dist/components/text.js +11 -0
  88. package/dist/components/text.js.map +1 -0
  89. package/dist/components/validation.d.ts +109 -0
  90. package/dist/components/validation.js +151 -0
  91. package/dist/components/validation.js.map +1 -0
  92. package/dist/components/value.d.ts +7 -0
  93. package/dist/components/value.js +11 -0
  94. package/dist/components/value.js.map +1 -0
  95. package/dist/index.d.ts +29 -0
  96. package/dist/index.js +30 -0
  97. package/dist/index.js.map +1 -0
  98. package/dist/test.d.ts +2 -0
  99. package/dist/test.js +3 -0
  100. package/dist/test.js.map +1 -0
  101. package/dist/theme.module.css +679 -0
  102. package/dist/theme.module.css.map +1 -0
  103. package/package.json +29 -0
  104. package/src/common/events.tsx +130 -0
  105. package/src/common/parsers.tsx +167 -0
  106. package/src/common/theme-test.tsx +20 -0
  107. package/src/common/theme.tsx +165 -0
  108. package/src/common/trim.tsx +30 -0
  109. package/src/common/types.tsx +23 -0
  110. package/src/common/writing-mode.tsx +150 -0
  111. package/src/components/button.tsx +94 -0
  112. package/src/components/checkbox.tsx +64 -0
  113. package/src/components/collapse-test.tsx +23 -0
  114. package/src/components/collapse.tsx +75 -0
  115. package/src/components/column.tsx +28 -0
  116. package/src/components/control-group.tsx +22 -0
  117. package/src/components/dialog.tsx +137 -0
  118. package/src/components/dropdown-input.tsx +82 -0
  119. package/src/components/dropdown.tsx +352 -0
  120. package/src/components/flex-space.tsx +15 -0
  121. package/src/components/heading.tsx +23 -0
  122. package/src/components/label.tsx +37 -0
  123. package/src/components/layer.tsx +299 -0
  124. package/src/components/link.tsx +118 -0
  125. package/src/components/page.tsx +36 -0
  126. package/src/components/popout.tsx +461 -0
  127. package/src/components/popover.tsx +292 -0
  128. package/src/components/radio-buttons.tsx +81 -0
  129. package/src/components/row.tsx +37 -0
  130. package/src/components/scroll-view.tsx +97 -0
  131. package/src/components/text-input.tsx +117 -0
  132. package/src/components/text.tsx +22 -0
  133. package/src/components/validation.tsx +272 -0
  134. package/src/components/value.tsx +22 -0
  135. package/src/index.tsx +29 -0
  136. package/src/test.tsx +2 -0
  137. package/src/theme/base.scss +69 -0
  138. package/src/theme/common.scss +51 -0
  139. package/src/theme/components/button.scss +116 -0
  140. package/src/theme/components/checkbox.scss +25 -0
  141. package/src/theme/components/collapse.scss +64 -0
  142. package/src/theme/components/column.scss +28 -0
  143. package/src/theme/components/control-group.scss +14 -0
  144. package/src/theme/components/dialog.scss +44 -0
  145. package/src/theme/components/dropdown.scss +50 -0
  146. package/src/theme/components/flex-space.scss +6 -0
  147. package/src/theme/components/heading.scss +39 -0
  148. package/src/theme/components/label.scss +24 -0
  149. package/src/theme/components/link.scss +25 -0
  150. package/src/theme/components/page.scss +22 -0
  151. package/src/theme/components/popover.scss +58 -0
  152. package/src/theme/components/radio-buttons.scss +31 -0
  153. package/src/theme/components/row.scss +17 -0
  154. package/src/theme/components/scroll-view.scss +51 -0
  155. package/src/theme/components/text-input.scss +45 -0
  156. package/src/theme/components/text.scss +12 -0
  157. package/src/theme/components/validation.scss +15 -0
  158. package/src/theme/components/value.scss +4 -0
  159. package/src/theme/theme.scss +22 -0
package/dist/index.js ADDED
@@ -0,0 +1,30 @@
1
+ export * from "./common/events.js";
2
+ export * from "./common/parsers.js";
3
+ export * from "./common/theme.js";
4
+ export * from "./common/trim.js";
5
+ export * from "./common/types.js";
6
+ export * from "./common/writing-mode.js";
7
+ export * from "./components/button.js";
8
+ export * from "./components/checkbox.js";
9
+ export * from "./components/collapse.js";
10
+ export * from "./components/column.js";
11
+ export * from "./components/control-group.js";
12
+ export * from "./components/dialog.js";
13
+ export * from "./components/dropdown.js";
14
+ export * from "./components/dropdown-input.js";
15
+ export * from "./components/flex-space.js";
16
+ export * from "./components/heading.js";
17
+ export * from "./components/label.js";
18
+ export * from "./components/layer.js";
19
+ export * from "./components/link.js";
20
+ export * from "./components/page.js";
21
+ export * from "./components/popout.js";
22
+ export * from "./components/popover.js";
23
+ export * from "./components/radio-buttons.js";
24
+ export * from "./components/row.js";
25
+ export * from "./components/scroll-view.js";
26
+ export * from "./components/text.js";
27
+ export * from "./components/text-input.js";
28
+ export * from "./components/validation.js";
29
+ export * from "./components/value.js";
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC"}
package/dist/test.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./common/theme-test.js";
2
+ export * from "./components/collapse-test.js";
package/dist/test.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from "./common/theme-test.js";
2
+ export * from "./components/collapse-test.js";
3
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.tsx"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1,679 @@
1
+ :root {
2
+ font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
3
+ font-size: 0.875rem;
4
+ line-height: 1;
5
+ --content-column-gap: 1.1428571429rem;
6
+ --content-row-gap: 1.1428571429rem;
7
+ --content-radius: 0.5714285714rem;
8
+ --content-border: 0.1428571429rem;
9
+ --content-pad-block-start: 1.4285714286rem;
10
+ --content-pad-inline-start: 1.4285714286rem;
11
+ --content-pad-block-end: 1.4285714286rem;
12
+ --content-pad-inline-end: 1.4285714286rem;
13
+ --control-column-gap: 0.5714285714rem;
14
+ --control-row-gap: 0.5714285714rem;
15
+ --control-radius: 0.2857142857rem;
16
+ --control-border: 0.0714285714rem;
17
+ --control-disabled: opacity(.5);
18
+ --control-pad-block-start: 0.5714285714rem;
19
+ --control-pad-inline-start: 0.7142857143rem;
20
+ --control-pad-block-end: 0.5714285714rem;
21
+ --control-pad-inline-end: 0.7142857143rem;
22
+ --focus-outline-offset: 0.1428571429rem;
23
+ --overflow-safe-area: 0.2857142857rem;
24
+ --line-gap: 0.4285714286rem;
25
+ --space-gap: 0.4285714286rem;
26
+ --layout-transition: .15s ease;
27
+ }
28
+
29
+ @media (prefers-color-scheme: dark) {
30
+ :root {
31
+ --bg: rgb(32, 32, 32);
32
+ --fg: white;
33
+ --focus-outline: var(--control-border) dashed rgb(0, 127, 255);
34
+ color-scheme: dark;
35
+ }
36
+ }
37
+ body {
38
+ background-color: var(--bg);
39
+ color: var(--fg);
40
+ text-wrap: balance;
41
+ }
42
+ @supports (text-wrap: pretty) {
43
+ body {
44
+ text-wrap: pretty;
45
+ }
46
+ }
47
+
48
+ * {
49
+ box-sizing: border-box;
50
+ --space-scale: 1;
51
+ --space-above: unset;
52
+ --space-below: unset;
53
+ }
54
+
55
+ ::selection {
56
+ background-color: rgba(0, 100, 200, 0.7);
57
+ }
58
+
59
+ @media (prefers-color-scheme: dark) {
60
+ :root {
61
+ --button-default-bg: rgb(54, 54, 54);
62
+ --button-default-bg-lit: rgb(72, 72, 72);
63
+ --button-default-fg: var(--fg);
64
+ --button-default-border: rgb(80, 80, 80);
65
+ --button-primary-bg: rgb(0, 100, 200);
66
+ --button-primary-bg-lit: rgb(0, 128, 255);
67
+ --button-primary-fg: white;
68
+ --button-primary-border: rgb(0, 100, 200);
69
+ --button-success-bg: rgb(0, 200, 100);
70
+ --button-success-bg-lit: rgb(0, 242, 121);
71
+ --button-success-fg: black;
72
+ --button-success-border: rgb(0, 200, 100);
73
+ --button-warning-bg: rgb(255, 200, 0);
74
+ --button-warning-bg-lit: rgb(255, 224, 122);
75
+ --button-warning-fg: black;
76
+ --button-warning-border: rgb(255, 200, 0);
77
+ --button-danger-bg: rgb(255, 0, 64);
78
+ --button-danger-bg-lit: rgb(255, 64, 96);
79
+ --button-danger-fg: black;
80
+ --button-danger-border: rgb(255, 0, 64);
81
+ --button-input-bg: rgb(16, 16, 16);
82
+ --button-input-bg-lit: rgb(36, 36, 36);
83
+ --button-input-fg: white;
84
+ --button-input-border: rgb(80, 80, 80);
85
+ color-scheme: dark;
86
+ }
87
+ }
88
+ .button {
89
+ font-family: inherit;
90
+ font-size: inherit;
91
+ font-weight: 600;
92
+ line-height: 1;
93
+ cursor: pointer;
94
+ outline: none;
95
+ padding-block: calc(var(--control-pad-block-start) - var(--control-border)) calc(var(--control-pad-block-end) - var(--control-border));
96
+ padding-inline: calc(var(--control-pad-inline-start) - var(--control-border)) calc(var(--control-pad-inline-end) - var(--control-border));
97
+ border-radius: var(--control-radius);
98
+ }
99
+ .button[disabled] {
100
+ cursor: default;
101
+ filter: var(--control-disabled);
102
+ }
103
+
104
+ .button_default {
105
+ background-color: var(--button-default-bg);
106
+ color: var(--button-default-fg);
107
+ border: var(--control-border) solid var(--button-default-border, transparent);
108
+ }
109
+ .button_default:hover:not(:active):not([disabled]), .button_default:focus-visible:not([disabled]) {
110
+ background-color: var(--button-default-bg-lit);
111
+ }
112
+
113
+ .button_primary {
114
+ background-color: var(--button-primary-bg);
115
+ color: var(--button-primary-fg);
116
+ border: var(--control-border) solid var(--button-primary-border, transparent);
117
+ }
118
+ .button_primary:hover:not(:active):not([disabled]), .button_primary:focus-visible:not([disabled]) {
119
+ background-color: var(--button-primary-bg-lit);
120
+ }
121
+
122
+ .button_success {
123
+ background-color: var(--button-success-bg);
124
+ color: var(--button-success-fg);
125
+ border: var(--control-border) solid var(--button-success-border, transparent);
126
+ }
127
+ .button_success:hover:not(:active):not([disabled]), .button_success:focus-visible:not([disabled]) {
128
+ background-color: var(--button-success-bg-lit);
129
+ }
130
+
131
+ .button_warning {
132
+ background-color: var(--button-warning-bg);
133
+ color: var(--button-warning-fg);
134
+ border: var(--control-border) solid var(--button-warning-border, transparent);
135
+ }
136
+ .button_warning:hover:not(:active):not([disabled]), .button_warning:focus-visible:not([disabled]) {
137
+ background-color: var(--button-warning-bg-lit);
138
+ }
139
+
140
+ .button_danger {
141
+ background-color: var(--button-danger-bg);
142
+ color: var(--button-danger-fg);
143
+ border: var(--control-border) solid var(--button-danger-border, transparent);
144
+ }
145
+ .button_danger:hover:not(:active):not([disabled]), .button_danger:focus-visible:not([disabled]) {
146
+ background-color: var(--button-danger-bg-lit);
147
+ }
148
+
149
+ .button_input {
150
+ background-color: var(--button-input-bg);
151
+ color: var(--button-input-fg);
152
+ border: var(--control-border) solid var(--button-input-border, transparent);
153
+ }
154
+ .button_input:hover:not(:active):not([disabled]), .button_input:focus-visible:not([disabled]) {
155
+ background-color: var(--button-input-bg-lit);
156
+ }
157
+
158
+ .button_input {
159
+ text-align: left;
160
+ }
161
+
162
+ .checkbox_label {
163
+ display: flex;
164
+ column-gap: var(--control-column-gap);
165
+ align-items: start;
166
+ }
167
+ .checkbox_label:has(.checkbox_input:not(:disabled)) {
168
+ cursor: pointer;
169
+ }
170
+ .checkbox_label:has(.checkbox_input:disabled) > .checkbox_content {
171
+ filter: var(--control-disabled);
172
+ }
173
+ .checkbox_label:has(.checkbox_input:focus-visible) {
174
+ outline: var(--focus-outline);
175
+ outline-offset: var(--focus-outline-offset);
176
+ }
177
+
178
+ .checkbox_input {
179
+ margin: 0;
180
+ outline: none;
181
+ cursor: inherit;
182
+ }
183
+
184
+ .collapse {
185
+ display: block;
186
+ position: relative;
187
+ --space-scale: 0;
188
+ }
189
+
190
+ .collapse_sized {
191
+ transition: margin-block-start var(--layout-transition), margin-block-end var(--layout-transition);
192
+ }
193
+
194
+ @keyframes alert {
195
+ from {
196
+ transform: translateX(0rem);
197
+ }
198
+ 30% {
199
+ transform: translateX(0.2rem);
200
+ }
201
+ 70% {
202
+ transform: translateX(-0.2rem);
203
+ }
204
+ to {
205
+ transform: translateX(0rem);
206
+ }
207
+ }
208
+ .collapse_alert {
209
+ animation: alert 0.2s ease;
210
+ }
211
+
212
+ .collapse_visible.collapse_visible {
213
+ --space-scale: 1;
214
+ }
215
+
216
+ .collapse_view {
217
+ block-size: 0px;
218
+ position: relative;
219
+ overflow: hidden;
220
+ }
221
+ .collapse_sized > .collapse_view {
222
+ transition: block-size var(--layout-transition), margin var(--layout-transition);
223
+ }
224
+ .collapse_visible > .collapse_view {
225
+ block-size: calc(var(--collapse-size) + var(--overflow-safe-area) * 2);
226
+ margin: calc(var(--overflow-safe-area) * -1);
227
+ }
228
+
229
+ .collapse_content {
230
+ position: absolute;
231
+ inline-size: 100%;
232
+ top: 0px;
233
+ left: 0px;
234
+ }
235
+ .collapse_sized > * > .collapse_content {
236
+ transition: top var(--layout-transition), left var(--layout-transition), inline-size var(--layout-transition);
237
+ }
238
+ .collapse_visible .collapse_content {
239
+ top: var(--overflow-safe-area);
240
+ left: var(--overflow-safe-area);
241
+ inline-size: calc(100% - var(--overflow-safe-area) * 2);
242
+ }
243
+
244
+ .column {
245
+ display: flex;
246
+ flex-direction: column;
247
+ }
248
+ .column > :not(:first-child) {
249
+ margin-block-start: calc((var(--space-above, var(--parent-row-gap)) - var(--parent-row-gap)) * var(--space-scale) + var(--parent-row-gap) * (var(--space-scale) - 1) / 2);
250
+ }
251
+ .column > :not(:last-child) {
252
+ margin-block-end: calc((var(--space-below, var(--parent-row-gap)) - var(--parent-row-gap)) * var(--space-scale) + var(--parent-row-gap) * (var(--space-scale) - 1) / 2);
253
+ }
254
+
255
+ .column_content {
256
+ row-gap: var(--content-row-gap);
257
+ }
258
+ .column_content > * {
259
+ --parent-row-gap: var(--content-row-gap);
260
+ }
261
+
262
+ .column_control {
263
+ row-gap: var(--control-row-gap);
264
+ }
265
+ .column_control > * {
266
+ --parent-row-gap: var(--control-row-gap);
267
+ }
268
+
269
+ .control_group {
270
+ display: flex;
271
+ flex-direction: row;
272
+ flex-wrap: wrap;
273
+ }
274
+ .control_group > :not(:first-child) {
275
+ border-start-start-radius: 0;
276
+ border-end-start-radius: 0;
277
+ }
278
+ .control_group > :not(:last-child) {
279
+ border-start-end-radius: 0;
280
+ border-end-end-radius: 0;
281
+ }
282
+
283
+ @media (prefers-color-scheme: dark) {
284
+ :root {
285
+ --dialog-container-bg: rgba(32, 32, 32, 0.8);
286
+ --dialog-bg: var(--bg);
287
+ --dialog-border: rgb(72, 72, 72);
288
+ --dialog-shadow: 0 0 2rem rgba(0, 0, 0, 0.5);
289
+ color-scheme: dark;
290
+ }
291
+ }
292
+ .dialog_container {
293
+ position: fixed;
294
+ inset: 0;
295
+ background-color: var(--dialog-container-bg);
296
+ display: grid;
297
+ grid-template-columns: 1fr auto 1fr;
298
+ grid-template-rows: 3fr auto 4fr;
299
+ overflow: auto;
300
+ }
301
+
302
+ .dialog_body {
303
+ grid-row: 2/3;
304
+ grid-column: 2/3;
305
+ background-color: var(--dialog-bg);
306
+ box-shadow: var(--dialog-shadow);
307
+ border-radius: var(--content-radius);
308
+ border: var(--content-border) solid var(--dialog-border);
309
+ padding-block: calc(var(--content-pad-block-start) - var(--content-border)) calc(var(--content-pad-block-end) - var(--content-border));
310
+ padding-inline: calc(var(--content-pad-inline-start) - var(--content-border)) calc(var(--content-pad-inline-end) - var(--content-border));
311
+ }
312
+
313
+ .dialog_footer {
314
+ --space-above: 2rem;
315
+ }
316
+
317
+ @media (prefers-color-scheme: dark) {
318
+ :root {
319
+ --dropdown-bg: var(--bg);
320
+ --dropdown-border: rgb(72, 72, 72);
321
+ --dropdown-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);
322
+ --dropdown-item-active-bg: rgb(63, 63, 63);
323
+ color-scheme: dark;
324
+ }
325
+ }
326
+ .dropdown {
327
+ position: relative;
328
+ outline: none;
329
+ }
330
+ .dropdown:not(.dropdown_expansion) {
331
+ min-inline-size: var(--popout-anchor-inline-size);
332
+ }
333
+
334
+ .dropdown_scroll_area {
335
+ background-color: var(--dropdown-bg);
336
+ box-shadow: var(--dropdown-shadow);
337
+ border-radius: var(--control-radius);
338
+ max-block-size: var(--popout-max-block-size);
339
+ max-inline-size: var(--popout-max-inline-size);
340
+ overflow: auto;
341
+ }
342
+
343
+ .dropdown_content {
344
+ display: flex;
345
+ flex-direction: column;
346
+ border-radius: var(--control-radius);
347
+ border: var(--content-border) solid var(--dropdown-border);
348
+ }
349
+
350
+ .dropdown_item {
351
+ cursor: pointer;
352
+ padding-block: calc(var(--control-pad-block-start) - var(--control-border)) calc(var(--control-pad-block-end) - var(--control-border));
353
+ padding-inline: calc(var(--control-pad-inline-start) - var(--control-border)) calc(var(--control-pad-inline-end) - var(--control-border));
354
+ }
355
+ .dropdown_item.dropdown_item_active {
356
+ background-color: var(--dropdown-item-active-bg);
357
+ }
358
+
359
+ .flex_space {
360
+ flex-basis: 0;
361
+ pointer-events: none;
362
+ --space-scale: 0;
363
+ }
364
+
365
+ .heading {
366
+ line-height: calc(1em + var(--line-gap));
367
+ margin-block: 0;
368
+ }
369
+ .heading::before, .heading::after {
370
+ content: "";
371
+ display: block;
372
+ pointer-events: none;
373
+ margin-block-start: calc(var(--line-gap) / -2);
374
+ }
375
+
376
+ h1.heading {
377
+ font-size: 2.4rem;
378
+ font-weight: 600;
379
+ --space-above: 5rem;
380
+ }
381
+
382
+ h2.heading {
383
+ font-size: 1.8rem;
384
+ font-weight: 600;
385
+ --space-above: 3.2rem;
386
+ }
387
+
388
+ h3.heading {
389
+ font-size: 1.5rem;
390
+ font-weight: 600;
391
+ --space-above: 2.4rem;
392
+ }
393
+
394
+ h4.heading,
395
+ h5.heading,
396
+ h6.heading {
397
+ font-size: 1.2rem;
398
+ font-weight: 600;
399
+ --space-above: 2rem;
400
+ }
401
+
402
+ @media (prefers-color-scheme: dark) {
403
+ :root {
404
+ --label-fg: rgb(200, 200, 200);
405
+ color-scheme: dark;
406
+ }
407
+ }
408
+ .label {
409
+ --space-below: var(--control-row-gap);
410
+ line-height: calc(1em + var(--line-gap));
411
+ color: var(--label-fg);
412
+ font-size: 0.87rem;
413
+ font-weight: 600;
414
+ }
415
+ .label::before, .label::after {
416
+ content: "";
417
+ display: block;
418
+ pointer-events: none;
419
+ margin-block-start: calc(var(--line-gap) / -2);
420
+ }
421
+
422
+ @media (prefers-color-scheme: dark) {
423
+ :root {
424
+ --link-fg: rgb(64, 160, 255);
425
+ color-scheme: dark;
426
+ }
427
+ }
428
+ .link {
429
+ --space-below: var(--control-row-gap);
430
+ line-height: calc(1em + var(--line-gap));
431
+ color: var(--link-fg);
432
+ font-weight: 600;
433
+ text-decoration: none;
434
+ cursor: pointer;
435
+ }
436
+ .link:focus {
437
+ outline: none;
438
+ }
439
+ .link:focus-visible {
440
+ text-decoration: underline;
441
+ }
442
+
443
+ .page {
444
+ margin: 2rem;
445
+ display: flex;
446
+ justify-content: center;
447
+ }
448
+
449
+ .page_scrollbar_comp {
450
+ flex-grow: 1;
451
+ flex-basis: 0;
452
+ max-inline-size: var(--scrollbar-comp, 0);
453
+ }
454
+
455
+ .page_content_col {
456
+ flex-grow: 1;
457
+ max-inline-size: var(--page-inline-size);
458
+ flex-basis: calc(var(--page-inline-size) - var(--scrollbar-comp, 0));
459
+ }
460
+
461
+ .page_content {
462
+ --scrollbar-size: 0rem;
463
+ }
464
+
465
+ @media (prefers-color-scheme: dark) {
466
+ :root {
467
+ --popover-bg: var(--bg);
468
+ --popover-border: rgb(72, 72, 72);
469
+ --popover-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);
470
+ color-scheme: dark;
471
+ }
472
+ }
473
+ .popover {
474
+ position: relative;
475
+ outline: none;
476
+ }
477
+
478
+ .popover_spike_area {
479
+ pointer-events: none;
480
+ position: absolute;
481
+ inset: -1rem;
482
+ z-index: 1;
483
+ }
484
+
485
+ .popover_spike {
486
+ position: relative;
487
+ transform-origin: bottom;
488
+ width: 2rem;
489
+ height: 1rem;
490
+ --popover-spike-min-offset: 1rem;
491
+ }
492
+ .popover_spike svg {
493
+ width: 2rem;
494
+ height: 1rem;
495
+ fill: var(--popover-border);
496
+ transform-origin: bottom;
497
+ transform: scale(0.75);
498
+ stroke: none;
499
+ }
500
+
501
+ .popover_scroll_area {
502
+ background-color: var(--popover-bg);
503
+ box-shadow: var(--popover-shadow);
504
+ border-radius: var(--content-radius);
505
+ max-block-size: var(--popout-max-block-size);
506
+ max-inline-size: var(--popout-max-inline-size);
507
+ overflow: auto;
508
+ }
509
+
510
+ .popover_content {
511
+ border-radius: var(--content-radius);
512
+ border: var(--content-border) solid var(--popover-border);
513
+ padding-block: calc(var(--content-pad-block-start) - var(--content-border)) calc(var(--content-pad-block-end) - var(--content-border));
514
+ padding-inline: calc(var(--content-pad-inline-start) - var(--content-border)) calc(var(--content-pad-inline-end) - var(--content-border));
515
+ }
516
+
517
+ .radio_buttons {
518
+ display: flex;
519
+ flex-direction: column;
520
+ row-gap: var(--control-row-gap);
521
+ }
522
+ .radio_buttons:has(.radio_button_input:focus-visible) {
523
+ outline: var(--focus-outline);
524
+ outline-offset: var(--focus-outline-offset);
525
+ }
526
+
527
+ .radio_button_label {
528
+ display: flex;
529
+ column-gap: var(--control-column-gap);
530
+ align-items: start;
531
+ }
532
+ .radio_button_label:has(.radio_button_input:not(:disabled)) {
533
+ cursor: pointer;
534
+ }
535
+ .radio_button_label:has(.radio_button_input:disabled) > .radio_button_content {
536
+ filter: var(--control-disabled);
537
+ }
538
+
539
+ .radio_button_input {
540
+ margin: 0;
541
+ outline: none;
542
+ cursor: inherit;
543
+ }
544
+
545
+ .row {
546
+ display: flex;
547
+ flex-direction: row;
548
+ flex-wrap: wrap;
549
+ }
550
+
551
+ .row_content {
552
+ column-gap: var(--content-column-gap);
553
+ row-gap: var(--content-row-gap);
554
+ }
555
+ .row_content > * {
556
+ --parent-column-gap: var(--content-column-gap);
557
+ --parent-row-gap: var(--content-row-gap);
558
+ }
559
+
560
+ .row_control {
561
+ column-gap: var(--control-column-gap);
562
+ row-gap: var(--control-row-gap);
563
+ }
564
+ .row_control > * {
565
+ --parent-column-gap: var(--control-column-gap);
566
+ --parent-row-gap: var(--control-row-gap);
567
+ }
568
+
569
+ @media (prefers-color-scheme: dark) {
570
+ :root {
571
+ --scroll-view-indicator-size: 1.5rem;
572
+ --scroll-view-indicator-color: rgba(0, 0, 0, 0.7);
573
+ color-scheme: dark;
574
+ }
575
+ }
576
+ .scroll_view {
577
+ flex-grow: 1;
578
+ position: relative;
579
+ overflow: hidden;
580
+ }
581
+
582
+ .scroll_view_area {
583
+ position: absolute;
584
+ inset: 0;
585
+ }
586
+
587
+ .scroll_view_content {
588
+ inline-size: 100%;
589
+ min-block-size: 100%;
590
+ display: flex;
591
+ flex-direction: column;
592
+ }
593
+
594
+ .scroll_view_indicator_start,
595
+ .scroll_view_indicator_end {
596
+ position: absolute;
597
+ inset-inline: 0;
598
+ block-size: var(--scroll-view-indicator-size);
599
+ box-shadow: 0 0 var(--scroll-view-indicator-size) var(--scroll-view-indicator-color);
600
+ pointer-events: none;
601
+ opacity: 0;
602
+ transition: opacity var(--layout-transition);
603
+ }
604
+
605
+ .scroll_view_indicator_start {
606
+ inset-block-end: 100%;
607
+ }
608
+
609
+ .scroll_view_indicator_end {
610
+ inset-block-start: 100%;
611
+ }
612
+
613
+ .scroll_view_indicator_visible {
614
+ opacity: 1;
615
+ }
616
+
617
+ @media (prefers-color-scheme: dark) {
618
+ :root {
619
+ --text-input-bg: rgb(16, 16, 16);
620
+ --text-input-fg: white;
621
+ --text-input-border: rgb(80, 80, 80);
622
+ --text-input-border-lit: rgb(0, 128, 255);
623
+ color-scheme: dark;
624
+ }
625
+ }
626
+ .text_input {
627
+ font-family: inherit;
628
+ font-size: inherit;
629
+ font-weight: inherit;
630
+ cursor: text;
631
+ outline: none;
632
+ padding-block: var(--control-pad-block-start) var(--control-pad-block-end);
633
+ padding-inline: var(--control-pad-inline-start) var(--control-pad-inline-end);
634
+ border: var(--control-border) solid var(--text-input-border);
635
+ border-radius: var(--control-radius);
636
+ background-color: var(--text-input-bg);
637
+ color: var(--text-input-fg);
638
+ }
639
+ .text_input:focus {
640
+ border-color: var(--text-input-border-lit);
641
+ }
642
+ .text_input[disabled] {
643
+ filter: var(--control-disabled);
644
+ cursor: default;
645
+ }
646
+
647
+ input.text_input {
648
+ block-size: calc(var(--control-pad-block-start) + 1em + var(--control-pad-block-end));
649
+ }
650
+
651
+ .text {
652
+ line-height: calc(1em + var(--line-gap));
653
+ }
654
+ .text::before, .text::after {
655
+ content: "";
656
+ display: block;
657
+ pointer-events: none;
658
+ margin-block-start: calc(var(--line-gap) / -2);
659
+ }
660
+
661
+ @media (prefers-color-scheme: dark) {
662
+ :root {
663
+ --validation-message-fg: rgb(255, 84, 127);
664
+ color-scheme: dark;
665
+ }
666
+ }
667
+ .validation_message {
668
+ color: var(--validation-message-fg);
669
+ }
670
+
671
+ .validation_message_container {
672
+ --space-above: 0.5rem;
673
+ }
674
+
675
+ .value {
676
+ font-weight: 600;
677
+ }
678
+
679
+ /*# sourceMappingURL=theme.module.css.map */