@sylwellsoftware/fray 1.1.1 → 1.3.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.
- package/README.md +102 -25
- package/dist/Components/app/app.d.ts +38 -0
- package/dist/Components/app/app.d.ts.map +1 -0
- package/dist/Components/component.d.ts +33 -1
- package/dist/Components/component.d.ts.map +1 -1
- package/dist/Components/data/descriptionList.d.ts.map +1 -1
- package/dist/Components/data/treeview/treeview.d.ts.map +1 -1
- package/dist/Components/dialog/dialog.d.ts.map +1 -1
- package/dist/Components/layout/groupPanel.d.ts.map +1 -1
- package/dist/Components/layout/header.d.ts.map +1 -1
- package/dist/Components/layout/optionGroup.d.ts +23 -0
- package/dist/Components/layout/optionGroup.d.ts.map +1 -0
- package/dist/Components/layout/optionsPanel.d.ts +12 -0
- package/dist/Components/layout/optionsPanel.d.ts.map +1 -0
- package/dist/Components/layout/panel.d.ts.map +1 -1
- package/dist/Components/layout/routedSelection.d.ts +10 -0
- package/dist/Components/layout/routedSelection.d.ts.map +1 -0
- package/dist/Components/layout/sidebar.d.ts.map +1 -1
- package/dist/Components/layout/splitView.d.ts.map +1 -1
- package/dist/Components/layout/tabpanel/tabpanel.d.ts +5 -3
- package/dist/Components/layout/tabpanel/tabpanel.d.ts.map +1 -1
- package/dist/Components/lineinputs/CheckableControl.d.ts.map +1 -1
- package/dist/Components/lineinputs/dropdown.d.ts.map +1 -1
- package/dist/Components/lineinputs/radio.d.ts.map +1 -1
- package/dist/Components/lineinputs/toggle.d.ts.map +1 -1
- package/dist/Components/navigation/navigationBar.d.ts +30 -0
- package/dist/Components/navigation/navigationBar.d.ts.map +1 -0
- package/dist/Components/status/progressBar.d.ts.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1998 -1489
- package/dist/index.js.map +1 -1
- package/dist/{jsx-dev-runtime-8s_xIag_.js → jsx-dev-runtime-o0oiA-6O.js} +13 -2
- package/dist/jsx-dev-runtime-o0oiA-6O.js.map +1 -0
- package/dist/jsx-dev-runtime.js +1 -1
- package/dist/jsx-runtime.js +1 -1
- package/dist/routing/RouteOutlet.d.ts +38 -0
- package/dist/routing/RouteOutlet.d.ts.map +1 -0
- package/dist/styling/theme.d.ts.map +1 -1
- package/package.json +16 -14
- package/styles/structural.css +131 -15
- package/themes/base.css +31 -4
- package/themes/java/theme.css +3 -0
- package/themes/shiny/theme.css +26 -3
- package/dist/jsx-dev-runtime-8s_xIag_.js.map +0 -1
package/styles/structural.css
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
.fray-fill-vertical {
|
|
5
5
|
box-sizing: border-box;
|
|
6
6
|
background: var(--application-background);
|
|
7
|
+
color: var(--ui-color);
|
|
7
8
|
font-family: var(--font-family);
|
|
8
9
|
font-size: var(--font-size);
|
|
9
10
|
line-height: var(--line-height);
|
|
@@ -24,8 +25,18 @@
|
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
.colored {
|
|
27
|
-
|
|
28
|
+
--colored-base-bg:
|
|
29
|
+
linear-gradient(
|
|
30
|
+
15deg,
|
|
31
|
+
var(--c1) 0%,
|
|
32
|
+
var(--c2) 65%,
|
|
33
|
+
var(--c2) 65%,
|
|
34
|
+
var(--c3) 100%
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
background: var(--colored-base-bg);
|
|
28
38
|
box-shadow: var(--colored-shadow);
|
|
39
|
+
border-radius: var(--ui-border-radius);
|
|
29
40
|
}
|
|
30
41
|
|
|
31
42
|
.island {
|
|
@@ -99,6 +110,7 @@ fray-quadcheckbox,
|
|
|
99
110
|
fray-tricheckbox {
|
|
100
111
|
display: inline-flex;
|
|
101
112
|
line-height: 1;
|
|
113
|
+
height: 1.4em;
|
|
102
114
|
}
|
|
103
115
|
|
|
104
116
|
fray-checkbox > label,
|
|
@@ -621,15 +633,24 @@ fray-dialog > dialog {
|
|
|
621
633
|
}
|
|
622
634
|
}
|
|
623
635
|
|
|
636
|
+
fray-app {
|
|
637
|
+
box-sizing: border-box;
|
|
638
|
+
display: block;
|
|
639
|
+
background: var(--application-background);
|
|
640
|
+
color: var(--ui-color);
|
|
641
|
+
font-family: var(--font-family);
|
|
642
|
+
font-size: var(--font-size);
|
|
643
|
+
line-height: var(--line-height);
|
|
644
|
+
}
|
|
645
|
+
|
|
624
646
|
fray-grouppanel {
|
|
625
|
-
display:
|
|
626
|
-
|
|
647
|
+
display: flex;
|
|
648
|
+
flex-flow: row nowrap;
|
|
627
649
|
align-items: stretch;
|
|
628
650
|
box-sizing: border-box;
|
|
629
651
|
min-width: 0;
|
|
630
652
|
min-height: 0;
|
|
631
653
|
column-gap: 0.35rem;
|
|
632
|
-
row-gap: 0;
|
|
633
654
|
padding-block: 0.125rem;
|
|
634
655
|
padding-inline: 0.125rem 0.35rem;
|
|
635
656
|
border: 1px solid var(--ui-border-color);
|
|
@@ -640,29 +661,22 @@ fray-grouppanel {
|
|
|
640
661
|
display: grid;
|
|
641
662
|
place-items: center;
|
|
642
663
|
box-sizing: border-box;
|
|
643
|
-
width:
|
|
664
|
+
width: 1.7em;
|
|
644
665
|
min-width: 0;
|
|
645
666
|
min-height: 0;
|
|
646
667
|
padding: 0.125em;
|
|
647
668
|
border-radius: var(--ui-border-radius);
|
|
648
|
-
}
|
|
649
|
-
|
|
650
|
-
fray-grouppanel > fray-header > h1,
|
|
651
|
-
fray-grouppanel > fray-header > h2,
|
|
652
|
-
fray-grouppanel > fray-header > h3,
|
|
653
|
-
fray-grouppanel > fray-header > h4,
|
|
654
|
-
fray-grouppanel > fray-header > h5,
|
|
655
|
-
fray-grouppanel > fray-header > h6 {
|
|
656
|
-
font-weight: 650;
|
|
657
|
-
white-space: nowrap;
|
|
658
669
|
writing-mode: vertical-rl;
|
|
659
670
|
transform: rotate(180deg);
|
|
671
|
+
font-weight: normal;
|
|
672
|
+
font-size: var(--ui-font-size);
|
|
660
673
|
}
|
|
661
674
|
|
|
662
675
|
fray-grouppanel > fray-content {
|
|
663
676
|
display: block;
|
|
664
677
|
min-width: 0;
|
|
665
678
|
min-height: 0;
|
|
679
|
+
margin-left: .25em;
|
|
666
680
|
}
|
|
667
681
|
|
|
668
682
|
fray-header {
|
|
@@ -738,6 +752,86 @@ fray-listview {
|
|
|
738
752
|
padding: var(--ui-padding);
|
|
739
753
|
}
|
|
740
754
|
|
|
755
|
+
fray-navigationbar {
|
|
756
|
+
display: block;
|
|
757
|
+
flex: 0 0 auto;
|
|
758
|
+
min-width: 0;
|
|
759
|
+
color: var(--navigation-bar-color);
|
|
760
|
+
background: var(--navigation-bar-background);
|
|
761
|
+
border: var(--navigation-bar-border);
|
|
762
|
+
box-shadow: var(--navigation-bar-shadow);
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
fray-navigationbar > nav,
|
|
766
|
+
fray-navigationbar > nav > ul {
|
|
767
|
+
min-width: 0;
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
fray-navigationbar > nav > ul {
|
|
771
|
+
display: flex;
|
|
772
|
+
flex-flow: row wrap;
|
|
773
|
+
gap: var(--navigation-bar-gap);
|
|
774
|
+
|
|
775
|
+
align-items: center;
|
|
776
|
+
justify-content: center;
|
|
777
|
+
margin: 0;
|
|
778
|
+
padding: var(--navigation-bar-padding);
|
|
779
|
+
list-style: none;
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
fray-navigationbar > nav > ul > li {
|
|
783
|
+
display: flex;
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
fray-navigationbar > nav > ul > li > a,
|
|
787
|
+
fray-navigationbar > nav > ul > li > span[aria-disabled="true"] {
|
|
788
|
+
display: inline-flex;
|
|
789
|
+
align-items: center;
|
|
790
|
+
min-height: var(--control-min-height, 2rem);
|
|
791
|
+
padding: var(--navigation-link-padding);
|
|
792
|
+
box-sizing: border-box;
|
|
793
|
+
color: var(--navigation-link-color);
|
|
794
|
+
background: var(--navigation-link-background);
|
|
795
|
+
border: var(--navigation-link-border);
|
|
796
|
+
border-radius: var(--navigation-link-radius);
|
|
797
|
+
box-shadow: var(--navigation-link-shadow);
|
|
798
|
+
font-family: inherit;
|
|
799
|
+
font-size: 1.1rem;
|
|
800
|
+
line-height: calc(var(--ui-font-size) + var(--ui-padding) + var(--ui-padding));
|
|
801
|
+
text-decoration: none;
|
|
802
|
+
white-space: nowrap;
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
fray-navigationbar > nav > ul > li > a:hover {
|
|
806
|
+
color: var(--navigation-link-color-hover);
|
|
807
|
+
background: var(--navigation-link-background-hover);
|
|
808
|
+
}
|
|
809
|
+
|
|
810
|
+
fray-navigationbar > nav > ul > li > a:active {
|
|
811
|
+
color: var(--navigation-link-color-active);
|
|
812
|
+
background: var(--navigation-link-background-active);
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
fray-navigationbar > nav > ul > li > a[aria-current="page"] {
|
|
816
|
+
color: var(--navigation-link-color-current);
|
|
817
|
+
background: var(--navigation-link-background-current);
|
|
818
|
+
box-shadow: var(--navigation-link-shadow-current);
|
|
819
|
+
font-weight: var(--navigation-link-font-weight-current);
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
fray-navigationbar > nav > ul > li > a:focus-visible {
|
|
823
|
+
outline: 2px solid transparent;
|
|
824
|
+
outline-offset: 1px;
|
|
825
|
+
box-shadow: var(--focus-ring);
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
fray-navigationbar > nav > ul > li > span[aria-disabled="true"] {
|
|
829
|
+
color: var(--navigation-link-color-disabled);
|
|
830
|
+
background: var(--navigation-link-background-disabled);
|
|
831
|
+
border: var(--navigation-link-border);
|
|
832
|
+
cursor: not-allowed;
|
|
833
|
+
}
|
|
834
|
+
|
|
741
835
|
fray-panel {
|
|
742
836
|
background: var(--panel-background);
|
|
743
837
|
border: var(--panel-border);
|
|
@@ -880,6 +974,28 @@ fray-progressbar {
|
|
|
880
974
|
}
|
|
881
975
|
}
|
|
882
976
|
|
|
977
|
+
fray-routeoutlet {
|
|
978
|
+
display: flex;
|
|
979
|
+
flex: 1 1 auto;
|
|
980
|
+
flex-direction: column;
|
|
981
|
+
min-width: 0;
|
|
982
|
+
min-height: 0;
|
|
983
|
+
overflow: hidden;
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
fray-routeoutlet > div {
|
|
987
|
+
display: flex;
|
|
988
|
+
flex: 1 1 auto;
|
|
989
|
+
flex-direction: column;
|
|
990
|
+
min-width: 0;
|
|
991
|
+
min-height: 0;
|
|
992
|
+
overflow: auto;
|
|
993
|
+
}
|
|
994
|
+
|
|
995
|
+
fray-routeoutlet > div[hidden] {
|
|
996
|
+
display: none;
|
|
997
|
+
}
|
|
998
|
+
|
|
883
999
|
fray-sidebar {
|
|
884
1000
|
display: flex;
|
|
885
1001
|
min-width: 0;
|
package/themes/base.css
CHANGED
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
@layer theme {
|
|
71
71
|
:root {
|
|
72
72
|
/* Foundation */
|
|
73
|
-
--font-family: sans-serif;
|
|
74
|
-
--font-size:
|
|
73
|
+
--font-family: Helvetica, sans-serif;
|
|
74
|
+
--font-size: 12px;
|
|
75
75
|
--line-height: normal;
|
|
76
76
|
--control-min-height: calc(var(--ui-font-size) + var(--ui-padding) + var(--ui-padding));
|
|
77
77
|
--space-xs: 0px;
|
|
@@ -209,6 +209,29 @@
|
|
|
209
209
|
--toggle-inactive-separator-block-inset: 0;
|
|
210
210
|
|
|
211
211
|
/* Navigation components */
|
|
212
|
+
--navigation-bar-background: transparent;
|
|
213
|
+
--navigation-bar-color: var(--ui-color);
|
|
214
|
+
--navigation-bar-border: 0 solid transparent;
|
|
215
|
+
--navigation-bar-shadow: none;
|
|
216
|
+
--navigation-bar-padding: var(--space-sm);
|
|
217
|
+
--navigation-bar-gap: var(--space-md);
|
|
218
|
+
--navigation-link-color: var(--palette-primary-700);
|
|
219
|
+
--navigation-link-color-hover: var(--palette-primary-900);
|
|
220
|
+
--navigation-link-color-active: var(--palette-primary-900);
|
|
221
|
+
--navigation-link-color-current: var(--ui-color);
|
|
222
|
+
--navigation-link-color-disabled: var(--input-color-disabled);
|
|
223
|
+
--navigation-link-background: transparent;
|
|
224
|
+
--navigation-link-background-hover: var(--palette-primary-100);
|
|
225
|
+
--navigation-link-background-active: var(--palette-primary-100);
|
|
226
|
+
--navigation-link-background-current: transparent;
|
|
227
|
+
--navigation-link-background-disabled: transparent;
|
|
228
|
+
--navigation-link-border: 0 solid transparent;
|
|
229
|
+
--navigation-link-border-current: 2px solid var(--palette-primary);
|
|
230
|
+
--navigation-link-shadow: none;
|
|
231
|
+
--navigation-link-shadow-current: none;
|
|
232
|
+
--navigation-link-padding: var(--space-xs) var(--space-sm);
|
|
233
|
+
--navigation-link-radius: var(--radius-sm);
|
|
234
|
+
--navigation-link-font-weight-current: 700;
|
|
212
235
|
--tabline-background: var(--palette-neutral-100);
|
|
213
236
|
--tabline-padding-inline-start: 0px;
|
|
214
237
|
--tab-active-background: var(--palette-neutral-50);
|
|
@@ -239,12 +262,16 @@
|
|
|
239
262
|
--colored-dark: var(--palette-primary-dark);
|
|
240
263
|
--colored-contrast: var(--palette-contrast-light);
|
|
241
264
|
--colored-shadow: none;
|
|
265
|
+
--c1: unset;
|
|
266
|
+
--c2: unset;
|
|
267
|
+
--c3: unset;
|
|
268
|
+
--colored-base-bg: linear-gradient(15deg, var(--c1) 0%, var(--c2) 65%, var(--c2) 65%, var(--c3) 100%);
|
|
242
269
|
--block-graph-block-radius: 0.25em;
|
|
243
270
|
--block-graph-block-shadow: var(--colored-shadow);
|
|
244
271
|
|
|
245
272
|
/* Structural compatibility aliases */
|
|
246
|
-
--base-font-size:
|
|
247
|
-
--ui-font-size: var(--
|
|
273
|
+
--base-font-size: var(--base-font-size);
|
|
274
|
+
--ui-font-size: var(--font-size);
|
|
248
275
|
--ui-padding: 6px;
|
|
249
276
|
--ui-padding-h: 6px;
|
|
250
277
|
--ui-padding-v: 0px;
|
package/themes/java/theme.css
CHANGED
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
--button-border: 2px outset var(--palette-light);
|
|
13
13
|
--input-shadow: inset 1px 1px 1px color-mix(in oklch, var(--palette-dark) 30%, transparent);
|
|
14
14
|
--toolbar-border: 2px outset var(--palette-light);
|
|
15
|
+
--navigation-bar-border: 2px outset var(--palette-light);
|
|
16
|
+
--navigation-link-border: 1px outset var(--palette-light);
|
|
17
|
+
--navigation-link-border-current: 1px inset var(--palette-dark);
|
|
15
18
|
--working-background-image: repeating-linear-gradient(135deg, transparent 0 4px, color-mix(in oklch, var(--palette-dark) 12%, transparent) 4px 8px);
|
|
16
19
|
--button-border-style-active: inset;
|
|
17
20
|
}
|
package/themes/shiny/theme.css
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
/* Shiny changes theme tokens only. Components own all consuming selectors. */
|
|
3
3
|
@layer theme {
|
|
4
4
|
:root {
|
|
5
|
+
--base-font-size: 14px;
|
|
6
|
+
|
|
5
7
|
/* Foundation and shared chrome */
|
|
6
8
|
color-scheme: only light;
|
|
7
9
|
--box-shadow: -1px 1px 2px 1px rgba(0,0,0,0.3);
|
|
@@ -11,6 +13,7 @@
|
|
|
11
13
|
--ui-gradient-2: linear-gradient( to bottom, var(--ui-primary-bg-color) 9px, var(--ui-primary-bg-color) 13px, var(--ui-dark-bg-color) 100% );
|
|
12
14
|
--shiny-ui-gradient: var(--ui-gradient);
|
|
13
15
|
--shiny-ui-gradient-2: var(--ui-gradient-2);
|
|
16
|
+
--shiny-background: radial-gradient(140% 75% at 30% 10%, #fff2, #fff3 47%, #fff0 55%, #fff0), linear-gradient(to bottom, var(--palette-primary-900) 0%, var(--palette-primary) 65%, var(--palette-primary) 66%, var(--palette-primary-400) 100%);
|
|
14
17
|
--text-color: var(--palette-primary-900);
|
|
15
18
|
--ui-color: var(--text-color);
|
|
16
19
|
|
|
@@ -22,9 +25,7 @@
|
|
|
22
25
|
--island-margin: var(--space-sm);
|
|
23
26
|
--island-border: 1px solid rgb(255 255 255 / 0.45);
|
|
24
27
|
--island-shadow: 0px 1px 2.5px 0px #666;
|
|
25
|
-
--section-header-background:
|
|
26
|
-
radial-gradient(100% 50% at 40% 10%, var(--palette-light-clear), var(--palette-light-clear) 30%, var(--palette-light-faint) 110%, var(--palette-light-clear) 120%, var(--palette-light-clear) calc(120% + 1%)),
|
|
27
|
-
linear-gradient(1deg, var(--palette-primary-900) 0%, var(--palette-primary) 65%, var(--palette-primary) 65%, var(--palette-primary-200) 100%);
|
|
28
|
+
--section-header-background: var(--shiny-background);
|
|
28
29
|
--section-header-color: var(--palette-contrast-light);
|
|
29
30
|
--section-header-shadow:
|
|
30
31
|
inset -1px 1px 2px 0px #0003,
|
|
@@ -32,6 +33,7 @@
|
|
|
32
33
|
inset -1px 1px 1px 0px #0006,
|
|
33
34
|
inset 1px -1px 1px 0px #fff5,
|
|
34
35
|
0px 1px 2px 0px #000a;
|
|
36
|
+
--mini-shadow: 0px 1px 1px 0px #000a;
|
|
35
37
|
|
|
36
38
|
--sidebar-background:
|
|
37
39
|
linear-gradient(135deg, rgb(255 255 255 / 0.4), transparent 55%),
|
|
@@ -100,6 +102,14 @@
|
|
|
100
102
|
--toggle-inactive-separator-block-inset: 0.35rem;
|
|
101
103
|
|
|
102
104
|
/* Navigation components */
|
|
105
|
+
--navigation-bar-background: var(--ui-gradient-2);
|
|
106
|
+
--navigation-bar-color: var(--text-color);
|
|
107
|
+
--navigation-bar-shadow: var(--panel-shadow);
|
|
108
|
+
--navigation-link-color-current: white;
|
|
109
|
+
--navigation-link-background-hover: var(--section-header-background);
|
|
110
|
+
--navigation-link-color-hover: white;
|
|
111
|
+
--navigation-link-background-current: var(--section-header-background);
|
|
112
|
+
--navigation-link-shadow-current: var(--mini-shadow);
|
|
103
113
|
--tabline-background: var(--shiny-ui-gradient-2);
|
|
104
114
|
--tabline-padding-inline-start: 5px;
|
|
105
115
|
--tab-button-background: var(--shiny-ui-gradient);
|
|
@@ -119,7 +129,20 @@
|
|
|
119
129
|
inset -1px 1px 1px 1px #0006,
|
|
120
130
|
inset 1px -1px 1px 1px #fff5,
|
|
121
131
|
-1px 1px 3px 0 #0006;
|
|
132
|
+
|
|
122
133
|
--colored-shadow: inset -2px 2px 2px 0px #0006, inset 2px -2px 2px 0px #fff5, -3px 3px 4px 0px #0006;
|
|
123
134
|
--block-graph-block-border: none;
|
|
124
135
|
}
|
|
125
136
|
}
|
|
137
|
+
|
|
138
|
+
.colored {
|
|
139
|
+
background: radial-gradient(140% 75% at 30% 10%, #fff0, #fff1 47%, #fff0 55%, #fff0), var(--colored-base-bg);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
nav > ul > li {
|
|
143
|
+
border-radius: var(--ui-border-radius);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
fray-navigationbar nav > ul > li > a {
|
|
147
|
+
line-height: 1.7em;
|
|
148
|
+
}
|