@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.
Files changed (65) hide show
  1. package/README.md +3 -0
  2. package/dist/README.md +3 -0
  3. package/dist/global.d.ts +15 -0
  4. package/dist/lib/components/file-upload/file-upload.d.ts +117 -0
  5. package/dist/lib/components/file-upload/file-upload.examples.d.ts +2 -0
  6. package/dist/lib/components/file-upload/mime-type.enum.d.ts +76 -0
  7. package/dist/lib/components/index.d.ts +11 -0
  8. package/dist/lib/components/insight-card/insight-card.d.ts +38 -0
  9. package/dist/lib/components/insight-card/insight-card.examples.d.ts +51 -0
  10. package/dist/lib/components/insight-card/insights.d.ts +18 -0
  11. package/dist/lib/components/nav-tabs/nav-tab-set.d.ts +7 -0
  12. package/dist/lib/components/nav-tabs/nav-tab.d.ts +24 -0
  13. package/dist/lib/components/nav-tabs/nav-tabs.examples.d.ts +11 -0
  14. package/dist/lib/components/photo/photo.d.ts +42 -0
  15. package/dist/lib/components/photo/photo.examples.d.ts +2 -0
  16. package/dist/lib/decorators/component.d.ts +32 -0
  17. package/dist/lib/decorators/content.d.ts +7 -0
  18. package/dist/lib/decorators/event-dispatcher.d.ts +9 -0
  19. package/dist/lib/decorators/event-listener.d.ts +5 -0
  20. package/dist/lib/decorators/index.d.ts +7 -0
  21. package/dist/lib/decorators/prop.d.ts +6 -0
  22. package/dist/lib/decorators/query-selector.d.ts +19 -0
  23. package/dist/lib/decorators/watch.d.ts +2 -0
  24. package/dist/lib/index.d.ts +5 -0
  25. package/dist/lib/index.js +2227 -0
  26. package/dist/lib/index.umd.cjs +831 -0
  27. package/dist/lib/manifest.d.ts +2 -0
  28. package/dist/lib/utils/comment.d.ts +2 -0
  29. package/dist/lib/utils/index.d.ts +4 -0
  30. package/dist/lib/utils/metadata.d.ts +22 -0
  31. package/dist/lib/utils/pragma.d.ts +6 -0
  32. package/dist/lib/utils/register.d.ts +13 -0
  33. package/dist/package.json +53 -0
  34. package/global.d.ts +15 -0
  35. package/lib/components/file-upload/file-upload.d.ts +117 -0
  36. package/lib/components/file-upload/file-upload.examples.d.ts +2 -0
  37. package/lib/components/file-upload/mime-type.enum.d.ts +76 -0
  38. package/lib/components/index.d.ts +11 -0
  39. package/lib/components/insight-card/insight-card.d.ts +38 -0
  40. package/lib/components/insight-card/insight-card.examples.d.ts +51 -0
  41. package/lib/components/insight-card/insights.d.ts +18 -0
  42. package/lib/components/nav-tabs/nav-tab-set.d.ts +7 -0
  43. package/lib/components/nav-tabs/nav-tab.d.ts +24 -0
  44. package/lib/components/nav-tabs/nav-tabs.examples.d.ts +11 -0
  45. package/lib/components/photo/photo.d.ts +42 -0
  46. package/lib/components/photo/photo.examples.d.ts +2 -0
  47. package/lib/decorators/component.d.ts +32 -0
  48. package/lib/decorators/content.d.ts +7 -0
  49. package/lib/decorators/event-dispatcher.d.ts +9 -0
  50. package/lib/decorators/event-listener.d.ts +5 -0
  51. package/lib/decorators/index.d.ts +7 -0
  52. package/lib/decorators/prop.d.ts +6 -0
  53. package/lib/decorators/query-selector.d.ts +19 -0
  54. package/lib/decorators/watch.d.ts +2 -0
  55. package/lib/index.d.ts +5 -0
  56. package/lib/index.js +2227 -0
  57. package/lib/index.umd.cjs +831 -0
  58. package/lib/manifest.d.ts +2 -0
  59. package/lib/utils/comment.d.ts +2 -0
  60. package/lib/utils/index.d.ts +4 -0
  61. package/lib/utils/metadata.d.ts +22 -0
  62. package/lib/utils/pragma.d.ts +6 -0
  63. package/lib/utils/register.d.ts +13 -0
  64. package/package.json +53 -0
  65. 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
+ };