@rvx/ui 0.1.26 → 0.1.28
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/dist/common/theme.d.ts +5 -2
- package/dist/common/theme.d.ts.map +1 -1
- package/dist/components/card.js +1 -1
- package/dist/components/card.js.map +1 -1
- package/dist/components/column.d.ts +1 -1
- package/dist/components/column.d.ts.map +1 -1
- package/dist/components/dialog.d.ts +2 -3
- package/dist/components/dialog.d.ts.map +1 -1
- package/dist/components/dialog.js +8 -13
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/popover.d.ts +2 -0
- package/dist/components/popover.d.ts.map +1 -1
- package/dist/components/popover.js +2 -0
- package/dist/components/popover.js.map +1 -1
- package/dist/components/row.d.ts +2 -0
- package/dist/components/row.d.ts.map +1 -1
- package/dist/components/row.js +3 -2
- package/dist/components/row.js.map +1 -1
- package/dist/components/scroll-view.d.ts.map +1 -1
- package/dist/components/scroll-view.js +6 -4
- package/dist/components/scroll-view.js.map +1 -1
- package/dist/components/separated.d.ts +9 -0
- package/dist/components/separated.d.ts.map +1 -0
- package/dist/components/separated.js +11 -0
- package/dist/components/separated.js.map +1 -0
- package/dist/components/tabs.d.ts +25 -1
- package/dist/components/tabs.d.ts.map +1 -1
- package/dist/components/tabs.js +32 -16
- package/dist/components/tabs.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/theme.module.css +91 -46
- package/dist/theme.module.css.map +1 -1
- package/package.json +1 -1
- package/src/common/theme.tsx +6 -2
- package/src/components/card.tsx +1 -1
- package/src/components/column.tsx +1 -1
- package/src/components/dialog.tsx +24 -34
- package/src/components/popover.tsx +5 -0
- package/src/components/row.tsx +5 -1
- package/src/components/scroll-view.tsx +7 -4
- package/src/components/separated.tsx +22 -0
- package/src/components/tabs.tsx +76 -41
- package/src/index.tsx +1 -0
- package/src/theme/base.scss +5 -5
- package/src/theme/common.scss +7 -16
- package/src/theme/components/button.scss +1 -1
- package/src/theme/components/card.scss +1 -1
- package/src/theme/components/checkbox.scss +2 -2
- package/src/theme/components/column.scss +1 -1
- package/src/theme/components/dialog.scss +1 -2
- package/src/theme/components/dropdown.scss +2 -1
- package/src/theme/components/nav-list.scss +2 -2
- package/src/theme/components/notifications.scss +1 -1
- package/src/theme/components/popover.scss +4 -1
- package/src/theme/components/radio-buttons.scss +2 -2
- package/src/theme/components/row.scss +5 -0
- package/src/theme/components/separated.scss +24 -0
- package/src/theme/components/tabs.scss +17 -5
- package/src/theme/components/text-input.scss +1 -1
- package/src/theme/theme.scss +1 -0
package/dist/theme.module.css
CHANGED
|
@@ -11,26 +11,26 @@
|
|
|
11
11
|
--content-row-gap: 1.7142857143rem;
|
|
12
12
|
--content-radius: 0.5714285714rem;
|
|
13
13
|
--content-border: 0.1428571429rem;
|
|
14
|
-
--content-pad-block-start: 1.
|
|
15
|
-
--content-pad-inline-start: 1.
|
|
16
|
-
--content-pad-block-end: 1.
|
|
17
|
-
--content-pad-inline-end: 1.
|
|
14
|
+
--content-pad-block-start: 1.1428571429rem;
|
|
15
|
+
--content-pad-inline-start: 1.1428571429rem;
|
|
16
|
+
--content-pad-block-end: 1.1428571429rem;
|
|
17
|
+
--content-pad-inline-end: 1.1428571429rem;
|
|
18
18
|
--group-column-gap: 1.1428571429rem;
|
|
19
19
|
--group-row-gap: 1.1428571429rem;
|
|
20
|
-
--group-pad-block-start: 1.
|
|
21
|
-
--group-pad-inline-start: 1.
|
|
22
|
-
--group-pad-block-end: 1.
|
|
23
|
-
--group-pad-inline-end: 1.
|
|
20
|
+
--group-pad-block-start: 1.1428571429rem;
|
|
21
|
+
--group-pad-inline-start: 1.1428571429rem;
|
|
22
|
+
--group-pad-block-end: 1.1428571429rem;
|
|
23
|
+
--group-pad-inline-end: 1.1428571429rem;
|
|
24
24
|
--control-column-gap: 0.5714285714rem;
|
|
25
25
|
--control-row-gap: 0.5714285714rem;
|
|
26
26
|
--control-radius: 0.3571428571rem;
|
|
27
27
|
--control-border: 0.1428571429rem;
|
|
28
28
|
--control-disabled: opacity(.5);
|
|
29
|
-
--control-pad-block-start: 0.
|
|
30
|
-
--control-pad-inline-start: 0.
|
|
31
|
-
--control-pad-block-end: 0.
|
|
32
|
-
--control-pad-inline-end: 0.
|
|
33
|
-
--input-
|
|
29
|
+
--control-pad-block-start: 0.5rem;
|
|
30
|
+
--control-pad-inline-start: 0.5714285714rem;
|
|
31
|
+
--control-pad-block-end: 0.5rem;
|
|
32
|
+
--control-pad-inline-end: 0.5714285714rem;
|
|
33
|
+
--input-extension: 0.2857142857rem;
|
|
34
34
|
--separator: 0.0714285714rem;
|
|
35
35
|
--focus-outline-offset: 0.1428571429rem;
|
|
36
36
|
--overflow-safe-area: 0.2857142857rem;
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
--accent: rgb(64, 160, 255);
|
|
64
64
|
--fg: white;
|
|
65
65
|
--focus-outline: var(--control-border) dashed var(--accent);
|
|
66
|
-
--separator-color: rgb(
|
|
66
|
+
--separator-color: rgb(42, 42, 42);
|
|
67
67
|
--selection-bg: rgba(64, 160, 255, 0.5);
|
|
68
68
|
--overlay-backdrop: rgba(24, 24, 24, 0.8);
|
|
69
69
|
--overlay-bg: var(--bg);
|
|
@@ -204,8 +204,8 @@ body {
|
|
|
204
204
|
line-height: 1;
|
|
205
205
|
cursor: pointer;
|
|
206
206
|
outline: none;
|
|
207
|
-
padding-block:
|
|
208
|
-
padding-inline:
|
|
207
|
+
padding-block: var(--control-pad-block-start) var(--control-pad-block-end);
|
|
208
|
+
padding-inline: var(--control-pad-inline-start) var(--control-pad-inline-end);
|
|
209
209
|
border-radius: var(--control-radius);
|
|
210
210
|
transition: var(--color-transition) background-color, var(--color-transition) border-color;
|
|
211
211
|
}
|
|
@@ -349,8 +349,8 @@ body {
|
|
|
349
349
|
background-color: var(--bg-alt);
|
|
350
350
|
}
|
|
351
351
|
.card:not(.card_raw) {
|
|
352
|
-
padding-block:
|
|
353
|
-
padding-inline:
|
|
352
|
+
padding-block: var(--content-pad-block-start) var(--content-pad-block-end);
|
|
353
|
+
padding-inline: var(--content-pad-inline-start) var(--content-pad-inline-end);
|
|
354
354
|
}
|
|
355
355
|
|
|
356
356
|
.card_default {
|
|
@@ -390,8 +390,8 @@ body {
|
|
|
390
390
|
}
|
|
391
391
|
|
|
392
392
|
.checkbox_padding {
|
|
393
|
-
padding: var(--input-
|
|
394
|
-
margin: calc(var(--input-
|
|
393
|
+
padding: var(--input-extension);
|
|
394
|
+
margin: calc(var(--input-extension) * -1);
|
|
395
395
|
}
|
|
396
396
|
|
|
397
397
|
.checkbox_input {
|
|
@@ -486,8 +486,8 @@ body {
|
|
|
486
486
|
--parent-row-gap: var(--content-row-gap);
|
|
487
487
|
}
|
|
488
488
|
.column_content.column_padded {
|
|
489
|
-
padding-block:
|
|
490
|
-
padding-inline:
|
|
489
|
+
padding-block: var(--content-pad-block-start) var(--content-pad-block-end);
|
|
490
|
+
padding-inline: var(--content-pad-inline-start) var(--content-pad-inline-end);
|
|
491
491
|
}
|
|
492
492
|
|
|
493
493
|
.column_group {
|
|
@@ -497,8 +497,8 @@ body {
|
|
|
497
497
|
--parent-row-gap: var(--group-row-gap);
|
|
498
498
|
}
|
|
499
499
|
.column_group.column_padded {
|
|
500
|
-
padding-block:
|
|
501
|
-
padding-inline:
|
|
500
|
+
padding-block: var(--group-pad-block-start) var(--group-pad-block-end);
|
|
501
|
+
padding-inline: var(--group-pad-inline-start) var(--group-pad-inline-end);
|
|
502
502
|
}
|
|
503
503
|
|
|
504
504
|
.column_control {
|
|
@@ -508,8 +508,8 @@ body {
|
|
|
508
508
|
--parent-row-gap: var(--control-row-gap);
|
|
509
509
|
}
|
|
510
510
|
.column_control.column_padded {
|
|
511
|
-
padding-block:
|
|
512
|
-
padding-inline:
|
|
511
|
+
padding-block: var(--control-pad-block-start) var(--control-pad-block-end);
|
|
512
|
+
padding-inline: var(--control-pad-inline-start) var(--control-pad-inline-end);
|
|
513
513
|
}
|
|
514
514
|
|
|
515
515
|
.control_group {
|
|
@@ -570,8 +570,6 @@ body {
|
|
|
570
570
|
box-shadow: var(--overlay-shadow);
|
|
571
571
|
border-radius: var(--content-radius);
|
|
572
572
|
border: var(--content-border) solid var(--overlay-border);
|
|
573
|
-
padding-block: calc(var(--content-pad-block-start) - var(--content-border)) calc(var(--content-pad-block-end) - var(--content-border));
|
|
574
|
-
padding-inline: calc(var(--content-pad-inline-start) - var(--content-border)) calc(var(--content-pad-inline-end) - var(--content-border));
|
|
575
573
|
}
|
|
576
574
|
|
|
577
575
|
.dialog_scroll_view {
|
|
@@ -582,8 +580,8 @@ body {
|
|
|
582
580
|
}
|
|
583
581
|
|
|
584
582
|
.dialog_scroll_view_content {
|
|
585
|
-
padding-block:
|
|
586
|
-
padding-inline:
|
|
583
|
+
padding-block: var(--content-pad-block-start) var(--content-pad-block-end);
|
|
584
|
+
padding-inline: var(--content-pad-inline-start) var(--content-pad-inline-end);
|
|
587
585
|
}
|
|
588
586
|
|
|
589
587
|
:root {
|
|
@@ -621,8 +619,9 @@ body {
|
|
|
621
619
|
|
|
622
620
|
.dropdown_item {
|
|
623
621
|
cursor: pointer;
|
|
624
|
-
padding-block:
|
|
625
|
-
padding-inline:
|
|
622
|
+
padding-block: var(--control-pad-block-start) var(--control-pad-block-end);
|
|
623
|
+
padding-inline: var(--control-pad-inline-start) var(--control-pad-inline-end);
|
|
624
|
+
border: transparent solid var(--control-border);
|
|
626
625
|
}
|
|
627
626
|
.dropdown_item.dropdown_item_active {
|
|
628
627
|
background-color: var(--dropdown-item-active-bg);
|
|
@@ -750,11 +749,11 @@ h6.heading {
|
|
|
750
749
|
background-color: var(--nav-list-item-bg);
|
|
751
750
|
color: var(--nav-list-item-fg);
|
|
752
751
|
border: var(--nav-list-item-border) solid var(--control-border);
|
|
752
|
+
border-radius: var(--control-radius);
|
|
753
753
|
cursor: pointer;
|
|
754
754
|
outline: none;
|
|
755
|
-
padding-block:
|
|
756
|
-
padding-inline:
|
|
757
|
-
border-radius: var(--control-radius);
|
|
755
|
+
padding-block: var(--control-pad-block-start) var(--control-pad-block-end);
|
|
756
|
+
padding-inline: var(--control-pad-inline-start) var(--control-pad-inline-end);
|
|
758
757
|
transition: var(--color-transition) background-color, var(--color-transition) border-color;
|
|
759
758
|
}
|
|
760
759
|
.nav_list_item[disabled] {
|
|
@@ -818,8 +817,8 @@ h6.heading {
|
|
|
818
817
|
background-color: var(--bg);
|
|
819
818
|
}
|
|
820
819
|
.notification:not(.notification_raw) {
|
|
821
|
-
padding-block:
|
|
822
|
-
padding-inline:
|
|
820
|
+
padding-block: var(--content-pad-block-start) var(--content-pad-block-end);
|
|
821
|
+
padding-inline: var(--content-pad-inline-start) var(--content-pad-inline-end);
|
|
823
822
|
}
|
|
824
823
|
|
|
825
824
|
.notification_default {
|
|
@@ -918,8 +917,10 @@ h6.heading {
|
|
|
918
917
|
.popover_content {
|
|
919
918
|
border-radius: var(--content-radius);
|
|
920
919
|
border: var(--content-border) solid var(--overlay-border);
|
|
921
|
-
|
|
922
|
-
|
|
920
|
+
}
|
|
921
|
+
.popover_content:not(.popover_raw) {
|
|
922
|
+
padding-block: var(--content-pad-block-start) var(--content-pad-block-end);
|
|
923
|
+
padding-inline: var(--content-pad-inline-start) var(--content-pad-inline-end);
|
|
923
924
|
}
|
|
924
925
|
|
|
925
926
|
.radio_buttons {
|
|
@@ -945,8 +946,8 @@ h6.heading {
|
|
|
945
946
|
}
|
|
946
947
|
|
|
947
948
|
.radio_button_padding {
|
|
948
|
-
padding: var(--input-
|
|
949
|
-
margin: calc(var(--input-
|
|
949
|
+
padding: var(--input-extension);
|
|
950
|
+
margin: calc(var(--input-extension) * -1);
|
|
950
951
|
}
|
|
951
952
|
|
|
952
953
|
.radio_button_input {
|
|
@@ -969,6 +970,10 @@ h6.heading {
|
|
|
969
970
|
--parent-column-gap: var(--content-column-gap);
|
|
970
971
|
--parent-row-gap: var(--content-row-gap);
|
|
971
972
|
}
|
|
973
|
+
.row_content.row_padded {
|
|
974
|
+
padding-block: var(--content-pad-block-start) var(--content-pad-block-end);
|
|
975
|
+
padding-inline: var(--content-pad-inline-start) var(--content-pad-inline-end);
|
|
976
|
+
}
|
|
972
977
|
|
|
973
978
|
.row_group {
|
|
974
979
|
column-gap: var(--group-column-gap);
|
|
@@ -978,6 +983,10 @@ h6.heading {
|
|
|
978
983
|
--parent-column-gap: var(--group-column-gap);
|
|
979
984
|
--parent-row-gap: var(--group-row-gap);
|
|
980
985
|
}
|
|
986
|
+
.row_group.row_padded {
|
|
987
|
+
padding-block: var(--group-pad-block-start) var(--group-pad-block-end);
|
|
988
|
+
padding-inline: var(--group-pad-inline-start) var(--group-pad-inline-end);
|
|
989
|
+
}
|
|
981
990
|
|
|
982
991
|
.row_control {
|
|
983
992
|
column-gap: var(--control-column-gap);
|
|
@@ -987,6 +996,10 @@ h6.heading {
|
|
|
987
996
|
--parent-column-gap: var(--control-column-gap);
|
|
988
997
|
--parent-row-gap: var(--control-row-gap);
|
|
989
998
|
}
|
|
999
|
+
.row_control.row_padded {
|
|
1000
|
+
padding-block: var(--control-pad-block-start) var(--control-pad-block-end);
|
|
1001
|
+
padding-inline: var(--control-pad-inline-start) var(--control-pad-inline-end);
|
|
1002
|
+
}
|
|
990
1003
|
|
|
991
1004
|
:root {
|
|
992
1005
|
--scroll-view-indicator-size: 2rem;
|
|
@@ -1045,6 +1058,28 @@ h6.heading {
|
|
|
1045
1058
|
opacity: 1;
|
|
1046
1059
|
}
|
|
1047
1060
|
|
|
1061
|
+
.separated_column {
|
|
1062
|
+
display: flex;
|
|
1063
|
+
flex-direction: column;
|
|
1064
|
+
}
|
|
1065
|
+
.separated_column > * {
|
|
1066
|
+
overflow: hidden;
|
|
1067
|
+
}
|
|
1068
|
+
.separated_column > :not(.has_separator) + :not(.has_separator) {
|
|
1069
|
+
border-block-start: calc(var(--separator) * var(--space-scale)) solid var(--separator-color);
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1072
|
+
.separated_row {
|
|
1073
|
+
display: flex;
|
|
1074
|
+
flex-direction: row;
|
|
1075
|
+
}
|
|
1076
|
+
.separated_row > * {
|
|
1077
|
+
overflow: hidden;
|
|
1078
|
+
}
|
|
1079
|
+
.separated_row > :not(.has_separator) + :not(.has_separator) {
|
|
1080
|
+
border-inline-start: calc(var(--separator) * var(--space-scale)) solid var(--separator-color);
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1048
1083
|
.slider_host {
|
|
1049
1084
|
display: flex;
|
|
1050
1085
|
flex-direction: column;
|
|
@@ -1083,6 +1118,10 @@ h6.heading {
|
|
|
1083
1118
|
border-bottom: var(--separator) solid var(--separator-color);
|
|
1084
1119
|
}
|
|
1085
1120
|
|
|
1121
|
+
.tab_list_padded {
|
|
1122
|
+
padding-inline: calc(var(--content-pad-inline-start) - var(--control-pad-inline-start)) calc(var(--content-pad-inline-end) - var(--control-pad-inline-end));
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1086
1125
|
.tab_handle {
|
|
1087
1126
|
font-family: inherit;
|
|
1088
1127
|
font-size: inherit;
|
|
@@ -1090,8 +1129,8 @@ h6.heading {
|
|
|
1090
1129
|
line-height: 1;
|
|
1091
1130
|
cursor: pointer;
|
|
1092
1131
|
outline: none;
|
|
1093
|
-
padding-block: var(--control-pad-block-start)
|
|
1094
|
-
padding-inline: var(--control-pad-inline-start) var(--control-pad-inline-end);
|
|
1132
|
+
padding-block: calc(var(--control-pad-block-start) + var(--control-border)) var(--control-pad-block-end);
|
|
1133
|
+
padding-inline: calc(var(--control-pad-inline-start) + var(--control-border)) calc(var(--control-pad-inline-end) + var(--control-border));
|
|
1095
1134
|
background-color: transparent;
|
|
1096
1135
|
color: var(--tab-handle-fg);
|
|
1097
1136
|
border: none;
|
|
@@ -1112,9 +1151,15 @@ h6.heading {
|
|
|
1112
1151
|
color: var(--tab-handle-fg-current);
|
|
1113
1152
|
}
|
|
1114
1153
|
|
|
1154
|
+
.tab_panel {
|
|
1155
|
+
flex-grow: 1;
|
|
1156
|
+
display: flex;
|
|
1157
|
+
flex-direction: column;
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1115
1160
|
.tab_panel_padded {
|
|
1116
|
-
padding-block:
|
|
1117
|
-
padding-inline:
|
|
1161
|
+
padding-block: var(--content-pad-block-start) var(--content-pad-block-end);
|
|
1162
|
+
padding-inline: var(--content-pad-inline-start) var(--content-pad-inline-end);
|
|
1118
1163
|
}
|
|
1119
1164
|
|
|
1120
1165
|
:root {
|
|
@@ -1156,7 +1201,7 @@ h6.heading {
|
|
|
1156
1201
|
}
|
|
1157
1202
|
|
|
1158
1203
|
input.text_input {
|
|
1159
|
-
block-size: calc(var(--control-pad-block-start) + 1em + var(--control-pad-block-end));
|
|
1204
|
+
block-size: calc(var(--control-pad-block-start) + 1em + var(--control-pad-block-end) + var(--control-border) * 2);
|
|
1160
1205
|
}
|
|
1161
1206
|
|
|
1162
1207
|
.text {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../src/theme/base.scss","../src/theme/common.scss","../src/theme/components/breadcrumbs.scss","../src/theme/components/button.scss","../src/theme/components/card.scss","../src/theme/components/checkbox.scss","../src/theme/components/collapse.scss","../src/theme/components/column.scss","../src/theme/components/control-group.scss","../src/theme/components/dialog.scss","../src/theme/components/dropdown.scss","../src/theme/components/flex-space.scss","../src/theme/components/heading.scss","../src/theme/components/label.scss","../src/theme/components/link.scss","../src/theme/components/nav-list.scss","../src/theme/components/notifications.scss","../src/theme/components/page.scss","../src/theme/components/popover.scss","../src/theme/components/radio-buttons.scss","../src/theme/components/row.scss","../src/theme/components/scroll-view.scss","../src/theme/components/slider.scss","../src/theme/components/tabs.scss","../src/theme/components/text-input.scss","../src/theme/components/text.scss","../src/theme/components/validation.scss","../src/theme/components/value.scss"],"names":[],"mappings":"AASA;EACC;EACA;EACA;EAEA;ECcA;EACA;EACA;EACA;EDbA;EACA;EACA;EACA;ECOA;EACA;EACA;EACA;EDPA;EACA;ECGA;EACA;EACA;EACA;EDHA;EACA;EACA;EACA;EACA;ECJA;EACA;EACA;EACA;EDIA;EAEA;EAEA;EAEA;EAEA;EACA;EAEA;EACA;EAEA;;;ACtCA;EANE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;AAQD;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;AD4FH;EACC;EACA;EAEA;;AACA;EALD;IAME;;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;AClHA;EANE;;AAQD;EAFD;IANE;IAUA;;;ACNH;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;ADzBA;EANE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;AAQD;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;AE2GH;EACC;EACA;EACA;EACA;EAEA;EAEA;
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../src/theme/base.scss","../src/theme/common.scss","../src/theme/components/breadcrumbs.scss","../src/theme/components/button.scss","../src/theme/components/card.scss","../src/theme/components/checkbox.scss","../src/theme/components/collapse.scss","../src/theme/components/column.scss","../src/theme/components/control-group.scss","../src/theme/components/dialog.scss","../src/theme/components/dropdown.scss","../src/theme/components/flex-space.scss","../src/theme/components/heading.scss","../src/theme/components/label.scss","../src/theme/components/link.scss","../src/theme/components/nav-list.scss","../src/theme/components/notifications.scss","../src/theme/components/page.scss","../src/theme/components/popover.scss","../src/theme/components/radio-buttons.scss","../src/theme/components/row.scss","../src/theme/components/scroll-view.scss","../src/theme/components/separated.scss","../src/theme/components/slider.scss","../src/theme/components/tabs.scss","../src/theme/components/text-input.scss","../src/theme/components/text.scss","../src/theme/components/validation.scss","../src/theme/components/value.scss"],"names":[],"mappings":"AASA;EACC;EACA;EACA;EAEA;ECcA;EACA;EACA;EACA;EDbA;EACA;EACA;EACA;ECOA;EACA;EACA;EACA;EDPA;EACA;ECGA;EACA;EACA;EACA;EDHA;EACA;EACA;EACA;EACA;ECJA;EACA;EACA;EACA;EDIA;EAEA;EAEA;EAEA;EAEA;EACA;EAEA;EACA;EAEA;;;ACtCA;EANE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;AAQD;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;AD4FH;EACC;EACA;EAEA;;AACA;EALD;IAME;;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;AClHA;EANE;;AAQD;EAFD;IANE;IAUA;;;ACNH;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;ADzBA;EANE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;AAQD;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;AE2GH;EACC;EACA;EACA;EACA;EAEA;EAEA;EF/FA,eACC;EAED,gBACC;EE8FD;EACA;;AAGA;EACC;;AAGD;EACC;EACA;;;AAKD;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAdF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;;AAKH;EACC;;;AF7JA;EANE;EAAA;EAAA;EAAA;EAAA;;AAQD;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAUA;;;AGUH;EACC;EACA;EACA;;AAEA;EHKA,eACC;EAED,gBACC;;;AGHD;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;ACpCF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AC3BD;EACC;EACA;EACA;EACA;;;AAGD;EACC,YACC;;;AAKF;EACC;IAAO;;EACP;IAAM;;EACN;IAAM;;EACN;IAAK;;;AAGN;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;;AAEA;EACC,YACC;;AAIF;EACC;EACA;;;AAIF;EACC;EACA;EACA;EACA;;AAEA;EACC,YACC;;AAKF;EACC;EACA;EACA;;;AC9DF;EACC;EACA;;AAEA;EACC;;AAMD;EACC;;AAGD;EACC;;AAMD;EACC;;;AAKD;EACC;;AACA;EACC;;AAGD;ENDD,eACC;EAED,gBACC;;;AMTD;EACC;;AACA;EACC;;AAGD;ENDD,eACC;EAED,gBACC;;;AMTD;EACC;;AACA;EACC;;AAGD;ENDD,eACC;EAED,gBACC;;;AOtCF;EACC;EACA;EAEA;;AACA;EACC;;AAGD;EACC;EACA;;AAED;EACC;EACA;;;ACdF;EACC;EACA;EAEA;EAEA;EACA;EACA;EAEA;EAEA;EACA;;;AAGD;EACC;;AACA;EACC;;;AAIF;EACC;EACA;;AACA;EACC;;;AAIF;EACC;IACC;;;AAIF;EACC;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;ERxBC,eACC;EAED,gBACC;;;AA5BD;EANE;;AAQD;EAFD;IANE;IAUA;;;ASNH;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;ETAA,eACC;EAED,gBACC;ESFD;;AAEA;EACC;;;ACvCF;EACC;EACA;EACA;;;ACHD;EACC;EACA;;AAEA;EAEC;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;;;AX1BA;EANE;;AAQD;EAFD;IANE;IAUA;;;AYNH;EACC;EACA;EAEA;EACA;EACA;;AAEA;EAEC;EACA;EACA;EACA;;;ACpBF;EACC;EACA;EAEA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AbLD;EANE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;AAQD;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;Ac0BH;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EAEA;Ed3BA,eACC;EAED,gBACC;Ec0BD;;AAGA;EACC;EACA;;AAGD;EAEC;EACA;;AAGD;EACC;EACA;;;AAIF;EACC;EACA;EACA;EACA;;;Ad9EA;EANE;EAAA;EAAA;EAAA;EAAA;;AAQD;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAUA;;;AeWH;EACC;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;;AAEA;EfhBA,eACC;EAED,gBACC;;;AekBD;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;AADD;EACC;;;ACzDF;EACC,eACC;EAED,gBACC;EAGD;EACA;EACA;;;AAGD;EACC;;AAEA;EACC;EACA;;AAEA;EACC;;;AAKH;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;ACvCD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EAEA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;;AAEA;EjBVA,eACC;EAED,gBACC;;;AkBtCF;EACC;EACA;EACA;;AAEA;EACC;EACA;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AChCD;EACC;EACA;EACA;;;AAIA;EACC;EACA;;AACA;EACC;EACA;;AAGD;EnBkBD,eACC;EAED,gBACC;;;AmB9BD;EACC;EACA;;AACA;EACC;EACA;;AAGD;EnBkBD,eACC;EAED,gBACC;;;AmB9BD;EACC;EACA;;AACA;EACC;EACA;;AAGD;EnBkBD,eACC;EAED,gBACC;;;AA5BD;EANE;EAAA;;AAQD;EAFD;IANE;IAAA;IAUA;;;AoBFH;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;ACvDD;EACC;EACA;;AAEA;EACC;;AAED;EACC;;;AAIF;EACC;EACA;;AAEA;EACC;;AAED;EACC;;;ACpBF;EACC;EACA;EACA;;AAEA;EACC;EACA;;AAEA;EACC;;;AtBAF;EANE;EAAA;EAAA;EAAA;EAAA;EAAA;;AAQD;EAFD;IANE;IAAA;IAAA;IAAA;IAAA;IAAA;IAUA;;;AuBcH;EACC;EACA;EACA;;;AAGD;EACC,gBACC;;;AAIF;EACC;EACA;EACA;EACA;EAEA;EACA;EAEA,eACC;EAED,gBACC;EAGD;EACA;EACA;EACA;EAEA;EACA;;AAGA;EAEC;EACA;;AAED;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EvBpDC,eACC;EAED,gBACC;;;AA5BD;EANE;EAAA;EAAA;EAAA;;AAQD;EAFD;IANE;IAAA;IAAA;IAAA;IAUA;;;AwBMH;EACC;EACA;EACA;EAEA;EAEA;ExBOA,eACC;EAED,gBACC;EwBTD;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;;;AC/CD;EACC;;AAEA;EAEC;EACA;EACA;EACA;;;AzBED;EANE;;AAQD;EAFD;IANE;IAUA;;;A0BNH;EACC;;;AAGD;EACC;;;ACbD;EACC","file":"theme.module.css"}
|
package/package.json
CHANGED
package/src/common/theme.tsx
CHANGED
|
@@ -38,7 +38,6 @@ export interface Theme {
|
|
|
38
38
|
|
|
39
39
|
card?: string;
|
|
40
40
|
card_raw?: string;
|
|
41
|
-
card_content?: string;
|
|
42
41
|
card_default?: string;
|
|
43
42
|
card_info?: string;
|
|
44
43
|
card_success?: string;
|
|
@@ -109,6 +108,7 @@ export interface Theme {
|
|
|
109
108
|
page_content?: string;
|
|
110
109
|
|
|
111
110
|
popover?: string;
|
|
111
|
+
popover_raw?: string;
|
|
112
112
|
popover_spike_area?: string;
|
|
113
113
|
popover_scroll_area?: string;
|
|
114
114
|
popover_spike?: string;
|
|
@@ -121,6 +121,7 @@ export interface Theme {
|
|
|
121
121
|
radio_button_content?: string;
|
|
122
122
|
|
|
123
123
|
row?: string;
|
|
124
|
+
row_padded?: string;
|
|
124
125
|
row_content?: string;
|
|
125
126
|
row_group?: string;
|
|
126
127
|
row_control?: string;
|
|
@@ -132,6 +133,10 @@ export interface Theme {
|
|
|
132
133
|
scroll_view_indicator_end?: string;
|
|
133
134
|
scroll_view_indicator_visible?: string;
|
|
134
135
|
|
|
136
|
+
separated_column?: string;
|
|
137
|
+
separated_row?: string;
|
|
138
|
+
has_separator?: string;
|
|
139
|
+
|
|
135
140
|
slider_host?: string;
|
|
136
141
|
|
|
137
142
|
tab_handle?: string;
|
|
@@ -139,7 +144,6 @@ export interface Theme {
|
|
|
139
144
|
tab_list?: string;
|
|
140
145
|
tab_list_padded?: string;
|
|
141
146
|
tab_panel?: string;
|
|
142
|
-
tab_panel_padded?: string;
|
|
143
147
|
|
|
144
148
|
text_input?: string;
|
|
145
149
|
|
package/src/components/card.tsx
CHANGED
|
@@ -7,11 +7,11 @@ import { SizeContext } from "../common/types.js";
|
|
|
7
7
|
*/
|
|
8
8
|
export function Column(props: {
|
|
9
9
|
size?: Expression<SizeContext | undefined>;
|
|
10
|
+
padded?: Expression<boolean | undefined>;
|
|
10
11
|
class?: ClassValue;
|
|
11
12
|
style?: StyleValue;
|
|
12
13
|
id?: Expression<string | undefined>;
|
|
13
14
|
children?: unknown;
|
|
14
|
-
padded?: boolean;
|
|
15
15
|
}): unknown {
|
|
16
16
|
const theme = THEME.current;
|
|
17
17
|
return <div
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { $, captureSelf, ClassValue, Context, Emitter, Event, Expression, map, render, StyleValue, teardown, uniqueId } from "rvx";
|
|
2
2
|
import { TASKS, Tasks, useMicrotask } from "rvx/async";
|
|
3
|
-
import { FlexSpace, Heading, Row,
|
|
3
|
+
import { Column, FlexSpace, Group, Heading, Row, Separated, Text, THEME } from "../index.js";
|
|
4
4
|
import { LAYER, Layer } from "./layer.js";
|
|
5
5
|
|
|
6
|
-
export class DialogAbortError extends Error {}
|
|
6
|
+
export class DialogAbortError extends Error { }
|
|
7
7
|
|
|
8
8
|
export interface Dialog<T> {
|
|
9
9
|
resolve: (value: T) => void;
|
|
@@ -110,16 +110,10 @@ export function DialogBody(props: {
|
|
|
110
110
|
aria-labelledby={map(props["aria-labelledby"], v => v ?? titleId)}
|
|
111
111
|
aria-describedby={map(props["aria-describedby"], v => v ?? descriptionId)}
|
|
112
112
|
>
|
|
113
|
-
<
|
|
114
|
-
|
|
115
|
-
theme?.column,
|
|
116
|
-
theme?.column_content,
|
|
117
|
-
theme?.dialog_body,
|
|
118
|
-
]}
|
|
119
|
-
>
|
|
120
|
-
{head}
|
|
113
|
+
<Separated class={theme?.dialog_body}>
|
|
114
|
+
{head.length > 0 ? <Group padded>{head}</Group> : undefined}
|
|
121
115
|
{props.children}
|
|
122
|
-
</
|
|
116
|
+
</Separated>
|
|
123
117
|
</div> as HTMLElement;
|
|
124
118
|
|
|
125
119
|
useMicrotask(() => {
|
|
@@ -142,13 +136,8 @@ export function DialogBody(props: {
|
|
|
142
136
|
return body;
|
|
143
137
|
}
|
|
144
138
|
|
|
145
|
-
export function
|
|
146
|
-
|
|
147
|
-
}) {
|
|
148
|
-
const theme = THEME.current;
|
|
149
|
-
return <ScrollView class={theme?.dialog_scroll_view} contentClass={theme?.dialog_scroll_view_content}>
|
|
150
|
-
{props.children}
|
|
151
|
-
</ScrollView>;
|
|
139
|
+
export function DialogContent(props: Omit<Parameters<typeof Column>[0], "padded" | "size">) {
|
|
140
|
+
return Column({ ...props, padded: true });
|
|
152
141
|
}
|
|
153
142
|
|
|
154
143
|
export function DialogFooter(props: {
|
|
@@ -158,21 +147,22 @@ export function DialogFooter(props: {
|
|
|
158
147
|
children?: unknown;
|
|
159
148
|
}): unknown {
|
|
160
149
|
const theme = THEME.current;
|
|
161
|
-
return <
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
150
|
+
return <Group padded>
|
|
151
|
+
<Row
|
|
152
|
+
class={[
|
|
153
|
+
theme?.dialog_footer,
|
|
154
|
+
props.class,
|
|
155
|
+
]}
|
|
156
|
+
style={props.style}
|
|
157
|
+
align="center"
|
|
158
|
+
>
|
|
159
|
+
<Row size="control">
|
|
160
|
+
{props.links}
|
|
161
|
+
</Row>
|
|
162
|
+
<FlexSpace />
|
|
163
|
+
<Row size="control">
|
|
164
|
+
{props.children}
|
|
165
|
+
</Row>
|
|
176
166
|
</Row>
|
|
177
|
-
</
|
|
167
|
+
</Group>
|
|
178
168
|
}
|
|
@@ -67,6 +67,7 @@ export function createPopover(props: {
|
|
|
67
67
|
id?: string;
|
|
68
68
|
class?: ClassValue;
|
|
69
69
|
style?: StyleValue;
|
|
70
|
+
raw?: Expression<boolean | undefined>;
|
|
70
71
|
"aria-label"?: Expression<string | undefined>;
|
|
71
72
|
"aria-labelledby"?: Expression<string | undefined>;
|
|
72
73
|
"aria-describedby"?: Expression<string | undefined>;
|
|
@@ -126,6 +127,7 @@ export function createPopover(props: {
|
|
|
126
127
|
theme?.column,
|
|
127
128
|
theme?.column_content,
|
|
128
129
|
theme?.popover_content,
|
|
130
|
+
map(props.raw, raw => raw ? theme?.popover_raw : undefined),
|
|
129
131
|
]}>
|
|
130
132
|
{props.content({ popout })}
|
|
131
133
|
</div> as HTMLElement;
|
|
@@ -190,6 +192,8 @@ export function Popover(props: {
|
|
|
190
192
|
/** Style for the popover. */
|
|
191
193
|
style?: StyleValue;
|
|
192
194
|
|
|
195
|
+
raw?: Expression<boolean | undefined>;
|
|
196
|
+
|
|
193
197
|
/** The popover content component. */
|
|
194
198
|
children: PopoverContent;
|
|
195
199
|
|
|
@@ -270,6 +274,7 @@ export function Popover(props: {
|
|
|
270
274
|
role: props.role,
|
|
271
275
|
class: props.class,
|
|
272
276
|
style: props.style,
|
|
277
|
+
raw: props.raw,
|
|
273
278
|
|
|
274
279
|
"aria-label": props["aria-label"],
|
|
275
280
|
"aria-labelledby": () => (get(props["aria-label"]) === undefined
|
package/src/components/row.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClassValue, Expression, get, StyleValue } from "rvx";
|
|
1
|
+
import { ClassValue, Expression, get, map, StyleValue } from "rvx";
|
|
2
2
|
import { THEME } from "../common/theme.js";
|
|
3
3
|
import { SizeContext } from "../common/types.js";
|
|
4
4
|
|
|
@@ -6,16 +6,20 @@ export type RowAlignment = "top" | "center" | "bottom";
|
|
|
6
6
|
|
|
7
7
|
export function Row(props: {
|
|
8
8
|
size?: Expression<SizeContext | undefined>;
|
|
9
|
+
padded?: Expression<boolean | undefined>;
|
|
9
10
|
align?: Expression<RowAlignment | undefined>;
|
|
10
11
|
class?: ClassValue;
|
|
11
12
|
style?: StyleValue;
|
|
13
|
+
id?: Expression<string | undefined>;
|
|
12
14
|
children?: unknown;
|
|
13
15
|
}): unknown {
|
|
14
16
|
const theme = THEME.current;
|
|
15
17
|
return <div
|
|
18
|
+
id={props.id}
|
|
16
19
|
class={[
|
|
17
20
|
theme?.row,
|
|
18
21
|
() => theme?.[`row_${get(props.size) ?? "control"}`],
|
|
22
|
+
map(props.padded, padded => padded ? theme?.row_padded : undefined),
|
|
19
23
|
props.class,
|
|
20
24
|
]}
|
|
21
25
|
style={[
|
|
@@ -3,6 +3,8 @@ import { debounceEvent } from "../common/events.js";
|
|
|
3
3
|
import { THEME } from "../common/theme.js";
|
|
4
4
|
import { axisEquals, DOWN, getBlockStart, getSize, RIGHT, UP, WritingMode } from "../common/writing-mode.js";
|
|
5
5
|
|
|
6
|
+
const DEBOUNCE_DELAY = 100;
|
|
7
|
+
|
|
6
8
|
export function ScrollView(props: {
|
|
7
9
|
class?: ClassValue;
|
|
8
10
|
style?: StyleValue;
|
|
@@ -50,7 +52,7 @@ export function ScrollView(props: {
|
|
|
50
52
|
overflow: () => vertical.value ? "hidden auto" : "auto hidden",
|
|
51
53
|
}
|
|
52
54
|
]}
|
|
53
|
-
on:scroll={[debounceEvent(
|
|
55
|
+
on:scroll={[debounceEvent(DEBOUNCE_DELAY, () => updateIndicators()), { passive: true }]}
|
|
54
56
|
tabindex="0"
|
|
55
57
|
>
|
|
56
58
|
{content}
|
|
@@ -79,14 +81,15 @@ export function ScrollView(props: {
|
|
|
79
81
|
]} />
|
|
80
82
|
</div> as HTMLElement;
|
|
81
83
|
|
|
82
|
-
const rootObserver = new ResizeObserver(() => {
|
|
84
|
+
const rootObserver = new ResizeObserver(debounceEvent(DEBOUNCE_DELAY, () => {
|
|
83
85
|
const blockStart = getBlockStart(getComputedStyle(root).writingMode as WritingMode || "horizontal-tb");
|
|
84
86
|
vertical.value ??= axisEquals(blockStart, UP);
|
|
85
87
|
updateIndicators(blockStart);
|
|
86
|
-
});
|
|
88
|
+
}));
|
|
87
89
|
rootObserver.observe(root);
|
|
88
90
|
teardown(() => rootObserver.disconnect());
|
|
89
91
|
|
|
92
|
+
const intersectUpdateIndicators = debounceEvent(DEBOUNCE_DELAY, updateIndicators);
|
|
90
93
|
const contentObserver = new IntersectionObserver(() => {
|
|
91
94
|
const rootRect = root.getBoundingClientRect();
|
|
92
95
|
const contentRect = content.getBoundingClientRect();
|
|
@@ -95,7 +98,7 @@ export function ScrollView(props: {
|
|
|
95
98
|
const dir = isVertical ? RIGHT : UP;
|
|
96
99
|
scrollbarComp.value = Math.max(0, getSize(rootRect, dir) - getSize(contentRect, dir));
|
|
97
100
|
vertical.value ??= isVertical;
|
|
98
|
-
|
|
101
|
+
intersectUpdateIndicators(blockStart);
|
|
99
102
|
}, { root, rootMargin: "0px 0px 0px 0px", threshold: 1 });
|
|
100
103
|
contentObserver.observe(content);
|
|
101
104
|
teardown(() => contentObserver.disconnect());
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ClassValue, Expression, map, StyleValue } from "rvx";
|
|
2
|
+
import { THEME } from "../common/theme.js";
|
|
3
|
+
|
|
4
|
+
export function Separated(props: {
|
|
5
|
+
class?: ClassValue;
|
|
6
|
+
style?: StyleValue;
|
|
7
|
+
id?: Expression<string | undefined>;
|
|
8
|
+
children?: unknown;
|
|
9
|
+
row?: Expression<boolean | undefined>;
|
|
10
|
+
}) {
|
|
11
|
+
const theme = THEME.current;
|
|
12
|
+
return <div
|
|
13
|
+
class={[
|
|
14
|
+
props.class,
|
|
15
|
+
map(props.row, row => row ? theme?.separated_row : theme?.separated_column),
|
|
16
|
+
]}
|
|
17
|
+
style={props.style}
|
|
18
|
+
id={props.id}
|
|
19
|
+
>
|
|
20
|
+
{props.children}
|
|
21
|
+
</div>;
|
|
22
|
+
}
|