@trebired/frontend 12.10.0 → 12.10.1
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/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,28 @@ All notable changes to `@trebired/frontend` will be documented here.
|
|
|
4
4
|
|
|
5
5
|
This project follows semantic versioning once published.
|
|
6
6
|
|
|
7
|
+
## 12.10.1
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- `.card-row[role="button"]` (the select-card layout used by `select()`, e.g. "Empty
|
|
12
|
+
repository" / "Upload or import" / "Clone repository" mode pickers) never showed
|
|
13
|
+
`cursor: pointer` despite being interactive — plain `cursor: auto` throughout. Added
|
|
14
|
+
`cursor: pointer` (and `cursor: not-allowed` for the `aria-disabled="true"` case).
|
|
15
|
+
- The static dropdown's options panel could render far from its trigger when flipped to
|
|
16
|
+
open *above* it, worse the more times the same dropdown was opened/closed. Root cause:
|
|
17
|
+
`.dropdown-list li` uses `content-visibility: auto` (a real perf win for long lists), but
|
|
18
|
+
right after the panel goes from collapsed to measured/shown, the browser doesn't always
|
|
19
|
+
have an up-to-date relevance check yet, so `positionStaticOptions()`'s
|
|
20
|
+
`getBoundingClientRect()` measurement could read a stale/placeholder height instead of
|
|
21
|
+
the option list's true rendered height — worse and inconsistent on repeated opens of the
|
|
22
|
+
same dropdown. The flip-above offset is computed directly from that height, so a wrong
|
|
23
|
+
measurement lands the panel well off from the trigger once flipped, overlapping whatever
|
|
24
|
+
else is on the page above it. Fixed by forcing `content-visibility: visible` on the list
|
|
25
|
+
items specifically while the panel is being measured or is shown (`data-dropdown-measuring`
|
|
26
|
+
/ `data-dropdown-show`), leaving `auto` deferral in place for the collapsed/hidden state
|
|
27
|
+
where it doesn't matter because nothing is visible anyway.
|
|
28
|
+
|
|
7
29
|
## 12.10.0
|
|
8
30
|
|
|
9
31
|
### Fixed
|
|
@@ -107,6 +107,25 @@
|
|
|
107
107
|
contain-intrinsic-height: auto var(--height-input);
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
+
/**
|
|
111
|
+
* `content-visibility: auto` above defers layout of off-screen options for
|
|
112
|
+
* long lists, using `contain-intrinsic-height` as a placeholder size. Right
|
|
113
|
+
* after the panel goes from collapsed (see the zero-size rule below) to
|
|
114
|
+
* either being measured or shown, the browser hasn't always run the
|
|
115
|
+
* relevance check that would make it lay these out for real yet — so
|
|
116
|
+
* `getBoundingClientRect()` on the panel during `positionStaticOptions()`
|
|
117
|
+
* can read the placeholder-based (wrong, and inconsistent run to run) height
|
|
118
|
+
* instead of the true one, landing the panel far from its trigger once
|
|
119
|
+
* flipped above it. Forcing full layout only while genuinely measuring or
|
|
120
|
+
* shown keeps the (still real, list can be scrolled) auto behavior for the
|
|
121
|
+
* collapsed/hidden state, where it doesn't matter because nothing is visible
|
|
122
|
+
* anyway.
|
|
123
|
+
*/
|
|
124
|
+
.options[data-dropdown-portaled="true"][data-dropdown-measuring="true"] .dropdown-list li,
|
|
125
|
+
.options[data-dropdown-portaled="true"][data-dropdown-show="true"] .dropdown-list li {
|
|
126
|
+
content-visibility: visible;
|
|
127
|
+
}
|
|
128
|
+
|
|
110
129
|
.options[data-dropdown-portaled="true"] .dropdown-list li:hover {
|
|
111
130
|
background: var(#{ns.css-var("ui-dropdown-option-state-hover-bg")}, var(--background-surface-2, transparent));
|
|
112
131
|
}
|
package/package.json
CHANGED