@ship-ui/core 0.17.14 → 0.17.16
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
|
@@ -167,8 +167,7 @@ $shipMenu: true !default;
|
|
|
167
167
|
justify-content: flex-start;
|
|
168
168
|
align-items: center;
|
|
169
169
|
text-align: left;
|
|
170
|
-
|
|
171
|
-
height: min-content;
|
|
170
|
+
height: auto;
|
|
172
171
|
margin: p2r(0 8);
|
|
173
172
|
padding: p2r(4 8);
|
|
174
173
|
gap: p2r(0 8);
|
|
@@ -182,6 +181,15 @@ $shipMenu: true !default;
|
|
|
182
181
|
transition: transform 125ms linear;
|
|
183
182
|
transform: scale(1);
|
|
184
183
|
|
|
184
|
+
&:before {
|
|
185
|
+
content: '';
|
|
186
|
+
|
|
187
|
+
min-height: p2r(24);
|
|
188
|
+
display: inline-block;
|
|
189
|
+
width: 0;
|
|
190
|
+
margin-right: p2r(-8);
|
|
191
|
+
}
|
|
192
|
+
|
|
185
193
|
&:active {
|
|
186
194
|
transform: scale(0.98);
|
|
187
195
|
}
|
|
@@ -11,6 +11,7 @@ $shipTooltip: true !default;
|
|
|
11
11
|
@if $shipTooltip == true {
|
|
12
12
|
.tooltip {
|
|
13
13
|
position: relative;
|
|
14
|
+
display: flex;
|
|
14
15
|
pointer-events: initial !important;
|
|
15
16
|
|
|
16
17
|
&:after {
|
|
@@ -55,7 +56,9 @@ $shipTooltip: true !default;
|
|
|
55
56
|
z-index: 1;
|
|
56
57
|
|
|
57
58
|
@supports (anchor-name: --anchor) {
|
|
58
|
-
|
|
59
|
+
.tooltip-content {
|
|
60
|
+
transform: translateY(0) scaleY(1) scaleX(1);
|
|
61
|
+
}
|
|
59
62
|
}
|
|
60
63
|
}
|
|
61
64
|
}
|
|
@@ -66,29 +69,27 @@ $shipTooltip: true !default;
|
|
|
66
69
|
--tt-c: var(--base-12);
|
|
67
70
|
--tt-mh: #{p2r(136)};
|
|
68
71
|
--tt-mw: #{p2r(280)};
|
|
72
|
+
--tt-translate-y: 50%;
|
|
69
73
|
|
|
70
74
|
position: fixed;
|
|
71
|
-
padding: p2r(0 0 12);
|
|
72
|
-
|
|
73
75
|
font: var(--paragraph-30);
|
|
74
76
|
width: max-content;
|
|
75
77
|
overflow: visible;
|
|
76
78
|
box-shadow: none;
|
|
77
|
-
margin: initial;
|
|
78
79
|
background: transparent;
|
|
79
80
|
border: 0;
|
|
80
81
|
|
|
82
|
+
padding: 0;
|
|
83
|
+
margin: 0;
|
|
84
|
+
margin-block-end: p2r(12);
|
|
85
|
+
|
|
81
86
|
@supports (anchor-name: --anchor) {
|
|
82
|
-
transform: translateY(50%) scaleY(0) scaleX(0.8);
|
|
83
|
-
transition: transform 125ms linear;
|
|
84
87
|
inset: unset;
|
|
85
88
|
justify-self: anchor-center;
|
|
86
89
|
bottom: anchor(top);
|
|
87
90
|
position: fixed;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
flip-inline,
|
|
91
|
-
flip-block flip-inline;
|
|
91
|
+
|
|
92
|
+
position-try-order: normal;
|
|
92
93
|
position-try-fallbacks:
|
|
93
94
|
flip-block,
|
|
94
95
|
flip-inline,
|
|
@@ -98,7 +99,8 @@ $shipTooltip: true !default;
|
|
|
98
99
|
&:before {
|
|
99
100
|
content: '';
|
|
100
101
|
position: absolute;
|
|
101
|
-
bottom:
|
|
102
|
+
bottom: p2r(-12);
|
|
103
|
+
top: auto;
|
|
102
104
|
left: 50%;
|
|
103
105
|
z-index: 1;
|
|
104
106
|
transform: translateX(-50%);
|
|
@@ -112,13 +114,19 @@ $shipTooltip: true !default;
|
|
|
112
114
|
}
|
|
113
115
|
|
|
114
116
|
&.below {
|
|
115
|
-
|
|
117
|
+
--tt-translate-y: -50%;
|
|
118
|
+
|
|
116
119
|
&:before {
|
|
117
120
|
border-top-color: transparent;
|
|
118
121
|
border-bottom-color: var(--tt-bg);
|
|
119
|
-
top:
|
|
122
|
+
top: p2r(-12);
|
|
120
123
|
bottom: auto;
|
|
121
124
|
}
|
|
125
|
+
|
|
126
|
+
@supports not (anchor-name: --anchor) {
|
|
127
|
+
margin-block-start: p2r(12);
|
|
128
|
+
margin-block-end: 0;
|
|
129
|
+
}
|
|
122
130
|
}
|
|
123
131
|
|
|
124
132
|
.tooltip-content {
|
|
@@ -130,46 +138,14 @@ $shipTooltip: true !default;
|
|
|
130
138
|
max-height: var(--tt-mh);
|
|
131
139
|
max-width: var(--tt-mw);
|
|
132
140
|
overflow: auto;
|
|
133
|
-
// background: none;
|
|
134
141
|
background: var(--tt-bg);
|
|
135
142
|
border-radius: var(--shape-2);
|
|
136
143
|
box-shadow: var(--box-shadow-20);
|
|
137
|
-
}
|
|
138
144
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
// }
|
|
145
|
-
// /* Attempt 2: Position above and align to the start (left) of the trigger */
|
|
146
|
-
// @try {
|
|
147
|
-
// bottom: calc(anchor(top) + 8px); /* 8px gap */
|
|
148
|
-
// left: anchor(left);
|
|
149
|
-
// }
|
|
150
|
-
// /* Attempt 3: Position below and align to the end (right) of the trigger */
|
|
151
|
-
// @try {
|
|
152
|
-
// top: calc(anchor(bottom) + 8px);
|
|
153
|
-
// right: anchor(right);
|
|
154
|
-
// }
|
|
155
|
-
// /* Attempt 4: Position above and align to the end (right) of the trigger */
|
|
156
|
-
// @try {
|
|
157
|
-
// bottom: calc(anchor(top) + 8px);
|
|
158
|
-
// right: anchor(right);
|
|
159
|
-
// }
|
|
160
|
-
// /* Attempt 5: (More advanced) If it's too wide, try to align center, below */
|
|
161
|
-
// @try {
|
|
162
|
-
// top: calc(anchor(bottom) + 8px);
|
|
163
|
-
// left: anchor(center);
|
|
164
|
-
// /* This might need more constraints or a width calculation if it's wider than anchor */
|
|
165
|
-
// transform: translateX(-50%); /* Center it based on its own width */
|
|
166
|
-
// }
|
|
167
|
-
// /* Attempt 6: (More advanced) If it's too wide, try to align center, above */
|
|
168
|
-
// @try {
|
|
169
|
-
// bottom: calc(anchor(top) + 8px);
|
|
170
|
-
// left: anchor(center);
|
|
171
|
-
// transform: translateX(-50%);
|
|
172
|
-
// }
|
|
173
|
-
// }
|
|
145
|
+
@supports (anchor-name: --anchor) {
|
|
146
|
+
transform: translateY(var(--tt-translate-y)) scaleY(0) scaleX(0.8);
|
|
147
|
+
transition: transform 125ms linear;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
174
150
|
}
|
|
175
151
|
}
|
package/types/ship-ui-core.d.ts
CHANGED
|
@@ -498,12 +498,16 @@ declare class ShipMenu {
|
|
|
498
498
|
activeOptionIndex: _angular_core.WritableSignal<number>;
|
|
499
499
|
inputRef: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
500
500
|
optionsRef: _angular_core.Signal<ElementRef<HTMLDivElement> | undefined>;
|
|
501
|
+
private static openMenus;
|
|
502
|
+
openMenusEffect: _angular_core.EffectRef;
|
|
501
503
|
options: {
|
|
502
504
|
signal: _angular_core.Signal<HTMLButtonElement[]>;
|
|
503
505
|
destroy: () => void;
|
|
504
506
|
};
|
|
505
507
|
optionsEl: _angular_core.Signal<HTMLButtonElement[]>;
|
|
506
508
|
inputValue: _angular_core.WritableSignal<string | undefined>;
|
|
509
|
+
readonly optionsId: string;
|
|
510
|
+
activeOptionId: _angular_core.WritableSignal<string | undefined>;
|
|
507
511
|
abortController: AbortController | null;
|
|
508
512
|
optionsEffect: _angular_core.EffectRef;
|
|
509
513
|
keyDownEventListener: (e: KeyboardEvent) => void;
|
|
@@ -512,6 +516,8 @@ declare class ShipMenu {
|
|
|
512
516
|
lastInputValue: string;
|
|
513
517
|
inputValueEffect: _angular_core.EffectRef;
|
|
514
518
|
toggleIsOpen(event: MouseEvent): void;
|
|
519
|
+
open(): void;
|
|
520
|
+
onShipMenuOpen(event: Event): void;
|
|
515
521
|
activeOptionIndexEffect: _angular_core.EffectRef;
|
|
516
522
|
nextActiveIndex(activeIndex: number): number;
|
|
517
523
|
prevActiveIndex(activeIndex: number): number;
|
|
@@ -921,6 +927,8 @@ declare class ShipTooltipWrapper {
|
|
|
921
927
|
openEffect: _angular_core.EffectRef;
|
|
922
928
|
ngAfterViewInit(): void;
|
|
923
929
|
ngOnDestroy(): void;
|
|
930
|
+
private rafId;
|
|
931
|
+
private schedulePositionUpdate;
|
|
924
932
|
private calculateTooltipPosition;
|
|
925
933
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShipTooltipWrapper, never>;
|
|
926
934
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShipTooltipWrapper, "ship-tooltip-wrapper", never, { "positionAnchorName": { "alias": "positionAnchorName"; "required": true; "isSignal": true; }; "anchorEl": { "alias": "anchorEl"; "required": true; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "close": { "alias": "close"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|