@epa-wg/custom-element-dist 0.0.36 → 0.0.38

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 (99) hide show
  1. package/.ai/mcp/mcp.json +0 -0
  2. package/.yarn/install-state.gz +0 -0
  3. package/AGENTS.md +1 -0
  4. package/CLAUDE.md +89 -0
  5. package/README.md +5 -5
  6. package/bin/postinstall.sh +12 -9
  7. package/coverage/coverage-final.json +4 -4
  8. package/coverage/index.html +25 -25
  9. package/coverage/src/custom-element/coverage.svg +1 -1
  10. package/coverage/src/custom-element/custom-element.js/coverage.svg +1 -1
  11. package/coverage/src/custom-element/custom-element.js.html +175 -160
  12. package/coverage/src/custom-element/http-request.js.html +10 -10
  13. package/coverage/src/custom-element/index.html +14 -14
  14. package/coverage/src/custom-element/local-storage.js.html +1 -1
  15. package/coverage/src/custom-element/location-element.js.html +1 -1
  16. package/coverage/src/custom-element/module-url.js.html +1 -1
  17. package/coverage/src/index.html +1 -1
  18. package/coverage/src/material/theme/colors.js.html +1 -1
  19. package/coverage/src/material/theme/index.html +1 -1
  20. package/coverage/src/mocks/handlers.ts.html +1 -1
  21. package/coverage/src/mocks/index.html +1 -1
  22. package/coverage/src/stories/coverage.svg +1 -1
  23. package/coverage/src/stories/frame.canvas.ts/coverage.svg +1 -1
  24. package/coverage/src/stories/frame.canvas.ts.html +54 -12
  25. package/coverage/src/stories/http-request.stories.ts.html +1 -1
  26. package/coverage/src/stories/index.html +19 -19
  27. package/coverage/src/stories/testStoryBook.ts.html +7 -16
  28. package/coverage/src/sum.ts.html +1 -1
  29. package/dist/{custom-element-BqBcmDiN.js → custom-element-Cr_I3Xd-.js} +69 -65
  30. package/dist/custom-element-D5IF46oF.cjs +97 -0
  31. package/dist/custom-element-bundle.cjs +1 -1
  32. package/dist/custom-element-bundle.js +3 -3
  33. package/dist/demo/a.html +41 -64
  34. package/dist/demo/s.xslt +94 -350
  35. package/dist/{local-storage-DzmNKzgN.js → local-storage-w0k66UWM.js} +4 -4
  36. package/package.json +3 -2
  37. package/public/demo/a.html +41 -64
  38. package/public/demo/s.xslt +94 -350
  39. package/src/custom-element/custom-element.js +9 -4
  40. package/src/custom-element/demo/a.html +41 -64
  41. package/src/custom-element/demo/s.xslt +94 -350
  42. package/src/custom-element/ide/customData-dce.json +8 -8
  43. package/src/custom-element/ide/web-types-dce.json +8 -8
  44. package/src/custom-element/ide/web-types-xsl.json +1 -1
  45. package/src/material/components/action.html +77 -22
  46. package/src/material/components/autocomplete.html +7 -6
  47. package/src/material/components/badge.html +33 -34
  48. package/src/material/components/cem-theme-components.css +131 -0
  49. package/src/material/components/dropdown.html +27 -12
  50. package/src/material/components/icon-link.html +25 -18
  51. package/src/material/components/icon.html +15 -14
  52. package/src/material/components/input.html +27 -24
  53. package/src/material/components/menu.html +23 -18
  54. package/src/material/components.html +19 -18
  55. package/src/material/demo.css +24 -12
  56. package/src/material/index.html +15 -9
  57. package/src/material/theme/colors-native.html +32 -1
  58. package/src/material/theme/consumer-theme.css +0 -733
  59. package/src/material/theme/semantic.css +1 -85
  60. package/src/mocks/versions.mock.ts +1 -1
  61. package/src/stories/__screenshots__/http-request.test.ts/http-request-url-change-1.png +0 -0
  62. package/src/stories/__screenshots__/location-element.test.stories.ts/location-element-location-element-Demo-1.png +0 -0
  63. package/src/stories/frame.canvas.ts +17 -4
  64. package/src/stories/testStoryBook.ts +2 -5
  65. package/storybook-static/assets/{Color-F6OSRLHC-D1CN2nnQ.js → Color-F6OSRLHC-CGlEPECH.js} +1 -1
  66. package/storybook-static/assets/{Configure-BD0b2x9E.js → Configure-RleqRiQ0.js} +1 -1
  67. package/storybook-static/assets/{DocsRenderer-CFRXHY34-VjrP5Ir6.js → DocsRenderer-CFRXHY34-Bz2y61tp.js} +2 -2
  68. package/storybook-static/assets/{attributes.test.stories-CrDC-RXf.js → attributes.test.stories-Bs0zZtYO.js} +1 -1
  69. package/storybook-static/assets/{css.test.stories-ChWnZJwa.js → css.test.stories-CK4N9Fqq.js} +1 -1
  70. package/storybook-static/assets/custom-element-PxTx2W9y.js +97 -0
  71. package/storybook-static/assets/{dom-merge.test.stories-DkarPqD_.js → dom-merge.test.stories-DLFviA8F.js} +1 -1
  72. package/storybook-static/assets/{external-template.test.stories-DCboR8sG.js → external-template.test.stories-CqR1aaHv.js} +1 -1
  73. package/storybook-static/assets/{form.test.stories-BjeeUu0b.js → form.test.stories-Cinvg_DI.js} +1 -1
  74. package/storybook-static/assets/frame.canvas-BB4_DNn6.js +1 -0
  75. package/storybook-static/assets/handlers-CxSWbsdK.js +291 -0
  76. package/storybook-static/assets/{http-request.stories-Boz_yWek.js → http-request.stories-_1_UMvj-.js} +1 -1
  77. package/storybook-static/assets/{iframe-BN389ZL5.js → iframe-fXv0bS2C.js} +2 -2
  78. package/storybook-static/assets/{index-C4PGem3Z.js → index-Dm-gke4Y.js} +3 -3
  79. package/storybook-static/assets/{index-PzQAcTTK.js → index-DxjDM4Ny.js} +1 -1
  80. package/storybook-static/assets/{local-storage.test.stories-DLMK0p2s.js → local-storage.test.stories-M4WOSQC5.js} +1 -1
  81. package/storybook-static/assets/{location-element.test.stories-BroqoLMS.js → location-element.test.stories-Ce6Ma8hE.js} +1 -1
  82. package/storybook-static/assets/{module-url.test.stories-B-0dibET.js → module-url.test.stories-PwnZWqKL.js} +1 -1
  83. package/storybook-static/assets/{preview-idY559eZ.js → preview-Dq4-5PA5.js} +2 -2
  84. package/storybook-static/assets/{preview-DXd5xnQg.js → preview-kbHljohz.js} +1 -1
  85. package/storybook-static/assets/{set-url.test.stories-Dhq4YQyr.js → set-url.test.stories-BdNTYEwI.js} +1 -1
  86. package/storybook-static/assets/{slice-events.test.stories-BZJGIFku.js → slice-events.test.stories-BdvLtK0h.js} +1 -1
  87. package/storybook-static/assets/{slots.test.stories-DKivHwZH.js → slots.test.stories-CoTPvRog.js} +1 -1
  88. package/storybook-static/assets/{version-select.test.stories-Dntyd7qb.js → version-select.test.stories-hs-HsDVE.js} +1 -1
  89. package/storybook-static/assets/{xslt-conditionals.test.stories-Iq5iQNRj.js → xslt-conditionals.test.stories-C4oXVQWa.js} +1 -1
  90. package/storybook-static/assets/{xslt-for-each.test.stories-BMygBmj8.js → xslt-for-each.test.stories-Da4vCZe1.js} +1 -1
  91. package/storybook-static/assets/{xslt-if.test.stories-CVrFWdAX.js → xslt-if.test.stories-CMlnBGX2.js} +1 -1
  92. package/storybook-static/demo/a.html +41 -64
  93. package/storybook-static/demo/s.xslt +94 -350
  94. package/storybook-static/iframe.html +1 -1
  95. package/storybook-static/project.json +1 -1
  96. package/dist/custom-element-jpOyXHF6.cjs +0 -97
  97. package/storybook-static/assets/custom-element-wuk8gYiP.js +0 -97
  98. package/storybook-static/assets/frame.canvas-E5n9h6j1.js +0 -1
  99. package/storybook-static/assets/handlers-B8a2v6Dv.js +0 -291
@@ -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="../../../node_modules/@epa-wg/cem-theme/dist/lib/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="../../../node_modules/@epa-wg/cem-theme/dist/lib/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="../../../node_modules/@epa-wg/cem-theme/dist/lib/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
+ }
@@ -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="../../../node_modules/@epa-wg/cem-theme/dist/lib/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,14 +22,14 @@
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
 
27
28
  main {
28
29
  display: flex;
29
30
  flex-wrap: wrap;
30
- gap: 3rem;
31
- padding: 5rem;
31
+ gap: var(--cem-gap-page);
32
+ padding: var(--cem-layout-gutter-max);
32
33
 
33
34
  & > p {
34
35
  min-width: 90%;
@@ -38,11 +39,11 @@
38
39
  overflow: visible;
39
40
 
40
41
  [slot="legend"] {
41
- border-radius: 1rem 1rem 0 0;
42
+ border-radius: var(--cem-bend-surface) var(--cem-bend-surface) 0 0;
42
43
  }
43
44
 
44
45
  [slot="description"] {
45
- padding: 0 1rem 1rem 1rem;
46
+ padding: 0 var(--cem-inset-container) var(--cem-inset-container) var(--cem-inset-container);
46
47
 
47
48
  dd {
48
49
  padding: 0 !important;
@@ -59,11 +60,11 @@
59
60
  </style>
60
61
  </head>
61
62
 
62
- <body>
63
+ <body class="cem-theme-light">
63
64
  <custom-element hidden src="./icon-link.html#cem-icon-link" tag="cem-icon-link"></custom-element>
64
65
  <custom-element hidden src="./menu.html#cem-menu" tag="cem-menu"></custom-element>
65
66
 
66
- <header class="cem-theme-teal">
67
+ <header>
67
68
  <custom-element src="../index.html#nav-head"></custom-element>
68
69
  </header>
69
70
  <main>
@@ -80,13 +81,24 @@
80
81
  &>* {
81
82
  position: relative;
82
83
 
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);
84
- --cem-dropdown-max-height: 10rem;
85
- --cem-dropdown-base-min-width: 8em;
84
+ --cem-dropdown-shadow: var(--cem-layer-overlay);
85
+ --cem-dropdown-max-height: calc(4 * var(--cem-menu-row-height));
86
+ --cem-dropdown-base-min-width: calc(4 * var(--cem-control-height));
86
87
 
87
88
  & > label {
88
89
  min-width: var(--cem-dropdown-base-min-width);
89
90
  display: inline-block;
91
+ min-height: var(--cem-control-height);
92
+ padding: var(--cem-control-padding-y) var(--cem-control-padding-x);
93
+ border-radius: var(--cem-bend-control);
94
+ background: var(--cem-action-contextual-default-background);
95
+ color: var(--cem-action-contextual-default-text);
96
+ cursor: pointer;
97
+ }
98
+
99
+ & > label:focus-visible {
100
+ outline: var(--cem-stroke-focus) solid var(--cem-zebra-color-1);
101
+ outline-offset: var(--cem-stroke-indicator-offset);
90
102
  }
91
103
 
92
104
  & > aside {
@@ -101,14 +113,17 @@
101
113
  display: flex;
102
114
  flex-direction: column;
103
115
 
116
+ background: var(--cem-action-contextual-default-background);
117
+ color: var(--cem-action-contextual-default-text);
104
118
  border-radius: var(--cem-autocomplete-container-shape);
105
119
  border-top-left-radius: 0;
106
120
  border-top-right-radius: 0;
107
121
  box-shadow: var(--cem-dropdown-shadow);
122
+ z-index: 1;
108
123
  }
109
124
  }
110
125
  </style>
111
- <slot name="base"><label>{$label}</label></slot>
126
+ <slot name="base"><label tabindex="0">{$label}</label></slot>
112
127
  <aside>
113
128
  <slot name=""></slot>
114
129
  </aside>
@@ -170,4 +185,4 @@
170
185
  <script src="https://unpkg.com/html-demo-element@1/html-demo-element.js" type="module"></script>
171
186
 
172
187
  </body>
173
- </html>
188
+ </html>