@fusion.dev/helix-core 0.169.0 → 0.171.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/custom-elements.json +125 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/mixins/mixin-field/mixin-field.js +4 -0
- package/dist/utils/audit-served/audit-served-off.d.ts +10 -0
- package/dist/utils/audit-served/audit-served-off.js +1 -0
- package/dist/utils/audit-served/audit-served.d.ts +20 -0
- package/dist/utils/audit-served/audit-served.js +32 -0
- package/dist/utils/elapsed-time/elapsed-time.js +4 -10
- package/dist/utils/relative-time/relative-time.d.ts +25 -2
- package/dist/utils/relative-time/relative-time.js +30 -10
- package/dist/utils/report-runtime/report-runtime.d.ts +7 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +15 -4
package/custom-elements.json
CHANGED
|
@@ -12743,6 +12743,14 @@
|
|
|
12743
12743
|
"package": "#audit-name"
|
|
12744
12744
|
}
|
|
12745
12745
|
},
|
|
12746
|
+
{
|
|
12747
|
+
"kind": "js",
|
|
12748
|
+
"name": "auditServed",
|
|
12749
|
+
"declaration": {
|
|
12750
|
+
"name": "auditServed",
|
|
12751
|
+
"package": "#audit-served"
|
|
12752
|
+
}
|
|
12753
|
+
},
|
|
12746
12754
|
{
|
|
12747
12755
|
"kind": "js",
|
|
12748
12756
|
"name": "AriaForwardController",
|
|
@@ -24552,6 +24560,82 @@
|
|
|
24552
24560
|
}
|
|
24553
24561
|
]
|
|
24554
24562
|
},
|
|
24563
|
+
{
|
|
24564
|
+
"kind": "javascript-module",
|
|
24565
|
+
"path": "src/utils/audit-served/audit-served-off.ts",
|
|
24566
|
+
"declarations": [
|
|
24567
|
+
{
|
|
24568
|
+
"kind": "function",
|
|
24569
|
+
"name": "auditServed",
|
|
24570
|
+
"description": "The served-rows check in a production build: nothing.\n\n`#audit-served` resolves here unless the bundler or runtime asks for the\n`development` condition, so a production build carries none of the check's\ncode. The signature is the check's, so a call site reads the same in both\nbuilds. See `audit-served.ts`.",
|
|
24571
|
+
"type": {
|
|
24572
|
+
"text": "typeof audit"
|
|
24573
|
+
}
|
|
24574
|
+
}
|
|
24575
|
+
],
|
|
24576
|
+
"exports": [
|
|
24577
|
+
{
|
|
24578
|
+
"kind": "js",
|
|
24579
|
+
"name": "auditServed",
|
|
24580
|
+
"declaration": {
|
|
24581
|
+
"name": "auditServed",
|
|
24582
|
+
"module": "src/utils/audit-served/audit-served-off.ts"
|
|
24583
|
+
}
|
|
24584
|
+
}
|
|
24585
|
+
]
|
|
24586
|
+
},
|
|
24587
|
+
{
|
|
24588
|
+
"kind": "javascript-module",
|
|
24589
|
+
"path": "src/utils/audit-served/audit-served.ts",
|
|
24590
|
+
"declarations": [
|
|
24591
|
+
{
|
|
24592
|
+
"kind": "function",
|
|
24593
|
+
"name": "auditServed",
|
|
24594
|
+
"return": {
|
|
24595
|
+
"type": {
|
|
24596
|
+
"text": "void"
|
|
24597
|
+
}
|
|
24598
|
+
},
|
|
24599
|
+
"parameters": [
|
|
24600
|
+
{
|
|
24601
|
+
"name": "host",
|
|
24602
|
+
"type": {
|
|
24603
|
+
"text": "HTMLElement"
|
|
24604
|
+
}
|
|
24605
|
+
},
|
|
24606
|
+
{
|
|
24607
|
+
"name": "served",
|
|
24608
|
+
"type": {
|
|
24609
|
+
"text": "readonly Element[]"
|
|
24610
|
+
}
|
|
24611
|
+
},
|
|
24612
|
+
{
|
|
24613
|
+
"name": "drawn",
|
|
24614
|
+
"type": {
|
|
24615
|
+
"text": "readonly Element[]"
|
|
24616
|
+
}
|
|
24617
|
+
},
|
|
24618
|
+
{
|
|
24619
|
+
"name": "page",
|
|
24620
|
+
"type": {
|
|
24621
|
+
"text": "number"
|
|
24622
|
+
}
|
|
24623
|
+
}
|
|
24624
|
+
],
|
|
24625
|
+
"description": "Reports a table whose first drawn page differs from the rows the page\nserved, which a reader sees as the rows changing under them once the\nscript runs.\n\n**The served rows are the page's own markup and the drawn ones are the\ntable's**, so nothing else can catch it: the two are made by different\ncode, often on different machines, and either can sort, page or format\ndifferently. Compared by the words in each cell, which is what a reader\nsees change, and only as far as the first difference.\n\n**In a development build only**, as `missing-name` is: every table would pay\nfor a sentence meant for the person writing the page. Core imports it as\n`#audit-served`, which `package.json` resolves here under the `development`\ncondition and to `audit-served-off.ts`, which does nothing, everywhere else.\n\n`served` are the rows the page wrote, `drawn` the rows the table drew in\ntheir place, and `page` how many rows the first page holds."
|
|
24626
|
+
}
|
|
24627
|
+
],
|
|
24628
|
+
"exports": [
|
|
24629
|
+
{
|
|
24630
|
+
"kind": "js",
|
|
24631
|
+
"name": "auditServed",
|
|
24632
|
+
"declaration": {
|
|
24633
|
+
"name": "auditServed",
|
|
24634
|
+
"module": "src/utils/audit-served/audit-served.ts"
|
|
24635
|
+
}
|
|
24636
|
+
}
|
|
24637
|
+
]
|
|
24638
|
+
},
|
|
24555
24639
|
{
|
|
24556
24640
|
"kind": "javascript-module",
|
|
24557
24641
|
"path": "src/utils/audit-source/audit-source-off.ts",
|
|
@@ -30094,11 +30178,41 @@
|
|
|
30094
30178
|
"kind": "variable",
|
|
30095
30179
|
"name": "UNITS",
|
|
30096
30180
|
"type": {
|
|
30097
|
-
"text": "
|
|
30181
|
+
"text": "Unit[]"
|
|
30098
30182
|
},
|
|
30099
30183
|
"default": "[ { ms: 1000, unit: 'second' }, { ms: 60_000, unit: 'minute' }, { ms: 3_600_000, unit: 'hour' }, { ms: 86_400_000, unit: 'day' }, { ms: 604_800_000, unit: 'week' }, { ms: 2_629_800_000, unit: 'month' }, { ms: 31_557_600_000, unit: 'year' }, ]",
|
|
30100
30184
|
"description": "How long each unit lasts, in milliseconds, largest last. `elapsedTime`\nreads its minute, hour and day from here."
|
|
30101
30185
|
},
|
|
30186
|
+
{
|
|
30187
|
+
"kind": "function",
|
|
30188
|
+
"name": "roundedCount",
|
|
30189
|
+
"return": {
|
|
30190
|
+
"type": {
|
|
30191
|
+
"text": "{ count: number; index: number; next: number }"
|
|
30192
|
+
}
|
|
30193
|
+
},
|
|
30194
|
+
"parameters": [
|
|
30195
|
+
{
|
|
30196
|
+
"name": "size",
|
|
30197
|
+
"type": {
|
|
30198
|
+
"text": "number"
|
|
30199
|
+
}
|
|
30200
|
+
},
|
|
30201
|
+
{
|
|
30202
|
+
"name": "units",
|
|
30203
|
+
"type": {
|
|
30204
|
+
"text": "readonly U[]"
|
|
30205
|
+
}
|
|
30206
|
+
},
|
|
30207
|
+
{
|
|
30208
|
+
"name": "growing",
|
|
30209
|
+
"type": {
|
|
30210
|
+
"text": "boolean"
|
|
30211
|
+
}
|
|
30212
|
+
}
|
|
30213
|
+
],
|
|
30214
|
+
"description": "A size of time as a rounded count of one of `units`, and how long that\ncount holds while the size grows (`growing`, a moment gone) or shrinks (a\nmoment to come).\n\n**Rounded, as Shoelace's relative time rounds.** Truncated, a date 48 hours\nahead, measured a few milliseconds later, read \"tomorrow\", and 59 minutes\nread \"59 minutes\" while 61 read \"1 hour\". A count that rounds up to the next\nunit's size reads in that unit: 59.6 minutes is 1 hour, 6.6 days is 1 week.\n\n`units` run smallest first and the size is at least the first of them.\nExported for `elapsedTime`, which reads its minute, hour and day the same way."
|
|
30215
|
+
},
|
|
30102
30216
|
{
|
|
30103
30217
|
"kind": "function",
|
|
30104
30218
|
"name": "relativeTime",
|
|
@@ -30134,6 +30248,14 @@
|
|
|
30134
30248
|
"module": "src/utils/relative-time/relative-time.ts"
|
|
30135
30249
|
}
|
|
30136
30250
|
},
|
|
30251
|
+
{
|
|
30252
|
+
"kind": "js",
|
|
30253
|
+
"name": "roundedCount",
|
|
30254
|
+
"declaration": {
|
|
30255
|
+
"name": "roundedCount",
|
|
30256
|
+
"module": "src/utils/relative-time/relative-time.ts"
|
|
30257
|
+
}
|
|
30258
|
+
},
|
|
30137
30259
|
{
|
|
30138
30260
|
"kind": "js",
|
|
30139
30261
|
"name": "relativeTime",
|
|
@@ -33589,7 +33711,7 @@
|
|
|
33589
33711
|
"type": {
|
|
33590
33712
|
"text": "string"
|
|
33591
33713
|
},
|
|
33592
|
-
"default": "'0.
|
|
33714
|
+
"default": "'0.171.0'",
|
|
33593
33715
|
"description": "The version of the package this file ships in.\n\n**Written by `fusion/scripts/version.mjs`** wherever it writes the package's\n`package.json`, and stamped back into the repository beside it after a\nrelease, so the two never disagree; a spec beside this holds them to it.\nNothing else in the running code knows which release it is."
|
|
33594
33716
|
}
|
|
33595
33717
|
],
|
|
@@ -34149,6 +34271,6 @@
|
|
|
34149
34271
|
],
|
|
34150
34272
|
"helix": {
|
|
34151
34273
|
"package": "@fusion.dev/helix-core",
|
|
34152
|
-
"version": "0.
|
|
34274
|
+
"version": "0.171.0"
|
|
34153
34275
|
}
|
|
34154
34276
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { auditName } from '@fusion.dev/helix-core/audits/name';
|
|
2
|
+
export { auditServed } from '@fusion.dev/helix-core/audits/served';
|
|
2
3
|
export { AriaForwardController, type AriaForwardOptions, } from './controllers/aria-forward-controller/aria-forward-controller.js';
|
|
3
4
|
export { ArrivalController, type ArrivalOptions, } from './controllers/arrival-controller/arrival-controller.js';
|
|
4
5
|
export { ChartPointerController, type ChartPointerHost, type ReadingHeard, } from './controllers/chart-pointer-controller/chart-pointer-controller.js';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { auditName } from '@fusion.dev/helix-core/audits/name';
|
|
2
|
+
export { auditServed } from '@fusion.dev/helix-core/audits/served';
|
|
2
3
|
export { AriaForwardController, } from './controllers/aria-forward-controller/aria-forward-controller.js';
|
|
3
4
|
export { ArrivalController, } from './controllers/arrival-controller/arrival-controller.js';
|
|
4
5
|
export { ChartPointerController, } from './controllers/chart-pointer-controller/chart-pointer-controller.js';
|
|
@@ -142,6 +142,10 @@ export const MixinField = (Base) => {
|
|
|
142
142
|
this.refreshFeedback();
|
|
143
143
|
}
|
|
144
144
|
copyValidity(control) {
|
|
145
|
+
if (!control.willValidate) {
|
|
146
|
+
this.internals.setValidity({});
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
145
149
|
const message = control.validity.valueMissing && this.valueMissingMessage
|
|
146
150
|
? this.valueMissingMessage
|
|
147
151
|
: control.validationMessage;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { auditServed as audit } from './audit-served.js';
|
|
2
|
+
/**
|
|
3
|
+
* The served-rows check in a production build: nothing.
|
|
4
|
+
*
|
|
5
|
+
* `#audit-served` resolves here unless the bundler or runtime asks for the
|
|
6
|
+
* `development` condition, so a production build carries none of the check's
|
|
7
|
+
* code. The signature is the check's, so a call site reads the same in both
|
|
8
|
+
* builds. See `audit-served.ts`.
|
|
9
|
+
*/
|
|
10
|
+
export declare const auditServed: typeof audit;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const auditServed = () => { };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reports a table whose first drawn page differs from the rows the page
|
|
3
|
+
* served, which a reader sees as the rows changing under them once the
|
|
4
|
+
* script runs.
|
|
5
|
+
*
|
|
6
|
+
* **The served rows are the page's own markup and the drawn ones are the
|
|
7
|
+
* table's**, so nothing else can catch it: the two are made by different
|
|
8
|
+
* code, often on different machines, and either can sort, page or format
|
|
9
|
+
* differently. Compared by the words in each cell, which is what a reader
|
|
10
|
+
* sees change, and only as far as the first difference.
|
|
11
|
+
*
|
|
12
|
+
* **In a development build only**, as `missing-name` is: every table would pay
|
|
13
|
+
* for a sentence meant for the person writing the page. Core imports it as
|
|
14
|
+
* `#audit-served`, which `package.json` resolves here under the `development`
|
|
15
|
+
* condition and to `audit-served-off.ts`, which does nothing, everywhere else.
|
|
16
|
+
*
|
|
17
|
+
* `served` are the rows the page wrote, `drawn` the rows the table drew in
|
|
18
|
+
* their place, and `page` how many rows the first page holds.
|
|
19
|
+
*/
|
|
20
|
+
export declare const auditServed: (host: HTMLElement, served: readonly Element[], drawn: readonly Element[], page: number) => void;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { reportRuntime } from '../report-runtime/report-runtime.js';
|
|
2
|
+
const audited = new WeakSet();
|
|
3
|
+
const said = (row) => [...row.children]
|
|
4
|
+
.filter((cell) => /-table-cell$/.test(cell.localName) || cell.matches('[part~="cell"]'))
|
|
5
|
+
.map((cell) => (cell.textContent ?? '').replace(/\s+/g, ' ').trim())
|
|
6
|
+
.join(' | ');
|
|
7
|
+
export const auditServed = (host, served, drawn, page) => {
|
|
8
|
+
if (served.length === 0 || audited.has(host)) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const table = `<${host.localName}${host.getAttribute('label') ? ` label="${host.getAttribute('label')}"` : ''}>`;
|
|
12
|
+
let differs = '';
|
|
13
|
+
if (served.length > page) {
|
|
14
|
+
differs = `serves ${served.length} rows and its first page holds ${page}`;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
const at = served.findIndex((row, index) => drawn[index] && said(row) !== said(drawn[index]));
|
|
18
|
+
if (at !== -1) {
|
|
19
|
+
differs = `serves row ${at + 1} as "${said(served[at])}" and draws it as "${said(drawn[at])}"`;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
if (differs === '') {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
audited.add(host);
|
|
26
|
+
reportRuntime({
|
|
27
|
+
kind: 'served-rows-differ',
|
|
28
|
+
message: `${table} ${differs}, so the rows change once the table draws its own. ` +
|
|
29
|
+
'Serve the first page in the order, the page size and the formatting the table draws it with.',
|
|
30
|
+
tag: host.localName,
|
|
31
|
+
});
|
|
32
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UNITS as TIME_UNITS } from '../relative-time/relative-time.js';
|
|
1
|
+
import { roundedCount, UNITS as TIME_UNITS } from '../relative-time/relative-time.js';
|
|
2
2
|
const held = new Map();
|
|
3
3
|
const dated = new Map();
|
|
4
4
|
const UNITS = TIME_UNITS.slice(1, 4);
|
|
@@ -44,15 +44,9 @@ export const elapsedTime = (locale) => {
|
|
|
44
44
|
const format = sameYear ? dates[0] : dates[1];
|
|
45
45
|
return { next: Number.POSITIVE_INFINITY, text: format.format(from) };
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
index = at;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
const chosen = UNITS[index];
|
|
54
|
-
const count = Math.trunc(size / chosen.ms);
|
|
55
|
-
const remaining = Math.min(chosen.ms - (size % chosen.ms), HORIZON - size);
|
|
47
|
+
const growing = elapsed > 0;
|
|
48
|
+
const { count, index, next } = roundedCount(size, UNITS, growing);
|
|
49
|
+
const remaining = growing ? Math.min(next, HORIZON - size) : next;
|
|
56
50
|
return {
|
|
57
51
|
next: Math.max(1000, Math.min(remaining, 3_600_000)),
|
|
58
52
|
text: short[index].format(count),
|
|
@@ -2,10 +2,32 @@
|
|
|
2
2
|
* How long each unit lasts, in milliseconds, largest last. `elapsedTime`
|
|
3
3
|
* reads its minute, hour and day from here.
|
|
4
4
|
*/
|
|
5
|
-
export declare const UNITS:
|
|
5
|
+
export declare const UNITS: Unit[];
|
|
6
|
+
/** One unit of `UNITS`. */
|
|
7
|
+
type Unit = {
|
|
6
8
|
ms: number;
|
|
7
9
|
unit: Intl.RelativeTimeFormatUnit;
|
|
8
|
-
}
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* A size of time as a rounded count of one of `units`, and how long that
|
|
13
|
+
* count holds while the size grows (`growing`, a moment gone) or shrinks (a
|
|
14
|
+
* moment to come).
|
|
15
|
+
*
|
|
16
|
+
* **Rounded, as Shoelace's relative time rounds.** Truncated, a date 48 hours
|
|
17
|
+
* ahead, measured a few milliseconds later, read "tomorrow", and 59 minutes
|
|
18
|
+
* read "59 minutes" while 61 read "1 hour". A count that rounds up to the next
|
|
19
|
+
* unit's size reads in that unit: 59.6 minutes is 1 hour, 6.6 days is 1 week.
|
|
20
|
+
*
|
|
21
|
+
* `units` run smallest first and the size is at least the first of them.
|
|
22
|
+
* Exported for `elapsedTime`, which reads its minute, hour and day the same way.
|
|
23
|
+
*/
|
|
24
|
+
export declare const roundedCount: <U extends {
|
|
25
|
+
ms: number;
|
|
26
|
+
}>(size: number, units: readonly U[], growing: boolean) => {
|
|
27
|
+
count: number;
|
|
28
|
+
index: number;
|
|
29
|
+
next: number;
|
|
30
|
+
};
|
|
9
31
|
/** What one timestamp reads as, and when that stops being true. */
|
|
10
32
|
export interface Relative {
|
|
11
33
|
/**
|
|
@@ -42,3 +64,4 @@ export interface RelativeOptions {
|
|
|
42
64
|
* says aloud and what every caller wanted before Format Date offered the rest.
|
|
43
65
|
*/
|
|
44
66
|
export declare const relativeTime: (locale: string, options?: RelativeOptions) => ((from: Date, now: Date) => Relative);
|
|
67
|
+
export {};
|
|
@@ -8,6 +8,32 @@ export const UNITS = [
|
|
|
8
8
|
{ ms: 2_629_800_000, unit: 'month' },
|
|
9
9
|
{ ms: 31_557_600_000, unit: 'year' },
|
|
10
10
|
];
|
|
11
|
+
export const roundedCount = (size, units, growing) => {
|
|
12
|
+
let index = 0;
|
|
13
|
+
for (let at = 1; at < units.length; at += 1) {
|
|
14
|
+
if (size >= units[at].ms) {
|
|
15
|
+
index = at;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const ms = (at) => units[at].ms;
|
|
19
|
+
let count = Math.round(size / ms(index));
|
|
20
|
+
while (index + 1 < units.length && count * ms(index) >= ms(index + 1)) {
|
|
21
|
+
index += 1;
|
|
22
|
+
count = Math.round(size / ms(index));
|
|
23
|
+
}
|
|
24
|
+
if (growing) {
|
|
25
|
+
return { count, index, next: (count + 0.5) * ms(index) - size };
|
|
26
|
+
}
|
|
27
|
+
const below = [(count - 0.5) * ms(index)];
|
|
28
|
+
if (size >= ms(index)) {
|
|
29
|
+
below.push(ms(index));
|
|
30
|
+
}
|
|
31
|
+
if (index > 0) {
|
|
32
|
+
below.push((Math.ceil(ms(index) / ms(index - 1)) - 0.5) * ms(index - 1));
|
|
33
|
+
}
|
|
34
|
+
const floor = Math.max(...below.filter((at) => at <= size));
|
|
35
|
+
return { count, index, next: size - floor + 1 };
|
|
36
|
+
};
|
|
11
37
|
export const relativeTime = (locale, options = {}) => {
|
|
12
38
|
const numeric = options.numeric ?? 'auto';
|
|
13
39
|
const style = options.style ?? 'long';
|
|
@@ -30,17 +56,11 @@ export const relativeTime = (locale, options = {}) => {
|
|
|
30
56
|
text: found.format(elapsed > 0 ? 0 : -0, 'second'),
|
|
31
57
|
};
|
|
32
58
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (size >= unit.ms) {
|
|
36
|
-
chosen = unit;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
const count = Math.trunc(elapsed / chosen.ms);
|
|
40
|
-
const remaining = chosen.ms - (size % chosen.ms);
|
|
59
|
+
const { count, index, next } = roundedCount(size, UNITS.slice(1), elapsed < 0);
|
|
60
|
+
const chosen = UNITS[index + 1];
|
|
41
61
|
return {
|
|
42
|
-
next: Math.max(1000, Math.min(
|
|
43
|
-
text: found.format(count, chosen.unit),
|
|
62
|
+
next: Math.max(1000, Math.min(next, 3_600_000)),
|
|
63
|
+
text: found.format(elapsed < 0 ? -count : count, chosen.unit),
|
|
44
64
|
};
|
|
45
65
|
};
|
|
46
66
|
};
|
|
@@ -34,6 +34,8 @@ export type RuntimeKind =
|
|
|
34
34
|
| 'misread-direction'
|
|
35
35
|
/** A React handler prop names an event the element never dispatches itself. Development builds only. */
|
|
36
36
|
| 'misplaced-handler'
|
|
37
|
+
/** A Chat was given turns both as children and as `turns`, which it draws as two runs. */
|
|
38
|
+
| 'mixed-turns'
|
|
37
39
|
/** An Image has no `alt`, so a screen reader announces its file name. */
|
|
38
40
|
| 'missing-alt'
|
|
39
41
|
/** The three.js driver could not load its layout, so the notes stay where they started. */
|
|
@@ -63,6 +65,11 @@ export type RuntimeKind =
|
|
|
63
65
|
| 'refused-length'
|
|
64
66
|
/** A React handler prop is a removed callback, which never ran from JSX. Development builds only. */
|
|
65
67
|
| 'removed-callback'
|
|
68
|
+
/**
|
|
69
|
+
* A Data Table's first drawn page differs from the rows the page served, so the rows change
|
|
70
|
+
* once it draws. Development builds only.
|
|
71
|
+
*/
|
|
72
|
+
| 'served-rows-differ'
|
|
66
73
|
/**
|
|
67
74
|
* A React handler prop uses Solid's `on:`, which React reads as another event's name.
|
|
68
75
|
* Development builds only.
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = '0.
|
|
1
|
+
export const VERSION = '0.171.0';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fusion.dev/helix-core",
|
|
3
3
|
"description": "Helix element primitives: base classes, mixins, decorators, utilities.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.171.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ross Sheppard <ross.sheppard@fusion.dev>",
|
|
7
7
|
"repository": {
|
|
@@ -29,6 +29,12 @@
|
|
|
29
29
|
"helix-development": "./dist/helix-element/react-audit.js",
|
|
30
30
|
"default": "./dist/helix-element/react-audit-off.js"
|
|
31
31
|
},
|
|
32
|
+
"./audits/served": {
|
|
33
|
+
"types": "./dist/utils/audit-served/audit-served.d.ts",
|
|
34
|
+
"development": "./dist/utils/audit-served/audit-served.js",
|
|
35
|
+
"helix-development": "./dist/utils/audit-served/audit-served.js",
|
|
36
|
+
"default": "./dist/utils/audit-served/audit-served-off.js"
|
|
37
|
+
},
|
|
32
38
|
"./audits/source": {
|
|
33
39
|
"types": "./dist/utils/audit-source/audit-source.d.ts",
|
|
34
40
|
"development": "./dist/utils/audit-source/audit-source.js",
|
|
@@ -56,11 +62,11 @@
|
|
|
56
62
|
"bugs": "https://github.com/project-fusion/fusion/issues",
|
|
57
63
|
"dependencies": {
|
|
58
64
|
"@floating-ui/dom": "^1.8.0",
|
|
59
|
-
"@fusion.dev/helix-icons": "0.
|
|
65
|
+
"@fusion.dev/helix-icons": "0.171.0"
|
|
60
66
|
},
|
|
61
67
|
"devDependencies": {
|
|
62
|
-
"@fusion.dev/helix-cem": "0.
|
|
63
|
-
"@fusion.dev/helix-testing": "0.
|
|
68
|
+
"@fusion.dev/helix-cem": "0.171.0",
|
|
69
|
+
"@fusion.dev/helix-testing": "0.171.0",
|
|
64
70
|
"@lit-labs/ssr": "^4.1.0",
|
|
65
71
|
"lit": "^3.2.1"
|
|
66
72
|
},
|
|
@@ -71,6 +77,11 @@
|
|
|
71
77
|
"helix-development": "./src/utils/audit-name/audit-name.ts",
|
|
72
78
|
"default": "./src/utils/audit-name/audit-name-off.ts"
|
|
73
79
|
},
|
|
80
|
+
"#audit-served": {
|
|
81
|
+
"development": "./src/utils/audit-served/audit-served.ts",
|
|
82
|
+
"helix-development": "./src/utils/audit-served/audit-served.ts",
|
|
83
|
+
"default": "./src/utils/audit-served/audit-served-off.ts"
|
|
84
|
+
},
|
|
74
85
|
"#audit-source": {
|
|
75
86
|
"development": "./src/utils/audit-source/audit-source.ts",
|
|
76
87
|
"helix-development": "./src/utils/audit-source/audit-source.ts",
|