@epa-wg/custom-element-dist 0.0.37 → 0.0.39

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 (117) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/AGENTS.md +1 -0
  3. package/CLAUDE.md +89 -0
  4. package/README.md +5 -5
  5. package/bin/postinstall.sh +18 -10
  6. package/coverage/base.css +224 -0
  7. package/coverage/block-navigation.js +87 -0
  8. package/coverage/coverage-final.json +12 -0
  9. package/coverage/favicon.png +0 -0
  10. package/coverage/index.html +176 -0
  11. package/coverage/prettify.css +1 -0
  12. package/coverage/prettify.js +2 -0
  13. package/coverage/sort-arrow-sprite.png +0 -0
  14. package/coverage/sorter.js +210 -0
  15. package/coverage/src/coverage.svg +10 -0
  16. package/coverage/src/custom-element/coverage.svg +10 -0
  17. package/coverage/src/custom-element/custom-element.js/coverage.svg +10 -0
  18. package/coverage/src/custom-element/custom-element.js.html +3058 -0
  19. package/coverage/src/custom-element/http-request.js/coverage.svg +10 -0
  20. package/coverage/src/custom-element/http-request.js.html +373 -0
  21. package/coverage/src/custom-element/index.html +176 -0
  22. package/coverage/src/custom-element/local-storage.js/coverage.svg +10 -0
  23. package/coverage/src/custom-element/local-storage.js.html +361 -0
  24. package/coverage/src/custom-element/location-element.js/coverage.svg +10 -0
  25. package/coverage/src/custom-element/location-element.js.html +412 -0
  26. package/coverage/src/custom-element/module-url.js/coverage.svg +10 -0
  27. package/coverage/src/custom-element/module-url.js.html +187 -0
  28. package/coverage/src/index.html +116 -0
  29. package/coverage/src/material/theme/colors.js/coverage.svg +10 -0
  30. package/coverage/src/material/theme/colors.js.html +217 -0
  31. package/coverage/src/material/theme/coverage.svg +10 -0
  32. package/coverage/src/material/theme/index.html +116 -0
  33. package/coverage/src/mocks/coverage.svg +10 -0
  34. package/coverage/src/mocks/handlers.ts/coverage.svg +10 -0
  35. package/coverage/src/mocks/handlers.ts.html +196 -0
  36. package/coverage/src/mocks/index.html +116 -0
  37. package/coverage/src/stories/coverage.svg +10 -0
  38. package/coverage/src/stories/frame.canvas.ts/coverage.svg +10 -0
  39. package/coverage/src/stories/frame.canvas.ts.html +217 -0
  40. package/coverage/src/stories/http-request.stories.ts/coverage.svg +10 -0
  41. package/coverage/src/stories/http-request.stories.ts.html +820 -0
  42. package/coverage/src/stories/index.html +146 -0
  43. package/coverage/src/stories/testStoryBook.ts/coverage.svg +10 -0
  44. package/coverage/src/stories/testStoryBook.ts.html +160 -0
  45. package/coverage/src/sum.ts/coverage.svg +10 -0
  46. package/coverage/src/sum.ts.html +94 -0
  47. package/dist/{custom-element-BqBcmDiN.js → custom-element-Cr_I3Xd-.js} +69 -65
  48. package/dist/custom-element-D5IF46oF.cjs +97 -0
  49. package/dist/custom-element-bundle.cjs +1 -1
  50. package/dist/custom-element-bundle.js +3 -3
  51. package/dist/demo/a.html +41 -64
  52. package/dist/demo/s.xslt +94 -350
  53. package/dist/{local-storage-DzmNKzgN.js → local-storage-w0k66UWM.js} +4 -4
  54. package/package.json +3 -2
  55. package/public/demo/a.html +41 -64
  56. package/public/demo/s.xslt +94 -350
  57. package/src/css/cem-combined.css +1058 -0
  58. package/src/custom-element/custom-element.js +9 -4
  59. package/src/custom-element/demo/a.html +41 -64
  60. package/src/custom-element/demo/s.xslt +94 -350
  61. package/src/custom-element/ide/customData-dce.json +8 -8
  62. package/src/custom-element/ide/web-types-dce.json +8 -8
  63. package/src/custom-element/ide/web-types-xsl.json +1 -1
  64. package/src/material/components/action.html +77 -22
  65. package/src/material/components/autocomplete.html +7 -6
  66. package/src/material/components/badge.html +33 -34
  67. package/src/material/components/cem-theme-components.css +131 -0
  68. package/src/material/components/dropdown.html +27 -12
  69. package/src/material/components/icon-link.html +25 -18
  70. package/src/material/components/icon.html +15 -14
  71. package/src/material/components/input.html +27 -24
  72. package/src/material/components/menu.html +23 -18
  73. package/src/material/components.html +31 -23
  74. package/src/material/demo.css +24 -12
  75. package/src/material/index.html +16 -10
  76. package/src/material/theme/consumer-theme.css +0 -733
  77. package/src/material/theme/semantic.css +1 -85
  78. package/src/mocks/versions.mock.ts +1 -1
  79. package/src/stories/__screenshots__/http-request.test.ts/http-request-url-change-1.png +0 -0
  80. package/src/stories/__screenshots__/location-element.test.stories.ts/location-element-location-element-Demo-1.png +0 -0
  81. package/src/stories/frame.canvas.ts +17 -4
  82. package/src/stories/testStoryBook.ts +2 -5
  83. package/storybook-static/assets/{Color-F6OSRLHC-FZZzFn7T.js → Color-F6OSRLHC-DM-zIDJc.js} +1 -1
  84. package/storybook-static/assets/{Configure-DyfktOJO.js → Configure-Bv7Hf8nO.js} +1 -1
  85. package/storybook-static/assets/{DocsRenderer-CFRXHY34-5isVpCzj.js → DocsRenderer-CFRXHY34-BNrvQCFF.js} +2 -2
  86. package/storybook-static/assets/{attributes.test.stories-CrDC-RXf.js → attributes.test.stories-Bs0zZtYO.js} +1 -1
  87. package/storybook-static/assets/{css.test.stories-ChWnZJwa.js → css.test.stories-CK4N9Fqq.js} +1 -1
  88. package/storybook-static/assets/custom-element-PxTx2W9y.js +97 -0
  89. package/storybook-static/assets/{dom-merge.test.stories-DkarPqD_.js → dom-merge.test.stories-DLFviA8F.js} +1 -1
  90. package/storybook-static/assets/{external-template.test.stories-DCboR8sG.js → external-template.test.stories-CqR1aaHv.js} +1 -1
  91. package/storybook-static/assets/{form.test.stories-BjeeUu0b.js → form.test.stories-Cinvg_DI.js} +1 -1
  92. package/storybook-static/assets/frame.canvas-BB4_DNn6.js +1 -0
  93. package/storybook-static/assets/handlers-C9n1hhtS.js +291 -0
  94. package/storybook-static/assets/{http-request.stories-WIldq1MC.js → http-request.stories-CwYdgaOh.js} +1 -1
  95. package/storybook-static/assets/{iframe-CBHPj1E5.js → iframe-DX9w3Kge.js} +2 -2
  96. package/storybook-static/assets/{index-CzwPLrca.js → index-C8cHSFtw.js} +1 -1
  97. package/storybook-static/assets/{index-BL0FQnAE.js → index-DgXlQmnf.js} +3 -3
  98. package/storybook-static/assets/{local-storage.test.stories-DLMK0p2s.js → local-storage.test.stories-M4WOSQC5.js} +1 -1
  99. package/storybook-static/assets/{location-element.test.stories-BroqoLMS.js → location-element.test.stories-Ce6Ma8hE.js} +1 -1
  100. package/storybook-static/assets/{module-url.test.stories-B-0dibET.js → module-url.test.stories-PwnZWqKL.js} +1 -1
  101. package/storybook-static/assets/{preview-C1KnQPMW.js → preview-DxO5Yt9a.js} +1 -1
  102. package/storybook-static/assets/{preview-BG24UPL5.js → preview-ln0vFKa2.js} +2 -2
  103. package/storybook-static/assets/{set-url.test.stories-Dhq4YQyr.js → set-url.test.stories-BdNTYEwI.js} +1 -1
  104. package/storybook-static/assets/{slice-events.test.stories-BZJGIFku.js → slice-events.test.stories-BdvLtK0h.js} +1 -1
  105. package/storybook-static/assets/{slots.test.stories-DKivHwZH.js → slots.test.stories-CoTPvRog.js} +1 -1
  106. package/storybook-static/assets/{version-select.test.stories-Dntyd7qb.js → version-select.test.stories-hs-HsDVE.js} +1 -1
  107. package/storybook-static/assets/{xslt-conditionals.test.stories-Iq5iQNRj.js → xslt-conditionals.test.stories-C4oXVQWa.js} +1 -1
  108. package/storybook-static/assets/{xslt-for-each.test.stories-BMygBmj8.js → xslt-for-each.test.stories-Da4vCZe1.js} +1 -1
  109. package/storybook-static/assets/{xslt-if.test.stories-CVrFWdAX.js → xslt-if.test.stories-CMlnBGX2.js} +1 -1
  110. package/storybook-static/demo/a.html +41 -64
  111. package/storybook-static/demo/s.xslt +94 -350
  112. package/storybook-static/iframe.html +1 -1
  113. package/storybook-static/project.json +1 -1
  114. package/dist/custom-element-jpOyXHF6.cjs +0 -97
  115. package/storybook-static/assets/custom-element-wuk8gYiP.js +0 -97
  116. package/storybook-static/assets/frame.canvas-E5n9h6j1.js +0 -1
  117. package/storybook-static/assets/handlers-B7UMnC7v.js +0 -291
@@ -57,7 +57,7 @@
57
57
  "tags": [
58
58
  {
59
59
  "name": "custom-element",
60
- "description": "Declarative Cuestom ELement(DCE). `<custom-element tag='my-element'></custom-element>`.",
60
+ "description": "Declarative Custom Element (DCE). `<custom-element tag='my-element'></custom-element>`.",
61
61
  "attributes": [
62
62
  {
63
63
  "name": "hidden",
@@ -173,7 +173,7 @@
173
173
  "references": [
174
174
  {
175
175
  "name": "docs",
176
- "url": "https://github.com/EPA-WG/custom-element"
176
+ "url": "https://unpkg.com/@epa-wg/custom-element@0/demo/location-element.html"
177
177
  }
178
178
  ]
179
179
  },
@@ -222,7 +222,7 @@
222
222
  "references": [
223
223
  {
224
224
  "name": "docs",
225
- "url": "https://github.com/EPA-WG/custom-element"
225
+ "url": "https://unpkg.com/@epa-wg/custom-element@0/demo/http-request.html"
226
226
  }
227
227
  ]
228
228
  },
@@ -263,7 +263,7 @@
263
263
  "references": [
264
264
  {
265
265
  "name": "docs",
266
- "url": "https://github.com/EPA-WG/custom-element"
266
+ "url": "https://unpkg.com/@epa-wg/custom-element@0/demo/http-request.html"
267
267
  }
268
268
  ]
269
269
  },
@@ -289,7 +289,7 @@
289
289
  "references": [
290
290
  {
291
291
  "name": "docs",
292
- "url": "https://github.com/EPA-WG/custom-element"
292
+ "url": "https://unpkg.com/@epa-wg/custom-element@0/demo/local-storage.html"
293
293
  }
294
294
  ]
295
295
  },
@@ -300,7 +300,7 @@
300
300
  "references": [
301
301
  {
302
302
  "name": "docs",
303
- "url": "https://github.com/EPA-WG/custom-element"
303
+ "url": "https://unpkg.com/@epa-wg/custom-element@0/demo/local-storage.html"
304
304
  }
305
305
  ]
306
306
  },
@@ -311,7 +311,7 @@
311
311
  "references": [
312
312
  {
313
313
  "name": "docs",
314
- "url": "https://github.com/EPA-WG/custom-element"
314
+ "url": "https://unpkg.com/@epa-wg/custom-element@0/demo/local-storage.html"
315
315
  }
316
316
  ]
317
317
  },
@@ -330,7 +330,7 @@
330
330
  "references": [
331
331
  {
332
332
  "name": "docs",
333
- "url": "https://github.com/EPA-WG/custom-element"
333
+ "url": "https://unpkg.com/@epa-wg/custom-element@0/demo/local-storage.html"
334
334
  }
335
335
  ]
336
336
  }
@@ -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.37",
4
+ "version": "0.0.39",
5
5
  "js-types-syntax": "typescript",
6
6
  "description-markup": "markdown",
7
7
  "contributions": {
@@ -105,7 +105,7 @@
105
105
  {
106
106
  "name": "location-element",
107
107
  "description": "get/set window URL parts or from SRC URL",
108
- "doc-url": "https://github.com/EPA-WG/custom-element",
108
+ "doc-url": "https://unpkg.com/@epa-wg/custom-element@0/demo/location-element.html",
109
109
  "attributes": [
110
110
  {
111
111
  "name": "href",
@@ -181,13 +181,13 @@
181
181
  {
182
182
  "name": "http-request",
183
183
  "description": "Fetches data from a URL and exposes request, response, and parsed data via the value property. Supports JSON and XML response parsing.",
184
- "doc-url": "https://github.com/EPA-WG/custom-element",
184
+ "doc-url": "https://unpkg.com/@epa-wg/custom-element@0/demo/http-request.html",
185
185
  "attributes": [
186
186
  {
187
187
  "name": "url",
188
188
  "description": "The URL to fetch data from. When changed, triggers a new fetch request.",
189
189
  "required": false,
190
- "doc-url": "https://github.com/EPA-WG/custom-element",
190
+ "doc-url": "https://unpkg.com/@epa-wg/custom-element@0/demo/http-request.html",
191
191
  "value": {
192
192
  "type": "string"
193
193
  }
@@ -240,7 +240,7 @@
240
240
  {
241
241
  "name": "local-storage",
242
242
  "description": "Provides access to localStorage with reactive updates. Reads and writes values to localStorage by key.",
243
- "doc-url": "https://github.com/EPA-WG/custom-element",
243
+ "doc-url": "https://unpkg.com/@epa-wg/custom-element@0/demo/local-storage.html",
244
244
  "attributes": [
245
245
  {
246
246
  "name": "key",
@@ -255,7 +255,7 @@
255
255
  "name": "type",
256
256
  "description": "Value type: text, json, or input types (number, date). Defaults to text.",
257
257
  "required": false,
258
- "doc-url": "https://github.com/EPA-WG/custom-element",
258
+ "doc-url": "https://unpkg.com/@epa-wg/custom-element@0/demo/local-storage.html",
259
259
  "value": {
260
260
  "type": "string"
261
261
  }
@@ -264,7 +264,7 @@
264
264
  "name": "value",
265
265
  "description": "Initial value to set in localStorage. If omitted, reads existing value.",
266
266
  "required": false,
267
- "doc-url": "https://github.com/EPA-WG/custom-element",
267
+ "doc-url": "https://unpkg.com/@epa-wg/custom-element@0/demo/local-storage.html",
268
268
  "value": {
269
269
  "type": "string"
270
270
  }
@@ -273,7 +273,7 @@
273
273
  "name": "live",
274
274
  "description": "When present, monitors localStorage changes and updates reactively",
275
275
  "required": false,
276
- "doc-url": "https://github.com/EPA-WG/custom-element",
276
+ "doc-url": "https://unpkg.com/@epa-wg/custom-element@0/demo/local-storage.html",
277
277
  "value": {
278
278
  "type": "boolean"
279
279
  }
@@ -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.37",
4
+ "version": "0.0.39",
5
5
  "js-types-syntax": "typescript",
6
6
  "description-markup": "markdown",
7
7
  "contributions": {
@@ -27,6 +27,7 @@ Action variation
27
27
  <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
28
28
  <title>Components - custom-element - Material Design</title>
29
29
  <link href="../../custom-element/demo/wc-square.svg" rel="icon"/>
30
+ <link href="../../css/cem-combined.css" rel="stylesheet"/>
30
31
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"/>
31
32
  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0&icon_names=shift" /> <link crossorigin="anonymous" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css"
32
33
  integrity="sha384-DyZ88mC6Up2uqS4h/KRgHuoeGwBcD4Ng9SiP4dIRy0EXTlnuz47vAwmeGwVChigm" rel="stylesheet"/>
@@ -43,31 +44,31 @@ Action variation
43
44
  <style>
44
45
  @import "../angular.css";
45
46
  @import "../material.css";
46
- @import "../theme/semantic.css";
47
- @import "../theme/consumer-theme.css";
47
+ @import "./cem-theme-components.css";
48
48
  @import "../demo.css";
49
49
  main{
50
50
  display: flex; flex-wrap: wrap;
51
- gap: 3rem;
52
- padding: 5rem;
51
+ gap: var(--cem-gap-page);
52
+ padding: var(--cem-layout-gutter-max);
53
53
  &>p{ min-width: 90%; }
54
54
  html-demo-element
55
55
  { overflow: visible;
56
- [slot="legend"]{ border-radius: 1rem 1rem 0 0; }
57
- [slot="description"]{ padding: 0 1rem 1rem 1rem; dd{ padding: 0 !important;margin: 0; }}
56
+ [slot="legend"]{ border-radius: var(--cem-bend-surface) var(--cem-bend-surface) 0 0; }
57
+ [slot="description"]{ padding: 0 var(--cem-inset-container) var(--cem-inset-container) var(--cem-inset-container); dd{ padding: 0 !important;margin: 0; }}
58
58
  [slot="description"] dd{ padding: 0; }
59
- [slot="demo"]{ display: flex; gap: 2rem; align-items: center; justify-content: center;}
59
+ [slot="demo"]{ display: flex; gap: var(--cem-gap-section); align-items: center; justify-content: center;}
60
60
  }
61
- var{ color: darkgreen; font-weight: bold; }
62
- flex-3x{ display: inline-flex; flex-wrap: wrap;gap:3rem; max-width:12rem;}
61
+ var{ color: var(--cem-palette-calm-text); font-weight: var(--cem-typography-tag-font-weight); }
62
+ flex-3x{ display: inline-flex; flex-wrap: wrap; gap: var(--cem-gap-page); max-width: 12rem;}
63
63
  cem-action{display: inline-block;}
64
+ }
64
65
  </style>
65
66
  </head>
66
67
  <!--
67
68
  ToDO
68
69
  * docs w/ how to use
69
70
  -->
70
- <body>
71
+ <body class="cem-theme-light">
71
72
  <template id="cem-action">
72
73
  <attribute name="text"
73
74
  aria-description="button text content. "
@@ -85,15 +86,69 @@ ToDO
85
86
  aria-description="Boolean. Default is 'false'. Values: true|false"
86
87
  ></attribute>
87
88
  <style>
88
- & button{
89
- display: flex; align-items: center; justify-content: center; gap:1em;
89
+ & {
90
+ display: inline-block;
91
+ --cem-action-background-color: var(--cem-action-explicit-default-background);
92
+ --cem-action-color: var(--cem-action-explicit-default-text);
93
+ }
94
+ &[color="primary"] {
95
+ --cem-action-background-color: var(--cem-action-primary-default-background);
96
+ --cem-action-color: var(--cem-action-primary-default-text);
97
+ }
98
+ &[color="secondary"] {
99
+ --cem-action-background-color: var(--cem-action-alternate-default-background);
100
+ --cem-action-color: var(--cem-action-alternate-default-text);
101
+ }
102
+ &[color="success"] {
103
+ --cem-action-background-color: var(--cem-palette-calm);
104
+ --cem-action-color: var(--cem-palette-calm-text);
105
+ }
106
+ &[color="alert"] {
107
+ --cem-action-background-color: var(--cem-action-destructive-default-background);
108
+ --cem-action-color: var(--cem-action-destructive-default-text);
109
+ }
110
+ &:hover {
111
+ --cem-action-background-color: var(--cem-action-explicit-hover-background);
112
+ --cem-action-color: var(--cem-action-explicit-hover-text);
113
+ --cem-action-box-shadow: var(--cem-action-box-shadow-hover);
114
+ }
115
+ &[color="primary"]:hover {
116
+ --cem-action-background-color: var(--cem-action-primary-hover-background);
117
+ --cem-action-color: var(--cem-action-primary-hover-text);
118
+ }
119
+ &[color="secondary"]:hover {
120
+ --cem-action-background-color: var(--cem-action-alternate-hover-background);
121
+ --cem-action-color: var(--cem-action-alternate-hover-text);
122
+ }
123
+ &[color="alert"]:hover {
124
+ --cem-action-background-color: var(--cem-action-destructive-hover-background);
125
+ --cem-action-color: var(--cem-action-destructive-hover-text);
126
+ }
127
+ &:active {
128
+ --cem-action-box-shadow: var(--cem-action-box-shadow-active);
129
+ }
130
+ & button {
131
+ display: flex;
132
+ align-items: center;
133
+ justify-content: center;
134
+ gap: var(--cem-gap-related);
135
+ width: 100%;
136
+ min-height: var(--cem-control-height);
137
+ padding: var(--cem-action-box-padding);
138
+ border: var(--cem-action-border, var(--cem-stroke-none) solid transparent);
139
+ border-radius: var(--cem-action-border-radius);
90
140
  background-color: var(--cem-action-background-color);
91
141
  color: var(--cem-action-color);
92
- width: 100%;
142
+ box-shadow: var(--cem-action-box-shadow);
143
+ font-family: var(--cem-typography-ui-font-family);
144
+ font-size: var(--cem-typography-ui-font-size);
145
+ font-weight: var(--cem-typography-ui-font-weight);
146
+ transition: var(--cem-action-transition);
147
+ }
148
+ &:focus-within button {
149
+ outline: var(--cem-stroke-focus) solid var(--cem-zebra-color-1);
150
+ outline-offset: var(--cem-stroke-indicator-offset);
93
151
  }
94
- &[color="secondary"]>*>dd{ background-color: var(--cem-action-color-secondary); }
95
- &[color="success"]>*>dd{ background-color: var(--cem-action-color-success); }
96
- &[color="alert"]>*>dd{ background-color: var(--cem-action-color-alert); }
97
152
 
98
153
  </style>
99
154
  <button><slot>{text}</slot></button>
@@ -104,7 +159,7 @@ ToDO
104
159
  <custom-element hidden src="./icon-link.html#cem-icon-link" tag="cem-icon-link"></custom-element>
105
160
  <custom-element hidden src="./icon.html#cem-icon" tag="cem-icon"></custom-element>
106
161
 
107
- <header class="cem-theme-teal">
162
+ <header>
108
163
  <custom-element src="../index.html#nav-head"></custom-element>
109
164
  </header>
110
165
  <main>
@@ -188,10 +243,10 @@ ToDO
188
243
  <template>
189
244
  <style>
190
245
  &
191
- { --cem-action-text-color:red;
192
- --cem-action-color:#FF08;
193
- --cem-action-border: 1px blue solid;
194
- cem-action dd{box-shadow: -2px 3px 8px blue;}
246
+ { --cem-action-text-color: var(--cem-action-destructive-default-text);
247
+ --cem-action-color: var(--cem-action-destructive-default-background);
248
+ --cem-action-border: var(--cem-stroke-boundary) solid var(--cem-palette-trust);
249
+ cem-action dd{box-shadow: var(--cem-layer-work-floating);}
195
250
  }
196
251
  </style>
197
252
  <cem-action text="123"> CUSTOM COLOR </cem-action>
@@ -259,4 +314,4 @@ ToDO
259
314
  <script src="https://unpkg.com/html-demo-element@1.0.8/html-demo-element.js" type="module"></script>
260
315
 
261
316
  </body>
262
- </html>
317
+ </html>
@@ -5,6 +5,7 @@
5
5
  <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
6
6
  <title>Components - custom-element - Material Design</title>
7
7
  <link href="../../custom-element/demo/wc-square.svg" rel="icon"/>
8
+ <link href="../../css/cem-combined.css" rel="stylesheet"/>
8
9
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"/>
9
10
  <link crossorigin="anonymous" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css"
10
11
  integrity="sha384-DyZ88mC6Up2uqS4h/KRgHuoeGwBcD4Ng9SiP4dIRy0EXTlnuz47vAwmeGwVChigm" rel="stylesheet"/>
@@ -21,25 +22,25 @@
21
22
  <style>
22
23
  @import "../angular.css";
23
24
  @import "../material.css";
24
- @import "../theme/semantic.css";
25
+ @import "./cem-theme-components.css";
25
26
  @import "../demo.css";
26
27
  main{
27
28
  display: flex; flex-wrap: wrap;
28
- gap: 3rem;
29
- padding: 5rem;
29
+ gap: var(--cem-gap-page);
30
+ padding: var(--cem-layout-gutter-max);
30
31
  &>p{ min-width: 90%; }
31
32
  html-demo-element{flex:1; width: 100%; }
32
33
  }
33
34
  </style>
34
35
  </head>
35
36
 
36
- <body>
37
+ <body class="cem-theme-light">
37
38
  <custom-element tag="cem-icon-link" hidden src="./icon-link.html#cem-icon-link" ></custom-element>
38
39
  <custom-element tag="cem-input" hidden src="./input.html#cem-input" ></custom-element>
39
40
  <custom-element tag="cem-menu" hidden src="./menu.html#cem-menu"></custom-element>
40
41
 
41
42
 
42
- <header class="cem-theme-teal">
43
+ <header>
43
44
  <custom-element src="../index.html#nav-head" ></custom-element>
44
45
  </header>
45
46
  <main>
@@ -165,4 +166,4 @@
165
166
  <script type="module" src="https://unpkg.com/html-demo-element@1/html-demo-element.js"></script>
166
167
 
167
168
  </body>
168
- </html>
169
+ </html>
@@ -5,6 +5,7 @@
5
5
  <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
6
6
  <title>Components - custom-element - Material Design</title>
7
7
  <link href="../../custom-element/demo/wc-square.svg" rel="icon"/>
8
+ <link href="../../css/cem-combined.css" rel="stylesheet"/>
8
9
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"/>
9
10
  <link crossorigin="anonymous" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css"
10
11
  integrity="sha384-DyZ88mC6Up2uqS4h/KRgHuoeGwBcD4Ng9SiP4dIRy0EXTlnuz47vAwmeGwVChigm" rel="stylesheet"/>
@@ -21,29 +22,29 @@
21
22
  <style>
22
23
  @import "../angular.css";
23
24
  @import "../material.css";
24
- @import "../theme/semantic.css";
25
+ @import "./cem-theme-components.css";
25
26
  @import "../demo.css";
26
27
  main{
27
28
  display: flex; flex-wrap: wrap;
28
- gap: 3rem;
29
- padding: 5rem;
29
+ gap: var(--cem-gap-page);
30
+ padding: var(--cem-layout-gutter-max);
30
31
  &>p{ min-width: 90%; }
31
32
  html-demo-element
32
33
  { 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; }}
34
+ [slot="legend"]{ border-radius: var(--cem-bend-surface) var(--cem-bend-surface) 0 0; }
35
+ [slot="description"]{ padding: 0 var(--cem-inset-container) var(--cem-inset-container) var(--cem-inset-container); dd{ padding: 0 !important;margin: 0; }}
35
36
  [slot="description"] dd{ padding: 0; }
36
37
  }
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;}
38
+ var{ color: var(--cem-palette-calm-text); font-weight: var(--cem-typography-tag-font-weight); }
39
+ html-demo-element { [slot="demo"] { display: flex; gap: var(--cem-gap-page); } } }
40
+ flex-3x{ display: inline-flex; flex-wrap: wrap; gap: var(--cem-gap-page); max-width: 12rem;}
40
41
  </style>
41
42
  </head>
42
43
  <!--
43
44
  ToDO
44
45
  * docs w/ how to use
45
46
  -->
46
- <body>
47
+ <body class="cem-theme-light">
47
48
  <template id="cem-badge">
48
49
  <attribute name="text"
49
50
  aria-description="Badge text content. Up to 4 characters including + sign."
@@ -61,7 +62,7 @@ ToDO
61
62
  aria-description="Boolean. Default is 'false'. Values: true|false"
62
63
  ></attribute>
63
64
  <style>
64
- &[dot]>*>dd{ height: 0; width: 0; min-width: 0.5rem; color: transparent; padding: 0; min-height: 0.5rem; }
65
+ &[dot]>*>dd{ height: 0; width: 0; min-width: var(--cem-dim-x-small); color: transparent; padding: 0; min-height: var(--cem-dim-x-small); }
65
66
  &[invisible]>*>dd{ height: 0; width: 0; min-width: 0; color: transparent; padding: 0; min-height:0; }
66
67
  &[align~=left]>*>dd{ --cem-badge-align-h: -100%; }
67
68
  &[align~=center]>*>dd{ --cem-badge-align-h: -25%; }
@@ -70,9 +71,11 @@ ToDO
70
71
  &[align~=middle]>*>dd{ --cem-badge-align-v: 25%; }
71
72
  &[align~=bottom]>*>dd{ --cem-badge-align-v: 75%; }
72
73
  &{ position: relative; display: inline-block; --cem-badge-align-v: -50%; --cem-badge-align-h: 50%; }
74
+ &[color="primary"]{ --cem-badge-color: var(--cem-badge-color-primary); --cem-badge-text-color: var(--cem-action-primary-default-text); }
75
+ &[color="secondary"]{ --cem-badge-color: var(--cem-badge-color-secondary); --cem-badge-text-color: var(--cem-action-alternate-default-text); }
76
+ &[color="success"]{ --cem-badge-color: var(--cem-badge-color-success); --cem-badge-text-color: var(--cem-palette-calm-text); }
77
+ &[color="alert"]{ --cem-badge-color: var(--cem-badge-color-alert); --cem-badge-text-color: var(--cem-action-destructive-default-text); }
73
78
  &>*>dd{
74
- /*position: absolute; top:-0.5rem; border-radius: 0.5rem; */
75
- /*padding: 0.25rem; background-color: red;*/
76
79
  display: flex ;
77
80
  flex-direction: row;
78
81
  flex-wrap: wrap;
@@ -83,27 +86,24 @@ ToDO
83
86
  align-items: center;
84
87
  position: absolute;
85
88
  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;
89
+ font-family: var(--cem-typography-tag-font-family);
90
+ font-weight: var(--cem-typography-tag-font-weight);
91
+ font-size: var(--cem-typography-tag-font-size);
92
+ min-width: calc(var(--cem-dim-large) + var(--cem-dim-xx-small));
93
+ line-height: var(--cem-typography-tag-line-height);
94
+ height: calc(var(--cem-dim-large) + var(--cem-dim-xx-small));
92
95
  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));
96
+ background-color: var(--cem-badge-color, var(--cem-badge-color-primary));
97
+ color: var(--cem-badge-text-color, var(--cem-action-primary-default-text));
95
98
  top: 0;
96
99
  right: 0;
97
100
  transform: scale(1) translate(var(--cem-badge-align-h), var(--cem-badge-align-v));
98
101
  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);
102
+ padding: 0 var(--cem-dim-x-small);
103
+ border-radius: var(--cem-bend-round);
104
+ border: var(--cem-badge-border);
105
+ transition: all var(--cem-duration-action) var(--cem-easing-smooth);
103
106
  }
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
107
 
108
108
  </style>
109
109
  <dd>{text}</dd>
@@ -111,11 +111,10 @@ ToDO
111
111
  </template>
112
112
 
113
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
114
  <custom-element hidden src="./icon-link.html#cem-icon-link" tag="cem-icon-link"></custom-element>
116
115
  <custom-element hidden src="./icon.html#cem-icon" tag="cem-icon"></custom-element>
117
116
 
118
- <header class="cem-theme-teal">
117
+ <header>
119
118
  <custom-element src="../index.html#nav-head"></custom-element>
120
119
  </header>
121
120
  <main>
@@ -165,10 +164,10 @@ ToDO
165
164
  <template>
166
165
  <style>
167
166
  &
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;}
167
+ { --cem-badge-text-color: var(--cem-action-destructive-default-text);
168
+ --cem-badge-color: var(--cem-action-destructive-default-background);
169
+ --cem-badge-border: var(--cem-stroke-boundary) solid var(--cem-palette-trust);
170
+ cem-badge dd{box-shadow: var(--cem-layer-work-floating);}
172
171
  }
173
172
  </style>
174
173
  <cem-badge text="123"> CUSTOM COLOR </cem-badge>
@@ -236,4 +235,4 @@ ToDO
236
235
  <script src="https://unpkg.com/html-demo-element@1.0.8/html-demo-element.js" type="module"></script>
237
236
 
238
237
  </body>
239
- </html>
238
+ </html>
@@ -0,0 +1,131 @@
1
+ :root {
2
+ --primary-color: var(--cem-palette-trust);
3
+ --secondary-color: var(--cem-palette-enthusiasm);
4
+ --alert-color: var(--cem-palette-danger);
5
+ --text-color: var(--cem-palette-comfort-text);
6
+
7
+ --cem-action-explicit-default-background: var(--cem-palette-creativity);
8
+ --cem-action-explicit-default-text: var(--cem-palette-creativity-text);
9
+ --cem-action-explicit-hover-background: color-mix(in srgb, var(--cem-palette-creativity) 70%, var(--cem-palette-creativity-x));
10
+ --cem-action-explicit-hover-text: var(--cem-palette-creativity-text);
11
+ --cem-action-explicit-active-background: color-mix(in srgb, var(--cem-palette-creativity) 25%, var(--cem-palette-creativity-x));
12
+ --cem-action-explicit-active-text: var(--cem-palette-creativity-text-x);
13
+
14
+ --cem-action-primary-default-background: var(--cem-palette-trust);
15
+ --cem-action-primary-default-text: var(--cem-palette-trust-text);
16
+ --cem-action-primary-hover-background: color-mix(in srgb, var(--cem-palette-trust) 70%, var(--cem-palette-trust-x));
17
+ --cem-action-primary-hover-text: var(--cem-palette-trust-text);
18
+ --cem-action-primary-active-background: color-mix(in srgb, var(--cem-palette-trust) 25%, var(--cem-palette-trust-x));
19
+ --cem-action-primary-active-text: var(--cem-palette-trust-text-x);
20
+ --cem-action-primary-disabled-background: color-mix(in srgb, var(--cem-palette-trust) 30%, var(--cem-palette-conservative-x));
21
+ --cem-action-primary-disabled-text: var(--cem-palette-conservative-text-x);
22
+
23
+ --cem-action-contextual-default-background: var(--cem-palette-comfort);
24
+ --cem-action-contextual-default-text: var(--cem-palette-comfort-text);
25
+ --cem-action-contextual-hover-background: color-mix(in srgb, var(--cem-palette-comfort) 70%, var(--cem-palette-comfort-x));
26
+ --cem-action-contextual-hover-text: var(--cem-palette-comfort-text);
27
+ --cem-action-contextual-active-background: color-mix(in srgb, var(--cem-palette-comfort) 25%, var(--cem-palette-comfort-x));
28
+ --cem-action-contextual-active-text: var(--cem-palette-comfort-text-x);
29
+ --cem-action-contextual-disabled-background: color-mix(in srgb, var(--cem-palette-comfort) 30%, var(--cem-palette-conservative-x));
30
+ --cem-action-contextual-disabled-text: var(--cem-palette-conservative-text-x);
31
+
32
+ --cem-action-alternate-default-background: var(--cem-palette-enthusiasm);
33
+ --cem-action-alternate-default-text: var(--cem-palette-enthusiasm-text);
34
+ --cem-action-alternate-hover-background: color-mix(in srgb, var(--cem-palette-enthusiasm) 70%, var(--cem-palette-enthusiasm-x));
35
+ --cem-action-alternate-hover-text: var(--cem-palette-enthusiasm-text);
36
+ --cem-action-alternate-active-background: color-mix(in srgb, var(--cem-palette-enthusiasm) 25%, var(--cem-palette-enthusiasm-x));
37
+ --cem-action-alternate-active-text: var(--cem-palette-enthusiasm-text-x);
38
+
39
+ --cem-action-destructive-default-background: var(--cem-palette-danger);
40
+ --cem-action-destructive-default-text: var(--cem-palette-danger-text);
41
+ --cem-action-destructive-hover-background: color-mix(in srgb, var(--cem-palette-danger) 70%, var(--cem-palette-danger-x));
42
+ --cem-action-destructive-hover-text: var(--cem-palette-danger-text);
43
+ --cem-action-destructive-active-background: color-mix(in srgb, var(--cem-palette-danger) 25%, var(--cem-palette-danger-x));
44
+ --cem-action-destructive-active-text: var(--cem-palette-danger-text-x);
45
+
46
+ --cem-action-background-color: var(--cem-action-explicit-default-background);
47
+ --cem-action-color: var(--cem-action-explicit-default-text);
48
+ --cem-action-color-secondary: var(--cem-action-alternate-default-background);
49
+ --cem-action-color-success: var(--cem-palette-calm);
50
+ --cem-action-color-alert: var(--cem-action-destructive-default-background);
51
+ --cem-action-border-radius: var(--cem-bend-control);
52
+ --cem-action-box-padding: var(--cem-control-padding-y) var(--cem-control-padding-x);
53
+ --cem-action-box-shadow: var(--cem-layer-work);
54
+ --cem-action-box-shadow-hover: var(--cem-layer-work-floating);
55
+ --cem-action-box-shadow-active: var(--cem-layer-base);
56
+ --cem-action-transition:
57
+ background-color var(--cem-duration-action) var(--cem-easing-smooth),
58
+ color var(--cem-duration-action) var(--cem-easing-smooth),
59
+ box-shadow var(--cem-duration-action) var(--cem-easing-smooth);
60
+
61
+ --cem-action-primary-color: var(--cem-action-primary-default-text);
62
+ --cem-action-primary-background: var(--cem-action-primary-default-background);
63
+ --cem-action-primary-background-hover: var(--cem-action-primary-hover-background);
64
+ --cem-action-primary-background-focus: var(--cem-action-primary-hover-background);
65
+ --cem-action-primary-background-active: var(--cem-action-primary-active-background);
66
+
67
+ --cem-list-background-color: var(--cem-action-contextual-default-background);
68
+ --cem-list-background-color-hover: var(--cem-action-contextual-hover-background);
69
+ --cem-list-background-color-focus: var(--cem-action-primary-hover-background);
70
+
71
+ --cem-app-surface-variant: var(--cem-palette-conservative);
72
+ --cem-app-on-surface: var(--cem-palette-conservative-text);
73
+ --cem-app-primary: var(--cem-palette-trust);
74
+ --cem-on-surface-variant: var(--cem-palette-conservative-text);
75
+
76
+ --cem-filled-text-field-container-color: var(--cem-palette-conservative);
77
+ --cem-filled-text-field-container-color-hover: color-mix(in srgb, var(--cem-palette-conservative) 70%, var(--cem-palette-conservative-x));
78
+ --cem-filled-text-field-label-text-color: var(--cem-palette-conservative-text);
79
+ --cem-filled-text-field-input-text-color: var(--cem-palette-comfort-text);
80
+ --cem-filled-text-field-caret-color: var(--cem-palette-trust);
81
+ --cem-outline-color-focus: var(--cem-palette-creativity-x);
82
+ --cem-focus-outline-height: var(--cem-stroke-strong);
83
+ --cem-input-outline-color: var(--cem-palette-conservative-x);
84
+ --cem-input-outline: inset 0 calc(-1 * var(--cem-stroke-divider)) 0 var(--cem-input-outline-color);
85
+ --cem-sys-body-small-size: var(--cem-typography-size-xxs);
86
+ --cem-form-field-subscript-text-size: var(--cem-typography-tag-font-size);
87
+
88
+ --cem-drop-transition: all var(--cem-duration-overlay) var(--cem-easing-highlighted-end);
89
+
90
+ --cem-icon-size-small: var(--cem-typography-size-l);
91
+ --cem-icon-size: var(--cem-icon-button-icon-size);
92
+ --cem-icon-size-large: var(--cem-dim-x-large);
93
+ }
94
+
95
+ .cem-theme-light,
96
+ [data-theme="cem-theme-light"] {
97
+ --cem-app-surface-variant: var(--cem-color-grey-l);
98
+ --cem-filled-text-field-container-color: var(--cem-color-grey-l);
99
+ --cem-filled-text-field-container-color-hover: color-mix(in srgb, var(--cem-color-grey-l) 70%, var(--cem-color-grey-d));
100
+ }
101
+
102
+ .cem-theme-dark,
103
+ [data-theme="cem-theme-dark"] {
104
+ --cem-app-surface-variant: var(--cem-color-grey-d);
105
+ --cem-filled-text-field-container-color: var(--cem-color-grey-d);
106
+ --cem-filled-text-field-container-color-hover: color-mix(in srgb, var(--cem-color-grey-d) 70%, var(--cem-color-grey-l));
107
+ }
108
+
109
+ body {
110
+ background-color: var(--cem-palette-comfort);
111
+ color: var(--cem-palette-comfort-text);
112
+ font-family: var(--cem-typography-reading-font-family);
113
+ }
114
+
115
+ .cem-bend-sharp {
116
+ --cem-bend: var(--cem-bend-sharp);
117
+ --cem-bend-control: var(--cem-bend);
118
+ --cem-action-border-radius: var(--cem-bend-control);
119
+ }
120
+
121
+ .cem-bend-smooth {
122
+ --cem-bend: var(--cem-bend-smooth);
123
+ --cem-bend-control: var(--cem-bend);
124
+ --cem-action-border-radius: var(--cem-bend-control);
125
+ }
126
+
127
+ .cem-bend-round {
128
+ --cem-bend: var(--cem-bend-round);
129
+ --cem-bend-control: var(--cem-bend);
130
+ --cem-action-border-radius: var(--cem-bend-control);
131
+ }