@react-x11/components 0.12.0 → 0.14.0
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/html/controls.d.ts +41 -5
- package/dist/html/controls.d.ts.map +1 -1
- package/dist/html/controls.js +85 -57
- package/dist/html/controls.js.map +1 -1
- package/dist/html/css/cascade.d.ts +134 -20
- package/dist/html/css/cascade.d.ts.map +1 -1
- package/dist/html/css/cascade.js +545 -126
- package/dist/html/css/cascade.js.map +1 -1
- package/dist/html/css/color.d.ts +18 -0
- package/dist/html/css/color.d.ts.map +1 -1
- package/dist/html/css/color.js +27 -0
- package/dist/html/css/color.js.map +1 -1
- package/dist/html/css/parse.d.ts +47 -6
- package/dist/html/css/parse.d.ts.map +1 -1
- package/dist/html/css/parse.js +336 -30
- package/dist/html/css/parse.js.map +1 -1
- package/dist/html/css/style.d.ts +142 -15
- package/dist/html/css/style.d.ts.map +1 -1
- package/dist/html/css/style.js +563 -147
- package/dist/html/css/style.js.map +1 -1
- package/dist/html/css/transform.d.ts +85 -0
- package/dist/html/css/transform.d.ts.map +1 -0
- package/dist/html/css/transform.js +425 -0
- package/dist/html/css/transform.js.map +1 -0
- package/dist/html/css/ua.d.ts +11 -1
- package/dist/html/css/ua.d.ts.map +1 -1
- package/dist/html/css/ua.js +73 -9
- package/dist/html/css/ua.js.map +1 -1
- package/dist/html/css/values.d.ts +4 -0
- package/dist/html/css/values.d.ts.map +1 -1
- package/dist/html/css/values.js.map +1 -1
- package/dist/html/dom.d.ts.map +1 -1
- package/dist/html/dom.js +3 -1
- package/dist/html/dom.js.map +1 -1
- package/dist/html/fonts.d.ts +78 -4
- package/dist/html/fonts.d.ts.map +1 -1
- package/dist/html/fonts.js +373 -19
- package/dist/html/fonts.js.map +1 -1
- package/dist/html/form.d.ts +200 -0
- package/dist/html/form.d.ts.map +1 -0
- package/dist/html/form.js +801 -0
- package/dist/html/form.js.map +1 -0
- package/dist/html/index.d.ts +12 -0
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +30 -301
- package/dist/html/index.js.map +1 -1
- package/dist/html/layout/axes.d.ts +14 -0
- package/dist/html/layout/axes.d.ts.map +1 -0
- package/dist/html/layout/axes.js +28 -0
- package/dist/html/layout/axes.js.map +1 -0
- package/dist/html/layout/block.d.ts +93 -12
- package/dist/html/layout/block.d.ts.map +1 -1
- package/dist/html/layout/block.js +393 -39
- package/dist/html/layout/block.js.map +1 -1
- package/dist/html/layout/boxes.d.ts +90 -2
- package/dist/html/layout/boxes.d.ts.map +1 -1
- package/dist/html/layout/boxes.js +74 -10
- package/dist/html/layout/boxes.js.map +1 -1
- package/dist/html/layout/cache.d.ts +1 -1
- package/dist/html/layout/cache.d.ts.map +1 -1
- package/dist/html/layout/cache.js +6 -0
- package/dist/html/layout/cache.js.map +1 -1
- package/dist/html/layout/css-grid.d.ts.map +1 -1
- package/dist/html/layout/css-grid.js +90 -18
- package/dist/html/layout/css-grid.js.map +1 -1
- package/dist/html/layout/flex.d.ts.map +1 -1
- package/dist/html/layout/flex.js +574 -84
- package/dist/html/layout/flex.js.map +1 -1
- package/dist/html/layout/inline.d.ts +3 -0
- package/dist/html/layout/inline.d.ts.map +1 -1
- package/dist/html/layout/inline.js +154 -54
- package/dist/html/layout/inline.js.map +1 -1
- package/dist/html/layout/multicol.d.ts +42 -0
- package/dist/html/layout/multicol.d.ts.map +1 -0
- package/dist/html/layout/multicol.js +897 -0
- package/dist/html/layout/multicol.js.map +1 -0
- package/dist/html/layout/shaping.d.ts +7 -0
- package/dist/html/layout/shaping.d.ts.map +1 -1
- package/dist/html/layout/shaping.js +25 -20
- package/dist/html/layout/shaping.js.map +1 -1
- package/dist/html/layout/table.d.ts.map +1 -1
- package/dist/html/layout/table.js +62 -18
- package/dist/html/layout/table.js.map +1 -1
- package/dist/html/node.d.ts +90 -15
- package/dist/html/node.d.ts.map +1 -1
- package/dist/html/node.js +771 -186
- package/dist/html/node.js.map +1 -1
- package/dist/html/paint.d.ts +101 -5
- package/dist/html/paint.d.ts.map +1 -1
- package/dist/html/paint.js +1502 -160
- package/dist/html/paint.js.map +1 -1
- package/dist/html/svg.d.ts +15 -2
- package/dist/html/svg.d.ts.map +1 -1
- package/dist/html/svg.js +249 -17
- package/dist/html/svg.js.map +1 -1
- package/dist/html/widgets.d.ts +29 -0
- package/dist/html/widgets.d.ts.map +1 -0
- package/dist/html/widgets.js +700 -0
- package/dist/html/widgets.js.map +1 -0
- package/dist/html/woff2.d.ts +14 -0
- package/dist/html/woff2.d.ts.map +1 -0
- package/dist/html/woff2.js +608 -0
- package/dist/html/woff2.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/maps/controller.d.ts +17 -1
- package/dist/maps/controller.d.ts.map +1 -1
- package/dist/maps/controller.js +27 -7
- package/dist/maps/controller.js.map +1 -1
- package/dist/richtext/node.d.ts +8 -1
- package/dist/richtext/node.d.ts.map +1 -1
- package/dist/richtext/node.js +5 -1
- package/dist/richtext/node.js.map +1 -1
- package/dist/richtext/runs.d.ts +25 -6
- package/dist/richtext/runs.d.ts.map +1 -1
- package/dist/richtext/runs.js +240 -24
- package/dist/richtext/runs.js.map +1 -1
- package/package.json +2 -2
- package/src/html/controls.ts +114 -51
- package/src/html/css/cascade.ts +614 -140
- package/src/html/css/color.ts +29 -0
- package/src/html/css/parse.ts +388 -33
- package/src/html/css/style.ts +688 -150
- package/src/html/css/transform.ts +459 -0
- package/src/html/css/ua.ts +77 -10
- package/src/html/css/values.ts +4 -0
- package/src/html/dom.ts +3 -1
- package/src/html/fonts.ts +417 -24
- package/src/html/form.ts +962 -0
- package/src/html/index.ts +49 -338
- package/src/html/layout/axes.ts +62 -0
- package/src/html/layout/block.ts +447 -37
- package/src/html/layout/boxes.ts +143 -14
- package/src/html/layout/cache.ts +6 -0
- package/src/html/layout/css-grid.ts +95 -22
- package/src/html/layout/flex.ts +675 -78
- package/src/html/layout/inline.ts +159 -55
- package/src/html/layout/multicol.ts +977 -0
- package/src/html/layout/shaping.ts +27 -18
- package/src/html/layout/table.ts +62 -19
- package/src/html/node.ts +798 -172
- package/src/html/paint.ts +1742 -241
- package/src/html/svg.ts +277 -19
- package/src/html/widgets.ts +821 -0
- package/src/html/woff2.ts +612 -0
- package/src/index.ts +1 -0
- package/src/maps/controller.ts +28 -7
- package/src/richtext/node.ts +13 -2
- package/src/richtext/runs.ts +313 -35
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flex.js","sourceRoot":"","sources":["../../../src/html/layout/flex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flex.js","sourceRoot":"","sources":["../../../src/html/layout/flex.ts"],"names":[],"mappings":"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"}
|
|
@@ -142,6 +142,9 @@ export declare function documentOffsetOf(text: LineText, units: number): number;
|
|
|
142
142
|
export declare function layoutOffsetOf(text: LineText, doc: number, end?: boolean): number;
|
|
143
143
|
/** How deep a box is in the tree — an element inside another is deeper. */
|
|
144
144
|
export declare function depthOf(box: Box): number;
|
|
145
|
+
/** Whether a box is a `<button>` element's: one drawn as the document's,
|
|
146
|
+
* which a replaced control is not. */
|
|
147
|
+
export declare function isButton(box: Box): boolean;
|
|
145
148
|
/** The same, from the first line box or child: a table's baseline is its
|
|
146
149
|
* first row's, and so is a table cell's. */
|
|
147
150
|
export declare function firstBaselineIn(box: Box): number | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline.d.ts","sourceRoot":"","sources":["../../../src/html/layout/inline.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"inline.d.ts","sourceRoot":"","sources":["../../../src/html/layout/inline.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAoBrD,OAAO,KAAK,EAEV,GAAG,EAEH,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,cAAc,EACf,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAehD,6EAA6E;AAC7E,MAAM,WAAW,SAAS;IACxB,MAAM,CACJ,OAAO,EAAE,OAAO,EAAE,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,iEAAiE;QACjE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;QAC/B;;iCAEyB;QACzB,YAAY,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;QACvC;+EACuE;QACvE,IAAI,CAAC,EAAE,OAAO,CAAC;QACf;;;;;8EAKsE;QACtE,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,GACA,cAAc,CAAC;IAClB,KAAK,CACH,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B;QACD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG;YACrB,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;YAChB,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;CACH;AA0BD;yEACyE;AACzE,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAE9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,cAAc,EACtB,QAAQ,UAAO,GACd,MAAM,CAsBR;AAID;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAkB/D;AAyDD,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,EAAE,CAS9D;AA+BD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd;yEACqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;iDAC6C;IAC7C,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB;4EACwE;IACxE,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD;;;;OAIG;IACH,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,eAAe,CAAA;KAAE,CAAC;IACnE;yDACqD;IACrD,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;qCACiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC/D;;;;;OAKG;IACH,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;QACvB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAClC,CAAC;CACH;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,YAAY,CAoB7E;AAu1CD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAItE;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,MAAM,EACX,GAAG,UAAQ,GACV,MAAM,CAMR;AAo5CD,2EAA2E;AAC3E,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAIxC;AAoJD;uCACuC;AACvC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAI1C;AA2GD;6CAC6C;AAC7C,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAQvD;AA6fD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,GAAG,IAAI,EACvB,GAAG,EAAE,GAAG,EACR,CAAC,EAAE,aAAa,GACf,gBAAgB,GAAG,IAAI,CAWzB;AAyBD;uBACuB;AACvB,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,aAAa,GACnB,gBAAgB,CAElB;AA0nBD;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,GACnB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAkCzC;AAID;;;4CAG4C;AAC5C,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CA4ElE;AAyMD,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAUjE;AAwTD,yEAAyE;AACzE,eAAO,MAAM,YAAY,cAAqB,CAAC;AAiC/C;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAanE;AAYD;;sBAEsB;AACtB,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAMjE;AA6XD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,aAAa,GACnB,MAAM,CAQR;AA4CD;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,aAAa,GACnB,gBAAgB,CAalB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,CAER"}
|
|
@@ -33,7 +33,8 @@ import bidiModule from 'bidi-js';
|
|
|
33
33
|
import { codePointAtOffset, codeUnitOffsets } from '../../internal/text.js';
|
|
34
34
|
import { CONTAIN_LAYOUT, INLINE_BEFORE_ABSOLUTE, scrolls, } from '../css/style.js';
|
|
35
35
|
import { inkColor, isTransparent, resolve } from '../css/values.js';
|
|
36
|
-
import {
|
|
36
|
+
import { tagOf } from '../dom.js';
|
|
37
|
+
import { BOX_RAISES, GRID_TRACKS, LINE_BOX_RAISES, PADDED_FACES, isOffset, letteredAfter, SHADOWED_TEXT, SHIFTED_LINES, TEXT_RAISES, transformInPlace, } from './boxes.js';
|
|
37
38
|
import { tableGrid } from './grid.js';
|
|
38
39
|
/** How a paragraph's lines are fitted to their width, and measured: as a
|
|
39
40
|
* browser fits them (`FontsLike`'s `fit`). */
|
|
@@ -227,13 +228,20 @@ export function layoutInline(block, options) {
|
|
|
227
228
|
}
|
|
228
229
|
return result;
|
|
229
230
|
}
|
|
230
|
-
function cutOf(style, clamp) {
|
|
231
|
+
function cutOf(style, clamp, width) {
|
|
231
232
|
// the ellipsis a clamp ends in is placed apart (`ellipsized`)
|
|
232
233
|
if (clamp)
|
|
233
234
|
return { maxLines: clamp.lines, overflow: 'clip' };
|
|
235
|
+
// `text-overflow` is how the line is drawn where it runs out of its
|
|
236
|
+
// box, and no part of how wide it is (CSS Overflow 3, 5.1): in a box of
|
|
237
|
+
// no width, which shows none of it and is what the box's content is
|
|
238
|
+
// measured in at its least (`MIN_CONTENT_PROBE`), the line is left
|
|
239
|
+
// whole. Cut there, ntk left the ellipsis alone, and a button whose
|
|
240
|
+
// label is a `truncate` span was measured as wide as one
|
|
234
241
|
if (style.textOverflow === 'ellipsis' &&
|
|
235
242
|
!wraps(style) &&
|
|
236
|
-
style.overflowX !== 'visible'
|
|
243
|
+
style.overflowX !== 'visible' &&
|
|
244
|
+
width > 0) {
|
|
237
245
|
return { maxLines: 1, overflow: 'ellipsis', wrap: false };
|
|
238
246
|
}
|
|
239
247
|
return null;
|
|
@@ -433,7 +441,7 @@ function linesOf(block, options, items, floatCount) {
|
|
|
433
441
|
// line at a time, or the lines after the first were lost. A clamp is
|
|
434
442
|
// the paragraph's, and stays one layout.
|
|
435
443
|
const clamp = options.clamp;
|
|
436
|
-
let cut = cutOf(style, clamp);
|
|
444
|
+
let cut = cutOf(style, clamp, options.width);
|
|
437
445
|
const perLine = cut !== null && !clamp && hasNewline;
|
|
438
446
|
// an embedding cannot be cut into chunks
|
|
439
447
|
if (perLine && !hasControls(items)) {
|
|
@@ -635,6 +643,16 @@ function linesOf(block, options, items, floatCount) {
|
|
|
635
643
|
placeDeferred();
|
|
636
644
|
return;
|
|
637
645
|
}
|
|
646
|
+
// A line with no text on it — a control, an image or an inline-block
|
|
647
|
+
// that wrapped on its own — stands where the text around it does: an
|
|
648
|
+
// empty range at the end of the line before, not at 0. What finds a
|
|
649
|
+
// line by its text binary-searches these ranges as sorted
|
|
650
|
+
// (`lineBands`, `caretAt`), and a textless line at 0 after a line of
|
|
651
|
+
// text sent the search past every line: a `<label>` on the line
|
|
652
|
+
// before a submit button that wrapped measured as no box at all.
|
|
653
|
+
if (!line.texts.length && lines.length) {
|
|
654
|
+
line.textStart = line.textEnd = lines[lines.length - 1].textEnd;
|
|
655
|
+
}
|
|
638
656
|
lines.push(line);
|
|
639
657
|
widest = Math.max(widest, line.width);
|
|
640
658
|
y += line.height;
|
|
@@ -1057,6 +1075,8 @@ function linesOf(block, options, items, floatCount) {
|
|
|
1057
1075
|
const m = hung.exec(text);
|
|
1058
1076
|
if (!m)
|
|
1059
1077
|
break;
|
|
1078
|
+
if (!trailing)
|
|
1079
|
+
placed.trailRun = segment.runs[i];
|
|
1060
1080
|
trailing = m[0] + trailing;
|
|
1061
1081
|
if (m[0].length < text.length)
|
|
1062
1082
|
break;
|
|
@@ -1074,6 +1094,7 @@ function linesOf(block, options, items, floatCount) {
|
|
|
1074
1094
|
: spaceAdvance(fonts, segment.runs[segment.runs.length - 1]) *
|
|
1075
1095
|
trailing.length;
|
|
1076
1096
|
open.x += open.hang;
|
|
1097
|
+
placed.trail = open.hang;
|
|
1077
1098
|
}
|
|
1078
1099
|
}
|
|
1079
1100
|
else if (hung.total)
|
|
@@ -1846,6 +1867,25 @@ levels = null) {
|
|
|
1846
1867
|
if (!open.texts.length && !open.atomics.length && !open.edges.length) {
|
|
1847
1868
|
return null;
|
|
1848
1869
|
}
|
|
1870
|
+
if (open.hang > 0) {
|
|
1871
|
+
// The line ends on the spaces its last text ends on, and they are
|
|
1872
|
+
// removed (CSS Text 3, 4.1.2): the text takes no room for them, and
|
|
1873
|
+
// what was set after them, the end edges of the boxes they are in,
|
|
1874
|
+
// stands where the text's content ends. Left a space past it, a list
|
|
1875
|
+
// item that ended its line was a space wider than its link.
|
|
1876
|
+
for (let i = open.order.length - 1; i >= 0; i -= 1) {
|
|
1877
|
+
const placed = open.order[i];
|
|
1878
|
+
if (placed.kind === 'text') {
|
|
1879
|
+
placed.item.trail = 0;
|
|
1880
|
+
placed.item.trailRun = undefined;
|
|
1881
|
+
break;
|
|
1882
|
+
}
|
|
1883
|
+
if (placed.kind !== 'edge')
|
|
1884
|
+
break;
|
|
1885
|
+
placed.at -= open.hang;
|
|
1886
|
+
placed.item.x -= open.hang;
|
|
1887
|
+
}
|
|
1888
|
+
}
|
|
1849
1889
|
const reordered = levels
|
|
1850
1890
|
? levelPieces(open, levels) ||
|
|
1851
1891
|
open.order.some((p) => p.kind === 'edge' && needsOrdering(p, rtl))
|
|
@@ -2682,7 +2722,19 @@ function atomicRaise(fonts, box, parent) {
|
|
|
2682
2722
|
* be after.
|
|
2683
2723
|
*/
|
|
2684
2724
|
function atomicBaseline(box) {
|
|
2685
|
-
const
|
|
2725
|
+
const margin = box.height + box.marginTop + box.marginBottom;
|
|
2726
|
+
const button = isButton(box);
|
|
2727
|
+
// A `<button>` with no line in it sits on the bottom of its content box,
|
|
2728
|
+
// not of its margin box: where its label would have sat. No specification
|
|
2729
|
+
// says so and every browser does — Blink gives the element the content
|
|
2730
|
+
// box as the edge its baseline is synthesized from
|
|
2731
|
+
// (`HTMLButtonElement::AdjustStyle`). An icon button drawn of blocks, the
|
|
2732
|
+
// three bars of a menu toggle, stood its padding under the baseline, and
|
|
2733
|
+
// the line it was on was as much taller: GitHub's header, by four pixels.
|
|
2734
|
+
// And so one whose layout containment keeps its label's baseline in.
|
|
2735
|
+
const bottom = button
|
|
2736
|
+
? margin - box.marginBottom - box.borderBottom - box.padBottom
|
|
2737
|
+
: margin;
|
|
2686
2738
|
if (box.kind === 'replaced' ||
|
|
2687
2739
|
// a box that clips sits on its bottom margin edge, for legacy reasons
|
|
2688
2740
|
// that stop at block containers (CSS Box Alignment 3, 9.2) — and an
|
|
@@ -2690,8 +2742,8 @@ function atomicBaseline(box) {
|
|
|
2690
2742
|
// sits on its first item's, as it does unclipped. A MediaWiki button
|
|
2691
2743
|
// is an `overflow: hidden` inline flex box of one icon, and stood its
|
|
2692
2744
|
// whole height on the baseline, the line under it the strut's descent
|
|
2693
|
-
// taller
|
|
2694
|
-
(scrolls(box.style) && box.kind !== 'flex') ||
|
|
2745
|
+
// taller. Nor a `<button>`, which sits on its label clipped or not
|
|
2746
|
+
(scrolls(box.style) && box.kind !== 'flex' && !button) ||
|
|
2695
2747
|
// layout containment keeps its baseline in (CSS Containment 2, 3.3)
|
|
2696
2748
|
box.style.contain & CONTAIN_LAYOUT) {
|
|
2697
2749
|
return bottom;
|
|
@@ -2705,17 +2757,28 @@ function atomicBaseline(box) {
|
|
|
2705
2757
|
: lastBaselineIn(box);
|
|
2706
2758
|
return baseline === null ? bottom : box.marginTop + (baseline - box.y);
|
|
2707
2759
|
}
|
|
2760
|
+
/** Whether a box is a `<button>` element's: one drawn as the document's,
|
|
2761
|
+
* which a replaced control is not. */
|
|
2762
|
+
export function isButton(box) {
|
|
2763
|
+
return (box.el !== null && box.kind !== 'replaced' && tagOf(box.el) === 'button');
|
|
2764
|
+
}
|
|
2708
2765
|
/**
|
|
2709
|
-
* A flex container's
|
|
2710
|
-
*
|
|
2711
|
-
*
|
|
2712
|
-
*
|
|
2713
|
-
*
|
|
2714
|
-
*
|
|
2715
|
-
*
|
|
2766
|
+
* A flex container's baseline, its first (CSS Flexbox 8.5): that of the
|
|
2767
|
+
* first item on its first line that is aligned by its baseline, or where
|
|
2768
|
+
* none is, of its first item, in `order`. An item gives its own, or where
|
|
2769
|
+
* it has none, its border box's bottom edge. Not its last child's: an
|
|
2770
|
+
* `inline-flex` of a small item and a big one sat on the big one's
|
|
2771
|
+
* baseline. Null for a box with no item.
|
|
2772
|
+
*
|
|
2773
|
+
* A grid's is that of its first item in row-major order, by where it was
|
|
2774
|
+
* placed and not where it was written (CSS Grid 1, 10.6).
|
|
2716
2775
|
*/
|
|
2717
|
-
function flexBaseline(box
|
|
2718
|
-
|
|
2776
|
+
function flexBaseline(box) {
|
|
2777
|
+
if (box.style.grid) {
|
|
2778
|
+
const item = GRID_TRACKS.get(box)?.first;
|
|
2779
|
+
return item ? itemBaselineOf(item) : null;
|
|
2780
|
+
}
|
|
2781
|
+
const items = [];
|
|
2719
2782
|
let reordered = false;
|
|
2720
2783
|
for (const child of box.children) {
|
|
2721
2784
|
if (child.outOfFlow || child.isFloat)
|
|
@@ -2730,15 +2793,10 @@ function flexBaseline(box, first) {
|
|
|
2730
2793
|
return null;
|
|
2731
2794
|
if (reordered)
|
|
2732
2795
|
items.sort((a, b) => a.style.order - b.style.order);
|
|
2733
|
-
if (!first)
|
|
2734
|
-
items = items.reverse();
|
|
2735
2796
|
const style = box.style;
|
|
2736
|
-
if (style.flexDirection.startsWith('row')
|
|
2737
|
-
// a line ends where the next item does not go on along the main axis
|
|
2738
|
-
|
|
2739
|
-
const back = ((style.flexDirection === 'row-reverse') !==
|
|
2740
|
-
(style.direction === 'rtl')) !==
|
|
2741
|
-
!first;
|
|
2797
|
+
if (style.flexDirection.startsWith('row')) {
|
|
2798
|
+
// a line ends where the next item does not go on along the main axis
|
|
2799
|
+
const back = (style.flexDirection === 'row-reverse') !== (style.direction === 'rtl');
|
|
2742
2800
|
let last = NaN;
|
|
2743
2801
|
for (const item of items) {
|
|
2744
2802
|
if (!Number.isNaN(last) && (back ? item.x >= last : item.x <= last)) {
|
|
@@ -2749,20 +2807,19 @@ function flexBaseline(box, first) {
|
|
|
2749
2807
|
? style.alignItems
|
|
2750
2808
|
: item.style.alignSelf;
|
|
2751
2809
|
if (align === 'baseline')
|
|
2752
|
-
return itemBaselineOf(item
|
|
2810
|
+
return itemBaselineOf(item);
|
|
2753
2811
|
}
|
|
2754
2812
|
}
|
|
2755
|
-
return itemBaselineOf(items[0]
|
|
2813
|
+
return itemBaselineOf(items[0]);
|
|
2756
2814
|
}
|
|
2757
|
-
/** A flex item's baseline, in document coordinates: its
|
|
2758
|
-
*
|
|
2759
|
-
*
|
|
2760
|
-
*
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
return container.grid ? null : item.y + item.height;
|
|
2815
|
+
/** A flex item's baseline or a grid item's, in document coordinates: its
|
|
2816
|
+
* first line's, or where it has none, one synthesized from its border
|
|
2817
|
+
* edges, the bottom one (CSS Flexbox 8.5, CSS Grid 1, 10.6). A grid took
|
|
2818
|
+
* none from such an item and had none of its own: a grid of icons stood
|
|
2819
|
+
* its whole height on the baseline, where a browser stands it on the
|
|
2820
|
+
* first icon's bottom edge. */
|
|
2821
|
+
function itemBaselineOf(item) {
|
|
2822
|
+
return childBaseline(item, firstBaselineIn) ?? item.y + item.height;
|
|
2766
2823
|
}
|
|
2767
2824
|
/**
|
|
2768
2825
|
* A table's baseline: its first row's (CSS 2.1 17.5.3), which is the first
|
|
@@ -2790,11 +2847,19 @@ function tableBaseline(table) {
|
|
|
2790
2847
|
* what overflows it gives its bottom margin edge and no deeper, whatever
|
|
2791
2848
|
* text it holds (CSS Box Alignment's synthesized baseline). Null where
|
|
2792
2849
|
* nothing in it has one.
|
|
2850
|
+
*
|
|
2851
|
+
* A flex box or a grid among them gives its first baseline, the one it has
|
|
2852
|
+
* on a line of its own, and a table gives none: what an inline-block takes
|
|
2853
|
+
* from a block-level child in Blink, where only a block container is asked
|
|
2854
|
+
* for its last (`UseLastBaselineForInlineBaseline`), and in Gecko, where a
|
|
2855
|
+
* child is asked for its default one and a table is passed over
|
|
2856
|
+
* (`nsBlockFrame::GetNaturalBaselineBOffset`). Asked for its last, a grid
|
|
2857
|
+
* of an icon, a label and a chevron in a button sat the button on the
|
|
2858
|
+
* chevron, and the line it was on came out shorter than a browser's.
|
|
2793
2859
|
*/
|
|
2794
2860
|
function lastBaselineIn(box) {
|
|
2795
|
-
// a flex box's is its items', in the order it lays them out
|
|
2796
2861
|
if (box.kind === 'flex')
|
|
2797
|
-
return flexBaseline(box
|
|
2862
|
+
return flexBaseline(box);
|
|
2798
2863
|
if (box.lines?.length) {
|
|
2799
2864
|
const line = box.lines[box.lines.length - 1];
|
|
2800
2865
|
return line.y + line.baseline;
|
|
@@ -2810,7 +2875,7 @@ function lastBaselineIn(box) {
|
|
|
2810
2875
|
* first row's, and so is a table cell's. */
|
|
2811
2876
|
export function firstBaselineIn(box) {
|
|
2812
2877
|
if (box.kind === 'flex')
|
|
2813
|
-
return flexBaseline(box
|
|
2878
|
+
return flexBaseline(box);
|
|
2814
2879
|
if (box.lines?.length)
|
|
2815
2880
|
return box.lines[0].y + box.lines[0].baseline;
|
|
2816
2881
|
for (const child of box.children) {
|
|
@@ -2824,11 +2889,17 @@ function childBaseline(child, inside) {
|
|
|
2824
2889
|
if (child.outOfFlow || child.isFloat || child.kind === 'replaced') {
|
|
2825
2890
|
return null;
|
|
2826
2891
|
}
|
|
2892
|
+
// a table is passed over for a block's last baseline (`lastBaselineIn`)
|
|
2893
|
+
if (inside === lastBaselineIn && child.kind === 'table')
|
|
2894
|
+
return null;
|
|
2827
2895
|
// the legacy rule is a block container's last baseline alone (CSS Box
|
|
2828
|
-
// Alignment 3, 9.2): its first is its first line's, clipped or not
|
|
2896
|
+
// Alignment 3, 9.2): its first is its first line's, clipped or not —
|
|
2897
|
+
// and a button that clips keeps its label's, here as on a line of its
|
|
2898
|
+
// own (`atomicBaseline`)
|
|
2829
2899
|
if (inside === lastBaselineIn &&
|
|
2830
2900
|
child.kind !== 'flex' &&
|
|
2831
|
-
scrolls(child.style)
|
|
2901
|
+
scrolls(child.style) &&
|
|
2902
|
+
!isButton(child)) {
|
|
2832
2903
|
return child.y + child.height + child.marginBottom;
|
|
2833
2904
|
}
|
|
2834
2905
|
return inside(child);
|
|
@@ -3409,6 +3480,8 @@ const RUN_STYLE = [
|
|
|
3409
3480
|
'underlineOffset',
|
|
3410
3481
|
'underlineThickness',
|
|
3411
3482
|
'strike',
|
|
3483
|
+
'strikeStyle',
|
|
3484
|
+
'strikeThickness',
|
|
3412
3485
|
];
|
|
3413
3486
|
/**
|
|
3414
3487
|
* A run of text in `style` rather than `own`, the style it was made in:
|
|
@@ -3928,26 +4001,53 @@ export function runFor(text, style) {
|
|
|
3928
4001
|
// colours of the elements that set them (`decorate`)
|
|
3929
4002
|
if (style.underline) {
|
|
3930
4003
|
run.underline = style.underline;
|
|
3931
|
-
|
|
3932
|
-
//
|
|
3933
|
-
// `
|
|
3934
|
-
|
|
3935
|
-
|
|
3936
|
-
|
|
3937
|
-
|
|
3938
|
-
|
|
3939
|
-
|
|
3940
|
-
|
|
3941
|
-
|
|
4004
|
+
run.underlineStyle = ruleStyle(style.underlineStyle);
|
|
4005
|
+
// The band the rule is drawn in: as thick as the box that set it made
|
|
4006
|
+
// it (`usedThickness`), and as far under the baseline as that box said.
|
|
4007
|
+
// `auto` leaves how far to the user agent, at or under the baseline
|
|
4008
|
+
// (CSS Text Decoration 4, 2.7 and 2.8), and it is half the rule's
|
|
4009
|
+
// thickness, a pixel at the least — Blink's gap, which keeps a thick
|
|
4010
|
+
// rule as clear of its letters as a thin one. A length is from the
|
|
4011
|
+
// baseline itself.
|
|
4012
|
+
const band = style.underlineThickness ?? 1;
|
|
4013
|
+
const top = style.underlineOffset === null
|
|
4014
|
+
? Math.max(1, Math.ceil(band / 2))
|
|
4015
|
+
: Math.round(style.underlineOffset);
|
|
4016
|
+
if (run.underlineStyle === 'dotted' || run.underlineStyle === 'dashed') {
|
|
4017
|
+
// dots and dashes are a stroke along the band's middle, its width the
|
|
4018
|
+
// nearest whole pixel to the band's: 1.6 is two, where a solid rule's
|
|
4019
|
+
// is the one pixel it fills
|
|
4020
|
+
const width = Math.round(band);
|
|
4021
|
+
run.underlineThickness = width;
|
|
4022
|
+
run.underlineOffset =
|
|
4023
|
+
top + Math.floor(Math.max(band / 2, 0.5)) - Math.floor(width / 2);
|
|
3942
4024
|
}
|
|
3943
|
-
|
|
3944
|
-
run.underlineThickness =
|
|
4025
|
+
else {
|
|
4026
|
+
run.underlineThickness = Math.floor(band);
|
|
4027
|
+
run.underlineOffset = top;
|
|
3945
4028
|
}
|
|
3946
4029
|
}
|
|
3947
|
-
if (style.lineThrough)
|
|
4030
|
+
if (style.lineThrough) {
|
|
3948
4031
|
run.strike = style.lineThrough;
|
|
4032
|
+
run.strikeStyle = ruleStyle(style.lineThroughStyle);
|
|
4033
|
+
// as thick as the box that set it made it, on whole pixels as the
|
|
4034
|
+
// underline's is: a solid rule fills the ones it covers, and dots and
|
|
4035
|
+
// dashes are the nearest whole pixel wide. Where it is drawn is each
|
|
4036
|
+
// run's own face's to say (`paintRunRules`).
|
|
4037
|
+
const band = style.lineThroughThickness ?? 1;
|
|
4038
|
+
run.strikeThickness =
|
|
4039
|
+
run.strikeStyle === 'dotted' || run.strikeStyle === 'dashed'
|
|
4040
|
+
? Math.round(band)
|
|
4041
|
+
: Math.floor(band);
|
|
4042
|
+
}
|
|
3949
4043
|
return run;
|
|
3950
4044
|
}
|
|
4045
|
+
/** A CSS rule style as richtext names it. CSS's five and SGR 4's five are
|
|
4046
|
+
* the same set under two names; richtext speaks SGR's, so `solid` is
|
|
4047
|
+
* `single` and `wavy` is `curly`. The other three are spelled identically. */
|
|
4048
|
+
function ruleStyle(style) {
|
|
4049
|
+
return style === 'wavy' ? 'curly' : style === 'solid' ? 'single' : style;
|
|
4050
|
+
}
|
|
3951
4051
|
/**
|
|
3952
4052
|
* Maps a code-unit offset in text handed to `TextLayout` back to its offset
|
|
3953
4053
|
* in the document index. The two differ because a layout covers one segment
|