Skip to content

feat: Add conditional directive #3614

feat: Add conditional directive

feat: Add conditional directive #3614

Triggered via pull request January 26, 2026 12:02
Status Success
Total duration 15m 37s
Artifacts 11

pr.yml

on: pull_request
Matrix: e2e-tests / e2e-tests
Matrix: validate-os / validate-os
e2e-tests  /  merge-reports
18s
e2e-tests / merge-reports
Fit to window
Zoom out
Zoom in

Annotations

10 errors and 10 notices
[singleBrowser:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample daisyui/modal/default › should have a consistent markup: e2e/samplesMarkup.singlebrowser-e2e-spec.ts#L45
5) [singleBrowser:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample daisyui/modal/default › should have a consistent markup Error: expect(string).toMatchSnapshot(expected) failed @@ -11,11 +11,10 @@ </button> </div> <div> <dialog class="modal modal-bottom sm:modal-middle" - open="" > <div class="modal-box" > <h3 @@ -26,25 +25,9 @@ <p class="py-4" > "Press ESC key, click on ✕ button or click outside the modal to close" </p> - <button - aria-label="Close" - class="absolute btn btn-circle btn-ghost btn-sm right-2 top-2" - type="button" - > - "✕" - </button> </div> - <div - class="modal-backdrop" - > - <button - type="button" - > - "Close" - </button> - </div> </dialog> </div> </body> Snapshot: daisyui/modal/default.html 43 | await preventTransitions(page); 44 | await samplesExtraAction[sampleKey]?.(page); > 45 | expect(await htmlSnapshot(page.locator('body'))).toMatchSnapshot(`${sampleKey.toLowerCase()}.html`); | ^ 46 | }); 47 | }); 48 | } at /home/runner/work/AgnosUI/AgnosUI/e2e/samplesMarkup.singlebrowser-e2e-spec.ts:45:54
[singleBrowser:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/drawer/basic › should have a consistent markup: e2e/samplesMarkup.singlebrowser-e2e-spec.ts#L45
4) [singleBrowser:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/drawer/basic › should have a consistent markup Error: expect(string).toMatchSnapshot(expected) failed @@ -2,60 +2,13 @@ style="overflow-x: hidden; overflow-y: hidden;" > <div class="container p-3" id="root" - inert="inert" > <button class="btn btn-primary mb-3" > "Open Drawer" </button> </div> - <div - class="au-drawer-backdrop fade show" - data-agnos-ignore-inert="data-agnos-ignore-inert" - /> - <div - aria-describedby="" - aria-labelledby="" - aria-modal="true" - class="au-drawer collapse collapse-horizontal inline-start show" - role="dialog" - style="position: fixed; outline-color: initial; outline-style: none; outline-width: initial;" - tabindex="-1" - > - <div - class="au-drawer-container" - > - <div - class="au-drawer-content" - > - <div - class="au-drawer-header" - > - "Hi, I am drawer!" - </div> - <div - class="au-drawer-body" - > - <ul> - <li> - "First item" - </li> - <li> - "Second item" - </li> - <li> - "Third item" - </li> - </ul> - </div> - </div> - </div> - <div - class="au-splitter" - tabindex="0" - /> - </div> </body> Snapshot: bootstrap/drawer/basic.html 43 | await preventTransitions(page); 44 | await samplesExtraAction[sampleKey]?.(page); > 45 | expect(await htmlSnapshot(page.locator('body'))).toMatchSnapshot(`${sampleKey.toLowerCase()}.html`); | ^ 46 | }); 47 | }); 48 | } at /home/runner/work/AgnosUI/AgnosUI/e2e/samplesMarkup.singlebrowser-e2e-spec.ts:45:54
[singleBrowser:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/drawer/body › should have a consistent markup: e2e/samplesMarkup.singlebrowser-e2e-spec.ts#L45
3) [singleBrowser:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/drawer/body › should have a consistent markup Error: expect(string).toMatchSnapshot(expected) failed @@ -2,11 +2,10 @@ style="overflow-x: hidden; overflow-y: hidden;" > <div class="container p-3" id="root" - inert="inert" > <div class="align-items-center d-flex mb-3" > <button @@ -57,58 +56,6 @@ class="btn btn-primary" > "ScrollToMe" </button> </div> - <div - class="au-drawer-backdrop fade show" - data-agnos-ignore-inert="data-agnos-ignore-inert" - /> - <div - aria-describedby="" - aria-labelledby="" - aria-modal="true" - class="au-drawer collapse collapse-horizontal inline-start show" - role="dialog" - style="position: fixed; outline-color: initial; outline-style: none; outline-width: initial;" - tabindex="-1" - > - <div - class="au-drawer-container" - > - <div - class="au-drawer-content" - > - <div - class="au-drawer-header" - > - <div - class="d-flex" - > - <span> - "Hi, I am drawer!" - </span> - <button - aria-label="Close" - class="btn-close ms-auto" - /> - </div> - </div> - <div - class="au-drawer-body" - > - <ul> - <li> - "First item" - </li> - <li> - "Second item" - </li> - <li> - "Third item" - </li> - </ul> - </div> - </div> - </div> - </div> </body> Snapshot: bootstrap/drawer/body.html 43 | await preventTransitions(page); 44 | await samplesExtraAction[sampleKey]?.(page); > 45 | expect(await htmlSnapshot(page.locator('body'))).toMatchSnapshot(`${sampleKey.toLowerCase()}.html`); | ^ 46 | }); 47 | }); 48 | } at /home/runner/work/AgnosUI/AgnosUI/e2e/samplesMarkup.singlebrowser-e2e-spec.ts:45:54
[singleBrowser:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/drawer/position › should have a consistent markup: e2e/samplesMarkup.singlebrowser-e2e-spec.ts#L45
2) [singleBrowser:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/drawer/position › should have a consistent markup Error: expect(string).toMatchSnapshot(expected) failed @@ -2,11 +2,10 @@ style="overflow-x: hidden; overflow-y: hidden;" > <div class="container p-3" id="root" - inert="inert" > <button class="btn btn-primary mb-3" > "Open Drawer" @@ -45,52 +44,6 @@ "Bottom" </option> </select> </div> </div> - <div - class="au-drawer-backdrop fade show" - data-agnos-ignore-inert="data-agnos-ignore-inert" - /> - <div - aria-describedby="" - aria-labelledby="" - aria-modal="true" - class="au-drawer collapse collapse-horizontal drawer-position-size inline-start show" - role="dialog" - style="position: fixed; outline-color: initial; outline-style: none; outline-width: initial;" - tabindex="-1" - > - <div - class="au-drawer-container" - > - <div - class="au-drawer-content" - > - <div - class="au-drawer-header" - > - "Hi, I am drawer!" - </div> - <div - class="au-drawer-body" - > - <ul> - <li> - "First item" - </li> - <li> - "Second item" - </li> - <li> - "Third item" - </li> - </ul> - </div> - </div> - </div> - <div - class="au-splitter" - tabindex="0" - /> - </div> </body> Snapshot: bootstrap/drawer/position.html 43 | await preventTransitions(page); 44 | await samplesExtraAction[sampleKey]?.(page); > 45 | expect(await htmlSnapshot(page.locator('body'))).toMatchSnapshot(`${sampleKey.toLowerCase()}.html`); | ^ 46 | }); 47 | }); 48 | } at /home/runner/work/AgnosUI/AgnosUI/e2e/samplesMarkup.singlebrowser-e2e-spec.ts:45:54
[singleBrowser:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/modal/default › should have a consistent markup: e2e/samplesMarkup.singlebrowser-e2e-spec.ts#L45
1) [singleBrowser:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/modal/default › should have a consistent markup Error: expect(string).toMatchSnapshot(expected) failed @@ -1,12 +1,9 @@ -<body - style="overflow-x: hidden; overflow-y: hidden;" -> +<body> <div class="container p-3" id="root" - inert="inert" > <button class="btn btn-primary" type="button" > @@ -31,58 +28,6 @@ <hr /> <div data-testid="message" /> </div> - <div - class="fade modal-backdrop show" - inert="inert" - /> - <div - class="d-block fade modal show" - tabindex="-1" - > - <div - class="modal-dialog" - > - <div - class="modal-content" - > - <div - class="modal-header" - > - <h5 - class="modal-title" - > - "Save changes" - </h5> - <button - aria-label="Close" - class="btn-close" - type="button" - /> - </div> - <div - class="modal-body" - > - "Do you want to save your changes?" - </div> - <div - class="modal-footer" - > - <button - class="btn btn-outline-primary" - type="button" - > - "Yes" - </button> - <button - class="btn btn-outline-danger" - type="button" - > - "No" - </button> - </div> - </div> - </div> - </div> </body> Snapshot: bootstrap/modal/default.html 43 | await preventTransitions(page); 44 | await samplesExtraAction[sampleKey]?.(page); > 45 | expect(await htmlSnapshot(page.locator('body'))).toMatchSnapshot(`${sampleKey.toLowerCase()}.html`); | ^ 46 | }); 47 | }); 48 | } at /home/runner/work/AgnosUI/AgnosUI/e2e/samplesMarkup.singlebrowser-e2e-spec.ts:45:54
[main:svelte:chromium] › e2e/select/select.e2e-spec.ts:118:5 › Select tests › Custom select › Navigation: e2e/select/select.e2e-spec.ts#L179
1) [main:svelte:chromium] › e2e/select/select.e2e-spec.ts:118:5 › Select tests › Custom select › Navigation Error: Last badge must have been removed expect(received).toStrictEqual(expected) // deep equality - Expected - 1 + Received + 3 - Array [] + Array [ + "JSON", + ] Call Log: - Timeout 5000ms exceeded while waiting on the predicate 177 | await keyboard.press('ArrowRight'); 178 | await keyboard.press('Enter'); > 179 | await expect.poll(getBadgesState, 'Last badge must have been removed').toStrictEqual([]); | ^ 180 | expect(await page.evaluate(() => (document.activeElement!.tagName || '').toLowerCase())).toBe('input'); 181 | }); 182 | }); at /home/runner/work/AgnosUI/AgnosUI/e2e/select/select.e2e-spec.ts:179:4
[main:react:chromium] › e2e/select/select.e2e-spec.ts:118:5 › Select tests › Custom select › Navigation: e2e/select/select.e2e-spec.ts#L175
1) [main:react:chromium] › e2e/select/select.e2e-spec.ts:118:5 › Select tests › Custom select › Navigation Error: First badge must have been removed expect(received).toStrictEqual(expected) // deep equality - Expected - 0 + Received + 1 Array [ + "JavaScript", "JSON", ] Call Log: - Timeout 5000ms exceeded while waiting on the predicate 173 | 174 | await keyboard.press('Enter'); > 175 | await expect.poll(getBadgesState, 'First badge must have been removed').toStrictEqual(['JSON']); | ^ 176 | 177 | await keyboard.press('ArrowRight'); 178 | await keyboard.press('Enter'); at /home/runner/work/AgnosUI/AgnosUI/e2e/select/select.e2e-spec.ts:175:4
[demo:chromium] › e2e/demo.demo-e2e-spec.ts:38:5 › Demo Website › Route docs/svelte/services/floating-ui should be accessible: e2e/demo.demo-e2e-spec.ts#L56
1) [demo:chromium] › e2e/demo.demo-e2e-spec.ts:38:5 › Demo Website › Route docs/svelte/services/floating-ui should be accessible Error: expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 513 - Array [] + Array [ + Object { + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright", + "id": "color-contrast", + "impact": "serious", + "nodes": Array [ + Object { + "all": Array [], + "any": Array [ + Object { + "data": Object { + "bgColor": "#160033", + "contrastRatio": 3.6, + "expectedContrastRatio": "4.5:1", + "fgColor": "#6a668e", + "fontSize": "10.5pt (14px)", + "fontWeight": "normal", + "messageKey": null, + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has insufficient color contrast of 3.6 (foreground color: #6a668e, background color: #160033, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", + "relatedNodes": Array [ + Object { + "html": "<html lang=\"en\" data-agnos-theme=\"dark\" data-theme=\"dark\">", + "target": Array [ + "html", + ], + }, + ], + }, + ], + "failureSummary": "Fix any of the following: + Element has insufficient color contrast of 3.6 (foreground color: #6a668e, background color: #160033, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", + "html": "<a class=\"active hover:bg-secondary-subtle! focus-visible:bg-secondary-subtle!\" href=\"http://localhost:4000/docs/svelte/getting-started/introduction\" aria-current=\"page\">Documentation</a>", + "impact": "serious", + "none": Array [], + "target": Array [ + "li:nth-child(3) > .active.hover\\:bg-secondary-subtle\\![aria-current=\"page\"]", + ], + }, + Object { + "all": Array [], + "any": Array [ + Object { + "data": Object { + "bgColor": "#160033", + "contrastRatio": 3.6, + "expectedContrastRatio": "4.5:1", + "fgColor": "#6a668e", + "fontSize": "10.5pt (14px)", + "fontWeight": "normal", + "messageKey": null, + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has insufficient color contrast of 3.6 (foreground color: #6a668e, background color: #160033, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", + "relatedNodes": Array [ + Object { + "html": "<html lang=\"en\" data-agnos-theme=\"dark\" data-theme=\"dark\">", + "target": Array [ + "html", + ], + }, + ], + }, + ], + "failureSummary": "Fix any of the following: + Element has insufficient color contrast of 3.6 (foreground color: #6a668e, background color: #160033, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", + "html": "<a class=\"hover:bg-secondary-subtle! focus-visible:bg-secondary-subtle!\" href=\"http://localhost:4000/api/svelte/bootstrap/types\">API</a>", + "impact": "serious",
[stackblitz:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/drawer/position › should have a consistent markup: e2e/samplesMarkup.singlebrowser-e2e-spec.ts#L45
2) [stackblitz:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/drawer/position › should have a consistent markup Error: expect(string).toMatchSnapshot(expected) failed @@ -2,11 +2,10 @@ style="overflow-x: hidden; overflow-y: hidden;" > <div class="container p-3" id="root" - inert="inert" > <button class="btn btn-primary mb-3" > "Open Drawer" @@ -45,52 +44,6 @@ "Bottom" </option> </select> </div> </div> - <div - class="au-drawer-backdrop fade show" - data-agnos-ignore-inert="data-agnos-ignore-inert" - /> - <div - aria-describedby="" - aria-labelledby="" - aria-modal="true" - class="au-drawer collapse collapse-horizontal drawer-position-size inline-start show" - role="dialog" - style="position: fixed; outline-color: initial; outline-style: none; outline-width: initial;" - tabindex="-1" - > - <div - class="au-drawer-container" - > - <div - class="au-drawer-content" - > - <div - class="au-drawer-header" - > - "Hi, I am drawer!" - </div> - <div - class="au-drawer-body" - > - <ul> - <li> - "First item" - </li> - <li> - "Second item" - </li> - <li> - "Third item" - </li> - </ul> - </div> - </div> - </div> - <div - class="au-splitter" - tabindex="0" - /> - </div> </body> Snapshot: bootstrap/drawer/position.html 43 | await preventTransitions(page); 44 | await samplesExtraAction[sampleKey]?.(page); > 45 | expect(await htmlSnapshot(page.locator('body'))).toMatchSnapshot(`${sampleKey.toLowerCase()}.html`); | ^ 46 | }); 47 | }); 48 | } at /home/runner/work/AgnosUI/AgnosUI/e2e/samplesMarkup.singlebrowser-e2e-spec.ts:45:54
[stackblitz:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/drawer/sizes › should have a consistent markup: e2e/samplesMarkup.singlebrowser-e2e-spec.ts#L45
1) [stackblitz:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/drawer/sizes › should have a consistent markup Error: expect(string).toMatchSnapshot(expected) failed @@ -2,60 +2,13 @@ style="overflow-x: hidden; overflow-y: hidden;" > <div class="container p-3" id="root" - inert="inert" > <button class="btn btn-primary mb-3" > "Open Drawer" </button> </div> - <div - class="au-drawer-backdrop fade show" - data-agnos-ignore-inert="data-agnos-ignore-inert" - /> - <div - aria-describedby="" - aria-labelledby="" - aria-modal="true" - class="au-drawer collapse collapse-horizontal drawer-custom-size inline-start show" - role="dialog" - style="position: fixed; outline-color: initial; outline-style: none; outline-width: initial;" - tabindex="-1" - > - <div - class="au-drawer-container" - > - <div - class="au-drawer-content" - > - <div - class="au-drawer-header" - > - "Hi, I am drawer!" - </div> - <div - class="au-drawer-body" - > - <ul> - <li> - "First item" - </li> - <li> - "Second item" - </li> - <li> - "Third item" - </li> - </ul> - </div> - </div> - </div> - <div - class="au-splitter" - tabindex="0" - /> - </div> </body> Snapshot: bootstrap/drawer/sizes.html 43 | await preventTransitions(page); 44 | await samplesExtraAction[sampleKey]?.(page); > 45 | expect(await htmlSnapshot(page.locator('body'))).toMatchSnapshot(`${sampleKey.toLowerCase()}.html`); | ^ 46 | }); 47 | }); 48 | } at /home/runner/work/AgnosUI/AgnosUI/e2e/samplesMarkup.singlebrowser-e2e-spec.ts:45:54
🎭 Playwright Run Summary
5 flaky [singleBrowser:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/modal/default › should have a consistent markup [singleBrowser:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/drawer/position › should have a consistent markup [singleBrowser:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/drawer/body › should have a consistent markup [singleBrowser:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/drawer/basic › should have a consistent markup [singleBrowser:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample daisyui/modal/default › should have a consistent markup 1 skipped 129 passed (2.4m)
🎭 Playwright Run Summary
1 flaky [main:svelte:chromium] › e2e/select/select.e2e-spec.ts:118:5 › Select tests › Custom select › Navigation 138 passed (2.5m)
🎭 Playwright Run Summary
1 flaky [main:react:chromium] › e2e/select/select.e2e-spec.ts:118:5 › Select tests › Custom select › Navigation 136 passed (2.8m)
🎭 Playwright Run Summary
149 passed (3.0m)
🎭 Playwright Run Summary
132 passed (3.2m)
🎭 Playwright Run Summary
1 skipped 130 passed (3.0m)
🎭 Playwright Run Summary
124 passed (3.2m)
🎭 Playwright Run Summary
6 skipped 129 passed (7.3m)
🎭 Playwright Run Summary
1 flaky [demo:chromium] › e2e/demo.demo-e2e-spec.ts:38:5 › Demo Website › Route docs/svelte/services/floating-ui should be accessible 1 skipped 133 passed (3.7m)
🎭 Playwright Run Summary
2 flaky [stackblitz:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/drawer/sizes › should have a consistent markup [stackblitz:angular:chromium] › e2e/samplesMarkup.singlebrowser-e2e-spec.ts:37:7 › Samples markup consistency check › Sample bootstrap/drawer/position › should have a consistent markup 6 skipped 127 passed (10.7m)

Artifacts

Produced during runtime
Name Size Digest
e2e-playwright-report Expired
9.49 MB
sha256:a768cfbea92b7c69f8e294a8737b9b7d75d4a74fed950fcd73f40dce3a2258a6
e2e-test-1 Expired
327 KB
sha256:85c4da0e3879ed7d0a879ad9617a106aa0d57e5a6c190f277e397808cefafdd8
e2e-test-10 Expired
148 KB
sha256:d7b43885fab5abbe0e8d85f570b3e17c9ea62a8eaabae8541a1c4a18c363f21e
e2e-test-2 Expired
246 KB
sha256:cf683739ca7118b0c106b21e7adc97be41415dde8e570f0c14f21f58951eeefe
e2e-test-3 Expired
941 KB
sha256:bf130aa52a459613992888a59643ca3d417cb8230ed4f67a242379c816b9d4f2
e2e-test-4 Expired
259 KB
sha256:8a59df4199d6f69d0562abe0358430dc2dca01480ae813940185b836534036a5
e2e-test-5 Expired
833 KB
sha256:458959b5c129d5fb2216ea84b37305c2b19b307f81fc0e3bde17aa4adc1fb7f0
e2e-test-6 Expired
249 KB
sha256:585d9845f34da5c9511a76a644e34c93c86069e66347aea84734eea7011586a7
e2e-test-7 Expired
1020 KB
sha256:842f174a73d0ff6bcb0a04f43ce4fbd3cd32476110a294b3cf0262ed51e2884c
e2e-test-8 Expired
5.91 MB
sha256:2d7ebf7ca774dce13f383d7a889832e8c32dde7433c9452f1aff34c6c7fdd9a4
e2e-test-9 Expired
332 KB
sha256:c1d4c2b47deb6b6ef2f6ba404b716477b3b89e6a5f9475dac9b9f78e2937e4a0