@spscommerce/ds-web-components 0.0.0-20260319-8230915ce
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/README.md +3 -0
- package/dist/README.md +3 -0
- package/dist/global.d.ts +15 -0
- package/dist/lib/components/file-upload/file-upload.d.ts +117 -0
- package/dist/lib/components/file-upload/file-upload.examples.d.ts +2 -0
- package/dist/lib/components/file-upload/mime-type.enum.d.ts +76 -0
- package/dist/lib/components/index.d.ts +11 -0
- package/dist/lib/components/insight-card/insight-card.d.ts +38 -0
- package/dist/lib/components/insight-card/insight-card.examples.d.ts +51 -0
- package/dist/lib/components/insight-card/insights.d.ts +18 -0
- package/dist/lib/components/nav-tabs/nav-tab-set.d.ts +7 -0
- package/dist/lib/components/nav-tabs/nav-tab.d.ts +24 -0
- package/dist/lib/components/nav-tabs/nav-tabs.examples.d.ts +11 -0
- package/dist/lib/components/photo/photo.d.ts +42 -0
- package/dist/lib/components/photo/photo.examples.d.ts +2 -0
- package/dist/lib/decorators/component.d.ts +32 -0
- package/dist/lib/decorators/content.d.ts +7 -0
- package/dist/lib/decorators/event-dispatcher.d.ts +9 -0
- package/dist/lib/decorators/event-listener.d.ts +5 -0
- package/dist/lib/decorators/index.d.ts +7 -0
- package/dist/lib/decorators/prop.d.ts +6 -0
- package/dist/lib/decorators/query-selector.d.ts +19 -0
- package/dist/lib/decorators/watch.d.ts +2 -0
- package/dist/lib/index.d.ts +5 -0
- package/dist/lib/index.js +2227 -0
- package/dist/lib/index.umd.cjs +831 -0
- package/dist/lib/manifest.d.ts +2 -0
- package/dist/lib/utils/comment.d.ts +2 -0
- package/dist/lib/utils/index.d.ts +4 -0
- package/dist/lib/utils/metadata.d.ts +22 -0
- package/dist/lib/utils/pragma.d.ts +6 -0
- package/dist/lib/utils/register.d.ts +13 -0
- package/dist/package.json +53 -0
- package/global.d.ts +15 -0
- package/lib/components/file-upload/file-upload.d.ts +117 -0
- package/lib/components/file-upload/file-upload.examples.d.ts +2 -0
- package/lib/components/file-upload/mime-type.enum.d.ts +76 -0
- package/lib/components/index.d.ts +11 -0
- package/lib/components/insight-card/insight-card.d.ts +38 -0
- package/lib/components/insight-card/insight-card.examples.d.ts +51 -0
- package/lib/components/insight-card/insights.d.ts +18 -0
- package/lib/components/nav-tabs/nav-tab-set.d.ts +7 -0
- package/lib/components/nav-tabs/nav-tab.d.ts +24 -0
- package/lib/components/nav-tabs/nav-tabs.examples.d.ts +11 -0
- package/lib/components/photo/photo.d.ts +42 -0
- package/lib/components/photo/photo.examples.d.ts +2 -0
- package/lib/decorators/component.d.ts +32 -0
- package/lib/decorators/content.d.ts +7 -0
- package/lib/decorators/event-dispatcher.d.ts +9 -0
- package/lib/decorators/event-listener.d.ts +5 -0
- package/lib/decorators/index.d.ts +7 -0
- package/lib/decorators/prop.d.ts +6 -0
- package/lib/decorators/query-selector.d.ts +19 -0
- package/lib/decorators/watch.d.ts +2 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.js +2227 -0
- package/lib/index.umd.cjs +831 -0
- package/lib/manifest.d.ts +2 -0
- package/lib/utils/comment.d.ts +2 -0
- package/lib/utils/index.d.ts +4 -0
- package/lib/utils/metadata.d.ts +22 -0
- package/lib/utils/pragma.d.ts +6 -0
- package/lib/utils/register.d.ts +13 -0
- package/package.json +53 -0
- package/vite.config.mjs +20 -0
|
@@ -0,0 +1,2227 @@
|
|
|
1
|
+
import { SpsIcon as Ue, SpsInsightCardKind as $t, SpsInsightCardIcons as Bt } from "@spscommerce/ds-shared";
|
|
2
|
+
import { parseFileSize as jt, code as u } from "@spscommerce/utils";
|
|
3
|
+
import { i18nWoodland as P } from "@spscommerce/i18n";
|
|
4
|
+
const is = {
|
|
5
|
+
/*
|
|
6
|
+
* 'Insight Cards': {
|
|
7
|
+
* components: [SpsInsightCardComponent, SpsInsightsComponent],
|
|
8
|
+
* examples: SpsInsightCardExamples,
|
|
9
|
+
* },
|
|
10
|
+
*
|
|
11
|
+
* "Tabbed Navigation": {
|
|
12
|
+
* components: [SpsNavTabComponent, SpsNavTabSetComponent],
|
|
13
|
+
* examples: SpsNavTabsExamples,
|
|
14
|
+
* },
|
|
15
|
+
*
|
|
16
|
+
* Photos: {
|
|
17
|
+
* components: [SpsPhotoComponent],
|
|
18
|
+
* examples: SpsPhotoExamples,
|
|
19
|
+
*},
|
|
20
|
+
*/
|
|
21
|
+
};
|
|
22
|
+
var g = {}, ze;
|
|
23
|
+
function Tt() {
|
|
24
|
+
if (ze) return g;
|
|
25
|
+
ze = 1, Object.defineProperty(g, "__esModule", { value: !0 });
|
|
26
|
+
/**
|
|
27
|
+
* @license
|
|
28
|
+
* Copyright 2018 The Incremental DOM Authors. All Rights Reserved.
|
|
29
|
+
*
|
|
30
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
31
|
+
* you may not use this file except in compliance with the License.
|
|
32
|
+
* You may obtain a copy of the License at
|
|
33
|
+
*
|
|
34
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
35
|
+
*
|
|
36
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
37
|
+
* distributed under the License is distributed on an "AS-IS" BASIS,
|
|
38
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
39
|
+
* See the License for the specific language governing permissions and
|
|
40
|
+
* limitations under the License.
|
|
41
|
+
*/
|
|
42
|
+
var e = {
|
|
43
|
+
default: "__default"
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* @license
|
|
47
|
+
* Copyright 2018 The Incremental DOM Authors. All Rights Reserved.
|
|
48
|
+
*
|
|
49
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
50
|
+
* you may not use this file except in compliance with the License.
|
|
51
|
+
* You may obtain a copy of the License at
|
|
52
|
+
*
|
|
53
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
54
|
+
*
|
|
55
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
56
|
+
* distributed under the License is distributed on an "AS-IS" BASIS,
|
|
57
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
58
|
+
* See the License for the specific language governing permissions and
|
|
59
|
+
* limitations under the License.
|
|
60
|
+
*/
|
|
61
|
+
var s = Object.prototype.hasOwnProperty;
|
|
62
|
+
function i() {
|
|
63
|
+
}
|
|
64
|
+
i.prototype = /* @__PURE__ */ Object.create(null);
|
|
65
|
+
function o(t, n) {
|
|
66
|
+
return s.call(t, n);
|
|
67
|
+
}
|
|
68
|
+
function r() {
|
|
69
|
+
return new i();
|
|
70
|
+
}
|
|
71
|
+
function p(t, n) {
|
|
72
|
+
for (; t.length > n; )
|
|
73
|
+
t.pop();
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* @license
|
|
77
|
+
* Copyright 2018 The Incremental DOM Authors. All Rights Reserved.
|
|
78
|
+
*
|
|
79
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
80
|
+
* you may not use this file except in compliance with the License.
|
|
81
|
+
* You may obtain a copy of the License at
|
|
82
|
+
*
|
|
83
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
84
|
+
*
|
|
85
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
86
|
+
* distributed under the License is distributed on an "AS-IS" BASIS,
|
|
87
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
88
|
+
* See the License for the specific language governing permissions and
|
|
89
|
+
* limitations under the License.
|
|
90
|
+
*/
|
|
91
|
+
function f(t) {
|
|
92
|
+
if (t.lastIndexOf("xml:", 0) === 0)
|
|
93
|
+
return "http://www.w3.org/XML/1998/namespace";
|
|
94
|
+
if (t.lastIndexOf("xlink:", 0) === 0)
|
|
95
|
+
return "http://www.w3.org/1999/xlink";
|
|
96
|
+
}
|
|
97
|
+
function V(t, n, a) {
|
|
98
|
+
if (a == null)
|
|
99
|
+
t.removeAttribute(n);
|
|
100
|
+
else {
|
|
101
|
+
var l = f(n);
|
|
102
|
+
l ? t.setAttributeNS(l, n, String(a)) : t.setAttribute(n, String(a));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
function xe(t, n, a) {
|
|
106
|
+
t[n] = a;
|
|
107
|
+
}
|
|
108
|
+
function Ye(t, n, a) {
|
|
109
|
+
n.indexOf("-") >= 0 ? t.setProperty(n, a) : t[n] = a;
|
|
110
|
+
}
|
|
111
|
+
function Je(t, n, a) {
|
|
112
|
+
if (typeof a == "string")
|
|
113
|
+
t.style.cssText = a;
|
|
114
|
+
else {
|
|
115
|
+
t.style.cssText = "";
|
|
116
|
+
var l = t.style;
|
|
117
|
+
for (var d in a)
|
|
118
|
+
o(a, d) && Ye(l, d, a[d]);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function Me(t, n, a) {
|
|
122
|
+
var l = typeof a;
|
|
123
|
+
l === "object" || l === "function" ? xe(t, n, a) : V(t, n, a);
|
|
124
|
+
}
|
|
125
|
+
var Z = r();
|
|
126
|
+
Z[e.default] = Me, Z.style = Je;
|
|
127
|
+
function Y(t, n, a) {
|
|
128
|
+
var l = Z[n] || Z[e.default];
|
|
129
|
+
l(t, n, a);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* @license
|
|
133
|
+
* Copyright 2018 The Incremental DOM Authors. All Rights Reserved.
|
|
134
|
+
*
|
|
135
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
136
|
+
* you may not use this file except in compliance with the License.
|
|
137
|
+
* You may obtain a copy of the License at
|
|
138
|
+
*
|
|
139
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
140
|
+
*
|
|
141
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
142
|
+
* distributed under the License is distributed on an "AS-IS" BASIS,
|
|
143
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
144
|
+
* See the License for the specific language governing permissions and
|
|
145
|
+
* limitations under the License.
|
|
146
|
+
*/
|
|
147
|
+
var J = !1, pe = !1;
|
|
148
|
+
function ye(t, n) {
|
|
149
|
+
if (!n)
|
|
150
|
+
throw new Error("Cannot call " + t + "() unless in patch.");
|
|
151
|
+
}
|
|
152
|
+
function et(t, n) {
|
|
153
|
+
if (t !== n) {
|
|
154
|
+
for (var a = t, l = []; a && a !== n; )
|
|
155
|
+
l.push(a.nodeName.toLowerCase()), a = a.parentNode;
|
|
156
|
+
throw new Error(`One or more tags were not closed:
|
|
157
|
+
` + l.join(`
|
|
158
|
+
`));
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
function tt(t) {
|
|
162
|
+
t || console.warn("patchOuter requires the node have a parent if there is a key.");
|
|
163
|
+
}
|
|
164
|
+
function W(t) {
|
|
165
|
+
if (J)
|
|
166
|
+
throw new Error(t + "() can not be called between elementOpenStart() and elementOpenEnd().");
|
|
167
|
+
}
|
|
168
|
+
function Se(t) {
|
|
169
|
+
if (pe)
|
|
170
|
+
throw new Error(t + "() may not be called inside an element that has called skip().");
|
|
171
|
+
}
|
|
172
|
+
function de(t) {
|
|
173
|
+
if (!J)
|
|
174
|
+
throw new Error(t + "() can only be called after calling elementOpenStart().");
|
|
175
|
+
}
|
|
176
|
+
function st() {
|
|
177
|
+
if (J)
|
|
178
|
+
throw new Error("elementOpenEnd() must be called after calling elementOpenStart().");
|
|
179
|
+
}
|
|
180
|
+
function nt(t, n) {
|
|
181
|
+
if (t !== n)
|
|
182
|
+
throw new Error('Received a call to close "' + n + '" but "' + t + '" was open.');
|
|
183
|
+
}
|
|
184
|
+
function it(t, n) {
|
|
185
|
+
if (n !== null)
|
|
186
|
+
throw new Error(t + "() must come before any child declarations inside the current element.");
|
|
187
|
+
}
|
|
188
|
+
function rt(t, n, a, l) {
|
|
189
|
+
ne(t);
|
|
190
|
+
var d = t, h = n, y = h.nextSibling === a && h.previousSibling === l, C = h.nextSibling === d.nextSibling && h.previousSibling === l, S = h === d;
|
|
191
|
+
if (!y && !C && !S)
|
|
192
|
+
throw new Error("There must be exactly one top level call corresponding to the patched element.");
|
|
193
|
+
}
|
|
194
|
+
function te(t) {
|
|
195
|
+
var n = J;
|
|
196
|
+
return J = t, n;
|
|
197
|
+
}
|
|
198
|
+
function se(t) {
|
|
199
|
+
var n = pe;
|
|
200
|
+
return pe = t, n;
|
|
201
|
+
}
|
|
202
|
+
function ne(t) {
|
|
203
|
+
if (process.env.NODE_ENV !== "production" && !t)
|
|
204
|
+
throw new Error("Expected value to be defined");
|
|
205
|
+
return t;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* @license
|
|
209
|
+
* Copyright 2018 The Incremental DOM Authors. All Rights Reserved.
|
|
210
|
+
*
|
|
211
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
212
|
+
* you may not use this file except in compliance with the License.
|
|
213
|
+
* You may obtain a copy of the License at
|
|
214
|
+
*
|
|
215
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
216
|
+
*
|
|
217
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
218
|
+
* distributed under the License is distributed on an "AS-IS" BASIS,
|
|
219
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
220
|
+
* See the License for the specific language governing permissions and
|
|
221
|
+
* limitations under the License.
|
|
222
|
+
*/
|
|
223
|
+
var M = {
|
|
224
|
+
nodesCreated: null,
|
|
225
|
+
nodesDeleted: null
|
|
226
|
+
};
|
|
227
|
+
/**
|
|
228
|
+
* @license
|
|
229
|
+
* Copyright 2018 The Incremental DOM Authors. All Rights Reserved.
|
|
230
|
+
*
|
|
231
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
232
|
+
* you may not use this file except in compliance with the License.
|
|
233
|
+
* You may obtain a copy of the License at
|
|
234
|
+
*
|
|
235
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
236
|
+
*
|
|
237
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
238
|
+
* distributed under the License is distributed on an "AS-IS" BASIS,
|
|
239
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
240
|
+
* See the License for the specific language governing permissions and
|
|
241
|
+
* limitations under the License.
|
|
242
|
+
*/
|
|
243
|
+
var at = (
|
|
244
|
+
/** @class */
|
|
245
|
+
function() {
|
|
246
|
+
function t() {
|
|
247
|
+
this.created = [], this.deleted = [];
|
|
248
|
+
}
|
|
249
|
+
return t.prototype.markCreated = function(n) {
|
|
250
|
+
this.created.push(n);
|
|
251
|
+
}, t.prototype.markDeleted = function(n) {
|
|
252
|
+
this.deleted.push(n);
|
|
253
|
+
}, t.prototype.notifyChanges = function() {
|
|
254
|
+
M.nodesCreated && this.created.length > 0 && M.nodesCreated(this.created), M.nodesDeleted && this.deleted.length > 0 && M.nodesDeleted(this.deleted);
|
|
255
|
+
}, t;
|
|
256
|
+
}()
|
|
257
|
+
);
|
|
258
|
+
/**
|
|
259
|
+
* @license
|
|
260
|
+
* Copyright 2018 The Incremental DOM Authors. All Rights Reserved.
|
|
261
|
+
*
|
|
262
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
263
|
+
* you may not use this file except in compliance with the License.
|
|
264
|
+
* You may obtain a copy of the License at
|
|
265
|
+
*
|
|
266
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
267
|
+
*
|
|
268
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
269
|
+
* distributed under the License is distributed on an "AS-IS" BASIS,
|
|
270
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
271
|
+
* See the License for the specific language governing permissions and
|
|
272
|
+
* limitations under the License.
|
|
273
|
+
*/
|
|
274
|
+
function ot(t) {
|
|
275
|
+
return t.nodeType === 11 || t.nodeType === 9;
|
|
276
|
+
}
|
|
277
|
+
function ue(t) {
|
|
278
|
+
return t.nodeType === 1;
|
|
279
|
+
}
|
|
280
|
+
function lt(t) {
|
|
281
|
+
return t.nodeType === 3;
|
|
282
|
+
}
|
|
283
|
+
function ct(t, n) {
|
|
284
|
+
for (var a = [], l = t; l !== n; ) {
|
|
285
|
+
var d = l;
|
|
286
|
+
a.push(d), l = d.parentNode;
|
|
287
|
+
}
|
|
288
|
+
return a;
|
|
289
|
+
}
|
|
290
|
+
var pt = (
|
|
291
|
+
// tslint:disable-next-line:no-any b/79476176
|
|
292
|
+
Node.prototype.getRootNode || function() {
|
|
293
|
+
for (var t = this, n = t; t; )
|
|
294
|
+
n = t, t = t.parentNode;
|
|
295
|
+
return n;
|
|
296
|
+
}
|
|
297
|
+
);
|
|
298
|
+
function dt(t) {
|
|
299
|
+
var n = pt.call(t);
|
|
300
|
+
return ot(n) ? n.activeElement : null;
|
|
301
|
+
}
|
|
302
|
+
function ut(t, n) {
|
|
303
|
+
var a = dt(t);
|
|
304
|
+
return !a || !t.contains(a) ? [] : ct(a, n);
|
|
305
|
+
}
|
|
306
|
+
function ht(t, n, a) {
|
|
307
|
+
for (var l = n.nextSibling, d = a; d !== null && d !== n; ) {
|
|
308
|
+
var h = d.nextSibling;
|
|
309
|
+
t.insertBefore(d, l), d = h;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* @license
|
|
314
|
+
* Copyright 2018 The Incremental DOM Authors. All Rights Reserved.
|
|
315
|
+
*
|
|
316
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
317
|
+
* you may not use this file except in compliance with the License.
|
|
318
|
+
* You may obtain a copy of the License at
|
|
319
|
+
*
|
|
320
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
321
|
+
*
|
|
322
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
323
|
+
* distributed under the License is distributed on an "AS-IS" BASIS,
|
|
324
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
325
|
+
* See the License for the specific language governing permissions and
|
|
326
|
+
* limitations under the License.
|
|
327
|
+
*/
|
|
328
|
+
var ft = (
|
|
329
|
+
/** @class */
|
|
330
|
+
function() {
|
|
331
|
+
function t(n, a, l) {
|
|
332
|
+
this._attrsArr = null, this.staticsApplied = !1, this.nameOrCtor = n, this.key = a, this.text = l;
|
|
333
|
+
}
|
|
334
|
+
return t.prototype.hasEmptyAttrsArr = function() {
|
|
335
|
+
var n = this._attrsArr;
|
|
336
|
+
return !n || !n.length;
|
|
337
|
+
}, t.prototype.getAttrsArr = function(n) {
|
|
338
|
+
return this._attrsArr || (this._attrsArr = new Array(n));
|
|
339
|
+
}, t;
|
|
340
|
+
}()
|
|
341
|
+
);
|
|
342
|
+
function he(t, n, a, l) {
|
|
343
|
+
var d = new ft(n, a, l);
|
|
344
|
+
return t.__incrementalDOMData = d, d;
|
|
345
|
+
}
|
|
346
|
+
function H(t, n) {
|
|
347
|
+
return Ae(t, n);
|
|
348
|
+
}
|
|
349
|
+
function gt(t) {
|
|
350
|
+
return !!t.__incrementalDOMData;
|
|
351
|
+
}
|
|
352
|
+
function mt(t) {
|
|
353
|
+
return ne(t.__incrementalDOMData), H(t).key;
|
|
354
|
+
}
|
|
355
|
+
function Ae(t, n) {
|
|
356
|
+
if (t.__incrementalDOMData)
|
|
357
|
+
return t.__incrementalDOMData;
|
|
358
|
+
var a = ue(t) ? t.localName : t.nodeName, l = ue(t) ? t.getAttribute("key") || n : null, d = lt(t) ? t.data : void 0, h = he(t, a, l, d);
|
|
359
|
+
return ue(t) && vt(t, h), h;
|
|
360
|
+
}
|
|
361
|
+
function Oe(t) {
|
|
362
|
+
Ae(t);
|
|
363
|
+
for (var n = t.firstChild; n; n = n.nextSibling)
|
|
364
|
+
Oe(n);
|
|
365
|
+
}
|
|
366
|
+
function De(t) {
|
|
367
|
+
t.__incrementalDOMData = null;
|
|
368
|
+
for (var n = t.firstChild; n; n = n.nextSibling)
|
|
369
|
+
De(n);
|
|
370
|
+
}
|
|
371
|
+
function vt(t, n) {
|
|
372
|
+
var a = t.attributes, l = a.length;
|
|
373
|
+
if (l)
|
|
374
|
+
for (var d = n.getAttrsArr(l), h = 0, y = 0; h < l; h += 1, y += 2) {
|
|
375
|
+
var C = a[h], S = C.name, w = C.value;
|
|
376
|
+
d[y] = S, d[y + 1] = w;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* @license
|
|
381
|
+
* Copyright 2018 The Incremental DOM Authors. All Rights Reserved.
|
|
382
|
+
*
|
|
383
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
384
|
+
* you may not use this file except in compliance with the License.
|
|
385
|
+
* You may obtain a copy of the License at
|
|
386
|
+
*
|
|
387
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
388
|
+
*
|
|
389
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
390
|
+
* distributed under the License is distributed on an "AS-IS" BASIS,
|
|
391
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
392
|
+
* See the License for the specific language governing permissions and
|
|
393
|
+
* limitations under the License.
|
|
394
|
+
*/
|
|
395
|
+
function bt(t, n) {
|
|
396
|
+
return t === "svg" ? "http://www.w3.org/2000/svg" : t === "math" ? "http://www.w3.org/1998/Math/MathML" : n == null || H(n).nameOrCtor === "foreignObject" ? null : n.namespaceURI;
|
|
397
|
+
}
|
|
398
|
+
function Ct(t, n, a, l) {
|
|
399
|
+
var d;
|
|
400
|
+
if (typeof a == "function")
|
|
401
|
+
d = new a();
|
|
402
|
+
else {
|
|
403
|
+
var h = bt(a, n);
|
|
404
|
+
h ? d = t.createElementNS(h, a) : d = t.createElement(a);
|
|
405
|
+
}
|
|
406
|
+
return he(d, a, l), d;
|
|
407
|
+
}
|
|
408
|
+
function wt(t) {
|
|
409
|
+
var n = t.createTextNode("");
|
|
410
|
+
return he(n, "#text", null), n;
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* @license
|
|
414
|
+
* Copyright 2018 The Incremental DOM Authors. All Rights Reserved.
|
|
415
|
+
*
|
|
416
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
417
|
+
* you may not use this file except in compliance with the License.
|
|
418
|
+
* You may obtain a copy of the License at
|
|
419
|
+
*
|
|
420
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
421
|
+
*
|
|
422
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
423
|
+
* distributed under the License is distributed on an "AS-IS" BASIS,
|
|
424
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
425
|
+
* See the License for the specific language governing permissions and
|
|
426
|
+
* limitations under the License.
|
|
427
|
+
*/
|
|
428
|
+
var q = null, v = null, x = null, T = null, ie = [], re = [];
|
|
429
|
+
function ae() {
|
|
430
|
+
return re;
|
|
431
|
+
}
|
|
432
|
+
function Pe(t) {
|
|
433
|
+
var n = function(a, l, d) {
|
|
434
|
+
var h = q, y = T, C = ie, S = re, w = v, O = x, F = !1, le = !1;
|
|
435
|
+
q = new at(), T = a.ownerDocument, re = [], x = a.parentNode, ie = ut(a, x), process.env.NODE_ENV !== "production" && (F = te(!1), le = se(!1));
|
|
436
|
+
try {
|
|
437
|
+
var Rt = t(a, l, d);
|
|
438
|
+
return process.env.NODE_ENV !== "production" && st(), Rt;
|
|
439
|
+
} finally {
|
|
440
|
+
T = y, re = S, v = w, x = O, ie = C, q.notifyChanges(), te(F), se(le), q = h;
|
|
441
|
+
}
|
|
442
|
+
};
|
|
443
|
+
return n;
|
|
444
|
+
}
|
|
445
|
+
var Ee = Pe(function(t, n, a) {
|
|
446
|
+
return v = t, Fe(), n(a), Re(), process.env.NODE_ENV !== "production" && et(v, t), t;
|
|
447
|
+
}), _t = Pe(function(t, n, a) {
|
|
448
|
+
var l = { nextSibling: t }, d = null, h = null;
|
|
449
|
+
return process.env.NODE_ENV !== "production" && (d = t.nextSibling, h = t.previousSibling), v = l, n(a), process.env.NODE_ENV !== "production" && (tt(x), rt(l, v, d, h)), x && Le(x, oe(), t.nextSibling), l === v ? null : v;
|
|
450
|
+
});
|
|
451
|
+
function ke(t, n, a) {
|
|
452
|
+
var l = H(t, a);
|
|
453
|
+
return n == l.nameOrCtor && a == l.key;
|
|
454
|
+
}
|
|
455
|
+
function Nt(t, n, a) {
|
|
456
|
+
if (!t)
|
|
457
|
+
return null;
|
|
458
|
+
if (ke(t, n, a))
|
|
459
|
+
return t;
|
|
460
|
+
if (a) {
|
|
461
|
+
for (; t = t.nextSibling; )
|
|
462
|
+
if (ke(t, n, a))
|
|
463
|
+
return t;
|
|
464
|
+
}
|
|
465
|
+
return null;
|
|
466
|
+
}
|
|
467
|
+
function xt(t, n) {
|
|
468
|
+
var a;
|
|
469
|
+
return t === "#text" ? a = wt(T) : a = Ct(T, x, t, n), q.markCreated(a), a;
|
|
470
|
+
}
|
|
471
|
+
function Ie(t, n) {
|
|
472
|
+
var a = Nt(v, t, n), l = a || xt(t, n);
|
|
473
|
+
l !== v && (ie.indexOf(l) >= 0 ? ht(x, l, v) : x.insertBefore(l, v), v = l);
|
|
474
|
+
}
|
|
475
|
+
function Le(t, n, a) {
|
|
476
|
+
for (var l = t, d = n; d !== a; ) {
|
|
477
|
+
var h = d.nextSibling;
|
|
478
|
+
l.removeChild(d), q.markDeleted(d), d = h;
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
function Fe() {
|
|
482
|
+
x = v, v = null;
|
|
483
|
+
}
|
|
484
|
+
function oe() {
|
|
485
|
+
return v ? v.nextSibling : x.firstChild;
|
|
486
|
+
}
|
|
487
|
+
function fe() {
|
|
488
|
+
v = oe();
|
|
489
|
+
}
|
|
490
|
+
function Re() {
|
|
491
|
+
Le(x, oe(), null), v = x, x = x.parentNode;
|
|
492
|
+
}
|
|
493
|
+
function $e(t, n) {
|
|
494
|
+
return fe(), Ie(t, n), Fe(), x;
|
|
495
|
+
}
|
|
496
|
+
function Be() {
|
|
497
|
+
return process.env.NODE_ENV !== "production" && se(!1), Re(), v;
|
|
498
|
+
}
|
|
499
|
+
function yt() {
|
|
500
|
+
return fe(), Ie("#text", null), v;
|
|
501
|
+
}
|
|
502
|
+
function St() {
|
|
503
|
+
return process.env.NODE_ENV !== "production" && (ye("currentElement", T), W("currentElement")), x;
|
|
504
|
+
}
|
|
505
|
+
function At() {
|
|
506
|
+
return process.env.NODE_ENV !== "production" && (ye("currentPointer", T), W("currentPointer")), oe();
|
|
507
|
+
}
|
|
508
|
+
function Ot() {
|
|
509
|
+
process.env.NODE_ENV !== "production" && (it("skip", v), se(!0)), v = x.lastChild;
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* @license
|
|
513
|
+
* Copyright 2018 The Incremental DOM Authors. All Rights Reserved.
|
|
514
|
+
*
|
|
515
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
516
|
+
* you may not use this file except in compliance with the License.
|
|
517
|
+
* You may obtain a copy of the License at
|
|
518
|
+
*
|
|
519
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
520
|
+
*
|
|
521
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
522
|
+
* distributed under the License is distributed on an "AS-IS" BASIS,
|
|
523
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
524
|
+
* See the License for the specific language governing permissions and
|
|
525
|
+
* limitations under the License.
|
|
526
|
+
*/
|
|
527
|
+
var je = 3, I = r();
|
|
528
|
+
function Dt(t, n, a) {
|
|
529
|
+
if (n.staticsApplied = !0, !(!a || !a.length)) {
|
|
530
|
+
if (n.hasEmptyAttrsArr()) {
|
|
531
|
+
for (var l = 0; l < a.length; l += 2)
|
|
532
|
+
Y(t, a[l], a[l + 1]);
|
|
533
|
+
return;
|
|
534
|
+
}
|
|
535
|
+
for (var l = 0; l < a.length; l += 2)
|
|
536
|
+
I[a[l]] = l + 1;
|
|
537
|
+
for (var d = n.getAttrsArr(0), h = 0, l = 0; l < d.length; l += 2) {
|
|
538
|
+
var y = d[l], C = d[l + 1], S = I[y];
|
|
539
|
+
if (S) {
|
|
540
|
+
a[S] === C && delete I[y];
|
|
541
|
+
continue;
|
|
542
|
+
}
|
|
543
|
+
d[h] = y, d[h + 1] = C, h += 2;
|
|
544
|
+
}
|
|
545
|
+
p(d, h);
|
|
546
|
+
for (var y in I)
|
|
547
|
+
Y(t, y, a[I[y]]), delete I[y];
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
function ge(t, n, a) {
|
|
551
|
+
process.env.NODE_ENV !== "production" && (W("elementOpen"), Se("elementOpen"));
|
|
552
|
+
var l = $e(t, n), d = H(l);
|
|
553
|
+
d.staticsApplied || Dt(l, d, a);
|
|
554
|
+
var h = Math.max(0, arguments.length - je), y = d.hasEmptyAttrsArr();
|
|
555
|
+
if (!h && y)
|
|
556
|
+
return l;
|
|
557
|
+
for (var C = d.getAttrsArr(h), S = je, w = 0; S < arguments.length; S += 2, w += 2) {
|
|
558
|
+
var O = arguments[S];
|
|
559
|
+
if (y)
|
|
560
|
+
C[w] = O;
|
|
561
|
+
else if (C[w] !== O)
|
|
562
|
+
break;
|
|
563
|
+
var F = arguments[S + 1];
|
|
564
|
+
(y || C[w + 1] !== F) && (C[w + 1] = F, Y(l, O, F));
|
|
565
|
+
}
|
|
566
|
+
if (S < arguments.length || w < C.length) {
|
|
567
|
+
for (var le = w; w < C.length; w += 2)
|
|
568
|
+
I[C[w]] = C[w + 1];
|
|
569
|
+
for (w = le; S < arguments.length; S += 2, w += 2) {
|
|
570
|
+
var O = arguments[S], F = arguments[S + 1];
|
|
571
|
+
I[O] !== F && Y(l, O, F), C[w] = O, C[w + 1] = F, delete I[O];
|
|
572
|
+
}
|
|
573
|
+
p(C, w);
|
|
574
|
+
for (var O in I)
|
|
575
|
+
Y(l, O, void 0), delete I[O];
|
|
576
|
+
}
|
|
577
|
+
return l;
|
|
578
|
+
}
|
|
579
|
+
function Pt(t, n, a) {
|
|
580
|
+
var l = ae();
|
|
581
|
+
process.env.NODE_ENV !== "production" && (W("elementOpenStart"), te(!0)), l[0] = t, l[1] = n, l[2] = a;
|
|
582
|
+
}
|
|
583
|
+
function Et(t) {
|
|
584
|
+
var n = ae();
|
|
585
|
+
process.env.NODE_ENV !== "production" && (de("key"), ne(n)), n[1] = t;
|
|
586
|
+
}
|
|
587
|
+
function kt(t, n) {
|
|
588
|
+
var a = ae();
|
|
589
|
+
process.env.NODE_ENV !== "production" && de("attr"), a.push(t), a.push(n);
|
|
590
|
+
}
|
|
591
|
+
function It() {
|
|
592
|
+
var t = ae();
|
|
593
|
+
process.env.NODE_ENV !== "production" && (de("elementOpenEnd"), te(!1)), ne(t);
|
|
594
|
+
var n = ge.apply(null, t);
|
|
595
|
+
return p(t, 0), n;
|
|
596
|
+
}
|
|
597
|
+
function Te(t) {
|
|
598
|
+
process.env.NODE_ENV !== "production" && W("elementClose");
|
|
599
|
+
var n = Be();
|
|
600
|
+
return process.env.NODE_ENV !== "production" && nt(H(n).nameOrCtor, t), n;
|
|
601
|
+
}
|
|
602
|
+
function Lt(t, n, a) {
|
|
603
|
+
return ge.apply(null, arguments), Te(t);
|
|
604
|
+
}
|
|
605
|
+
function Ft(t) {
|
|
606
|
+
process.env.NODE_ENV !== "production" && (W("text"), Se("text"));
|
|
607
|
+
var n = yt(), a = H(n);
|
|
608
|
+
if (a.text !== t) {
|
|
609
|
+
a.text = t;
|
|
610
|
+
for (var l = t, d = 1; d < arguments.length; d += 1) {
|
|
611
|
+
var h = arguments[d];
|
|
612
|
+
l = h(l);
|
|
613
|
+
}
|
|
614
|
+
n.data = l;
|
|
615
|
+
}
|
|
616
|
+
return n;
|
|
617
|
+
}
|
|
618
|
+
/**
|
|
619
|
+
* @license
|
|
620
|
+
* Copyright 2018 The Incremental DOM Authors. All Rights Reserved.
|
|
621
|
+
*
|
|
622
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
623
|
+
* you may not use this file except in compliance with the License.
|
|
624
|
+
* You may obtain a copy of the License at
|
|
625
|
+
*
|
|
626
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
627
|
+
*
|
|
628
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
629
|
+
* distributed under the License is distributed on an "AS-IS" BASIS,
|
|
630
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
631
|
+
* See the License for the specific language governing permissions and
|
|
632
|
+
* limitations under the License.
|
|
633
|
+
*/
|
|
634
|
+
return g.applyAttr = V, g.applyProp = xe, g.attributes = Z, g.close = Be, g.currentElement = St, g.currentPointer = At, g.open = $e, g.patch = Ee, g.patchInner = Ee, g.patchOuter = _t, g.skip = Ot, g.skipNode = fe, g.getKey = mt, g.clearCache = De, g.importNode = Oe, g.isDataInitialized = gt, g.notifications = M, g.symbols = e, g.attr = kt, g.elementClose = Te, g.elementOpen = ge, g.elementOpenEnd = It, g.elementOpenStart = Pt, g.elementVoid = Lt, g.text = Ft, g.key = Et, g;
|
|
635
|
+
}
|
|
636
|
+
var A = Tt();
|
|
637
|
+
function Ve(e) {
|
|
638
|
+
let s = A.currentPointer();
|
|
639
|
+
return s instanceof Comment && s.data !== e ? s.data = e : (s = document.createComment(e), A.currentElement().appendChild(s)), A.skipNode(), s;
|
|
640
|
+
}
|
|
641
|
+
const U = Symbol("ComponentMetadata"), E = Object.freeze({
|
|
642
|
+
has(e, s) {
|
|
643
|
+
return !!(e[U] && Object.prototype.hasOwnProperty.call(e[U], s));
|
|
644
|
+
},
|
|
645
|
+
add(e, s) {
|
|
646
|
+
e[U] ? Object.assign(e[U], s) : e[U] = s;
|
|
647
|
+
},
|
|
648
|
+
get(e, s, i) {
|
|
649
|
+
return e[U] && e[U][s] || i;
|
|
650
|
+
}
|
|
651
|
+
}), We = Symbol("ds-web-components:pragma:listeners-attached"), qe = "idom-pragma:content-begin", me = "idom-pragma:content-end";
|
|
652
|
+
function ve(e) {
|
|
653
|
+
for (const s of e)
|
|
654
|
+
if (typeof s == "function")
|
|
655
|
+
s();
|
|
656
|
+
else if (typeof s == "string")
|
|
657
|
+
A.text(s);
|
|
658
|
+
else if (s instanceof Set)
|
|
659
|
+
ve(Array.from(s));
|
|
660
|
+
else if (Array.isArray(s) && s.length > 0) {
|
|
661
|
+
let i = A.currentPointer();
|
|
662
|
+
if (Ve(qe), i === null) {
|
|
663
|
+
const o = A.currentElement();
|
|
664
|
+
for (let r = 0; r < s.length; r += 1)
|
|
665
|
+
o.contains(s[r]) || o.appendChild(s[r]), A.skipNode();
|
|
666
|
+
}
|
|
667
|
+
for (; i && i.data !== me; )
|
|
668
|
+
A.skipNode(), i = A.currentPointer();
|
|
669
|
+
Ve(me);
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
function c(e, s, ...i) {
|
|
673
|
+
if (s) {
|
|
674
|
+
for (const o of Object.keys(s))
|
|
675
|
+
if (o.toUpperCase() === "DATA-FRAGMENT")
|
|
676
|
+
return () => ve(i);
|
|
677
|
+
}
|
|
678
|
+
return () => {
|
|
679
|
+
A.elementOpenStart(e);
|
|
680
|
+
const o = [];
|
|
681
|
+
if (s)
|
|
682
|
+
for (const p of Object.keys(s))
|
|
683
|
+
p.toUpperCase() === "CLASSNAME" ? A.attr("class", s[p]) : /^on[A-Z]/.test(p) ? o.push(p) : A.attr(p, s[p]);
|
|
684
|
+
A.elementOpenEnd(e);
|
|
685
|
+
const r = A.currentElement();
|
|
686
|
+
if (!r[We]) {
|
|
687
|
+
for (const p of o)
|
|
688
|
+
r.addEventListener(p.substr(2).toLowerCase(), s[p]);
|
|
689
|
+
r[We] = !0;
|
|
690
|
+
}
|
|
691
|
+
ve(i), A.elementClose(e);
|
|
692
|
+
};
|
|
693
|
+
}
|
|
694
|
+
function Ge(e, s) {
|
|
695
|
+
customElements.get(e) || customElements.define(e, s);
|
|
696
|
+
}
|
|
697
|
+
function rs(...e) {
|
|
698
|
+
for (const s of e)
|
|
699
|
+
Ge(E.get(s, "tag"), s);
|
|
700
|
+
}
|
|
701
|
+
function as(e) {
|
|
702
|
+
return function(...i) {
|
|
703
|
+
for (const o of i) {
|
|
704
|
+
const r = `${e}${E.get(o, "tag").substr(3)}`;
|
|
705
|
+
Ge(r, o);
|
|
706
|
+
}
|
|
707
|
+
};
|
|
708
|
+
}
|
|
709
|
+
const He = Symbol("Component Attribute Bindings"), K = Symbol("Component Class Bindings"), be = Symbol("Component Style Bindings"), Ut = {
|
|
710
|
+
__initialized: !1,
|
|
711
|
+
__observer: null,
|
|
712
|
+
__queuedUpdate: null,
|
|
713
|
+
__managedClasses: /* @__PURE__ */ new Set(),
|
|
714
|
+
__updateHostBindings() {
|
|
715
|
+
const e = this;
|
|
716
|
+
for (const s of Object.keys(e[He] || {}))
|
|
717
|
+
e.setAttribute(s, e[He][s]);
|
|
718
|
+
for (const s of Object.keys(e[be] || {}))
|
|
719
|
+
e.style[s] = e[be][s];
|
|
720
|
+
for (const s of e.__managedClasses)
|
|
721
|
+
e.classList.remove(s);
|
|
722
|
+
for (const s of (e[K] || []).filter(Boolean))
|
|
723
|
+
e.__managedClasses.add(s), e.classList.add(s);
|
|
724
|
+
for (const s of (e.getAttribute("classname") || "").split(/\w+/).filter(Boolean))
|
|
725
|
+
e.classList.add(s);
|
|
726
|
+
},
|
|
727
|
+
__updateChildQueries(e) {
|
|
728
|
+
const s = this;
|
|
729
|
+
for (const i of E.get(s.constructor, "childQueries", []))
|
|
730
|
+
if (!e || e && i.refresh) {
|
|
731
|
+
const o = i.all ? s.querySelectorAll : s.querySelector;
|
|
732
|
+
s[i.key] = o.call(s, i.selector);
|
|
733
|
+
}
|
|
734
|
+
},
|
|
735
|
+
__gatherChildren() {
|
|
736
|
+
const e = this;
|
|
737
|
+
let s = Array.from(e.childNodes), i = null, o = s.length;
|
|
738
|
+
for (let r = 0; r < s.length; r += 1) {
|
|
739
|
+
const p = s[r];
|
|
740
|
+
p instanceof Comment && (p.data === qe ? i = r + 1 : p.data === me && (o = r - 1));
|
|
741
|
+
}
|
|
742
|
+
if (i === null)
|
|
743
|
+
for (const r of s)
|
|
744
|
+
r.parentNode.removeChild(r);
|
|
745
|
+
else
|
|
746
|
+
s = s.slice(i, o);
|
|
747
|
+
E.has(e.constructor, "contentProp") && (e[E.get(e.constructor, "contentProp")] = s);
|
|
748
|
+
},
|
|
749
|
+
__startMutObs() {
|
|
750
|
+
const e = this;
|
|
751
|
+
e.__observer || (e.__observer = new MutationObserver(() => {
|
|
752
|
+
e.contentChangedCallback && e.contentChangedCallback(), e.__gatherChildren(), e.update();
|
|
753
|
+
})), e.__observer.observe(e, { childList: !0 });
|
|
754
|
+
},
|
|
755
|
+
__stopMutObs() {
|
|
756
|
+
const e = this;
|
|
757
|
+
e.__observer && e.__observer.disconnect();
|
|
758
|
+
},
|
|
759
|
+
__doRender() {
|
|
760
|
+
const e = this;
|
|
761
|
+
e.__stopMutObs(), A.patch(e, e.render()), e.__startMutObs();
|
|
762
|
+
},
|
|
763
|
+
update() {
|
|
764
|
+
const e = this;
|
|
765
|
+
e.__initialized && !e.__queuedUpdate && (e.__queuedUpdate = window.requestAnimationFrame(() => {
|
|
766
|
+
e.__doRender(), setTimeout(() => {
|
|
767
|
+
e.__updateChildQueries(!0), e.__updateHostBindings();
|
|
768
|
+
}, 0), e.__queuedUpdate = null;
|
|
769
|
+
}));
|
|
770
|
+
},
|
|
771
|
+
attributeChangedCallback(e, s, i) {
|
|
772
|
+
const o = this, r = i === "" ? !0 : i;
|
|
773
|
+
r !== s && (o.__cbAttributeChanged && o.__cbAttributeChanged(e, o[e], r), e !== "style" && (o[e] = r), o.__initialized && o.update());
|
|
774
|
+
},
|
|
775
|
+
connectedCallback() {
|
|
776
|
+
const e = this;
|
|
777
|
+
e.__cbConnected && e.__cbConnected();
|
|
778
|
+
const s = E.get(e.constructor, "eventListeners", []);
|
|
779
|
+
setTimeout(() => {
|
|
780
|
+
if (!e.__initialized) {
|
|
781
|
+
e.__gatherChildren();
|
|
782
|
+
for (const [, i] of s)
|
|
783
|
+
e[i] = e[i].bind(e);
|
|
784
|
+
e.__initialized = !0;
|
|
785
|
+
}
|
|
786
|
+
for (const [i, o] of s)
|
|
787
|
+
e.addEventListener(i, e[o]);
|
|
788
|
+
e.__doRender(), setTimeout(() => {
|
|
789
|
+
e.__updateChildQueries(), e.__updateHostBindings();
|
|
790
|
+
}, 0);
|
|
791
|
+
}, 0);
|
|
792
|
+
},
|
|
793
|
+
disconnectedCallback() {
|
|
794
|
+
const e = this;
|
|
795
|
+
e.__cbDisconnected && e.__cbDisconnected();
|
|
796
|
+
for (const [s, i] of E.get(e.constructor, "eventListeners", []))
|
|
797
|
+
e.removeEventListener(s, e[i]);
|
|
798
|
+
e.__stopMutObs();
|
|
799
|
+
}
|
|
800
|
+
};
|
|
801
|
+
function Q(e) {
|
|
802
|
+
return (s) => {
|
|
803
|
+
E.add(s, e), Object.assign(s.prototype, {
|
|
804
|
+
__cbAttributeChanged: s.prototype.attributeChangedCallback,
|
|
805
|
+
__cbConnected: s.prototype.connectedCallback,
|
|
806
|
+
__cbDisconnected: s.prototype.disconnectedCallback
|
|
807
|
+
}, Ut);
|
|
808
|
+
};
|
|
809
|
+
}
|
|
810
|
+
function Ce() {
|
|
811
|
+
return (e, s) => {
|
|
812
|
+
E.add(e.constructor, { contentProp: s });
|
|
813
|
+
};
|
|
814
|
+
}
|
|
815
|
+
function we(e) {
|
|
816
|
+
return (s, i) => {
|
|
817
|
+
Object.defineProperty(s, i, {
|
|
818
|
+
get() {
|
|
819
|
+
return Object.defineProperty(this, i, {
|
|
820
|
+
value: {
|
|
821
|
+
dispatch: (o) => {
|
|
822
|
+
const r = new CustomEvent(e || i, { detail: o });
|
|
823
|
+
return this.dispatchEvent(r), r;
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
}), this[i];
|
|
827
|
+
},
|
|
828
|
+
configurable: !0
|
|
829
|
+
});
|
|
830
|
+
};
|
|
831
|
+
}
|
|
832
|
+
function ce(e) {
|
|
833
|
+
return (s, i) => {
|
|
834
|
+
const o = E.get(s.constructor, "eventListeners", []);
|
|
835
|
+
o.push([e, i]), E.add(s.constructor, { eventListeners: o });
|
|
836
|
+
};
|
|
837
|
+
}
|
|
838
|
+
function m(e) {
|
|
839
|
+
return (s, i) => {
|
|
840
|
+
const o = s.constructor, r = i.toLowerCase();
|
|
841
|
+
if (o.observedAttributes = o.observedAttributes || [
|
|
842
|
+
"classname",
|
|
843
|
+
"className",
|
|
844
|
+
"style"
|
|
845
|
+
], o.observedAttributes.push(i), o.observedAttributes.push(r), r !== i && Object.defineProperty(s, i, {
|
|
846
|
+
get() {
|
|
847
|
+
return this[r];
|
|
848
|
+
},
|
|
849
|
+
set(p) {
|
|
850
|
+
this[r] = p;
|
|
851
|
+
}
|
|
852
|
+
}), e) {
|
|
853
|
+
const p = Symbol.for(i);
|
|
854
|
+
Object.defineProperty(s, r, {
|
|
855
|
+
get() {
|
|
856
|
+
return this[p];
|
|
857
|
+
},
|
|
858
|
+
set(f) {
|
|
859
|
+
let V = f;
|
|
860
|
+
e === Boolean && typeof f == "string" && f.toLowerCase() === "false" ? V = !1 : V = e(f), this[p] = V;
|
|
861
|
+
}
|
|
862
|
+
});
|
|
863
|
+
}
|
|
864
|
+
};
|
|
865
|
+
}
|
|
866
|
+
function Xe(e, s, i) {
|
|
867
|
+
return (o, r) => {
|
|
868
|
+
const p = E.get(o.constructor, "childQueries", []);
|
|
869
|
+
p.push({
|
|
870
|
+
key: r,
|
|
871
|
+
selector: e,
|
|
872
|
+
all: i,
|
|
873
|
+
refresh: s.refresh
|
|
874
|
+
}), E.add(o.constructor, { childQueries: p });
|
|
875
|
+
};
|
|
876
|
+
}
|
|
877
|
+
function _e(e, s = {}) {
|
|
878
|
+
return Xe(e, s);
|
|
879
|
+
}
|
|
880
|
+
function zt(e, s = {}) {
|
|
881
|
+
return Xe(e, s, !0);
|
|
882
|
+
}
|
|
883
|
+
function Ke() {
|
|
884
|
+
return (e, s) => {
|
|
885
|
+
const i = Symbol(s);
|
|
886
|
+
Object.defineProperties(e, {
|
|
887
|
+
[i]: {
|
|
888
|
+
writable: !0,
|
|
889
|
+
enumerable: !1,
|
|
890
|
+
configurable: !1,
|
|
891
|
+
value: e[s]
|
|
892
|
+
},
|
|
893
|
+
[s]: {
|
|
894
|
+
get() {
|
|
895
|
+
return this[i];
|
|
896
|
+
},
|
|
897
|
+
set(o) {
|
|
898
|
+
this[i] !== o && (this[i] = o, this.update());
|
|
899
|
+
}
|
|
900
|
+
}
|
|
901
|
+
});
|
|
902
|
+
};
|
|
903
|
+
}
|
|
904
|
+
var Qe = /* @__PURE__ */ ((e) => (e["7Z"] = "application/x-7z-compressed", e.AAC = "audio/aac", e.ABW = "application/x-abiword", e.ARC = "application/octet-stream", e.AVI = "video/x-msvideo", e.AZW = "application/vnd.amazon.ebook", e.BIN = "application/octet-stream", e.BMP = "image/bmp", e.BZ = "application/x-bzip", e.BZ2 = "application/x-bzip2", e.CER = "application/pkix-cert", e.CSH = "application/x-csh", e.CSS = "text/css", e.CSV = "text/csv,application/vnd.ms-excel", e.DOC = "application/msword", e.DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document", e.EOT = "application/vnd.ms-fontobject", e.EPUB = "application/epub+zip", e.ES = "application/ecmascript", e.FLV = "video/x-flv", e.GIF = "image/gif", e.GZ = "application/x-gzip", e.HTM = "text/html", e.HTML = "text/html", e.ICO = "image/x-icon", e.ICS = "text/calendar", e.JAR = "application/java-archive", e.JPEG = "image/jpeg", e.JPG = "image/jpeg", e.JS = "application/javascript", e.JSON = "application/json", e.M3U = "audio/x-mpequrl", e.MID = "audio/midi", e.MIDI = "audio/midi", e.MOV = "video/quicktime", e.MP3 = "audio/mpeg3", e.MP4 = "video/mp4", e.MPEG = "video/mpeg", e.MPKG = "application/vnd.apple.installer+xml", e.ODP = "application/vnd.oasis.opendocument.presentation", e.ODS = "application/vnd.oasis.opendocument.spreadsheet", e.ODT = "application/vnd.oasis.opendocument.text", e.OGA = "audio/ogg", e.OGV = "video/ogg", e.OGX = "application/ogg", e.OTF = "font/otf", e.PNG = "image/png", e.PDF = "application/pdf", e.PPT = "application/vnd.ms-powerpoint", e.PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation", e.RAR = "application/x-rar-compressed", e.RTF = "application/rtf", e.SH = "application/x-sh", e.SVG = "image/svg+xml", e.SWF = "application/x-shockwave-flash", e.TAR = "application/x-tar", e.TIF = "image/tiff", e.TIFF = "image/tiff", e.TS = "application/typescript", e.TTF = "font/ttf", e.TXT = "text/plain", e.VSD = "application/vnd.visio", e.WAV = "audio/wav", e.WEBA = "audio/webm", e.WEBM = "video/webm", e.WEBP = "image/webp", e.WOFF = "font/woff", e.WOFF2 = "font/woff2", e.XHTML = "application/xhtml+xml", e.XLS = "application/vnd.ms-excel", e.XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", e.XML = "application/xml", e.XUL = "application/vnd.mozilla.xul+xml", e.ZIP = "application/zip", e))(Qe || {}), Vt = Object.defineProperty, Wt = Object.getOwnPropertyDescriptor, N = (e, s, i, o) => {
|
|
905
|
+
for (var r = o > 1 ? void 0 : o ? Wt(s, i) : s, p = e.length - 1, f; p >= 0; p--)
|
|
906
|
+
(f = e[p]) && (r = (o ? f(s, i, r) : f(r)) || r);
|
|
907
|
+
return o && r && Vt(s, i, r), r;
|
|
908
|
+
};
|
|
909
|
+
const _ = "sps-file-upload";
|
|
910
|
+
let b = class extends HTMLElement {
|
|
911
|
+
constructor() {
|
|
912
|
+
super(), this.shown = !0, this.files = [], this.acceptMIMETypes = /* @__PURE__ */ new Set(), this.active = !1, this.error = !1, this.namesOfUnsupportedFiles = [], this.handleBrowseLinkClick = this.handleBrowseLinkClick.bind(this), this.handleDownloadButtonClick = this.handleDownloadButtonClick.bind(this), this.handleFileInputChange = this.handleFileInputChange.bind(this), this.dismiss = this.dismiss.bind(this);
|
|
913
|
+
}
|
|
914
|
+
get [K]() {
|
|
915
|
+
return [
|
|
916
|
+
_,
|
|
917
|
+
this.active && `${_}--active`,
|
|
918
|
+
this.error && `${_}--error`,
|
|
919
|
+
!this.shown && `${_}--hidden`,
|
|
920
|
+
this.mini && `${_}--mini`,
|
|
921
|
+
this.constrainContentWidth && `${_}--constrained-content-width`
|
|
922
|
+
];
|
|
923
|
+
}
|
|
924
|
+
connectedCallback() {
|
|
925
|
+
this.description = this.description || (this.multiple ? "Files" : "File"), this.acceptExtensions && this.processAcceptExtensions(this.acceptExtensions), this.maxSize && this.parseAndValidateMaxSize(this.maxSize);
|
|
926
|
+
}
|
|
927
|
+
attributeChangedCallback(e, s, i) {
|
|
928
|
+
e === "acceptExtensions" && this.processAcceptExtensions(i), e === "maxSize" && this.parseAndValidateMaxSize(i);
|
|
929
|
+
}
|
|
930
|
+
/**
|
|
931
|
+
* If the `dismissable` prop has been set, this will programmatically
|
|
932
|
+
* dismiss the component and fire the "dismissal" event.
|
|
933
|
+
*/
|
|
934
|
+
dismiss() {
|
|
935
|
+
this.dismissable && (this.shown = !1, this.update(), this.dismissal.dispatch());
|
|
936
|
+
}
|
|
937
|
+
/** If the `dismissable` prop has been set, this will programmatically show the component. */
|
|
938
|
+
show() {
|
|
939
|
+
this.dismissable && (this.shown = !0, this.update());
|
|
940
|
+
}
|
|
941
|
+
render() {
|
|
942
|
+
const e = this.error ? Ue.EXCLAMATION_CIRCLE : Ue.UPLOAD_CLOUD, s = (this.multiple ? P.t("fileUpload.instructions.other", { defaultValue: "Drag and drop your files here or |browse for files| on your desktop." }) : P.t("fileUpload.instructions.one", { defaultValue: "Drag and drop your file here or |browse for a file| on your desktop." })).split("|");
|
|
943
|
+
return /* @__PURE__ */ c("div", { "data-fragment": !0 }, /* @__PURE__ */ c("div", { className: `${_}__content` }, this.processing ? /* @__PURE__ */ c("div", { "data-fragment": !0 }, /* @__PURE__ */ c("i", { className: "sps-spinner sps-spinner--medium", "aria-hidden": "true" }), /* @__PURE__ */ c("div", { className: `${_}__instructions` }, P.t("fileUpload.processing", { defaultValue: "Processing Upload..." }))) : /* @__PURE__ */ c("div", { "data-fragment": !0 }, /* @__PURE__ */ c("i", { className: `sps-icon sps-icon-${e} ${_}__icon-primary`, "aria-hidden": "true" }), /* @__PURE__ */ c("div", { className: `${_}__title` }, this.error ? /* @__PURE__ */ c("div", { "data-fragment": !0 }, P.t(
|
|
944
|
+
this.namesOfUnsupportedFiles.length > 1 ? "fileUpload.cancelled_plural" : "fileUpload.cancelled",
|
|
945
|
+
{ defaultValue: this.namesOfUnsupportedFiles.length > 1 ? "File Upload(s) Failed" : "File Upload Failed" }
|
|
946
|
+
)) : /* @__PURE__ */ c("div", { "data-fragment": !0 }, P.t("fileUpload.title", { description: this.description, defaultValue: `Upload Your ${this.description}` }))), this.error ? /* @__PURE__ */ c("div", { className: `${_}__errored-files` }, new Set(this.namesOfUnsupportedFiles.map((i, o) => {
|
|
947
|
+
const r = Math.floor(i.length / 2);
|
|
948
|
+
return /* @__PURE__ */ c("div", { className: `${_}__errored-filename`, key: i }, /* @__PURE__ */ c("span", { className: `${_}__errored-filename-segment` }, i.substr(0, r)), /* @__PURE__ */ c("div", { className: `${_}__errored-filename-segment` }, /* @__PURE__ */ c("span", null, i.substr(r))), o < this.namesOfUnsupportedFiles.length - 1 ? "," : "");
|
|
949
|
+
}))) : /* @__PURE__ */ c("span", null), /* @__PURE__ */ c("div", { className: `${_}__instructions` }, /* @__PURE__ */ c("div", { "data-fragment": !0 }, /* @__PURE__ */ c("span", null, s[0]), /* @__PURE__ */ c("a", { href: "", onClick: this.handleBrowseLinkClick }, s[1]), /* @__PURE__ */ c("span", null, s[2]))), /* @__PURE__ */ c("div", { className: `${_}__requirements` }, this.acceptExtensions ? /* @__PURE__ */ c("span", null, "(", " ", P.t("fileUpload.acceptedTypes", { fileTypes: this.acceptExtensionsDescription, defaultValue: `${this.acceptExtensionsDescription} format accepted` }), " ", ")") : "", this.maxSize ? /* @__PURE__ */ c("span", null, "(", " ", P.t("fileUpload.maximumSize", { size: this.maxSize, defaultValue: `${this.maxSize} maximum` }), " ", ")") : "", this.customRequirement ? /* @__PURE__ */ c("span", null, " ", this.customRequirement, " ") : ""), this.downloadLabel && /* @__PURE__ */ c(
|
|
950
|
+
"div",
|
|
951
|
+
{
|
|
952
|
+
className: `sps-button sps-button--link ${_}__download-button`,
|
|
953
|
+
onClick: this.handleDownloadButtonClick
|
|
954
|
+
},
|
|
955
|
+
/* @__PURE__ */ c("button", { type: "button" }, /* @__PURE__ */ c("i", { className: "sps-icon sps-icon-download-cloud", "aria-hidden": "true" }), " ", this.downloadLabel)
|
|
956
|
+
))), this.dismissable && !this.processing && /* @__PURE__ */ c(
|
|
957
|
+
"div",
|
|
958
|
+
{
|
|
959
|
+
className: `sps-button sps-button--icon ${_}__close-button`,
|
|
960
|
+
onClick: this.dismiss
|
|
961
|
+
},
|
|
962
|
+
/* @__PURE__ */ c("button", { type: "button", title: P.t("fileUpload.close", { defaultValue: "Close" }) }, /* @__PURE__ */ c("i", { className: "sps-icon sps-icon-x", "aria-hidden": "true" }))
|
|
963
|
+
), /* @__PURE__ */ c("form", null, /* @__PURE__ */ c(
|
|
964
|
+
"input",
|
|
965
|
+
{
|
|
966
|
+
type: "file",
|
|
967
|
+
accept: this.accept || "*/*",
|
|
968
|
+
multiple: this.multiple || null,
|
|
969
|
+
onChange: this.handleFileInputChange
|
|
970
|
+
}
|
|
971
|
+
)));
|
|
972
|
+
}
|
|
973
|
+
parseAndValidateMaxSize(e) {
|
|
974
|
+
try {
|
|
975
|
+
this.maxSizeBytes = jt(e);
|
|
976
|
+
} catch {
|
|
977
|
+
throw new Error(`Could not parse "${e}" as a file size.`);
|
|
978
|
+
}
|
|
979
|
+
}
|
|
980
|
+
processAcceptExtensions(e) {
|
|
981
|
+
const i = (Array.isArray(e) ? e : e.trim().split(/\s?,\s?/)).map((r) => r.replace(/^\./, "")), o = i.map((r) => `.${r}`.toLowerCase());
|
|
982
|
+
this.acceptExtensionsDescription = o.map((r, p) => p > 0 && p === o.length - 1 ? `or ${r}` : r).join(o.length > 2 ? ", " : " "), this.acceptMIMETypes.clear();
|
|
983
|
+
for (const r of i)
|
|
984
|
+
for (const p of Qe[r.toUpperCase()].split(","))
|
|
985
|
+
this.acceptMIMETypes.add(p);
|
|
986
|
+
this.accept = o.concat(Array.from(this.acceptMIMETypes)).join(",");
|
|
987
|
+
}
|
|
988
|
+
selectFiles(e) {
|
|
989
|
+
this.namesOfUnsupportedFiles = [];
|
|
990
|
+
const s = Array.from(e);
|
|
991
|
+
for (const i of s)
|
|
992
|
+
this.acceptExtensions && !this.acceptMIMETypes.has(i.type) && this.namesOfUnsupportedFiles.push(i.name), this.maxSize && i.size > this.maxSizeBytes && this.namesOfUnsupportedFiles.indexOf(i.name) === -1 && this.namesOfUnsupportedFiles.push(i.name);
|
|
993
|
+
this.namesOfUnsupportedFiles.length ? (this.error = !0, this.fileInput.value = null, this.update()) : (this.files = s, this.selection.dispatch(s));
|
|
994
|
+
}
|
|
995
|
+
handleDragOver(e) {
|
|
996
|
+
e.preventDefault(), e.stopPropagation();
|
|
997
|
+
}
|
|
998
|
+
handleDragEnter(e) {
|
|
999
|
+
e.preventDefault(), this.active = !0, this.error = !1, this.update();
|
|
1000
|
+
}
|
|
1001
|
+
handleDragLeave(e) {
|
|
1002
|
+
e.preventDefault(), this.active = !1, this.update();
|
|
1003
|
+
}
|
|
1004
|
+
handleDrop(e) {
|
|
1005
|
+
e.preventDefault(), e.stopPropagation(), this.active = !1, e.dataTransfer.items ? this.selectFiles(Array.from(e.dataTransfer.items).map(
|
|
1006
|
+
(s) => s.getAsFile()
|
|
1007
|
+
)) : this.selectFiles(e.dataTransfer.files), this.update();
|
|
1008
|
+
}
|
|
1009
|
+
/* eslint-enable @typescript-eslint/member-ordering */
|
|
1010
|
+
handleBrowseLinkClick(e) {
|
|
1011
|
+
e.preventDefault(), this.error = !1, this.update(), this.fileInput.click();
|
|
1012
|
+
}
|
|
1013
|
+
handleDownloadButtonClick() {
|
|
1014
|
+
this.download.dispatch();
|
|
1015
|
+
}
|
|
1016
|
+
handleFileInputChange(e) {
|
|
1017
|
+
e.stopPropagation(), this.selectFiles(e.target.files);
|
|
1018
|
+
}
|
|
1019
|
+
};
|
|
1020
|
+
b.displayName = _;
|
|
1021
|
+
b.props = {
|
|
1022
|
+
description: "string",
|
|
1023
|
+
multiple: "boolean",
|
|
1024
|
+
dismissable: "boolean",
|
|
1025
|
+
processing: "boolean",
|
|
1026
|
+
mini: "boolean",
|
|
1027
|
+
downloadLabel: "string",
|
|
1028
|
+
acceptExtensions: "Array<string> | string",
|
|
1029
|
+
maxSize: "string",
|
|
1030
|
+
customRequirement: "string",
|
|
1031
|
+
selection: { event: !0, type: "CustomEvent<Array<File>>" },
|
|
1032
|
+
dismissal: { event: !0, type: "CustomEvent<void>" },
|
|
1033
|
+
download: { event: !0, type: "CustomEvent<void>" }
|
|
1034
|
+
};
|
|
1035
|
+
N([
|
|
1036
|
+
m()
|
|
1037
|
+
], b.prototype, "description", 2);
|
|
1038
|
+
N([
|
|
1039
|
+
m(Boolean)
|
|
1040
|
+
], b.prototype, "multiple", 2);
|
|
1041
|
+
N([
|
|
1042
|
+
m(Boolean)
|
|
1043
|
+
], b.prototype, "shown", 2);
|
|
1044
|
+
N([
|
|
1045
|
+
m(Boolean)
|
|
1046
|
+
], b.prototype, "dismissable", 2);
|
|
1047
|
+
N([
|
|
1048
|
+
m(Boolean)
|
|
1049
|
+
], b.prototype, "processing", 2);
|
|
1050
|
+
N([
|
|
1051
|
+
m(Boolean)
|
|
1052
|
+
], b.prototype, "mini", 2);
|
|
1053
|
+
N([
|
|
1054
|
+
m(Boolean)
|
|
1055
|
+
], b.prototype, "constrainContentWidth", 2);
|
|
1056
|
+
N([
|
|
1057
|
+
m()
|
|
1058
|
+
], b.prototype, "downloadLabel", 2);
|
|
1059
|
+
N([
|
|
1060
|
+
m()
|
|
1061
|
+
], b.prototype, "acceptExtensions", 2);
|
|
1062
|
+
N([
|
|
1063
|
+
m()
|
|
1064
|
+
], b.prototype, "maxSize", 2);
|
|
1065
|
+
N([
|
|
1066
|
+
m()
|
|
1067
|
+
], b.prototype, "customRequirement", 2);
|
|
1068
|
+
N([
|
|
1069
|
+
we()
|
|
1070
|
+
], b.prototype, "selection", 2);
|
|
1071
|
+
N([
|
|
1072
|
+
we()
|
|
1073
|
+
], b.prototype, "dismissal", 2);
|
|
1074
|
+
N([
|
|
1075
|
+
we()
|
|
1076
|
+
], b.prototype, "download", 2);
|
|
1077
|
+
N([
|
|
1078
|
+
_e("input[type='file']")
|
|
1079
|
+
], b.prototype, "fileInput", 2);
|
|
1080
|
+
N([
|
|
1081
|
+
ce("dragover")
|
|
1082
|
+
], b.prototype, "handleDragOver", 1);
|
|
1083
|
+
N([
|
|
1084
|
+
ce("dragenter")
|
|
1085
|
+
], b.prototype, "handleDragEnter", 1);
|
|
1086
|
+
N([
|
|
1087
|
+
ce("dragleave")
|
|
1088
|
+
], b.prototype, "handleDragLeave", 1);
|
|
1089
|
+
N([
|
|
1090
|
+
ce("drop")
|
|
1091
|
+
], b.prototype, "handleDrop", 1);
|
|
1092
|
+
b = N([
|
|
1093
|
+
Q({ tag: _ })
|
|
1094
|
+
], b);
|
|
1095
|
+
const os = {
|
|
1096
|
+
basic: {
|
|
1097
|
+
label: "Basic File Upload",
|
|
1098
|
+
description: u`
|
|
1099
|
+
<p>Simply allow the user to drag-and-drop or select either a single file or multiple files at once.</p>
|
|
1100
|
+
`,
|
|
1101
|
+
examples: {
|
|
1102
|
+
single: {
|
|
1103
|
+
description: "<p>Single file upload</p>",
|
|
1104
|
+
react: u`
|
|
1105
|
+
function Component() {
|
|
1106
|
+
const ref = React.useRef()
|
|
1107
|
+
|
|
1108
|
+
function handleChange(event) {
|
|
1109
|
+
console.log(event.detail)
|
|
1110
|
+
}
|
|
1111
|
+
|
|
1112
|
+
React.useEffect(() => {
|
|
1113
|
+
ref.current.addEventListener("selection", handleChange)
|
|
1114
|
+
return () => {
|
|
1115
|
+
ref.current.removeEventListener("selection", handleChange)
|
|
1116
|
+
}
|
|
1117
|
+
})
|
|
1118
|
+
|
|
1119
|
+
return (
|
|
1120
|
+
<div className="sps-row">
|
|
1121
|
+
<div className="col-12">
|
|
1122
|
+
<sps-file-upload ref={ref}/>
|
|
1123
|
+
</div>
|
|
1124
|
+
</div>
|
|
1125
|
+
)
|
|
1126
|
+
}
|
|
1127
|
+
`
|
|
1128
|
+
},
|
|
1129
|
+
multiple: {
|
|
1130
|
+
description: "<p>Multiple file upload</p>",
|
|
1131
|
+
react: u`
|
|
1132
|
+
function Component() {
|
|
1133
|
+
const ref = React.useRef()
|
|
1134
|
+
|
|
1135
|
+
function handleChange(event) {
|
|
1136
|
+
console.log(event.detail)
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
React.useEffect(() => {
|
|
1140
|
+
ref.current.addEventListener("selection", handleChange)
|
|
1141
|
+
return () => {
|
|
1142
|
+
ref.current.removeEventListener("selection", handleChange)
|
|
1143
|
+
}
|
|
1144
|
+
})
|
|
1145
|
+
|
|
1146
|
+
return (
|
|
1147
|
+
<div className="sps-row">
|
|
1148
|
+
<div className="col-12">
|
|
1149
|
+
<sps-file-upload ref={ref} multiple/>
|
|
1150
|
+
</div>
|
|
1151
|
+
</div>
|
|
1152
|
+
)
|
|
1153
|
+
}
|
|
1154
|
+
`
|
|
1155
|
+
}
|
|
1156
|
+
}
|
|
1157
|
+
},
|
|
1158
|
+
restrictions: {
|
|
1159
|
+
label: "Restrictions",
|
|
1160
|
+
description: u`
|
|
1161
|
+
<p>You can place restrictions on what files will be accepted with an extension whitelist and/or a maximum size.</p>
|
|
1162
|
+
`,
|
|
1163
|
+
examples: {
|
|
1164
|
+
size: {
|
|
1165
|
+
description: "<p>Maximum size</p>",
|
|
1166
|
+
react: u`
|
|
1167
|
+
function Component() {
|
|
1168
|
+
const ref = React.useRef()
|
|
1169
|
+
|
|
1170
|
+
function handleChange(event) {
|
|
1171
|
+
console.log(event.detail)
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1174
|
+
React.useEffect(() => {
|
|
1175
|
+
ref.current.addEventListener("selection", handleChange)
|
|
1176
|
+
return () => {
|
|
1177
|
+
ref.current.removeEventListener("selection", handleChange)
|
|
1178
|
+
}
|
|
1179
|
+
})
|
|
1180
|
+
|
|
1181
|
+
return (
|
|
1182
|
+
<div className="sps-row">
|
|
1183
|
+
<div className="col-12">
|
|
1184
|
+
<sps-file-upload ref={ref} maxSize="100KB"/>
|
|
1185
|
+
</div>
|
|
1186
|
+
</div>
|
|
1187
|
+
)
|
|
1188
|
+
}
|
|
1189
|
+
`
|
|
1190
|
+
},
|
|
1191
|
+
type: {
|
|
1192
|
+
description: "<p>File type whitelist</p>",
|
|
1193
|
+
react: u`
|
|
1194
|
+
function Component() {
|
|
1195
|
+
const ref = React.useRef()
|
|
1196
|
+
|
|
1197
|
+
function handleChange(event) {
|
|
1198
|
+
console.log(event.detail)
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
React.useEffect(() => {
|
|
1202
|
+
ref.current.addEventListener("selection", handleChange)
|
|
1203
|
+
return () => {
|
|
1204
|
+
ref.current.removeEventListener("selection", handleChange)
|
|
1205
|
+
}
|
|
1206
|
+
})
|
|
1207
|
+
|
|
1208
|
+
return (
|
|
1209
|
+
<div className="sps-row">
|
|
1210
|
+
<div className="col-12">
|
|
1211
|
+
<sps-file-upload
|
|
1212
|
+
ref={ref}
|
|
1213
|
+
description="Spreadsheets"
|
|
1214
|
+
multiple
|
|
1215
|
+
acceptExtensions="XLS, xlsx, .csv"
|
|
1216
|
+
/>
|
|
1217
|
+
</div>
|
|
1218
|
+
</div>
|
|
1219
|
+
)
|
|
1220
|
+
}
|
|
1221
|
+
`
|
|
1222
|
+
},
|
|
1223
|
+
both: {
|
|
1224
|
+
description: "<p>Both restrictions</p>",
|
|
1225
|
+
react: u`
|
|
1226
|
+
function Component() {
|
|
1227
|
+
const ref = React.useRef()
|
|
1228
|
+
|
|
1229
|
+
function handleChange(event) {
|
|
1230
|
+
console.log(event.detail)
|
|
1231
|
+
}
|
|
1232
|
+
|
|
1233
|
+
React.useEffect(() => {
|
|
1234
|
+
ref.current.addEventListener("selection", handleChange)
|
|
1235
|
+
return () => {
|
|
1236
|
+
ref.current.removeEventListener("selection", handleChange)
|
|
1237
|
+
}
|
|
1238
|
+
})
|
|
1239
|
+
|
|
1240
|
+
return (
|
|
1241
|
+
<div className="sps-row">
|
|
1242
|
+
<div className="col-12">
|
|
1243
|
+
<sps-file-upload
|
|
1244
|
+
ref={ref}
|
|
1245
|
+
description="Spreadsheets"
|
|
1246
|
+
multiple
|
|
1247
|
+
acceptExtensions="XLS, xlsx, .csv"
|
|
1248
|
+
maxSize="25MB"
|
|
1249
|
+
/>
|
|
1250
|
+
</div>
|
|
1251
|
+
</div>
|
|
1252
|
+
)
|
|
1253
|
+
}
|
|
1254
|
+
`
|
|
1255
|
+
}
|
|
1256
|
+
}
|
|
1257
|
+
},
|
|
1258
|
+
dismissable: {
|
|
1259
|
+
label: "Dismissable",
|
|
1260
|
+
description: u`
|
|
1261
|
+
<p>With this option, the file upload component can be dismissed by the user. If the user does dismiss it, you can
|
|
1262
|
+
show it again programmatically if you need to.</p>
|
|
1263
|
+
`,
|
|
1264
|
+
examples: {
|
|
1265
|
+
dismissable: {
|
|
1266
|
+
react: u`
|
|
1267
|
+
function Component() {
|
|
1268
|
+
const [showFileUpload, setShowFileUpload] = React.useState(true)
|
|
1269
|
+
const ref = React.useRef()
|
|
1270
|
+
|
|
1271
|
+
function handleDismissal() {
|
|
1272
|
+
setShowFileUpload(false)
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1275
|
+
React.useEffect(() => {
|
|
1276
|
+
ref.current.addEventListener("dismissal", handleDismissal)
|
|
1277
|
+
return () => {
|
|
1278
|
+
ref.current.removeEventListener("dismissal", handleDismissal)
|
|
1279
|
+
}
|
|
1280
|
+
})
|
|
1281
|
+
|
|
1282
|
+
return (
|
|
1283
|
+
<div className="sps-row">
|
|
1284
|
+
<div className="col-12">
|
|
1285
|
+
<sps-file-upload
|
|
1286
|
+
ref={ref}
|
|
1287
|
+
dismissable
|
|
1288
|
+
shown={showFileUpload}
|
|
1289
|
+
/>
|
|
1290
|
+
{!showFileUpload && (
|
|
1291
|
+
<SpsButton onClick={() => setShowFileUpload(true)}>
|
|
1292
|
+
Reset
|
|
1293
|
+
</SpsButton>
|
|
1294
|
+
)}
|
|
1295
|
+
</div>
|
|
1296
|
+
</div>
|
|
1297
|
+
)
|
|
1298
|
+
}
|
|
1299
|
+
`
|
|
1300
|
+
}
|
|
1301
|
+
}
|
|
1302
|
+
},
|
|
1303
|
+
downloadButton: {
|
|
1304
|
+
label: "Download Button",
|
|
1305
|
+
description: u`
|
|
1306
|
+
<p>You can optionally provide a button to download a file. Typically this will be a template for
|
|
1307
|
+
whatever the user is expected to upload. They can then fill out the template, save it, and upload it.</p>
|
|
1308
|
+
`,
|
|
1309
|
+
examples: {
|
|
1310
|
+
downloadButton: {
|
|
1311
|
+
react: u`
|
|
1312
|
+
function Component() {
|
|
1313
|
+
const ref = React.useRef()
|
|
1314
|
+
|
|
1315
|
+
function handleDownload() {
|
|
1316
|
+
console.log("Download triggered.")
|
|
1317
|
+
}
|
|
1318
|
+
|
|
1319
|
+
React.useEffect(() => {
|
|
1320
|
+
ref.current.addEventListener("download", handleDownload)
|
|
1321
|
+
return () => {
|
|
1322
|
+
ref.current.removeEventListener("download", handleDownload)
|
|
1323
|
+
}
|
|
1324
|
+
})
|
|
1325
|
+
|
|
1326
|
+
return (
|
|
1327
|
+
<div className="sps-row">
|
|
1328
|
+
<div className="col-12">
|
|
1329
|
+
<sps-file-upload
|
|
1330
|
+
ref={ref}
|
|
1331
|
+
description="Spreadsheet"
|
|
1332
|
+
acceptExtensions="xlsx"
|
|
1333
|
+
downloadLabel="Download Excel Template"
|
|
1334
|
+
/>
|
|
1335
|
+
</div>
|
|
1336
|
+
</div>
|
|
1337
|
+
)
|
|
1338
|
+
}
|
|
1339
|
+
`
|
|
1340
|
+
}
|
|
1341
|
+
}
|
|
1342
|
+
},
|
|
1343
|
+
mini: {
|
|
1344
|
+
label: "Mini File Upload",
|
|
1345
|
+
description: u`
|
|
1346
|
+
<p>When the file upload component is to be placed in a small container,
|
|
1347
|
+
it should be marked as a mini file upload so that everything fits.</p>
|
|
1348
|
+
`,
|
|
1349
|
+
examples: {
|
|
1350
|
+
single: {
|
|
1351
|
+
react: u`
|
|
1352
|
+
function Component() {
|
|
1353
|
+
const ref = React.useRef()
|
|
1354
|
+
|
|
1355
|
+
function handleChange(event) {
|
|
1356
|
+
console.log(event.detail)
|
|
1357
|
+
}
|
|
1358
|
+
|
|
1359
|
+
React.useEffect(() => {
|
|
1360
|
+
ref.current.addEventListener("selection", handleChange)
|
|
1361
|
+
return () => {
|
|
1362
|
+
ref.current.removeEventListener("selection", handleChange)
|
|
1363
|
+
}
|
|
1364
|
+
})
|
|
1365
|
+
|
|
1366
|
+
return (
|
|
1367
|
+
<div className="sps-row">
|
|
1368
|
+
<div className="col-4">
|
|
1369
|
+
<sps-file-upload ref={ref} mini/>
|
|
1370
|
+
</div>
|
|
1371
|
+
</div>
|
|
1372
|
+
)
|
|
1373
|
+
}
|
|
1374
|
+
`
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
},
|
|
1378
|
+
constrainContentWidth: {
|
|
1379
|
+
label: "Constrain Content Width",
|
|
1380
|
+
description: u`
|
|
1381
|
+
<p>If this prop is provided, the content will be restricted to 50% of
|
|
1382
|
+
the overall width of the component. Consult your product designer if
|
|
1383
|
+
you're not sure whether to use this variant.</p>
|
|
1384
|
+
`,
|
|
1385
|
+
examples: {
|
|
1386
|
+
constrainContentWidth: {
|
|
1387
|
+
react: u`
|
|
1388
|
+
function Component() {
|
|
1389
|
+
const ref = React.useRef()
|
|
1390
|
+
|
|
1391
|
+
function handleChange(event: CustomEvent<Array<File>>) {
|
|
1392
|
+
console.log(event.detail)
|
|
1393
|
+
}
|
|
1394
|
+
|
|
1395
|
+
React.useEffect(() => {
|
|
1396
|
+
ref.current.addEventListener("selection", handleChange)
|
|
1397
|
+
return () => {
|
|
1398
|
+
ref.current.removeEventListener("selection", handleChange)
|
|
1399
|
+
}
|
|
1400
|
+
})
|
|
1401
|
+
|
|
1402
|
+
return (
|
|
1403
|
+
<div className="sps-row">
|
|
1404
|
+
<div className="col-4">
|
|
1405
|
+
<sps-file-upload ref={ref} constrainContentWidth/>
|
|
1406
|
+
</div>
|
|
1407
|
+
</div>
|
|
1408
|
+
)
|
|
1409
|
+
}
|
|
1410
|
+
`
|
|
1411
|
+
}
|
|
1412
|
+
}
|
|
1413
|
+
}
|
|
1414
|
+
};
|
|
1415
|
+
var Ht = Object.defineProperty, qt = Object.getOwnPropertyDescriptor, $ = (e, s, i, o) => {
|
|
1416
|
+
for (var r = o > 1 ? void 0 : o ? qt(s, i) : s, p = e.length - 1, f; p >= 0; p--)
|
|
1417
|
+
(f = e[p]) && (r = (o ? f(s, i, r) : f(r)) || r);
|
|
1418
|
+
return o && r && Ht(s, i, r), r;
|
|
1419
|
+
};
|
|
1420
|
+
const D = "sps-insight-card";
|
|
1421
|
+
let k = class extends HTMLElement {
|
|
1422
|
+
constructor() {
|
|
1423
|
+
super(...arguments), this.kind = $t.GENERAL;
|
|
1424
|
+
}
|
|
1425
|
+
get [K]() {
|
|
1426
|
+
return [
|
|
1427
|
+
D,
|
|
1428
|
+
`${D}--${this.kind}`,
|
|
1429
|
+
this.detail && this.detail.children.length ? `${D}--has-detail` : null
|
|
1430
|
+
];
|
|
1431
|
+
}
|
|
1432
|
+
render() {
|
|
1433
|
+
const e = /* @__PURE__ */ c("div", { className: `${D}__metric-count` }, this.metric), s = /* @__PURE__ */ c("div", { className: `${D}__description` }, /* @__PURE__ */ c(
|
|
1434
|
+
"div",
|
|
1435
|
+
{
|
|
1436
|
+
className: `${D}__title`,
|
|
1437
|
+
style: { "-webkit-box-orient": "vertical" }
|
|
1438
|
+
},
|
|
1439
|
+
this.title
|
|
1440
|
+
), /* @__PURE__ */ c("div", { className: `${D}__detail` }, this.content)), i = this.partnercount, o = this.totalpartners, [
|
|
1441
|
+
r,
|
|
1442
|
+
p,
|
|
1443
|
+
f
|
|
1444
|
+
] = (i ? P.t("insightCard.partnerCount", { count: i, total: o, defaultValue: `${i} |of| ${o}` }) : "").split("|");
|
|
1445
|
+
return /* @__PURE__ */ c("div", { "data-fragment": !0 }, /* @__PURE__ */ c("div", { className: `${D}__body` }, this.icon ? /* @__PURE__ */ c("i", { className: `sps-icon sps-icon-${this.icon}` }) : /* @__PURE__ */ c("i", { className: `sps-icon sps-icon-${Bt[this.kind]}` }), e, s), i && /* @__PURE__ */ c("div", { className: `${D}__partner-count` }, i === o ? /* @__PURE__ */ c("div", null, P.t("insightCard.all", { defaultValue: "ALL" })) : /* @__PURE__ */ c("div", { "data-fragment": !0 }, /* @__PURE__ */ c("div", null, r), /* @__PURE__ */ c("div", null, p), /* @__PURE__ */ c("div", null, f)), /* @__PURE__ */ c("div", { className: `${D}__partners-text` }, P.t("insightCard.partners", { defaultValue: "PARTNERS" }))));
|
|
1446
|
+
}
|
|
1447
|
+
};
|
|
1448
|
+
k.displayName = D;
|
|
1449
|
+
k.props = {
|
|
1450
|
+
icon: "SpsIcon",
|
|
1451
|
+
kind: "SpsInsightCardKind",
|
|
1452
|
+
title: "string",
|
|
1453
|
+
metric: "number",
|
|
1454
|
+
partnerCount: "number",
|
|
1455
|
+
totalPartners: "number",
|
|
1456
|
+
secondary: "boolean"
|
|
1457
|
+
};
|
|
1458
|
+
$([
|
|
1459
|
+
m()
|
|
1460
|
+
], k.prototype, "icon", 2);
|
|
1461
|
+
$([
|
|
1462
|
+
m()
|
|
1463
|
+
], k.prototype, "kind", 2);
|
|
1464
|
+
$([
|
|
1465
|
+
m()
|
|
1466
|
+
], k.prototype, "title", 2);
|
|
1467
|
+
$([
|
|
1468
|
+
m()
|
|
1469
|
+
], k.prototype, "metric", 2);
|
|
1470
|
+
$([
|
|
1471
|
+
m()
|
|
1472
|
+
], k.prototype, "partnerCount", 2);
|
|
1473
|
+
$([
|
|
1474
|
+
m()
|
|
1475
|
+
], k.prototype, "totalPartners", 2);
|
|
1476
|
+
$([
|
|
1477
|
+
m()
|
|
1478
|
+
], k.prototype, "secondary", 2);
|
|
1479
|
+
$([
|
|
1480
|
+
Ce()
|
|
1481
|
+
], k.prototype, "content", 2);
|
|
1482
|
+
$([
|
|
1483
|
+
_e(`.${D}__detail`)
|
|
1484
|
+
], k.prototype, "detail", 2);
|
|
1485
|
+
k = $([
|
|
1486
|
+
Q({ tag: D })
|
|
1487
|
+
], k);
|
|
1488
|
+
var Gt = Object.defineProperty, Xt = Object.getOwnPropertyDescriptor, Ne = (e, s, i, o) => {
|
|
1489
|
+
for (var r = o > 1 ? void 0 : o ? Xt(s, i) : s, p = e.length - 1, f; p >= 0; p--)
|
|
1490
|
+
(f = e[p]) && (r = (o ? f(s, i, r) : f(r)) || r);
|
|
1491
|
+
return o && r && Gt(s, i, r), r;
|
|
1492
|
+
};
|
|
1493
|
+
const B = "sps-insights";
|
|
1494
|
+
let X = class extends HTMLElement {
|
|
1495
|
+
constructor() {
|
|
1496
|
+
super(), this.content = [], this.showAdditionalInsights = !1, this.toggleAdditionalInsights = this.toggleAdditionalInsights.bind(this);
|
|
1497
|
+
}
|
|
1498
|
+
get [K]() {
|
|
1499
|
+
return [
|
|
1500
|
+
B,
|
|
1501
|
+
this.showAdditionalInsights && `${B}--show-additional`,
|
|
1502
|
+
this.details && Array.from(this.details).every((e) => !e.textContent) ? `${B}--no-details` : null,
|
|
1503
|
+
this.content.length === 6 ? `${B}--break-4` : null,
|
|
1504
|
+
this.content.length === 7 ? `${B}--break-5` : null,
|
|
1505
|
+
this.content.length === 8 ? `${B}--break-5` : null
|
|
1506
|
+
];
|
|
1507
|
+
}
|
|
1508
|
+
/**
|
|
1509
|
+
* Only the first ten Insight Cards are visible by default; the rest are behind
|
|
1510
|
+
* the "Show Additional Insights"/"Hide Additional Insights" button. This method
|
|
1511
|
+
* will toggle the additional insights.
|
|
1512
|
+
*/
|
|
1513
|
+
toggleAdditionalInsights() {
|
|
1514
|
+
this.showAdditionalInsights = !this.showAdditionalInsights, this.update();
|
|
1515
|
+
}
|
|
1516
|
+
render() {
|
|
1517
|
+
return /* @__PURE__ */ c("div", { "data-fragment": !0 }, this.content, this.content.length > 10 && /* @__PURE__ */ c("div", { className: "sps-button sps-button--link", onClick: this.toggleAdditionalInsights }, /* @__PURE__ */ c("button", { type: "button" }, this.showAdditionalInsights ? P.t("insights.hideAdditionalInsights", { defaultValue: "Hide Additional Insights" }) : P.t("insights.showAdditionalInsights", { defaultValue: "Show Additional Insights" }))));
|
|
1518
|
+
}
|
|
1519
|
+
};
|
|
1520
|
+
X.displayName = B;
|
|
1521
|
+
X.props = {};
|
|
1522
|
+
Ne([
|
|
1523
|
+
Ce()
|
|
1524
|
+
], X.prototype, "content", 2);
|
|
1525
|
+
Ne([
|
|
1526
|
+
zt(".sps-insight-card__detail")
|
|
1527
|
+
], X.prototype, "details", 2);
|
|
1528
|
+
X = Ne([
|
|
1529
|
+
Q({ tag: B })
|
|
1530
|
+
], X);
|
|
1531
|
+
const ls = {
|
|
1532
|
+
basic: {
|
|
1533
|
+
label: "Basic Insight Cards",
|
|
1534
|
+
examples: {
|
|
1535
|
+
basic: {
|
|
1536
|
+
jsx: u`
|
|
1537
|
+
<sps-insights>
|
|
1538
|
+
<sps-insight-card kind="general"
|
|
1539
|
+
metric="1234"
|
|
1540
|
+
title="Insight Card Title"
|
|
1541
|
+
></sps-insight-card>
|
|
1542
|
+
<sps-insight-card kind="processing"
|
|
1543
|
+
metric="1234"
|
|
1544
|
+
title="Insight Card Title"
|
|
1545
|
+
></sps-insight-card>
|
|
1546
|
+
<sps-insight-card kind="success"
|
|
1547
|
+
metric="1234"
|
|
1548
|
+
title="Insight Card Title"
|
|
1549
|
+
></sps-insight-card>
|
|
1550
|
+
<sps-insight-card kind="warning"
|
|
1551
|
+
metric="1234"
|
|
1552
|
+
title="Insight Card Title"
|
|
1553
|
+
></sps-insight-card>
|
|
1554
|
+
<sps-insight-card kind="error"
|
|
1555
|
+
metric="1234"
|
|
1556
|
+
title="Insight Card Title"
|
|
1557
|
+
></sps-insight-card>
|
|
1558
|
+
</sps-insights>
|
|
1559
|
+
`
|
|
1560
|
+
}
|
|
1561
|
+
}
|
|
1562
|
+
},
|
|
1563
|
+
details: {
|
|
1564
|
+
label: "With Details",
|
|
1565
|
+
examples: {
|
|
1566
|
+
details: {
|
|
1567
|
+
jsx: u`
|
|
1568
|
+
<sps-insights>
|
|
1569
|
+
<sps-insight-card kind="general"
|
|
1570
|
+
metric="1234"
|
|
1571
|
+
title="Insight Card Title"
|
|
1572
|
+
>
|
|
1573
|
+
<span className="gray600 font-weight-bold">Detail:</span> 792 units
|
|
1574
|
+
</sps-insight-card>
|
|
1575
|
+
<sps-insight-card kind="processing"
|
|
1576
|
+
metric="1234"
|
|
1577
|
+
title="Insight Card Title"
|
|
1578
|
+
>
|
|
1579
|
+
<span className="gray600 font-weight-bold">Detail:</span> 792 units
|
|
1580
|
+
</sps-insight-card>
|
|
1581
|
+
<sps-insight-card kind="success"
|
|
1582
|
+
metric="1234"
|
|
1583
|
+
title="Insight Card Title"
|
|
1584
|
+
>
|
|
1585
|
+
<span className="gray600 font-weight-bold">Detail:</span> 792 units
|
|
1586
|
+
</sps-insight-card>
|
|
1587
|
+
<sps-insight-card kind="warning"
|
|
1588
|
+
metric="1234"
|
|
1589
|
+
title="Insight Card Title"
|
|
1590
|
+
>
|
|
1591
|
+
<span className="gray600 font-weight-bold">Detail:</span> 792 units
|
|
1592
|
+
</sps-insight-card>
|
|
1593
|
+
<sps-insight-card kind="error"
|
|
1594
|
+
metric="1234"
|
|
1595
|
+
title="Insight Card Title"
|
|
1596
|
+
>
|
|
1597
|
+
<span className="gray600 font-weight-bold">Detail:</span> 792 units
|
|
1598
|
+
</sps-insight-card>
|
|
1599
|
+
<sps-insight-card kind="success"
|
|
1600
|
+
metric="1234"
|
|
1601
|
+
title="Insight Card Title"
|
|
1602
|
+
>
|
|
1603
|
+
<span className="gray600 font-weight-bold">Detail:</span> 792 units
|
|
1604
|
+
</sps-insight-card>
|
|
1605
|
+
<sps-insight-card kind="error"
|
|
1606
|
+
metric="1234"
|
|
1607
|
+
title="Insight Card Title"
|
|
1608
|
+
>
|
|
1609
|
+
<span className="gray600 font-weight-bold">Detail:</span> 792 units
|
|
1610
|
+
</sps-insight-card>
|
|
1611
|
+
</sps-insights>
|
|
1612
|
+
`
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1615
|
+
},
|
|
1616
|
+
partner_count: {
|
|
1617
|
+
label: "Partner Count",
|
|
1618
|
+
examples: {
|
|
1619
|
+
partner_count: {
|
|
1620
|
+
jsx: u`
|
|
1621
|
+
<sps-insights>
|
|
1622
|
+
<sps-insight-card kind="general"
|
|
1623
|
+
metric="1234"
|
|
1624
|
+
title="Insight Card Title"
|
|
1625
|
+
partnerCount="250"
|
|
1626
|
+
totalPartners="250"
|
|
1627
|
+
></sps-insight-card>
|
|
1628
|
+
<sps-insight-card kind="processing"
|
|
1629
|
+
metric="1234"
|
|
1630
|
+
title="Insight Card Title"
|
|
1631
|
+
partnerCount="122"
|
|
1632
|
+
totalPartners="250"
|
|
1633
|
+
></sps-insight-card>
|
|
1634
|
+
<sps-insight-card kind="success"
|
|
1635
|
+
metric="1234"
|
|
1636
|
+
title="Insight Card Title"
|
|
1637
|
+
partnerCount="207"
|
|
1638
|
+
totalPartners="250"
|
|
1639
|
+
></sps-insight-card>
|
|
1640
|
+
<sps-insight-card kind="warning"
|
|
1641
|
+
metric="1234"
|
|
1642
|
+
title="Insight Card Title"
|
|
1643
|
+
partnerCount="12"
|
|
1644
|
+
totalPartners="250"
|
|
1645
|
+
></sps-insight-card>
|
|
1646
|
+
<sps-insight-card kind="error"
|
|
1647
|
+
metric="1234"
|
|
1648
|
+
title="Insight Card Title"
|
|
1649
|
+
partnerCount="94"
|
|
1650
|
+
totalPartners="250"
|
|
1651
|
+
></sps-insight-card>
|
|
1652
|
+
</sps-insights>
|
|
1653
|
+
`
|
|
1654
|
+
}
|
|
1655
|
+
}
|
|
1656
|
+
},
|
|
1657
|
+
expansion: {
|
|
1658
|
+
label: "10+ Insight Cards",
|
|
1659
|
+
examples: {
|
|
1660
|
+
expansion: {
|
|
1661
|
+
jsx: u`
|
|
1662
|
+
<sps-insights>
|
|
1663
|
+
<sps-insight-card kind="general"
|
|
1664
|
+
metric="1234"
|
|
1665
|
+
title="Insight Card Title"
|
|
1666
|
+
partnerCount="100"
|
|
1667
|
+
totalPartners="200"
|
|
1668
|
+
>
|
|
1669
|
+
<span className="gray600 font-weight-bold">Detail:</span> 792 units
|
|
1670
|
+
</sps-insight-card>
|
|
1671
|
+
<sps-insight-card kind="processing"
|
|
1672
|
+
metric="1234"
|
|
1673
|
+
title="Insight Card Title"
|
|
1674
|
+
partnerCount="100"
|
|
1675
|
+
totalPartners="200"
|
|
1676
|
+
></sps-insight-card>
|
|
1677
|
+
<sps-insight-card kind="success"
|
|
1678
|
+
metric="1234"
|
|
1679
|
+
title="Insight Card Title"
|
|
1680
|
+
partnerCount="100"
|
|
1681
|
+
totalPartners="200"
|
|
1682
|
+
>
|
|
1683
|
+
<span className="gray600 font-weight-bold">Detail:</span> 792 units
|
|
1684
|
+
</sps-insight-card>
|
|
1685
|
+
<sps-insight-card kind="warning"
|
|
1686
|
+
metric="1234"
|
|
1687
|
+
title="Insight Card Title"
|
|
1688
|
+
partnerCount="100"
|
|
1689
|
+
totalPartners="200"
|
|
1690
|
+
></sps-insight-card>
|
|
1691
|
+
<sps-insight-card kind="error"
|
|
1692
|
+
metric="1234"
|
|
1693
|
+
title="Insight Card Title"
|
|
1694
|
+
partnerCount="100"
|
|
1695
|
+
totalPartners="200"
|
|
1696
|
+
>
|
|
1697
|
+
<span className="gray600 font-weight-bold">Detail:</span> 792 units
|
|
1698
|
+
</sps-insight-card>
|
|
1699
|
+
<sps-insight-card kind="general"
|
|
1700
|
+
metric="1234"
|
|
1701
|
+
title="Insight Card Title"
|
|
1702
|
+
partnerCount="100"
|
|
1703
|
+
totalPartners="200"
|
|
1704
|
+
></sps-insight-card>
|
|
1705
|
+
<sps-insight-card kind="processing"
|
|
1706
|
+
metric="1234"
|
|
1707
|
+
title="Insight Card Title"
|
|
1708
|
+
partnerCount="100"
|
|
1709
|
+
totalPartners="200"
|
|
1710
|
+
>
|
|
1711
|
+
<span className="gray600 font-weight-bold">Detail:</span> 792 units
|
|
1712
|
+
</sps-insight-card>
|
|
1713
|
+
<sps-insight-card kind="success"
|
|
1714
|
+
metric="1234"
|
|
1715
|
+
title="Insight Card Title"
|
|
1716
|
+
partnerCount="100"
|
|
1717
|
+
totalPartners="200"
|
|
1718
|
+
></sps-insight-card>
|
|
1719
|
+
<sps-insight-card kind="warning"
|
|
1720
|
+
metric="1234"
|
|
1721
|
+
title="Insight Card Title"
|
|
1722
|
+
partnerCount="100"
|
|
1723
|
+
totalPartners="200"
|
|
1724
|
+
>
|
|
1725
|
+
<span className="gray600 font-weight-bold">Detail:</span> 792 units
|
|
1726
|
+
</sps-insight-card>
|
|
1727
|
+
<sps-insight-card kind="error"
|
|
1728
|
+
metric="1234"
|
|
1729
|
+
title="Insight Card Title"
|
|
1730
|
+
partnerCount="100"
|
|
1731
|
+
totalPartners="200"
|
|
1732
|
+
></sps-insight-card>
|
|
1733
|
+
<sps-insight-card kind="general"
|
|
1734
|
+
metric="1234"
|
|
1735
|
+
title="Insight Card Title"
|
|
1736
|
+
partnerCount="100"
|
|
1737
|
+
totalPartners="200"
|
|
1738
|
+
>
|
|
1739
|
+
<span className="gray600 font-weight-bold">Detail:</span> 792 units
|
|
1740
|
+
</sps-insight-card>
|
|
1741
|
+
<sps-insight-card kind="processing"
|
|
1742
|
+
metric="1234"
|
|
1743
|
+
title="Insight Card Title"
|
|
1744
|
+
partnerCount="100"
|
|
1745
|
+
totalPartners="200"
|
|
1746
|
+
></sps-insight-card>
|
|
1747
|
+
<sps-insight-card kind="success"
|
|
1748
|
+
metric="1234"
|
|
1749
|
+
title="Insight Card Title"
|
|
1750
|
+
partnerCount="100"
|
|
1751
|
+
totalPartners="200"
|
|
1752
|
+
>
|
|
1753
|
+
<span className="gray600 font-weight-bold">Detail:</span> 792 units
|
|
1754
|
+
</sps-insight-card>
|
|
1755
|
+
<sps-insight-card kind="warning"
|
|
1756
|
+
metric="1234"
|
|
1757
|
+
title="Insight Card Title"
|
|
1758
|
+
partnerCount="100"
|
|
1759
|
+
totalPartners="200"
|
|
1760
|
+
></sps-insight-card>
|
|
1761
|
+
<sps-insight-card kind="error"
|
|
1762
|
+
metric="1234"
|
|
1763
|
+
title="Insight Card Title"
|
|
1764
|
+
partnerCount="100"
|
|
1765
|
+
totalPartners="200"
|
|
1766
|
+
>
|
|
1767
|
+
<span className="gray600 font-weight-bold">Detail:</span> 792 units
|
|
1768
|
+
</sps-insight-card>
|
|
1769
|
+
</sps-insights>
|
|
1770
|
+
`
|
|
1771
|
+
}
|
|
1772
|
+
}
|
|
1773
|
+
},
|
|
1774
|
+
events: {
|
|
1775
|
+
label: "Adding a click handler",
|
|
1776
|
+
description: u`
|
|
1777
|
+
<p>Attaching event handlers to native web components in React cannot be done the usual way at this time.
|
|
1778
|
+
Here is how to do it:</p>
|
|
1779
|
+
`,
|
|
1780
|
+
examples: {
|
|
1781
|
+
events: {
|
|
1782
|
+
react: u`
|
|
1783
|
+
function Component() {
|
|
1784
|
+
function handleClick() {
|
|
1785
|
+
window.alert("Insight card clicked");
|
|
1786
|
+
}
|
|
1787
|
+
|
|
1788
|
+
const ref = React.useRef();
|
|
1789
|
+
React.useEffect(() => {
|
|
1790
|
+
ref.current.addEventListener("click", handleClick);
|
|
1791
|
+
return () => {
|
|
1792
|
+
ref.current.removeEventListener("click", handleClick);
|
|
1793
|
+
};
|
|
1794
|
+
}, []);
|
|
1795
|
+
|
|
1796
|
+
return (
|
|
1797
|
+
<sps-insights>
|
|
1798
|
+
<sps-insight-card ref={ref}
|
|
1799
|
+
kind="general"
|
|
1800
|
+
metric="1234"
|
|
1801
|
+
title="Insight Card Title"
|
|
1802
|
+
></sps-insight-card>
|
|
1803
|
+
<sps-insight-card kind="general"
|
|
1804
|
+
metric="1234"
|
|
1805
|
+
title="Insight Card Title"
|
|
1806
|
+
></sps-insight-card>
|
|
1807
|
+
<sps-insight-card kind="general"
|
|
1808
|
+
metric="1234"
|
|
1809
|
+
title="Insight Card Title"
|
|
1810
|
+
></sps-insight-card>
|
|
1811
|
+
</sps-insights>
|
|
1812
|
+
);
|
|
1813
|
+
}
|
|
1814
|
+
`
|
|
1815
|
+
}
|
|
1816
|
+
}
|
|
1817
|
+
},
|
|
1818
|
+
alternateIcon: {
|
|
1819
|
+
label: "Using alternate icons",
|
|
1820
|
+
examples: {
|
|
1821
|
+
basic: {
|
|
1822
|
+
react: u`
|
|
1823
|
+
function DemoComponent() {
|
|
1824
|
+
return (
|
|
1825
|
+
<sps-insights>
|
|
1826
|
+
<sps-insight-card
|
|
1827
|
+
kind="general"
|
|
1828
|
+
metric="1234"
|
|
1829
|
+
icon={SpsIcon.DOLLAR_SIGN}
|
|
1830
|
+
title="Insight Card Title"
|
|
1831
|
+
></sps-insight-card>
|
|
1832
|
+
<sps-insight-card
|
|
1833
|
+
kind="processing"
|
|
1834
|
+
metric="1234"
|
|
1835
|
+
icon={SpsIcon.ASTERISK}
|
|
1836
|
+
title="Insight Card Title"
|
|
1837
|
+
></sps-insight-card>
|
|
1838
|
+
<sps-insight-card
|
|
1839
|
+
kind="success"
|
|
1840
|
+
metric="1234"
|
|
1841
|
+
icon={SpsIcon.USER}
|
|
1842
|
+
title="Insight Card Title"
|
|
1843
|
+
></sps-insight-card>
|
|
1844
|
+
<sps-insight-card
|
|
1845
|
+
kind="warning"
|
|
1846
|
+
metric="1234"
|
|
1847
|
+
icon={SpsIcon.FOLDER_OPEN}
|
|
1848
|
+
title="Insight Card Title"
|
|
1849
|
+
></sps-insight-card>
|
|
1850
|
+
<sps-insight-card
|
|
1851
|
+
kind="error"
|
|
1852
|
+
metric="1234"
|
|
1853
|
+
icon={SpsIcon.BAN}
|
|
1854
|
+
title="Insight Card Title"
|
|
1855
|
+
></sps-insight-card>
|
|
1856
|
+
</sps-insights>
|
|
1857
|
+
)
|
|
1858
|
+
}
|
|
1859
|
+
`
|
|
1860
|
+
}
|
|
1861
|
+
}
|
|
1862
|
+
}
|
|
1863
|
+
};
|
|
1864
|
+
var Kt = Object.defineProperty, Qt = Object.getOwnPropertyDescriptor, z = (e, s, i, o) => {
|
|
1865
|
+
for (var r = o > 1 ? void 0 : o ? Qt(s, i) : s, p = e.length - 1, f; p >= 0; p--)
|
|
1866
|
+
(f = e[p]) && (r = (o ? f(s, i, r) : f(r)) || r);
|
|
1867
|
+
return o && r && Kt(s, i, r), r;
|
|
1868
|
+
};
|
|
1869
|
+
let R = class extends HTMLElement {
|
|
1870
|
+
constructor() {
|
|
1871
|
+
super(...arguments), this.active = !1, this.label = "", this.tag = "";
|
|
1872
|
+
}
|
|
1873
|
+
get [K]() {
|
|
1874
|
+
return [
|
|
1875
|
+
"sps-tabbed-nav__nav-item",
|
|
1876
|
+
this.active && "sps-tabbed-nav__nav-item--active"
|
|
1877
|
+
];
|
|
1878
|
+
}
|
|
1879
|
+
render() {
|
|
1880
|
+
return /* @__PURE__ */ c("a", { href: this.href, target: this.target, className: "sps-tabbed-nav__nav-item-link", tabIndex: 0 }, this.icon && /* @__PURE__ */ c("i", { className: `sps-icon sps-icon-${this.icon}` }), this.label && /* @__PURE__ */ c("span", null, this.label), this.tag && /* @__PURE__ */ c("span", { className: "sps-tag sps-tag--default" }, this.tag));
|
|
1881
|
+
}
|
|
1882
|
+
};
|
|
1883
|
+
R.displayName = "sps-nav-tab";
|
|
1884
|
+
R.props = {
|
|
1885
|
+
active: "boolean",
|
|
1886
|
+
label: "string",
|
|
1887
|
+
icon: "SpsIcon",
|
|
1888
|
+
tag: "string",
|
|
1889
|
+
href: "string",
|
|
1890
|
+
target: "string"
|
|
1891
|
+
};
|
|
1892
|
+
z([
|
|
1893
|
+
m()
|
|
1894
|
+
], R.prototype, "active", 2);
|
|
1895
|
+
z([
|
|
1896
|
+
m()
|
|
1897
|
+
], R.prototype, "label", 2);
|
|
1898
|
+
z([
|
|
1899
|
+
m()
|
|
1900
|
+
], R.prototype, "icon", 2);
|
|
1901
|
+
z([
|
|
1902
|
+
m()
|
|
1903
|
+
], R.prototype, "tag", 2);
|
|
1904
|
+
z([
|
|
1905
|
+
m()
|
|
1906
|
+
], R.prototype, "href", 2);
|
|
1907
|
+
z([
|
|
1908
|
+
m()
|
|
1909
|
+
], R.prototype, "target", 2);
|
|
1910
|
+
R = z([
|
|
1911
|
+
Q({ tag: "sps-nav-tab" })
|
|
1912
|
+
], R);
|
|
1913
|
+
var Zt = Object.defineProperty, Yt = Object.getOwnPropertyDescriptor, Ze = (e, s, i, o) => {
|
|
1914
|
+
for (var r = o > 1 ? void 0 : o ? Yt(s, i) : s, p = e.length - 1, f; p >= 0; p--)
|
|
1915
|
+
(f = e[p]) && (r = (o ? f(s, i, r) : f(r)) || r);
|
|
1916
|
+
return o && r && Zt(s, i, r), r;
|
|
1917
|
+
};
|
|
1918
|
+
let ee = class extends HTMLElement {
|
|
1919
|
+
constructor() {
|
|
1920
|
+
super(...arguments), this.content = [];
|
|
1921
|
+
}
|
|
1922
|
+
render() {
|
|
1923
|
+
return /* @__PURE__ */ c("nav", { className: "sps-tabbed-nav" }, this.content);
|
|
1924
|
+
}
|
|
1925
|
+
};
|
|
1926
|
+
ee.displayName = "sps-nav-tab-set";
|
|
1927
|
+
ee.props = {};
|
|
1928
|
+
Ze([
|
|
1929
|
+
Ce()
|
|
1930
|
+
], ee.prototype, "content", 2);
|
|
1931
|
+
ee = Ze([
|
|
1932
|
+
Q({ tag: "sps-nav-tab-set" })
|
|
1933
|
+
], ee);
|
|
1934
|
+
const cs = {
|
|
1935
|
+
basic: {
|
|
1936
|
+
label: "Basic Navigation Tabs",
|
|
1937
|
+
description: u`
|
|
1938
|
+
<p>Navigation tabs native web component</p>
|
|
1939
|
+
`,
|
|
1940
|
+
examples: {
|
|
1941
|
+
basic: {
|
|
1942
|
+
react: u`
|
|
1943
|
+
function DemoComponent() {
|
|
1944
|
+
const tabs = [
|
|
1945
|
+
{ label: "Tab A", icon: "chart-line" },
|
|
1946
|
+
{ label: "Tab B", icon: "chart-bar", tag: "12" },
|
|
1947
|
+
{ label: "Tab C", icon: "chart-pie" }
|
|
1948
|
+
]
|
|
1949
|
+
|
|
1950
|
+
const [activeTab, setActiveTab] = React.useState(0)
|
|
1951
|
+
|
|
1952
|
+
return (
|
|
1953
|
+
<sps-nav-tab-set>
|
|
1954
|
+
{tabs.map((tab, index) => (
|
|
1955
|
+
<sps-nav-tab
|
|
1956
|
+
key={index}
|
|
1957
|
+
icon={tab.icon}
|
|
1958
|
+
label={tab.label}
|
|
1959
|
+
tag={tab.tag}
|
|
1960
|
+
active={index === activeTab || null}
|
|
1961
|
+
onClick={() => setActiveTab(index)}
|
|
1962
|
+
/>
|
|
1963
|
+
))}
|
|
1964
|
+
</sps-nav-tab-set>
|
|
1965
|
+
)
|
|
1966
|
+
}
|
|
1967
|
+
`
|
|
1968
|
+
}
|
|
1969
|
+
}
|
|
1970
|
+
}
|
|
1971
|
+
};
|
|
1972
|
+
var Jt = Object.defineProperty, Mt = Object.getOwnPropertyDescriptor, j = (e, s, i, o) => {
|
|
1973
|
+
for (var r = o > 1 ? void 0 : o ? Mt(s, i) : s, p = e.length - 1, f; p >= 0; p--)
|
|
1974
|
+
(f = e[p]) && (r = (o ? f(s, i, r) : f(r)) || r);
|
|
1975
|
+
return o && r && Jt(s, i, r), r;
|
|
1976
|
+
}, es = /* @__PURE__ */ ((e) => (e.FIT = "fit", e.FILL = "fill", e))(es || {});
|
|
1977
|
+
const G = "sps-photo";
|
|
1978
|
+
let L = class extends HTMLElement {
|
|
1979
|
+
constructor() {
|
|
1980
|
+
super(...arguments), this.mode = "fill";
|
|
1981
|
+
}
|
|
1982
|
+
get image() {
|
|
1983
|
+
return this.imageInternal;
|
|
1984
|
+
}
|
|
1985
|
+
set image(e) {
|
|
1986
|
+
this.imageInternal = e, e && (this.waitForImgHeightInterval && window.clearInterval(this.waitForImgHeightInterval), this.waitForImgHeightInterval = window.setInterval(() => {
|
|
1987
|
+
const s = e.getBoundingClientRect();
|
|
1988
|
+
if (s.height) {
|
|
1989
|
+
window.clearInterval(this.waitForImgHeightInterval), delete this.waitForImgHeightInterval;
|
|
1990
|
+
let i = s.width / s.height > 1;
|
|
1991
|
+
this.fitWidth = i === (this.mode === "fit");
|
|
1992
|
+
}
|
|
1993
|
+
}, 1e3 / 60));
|
|
1994
|
+
}
|
|
1995
|
+
get [K]() {
|
|
1996
|
+
return [
|
|
1997
|
+
G,
|
|
1998
|
+
this.fitWidth ? `${G}--fit-width` : `${G}--fit-height`,
|
|
1999
|
+
this.placeholderIcon && `${G}--placeholder`
|
|
2000
|
+
];
|
|
2001
|
+
}
|
|
2002
|
+
get [be]() {
|
|
2003
|
+
return {
|
|
2004
|
+
fontSize: `${this.width * 0.05}rem`,
|
|
2005
|
+
width: `${this.width}rem`,
|
|
2006
|
+
height: `${0.75 * this.width}rem`
|
|
2007
|
+
};
|
|
2008
|
+
}
|
|
2009
|
+
connectedCallback() {
|
|
2010
|
+
this.waitForWidthInterval = window.setInterval(() => {
|
|
2011
|
+
const e = this.getBoundingClientRect();
|
|
2012
|
+
e.width && (this.setWidth(e.width), window.clearInterval(this.waitForWidthInterval), delete this.waitForWidthInterval);
|
|
2013
|
+
}, 1e3 / 60);
|
|
2014
|
+
}
|
|
2015
|
+
disconnectedCallback() {
|
|
2016
|
+
this.waitForWidthInterval && window.clearInterval(this.waitForWidthInterval), this.waitForImgHeightInterval && window.clearInterval(this.waitForImgHeightInterval);
|
|
2017
|
+
}
|
|
2018
|
+
render() {
|
|
2019
|
+
return this.src ? this.width ? /* @__PURE__ */ c("img", { src: this.src, alt: this.altText }) : /* @__PURE__ */ c("span", null) : /* @__PURE__ */ c("i", { className: `sps-icon sps-icon-${this.placeholderIcon}` });
|
|
2020
|
+
}
|
|
2021
|
+
setWidth(e) {
|
|
2022
|
+
if (e && !this.width) {
|
|
2023
|
+
const s = document.body.parentElement.style.fontSize || "16px", i = Number(s.substr(0, s.length - 2));
|
|
2024
|
+
this.width = e / i;
|
|
2025
|
+
}
|
|
2026
|
+
}
|
|
2027
|
+
};
|
|
2028
|
+
L.displayName = G;
|
|
2029
|
+
L.props = {
|
|
2030
|
+
src: "string",
|
|
2031
|
+
altText: "string",
|
|
2032
|
+
mode: "SpsPhotoDisplayMode",
|
|
2033
|
+
placeholderIcon: "SpsIcon"
|
|
2034
|
+
};
|
|
2035
|
+
j([
|
|
2036
|
+
m()
|
|
2037
|
+
], L.prototype, "src", 2);
|
|
2038
|
+
j([
|
|
2039
|
+
m()
|
|
2040
|
+
], L.prototype, "altText", 2);
|
|
2041
|
+
j([
|
|
2042
|
+
m()
|
|
2043
|
+
], L.prototype, "mode", 2);
|
|
2044
|
+
j([
|
|
2045
|
+
m()
|
|
2046
|
+
], L.prototype, "placeholderIcon", 2);
|
|
2047
|
+
j([
|
|
2048
|
+
Ke()
|
|
2049
|
+
], L.prototype, "width", 2);
|
|
2050
|
+
j([
|
|
2051
|
+
Ke()
|
|
2052
|
+
], L.prototype, "fitWidth", 2);
|
|
2053
|
+
j([
|
|
2054
|
+
_e("img", { refresh: !0 })
|
|
2055
|
+
], L.prototype, "image", 1);
|
|
2056
|
+
L = j([
|
|
2057
|
+
Q({ tag: G })
|
|
2058
|
+
], L);
|
|
2059
|
+
const ps = {
|
|
2060
|
+
sizing: {
|
|
2061
|
+
label: "Sizing",
|
|
2062
|
+
description: u`
|
|
2063
|
+
<p>
|
|
2064
|
+
Photos are block elements, so a photo fills its container's width unless
|
|
2065
|
+
an explicit width is set. It is always a 4:3 aspect ratio. In this example,
|
|
2066
|
+
photos have been placed in cards which have different widths in the 12
|
|
2067
|
+
column grid.
|
|
2068
|
+
</p>
|
|
2069
|
+
`,
|
|
2070
|
+
examples: {
|
|
2071
|
+
basic: {
|
|
2072
|
+
jsx: u`
|
|
2073
|
+
<div className="sfg-row">
|
|
2074
|
+
<div className="sfg-col-2">
|
|
2075
|
+
<sps-card>
|
|
2076
|
+
<sps-photo src="assets/images/photo-landscape.jpg"></sps-photo>
|
|
2077
|
+
</sps-card>
|
|
2078
|
+
</div>
|
|
2079
|
+
<div className="sfg-col-4">
|
|
2080
|
+
<sps-card>
|
|
2081
|
+
<sps-photo src="assets/images/photo-landscape.jpg"></sps-photo>
|
|
2082
|
+
</sps-card>
|
|
2083
|
+
</div>
|
|
2084
|
+
<div className="sfg-col-6">
|
|
2085
|
+
<sps-card>
|
|
2086
|
+
<sps-photo src="assets/images/photo-landscape.jpg"></sps-photo>
|
|
2087
|
+
</sps-card>
|
|
2088
|
+
</div>
|
|
2089
|
+
</div>
|
|
2090
|
+
`
|
|
2091
|
+
}
|
|
2092
|
+
}
|
|
2093
|
+
},
|
|
2094
|
+
displayMode: {
|
|
2095
|
+
label: "Fill vs. Fit",
|
|
2096
|
+
description: u`
|
|
2097
|
+
<p>
|
|
2098
|
+
There are two display modes available:
|
|
2099
|
+
<ul>
|
|
2100
|
+
<li><b>"fill"</b> fills the entire 4:3 container, cropping off any excess portions of the image.
|
|
2101
|
+
<li><b>"fit"</b> fits the entire image into the container, leaving any excess portions of the container blank.
|
|
2102
|
+
</ul>
|
|
2103
|
+
</p>
|
|
2104
|
+
`,
|
|
2105
|
+
examples: {
|
|
2106
|
+
landscape: {
|
|
2107
|
+
description: "<p>Landscape oriented photo (container outline added for illustrative purposes)</p>",
|
|
2108
|
+
jsx: u`
|
|
2109
|
+
<div className="sfg-row">
|
|
2110
|
+
<div className="sfg-col-4">
|
|
2111
|
+
<sps-photo src="assets/images/photo-landscape.jpg" mode="fill"></sps-photo>
|
|
2112
|
+
</div>
|
|
2113
|
+
<div className="sfg-col-4">
|
|
2114
|
+
<sps-photo src="assets/images/photo-landscape.jpg" mode="fit"></sps-photo>
|
|
2115
|
+
</div>
|
|
2116
|
+
</div>
|
|
2117
|
+
`
|
|
2118
|
+
},
|
|
2119
|
+
portrait: {
|
|
2120
|
+
description: "<p>Portrait oriented photo (container outline added for illustrative purposes)</p>",
|
|
2121
|
+
jsx: u`
|
|
2122
|
+
<div className="sfg-row">
|
|
2123
|
+
<div className="sfg-col-4">
|
|
2124
|
+
<sps-photo src="assets/images/photo-portrait.jpg" mode="fill"></sps-photo>
|
|
2125
|
+
</div>
|
|
2126
|
+
<div className="sfg-col-4">
|
|
2127
|
+
<sps-photo id="foo" src="assets/images/photo-portrait.jpg" mode="fit"></sps-photo>
|
|
2128
|
+
</div>
|
|
2129
|
+
</div>
|
|
2130
|
+
`
|
|
2131
|
+
}
|
|
2132
|
+
}
|
|
2133
|
+
},
|
|
2134
|
+
placeholder: {
|
|
2135
|
+
label: "Placeholders",
|
|
2136
|
+
description: u`
|
|
2137
|
+
<p>
|
|
2138
|
+
When an image is not provided for a particular use case (such as a user avatar,
|
|
2139
|
+
a company photo, item image, etc.), a placeholder should be shown in its place.
|
|
2140
|
+
|
|
2141
|
+
The placeholder's icon, selected from our SPS icon set, should represent the
|
|
2142
|
+
type of image it is substituting for.
|
|
2143
|
+
</p>
|
|
2144
|
+
`,
|
|
2145
|
+
examples: {
|
|
2146
|
+
general: {
|
|
2147
|
+
description: "<p>General Photo</p>",
|
|
2148
|
+
jsx: u`
|
|
2149
|
+
<div className="sfg-row">
|
|
2150
|
+
<div className="sfg-col-3">
|
|
2151
|
+
<sps-photo placeholderIcon="photo"></sps-photo>
|
|
2152
|
+
</div>
|
|
2153
|
+
</div>
|
|
2154
|
+
`
|
|
2155
|
+
},
|
|
2156
|
+
photoAlt: {
|
|
2157
|
+
description: "<p>Photo Alt</p>",
|
|
2158
|
+
jsx: u`
|
|
2159
|
+
<div className="sfg-row">
|
|
2160
|
+
<div className="sfg-col-3">
|
|
2161
|
+
<sps-photo placeholderIcon="camera"></sps-photo>
|
|
2162
|
+
</div>
|
|
2163
|
+
</div>
|
|
2164
|
+
`
|
|
2165
|
+
},
|
|
2166
|
+
user: {
|
|
2167
|
+
description: "<p>User / Single Person</p>",
|
|
2168
|
+
jsx: u`
|
|
2169
|
+
<div className="sfg-row">
|
|
2170
|
+
<div className="sfg-col-3">
|
|
2171
|
+
<sps-photo placeholderIcon="user"></sps-photo>
|
|
2172
|
+
</div>
|
|
2173
|
+
</div>
|
|
2174
|
+
`
|
|
2175
|
+
},
|
|
2176
|
+
group: {
|
|
2177
|
+
description: "<p>Group / Multiple People</p>",
|
|
2178
|
+
jsx: u`
|
|
2179
|
+
<div className="sfg-row">
|
|
2180
|
+
<div className="sfg-col-3">
|
|
2181
|
+
<sps-photo placeholderIcon="group"></sps-photo>
|
|
2182
|
+
</div>
|
|
2183
|
+
</div>
|
|
2184
|
+
`
|
|
2185
|
+
},
|
|
2186
|
+
company: {
|
|
2187
|
+
description: "<p>Company / Building</p>",
|
|
2188
|
+
jsx: u`
|
|
2189
|
+
<div className="sfg-row">
|
|
2190
|
+
<div className="sfg-col-3">
|
|
2191
|
+
<sps-photo placeholderIcon="building"></sps-photo>
|
|
2192
|
+
</div>
|
|
2193
|
+
</div>
|
|
2194
|
+
`
|
|
2195
|
+
}
|
|
2196
|
+
}
|
|
2197
|
+
}
|
|
2198
|
+
};
|
|
2199
|
+
export {
|
|
2200
|
+
He as AttrBindings,
|
|
2201
|
+
K as ClassBindings,
|
|
2202
|
+
Q as Component,
|
|
2203
|
+
Ce as Content,
|
|
2204
|
+
we as EventDispatcher,
|
|
2205
|
+
ce as EventListener,
|
|
2206
|
+
is as MANIFEST,
|
|
2207
|
+
Qe as MIMEType,
|
|
2208
|
+
m as Prop,
|
|
2209
|
+
_e as QuerySelector,
|
|
2210
|
+
zt as QuerySelectorAll,
|
|
2211
|
+
b as SpsFileUploadComponent,
|
|
2212
|
+
os as SpsFileUploadExamples,
|
|
2213
|
+
k as SpsInsightCardComponent,
|
|
2214
|
+
ls as SpsInsightCardExamples,
|
|
2215
|
+
X as SpsInsightsComponent,
|
|
2216
|
+
R as SpsNavTabComponent,
|
|
2217
|
+
ee as SpsNavTabSetComponent,
|
|
2218
|
+
cs as SpsNavTabsExamples,
|
|
2219
|
+
L as SpsPhotoComponent,
|
|
2220
|
+
es as SpsPhotoDisplayMode,
|
|
2221
|
+
ps as SpsPhotoExamples,
|
|
2222
|
+
be as StyleBindings,
|
|
2223
|
+
Ke as Watch,
|
|
2224
|
+
c as h,
|
|
2225
|
+
as as namespaceOverrideRegistrar,
|
|
2226
|
+
rs as register
|
|
2227
|
+
};
|