mashlib 2.1.5-test.2 → 2.1.5
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 +0 -11
- package/dist/browse-test.html +18 -20
- package/dist/browse.html +18 -20
- package/dist/databrowser.html +2 -2
- package/dist/mash.css +416 -172
- package/dist/mash.css.map +1 -1
- package/dist/mashlib.js +1738 -1516
- package/dist/mashlib.js.map +1 -1
- package/dist/mashlib.min.js +34 -35
- package/dist/mashlib.min.js.map +1 -1
- package/package.json +6 -8
package/dist/mash.css
CHANGED
|
@@ -208,6 +208,12 @@
|
|
|
208
208
|
min-width: 0;
|
|
209
209
|
}
|
|
210
210
|
|
|
211
|
+
/* Ensure prompt inputs stretch to fit their container */
|
|
212
|
+
.add-friend-button-container input[type="text"] {
|
|
213
|
+
width: 100%;
|
|
214
|
+
box-sizing: border-box;
|
|
215
|
+
}
|
|
216
|
+
|
|
211
217
|
.qrCodeSection {
|
|
212
218
|
color: var(--color-text-secondary);
|
|
213
219
|
font-size: 1em;
|
|
@@ -233,22 +239,20 @@
|
|
|
233
239
|
/* ProfileView.css */
|
|
234
240
|
/* Uses utilities: .section-bg, .text-center */
|
|
235
241
|
|
|
236
|
-
.profileSection {
|
|
237
|
-
|
|
238
|
-
}
|
|
239
|
-
|
|
240
242
|
/* Horizontal layout for cards */
|
|
241
243
|
.profile-grid .profileSection {
|
|
242
244
|
width: 100%;
|
|
243
245
|
max-width: 100%;
|
|
246
|
+
min-width: 0;
|
|
244
247
|
box-sizing: border-box;
|
|
245
248
|
margin-bottom: var(--spacing-md);
|
|
246
249
|
box-sizing: border-box;
|
|
247
250
|
margin-bottom: var(--spacing-md);
|
|
251
|
+
overflow-wrap: anywhere;
|
|
248
252
|
}
|
|
249
253
|
|
|
250
254
|
@media (min-width: 900px) {
|
|
251
|
-
.profileSection {
|
|
255
|
+
.profile-grid .profileSection {
|
|
252
256
|
margin-bottom: 0;
|
|
253
257
|
}
|
|
254
258
|
}
|
|
@@ -365,6 +369,27 @@
|
|
|
365
369
|
|
|
366
370
|
/* Utility-first CSS classes for layout, spacing, and responsiveness */
|
|
367
371
|
|
|
372
|
+
:root {
|
|
373
|
+
--profile-image-size: 3em;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
@media (max-width: 1000px) {
|
|
377
|
+
.profile-grid,
|
|
378
|
+
.profile-grid * {
|
|
379
|
+
font-size: 2rem !important;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
.profile-grid .actionButton,
|
|
383
|
+
.profile-grid .searchInput,
|
|
384
|
+
.profile-grid .flatButton,
|
|
385
|
+
.profile-grid .buttonSection button,
|
|
386
|
+
.profile-grid .groupButtonsList button {
|
|
387
|
+
min-height: calc(var(--min-touch-target) + 0.5em) !important;
|
|
388
|
+
font-size: 2rem !important;
|
|
389
|
+
padding: 1em 1em !important;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
|
|
368
393
|
.actionButton {
|
|
369
394
|
width: 100%;
|
|
370
395
|
min-width: 180px;
|
|
@@ -379,7 +404,8 @@
|
|
|
379
404
|
|
|
380
405
|
.profile-grid {
|
|
381
406
|
display: grid;
|
|
382
|
-
grid
|
|
407
|
+
/* Allow the grid to shrink below 30em on small viewports to avoid overflow */
|
|
408
|
+
grid-template-columns: repeat(auto-fit, minmax(min(100%, 30em), 1fr));
|
|
383
409
|
gap: var(--spacing-lg);
|
|
384
410
|
background: var(--color-background);
|
|
385
411
|
}
|
|
@@ -572,6 +598,13 @@
|
|
|
572
598
|
box-shadow: none;
|
|
573
599
|
}
|
|
574
600
|
|
|
601
|
+
/* Prevent labels from appearing focusable to keyboard users. */
|
|
602
|
+
label:focus,
|
|
603
|
+
label:focus-visible {
|
|
604
|
+
outline: none !important;
|
|
605
|
+
box-shadow: none !important;
|
|
606
|
+
}
|
|
607
|
+
|
|
575
608
|
/* Better focus for text elements */
|
|
576
609
|
.focusable-text:focus {
|
|
577
610
|
background-color: rgba(124, 77, 255, 0.1);
|
|
@@ -693,9 +726,66 @@
|
|
|
693
726
|
background-color: transparent;
|
|
694
727
|
}
|
|
695
728
|
|
|
729
|
+
/* Delete pop up*/
|
|
730
|
+
/* Make the Solid-UI delete confirmation popup appear near the last click position.
|
|
731
|
+
Keep the built-in Solid-UI styling (orange border, white background) so it looks like the original.
|
|
732
|
+
*/
|
|
733
|
+
.profile-grid div[style*="position: relative"] > div[style*="display: grid"] {
|
|
734
|
+
/* only override positioning; keep styling (border/background/etc) from solid-ui */
|
|
735
|
+
position: absolute !important;
|
|
736
|
+
z-index: 9999 !important;
|
|
737
|
+
top: 0 !important;
|
|
738
|
+
right: 0 !important;
|
|
739
|
+
left: auto !important;
|
|
740
|
+
display: grid !important;
|
|
741
|
+
pointer-events: auto !important;
|
|
742
|
+
opacity: 1 !important;
|
|
743
|
+
visibility: visible !important;
|
|
744
|
+
padding: 0.7em !important;
|
|
745
|
+
min-width: 280px !important;
|
|
746
|
+
max-width: 90vw !important;
|
|
747
|
+
background: var(--color-background) !important;
|
|
748
|
+
border: 0.1em solid var(--color-primary) !important;
|
|
749
|
+
border-radius: var(--border-radius-base) !important;
|
|
750
|
+
box-shadow: 0 0.5em 0.9em rgba(0, 0, 0, 0.2) !important;
|
|
751
|
+
grid-template-columns: auto auto !important;
|
|
752
|
+
gap: 0.3em !important;
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
/* Ensure SVG icons and their buttons inside the Solid-UI delete popup have transparent backgrounds */
|
|
756
|
+
.profile-grid div[style*="position: relative"] > div[style*="display: grid"] img[src$=".svg"],
|
|
757
|
+
.profile-grid div[style*="position: relative"] > div[style*="display: grid"] button {
|
|
758
|
+
background: transparent !important;
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
.profile-form .individualPane {
|
|
762
|
+
box-shadow: none !important;
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
.profile-form p {
|
|
766
|
+
padding: 0 !important;
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
.profile-form .mb-md {
|
|
770
|
+
margin-bottom: 0 !important;
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
.profile-form h2 {
|
|
774
|
+
margin-bottom: 1em !important;
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
.profile-form h3 {
|
|
778
|
+
color: var(--color-primary) !important;
|
|
779
|
+
padding: 0 !important;
|
|
780
|
+
font-size: 1em !important;
|
|
781
|
+
font-weight: 600 !important;
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
/* Shared form layout rules are imported from rdfFormsCommon.css */
|
|
696
785
|
/* Solid-UI form sizing fixes scoped to Edit CV section */
|
|
697
786
|
.profile-form .hoverControl:not(:has(> img:first-child)) {
|
|
698
787
|
border: 0.1em solid rgb(136, 136, 136) !important;
|
|
788
|
+
flex-direction: column !important;
|
|
699
789
|
}
|
|
700
790
|
|
|
701
791
|
.profile-form .hoverControl:has(> img:first-child) {
|
|
@@ -704,85 +794,164 @@
|
|
|
704
794
|
margin: 0 !important;
|
|
705
795
|
border-radius: 0 !important;
|
|
706
796
|
padding: 0.7em !important;
|
|
797
|
+
min-height: var(--min-touch-target);
|
|
798
|
+
min-width: var(--min-touch-target);
|
|
707
799
|
cursor: pointer;
|
|
708
800
|
display: inline-flex;
|
|
709
801
|
align-items: center;
|
|
710
802
|
justify-content: center;
|
|
711
803
|
}
|
|
712
804
|
|
|
713
|
-
|
|
805
|
+
/* Make sure the delete icon floats in the top-right corner of the full hoverControl wrapper */
|
|
806
|
+
.profile-form .hoverControl,
|
|
807
|
+
.profile-grid .hoverControl {
|
|
808
|
+
position: relative !important;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
.hoverControl > img.hoverControlHide,
|
|
812
|
+
.hoverControl > [data-testid="deleteButtonWithCheck"] {
|
|
813
|
+
position: absolute !important;
|
|
814
|
+
top: 0.2em !important;
|
|
815
|
+
right: 0.2em !important;
|
|
714
816
|
width: 1.5em !important;
|
|
715
817
|
height: 1.5em !important;
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
margin
|
|
719
|
-
|
|
720
|
-
|
|
818
|
+
align-items: center;
|
|
819
|
+
justify-content: center;
|
|
820
|
+
margin: 0 !important;
|
|
821
|
+
float: none !important;
|
|
822
|
+
transform: none !important;
|
|
721
823
|
}
|
|
722
824
|
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
825
|
+
/* When icon is 2nd or 3rd child (i.e. sibling elements exist), align it vertically to the previous item */
|
|
826
|
+
.hoverControl > img.hoverControlHide:nth-child(1),
|
|
827
|
+
.hoverControl > img.hoverControlHide:nth-child(2),
|
|
828
|
+
.hoverControl > [data-testid="deleteButtonWithCheck"]:nth-child(1),
|
|
829
|
+
.hoverControl > [data-testid="deleteButtonWithCheck"]:nth-child(2) {
|
|
830
|
+
top: 50% !important;
|
|
831
|
+
transform: translateY(-50%) !important;
|
|
832
|
+
display: inline-flex !important;
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
/* Show the delete icon only when the container is hovered */
|
|
836
|
+
.profile-grid .hoverControl:hover > img.hoverControlHide,
|
|
837
|
+
.profile-grid .hoverControl:hover > [data-testid="deleteButtonWithCheck"] {
|
|
838
|
+
display: inline-flex !important;
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
/* Also show the delete icon when the entire row is hovered */
|
|
842
|
+
.profile-grid .attachmentTable tr:hover .hoverControl > img.hoverControlHide,
|
|
843
|
+
.profile-grid .attachmentTable tr:hover .hoverControl > [data-testid="deleteButtonWithCheck"] {
|
|
844
|
+
display: inline-flex !important;
|
|
845
|
+
}
|
|
846
|
+
|
|
847
|
+
/* Make the hover-control cell easier to hit */
|
|
848
|
+
.profile-grid .hoverControl {
|
|
849
|
+
padding: 0.75em !important;
|
|
850
|
+
min-width: 2.5em !important;
|
|
851
|
+
min-height: 2.5em !important;
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
/* When the hoverControl only contains the hidden delete icon, keep it out of layout so it doesn't create empty space */
|
|
855
|
+
.profile-form .formFieldValue .hoverControl:has(> img.hoverControlHide) {
|
|
856
|
+
min-width: 0 !important;
|
|
857
|
+
min-height: 0 !important;
|
|
858
|
+
width: 0 !important;
|
|
859
|
+
height: 0 !important;
|
|
860
|
+
padding: 0 !important;
|
|
861
|
+
margin: 0 !important;
|
|
862
|
+
overflow: visible !important;
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
/* Hide delete icon only in autocomplete fields */
|
|
866
|
+
.profile-grid .formFieldValue:has(input[data-testid="autocomplete-input"]) [data-testid="delete-button"] {
|
|
867
|
+
display: none !important;
|
|
727
868
|
}
|
|
728
869
|
|
|
729
|
-
|
|
870
|
+
/* Keep autocomplete cancel button hidden when the user is not interacting.
|
|
871
|
+
This avoids the cancel button remaining visible when focus moves away. */
|
|
872
|
+
.profile-grid .formFieldValue:not(:focus-within) [data-testid="cancel-button"] {
|
|
873
|
+
display: none !important;
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
.profile-grid .hoverControl:has(> img:first-child) > span {
|
|
730
877
|
display: inline-flex;
|
|
731
878
|
align-items: center;
|
|
879
|
+
margin-left: 0.3em;
|
|
732
880
|
}
|
|
733
881
|
|
|
734
|
-
.profile-
|
|
882
|
+
.profile-grid div[style*="padding: 0.5em"]:has(> img) > span {
|
|
735
883
|
margin-left: 0.3em;
|
|
884
|
+
vertical-align: super !important;
|
|
736
885
|
}
|
|
737
886
|
|
|
738
|
-
.profile-
|
|
887
|
+
.profile-grid .hoverControl:has(> img:first-child):hover {
|
|
739
888
|
background-color: transparent !important;
|
|
740
889
|
}
|
|
741
890
|
|
|
742
|
-
.profile-
|
|
743
|
-
|
|
891
|
+
.profile-grid button:has(> img[src$=".svg"]),
|
|
892
|
+
.profile-grid .formFieldValue input[type ="color"] {
|
|
893
|
+
background-color: var(--color-section-bg) !important;
|
|
744
894
|
border: none !important;
|
|
745
895
|
margin: 0 !important;
|
|
746
896
|
border-radius: 0 !important;
|
|
897
|
+
box-shadow: none !important;
|
|
898
|
+
padding: 0.5em !important;
|
|
899
|
+
transition: background-color 0.2s ease, box-shadow 0.2s ease;
|
|
900
|
+
padding: 0 !important;
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
/* Specific icon button should have no extra padding */
|
|
904
|
+
.profile-grid button:has(> img[src="https://solidos.github.io/solid-ui/src/icons/noun_1369241.svg"]) {
|
|
905
|
+
padding: 0 !important;
|
|
747
906
|
}
|
|
748
907
|
|
|
749
908
|
.profile-form button {
|
|
909
|
+
min-height: var(--min-touch-target);
|
|
910
|
+
min-width: var(--min-touch-target);
|
|
911
|
+
}
|
|
750
912
|
|
|
913
|
+
.profile-form input:not([type="color"]) {
|
|
914
|
+
width: 99%;
|
|
915
|
+
margin-left: 0 !important;
|
|
916
|
+
margin-right: 0 !important;
|
|
751
917
|
}
|
|
752
918
|
|
|
753
919
|
.profile-form input:not([type="color"]),
|
|
754
920
|
.profile-form textarea,
|
|
755
921
|
.profile-form select {
|
|
756
|
-
max-width:
|
|
922
|
+
max-width: 96%;
|
|
757
923
|
min-width: 0;
|
|
758
924
|
box-sizing: border-box ;
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
.profile-form input[type="url"] {
|
|
764
|
-
width: 100%;
|
|
925
|
+
font: inherit;
|
|
926
|
+
color: var(--color-text);
|
|
927
|
+
background-color: var(--color-card-bg) !important;
|
|
928
|
+
border: 1px solid var(--color-border-pale);
|
|
765
929
|
}
|
|
766
930
|
|
|
767
|
-
.profile-form
|
|
768
|
-
|
|
769
|
-
margin-bottom: var(--spacing-sm);
|
|
931
|
+
.profile-form textarea {
|
|
932
|
+
border-color: var(--color-border-pale) !important;
|
|
770
933
|
}
|
|
771
934
|
|
|
772
|
-
.profile-form
|
|
773
|
-
|
|
774
|
-
|
|
935
|
+
.profile-form input[type="date"],
|
|
936
|
+
.profile-form input[type="month"],
|
|
937
|
+
.profile-form input[type="week"],
|
|
938
|
+
.profile-form input[type="time"],
|
|
939
|
+
.profile-form input[type="datetime-local"] {
|
|
940
|
+
min-height: var(--min-touch-target);
|
|
775
941
|
}
|
|
776
942
|
|
|
777
|
-
.profile-form .
|
|
778
|
-
|
|
943
|
+
.profile-form .hoverControl:has(> img:first-child):focus-visible,
|
|
944
|
+
.profile-form button:focus-visible,
|
|
945
|
+
.profile-form input:not([type="color"]):focus-visible,
|
|
946
|
+
.profile-form textarea:focus-visible,
|
|
947
|
+
.profile-form select:focus-visible {
|
|
948
|
+
outline: var(--focus-ring-width) solid var(--color-primary) !important;
|
|
949
|
+
outline-offset: 2px;
|
|
950
|
+
box-shadow: 0 0 0 1px var(--color-background);
|
|
779
951
|
}
|
|
780
952
|
|
|
781
|
-
.profile-form
|
|
782
|
-
.profile-form .formFieldValue textarea,
|
|
783
|
-
.profile-form .formFieldValue select {
|
|
953
|
+
.profile-form input[type="url"] {
|
|
784
954
|
width: 100%;
|
|
785
|
-
max-width: 100%;
|
|
786
955
|
}
|
|
787
956
|
|
|
788
957
|
.profile-form select#formSelect {
|
|
@@ -793,11 +962,6 @@
|
|
|
793
962
|
margin-right: 0 !important;
|
|
794
963
|
}
|
|
795
964
|
|
|
796
|
-
.profile-form span select {
|
|
797
|
-
max-width: 96% !important;
|
|
798
|
-
box-sizing: border-box;
|
|
799
|
-
}
|
|
800
|
-
|
|
801
965
|
/* Remove border/padding from the first wrapper div (and its first child wrapper). */
|
|
802
966
|
.profile-form > div:first-of-type,
|
|
803
967
|
.profile-form > div:first-of-type > div:first-of-type {
|
|
@@ -818,6 +982,54 @@ section[aria-labelledby="edit-profile-contact-heading"] .profile-form > div:firs
|
|
|
818
982
|
}
|
|
819
983
|
|
|
820
984
|
/* Align schema.org, solid terms, FOAF, vCard, and org field labels with their input values. */
|
|
985
|
+
.profile-form :not(.choiceBox):has(> .formFieldName):has(> .formFieldValue) {
|
|
986
|
+
display: flex;
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
/* for the Resume inside corporation choice */
|
|
990
|
+
/* Add space between classifierBox label and select box */
|
|
991
|
+
.profile-form .choiceBox .classifierBox-label {
|
|
992
|
+
/* Optional: ensure label doesn't have extra margin */
|
|
993
|
+
margin-right: 0;
|
|
994
|
+
padding-left: 0.3em;
|
|
995
|
+
}
|
|
996
|
+
.profile-form .choiceBox .choiceBox-selectBox select {
|
|
997
|
+
margin-left: 2.1em !important;
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
/* for the Resume orga details */
|
|
1001
|
+
/* Add space between classifierBox label and select box */
|
|
1002
|
+
.profile-form .classifierBox .classifierBox-label {
|
|
1003
|
+
/* Match .formFieldName for alignment */
|
|
1004
|
+
margin-right: 0;
|
|
1005
|
+
padding-left: 0.3em;
|
|
1006
|
+
width: 8em;
|
|
1007
|
+
padding: 0.3em;
|
|
1008
|
+
vertical-align: middle;
|
|
1009
|
+
}
|
|
1010
|
+
.profile-form .classifierBox .classifierBox-selectBox {
|
|
1011
|
+
margin-left: 0 !important;
|
|
1012
|
+
}
|
|
1013
|
+
|
|
1014
|
+
.profile-form .classifierBox .classifierBox-selectBox select {
|
|
1015
|
+
margin-left: 0 !important;
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
/* for the social media */
|
|
1019
|
+
/* Add space between classifierBox label and select box */
|
|
1020
|
+
section[data-testid="edit-social-section"] .classifierBox-label {
|
|
1021
|
+
/* Optional: ensure label doesn't have extra margin */
|
|
1022
|
+
margin-right: 0;
|
|
1023
|
+
padding-left: 0.3em;
|
|
1024
|
+
}
|
|
1025
|
+
section[data-testid="edit-social-section"] .classifierBox-selectBox select {
|
|
1026
|
+
margin-left: 0.7em !important;
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
.profile-form :not(.choiceBox):has(> .formFieldName):has(> .formFieldValue) > .formFieldValue {
|
|
1030
|
+
margin-bottom: 0;
|
|
1031
|
+
}
|
|
1032
|
+
|
|
821
1033
|
.profile-form :not(.choiceBox) > .formFieldName:has(a[href*="http://schema.org/"]),
|
|
822
1034
|
.profile-form :not(.choiceBox) > .formFieldName:has(a[href*="http://www.w3.org/ns/solid/terms#"]),
|
|
823
1035
|
.profile-form :not(.choiceBox) > .formFieldName:has(a[href*="http://xmlns.com/foaf/0.1/"]),
|
|
@@ -836,10 +1048,20 @@ section[aria-labelledby="edit-profile-contact-heading"] .profile-form > div:firs
|
|
|
836
1048
|
display: inline-flex;
|
|
837
1049
|
align-items: center;
|
|
838
1050
|
vertical-align: middle;
|
|
1051
|
+
flex: 1;
|
|
1052
|
+
min-width: 0;
|
|
839
1053
|
}
|
|
840
1054
|
|
|
841
|
-
.profile-form textarea
|
|
842
|
-
|
|
1055
|
+
.profile-form textarea,
|
|
1056
|
+
.profile-form .formFieldValue textarea {
|
|
1057
|
+
appearance: none;
|
|
1058
|
+
-webkit-appearance: none;
|
|
1059
|
+
border: .05em solid #88c !important;
|
|
1060
|
+
border-style: solid !important;
|
|
1061
|
+
border-width: .05em !important;
|
|
1062
|
+
border-color: #88c !important;
|
|
1063
|
+
border-radius: 0.2em !important;
|
|
1064
|
+
width: 99%;
|
|
843
1065
|
box-sizing: border-box;
|
|
844
1066
|
margin-top: var(--spacing-xs);
|
|
845
1067
|
margin-left: 0 !important;
|
|
@@ -857,29 +1079,143 @@ section[aria-labelledby="edit-profile-contact-heading"] .profile-form > div:firs
|
|
|
857
1079
|
}
|
|
858
1080
|
|
|
859
1081
|
.profile-form div[style*="display: flex"][style*="flex-direction: row"]:has(textarea) > div:has(> a) {
|
|
860
|
-
padding-
|
|
1082
|
+
padding-left: var(--spacing-xs);
|
|
1083
|
+
padding-top: var(--spacing-sm);
|
|
861
1084
|
}
|
|
862
1085
|
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
margin-right: 0 !important;
|
|
1086
|
+
|
|
1087
|
+
.profile-form :not(.choiceBox):has(> .formFieldValue input[data-testid="autocomplete-input"]) > .formFieldName {
|
|
1088
|
+
padding-top: 0.55em !important;
|
|
867
1089
|
}
|
|
868
1090
|
|
|
869
|
-
|
|
870
|
-
.
|
|
871
|
-
|
|
1091
|
+
|
|
1092
|
+
.profile-form input:disabled,
|
|
1093
|
+
.profile-form textarea:disabled,
|
|
1094
|
+
.profile-form select:disabled,
|
|
1095
|
+
.profile-form input[readonly],
|
|
1096
|
+
.profile-form textarea[readonly],
|
|
1097
|
+
.profile-form input:read-only,
|
|
1098
|
+
.profile-form textarea:read-only {
|
|
1099
|
+
background-color: var(--color-background) !important;
|
|
1100
|
+
cursor: not-allowed;
|
|
1101
|
+
opacity: 0.75;
|
|
1102
|
+
border: 0.05em solid white !important;
|
|
872
1103
|
}
|
|
873
1104
|
|
|
874
|
-
|
|
875
|
-
|
|
1105
|
+
.webidControl table td div.contactPane.namedPane {
|
|
1106
|
+
border: none !important;
|
|
1107
|
+
}
|
|
1108
|
+
|
|
1109
|
+
/* Hide the edit icon used by solid-ui (noun_253504.svg and noun_1180158.svg) when it appears as an <img> */
|
|
1110
|
+
img[src*="noun_253504.svg"],
|
|
1111
|
+
img[src*="noun_1180158.svg"] {
|
|
1112
|
+
display: none !important;
|
|
1113
|
+
width: 0 !important;
|
|
1114
|
+
height: 0 !important;
|
|
1115
|
+
margin: 0 !important;
|
|
876
1116
|
padding: 0 !important;
|
|
877
1117
|
}
|
|
878
1118
|
|
|
879
|
-
|
|
1119
|
+
/* Ensure the parent button for that icon doesn't add padding/margin or affect layout */
|
|
1120
|
+
button:has(> img[src*="noun_253504.svg"]),
|
|
1121
|
+
button:has(> img[src*="noun_1180158.svg"]) {
|
|
1122
|
+
display: none !important;
|
|
1123
|
+
padding: 0 !important;
|
|
1124
|
+
margin: 0 !important;
|
|
880
1125
|
border: none !important;
|
|
1126
|
+
background: none !important;
|
|
1127
|
+
width: 0 !important;
|
|
1128
|
+
height: 0 !important;
|
|
1129
|
+
overflow: hidden !important;
|
|
881
1130
|
}
|
|
882
1131
|
|
|
1132
|
+
/* Exceptions: allow these icons (and their buttons) when they're part of the add-friend or add-community flows. */
|
|
1133
|
+
.profile-grid .profileSection .add-friend-button-container img[src="https://solidos.github.io/solid-ui/src/icons/noun_253504.svg"],
|
|
1134
|
+
.profile-grid .profileSection .add-community-button-container img[src="https://solidos.github.io/solid-ui/src/icons/noun_253504.svg"],
|
|
1135
|
+
.profile-grid .profileSection .add-friend-button-container button:has(> img[src="https://solidos.github.io/solid-ui/src/icons/noun_253504.svg"]),
|
|
1136
|
+
.profile-grid .profileSection .add-community-button-container button:has(> img[src="https://solidos.github.io/solid-ui/src/icons/noun_253504.svg"]) {
|
|
1137
|
+
display: inline-flex !important;
|
|
1138
|
+
width: auto !important;
|
|
1139
|
+
height: auto !important;
|
|
1140
|
+
overflow: visible !important;
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1143
|
+
|
|
1144
|
+
/* Exception: allow “Continue” buttons inside add-friend and add-community button containers. */
|
|
1145
|
+
.profile-grid .profileSection .add-friend-button-container button:has(> img[title="Continue"]),
|
|
1146
|
+
.profile-grid .profileSection .add-community-button-container button:has(> img[title="Continue"]),
|
|
1147
|
+
.profile-grid .profileSection .add-friend-button-container button:has(> img[src="https://solidos.github.io/solid-ui/src/icons/noun_1180158.svg"]),
|
|
1148
|
+
.profile-grid .profileSection .add-community-button-container button:has(> img[src="https://solidos.github.io/solid-ui/src/icons/noun_1180158.svg"]),
|
|
1149
|
+
.profile-grid .profileSection .add-friend-button-container img[src="https://solidos.github.io/solid-ui/src/icons/noun_1180158.svg"],
|
|
1150
|
+
.profile-grid .profileSection .add-community-button-container img[src="https://solidos.github.io/solid-ui/src/icons/noun_1180158.svg"] {
|
|
1151
|
+
display: inline-flex !important;
|
|
1152
|
+
width: 2em !important;
|
|
1153
|
+
height: 2em !important;
|
|
1154
|
+
overflow: visible !important;
|
|
1155
|
+
}
|
|
1156
|
+
|
|
1157
|
+
.profile-grid .add-friend-button-container,
|
|
1158
|
+
.profile-grid .add-community-button-container {
|
|
1159
|
+
display: inline-flex;
|
|
1160
|
+
align-items: center;
|
|
1161
|
+
gap: var(--spacing-xxs);
|
|
1162
|
+
flex-wrap: wrap;
|
|
1163
|
+
justify-content: flex-start;
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
/* Ensure the button container can shrink properly in narrow layouts */
|
|
1167
|
+
.profile-grid .add-community-button-container {
|
|
1168
|
+
min-width: 0;
|
|
1169
|
+
max-width: 100%;
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
/* Allow any direct children to shrink so no element forces overflow */
|
|
1173
|
+
.profile-grid .add-community-button-container > * {
|
|
1174
|
+
min-width: 0;
|
|
1175
|
+
max-width: 100%;
|
|
1176
|
+
}
|
|
1177
|
+
|
|
1178
|
+
.profile-grid table {
|
|
1179
|
+
margin: 0 !important;
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
.profile-grid td {
|
|
1183
|
+
padding: 0;
|
|
1184
|
+
}
|
|
1185
|
+
|
|
1186
|
+
.profile-grid .add-friend-button-container .span,
|
|
1187
|
+
.profile-grid .add-community-button-container .span {
|
|
1188
|
+
display: inline-flex;
|
|
1189
|
+
align-items: center;
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1192
|
+
.profile-grid .add-friend-button-container > div,
|
|
1193
|
+
.profile-grid .add-community-button-container > div {
|
|
1194
|
+
flex-basis: 100%;
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
/* Prevent the add-community input from overflowing its flex container */
|
|
1198
|
+
.profile-grid .add-community-button-container input {
|
|
1199
|
+
min-width: 0;
|
|
1200
|
+
max-width: 96%;
|
|
1201
|
+
flex: 1 1 0;
|
|
1202
|
+
word-break: break-word;
|
|
1203
|
+
}
|
|
1204
|
+
|
|
1205
|
+
.profile-grid .profile-image {
|
|
1206
|
+
width: var( --profile-image-size);
|
|
1207
|
+
height: var( --profile-image-size);
|
|
1208
|
+
margin: var(--spacing-xxxs);
|
|
1209
|
+
border-radius: var(--spacing-lg);
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
.profile-grid .default-profile-image {
|
|
1213
|
+
width: 140%;
|
|
1214
|
+
height: 140%;
|
|
1215
|
+
object-fit: cover;
|
|
1216
|
+
margin-left: -0.6em;
|
|
1217
|
+
border-radius: var(--spacing-lg);
|
|
1218
|
+
}
|
|
883
1219
|
/*
|
|
884
1220
|
** Light Theme (Default)
|
|
885
1221
|
** Default color scheme for SolidOS
|
|
@@ -1808,10 +2144,16 @@ section[aria-labelledby="edit-profile-contact-heading"] .profile-form > div:firs
|
|
|
1808
2144
|
**
|
|
1809
2145
|
*/
|
|
1810
2146
|
|
|
2147
|
+
/* I couldn't find the code for the collapse image. this is a quick work around
|
|
2148
|
+
to make the collapsing easier to use ( the triangles dont jump 20 pixels). ~cm2
|
|
2149
|
+
*/
|
|
2150
|
+
img[title="Hide details."] {
|
|
2151
|
+
float: left;
|
|
2152
|
+
}
|
|
2153
|
+
|
|
1811
2154
|
html, body {
|
|
1812
2155
|
margin: 0;
|
|
1813
2156
|
padding: 0;
|
|
1814
|
-
min-height: 100%;
|
|
1815
2157
|
font-family: var(--font-family-base);
|
|
1816
2158
|
font-size: var(--font-size-base);
|
|
1817
2159
|
line-height: var(--line-height-base);
|
|
@@ -1822,85 +2164,6 @@ html, body {
|
|
|
1822
2164
|
text-rendering: optimizeLegibility;
|
|
1823
2165
|
}
|
|
1824
2166
|
|
|
1825
|
-
/* ── App layout ── */
|
|
1826
|
-
body {
|
|
1827
|
-
display: flex;
|
|
1828
|
-
flex-direction: column;
|
|
1829
|
-
min-height: 100dvh; /* dvh = dynamic viewport for mobile chrome */
|
|
1830
|
-
}
|
|
1831
|
-
|
|
1832
|
-
#PageHeader {
|
|
1833
|
-
position: sticky;
|
|
1834
|
-
top: 0;
|
|
1835
|
-
z-index: 100;
|
|
1836
|
-
flex-shrink: 0;
|
|
1837
|
-
}
|
|
1838
|
-
|
|
1839
|
-
#MainContent {
|
|
1840
|
-
flex: 1 1 auto;
|
|
1841
|
-
overflow-y: auto;
|
|
1842
|
-
-webkit-overflow-scrolling: touch; /* smooth iOS scroll */
|
|
1843
|
-
container-type: inline-size; /* enable @container queries */
|
|
1844
|
-
}
|
|
1845
|
-
|
|
1846
|
-
#PageFooter {
|
|
1847
|
-
flex-shrink: 0;
|
|
1848
|
-
}
|
|
1849
|
-
|
|
1850
|
-
/* ── Skip link ── */
|
|
1851
|
-
.skip-link {
|
|
1852
|
-
position: absolute;
|
|
1853
|
-
top: -100%;
|
|
1854
|
-
left: 0;
|
|
1855
|
-
z-index: 1000;
|
|
1856
|
-
padding: 0.5rem 1rem;
|
|
1857
|
-
background: var( --color-info-bg);
|
|
1858
|
-
color: var(--color-text);
|
|
1859
|
-
text-decoration: none;
|
|
1860
|
-
font-weight: var(--font-weight-bold);
|
|
1861
|
-
}
|
|
1862
|
-
.skip-link:focus {
|
|
1863
|
-
top: 0;
|
|
1864
|
-
}
|
|
1865
|
-
|
|
1866
|
-
/* ── Pane icon tray (responsive) ── */
|
|
1867
|
-
.pane-icon-tray {
|
|
1868
|
-
display: flex;
|
|
1869
|
-
flex-wrap: wrap;
|
|
1870
|
-
gap: 0.5rem;
|
|
1871
|
-
padding: 0.25rem 0;
|
|
1872
|
-
overflow-x: auto; /* horizontal scroll on very narrow screens */
|
|
1873
|
-
-webkit-overflow-scrolling: touch;
|
|
1874
|
-
}
|
|
1875
|
-
|
|
1876
|
-
.pane-icon-tray img {
|
|
1877
|
-
width: 2rem;
|
|
1878
|
-
height: 2rem;
|
|
1879
|
-
border-radius: 0.4rem;
|
|
1880
|
-
cursor: pointer;
|
|
1881
|
-
transition: outline 0.15s;
|
|
1882
|
-
}
|
|
1883
|
-
.pane-icon-tray img:focus-visible {
|
|
1884
|
-
outline: 2px solid var(--color-border-accent);
|
|
1885
|
-
outline-offset: 2px;
|
|
1886
|
-
}
|
|
1887
|
-
|
|
1888
|
-
/* ── Subject blocks ── */
|
|
1889
|
-
.subject-block {
|
|
1890
|
-
border-bottom: 1px solid var(--color-border-pale);
|
|
1891
|
-
padding-block: 0.75rem;
|
|
1892
|
-
}
|
|
1893
|
-
|
|
1894
|
-
/* ── Responsive breakpoints via container queries ── */
|
|
1895
|
-
@container (max-width: 40rem) {
|
|
1896
|
-
.pane-icon-tray {
|
|
1897
|
-
justify-content: center;
|
|
1898
|
-
}
|
|
1899
|
-
.subject-block h1 {
|
|
1900
|
-
font-size: 1.15rem;
|
|
1901
|
-
}
|
|
1902
|
-
}
|
|
1903
|
-
|
|
1904
2167
|
/* Improved heading hierarchy */
|
|
1905
2168
|
h1, h2, h3, h4, h5, h6 {
|
|
1906
2169
|
color: var(--color-primary);
|
|
@@ -1935,6 +2198,21 @@ a:hover, a:focus {
|
|
|
1935
2198
|
text-decoration-thickness: 0.125em;
|
|
1936
2199
|
}
|
|
1937
2200
|
|
|
2201
|
+
/* Main page elements in databrowser.html */
|
|
2202
|
+
#PageBody {
|
|
2203
|
+
display: flex;
|
|
2204
|
+
flex-direction: column;
|
|
2205
|
+
}
|
|
2206
|
+
#DummyUUID {
|
|
2207
|
+
flex: 1 0 auto;
|
|
2208
|
+
}
|
|
2209
|
+
#PageHeader {
|
|
2210
|
+
flex-shrink: 0;
|
|
2211
|
+
}
|
|
2212
|
+
#PageFooter {
|
|
2213
|
+
flex-shrink: 0;
|
|
2214
|
+
}
|
|
2215
|
+
|
|
1938
2216
|
.warning {
|
|
1939
2217
|
color: var(--color-warning);
|
|
1940
2218
|
}
|
|
@@ -3270,39 +3548,5 @@ End of styles for tableViewPane
|
|
|
3270
3548
|
-o-box-shadow: $x-axis $y-axis $blur $color;
|
|
3271
3549
|
}
|
|
3272
3550
|
|
|
3273
|
-
/* Generated by AI */
|
|
3274
|
-
@media screen and (max-width: 768px) {
|
|
3275
|
-
#PageHeader,
|
|
3276
|
-
#PageFooter {
|
|
3277
|
-
width: 100%;
|
|
3278
|
-
}
|
|
3279
|
-
|
|
3280
|
-
img.outlineImage,
|
|
3281
|
-
img.pic,
|
|
3282
|
-
img.foafPic {
|
|
3283
|
-
height: auto;
|
|
3284
|
-
max-width: 100%;
|
|
3285
|
-
}
|
|
3286
|
-
|
|
3287
|
-
div.description,
|
|
3288
|
-
div.premises,
|
|
3289
|
-
div.justification,
|
|
3290
|
-
div.mildNotice {
|
|
3291
|
-
box-sizing: border-box;
|
|
3292
|
-
margin-left: 0;
|
|
3293
|
-
margin-right: 0;
|
|
3294
|
-
width: 100%;
|
|
3295
|
-
}
|
|
3296
|
-
}
|
|
3297
|
-
|
|
3298
|
-
html[data-layout="mobile"] #PageBody {
|
|
3299
|
-
min-height: var(--app-height, 100dvh);
|
|
3300
|
-
}
|
|
3301
|
-
|
|
3302
|
-
html[data-layout="mobile"] #MainContent {
|
|
3303
|
-
overscroll-behavior-x: contain;
|
|
3304
|
-
}
|
|
3305
|
-
|
|
3306
|
-
/* END of Generated by AI */
|
|
3307
3551
|
|
|
3308
3552
|
/*# sourceMappingURL=mash.css.map*/
|