@epa-wg/custom-element-dist 0.0.32 → 0.0.34

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 (300) hide show
  1. package/.claude/settings.local.json +18 -0
  2. package/.github/workflows/deploy.yml +59 -0
  3. package/.idea/copilot.data.migration.agent.xml +6 -0
  4. package/.idea/copilot.data.migration.ask.xml +6 -0
  5. package/.idea/copilot.data.migration.edit.xml +6 -0
  6. package/.idea/custom-element-dist.iml +2 -0
  7. package/.storybook/main.ts +20 -21
  8. package/.storybook/preview.ts +23 -25
  9. package/README.md +6 -4
  10. package/coverage/block-navigation.js +1 -1
  11. package/coverage/coverage-final.json +8 -18
  12. package/coverage/index.html +45 -30
  13. package/coverage/sorter.js +21 -7
  14. package/coverage/src/custom-element/coverage.svg +1 -1
  15. package/coverage/src/custom-element/custom-element.js/coverage.svg +1 -1
  16. package/coverage/src/custom-element/custom-element.js.html +687 -480
  17. package/coverage/src/custom-element/http-request.js/coverage.svg +1 -1
  18. package/coverage/src/custom-element/http-request.js.html +39 -18
  19. package/coverage/src/custom-element/index.html +35 -35
  20. package/coverage/src/custom-element/local-storage.js.html +1 -1
  21. package/coverage/src/custom-element/location-element.js.html +31 -31
  22. package/coverage/src/custom-element/module-url.js/coverage.svg +1 -1
  23. package/coverage/src/custom-element/module-url.js.html +20 -20
  24. package/coverage/src/index.html +1 -1
  25. package/coverage/src/{stories/local-storage.test.stories.ts → material/theme/colors.js}/coverage.svg +1 -1
  26. package/coverage/src/material/theme/colors.js.html +217 -0
  27. package/coverage/src/{stories/location-element.test.stories.ts → material/theme}/coverage.svg +1 -1
  28. package/coverage/src/material/theme/index.html +116 -0
  29. package/coverage/src/mocks/handlers.ts.html +1 -1
  30. package/coverage/src/mocks/index.html +1 -1
  31. package/coverage/src/stories/coverage.svg +1 -1
  32. package/coverage/src/stories/{external-template.test.stories.ts → frame.canvas.ts}/coverage.svg +1 -1
  33. package/coverage/src/stories/frame.canvas.ts.html +175 -0
  34. package/coverage/src/stories/http-request.stories.ts.html +1 -1
  35. package/coverage/src/stories/index.html +14 -179
  36. package/coverage/src/stories/testStoryBook.ts.html +12 -12
  37. package/coverage/src/sum.ts.html +1 -1
  38. package/dist/custom-element-BoYMoUtP.js +619 -0
  39. package/dist/custom-element-BqtjrCRF.cjs +97 -0
  40. package/dist/custom-element-bundle.cjs +1 -1
  41. package/dist/custom-element-bundle.js +3 -3
  42. package/dist/demo/a.html +10 -3
  43. package/dist/demo/a.svg +26 -26
  44. package/dist/demo/attributes.html +153 -0
  45. package/dist/demo/external-templates-sb-6.html +42 -0
  46. package/dist/demo/external-templates-sb-7.html +42 -0
  47. package/dist/demo/html-template.html +5 -4
  48. package/dist/demo/module-url-sb-2.html +46 -0
  49. package/dist/demo/module-url-sb-4.html +48 -0
  50. package/dist/demo/module-url-sb-5.html +53 -0
  51. package/dist/demo/s.xml +3859 -7
  52. package/dist/demo/s.xslt +13 -48
  53. package/dist/demo/s1.xml +3706 -0
  54. package/dist/demo/ss.html +13 -4
  55. package/dist/http-request-DSaowcG1.cjs +1 -0
  56. package/dist/{http-request-BOvP4KTl.js → http-request-DTCzZ1gc.js} +15 -9
  57. package/dist/mockServiceWorker.js +31 -8
  58. package/package.json +25 -26
  59. package/public/demo/a.html +10 -3
  60. package/public/demo/a.svg +26 -26
  61. package/public/demo/attributes.html +153 -0
  62. package/public/demo/external-templates-sb-6.html +42 -0
  63. package/public/demo/external-templates-sb-7.html +42 -0
  64. package/public/demo/html-template.html +5 -4
  65. package/public/demo/module-url-sb-2.html +46 -0
  66. package/public/demo/module-url-sb-4.html +48 -0
  67. package/public/demo/module-url-sb-5.html +53 -0
  68. package/public/demo/s.xml +3859 -7
  69. package/public/demo/s.xslt +13 -48
  70. package/public/demo/s1.xml +3706 -0
  71. package/public/demo/ss.html +13 -4
  72. package/public/mockServiceWorker.js +31 -8
  73. package/src/custom-element/custom-element.d.ts +4 -0
  74. package/src/custom-element/custom-element.js +119 -50
  75. package/src/custom-element/demo/a.html +10 -3
  76. package/src/custom-element/demo/a.svg +26 -26
  77. package/src/custom-element/demo/attributes.html +153 -0
  78. package/src/custom-element/demo/html-template.html +5 -4
  79. package/src/custom-element/demo/s.xml +3859 -7
  80. package/src/custom-element/demo/s.xslt +13 -48
  81. package/src/custom-element/demo/s1.xml +3706 -0
  82. package/src/custom-element/demo/ss.html +13 -4
  83. package/src/custom-element/http-request.js +7 -0
  84. package/src/custom-element/ide/web-types-dce.json +1 -1
  85. package/src/custom-element/ide/web-types-xsl.json +1 -1
  86. package/src/custom-element/index.html +1 -1
  87. package/src/material/angular.css +987 -987
  88. package/src/material/components/action.html +262 -0
  89. package/src/material/components/autocomplete.html +167 -239
  90. package/src/material/components/badge.html +239 -0
  91. package/src/material/components/dropdown.html +7 -13
  92. package/src/material/components/icon-link.html +160 -160
  93. package/src/material/components/icon.html +252 -0
  94. package/src/material/components/input.html +569 -362
  95. package/src/material/components/menu.html +235 -234
  96. package/src/material/components.html +157 -121
  97. package/src/material/demo.css +36 -36
  98. package/src/material/index.html +109 -110
  99. package/src/material/material.css +356 -356
  100. package/src/material/theme/Base-Principles.md +339 -0
  101. package/src/material/theme/README.md +298 -18
  102. package/src/material/theme/UI Domain Model in web applications.svg +1 -0
  103. package/src/material/theme/User Semantic Theme tokens.svg +1 -0
  104. package/src/material/theme/action-pending-poc.html +62 -0
  105. package/src/material/theme/actions-color.html +141 -0
  106. package/src/material/theme/colors-light.html +631 -0
  107. package/src/material/theme/colors-native.html +51 -0
  108. package/src/material/theme/colors-poc.html +66 -0
  109. package/src/material/theme/colors.html +297 -0
  110. package/src/material/theme/colors.js +44 -0
  111. package/src/material/theme/consumer-theme.css +745 -0
  112. package/src/material/theme/semantic.css +132 -113
  113. package/src/material/theme/style-bug.html +123 -0
  114. package/src/material/theme/theme-data.css +43 -0
  115. package/src/material/theme/theme-data.xhtml +2926 -0
  116. package/src/material/theme/todo.md +274 -0
  117. package/src/material/theme/tokens/action-colors.png +0 -0
  118. package/src/material/theme/tokens/cem-article-illustration-4x1-letterbox-2000x500.png +0 -0
  119. package/src/material/theme/tokens/cem-breakpoints.md +519 -0
  120. package/src/material/theme/tokens/cem-colors.md +715 -0
  121. package/src/material/theme/tokens/cem-consumerflow-typography-matrix.svg +198 -0
  122. package/src/material/theme/tokens/cem-coupling.md +372 -0
  123. package/src/material/theme/tokens/cem-data-vs-reading-numerals.svg +164 -0
  124. package/src/material/theme/tokens/cem-dimension.md +625 -0
  125. package/src/material/theme/tokens/cem-layering.md +562 -0
  126. package/src/material/theme/tokens/cem-m3-parity.md +343 -0
  127. package/src/material/theme/tokens/cem-responsive.md +238 -0
  128. package/src/material/theme/tokens/cem-shape.md +691 -0
  129. package/src/material/theme/tokens/cem-stroke-density-illustration-4to1-v3.svg +102 -0
  130. package/src/material/theme/tokens/cem-stroke.md +480 -0
  131. package/src/material/theme/tokens/cem-timing.md +198 -0
  132. package/src/material/theme/tokens/cem-typography-model-stack.svg +64 -0
  133. package/src/material/theme/tokens/cem-voice-fonts-typography.md +718 -0
  134. package/src/material/theme/tokens/cem-voice-ladder.svg +91 -0
  135. package/src/material/theme/tokens/chips.png +0 -0
  136. package/src/material/theme/tokens/columns-page.png +0 -0
  137. package/src/material/theme/tokens/initials.png +0 -0
  138. package/src/material/theme/tokens/nav-buttons.png +0 -0
  139. package/src/material/theme/tokens/script.png +0 -0
  140. package/src/material/theme/tokens/sufler.png +0 -0
  141. package/src/material/theme/tokens/typography-icons.png +0 -0
  142. package/src/mocks/versions.mock.ts +1 -1
  143. package/src/stories/__screenshots__/attributes.test.stories.ts +1 -0
  144. package/src/stories/__screenshots__/dom-merge.test.stories.ts/dom-merge-dom-merge-OrderPreservingOn2ndTransform-1.png +0 -0
  145. package/src/stories/__screenshots__/external-template.test.stories.ts +1 -0
  146. package/src/stories/__screenshots__/module-url.test.stories.ts +1 -0
  147. package/src/stories/__screenshots__/stories.test.ts/attributes-Attributes-definition-1.png +0 -0
  148. package/src/stories/__screenshots__/stories.test.ts/attributes-Attributes-runtime-change-1.png +0 -0
  149. package/src/stories/__screenshots__/stories.test.ts/attributes-Instance-Attributes-1.png +0 -0
  150. package/src/stories/__screenshots__/stories.test.ts/attributes-Instance-Attributes-2.png +0 -0
  151. package/src/stories/__screenshots__/stories.test.ts/attributes-cloneAs-el-newTag--1.png +0 -0
  152. package/src/stories/__screenshots__/stories.test.ts/attributes-mergeAttr--from--to---1.png +0 -0
  153. package/src/stories/__screenshots__/stories.test.ts/attributes-mergeAttr--from--to---2.png +0 -0
  154. package/src/stories/__screenshots__/stories.test.ts/attributes-mergeAttr--from--to---3.png +0 -0
  155. package/src/stories/__screenshots__/stories.test.ts/attributes-mix-to-from--1.png +0 -0
  156. package/src/stories/__screenshots__/stories.test.ts/http-request-Attributes-definition-1.png +0 -0
  157. package/src/stories/__screenshots__/stories.test.ts/http-request-Attributes-runtime-change-1.png +0 -0
  158. package/src/stories/__screenshots__/stories.test.ts/http-request-Instance-Attributes-1.png +0 -0
  159. package/src/stories/__screenshots__/stories.test.ts/http-request-Instance-Attributes-2.png +0 -0
  160. package/src/stories/__screenshots__/stories.test.ts/http-request-cloneAs-el-newTag--1.png +0 -0
  161. package/src/stories/__screenshots__/stories.test.ts/http-request-http-request-headers-and-response-status-and-headers-1.png +0 -0
  162. package/src/stories/__screenshots__/stories.test.ts/http-request-http-request-with-delayed--5-seconds-response-1.png +0 -0
  163. package/src/stories/__screenshots__/stories.test.ts/http-request-http-request-with-error-1.png +0 -0
  164. package/src/stories/__screenshots__/stories.test.ts/http-request-mergeAttr--from--to---1.png +0 -0
  165. package/src/stories/__screenshots__/stories.test.ts/http-request-mergeAttr--from--to---2.png +0 -0
  166. package/src/stories/__screenshots__/stories.test.ts/http-request-mergeAttr--from--to---3.png +0 -0
  167. package/src/stories/__screenshots__/stories.test.ts/http-request-mix-to-from--1.png +0 -0
  168. package/src/stories/__screenshots__/stories.test.ts/http-request-url-and-slice-1.png +0 -0
  169. package/src/stories/__screenshots__/stories.test.ts/http-request-url-change-1.png +0 -0
  170. package/src/stories/__screenshots__/xslt-conditionals.test.stories.ts/xslt-conditionals-xslt-conditionals-MultipleIfOrderingWorkaround-1.png +0 -0
  171. package/src/stories/attributes.test.stories.ts +83 -17
  172. package/src/stories/dom-merge.test.stories.ts +25 -1
  173. package/src/stories/external-template.test.stories.ts +16 -14
  174. package/src/stories/frame.canvas.ts +31 -0
  175. package/src/stories/module-url.test.stories.ts +29 -61
  176. package/src/stories/xslt-conditionals.test.stories.ts +492 -0
  177. package/src/stories/xslt-if.test.stories.ts +89 -0
  178. package/storybook-static/assets/Color-F6OSRLHC-CzTOSlqB.js +1 -0
  179. package/storybook-static/assets/Configure-7GqRsAoJ.js +165 -0
  180. package/storybook-static/assets/DocsRenderer-CFRXHY34-Duc5rSIm.js +2 -0
  181. package/storybook-static/assets/{attributes.test.stories-D1X6EBrd.js → attributes.test.stories-DYuxF8h1.js} +109 -38
  182. package/storybook-static/assets/{css.test.stories-Cp_g2hE1.js → css.test.stories-LOmvINyb.js} +1 -1
  183. package/storybook-static/assets/custom-element-Bwx7otrT.js +97 -0
  184. package/storybook-static/assets/{dom-merge.test.stories-hbpdCka0.js → dom-merge.test.stories-CEKhWjaS.js} +47 -6
  185. package/storybook-static/assets/entry-preview-BNCt9WBs.js +26 -0
  186. package/storybook-static/assets/entry-preview-docs-CbF8-81D.js +2 -0
  187. package/storybook-static/assets/{external-template.test.stories-BK89h6sk.js → external-template.test.stories-jHu0wsJ-.js} +38 -40
  188. package/storybook-static/assets/{form.test.stories-BfoLe_rw.js → form.test.stories-CUyUnmwP.js} +1 -1
  189. package/storybook-static/assets/frame.canvas-E5n9h6j1.js +1 -0
  190. package/storybook-static/assets/{handlers-yVPwH_Nz.js → handlers-F7GUfMqr.js} +17 -14
  191. package/storybook-static/assets/http-request-BWeEEBkP.js +1 -0
  192. package/storybook-static/assets/{http-request.stories-CBFJS2Ws.js → http-request.stories-wyX5-QOv.js} +1 -1
  193. package/storybook-static/assets/iframe-BS_DPWl0.js +199 -0
  194. package/storybook-static/assets/index-CGuyH0k-.js +240 -0
  195. package/storybook-static/assets/index-DB7LLObI.js +1 -0
  196. package/storybook-static/assets/index-DO1nmyvI.js +11 -0
  197. package/storybook-static/assets/index-V1EGs-wm.js +621 -0
  198. package/storybook-static/assets/{local-storage.test.stories-C0Yzy6Am.js → local-storage.test.stories-BxOhsf1k.js} +1 -1
  199. package/storybook-static/assets/{location-element.test.stories-DNFrEu5A.js → location-element.test.stories-DqhvvUoa.js} +1 -1
  200. package/storybook-static/assets/module-url.test.stories-C1gG9G7Y.js +142 -0
  201. package/storybook-static/assets/preview-1xJJ3sKE.js +1 -0
  202. package/storybook-static/assets/preview-Bn8igYMp.js +1 -0
  203. package/storybook-static/assets/preview-CTOeX_lO.js +1 -0
  204. package/storybook-static/assets/preview-Cwy1XFu2.js +2 -0
  205. package/storybook-static/assets/preview-D6sehqkw.js +50 -0
  206. package/storybook-static/assets/preview-DfTudP20.js +1 -0
  207. package/storybook-static/assets/{set-url.test.stories-BBfLxv2u.js → set-url.test.stories-BKQNdknJ.js} +1 -1
  208. package/storybook-static/assets/{slice-events.test.stories-HcXF8XQI.js → slice-events.test.stories-ChqULCeA.js} +1 -1
  209. package/storybook-static/assets/{slots.test.stories-i6mnIFM2.js → slots.test.stories-BlyLoCRe.js} +1 -1
  210. package/storybook-static/assets/{version-select.test.stories-BsUFH6Va.js → version-select.test.stories-CPGSh1tR.js} +1 -1
  211. package/storybook-static/assets/xslt-conditionals.test.stories-YC6QPqWZ.js +633 -0
  212. package/storybook-static/assets/xslt-if.test.stories-BRSWy2-x.js +71 -0
  213. package/storybook-static/demo/a.html +10 -3
  214. package/storybook-static/demo/a.svg +26 -26
  215. package/storybook-static/demo/attributes.html +153 -0
  216. package/storybook-static/demo/external-templates-sb-6.html +42 -0
  217. package/storybook-static/demo/external-templates-sb-7.html +42 -0
  218. package/storybook-static/demo/html-template.html +5 -4
  219. package/storybook-static/demo/module-url-sb-2.html +46 -0
  220. package/storybook-static/demo/module-url-sb-4.html +48 -0
  221. package/storybook-static/demo/module-url-sb-5.html +53 -0
  222. package/storybook-static/demo/s.xml +3859 -7
  223. package/storybook-static/demo/s.xslt +13 -48
  224. package/storybook-static/demo/s1.xml +3706 -0
  225. package/storybook-static/demo/ss.html +13 -4
  226. package/storybook-static/iframe.html +2 -2
  227. package/storybook-static/index.html +6 -10
  228. package/storybook-static/index.json +1 -1
  229. package/storybook-static/mockServiceWorker.js +31 -8
  230. package/storybook-static/project.json +1 -1
  231. package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js +3 -0
  232. package/storybook-static/sb-addons/essentials-backgrounds-4/manager-bundle.js +8 -8
  233. package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js +394 -0
  234. package/storybook-static/sb-addons/essentials-docs-3/manager-bundle.js +233 -0
  235. package/storybook-static/sb-addons/essentials-measure-7/manager-bundle.js +1 -1
  236. package/storybook-static/sb-addons/essentials-outline-8/manager-bundle.js +1 -1
  237. package/storybook-static/sb-addons/essentials-toolbars-6/manager-bundle.js +1 -1
  238. package/storybook-static/sb-addons/essentials-viewport-5/manager-bundle.js +1 -1
  239. package/storybook-static/sb-addons/interactions-9/manager-bundle.js +58 -58
  240. package/storybook-static/sb-manager/globals-module-info.js +9 -0
  241. package/storybook-static/sb-manager/globals-runtime.js +10719 -10473
  242. package/storybook-static/sb-manager/runtime.js +4944 -6321
  243. package/coverage/src/stories/attributes.test.stories.ts/coverage.svg +0 -10
  244. package/coverage/src/stories/attributes.test.stories.ts.html +0 -814
  245. package/coverage/src/stories/css.test.stories.ts/coverage.svg +0 -10
  246. package/coverage/src/stories/css.test.stories.ts.html +0 -460
  247. package/coverage/src/stories/dom-merge.test.stories.ts/coverage.svg +0 -10
  248. package/coverage/src/stories/dom-merge.test.stories.ts.html +0 -706
  249. package/coverage/src/stories/external-template.test.stories.ts.html +0 -865
  250. package/coverage/src/stories/form.test.stories.ts/coverage.svg +0 -10
  251. package/coverage/src/stories/form.test.stories.ts.html +0 -661
  252. package/coverage/src/stories/local-storage.test.stories.ts.html +0 -1315
  253. package/coverage/src/stories/location-element.test.stories.ts.html +0 -523
  254. package/coverage/src/stories/module-url.test.stories.ts/coverage.svg +0 -10
  255. package/coverage/src/stories/module-url.test.stories.ts.html +0 -640
  256. package/coverage/src/stories/set-url.test.stories.ts/coverage.svg +0 -10
  257. package/coverage/src/stories/set-url.test.stories.ts.html +0 -433
  258. package/coverage/src/stories/slice-events.test.stories.ts/coverage.svg +0 -10
  259. package/coverage/src/stories/slice-events.test.stories.ts.html +0 -952
  260. package/coverage/src/stories/slots.test.stories.ts/coverage.svg +0 -10
  261. package/coverage/src/stories/slots.test.stories.ts.html +0 -742
  262. package/coverage/src/stories/version-select.test.stories.ts/coverage.svg +0 -10
  263. package/coverage/src/stories/version-select.test.stories.ts.html +0 -397
  264. package/dist/custom-element-D2wf_rqP.js +0 -576
  265. package/dist/custom-element-Dtzhbjkc.cjs +0 -97
  266. package/dist/http-request-DPrY7mGh.cjs +0 -1
  267. package/storybook-static/assets/Color-F6OSRLHC-BU3iy8jH.js +0 -1
  268. package/storybook-static/assets/Configure-DN6ifayP.js +0 -165
  269. package/storybook-static/assets/DocsRenderer-CFRXHY34-BaVEufDj.js +0 -2
  270. package/storybook-static/assets/custom-element-uuAtIYWS.js +0 -97
  271. package/storybook-static/assets/entry-preview-DHVXbf3x.js +0 -26
  272. package/storybook-static/assets/entry-preview-docs-BbcIMweR.js +0 -2
  273. package/storybook-static/assets/http-request-DNq59pnj.js +0 -1
  274. package/storybook-static/assets/iframe-CJEL_4Nu.js +0 -2
  275. package/storybook-static/assets/index-BcZLpTeD.js +0 -8
  276. package/storybook-static/assets/index-CxRwF5Or.js +0 -234
  277. package/storybook-static/assets/index-D-8MO0q_.js +0 -1
  278. package/storybook-static/assets/index-D5fBh-7N.js +0 -1
  279. package/storybook-static/assets/index-DM-KBPdl.js +0 -1
  280. package/storybook-static/assets/index-RSFf30w1.js +0 -1
  281. package/storybook-static/assets/index-SnjB5uV8.js +0 -769
  282. package/storybook-static/assets/module-url.test.stories-CXibF5Ta.js +0 -208
  283. package/storybook-static/assets/preview-BhhEZcNS.js +0 -1
  284. package/storybook-static/assets/preview-Bnd0XhaF.js +0 -52
  285. package/storybook-static/assets/preview-CNKoaWES.js +0 -1
  286. package/storybook-static/assets/preview-DAeyCMnM.js +0 -1
  287. package/storybook-static/assets/preview-DHPc-V4N.js +0 -1
  288. package/storybook-static/assets/preview-DJMlNTk8.js +0 -2
  289. package/storybook-static/assets/preview-DYzi3Z2p.js +0 -1
  290. package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js +0 -333
  291. package/storybook-static/sb-addons/chromatic-com-storybook-10/manager-bundle.js.LEGAL.txt +0 -40
  292. package/storybook-static/sb-addons/essentials-actions-3/manager-bundle.js +0 -3
  293. package/storybook-static/sb-addons/essentials-controls-2/manager-bundle.js +0 -391
  294. package/storybook-static/sb-addons/links-1/manager-bundle.js +0 -3
  295. package/storybook-static/sb-preview/globals.js +0 -33
  296. package/storybook-static/sb-preview/runtime.js +0 -7174
  297. package/test-runner-jest.config.js +0 -15
  298. /package/storybook-static/sb-addons/{essentials-actions-3 → essentials-actions-2}/manager-bundle.js.LEGAL.txt +0 -0
  299. /package/storybook-static/sb-addons/{essentials-controls-2 → essentials-controls-1}/manager-bundle.js.LEGAL.txt +0 -0
  300. /package/storybook-static/sb-addons/{links-1 → essentials-docs-3}/manager-bundle.js.LEGAL.txt +0 -0
@@ -0,0 +1,239 @@
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
+ <a href="../../LICENSE"> Code and documentation licensed under an Apache License 2.0 </a>
235
+ </footer>
236
+ <script src="https://unpkg.com/html-demo-element@1.0.8/html-demo-element.js" type="module"></script>
237
+
238
+ </body>
239
+ </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">
@@ -170,7 +165,6 @@
170
165
  </main>
171
166
  <footer>
172
167
  <hr/>
173
- Powered by Syngrafact Corp. ©2024.<br/>
174
168
  <a href="../../LICENSE"> Code and documentation licensed under an Apache License 2.0 </a>
175
169
  </footer>
176
170
  <script src="https://unpkg.com/html-demo-element@1/html-demo-element.js" type="module"></script>
@@ -1,161 +1,161 @@
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
- }
38
- </style>
39
- </head>
40
-
41
- <body>
42
- <template id="cem-icon-link">
43
- <attribute name="href"></attribute>
44
- <attribute name="icon"></attribute>
45
- <attribute aria-description="color appearance. Default value is 'normal'. Values: normal|primary|secondary|alert|blend"
46
- name="kind"></attribute>
47
- <style>
48
- &:not([kind]) a, &[kind="normal"] a {
49
- /*background-color: var(--mdc-theme-primary, #6200ee);*/
50
- }
51
-
52
- a {
53
- display: inline-flex;
54
- align-items: center;
55
- gap: 0.5rem;
56
- padding: 0.5rem 1rem;;
57
- border-radius: 1.5rem;
58
-
59
- background-color: var(--cem-action-primary-background);
60
- transition: var(--cem-action-transition);
61
- box-shadow: var(--cem-action-box-shadow);
62
-
63
- &:hover {
64
- background-color: var(--cem-action-primary-background-hover);
65
- box-shadow: var(--cem-action-box-shadow-hover);
66
- }
67
-
68
- &:focus {
69
- background-color: var(--cem-action-primary-background-focus);
70
- }
71
-
72
- &:active, &:focus:active {
73
- background-color: var(--cem-action-primary-background-active);
74
- }
75
-
76
- &, &:visited {
77
- text-decoration: none;
78
- color: var(--mat-light-blue-900);
79
- }
80
- --icon-size: 2rem;
81
- }
82
-
83
- .icon {
84
- font-size: var(--icon-size);
85
- height: var(--icon-size);
86
- }
87
-
88
- </style>
89
- <a href="{$href}">
90
- <choose>
91
- <when test="contains($icon,'/')"><img alt="DCE logo" class="icon" src="{$icon}"/></when>
92
- <when test="contains($icon,'fa-')"><i class="icon {$icon}"></i></when>
93
- <when test="$icon"><span class="icon material-icons">{$icon}</span></when>
94
- </choose>
95
- <slot></slot>
96
- </a>
97
- </template>
98
-
99
- <custom-element hidden src="#cem-icon-link" tag="cem-icon-link"></custom-element>
100
-
101
- <header class="cem-theme-teal">
102
- <custom-element src="../index.html#nav-head" ></custom-element>
103
- </header>
104
- <main>
105
- <p><code>cem-icon-link</code> is button like component from &lt;custom-element&gt; Material suite based on the
106
- <a href="https://material.io/components" >Material Design specification</a>.
107
- </p>
108
- <p>
109
- <code>direction</code> attribute defines css <code>row</code> or <code>column</code> flex-direction.
110
- </p>
111
-
112
-
113
- <html-demo-element legend="Image from importmap module"
114
- description="logo SVG with link to file in module">
115
- <template>
116
- <custom-element>
117
- <template>
118
- <module-url slice="cem-url" src="@epa-wg/material"></module-url>
119
- <module-url slice="logo-url" src="@epa-wg/custom-element/demo/wc-square.svg"></module-url>
120
- <cem-icon-link href="{//cem-url}/" icon="{//logo-url}"> custom-element</cem-icon-link>
121
- <cem-icon-link icon="https://unpkg.com/pokeapi-sprites@2.0.2/sprites/pokemon/other/dream-world/1.svg">
122
- bulbasaur</cem-icon-link>
123
- </template>
124
- </custom-element>
125
- </template>
126
- </html-demo-element>
127
-
128
- <html-demo-element legend="Google Material icon font" >
129
- <p slot="description">
130
- <a href="https://fonts.google.com/icons">Material Icon</a> example.
131
- </p>
132
- <template>
133
- <cem-icon-link icon="recycling"> recycling</cem-icon-link>
134
- <cem-icon-link icon="shopping_cart"> shopping_cart</cem-icon-link>
135
- </template>
136
- </html-demo-element>
137
-
138
- <html-demo-element legend="Fontawesome" >
139
- <p slot="description">
140
- <a href="https://fontawesome.com/icons/">Fontawesome Icon</a> example.
141
- </p>
142
- <template>
143
- <cem-icon-link icon="fab fa-github" > GitHub </cem-icon-link>
144
- <cem-icon-link icon="fas fa-cloud-upload-alt" > Upload </cem-icon-link>
145
- </template>
146
- </html-demo-element>
147
-
148
-
149
-
150
-
151
-
152
- </main>
153
- <footer>
154
- <hr/>
155
- Powered by Syngrafact Corp. ©2024.<br/>
156
- <a href="../../LICENSE"> Code and documentation licensed under an Apache License 2.0 </a>
157
- </footer>
158
- <script type="module" src="https://unpkg.com/html-demo-element@1.0.8/html-demo-element.js"></script>
159
-
160
- </body>
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
+ }
38
+ </style>
39
+ </head>
40
+
41
+ <body>
42
+ <template id="cem-icon-link">
43
+ <attribute name="href"></attribute>
44
+ <attribute name="icon"></attribute>
45
+ <attribute aria-description="color appearance. Default value is 'normal'. Values: normal|primary|secondary|alert|blend"
46
+ name="kind"></attribute>
47
+ <style>
48
+ &:not([kind]) a, &[kind="normal"] a {
49
+ /*background-color: var(--mdc-theme-primary, #6200ee);*/
50
+ }
51
+
52
+ a {
53
+ display: inline-flex;
54
+ align-items: center;
55
+ gap: 0.5rem;
56
+ padding: 0.5rem 1rem;;
57
+ border-radius: 1.5rem;
58
+
59
+ background-color: var(--cem-action-primary-background);
60
+ transition: var(--cem-action-transition);
61
+ box-shadow: var(--cem-action-box-shadow);
62
+
63
+ &:hover {
64
+ background-color: var(--cem-action-primary-background-hover);
65
+ box-shadow: var(--cem-action-box-shadow-hover);
66
+ }
67
+
68
+ &:focus {
69
+ background-color: var(--cem-action-primary-background-focus);
70
+ }
71
+
72
+ &:active, &:focus:active {
73
+ background-color: var(--cem-action-primary-background-active);
74
+ }
75
+
76
+ &, &:visited {
77
+ text-decoration: none;
78
+ color: var(--mat-light-blue-900);
79
+ }
80
+ --icon-size: 2rem;
81
+ min-height: var(--icon-size);
82
+ }
83
+
84
+ .icon {
85
+ font-size: var(--icon-size);
86
+ height: var(--icon-size);
87
+ }
88
+
89
+ </style>
90
+ <a href="{$href}">
91
+ <choose>
92
+ <when test="contains($icon,'/')"><img alt="DCE logo" class="icon" src="{$icon}"/></when>
93
+ <when test="contains($icon,'fa-')"><i class="icon {$icon}"></i></when>
94
+ <when test="$icon"><span class="icon material-icons">{$icon}</span></when>
95
+ </choose>
96
+ <slot></slot>
97
+ </a>
98
+ </template>
99
+
100
+ <custom-element hidden src="#cem-icon-link" tag="cem-icon-link"></custom-element>
101
+
102
+ <header class="cem-theme-teal">
103
+ <custom-element src="../index.html#nav-head" ></custom-element>
104
+ </header>
105
+ <main>
106
+ <p><code>cem-icon-link</code> is button like component from &lt;custom-element&gt; Material suite based on the
107
+ <a href="https://material.io/components" >Material Design specification</a>.
108
+ </p>
109
+ <p>
110
+ <code>direction</code> attribute defines css <code>row</code> or <code>column</code> flex-direction.
111
+ </p>
112
+
113
+
114
+ <html-demo-element legend="Image from importmap module"
115
+ description="logo SVG with link to file in module">
116
+ <template>
117
+ <custom-element>
118
+ <template>
119
+ <module-url slice="cem-url" src="@epa-wg/material"></module-url>
120
+ <module-url slice="logo-url" src="@epa-wg/custom-element/demo/wc-square.svg"></module-url>
121
+ <cem-icon-link href="{//cem-url}/" icon="{//logo-url}"> custom-element</cem-icon-link>
122
+ <cem-icon-link icon="https://unpkg.com/pokeapi-sprites@2.0.2/sprites/pokemon/other/dream-world/1.svg">
123
+ bulbasaur</cem-icon-link>
124
+ </template>
125
+ </custom-element>
126
+ </template>
127
+ </html-demo-element>
128
+
129
+ <html-demo-element legend="Google Material icon font" >
130
+ <p slot="description">
131
+ <a href="https://fonts.google.com/icons">Material Icon</a> example.
132
+ </p>
133
+ <template>
134
+ <cem-icon-link icon="recycling"> recycling</cem-icon-link>
135
+ <cem-icon-link icon="shopping_cart"> shopping_cart</cem-icon-link>
136
+ </template>
137
+ </html-demo-element>
138
+
139
+ <html-demo-element legend="Fontawesome" >
140
+ <p slot="description">
141
+ <a href="https://fontawesome.com/icons/">Fontawesome Icon</a> example.
142
+ </p>
143
+ <template>
144
+ <cem-icon-link icon="fab fa-github" > GitHub </cem-icon-link>
145
+ <cem-icon-link icon="fas fa-cloud-upload-alt" > Upload </cem-icon-link>
146
+ </template>
147
+ </html-demo-element>
148
+
149
+
150
+
151
+
152
+
153
+ </main>
154
+ <footer>
155
+ <hr/>
156
+ <a href="../../LICENSE"> Code and documentation licensed under an Apache License 2.0 </a>
157
+ </footer>
158
+ <script type="module" src="https://unpkg.com/html-demo-element@1.0.8/html-demo-element.js"></script>
159
+
160
+ </body>
161
161
  </html>