@epa-wg/custom-element-dist 0.0.32 → 0.0.33
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/.storybook/main.ts +3 -7
- package/.storybook/preview.ts +4 -6
- package/README.md +4 -4
- package/coverage/coverage-final.json +7 -18
- package/coverage/index.html +30 -30
- package/coverage/src/custom-element/coverage.svg +1 -1
- package/coverage/src/custom-element/custom-element.js/coverage.svg +1 -1
- package/coverage/src/custom-element/custom-element.js.html +579 -429
- package/coverage/src/custom-element/http-request.js/coverage.svg +1 -1
- package/coverage/src/custom-element/http-request.js.html +13 -13
- package/coverage/src/custom-element/index.html +29 -29
- package/coverage/src/custom-element/local-storage.js.html +1 -1
- package/coverage/src/custom-element/location-element.js.html +31 -31
- package/coverage/src/custom-element/module-url.js/coverage.svg +1 -1
- package/coverage/src/custom-element/module-url.js.html +20 -20
- package/coverage/src/index.html +1 -1
- package/coverage/src/mocks/handlers.ts.html +1 -1
- package/coverage/src/mocks/index.html +1 -1
- package/coverage/src/stories/coverage.svg +1 -1
- package/coverage/src/stories/{local-storage.test.stories.ts → frame.canvas.ts}/coverage.svg +1 -1
- package/coverage/src/stories/frame.canvas.ts.html +175 -0
- package/coverage/src/stories/http-request.stories.ts.html +1 -1
- package/coverage/src/stories/index.html +14 -179
- package/coverage/src/stories/testStoryBook.ts.html +8 -8
- package/coverage/src/sum.ts.html +1 -1
- package/dist/custom-element-6slVaFEs.cjs +97 -0
- package/dist/custom-element-WnOqmEOe.js +609 -0
- package/dist/custom-element-bundle.cjs +1 -1
- package/dist/custom-element-bundle.js +2 -2
- package/dist/demo/attributes.html +153 -0
- package/dist/demo/external-templates-sb-6.html +42 -0
- package/dist/demo/external-templates-sb-7.html +42 -0
- package/dist/demo/html-template.html +1 -1
- package/dist/demo/module-url-sb-2.html +46 -0
- package/dist/demo/module-url-sb-4.html +48 -0
- package/dist/demo/module-url-sb-5.html +53 -0
- package/dist/demo/s.xml +71 -8
- package/dist/demo/s.xslt +55 -31
- package/dist/demo/ss.html +13 -4
- package/dist/mockServiceWorker.js +31 -8
- package/package.json +25 -26
- package/public/demo/attributes.html +153 -0
- package/public/demo/external-templates-sb-6.html +42 -0
- package/public/demo/external-templates-sb-7.html +42 -0
- package/public/demo/html-template.html +1 -1
- package/public/demo/module-url-sb-2.html +46 -0
- package/public/demo/module-url-sb-4.html +48 -0
- package/public/demo/module-url-sb-5.html +53 -0
- package/public/demo/s.xml +71 -8
- package/public/demo/s.xslt +55 -31
- package/public/demo/ss.html +13 -4
- package/public/mockServiceWorker.js +31 -8
- package/src/custom-element/custom-element.d.ts +4 -0
- package/src/custom-element/custom-element.js +91 -41
- package/src/custom-element/demo/attributes.html +153 -0
- package/src/custom-element/demo/html-template.html +1 -1
- package/src/custom-element/demo/s.xml +71 -8
- package/src/custom-element/demo/s.xslt +55 -31
- package/src/custom-element/demo/ss.html +13 -4
- package/src/custom-element/ide/web-types-dce.json +1 -1
- package/src/custom-element/ide/web-types-xsl.json +1 -1
- package/src/custom-element/index.html +1 -1
- package/src/material/components/badge.html +240 -0
- package/src/material/components/dropdown.html +7 -12
- package/src/material/components/icon-link.html +1 -0
- package/src/material/components/icon.html +253 -0
- package/src/material/components/input.html +290 -82
- package/src/material/components/menu.html +7 -5
- package/src/material/components.html +48 -11
- package/src/material/theme/semantic.css +20 -1
- package/src/mocks/versions.mock.ts +1 -1
- package/src/stories/__screenshots__/attributes.test.stories.ts +1 -0
- package/src/stories/__screenshots__/external-template.test.stories.ts +1 -0
- package/src/stories/__screenshots__/module-url.test.stories.ts +1 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-Attributes-definition-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-Attributes-runtime-change-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-Instance-Attributes-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-Instance-Attributes-2.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-cloneAs-el-newTag--1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-mergeAttr--from--to---1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-mergeAttr--from--to---2.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-mergeAttr--from--to---3.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/attributes-mix-to-from--1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-Attributes-definition-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-Attributes-runtime-change-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-Instance-Attributes-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-Instance-Attributes-2.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-cloneAs-el-newTag--1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-http-request-headers-and-response-status-and-headers-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-http-request-with-delayed--5-seconds-response-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-http-request-with-error-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-mergeAttr--from--to---1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-mergeAttr--from--to---2.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-mergeAttr--from--to---3.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-mix-to-from--1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-url-and-slice-1.png +0 -0
- package/src/stories/__screenshots__/stories.test.ts/http-request-url-change-1.png +0 -0
- package/src/stories/attributes.test.stories.ts +83 -17
- package/src/stories/external-template.test.stories.ts +16 -14
- package/src/stories/frame.canvas.ts +31 -0
- package/src/stories/module-url.test.stories.ts +29 -61
- package/storybook-static/assets/Color-F6OSRLHC-Cbp293x2.js +1 -0
- package/storybook-static/assets/Configure-BrFr4SLE.js +165 -0
- package/storybook-static/assets/DocsRenderer-CFRXHY34-DhHzJiIO.js +2 -0
- package/storybook-static/assets/attributes.test.stories-CzWkKw0e.js +1 -0
- package/storybook-static/assets/{attributes.test.stories-D1X6EBrd.js → attributes.test.stories-Gg9LQTEK.js} +109 -38
- package/storybook-static/assets/{css.test.stories-Cp_g2hE1.js → css.test.stories-B_3ltOrx.js} +1 -1
- package/storybook-static/assets/custom-element-CPnvJnn8.js +97 -0
- package/storybook-static/assets/{dom-merge.test.stories-hbpdCka0.js → dom-merge.test.stories-nQxcgLoM.js} +1 -1
- package/storybook-static/assets/entry-preview-docs-Dwczwtsc.js +2 -0
- package/storybook-static/assets/external-template.test.stories-BivZqBTp.js +1 -0
- package/storybook-static/assets/{external-template.test.stories-BK89h6sk.js → external-template.test.stories-DZ-rjnfd.js} +38 -40
- package/storybook-static/assets/{form.test.stories-BfoLe_rw.js → form.test.stories-DQhPYtMj.js} +1 -1
- package/storybook-static/assets/frame.canvas-ClTqYyMN.js +1 -0
- package/storybook-static/assets/{handlers-yVPwH_Nz.js → handlers-CLkps6Nz.js} +17 -14
- package/storybook-static/assets/{http-request.stories-CBFJS2Ws.js → http-request.stories-jo0f73nw.js} +1 -1
- package/storybook-static/assets/iframe-CZwRpnn9.js +199 -0
- package/storybook-static/assets/index-B68YUdzy.js +621 -0
- package/storybook-static/assets/index-BwkS7JH_.js +8 -0
- package/storybook-static/assets/index-CJQtnF9V.js +1 -0
- package/storybook-static/assets/index-Dr4PwNfd.js +240 -0
- package/storybook-static/assets/{local-storage.test.stories-C0Yzy6Am.js → local-storage.test.stories-uA5EKRPf.js} +1 -1
- package/storybook-static/assets/{location-element.test.stories-DNFrEu5A.js → location-element.test.stories-Cu-6Elcg.js} +1 -1
- package/storybook-static/assets/module-url.test.stories-CD_wusXQ.js +142 -0
- package/storybook-static/assets/module-url.test.stories-CTjUAk3J.js +1 -0
- package/storybook-static/assets/preview-1xJJ3sKE.js +1 -0
- package/storybook-static/assets/preview-BFlNN3Wj.js +1 -0
- package/storybook-static/assets/preview-CTOeX_lO.js +1 -0
- package/storybook-static/assets/preview-Cm4PPhHS.js +50 -0
- package/storybook-static/assets/preview-CuCH40jj.js +2 -0
- package/storybook-static/assets/preview-DfTudP20.js +1 -0
- package/storybook-static/assets/{set-url.test.stories-BBfLxv2u.js → set-url.test.stories-CY7B9BVZ.js} +1 -1
- package/storybook-static/assets/{slice-events.test.stories-HcXF8XQI.js → slice-events.test.stories-BVnPXm6e.js} +1 -1
- package/storybook-static/assets/{slots.test.stories-i6mnIFM2.js → slots.test.stories-Dxsa9KdA.js} +1 -1
- package/storybook-static/assets/{version-select.test.stories-BsUFH6Va.js → version-select.test.stories-Buga1PAa.js} +1 -1
- package/storybook-static/demo/attributes.html +153 -0
- package/storybook-static/demo/external-templates-sb-6.html +42 -0
- package/storybook-static/demo/external-templates-sb-7.html +42 -0
- package/storybook-static/demo/html-template.html +1 -1
- package/storybook-static/demo/module-url-sb-2.html +46 -0
- package/storybook-static/demo/module-url-sb-4.html +48 -0
- package/storybook-static/demo/module-url-sb-5.html +53 -0
- package/storybook-static/demo/s.xml +71 -8
- package/storybook-static/demo/s.xslt +55 -31
- package/storybook-static/demo/ss.html +13 -4
- package/storybook-static/iframe.html +1 -1
- package/storybook-static/index.html +6 -10
- package/storybook-static/index.json +1 -1
- package/storybook-static/mockServiceWorker.js +31 -8
- package/storybook-static/project.json +1 -1
- package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-backgrounds-4/manager-bundle.js +8 -8
- package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js +391 -0
- package/storybook-static/sb-addons/essentials-docs-3/manager-bundle.js +230 -0
- package/storybook-static/sb-addons/essentials-measure-7/manager-bundle.js +1 -1
- package/storybook-static/sb-addons/essentials-outline-8/manager-bundle.js +1 -1
- package/storybook-static/sb-addons/essentials-toolbars-6/manager-bundle.js +1 -1
- package/storybook-static/sb-addons/essentials-viewport-5/manager-bundle.js +1 -1
- package/storybook-static/sb-addons/interactions-9/manager-bundle.js +58 -58
- package/storybook-static/sb-manager/globals-module-info.js +9 -0
- package/storybook-static/sb-manager/globals-runtime.js +10719 -10473
- package/storybook-static/sb-manager/runtime.js +4944 -6321
- package/coverage/src/stories/attributes.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/attributes.test.stories.ts.html +0 -814
- package/coverage/src/stories/css.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/css.test.stories.ts.html +0 -460
- package/coverage/src/stories/dom-merge.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/dom-merge.test.stories.ts.html +0 -706
- package/coverage/src/stories/external-template.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/external-template.test.stories.ts.html +0 -865
- package/coverage/src/stories/form.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/form.test.stories.ts.html +0 -661
- package/coverage/src/stories/local-storage.test.stories.ts.html +0 -1315
- package/coverage/src/stories/location-element.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/location-element.test.stories.ts.html +0 -523
- package/coverage/src/stories/module-url.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/module-url.test.stories.ts.html +0 -640
- package/coverage/src/stories/set-url.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/set-url.test.stories.ts.html +0 -433
- package/coverage/src/stories/slice-events.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/slice-events.test.stories.ts.html +0 -952
- package/coverage/src/stories/slots.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/slots.test.stories.ts.html +0 -742
- package/coverage/src/stories/version-select.test.stories.ts/coverage.svg +0 -10
- package/coverage/src/stories/version-select.test.stories.ts.html +0 -397
- package/dist/custom-element-D2wf_rqP.js +0 -576
- package/dist/custom-element-Dtzhbjkc.cjs +0 -97
- package/storybook-static/assets/Color-F6OSRLHC-BU3iy8jH.js +0 -1
- package/storybook-static/assets/Configure-DN6ifayP.js +0 -165
- package/storybook-static/assets/DocsRenderer-CFRXHY34-BaVEufDj.js +0 -2
- package/storybook-static/assets/custom-element-uuAtIYWS.js +0 -97
- package/storybook-static/assets/entry-preview-docs-BbcIMweR.js +0 -2
- package/storybook-static/assets/iframe-CJEL_4Nu.js +0 -2
- package/storybook-static/assets/index-BcZLpTeD.js +0 -8
- package/storybook-static/assets/index-CxRwF5Or.js +0 -234
- package/storybook-static/assets/index-D-8MO0q_.js +0 -1
- package/storybook-static/assets/index-D5fBh-7N.js +0 -1
- package/storybook-static/assets/index-DM-KBPdl.js +0 -1
- package/storybook-static/assets/index-RSFf30w1.js +0 -1
- package/storybook-static/assets/index-SnjB5uV8.js +0 -769
- package/storybook-static/assets/module-url.test.stories-CXibF5Ta.js +0 -208
- package/storybook-static/assets/preview-BhhEZcNS.js +0 -1
- package/storybook-static/assets/preview-Bnd0XhaF.js +0 -52
- package/storybook-static/assets/preview-CNKoaWES.js +0 -1
- package/storybook-static/assets/preview-DAeyCMnM.js +0 -1
- package/storybook-static/assets/preview-DHPc-V4N.js +0 -1
- package/storybook-static/assets/preview-DJMlNTk8.js +0 -2
- package/storybook-static/assets/preview-DYzi3Z2p.js +0 -1
- package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js +0 -333
- package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js.LEGAL.txt +0 -40
- package/storybook-static/sb-addons/essentials-actions-3/manager-bundle.js +0 -3
- package/storybook-static/sb-addons/essentials-controls-2/manager-bundle.js +0 -391
- package/storybook-static/sb-addons/links-1/manager-bundle.js +0 -3
- package/storybook-static/sb-preview/globals.js +0 -33
- package/storybook-static/sb-preview/runtime.js +0 -7174
- package/test-runner-jest.config.js +0 -15
- /package/storybook-static/sb-addons/{essentials-actions-3 → essentials-actions-2}/manager-bundle.js.LEGAL.txt +0 -0
- /package/storybook-static/sb-addons/{essentials-controls-2 → essentials-controls-1}/manager-bundle.js.LEGAL.txt +0 -0
- /package/storybook-static/sb-addons/{links-1 → essentials-docs-3}/manager-bundle.js.LEGAL.txt +0 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/stories/frame.canvas.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/stories</a> frame.canvas.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>4/4</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>0/0</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>3/3</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>3/3</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
97
|
+
<span class="cline-any cline-neutral"> </span>
|
|
98
|
+
<span class="cline-any cline-neutral"> </span>
|
|
99
|
+
<span class="cline-any cline-neutral"> </span>
|
|
100
|
+
<span class="cline-any cline-neutral"> </span>
|
|
101
|
+
<span class="cline-any cline-neutral"> </span>
|
|
102
|
+
<span class="cline-any cline-neutral"> </span>
|
|
103
|
+
<span class="cline-any cline-neutral"> </span>
|
|
104
|
+
<span class="cline-any cline-neutral"> </span>
|
|
105
|
+
<span class="cline-any cline-neutral"> </span>
|
|
106
|
+
<span class="cline-any cline-neutral"> </span>
|
|
107
|
+
<span class="cline-any cline-neutral"> </span>
|
|
108
|
+
<span class="cline-any cline-neutral"> </span>
|
|
109
|
+
<span class="cline-any cline-neutral"> </span>
|
|
110
|
+
<span class="cline-any cline-neutral"> </span>
|
|
111
|
+
<span class="cline-any cline-neutral"> </span>
|
|
112
|
+
<span class="cline-any cline-neutral"> </span>
|
|
113
|
+
<span class="cline-any cline-neutral"> </span>
|
|
114
|
+
<span class="cline-any cline-neutral"> </span>
|
|
115
|
+
<span class="cline-any cline-neutral"> </span>
|
|
116
|
+
<span class="cline-any cline-neutral"> </span>
|
|
117
|
+
<span class="cline-any cline-neutral"> </span>
|
|
118
|
+
<span class="cline-any cline-neutral"> </span>
|
|
119
|
+
<span class="cline-any cline-neutral"> </span>
|
|
120
|
+
<span class="cline-any cline-neutral"> </span>
|
|
121
|
+
<span class="cline-any cline-yes">5x</span>
|
|
122
|
+
<span class="cline-any cline-yes">5x</span>
|
|
123
|
+
<span class="cline-any cline-neutral"> </span>
|
|
124
|
+
<span class="cline-any cline-yes">5x</span>
|
|
125
|
+
<span class="cline-any cline-neutral"> </span>
|
|
126
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {within} from "@storybook/test";
|
|
127
|
+
/*
|
|
128
|
+
example of use
|
|
129
|
+
|
|
130
|
+
import {frameCanvas} from "./frame.canvas";
|
|
131
|
+
|
|
132
|
+
export const ModuleByName:Story =
|
|
133
|
+
{ args : {title: '4. module path by symbolic name', body:`
|
|
134
|
+
<iframe src="../demo/module-url-sb-4.html" name="sb" data-testid="fr"></iframe>
|
|
135
|
+
|
|
136
|
+
`}
|
|
137
|
+
, play: async ({canvasElement}) =>
|
|
138
|
+
{
|
|
139
|
+
const canvas = within(canvasElement);
|
|
140
|
+
await canvas.findByText(ModuleByName.args!.title as string);
|
|
141
|
+
const frCanvas = await frameCanvas('fr',canvas);
|
|
142
|
+
|
|
143
|
+
await expect(await frCanvas.findByText('👌 from embed-relative-hash invoking')).toBeInTheDocument();
|
|
144
|
+
},
|
|
145
|
+
};
|
|
146
|
+
*/
|
|
147
|
+
export async function
|
|
148
|
+
frameCanvas(frameTestId: string, canvas: ReturnType<typeof within>)
|
|
149
|
+
: Promise<ReturnType<typeof within>>
|
|
150
|
+
{
|
|
151
|
+
const frEl: HTMLIFrameElement = await canvas.findByTestId(frameTestId);
|
|
152
|
+
return new Promise(resolve => frEl.addEventListener('load', () =>
|
|
153
|
+
{
|
|
154
|
+
resolve(within(frEl.contentWindow?.document.documentElement!));
|
|
155
|
+
}));
|
|
156
|
+
}</pre></td></tr></table></pre>
|
|
157
|
+
|
|
158
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
159
|
+
</div><!-- /wrapper -->
|
|
160
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
161
|
+
Code coverage generated by
|
|
162
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
163
|
+
at 2025-03-06T04:47:40.965Z
|
|
164
|
+
</div>
|
|
165
|
+
<script src="../../prettify.js"></script>
|
|
166
|
+
<script>
|
|
167
|
+
window.onload = function () {
|
|
168
|
+
prettyPrint();
|
|
169
|
+
};
|
|
170
|
+
</script>
|
|
171
|
+
<script src="../../sorter.js"></script>
|
|
172
|
+
<script src="../../block-navigation.js"></script>
|
|
173
|
+
</body>
|
|
174
|
+
</html>
|
|
175
|
+
|
|
@@ -802,7 +802,7 @@ from <code>${url}</code>
|
|
|
802
802
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
803
803
|
Code coverage generated by
|
|
804
804
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
805
|
-
at
|
|
805
|
+
at 2025-03-06T04:47:40.965Z
|
|
806
806
|
</div>
|
|
807
807
|
<script src="../../prettify.js"></script>
|
|
808
808
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>89/89</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">100% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>4/4</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>27/27</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>80/80</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
65
|
<div class="pad1">
|
|
66
66
|
<table class="coverage-summary">
|
|
67
67
|
<thead>
|
|
@@ -79,78 +79,18 @@
|
|
|
79
79
|
</tr>
|
|
80
80
|
</thead>
|
|
81
81
|
<tbody><tr>
|
|
82
|
-
<td class="file
|
|
83
|
-
<td data-value="
|
|
84
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
85
|
-
</td>
|
|
86
|
-
<td data-value="17.04" class="pct low">17.04%</td>
|
|
87
|
-
<td data-value="88" class="abs low">15/88</td>
|
|
88
|
-
<td data-value="100" class="pct high">100%</td>
|
|
89
|
-
<td data-value="3" class="abs high">3/3</td>
|
|
90
|
-
<td data-value="13.33" class="pct low">13.33%</td>
|
|
91
|
-
<td data-value="15" class="abs low">2/15</td>
|
|
92
|
-
<td data-value="17.07" class="pct low">17.07%</td>
|
|
93
|
-
<td data-value="82" class="abs low">14/82</td>
|
|
94
|
-
</tr>
|
|
95
|
-
|
|
96
|
-
<tr>
|
|
97
|
-
<td class="file low" data-value="css.test.stories.ts"><a href="css.test.stories.ts.html">css.test.stories.ts</a></td>
|
|
98
|
-
<td data-value="34.88" class="pic low">
|
|
99
|
-
<div class="chart"><div class="cover-fill" style="width: 34%"></div><div class="cover-empty" style="width: 66%"></div></div>
|
|
82
|
+
<td class="file high" data-value="frame.canvas.ts"><a href="frame.canvas.ts.html">frame.canvas.ts</a></td>
|
|
83
|
+
<td data-value="100" class="pic high">
|
|
84
|
+
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
100
85
|
</td>
|
|
101
|
-
<td data-value="34.88" class="pct low">34.88%</td>
|
|
102
|
-
<td data-value="43" class="abs low">15/43</td>
|
|
103
86
|
<td data-value="100" class="pct high">100%</td>
|
|
104
|
-
<td data-value="
|
|
105
|
-
<td data-value="28.57" class="pct low">28.57%</td>
|
|
106
|
-
<td data-value="7" class="abs low">2/7</td>
|
|
107
|
-
<td data-value="33.33" class="pct low">33.33%</td>
|
|
108
|
-
<td data-value="42" class="abs low">14/42</td>
|
|
109
|
-
</tr>
|
|
110
|
-
|
|
111
|
-
<tr>
|
|
112
|
-
<td class="file low" data-value="dom-merge.test.stories.ts"><a href="dom-merge.test.stories.ts.html">dom-merge.test.stories.ts</a></td>
|
|
113
|
-
<td data-value="22.03" class="pic low">
|
|
114
|
-
<div class="chart"><div class="cover-fill" style="width: 22%"></div><div class="cover-empty" style="width: 78%"></div></div>
|
|
115
|
-
</td>
|
|
116
|
-
<td data-value="22.03" class="pct low">22.03%</td>
|
|
117
|
-
<td data-value="59" class="abs low">13/59</td>
|
|
87
|
+
<td data-value="4" class="abs high">4/4</td>
|
|
118
88
|
<td data-value="100" class="pct high">100%</td>
|
|
119
|
-
<td data-value="
|
|
120
|
-
<td data-value="25" class="pct low">25%</td>
|
|
121
|
-
<td data-value="8" class="abs low">2/8</td>
|
|
122
|
-
<td data-value="21.05" class="pct low">21.05%</td>
|
|
123
|
-
<td data-value="57" class="abs low">12/57</td>
|
|
124
|
-
</tr>
|
|
125
|
-
|
|
126
|
-
<tr>
|
|
127
|
-
<td class="file low" data-value="external-template.test.stories.ts"><a href="external-template.test.stories.ts.html">external-template.test.stories.ts</a></td>
|
|
128
|
-
<td data-value="24.7" class="pic low">
|
|
129
|
-
<div class="chart"><div class="cover-fill" style="width: 24%"></div><div class="cover-empty" style="width: 76%"></div></div>
|
|
130
|
-
</td>
|
|
131
|
-
<td data-value="24.7" class="pct low">24.7%</td>
|
|
132
|
-
<td data-value="85" class="abs low">21/85</td>
|
|
89
|
+
<td data-value="0" class="abs high">0/0</td>
|
|
133
90
|
<td data-value="100" class="pct high">100%</td>
|
|
134
91
|
<td data-value="3" class="abs high">3/3</td>
|
|
135
|
-
<td data-value="11.76" class="pct low">11.76%</td>
|
|
136
|
-
<td data-value="17" class="abs low">2/17</td>
|
|
137
|
-
<td data-value="24.39" class="pct low">24.39%</td>
|
|
138
|
-
<td data-value="82" class="abs low">20/82</td>
|
|
139
|
-
</tr>
|
|
140
|
-
|
|
141
|
-
<tr>
|
|
142
|
-
<td class="file low" data-value="form.test.stories.ts"><a href="form.test.stories.ts.html">form.test.stories.ts</a></td>
|
|
143
|
-
<td data-value="31.11" class="pic low">
|
|
144
|
-
<div class="chart"><div class="cover-fill" style="width: 31%"></div><div class="cover-empty" style="width: 69%"></div></div>
|
|
145
|
-
</td>
|
|
146
|
-
<td data-value="31.11" class="pct low">31.11%</td>
|
|
147
|
-
<td data-value="45" class="abs low">14/45</td>
|
|
148
92
|
<td data-value="100" class="pct high">100%</td>
|
|
149
93
|
<td data-value="3" class="abs high">3/3</td>
|
|
150
|
-
<td data-value="28.57" class="pct low">28.57%</td>
|
|
151
|
-
<td data-value="7" class="abs low">2/7</td>
|
|
152
|
-
<td data-value="29.54" class="pct low">29.54%</td>
|
|
153
|
-
<td data-value="44" class="abs low">13/44</td>
|
|
154
94
|
</tr>
|
|
155
95
|
|
|
156
96
|
<tr>
|
|
@@ -168,96 +108,6 @@
|
|
|
168
108
|
<td data-value="66" class="abs high">66/66</td>
|
|
169
109
|
</tr>
|
|
170
110
|
|
|
171
|
-
<tr>
|
|
172
|
-
<td class="file low" data-value="local-storage.test.stories.ts"><a href="local-storage.test.stories.ts.html">local-storage.test.stories.ts</a></td>
|
|
173
|
-
<td data-value="7.23" class="pic low">
|
|
174
|
-
<div class="chart"><div class="cover-fill" style="width: 7%"></div><div class="cover-empty" style="width: 93%"></div></div>
|
|
175
|
-
</td>
|
|
176
|
-
<td data-value="7.23" class="pct low">7.23%</td>
|
|
177
|
-
<td data-value="235" class="abs low">17/235</td>
|
|
178
|
-
<td data-value="100" class="pct high">100%</td>
|
|
179
|
-
<td data-value="7" class="abs high">7/7</td>
|
|
180
|
-
<td data-value="13.33" class="pct low">13.33%</td>
|
|
181
|
-
<td data-value="15" class="abs low">2/15</td>
|
|
182
|
-
<td data-value="7.07" class="pct low">7.07%</td>
|
|
183
|
-
<td data-value="226" class="abs low">16/226</td>
|
|
184
|
-
</tr>
|
|
185
|
-
|
|
186
|
-
<tr>
|
|
187
|
-
<td class="file low" data-value="location-element.test.stories.ts"><a href="location-element.test.stories.ts.html">location-element.test.stories.ts</a></td>
|
|
188
|
-
<td data-value="19.35" class="pic low">
|
|
189
|
-
<div class="chart"><div class="cover-fill" style="width: 19%"></div><div class="cover-empty" style="width: 81%"></div></div>
|
|
190
|
-
</td>
|
|
191
|
-
<td data-value="19.35" class="pct low">19.35%</td>
|
|
192
|
-
<td data-value="62" class="abs low">12/62</td>
|
|
193
|
-
<td data-value="100" class="pct high">100%</td>
|
|
194
|
-
<td data-value="5" class="abs high">5/5</td>
|
|
195
|
-
<td data-value="12.5" class="pct low">12.5%</td>
|
|
196
|
-
<td data-value="16" class="abs low">2/16</td>
|
|
197
|
-
<td data-value="22" class="pct low">22%</td>
|
|
198
|
-
<td data-value="50" class="abs low">11/50</td>
|
|
199
|
-
</tr>
|
|
200
|
-
|
|
201
|
-
<tr>
|
|
202
|
-
<td class="file low" data-value="module-url.test.stories.ts"><a href="module-url.test.stories.ts.html">module-url.test.stories.ts</a></td>
|
|
203
|
-
<td data-value="34.14" class="pic low">
|
|
204
|
-
<div class="chart"><div class="cover-fill" style="width: 34%"></div><div class="cover-empty" style="width: 66%"></div></div>
|
|
205
|
-
</td>
|
|
206
|
-
<td data-value="34.14" class="pct low">34.14%</td>
|
|
207
|
-
<td data-value="41" class="abs low">14/41</td>
|
|
208
|
-
<td data-value="100" class="pct high">100%</td>
|
|
209
|
-
<td data-value="3" class="abs high">3/3</td>
|
|
210
|
-
<td data-value="22.22" class="pct low">22.22%</td>
|
|
211
|
-
<td data-value="9" class="abs low">2/9</td>
|
|
212
|
-
<td data-value="33.33" class="pct low">33.33%</td>
|
|
213
|
-
<td data-value="39" class="abs low">13/39</td>
|
|
214
|
-
</tr>
|
|
215
|
-
|
|
216
|
-
<tr>
|
|
217
|
-
<td class="file low" data-value="set-url.test.stories.ts"><a href="set-url.test.stories.ts.html">set-url.test.stories.ts</a></td>
|
|
218
|
-
<td data-value="33.33" class="pic low">
|
|
219
|
-
<div class="chart"><div class="cover-fill" style="width: 33%"></div><div class="cover-empty" style="width: 67%"></div></div>
|
|
220
|
-
</td>
|
|
221
|
-
<td data-value="33.33" class="pct low">33.33%</td>
|
|
222
|
-
<td data-value="36" class="abs low">12/36</td>
|
|
223
|
-
<td data-value="100" class="pct high">100%</td>
|
|
224
|
-
<td data-value="3" class="abs high">3/3</td>
|
|
225
|
-
<td data-value="28.57" class="pct low">28.57%</td>
|
|
226
|
-
<td data-value="7" class="abs low">2/7</td>
|
|
227
|
-
<td data-value="32.35" class="pct low">32.35%</td>
|
|
228
|
-
<td data-value="34" class="abs low">11/34</td>
|
|
229
|
-
</tr>
|
|
230
|
-
|
|
231
|
-
<tr>
|
|
232
|
-
<td class="file low" data-value="slice-events.test.stories.ts"><a href="slice-events.test.stories.ts.html">slice-events.test.stories.ts</a></td>
|
|
233
|
-
<td data-value="17.14" class="pic low">
|
|
234
|
-
<div class="chart"><div class="cover-fill" style="width: 17%"></div><div class="cover-empty" style="width: 83%"></div></div>
|
|
235
|
-
</td>
|
|
236
|
-
<td data-value="17.14" class="pct low">17.14%</td>
|
|
237
|
-
<td data-value="105" class="abs low">18/105</td>
|
|
238
|
-
<td data-value="100" class="pct high">100%</td>
|
|
239
|
-
<td data-value="3" class="abs high">3/3</td>
|
|
240
|
-
<td data-value="11.76" class="pct low">11.76%</td>
|
|
241
|
-
<td data-value="17" class="abs low">2/17</td>
|
|
242
|
-
<td data-value="17" class="pct low">17%</td>
|
|
243
|
-
<td data-value="100" class="abs low">17/100</td>
|
|
244
|
-
</tr>
|
|
245
|
-
|
|
246
|
-
<tr>
|
|
247
|
-
<td class="file low" data-value="slots.test.stories.ts"><a href="slots.test.stories.ts.html">slots.test.stories.ts</a></td>
|
|
248
|
-
<td data-value="25" class="pic low">
|
|
249
|
-
<div class="chart"><div class="cover-fill" style="width: 25%"></div><div class="cover-empty" style="width: 75%"></div></div>
|
|
250
|
-
</td>
|
|
251
|
-
<td data-value="25" class="pct low">25%</td>
|
|
252
|
-
<td data-value="64" class="abs low">16/64</td>
|
|
253
|
-
<td data-value="100" class="pct high">100%</td>
|
|
254
|
-
<td data-value="3" class="abs high">3/3</td>
|
|
255
|
-
<td data-value="22.22" class="pct low">22.22%</td>
|
|
256
|
-
<td data-value="9" class="abs low">2/9</td>
|
|
257
|
-
<td data-value="23.8" class="pct low">23.8%</td>
|
|
258
|
-
<td data-value="63" class="abs low">15/63</td>
|
|
259
|
-
</tr>
|
|
260
|
-
|
|
261
111
|
<tr>
|
|
262
112
|
<td class="file high" data-value="testStoryBook.ts"><a href="testStoryBook.ts.html">testStoryBook.ts</a></td>
|
|
263
113
|
<td data-value="100" class="pic high">
|
|
@@ -273,21 +123,6 @@
|
|
|
273
123
|
<td data-value="11" class="abs high">11/11</td>
|
|
274
124
|
</tr>
|
|
275
125
|
|
|
276
|
-
<tr>
|
|
277
|
-
<td class="file medium" data-value="version-select.test.stories.ts"><a href="version-select.test.stories.ts.html">version-select.test.stories.ts</a></td>
|
|
278
|
-
<td data-value="55.55" class="pic medium">
|
|
279
|
-
<div class="chart"><div class="cover-fill" style="width: 55%"></div><div class="cover-empty" style="width: 45%"></div></div>
|
|
280
|
-
</td>
|
|
281
|
-
<td data-value="55.55" class="pct medium">55.55%</td>
|
|
282
|
-
<td data-value="18" class="abs medium">10/18</td>
|
|
283
|
-
<td data-value="100" class="pct high">100%</td>
|
|
284
|
-
<td data-value="3" class="abs high">3/3</td>
|
|
285
|
-
<td data-value="33.33" class="pct low">33.33%</td>
|
|
286
|
-
<td data-value="6" class="abs low">2/6</td>
|
|
287
|
-
<td data-value="60" class="pct medium">60%</td>
|
|
288
|
-
<td data-value="15" class="abs medium">9/15</td>
|
|
289
|
-
</tr>
|
|
290
|
-
|
|
291
126
|
</tbody>
|
|
292
127
|
</table>
|
|
293
128
|
</div>
|
|
@@ -296,7 +131,7 @@
|
|
|
296
131
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
297
132
|
Code coverage generated by
|
|
298
133
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
299
|
-
at
|
|
134
|
+
at 2025-03-06T04:47:40.965Z
|
|
300
135
|
</div>
|
|
301
136
|
<script src="../../prettify.js"></script>
|
|
302
137
|
<script>
|
|
@@ -96,11 +96,11 @@
|
|
|
96
96
|
<span class="cline-any cline-neutral"> </span>
|
|
97
97
|
<span class="cline-any cline-neutral"> </span>
|
|
98
98
|
<span class="cline-any cline-neutral"> </span>
|
|
99
|
-
<span class="cline-any cline-yes">
|
|
100
|
-
<span class="cline-any cline-yes">
|
|
99
|
+
<span class="cline-any cline-yes">71x</span>
|
|
100
|
+
<span class="cline-any cline-yes">71x</span>
|
|
101
101
|
<span class="cline-any cline-neutral"> </span>
|
|
102
|
-
<span class="cline-any cline-yes">
|
|
103
|
-
<span class="cline-any cline-yes">
|
|
102
|
+
<span class="cline-any cline-yes">71x</span>
|
|
103
|
+
<span class="cline-any cline-yes">71x</span>
|
|
104
104
|
<span class="cline-any cline-neutral"> </span>
|
|
105
105
|
<span class="cline-any cline-neutral"> </span>
|
|
106
106
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -111,10 +111,10 @@
|
|
|
111
111
|
<span class="cline-any cline-neutral"> </span>
|
|
112
112
|
<span class="cline-any cline-yes">12x</span>
|
|
113
113
|
<span class="cline-any cline-neutral"> </span>
|
|
114
|
-
<span class="cline-any cline-yes">
|
|
115
|
-
<span class="cline-any cline-yes">
|
|
114
|
+
<span class="cline-any cline-yes">83x</span>
|
|
115
|
+
<span class="cline-any cline-yes">83x</span>
|
|
116
116
|
<span class="cline-any cline-yes">12x</span>
|
|
117
|
-
<span class="cline-any cline-yes">
|
|
117
|
+
<span class="cline-any cline-yes">71x</span>
|
|
118
118
|
<span class="cline-any cline-neutral"> </span>
|
|
119
119
|
<span class="cline-any cline-neutral"> </span>
|
|
120
120
|
<span class="cline-any cline-yes">12x</span>
|
|
@@ -154,7 +154,7 @@ export async function testStoryBook<TProps>( mod: Record<string, StoryO
|
|
|
154
154
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
155
155
|
Code coverage generated by
|
|
156
156
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
157
|
-
at
|
|
157
|
+
at 2025-03-06T04:47:40.965Z
|
|
158
158
|
</div>
|
|
159
159
|
<script src="../../prettify.js"></script>
|
|
160
160
|
<script>
|
package/coverage/src/sum.ts.html
CHANGED
|
@@ -79,7 +79,7 @@ export function sum(a: number, b: number) {
|
|
|
79
79
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
80
80
|
Code coverage generated by
|
|
81
81
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
82
|
-
at
|
|
82
|
+
at 2025-03-06T04:47:40.965Z
|
|
83
83
|
</div>
|
|
84
84
|
<script src="../prettify.js"></script>
|
|
85
85
|
<script>
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";const Q="http://www.w3.org/1999/XSL/Transform",R="http://www.w3.org/1999/xhtml",Ce="http://exslt.org/common",d=(e,l)=>e?.getAttribute?.(l),me=e=>e.nodeType===3,$e=e=>typeof e=="string",De=e=>e&&typeof e.nodeType=="number",D=(e,l)=>(e.ownerDocument||e).createTextNode(l),ue=e=>{for(;e.firstChild;)e.firstChild.remove();return e},F=e=>(e.getAttributeNames().map(l=>e.removeAttribute(l)),ue(e)),de=e=>(e?.setAttribute("xmlns:xsl",Q),e),pe=e=>(e?.setAttribute("xmlns:xhtml",R),de(e)),fe=e=>/^[_a-zA-Z][-_:a-zA-Z0-9]*$/.test(e),ee=(e,l)=>(Object.keys(l).map(t=>e[t]=l[t]),e),$=(e,l="",t=document)=>{const s=n=>(o=>(l&&o.append(D(t.ownerDocument||t,l)),o))((t.ownerDocument||t).createElement(n));if(fe(e))return s(e);const a=s("dce-object");return a.setAttribute("dce-object-name",e),a},te=(e,l)=>{const t=e.ownerDocument.createElementNS(e.namespaceURI,l);for(let s of e.attributes)t.setAttribute(s.name,s.value);for(let s of e.childNodes)t.append(s.cloneNode(!0));return t};function X(e){return new DOMParser().parseFromString(e,"application/xml")}function U(e){return new XMLSerializer().serializeToString(e)}function _(e,l,t,s){const a=g=>e.ownerDocument.createElement(g),o=((g,x,v)=>(x.append(v=a(g)),v))(l,e);return[...t].forEach(g=>o.append(s(g))),o}function Le(e){return e.slot||(e.setAttribute||(e=$("span",e.textContent.replaceAll(`
|
|
2
|
+
`,""))),e.setAttribute("slot","")),e}function K(e,l){e.getAttributeNames().forEach(t=>l.includes(t)||e.removeAttribute(t))}const se=e=>[...e].filter(l=>!(l.nodeType===3&&l.data.trim()===""));function M(e,l,t){const s=typeof e;if(s==="string")return $(l,e,t);if(s==="number")return $(l,""+e,t);if(e instanceof Array){const n=$("array","",t);return e.map(o=>n.append(M(o,l,t))),n}if(e instanceof FormData){const n=$("form-data","",t);for(const o of e)n.append(M(o[1],o[0],t));return n}const a=$(l,"",t);for(let n in e)De(e[n])||typeof e[n]=="function"||e[n]instanceof Window||(typeof e[n]!="object"&&fe(n)?a.setAttribute(n,e[n]):a.append(M(e[n],n,t)));return a}function le(e){if(z(e,"*",l=>[...l.childNodes].filter(t=>t.nodeType===3&&t.parentNode.localName!=="style"&&t.data).forEach(t=>{const s=t.data,a=s.matchAll(/{([^}]*)}/g);if(a){let n=0,o=x=>D(t,x),g=[];if([...a].forEach(x=>{x.index>n&&g.push(o(x.input.substring(n,x.index)));const v=e.querySelector("value-of").cloneNode();v.setAttribute("select",x[1]),g.push(v),n=x.index+x[0].length}),n<s.length&&g.push(o(s.substring(n,s.length))),g.length){for(let x of g)l.insertBefore(x,t);l.removeChild(t)}}})),"all"in e){let l=1;for(let t of e.all)t.setAttribute&&!t.tagName.startsWith("xsl:")&&t.setAttribute("data-dce-id",""+l++)}return e}function he(e,l="xsl:stylesheet"){const t=[],s={},a={};if(e.tagName===l||e.documentElement?.tagName===l)return le(ee(e,{declaredAttributes:t,hardcodedAttributes:s,exposedAttributes:a}));const n=X(`<xsl:stylesheet version="1.0" xmlns:xsl="${Q}" xmlns:xhtml="${R}" xmlns:exsl="${Ce}" exclude-result-prefixes="exsl" >
|
|
3
|
+
<xsl:output method="xml"/>
|
|
4
|
+
<xsl:template match="/"><dce-root xmlns="${R}"><xsl:apply-templates select="*" /></dce-root></xsl:template>
|
|
5
|
+
<xsl:template match="*[name()='template']">
|
|
6
|
+
<xsl:apply-templates mode="sanitize" select="*|text()"/>
|
|
7
|
+
</xsl:template>
|
|
8
|
+
<xsl:template match="*">
|
|
9
|
+
<xsl:apply-templates mode="sanitize" select="*|text()"/>
|
|
10
|
+
</xsl:template>
|
|
11
|
+
<xsl:template match="*[name()='svg']|*[name()='math']">
|
|
12
|
+
<xsl:apply-templates mode="sanitize" select="."/>
|
|
13
|
+
</xsl:template>
|
|
14
|
+
<xsl:template mode="sanitize" match="*[count(text())=1 and count(*)=0]">
|
|
15
|
+
<xsl:copy>
|
|
16
|
+
<xsl:apply-templates mode="sanitize" select="@*"/>
|
|
17
|
+
<xsl:value-of select="text()"></xsl:value-of>
|
|
18
|
+
</xsl:copy>
|
|
19
|
+
</xsl:template>
|
|
20
|
+
<xsl:template mode="sanitize" match="xhtml:*[count(text())=1 and count(*)=0]">
|
|
21
|
+
<xsl:element name="{local-name()}">
|
|
22
|
+
<xsl:apply-templates mode="sanitize" select="@*"/>
|
|
23
|
+
<xsl:value-of select="text()"></xsl:value-of>
|
|
24
|
+
</xsl:element>
|
|
25
|
+
</xsl:template>
|
|
26
|
+
<xsl:template mode="sanitize" match="*|@*">
|
|
27
|
+
<xsl:copy>
|
|
28
|
+
<xsl:apply-templates mode="sanitize" select="*|@*|text()"/>
|
|
29
|
+
</xsl:copy>
|
|
30
|
+
</xsl:template>
|
|
31
|
+
<xsl:template mode="sanitize" match="text()[normalize-space(.) = '']"/>
|
|
32
|
+
<xsl:template mode="sanitize" match="text()">
|
|
33
|
+
<dce-text>
|
|
34
|
+
<xsl:copy/>
|
|
35
|
+
</dce-text>
|
|
36
|
+
</xsl:template>
|
|
37
|
+
<xsl:template mode="sanitize" match="xsl:value-of|*[name()='slot']">
|
|
38
|
+
<xsl:copy>
|
|
39
|
+
<xsl:apply-templates mode="sanitize" select="*|@*|text()"/>
|
|
40
|
+
</xsl:copy>
|
|
41
|
+
</xsl:template>
|
|
42
|
+
<xsl:template mode="sanitize" match="xhtml:*">
|
|
43
|
+
<xsl:element name="{local-name()}">
|
|
44
|
+
<xsl:apply-templates mode="sanitize" select="*|@*|text()"/>
|
|
45
|
+
</xsl:element>
|
|
46
|
+
</xsl:template>
|
|
47
|
+
<xsl:template mode="sanitize" match="xhtml:input">
|
|
48
|
+
<xsl:element name="{local-name()}">
|
|
49
|
+
<xsl:apply-templates mode="sanitize" select="*[not(name()='slice')]|@*|text()"/>
|
|
50
|
+
</xsl:element>
|
|
51
|
+
<xsl:for-each select="slice">
|
|
52
|
+
<xsl:copy>
|
|
53
|
+
<xsl:attribute name="for" >^</xsl:attribute>
|
|
54
|
+
<xsl:apply-templates mode="sanitize" select="*|@*|text()"/>
|
|
55
|
+
</xsl:copy>
|
|
56
|
+
</xsl:for-each>
|
|
57
|
+
</xsl:template>
|
|
58
|
+
</xsl:stylesheet>`),o=new XSLTProcessor,g=(i=>{z(i,"custom-element",h=>{h.firstElementChild.localName==="template"&&([...h.firstElementChild.content.childNodes].forEach(b=>h.append(b)),h.firstElementChild.remove())}),z(i,"script",h=>h.remove());const r=i.content??i.firstElementChild?.content??i.body??i;Ne.forEach(h=>z(r,h,b=>we(b,r)));const f=i.firstElementChild?.content||i.content,y=h=>{const b=X("<xhtml/>"),T=b.importNode(h,!0);return b.replaceChild(T,b.documentElement),T.namespaceURI===R&&!d(T,"xmlns")&&T.setAttribute("xmlns",R),pe(T)};if(f){const h=$("div");return[...f.childNodes].map(b=>h.append(b.cloneNode(!0))),y(h)}return y(i.documentElement||i.body||i)})(e),x=X(`<xsl:stylesheet version="1.0"
|
|
59
|
+
xmlns:xsl="${Q}"
|
|
60
|
+
xmlns:xhtml="${R}"
|
|
61
|
+
xmlns:dce="urn:schemas-epa-wg:dce"
|
|
62
|
+
xmlns:exsl="http://exslt.org/common"
|
|
63
|
+
exclude-result-prefixes="exsl"
|
|
64
|
+
>
|
|
65
|
+
<xsl:template match="ignore">
|
|
66
|
+
<xsl:choose>
|
|
67
|
+
<xsl:when test="//attr">{//attr}</xsl:when>
|
|
68
|
+
<xsl:otherwise>{def}</xsl:otherwise>
|
|
69
|
+
</xsl:choose><xsl:value-of select="."></xsl:value-of></xsl:template>
|
|
70
|
+
<xsl:template mode="payload" match="attributes"></xsl:template>
|
|
71
|
+
<xsl:template match="/">
|
|
72
|
+
<xsl:apply-templates mode="payload" select="/datadom/attributes"/>
|
|
73
|
+
</xsl:template>
|
|
74
|
+
<xsl:template name="slot" >
|
|
75
|
+
<xsl:param name="slotname" />
|
|
76
|
+
<xsl:param name="defaultvalue" />
|
|
77
|
+
<xsl:choose>
|
|
78
|
+
<xsl:when test="//payload/*[@slot=$slotname]">
|
|
79
|
+
<xsl:copy-of select="//payload/*[@slot=$slotname]"/>
|
|
80
|
+
</xsl:when>
|
|
81
|
+
<xsl:otherwise>
|
|
82
|
+
<xsl:copy-of select="$defaultvalue"/>
|
|
83
|
+
</xsl:otherwise>
|
|
84
|
+
</xsl:choose>
|
|
85
|
+
</xsl:template>
|
|
86
|
+
<xsl:variable name="js-injected-body">
|
|
87
|
+
<xsl:call-template name="slot" >
|
|
88
|
+
<xsl:with-param name="slotname" select="''"/>
|
|
89
|
+
<xsl:with-param name="defaultvalue"/>
|
|
90
|
+
</xsl:call-template>
|
|
91
|
+
</xsl:variable>
|
|
92
|
+
</xsl:stylesheet>`);o.importStylesheet(n);const v=o.transformToFragment(g,document),u=(i,r)=>i.querySelector(r),w=u(x,'template[mode="payload"]');if(!v)return console.error("transformation error",{xml:g.outerHTML,xsl:U(n)});if(v.firstElementChild.localName!=="dce-root"){const i=v.ownerDocument.createElement("dce-root");[...v.childNodes].forEach(r=>i.append(r)),v.append(i)}[...v.querySelectorAll("[test]")].forEach(i=>{const r=d(i,"test"),f=r.replace(/hasBoolAttribute\((.*?)\)/g,(y,h,b,T,P)=>{const L=h.substring(1);return`(not($${L} = 'false') and ($${L} = '' or $${L} = '${L}' or $${L} = 'true' ))`});r!==f&&i.setAttribute("test",f)}),[...v.querySelectorAll("dce-root>attribute")].forEach(i=>{K(i,"namespace,name,select");const r=te(i,"xsl:param"),f=d(i,"name");if(t.push(f),i.childNodes.length&&(s[f]=i.textContent),w.append(r),i.hasAttribute("select")){a[f]=d(i,"select"),K(r,"select,name");let y=d(i,"select").split("??"),h;if(y?.length>1){r.removeAttribute("select");const b=u(x,'template[match="ignore"]>choose').cloneNode(!0);F(b.firstElementChild).append(D(b,"{"+y[0]+"}")),b.firstElementChild.setAttribute("test",y[0]);for(let T=1;T<y.length-1;T++){const P=b.firstElementChild.cloneNode(!0);F(P).append(D(b,"{"+y[T]+"}")),P.setAttribute("test",y[T]),b.insertBefore(P,b.lastElementChild)}F(b.lastElementChild).append(D(b,"{"+y[y.length-1]+"}")),r.append(b),h=b.cloneNode(!0)}else h=te(i,"xsl:value-of");h.removeAttribute("name"),i.append(h),i.removeAttribute("select")}else K(r,"name"),r.setAttribute("select","/datadom/attributes/"+f),s[f]||i.remove()}),[...v.querySelectorAll("[value]")].filter(i=>i.getAttribute("value").match(/\{(.*)\?\?(.*)\}/g)).forEach(i=>{const r=d(i,"value");r&&i.setAttribute("value",Ee(r))});for(const i of v.childNodes)w.append(x.importNode(i,!0));[...w.getElementsByTagName("xsl:template")].forEach(i=>w.ownerDocument.documentElement.append(i));const O=u(x,'call-template[name="slot"]'),H=i=>{const r=O.cloneNode(!0),f=d(i,"name");f&&r.firstElementChild.setAttribute("select",`'${f}'`);for(let y of i.childNodes)r.lastElementChild.append(y);return r};z(w,"slot",i=>i.parentNode.replaceChild(H(i),i));const p=le(x);return ee(p,{declaredAttributes:t,hardcodedAttributes:s,exposedAttributes:a}),p}async function xe(e){return await new Promise((t,s)=>{const a=new XMLHttpRequest;a.open("GET",e),a.responseType="document",a.onload=()=>{a.readyState===a.DONE&&a.status===200?t(a.responseXML?.body||a.responseXML||$("div",a.responseText)):s(`${a.statusText} - ${e}`)},a.addEventListener("error",n=>s(n)),a.send()})}function be(e,l,t=!1){if(e===l)return!0;if(typeof e!="object"||e===null||typeof l!="object"||l===null||Object.keys(e).length!==Object.keys(l).length)return t;for(let s in e)if(!(s in l)||!be(e[s],l[s]))return t;return!0}const ye=e=>e.split("|").map(l=>l.trim()).filter(l=>l),ge=(e,l)=>ye(l).map(t=>{let s=e.ownerDocument,a=n=>(e.append(n),n);if(t.includes("/")){const n=[],o=s.evaluate(t,e);for(let g;g=o.iterateNext();)n.push(g);return n}return[...e.childNodes].find(n=>n.localName===t)||a($(t,"",s))}).flat();function ne(e,l,t,s){if(!t.sliceProcessed)return t.sliceProcessed=1,ge(e,l??"").map(a=>{const n=e.ownerDocument,o=t.sliceEventSource,g=t.sliceElement,x=()=>[...a.childNodes].filter(u=>u.nodeType===3||u.localName==="value"||u.localName==="form-data").map(u=>u.remove());o.getAttributeNames().map(u=>a.setAttribute(u,d(o,u))),[...a.childNodes].filter(u=>u.localName==="event").map(u=>u.remove()),"validationMessage"in o&&a.setAttribute("validation-message",o.validationMessage),t.type==="init"&&x(),a.append(M(t,"event",n));const v=(o.type==="checkbox"||o.type==="radio")&&!o.checked;if(g.hasAttribute("slice-value")){o.value===void 0?a.removeAttribute("value"):a.setAttribute("value",o.value);const u=v?"":I(d(g,"slice-value"),a);x(),a.append(D(n,u))}else{if("elements"in o)return x(),a.append(M(new FormData(o),"value",a.ownerDocument)),a;const u=v?"":o.value??d(o,"value");if(x(),u==null)[...a.childNodes].filter(w=>w.localName!=="event").map(w=>w.remove()),a.removeAttribute("value");else{const w=$e(u)?D(n,u):M(u,"value",a.ownerDocument);a.append(w),a.setAttribute("value",u)}}return a})}function z(e,l,t){e.querySelectorAll&&[...e.querySelectorAll(l)].forEach(t)}const je=async(e,l)=>{if(!e||!e.trim())return[l];if(e.startsWith("#"))return(t=>{const s=t.querySelectorAll(e);return[...s.length?s:t.getRootNode().querySelectorAll(e)]})(l.parentElement);try{const[t,s]=e.split("#");if(e.charAt(0)===".")e=new URL(t,l.closest("[base]")?.getAttribute("base")||location).href;else try{e=(void 0)(t),s&&(e+="#"+s)}catch(n){console.error(n.message)}const a=await xe(e);if(l.setAttributeNS("xml","base",e),s){const n=a.querySelectorAll("#"+s);return n.length?[...n]:(console.error("template not found",e+"#"+s),[l])}return[a]}catch{return[l]}};function ae(e,l){for(let n of e.attributes)try{const o=n.name;n.namespaceURI?(!l.hasAttributeNS(n.namespaceURI,o)||l.getAttributeNS(n.namespaceURI,o)!==n.value)&&l.setAttributeNS(n.namespaceURI,o,n.value):(!l.hasAttribute(o)||l.getAttribute(o)!==n.value)&&l.setAttribute(n.name,n.value),n.name==="value"&&(l.value=n.value)}catch(o){console.warn("attribute assignment error",o?.message||o)}const t=l.dceExportedAttributes,s=l.getAttribute("dce-exported-attributes"),a=s?new Set(s.split(" ")):null;for(let n of l.getAttributeNames())!e.hasAttribute(n)&&!t?.has(n)&&!a?.has(n)&&l.removeAttribute(n)}function ie(e,l=0){const t={};for(const s of e.childNodes){const a=d(s,"data-dce-id")||s.dceId||0;if(!t[a])a?t[a]=1:(t[a]=s.dceId=++l,s.setAttribute&&s.setAttribute("data-dce-id",s.dceId));else{const n=s.dceId=a+"-"+t[a]++;s.setAttribute&&s.setAttribute("data-dce-id",n)}s.childNodes.length&&ie(s)}}function Ae(e,l,t){t=1*t;for(let s of e.childNodes)if((s.dceId??s.getAttribute("data-dce-id")*1)>t)return e.insertBefore(l,s);e.append(l)}function re(e,l){if(e.firstElementChild?.localName==="dce-root"&&l[0]?.localName!=="dce-root")return;if(!l.length)return e.firstElementChild?.localName!=="dce-root"&&ue(e);const t={};for(let s of e.childNodes)t[s.dceId],me(s)?(s.data.trim(),t[s.dceId||0]=s):t[d(s,"data-dce-id")||0]=s;for(let s of[...l]){const a=d(s,"data-dce-id")||s.dceId,n=t[a];n?(me(s)?n.nodeValue!==s.nodeValue&&(n.nodeValue=s.nodeValue):(ae(s,n),(n.childNodes.length||s.childNodes.length)&&re(n,s.childNodes)),delete t[a]):Ae(e,s,a)}for(let s of Object.values(t))s.localName!=="dce-root"&&s.remove()}function ve(e,l){return e.hasAttribute(l)||e.setAttribute(l,crypto.randomUUID()),e.getAttribute(l)}const Ee=e=>[...e?.matchAll(/([^{}]*)(\{)([^}]+)}([^{}]*)/g)].map(t=>`${t[1]}{${W(t[3])}}${t[4]}`).join(""),W=e=>{if(!e.trim())return e;const l=e.split("??"),t=l.shift(),s=W(l.join("??"));return l.length?`concat( ${t} , substring( ${s} , (1+string-length( ${s} )) * string-length( ${t} ) ) )`:e},I=(e,l)=>{const t=e.split("??");if(t.length>1)return I(t[0],l)||I(t[1],l);e=W(e);const s=l.ownerDocument.evaluate(e,l);switch(s.resultType){case XPathResult.NUMBER_TYPE:return s.numberValue;case XPathResult.STRING_TYPE:return s.stringValue;case XPathResult.BOOLEAN_TYPE:return s.booleanValue}let a="";for(let n;n=s.iterateNext();)a+=n.textContent;return a},Ne="stylesheet,transform,import,include,strip-space,preserve-space,output,key,decimal-format,namespace-alias,value-of,copy-of,number,apply-templates,apply-imports,for-each,sort,if,choose,when,otherwise,attribute-set,call-template,with-param,variable,param,text,processing-instruction,element,attribute,comment,copy,message,fallback".split(","),we=(e,l)=>{const t=$("xsl:"+e.localName);for(let s of e.attributes)t.setAttribute(s.name,s.value);for(;e.firstChild;)t.append(e.firstChild);if(e.parentElement)e.parentElement.replaceChild(t,e);else{const s=e.parentElement||l,a=[...s.childNodes];a.forEach((n,o)=>{n===e&&(a[o]=t)}),s.replaceChildren(...a)}};class Te extends HTMLElement{static observedAttributes=["src","tag","hidden"];async connectedCallback(){this.firstElementChild&&this.firstElementChild.localName!=="template"&&console.log(`custom-element used without template wrapping content
|
|
93
|
+
`,this.outerHTML);const l=await je(d(this,"src"),this),t=d(this,"tag"),s=t||"dce-"+crypto.randomUUID();for(const p of l)z(p.templateNode||p.content||p,"style",i=>{const r=i.closest("slot"),f=r?`slot[name="${r.name}"]`:"";i.innerHTML=`${s} ${f}{${i.innerHTML}}`,this.append(i)});const a=l.map(p=>he(p)),n=a.map((p,i)=>{i=new XSLTProcessor;try{i.importStylesheet(p)}catch(r){console.error(r,U(p))}return i});Object.defineProperty(this,"xsltString",{get:()=>a.map(p=>U(p)).join(`
|
|
94
|
+
`)});const o=this,g=[...this.templateNode.querySelectorAll("[slice]")],x=g.map(p=>d(p,"slice")).filter(p=>!p.includes("/")).filter((p,i,r)=>r.indexOf(p)===i).map(ye).flat(),{declaredAttributes:v,hardcodedAttributes:u,exposedAttributes:w}=a[0],oe=new Set([...Object.keys(u),...Object.keys(w)]);class O extends HTMLElement{static get observedAttributes(){return v}#e=0;get dceExportedAttributes(){return oe}connectedCallback(){let i=se(this.childNodes);if(this.firstElementChild?.tagName==="TEMPLATE"){this.firstElementChild!==this.lastElementChild&&console.error("payload should have TEMPLATE as only child",this.outerHTML);const c=this.firstElementChild;c.remove(),i=se(c.content.childNodes);for(const E of i)if(E.localName==="style"){const m=ve(this,"data-dce-style");E.innerHTML=`${s}[data-dce-style="${m}"]{${E.innerHTML}}`,c.insertAdjacentElement("beforebegin",E)}else E.nodeType===1?c.insertAdjacentElement("beforebegin",E):E.nodeType===3&&c.insertAdjacentText("beforebegin",E.data)}const r=X("<datadom/>").documentElement,f=(c,E="")=>(m=>(E&&m.append(D(r,E)),m))(r.ownerDocument.createElement(c)),y=_(r,"payload",i,Le);de(y),pe(y),this.innerHTML="";const h=_(r,"attributes",this.attributes,c=>f(c.nodeName,c.value)),b=c=>this.hasAttribute(c)||[...h.children].find(E=>E.localName===c);ae(this,h),Object.keys(u).map(c=>b(c)||h.append(f(c,u[c]))),Object.keys(w).map(c=>b(c)||h.append(f(c))),_(r,"dataset",Object.keys(this.dataset),c=>f(c,this.dataset[c]));const T=_(r,"slice",x,c=>f(c,"")),P=c=>I(c,T);this.xml=r;const L=[],ce=()=>{const c={};for(let E;E=L.pop();){const m=d(E.sliceElement,"slice");c[m]||(ne(T,m,E),c[m]=E)}Object.keys(c).length!==0&&B()};let Y;this.onSlice=c=>{L.push(c),Y||(Y=setTimeout(()=>{ce(),Y=0},1))};const B=this.transform=()=>{if(this.#e)debugger;this.#e=1;const c=()=>{n.map((A,S)=>{const V=A.transformToFragment(r.ownerDocument,document);return V||console.error(`XSLT transformation error. xsl:
|
|
95
|
+
`,U(a[S]),`
|
|
96
|
+
xml:
|
|
97
|
+
`,U(r)),V}).map(A=>{A&&(ie(A),re(this,A.childNodes))});let N=0;return Object.entries(u).map(([A,S])=>{!this.hasAttribute(A)&&S!==d(this,A)&&(this.setAttribute(A,S),this.#t(A,S),N++)}),Object.keys(w).map(A=>{let S=d(this.firstElementChild,A);S!==d(this,A)&&(this.setAttribute(A,S),this.#t(A,S),N++)}),N};c()&&c()&&console.warn("model update should not be the result of transform more than once");function E(m){let N=m;if(m.localName==="slice"){const A=d(m,"for");if(A||(N=m.parentElement),A==="^")do N=N.previousElementSibling;while(N.localName==="slice");else N=this.querySelector(A);if(!N)return console.warn(`can not find selector in "slice for=${A}" `,m.outerHTML);d(m,"slice")||m.setAttribute("slice",d(m,"name"))}return N}z(this,"[slice],[slice-event]",m=>{let N=d(m,"slice-event");const A=m.hasAttribute("slice-value")||m.hasAttribute("value")||m.value,S=E(m);m.dceInitialized||(m.dceInitialized=1,S.hasAttribute("custom-validity")&&(N+=" change submit"),[...new Set((N||"change").split(" "))].forEach(V=>S.addEventListener(V,C=>{C.sliceElement=m,C.sliceEventSource=C.currentTarget||C.target,C.sliceProcessed=0;const Se=ne(T,d(C.sliceElement,"slice"),C);z(this,"[custom-validity]",k=>{if(!k.setCustomValidity)return;const J=d(k,"custom-validity");try{const q=J&&I(J,h);k.setCustomValidity(q===!0?"":q===!1?"invalid":q)}catch(q){console.error(q,"xPath",J)}});const G=d(S,"custom-validity"),j=G&&I(G,h),Z=j===!0?"":j;if(G){if(m.setCustomValidity?m.setCustomValidity(Z):m.validationMessage=Z,Se.map(k=>k.setAttribute("validation-message",Z)),C.type==="submit")return j===!0?void 0:(setTimeout(B,1),!!j===j?(j||C.preventDefault(),j):j?(C.preventDefault(),!1):void 0);setTimeout(B,1)}this.onSlice(C)})),(!N||N.includes("init"))&&(A?this.onSlice({type:"init",target:S,sliceElement:m,sliceEventSource:S}):m.value=P(d(m,"slice"))))}),this.#e=0};B(),ce()}#t(i,r){i==="value"&&(this.value=r);const f=this.xml.querySelector("attributes");let y=this.xml.querySelector(`attributes>${i}`);y?F(y).append(D(y,r)):(y=$(i,r,this.xml),f.append(y)),this.#e||f.setAttribute(i,r),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:{[i]:r}}))}attributeChangedCallback(i,r,f){!this.xml||this.#e||(this.#t(i,f),this.transform())}get dce(){return o}}const H=p=>{window.customElements.get(p)!==O&&window.customElements.define(p,O)};if(t)H(t);else{const p=s;this.setAttribute("tag",p),H(p);const i=document.createElement(p);this.getAttributeNames().forEach(r=>i.setAttribute(r,this.getAttribute(r))),i.append(...[...this.childNodes].filter(r=>r.localName!=="style")),this.append(i)}}get templateNode(){return this.firstElementChild?.tagName==="TEMPLATE"?this.firstElementChild.content:this}get dce(){return this}get xslt(){return X(this.xsltString)}}window.customElements.define("custom-element",Te);exports.CustomElement=Te;exports.appendByDceId=Ae;exports.assureSlices=ge;exports.assureUID=ve;exports.assureUnique=ie;exports.cloneAs=te;exports.createXsltFromDom=he;exports.deepEqual=be;exports.evalCurly=Ee;exports.event2slice=ne;exports.merge=re;exports.mergeAttr=ae;exports.mix=ee;exports.obj2node=M;exports.sanitizeBlankText=se;exports.tagUid=le;exports.toXsl=we;exports.xPath=I;exports.xPathDefaults=W;exports.xhrTemplate=xe;exports.xml2dom=X;exports.xmlString=U;exports.xslTags=Ne;
|