@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.
- package/.ai/mcp/mcp.json +0 -0
- package/.yarn/install-state.gz +0 -0
- package/AGENTS.md +1 -0
- package/CLAUDE.md +89 -0
- package/README.md +5 -5
- package/bin/postinstall.sh +12 -9
- package/coverage/coverage-final.json +4 -4
- package/coverage/index.html +25 -25
- package/coverage/src/custom-element/coverage.svg +1 -1
- package/coverage/src/custom-element/custom-element.js/coverage.svg +1 -1
- package/coverage/src/custom-element/custom-element.js.html +175 -160
- package/coverage/src/custom-element/http-request.js.html +10 -10
- package/coverage/src/custom-element/index.html +14 -14
- package/coverage/src/custom-element/local-storage.js.html +1 -1
- package/coverage/src/custom-element/location-element.js.html +1 -1
- package/coverage/src/custom-element/module-url.js.html +1 -1
- package/coverage/src/index.html +1 -1
- package/coverage/src/material/theme/colors.js.html +1 -1
- package/coverage/src/material/theme/index.html +1 -1
- package/coverage/src/mocks/handlers.ts.html +1 -1
- package/coverage/src/mocks/index.html +1 -1
- package/coverage/src/stories/coverage.svg +1 -1
- package/coverage/src/stories/frame.canvas.ts/coverage.svg +1 -1
- package/coverage/src/stories/frame.canvas.ts.html +54 -12
- package/coverage/src/stories/http-request.stories.ts.html +1 -1
- package/coverage/src/stories/index.html +19 -19
- package/coverage/src/stories/testStoryBook.ts.html +7 -16
- package/coverage/src/sum.ts.html +1 -1
- package/dist/{custom-element-BqBcmDiN.js → custom-element-Cr_I3Xd-.js} +69 -65
- package/dist/custom-element-D5IF46oF.cjs +97 -0
- package/dist/custom-element-bundle.cjs +1 -1
- package/dist/custom-element-bundle.js +3 -3
- package/dist/demo/a.html +41 -64
- package/dist/demo/s.xslt +94 -350
- package/dist/{local-storage-DzmNKzgN.js → local-storage-w0k66UWM.js} +4 -4
- package/package.json +3 -2
- package/public/demo/a.html +41 -64
- package/public/demo/s.xslt +94 -350
- package/src/custom-element/custom-element.js +9 -4
- package/src/custom-element/demo/a.html +41 -64
- package/src/custom-element/demo/s.xslt +94 -350
- package/src/custom-element/ide/customData-dce.json +8 -8
- package/src/custom-element/ide/web-types-dce.json +8 -8
- package/src/custom-element/ide/web-types-xsl.json +1 -1
- package/src/material/components/action.html +77 -22
- package/src/material/components/autocomplete.html +7 -6
- package/src/material/components/badge.html +33 -34
- package/src/material/components/cem-theme-components.css +131 -0
- package/src/material/components/dropdown.html +27 -12
- package/src/material/components/icon-link.html +25 -18
- package/src/material/components/icon.html +15 -14
- package/src/material/components/input.html +27 -24
- package/src/material/components/menu.html +23 -18
- package/src/material/components.html +19 -18
- package/src/material/demo.css +24 -12
- package/src/material/index.html +15 -9
- package/src/material/theme/colors-native.html +32 -1
- package/src/material/theme/consumer-theme.css +0 -733
- package/src/material/theme/semantic.css +1 -85
- package/src/mocks/versions.mock.ts +1 -1
- package/src/stories/__screenshots__/http-request.test.ts/http-request-url-change-1.png +0 -0
- package/src/stories/__screenshots__/location-element.test.stories.ts/location-element-location-element-Demo-1.png +0 -0
- package/src/stories/frame.canvas.ts +17 -4
- package/src/stories/testStoryBook.ts +2 -5
- package/storybook-static/assets/{Color-F6OSRLHC-D1CN2nnQ.js → Color-F6OSRLHC-CGlEPECH.js} +1 -1
- package/storybook-static/assets/{Configure-BD0b2x9E.js → Configure-RleqRiQ0.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-CFRXHY34-VjrP5Ir6.js → DocsRenderer-CFRXHY34-Bz2y61tp.js} +2 -2
- package/storybook-static/assets/{attributes.test.stories-CrDC-RXf.js → attributes.test.stories-Bs0zZtYO.js} +1 -1
- package/storybook-static/assets/{css.test.stories-ChWnZJwa.js → css.test.stories-CK4N9Fqq.js} +1 -1
- package/storybook-static/assets/custom-element-PxTx2W9y.js +97 -0
- package/storybook-static/assets/{dom-merge.test.stories-DkarPqD_.js → dom-merge.test.stories-DLFviA8F.js} +1 -1
- package/storybook-static/assets/{external-template.test.stories-DCboR8sG.js → external-template.test.stories-CqR1aaHv.js} +1 -1
- package/storybook-static/assets/{form.test.stories-BjeeUu0b.js → form.test.stories-Cinvg_DI.js} +1 -1
- package/storybook-static/assets/frame.canvas-BB4_DNn6.js +1 -0
- package/storybook-static/assets/handlers-CxSWbsdK.js +291 -0
- package/storybook-static/assets/{http-request.stories-Boz_yWek.js → http-request.stories-_1_UMvj-.js} +1 -1
- package/storybook-static/assets/{iframe-BN389ZL5.js → iframe-fXv0bS2C.js} +2 -2
- package/storybook-static/assets/{index-C4PGem3Z.js → index-Dm-gke4Y.js} +3 -3
- package/storybook-static/assets/{index-PzQAcTTK.js → index-DxjDM4Ny.js} +1 -1
- package/storybook-static/assets/{local-storage.test.stories-DLMK0p2s.js → local-storage.test.stories-M4WOSQC5.js} +1 -1
- package/storybook-static/assets/{location-element.test.stories-BroqoLMS.js → location-element.test.stories-Ce6Ma8hE.js} +1 -1
- package/storybook-static/assets/{module-url.test.stories-B-0dibET.js → module-url.test.stories-PwnZWqKL.js} +1 -1
- package/storybook-static/assets/{preview-idY559eZ.js → preview-Dq4-5PA5.js} +2 -2
- package/storybook-static/assets/{preview-DXd5xnQg.js → preview-kbHljohz.js} +1 -1
- package/storybook-static/assets/{set-url.test.stories-Dhq4YQyr.js → set-url.test.stories-BdNTYEwI.js} +1 -1
- package/storybook-static/assets/{slice-events.test.stories-BZJGIFku.js → slice-events.test.stories-BdvLtK0h.js} +1 -1
- package/storybook-static/assets/{slots.test.stories-DKivHwZH.js → slots.test.stories-CoTPvRog.js} +1 -1
- package/storybook-static/assets/{version-select.test.stories-Dntyd7qb.js → version-select.test.stories-hs-HsDVE.js} +1 -1
- package/storybook-static/assets/{xslt-conditionals.test.stories-Iq5iQNRj.js → xslt-conditionals.test.stories-C4oXVQWa.js} +1 -1
- package/storybook-static/assets/{xslt-for-each.test.stories-BMygBmj8.js → xslt-for-each.test.stories-Da4vCZe1.js} +1 -1
- package/storybook-static/assets/{xslt-if.test.stories-CVrFWdAX.js → xslt-if.test.stories-CMlnBGX2.js} +1 -1
- package/storybook-static/demo/a.html +41 -64
- package/storybook-static/demo/s.xslt +94 -350
- package/storybook-static/iframe.html +1 -1
- package/storybook-static/project.json +1 -1
- package/dist/custom-element-jpOyXHF6.cjs +0 -97
- package/storybook-static/assets/custom-element-wuk8gYiP.js +0 -97
- package/storybook-static/assets/frame.canvas-E5n9h6j1.js +0 -1
- package/storybook-static/assets/handlers-B8a2v6Dv.js +0 -291
|
@@ -14,357 +14,101 @@
|
|
|
14
14
|
</xsl:template>
|
|
15
15
|
<xsl:template mode="payload" match="attributes">
|
|
16
16
|
<dce-root xmlns="http://www.w3.org/1999/xhtml" xmlns:xhtml="http://www.w3.org/1999/xhtml" data-dce-id="1">
|
|
17
|
-
<
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
<
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
</td>
|
|
36
|
-
<td data-dce-id="17">blue</td>
|
|
37
|
-
<td data-dce-id="18">xl</td>
|
|
38
|
-
<td data-dce-id="19">
|
|
39
|
-
<code data-dce-id="20">#faf9fd</code>
|
|
40
|
-
</td>
|
|
41
|
-
<td data-dce-id="21">Lightest blue</td>
|
|
42
|
-
<td data-dce-id="22">Comfort/trust emotion (light scene)</td>
|
|
43
|
-
</tr>
|
|
44
|
-
<tr data-dce-id="23">
|
|
45
|
-
<td data-dce-id="24">
|
|
46
|
-
<code data-dce-id="25">--cem-color-blue-l</code>
|
|
47
|
-
</td>
|
|
48
|
-
<td data-dce-id="26">blue</td>
|
|
49
|
-
<td data-dce-id="27">l</td>
|
|
50
|
-
<td data-dce-id="28">
|
|
51
|
-
<code data-dce-id="29">#d7e3ff</code>
|
|
52
|
-
</td>
|
|
53
|
-
<td data-dce-id="30">Light blue</td>
|
|
54
|
-
<td data-dce-id="31">Trust palette, attention semantic</td>
|
|
55
|
-
</tr>
|
|
56
|
-
<tr data-dce-id="32">
|
|
57
|
-
<td data-dce-id="33">
|
|
58
|
-
<code data-dce-id="34">--cem-color-blue-d</code>
|
|
59
|
-
</td>
|
|
60
|
-
<td data-dce-id="35">blue</td>
|
|
61
|
-
<td data-dce-id="36">d</td>
|
|
62
|
-
<td data-dce-id="37">
|
|
63
|
-
<code data-dce-id="38">#002f65</code>
|
|
64
|
-
</td>
|
|
65
|
-
<td data-dce-id="39">Dark blue</td>
|
|
66
|
-
<td data-dce-id="40">Trust palette (dark theme)</td>
|
|
67
|
-
</tr>
|
|
68
|
-
<tr data-dce-id="41">
|
|
69
|
-
<td data-dce-id="42">
|
|
70
|
-
<code data-dce-id="43">--cem-color-blue-xd</code>
|
|
71
|
-
</td>
|
|
72
|
-
<td data-dce-id="44">blue</td>
|
|
73
|
-
<td data-dce-id="45">xd</td>
|
|
74
|
-
<td data-dce-id="46">
|
|
75
|
-
<code data-dce-id="47">#1a1b1f</code>
|
|
76
|
-
</td>
|
|
77
|
-
<td data-dce-id="48">Darkest blue</td>
|
|
78
|
-
<td data-dce-id="49">Comfort/trust emotion (dark scene)</td>
|
|
79
|
-
</tr>
|
|
80
|
-
<tr data-dce-id="50">
|
|
81
|
-
<td data-dce-id="51">
|
|
82
|
-
<code data-dce-id="52">--cem-color-brown-xl</code>
|
|
83
|
-
</td>
|
|
84
|
-
<td data-dce-id="53">brown</td>
|
|
85
|
-
<td data-dce-id="54">xl</td>
|
|
86
|
-
<td data-dce-id="55">
|
|
87
|
-
<code data-dce-id="56">#d7ccc8</code>
|
|
88
|
-
</td>
|
|
89
|
-
<td data-dce-id="57">Extra light brown</td>
|
|
90
|
-
<td data-dce-id="58">Conservative palette (light theme)</td>
|
|
91
|
-
</tr>
|
|
92
|
-
<tr data-dce-id="59">
|
|
93
|
-
<td data-dce-id="60">
|
|
94
|
-
<code data-dce-id="61">--cem-color-brown-l</code>
|
|
95
|
-
</td>
|
|
96
|
-
<td data-dce-id="62">brown</td>
|
|
97
|
-
<td data-dce-id="63">l</td>
|
|
98
|
-
<td data-dce-id="64">
|
|
99
|
-
<code data-dce-id="65">#a1887f</code>
|
|
100
|
-
</td>
|
|
101
|
-
<td data-dce-id="66">Light brown</td>
|
|
102
|
-
<td data-dce-id="67">Conservative emotion, brand-3</td>
|
|
103
|
-
</tr>
|
|
104
|
-
<tr data-dce-id="68">
|
|
105
|
-
<td data-dce-id="69">
|
|
106
|
-
<code data-dce-id="70">--cem-color-brown-d</code>
|
|
107
|
-
</td>
|
|
108
|
-
<td data-dce-id="71">brown</td>
|
|
109
|
-
<td data-dce-id="72">d</td>
|
|
110
|
-
<td data-dce-id="73">
|
|
111
|
-
<code data-dce-id="74">#4e342e</code>
|
|
112
|
-
</td>
|
|
113
|
-
<td data-dce-id="75">Dark brown</td>
|
|
114
|
-
<td data-dce-id="76">Conservative palette (dark theme)</td>
|
|
115
|
-
</tr>
|
|
116
|
-
<tr data-dce-id="77">
|
|
117
|
-
<td data-dce-id="78">
|
|
118
|
-
<code data-dce-id="79">--cem-color-brown-xd</code>
|
|
119
|
-
</td>
|
|
120
|
-
<td data-dce-id="80">brown</td>
|
|
121
|
-
<td data-dce-id="81">xd</td>
|
|
122
|
-
<td data-dce-id="82">
|
|
123
|
-
<code data-dce-id="83">#3e2723</code>
|
|
124
|
-
</td>
|
|
125
|
-
<td data-dce-id="84">Extra dark brown</td>
|
|
126
|
-
<td data-dce-id="85">Conservative palette (dark theme, extreme)</td>
|
|
127
|
-
</tr>
|
|
128
|
-
<tr data-dce-id="86">
|
|
129
|
-
<td data-dce-id="87">
|
|
130
|
-
<code data-dce-id="88">--cem-color-cyan-xl</code>
|
|
131
|
-
</td>
|
|
132
|
-
<td data-dce-id="89">cyan</td>
|
|
133
|
-
<td data-dce-id="90">xl</td>
|
|
134
|
-
<td data-dce-id="91">
|
|
135
|
-
<code data-dce-id="92">#f1fefe</code>
|
|
136
|
-
</td>
|
|
137
|
-
<td data-dce-id="93">Extra light cyan</td>
|
|
138
|
-
<td data-dce-id="94">Used for comfort palette (light scenes)</td>
|
|
139
|
-
</tr>
|
|
140
|
-
<tr data-dce-id="95">
|
|
141
|
-
<td data-dce-id="96">
|
|
142
|
-
<code data-dce-id="97">--cem-color-cyan-l</code>
|
|
143
|
-
</td>
|
|
144
|
-
<td data-dce-id="98">cyan</td>
|
|
145
|
-
<td data-dce-id="99">l</td>
|
|
146
|
-
<td data-dce-id="100">
|
|
147
|
-
<code data-dce-id="101">#00fbfb</code>
|
|
148
|
-
</td>
|
|
149
|
-
<td data-dce-id="102">Light cyan</td>
|
|
150
|
-
<td data-dce-id="103">Calm palette, creativity accent</td>
|
|
151
|
-
</tr>
|
|
152
|
-
<tr data-dce-id="104">
|
|
153
|
-
<td data-dce-id="105">
|
|
154
|
-
<code data-dce-id="106">--cem-color-cyan-d</code>
|
|
155
|
-
</td>
|
|
156
|
-
<td data-dce-id="107">cyan</td>
|
|
157
|
-
<td data-dce-id="108">d</td>
|
|
158
|
-
<td data-dce-id="109">
|
|
159
|
-
<code data-dce-id="110">#006a6a</code>
|
|
160
|
-
</td>
|
|
161
|
-
<td data-dce-id="111">Dark cyan</td>
|
|
162
|
-
<td data-dce-id="112">Calm palette (dark theme)</td>
|
|
163
|
-
</tr>
|
|
164
|
-
<tr data-dce-id="113">
|
|
165
|
-
<td data-dce-id="114">
|
|
166
|
-
<code data-dce-id="115">--cem-color-cyan-xd</code>
|
|
167
|
-
</td>
|
|
168
|
-
<td data-dce-id="116">cyan</td>
|
|
169
|
-
<td data-dce-id="117">xd</td>
|
|
170
|
-
<td data-dce-id="118">
|
|
171
|
-
<code data-dce-id="119">#001010</code>
|
|
172
|
-
</td>
|
|
173
|
-
<td data-dce-id="120">Extra dark cyan</td>
|
|
174
|
-
<td data-dce-id="121">Used for comfort palette (dark scenes)</td>
|
|
175
|
-
</tr>
|
|
176
|
-
<tr data-dce-id="122">
|
|
177
|
-
<td data-dce-id="123">
|
|
178
|
-
<code data-dce-id="124">--cem-color-grey-l</code>
|
|
179
|
-
</td>
|
|
180
|
-
<td data-dce-id="125">grey</td>
|
|
181
|
-
<td data-dce-id="126">l</td>
|
|
182
|
-
<td data-dce-id="127">
|
|
183
|
-
<code data-dce-id="128">#f1f1eb</code>
|
|
184
|
-
</td>
|
|
185
|
-
<td data-dce-id="129">Light grey</td>
|
|
186
|
-
<td data-dce-id="130">Conservative palette, neutral backgrounds</td>
|
|
187
|
-
</tr>
|
|
188
|
-
<tr data-dce-id="131">
|
|
189
|
-
<td data-dce-id="132">
|
|
190
|
-
<code data-dce-id="133">--cem-color-grey-d</code>
|
|
191
|
-
</td>
|
|
192
|
-
<td data-dce-id="134">grey</td>
|
|
193
|
-
<td data-dce-id="135">d</td>
|
|
194
|
-
<td data-dce-id="136">
|
|
195
|
-
<code data-dce-id="137">#1a1c18</code>
|
|
196
|
-
</td>
|
|
197
|
-
<td data-dce-id="138">Dark grey</td>
|
|
198
|
-
<td data-dce-id="139">Conservative palette (dark theme)</td>
|
|
199
|
-
</tr>
|
|
200
|
-
<tr data-dce-id="140">
|
|
201
|
-
<td data-dce-id="141">
|
|
202
|
-
<code data-dce-id="142">--cem-color-orange-xl</code>
|
|
203
|
-
</td>
|
|
204
|
-
<td data-dce-id="143">orange</td>
|
|
205
|
-
<td data-dce-id="144">xl</td>
|
|
206
|
-
<td data-dce-id="145">
|
|
207
|
-
<code data-dce-id="146">#f0f070</code>
|
|
208
|
-
</td>
|
|
209
|
-
<td data-dce-id="147">Extra light yellow</td>
|
|
210
|
-
<td data-dce-id="148">Enthusiasm palette (light theme)</td>
|
|
211
|
-
</tr>
|
|
212
|
-
<tr data-dce-id="149">
|
|
213
|
-
<td data-dce-id="150">
|
|
214
|
-
<code data-dce-id="151">--cem-color-orange-l</code>
|
|
215
|
-
</td>
|
|
216
|
-
<td data-dce-id="152">orange</td>
|
|
217
|
-
<td data-dce-id="153">l</td>
|
|
218
|
-
<td data-dce-id="154">
|
|
219
|
-
<code data-dce-id="155">#ffe082</code>
|
|
220
|
-
</td>
|
|
221
|
-
<td data-dce-id="156">Light orange</td>
|
|
222
|
-
<td data-dce-id="157">Enthusiasm emotion, brand-2</td>
|
|
223
|
-
</tr>
|
|
224
|
-
<tr data-dce-id="158">
|
|
225
|
-
<td data-dce-id="159">
|
|
226
|
-
<code data-dce-id="160">--cem-color-orange-d</code>
|
|
227
|
-
</td>
|
|
228
|
-
<td data-dce-id="161">orange</td>
|
|
229
|
-
<td data-dce-id="162">d</td>
|
|
230
|
-
<td data-dce-id="163">
|
|
231
|
-
<code data-dce-id="164">#723600</code>
|
|
232
|
-
</td>
|
|
233
|
-
<td data-dce-id="165">Dark orange</td>
|
|
234
|
-
<td data-dce-id="166">Enthusiasm hype (dark theme)</td>
|
|
235
|
-
</tr>
|
|
236
|
-
<tr data-dce-id="167">
|
|
237
|
-
<td data-dce-id="168">
|
|
238
|
-
<code data-dce-id="169">--cem-color-orange-xd</code>
|
|
239
|
-
</td>
|
|
240
|
-
<td data-dce-id="170">orange</td>
|
|
241
|
-
<td data-dce-id="171">xd</td>
|
|
242
|
-
<td data-dce-id="172">
|
|
243
|
-
<code data-dce-id="173">#502400</code>
|
|
244
|
-
</td>
|
|
245
|
-
<td data-dce-id="174">Extra dark orange</td>
|
|
246
|
-
<td data-dce-id="175">Enthusiasm palette (dark theme, extreme)</td>
|
|
247
|
-
</tr>
|
|
248
|
-
<tr data-dce-id="176">
|
|
249
|
-
<td data-dce-id="177">
|
|
250
|
-
<code data-dce-id="178">--cem-color-purple-xl</code>
|
|
251
|
-
</td>
|
|
252
|
-
<td data-dce-id="179">purple</td>
|
|
253
|
-
<td data-dce-id="180">xl</td>
|
|
254
|
-
<td data-dce-id="181">
|
|
255
|
-
<code data-dce-id="182">#f3e5f5</code>
|
|
256
|
-
</td>
|
|
257
|
-
<td data-dce-id="183">Extra light purple</td>
|
|
258
|
-
<td data-dce-id="184">Creativity palette (light theme)</td>
|
|
259
|
-
</tr>
|
|
260
|
-
<tr data-dce-id="185">
|
|
261
|
-
<td data-dce-id="186">
|
|
262
|
-
<code data-dce-id="187">--cem-color-purple-l</code>
|
|
263
|
-
</td>
|
|
264
|
-
<td data-dce-id="188">purple</td>
|
|
265
|
-
<td data-dce-id="189">l</td>
|
|
266
|
-
<td data-dce-id="190">
|
|
267
|
-
<code data-dce-id="191">#e1bee7</code>
|
|
268
|
-
</td>
|
|
269
|
-
<td data-dce-id="192">Light purple</td>
|
|
270
|
-
<td data-dce-id="193">Creativity emotion, brand-1</td>
|
|
271
|
-
</tr>
|
|
272
|
-
<tr data-dce-id="194">
|
|
273
|
-
<td data-dce-id="195">
|
|
274
|
-
<code data-dce-id="196">--cem-color-purple-d</code>
|
|
275
|
-
</td>
|
|
276
|
-
<td data-dce-id="197">purple</td>
|
|
277
|
-
<td data-dce-id="198">d</td>
|
|
278
|
-
<td data-dce-id="199">
|
|
279
|
-
<code data-dce-id="200">#6a1b9a</code>
|
|
280
|
-
</td>
|
|
281
|
-
<td data-dce-id="201">Dark purple</td>
|
|
282
|
-
<td data-dce-id="202">Creativity palette (dark theme)</td>
|
|
283
|
-
</tr>
|
|
284
|
-
<tr data-dce-id="203">
|
|
285
|
-
<td data-dce-id="204">
|
|
286
|
-
<code data-dce-id="205">--cem-color-purple-xd</code>
|
|
287
|
-
</td>
|
|
288
|
-
<td data-dce-id="206">purple</td>
|
|
289
|
-
<td data-dce-id="207">xd</td>
|
|
290
|
-
<td data-dce-id="208">
|
|
291
|
-
<code data-dce-id="209">#4a148c</code>
|
|
292
|
-
</td>
|
|
293
|
-
<td data-dce-id="210">Extra dark purple</td>
|
|
294
|
-
<td data-dce-id="211">Creativity palette (dark theme, extreme)</td>
|
|
295
|
-
</tr>
|
|
296
|
-
<tr data-dce-id="212">
|
|
297
|
-
<td data-dce-id="213">
|
|
298
|
-
<code data-dce-id="214">--cem-color-red-xl</code>
|
|
299
|
-
</td>
|
|
300
|
-
<td data-dce-id="215">red</td>
|
|
301
|
-
<td data-dce-id="216">xl</td>
|
|
302
|
-
<td data-dce-id="217">
|
|
303
|
-
<code data-dce-id="218">#ffb4ab</code>
|
|
304
|
-
</td>
|
|
305
|
-
<td data-dce-id="219">Extra light red</td>
|
|
306
|
-
<td data-dce-id="220">Danger palette (light theme)</td>
|
|
307
|
-
</tr>
|
|
308
|
-
<tr data-dce-id="221">
|
|
309
|
-
<td data-dce-id="222">
|
|
310
|
-
<code data-dce-id="223">--cem-color-red-l</code>
|
|
311
|
-
</td>
|
|
312
|
-
<td data-dce-id="224">red</td>
|
|
313
|
-
<td data-dce-id="225">l</td>
|
|
314
|
-
<td data-dce-id="226">
|
|
315
|
-
<code data-dce-id="227">#ba1a1a</code>
|
|
316
|
-
</td>
|
|
317
|
-
<td data-dce-id="228">Light red</td>
|
|
318
|
-
<td data-dce-id="229">Danger emotion, alert semantic</td>
|
|
319
|
-
</tr>
|
|
320
|
-
<tr data-dce-id="230">
|
|
321
|
-
<td data-dce-id="231">
|
|
322
|
-
<code data-dce-id="232">--cem-color-red-d</code>
|
|
323
|
-
</td>
|
|
324
|
-
<td data-dce-id="233">red</td>
|
|
325
|
-
<td data-dce-id="234">d</td>
|
|
326
|
-
<td data-dce-id="235">
|
|
327
|
-
<code data-dce-id="236">#690005</code>
|
|
328
|
-
</td>
|
|
329
|
-
<td data-dce-id="237">Dark red</td>
|
|
330
|
-
<td data-dce-id="238">Danger palette (dark theme)</td>
|
|
331
|
-
</tr>
|
|
332
|
-
<tr data-dce-id="239">
|
|
333
|
-
<td data-dce-id="240">
|
|
334
|
-
<code data-dce-id="241">--cem-color-red-xd</code>
|
|
335
|
-
</td>
|
|
336
|
-
<td data-dce-id="242">red</td>
|
|
337
|
-
<td data-dce-id="243">xd</td>
|
|
338
|
-
<td data-dce-id="244">
|
|
339
|
-
<code data-dce-id="245">#410002</code>
|
|
340
|
-
</td>
|
|
341
|
-
<td data-dce-id="246">Extra dark red</td>
|
|
342
|
-
<td data-dce-id="247">Danger palette (dark theme, extreme)</td>
|
|
343
|
-
</tr>
|
|
344
|
-
</tbody>
|
|
345
|
-
</table>
|
|
346
|
-
</xsl:variable>
|
|
347
|
-
<label data-dce-id="248">
|
|
348
|
-
<input type="checkbox" data-testid="toggle-all" slice="show-all" value="ALL" data-dce-id="249"/>
|
|
349
|
-
<dce-text data-dce-id="250">ALL</dce-text>
|
|
350
|
-
</label>
|
|
351
|
-
<xsl:variable xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="cem-color-hue-variant"
|
|
352
|
-
select="exsl:node-set($test-data)//*[@id='cem-color-hue-variant']/following-sibling::table[1]/tbody"/>
|
|
353
|
-
<xsl:variable xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="all-or-nothing"
|
|
354
|
-
select="$cem-color-hue-variant[ //show-all = 'ALL' ]">
|
|
355
|
-
<dce-text data-dce-id="251">
|
|
356
|
-
0
|
|
357
|
-
</dce-text>
|
|
358
|
-
<xsl:for-each select="$all-or-nothing/*">
|
|
359
|
-
<div data-testid="color-{position()}" data-dce-id="252">
|
|
360
|
-
<xsl:value-of select="./*[1]"/>
|
|
361
|
-
</div>
|
|
17
|
+
<http-request xmlns="" method="GET" slice="cem-colors" url="../../../dist/lib/tokens/cem-colors.xhtml"
|
|
18
|
+
data-dce-id="2"/>
|
|
19
|
+
<xsl:variable xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="colorsData" select="//cem-colors"/>
|
|
20
|
+
<xsl:variable xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="cem-color-hue-variant"
|
|
21
|
+
select="$colorsData//*[@id='cem-color-hue-variant']/following-sibling::xhtml:table[1]/xhtml:tbody"/>
|
|
22
|
+
<xsl:variable xmlns:xsl="http://www.w3.org/1999/XSL/Transform" name="css-body">
|
|
23
|
+
<dce-text xmlns="" data-dce-id="3">
|
|
24
|
+
|
|
25
|
+
:root{
|
|
26
|
+
/* branded colors: cem-color-[hue]-[variant] */
|
|
27
|
+
|
|
28
|
+
</dce-text>
|
|
29
|
+
<span xmlns="" data-dce-id="4">
|
|
30
|
+
<xsl:for-each select="$cem-color-hue-variant/xhtml:tr">
|
|
31
|
+
<xsl:value-of select="./*[1]"/> :
|
|
32
|
+
<xsl:value-of select="./*[4]"/> ; /*
|
|
33
|
+
<xsl:value-of select="./*[5]"/> ;
|
|
34
|
+
<xsl:value-of select="./*[6]"/> */
|
|
362
35
|
</xsl:for-each>
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
36
|
+
</span>
|
|
37
|
+
<dce-text xmlns="" data-dce-id="5">
|
|
38
|
+
|
|
39
|
+
/* emotion palette: cem-palette-[emotion]-[shift] */
|
|
40
|
+
</dce-text>
|
|
41
|
+
<xsl:variable name="cem-palette-emotion-heading"
|
|
42
|
+
select="$colorsData//*[@id='cem-palette-emotion-shift']"/>
|
|
43
|
+
<xsl:variable name="cem-palette-emotion"
|
|
44
|
+
select="$cem-palette-emotion-heading/following-sibling::xhtml:table[1]/xhtml:tbody"/>
|
|
45
|
+
<dce-text xmlns="" data-dce-id="6">
|
|
46
|
+
/* light/dark */
|
|
47
|
+
</dce-text>
|
|
48
|
+
<span xmlns="" data-dce-id="7">
|
|
49
|
+
<xsl:for-each select="$cem-palette-emotion/xhtml:tr">
|
|
50
|
+
<xsl:variable name="emotion" select="xhtml:td[1]"/>
|
|
51
|
+
<xsl:variable name="light-val" select="xhtml:td[3]"/>
|
|
52
|
+
<xsl:variable name="dark-val" select="xhtml:td[4]"/>
|
|
53
|
+
<span data-dce-id="8">
|
|
54
|
+
<xsl:choose>
|
|
55
|
+
<xsl:when test="$dark-val">
|
|
56
|
+
<xsl:value-of select="$emotion"/>: light-dark(var( $light-val ), var( $dark-val ) );
|
|
57
|
+
</xsl:when>
|
|
58
|
+
<xsl:otherwise>
|
|
59
|
+
<xsl:value-of select="$emotion"/>: var( $light-val );
|
|
60
|
+
</xsl:otherwise>
|
|
61
|
+
</xsl:choose>
|
|
62
|
+
</span>
|
|
63
|
+
</xsl:for-each>
|
|
64
|
+
</span>
|
|
65
|
+
<dce-text xmlns="" data-dce-id="9">
|
|
66
|
+
/* override for native */
|
|
67
|
+
.cem-theme-native,[data-theme="cem-theme-native"]{
|
|
68
|
+
</dce-text>
|
|
69
|
+
<span xmlns="" data-dce-id="10">
|
|
70
|
+
<xsl:for-each select="$cem-palette-emotion/xhtml:tr">
|
|
71
|
+
<xsl:variable name="emotion" select="xhtml:td[1]"/>
|
|
72
|
+
<xsl:variable name="light-val" select="xhtml:td[5]"/>
|
|
73
|
+
<xsl:variable name="dark-val" select="xhtml:td[6]"/>
|
|
74
|
+
<span data-dce-id="11">
|
|
75
|
+
<xsl:choose>
|
|
76
|
+
<xsl:when test="$dark-val">
|
|
77
|
+
<xsl:value-of select="$emotion"/>: light-dark(var( $light-val ), var( $dark-val ) );
|
|
78
|
+
</xsl:when>
|
|
79
|
+
<xsl:otherwise>
|
|
80
|
+
<xsl:value-of select="$emotion"/>: var( $light-val );
|
|
81
|
+
</xsl:otherwise>
|
|
82
|
+
</xsl:choose>
|
|
83
|
+
</span>
|
|
84
|
+
</xsl:for-each>
|
|
85
|
+
</span>
|
|
86
|
+
<dce-text xmlns="" data-dce-id="12">
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
</dce-text>
|
|
90
|
+
</xsl:variable>
|
|
91
|
+
<pre xmlns="" class="language-css" data-dce-id="13">
|
|
92
|
+
<code class="language-css" data-dce-id="14">
|
|
93
|
+
<xsl:value-of select="$css-body"/>
|
|
94
|
+
</code>
|
|
95
|
+
</pre>
|
|
96
|
+
<cem-css-loader xmlns="" value="{$css-body}" data-dce-id="15"/>
|
|
97
|
+
<xsl:for-each xmlns:xsl="http://www.w3.org/1999/XSL/Transform" select="$cem-palette-emotion/xhtml:tr">
|
|
98
|
+
<xsl:variable name="emotion" select="xhtml:td[1]"/>
|
|
99
|
+
<xsl:variable name="light-val" select="xhtml:td[5]"/>
|
|
100
|
+
<xsl:variable name="dark-val" select="xhtml:td[6]"/>
|
|
101
|
+
<span xmlns="" data-dce-id="16">
|
|
102
|
+
<xsl:choose>
|
|
103
|
+
<xsl:when test="$dark-val">
|
|
104
|
+
<xsl:value-of select="$emotion"/>: light-dark(var( $light-val ), var( $dark-val ) );
|
|
105
|
+
</xsl:when>
|
|
106
|
+
<xsl:otherwise>
|
|
107
|
+
<xsl:value-of select="$emotion"/>: var( $light-val );
|
|
108
|
+
</xsl:otherwise>
|
|
109
|
+
</xsl:choose>
|
|
110
|
+
</span>
|
|
111
|
+
</xsl:for-each>
|
|
368
112
|
</dce-root>
|
|
369
113
|
</xsl:template>
|
|
370
114
|
<xsl:template match="/">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"generatedAt":
|
|
1
|
+
{"generatedAt":1777783128047,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":true,"hasStorybookEslint":false,"refCount":0,"testPackages":{"@vitest/browser":"3.0.5","@vitest/coverage-istanbul":"3.0.5","msw":"2.12.7","msw-storybook-addon":"2.0.6","playwright":"1.50.1","vitest":"3.0.5","webdriverio":"9.9.0"},"hasRouterPackage":false,"packageManager":{"type":"yarn","version":"4.12.0"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/web-components-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/web-components","portableStoriesFileCount":4,"applicationFileCount":3,"storybookVersion":"8.5.3","storybookVersionSpecifier":"8.5.3","language":"typescript","storybookPackages":{"@storybook/addon-links":{"version":"8.5.3"},"@storybook/addon-mdx-gfm":{"version":"8.5.3"},"@storybook/blocks":{"version":"8.5.3"},"@storybook/test":{"version":"8.5.3"},"@storybook/test-runner":{"version":"0.21.0"},"@storybook/web-components":{"version":"8.5.3"},"@storybook/web-components-vite":{"version":"8.5.3"},"msw-storybook-addon":{"version":"2.0.6"},"storybook":{"version":"8.5.3"}},"addons":{"@storybook/addon-essentials":{"version":"8.5.3"},"@storybook/addon-interactions":{"version":"8.5.3"},"@chromatic-com/storybook":{"version":null}}}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"use strict";const Q="http://www.w3.org/1999/XSL/Transform",R="http://www.w3.org/1999/xhtml",$e="http://exslt.org/common",d=(e,s)=>e?.getAttribute?.(s),me=e=>e.nodeType===3,De=e=>typeof e=="string",ue=e=>e&&typeof e.nodeType=="number",D=(e,s)=>(e.ownerDocument||e).createTextNode(s),de=e=>{for(;e.firstChild;)e.firstChild.remove();return e},F=e=>(e.getAttributeNames().map(s=>e.removeAttribute(s)),de(e)),pe=e=>(e?.setAttribute("xmlns:xsl",Q),e),fe=e=>(e?.setAttribute("xmlns:xhtml",R),pe(e)),he=e=>/^[_a-zA-Z][-_:a-zA-Z0-9]*$/.test(e),ee=(e,s)=>(Object.keys(s).map(t=>e[t]=s[t]),e),C=(e,s="",t=document)=>{const l=n=>(o=>(s&&o.append(D(t.ownerDocument||t,s)),o))((t.ownerDocument||t).createElement(n));if(he(e))return l(e);const a=l("dce-object");return a.setAttribute("dce-object-name",e),a},te=(e,s)=>{const t=e.ownerDocument.createElementNS(e.namespaceURI,s);for(let l of e.attributes)t.setAttribute(l.name,l.value);for(let l of e.childNodes)t.append(l.cloneNode(!0));return t};function X(e){return new DOMParser().parseFromString(e,"application/xml")}function U(e){return new XMLSerializer().serializeToString(e)}function _(e,s,t,l){const a=y=>e.ownerDocument.createElement(y),o=((y,x,v)=>(x.append(v=a(y)),v))(s,e);return[...t].forEach(y=>o.append(l(y))),o}function Le(e){return e.slot||(e.setAttribute||(e=C("span",e.textContent.replaceAll(`
|
|
2
|
-
`,""))),e.setAttribute("slot","")),e}function K(e,s){e.getAttributeNames().forEach(t=>s.includes(t)||e.removeAttribute(t))}const se=e=>[...e].filter(s=>!(s.nodeType===3&&s.data.trim()===""));function M(e,s,t){const l=typeof e;if(l==="string")return C(s,e,t);if(l==="number")return C(s,""+e,t);if(ue(e)){const n=C(s);return n.append(e),n}if(e instanceof Array){const n=C("array","",t);return e.map(o=>n.append(M(o,s,t))),n}if(e instanceof FormData){const n=C("form-data","",t);for(const o of e)n.append(M(o[1],o[0],t));return n}const a=C(s,"",t);for(let n in e)typeof e[n]=="function"||e[n]instanceof Window||ue(e[n])&&!(n==="data"||n==="value")||(typeof e[n]!="object"&&he(n)?a.setAttribute(n,e[n]):a.append(M(e[n],n,t)));return a}function le(e){if(z(e,"*",s=>[...s.childNodes].filter(t=>t.nodeType===3&&t.parentNode.localName!=="style"&&t.data).forEach(t=>{const l=t.data,a=l.matchAll(/{([^}]*)}/g);if(a){let n=0,o=x=>D(t,x),y=[];if([...a].forEach(x=>{x.index>n&&y.push(o(x.input.substring(n,x.index)));const v=e.querySelector("value-of").cloneNode();v.setAttribute("select",x[1]),y.push(v),n=x.index+x[0].length}),n<l.length&&y.push(o(l.substring(n,l.length))),y.length){for(let x of y)s.insertBefore(x,t);s.removeChild(t)}}})),"all"in e){let s=1;for(let t of e.all)t.setAttribute&&!t.tagName.startsWith("xsl:")&&t.setAttribute("data-dce-id",""+s++)}return e}function xe(e,s="xsl:stylesheet"){const t=[],l={},a={};if(e.tagName===s||e.documentElement?.tagName===s)return le(ee(e,{declaredAttributes:t,hardcodedAttributes:l,exposedAttributes:a}));const n=X(`<xsl:stylesheet version="1.0" xmlns:xsl="${Q}" xmlns:xhtml="${R}" xmlns:exsl="${$e}" exclude-result-prefixes="exsl" >
|
|
3
|
-
<xsl:output method="xml"/>
|
|
4
|
-
<xsl:template match="/"><dce-root xmlns="${R}"><xsl:apply-templates select="*" /></dce-root></xsl:template>
|
|
5
|
-
<xsl:template match="*[name()='template']">
|
|
6
|
-
<xsl:apply-templates mode="sanitize" select="*|text()"/>
|
|
7
|
-
</xsl:template>
|
|
8
|
-
<xsl:template match="*">
|
|
9
|
-
<xsl:apply-templates mode="sanitize" select="*|text()"/>
|
|
10
|
-
</xsl:template>
|
|
11
|
-
<xsl:template match="*[name()='svg']|*[name()='math']">
|
|
12
|
-
<xsl:apply-templates mode="sanitize" select="."/>
|
|
13
|
-
</xsl:template>
|
|
14
|
-
<xsl:template mode="sanitize" match="*[count(text())=1 and count(*)=0]">
|
|
15
|
-
<xsl:copy>
|
|
16
|
-
<xsl:apply-templates mode="sanitize" select="@*"/>
|
|
17
|
-
<xsl:value-of select="text()"></xsl:value-of>
|
|
18
|
-
</xsl:copy>
|
|
19
|
-
</xsl:template>
|
|
20
|
-
<xsl:template mode="sanitize" match="xhtml:*[count(text())=1 and count(*)=0]">
|
|
21
|
-
<xsl:element name="{local-name()}">
|
|
22
|
-
<xsl:apply-templates mode="sanitize" select="@*"/>
|
|
23
|
-
<xsl:value-of select="text()"></xsl:value-of>
|
|
24
|
-
</xsl:element>
|
|
25
|
-
</xsl:template>
|
|
26
|
-
<xsl:template mode="sanitize" match="*|@*">
|
|
27
|
-
<xsl:copy>
|
|
28
|
-
<xsl:apply-templates mode="sanitize" select="*|@*|text()"/>
|
|
29
|
-
</xsl:copy>
|
|
30
|
-
</xsl:template>
|
|
31
|
-
<xsl:template mode="sanitize" match="text()[normalize-space(.) = '']"/>
|
|
32
|
-
<xsl:template mode="sanitize" match="text()">
|
|
33
|
-
<dce-text>
|
|
34
|
-
<xsl:copy/>
|
|
35
|
-
</dce-text>
|
|
36
|
-
</xsl:template>
|
|
37
|
-
<xsl:template mode="sanitize" match="xsl:value-of|*[name()='slot']">
|
|
38
|
-
<xsl:copy>
|
|
39
|
-
<xsl:apply-templates mode="sanitize" select="*|@*|text()"/>
|
|
40
|
-
</xsl:copy>
|
|
41
|
-
</xsl:template>
|
|
42
|
-
<xsl:template mode="sanitize" match="xhtml:*">
|
|
43
|
-
<xsl:element name="{local-name()}">
|
|
44
|
-
<xsl:apply-templates mode="sanitize" select="*|@*|text()"/>
|
|
45
|
-
</xsl:element>
|
|
46
|
-
</xsl:template>
|
|
47
|
-
<xsl:template mode="sanitize" match="xhtml:input">
|
|
48
|
-
<xsl:element name="{local-name()}">
|
|
49
|
-
<xsl:apply-templates mode="sanitize" select="*[not(name()='slice')]|@*|text()"/>
|
|
50
|
-
</xsl:element>
|
|
51
|
-
<xsl:for-each select="slice">
|
|
52
|
-
<xsl:copy>
|
|
53
|
-
<xsl:attribute name="for" >^</xsl:attribute>
|
|
54
|
-
<xsl:apply-templates mode="sanitize" select="*|@*|text()"/>
|
|
55
|
-
</xsl:copy>
|
|
56
|
-
</xsl:for-each>
|
|
57
|
-
</xsl:template>
|
|
58
|
-
</xsl:stylesheet>`),o=new XSLTProcessor,y=(i=>{z(i,"custom-element",h=>{h.firstElementChild.localName==="template"&&([...h.firstElementChild.content.childNodes].forEach(b=>h.append(b)),h.firstElementChild.remove())}),z(i,"script",h=>h.remove());const r=i.content??i.firstElementChild?.content??i.body??i;we.forEach(h=>z(r,h,b=>Te(b,r)));const f=i.firstElementChild?.content||i.content,g=h=>{const b=X("<xhtml/>"),T=b.importNode(h,!0);return b.replaceChild(T,b.documentElement),T.namespaceURI===R&&!d(T,"xmlns")&&T.setAttribute("xmlns",R),fe(T)};if(f){const h=C("div");return[...f.childNodes].map(b=>h.append(b.cloneNode(!0))),g(h)}return g(i.documentElement||i.body||i)})(e),x=X(`<xsl:stylesheet version="1.0"
|
|
59
|
-
xmlns:xsl="${Q}"
|
|
60
|
-
xmlns:xhtml="${R}"
|
|
61
|
-
xmlns:dce="urn:schemas-epa-wg:dce"
|
|
62
|
-
xmlns:exsl="http://exslt.org/common"
|
|
63
|
-
exclude-result-prefixes="exsl"
|
|
64
|
-
>
|
|
65
|
-
<xsl:template match="ignore">
|
|
66
|
-
<xsl:choose>
|
|
67
|
-
<xsl:when test="//attr">{//attr}</xsl:when>
|
|
68
|
-
<xsl:otherwise>{def}</xsl:otherwise>
|
|
69
|
-
</xsl:choose><xsl:value-of select="."></xsl:value-of></xsl:template>
|
|
70
|
-
<xsl:template mode="payload" match="attributes"></xsl:template>
|
|
71
|
-
<xsl:template match="/">
|
|
72
|
-
<xsl:apply-templates mode="payload" select="/datadom/attributes"/>
|
|
73
|
-
</xsl:template>
|
|
74
|
-
<xsl:template name="slot" >
|
|
75
|
-
<xsl:param name="slotname" />
|
|
76
|
-
<xsl:param name="defaultvalue" />
|
|
77
|
-
<xsl:choose>
|
|
78
|
-
<xsl:when test="//payload/*[@slot=$slotname]">
|
|
79
|
-
<xsl:copy-of select="//payload/*[@slot=$slotname]"/>
|
|
80
|
-
</xsl:when>
|
|
81
|
-
<xsl:otherwise>
|
|
82
|
-
<xsl:copy-of select="$defaultvalue"/>
|
|
83
|
-
</xsl:otherwise>
|
|
84
|
-
</xsl:choose>
|
|
85
|
-
</xsl:template>
|
|
86
|
-
<xsl:variable name="js-injected-body">
|
|
87
|
-
<xsl:call-template name="slot" >
|
|
88
|
-
<xsl:with-param name="slotname" select="''"/>
|
|
89
|
-
<xsl:with-param name="defaultvalue"/>
|
|
90
|
-
</xsl:call-template>
|
|
91
|
-
</xsl:variable>
|
|
92
|
-
</xsl:stylesheet>`);o.importStylesheet(n);const v=o.transformToFragment(y,document),u=(i,r)=>i.querySelector(r),w=u(x,'template[mode="payload"]');if(!v)return console.error("transformation error",{xml:y.outerHTML,xsl:U(n)});if(v.firstElementChild.localName!=="dce-root"){const i=v.ownerDocument.createElement("dce-root");[...v.childNodes].forEach(r=>i.append(r)),v.append(i)}[...v.querySelectorAll("[test]")].forEach(i=>{const r=d(i,"test"),f=r.replace(/hasBoolAttribute\((.*?)\)/g,(g,h,b,T,P)=>{const L=h.substring(1);return`(not($${L} = 'false') and ($${L} = '' or $${L} = '${L}' or $${L} = 'true' ))`});r!==f&&i.setAttribute("test",f)}),[...v.querySelectorAll("dce-root>attribute")].forEach(i=>{K(i,"namespace,name,select");const r=te(i,"xsl:param"),f=d(i,"name");if(t.push(f),i.childNodes.length&&(l[f]=i.textContent),w.append(r),i.hasAttribute("select")){a[f]=d(i,"select"),K(r,"select,name");let g=d(i,"select").split("??"),h;if(g?.length>1){r.removeAttribute("select");const b=u(x,'template[match="ignore"]>choose').cloneNode(!0);F(b.firstElementChild).append(D(b,"{"+g[0]+"}")),b.firstElementChild.setAttribute("test",g[0]);for(let T=1;T<g.length-1;T++){const P=b.firstElementChild.cloneNode(!0);F(P).append(D(b,"{"+g[T]+"}")),P.setAttribute("test",g[T]),b.insertBefore(P,b.lastElementChild)}F(b.lastElementChild).append(D(b,"{"+g[g.length-1]+"}")),r.append(b),h=b.cloneNode(!0)}else h=te(i,"xsl:value-of");h.removeAttribute("name"),i.append(h),i.removeAttribute("select")}else K(r,"name"),r.setAttribute("select","/datadom/attributes/"+f),l[f]||i.remove()}),[...v.querySelectorAll("[value]")].filter(i=>i.getAttribute("value").match(/\{(.*)\?\?(.*)\}/g)).forEach(i=>{const r=d(i,"value");r&&i.setAttribute("value",Ne(r))});for(const i of v.childNodes)w.append(x.importNode(i,!0));[...w.getElementsByTagName("xsl:template")].forEach(i=>w.ownerDocument.documentElement.append(i));const O=u(x,'call-template[name="slot"]'),H=i=>{const r=O.cloneNode(!0),f=d(i,"name");f&&r.firstElementChild.setAttribute("select",`'${f}'`);for(let g of i.childNodes)r.lastElementChild.append(g);return r};z(w,"slot",i=>i.parentNode.replaceChild(H(i),i));const p=le(x);return ee(p,{declaredAttributes:t,hardcodedAttributes:l,exposedAttributes:a}),p}async function be(e){return await new Promise((t,l)=>{const a=new XMLHttpRequest;a.open("GET",e),a.responseType="document",a.onload=()=>{a.readyState===a.DONE&&a.status===200?t(a.responseXML?.body||a.responseXML||C("div",a.responseText)):l(`${a.statusText} - ${e}`)},a.addEventListener("error",n=>l(n)),a.send()})}function ye(e,s,t=!1){if(e===s)return!0;if(typeof e!="object"||e===null||typeof s!="object"||s===null||Object.keys(e).length!==Object.keys(s).length)return t;for(let l in e)if(!(l in s)||!ye(e[l],s[l]))return t;return!0}const ge=e=>e.split("|").map(s=>s.trim()).filter(s=>s),Ae=(e,s)=>ge(s).map(t=>{let l=e.ownerDocument,a=n=>(e.append(n),n);if(t.includes("/")){const n=[],o=l.evaluate(t,e);for(let y;y=o.iterateNext();)n.push(y);return n}return[...e.childNodes].find(n=>n.localName===t)||a(C(t,"",l))}).flat();function ne(e,s,t,l){if(!t.sliceProcessed)return t.sliceProcessed=1,Ae(e,s??"").map(a=>{const n=e.ownerDocument,o=t.sliceEventSource,y=t.sliceElement,x=()=>[...a.childNodes].filter(u=>u.nodeType===3||u.localName==="value"||u.localName==="form-data").map(u=>u.remove());o.getAttributeNames().map(u=>a.setAttribute(u,d(o,u))),[...a.childNodes].filter(u=>u.localName==="event").map(u=>u.remove()),"validationMessage"in o&&a.setAttribute("validation-message",o.validationMessage),t.type==="init"&&x(),a.append(M(t,"event",n));const v=(o.type==="checkbox"||o.type==="radio")&&!o.checked;if(y.hasAttribute("slice-value")){o.value===void 0?a.removeAttribute("value"):a.setAttribute("value",o.value);const u=v?"":I(d(y,"slice-value"),a);x(),a.append(D(n,u))}else{if("elements"in o)return x(),a.append(M(new FormData(o),"value",a.ownerDocument)),a;const u=v?"":o.value??d(o,"value");if(x(),u==null)[...a.childNodes].filter(w=>w.localName!=="event").map(w=>w.remove()),a.removeAttribute("value");else{const w=De(u)?D(n,u):M(u,"value",a.ownerDocument);a.append(w),a.setAttribute("value",u)}}return a})}function z(e,s,t){e.querySelectorAll&&[...e.querySelectorAll(s)].forEach(t)}const je=async(e,s)=>{if(!e||!e.trim())return[s];if(e.startsWith("#"))return(t=>{const l=t.querySelectorAll(e);return[...l.length?l:t.getRootNode().querySelectorAll(e)]})(s.parentElement);try{const[t,l]=e.split("#");if(e.charAt(0)===".")e=new URL(t,s.closest("[base]")?.getAttribute("base")||location).href;else try{e=(void 0)(t),l&&(e+="#"+l)}catch(n){console.error(n.message)}const a=await be(e);if(s.setAttributeNS("xml","base",e),l){const n=a.querySelectorAll("#"+l);return n.length?[...n]:(console.error("template not found",e+"#"+l),[s])}return[a]}catch{return[s]}};function ae(e,s){for(let n of e.attributes)try{const o=n.name;if(o.startsWith("xmlns"))continue;n.namespaceURI?(!s.hasAttributeNS(n.namespaceURI,o)||s.getAttributeNS(n.namespaceURI,o)!==n.value)&&s.setAttributeNS(n.namespaceURI,o,n.value):(!s.hasAttribute(o)||s.getAttribute(o)!==n.value)&&s.setAttribute(n.name,n.value),n.name==="value"&&(s.value=n.value)}catch(o){console.warn("attribute assignment error",o?.message||o)}const t=s.dceExportedAttributes,l=s.getAttribute("dce-exported-attributes"),a=l?new Set(l.split(" ")):null;for(let n of s.getAttributeNames())!e.hasAttribute(n)&&!t?.has(n)&&!a?.has(n)&&s.removeAttribute(n)}function ie(e,s=0){const t={};for(const l of e.childNodes){const a=d(l,"data-dce-id")||l.dceId||0;if(!t[a])a?t[a]=1:(t[a]=l.dceId=++s,l.setAttribute&&l.setAttribute("data-dce-id",l.dceId));else{const n=l.dceId=a+"-"+t[a]++;l.setAttribute&&l.setAttribute("data-dce-id",n)}l.childNodes.length&&ie(l)}}function ve(e,s,t){t=1*t;for(let l of e.childNodes)if((l.dceId??l.getAttribute("data-dce-id")*1)>t)return e.insertBefore(s,l);e.append(s)}function re(e,s){if(e.firstElementChild?.localName==="dce-root"&&s[0]?.localName!=="dce-root")return;if(!s.length)return e.firstElementChild?.localName!=="dce-root"&&de(e);const t={};for(let l of e.childNodes)t[l.dceId],me(l)?(l.data.trim(),t[l.dceId||0]=l):t[d(l,"data-dce-id")||0]=l;for(let l of[...s]){const a=d(l,"data-dce-id")||l.dceId,n=t[a];n?(me(l)?n.nodeValue!==l.nodeValue&&(n.nodeValue=l.nodeValue):(ae(l,n),(n.childNodes.length||l.childNodes.length)&&re(n,l.childNodes)),delete t[a]):ve(e,l,a)}for(let l of Object.values(t))l.localName!=="dce-root"&&l.remove()}function Ee(e,s){return e.hasAttribute(s)||e.setAttribute(s,crypto.randomUUID()),e.getAttribute(s)}const Ne=e=>[...e?.matchAll(/([^{}]*)(\{)([^}]+)}([^{}]*)/g)].map(t=>`${t[1]}{${W(t[3])}}${t[4]}`).join(""),W=e=>{if(!e.trim())return e;const s=e.split("??"),t=s.shift(),l=W(s.join("??"));return s.length?`concat( ${t} , substring( ${l} , (1+string-length( ${l} )) * string-length( ${t} ) ) )`:e},I=(e,s)=>{const t=e.split("??");if(t.length>1)return I(t[0],s)||I(t[1],s);e=W(e);const l=s.ownerDocument.evaluate(e,s);switch(l.resultType){case XPathResult.NUMBER_TYPE:return l.numberValue;case XPathResult.STRING_TYPE:return l.stringValue;case XPathResult.BOOLEAN_TYPE:return l.booleanValue}let a="";for(let n;n=l.iterateNext();)a+=n.textContent;return a},we="stylesheet,transform,import,include,strip-space,preserve-space,output,key,decimal-format,namespace-alias,value-of,copy-of,number,apply-templates,apply-imports,for-each,sort,if,choose,when,otherwise,attribute-set,call-template,with-param,variable,param,text,processing-instruction,element,attribute,comment,copy,message,fallback".split(","),Te=(e,s)=>{const t=C("xsl:"+e.localName);for(let a of e.attributes)t.setAttribute(a.name,a.value);for(;e.firstChild;)t.append(e.firstChild);const l="if,choose,for-each".includes(e.localName)?(()=>{const a=e.parentElement;if(!a||a.childNodes.length===1)return t;const n=C("span");return n.append(t),n})():t;if(e.parentElement)e.parentElement.replaceChild(l,e);else{const a=e.parentElement||s,n=[...a.childNodes];n.forEach((o,y)=>{o===e&&(n[y]=l)}),a.replaceChildren(...n)}};class Se extends HTMLElement{static observedAttributes=["src","tag","hidden"];async connectedCallback(){this.firstElementChild&&this.firstElementChild.localName!=="template"&&console.log(`custom-element used without template wrapping content
|
|
93
|
-
`,this.outerHTML);const s=await je(d(this,"src"),this),t=d(this,"tag"),l=t||"dce-"+crypto.randomUUID();for(const p of s)z(p.templateNode||p.content||p,"style",i=>{const r=i.closest("slot"),f=r?`slot[name="${r.name}"]`:"";i.innerHTML=`${l} ${f}{${i.innerHTML}}`,this.append(i)});const a=s.map(p=>xe(p)),n=a.map((p,i)=>{i=new XSLTProcessor;try{i.importStylesheet(p)}catch(r){console.error(r,U(p))}return i});Object.defineProperty(this,"xsltString",{get:()=>a.map(p=>U(p)).join(`
|
|
94
|
-
`)});const o=this,y=[...this.templateNode.querySelectorAll("[slice]")],x=y.map(p=>d(p,"slice")).filter(p=>!p.includes("/")).filter((p,i,r)=>r.indexOf(p)===i).map(ge).flat(),{declaredAttributes:v,hardcodedAttributes:u,exposedAttributes:w}=a[0],oe=new Set([...Object.keys(u),...Object.keys(w)]);class O extends HTMLElement{static get observedAttributes(){return v}#e=0;get dceExportedAttributes(){return oe}connectedCallback(){let i=se(this.childNodes);if(this.firstElementChild?.tagName==="TEMPLATE"){this.firstElementChild!==this.lastElementChild&&console.error("payload should have TEMPLATE as only child",this.outerHTML);const c=this.firstElementChild;c.remove(),i=se(c.content.childNodes);for(const E of i)if(E.localName==="style"){const m=Ee(this,"data-dce-style");E.innerHTML=`${l}[data-dce-style="${m}"]{${E.innerHTML}}`,c.insertAdjacentElement("beforebegin",E)}else E.nodeType===1?c.insertAdjacentElement("beforebegin",E):E.nodeType===3&&c.insertAdjacentText("beforebegin",E.data)}const r=X("<datadom/>").documentElement,f=(c,E="")=>(m=>(E&&m.append(D(r,E)),m))(r.ownerDocument.createElement(c)),g=_(r,"payload",i,Le);pe(g),fe(g),this.innerHTML="";const h=_(r,"attributes",this.attributes,c=>f(c.nodeName,c.value)),b=c=>this.hasAttribute(c)||[...h.children].find(E=>E.localName===c);ae(this,h),Object.keys(u).map(c=>b(c)||h.append(f(c,u[c]))),Object.keys(w).map(c=>b(c)||h.append(f(c))),_(r,"dataset",Object.keys(this.dataset),c=>f(c,this.dataset[c]));const T=_(r,"slice",x,c=>f(c,"")),P=c=>I(c,T);this.xml=r;const L=[],ce=()=>{const c={};for(let E;E=L.pop();){const m=d(E.sliceElement,"slice");c[m]||(ne(T,m,E),c[m]=E)}Object.keys(c).length!==0&&B()};let Y;this.onSlice=c=>{L.push(c),Y||(Y=setTimeout(()=>{ce(),Y=0},1))};const B=this.transform=()=>{if(this.#e)debugger;this.#e=1;const c=()=>{n.map((A,S)=>{const V=A.transformToFragment(r.ownerDocument,document);return V||console.error(`XSLT transformation error. xsl:
|
|
95
|
-
`,U(a[S]),`
|
|
96
|
-
xml:
|
|
97
|
-
`,U(r)),V}).map(A=>{A&&(ie(A),re(this,A.childNodes))});let N=0;return Object.entries(u).map(([A,S])=>{!this.hasAttribute(A)&&S!==d(this,A)&&(this.setAttribute(A,S),this.#t(A,S),N++)}),Object.keys(w).map(A=>{let S=d(this.firstElementChild,A);S!==d(this,A)&&(this.setAttribute(A,S),this.#t(A,S),N++)}),N};c()&&c()&&console.warn("model update should not be the result of transform more than once");function E(m){let N=m;if(m.localName==="slice"){const A=d(m,"for");if(A||(N=m.parentElement),A==="^")do N=N.previousElementSibling;while(N.localName==="slice");else N=this.querySelector(A);if(!N)return console.warn(`can not find selector in "slice for=${A}" `,m.outerHTML);d(m,"slice")||m.setAttribute("slice",d(m,"name"))}return N}z(this,"[slice],[slice-event]",m=>{let N=d(m,"slice-event");const A=m.hasAttribute("slice-value")||m.hasAttribute("value")||m.value,S=E(m);m.dceInitialized||(m.dceInitialized=1,S.hasAttribute("custom-validity")&&(N+=" change submit"),[...new Set((N||"change").split(" "))].forEach(V=>S.addEventListener(V,$=>{$.sliceElement=m,$.sliceEventSource=$.currentTarget||$.target,$.sliceProcessed=0;const Ce=ne(T,d($.sliceElement,"slice"),$);z(this,"[custom-validity]",k=>{if(!k.setCustomValidity)return;const J=d(k,"custom-validity");try{const q=J&&I(J,h);k.setCustomValidity(q===!0?"":q===!1?"invalid":q)}catch(q){console.error(q,"xPath",J)}});const G=d(S,"custom-validity"),j=G&&I(G,h),Z=j===!0?"":j;if(G){if(m.setCustomValidity?m.setCustomValidity(Z):m.validationMessage=Z,Ce.map(k=>k.setAttribute("validation-message",Z)),$.type==="submit")return j===!0?void 0:(setTimeout(B,1),!!j===j?(j||$.preventDefault(),j):j?($.preventDefault(),!1):void 0);setTimeout(B,1)}this.onSlice($)})),(!N||N.includes("init"))&&(A?this.onSlice({type:"init",target:S,sliceElement:m,sliceEventSource:S}):m.value=P(d(m,"slice"))))}),this.#e=0};B(),ce()}#t(i,r){i==="value"&&(this.value=r);const f=this.xml.querySelector("attributes");let g=this.xml.querySelector(`attributes>${i}`);g?F(g).append(D(g,r)):(g=C(i,r,this.xml),f.append(g)),this.#e||f.setAttribute(i,r),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:{[i]:r}}))}attributeChangedCallback(i,r,f){!this.xml||this.#e||(this.#t(i,f),this.transform())}get dce(){return o}}const H=p=>{window.customElements.get(p)!==O&&window.customElements.define(p,O)};if(t)H(t);else{const p=l;this.setAttribute("tag",p),H(p);const i=document.createElement(p);this.getAttributeNames().forEach(r=>i.setAttribute(r,this.getAttribute(r))),i.append(...[...this.childNodes].filter(r=>r.localName!=="style")),this.append(i)}}get templateNode(){return this.firstElementChild?.tagName==="TEMPLATE"?this.firstElementChild.content:this}get dce(){return this}get xslt(){return X(this.xsltString)}}window.customElements.define("custom-element",Se);exports.CustomElement=Se;exports.appendByDceId=ve;exports.assureSlices=Ae;exports.assureUID=Ee;exports.assureUnique=ie;exports.cloneAs=te;exports.createXsltFromDom=xe;exports.deepEqual=ye;exports.evalCurly=Ne;exports.event2slice=ne;exports.merge=re;exports.mergeAttr=ae;exports.mix=ee;exports.obj2node=M;exports.sanitizeBlankText=se;exports.tagUid=le;exports.toXsl=Te;exports.xPath=I;exports.xPathDefaults=W;exports.xhrTemplate=be;exports.xml2dom=X;exports.xmlString=U;exports.xslTags=we;
|