@threadlabs/looma 0.22.2 → 0.22.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@threadlabs/looma",
3
- "version": "0.22.2",
3
+ "version": "0.22.3",
4
4
  "type": "module",
5
5
  "description": "Looma components as HTML, Vue, and plain DOM, with design tokens.",
6
6
  "license": "MIT",
@@ -14,6 +14,19 @@
14
14
  background: var(--ui-accent-subtle);
15
15
  }
16
16
 
17
+ /* The highlight and the initials circle share a tint; on the highlighted row the circle takes
18
+ the surface and a fine accent ring, so the initials stay visible. */
19
+ :scope[aria-selected="true"] .avatar {
20
+ background: var(--ui-surface);
21
+ box-shadow: inset 0 0 0 1px var(--ui-accent-soft);
22
+ }
23
+
24
+ /* A slotted Avatar (a person's photo) is its own circle. */
25
+ :scope .avatar:has(> [data-component~="ui-avatar"]) {
26
+ background: none;
27
+ box-shadow: none;
28
+ }
29
+
17
30
  .avatar {
18
31
  display: inline-flex;
19
32
  align-items: center;
@@ -55,3 +68,9 @@
55
68
  display: none;
56
69
  }
57
70
  }
71
+ @scope ([data-component~="ui-editor-mention-menu-item"]) to ([data-component]) {
72
+ /* The highlight and the initials circle share a tint; on the highlighted row the circle takes
73
+ the surface and a fine accent ring, so the initials stay visible. */
74
+
75
+ /* A slotted Avatar (a person's photo) is its own circle. */
76
+ }
@@ -83,6 +83,13 @@
83
83
  background: var(--ui-accent-subtle, rgb(59 130 246 / 0.1));
84
84
  }
85
85
 
86
+ /* The highlight and the initials circle share a tint; on the highlighted row the circle takes
87
+ the surface and a fine accent ring, so the initials stay visible. */
88
+ .item.active .avatar {
89
+ background: var(--ui-surface);
90
+ box-shadow: inset 0 0 0 1px var(--ui-accent-soft, var(--ui-accent-subtle));
91
+ }
92
+
86
93
  .avatar {
87
94
  display: inline-flex;
88
95
  align-items: center;
@@ -143,6 +150,9 @@
143
150
  }
144
151
  }
145
152
  @scope ([data-component~="ui-editor-mention-menu"]) to ([data-component]) {
146
- @media (max-width: 767px) {
153
+ /* The highlight and the initials circle share a tint; on the highlighted row the circle takes
154
+ the surface and a fine accent ring, so the initials stay visible. */
155
+
156
+ @media (max-width: 767px) {
147
157
  }
148
158
  }
@@ -450,6 +450,13 @@ useComponentHost(() => import('../components/ui-editor-mention-menu/ui-editor-me
450
450
  background: var(--ui-accent-subtle, rgb(59 130 246 / 0.1));
451
451
  }
452
452
 
453
+ /* The highlight and the initials circle share a tint; on the highlighted row the circle takes
454
+ the surface and a fine accent ring, so the initials stay visible. */
455
+ .item.active .avatar {
456
+ background: var(--ui-surface);
457
+ box-shadow: inset 0 0 0 1px var(--ui-accent-soft, var(--ui-accent-subtle));
458
+ }
459
+
453
460
  .avatar {
454
461
  display: inline-flex;
455
462
  align-items: center;
@@ -147,6 +147,19 @@ if (
147
147
  background: var(--ui-accent-subtle);
148
148
  }
149
149
 
150
+ /* The highlight and the initials circle share a tint; on the highlighted row the circle takes
151
+ the surface and a fine accent ring, so the initials stay visible. */
152
+ [data-component~="ui-editor-mention-menu-item"][aria-selected="true"] .avatar {
153
+ background: var(--ui-surface);
154
+ box-shadow: inset 0 0 0 1px var(--ui-accent-soft);
155
+ }
156
+
157
+ /* A slotted Avatar (a person's photo) is its own circle. */
158
+ [data-component~="ui-editor-mention-menu-item"] .avatar:has(> [data-component~="ui-avatar"]) {
159
+ background: none;
160
+ box-shadow: none;
161
+ }
162
+
150
163
  .avatar {
151
164
  display: inline-flex;
152
165
  align-items: center;
@@ -511,6 +511,6 @@ var UiEditorMentionMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_defaul
511
511
  }]]);
512
512
  };
513
513
  }
514
- }), [["__scopeId", "data-v-40241d5b"]]);
514
+ }), [["__scopeId", "data-v-4e4cf8c6"]]);
515
515
  //#endregion
516
516
  export { UiEditorMentionMenu_default as t };
@@ -123,6 +123,6 @@ var UiEditorMentionMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_de
123
123
  }]]);
124
124
  };
125
125
  }
126
- }), [["__scopeId", "data-v-0efb3ba1"]]);
126
+ }), [["__scopeId", "data-v-58580723"]]);
127
127
  //#endregion
128
128
  export { UiEditorMentionMenuItem_default as t };
@@ -2837,10 +2837,10 @@ from {
2837
2837
  display: none;
2838
2838
  }
2839
2839
 
2840
- [data-component~="ui-editor-mention-menu"][data-v-40241d5b] {
2840
+ [data-component~="ui-editor-mention-menu"][data-v-4e4cf8c6] {
2841
2841
  user-select: none;
2842
2842
  }
2843
- [data-component~="ui-editor-mention-menu"][data-v-40241d5b] {
2843
+ [data-component~="ui-editor-mention-menu"][data-v-4e4cf8c6] {
2844
2844
  display: flex;
2845
2845
  overflow: hidden;
2846
2846
  flex-direction: column;
@@ -2849,7 +2849,7 @@ from {
2849
2849
  border-radius: var(--ui-radius-dialog);
2850
2850
  box-shadow: var(--ui-shadow-lg, 0 8px 24px rgb(0 0 0 / 0.12));
2851
2851
  }
2852
- .header[data-v-40241d5b] {
2852
+ .header[data-v-4e4cf8c6] {
2853
2853
  display: flex;
2854
2854
  align-items: center;
2855
2855
  justify-content: space-between;
@@ -2860,23 +2860,23 @@ from {
2860
2860
  font-size: var(--ui-font-size-xs);
2861
2861
  font-weight: var(--ui-font-semibold);
2862
2862
  }
2863
- [data-component~="ui-editor-mention-menu"] > .header[data-v-40241d5b]:empty,
2864
- [data-component~="ui-editor-mention-menu"] > .empty[data-v-40241d5b]:empty {
2863
+ [data-component~="ui-editor-mention-menu"] > .header[data-v-4e4cf8c6]:empty,
2864
+ [data-component~="ui-editor-mention-menu"] > .empty[data-v-4e4cf8c6]:empty {
2865
2865
  display: none;
2866
2866
  }
2867
- .empty[data-v-40241d5b] {
2867
+ .empty[data-v-4e4cf8c6] {
2868
2868
  padding: var(--ui-space-3);
2869
2869
  color: var(--ui-text-muted);
2870
2870
  font-size: var(--ui-font-size-sm);
2871
2871
  }
2872
- .hint[data-v-40241d5b] {
2872
+ .hint[data-v-4e4cf8c6] {
2873
2873
  overflow: hidden;
2874
2874
  color: var(--ui-text-muted);
2875
2875
  font-weight: var(--ui-font-normal);
2876
2876
  text-overflow: ellipsis;
2877
2877
  white-space: nowrap;
2878
2878
  }
2879
- .list[data-v-40241d5b] {
2879
+ .list[data-v-4e4cf8c6] {
2880
2880
  max-height: 280px;
2881
2881
  padding: var(--ui-space-1) 0;
2882
2882
  margin: 0;
@@ -2905,7 +2905,7 @@ from {
2905
2905
  -1px calc(100% - var(--_ui-scroll-fade-size)),
2906
2906
  calc(100% - var(--_ui-scroll-fade-size)) 100%;
2907
2907
  }
2908
- .item[data-v-40241d5b] {
2908
+ .item[data-v-4e4cf8c6] {
2909
2909
  display: flex;
2910
2910
  align-items: center;
2911
2911
  min-height: 44px;
@@ -2913,10 +2913,17 @@ from {
2913
2913
  gap: var(--ui-space-3);
2914
2914
  cursor: pointer;
2915
2915
  }
2916
- .item.active[data-v-40241d5b] {
2916
+ .item.active[data-v-4e4cf8c6] {
2917
2917
  background: var(--ui-accent-subtle, rgb(59 130 246 / 0.1));
2918
2918
  }
2919
- .avatar[data-v-40241d5b] {
2919
+
2920
+ /* The highlight and the initials circle share a tint; on the highlighted row the circle takes
2921
+ the surface and a fine accent ring, so the initials stay visible. */
2922
+ .item.active .avatar[data-v-4e4cf8c6] {
2923
+ background: var(--ui-surface);
2924
+ box-shadow: inset 0 0 0 1px var(--ui-accent-soft, var(--ui-accent-subtle));
2925
+ }
2926
+ .avatar[data-v-4e4cf8c6] {
2920
2927
  display: inline-flex;
2921
2928
  align-items: center;
2922
2929
  justify-content: center;
@@ -2929,45 +2936,45 @@ from {
2929
2936
  font-size: var(--ui-font-size-xs);
2930
2937
  font-weight: var(--ui-font-semibold);
2931
2938
  }
2932
- .body[data-v-40241d5b] {
2939
+ .body[data-v-4e4cf8c6] {
2933
2940
  display: flex;
2934
2941
  min-width: 0;
2935
2942
  flex-direction: column;
2936
2943
  }
2937
- .label[data-v-40241d5b],
2938
- .detail[data-v-40241d5b] {
2944
+ .label[data-v-4e4cf8c6],
2945
+ .detail[data-v-4e4cf8c6] {
2939
2946
  overflow: hidden;
2940
2947
  text-overflow: ellipsis;
2941
2948
  white-space: nowrap;
2942
2949
  }
2943
- .label[data-v-40241d5b] {
2950
+ .label[data-v-4e4cf8c6] {
2944
2951
  color: var(--ui-text-primary);
2945
2952
  font-size: var(--ui-font-size-sm);
2946
2953
  font-weight: var(--ui-font-medium);
2947
2954
  }
2948
- .detail[data-v-40241d5b],
2949
- .loading[data-v-40241d5b] {
2955
+ .detail[data-v-4e4cf8c6],
2956
+ .loading[data-v-4e4cf8c6] {
2950
2957
  color: var(--ui-text-muted);
2951
2958
  font-size: var(--ui-font-size-xs);
2952
2959
  }
2953
- .loading[data-v-40241d5b] {
2960
+ .loading[data-v-4e4cf8c6] {
2954
2961
  min-height: 44px;
2955
2962
  padding: var(--ui-space-3);
2956
2963
  }
2957
2964
  @media (max-width: 767px) {
2958
- [data-component~="ui-editor-mention-menu"][data-v-40241d5b] {
2965
+ [data-component~="ui-editor-mention-menu"][data-v-4e4cf8c6] {
2959
2966
  border-bottom: 0;
2960
2967
  border-radius: var(--ui-radius-dialog) var(--ui-radius-dialog) 0 0;
2961
2968
  }
2962
- .list[data-v-40241d5b] {
2969
+ .list[data-v-4e4cf8c6] {
2963
2970
  max-height: calc(60dvh - 48px);
2964
2971
  }
2965
2972
  }
2966
- [data-component~="ui-editor-mention-menu"][hidden][data-v-40241d5b] {
2973
+ [data-component~="ui-editor-mention-menu"][hidden][data-v-4e4cf8c6] {
2967
2974
  display: none;
2968
2975
  }
2969
2976
 
2970
- [data-component~="ui-editor-mention-menu-item"][data-v-0efb3ba1] {
2977
+ [data-component~="ui-editor-mention-menu-item"][data-v-58580723] {
2971
2978
  display: flex;
2972
2979
  align-items: center;
2973
2980
  min-block-size: 44px;
@@ -2976,10 +2983,23 @@ from {
2976
2983
  cursor: pointer;
2977
2984
  list-style: none;
2978
2985
  }
2979
- [data-component~="ui-editor-mention-menu-item"][aria-selected="true"][data-v-0efb3ba1] {
2986
+ [data-component~="ui-editor-mention-menu-item"][aria-selected="true"][data-v-58580723] {
2980
2987
  background: var(--ui-accent-subtle);
2981
2988
  }
2982
- .avatar[data-v-0efb3ba1] {
2989
+
2990
+ /* The highlight and the initials circle share a tint; on the highlighted row the circle takes
2991
+ the surface and a fine accent ring, so the initials stay visible. */
2992
+ [data-component~="ui-editor-mention-menu-item"][aria-selected="true"] .avatar[data-v-58580723] {
2993
+ background: var(--ui-surface);
2994
+ box-shadow: inset 0 0 0 1px var(--ui-accent-soft);
2995
+ }
2996
+
2997
+ /* A slotted Avatar (a person's photo) is its own circle. */
2998
+ [data-component~="ui-editor-mention-menu-item"] .avatar[data-v-58580723]:has(> [data-component~="ui-avatar"]) {
2999
+ background: none;
3000
+ box-shadow: none;
3001
+ }
3002
+ .avatar[data-v-58580723] {
2983
3003
  display: inline-flex;
2984
3004
  align-items: center;
2985
3005
  justify-content: center;
@@ -2992,26 +3012,26 @@ from {
2992
3012
  font-size: var(--ui-font-size-xs);
2993
3013
  font-weight: var(--ui-font-semibold);
2994
3014
  }
2995
- .body[data-v-0efb3ba1] {
3015
+ .body[data-v-58580723] {
2996
3016
  display: flex;
2997
3017
  min-inline-size: 0;
2998
3018
  flex-direction: column;
2999
3019
  }
3000
- .label[data-v-0efb3ba1], .detail[data-v-0efb3ba1] {
3020
+ .label[data-v-58580723], .detail[data-v-58580723] {
3001
3021
  overflow: hidden;
3002
3022
  text-overflow: ellipsis;
3003
3023
  white-space: nowrap;
3004
3024
  }
3005
- .label[data-v-0efb3ba1] {
3025
+ .label[data-v-58580723] {
3006
3026
  color: var(--ui-text-primary);
3007
3027
  font-size: var(--ui-font-size-sm);
3008
3028
  font-weight: var(--ui-font-medium);
3009
3029
  }
3010
- .detail[data-v-0efb3ba1] {
3030
+ .detail[data-v-58580723] {
3011
3031
  color: var(--ui-text-muted);
3012
3032
  font-size: var(--ui-font-size-xs);
3013
3033
  }
3014
- [data-component~="ui-editor-mention-menu-item"][hidden][data-v-0efb3ba1] {
3034
+ [data-component~="ui-editor-mention-menu-item"][hidden][data-v-58580723] {
3015
3035
  display: none;
3016
3036
  }
3017
3037