@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.
Files changed (219) hide show
  1. package/.storybook/main.ts +3 -7
  2. package/.storybook/preview.ts +4 -6
  3. package/README.md +4 -4
  4. package/coverage/coverage-final.json +7 -18
  5. package/coverage/index.html +30 -30
  6. package/coverage/src/custom-element/coverage.svg +1 -1
  7. package/coverage/src/custom-element/custom-element.js/coverage.svg +1 -1
  8. package/coverage/src/custom-element/custom-element.js.html +579 -429
  9. package/coverage/src/custom-element/http-request.js/coverage.svg +1 -1
  10. package/coverage/src/custom-element/http-request.js.html +13 -13
  11. package/coverage/src/custom-element/index.html +29 -29
  12. package/coverage/src/custom-element/local-storage.js.html +1 -1
  13. package/coverage/src/custom-element/location-element.js.html +31 -31
  14. package/coverage/src/custom-element/module-url.js/coverage.svg +1 -1
  15. package/coverage/src/custom-element/module-url.js.html +20 -20
  16. package/coverage/src/index.html +1 -1
  17. package/coverage/src/mocks/handlers.ts.html +1 -1
  18. package/coverage/src/mocks/index.html +1 -1
  19. package/coverage/src/stories/coverage.svg +1 -1
  20. package/coverage/src/stories/{local-storage.test.stories.ts → frame.canvas.ts}/coverage.svg +1 -1
  21. package/coverage/src/stories/frame.canvas.ts.html +175 -0
  22. package/coverage/src/stories/http-request.stories.ts.html +1 -1
  23. package/coverage/src/stories/index.html +14 -179
  24. package/coverage/src/stories/testStoryBook.ts.html +8 -8
  25. package/coverage/src/sum.ts.html +1 -1
  26. package/dist/custom-element-6slVaFEs.cjs +97 -0
  27. package/dist/custom-element-WnOqmEOe.js +609 -0
  28. package/dist/custom-element-bundle.cjs +1 -1
  29. package/dist/custom-element-bundle.js +2 -2
  30. package/dist/demo/attributes.html +153 -0
  31. package/dist/demo/external-templates-sb-6.html +42 -0
  32. package/dist/demo/external-templates-sb-7.html +42 -0
  33. package/dist/demo/html-template.html +1 -1
  34. package/dist/demo/module-url-sb-2.html +46 -0
  35. package/dist/demo/module-url-sb-4.html +48 -0
  36. package/dist/demo/module-url-sb-5.html +53 -0
  37. package/dist/demo/s.xml +71 -8
  38. package/dist/demo/s.xslt +55 -31
  39. package/dist/demo/ss.html +13 -4
  40. package/dist/mockServiceWorker.js +31 -8
  41. package/package.json +25 -26
  42. package/public/demo/attributes.html +153 -0
  43. package/public/demo/external-templates-sb-6.html +42 -0
  44. package/public/demo/external-templates-sb-7.html +42 -0
  45. package/public/demo/html-template.html +1 -1
  46. package/public/demo/module-url-sb-2.html +46 -0
  47. package/public/demo/module-url-sb-4.html +48 -0
  48. package/public/demo/module-url-sb-5.html +53 -0
  49. package/public/demo/s.xml +71 -8
  50. package/public/demo/s.xslt +55 -31
  51. package/public/demo/ss.html +13 -4
  52. package/public/mockServiceWorker.js +31 -8
  53. package/src/custom-element/custom-element.d.ts +4 -0
  54. package/src/custom-element/custom-element.js +91 -41
  55. package/src/custom-element/demo/attributes.html +153 -0
  56. package/src/custom-element/demo/html-template.html +1 -1
  57. package/src/custom-element/demo/s.xml +71 -8
  58. package/src/custom-element/demo/s.xslt +55 -31
  59. package/src/custom-element/demo/ss.html +13 -4
  60. package/src/custom-element/ide/web-types-dce.json +1 -1
  61. package/src/custom-element/ide/web-types-xsl.json +1 -1
  62. package/src/custom-element/index.html +1 -1
  63. package/src/material/components/badge.html +240 -0
  64. package/src/material/components/dropdown.html +7 -12
  65. package/src/material/components/icon-link.html +1 -0
  66. package/src/material/components/icon.html +253 -0
  67. package/src/material/components/input.html +290 -82
  68. package/src/material/components/menu.html +7 -5
  69. package/src/material/components.html +48 -11
  70. package/src/material/theme/semantic.css +20 -1
  71. package/src/mocks/versions.mock.ts +1 -1
  72. package/src/stories/__screenshots__/attributes.test.stories.ts +1 -0
  73. package/src/stories/__screenshots__/external-template.test.stories.ts +1 -0
  74. package/src/stories/__screenshots__/module-url.test.stories.ts +1 -0
  75. package/src/stories/__screenshots__/stories.test.ts/attributes-Attributes-definition-1.png +0 -0
  76. package/src/stories/__screenshots__/stories.test.ts/attributes-Attributes-runtime-change-1.png +0 -0
  77. package/src/stories/__screenshots__/stories.test.ts/attributes-Instance-Attributes-1.png +0 -0
  78. package/src/stories/__screenshots__/stories.test.ts/attributes-Instance-Attributes-2.png +0 -0
  79. package/src/stories/__screenshots__/stories.test.ts/attributes-cloneAs-el-newTag--1.png +0 -0
  80. package/src/stories/__screenshots__/stories.test.ts/attributes-mergeAttr--from--to---1.png +0 -0
  81. package/src/stories/__screenshots__/stories.test.ts/attributes-mergeAttr--from--to---2.png +0 -0
  82. package/src/stories/__screenshots__/stories.test.ts/attributes-mergeAttr--from--to---3.png +0 -0
  83. package/src/stories/__screenshots__/stories.test.ts/attributes-mix-to-from--1.png +0 -0
  84. package/src/stories/__screenshots__/stories.test.ts/http-request-Attributes-definition-1.png +0 -0
  85. package/src/stories/__screenshots__/stories.test.ts/http-request-Attributes-runtime-change-1.png +0 -0
  86. package/src/stories/__screenshots__/stories.test.ts/http-request-Instance-Attributes-1.png +0 -0
  87. package/src/stories/__screenshots__/stories.test.ts/http-request-Instance-Attributes-2.png +0 -0
  88. package/src/stories/__screenshots__/stories.test.ts/http-request-cloneAs-el-newTag--1.png +0 -0
  89. package/src/stories/__screenshots__/stories.test.ts/http-request-http-request-headers-and-response-status-and-headers-1.png +0 -0
  90. package/src/stories/__screenshots__/stories.test.ts/http-request-http-request-with-delayed--5-seconds-response-1.png +0 -0
  91. package/src/stories/__screenshots__/stories.test.ts/http-request-http-request-with-error-1.png +0 -0
  92. package/src/stories/__screenshots__/stories.test.ts/http-request-mergeAttr--from--to---1.png +0 -0
  93. package/src/stories/__screenshots__/stories.test.ts/http-request-mergeAttr--from--to---2.png +0 -0
  94. package/src/stories/__screenshots__/stories.test.ts/http-request-mergeAttr--from--to---3.png +0 -0
  95. package/src/stories/__screenshots__/stories.test.ts/http-request-mix-to-from--1.png +0 -0
  96. package/src/stories/__screenshots__/stories.test.ts/http-request-url-and-slice-1.png +0 -0
  97. package/src/stories/__screenshots__/stories.test.ts/http-request-url-change-1.png +0 -0
  98. package/src/stories/attributes.test.stories.ts +83 -17
  99. package/src/stories/external-template.test.stories.ts +16 -14
  100. package/src/stories/frame.canvas.ts +31 -0
  101. package/src/stories/module-url.test.stories.ts +29 -61
  102. package/storybook-static/assets/Color-F6OSRLHC-Cbp293x2.js +1 -0
  103. package/storybook-static/assets/Configure-BrFr4SLE.js +165 -0
  104. package/storybook-static/assets/DocsRenderer-CFRXHY34-DhHzJiIO.js +2 -0
  105. package/storybook-static/assets/attributes.test.stories-CzWkKw0e.js +1 -0
  106. package/storybook-static/assets/{attributes.test.stories-D1X6EBrd.js → attributes.test.stories-Gg9LQTEK.js} +109 -38
  107. package/storybook-static/assets/{css.test.stories-Cp_g2hE1.js → css.test.stories-B_3ltOrx.js} +1 -1
  108. package/storybook-static/assets/custom-element-CPnvJnn8.js +97 -0
  109. package/storybook-static/assets/{dom-merge.test.stories-hbpdCka0.js → dom-merge.test.stories-nQxcgLoM.js} +1 -1
  110. package/storybook-static/assets/entry-preview-docs-Dwczwtsc.js +2 -0
  111. package/storybook-static/assets/external-template.test.stories-BivZqBTp.js +1 -0
  112. package/storybook-static/assets/{external-template.test.stories-BK89h6sk.js → external-template.test.stories-DZ-rjnfd.js} +38 -40
  113. package/storybook-static/assets/{form.test.stories-BfoLe_rw.js → form.test.stories-DQhPYtMj.js} +1 -1
  114. package/storybook-static/assets/frame.canvas-ClTqYyMN.js +1 -0
  115. package/storybook-static/assets/{handlers-yVPwH_Nz.js → handlers-CLkps6Nz.js} +17 -14
  116. package/storybook-static/assets/{http-request.stories-CBFJS2Ws.js → http-request.stories-jo0f73nw.js} +1 -1
  117. package/storybook-static/assets/iframe-CZwRpnn9.js +199 -0
  118. package/storybook-static/assets/index-B68YUdzy.js +621 -0
  119. package/storybook-static/assets/index-BwkS7JH_.js +8 -0
  120. package/storybook-static/assets/index-CJQtnF9V.js +1 -0
  121. package/storybook-static/assets/index-Dr4PwNfd.js +240 -0
  122. package/storybook-static/assets/{local-storage.test.stories-C0Yzy6Am.js → local-storage.test.stories-uA5EKRPf.js} +1 -1
  123. package/storybook-static/assets/{location-element.test.stories-DNFrEu5A.js → location-element.test.stories-Cu-6Elcg.js} +1 -1
  124. package/storybook-static/assets/module-url.test.stories-CD_wusXQ.js +142 -0
  125. package/storybook-static/assets/module-url.test.stories-CTjUAk3J.js +1 -0
  126. package/storybook-static/assets/preview-1xJJ3sKE.js +1 -0
  127. package/storybook-static/assets/preview-BFlNN3Wj.js +1 -0
  128. package/storybook-static/assets/preview-CTOeX_lO.js +1 -0
  129. package/storybook-static/assets/preview-Cm4PPhHS.js +50 -0
  130. package/storybook-static/assets/preview-CuCH40jj.js +2 -0
  131. package/storybook-static/assets/preview-DfTudP20.js +1 -0
  132. package/storybook-static/assets/{set-url.test.stories-BBfLxv2u.js → set-url.test.stories-CY7B9BVZ.js} +1 -1
  133. package/storybook-static/assets/{slice-events.test.stories-HcXF8XQI.js → slice-events.test.stories-BVnPXm6e.js} +1 -1
  134. package/storybook-static/assets/{slots.test.stories-i6mnIFM2.js → slots.test.stories-Dxsa9KdA.js} +1 -1
  135. package/storybook-static/assets/{version-select.test.stories-BsUFH6Va.js → version-select.test.stories-Buga1PAa.js} +1 -1
  136. package/storybook-static/demo/attributes.html +153 -0
  137. package/storybook-static/demo/external-templates-sb-6.html +42 -0
  138. package/storybook-static/demo/external-templates-sb-7.html +42 -0
  139. package/storybook-static/demo/html-template.html +1 -1
  140. package/storybook-static/demo/module-url-sb-2.html +46 -0
  141. package/storybook-static/demo/module-url-sb-4.html +48 -0
  142. package/storybook-static/demo/module-url-sb-5.html +53 -0
  143. package/storybook-static/demo/s.xml +71 -8
  144. package/storybook-static/demo/s.xslt +55 -31
  145. package/storybook-static/demo/ss.html +13 -4
  146. package/storybook-static/iframe.html +1 -1
  147. package/storybook-static/index.html +6 -10
  148. package/storybook-static/index.json +1 -1
  149. package/storybook-static/mockServiceWorker.js +31 -8
  150. package/storybook-static/project.json +1 -1
  151. package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js +3 -0
  152. package/storybook-static/sb-addons/essentials-backgrounds-4/manager-bundle.js +8 -8
  153. package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js +391 -0
  154. package/storybook-static/sb-addons/essentials-docs-3/manager-bundle.js +230 -0
  155. package/storybook-static/sb-addons/essentials-measure-7/manager-bundle.js +1 -1
  156. package/storybook-static/sb-addons/essentials-outline-8/manager-bundle.js +1 -1
  157. package/storybook-static/sb-addons/essentials-toolbars-6/manager-bundle.js +1 -1
  158. package/storybook-static/sb-addons/essentials-viewport-5/manager-bundle.js +1 -1
  159. package/storybook-static/sb-addons/interactions-9/manager-bundle.js +58 -58
  160. package/storybook-static/sb-manager/globals-module-info.js +9 -0
  161. package/storybook-static/sb-manager/globals-runtime.js +10719 -10473
  162. package/storybook-static/sb-manager/runtime.js +4944 -6321
  163. package/coverage/src/stories/attributes.test.stories.ts/coverage.svg +0 -10
  164. package/coverage/src/stories/attributes.test.stories.ts.html +0 -814
  165. package/coverage/src/stories/css.test.stories.ts/coverage.svg +0 -10
  166. package/coverage/src/stories/css.test.stories.ts.html +0 -460
  167. package/coverage/src/stories/dom-merge.test.stories.ts/coverage.svg +0 -10
  168. package/coverage/src/stories/dom-merge.test.stories.ts.html +0 -706
  169. package/coverage/src/stories/external-template.test.stories.ts/coverage.svg +0 -10
  170. package/coverage/src/stories/external-template.test.stories.ts.html +0 -865
  171. package/coverage/src/stories/form.test.stories.ts/coverage.svg +0 -10
  172. package/coverage/src/stories/form.test.stories.ts.html +0 -661
  173. package/coverage/src/stories/local-storage.test.stories.ts.html +0 -1315
  174. package/coverage/src/stories/location-element.test.stories.ts/coverage.svg +0 -10
  175. package/coverage/src/stories/location-element.test.stories.ts.html +0 -523
  176. package/coverage/src/stories/module-url.test.stories.ts/coverage.svg +0 -10
  177. package/coverage/src/stories/module-url.test.stories.ts.html +0 -640
  178. package/coverage/src/stories/set-url.test.stories.ts/coverage.svg +0 -10
  179. package/coverage/src/stories/set-url.test.stories.ts.html +0 -433
  180. package/coverage/src/stories/slice-events.test.stories.ts/coverage.svg +0 -10
  181. package/coverage/src/stories/slice-events.test.stories.ts.html +0 -952
  182. package/coverage/src/stories/slots.test.stories.ts/coverage.svg +0 -10
  183. package/coverage/src/stories/slots.test.stories.ts.html +0 -742
  184. package/coverage/src/stories/version-select.test.stories.ts/coverage.svg +0 -10
  185. package/coverage/src/stories/version-select.test.stories.ts.html +0 -397
  186. package/dist/custom-element-D2wf_rqP.js +0 -576
  187. package/dist/custom-element-Dtzhbjkc.cjs +0 -97
  188. package/storybook-static/assets/Color-F6OSRLHC-BU3iy8jH.js +0 -1
  189. package/storybook-static/assets/Configure-DN6ifayP.js +0 -165
  190. package/storybook-static/assets/DocsRenderer-CFRXHY34-BaVEufDj.js +0 -2
  191. package/storybook-static/assets/custom-element-uuAtIYWS.js +0 -97
  192. package/storybook-static/assets/entry-preview-docs-BbcIMweR.js +0 -2
  193. package/storybook-static/assets/iframe-CJEL_4Nu.js +0 -2
  194. package/storybook-static/assets/index-BcZLpTeD.js +0 -8
  195. package/storybook-static/assets/index-CxRwF5Or.js +0 -234
  196. package/storybook-static/assets/index-D-8MO0q_.js +0 -1
  197. package/storybook-static/assets/index-D5fBh-7N.js +0 -1
  198. package/storybook-static/assets/index-DM-KBPdl.js +0 -1
  199. package/storybook-static/assets/index-RSFf30w1.js +0 -1
  200. package/storybook-static/assets/index-SnjB5uV8.js +0 -769
  201. package/storybook-static/assets/module-url.test.stories-CXibF5Ta.js +0 -208
  202. package/storybook-static/assets/preview-BhhEZcNS.js +0 -1
  203. package/storybook-static/assets/preview-Bnd0XhaF.js +0 -52
  204. package/storybook-static/assets/preview-CNKoaWES.js +0 -1
  205. package/storybook-static/assets/preview-DAeyCMnM.js +0 -1
  206. package/storybook-static/assets/preview-DHPc-V4N.js +0 -1
  207. package/storybook-static/assets/preview-DJMlNTk8.js +0 -2
  208. package/storybook-static/assets/preview-DYzi3Z2p.js +0 -1
  209. package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js +0 -333
  210. package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js.LEGAL.txt +0 -40
  211. package/storybook-static/sb-addons/essentials-actions-3/manager-bundle.js +0 -3
  212. package/storybook-static/sb-addons/essentials-controls-2/manager-bundle.js +0 -391
  213. package/storybook-static/sb-addons/links-1/manager-bundle.js +0 -3
  214. package/storybook-static/sb-preview/globals.js +0 -33
  215. package/storybook-static/sb-preview/runtime.js +0 -7174
  216. package/test-runner-jest.config.js +0 -15
  217. /package/storybook-static/sb-addons/{essentials-actions-3 → essentials-actions-2}/manager-bundle.js.LEGAL.txt +0 -0
  218. /package/storybook-static/sb-addons/{essentials-controls-2 → essentials-controls-1}/manager-bundle.js.LEGAL.txt +0 -0
  219. /package/storybook-static/sb-addons/{links-1 → essentials-docs-3}/manager-bundle.js.LEGAL.txt +0 -0
@@ -1,12 +1,75 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <datadom>
3
- <payload xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml"/>
4
- <attributes>
5
- <id>dce1</id>
6
- <p1>default_P1</p1>
7
- <p2>always_p2</p2>
8
- <p3></p3>
3
+ <payload xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml">
4
+ <div xmlns="http://www.w3.org/1999/xhtml" slot="leading" data-dce-id="4">
5
+ <cem-icon image="history_edu" class="input-focused" data-dce-id="5">
6
+ <dce-root xmlns="http://www.w3.org/1999/xhtml" xmlns:xhtml="http://www.w3.org/1999/xhtml"
7
+ xmlns:dce="urn:schemas-epa-wg:dce" data-dce-id="1">
8
+ <span xmlns="" class="icon material-icons" data-dce-id="5">history_edu</span>
9
+ </dce-root>
10
+ </cem-icon>
11
+ <cem-icon image="edit" class="input-unfocused" data-dce-id="6">
12
+ <dce-root xmlns="http://www.w3.org/1999/xhtml" xmlns:xhtml="http://www.w3.org/1999/xhtml"
13
+ xmlns:dce="urn:schemas-epa-wg:dce" data-dce-id="1">
14
+ <span xmlns="" class="icon material-icons" data-dce-id="5">edit</span>
15
+ </dce-root>
16
+ </cem-icon>
17
+ </div>
18
+ <div xmlns="http://www.w3.org/1999/xhtml" slot="trailing" data-dce-id="7">
19
+ <label class="eye-contailer" for="visible-cb" data-dce-id="8">
20
+ <cem-icon image="visibility" class="visible-ico" tabindex="0" data-dce-id="9">
21
+ <dce-root xmlns="http://www.w3.org/1999/xhtml" xmlns:xhtml="http://www.w3.org/1999/xhtml"
22
+ xmlns:dce="urn:schemas-epa-wg:dce" data-dce-id="1">
23
+ <span xmlns="" class="icon material-icons" data-dce-id="5">visibility</span>
24
+ </dce-root>
25
+ </cem-icon>
26
+ <cem-icon image="visibility_off" class="invisible-ico" tabindex="0" data-dce-id="10">
27
+ <dce-root xmlns="http://www.w3.org/1999/xhtml" xmlns:xhtml="http://www.w3.org/1999/xhtml"
28
+ xmlns:dce="urn:schemas-epa-wg:dce" data-dce-id="1">
29
+ <span xmlns="" class="icon material-icons" data-dce-id="5">visibility_off</span>
30
+ </dce-root>
31
+ </cem-icon>
32
+ </label>
33
+ <cem-icon image="close" class="clear" tabindex="0" slice="password" slice-event="click" slice-value="''"
34
+ data-dce-id="11">
35
+ <dce-root xmlns="http://www.w3.org/1999/xhtml" xmlns:xhtml="http://www.w3.org/1999/xhtml"
36
+ xmlns:dce="urn:schemas-epa-wg:dce" data-dce-id="1">
37
+ <span xmlns="" class="icon material-icons" data-dce-id="5">close</span>
38
+ </dce-root>
39
+ </cem-icon>
40
+ <dce-text data-dce-id="12">️
41
+ </dce-text>
42
+ </div>
43
+ </payload>
44
+ <attributes xmlns="" label="password sample" value="secret word" slice="password" data-dce-id="3" type="">
45
+ <xmlns/>
46
+ <label>password sample</label>
47
+ <value>secret word</value>
48
+ <slice>password</slice>
49
+ <data-dce-id>3</data-dce-id>
50
+ <type></type>
9
51
  </attributes>
10
- <dataset/>
11
- <slice/>
52
+ <dataset>
53
+ <dceId>3</dceId>
54
+ </dataset>
55
+ <slice>
56
+ <selected/>
57
+ <password image="close" class="clear" tabindex="0" slice="password" slice-event="click" slice-value="''"
58
+ data-dce-id="11">
59
+ <event isTrusted="true" sliceProcessed="1" pointerId="1" width="1" height="1" pressure="0" tiltX="0"
60
+ tiltY="0" azimuthAngle="0" altitudeAngle="1.5707963267948966" tangentialPressure="0" twist="0"
61
+ pointerType="mouse" isPrimary="false" persistentDeviceId="0" screenX="345" screenY="682"
62
+ clientX="345" clientY="595" ctrlKey="false" shiftKey="false" altKey="false" metaKey="false"
63
+ button="0" buttons="0" pageX="345" pageY="4354" x="345" y="595" offsetX="14" offsetY="15"
64
+ movementX="0" movementY="0" layerX="248" layerY="27" detail="1" which="1" type="click" eventPhase="3"
65
+ bubbles="true" cancelable="true" defaultPrevented="false" composed="true"
66
+ timeStamp="1974517.2999999523" returnValue="true" cancelBubble="false" NONE="0" CAPTURING_PHASE="1"
67
+ AT_TARGET="2" BUBBLING_PHASE="3">
68
+ <relatedTarget/>
69
+ <fromElement/>
70
+ <toElement/>
71
+ <sourceCapabilities firesTouchEvents="false"/>
72
+ </event>
73
+ </password>
74
+ </slice>
12
75
  </datadom>
@@ -1,4 +1,3 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
1
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml"
3
2
  xmlns:dce="urn:schemas-epa-wg:dce" xmlns:exsl="http://exslt.org/common" version="1.0"
4
3
  exclude-result-prefixes="exsl">
@@ -14,54 +13,79 @@
14
13
  <xsl:value-of select="."/>
15
14
  </xsl:template>
16
15
  <xsl:template mode="payload" match="attributes">
17
- <xsl:param name="p1" select="/datadom/attributes/p1">default_P1</xsl:param>
18
- <xsl:param name="p2" select="'always_p2'"/>
19
- <xsl:param name="p3">
16
+ <xsl:param name="v">
20
17
  <xsl:choose>
21
- <xsl:when test="string-length(//p3)>0 ">RRRR
22
- <xsl:value-of select="count(//p3)"/>
23
- +<xsl:value-of select="//p3 "/>=
18
+ <xsl:when test="//s[//s/event] ">
19
+ <xsl:value-of select="//s[//s/event] "/>
24
20
  </xsl:when>
25
- <xsl:otherwise>OOO
26
- <xsl:value-of select=" 'def_P3' "/>
21
+ <xsl:when test=" //attributes/@v ">
22
+ <xsl:value-of select=" //attributes/@v "/>
23
+ </xsl:when>
24
+ <xsl:otherwise>
25
+ <xsl:value-of select=" 'def' "/>
27
26
  </xsl:otherwise>
28
27
  </xsl:choose>
29
28
  </xsl:param>
30
29
  <dce-root xmlns="http://www.w3.org/1999/xhtml" xmlns:xhtml="http://www.w3.org/1999/xhtml" data-dce-id="1">
31
- <xsl:attribute name="p1">default_P1</xsl:attribute>
32
- <xsl:attribute name="p2">
33
- <xsl:value-of select="'always_p2'"/>
34
- </xsl:attribute>
35
- <xsl:attribute name="p3">
30
+ <xsl:variable xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="has-input"
31
+ select="count(//s/*) &gt; 0"/>
32
+ <xsl:attribute name="v">
36
33
  <xsl:choose>
37
- <xsl:when test="//p3 ">
38
- <xsl:value-of select="//p3 "/>
34
+ <xsl:when test="//s[//s/event] ">
35
+ <xsl:value-of select="//s[//s/event] "/>
36
+ </xsl:when>
37
+ <xsl:when test=" //attributes/@v ">
38
+ <xsl:value-of select=" //attributes/@v "/>
39
39
  </xsl:when>
40
40
  <xsl:otherwise>
41
- <xsl:value-of select=" 'def_P3' "/>
41
+ <xsl:value-of select=" 'def' "/>
42
42
  </xsl:otherwise>
43
43
  </xsl:choose>
44
44
  </xsl:attribute>
45
45
  <dce-text xmlns="" data-dce-id="2">
46
- p1:
46
+
47
+ //attributes/v='<xsl:value-of select="//attributes/v"/>'
47
48
  </dce-text>
48
- <code xmlns="" data-testid="p1" data-dce-id="3">
49
- <xsl:value-of select="$p1"/>
50
- </code>
51
- <br xmlns="" data-dce-id="4"/>
52
- <dce-text xmlns="" data-dce-id="5">
53
- p2:
49
+ <br xmlns="" data-dce-id="3"/>
50
+ <dce-text xmlns="" data-dce-id="4">
51
+ //attributes/@v='<xsl:value-of select="//attributes/@v"/>'
52
+ </dce-text>
53
+ <br xmlns="" data-dce-id="5"/>
54
+ <dce-text xmlns="" data-dce-id="6">
55
+ $v='<xsl:value-of select="$v"/>'
54
56
  </dce-text>
55
- <code xmlns="" data-testid="p2" data-dce-id="6">
56
- <xsl:value-of select="$p2"/>
57
- </code>
58
57
  <br xmlns="" data-dce-id="7"/>
59
58
  <dce-text xmlns="" data-dce-id="8">
60
- p3:
59
+ //s='<xsl:value-of select="//s"/>'
60
+ </dce-text>
61
+ <br xmlns="" data-dce-id="9"/>
62
+ <dce-text xmlns="" data-dce-id="10">
63
+ A='<xsl:value-of select="//s[//s/event] | //attributes/v[not(//s/event)]"/>'
64
+ </dce-text>
65
+ <br xmlns="" data-dce-id="11"/>
66
+ <dce-text xmlns="" data-dce-id="12">
67
+ has-input =<xsl:value-of select=" $has-input "/>
68
+ </dce-text>
69
+ <br xmlns="" data-dce-id="13"/>
70
+ <xsl:variable xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="in-value">
71
+ <xsl:choose>
72
+ <xsl:when test="//s/event">
73
+ <xsl:value-of select="//s">
74
+ </xsl:value-of>
75
+ </xsl:when>
76
+ <xsl:when test="//attributes/@v">
77
+ <xsl:value-of select="//attributes/@v">
78
+ </xsl:value-of>
79
+ </xsl:when>
80
+ <xsl:otherwise>def</xsl:otherwise>
81
+ </xsl:choose>
82
+ </xsl:variable>
83
+ <xsl:variable xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="xx"
84
+ select="//s[//s/event] ?? //attributes/@v ?? 'def' "/>
85
+ <input xmlns="" slice="s" slice-event="input" value="{$in-value}" data-dce-id="14"/>
86
+ <dce-text xmlns="" data-dce-id="15">$in-value:<xsl:value-of select="$in-value"/> | $xx:<xsl:value-of
87
+ select="$xx"/>
61
88
  </dce-text>
62
- <code xmlns="" data-testid="p3" data-dce-id="9">
63
- <xsl:value-of select="$p3"/>
64
- </code>
65
89
  </dce-root>
66
90
  </xsl:template>
67
91
  <xsl:template match="/">
@@ -1,5 +1,14 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <dce-root data-dce-id="1" value="123"
3
- xmlns="http://www.w3.org/1999/xhtml" xmlns:dce="urn:schemas-epa-wg:dce" xmlns:xhtml="http://www.w3.org/1999/xhtml"><label data-dce-id="2">
4
- <dce-text data-dce-id="3"/>
5
- <input data-dce-id="4" slice="selected" slice-event="input" value="123"/></label></dce-root>
2
+ <dce-root data-dce-id="1" xmlns="http://www.w3.org/1999/xhtml" xmlns:dce="urn:schemas-epa-wg:dce"
3
+ xmlns:xhtml="http://www.w3.org/1999/xhtml"><label data-dce-id="2" xmlns=""><input data-dce-id="3"
4
+ slice="disabled-slice"
5
+ type="checkbox"
6
+ value="disabled"/>
7
+ <dce-text data-dce-id="4">disabled</dce-text>
8
+ </label>
9
+ <cem-input data-dce-id="6" value="123"/>
10
+ <button data-dce-id="7">Next</button>
11
+
12
+
13
+ </p></form>
14
+ </dce-root>
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json.schemastore.org/web-types",
3
3
  "name": "@epa-wg/custom-element",
4
- "version": "0.0.32",
4
+ "version": "0.0.33",
5
5
  "js-types-syntax": "typescript",
6
6
  "description-markup": "markdown",
7
7
  "contributions": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json.schemastore.org/web-types",
3
3
  "name": "@epa-wg/custom-element",
4
- "version": "0.0.32",
4
+ "version": "0.0.33",
5
5
  "js-types-syntax": "typescript",
6
6
  "description-markup": "markdown",
7
7
  "contributions": {
@@ -51,7 +51,7 @@
51
51
  <a href="./demo/module-url.html" >importmap </a> <br/>
52
52
  <a href="./demo/hex-grid.html" >hex grid lib </a> |
53
53
  <a href="./demo/scoped-css.html" >scoped CSS </a> |
54
- <a href="./demo/parameters.html" >attributes </a> |
54
+ <a href="./demo/attributes.html" >attributes </a> |
55
55
  <a href="./demo/data-slices.html" >data slices/events </a> |
56
56
  <a href="./demo/form.html" >Form validation </a> |
57
57
  <a href="./demo/dom-merge.html" >DOM merge on dynamic update </a><br/>
@@ -0,0 +1,240 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
6
+ <title>Components - custom-element - Material Design</title>
7
+ <link href="../../custom-element/demo/wc-square.svg" rel="icon"/>
8
+ <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"/>
9
+ <link crossorigin="anonymous" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css"
10
+ integrity="sha384-DyZ88mC6Up2uqS4h/KRgHuoeGwBcD4Ng9SiP4dIRy0EXTlnuz47vAwmeGwVChigm" rel="stylesheet"/>
11
+
12
+ <script type="importmap">
13
+ {
14
+ "imports": {
15
+ "@epa-wg/": "../../"
16
+ }
17
+ }
18
+ </script>
19
+ <script src="../../custom-element/module-url.js" type="module"></script>
20
+ <script src="../../custom-element/custom-element.js" type="module"></script>
21
+ <style>
22
+ @import "../angular.css";
23
+ @import "../material.css";
24
+ @import "../theme/semantic.css";
25
+ @import "../demo.css";
26
+ main{
27
+ display: flex; flex-wrap: wrap;
28
+ gap: 3rem;
29
+ padding: 5rem;
30
+ &>p{ min-width: 90%; }
31
+ html-demo-element
32
+ { overflow: visible;
33
+ [slot="legend"]{ border-radius: 1rem 1rem 0 0; }
34
+ [slot="description"]{ padding: 0 1rem 1rem 1rem; dd{ padding: 0 !important;margin: 0; }}
35
+ [slot="description"] dd{ padding: 0; }
36
+ }
37
+ var{ color: darkgreen; font-weight: bold; }
38
+ html-demo-element { [slot="demo"] { display: flex; gap: 8rem; } } }
39
+ flex-3x{ display: inline-flex; flex-wrap: wrap;gap:3rem; max-width:12rem;}
40
+ </style>
41
+ </head>
42
+ <!--
43
+ ToDO
44
+ * docs w/ how to use
45
+ -->
46
+ <body>
47
+ <template id="cem-badge">
48
+ <attribute name="text"
49
+ aria-description="Badge text content. Up to 4 characters including + sign."
50
+ ></attribute>
51
+ <attribute name="dot"
52
+ aria-description="attribute defines the small dot presentation without visible text. Default 'true' "
53
+ ></attribute>
54
+ <attribute name="color"
55
+ aria-description="semantic colors. Default is 'primary'. Values: primary|secondary|success|alert"
56
+ ></attribute>
57
+ <attribute name="align"
58
+ aria-description="Vertical & horizontal align. Default is 'top right'. Values: top|middle|bottom|left|center|right"
59
+ ></attribute>
60
+ <attribute name="invisible"
61
+ aria-description="Boolean. Default is 'false'. Values: true|false"
62
+ ></attribute>
63
+ <style>
64
+ &[dot]>*>dd{ height: 0; width: 0; min-width: 0.5rem; color: transparent; padding: 0; min-height: 0.5rem; }
65
+ &[invisible]>*>dd{ height: 0; width: 0; min-width: 0; color: transparent; padding: 0; min-height:0; }
66
+ &[align~=left]>*>dd{ --cem-badge-align-h: -100%; }
67
+ &[align~=center]>*>dd{ --cem-badge-align-h: -25%; }
68
+ &[align~=right]>*>dd{ --cem-badge-align-h: 50%; }
69
+ &[align~=top]>*>dd{ --cem-badge-align-v: -50%; }
70
+ &[align~=middle]>*>dd{ --cem-badge-align-v: 25%; }
71
+ &[align~=bottom]>*>dd{ --cem-badge-align-v: 75%; }
72
+ &{ position: relative; display: inline-block; --cem-badge-align-v: -50%; --cem-badge-align-h: 50%; }
73
+ &>*>dd{
74
+ /*position: absolute; top:-0.5rem; border-radius: 0.5rem; */
75
+ /*padding: 0.25rem; background-color: red;*/
76
+ display: flex ;
77
+ flex-direction: row;
78
+ flex-wrap: wrap;
79
+ -webkit-box-pack: center;
80
+ justify-content: center;
81
+ align-content: center;
82
+ -webkit-box-align: center;
83
+ align-items: center;
84
+ position: absolute;
85
+ box-sizing: border-box;
86
+ font-family: Roboto, Helvetica, Arial, sans-serif;
87
+ font-weight: 500;
88
+ font-size: 0.75rem;
89
+ min-width: 20px;
90
+ line-height: 1;
91
+ height: 20px;
92
+ z-index: 1;
93
+ background-color: var(--cem-badge-color, --cem-badge-color-primary);
94
+ color: var(--cem-badge-text-color,rgb(255, 255, 255));
95
+ top: 0;
96
+ right: 0;
97
+ transform: scale(1) translate(var(--cem-badge-align-h), var(--cem-badge-align-v));
98
+ transform-origin: 100% 0%;
99
+ padding: 0 6px;
100
+ border-radius: 10px;
101
+ border: var(--cem-badge-border, none);
102
+ transition: all 225ms cubic-bezier(0.4, 0, 0.2, 1);
103
+ }
104
+ &[color="secondary"]>*>dd{ background-color: var(--cem-badge-color-secondary); }
105
+ &[color="success"]>*>dd{ background-color: var(--cem-badge-color-success); }
106
+ &[color="alert"]>*>dd{ background-color: var(--cem-badge-color-alert); }
107
+
108
+ </style>
109
+ <dd>{text}</dd>
110
+ <slot></slot>
111
+ </template>
112
+
113
+ <custom-element hidden src="#cem-badge" tag="cem-badge"></custom-element>
114
+ <custom-element hidden src="./icon-link.html#cem-badge-link" tag="cem-badge-link"></custom-element>
115
+ <custom-element hidden src="./icon-link.html#cem-icon-link" tag="cem-icon-link"></custom-element>
116
+ <custom-element hidden src="./icon.html#cem-icon" tag="cem-icon"></custom-element>
117
+
118
+ <header class="cem-theme-teal">
119
+ <custom-element src="../index.html#nav-head"></custom-element>
120
+ </header>
121
+ <main>
122
+ <aside>
123
+ <p><code>cem-badge</code> is badge component from &lt;custom-element&gt; Material suite based on the
124
+ <a href="https://m3.material.io/components/badges/overview">Material Design specification for Badges</a>.<br/>
125
+ Badges show notifications, counts, or status information on navigation items and icons.
126
+ Inspired by <a href="https://mui.com/material-ui/react-badge/">MUI</a>
127
+ </p>
128
+ <h1>Attributes</h1>
129
+ <div> <code>text</code> attribute defines the Up to 4 characters including + sign.</div>
130
+ <div> <code>dot</code> attribute defines the small dot presentation without visible text. Default 'true'. </div>
131
+ <div> <code>invisible</code> attribute hides badge. </div>
132
+ <div> <code>align</code> attribute defines the vertical & horizontal align. Default is 'top right'. Values: top|middle|bottom|left|center|right. </div>
133
+ </aside>
134
+
135
+ <html-demo-element legend="Variations">
136
+ <p slot="description">
137
+
138
+ </p>
139
+ <template>
140
+ <cem-badge text="0" color="secondary"> <cem-icon image="far fa-envelope"></cem-icon> </cem-badge>
141
+ <cem-badge text="999+" > <cem-icon image="🛒" vertical="middle"></cem-icon> </cem-badge>
142
+ <cem-badge text="999+" dot > <cem-icon image="notifications" vertical="middle"></cem-icon> </cem-badge>
143
+ </template>
144
+ </html-demo-element>
145
+
146
+ <html-demo-element legend="color attribute">
147
+ <p slot="description">
148
+ Semantic colors
149
+ </p>
150
+ <template>
151
+ <cem-badge text="0" > <cem-icon image="✉"></cem-icon> </cem-badge>
152
+ <cem-badge text="1" color="primary" > <cem-icon image="✉"></cem-icon> </cem-badge>
153
+ <cem-badge text="2" color="secondary"> <cem-icon image="✉"></cem-icon> </cem-badge>
154
+ <cem-badge text="3" color="success" > <cem-icon image="✉"></cem-icon> </cem-badge>
155
+ <cem-badge text="4" color="alert" > <cem-icon image="✉"></cem-icon> </cem-badge>
156
+ </template>
157
+ </html-demo-element>
158
+
159
+ <html-demo-element legend="custom color">
160
+ <p slot="description">
161
+ Override by CE
162
+ </p>
163
+ <template>
164
+ <custom-element>
165
+ <template>
166
+ <style>
167
+ &
168
+ { --cem-badge-text-color:red;
169
+ --cem-badge-color:#FF08;
170
+ --cem-badge-border: 1px blue solid;
171
+ cem-badge dd{box-shadow: -2px 3px 8px blue;}
172
+ }
173
+ </style>
174
+ <cem-badge text="123"> CUSTOM COLOR </cem-badge>
175
+ </template>
176
+ </custom-element>
177
+ </template>
178
+ </html-demo-element>
179
+
180
+
181
+ <html-demo-element legend="invisible attribute">
182
+ <p slot="description">
183
+ hides badge, animated
184
+ </p>
185
+ <template>
186
+ <custom-element>
187
+ <template>
188
+ <label>
189
+ <input type="checkbox" slice="is-checked" value="on" />
190
+ invisible</label>
191
+ <cem-badge text="1" >
192
+ <if test="/datadom/slice/is-checked = 'on'">
193
+ <attribute name="invisible">on</attribute>
194
+ </if>
195
+ <cem-icon image="mail" ></cem-icon>
196
+ </cem-badge>
197
+ &nbsp;
198
+ <cem-badge dot>
199
+ <if test="/datadom/slice/is-checked = 'on'">
200
+ <attribute name="invisible">on</attribute>
201
+ </if>
202
+ <cem-icon image="mail" ></cem-icon>
203
+ </cem-badge>
204
+ </template>
205
+ </custom-element>
206
+ </template>
207
+ </html-demo-element>
208
+
209
+ <html-demo-element legend="align attribute">
210
+ <p slot="description">
211
+ sets vertical( top, middle, bottom ) and horizontal( left, center, right) badge align.<br/>
212
+ Default is right top.
213
+ </p>
214
+ <template>
215
+ <flex-3x>
216
+ <cem-badge text="1" align="left top" ><cem-icon image="mail" ></cem-icon></cem-badge>
217
+ <cem-badge text="2" align="center top" ><cem-icon image="mail" ></cem-icon></cem-badge>
218
+ <cem-badge text="3" align="right top" ><cem-icon image="mail" ></cem-icon></cem-badge>
219
+
220
+ <cem-badge text="4" align="left middle" ><cem-icon image="mail" ></cem-icon></cem-badge>
221
+ <cem-badge text="5" align="center middle" ><cem-icon image="mail" ></cem-icon></cem-badge>
222
+ <cem-badge text="6" align="right middle" ><cem-icon image="mail" ></cem-icon></cem-badge>
223
+
224
+ <cem-badge text="7" align="left bottom" ><cem-icon image="mail" ></cem-icon></cem-badge>
225
+ <cem-badge text="8" align="center bottom" ><cem-icon image="mail" ></cem-icon></cem-badge>
226
+ <cem-badge text="9" align="right bottom" ><cem-icon image="mail" ></cem-icon></cem-badge>
227
+ </flex-3x>
228
+ </template>
229
+ </html-demo-element>
230
+
231
+ </main>
232
+ <footer>
233
+ <hr/>
234
+ Powered by Syngrafact Corp. ©2024.<br/>
235
+ <a href="../../LICENSE"> Code and documentation licensed under an Apache License 2.0 </a>
236
+ </footer>
237
+ <script src="https://unpkg.com/html-demo-element@1.0.8/html-demo-element.js" type="module"></script>
238
+
239
+ </body>
240
+ </html>
@@ -76,17 +76,14 @@
76
76
  <attribute name="open"></attribute>
77
77
  <attribute name="label"></attribute>
78
78
  <style>
79
- dce-root {
79
+ &[open="false"]>*>aside{ max-height: 0; }
80
+ &>* {
80
81
  position: relative;
81
82
 
82
83
  --cem-dropdown-shadow: 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);
83
84
  --cem-dropdown-max-height: 10rem;
84
85
  --cem-dropdown-base-min-width: 8em;
85
86
 
86
- &[open="false"]{
87
- &>aside{ max-height: 0;
88
- }
89
- }
90
87
  & > label {
91
88
  min-width: var(--cem-dropdown-base-min-width);
92
89
  display: inline-block;
@@ -132,11 +129,9 @@
132
129
  </template>
133
130
  </html-demo-element>
134
131
 
135
- <html-demo-element
136
- legend="Menu in dropdown"
137
- description="Focus to see the cursor in input with label shifted upward" >
132
+ <html-demo-element legend="Menu in dropdown">
138
133
  <template>
139
- <cem-dropdown label="Vertical menu" open="true">
134
+ <cem-dropdown label="Vertical menu" >
140
135
  <cem-menu direction="column">
141
136
  <a href="#">link 1</a>
142
137
  <a href="#">link 2</a>
@@ -146,14 +141,14 @@
146
141
  </template>
147
142
  </html-demo-element>
148
143
 
149
- <html-demo-element description="Focus to see the cursor in input with label shifted upward "
150
- legend="Collapsing by slice">
144
+ <html-demo-element legend="Hide dropdown dynamically"
145
+ description="open=false hides dropdown"
146
+ >
151
147
  <template>
152
148
  <custom-element>
153
149
  <template>
154
150
  <label><input slice="opened" type="checkbox" value="1" checked/>
155
151
  open</label><br/>
156
- //opened:'{//opened}'
157
152
  <cem-dropdown label="Vertical menu" open="{//opened='1'}">
158
153
 
159
154
  <cem-menu direction="column">
@@ -78,6 +78,7 @@
78
78
  color: var(--mat-light-blue-900);
79
79
  }
80
80
  --icon-size: 2rem;
81
+ min-height: var(--icon-size);
81
82
  }
82
83
 
83
84
  .icon {