@epa-wg/custom-element-dist 0.0.28 → 0.0.31

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.
Files changed (162) hide show
  1. package/.idea/custom-element-dist.iml +11 -0
  2. package/.idea/inspectionProfiles/Project_Default.xml +24 -0
  3. package/.idea/misc.xml +6 -0
  4. package/.idea/modules.xml +8 -0
  5. package/.idea/vcs.xml +6 -0
  6. package/.storybook/main.ts +21 -19
  7. package/.storybook/preview.ts +25 -25
  8. package/README.md +4 -4
  9. package/coverage/coverage-final.json +21 -22
  10. package/coverage/index.html +24 -39
  11. package/coverage/src/custom-element/coverage.svg +1 -1
  12. package/coverage/src/custom-element/custom-element.js/coverage.svg +1 -1
  13. package/coverage/src/custom-element/custom-element.js.html +248 -242
  14. package/coverage/src/custom-element/http-request.js.html +12 -12
  15. package/coverage/src/custom-element/index.html +14 -14
  16. package/coverage/src/custom-element/local-storage.js.html +52 -52
  17. package/coverage/src/custom-element/location-element.js.html +4 -4
  18. package/coverage/src/custom-element/module-url.js.html +1 -1
  19. package/coverage/src/index.html +1 -1
  20. package/coverage/src/mocks/handlers.ts.html +1 -1
  21. package/coverage/src/mocks/index.html +1 -1
  22. package/coverage/src/stories/attributes.test.stories.ts.html +28 -28
  23. package/coverage/src/stories/coverage.svg +1 -1
  24. package/coverage/src/stories/css.test.stories.ts.html +1 -1
  25. package/coverage/src/stories/dom-merge.test.stories.ts.html +1 -1
  26. package/coverage/src/stories/external-template.test.stories.ts.html +1 -1
  27. package/coverage/src/stories/form.test.stories.ts.html +1 -1
  28. package/coverage/src/stories/http-request.stories.ts.html +1 -1
  29. package/coverage/src/stories/index.html +19 -19
  30. package/coverage/src/stories/local-storage.test.stories.ts.html +17 -17
  31. package/coverage/src/stories/location-element.test.stories.ts.html +3 -6
  32. package/coverage/src/stories/module-url.test.stories.ts.html +1 -1
  33. package/coverage/src/stories/set-url.test.stories.ts.html +1 -1
  34. package/coverage/src/stories/slice-events.test.stories.ts/coverage.svg +1 -1
  35. package/coverage/src/stories/slice-events.test.stories.ts.html +284 -23
  36. package/coverage/src/stories/slots.test.stories.ts.html +1 -1
  37. package/coverage/src/stories/testStoryBook.ts.html +7 -7
  38. package/coverage/src/stories/version-select.test.stories.ts.html +1 -1
  39. package/coverage/src/sum.ts.html +1 -1
  40. package/dist/custom-element-BbJMY20-.cjs +97 -0
  41. package/dist/{custom-element-BOIPgtxz.js → custom-element-CoRNKeEP.js} +122 -120
  42. package/dist/custom-element-bundle.cjs +1 -1
  43. package/dist/custom-element-bundle.js +2 -2
  44. package/dist/demo/a.svg +26 -26
  45. package/dist/demo/data-slices.html +37 -0
  46. package/dist/demo/demo.css +0 -3
  47. package/package.json +13 -13
  48. package/public/demo/a.svg +26 -26
  49. package/public/demo/data-slices.html +37 -0
  50. package/public/demo/demo.css +0 -3
  51. package/src/custom-element/custom-element.js +4 -2
  52. package/src/custom-element/demo/a.svg +26 -26
  53. package/src/custom-element/demo/data-slices.html +37 -0
  54. package/src/custom-element/demo/demo.css +0 -3
  55. package/src/custom-element/ide/web-types-dce.json +1 -1
  56. package/src/custom-element/ide/web-types-xsl.json +1 -1
  57. package/src/material/angular.css +987 -987
  58. package/src/material/components/autocomplete.html +239 -240
  59. package/src/material/components/dropdown.html +93 -46
  60. package/src/material/components/icon-link.html +161 -0
  61. package/src/material/components/menu.html +234 -234
  62. package/src/material/components.html +121 -108
  63. package/src/material/demo.css +36 -31
  64. package/src/material/index.html +110 -168
  65. package/src/material/material.css +356 -356
  66. package/src/material/theme/README.md +17 -17
  67. package/src/material/theme/semantic.css +113 -112
  68. package/src/mocks/versions.mock.ts +8 -8
  69. package/src/stories/attributes.test.stories.ts +20 -20
  70. package/src/stories/location-element.test.stories.ts +1 -2
  71. package/src/stories/slice-events.test.stories.ts +87 -0
  72. package/storybook-static/assets/Color-F6OSRLHC-CFyd3TND.js +1 -0
  73. package/storybook-static/assets/{Configure-CJVwFVjC.js → Configure-UGTbPRKK.js} +1 -1
  74. package/storybook-static/assets/{DocsRenderer-CFRXHY34-Bz6q-OqD.js → DocsRenderer-CFRXHY34-Dpr5iB0o.js} +2 -2
  75. package/storybook-static/assets/{attributes.test.stories-BJBuuXgZ.js → attributes.test.stories-DSOLHHOW.js} +38 -36
  76. package/storybook-static/assets/{css.test.stories-pgbBc17d.js → css.test.stories-Cgn6ICr0.js} +1 -1
  77. package/storybook-static/assets/custom-element-D59Fok1f.js +97 -0
  78. package/storybook-static/assets/{dom-merge.test.stories-CXcYP_-J.js → dom-merge.test.stories-CBObfPWg.js} +1 -1
  79. package/storybook-static/assets/entry-preview-DHVXbf3x.js +26 -0
  80. package/storybook-static/assets/entry-preview-docs-BbcIMweR.js +2 -0
  81. package/storybook-static/assets/{external-template.test.stories-CpJ68Ghy.js → external-template.test.stories-VfKUQ8eu.js} +1 -1
  82. package/storybook-static/assets/{form.test.stories-D35lyqd8.js → form.test.stories-CnuGN7Zw.js} +1 -1
  83. package/storybook-static/assets/{handlers-B-OZtf2K.js → handlers-V_T7WjNK.js} +21 -21
  84. package/storybook-static/assets/{http-request.stories-DccXgHyF.js → http-request.stories-8NN1Coqm.js} +1 -1
  85. package/storybook-static/assets/iframe-DnhkgdtG.js +2 -0
  86. package/storybook-static/assets/index-3Sfy-t3H.js +769 -0
  87. package/storybook-static/assets/index-BcZLpTeD.js +8 -0
  88. package/storybook-static/assets/index-CIBI7sCB.js +1 -0
  89. package/storybook-static/assets/{index-BSz1w4Gl.js → index-CxRwF5Or.js} +130 -130
  90. package/storybook-static/assets/{index-lY6s0fkU.js → index-DN1RoK17.js} +1 -1
  91. package/storybook-static/assets/{index-f2MAjm2i.js → index-DjJD7gkO.js} +1 -1
  92. package/storybook-static/assets/{local-storage.test.stories-BY-PWhuk.js → local-storage.test.stories-Dk5Yqc7m.js} +1 -1
  93. package/storybook-static/assets/{location-element.test.stories-3auBYEaU.js → location-element.test.stories-56um6s5L.js} +1 -1
  94. package/storybook-static/assets/{module-url.test.stories-B7L9cL60.js → module-url.test.stories-DEponQ7l.js} +1 -1
  95. package/storybook-static/assets/{preview-BRPR-UXC.js → preview-CNKoaWES.js} +1 -1
  96. package/storybook-static/assets/preview-Czc-sw5H.js +2 -0
  97. package/storybook-static/assets/preview-DAeyCMnM.js +1 -0
  98. package/storybook-static/assets/{preview-BUQm51_C.js → preview-vbpHsp94.js} +2 -2
  99. package/storybook-static/assets/{set-url.test.stories-CuSuDLIx.js → set-url.test.stories-B4E6hIe-.js} +1 -1
  100. package/storybook-static/assets/{slice-events.test.stories-BkRKsKem.js → slice-events.test.stories-BR0F-B6I.js} +138 -13
  101. package/storybook-static/assets/{slots.test.stories-BJCUWFkE.js → slots.test.stories-CgfJIyCr.js} +1 -1
  102. package/storybook-static/assets/tiny-invariant-CopsF_GD.js +1 -0
  103. package/storybook-static/assets/{version-select.test.stories-B3ybJn_Z.js → version-select.test.stories-nmxATIwv.js} +1 -1
  104. package/storybook-static/demo/a.svg +26 -26
  105. package/storybook-static/demo/data-slices.html +37 -0
  106. package/storybook-static/demo/demo.css +0 -3
  107. package/storybook-static/iframe.html +2 -2
  108. package/storybook-static/index.html +4 -0
  109. package/storybook-static/index.json +1 -1
  110. package/storybook-static/project.json +1 -1
  111. package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js +333 -0
  112. package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js.LEGAL.txt +40 -0
  113. package/storybook-static/sb-addons/essentials-actions-3/manager-bundle.js +1 -1
  114. package/storybook-static/sb-addons/essentials-backgrounds-4/manager-bundle.js +8 -8
  115. package/storybook-static/sb-addons/essentials-controls-2/manager-bundle.js +82 -85
  116. package/storybook-static/sb-addons/essentials-measure-7/manager-bundle.js +1 -1
  117. package/storybook-static/sb-addons/essentials-outline-8/manager-bundle.js +1 -1
  118. package/storybook-static/sb-addons/essentials-viewport-5/manager-bundle.js +1 -1
  119. package/storybook-static/sb-addons/interactions-9/manager-bundle.js +66 -67
  120. package/storybook-static/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +1 -1
  121. package/storybook-static/sb-manager/globals-module-info.js +25 -3
  122. package/storybook-static/sb-manager/globals-runtime.js +29585 -43124
  123. package/storybook-static/sb-manager/runtime.js +10647 -9399
  124. package/storybook-static/sb-preview/runtime.js +3536 -5860
  125. package/test-runner-jest.config.js +15 -0
  126. package/coverage/src/custom-element/demo/coverage.svg +0 -10
  127. package/coverage/src/custom-element/demo/index.html +0 -116
  128. package/coverage/src/custom-element/demo/z.js/coverage.svg +0 -10
  129. package/coverage/src/custom-element/demo/z.js.html +0 -112
  130. package/dist/custom-element-CUsSENWc.cjs +0 -97
  131. package/dist/demo/s1.xslt +0 -60
  132. package/dist/demo/z.html +0 -33
  133. package/dist/demo/z.js +0 -9
  134. package/dist/demo/z.xml +0 -60
  135. package/dist/demo/z1.html +0 -34
  136. package/public/demo/s1.xslt +0 -60
  137. package/public/demo/z.html +0 -33
  138. package/public/demo/z.js +0 -9
  139. package/public/demo/z.xml +0 -60
  140. package/public/demo/z1.html +0 -34
  141. package/src/custom-element/demo/s1.xslt +0 -60
  142. package/src/custom-element/demo/z.html +0 -33
  143. package/src/custom-element/demo/z.js +0 -9
  144. package/src/custom-element/demo/z.xml +0 -60
  145. package/src/custom-element/demo/z1.html +0 -34
  146. package/src/stories/__screenshots__/http-request.test.ts/http-request-url-change-1.png +0 -0
  147. package/storybook-static/assets/Color-ERTF36HU-ChyYtq0t.js +0 -1
  148. package/storybook-static/assets/custom-element-BDGsYgbP.js +0 -97
  149. package/storybook-static/assets/entry-preview-C313OLrj.js +0 -26
  150. package/storybook-static/assets/entry-preview-docs-B7ORr9w5.js +0 -2
  151. package/storybook-static/assets/iframe-Ddc_axoC.js +0 -2
  152. package/storybook-static/assets/index-BdcJ-iJ7.js +0 -8
  153. package/storybook-static/assets/index-CiCdFubk.js +0 -634
  154. package/storybook-static/assets/index-tfEkrhWr.js +0 -1
  155. package/storybook-static/assets/preview-CcS4DQh8.js +0 -1
  156. package/storybook-static/assets/preview-CfH4_OzN.js +0 -2
  157. package/storybook-static/assets/tiny-invariant-BxWVcicq.js +0 -1
  158. package/storybook-static/demo/s1.xslt +0 -60
  159. package/storybook-static/demo/z.html +0 -33
  160. package/storybook-static/demo/z.js +0 -9
  161. package/storybook-static/demo/z.xml +0 -60
  162. package/storybook-static/demo/z1.html +0 -34
@@ -106,18 +106,18 @@
106
106
  <span class="cline-any cline-neutral">&nbsp;</span>
107
107
  <span class="cline-any cline-neutral">&nbsp;</span>
108
108
  <span class="cline-any cline-neutral">&nbsp;</span>
109
- <span class="cline-any cline-yes">13x</span>
109
+ <span class="cline-any cline-yes">12x</span>
110
110
  <span class="cline-any cline-neutral">&nbsp;</span>
111
111
  <span class="cline-any cline-neutral">&nbsp;</span>
112
- <span class="cline-any cline-yes">13x</span>
112
+ <span class="cline-any cline-yes">12x</span>
113
113
  <span class="cline-any cline-neutral">&nbsp;</span>
114
- <span class="cline-any cline-yes">72x</span>
115
- <span class="cline-any cline-yes">72x</span>
116
- <span class="cline-any cline-yes">13x</span>
114
+ <span class="cline-any cline-yes">71x</span>
115
+ <span class="cline-any cline-yes">71x</span>
116
+ <span class="cline-any cline-yes">12x</span>
117
117
  <span class="cline-any cline-yes">59x</span>
118
118
  <span class="cline-any cline-neutral">&nbsp;</span>
119
119
  <span class="cline-any cline-neutral">&nbsp;</span>
120
- <span class="cline-any cline-yes">13x</span>
120
+ <span class="cline-any cline-yes">12x</span>
121
121
  <span class="cline-any cline-neutral">&nbsp;</span>
122
122
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type {StoryObj, Meta} from '@storybook/web-components';
123
123
  import {it} from 'vitest';
@@ -154,7 +154,7 @@ export async function testStoryBook&lt;TProps&gt;( mod: Record&lt;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 2024-11-07T03:27:34.733Z
157
+ at 2024-11-12T04:15:02.299Z
158
158
  </div>
159
159
  <script src="../../prettify.js"></script>
160
160
  <script>
@@ -382,7 +382,7 @@ if( 'test' === import.meta.env.MODE &amp;&amp;
382
382
  <div class='footer quiet pad2 space-top1 center small'>
383
383
  Code coverage generated by
384
384
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
385
- at 2024-11-07T03:27:34.733Z
385
+ at 2024-11-12T04:15:02.299Z
386
386
  </div>
387
387
  <script src="../../prettify.js"></script>
388
388
  <script>
@@ -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 2024-11-07T03:27:34.733Z
82
+ at 2024-11-12T04:15:02.299Z
83
83
  </div>
84
84
  <script src="../prettify.js"></script>
85
85
  <script>
@@ -0,0 +1,97 @@
1
+ "use strict";const Y="http://www.w3.org/1999/XSL/Transform",H="http://www.w3.org/1999/xhtml",Ne="http://exslt.org/common",f=(e,l)=>e.getAttribute?.(l),te=e=>e.nodeType===3,Ae=e=>typeof e=="string",Te=e=>e&&typeof e.nodeType=="number",$=(e,l)=>(e.ownerDocument||e).createTextNode(l),ne=e=>{for(;e.firstChild;)e.firstChild.remove();return e},V=e=>(e.getAttributeNames().map(l=>e.removeAttribute(l)),ne(e)),ae=e=>(e?.setAttribute("xmlns:xsl",Y),e),ie=e=>(e?.setAttribute("xmlns:xhtml",H),ae(e)),oe=e=>/^[_a-zA-Z][-_:a-zA-Z0-9]*$/.test(e),w=(e,l="",t=document)=>{const s=i=>(r=>(l&&r.append($(t.ownerDocument||t,l)),r))((t.ownerDocument||t).createElement(i));if(oe(e))return s(e);const n=s("dce-object");return n.setAttribute("dce-object-name",e),n},se=(e,l)=>{const t=e.ownerDocument.createElementNS(e.namespaceURI,l);for(let s of e.attributes)t.setAttribute(s.name,s.value);for(;e.firstChild;)t.append(e.firstChild);return t};function j(e){return new DOMParser().parseFromString(e,"application/xml")}function P(e){return new XMLSerializer().serializeToString(e)}function k(e,l,t,s){const n=x=>e.ownerDocument.createElement(x),r=((x,p,N)=>(p.append(N=n(x)),N))(l,e);return[...t].forEach(x=>r.append(s(x))),r}function we(e){return e.slot||(e.setAttribute||(e=w("span",e.textContent.replaceAll(`
2
+ `,""))),e.setAttribute("slot","")),e}function le(e,l){e.getAttributeNames().forEach(t=>l.includes(t)||e.removeAttribute(t))}const G=e=>[...e].filter(l=>!(l.nodeType===3&&l.data.trim()===""));function z(e,l,t){const s=typeof e;if(s==="string")return w(l,e,t);if(s==="number")return w(l,""+e,t);if(e instanceof Array){const i=w("array","",t);return e.map(r=>i.append(z(r,l,t))),i}if(e instanceof FormData){const i=w("form-data","",t);for(const r of e)i.append(z(r[1],r[0],t));return i}const n=w(l,"",t);for(let i in e)Te(e[i])||typeof e[i]=="function"||e[i]instanceof Window||(typeof e[i]!="object"&&oe(i)?n.setAttribute(i,e[i]):n.append(z(e[i],i,t)));return n}function Z(e){if(L(e,"*",l=>[...l.childNodes].filter(t=>t.nodeType===3&&t.parentNode.localName!=="style"&&t.data).forEach(t=>{const s=t.data,n=s.matchAll(/{([^}]*)}/g);if(n){let i=0,r=p=>$(t,p),x=[];if([...n].forEach(p=>{p.index>i&&x.push(r(p.input.substring(i,p.index)));const N=e.querySelector("value-of").cloneNode();N.setAttribute("select",p[1]),x.push(N),i=p.index+p[0].length}),i<s.length&&x.push(r(s.substring(i,s.length))),x.length){for(let p of x)l.insertBefore(p,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 re(e,l="xsl:stylesheet"){if(e.tagName===l||e.documentElement?.tagName===l)return Z(e);const t=j(`<xsl:stylesheet version="1.0" xmlns:xsl="${Y}" xmlns:xhtml="${H}" xmlns:exsl="${Ne}" exclude-result-prefixes="exsl" >
3
+ <xsl:output method="xml"/>
4
+ <xsl:template match="/"><dce-root xmlns="${H}"><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="*|@*|text()"/>
50
+ </xsl:element>
51
+ <xsl:for-each select="*">
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>`),s=new XSLTProcessor,n=(a=>{L(a,"custom-element",y=>{y.firstElementChild.localName==="template"&&([...y.firstElementChild.content.childNodes].forEach(b=>y.append(b)),y.firstElementChild.remove())}),L(a,"script",y=>y.remove());const c=a.content??a.firstElementChild?.content??a.body??a;ye.forEach(y=>L(c,y,b=>be(b,c)));const A=a.firstElementChild?.content||a.content,E=y=>{const b=j("<xhtml/>"),I=b.importNode(y,!0);return b.replaceChild(I,b.documentElement),ie(I)};if(A){const y=w("div");return[...A.childNodes].map(b=>y.append(b.cloneNode(!0))),E(y)}return E(a.documentElement||a.body||a)})(e),i=j(`<xsl:stylesheet version="1.0"
59
+ xmlns:xsl="${Y}"
60
+ xmlns:xhtml="${H}"
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>`);s.importStylesheet(t);const r=s.transformToFragment(n,document),x=(a,c)=>a.querySelector(c),p=x(i,'template[mode="payload"]');if(!r)return console.error("transformation error",{xml:n.outerHTML,xsl:P(t)});if(r.firstElementChild.localName!=="dce-root"){const a=r.ownerDocument.createElement("dce-root");[...r.childNodes].forEach(c=>a.append(c)),r.append(a)}const N=[];[...r.querySelectorAll("dce-root>attribute")].forEach(a=>{le(a,"namespace,name,select");const c=se(a,"xsl:param"),A=f(a,"name");p.append(c),le(c,"select,name");let E=f(c,"select")?.split("??");E||(E=["//"+A,`'${c.textContent}'`],V(c),c.setAttribute("name",A));let y;if(E?.length>1){c.removeAttribute("select");const b=x(i,'template[match="ignore"]>choose').cloneNode(!0);V(b.firstElementChild).append($(b,"{"+E[0]+"}")),V(b.lastElementChild).append($(b,"{"+E[1]+"}")),b.firstElementChild.setAttribute("test",E[0]),c.append(b),y=b.cloneNode(!0)}else y=se(a,"xsl:value-of");y.removeAttribute("name"),a.append(y),a.removeAttribute("select"),N.push(c)}),[...r.querySelectorAll("[value]")].filter(a=>a.getAttribute("value").match(/\{(.*)\?\?(.*)\}/g)).forEach(a=>{const c=f(a,"value");c&&a.setAttribute("value",xe(c))});for(const a of r.childNodes)p.append(i.importNode(a,!0));[...p.getElementsByTagName("xsl:template")].forEach(a=>p.ownerDocument.documentElement.append(a));const C=x(i,'call-template[name="slot"]'),u=a=>{const c=C.cloneNode(!0),A=f(a,"name");A&&c.firstElementChild.setAttribute("select",`'${A}'`);for(let E of a.childNodes)c.lastElementChild.append(E);return c};L(p,"slot",a=>a.parentNode.replaceChild(u(a),a));const m=Z(i);return m.params=N,m}async function ce(e){return await new Promise((t,s)=>{const n=new XMLHttpRequest;n.open("GET",e),n.responseType="document",n.onload=()=>{n.readyState===n.DONE&&n.status===200?t(n.responseXML?.body||n.responseXML||w("div",n.responseText)):s(`${n.statusText} - ${e}`)},n.addEventListener("error",i=>s(i)),n.send()})}function me(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)||!me(e[s],l[s]))return t;return!0}const ue=e=>e.split("|").map(l=>l.trim()).filter(l=>l),de=(e,l)=>ue(l).map(t=>{let s=e.ownerDocument,n=i=>(e.append(i),i);if(t.includes("/")){const i=[],r=s.evaluate(t,e);for(let x;x=r.iterateNext();)i.push(x);return i}return[...e.childNodes].find(i=>i.localName===t)||n(w(t,"",s))}).flat();function J(e,l,t,s){if(!t.sliceProcessed)return t.sliceProcessed=1,de(e,l??"").map(n=>{const i=e.ownerDocument,r=t.sliceEventSource,x=t.sliceElement,p=()=>[...n.childNodes].filter(d=>d.nodeType===3||d.localName==="value"||d.localName==="form-data").map(d=>d.remove());r.getAttributeNames().map(d=>n.setAttribute(d,f(r,d))),[...n.childNodes].filter(d=>d.localName==="event").map(d=>d.remove()),"validationMessage"in r&&n.setAttribute("validation-message",r.validationMessage),t.type==="init"&&p(),n.append(z(t,"event",i));const N=(r.type==="checkbox"||r.type==="radio")&&!r.checked;if(x.hasAttribute("slice-value")){r.value===void 0?n.removeAttribute("value"):n.setAttribute("value",r.value);const d=N?"":M(f(x,"slice-value"),n);p(),n.append($(i,d))}else{if("elements"in r)return p(),n.append(z(new FormData(r),"value",n.ownerDocument)),n;const d=N?"":r.value??f(r,"value");p(),d==null?[...n.childNodes].filter(C=>C.localName!=="event").map(C=>C.remove()):Ae(d)?n.append($(i,d)):n.append(z(d,"value",n.ownerDocument))}return n})}function L(e,l,t){e.querySelectorAll&&[...e.querySelectorAll(l)].forEach(t)}const Se=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(i){console.error(i.message)}const n=await ce(e);if(l.setAttributeNS("xml","base",e),s){const i=n.querySelectorAll("#"+s);return i.length?[...i]:(console.error("template not found",e+"#"+s),[l])}return[n]}catch{return[l]}};function pe(e,l){for(let t of e.attributes)t.namespaceURI?l.setAttributeNS(t.namespaceURI,t.name,t.value):l.setAttribute(t.name,t.value),t.name==="value"&&(l.value=t.value)}function K(e,l=0){const t={};for(const s of e.childNodes){const n=f(s,"data-dce-id")||s.dceId||0;if(!t[n])n?t[n]=1:(t[n]=s.dceId=++l,s.setAttribute&&s.setAttribute("data-dce-id",s.dceId));else{const i=s.dceId=n+"-"+t[n]++;s.setAttribute&&s.setAttribute("data-dce-id",i)}s.childNodes.length&&K(s)}}function fe(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 Q(e,l){if(e.firstElementChild?.localName==="dce-root"&&l[0].localName!=="dce-root")return;if(!l.length)return e.firstElementChild?.localName!=="dce-root"&&ne(e);const t={};for(let s of e.childNodes)t[s.dceId],te(s)?(s.data.trim(),t[s.dceId||0]=s):t[f(s,"data-dce-id")||0]=s;for(let s of[...l]){const n=f(s,"data-dce-id")||s.dceId,i=t[n];i?(te(s)?i.nodeValue!==s.nodeValue&&(i.nodeValue=s.nodeValue):(pe(s,i),(i.childNodes.length||s.childNodes.length)&&Q(i,s.childNodes)),delete t[n]):fe(e,s,n)}for(let s of Object.values(t))s.localName!=="dce-root"&&s.remove()}function he(e,l){return e.hasAttribute(l)||e.setAttribute(l,crypto.randomUUID()),e.getAttribute(l)}const xe=e=>[...e?.matchAll(/([^{}]*)(\{)([^}]+)}([^{}]*)/g)].map(t=>`${t[1]}{${O(t[3])}}${t[4]}`).join(""),O=e=>{if(!e.trim())return e;const l=e.split("??"),t=l.shift(),s=O(l.join("??"));return l.length?`concat( ${t} , substring( ${s} , (1+string-length( ${s} )) * string-length( ${t} ) ) )`:e},M=(e,l)=>{const t=e.split("??");if(t.length>1)return M(t[0],l)||M(t[1],l);e=O(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 n="";for(let i;i=s.iterateNext();)n+=i.textContent;return n},ye="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(","),be=(e,l)=>{const t=w("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,n=[...s.childNodes];n.forEach((i,r)=>{i===e&&(n[r]=t)}),s.replaceChildren(...n)}};class ge extends HTMLElement{static observedAttributes=["src","tag","hidden"];async connectedCallback(){this.firstElementChild&&this.firstElementChild.localName!=="template"&&console.warn(`custom-element used without template wrapping content
93
+ `,this.outerHTML);const l=await Se(f(this,"src"),this),t=f(this,"tag"),s=t||"dce-"+crypto.randomUUID();for(const u of l)L(u.templateNode||u.content||u,"style",m=>{const a=m.closest("slot"),c=a?`slot[name="${a.name}"]`:"";m.innerHTML=`${s} ${c}{${m.innerHTML}}`,this.append(m)});const n=l.map(u=>re(u)),i=n.map((u,m)=>{m=new XSLTProcessor;try{m.importStylesheet(u)}catch(a){console.error(a,P(u))}return m});Object.defineProperty(this,"xsltString",{get:()=>n.map(u=>P(u)).join(`
94
+ `)});const r=this,x=[...this.templateNode.querySelectorAll("[slice]")],p=x.map(u=>f(u,"slice")).filter(u=>!u.includes("/")).filter((u,m,a)=>a.indexOf(u)===m).map(ue).flat(),N=n.reduce((u,m)=>(m.params&&u.push(...m.params),u),[]);class d extends HTMLElement{static get observedAttributes(){return N.map(m=>f(m,"name"))}#e=0;connectedCallback(){let m=G(this.childNodes);if(this.firstElementChild?.tagName==="TEMPLATE"){this.firstElementChild!==this.lastElementChild&&console.error("payload should have TEMPLATE as only child",this.outerHTML);const h=this.firstElementChild;h.remove(),m=G(h.content.childNodes);for(const g of m)if(g.localName==="style"){const o=he(this,"data-dce-style");g.innerHTML=`${s}[data-dce-style="${o}"]{${g.innerHTML}}`,h.insertAdjacentElement("beforebegin",g)}else g.nodeType===1?h.insertAdjacentElement("beforebegin",g):g.nodeType===3&&h.insertAdjacentText("beforebegin",g.data)}const a=j("<datadom/>").documentElement,c=(h,g="")=>(o=>(g&&o.append($(a,g)),o))(a.ownerDocument.createElement(h)),A=k(a,"payload",m,we);ae(A),ie(A),this.innerHTML="";const E=k(a,"attributes",this.attributes,h=>c(h.nodeName,h.value));k(a,"dataset",Object.keys(this.dataset),h=>c(h,this.dataset[h]));const y=k(a,"slice",p,h=>c(h,"")),b=h=>M(h,y);this.xml=a;const I=[],ee=()=>{const h={};for(let g;g=I.pop();){const o=f(g.sliceElement,"slice");h[o]||(J(y,o,g),h[o]=g)}Object.keys(h).length!==0&&U()};let _;this.onSlice=h=>{I.push(h),_||(_=setTimeout(()=>{ee(),_=0},1))};const U=this.transform=()=>{if(this.#e)debugger;this.#e=1,i.map((o,v)=>{const S=o.transformToFragment(a.ownerDocument,document);return S||console.error(`XSLT transformation error. xsl:
95
+ `,P(n[v]),`
96
+ xml:
97
+ `,P(a)),S}).map(o=>{o&&(K(o),Q(this,o.childNodes))}),d.observedAttributes.map(o=>{let v=f(this.firstElementChild,o);v!==f(this,o)&&(this.setAttribute(o,v),this.#t(o,v))});function g(o){let v=o;if(o.localName==="slice"){const S=f(o,"for");if(S||(v=o.parentElement),S==="^")do v=v.previousElementSibling;while(v.localName==="slice");else v=this.querySelector(S);if(!v)return console.warn(`can not find selector in "slice for=${S}" `,o.outerHTML);f(o,"slice")||o.setAttribute("slice",f(o,"name"))}return v}L(this,"[slice],[slice-event]",o=>{let v=f(o,"slice-event");const S=o.hasAttribute("slice-value")||o.hasAttribute("value")||o.value,X=g(o);o.dceInitialized||(o.dceInitialized=1,X.hasAttribute("custom-validity")&&(v+=" change submit"),[...new Set((v||"change").split(" "))].forEach(ve=>X.addEventListener(ve,T=>{T.sliceElement=o,T.sliceEventSource=T.currentTarget||T.target,T.sliceProcessed=0;const Ee=J(y,f(T.sliceElement,"slice"),T);L(this,"[custom-validity]",R=>{if(!R.setCustomValidity)return;const W=f(R,"custom-validity");try{const q=W&&M(W,E);R.setCustomValidity(q===!0?"":q===!1?"invalid":q)}catch(q){console.error(q,"xPath",W)}});const B=f(X,"custom-validity"),D=B&&M(B,E),F=D===!0?"":D;if(B){if(o.setCustomValidity?o.setCustomValidity(F):o.validationMessage=F,Ee.map(R=>R.setAttribute("validation-message",F)),T.type==="submit")return D===!0?void 0:(setTimeout(U,1),!!D===D?(D||T.preventDefault(),D):D?(T.preventDefault(),!1):void 0);setTimeout(U,1)}this.onSlice(T)})),(!v||v.includes("init"))&&(S?this.onSlice({type:"init",target:X,sliceElement:o,sliceEventSource:X}):o.value=b(f(o,"slice"))))}),this.#e=0};U(),ee()}#t(m,a){m==="value"&&(this.value=a);let c=this.xml.querySelector(`attributes>${m}`);c?V(c).append($(c,a)):(c=w(m,a,this.xml),this.xml.querySelector("attributes").append(c)),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:{[m]:a}}))}attributeChangedCallback(m,a,c){!this.xml||this.#e||(this.#t(m,c),this.transform())}get dce(){return r}}const C=u=>{window.customElements.get(u)!==d&&window.customElements.define(u,d)};if(t)C(t);else{const u=s;this.setAttribute("tag",u),C(u);const m=document.createElement(u);this.getAttributeNames().forEach(a=>m.setAttribute(a,this.getAttribute(a))),m.append(...[...this.childNodes].filter(a=>a.localName!=="style")),this.append(m)}}get templateNode(){return this.firstElementChild?.tagName==="TEMPLATE"?this.firstElementChild.content:this}get dce(){return this}get xslt(){return j(this.xsltString)}}window.customElements.define("custom-element",ge);exports.CustomElement=ge;exports.appendByDceId=fe;exports.assureSlices=de;exports.assureUID=he;exports.assureUnique=K;exports.createXsltFromDom=re;exports.deepEqual=me;exports.evalCurly=xe;exports.event2slice=J;exports.merge=Q;exports.mergeAttr=pe;exports.obj2node=z;exports.sanitizeBlankText=G;exports.tagUid=Z;exports.toXsl=be;exports.xPath=M;exports.xPathDefaults=O;exports.xhrTemplate=ce;exports.xml2dom=j;exports.xmlString=P;exports.xslTags=ye;