mashlib 2.1.4-test.5 → 2.1.4-test.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.
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;
@@ -237,10 +243,12 @@
237
243
  .profile-grid .profileSection {
238
244
  width: 100%;
239
245
  max-width: 100%;
246
+ min-width: 0;
240
247
  box-sizing: border-box;
241
248
  margin-bottom: var(--spacing-md);
242
249
  box-sizing: border-box;
243
250
  margin-bottom: var(--spacing-md);
251
+ overflow-wrap: anywhere;
244
252
  }
245
253
 
246
254
  @media (min-width: 900px) {
@@ -361,6 +369,30 @@
361
369
 
362
370
  /* Utility-first CSS classes for layout, spacing, and responsiveness */
363
371
 
372
+ :root {
373
+ /* Added for profile-pane (editProfile) layout sizing */
374
+ --spacing-xxs: 0.4em;
375
+ --spacing-xxxs: 0.1em;
376
+ --profile-image-size: 3em;
377
+ }
378
+
379
+ @media (max-width: 1000px) {
380
+ .profile-grid,
381
+ .profile-grid * {
382
+ font-size: 2rem !important;
383
+ }
384
+
385
+ .profile-grid .actionButton,
386
+ .profile-grid .searchInput,
387
+ .profile-grid .flatButton,
388
+ .profile-grid .buttonSection button,
389
+ .profile-grid .groupButtonsList button {
390
+ min-height: calc(var(--min-touch-target) + 0.5em) !important;
391
+ font-size: 2rem !important;
392
+ padding: 1em 1em !important;
393
+ }
394
+ }
395
+
364
396
  .actionButton {
365
397
  width: 100%;
366
398
  min-width: 180px;
@@ -375,7 +407,8 @@
375
407
 
376
408
  .profile-grid {
377
409
  display: grid;
378
- grid-template-columns: repeat(auto-fit, minmax(30em, 1fr));
410
+ /* Allow the grid to shrink below 30em on small viewports to avoid overflow */
411
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 30em), 1fr));
379
412
  gap: var(--spacing-lg);
380
413
  background: var(--color-background);
381
414
  }
@@ -568,6 +601,13 @@
568
601
  box-shadow: none;
569
602
  }
570
603
 
604
+ /* Prevent labels from appearing focusable to keyboard users. */
605
+ label:focus,
606
+ label:focus-visible {
607
+ outline: none !important;
608
+ box-shadow: none !important;
609
+ }
610
+
571
611
  /* Better focus for text elements */
572
612
  .focusable-text:focus {
573
613
  background-color: rgba(124, 77, 255, 0.1);
@@ -689,23 +729,66 @@
689
729
  background-color: transparent;
690
730
  }
691
731
 
692
- /* this overrides a style coming from contacts-pane*/
732
+ /* Delete pop up*/
733
+ /* Make the Solid-UI delete confirmation popup appear near the last click position.
734
+ Keep the built-in Solid-UI styling (orange border, white background) so it looks like the original.
735
+ */
736
+ .profile-grid div[style*="position: relative"] > div[style*="display: grid"] {
737
+ /* only override positioning; keep styling (border/background/etc) from solid-ui */
738
+ position: absolute !important;
739
+ z-index: 9999 !important;
740
+ top: 0 !important;
741
+ right: 0 !important;
742
+ left: auto !important;
743
+ display: grid !important;
744
+ pointer-events: auto !important;
745
+ opacity: 1 !important;
746
+ visibility: visible !important;
747
+ padding: 0.7em !important;
748
+ min-width: 280px !important;
749
+ max-width: 90vw !important;
750
+ background: var(--color-background) !important;
751
+ border: 0.1em solid var(--color-primary) !important;
752
+ border-radius: var(--border-radius-base) !important;
753
+ box-shadow: 0 0.5em 0.9em rgba(0, 0, 0, 0.2) !important;
754
+ grid-template-columns: auto auto !important;
755
+ gap: 0.3em !important;
756
+ }
757
+
758
+ /* Ensure SVG icons and their buttons inside the Solid-UI delete popup have transparent backgrounds */
759
+ .profile-grid div[style*="position: relative"] > div[style*="display: grid"] img[src$=".svg"],
760
+ .profile-grid div[style*="position: relative"] > div[style*="display: grid"] button {
761
+ background: transparent !important;
762
+ }
763
+
693
764
  .profile-form .individualPane {
694
765
  box-shadow: none !important;
695
766
  }
696
767
 
697
- /* Vertically center autocomplete input in .formFieldValue */
698
- .profile-form .formFieldValue > div[style*="flex-direction: row"] {
699
- align-items: center;
700
- display: flex;
768
+ .profile-form p {
769
+ padding: 0 !important;
701
770
  }
702
771
 
703
- .profile-form .formFieldValue input[data-testid="autocomplete-input"] {
704
- vertical-align: middle;
772
+ .profile-form .mb-md {
773
+ margin-bottom: 0 !important;
774
+ }
775
+
776
+ .profile-form h2 {
777
+ margin-bottom: 1em !important;
705
778
  }
779
+
780
+ .profile-form h3 {
781
+ color: var(--color-primary) !important;
782
+ padding: 0 !important;
783
+ font-size: 1em !important;
784
+ font-weight: 600 !important;
785
+ }
786
+
787
+ /* Shared form layout rules are imported from rdfFormsCommon.css */
706
788
  /* Solid-UI form sizing fixes scoped to Edit CV section */
707
789
  .profile-form .hoverControl:not(:has(> img:first-child)) {
708
790
  border: 0.1em solid rgb(136, 136, 136) !important;
791
+ flex-direction: column !important;
709
792
  }
710
793
 
711
794
  .profile-form .hoverControl:has(> img:first-child) {
@@ -722,40 +805,107 @@
722
805
  justify-content: center;
723
806
  }
724
807
 
725
- .profile-form .hoverControlHide {
808
+ /* Make sure the delete icon floats in the top-right corner of the full hoverControl wrapper */
809
+ .profile-form .hoverControl,
810
+ .profile-grid .hoverControl {
811
+ position: relative !important;
812
+ }
813
+
814
+ .hoverControl > img.hoverControlHide,
815
+ .hoverControl > [data-testid="deleteButtonWithCheck"] {
816
+ position: absolute !important;
817
+ top: 0.2em !important;
818
+ right: 0.2em !important;
726
819
  width: 1.5em !important;
727
820
  height: 1.5em !important;
728
- display: block;
729
- margin-top: 0 !important;
730
- margin-left: 0 !important;
731
- margin-right: 0 !important;
732
- margin-bottom: 0.3em !important;
821
+ display: none !important;
822
+ align-items: center;
823
+ justify-content: center;
824
+ margin: 0 !important;
825
+ float: none !important;
826
+ transform: none !important;
733
827
  }
734
828
 
735
- .profile-form .hoverControl:has(> img:first-child) > span {
736
- display: inline-flex;
737
- align-items: center;
738
- margin-left: 0.3em;
829
+ /* When icon is 2nd or 3rd child (i.e. sibling elements exist), align it vertically to the previous item */
830
+ .hoverControl > img.hoverControlHide:nth-child(1),
831
+ .hoverControl > img.hoverControlHide:nth-child(2),
832
+ .hoverControl > [data-testid="deleteButtonWithCheck"]:nth-child(1),
833
+ .hoverControl > [data-testid="deleteButtonWithCheck"]:nth-child(2) {
834
+ top: 50% !important;
835
+ transform: translateY(-50%) !important;
836
+ }
837
+
838
+ /* Show the delete icon only when the container is hovered */
839
+ .profile-grid .hoverControl:hover > img.hoverControlHide,
840
+ .profile-grid .hoverControl:hover > [data-testid="deleteButtonWithCheck"] {
841
+ display: inline-flex !important;
739
842
  }
740
843
 
741
- .profile-form div[style*="padding: 0.5em"]:has(> img) {
844
+ /* Also show the delete icon when the entire row is hovered */
845
+ .profile-grid .attachmentTable tr:hover .hoverControl > img.hoverControlHide,
846
+ .profile-grid .attachmentTable tr:hover .hoverControl > [data-testid="deleteButtonWithCheck"] {
847
+ display: inline-flex !important;
848
+ }
849
+
850
+ /* Make the hover-control cell easier to hit */
851
+ .profile-grid .hoverControl {
852
+ padding: 0.75em !important;
853
+ min-width: 2.5em !important;
854
+ min-height: 2.5em !important;
855
+ }
856
+
857
+ /* When the hoverControl only contains the hidden delete icon, keep it out of layout so it doesn't create empty space */
858
+ .profile-form .formFieldValue .hoverControl:has(> img.hoverControlHide) {
859
+ min-width: 0 !important;
860
+ min-height: 0 !important;
861
+ width: 0 !important;
862
+ height: 0 !important;
863
+ padding: 0 !important;
864
+ margin: 0 !important;
865
+ overflow: visible !important;
866
+ }
867
+
868
+ /* Hide delete icon only in autocomplete fields */
869
+ .profile-grid .formFieldValue:has(input[data-testid="autocomplete-input"]) [data-testid="delete-button"] {
870
+ display: none !important;
871
+ }
872
+
873
+ /* Keep autocomplete cancel button hidden when the user is not interacting.
874
+ This avoids the cancel button remaining visible when focus moves away. */
875
+ .profile-grid .formFieldValue:not(:focus-within) [data-testid="cancel-button"] {
876
+ display: none !important;
877
+ }
878
+
879
+ .profile-grid .hoverControl:has(> img:first-child) > span {
742
880
  display: inline-flex;
743
881
  align-items: center;
882
+ margin-left: 0.3em;
744
883
  }
745
884
 
746
- .profile-form div[style*="padding: 0.5em"]:has(> img) > span {
885
+ .profile-grid div[style*="padding: 0.5em"]:has(> img) > span {
747
886
  margin-left: 0.3em;
887
+ vertical-align: super !important;
748
888
  }
749
889
 
750
- .profile-form .hoverControl:has(> img:first-child):hover {
890
+ .profile-grid .hoverControl:has(> img:first-child):hover {
751
891
  background-color: transparent !important;
752
892
  }
753
893
 
754
- .profile-form button:has(> img[src$=".svg"]) {
755
- background-color: transparent !important;
894
+ .profile-grid button:has(> img[src$=".svg"]),
895
+ .profile-grid .formFieldValue input[type ="color"] {
896
+ background-color: var(--color-section-bg) !important;
756
897
  border: none !important;
757
898
  margin: 0 !important;
758
899
  border-radius: 0 !important;
900
+ box-shadow: none !important;
901
+ padding: 0.5em !important;
902
+ transition: background-color 0.2s ease, box-shadow 0.2s ease;
903
+ padding: 0 !important;
904
+ }
905
+
906
+ /* Specific icon button should have no extra padding */
907
+ .profile-grid button:has(> img[src="https://solidos.github.io/solid-ui/src/icons/noun_1369241.svg"]) {
908
+ padding: 0 !important;
759
909
  }
760
910
 
761
911
  .profile-form button {
@@ -763,10 +913,16 @@
763
913
  min-width: var(--min-touch-target);
764
914
  }
765
915
 
916
+ .profile-form input:not([type="color"]) {
917
+ width: 99%;
918
+ margin-left: 0 !important;
919
+ margin-right: 0 !important;
920
+ }
921
+
766
922
  .profile-form input:not([type="color"]),
767
923
  .profile-form textarea,
768
924
  .profile-form select {
769
- max-width: 100%;
925
+ max-width: 96%;
770
926
  min-width: 0;
771
927
  box-sizing: border-box ;
772
928
  font: inherit;
@@ -801,32 +957,6 @@
801
957
  width: 100%;
802
958
  }
803
959
 
804
- .profile-form .formFieldValue {
805
- min-width: 0;
806
- margin-bottom: var(--spacing-sm);
807
- }
808
-
809
- .profile-form .formFieldValue table {
810
- margin: 0 !important;
811
- padding: 0 !important;
812
- }
813
-
814
- .profile-form .formFieldValue td {
815
- padding: 0 !important;
816
- vertical-align: middle;
817
- }
818
-
819
- .profile-form .formFieldValue table[data-testid="autocomplete-table"] {
820
- height: 100%;
821
- }
822
-
823
- .profile-form .formFieldValue input:not([type="color"]),
824
- .profile-form .formFieldValue textarea,
825
- .profile-form .formFieldValue select {
826
- width: 100%;
827
- max-width: 100%;
828
- }
829
-
830
960
  .profile-form select#formSelect {
831
961
  width: 100%;
832
962
  max-width: 97%;
@@ -835,11 +965,6 @@
835
965
  margin-right: 0 !important;
836
966
  }
837
967
 
838
- .profile-form .formFieldValue span select {
839
- margin-left: 0 !important;
840
- margin-right: 0 !important;
841
- }
842
-
843
968
  /* Remove border/padding from the first wrapper div (and its first child wrapper). */
844
969
  .profile-form > div:first-of-type,
845
970
  .profile-form > div:first-of-type > div:first-of-type {
@@ -862,7 +987,6 @@ section[aria-labelledby="edit-profile-contact-heading"] .profile-form > div:firs
862
987
  /* Align schema.org, solid terms, FOAF, vCard, and org field labels with their input values. */
863
988
  .profile-form :not(.choiceBox):has(> .formFieldName):has(> .formFieldValue) {
864
989
  display: flex;
865
- margin-bottom: var(--spacing-sm);
866
990
  }
867
991
 
868
992
  /* for the Resume inside corporation choice */
@@ -894,10 +1018,6 @@ section[aria-labelledby="edit-profile-contact-heading"] .profile-form > div:firs
894
1018
  margin-left: 0 !important;
895
1019
  }
896
1020
 
897
- .profile-form .formFieldValue > span > select {
898
- margin-left: 0 !important;
899
- }
900
-
901
1021
  /* for the social media */
902
1022
  /* Add space between classifierBox label and select box */
903
1023
  section[data-testid="edit-social-section"] .classifierBox-label {
@@ -944,7 +1064,7 @@ section[data-testid="edit-social-section"] .classifierBox-selectBox select {
944
1064
  border-width: .05em !important;
945
1065
  border-color: #88c !important;
946
1066
  border-radius: 0.2em !important;
947
- width: 100%;
1067
+ width: 99%;
948
1068
  box-sizing: border-box;
949
1069
  margin-top: var(--spacing-xs);
950
1070
  margin-left: 0 !important;
@@ -966,33 +1086,11 @@ section[data-testid="edit-social-section"] .classifierBox-selectBox select {
966
1086
  padding-top: var(--spacing-sm);
967
1087
  }
968
1088
 
969
- /* Keep autocomplete/table-based fields (e.g. Occupation) aligned to label text baseline. */
970
- .profile-form :not(.choiceBox):has(> .formFieldValue input[data-testid="autocomplete-input"]) {
971
- align-items: flex-start;
972
- }
973
1089
 
974
1090
  .profile-form :not(.choiceBox):has(> .formFieldValue input[data-testid="autocomplete-input"]) > .formFieldName {
975
1091
  padding-top: 0.55em !important;
976
1092
  }
977
1093
 
978
- .profile-form .formFieldValue:has(input[data-testid="autocomplete-input"]) {
979
- align-self: flex-start;
980
- }
981
-
982
- .profile-form .formFieldValue table[data-testid="autocomplete-table"],
983
- .profile-form .formFieldValue input[data-testid="autocomplete-input"] {
984
- margin: 0 !important;
985
- }
986
-
987
- .profile-form .formFieldValue table[data-testid="autocomplete-table"] {
988
- vertical-align: baseline;
989
- }
990
-
991
- .profile-form input:not([type="color"]) {
992
- width: 100%;
993
- margin-left: 0 !important;
994
- margin-right: 0 !important;
995
- }
996
1094
 
997
1095
  .profile-form input:disabled,
998
1096
  .profile-form textarea:disabled,
@@ -1011,6 +1109,108 @@ section[data-testid="edit-social-section"] .classifierBox-selectBox select {
1011
1109
  border: none !important;
1012
1110
  }
1013
1111
 
1112
+ /* Hide the edit icon used by solid-ui (noun_253504.svg and noun_1180158.svg) when it appears as an <img> */
1113
+ img[src*="noun_253504.svg"],
1114
+ img[src*="noun_1180158.svg"] {
1115
+ display: none !important;
1116
+ width: 0 !important;
1117
+ height: 0 !important;
1118
+ margin: 0 !important;
1119
+ padding: 0 !important;
1120
+ }
1121
+
1122
+ /* Ensure the parent button for that icon doesn't add padding/margin or affect layout */
1123
+ button:has(> img[src*="noun_253504.svg"]),
1124
+ button:has(> img[src*="noun_1180158.svg"]) {
1125
+ display: none !important;
1126
+ padding: 0 !important;
1127
+ margin: 0 !important;
1128
+ border: none !important;
1129
+ background: none !important;
1130
+ width: 0 !important;
1131
+ height: 0 !important;
1132
+ overflow: hidden !important;
1133
+ }
1134
+
1135
+ /* Exceptions: allow these icons (and their buttons) when they're part of the add-friend or add-community flows. */
1136
+ .profile-grid .profileSection .add-friend-button-container img[src="https://solidos.github.io/solid-ui/src/icons/noun_253504.svg"],
1137
+ .profile-grid .profileSection .add-community-button-container img[src="https://solidos.github.io/solid-ui/src/icons/noun_253504.svg"],
1138
+ .profile-grid .profileSection .add-friend-button-container button:has(> img[src="https://solidos.github.io/solid-ui/src/icons/noun_253504.svg"]),
1139
+ .profile-grid .profileSection .add-community-button-container button:has(> img[src="https://solidos.github.io/solid-ui/src/icons/noun_253504.svg"]) {
1140
+ display: inline-flex !important;
1141
+ width: auto !important;
1142
+ height: auto !important;
1143
+ overflow: visible !important;
1144
+ }
1145
+
1146
+
1147
+ /* Exception: allow “Continue” buttons inside add-friend and add-community button containers. */
1148
+ .profile-grid .profileSection .add-friend-button-container button:has(> img[title="Continue"]),
1149
+ .profile-grid .profileSection .add-community-button-container button:has(> img[title="Continue"]),
1150
+ .profile-grid .profileSection .add-friend-button-container button:has(> img[src="https://solidos.github.io/solid-ui/src/icons/noun_1180158.svg"]),
1151
+ .profile-grid .profileSection .add-community-button-container button:has(> img[src="https://solidos.github.io/solid-ui/src/icons/noun_1180158.svg"]),
1152
+ .profile-grid .profileSection .add-friend-button-container img[src="https://solidos.github.io/solid-ui/src/icons/noun_1180158.svg"],
1153
+ .profile-grid .profileSection .add-community-button-container img[src="https://solidos.github.io/solid-ui/src/icons/noun_1180158.svg"] {
1154
+ display: inline-flex !important;
1155
+ width: 2em !important;
1156
+ height: 2em !important;
1157
+ overflow: visible !important;
1158
+ }
1159
+
1160
+ .profile-grid .add-friend-button-container,
1161
+ .profile-grid .add-community-button-container {
1162
+ display: inline-flex;
1163
+ align-items: center;
1164
+ gap: var(--spacing-xxs);
1165
+ flex-wrap: wrap;
1166
+ justify-content: flex-start;
1167
+ }
1168
+
1169
+ /* Ensure the button container can shrink properly in narrow layouts */
1170
+ .profile-grid .add-community-button-container {
1171
+ min-width: 0;
1172
+ max-width: 100%;
1173
+ }
1174
+
1175
+ /* Allow any direct children to shrink so no element forces overflow */
1176
+ .profile-grid .add-community-button-container > * {
1177
+ min-width: 0;
1178
+ max-width: 100%;
1179
+ }
1180
+
1181
+ .profile-grid table {
1182
+ margin: 0 !important;
1183
+ }
1184
+
1185
+ .profile-grid td {
1186
+ padding: 0;
1187
+ }
1188
+
1189
+ .profile-grid .add-friend-button-container .span,
1190
+ .profile-grid .add-community-button-container .span {
1191
+ display: inline-flex;
1192
+ align-items: center;
1193
+ }
1194
+
1195
+ .profile-grid .add-friend-button-container > div,
1196
+ .profile-grid .add-community-button-container > div {
1197
+ flex-basis: 100%;
1198
+ }
1199
+
1200
+ /* Prevent the add-community input from overflowing its flex container */
1201
+ .profile-grid .add-community-button-container input {
1202
+ min-width: 0;
1203
+ max-width: 96%;
1204
+ flex: 1 1 0;
1205
+ word-break: break-word;
1206
+ }
1207
+
1208
+ .profile-grid .profile-image {
1209
+ width: var( --profile-image-size);
1210
+ height: var( --profile-image-size);
1211
+ margin: var(--spacing-xxxs);
1212
+ border-radius: var(--spacing-lg);
1213
+ }
1014
1214
  /*
1015
1215
  ** Light Theme (Default)
1016
1216
  ** Default color scheme for SolidOS