@charcuterie/ui 4.26.1 → 4.26.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableViewport.d.ts","sourceRoot":"","sources":["../../src/TableViewport/TableViewport.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAA;AAWrD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,2EAA2E;IAC3E,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,aAAa,GAAI,8CAK3B,kBAAkB,KAAG,
|
|
1
|
+
{"version":3,"file":"TableViewport.d.ts","sourceRoot":"","sources":["../../src/TableViewport/TableViewport.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAA;AAWrD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,2EAA2E;IAC3E,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,aAAa,GAAI,8CAK3B,kBAAkB,KAAG,SA6IvB,CAAA"}
|
|
@@ -25,7 +25,16 @@ export const TableViewport = ({ children, className, columnCount, label, }) => {
|
|
|
25
25
|
.matches)
|
|
26
26
|
return;
|
|
27
27
|
const style = getComputedStyle(dialog);
|
|
28
|
-
const
|
|
28
|
+
const durationToken = style
|
|
29
|
+
.getPropertyValue("--duration-slow")
|
|
30
|
+
.trim();
|
|
31
|
+
// CSS minifiers can rewrite 320ms to .32s; WAAPI always takes ms.
|
|
32
|
+
const duration = Number.parseFloat(durationToken) *
|
|
33
|
+
(durationToken.endsWith("ms")
|
|
34
|
+
? 1
|
|
35
|
+
: durationToken.endsWith("s")
|
|
36
|
+
? 1000
|
|
37
|
+
: 0);
|
|
29
38
|
// Zero-duration profiles (including ePaper) remove motion entirely.
|
|
30
39
|
if (!(duration > 0))
|
|
31
40
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableViewport.js","sourceRoot":"","sources":["../../src/TableViewport/TableViewport.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,WAAW,EACX,eAAe,EACf,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAsB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAsB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAU/C,2FAA2F;AAC3F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,WAAW,EACX,KAAK,GACc,EAAa,EAAE;IAClC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,SAAS,GAAG,MAAM,CAAc,IAAI,CAAC,CAAA;IAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAA;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC/B,eAAe,CAAC,GAAG,EAAE;QACnB,oEAAoE;QACpE,4EAA4E;QAC5E,0EAA0E;QAC1E,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,OAAO;YAClC,SAAS,CAAC,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAA;IACzD,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAChB,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,IAA2B,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,IAAI,EAAE,OAAO,CAC1B,iBAAiB,CAClB,CAAA;QACD,IACE,CAAC,MAAM;YACP,UAAU,CAAC,kCAAkC,CAAC;iBAC3C,OAAO;YAEV,OAAM;QAER,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACtC,MAAM,
|
|
1
|
+
{"version":3,"file":"TableViewport.js","sourceRoot":"","sources":["../../src/TableViewport/TableViewport.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,WAAW,EACX,eAAe,EACf,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAsB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAsB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAU/C,2FAA2F;AAC3F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,WAAW,EACX,KAAK,GACc,EAAa,EAAE;IAClC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,SAAS,GAAG,MAAM,CAAc,IAAI,CAAC,CAAA;IAC3C,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAA;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC/B,eAAe,CAAC,GAAG,EAAE;QACnB,oEAAoE;QACpE,4EAA4E;QAC5E,0EAA0E;QAC1E,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,OAAO;YAClC,SAAS,CAAC,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAA;IACzD,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAChB,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,IAA2B,EAAE,EAAE;QAC9B,MAAM,MAAM,GAAG,IAAI,EAAE,OAAO,CAC1B,iBAAiB,CAClB,CAAA;QACD,IACE,CAAC,MAAM;YACP,UAAU,CAAC,kCAAkC,CAAC;iBAC3C,OAAO;YAEV,OAAM;QAER,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACtC,MAAM,aAAa,GAAG,KAAK;aACxB,gBAAgB,CAAC,iBAAiB,CAAC;aACnC,IAAI,EAAE,CAAA;QACT,kEAAkE;QAClE,MAAM,QAAQ,GACZ,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC;YAChC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC3B,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAC3B,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,CAAC,CAAC,CAAA;QACV,oEAAoE;QACpE,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;YAAE,OAAM;QAE3B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAC9B;YACE;gBACE,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,iCAAiC;aAC7C;YACD,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE;SAClC,EACD;YACE,QAAQ;YACR,MAAM,EACJ,KAAK;iBACF,gBAAgB,CAAC,mBAAmB,CAAC;iBACrC,IAAI,EAAE,IAAI,UAAU;YACzB,IAAI,EAAE,MAAM;SACb,CACF,CAAA;QACD,SAAS,CAAC,OAAO,GAAG,SAAS,CAAA;QAC7B,gEAAgE;QAChE,KAAK,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACvC,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,MAAM,EAAE,CAAA;YAClB,SAAS,CAAC,OAAO,GAAG,IAAI,CAAA;QAC1B,CAAC,CAAA;IACH,CAAC,EACD,EAAE,CACH,CAAA;IACD,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,SAAS,CAAC,OAAO;YAAE,OAAM;QAC7B,SAAS,CAAC,OAAO,GAAG,IAAI,CAAA;QACxB,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,aAAa,CAAC,KAAK,CAAC,CAAA;YACpB,SAAS,CAAC,OAAO,GAAG,KAAK,CAAA;QAC3B,CAAC,CAAA;QACD,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAA;QACnC,IACE,CAAC,SAAS;YACV,UAAU,CAAC,kCAAkC,CAAC,CAAC,OAAO,EACtD,CAAC;YACD,MAAM,EAAE,CAAA;YACR,OAAM;QACR,CAAC;QACD,6EAA6E;QAC7E,SAAS,CAAC,OAAO,EAAE,CAAA;QACnB,KAAK,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAChD,CAAC,CAAA;IACD,MAAM,YAAY,GAAG;QACnB,yBAAyB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,KAAK;KAChD,CAAA;IAClB,MAAM,OAAO,GAAG,CACd,cACE,SAAS,EAAC,2BAA2B,EACrC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAC9C,KAAK,EAAE,YAAY,YAElB,QAAQ,GACL,CACP,CAAA;IAED,OAAO,CACL,eAAK,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,aAC/C,cAAK,SAAS,EAAC,iFAAiF,YAC9F,KAAC,MAAM,IACL,UAAU,EAAC,OAAO,EAClB,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE;wBACZ,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAA;wBAC9B,eAAe,CACb,IAAI,EAAE,qBAAqB,EAAE,CAAC,MAAM,IAAI,CAAC,CAC1C,CAAA;wBACD,cAAc,CAAC,OAAO,GAAG,IAAI,EAAE,UAAU,IAAI,CAAC,CAAA;wBAC9C,aAAa,CAAC,IAAI,CAAC,CAAA;oBACrB,CAAC,6BAGM,GACL,EACN,gCACc,KAAK,EACjB,SAAS,EAAC,uFAAuF,EACjG,GAAG,EAAE,SAAS;gBACd,mGAAmG;gBACnG,QAAQ,EAAE,CAAC,EACX,KAAK,EACH,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,YAGlD,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,GACpB,EACV,KAAC,MAAM,IACL,OAAO,EAAE,KAAK,EACd,SAAS,EAAE,UAAU,EACrB,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,KAAK,YAEb,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GACrB,IACL,CACP,CAAA;AACH,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -8,6 +8,53 @@ import * as stories from "./TableViewport.stories.tsx"
|
|
|
8
8
|
|
|
9
9
|
const { Interactive } = composeStories(stories)
|
|
10
10
|
|
|
11
|
+
test.each([
|
|
12
|
+
["320ms", 320],
|
|
13
|
+
["0.32s", 320],
|
|
14
|
+
["0ms", 0],
|
|
15
|
+
["0s", 0],
|
|
16
|
+
] as const)(
|
|
17
|
+
"uses the CSS time unit in %s",
|
|
18
|
+
async (token, duration) => {
|
|
19
|
+
const style = document.documentElement.style
|
|
20
|
+
const previous = style.getPropertyValue(
|
|
21
|
+
"--duration-slow",
|
|
22
|
+
)
|
|
23
|
+
style.setProperty("--duration-slow", token)
|
|
24
|
+
try {
|
|
25
|
+
const { body, canvas } = await mountStory(Interactive)
|
|
26
|
+
await userEvent.click(
|
|
27
|
+
canvas.getByRole("button", {
|
|
28
|
+
name: "Expand table",
|
|
29
|
+
}),
|
|
30
|
+
)
|
|
31
|
+
const dialog = body.getByRole("dialog", {
|
|
32
|
+
name: "Printer comparison",
|
|
33
|
+
})
|
|
34
|
+
const [animation] = dialog.getAnimations()
|
|
35
|
+
if (duration > 0) {
|
|
36
|
+
await expect(
|
|
37
|
+
animation.effect?.getTiming().duration,
|
|
38
|
+
).toBe(duration)
|
|
39
|
+
animation.finish()
|
|
40
|
+
} else {
|
|
41
|
+
await expect(animation).toBeUndefined()
|
|
42
|
+
}
|
|
43
|
+
await userEvent.click(
|
|
44
|
+
body.getByRole("button", { name: "Close" }),
|
|
45
|
+
)
|
|
46
|
+
if (animation) animation.finish()
|
|
47
|
+
await waitFor(() =>
|
|
48
|
+
expect(body.queryByRole("dialog")).toBeNull(),
|
|
49
|
+
)
|
|
50
|
+
} finally {
|
|
51
|
+
if (previous)
|
|
52
|
+
style.setProperty("--duration-slow", previous)
|
|
53
|
+
else style.removeProperty("--duration-slow")
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
)
|
|
57
|
+
|
|
11
58
|
test("long inline comparisons grow with the page and expand without duplicate tables", async () => {
|
|
12
59
|
const { body, canvas } = await mountStory(Interactive)
|
|
13
60
|
const pane = expectAgentDrivable(canvas, {
|
|
@@ -50,9 +50,17 @@ export const TableViewport = ({
|
|
|
50
50
|
return
|
|
51
51
|
|
|
52
52
|
const style = getComputedStyle(dialog)
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
const durationToken = style
|
|
54
|
+
.getPropertyValue("--duration-slow")
|
|
55
|
+
.trim()
|
|
56
|
+
// CSS minifiers can rewrite 320ms to .32s; WAAPI always takes ms.
|
|
57
|
+
const duration =
|
|
58
|
+
Number.parseFloat(durationToken) *
|
|
59
|
+
(durationToken.endsWith("ms")
|
|
60
|
+
? 1
|
|
61
|
+
: durationToken.endsWith("s")
|
|
62
|
+
? 1000
|
|
63
|
+
: 0)
|
|
56
64
|
// Zero-duration profiles (including ePaper) remove motion entirely.
|
|
57
65
|
if (!(duration > 0)) return
|
|
58
66
|
|