editor-shell 0.33.0 → 0.33.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.
@@ -186,6 +186,56 @@
186
186
  flex: none;
187
187
  }
188
188
 
189
+ /* …EXCEPT IN THE ONE SLOT THIS PACKAGE HANDS CONSUMERS (card 66516).
190
+
191
+ `SettingsField` stacks its control into `.es-field-ctl`, and that slot is
192
+ `display: flex`. So `flex: none` above stops meaning "do not stretch" and
193
+ starts meaning "size to your own content" — and `container-type:
194
+ inline-size` is size containment on that axis, so this wrapper HAS no
195
+ content width to size to. The strip comes out at ZERO.
196
+
197
+ ⚠️ NEITHER DECLARATION ABOVE IS WRONG, WHICH IS WHY THIS IS AN EXCEPTION AND
198
+ NOT AN EDIT. The containment is what lets `100cqi` mean the strip's own
199
+ width for the word-drop arithmetic further down; `flex: none` is what keeps
200
+ the strip from stretching in the contexts it was written for. They collide
201
+ only here.
202
+
203
+ MEASURED, `tests/fixtures/field-slot-basis.html`, Chromium, before this rule:
204
+
205
+ panel field content strip in .es-field-ctl strip in a block row
206
+ 320px 320px 0px 320px
207
+ 220px 220px 0px 220px
208
+
209
+ The block-row column is the control: it is where every one of these strips
210
+ lived until now — a consumer's own block row, where `flex: none` is inert
211
+ and the box fills the line. That is why this looked right for a year and
212
+ why it broke for the first consumer that took this package's own advice.
213
+
214
+ ⚠️ FOUND BY A PERSON LOOKING, NOT BY A GUARD. Card 66508 shipped 1198 green
215
+ checks over this: every button present, `aria-pressed` correct, exactly one
216
+ chip active, the glyph in its slot, `tsc` clean, the PR MERGEABLE. All of
217
+ that is true of a control 0px wide. Our checks ask whether markup EXISTS;
218
+ this one asks whether it OCCUPIES SPACE, which is the gap that let it ship.
219
+
220
+ `flex: 1 1 auto` rather than a percentage width: the slot is a flex row that
221
+ may hold a value readout or a second control beside the strip, and a
222
+ percentage would overflow it the day it does. `min-width: 0` because a flex
223
+ item's automatic minimum is its content size, and the containment above
224
+ makes that meaningless here — without it the strip cannot shrink below the
225
+ basis the parent gives it.
226
+
227
+ BOTH `-fit` WRAPPERS, though only the segmented one has a live consumer
228
+ today. Measured in the shop at the time of writing: 1845 custom fields
229
+ rendered, 68 draw a tab strip, 0 of them inside `.es-field-ctl`. But
230
+ `PanelTabs` already draws a strip AMONG the fields and is one refactor from
231
+ the slot, and the two wrappers share the declaration that causes this — a
232
+ rule that fixed one and left the other would be a trap wearing a fix. */
233
+ .es-field-ctl > .es-tabs-fit,
234
+ .es-field-ctl > .es-segs-fit {
235
+ flex: 1 1 auto;
236
+ min-width: 0;
237
+ }
238
+
189
239
  /* THE TRACK (card 66138). Lewis, looking at a real settings panel: the tab he
190
240
  is NOT on does not invite a click — it does not even look like a button. He
191
241
  was shown six treatments in `mockups/settings-tab-strip-options.html` and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "editor-shell",
3
- "version": "0.33.0",
3
+ "version": "0.33.1",
4
4
  "description": "Shared editor-chrome primitives for the EFFICIENT editors: EditorRail (a Next-16-safe left icon-rail leaf), the shell token layer, and GoldTextInput — type in place and watch the markup formatting appear as you type.",
5
5
  "license": "MIT",
6
6
  "author": "Lewis Liu",