@react-x11/components 0.5.0 → 0.7.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/README.md +67 -43
- package/dist/formula/node.d.ts.map +1 -1
- package/dist/formula/node.js +17 -6
- package/dist/formula/node.js.map +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/markdown/ast.d.ts +80 -6
- package/dist/markdown/ast.d.ts.map +1 -1
- package/dist/markdown/ast.js +13 -4
- package/dist/markdown/ast.js.map +1 -1
- package/dist/markdown/expressions.d.ts +27 -0
- package/dist/markdown/expressions.d.ts.map +1 -0
- package/dist/markdown/expressions.js +203 -0
- package/dist/markdown/expressions.js.map +1 -0
- package/dist/markdown/index.d.ts +61 -2
- package/dist/markdown/index.d.ts.map +1 -1
- package/dist/markdown/index.js +101 -2
- package/dist/markdown/index.js.map +1 -1
- package/dist/markdown/parse.d.ts +1 -1
- package/dist/markdown/parse.d.ts.map +1 -1
- package/dist/markdown/parse.js +163 -15
- package/dist/markdown/parse.js.map +1 -1
- package/dist/markdown/spans.d.ts.map +1 -1
- package/dist/markdown/spans.js +4 -0
- package/dist/markdown/spans.js.map +1 -1
- package/dist/markdown/tags.d.ts +35 -0
- package/dist/markdown/tags.d.ts.map +1 -0
- package/dist/markdown/tags.js +213 -0
- package/dist/markdown/tags.js.map +1 -0
- package/dist/richtext/node.d.ts.map +1 -1
- package/dist/richtext/node.js +7 -2
- package/dist/richtext/node.js.map +1 -1
- package/dist/table/index.d.ts +15 -0
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/index.js +95 -11
- package/dist/table/index.js.map +1 -1
- package/dist/tree/index.d.ts.map +1 -1
- package/dist/tree/index.js +77 -2
- package/dist/tree/index.js.map +1 -1
- package/package.json +4 -8
- package/src/formula/node.ts +22 -34
- package/src/index.ts +4 -18
- package/src/markdown/ast.ts +85 -9
- package/src/markdown/expressions.ts +223 -0
- package/src/markdown/index.ts +190 -5
- package/src/markdown/parse.ts +230 -15
- package/src/markdown/spans.ts +4 -0
- package/src/markdown/tags.ts +240 -0
- package/src/richtext/node.ts +7 -2
- package/src/table/index.ts +114 -10
- package/src/tree/index.ts +77 -2
- package/dist/desktop-calendar/eds.d.ts +0 -102
- package/dist/desktop-calendar/eds.d.ts.map +0 -1
- package/dist/desktop-calendar/eds.js +0 -356
- package/dist/desktop-calendar/eds.js.map +0 -1
- package/dist/desktop-calendar/ical.d.ts +0 -63
- package/dist/desktop-calendar/ical.d.ts.map +0 -1
- package/dist/desktop-calendar/ical.js +0 -57
- package/dist/desktop-calendar/ical.js.map +0 -1
- package/dist/desktop-calendar/index.d.ts +0 -72
- package/dist/desktop-calendar/index.d.ts.map +0 -1
- package/dist/desktop-calendar/index.js +0 -213
- package/dist/desktop-calendar/index.js.map +0 -1
- package/src/desktop-calendar/eds.ts +0 -484
- package/src/desktop-calendar/ical.ts +0 -119
- package/src/desktop-calendar/index.ts +0 -287
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/** A component name, dotted paths included. Deliberately not HTML's. */
|
|
2
|
+
const RE_NAME = /^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*)*/;
|
|
3
|
+
/** An attribute name: JSX's, plus the `-` and `:` that data attributes use. */
|
|
4
|
+
const RE_ATTR = /^[A-Za-z_$][\w$:-]*/;
|
|
5
|
+
function isSpace(ch) {
|
|
6
|
+
return ch === ' ' || ch === '\t' || ch === '\n' || ch === '\r';
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The index just past the closing quote of the string literal starting at
|
|
10
|
+
* `from`, or -1 if the text ends first. A template literal's `${…}` holes
|
|
11
|
+
* are walked as expressions, so a brace or a quote inside one counts for
|
|
12
|
+
* nothing outside it.
|
|
13
|
+
*/
|
|
14
|
+
function skipString(text, from) {
|
|
15
|
+
const quote = text[from];
|
|
16
|
+
let i = from + 1;
|
|
17
|
+
while (i < text.length) {
|
|
18
|
+
const ch = text[i];
|
|
19
|
+
if (ch === '\\') {
|
|
20
|
+
i += 2;
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
if (ch === quote)
|
|
24
|
+
return i + 1;
|
|
25
|
+
if (quote === '`' && ch === '$' && text[i + 1] === '{') {
|
|
26
|
+
const end = closeBrace(text, i + 1);
|
|
27
|
+
if (end === -1)
|
|
28
|
+
return -1;
|
|
29
|
+
i = end;
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
i += 1;
|
|
33
|
+
}
|
|
34
|
+
return -1;
|
|
35
|
+
}
|
|
36
|
+
/** The index just past a `//` or block comment starting at `from`. */
|
|
37
|
+
function skipComment(text, from) {
|
|
38
|
+
if (text[from + 1] === '/') {
|
|
39
|
+
const nl = text.indexOf('\n', from);
|
|
40
|
+
return nl === -1 ? text.length : nl;
|
|
41
|
+
}
|
|
42
|
+
const end = text.indexOf('*/', from + 2);
|
|
43
|
+
return end === -1 ? -1 : end + 2;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The index just past the `}` that closes the `{` at `from`, or -1 if the
|
|
47
|
+
* text ends first — the one piece here that has to know JavaScript's shape.
|
|
48
|
+
* Strings, template holes and comments are stepped over whole, so a brace
|
|
49
|
+
* inside any of them closes nothing.
|
|
50
|
+
*/
|
|
51
|
+
export function closeBrace(text, from) {
|
|
52
|
+
let depth = 0;
|
|
53
|
+
let i = from;
|
|
54
|
+
while (i < text.length) {
|
|
55
|
+
const ch = text[i];
|
|
56
|
+
if (ch === '"' || ch === "'" || ch === '`') {
|
|
57
|
+
const end = skipString(text, i);
|
|
58
|
+
if (end === -1)
|
|
59
|
+
return -1;
|
|
60
|
+
i = end;
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (ch === '/' && (text[i + 1] === '/' || text[i + 1] === '*')) {
|
|
64
|
+
const end = skipComment(text, i);
|
|
65
|
+
if (end === -1)
|
|
66
|
+
return -1;
|
|
67
|
+
i = end;
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (ch === '{')
|
|
71
|
+
depth += 1;
|
|
72
|
+
else if (ch === '}') {
|
|
73
|
+
depth -= 1;
|
|
74
|
+
if (depth === 0)
|
|
75
|
+
return i + 1;
|
|
76
|
+
}
|
|
77
|
+
i += 1;
|
|
78
|
+
}
|
|
79
|
+
return -1;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Scan the tag starting at `text[at]`, which must be `<`.
|
|
83
|
+
*
|
|
84
|
+
* `isComponent` is asked before anything else is parsed, so a `<` that opens
|
|
85
|
+
* nothing anybody claims costs one regex and a lookup.
|
|
86
|
+
*
|
|
87
|
+
* `expressions` is the second rung: with it, a `{…}` that is not JSON is
|
|
88
|
+
* kept as source instead of making the tag unreadable, and `{...spread}`
|
|
89
|
+
* becomes an attribute. Without it — the default — neither exists, and a
|
|
90
|
+
* document can only hand a component data it wrote down literally.
|
|
91
|
+
*/
|
|
92
|
+
export function scanTag(text, at, isComponent, expressions = false) {
|
|
93
|
+
if (text[at] !== '<')
|
|
94
|
+
return null;
|
|
95
|
+
let i = at + 1;
|
|
96
|
+
const close = text[i] === '/';
|
|
97
|
+
if (close)
|
|
98
|
+
i += 1;
|
|
99
|
+
const nameMatch = RE_NAME.exec(text.slice(i));
|
|
100
|
+
if (!nameMatch) {
|
|
101
|
+
// `<` at the very end could still grow into a tag; anything else is text.
|
|
102
|
+
return i >= text.length ? 'incomplete' : null;
|
|
103
|
+
}
|
|
104
|
+
const name = nameMatch[0];
|
|
105
|
+
i += name.length;
|
|
106
|
+
// A name that reaches the end may still be growing — `<Cha` could be
|
|
107
|
+
// `<Chart`, and a document that decided too early would flash the wrong
|
|
108
|
+
// thing. Only ask about names we have all of.
|
|
109
|
+
if (i >= text.length)
|
|
110
|
+
return 'incomplete';
|
|
111
|
+
if (!isComponent(name))
|
|
112
|
+
return null;
|
|
113
|
+
if (close) {
|
|
114
|
+
while (isSpace(text[i]))
|
|
115
|
+
i += 1;
|
|
116
|
+
if (i >= text.length)
|
|
117
|
+
return 'incomplete';
|
|
118
|
+
if (text[i] !== '>')
|
|
119
|
+
return null;
|
|
120
|
+
return { kind: 'close', name, attributes: {}, end: i + 1 };
|
|
121
|
+
}
|
|
122
|
+
const attributes = {};
|
|
123
|
+
let spreads = 0;
|
|
124
|
+
for (;;) {
|
|
125
|
+
const hadSpace = isSpace(text[i]);
|
|
126
|
+
while (isSpace(text[i]))
|
|
127
|
+
i += 1;
|
|
128
|
+
if (i >= text.length)
|
|
129
|
+
return 'incomplete';
|
|
130
|
+
if (text[i] === '>')
|
|
131
|
+
return { kind: 'open', name, attributes, end: i + 1 };
|
|
132
|
+
if (text[i] === '/') {
|
|
133
|
+
i += 1;
|
|
134
|
+
while (isSpace(text[i]))
|
|
135
|
+
i += 1;
|
|
136
|
+
if (i >= text.length)
|
|
137
|
+
return 'incomplete';
|
|
138
|
+
if (text[i] !== '>')
|
|
139
|
+
return null;
|
|
140
|
+
return { kind: 'self', name, attributes, end: i + 1 };
|
|
141
|
+
}
|
|
142
|
+
// `<Chart data="x"height={2}>` is a typo, not a tag.
|
|
143
|
+
if (!hadSpace)
|
|
144
|
+
return null;
|
|
145
|
+
// `{...props}` — an attribute with no name. Its key records where it
|
|
146
|
+
// sat among the named ones, because a spread after `height` overrides
|
|
147
|
+
// it and one before it does not; `...` cannot collide with a real
|
|
148
|
+
// attribute name, which must start with a letter.
|
|
149
|
+
if (text[i] === '{') {
|
|
150
|
+
if (!expressions)
|
|
151
|
+
return null;
|
|
152
|
+
const end = closeBrace(text, i);
|
|
153
|
+
if (end === -1)
|
|
154
|
+
return 'incomplete';
|
|
155
|
+
const inner = text.slice(i + 1, end - 1).trim();
|
|
156
|
+
if (!inner.startsWith('...'))
|
|
157
|
+
return null;
|
|
158
|
+
attributes[`...${spreads}`] = {
|
|
159
|
+
kind: 'expression',
|
|
160
|
+
src: inner.slice(3).trim(),
|
|
161
|
+
};
|
|
162
|
+
spreads += 1;
|
|
163
|
+
i = end;
|
|
164
|
+
continue;
|
|
165
|
+
}
|
|
166
|
+
const attr = RE_ATTR.exec(text.slice(i));
|
|
167
|
+
if (!attr)
|
|
168
|
+
return null;
|
|
169
|
+
const key = attr[0];
|
|
170
|
+
i += key.length;
|
|
171
|
+
if (i >= text.length)
|
|
172
|
+
return 'incomplete';
|
|
173
|
+
if (text[i] !== '=') {
|
|
174
|
+
// A bare attribute is `true`, as it is in JSX.
|
|
175
|
+
attributes[key] = { kind: 'literal', value: true };
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
i += 1;
|
|
179
|
+
if (i >= text.length)
|
|
180
|
+
return 'incomplete';
|
|
181
|
+
const ch = text[i];
|
|
182
|
+
if (ch === '"' || ch === "'") {
|
|
183
|
+
const end = text.indexOf(ch, i + 1);
|
|
184
|
+
if (end === -1)
|
|
185
|
+
return 'incomplete';
|
|
186
|
+
attributes[key] = { kind: 'literal', value: text.slice(i + 1, end) };
|
|
187
|
+
i = end + 1;
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
if (ch === '{') {
|
|
191
|
+
const end = closeBrace(text, i);
|
|
192
|
+
if (end === -1)
|
|
193
|
+
return 'incomplete';
|
|
194
|
+
const src = text.slice(i + 1, end - 1);
|
|
195
|
+
try {
|
|
196
|
+
attributes[key] = { kind: 'literal', value: JSON.parse(src) };
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
// Not JSON. On the rung that compiles, that is an expression and it
|
|
200
|
+
// is kept as source; on the rung that does not, it is unreadable and
|
|
201
|
+
// the tag is text.
|
|
202
|
+
if (!expressions)
|
|
203
|
+
return null;
|
|
204
|
+
attributes[key] = { kind: 'expression', src: src.trim() };
|
|
205
|
+
}
|
|
206
|
+
i = end;
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
// An unquoted value is HTML's, not JSX's.
|
|
210
|
+
return null;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/markdown/tags.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/richtext/node.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,YAAY,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAU7C,0EAA0E;AAC1E,eAAO,MAAM,OAAO,aAAa,CAAC;AAElC;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAUvC;AAED;qEACqE;AACrE,MAAM,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;0EAEsE;IACtE,cAAc,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrE,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B;8CAC0C;IAC1C,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,CAAC;CACzB;AAMD,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,WAAW;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ;qEACiE;IACjE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE;QACJ,IAAI,EAAE;YAAE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;SAAE,CAAC;QACjD,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;KAC3B,CAAC;CACH;AAED,UAAU,QAAQ;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG;QAC5B,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC;AA4CD,qBAAa,YAAa,SAAQ,IAAI;IACpC,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,KAAK,CAAuB;IAEpC,YAAY,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAEtD;IAED;;;;;;;OAOG;IACM,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAAG,YAAY,CAQnE;IAED,OAAO,CAAC,KAAK;IAKb;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAkClB;4DACwD;IACxD,OAAO,KAAK,MAAM,GAEjB;IAED;;8BAE0B;IAC1B,OAAO,CAAC,WAAW;IAQnB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAKX,UAAU,CACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI,CAUN;IAEQ,cAAc,IAAI,IAAI,CAG9B;IAWQ,WAAW,IAAI,MAAM,CAO7B;IAEQ,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAKjD;IAEQ,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAUjD;IAEQ,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,CAS1D;IAED;;;0DAGsD;IACtD,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe/C;IAIQ,KAAK,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/richtext/node.ts"],"names":[],"mappings":"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"}
|
package/dist/richtext/node.js
CHANGED
|
@@ -267,8 +267,13 @@ export class RichTextNode extends Node {
|
|
|
267
267
|
// arrive from the surface above; `textRangeRects` is what a custom
|
|
268
268
|
// element and core's own `<text>` both fill, so they cannot drift.
|
|
269
269
|
const range = this.selectionRange;
|
|
270
|
-
|
|
271
|
-
|
|
270
|
+
// The colour is the condition, not just the range: core types it
|
|
271
|
+
// `string | null` and defines it as what to fill the rectangles with
|
|
272
|
+
// *while a selection is set*, so a null one is "nothing to draw"
|
|
273
|
+
// rather than a band in the default ink.
|
|
274
|
+
const selectionColor = this.selectionColor;
|
|
275
|
+
if (selectionColor && range && range.end > range.start) {
|
|
276
|
+
ctx.fillStyle = selectionColor;
|
|
272
277
|
for (const r of this.textRangeRects(range.start, range.end)) {
|
|
273
278
|
ctx.fillRect(Math.round(r.x), Math.round(r.y), Math.ceil(r.width), Math.ceil(r.height));
|
|
274
279
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/richtext/node.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/richtext/node.ts"],"names":[],"mappings":"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"}
|
package/dist/table/index.d.ts
CHANGED
|
@@ -99,6 +99,21 @@ interface TableBaseProps<Row> extends Omit<BoxProps, 'style' | 'children' | 'ref
|
|
|
99
99
|
* the measure pass. `rowHeight={24}` restores core's exact behaviour.
|
|
100
100
|
*/
|
|
101
101
|
rowHeight?: number;
|
|
102
|
+
/**
|
|
103
|
+
* How far the grid sits inside the table's edge, in pixels. Default 4.
|
|
104
|
+
*
|
|
105
|
+
* It is what makes the selection and hover washes read as pills on the
|
|
106
|
+
* list rather than bands across it, and the row's corner radius follows
|
|
107
|
+
* it: `rowInset={0}` is the full-bleed, square-cornered band, because a
|
|
108
|
+
* pill has to be inset to be *seen* as one and rounding a full-bleed row
|
|
109
|
+
* only shows the pane through four notched corners.
|
|
110
|
+
*
|
|
111
|
+
* A prop rather than a `styles.row` margin because the header has to move
|
|
112
|
+
* with the body — see `ROW_INSET`. The columns resolve into the width this
|
|
113
|
+
* leaves, so widening it narrows the flex columns rather than starting a
|
|
114
|
+
* horizontal scroll.
|
|
115
|
+
*/
|
|
116
|
+
rowInset?: number;
|
|
102
117
|
/** What an unmeasured row is assumed — and floored — at, while measuring.
|
|
103
118
|
* Default 24. The scrollbar is this guess for every row not yet seen; it
|
|
104
119
|
* converges as you scroll, and once enough rows have been measured the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/table/index.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,KAAK,EAEV,aAAa,EACb,UAAU,EAGX,MAAM,WAAW,CAAC;AAcnB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AA4BpC,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,QAAQ,EACR,UAAU,EACV,aAAa,EACb,SAAS,EACV,MAAM,WAAW,CAAC;AAKnB,YAAY,EACV,cAAc,EACd,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,QAAQ,EACR,UAAU,EACV,aAAa,EACb,SAAS,GACV,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/table/index.ts"],"names":[],"mappings":"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"}
|
package/dist/table/index.js
CHANGED
|
@@ -56,6 +56,28 @@ const HALF = 3;
|
|
|
56
56
|
const GRIP = HALF + RULE + HALF;
|
|
57
57
|
/** What one Left/Right on a focused grip is worth. */
|
|
58
58
|
const STEP = 16;
|
|
59
|
+
/**
|
|
60
|
+
* How far the grid sits inside the table's own edge — the default `rowInset`.
|
|
61
|
+
*
|
|
62
|
+
* It is what makes a selection read as a **pill on** the list rather than a
|
|
63
|
+
* band across it. With no inset the wash runs into whatever the table is
|
|
64
|
+
* mounted against, and the selected row reads as a stripe cut across the pane
|
|
65
|
+
* instead of a mark on a row. Core's `Menu` insets its rows from the sheet
|
|
66
|
+
* for exactly this reason, and `MENU_PAD` is this number.
|
|
67
|
+
*
|
|
68
|
+
* **The inset is the grid's, not the row's**, which is where a table parts
|
|
69
|
+
* company with `<Tree>`. A tree row is alone in its pane, so its own margin
|
|
70
|
+
* is the whole story; a table row is one half of a grid whose other half is
|
|
71
|
+
* the header, and a margin on the row alone would slide every cell four
|
|
72
|
+
* pixels out from under the column it belongs to. So the body pane is padded
|
|
73
|
+
* and the header row is offset by the same amount, and the columns resolve
|
|
74
|
+
* into what is left — which is also why this is a prop rather than something
|
|
75
|
+
* `styles.row` could express (see `rowInset`).
|
|
76
|
+
*
|
|
77
|
+
* Horizontal only. Rows stack flush against each other: clearing the first
|
|
78
|
+
* and the last is the job of whatever the table is mounted in.
|
|
79
|
+
*/
|
|
80
|
+
const ROW_INSET = 4;
|
|
59
81
|
/**
|
|
60
82
|
* Where `virtual="auto"` starts virtualizing.
|
|
61
83
|
*
|
|
@@ -157,7 +179,7 @@ const s = createStyles({
|
|
|
157
179
|
});
|
|
158
180
|
const EMPTY_SET = new Set();
|
|
159
181
|
function TableRowView(props) {
|
|
160
|
-
const { entry, columns, widths, setSize, isSelected, selectable, uniform, rowHeight, estimate, theme, rowStyle, cellStyle, renderRow, hasMenu, onTap, onOpen, onMenu, register, } = props;
|
|
182
|
+
const { entry, columns, widths, setSize, isSelected, selectable, uniform, rowHeight, estimate, theme, radius, rowStyle, cellStyle, renderRow, hasMenu, onTap, onOpen, onMenu, register, } = props;
|
|
161
183
|
const color = isSelected ? theme.hoverText : theme.text;
|
|
162
184
|
const state = { ...entry, selected: isSelected, color };
|
|
163
185
|
const content = columns.map((column, at) => {
|
|
@@ -224,17 +246,32 @@ function TableRowView(props) {
|
|
|
224
246
|
selectable && { cursor: 'pointer' },
|
|
225
247
|
{
|
|
226
248
|
backgroundColor: isSelected ? theme.hoverBackground : 'transparent',
|
|
249
|
+
// A pill on the list rather than a band across it. The inset that
|
|
250
|
+
// makes it one is the grid's — see `ROW_INSET` — and this is the
|
|
251
|
+
// corner that goes with it.
|
|
252
|
+
borderRadius: radius,
|
|
227
253
|
// The row's ink, said once: `color` inherits, so default cells
|
|
228
254
|
// take it without being handed it.
|
|
229
255
|
color,
|
|
230
256
|
},
|
|
231
257
|
selectable && {
|
|
232
|
-
//
|
|
233
|
-
// is already
|
|
234
|
-
//
|
|
258
|
+
// The press marks the row it lands on, and the pressed colour comes
|
|
259
|
+
// from the ramp that row is already painted with. An unselected row is on the surface ramp, so it is
|
|
260
|
+
// `surfaceActive`. A selected row is washed with `hoverBackground`,
|
|
261
|
+
// and `accentActive` — what this used to say — is the pressed step
|
|
262
|
+
// of `accent`: a different token that merely *holds* the same
|
|
263
|
+
// colour in both stock palettes. Move the accent and the press
|
|
264
|
+
// flashes something the table never wears at rest; a yellow accent
|
|
265
|
+
// over a blue selection gives a yellow press, and the row's ink is
|
|
266
|
+
// still `hoverText`, picked to be legible on the blue. There is no
|
|
267
|
+
// darker step of `hoverBackground` in the palette to reach for and
|
|
268
|
+
// the selected row is already the strongest fill in the list, so
|
|
269
|
+
// it keeps its wash. That row is the one place a press shows
|
|
270
|
+
// nothing, and it is also the one row whose press already has an
|
|
271
|
+
// answer: it is selected, and a second click opens it.
|
|
235
272
|
':active': {
|
|
236
273
|
backgroundColor: isSelected
|
|
237
|
-
? theme.
|
|
274
|
+
? theme.hoverBackground
|
|
238
275
|
: theme.surfaceActive,
|
|
239
276
|
},
|
|
240
277
|
},
|
|
@@ -279,7 +316,7 @@ const MemoTableRow = React.memo(TableRowView);
|
|
|
279
316
|
* the same rows a sighted user can see.
|
|
280
317
|
*/
|
|
281
318
|
export function Table(props) {
|
|
282
|
-
const { columns = [], rows = [], getId, sort, defaultSort, onSortChange, presorted = false, onActivate, onRowContextMenu, onColumnResize, rowHeight, estimatedRowHeight, virtual = 'auto', overscan = DEFAULT_OVERSCAN, prefetch = DEFAULT_PREFETCH, renderRow, renderEmpty, renderScrollHint, scrollHintDelay = SCROLL_HINT_DELAY_MS, catchup, styles, style, focusable = true, ref, selectionMode = 'single', selected, defaultSelected, onSelect, onSelectedChange,
|
|
319
|
+
const { columns = [], rows = [], getId, sort, defaultSort, onSortChange, presorted = false, onActivate, onRowContextMenu, onColumnResize, rowHeight, rowInset = ROW_INSET, estimatedRowHeight, virtual = 'auto', overscan = DEFAULT_OVERSCAN, prefetch = DEFAULT_PREFETCH, renderRow, renderEmpty, renderScrollHint, scrollHintDelay = SCROLL_HINT_DELAY_MS, catchup, styles, style, focusable = true, ref, selectionMode = 'single', selected, defaultSelected, onSelect, onSelectedChange,
|
|
283
320
|
// ours to chain rather than to hand over: virtualization and the sticky
|
|
284
321
|
// header are measured through both of these
|
|
285
322
|
onScroll, onViewport, ...boxProps } = props;
|
|
@@ -360,6 +397,8 @@ export function Table(props) {
|
|
|
360
397
|
const hintShown = useRef(false);
|
|
361
398
|
const userWidthsRef = useRef(userWidths);
|
|
362
399
|
userWidthsRef.current = userWidths;
|
|
400
|
+
const rowInsetRef = useRef(rowInset);
|
|
401
|
+
rowInsetRef.current = rowInset;
|
|
363
402
|
/** Declared uniform: divide, never measure — core's model. */
|
|
364
403
|
const uniform = rowHeight !== undefined;
|
|
365
404
|
const estimate = rowHeight ?? estimatedRowHeight ?? ROW_HEIGHT;
|
|
@@ -392,8 +431,26 @@ export function Table(props) {
|
|
|
392
431
|
const { view, viewRef } = win;
|
|
393
432
|
const { first, last, above, below } = win.slice;
|
|
394
433
|
/** Columns resolve to pixels once, at the table level, per (columns,
|
|
395
|
-
* viewport, resizes) — every row agrees on the grid by construction.
|
|
396
|
-
|
|
434
|
+
* viewport, resizes) — every row agrees on the grid by construction.
|
|
435
|
+
* Into the *inset* box: the grid gives up `rowInset` at each edge, so a
|
|
436
|
+
* flex column fills what is left instead of pushing the last few pixels
|
|
437
|
+
* under a horizontal scrollbar that was not there before. */
|
|
438
|
+
const gridWidth = Math.max(0, view.width - rowInset * 2);
|
|
439
|
+
const { widths, total } = useMemo(() => resolveWidths(columns, userWidths, gridWidth), [columns, userWidths, gridWidth]);
|
|
440
|
+
/**
|
|
441
|
+
* The row's corner. `radiusSmall` rather than core's `rowRadius`: that one
|
|
442
|
+
* derives a row's radius from `radiusPopup` less the sheet's border and
|
|
443
|
+
* padding, so the pill and the sheet under it share a centre — and a table
|
|
444
|
+
* owns no sheet. It fills a pane whose radius it cannot know, so there is
|
|
445
|
+
* no outer curve to be concentric with, and `radiusPopup` ("a floating
|
|
446
|
+
* surface … half the text size") is describing a menu laid over the window
|
|
447
|
+
* rather than content in it. Of the two in-window tokens the row takes the
|
|
448
|
+
* tighter: `radius` is the control scale — a button, an input, a card cut
|
|
449
|
+
* into the surface — and this is a mark *on* the surface, transient and
|
|
450
|
+
* borderless. Zero when there is no inset, because a pill has to be inset
|
|
451
|
+
* to be seen as one; rounded and full-bleed just notches the four corners.
|
|
452
|
+
*/
|
|
453
|
+
const rowRadius = rowInset > 0 ? theme.radiusSmall : 0;
|
|
397
454
|
/**
|
|
398
455
|
* The scroll the table owes a row, and the pane's real offset read back
|
|
399
456
|
* after every layout — the two halves of `../internal/scroll.ts`, which
|
|
@@ -447,7 +504,11 @@ export function Table(props) {
|
|
|
447
504
|
// `onViewport` and the re-render it causes, which is exactly when the
|
|
448
505
|
// rendered state is stale. The tree never needs any of this: its row
|
|
449
506
|
// width never depends on a resolved column model.
|
|
450
|
-
const expected = resolveWidths(columnsRef.current, userWidthsRef.current,
|
|
507
|
+
const expected = resolveWidths(columnsRef.current, userWidthsRef.current,
|
|
508
|
+
// the same inset box the render resolved into, or every row is
|
|
509
|
+
// measured against a grid the table does not have and no height is
|
|
510
|
+
// ever recorded
|
|
511
|
+
Math.max(0, viewRef.current.width - rowInsetRef.current * 2)).total;
|
|
451
512
|
const box = body.current;
|
|
452
513
|
const rows = orderedRef.current;
|
|
453
514
|
const anchor = box ? heights.indexAt(box.scrollY) : 0;
|
|
@@ -824,6 +885,9 @@ export function Table(props) {
|
|
|
824
885
|
{ height: heights.heightAt(entry.index) },
|
|
825
886
|
{
|
|
826
887
|
backgroundColor: isSelected ? theme.hoverBackground : 'transparent',
|
|
888
|
+
// Same pill as a real row's, so a placeholder that is replaced
|
|
889
|
+
// mid-scroll does not change shape as it arrives.
|
|
890
|
+
borderRadius: rowRadius,
|
|
827
891
|
},
|
|
828
892
|
typeof rowStyleProp === 'function'
|
|
829
893
|
? rowStyleProp(state)
|
|
@@ -969,6 +1033,7 @@ export function Table(props) {
|
|
|
969
1033
|
rowHeight,
|
|
970
1034
|
estimate,
|
|
971
1035
|
theme,
|
|
1036
|
+
radius: rowRadius,
|
|
972
1037
|
rowStyle: rowStyleProp,
|
|
973
1038
|
cellStyle: cellStyleProp,
|
|
974
1039
|
renderRow,
|
|
@@ -1101,9 +1166,28 @@ export function Table(props) {
|
|
|
1101
1166
|
{ backgroundColor: theme.surfaceHover },
|
|
1102
1167
|
styles?.header,
|
|
1103
1168
|
],
|
|
1104
|
-
}, hx('box', {
|
|
1169
|
+
}, hx('box', {
|
|
1170
|
+
// `rowInset` first, then the scroll: the header and the rows are
|
|
1171
|
+
// one grid, so the inset that moves the body has to move the
|
|
1172
|
+
// header by the same amount or every caption slides out from over
|
|
1173
|
+
// its column. The strip's own background stays full-bleed — it is
|
|
1174
|
+
// a band across the table, which is exactly what a row is not.
|
|
1175
|
+
style: [
|
|
1176
|
+
s.headerRow,
|
|
1177
|
+
{ marginStart: rowInset - scrollX, width: total },
|
|
1178
|
+
],
|
|
1179
|
+
}, headerCells)), hx('box', {
|
|
1105
1180
|
ref: body,
|
|
1106
|
-
|
|
1181
|
+
// The body half of the grid's inset — on the pane rather than on
|
|
1182
|
+
// each row, for three reasons. A row still lays out at exactly
|
|
1183
|
+
// `total`, which is the width `measureRows` insists on before it
|
|
1184
|
+
// will record a height. The spacers a virtualized table stands on
|
|
1185
|
+
// are inset with it, for free. And padding is inside the scrollable
|
|
1186
|
+
// area at both ends, so the trailing inset survives a table scrolled
|
|
1187
|
+
// to the end of columns wider than its pane — a trailing *margin* on
|
|
1188
|
+
// the rows box is dropped from the scroll extent there, and the last
|
|
1189
|
+
// column ends up flush against the edge it was meant to clear.
|
|
1190
|
+
style: [s.body, { paddingStart: rowInset, paddingEnd: rowInset }],
|
|
1107
1191
|
onScroll: (ev) => {
|
|
1108
1192
|
// A scroll this component did not ask for is the user taking over,
|
|
1109
1193
|
// and an owed `scrollToRow` must not yank the list back out from
|