@searchcraft/javascript-sdk 0.13.1 → 0.13.3
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 +5 -0
- package/dist/components/{p-D0j0UFpV.js → CoreInstanceRegistry.js} +2 -2
- package/dist/components/CoreInstanceRegistry.js.map +1 -0
- package/dist/components/defineCustomElements.js +23 -23
- package/dist/components/{p-_aHgRsRD.js → html.js} +3 -3
- package/dist/components/html.js.map +1 -0
- package/dist/components/index.d.ts +109 -0
- package/dist/components/index.js +28 -28
- package/dist/components/{p-DO5g2x-l.js → index2.js} +23 -6
- package/dist/components/index2.js.map +1 -0
- package/dist/components/{p-BfTCfPZ1.js → index3.js} +2 -2
- package/dist/components/index3.js.map +1 -0
- package/dist/components/{p-BlYgaV0q.js → purify.es.js} +10 -4
- package/dist/components/purify.es.js.map +1 -0
- package/dist/components/searchcraft-ad.js +1 -1
- package/dist/components/{p-C1S92_N8.js → searchcraft-ad2.js} +8 -8
- package/dist/components/searchcraft-ad2.js.map +1 -0
- package/dist/components/searchcraft-button.js +1 -1
- package/dist/components/{p-C681KruS.js → searchcraft-button2.js} +6 -6
- package/dist/components/searchcraft-button2.js.map +1 -0
- package/dist/components/searchcraft-error-message.js +1 -1
- package/dist/components/{p-DjPZkCLP.js → searchcraft-error-message2.js} +5 -5
- package/dist/components/searchcraft-error-message2.js.map +1 -0
- package/dist/components/searchcraft-facet-list.js +1 -1
- package/dist/components/{p-BV4HUriZ.js → searchcraft-facet-list2.js} +64 -9
- package/dist/components/searchcraft-facet-list2.js.map +1 -0
- package/dist/components/searchcraft-filter-panel.js +43 -11
- package/dist/components/searchcraft-filter-panel.js.map +1 -1
- package/dist/components/searchcraft-input-form.js +1 -1
- package/dist/components/{p-C-wcIch1.js → searchcraft-input-form2.js} +13 -13
- package/dist/components/searchcraft-input-form2.js.map +1 -0
- package/dist/components/searchcraft-input-label.js +1 -1
- package/dist/components/{p-L4PwHqQC.js → searchcraft-input-label2.js} +6 -6
- package/dist/components/searchcraft-input-label2.js.map +1 -0
- package/dist/components/searchcraft-loading.js +1 -1
- package/dist/components/{p-B_415D4A.js → searchcraft-loading2.js} +5 -5
- package/dist/components/searchcraft-loading2.js.map +1 -0
- package/dist/components/searchcraft-pagination.js +52 -7
- package/dist/components/searchcraft-pagination.js.map +1 -1
- package/dist/components/searchcraft-popover-button.js +5 -5
- package/dist/components/searchcraft-popover-footer.js +1 -1
- package/dist/components/{p-C7ZK8CYu.js → searchcraft-popover-footer2.js} +8 -8
- package/dist/components/searchcraft-popover-footer2.js.map +1 -0
- package/dist/components/searchcraft-popover-form.js +22 -22
- package/dist/components/searchcraft-popover-list-item.js +1 -1
- package/dist/components/{p-Cju73I1E.js → searchcraft-popover-list-item2.js} +8 -8
- package/dist/components/searchcraft-popover-list-item2.js.map +1 -0
- package/dist/components/searchcraft-popover-list-view.js +1 -1
- package/dist/components/{p-Dr9rPC9v.js → searchcraft-popover-list-view2.js} +10 -10
- package/dist/components/searchcraft-popover-list-view2.js.map +1 -0
- package/dist/components/searchcraft-results-info.js +6 -6
- package/dist/components/searchcraft-search-result.js +1 -1
- package/dist/components/{p-DotXR-Gz.js → searchcraft-search-result2.js} +7 -7
- package/dist/components/searchcraft-search-result2.js.map +1 -0
- package/dist/components/searchcraft-search-results-per-page.js +6 -6
- package/dist/components/searchcraft-search-results.js +10 -10
- package/dist/components/searchcraft-select.js +1 -1
- package/dist/components/{p-Dc7S4y3b.js → searchcraft-select2.js} +5 -5
- package/dist/components/searchcraft-select2.js.map +1 -0
- package/dist/components/searchcraft-slider.js +1 -1
- package/dist/components/{p-BbSxfaD7.js → searchcraft-slider2.js} +8 -8
- package/dist/components/searchcraft-slider2.js.map +1 -0
- package/dist/components/searchcraft-summary-box.js +7 -7
- package/dist/components/searchcraft-theme.js +4 -4
- package/dist/components/searchcraft-theme.js.map +1 -1
- package/dist/components/searchcraft-toggle-button.js +1 -1
- package/dist/components/{p-D5p2scT9.js → searchcraft-toggle-button2.js} +7 -7
- package/dist/components/searchcraft-toggle-button2.js.map +1 -0
- package/dist/components/{p-i8oXh7db.js → units.js} +2 -2
- package/dist/components/units.js.map +1 -0
- package/dist/hydrate/index.d.ts +12 -0
- package/dist/hydrate/index.js +1832 -1619
- package/dist/hydrate/index.mjs +1831 -1620
- package/dist/themes/hologram.css +1 -1
- package/dist/themes/hologram.css.map +1 -1
- package/dist/types/components/searchcraft-facet-list/searchcraft-facet-list.d.ts +47 -0
- package/dist/types/components/searchcraft-pagination/searchcraft-pagination.d.ts +9 -0
- package/dist/types/components.d.ts +96 -0
- package/dist/types/stencil-public-runtime.d.ts +43 -0
- package/dist/types/types/sdk-types/searchcraft-filter-panel.types.d.ts +13 -0
- package/package.json +3 -3
- package/dist/components/p-BV4HUriZ.js.map +0 -1
- package/dist/components/p-B_415D4A.js.map +0 -1
- package/dist/components/p-BbSxfaD7.js.map +0 -1
- package/dist/components/p-BfTCfPZ1.js.map +0 -1
- package/dist/components/p-BlYgaV0q.js.map +0 -1
- package/dist/components/p-C-wcIch1.js.map +0 -1
- package/dist/components/p-C1S92_N8.js.map +0 -1
- package/dist/components/p-C681KruS.js.map +0 -1
- package/dist/components/p-C7ZK8CYu.js.map +0 -1
- package/dist/components/p-Cju73I1E.js.map +0 -1
- package/dist/components/p-D0j0UFpV.js.map +0 -1
- package/dist/components/p-D5p2scT9.js.map +0 -1
- package/dist/components/p-DO5g2x-l.js.map +0 -1
- package/dist/components/p-Dc7S4y3b.js.map +0 -1
- package/dist/components/p-DjPZkCLP.js.map +0 -1
- package/dist/components/p-DotXR-Gz.js.map +0 -1
- package/dist/components/p-Dr9rPC9v.js.map +0 -1
- package/dist/components/p-L4PwHqQC.js.map +0 -1
- package/dist/components/p-_aHgRsRD.js.map +0 -1
- package/dist/components/p-i8oXh7db.js.map +0 -1
package/dist/hydrate/index.js
CHANGED
|
@@ -2,9 +2,100 @@
|
|
|
2
2
|
|
|
3
3
|
var stream = require('stream');
|
|
4
4
|
|
|
5
|
+
// src/app-data/index.ts
|
|
6
|
+
var BUILD = {
|
|
7
|
+
allRenderFn: false,
|
|
8
|
+
element: true,
|
|
9
|
+
event: true,
|
|
10
|
+
hasRenderFn: true,
|
|
11
|
+
hostListener: true,
|
|
12
|
+
hostListenerTargetWindow: true,
|
|
13
|
+
hostListenerTargetDocument: true,
|
|
14
|
+
hostListenerTargetBody: true,
|
|
15
|
+
hostListenerTargetParent: false,
|
|
16
|
+
hostListenerTarget: true,
|
|
17
|
+
member: true,
|
|
18
|
+
method: true,
|
|
19
|
+
mode: true,
|
|
20
|
+
observeAttribute: true,
|
|
21
|
+
prop: true,
|
|
22
|
+
propMutable: true,
|
|
23
|
+
reflect: true,
|
|
24
|
+
scoped: true,
|
|
25
|
+
shadowDom: true,
|
|
26
|
+
slot: true,
|
|
27
|
+
cssAnnotations: true,
|
|
28
|
+
state: true,
|
|
29
|
+
style: true,
|
|
30
|
+
formAssociated: false,
|
|
31
|
+
svg: true,
|
|
32
|
+
updatable: true,
|
|
33
|
+
vdomAttribute: true,
|
|
34
|
+
vdomXlink: true,
|
|
35
|
+
vdomClass: true,
|
|
36
|
+
vdomFunctional: true,
|
|
37
|
+
vdomKey: true,
|
|
38
|
+
vdomListener: true,
|
|
39
|
+
vdomRef: true,
|
|
40
|
+
vdomPropOrAttr: true,
|
|
41
|
+
vdomRender: true,
|
|
42
|
+
vdomStyle: true,
|
|
43
|
+
vdomText: true,
|
|
44
|
+
propChangeCallback: true,
|
|
45
|
+
taskQueue: true,
|
|
46
|
+
hotModuleReplacement: false,
|
|
47
|
+
isDebug: false,
|
|
48
|
+
isDev: false,
|
|
49
|
+
isTesting: false,
|
|
50
|
+
hydrateServerSide: false,
|
|
51
|
+
hydrateClientSide: false,
|
|
52
|
+
lifecycleDOMEvents: false,
|
|
53
|
+
lazyLoad: false,
|
|
54
|
+
profile: false,
|
|
55
|
+
slotRelocation: true,
|
|
56
|
+
// TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior
|
|
57
|
+
appendChildSlotFix: false,
|
|
58
|
+
// TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior
|
|
59
|
+
cloneNodeFix: false,
|
|
60
|
+
hydratedAttribute: false,
|
|
61
|
+
hydratedClass: true,
|
|
62
|
+
// TODO(STENCIL-1305): remove this option
|
|
63
|
+
scriptDataOpts: false,
|
|
64
|
+
// TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior
|
|
65
|
+
scopedSlotTextContentFix: false,
|
|
66
|
+
// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
|
|
67
|
+
shadowDomShim: false,
|
|
68
|
+
// TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior
|
|
69
|
+
slotChildNodesFix: false,
|
|
70
|
+
invisiblePrehydration: true,
|
|
71
|
+
propBoolean: true,
|
|
72
|
+
propNumber: true,
|
|
73
|
+
propString: true,
|
|
74
|
+
constructableCSS: true,
|
|
75
|
+
devTools: false,
|
|
76
|
+
shadowDelegatesFocus: true,
|
|
77
|
+
initializeNextTick: false,
|
|
78
|
+
asyncLoading: true,
|
|
79
|
+
asyncQueue: false,
|
|
80
|
+
// TODO: deprecated in favour of `setTagTransformer` and `transformTag`. Remove in 5.0
|
|
81
|
+
transformTagName: false,
|
|
82
|
+
attachStyles: true,
|
|
83
|
+
// TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior
|
|
84
|
+
experimentalSlotFixes: false
|
|
85
|
+
};
|
|
86
|
+
var Env = {};
|
|
87
|
+
var NAMESPACE = (
|
|
88
|
+
/* default */
|
|
89
|
+
"app"
|
|
90
|
+
);
|
|
91
|
+
|
|
5
92
|
const modeResolutionChain = [];
|
|
6
93
|
|
|
7
94
|
function hydrateFactory($stencilWindow, $stencilHydrateOpts, $stencilHydrateResults, $stencilAfterHydrate, $stencilHydrateResolve) {
|
|
95
|
+
var everywhere;
|
|
96
|
+
try { everywhere = global || globalThis; }
|
|
97
|
+
catch (e) { everywhere = window || globalThis; }
|
|
98
|
+
|
|
8
99
|
var globalThis = $stencilWindow;
|
|
9
100
|
var self = $stencilWindow;
|
|
10
101
|
var top = $stencilWindow;
|
|
@@ -132,7 +223,7 @@ const NAMESPACE = 'searchcraft-javascript-sdk';
|
|
|
132
223
|
const BUILD = /* searchcraft-javascript-sdk */ { hydratedSelectorName: "hydrated", shadowDom: false, slotRelocation: true, state: true, updatable: true};
|
|
133
224
|
|
|
134
225
|
/*
|
|
135
|
-
Stencil Hydrate Platform v4.
|
|
226
|
+
Stencil Hydrate Platform v4.39.0 | MIT Licensed | https://stenciljs.com
|
|
136
227
|
*/
|
|
137
228
|
var __defProp = Object.defineProperty;
|
|
138
229
|
var __export = (target, all) => {
|
|
@@ -547,6 +638,9 @@ var uniqueTime = (key, measureText) => {
|
|
|
547
638
|
};
|
|
548
639
|
var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
|
|
549
640
|
var h = (nodeName, vnodeData, ...children) => {
|
|
641
|
+
if (typeof nodeName === "string") {
|
|
642
|
+
nodeName = transformTag(nodeName);
|
|
643
|
+
}
|
|
550
644
|
let child = null;
|
|
551
645
|
let key = null;
|
|
552
646
|
let slotName = null;
|
|
@@ -693,7 +787,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
|
|
|
693
787
|
const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
|
|
694
788
|
const node = childRenderNode.$elm$;
|
|
695
789
|
if (!shadowRoot) {
|
|
696
|
-
node["s-hn"] = tagName.toUpperCase();
|
|
790
|
+
node["s-hn"] = transformTag(tagName).toUpperCase();
|
|
697
791
|
if (childRenderNode.$tag$ === "slot") {
|
|
698
792
|
node["s-cr"] = hostElm["s-cr"];
|
|
699
793
|
}
|
|
@@ -1102,7 +1196,11 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
|
|
|
1102
1196
|
}
|
|
1103
1197
|
}
|
|
1104
1198
|
}
|
|
1105
|
-
} else if (memberName === "key") ; else if (
|
|
1199
|
+
} else if (memberName === "key") ; else if (memberName === "ref") {
|
|
1200
|
+
if (newValue) {
|
|
1201
|
+
newValue(elm);
|
|
1202
|
+
}
|
|
1203
|
+
} else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
|
|
1106
1204
|
if (memberName[2] === "-") {
|
|
1107
1205
|
memberName = memberName.slice(3);
|
|
1108
1206
|
} else if (isMemberInElement(win, ln)) {
|
|
@@ -1336,6 +1434,7 @@ var removeVnodes = (vnodes, startIdx, endIdx) => {
|
|
|
1336
1434
|
const vnode = vnodes[index];
|
|
1337
1435
|
if (vnode) {
|
|
1338
1436
|
const elm = vnode.$elm$;
|
|
1437
|
+
nullifyVNodeRefs(vnode);
|
|
1339
1438
|
if (elm) {
|
|
1340
1439
|
{
|
|
1341
1440
|
checkSlotFallbackVisibility = true;
|
|
@@ -1548,6 +1647,12 @@ var markSlotContentForRelocation = (elm) => {
|
|
|
1548
1647
|
}
|
|
1549
1648
|
}
|
|
1550
1649
|
};
|
|
1650
|
+
var nullifyVNodeRefs = (vNode) => {
|
|
1651
|
+
{
|
|
1652
|
+
vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
|
|
1653
|
+
vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
|
|
1654
|
+
}
|
|
1655
|
+
};
|
|
1551
1656
|
var insertBefore = (parent, newNode, reference) => {
|
|
1552
1657
|
{
|
|
1553
1658
|
return parent == null ? void 0 : parent.insertBefore(newNode, reference);
|
|
@@ -1807,6 +1912,9 @@ var postUpdateComponent = (hostRef) => {
|
|
|
1807
1912
|
safeCall(instance, "componentDidUpdate", void 0, elm);
|
|
1808
1913
|
endPostUpdate();
|
|
1809
1914
|
}
|
|
1915
|
+
{
|
|
1916
|
+
hostRef.$onInstanceResolve$(elm);
|
|
1917
|
+
}
|
|
1810
1918
|
{
|
|
1811
1919
|
if (hostRef.$onRenderResolve$) {
|
|
1812
1920
|
hostRef.$onRenderResolve$();
|
|
@@ -2102,6 +2210,9 @@ var setContentReference = (elm) => {
|
|
|
2102
2210
|
|
|
2103
2211
|
// src/runtime/fragment.ts
|
|
2104
2212
|
var Fragment = (_, children) => children;
|
|
2213
|
+
function transformTag(tag) {
|
|
2214
|
+
return tag;
|
|
2215
|
+
}
|
|
2105
2216
|
|
|
2106
2217
|
// src/runtime/vdom/vdom-annotations.ts
|
|
2107
2218
|
var insertVdomAnnotations = (doc, staticComponents) => {
|
|
@@ -2657,9 +2768,15 @@ var isMemberInElement = (elm, memberName) => {
|
|
|
2657
2768
|
var registerComponents = (Cstrs) => {
|
|
2658
2769
|
for (const Cstr of Cstrs) {
|
|
2659
2770
|
const exportName = Cstr.cmpMeta.$tagName$;
|
|
2771
|
+
const transformedTagName = everywhere.tagTransform(exportName);
|
|
2660
2772
|
cmpModules.set(exportName, {
|
|
2661
2773
|
[exportName]: Cstr
|
|
2662
2774
|
});
|
|
2775
|
+
if (transformedTagName !== exportName) {
|
|
2776
|
+
cmpModules.set(transformedTagName, {
|
|
2777
|
+
[transformedTagName]: Cstr
|
|
2778
|
+
});
|
|
2779
|
+
}
|
|
2663
2780
|
}
|
|
2664
2781
|
};
|
|
2665
2782
|
var win = window;
|
|
@@ -3298,7 +3415,7 @@ function getFormattedDateString(granularity, date) {
|
|
|
3298
3415
|
}
|
|
3299
3416
|
}
|
|
3300
3417
|
|
|
3301
|
-
/*! @license DOMPurify 3.3.
|
|
3418
|
+
/*! @license DOMPurify 3.3.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.1/LICENSE */
|
|
3302
3419
|
|
|
3303
3420
|
const {
|
|
3304
3421
|
entries,
|
|
@@ -3596,7 +3713,7 @@ const _createHooksMap = function _createHooksMap() {
|
|
|
3596
3713
|
function createDOMPurify() {
|
|
3597
3714
|
let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
|
|
3598
3715
|
const DOMPurify = root => createDOMPurify(root);
|
|
3599
|
-
DOMPurify.version = '3.3.
|
|
3716
|
+
DOMPurify.version = '3.3.1';
|
|
3600
3717
|
DOMPurify.removed = [];
|
|
3601
3718
|
if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
|
|
3602
3719
|
// Not running in a browser, provide a factory function
|
|
@@ -3942,6 +4059,12 @@ function createDOMPurify() {
|
|
|
3942
4059
|
}
|
|
3943
4060
|
addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);
|
|
3944
4061
|
}
|
|
4062
|
+
if (cfg.ADD_FORBID_CONTENTS) {
|
|
4063
|
+
if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
|
|
4064
|
+
FORBID_CONTENTS = clone(FORBID_CONTENTS);
|
|
4065
|
+
}
|
|
4066
|
+
addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);
|
|
4067
|
+
}
|
|
3945
4068
|
/* Add #text in case KEEP_CONTENT is set to true */
|
|
3946
4069
|
if (KEEP_CONTENT) {
|
|
3947
4070
|
ALLOWED_TAGS['#text'] = true;
|
|
@@ -4686,7 +4809,21 @@ const html$1 = (strings, ...values) => {
|
|
|
4686
4809
|
* @js-example
|
|
4687
4810
|
* ```html
|
|
4688
4811
|
* <!-- index.html -->
|
|
4812
|
+
* <!-- Basic usage -->
|
|
4689
4813
|
* <searchcraft-facet-list field-name="title" />
|
|
4814
|
+
*
|
|
4815
|
+
* <!-- With collapsible section (initially closed) and view more threshold -->
|
|
4816
|
+
* <searchcraft-facet-list
|
|
4817
|
+
* field-name="category"
|
|
4818
|
+
* initial-collapse-state="closed"
|
|
4819
|
+
* view-more-threshold="5"
|
|
4820
|
+
* />
|
|
4821
|
+
*
|
|
4822
|
+
* <!-- Show all facets without "view more" link -->
|
|
4823
|
+
* <searchcraft-facet-list
|
|
4824
|
+
* field-name="brand"
|
|
4825
|
+
* view-more-threshold="0"
|
|
4826
|
+
* />
|
|
4690
4827
|
* ```
|
|
4691
4828
|
*
|
|
4692
4829
|
* ```js
|
|
@@ -4696,6 +4833,9 @@ const html$1 = (strings, ...values) => {
|
|
|
4696
4833
|
* facetList.addEventListener('facetSelectionUpdated', () => {
|
|
4697
4834
|
* console.log('Facet selection updated');
|
|
4698
4835
|
* });
|
|
4836
|
+
*
|
|
4837
|
+
* // Programmatically toggle collapse state
|
|
4838
|
+
* await facetList.handleCollapseToggle();
|
|
4699
4839
|
* ```
|
|
4700
4840
|
*
|
|
4701
4841
|
* @internal
|
|
@@ -4717,6 +4857,17 @@ class SearchcraftFacetList {
|
|
|
4717
4857
|
* Array of facet values to exclude from rendering.
|
|
4718
4858
|
*/
|
|
4719
4859
|
exclude;
|
|
4860
|
+
/**
|
|
4861
|
+
* Initial collapse state of the facet section.
|
|
4862
|
+
* @default 'open'
|
|
4863
|
+
*/
|
|
4864
|
+
initialCollapseState = 'open';
|
|
4865
|
+
/**
|
|
4866
|
+
* The number of facets to show before displaying a "view more" link.
|
|
4867
|
+
* Set to 0 to show all facets without a "view more" link.
|
|
4868
|
+
* @default 8
|
|
4869
|
+
*/
|
|
4870
|
+
viewMoreThreshold = 8;
|
|
4720
4871
|
/**
|
|
4721
4872
|
* Emitted when the facets are updated.
|
|
4722
4873
|
*/
|
|
@@ -4751,6 +4902,14 @@ class SearchcraftFacetList {
|
|
|
4751
4902
|
count: 0,
|
|
4752
4903
|
children: {},
|
|
4753
4904
|
};
|
|
4905
|
+
/**
|
|
4906
|
+
* Tracks whether the facet section is collapsed or expanded.
|
|
4907
|
+
*/
|
|
4908
|
+
isCollapsed = false;
|
|
4909
|
+
/**
|
|
4910
|
+
* Tracks whether all facets are shown or limited by the threshold.
|
|
4911
|
+
*/
|
|
4912
|
+
showAllFacets = false;
|
|
4754
4913
|
// Internal vars used to track when to perform various facet actions.
|
|
4755
4914
|
lastTimeTaken;
|
|
4756
4915
|
lastSearchTerm;
|
|
@@ -4936,6 +5095,8 @@ class SearchcraftFacetList {
|
|
|
4936
5095
|
});
|
|
4937
5096
|
}
|
|
4938
5097
|
connectedCallback() {
|
|
5098
|
+
// Initialize collapse state based on prop
|
|
5099
|
+
this.isCollapsed = this.initialCollapseState === 'closed';
|
|
4939
5100
|
this.cleanupCore = registry.useCoreInstance(this.searchcraftId, this.onCoreAvailable.bind(this));
|
|
4940
5101
|
}
|
|
4941
5102
|
disconnectedCallback() {
|
|
@@ -4975,6 +5136,23 @@ class SearchcraftFacetList {
|
|
|
4975
5136
|
const label = name.replace(/^\//, '');
|
|
4976
5137
|
return `${label.replace(/-/g, ' ').replace(/\b\w/g, (char) => char.toUpperCase())}`;
|
|
4977
5138
|
};
|
|
5139
|
+
/**
|
|
5140
|
+
* Toggles the collapsed state of the facet section.
|
|
5141
|
+
* @returns A promise that resolves when the toggle is complete.
|
|
5142
|
+
*/
|
|
5143
|
+
async handleCollapseToggle() {
|
|
5144
|
+
this.isCollapsed = !this.isCollapsed;
|
|
5145
|
+
}
|
|
5146
|
+
/**
|
|
5147
|
+
* Returns whether the facet section is currently collapsed.
|
|
5148
|
+
* @returns A promise that resolves to true if collapsed, false if expanded.
|
|
5149
|
+
*/
|
|
5150
|
+
async getIsCollapsed() {
|
|
5151
|
+
return this.isCollapsed;
|
|
5152
|
+
}
|
|
5153
|
+
handleViewMoreToggle = () => {
|
|
5154
|
+
this.showAllFacets = !this.showAllFacets;
|
|
5155
|
+
};
|
|
4978
5156
|
renderFacet(keyName, facet) {
|
|
4979
5157
|
let isChildSelected = false;
|
|
4980
5158
|
for (const path of Object.keys(this.selectedPaths)) {
|
|
@@ -5013,7 +5191,18 @@ class SearchcraftFacetList {
|
|
|
5013
5191
|
(this.lastSearchTerm || '').trim().length > 0) {
|
|
5014
5192
|
return (hAsync("p", { class: 'searchcraft-facet-list-message' }, "No facets are available for this search query."));
|
|
5015
5193
|
}
|
|
5016
|
-
|
|
5194
|
+
// Get root-level facets for view more functionality
|
|
5195
|
+
const rootFacets = Object.keys(this.renderedFacetTree.children);
|
|
5196
|
+
const threshold = this.viewMoreThreshold ?? 8;
|
|
5197
|
+
const shouldShowViewMore = threshold > 0 && rootFacets.length > threshold;
|
|
5198
|
+
const visibleFacets = shouldShowViewMore && !this.showAllFacets
|
|
5199
|
+
? rootFacets.slice(0, threshold)
|
|
5200
|
+
: rootFacets;
|
|
5201
|
+
return (hAsync("div", { class: 'searchcraft-facet-list-wrapper', "data-facet-section-collapsed": this.isCollapsed ? '' : undefined, "data-facet-section-expanded": !this.isCollapsed ? '' : undefined }, !this.isCollapsed && (hAsync("div", { class: 'searchcraft-facet-list-content' }, hAsync("div", { class: 'searchcraft-facet-list' }, visibleFacets.map((key) => {
|
|
5202
|
+
if (this.renderedFacetTree.children[key]) {
|
|
5203
|
+
return this.renderFacet(key, this.renderedFacetTree.children[key]);
|
|
5204
|
+
}
|
|
5205
|
+
})), shouldShowViewMore && (hAsync("button", { class: 'searchcraft-facet-list-view-more', onClick: this.handleViewMoreToggle, type: 'button' }, this.showAllFacets ? 'View less' : 'View more...'))))));
|
|
5017
5206
|
}
|
|
5018
5207
|
static get cmpMeta() { return {
|
|
5019
5208
|
"$flags$": 768,
|
|
@@ -5022,9 +5211,15 @@ class SearchcraftFacetList {
|
|
|
5022
5211
|
"searchcraftId": [1, "searchcraft-id"],
|
|
5023
5212
|
"fieldName": [1, "field-name"],
|
|
5024
5213
|
"exclude": [16],
|
|
5214
|
+
"initialCollapseState": [1, "initial-collapse-state"],
|
|
5215
|
+
"viewMoreThreshold": [2, "view-more-threshold"],
|
|
5025
5216
|
"selectedPaths": [32],
|
|
5026
5217
|
"facetTreeCollectedFromSearchResponse": [32],
|
|
5027
|
-
"renderedFacetTree": [32]
|
|
5218
|
+
"renderedFacetTree": [32],
|
|
5219
|
+
"isCollapsed": [32],
|
|
5220
|
+
"showAllFacets": [32],
|
|
5221
|
+
"handleCollapseToggle": [64],
|
|
5222
|
+
"getIsCollapsed": [64]
|
|
5028
5223
|
},
|
|
5029
5224
|
"$listeners$": undefined,
|
|
5030
5225
|
"$lazyBundleId$": "-",
|
|
@@ -5338,8 +5533,40 @@ class SearchcraftFilterPanel {
|
|
|
5338
5533
|
}
|
|
5339
5534
|
case 'facets': {
|
|
5340
5535
|
const item = filterItem;
|
|
5536
|
+
let facetListElement = null;
|
|
5537
|
+
let labelElement = null;
|
|
5538
|
+
const updateLabelAttributes = (isCollapsed) => {
|
|
5539
|
+
if (labelElement) {
|
|
5540
|
+
if (isCollapsed) {
|
|
5541
|
+
labelElement.removeAttribute('data-facet-section-expanded');
|
|
5542
|
+
labelElement.setAttribute('data-facet-section-collapsed', '');
|
|
5543
|
+
labelElement.setAttribute('aria-expanded', 'false');
|
|
5544
|
+
}
|
|
5545
|
+
else {
|
|
5546
|
+
labelElement.removeAttribute('data-facet-section-collapsed');
|
|
5547
|
+
labelElement.setAttribute('data-facet-section-expanded', '');
|
|
5548
|
+
labelElement.setAttribute('aria-expanded', 'true');
|
|
5549
|
+
}
|
|
5550
|
+
}
|
|
5551
|
+
};
|
|
5552
|
+
const handleToggle = async () => {
|
|
5553
|
+
if (facetListElement && 'handleCollapseToggle' in facetListElement && 'getIsCollapsed' in facetListElement) {
|
|
5554
|
+
await facetListElement.handleCollapseToggle();
|
|
5555
|
+
const isCollapsed = await facetListElement.getIsCollapsed();
|
|
5556
|
+
updateLabelAttributes(isCollapsed);
|
|
5557
|
+
}
|
|
5558
|
+
};
|
|
5341
5559
|
// return "filters-list"
|
|
5342
|
-
return (hAsync("div", { class: 'searchcraft-filter-panel-section' }, hAsync("p", {
|
|
5560
|
+
return (hAsync("div", { class: 'searchcraft-filter-panel-section' }, hAsync("p", { ref: (el) => {
|
|
5561
|
+
labelElement = el || null;
|
|
5562
|
+
}, class: 'searchcraft-filter-panel-label', "data-toggle-facet-section": true, "data-facet-section-expanded": item.options.initialCollapseState !== 'closed' ? '' : undefined, "data-facet-section-collapsed": item.options.initialCollapseState === 'closed' ? '' : undefined, onClick: handleToggle, onKeyDown: async (event) => {
|
|
5563
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
5564
|
+
event.preventDefault();
|
|
5565
|
+
await handleToggle();
|
|
5566
|
+
}
|
|
5567
|
+
}, tabIndex: 0, role: 'button', "aria-expanded": item.options.initialCollapseState !== 'closed' }, filterItem.label), hAsync("searchcraft-facet-list", { ref: (el) => {
|
|
5568
|
+
facetListElement = el || null;
|
|
5569
|
+
}, fieldName: item.fieldName, exclude: item.options.exclude, initialCollapseState: item.options.initialCollapseState, viewMoreThreshold: item.options.viewMoreThreshold, onFacetSelectionUpdated: (event) => {
|
|
5343
5570
|
this.handleFacetSelectionUpdated(item.fieldName, event.detail.paths);
|
|
5344
5571
|
} })));
|
|
5345
5572
|
}
|
|
@@ -5676,6 +5903,11 @@ class SearchcraftPagination {
|
|
|
5676
5903
|
* The id of the Searchcraft instance that this component should use.
|
|
5677
5904
|
*/
|
|
5678
5905
|
searchcraftId;
|
|
5906
|
+
/**
|
|
5907
|
+
* Whether to scroll to the top of the search results when pagination buttons are clicked.
|
|
5908
|
+
* @default true
|
|
5909
|
+
*/
|
|
5910
|
+
scrollToTop = true;
|
|
5679
5911
|
// store vars
|
|
5680
5912
|
searchTerm;
|
|
5681
5913
|
searchResultsPerPage;
|
|
@@ -5716,8 +5948,47 @@ class SearchcraftPagination {
|
|
|
5716
5948
|
this.unsubscribe?.();
|
|
5717
5949
|
this.cleanupCore?.();
|
|
5718
5950
|
}
|
|
5951
|
+
/**
|
|
5952
|
+
* Smooth scroll to the top of the search results component
|
|
5953
|
+
*/
|
|
5954
|
+
smoothScrollToSearchResults() {
|
|
5955
|
+
if (!this.scrollToTop) {
|
|
5956
|
+
return;
|
|
5957
|
+
}
|
|
5958
|
+
const searchResultsElement = document.querySelector('searchcraft-search-results .searchcraft-search-results');
|
|
5959
|
+
if (!searchResultsElement) {
|
|
5960
|
+
return;
|
|
5961
|
+
}
|
|
5962
|
+
const elementRect = searchResultsElement.getBoundingClientRect();
|
|
5963
|
+
const scrollOffset = 200; // Offset in pixels above the element
|
|
5964
|
+
const targetPosition = elementRect.top + window.scrollY - scrollOffset;
|
|
5965
|
+
const startPosition = window.scrollY;
|
|
5966
|
+
const distance = targetPosition - startPosition;
|
|
5967
|
+
const duration = 1500;
|
|
5968
|
+
let startTime = null;
|
|
5969
|
+
// smooth scrolling
|
|
5970
|
+
const easeOutExpo = (t) => {
|
|
5971
|
+
return t === 1 ? 1 : 1 - 2 ** (-10 * t);
|
|
5972
|
+
};
|
|
5973
|
+
const animation = (currentTime) => {
|
|
5974
|
+
if (startTime === null) {
|
|
5975
|
+
startTime = currentTime;
|
|
5976
|
+
}
|
|
5977
|
+
const timeElapsed = currentTime - startTime;
|
|
5978
|
+
const progress = Math.min(timeElapsed / duration, 1);
|
|
5979
|
+
const ease = easeOutExpo(progress);
|
|
5980
|
+
window.scrollTo(0, startPosition + distance * ease);
|
|
5981
|
+
if (progress < 1) {
|
|
5982
|
+
requestAnimationFrame(animation);
|
|
5983
|
+
}
|
|
5984
|
+
};
|
|
5985
|
+
requestAnimationFrame(animation);
|
|
5986
|
+
}
|
|
5719
5987
|
handleGoToPage(page) {
|
|
5720
5988
|
this.setSearchResultsPage(page);
|
|
5989
|
+
if (this.scrollToTop) {
|
|
5990
|
+
this.smoothScrollToSearchResults();
|
|
5991
|
+
}
|
|
5721
5992
|
}
|
|
5722
5993
|
renderOddPaginationItem(page) {
|
|
5723
5994
|
return (hAsync("li", null, hAsync("button", { class: classNames('searchcraft-pagination-item', {
|
|
@@ -5776,6 +6047,7 @@ class SearchcraftPagination {
|
|
|
5776
6047
|
"$tagName$": "searchcraft-pagination",
|
|
5777
6048
|
"$members$": {
|
|
5778
6049
|
"searchcraftId": [1, "searchcraft-id"],
|
|
6050
|
+
"scrollToTop": [4, "scroll-to-top"],
|
|
5779
6051
|
"searchTerm": [32],
|
|
5780
6052
|
"searchResultsPerPage": [32],
|
|
5781
6053
|
"searchResultsPage": [32],
|
|
@@ -9874,7 +10146,7 @@ class SearchcraftSummaryBox {
|
|
|
9874
10146
|
}; }
|
|
9875
10147
|
}
|
|
9876
10148
|
|
|
9877
|
-
var styles = `[class*=searchcraft-],[class*=searchcraft-] *,[class*=searchcraft-]::before,[class*=searchcraft-]::after,[class*=searchcraft-] *,::before,[class*=searchcraft-] *,::after{box-sizing:border-box;padding:0;margin:0}:root{--sc-text-base-size: 1em;--sc-text-scale-ratio: 1.1;--sc-font-family: sans-serif;--sc-font-bold: 700;--sc-font-normal: 400;--sc-heading-1-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-2-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-3-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-4-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-5-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-6-font-size: calc( var(--sc-text-base-size) / ( var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) ) );--sc-body-font-size: calc(var(--sc-text-base-size));--sc-body-small-font-size: calc( var(--sc-text-base-size) / ( var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) ) )}:root{--sc-border-radius: 8px;--sc-border-radius-sm: calc(var(--sc-border-radius) / 2);--sc-border-radius-lg: calc(var(--sc-border-radius) * 2);--sc-border-radius-xl: calc(var(--sc-border-radius) * 3);--sc-border-radius-2xl: calc(var(--sc-border-radius) * 4);--sc-border-radius-full: 9999px}:root{--sc-breakpoint-sm: 576px;--sc-breakpoint-md: 768px;--sc-breakpoint-lg: 992px}:root{--sc-surface-neutral-primary: var(--sc-color-background, #ffffff);--sc-color-background-hover-computed: hsl( from var(--sc-color-background) h s clamp(10, calc(l + 5), 95) );--sc-surface-neutral-primary-hover: var( --sc-color-background-hover, var(--sc-color-background-hover-computed, #fafafa) );--sc-color-background-active-computed: hsl( from var(--sc-color-background) h s clamp(5, calc(l - 5), 90) );--sc-surface-neutral-primary-active: var( --sc-color-background-active, var(--sc-color-background-active-computed, #f7f7f7) );--sc-surface-neutral-secondary: var( --sc-color-background-secondary, var(--sc-color-background, #f3f3f3) );--sc-color-background-secondary-hover-computed: hsl( from var(--sc-color-background-secondary) h s clamp(10, calc(l + 5), 95) );--sc-surface-neutral-secondary-hover: var( --sc-color-background-hover, var(--sc-color-background-hover-computed, #e6e6e6) );--sc-color-background-secondary-active-computed: hsl( from var(--sc-color-background-secondary) h s clamp(5, calc(l - 5), 90) );--sc-surface-neutral-secondary-active: var( --sc-color-background-secondary-active, var(--sc-color-background-active-computed, #e0e0e0) );--sc-surface-neutral-light: #ffffff;--sc-content-neutral-primary: var(--sc-color-foreground, #292929);--sc-color-foreground-secondary-computed: hsl( from var(--sc-color-foreground) h s clamp(10, calc(l + 5), 90) );--sc-content-neutral-secondary: var( --sc-color-foreground-secondary, var(--sc-color-foreground-secondary-computed, #404040) );--sc-border-neutral: var(--sc-color-border, rgba(0, 0, 0, 0.1));--sc-surface-brand-primary: var(--sc-color-brand, #000000);--sc-color-brand-hover-computed: hsl( from var(--sc-color-brand) h s clamp(20, calc(l + 5), 95) );--sc-surface-brand-primary-hover: var( --sc-color-brand-hover, var(--sc-color-brand-hover-computed, #2e2e2e) );--sc-color-brand-active-computed: hsl( from var(--sc-color-brand) h s clamp(10, calc(l - 5), 85) );--sc-surface-brand-primary-active: var( --sc-color-brand-active, var(--sc-color-brand-active-computed, #292929) );--sc-surface-brand-secondary: var( --sc-color-brand-secondary, var(--sc-color-brand, #e6e6e6) );--sc-color-brand-secondary-hover-computed: hsl( from var(--sc-color-brand-secondary) h s clamp(10, calc(l + 5), 95) );--sc-surface-brand-secondary-hover: var( --sc-color-background-hover, var(--sc-color-background-hover-computed, #ebebeb) );--sc-color-brand-secondary-active-computed: hsl( from var(--sc-color-brand-secondary) h s clamp(5, calc(l - 5), 90) );--sc-surface-brand-secondary-active: var( --sc-color-brand-secondary-active, var(--sc-color-brand-active-computed, #e0e0e0) );--sc-content-brand: var( --sc-color-brand-text, var(--sc-surface-brand-primary) );--sc-content-brand-on-primary: #ffffff;--sc-border-brand: var(--sc-surface-brand-primary);--sc-surface-success-primary: var(--sc-color-success, #008000);--sc-color-success-primary-hover-computed: hsl( from var(--sc-color-success) h s 30 );--sc-surface-success-primary-hover: var( --sc-color-success-primary-hover, var(--sc-color-success-primary-hover-computed, #009900) );--sc-color-success-primary-active-computed: hsl( from var(--sc-color-success) h s 20 );--sc-surface-success-primary-active: var( --sc-color-success-primary-active, var(--sc-color-success-primary-active-computed, #006600) );--sc-color-success-secondary-computed: hsl( from var(--sc-color-success) h s 90 );--sc-surface-success-secondary: var( --sc-color-success-secondary, var(--sc-color-success-secondary-computed, #ccffcc) );--sc-color-success-secondary-hover-computed: hsl( from var(--sc-color-success-secondary) h s 95 );--sc-surface-success-secondary-hover: var( --sc-color-success-secondary-hover, var(--sc-color-success-secondary-hover-computed, #e6ffe6) );--sc-color-success-secondary-active-computed: hsl( from var(--sc-color-success-secondary) h s 85 );--sc-surface-success-secondary-active: var( --sc-color-success-secondary-active, var(--sc-color-success-secondary-active-computed, #b2ffb2) );--sc-content-success: var( --sc-color-brand-text, hsl(from var(--sc-surface-success-primary) h s 30) );--sc-content-success-on-primary: #ffffff;--sc-border-success: var(--sc-surface-success-primary);--sc-surface-caution-primary: var(--sc-color-caution, #cc6600);--sc-color-caution-primary-hover-computed: hsl( from var(--sc-color-caution) h s 30 );--sc-surface-caution-primary-hover: var( --sc-color-caution-primary-hover, var(--sc-color-caution-primary-hover-computed, #e57300) );--sc-color-caution-primary-active-computed: hsl( from var(--sc-color-caution) h s 20 );--sc-surface-caution-primary-active: var( --sc-color-caution-primary-active, var(--sc-color-caution-primary-active-computed, #b25a00) );--sc-color-caution-secondary-computed: hsl( from var(--sc-color-caution) h s 90 );--sc-surface-caution-secondary: var( --sc-color-caution-secondary, var(--sc-color-caution-secondary-computed, #ffd9b3) );--sc-color-caution-secondary-hover-computed: hsl( from var(--sc-color-caution-secondary) h s 95 );--sc-surface-caution-secondary-hover: var( --sc-color-caution-secondary-hover, var(--sc-color-caution-secondary-hover-computed, #ffe5cc) );--sc-color-caution-secondary-active-computed: hsl( from var(--sc-color-caution-secondary) h s 85 );--sc-surface-caution-secondary-active: var( --sc-color-caution-secondary-active, var(--sc-color-caution-secondary-active-computed, #ffcc99) );--sc-content-caution: var( --sc-color-caution-text, hsl(from var(--sc-surface-caution-primary) h s 30) );--sc-content-caution-on-primary: #ffffff;--sc-border-caution: var(--sc-surface-caution-primary);--sc-surface-danger-primary: var(--sc-color-danger, #cc0000);--sc-color-danger-primary-hover-computed: hsl( from var(--sc-color-danger) h s 30 );--sc-surface-danger-primary-hover: var( --sc-color-danger-primary-hover, var(--sc-color-danger-primary-hover-computed, #e50000) );--sc-color-danger-primary-active-computed: hsl( from var(--sc-color-danger) h s 20 );--sc-surface-danger-primary-active: var( --sc-color-danger-primary-active, var(--sc-color-danger-primary-active-computed, #b30000) );--sc-color-danger-secondary-computed: hsl(from var(--sc-color-danger) h s 90);--sc-surface-danger-secondary: var( --sc-color-danger-secondary, var(--sc-color-danger-secondary-computed, #ffcccc) );--sc-color-danger-secondary-hover-computed: hsl( from var(--sc-color-danger-secondary) h s 95 );--sc-surface-danger-secondary-hover: var( --sc-color-danger-secondary-hover, var(--sc-color-danger-secondary-hover-computed, #ffe7e7) );--sc-color-danger-secondary-active-computed: hsl( from var(--sc-color-danger-secondary) h s 85 );--sc-surface-danger-secondary-active: var( --sc-color-danger-secondary-active, var(--sc-color-danger-secondary-active-computed, #ffb3b3) );--sc-content-danger: var( --sc-color-caution-text, hsl(from var(--sc-surface-danger-primary) h s 30) );--sc-content-danger-on-primary: #ffffff;--sc-border-danger: var(--sc-surface-danger-primary);--sc-color-disabled: hsl(from var(--sc-color-page-primary) h s calc(l * 0.5));--sc-surface-disabled: var(--sc-color-disabled, #d9d9d9);--sc-color-disabled-text: hsl( from var(--sc-color-text-primary) h s calc(l * 0.5) );--sc-content-disabled: var(--sc-color-disabled-text, #737373);--sc-content-disabled-on-disabled: var(--sc-color-disabled-text, #737373)}@supports(hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none){:root{--sc-color-background-hover-computed: hsl( from var(--sc-color-background) h s clamp(10%, calc(l + 5%), 95%) );--sc-color-background-active-computed: hsl( from var(--sc-color-background) h s clamp(5%, calc(l - 5%), 90%) );--sc-color-foreground-secondary-computed: hsl( from var(--sc-color-foreground) h s clamp(10%, calc(l + 5%), 90%) );--sc-color-brand-hover-computed: hsl( from var(--sc-color-brand) h s clamp(20%, calc(l + 5%), 95%) );--sc-color-brand-active-computed: hsl( from var(--sc-color-brand) h s clamp(10%, calc(l - 5%), 85%) );--sc-color-success-primary-hover-computed: hsl( from var(--sc-color-success) h s 30% );--sc-color-success-primary-active-computed: hsl( from var(--sc-color-success) h s 20% );--sc-color-success-secondary-computed: hsl( from var(--sc-color-success) h s 90% );--sc-color-success-secondary-hover-computed: hsl( from var(--sc-color-success-secondary) h s 95% );--sc-color-success-secondary-active-computed: hsl( from var(--sc-color-success-secondary) h s 85% );--sc-content-success: var( --sc-color-brand-text, hsl(from var(--sc-surface-success-primary) h s 30%) );--sc-color-caution-primary-hover-computed: hsl( from var(--sc-color-caution) h s 30% );--sc-color-caution-primary-active-computed: hsl( from var(--sc-color-caution) h s 20% );--sc-color-caution-secondary-computed: hsl( from var(--sc-color-caution) h s 90% );--sc-color-caution-secondary-hover-computed: hsl( from var(--sc-color-caution-secondary) h s 95% );--sc-color-caution-secondary-active-computed: hsl( from var(--sc-color-caution-secondary) h s 85% );--sc-content-caution: var( --sc-color-caution-text, hsl(from var(--sc-surface-caution-primary) h s 30%) );--sc-color-danger-primary-hover-computed: hsl( from var(--sc-color-danger) h s 30% );--sc-color-danger-primary-active-computed: hsl( from var(--sc-color-danger) h s 20% );--sc-color-danger-secondary-computed: hsl( from var(--sc-color-danger) h s 90% );--sc-color-danger-secondary-hover-computed: hsl( from var(--sc-color-danger-secondary) h s 95% );--sc-color-danger-secondary-active-computed: hsl( from var(--sc-color-danger-secondary) h s 85% );--sc-content-danger: var( --sc-color-caution-text, hsl(from var(--sc-surface-danger-primary) h s 30%) )}}.searchcraft-ad{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased}.searchcraft-ad-no-template{display:flex;flex-direction:column;font-size:.875rem}.searchcraft-ad-no-template>p{margin:0}.searchcraft-adm-ad{display:flex;flex-direction:column;justify-content:center;gap:16px}.searchcraft-search-result{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased}.searchcraft-search-result-no-template{display:flex;flex-direction:column;font-size:.875rem}.searchcraft-search-result-no-template>p{margin:0}.searchcraft-search-results{display:flex;flex-direction:column;justify-content:center;gap:16px}.searchcraft-search-results-empty-state{text-align:center}.searchcraft-search-results-error-message{text-align:center}.searchcraft-button{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);background:none;border:2px solid rgba(0,0,0,0);border-radius:var(--sc-border-radius);cursor:pointer;display:flex;gap:4px;padding:12px;position:relative}.searchcraft-button.searchcraft-button-disabled{cursor:not-allowed}.searchcraft-button-primary{background-color:var(--sc-surface-brand-primary);color:var(--sc-content-brand-on-primary);font-weight:var(--sc-font-bold)}.searchcraft-button-primary:hover{background-color:var(--sc-surface-brand-primary-hover)}.searchcraft-button-primary:focus{border-color:var(--sc-border-primary)}.searchcraft-button-primary:active{background-color:var(--sc-surface-brand-primary-active)}.searchcraft-button-primary.searchcraft-button-disabled,.searchcraft-button-primary.searchcraft-button-disabled:hover,.searchcraft-button-primary.searchcraft-button-disabled:focus,.searchcraft-button-primary.searchcraft-button-disabled:active{background-color:var(--sc-surface-disabled);border-color:rgba(0,0,0,0);color:var(--sc-content-disabled)}.searchcraft-button-tertiary{background-color:var(--sc-surface-neutral-primary);color:var(--sc-content-brand);font-weight:var(--sc-font-normal)}.searchcraft-button-tertiary:hover{background-color:var(--sc-surface-brand-secondary-hover)}.searchcraft-button-tertiary:focus{background-color:var(--sc-surface-neutral-light);border-color:var(--sc-border-primary)}.searchcraft-button-tertiary:active{background-color:var(--sc-surface-brand-secondary-active)}.searchcraft-button-tertiary.searchcraft-button-disabled,.searchcraft-button-tertiary.searchcraft-button-disabled:hover,.searchcraft-button-tertiary.searchcraft-button-disabled:focus,.searchcraft-button-tertiary.searchcraft-button-disabled:active{background-color:var(--sc-surface-neutral-light);border-color:rgba(0,0,0,0);color:var(--sc-content-disabled)}.searchcraft-button-icon{fill:none}.searchcraft-error-message{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-danger);margin:0}.searchcraft-facet-list{display:flex;flex-direction:column;gap:8px;width:100%}.searchcraft-facet-list-checkbox-label{align-items:center;color:var(--sc-content-neutral-primary);display:flex;font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);gap:8px;position:relative;-webkit-font-smoothing:antialiased}.searchcraft-facet-list-checkbox-input-wrapper{position:relative}.searchcraft-facet-list-checkbox-input{align-items:center;appearance:none;background-color:var(--sc-surface-neutral-secondary);border:1px solid var(--sc-surface-disabled);border-radius:var(--sc-border-radius);cursor:pointer;display:flex;height:24px;justify-content:center;width:24px;margin:0}.searchcraft-facet-list-checkbox-input:focus{outline:2px solid var(--sc-surface-brand-primary);outline-offset:2px}.searchcraft-facet-list-checkbox-input:checked{background-color:var(--sc-surface-brand-primary);position:relative}.searchcraft-facet-list-checkbox-input:checked+.searchcraft-facet-list-checkbox-input-check-icon{display:flex}.searchcraft-facet-list-checkbox-input:checked+.searchcraft-facet-list-checkbox-input-dash-icon{display:flex}.searchcraft-facet-child-list{display:flex;flex-direction:column;gap:6px}.searchcraft-facet-child-list-checkbox-label{margin-left:24px}.searchcraft-facet-child-list-checkbox-label:first-child{margin-top:6px}.searchcraft-facet-list-checkbox-input-check-icon{display:none;height:16px;left:50%;position:absolute;margin-top:2px;top:50%;transform:translate(-50%, -50%);width:16px}.searchcraft-facet-list-checkbox-input-dash-icon{display:none;height:3px;left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);width:14px}.searchcraft-facet-list-message{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-disabled);text-align:center}.searchcraft-filter-panel{display:flex;flex-direction:column;gap:16px}.searchcraft-filter-panel-section{display:flex;flex-direction:column;gap:8px}.searchcraft-filter-panel-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);font-weight:var(--sc-font-bold)}@media(max-width: 767px){[data-toggle-filter-panel]{cursor:pointer;display:flex !important;align-items:center;justify-content:space-between;width:100%}[data-toggle-filter-panel]::after{content:"›";display:inline-block;font-size:1.5em;line-height:1;margin-left:auto;flex-shrink:0;transition:transform .2s ease;transform-origin:center}[data-toggle-filter-panel][data-filter-panel-collapsed]::after{transform:rotate(90deg)}[data-toggle-filter-panel][data-filter-panel-expanded]::after{transform:rotate(-90deg)}}@media(min-width: 768px){[data-toggle-filter-panel]{cursor:default}[data-toggle-filter-panel]::after{display:none}}:root{--sc-input-form-border-radius: var(--sc-border-radius);--sc-input-form-search-icon-size: 20px;--sc-input-form-clear-icon-size: 20px}.searchcraft-input-form-grid{display:grid;gap:4px 8px}.searchcraft-input-form-grid-button-left{grid-template-rows:repeat(3, auto);grid-template-columns:auto 1fr}.searchcraft-input-form-grid-button-left .searchcraft-input-form-button{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-left .searchcraft-input-form-label{grid-column:2/span 1;grid-row:1/span 1}.searchcraft-input-form-grid-button-left .searchcraft-input-form-error-message{grid-column:2/span 1;grid-row:3/span 1}.searchcraft-input-form-grid-button-left .searchcraft-input-form-input-wrapper{grid-column:2/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-right{grid-template-rows:repeat(3, auto);grid-template-columns:1fr auto}.searchcraft-input-form-grid-button-right .searchcraft-input-form-button{grid-column:2/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-right .searchcraft-input-form-label{grid-column:1/span 1;grid-row:1/span 1}.searchcraft-input-form-grid-button-right .searchcraft-input-form-error-message{grid-column:1/span 1;grid-row:3/span 1}.searchcraft-input-form-grid-button-right .searchcraft-input-form-input-wrapper{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-none{grid-template-rows:repeat(3, auto);grid-template-columns:auto}.searchcraft-input-form-grid-button-none .searchcraft-input-form-button{display:none}.searchcraft-input-form-grid-button-none .searchcraft-input-form-label{grid-column:1/span 1;grid-row:1/span 1}.searchcraft-input-form-grid-button-none .searchcraft-input-form-error-message{grid-column:1/span 1;grid-row:3/span 1}.searchcraft-input-form-grid-button-none .searchcraft-input-form-input-wrapper{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-form-input-wrapper{display:flex;position:relative}.searchcraft-input-form-input{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);background-color:var(--sc-surface-neutral-secondary);border-radius:var(--sc-input-form-border-radius);border:none;color:var(--sc-content-neutral-primary);flex:1;outline:none;padding:12px 44px}.searchcraft-input-form-input::placeholder{color:var(--sc-content-disabled)}.searchcraft-input-form-input:focus{outline:var(--sc-border-brand) solid 2px;outline-offset:-1px}.searchcraft-input-form-input.searchcraft-placeholder-hide-on-focus:focus::placeholder{opacity:0}.searchcraft-input-form-error{color:var(--sc-content-danger);outline:var(--sc-border-danger) solid 2px}.searchcraft-input-form-error:focus{outline:var(--sc-border-danger) solid 2px}.searchcraft-input-form-input-icon{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;pointer-events:none;top:0;width:44px}.searchcraft-input-form-input-search-icon{color:var(--sc-content-neutral-secondary);fill:none;height:var(--sc-input-form-search-icon-size);pointer-events:none;width:var(--sc-input-form-search-icon-size)}.searchcraft-input-form-clear-button{all:unset;align-items:center;bottom:0;border:none;cursor:pointer;display:flex;justify-content:center;outline:none;position:absolute;right:0;top:0;width:44px}.searchcraft-input-form-clear-icon{color:var(--sc-content-brand);fill:none;height:var(--sc-input-form-clear-icon-size);width:var(--sc-input-form-clear-icon-size)}.searchcraft-input-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-neutral-primary);font-weight:var(--sc-font-bold);margin-top:4px;margin-bottom:4px}:root{--sc-popover-button-border-radius: var(--sc-border-radius)}@media(min-width: 576px){:root{--sc-popover-button-border-radius: var(--sc-border-radius-lg)}}.searchcraft-popover-button{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);cursor:pointer}.searchcraft-popover-button-skeuomorphic{appearance:none;background:none;border:none;color:var(--sc-content-neutral-primary);display:block;width:100%}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-wrapper{border:1px solid var(--sc-border-neutral);border-radius:var(--sc-popover-button-border-radius);box-shadow:0 1px 1px rgb(from var(--sc-content-neutral-secondary) r g b/10%) inset,0 2px 4px rgb(from var(--sc-content-neutral-secondary) r g b/5%) inset;display:flex;gap:24px;height:40px;justify-content:space-between;line-height:1;padding:4px 5px 4px 10px;background:var(--sc-surface-neutral-primary)}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-wrapper{box-shadow:0 1px 1px rgb(from var(--sc-content-neutral-secondary) r g b/10%) inset,0 2px 2px rgb(from var(--sc-content-neutral-secondary) r g b/5%) inset,0 4px 4px rgb(from var(--sc-content-neutral-secondary) r g b/5%) inset;height:63px;padding:8px 10px 8px 16px}}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-input{align-items:center;display:flex;gap:4px}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-input{gap:8px}}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps{color:var(--sc-content-neutral-secondary);display:flex;gap:4px;font-size:20px;font-weight:500}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps{gap:8px}}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap{border-radius:calc(var(--sc-popover-button-border-radius) - 3px);border-radius:calc(var(var(--sc-popover-button-border-radius)) - 3px);background-color:var(--sc-surface-neutral-primary);box-shadow:0 3px hsl(from var(--sc-surface-neutral-secondary) h s calc(l - 5)),0 1px 2px rgb(from var(--sc-content-neutral-secondary) r g b/10%),0 6px 4px rgb(from var(--sc-content-neutral-secondary) r g b/5%);height:calc(100% - 2px);position:relative}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap{border-radius:calc(var(--sc-popover-button-border-radius) - 8px);border-radius:calc(var(var(--sc-popover-button-border-radius)) - 8px);box-shadow:0 4px hsl(from var(--sc-surface-neutral-secondary) h s calc(l - 5)),0 1px 2px rgb(from var(--sc-content-neutral-secondary) r g b/15%),0 6px 1px rgb(from var(--sc-content-neutral-secondary) r g b/20%),0 7px 2px rgb(from var(--sc-content-neutral-secondary) r g b/15%),0 9px 4px rgb(from var(--sc-content-neutral-secondary) r g b/10%),0 13px 8px rgb(from var(--sc-content-neutral-secondary) r g b/5%);height:calc(100% - 5px)}}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap::before,.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap::after{content:"";display:block}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap::before{border-radius:calc(var(--sc-popover-button-border-radius) - 4px);border-radius:calc(var(var(--sc-popover-button-border-radius)) - 4px);background:linear-gradient(340deg, rgb(from var(--sc-surface-neutral-secondary) r g b/2%) 0%, var(--sc-surface-neutral-secondary) 100%);inset:2px;position:absolute}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap::before{border-radius:calc(var(--sc-popover-button-border-radius) - 12px);border-radius:calc(var(var(--sc-popover-button-border-radius)) - 12px);inset:4px}}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap::after{aspect-ratio:1/1;height:100%}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap>span{display:flex;line-height:1;left:50%;margin-top:2%;position:absolute;top:50%;transform:translate(-50%, -50%)}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-input-search-icon{height:60%;width:auto}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-input-search-icon{height:50%}}:root{--sc-popover-list-view-height: 600px;--sc-popover-modal-max-width: 800px}.searchcraft-popover-form{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);display:flex;flex:1;flex-direction:column}.searchcraft-popover-form searchcraft-input-form,.searchcraft-popover-form searchcraft-popover-footer{width:100%}.searchcraft-popover-form.searchcraft-popover-form-active .searchcraft-popover-form-input{padding-bottom:1px}.searchcraft-popover-form searchcraft-popover-list-view{flex-shrink:1;height:100%;min-height:0;overflow:auto;padding:0 24px}.searchcraft-popover-form-input{display:flex;flex-direction:row;gap:12px}.searchcraft-popover-form-input .searchcraft-input-form-input{background-color:var(--sc-surface-neutral-primary);border:1px solid var(--sc-border-neutral);border-radius:var(--sc-border-radius-lg);box-shadow:0 1px 1px rgb(from var(--sc-content-neutral-primary) r g b/10%) inset,0 2px 2px rgb(from var(--sc-content-neutral-primary) r g b/5%) inset,0 4px 4px rgb(from var(--sc-content-neutral-primary) r g b/5%) inset;width:0}.searchcraft-popover-form-cancel-button{background:none;border:none;cursor:pointer;font-size:14px}.searchcraft-popover-form-modal-input,.searchcraft-popover-form-fullscreen-input{padding:24px}.searchcraft-popover-form-modal-popover-list-view,.searchcraft-popover-form-fullscreen-popover-list-view{flex-grow:1;flex-shrink:1;min-height:0;overflow:auto;padding:0 24px}.searchcraft-popover-form-inline{background-color:var(--sc-surface-neutral-primary);border:1px solid rgba(0,0,0,0);border-radius:var(--sc-border-radius-xl);padding:12px;position:relative}.searchcraft-popover-form-inline.searchcraft-popover-form-active{border:1px solid var(--sc-border-neutral);border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;padding-bottom:1px}.searchcraft-popover-form-inline searchcraft-popover-list-view{padding:0 12px}.searchcraft-popover-form-inline .searchcraft-input-form-input,.searchcraft-popover-form-inline .searchcraft-popover-list-item-link,.searchcraft-popover-form-inline .searchcraft-adm-ad-link{border-radius:calc(--sc-border-radius-xl - 12px);border-radius:calc(var(--sc-border-radius-xl) - 12px)}.searchcraft-popover-form-inline-wrapper{background-color:var(--sc-surface-neutral-primary);border:1px solid var(--sc-border-neutral);border-top:none;border-bottom-left-radius:var(--sc-border-radius-xl);border-bottom-right-radius:var(--sc-border-radius-xl);display:flex;flex-direction:column;left:-1px;max-height:var(--sc-popover-list-view-height);overflow:hidden;position:absolute;right:-1px;top:100%}.searchcraft-popover-form-modal{align-items:center;display:flex;inset:0;position:fixed;z-index:1000}.searchcraft-popover-form-modal .searchcraft-input-form-input,.searchcraft-popover-form-modal .searchcraft-popover-list-item-link,.searchcraft-popover-form-modal .searchcraft-adm-ad-link{border-radius:calc(--sc-border-radius-2xl - 20px);border-radius:calc(var(--sc-border-radius-2xl) - 20px)}.searchcraft-popover-form-modal-backdrop{background-color:rgb(from var(--sc-content-neutral-primary) r g b/50%);display:none;inset:0;position:fixed}@media(min-width: 576px){.searchcraft-popover-form-modal-backdrop{display:block}}.searchcraft-popover-form-modal-wrapper{background-color:var(--sc-surface-neutral-primary);box-shadow:1px 2px rgb(from var(--sc-content-neutral-primary) r g b/7%),0 2px 4px rgb(from var(--sc-content-neutral-primary) r g b/7%),0 4px 8px rgb(from var(--sc-content-neutral-primary) r g b/7%),0 8px 16px rgb(from var(--sc-content-neutral-primary) r g b/7%),0 16px 32px rgb(from var(--sc-content-neutral-primary) r g b/7%),0 32px 64px rgb(from var(--sc-content-neutral-primary) r g b/7%);display:flex;flex-direction:column;inset:0;max-width:var(--sc-popover-modal-max-width);overflow:hidden;position:absolute;width:100%;z-index:1001}@media(min-width: 576px){.searchcraft-popover-form-modal-wrapper{border-radius:var(--sc-border-radius-2xl);inset:0;margin-top:100px;max-height:var(--sc-popover-list-view-height);max-width:var(--sc-popover-modal-max-width);position:relative}}.searchcraft-popover-form-modal-cancel-button{border-radius:calc(--sc-border-radius-2xl - 20px);border-radius:calc(var(--sc-border-radius-2xl) - 20px);padding:8px}@media(min-width: 576px){.searchcraft-popover-form-modal-cancel-button{padding:8px 12px}}.searchcraft-popover-form-fullscreen{background-color:var(--sc-surface-neutral-primary);display:flex;flex-direction:column;justify-content:space-between;inset:0;position:fixed;z-index:1000}.searchcraft-popover-form-fullscreen .searchcraft-popover-list-item-link,.searchcraft-popover-form-fullscreen .searchcraft-adm-ad-link{border-radius:var(--sc-border-radius-lg)}.searchcraft-popover-form-fullscreen-cancel-button{border-radius:var(--sc-border-radius-lg);padding:8px}@media(min-width: 576px){.searchcraft-popover-form-fullscreen-cancel-button{padding:8px 12px}}.searchcraft-popover-footer{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;background-color:var(--sc-surface-neutral-secondary);box-shadow:0 1px 1px rgb(from var(--sc-content-neutral-primary) r g b/10%) inset,0 2px 2px rgb(from var(--sc-content-neutral-primary) r g b/5%) inset,0 4px 4px rgb(from var(--sc-content-neutral-primary) r g b/5%) inset;display:flex;gap:8px;justify-content:space-between;line-height:1;padding:20px 24px}@media(min-width: 576px){.searchcraft-popover-footer{padding:20px 32px}}.searchcraft-popover-footer-results-info{margin:0}.searchcraft-popover-footer-link{color:var(--sc-content-neutral-primary);display:flex;max-width:160px;width:100%}:root{--sc-popover-list-item-image-fit: contain}.searchcraft-popover-list-item{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;border-bottom:1px solid var(--sc-border-neutral);padding:12px 0}searchcraft-popover-list-item:last-child .searchcraft-popover-list-item{border-bottom:none}.searchcraft-popover-list-item-link{align-items:flex-start;color:var(--sc-content-neutral-primary);display:flex;gap:24px;padding:12px;text-decoration:none}.searchcraft-popover-list-item-link:focus,.searchcraft-popover-list-item-link:active{background-color:var(--sc-surface-neutral-primary-active)}.searchcraft-popover-list-item-link:hover{background-color:var(--sc-surface-neutral-primary-hover)}.searchcraft-popover-list-item-image-wrapper{align-items:center;aspect-ratio:16/9;display:flex;flex-shrink:0;justify-content:center;width:160px}.searchcraft-popover-list-item-image{height:100%;object-fit:var(--sc-popover-list-item-image-fit);width:100%}.searchcraft-popover-list-item-content{display:flex;flex-direction:column;flex-grow:1;gap:4px;justify-content:center}.searchcraft-popover-list-item-content-title,.searchcraft-popover-list-item-content-subtitle{display:-webkit-box;line-clamp:2;margin:0;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.searchcraft-popover-list-item-content-title{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-heading-5-font-size);font-weight:var(--sc-font-bold)}.searchcraft-popover-list-item-content-subtitle{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal)}.searchcraft-popover-list-view{display:flex;flex-direction:column}.searchcraft-results-info{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-primary);margin:0}.searchcraft-slider{align-items:center;display:flex;flex-direction:column;gap:10px;width:100%;margin-top:4px}.searchcraft-slider-range{align-items:center;background-color:var(--sc-surface-disabled);border-radius:999px;display:flex;position:relative;height:4px;width:100%}.searchcraft-slider-range::-webkit-slider-runnable-track{pointer-events:none}.searchcraft-slider-range .searchcraft-slider-active-range{background-color:var(--sc-surface-brand-primary);border-radius:2px;height:4px;position:absolute;top:50%;transform:translateY(-50%);z-index:0}.searchcraft-slider-range .searchcraft-slider-active-range::-webkit-slider-runnable-track{pointer-events:none}.searchcraft-slider-range .searchcraft-slider-active-range::-moz-range-track{pointer-events:none}.searchcraft-slider-range .searchcraft-slider-input{appearance:none;background:rgba(0,0,0,0);border-radius:2px;height:4px;margin:0;outline:none;pointer-events:none;position:absolute;width:100%;-webkit-appearance:none}.searchcraft-slider-range .searchcraft-slider-input::-webkit-slider-thumb{background-color:var(--sc-surface-neutral-light);border-radius:50%;border:1px solid var(--sc-border-neutral);cursor:pointer;height:18px;pointer-events:all;width:18px;-webkit-appearance:none}.searchcraft-slider-range .searchcraft-slider-input::-moz-range-thumb{background-color:var(--sc-surface-neutral-light);border-radius:50%;border:1px solid var(--sc-border-neutral);cursor:pointer;height:18px;pointer-events:all;width:18px}.searchcraft-slider-range .searchcraft-slider-input:focus::-webkit-slider-thumb{outline:2px solid var(--sc-surface-brand-primary)}.searchcraft-slider-range .searchcraft-slider-input:focus::-moz-range-thumb{outline:2px solid var(--sc-surface-brand-primary)}.searchcraft-slider-label{color:var(--sc-content-primary);display:flex;font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);justify-content:space-between;margin-top:4px;width:100%}.searchcraft-slider-start-label,.searchcraft-slider-end-label{min-width:30px;text-align:center}.searchcraft-toggle-button{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.searchcraft-toggle-button-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-neutral-primary);margin:0}.searchcraft-toggle-button-sub-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-neutral-secondary);margin:0}.searchcraft-toggle-button-background{background:var(--sc-surface-disabled);border-radius:var(--sc-border-radius-full);border:none;cursor:pointer;flex-shrink:0;height:26px;position:relative;transition:background-color .2s;width:44px}.searchcraft-toggle-button-handle{background:var(--sc-surface-neutral-light);border-radius:50%;height:18px;left:4px;position:absolute;top:calc(50% - 9px);transition:transform .3s ease;width:18px}.searchcraft-toggle-button-active .searchcraft-toggle-button-background{background:var(--sc-surface-brand-primary);box-shadow:0px 0px 0px 1px rgba(0,0,0,.05)}.searchcraft-toggle-button-active .searchcraft-toggle-button-handle{transform:translateX(16px)}.searchcraft-pagination{display:inline-grid;gap:16px;grid-template-columns:repeat(3, auto);grid-template-rows:1fr}.searchcraft-pagination-list{border:1px solid var(--sc-border-neutral);border-radius:var(--sc-border-radius);display:flex;list-style-type:none;margin:0;overflow:hidden;padding:0;width:auto}.searchcraft-pagination-list li{border-right:1px solid var(--sc-border-neutral);height:100%;min-height:44px;width:44px}.searchcraft-pagination-list li:last-child{border-right:none}.searchcraft-pagination-item{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);align-items:center;background-color:var(--sc-surface-neutral-primary);border:none;display:flex;height:100%;justify-content:center;width:100%}.searchcraft-pagination-item-active{background-color:var(--sc-surface-brand-secondary);font-weight:var(--sc-font-bold)}.searchcraft-pagination-control{border:1px solid var(--sc-border-neutral);border-radius:var(--sc-border-radius)}.searchcraft-pagination-range{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);align-items:center;display:flex}.searchcraft-select{display:flex;flex-direction:column;gap:4px}.searchcraft-select-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);font-weight:var(--sc-font-bold)}.searchcraft-select-input-wrapper{position:relative}.searchcraft-select-input{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);appearance:none;background-color:var(--sc-surface-neutral-secondary);border:2px solid rgba(0,0,0,0);border-radius:var(--sc-border-radius);cursor:pointer;height:44px;padding:0 44px 0 16px;width:100%}.searchcraft-select-input:hover{background-color:var(--sc-surface-neutral-secondary-hover)}.searchcraft-select-input:active{background-color:var(--sc-surface-neutral-secondary-active)}.searchcraft-select-input:focus{border-color:var(--sc-border-brand);outline:none}.searchcraft-select-input-icon{fill:none;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.searchcraft-select-caption{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal)}.searchcraft-search-results-per-page{display:flex}.searchcraft-search-results-per-page-select{align-items:center;display:flex;gap:12px}.searchcraft-search-results-per-page-select-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal)}.searchcraft-search-results-per-page-select-input{min-width:120px}.searchcraft-summary-box{padding:20px;border-radius:var(--sc-border-radius);background-color:var(--sc-surface-neutral-secondary);position:relative;min-height:200px;color:var(--sc-content-neutral-primary);font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal)}.searchcraft-summary-box h1,.searchcraft-summary-box h2,.searchcraft-summary-box h3,.searchcraft-summary-box h4,.searchcraft-summary-box h5{padding-top:10px;padding-bottom:10px}.searchcraft-summary-box p{padding-bottom:10px}.searchcraft-summary-box img{max-width:200px}.searchcraft-summary-box ol,.searchcraft-summary-box ul{padding-left:1em;padding-bottom:10px}.searchcraft-summary-box a{color:var(--sc-content-brand)}.searchcraft-loading-label{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);margin-top:40px;letter-spacing:2px;color:#828282;font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal)}.searchcraft-loading-bars{margin:0 auto;width:60px;height:50px;text-align:center;position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);display:flex;gap:2px}.searchcraft-loading-bars>div{height:100%;width:8px;-webkit-animation:delay .8s infinite ease-in-out;animation:delay .8s infinite ease-in-out;opacity:.2}.searchcraft-loading-bars .searchcraft-loading-bar-1{background-color:var(--sc-surface-brand-primary);opacity:.1}.searchcraft-loading-bars .searchcraft-loading-bar-2{background-color:var(--sc-surface-brand-primary);animation-delay:-0.7s;opacity:.2}.searchcraft-loading-bars .searchcraft-loading-bar-3{background-color:var(--sc-surface-brand-primary);animation-delay:-0.6s;opacity:.3}.searchcraft-loading-bars .searchcraft-loading-bar-4{background-color:var(--sc-surface-brand-primary);animation-delay:-0.5s;opacity:.4}.searchcraft-loading-bars .searchcraft-loading-bar-5{background-color:var(--sc-surface-brand-primary);animation-delay:-0.4s;opacity:.5}.searchcraft-loading-bars .searchcraft-loading-bar-6{background-color:var(--sc-surface-brand-primary);animation-delay:-0.3s;opacity:.6}@keyframes delay{0%,40%,100%{transform:scaleY(0.05)}20%{transform:scaleY(1)}}/*# sourceMappingURL=hologram.css.map */
|
|
10149
|
+
var styles = `[class*=searchcraft-],[class*=searchcraft-] *,[class*=searchcraft-]::before,[class*=searchcraft-]::after,[class*=searchcraft-] *,::before,[class*=searchcraft-] *,::after{box-sizing:border-box;padding:0;margin:0}:root{--sc-text-base-size: 1em;--sc-text-scale-ratio: 1.1;--sc-font-family: sans-serif;--sc-font-bold: 700;--sc-font-normal: 400;--sc-heading-1-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-2-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-3-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-4-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-5-font-size: calc( var(--sc-text-base-size) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) );--sc-heading-6-font-size: calc( var(--sc-text-base-size) / ( var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) ) );--sc-body-font-size: calc(var(--sc-text-base-size));--sc-body-small-font-size: calc( var(--sc-text-base-size) / ( var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) * var(--sc-text-scale-ratio) ) )}:root{--sc-border-radius: 8px;--sc-border-radius-sm: calc(var(--sc-border-radius) / 2);--sc-border-radius-lg: calc(var(--sc-border-radius) * 2);--sc-border-radius-xl: calc(var(--sc-border-radius) * 3);--sc-border-radius-2xl: calc(var(--sc-border-radius) * 4);--sc-border-radius-full: 9999px}:root{--sc-breakpoint-sm: 576px;--sc-breakpoint-md: 768px;--sc-breakpoint-lg: 992px}:root{--sc-surface-neutral-primary: var(--sc-color-background, #ffffff);--sc-color-background-hover-computed: hsl( from var(--sc-color-background) h s clamp(10, calc(l + 5), 95) );--sc-surface-neutral-primary-hover: var( --sc-color-background-hover, var(--sc-color-background-hover-computed, #fafafa) );--sc-color-background-active-computed: hsl( from var(--sc-color-background) h s clamp(5, calc(l - 5), 90) );--sc-surface-neutral-primary-active: var( --sc-color-background-active, var(--sc-color-background-active-computed, #f7f7f7) );--sc-surface-neutral-secondary: var( --sc-color-background-secondary, var(--sc-color-background, #f3f3f3) );--sc-color-background-secondary-hover-computed: hsl( from var(--sc-color-background-secondary) h s clamp(10, calc(l + 5), 95) );--sc-surface-neutral-secondary-hover: var( --sc-color-background-hover, var(--sc-color-background-hover-computed, #e6e6e6) );--sc-color-background-secondary-active-computed: hsl( from var(--sc-color-background-secondary) h s clamp(5, calc(l - 5), 90) );--sc-surface-neutral-secondary-active: var( --sc-color-background-secondary-active, var(--sc-color-background-active-computed, #e0e0e0) );--sc-surface-neutral-light: #ffffff;--sc-content-neutral-primary: var(--sc-color-foreground, #292929);--sc-color-foreground-secondary-computed: hsl( from var(--sc-color-foreground) h s clamp(10, calc(l + 5), 90) );--sc-content-neutral-secondary: var( --sc-color-foreground-secondary, var(--sc-color-foreground-secondary-computed, #404040) );--sc-border-neutral: var(--sc-color-border, rgba(0, 0, 0, 0.1));--sc-surface-brand-primary: var(--sc-color-brand, #000000);--sc-color-brand-hover-computed: hsl( from var(--sc-color-brand) h s clamp(20, calc(l + 5), 95) );--sc-surface-brand-primary-hover: var( --sc-color-brand-hover, var(--sc-color-brand-hover-computed, #2e2e2e) );--sc-color-brand-active-computed: hsl( from var(--sc-color-brand) h s clamp(10, calc(l - 5), 85) );--sc-surface-brand-primary-active: var( --sc-color-brand-active, var(--sc-color-brand-active-computed, #292929) );--sc-surface-brand-secondary: var( --sc-color-brand-secondary, var(--sc-color-brand, #e6e6e6) );--sc-color-brand-secondary-hover-computed: hsl( from var(--sc-color-brand-secondary) h s clamp(10, calc(l + 5), 95) );--sc-surface-brand-secondary-hover: var( --sc-color-background-hover, var(--sc-color-background-hover-computed, #ebebeb) );--sc-color-brand-secondary-active-computed: hsl( from var(--sc-color-brand-secondary) h s clamp(5, calc(l - 5), 90) );--sc-surface-brand-secondary-active: var( --sc-color-brand-secondary-active, var(--sc-color-brand-active-computed, #e0e0e0) );--sc-content-brand: var( --sc-color-brand-text, var(--sc-surface-brand-primary) );--sc-content-brand-on-primary: #ffffff;--sc-border-brand: var(--sc-surface-brand-primary);--sc-surface-success-primary: var(--sc-color-success, #008000);--sc-color-success-primary-hover-computed: hsl( from var(--sc-color-success) h s 30 );--sc-surface-success-primary-hover: var( --sc-color-success-primary-hover, var(--sc-color-success-primary-hover-computed, #009900) );--sc-color-success-primary-active-computed: hsl( from var(--sc-color-success) h s 20 );--sc-surface-success-primary-active: var( --sc-color-success-primary-active, var(--sc-color-success-primary-active-computed, #006600) );--sc-color-success-secondary-computed: hsl( from var(--sc-color-success) h s 90 );--sc-surface-success-secondary: var( --sc-color-success-secondary, var(--sc-color-success-secondary-computed, #ccffcc) );--sc-color-success-secondary-hover-computed: hsl( from var(--sc-color-success-secondary) h s 95 );--sc-surface-success-secondary-hover: var( --sc-color-success-secondary-hover, var(--sc-color-success-secondary-hover-computed, #e6ffe6) );--sc-color-success-secondary-active-computed: hsl( from var(--sc-color-success-secondary) h s 85 );--sc-surface-success-secondary-active: var( --sc-color-success-secondary-active, var(--sc-color-success-secondary-active-computed, #b2ffb2) );--sc-content-success: var( --sc-color-brand-text, hsl(from var(--sc-surface-success-primary) h s 30) );--sc-content-success-on-primary: #ffffff;--sc-border-success: var(--sc-surface-success-primary);--sc-surface-caution-primary: var(--sc-color-caution, #cc6600);--sc-color-caution-primary-hover-computed: hsl( from var(--sc-color-caution) h s 30 );--sc-surface-caution-primary-hover: var( --sc-color-caution-primary-hover, var(--sc-color-caution-primary-hover-computed, #e57300) );--sc-color-caution-primary-active-computed: hsl( from var(--sc-color-caution) h s 20 );--sc-surface-caution-primary-active: var( --sc-color-caution-primary-active, var(--sc-color-caution-primary-active-computed, #b25a00) );--sc-color-caution-secondary-computed: hsl( from var(--sc-color-caution) h s 90 );--sc-surface-caution-secondary: var( --sc-color-caution-secondary, var(--sc-color-caution-secondary-computed, #ffd9b3) );--sc-color-caution-secondary-hover-computed: hsl( from var(--sc-color-caution-secondary) h s 95 );--sc-surface-caution-secondary-hover: var( --sc-color-caution-secondary-hover, var(--sc-color-caution-secondary-hover-computed, #ffe5cc) );--sc-color-caution-secondary-active-computed: hsl( from var(--sc-color-caution-secondary) h s 85 );--sc-surface-caution-secondary-active: var( --sc-color-caution-secondary-active, var(--sc-color-caution-secondary-active-computed, #ffcc99) );--sc-content-caution: var( --sc-color-caution-text, hsl(from var(--sc-surface-caution-primary) h s 30) );--sc-content-caution-on-primary: #ffffff;--sc-border-caution: var(--sc-surface-caution-primary);--sc-surface-danger-primary: var(--sc-color-danger, #cc0000);--sc-color-danger-primary-hover-computed: hsl( from var(--sc-color-danger) h s 30 );--sc-surface-danger-primary-hover: var( --sc-color-danger-primary-hover, var(--sc-color-danger-primary-hover-computed, #e50000) );--sc-color-danger-primary-active-computed: hsl( from var(--sc-color-danger) h s 20 );--sc-surface-danger-primary-active: var( --sc-color-danger-primary-active, var(--sc-color-danger-primary-active-computed, #b30000) );--sc-color-danger-secondary-computed: hsl(from var(--sc-color-danger) h s 90);--sc-surface-danger-secondary: var( --sc-color-danger-secondary, var(--sc-color-danger-secondary-computed, #ffcccc) );--sc-color-danger-secondary-hover-computed: hsl( from var(--sc-color-danger-secondary) h s 95 );--sc-surface-danger-secondary-hover: var( --sc-color-danger-secondary-hover, var(--sc-color-danger-secondary-hover-computed, #ffe7e7) );--sc-color-danger-secondary-active-computed: hsl( from var(--sc-color-danger-secondary) h s 85 );--sc-surface-danger-secondary-active: var( --sc-color-danger-secondary-active, var(--sc-color-danger-secondary-active-computed, #ffb3b3) );--sc-content-danger: var( --sc-color-caution-text, hsl(from var(--sc-surface-danger-primary) h s 30) );--sc-content-danger-on-primary: #ffffff;--sc-border-danger: var(--sc-surface-danger-primary);--sc-color-disabled: hsl(from var(--sc-color-page-primary) h s calc(l * 0.5));--sc-surface-disabled: var(--sc-color-disabled, #d9d9d9);--sc-color-disabled-text: hsl( from var(--sc-color-text-primary) h s calc(l * 0.5) );--sc-content-disabled: var(--sc-color-disabled-text, #737373);--sc-content-disabled-on-disabled: var(--sc-color-disabled-text, #737373)}@supports(hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none){:root{--sc-color-background-hover-computed: hsl( from var(--sc-color-background) h s clamp(10%, calc(l + 5%), 95%) );--sc-color-background-active-computed: hsl( from var(--sc-color-background) h s clamp(5%, calc(l - 5%), 90%) );--sc-color-foreground-secondary-computed: hsl( from var(--sc-color-foreground) h s clamp(10%, calc(l + 5%), 90%) );--sc-color-brand-hover-computed: hsl( from var(--sc-color-brand) h s clamp(20%, calc(l + 5%), 95%) );--sc-color-brand-active-computed: hsl( from var(--sc-color-brand) h s clamp(10%, calc(l - 5%), 85%) );--sc-color-success-primary-hover-computed: hsl( from var(--sc-color-success) h s 30% );--sc-color-success-primary-active-computed: hsl( from var(--sc-color-success) h s 20% );--sc-color-success-secondary-computed: hsl( from var(--sc-color-success) h s 90% );--sc-color-success-secondary-hover-computed: hsl( from var(--sc-color-success-secondary) h s 95% );--sc-color-success-secondary-active-computed: hsl( from var(--sc-color-success-secondary) h s 85% );--sc-content-success: var( --sc-color-brand-text, hsl(from var(--sc-surface-success-primary) h s 30%) );--sc-color-caution-primary-hover-computed: hsl( from var(--sc-color-caution) h s 30% );--sc-color-caution-primary-active-computed: hsl( from var(--sc-color-caution) h s 20% );--sc-color-caution-secondary-computed: hsl( from var(--sc-color-caution) h s 90% );--sc-color-caution-secondary-hover-computed: hsl( from var(--sc-color-caution-secondary) h s 95% );--sc-color-caution-secondary-active-computed: hsl( from var(--sc-color-caution-secondary) h s 85% );--sc-content-caution: var( --sc-color-caution-text, hsl(from var(--sc-surface-caution-primary) h s 30%) );--sc-color-danger-primary-hover-computed: hsl( from var(--sc-color-danger) h s 30% );--sc-color-danger-primary-active-computed: hsl( from var(--sc-color-danger) h s 20% );--sc-color-danger-secondary-computed: hsl( from var(--sc-color-danger) h s 90% );--sc-color-danger-secondary-hover-computed: hsl( from var(--sc-color-danger-secondary) h s 95% );--sc-color-danger-secondary-active-computed: hsl( from var(--sc-color-danger-secondary) h s 85% );--sc-content-danger: var( --sc-color-caution-text, hsl(from var(--sc-surface-danger-primary) h s 30%) )}}.searchcraft-ad{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased}.searchcraft-ad-no-template{display:flex;flex-direction:column;font-size:.875rem}.searchcraft-ad-no-template>p{margin:0}.searchcraft-adm-ad{display:flex;flex-direction:column;justify-content:center;gap:16px}.searchcraft-search-result{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased}.searchcraft-search-result-no-template{display:flex;flex-direction:column;font-size:.875rem}.searchcraft-search-result-no-template>p{margin:0}.searchcraft-search-results{display:flex;flex-direction:column;justify-content:center;gap:16px}.searchcraft-search-results-empty-state{text-align:center}.searchcraft-search-results-error-message{text-align:center}.searchcraft-button{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);background:none;border:2px solid rgba(0,0,0,0);border-radius:var(--sc-border-radius);cursor:pointer;display:flex;gap:4px;padding:12px;position:relative}.searchcraft-button.searchcraft-button-disabled{cursor:not-allowed}.searchcraft-button-primary{background-color:var(--sc-surface-brand-primary);color:var(--sc-content-brand-on-primary);font-weight:var(--sc-font-bold)}.searchcraft-button-primary:hover{background-color:var(--sc-surface-brand-primary-hover)}.searchcraft-button-primary:focus{border-color:var(--sc-border-primary)}.searchcraft-button-primary:active{background-color:var(--sc-surface-brand-primary-active)}.searchcraft-button-primary.searchcraft-button-disabled,.searchcraft-button-primary.searchcraft-button-disabled:hover,.searchcraft-button-primary.searchcraft-button-disabled:focus,.searchcraft-button-primary.searchcraft-button-disabled:active{background-color:var(--sc-surface-disabled);border-color:rgba(0,0,0,0);color:var(--sc-content-disabled)}.searchcraft-button-tertiary{background-color:var(--sc-surface-neutral-primary);color:var(--sc-content-brand);font-weight:var(--sc-font-normal)}.searchcraft-button-tertiary:hover{background-color:var(--sc-surface-brand-secondary-hover)}.searchcraft-button-tertiary:focus{background-color:var(--sc-surface-neutral-light);border-color:var(--sc-border-primary)}.searchcraft-button-tertiary:active{background-color:var(--sc-surface-brand-secondary-active)}.searchcraft-button-tertiary.searchcraft-button-disabled,.searchcraft-button-tertiary.searchcraft-button-disabled:hover,.searchcraft-button-tertiary.searchcraft-button-disabled:focus,.searchcraft-button-tertiary.searchcraft-button-disabled:active{background-color:var(--sc-surface-neutral-light);border-color:rgba(0,0,0,0);color:var(--sc-content-disabled)}.searchcraft-button-icon{fill:none}.searchcraft-error-message{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-danger);margin:0}.searchcraft-facet-list{display:flex;flex-direction:column;gap:8px;width:100%}.searchcraft-facet-list-checkbox-label{align-items:center;color:var(--sc-content-neutral-primary);display:flex;font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);gap:8px;position:relative;-webkit-font-smoothing:antialiased}.searchcraft-facet-list-checkbox-input-wrapper{position:relative}.searchcraft-facet-list-checkbox-input{align-items:center;appearance:none;background-color:var(--sc-surface-neutral-secondary);border:1px solid var(--sc-surface-disabled);border-radius:var(--sc-border-radius);cursor:pointer;display:flex;height:24px;justify-content:center;width:24px;margin:0}.searchcraft-facet-list-checkbox-input:focus{outline:2px solid var(--sc-surface-brand-primary);outline-offset:2px}.searchcraft-facet-list-checkbox-input:checked{background-color:var(--sc-surface-brand-primary);position:relative}.searchcraft-facet-list-checkbox-input:checked+.searchcraft-facet-list-checkbox-input-check-icon{display:flex}.searchcraft-facet-list-checkbox-input:checked+.searchcraft-facet-list-checkbox-input-dash-icon{display:flex}.searchcraft-facet-child-list{display:flex;flex-direction:column;gap:6px}.searchcraft-facet-child-list-checkbox-label{margin-left:24px}.searchcraft-facet-child-list-checkbox-label:first-child{margin-top:6px}.searchcraft-facet-list-checkbox-input-check-icon{display:none;height:16px;left:50%;position:absolute;margin-top:2px;top:50%;transform:translate(-50%, -50%);width:16px}.searchcraft-facet-list-checkbox-input-dash-icon{display:none;height:3px;left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);width:14px}.searchcraft-facet-list-message{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-disabled);text-align:center}.searchcraft-facet-list-wrapper{display:flex;flex-direction:column;width:100%;min-height:0}.searchcraft-facet-list-content{display:flex;flex-direction:column;gap:8px;min-height:0;flex-shrink:0}.searchcraft-facet-list-view-more{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);background:none;border:none;color:var(--sc-content-brand);cursor:pointer;padding:8px 0;text-align:left;text-decoration:underline}.searchcraft-facet-list-view-more:hover{color:var(--sc-surface-brand-primary-hover)}.searchcraft-facet-list-view-more:focus{outline:2px solid var(--sc-surface-brand-primary);outline-offset:2px}.searchcraft-filter-panel{display:flex;flex-direction:column;gap:16px}.searchcraft-filter-panel-section{display:flex;flex-direction:column;gap:8px}.searchcraft-filter-panel-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);font-weight:var(--sc-font-bold)}[data-toggle-facet-section]{cursor:pointer;display:flex;align-items:center;justify-content:space-between;width:100%;position:relative}[data-toggle-facet-section]::after{content:"›";display:inline-block;font-size:1.5em;line-height:1;margin-left:auto;flex-shrink:0;transition:transform .2s ease;transform-origin:center}[data-toggle-facet-section][data-facet-section-collapsed]::after{transform:rotate(90deg)}[data-toggle-facet-section][data-facet-section-expanded]::after{transform:rotate(-90deg)}@media(max-width: 767px){[data-toggle-filter-panel]{cursor:pointer;display:flex !important;align-items:center;justify-content:space-between;width:100%}[data-toggle-filter-panel]::after{content:"›";display:inline-block;font-size:1.5em;line-height:1;margin-left:auto;flex-shrink:0;transition:transform .2s ease;transform-origin:center}[data-toggle-filter-panel][data-filter-panel-collapsed]::after{transform:rotate(90deg)}[data-toggle-filter-panel][data-filter-panel-expanded]::after{transform:rotate(-90deg)}}@media(min-width: 768px){[data-toggle-filter-panel]{cursor:default}[data-toggle-filter-panel]::after{display:none}}:root{--sc-input-form-border-radius: var(--sc-border-radius);--sc-input-form-search-icon-size: 20px;--sc-input-form-clear-icon-size: 20px}.searchcraft-input-form-grid{display:grid;gap:4px 8px}.searchcraft-input-form-grid-button-left{grid-template-rows:repeat(3, auto);grid-template-columns:auto 1fr}.searchcraft-input-form-grid-button-left .searchcraft-input-form-button{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-left .searchcraft-input-form-label{grid-column:2/span 1;grid-row:1/span 1}.searchcraft-input-form-grid-button-left .searchcraft-input-form-error-message{grid-column:2/span 1;grid-row:3/span 1}.searchcraft-input-form-grid-button-left .searchcraft-input-form-input-wrapper{grid-column:2/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-right{grid-template-rows:repeat(3, auto);grid-template-columns:1fr auto}.searchcraft-input-form-grid-button-right .searchcraft-input-form-button{grid-column:2/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-right .searchcraft-input-form-label{grid-column:1/span 1;grid-row:1/span 1}.searchcraft-input-form-grid-button-right .searchcraft-input-form-error-message{grid-column:1/span 1;grid-row:3/span 1}.searchcraft-input-form-grid-button-right .searchcraft-input-form-input-wrapper{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-form-grid-button-none{grid-template-rows:repeat(3, auto);grid-template-columns:auto}.searchcraft-input-form-grid-button-none .searchcraft-input-form-button{display:none}.searchcraft-input-form-grid-button-none .searchcraft-input-form-label{grid-column:1/span 1;grid-row:1/span 1}.searchcraft-input-form-grid-button-none .searchcraft-input-form-error-message{grid-column:1/span 1;grid-row:3/span 1}.searchcraft-input-form-grid-button-none .searchcraft-input-form-input-wrapper{grid-column:1/span 1;grid-row:2/span 1}.searchcraft-input-form-input-wrapper{display:flex;position:relative}.searchcraft-input-form-input{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);background-color:var(--sc-surface-neutral-secondary);border-radius:var(--sc-input-form-border-radius);border:none;color:var(--sc-content-neutral-primary);flex:1;outline:none;padding:12px 44px}.searchcraft-input-form-input::placeholder{color:var(--sc-content-disabled)}.searchcraft-input-form-input:focus{outline:var(--sc-border-brand) solid 2px;outline-offset:-1px}.searchcraft-input-form-input.searchcraft-placeholder-hide-on-focus:focus::placeholder{opacity:0}.searchcraft-input-form-error{color:var(--sc-content-danger);outline:var(--sc-border-danger) solid 2px}.searchcraft-input-form-error:focus{outline:var(--sc-border-danger) solid 2px}.searchcraft-input-form-input-icon{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;pointer-events:none;top:0;width:44px}.searchcraft-input-form-input-search-icon{color:var(--sc-content-neutral-secondary);fill:none;height:var(--sc-input-form-search-icon-size);pointer-events:none;width:var(--sc-input-form-search-icon-size)}.searchcraft-input-form-clear-button{all:unset;align-items:center;bottom:0;border:none;cursor:pointer;display:flex;justify-content:center;outline:none;position:absolute;right:0;top:0;width:44px}.searchcraft-input-form-clear-icon{color:var(--sc-content-brand);fill:none;height:var(--sc-input-form-clear-icon-size);width:var(--sc-input-form-clear-icon-size)}.searchcraft-input-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-neutral-primary);font-weight:var(--sc-font-bold);margin-top:4px;margin-bottom:4px}:root{--sc-popover-button-border-radius: var(--sc-border-radius)}@media(min-width: 576px){:root{--sc-popover-button-border-radius: var(--sc-border-radius-lg)}}.searchcraft-popover-button{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);cursor:pointer}.searchcraft-popover-button-skeuomorphic{appearance:none;background:none;border:none;color:var(--sc-content-neutral-primary);display:block;width:100%}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-wrapper{border:1px solid var(--sc-border-neutral);border-radius:var(--sc-popover-button-border-radius);box-shadow:0 1px 1px rgb(from var(--sc-content-neutral-secondary) r g b/10%) inset,0 2px 4px rgb(from var(--sc-content-neutral-secondary) r g b/5%) inset;display:flex;gap:24px;height:40px;justify-content:space-between;line-height:1;padding:4px 5px 4px 10px;background:var(--sc-surface-neutral-primary)}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-wrapper{box-shadow:0 1px 1px rgb(from var(--sc-content-neutral-secondary) r g b/10%) inset,0 2px 2px rgb(from var(--sc-content-neutral-secondary) r g b/5%) inset,0 4px 4px rgb(from var(--sc-content-neutral-secondary) r g b/5%) inset;height:63px;padding:8px 10px 8px 16px}}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-input{align-items:center;display:flex;gap:4px}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-input{gap:8px}}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps{color:var(--sc-content-neutral-secondary);display:flex;gap:4px;font-size:20px;font-weight:500}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps{gap:8px}}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap{border-radius:calc(var(--sc-popover-button-border-radius) - 3px);border-radius:calc(var(var(--sc-popover-button-border-radius)) - 3px);background-color:var(--sc-surface-neutral-primary);box-shadow:0 3px hsl(from var(--sc-surface-neutral-secondary) h s calc(l - 5)),0 1px 2px rgb(from var(--sc-content-neutral-secondary) r g b/10%),0 6px 4px rgb(from var(--sc-content-neutral-secondary) r g b/5%);height:calc(100% - 2px);position:relative}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap{border-radius:calc(var(--sc-popover-button-border-radius) - 8px);border-radius:calc(var(var(--sc-popover-button-border-radius)) - 8px);box-shadow:0 4px hsl(from var(--sc-surface-neutral-secondary) h s calc(l - 5)),0 1px 2px rgb(from var(--sc-content-neutral-secondary) r g b/15%),0 6px 1px rgb(from var(--sc-content-neutral-secondary) r g b/20%),0 7px 2px rgb(from var(--sc-content-neutral-secondary) r g b/15%),0 9px 4px rgb(from var(--sc-content-neutral-secondary) r g b/10%),0 13px 8px rgb(from var(--sc-content-neutral-secondary) r g b/5%);height:calc(100% - 5px)}}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap::before,.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap::after{content:"";display:block}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap::before{border-radius:calc(var(--sc-popover-button-border-radius) - 4px);border-radius:calc(var(var(--sc-popover-button-border-radius)) - 4px);background:linear-gradient(340deg, rgb(from var(--sc-surface-neutral-secondary) r g b/2%) 0%, var(--sc-surface-neutral-secondary) 100%);inset:2px;position:absolute}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap::before{border-radius:calc(var(--sc-popover-button-border-radius) - 12px);border-radius:calc(var(var(--sc-popover-button-border-radius)) - 12px);inset:4px}}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap::after{aspect-ratio:1/1;height:100%}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-keycaps-keycap>span{display:flex;line-height:1;left:50%;margin-top:2%;position:absolute;top:50%;transform:translate(-50%, -50%)}.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-input-search-icon{height:60%;width:auto}@media(min-width: 576px){.searchcraft-popover-button-skeuomorphic .searchcraft-popover-button-input-search-icon{height:50%}}:root{--sc-popover-list-view-height: 600px;--sc-popover-modal-max-width: 800px}.searchcraft-popover-form{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);display:flex;flex:1;flex-direction:column}.searchcraft-popover-form searchcraft-input-form,.searchcraft-popover-form searchcraft-popover-footer{width:100%}.searchcraft-popover-form.searchcraft-popover-form-active .searchcraft-popover-form-input{padding-bottom:1px}.searchcraft-popover-form searchcraft-popover-list-view{flex-shrink:1;height:100%;min-height:0;overflow:auto;padding:0 24px}.searchcraft-popover-form-input{display:flex;flex-direction:row;gap:12px}.searchcraft-popover-form-input .searchcraft-input-form-input{background-color:var(--sc-surface-neutral-primary);border:1px solid var(--sc-border-neutral);border-radius:var(--sc-border-radius-lg);box-shadow:0 1px 1px rgb(from var(--sc-content-neutral-primary) r g b/10%) inset,0 2px 2px rgb(from var(--sc-content-neutral-primary) r g b/5%) inset,0 4px 4px rgb(from var(--sc-content-neutral-primary) r g b/5%) inset;width:0}.searchcraft-popover-form-cancel-button{background:none;border:none;cursor:pointer;font-size:14px}.searchcraft-popover-form-modal-input,.searchcraft-popover-form-fullscreen-input{padding:24px}.searchcraft-popover-form-modal-popover-list-view,.searchcraft-popover-form-fullscreen-popover-list-view{flex-grow:1;flex-shrink:1;min-height:0;overflow:auto;padding:0 24px}.searchcraft-popover-form-inline{background-color:var(--sc-surface-neutral-primary);border:1px solid rgba(0,0,0,0);border-radius:var(--sc-border-radius-xl);padding:12px;position:relative}.searchcraft-popover-form-inline.searchcraft-popover-form-active{border:1px solid var(--sc-border-neutral);border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;padding-bottom:1px}.searchcraft-popover-form-inline searchcraft-popover-list-view{padding:0 12px}.searchcraft-popover-form-inline .searchcraft-input-form-input,.searchcraft-popover-form-inline .searchcraft-popover-list-item-link,.searchcraft-popover-form-inline .searchcraft-adm-ad-link{border-radius:calc(--sc-border-radius-xl - 12px);border-radius:calc(var(--sc-border-radius-xl) - 12px)}.searchcraft-popover-form-inline-wrapper{background-color:var(--sc-surface-neutral-primary);border:1px solid var(--sc-border-neutral);border-top:none;border-bottom-left-radius:var(--sc-border-radius-xl);border-bottom-right-radius:var(--sc-border-radius-xl);display:flex;flex-direction:column;left:-1px;max-height:var(--sc-popover-list-view-height);overflow:hidden;position:absolute;right:-1px;top:100%}.searchcraft-popover-form-modal{align-items:center;display:flex;inset:0;position:fixed;z-index:1000}.searchcraft-popover-form-modal .searchcraft-input-form-input,.searchcraft-popover-form-modal .searchcraft-popover-list-item-link,.searchcraft-popover-form-modal .searchcraft-adm-ad-link{border-radius:calc(--sc-border-radius-2xl - 20px);border-radius:calc(var(--sc-border-radius-2xl) - 20px)}.searchcraft-popover-form-modal-backdrop{background-color:rgb(from var(--sc-content-neutral-primary) r g b/50%);display:none;inset:0;position:fixed}@media(min-width: 576px){.searchcraft-popover-form-modal-backdrop{display:block}}.searchcraft-popover-form-modal-wrapper{background-color:var(--sc-surface-neutral-primary);box-shadow:1px 2px rgb(from var(--sc-content-neutral-primary) r g b/7%),0 2px 4px rgb(from var(--sc-content-neutral-primary) r g b/7%),0 4px 8px rgb(from var(--sc-content-neutral-primary) r g b/7%),0 8px 16px rgb(from var(--sc-content-neutral-primary) r g b/7%),0 16px 32px rgb(from var(--sc-content-neutral-primary) r g b/7%),0 32px 64px rgb(from var(--sc-content-neutral-primary) r g b/7%);display:flex;flex-direction:column;inset:0;max-width:var(--sc-popover-modal-max-width);overflow:hidden;position:absolute;width:100%;z-index:1001}@media(min-width: 576px){.searchcraft-popover-form-modal-wrapper{border-radius:var(--sc-border-radius-2xl);inset:0;margin-top:100px;max-height:var(--sc-popover-list-view-height);max-width:var(--sc-popover-modal-max-width);position:relative}}.searchcraft-popover-form-modal-cancel-button{border-radius:calc(--sc-border-radius-2xl - 20px);border-radius:calc(var(--sc-border-radius-2xl) - 20px);padding:8px}@media(min-width: 576px){.searchcraft-popover-form-modal-cancel-button{padding:8px 12px}}.searchcraft-popover-form-fullscreen{background-color:var(--sc-surface-neutral-primary);display:flex;flex-direction:column;justify-content:space-between;inset:0;position:fixed;z-index:1000}.searchcraft-popover-form-fullscreen .searchcraft-popover-list-item-link,.searchcraft-popover-form-fullscreen .searchcraft-adm-ad-link{border-radius:var(--sc-border-radius-lg)}.searchcraft-popover-form-fullscreen-cancel-button{border-radius:var(--sc-border-radius-lg);padding:8px}@media(min-width: 576px){.searchcraft-popover-form-fullscreen-cancel-button{padding:8px 12px}}.searchcraft-popover-footer{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;background-color:var(--sc-surface-neutral-secondary);box-shadow:0 1px 1px rgb(from var(--sc-content-neutral-primary) r g b/10%) inset,0 2px 2px rgb(from var(--sc-content-neutral-primary) r g b/5%) inset,0 4px 4px rgb(from var(--sc-content-neutral-primary) r g b/5%) inset;display:flex;gap:8px;justify-content:space-between;line-height:1;padding:20px 24px}@media(min-width: 576px){.searchcraft-popover-footer{padding:20px 32px}}.searchcraft-popover-footer-results-info{margin:0}.searchcraft-popover-footer-link{color:var(--sc-content-neutral-primary);display:flex;max-width:160px;width:100%}:root{--sc-popover-list-item-image-fit: contain}.searchcraft-popover-list-item{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;border-bottom:1px solid var(--sc-border-neutral);padding:12px 0}searchcraft-popover-list-item:last-child .searchcraft-popover-list-item{border-bottom:none}.searchcraft-popover-list-item-link{align-items:flex-start;color:var(--sc-content-neutral-primary);display:flex;gap:24px;padding:12px;text-decoration:none}.searchcraft-popover-list-item-link:focus,.searchcraft-popover-list-item-link:active{background-color:var(--sc-surface-neutral-primary-active)}.searchcraft-popover-list-item-link:hover{background-color:var(--sc-surface-neutral-primary-hover)}.searchcraft-popover-list-item-image-wrapper{align-items:center;aspect-ratio:16/9;display:flex;flex-shrink:0;justify-content:center;width:160px}.searchcraft-popover-list-item-image{height:100%;object-fit:var(--sc-popover-list-item-image-fit);width:100%}.searchcraft-popover-list-item-content{display:flex;flex-direction:column;flex-grow:1;gap:4px;justify-content:center}.searchcraft-popover-list-item-content-title,.searchcraft-popover-list-item-content-subtitle{display:-webkit-box;line-clamp:2;margin:0;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.searchcraft-popover-list-item-content-title{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-heading-5-font-size);font-weight:var(--sc-font-bold)}.searchcraft-popover-list-item-content-subtitle{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal)}.searchcraft-popover-list-view{display:flex;flex-direction:column}.searchcraft-results-info{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-primary);margin:0}.searchcraft-slider{align-items:center;display:flex;flex-direction:column;gap:10px;width:100%;margin-top:4px}.searchcraft-slider-range{align-items:center;background-color:var(--sc-surface-disabled);border-radius:999px;display:flex;position:relative;height:4px;width:100%}.searchcraft-slider-range::-webkit-slider-runnable-track{pointer-events:none}.searchcraft-slider-range .searchcraft-slider-active-range{background-color:var(--sc-surface-brand-primary);border-radius:2px;height:4px;position:absolute;top:50%;transform:translateY(-50%);z-index:0}.searchcraft-slider-range .searchcraft-slider-active-range::-webkit-slider-runnable-track{pointer-events:none}.searchcraft-slider-range .searchcraft-slider-active-range::-moz-range-track{pointer-events:none}.searchcraft-slider-range .searchcraft-slider-input{appearance:none;background:rgba(0,0,0,0);border-radius:2px;height:4px;margin:0;outline:none;pointer-events:none;position:absolute;width:100%;-webkit-appearance:none}.searchcraft-slider-range .searchcraft-slider-input::-webkit-slider-thumb{background-color:var(--sc-surface-neutral-light);border-radius:50%;border:1px solid var(--sc-border-neutral);cursor:pointer;height:18px;pointer-events:all;width:18px;-webkit-appearance:none}.searchcraft-slider-range .searchcraft-slider-input::-moz-range-thumb{background-color:var(--sc-surface-neutral-light);border-radius:50%;border:1px solid var(--sc-border-neutral);cursor:pointer;height:18px;pointer-events:all;width:18px}.searchcraft-slider-range .searchcraft-slider-input:focus::-webkit-slider-thumb{outline:2px solid var(--sc-surface-brand-primary)}.searchcraft-slider-range .searchcraft-slider-input:focus::-moz-range-thumb{outline:2px solid var(--sc-surface-brand-primary)}.searchcraft-slider-label{color:var(--sc-content-primary);display:flex;font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);justify-content:space-between;margin-top:4px;width:100%}.searchcraft-slider-start-label,.searchcraft-slider-end-label{min-width:30px;text-align:center}.searchcraft-toggle-button{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.searchcraft-toggle-button-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-neutral-primary);margin:0}.searchcraft-toggle-button-sub-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);color:var(--sc-content-neutral-secondary);margin:0}.searchcraft-toggle-button-background{background:var(--sc-surface-disabled);border-radius:var(--sc-border-radius-full);border:none;cursor:pointer;flex-shrink:0;height:26px;position:relative;transition:background-color .2s;width:44px}.searchcraft-toggle-button-handle{background:var(--sc-surface-neutral-light);border-radius:50%;height:18px;left:4px;position:absolute;top:calc(50% - 9px);transition:transform .3s ease;width:18px}.searchcraft-toggle-button-active .searchcraft-toggle-button-background{background:var(--sc-surface-brand-primary);box-shadow:0px 0px 0px 1px rgba(0,0,0,.05)}.searchcraft-toggle-button-active .searchcraft-toggle-button-handle{transform:translateX(16px)}.searchcraft-pagination{display:inline-grid;gap:16px;grid-template-columns:repeat(3, auto);grid-template-rows:1fr}.searchcraft-pagination-list{border:1px solid var(--sc-border-neutral);border-radius:var(--sc-border-radius);display:flex;list-style-type:none;margin:0;overflow:hidden;padding:0;width:auto}.searchcraft-pagination-list li{border-right:1px solid var(--sc-border-neutral);height:100%;min-height:44px;width:44px}.searchcraft-pagination-list li:last-child{border-right:none}.searchcraft-pagination-item{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);align-items:center;background-color:var(--sc-surface-neutral-primary);border:none;display:flex;height:100%;justify-content:center;width:100%}.searchcraft-pagination-item-active{background-color:var(--sc-surface-brand-secondary);font-weight:var(--sc-font-bold)}.searchcraft-pagination-control{border:1px solid var(--sc-border-neutral);border-radius:var(--sc-border-radius)}.searchcraft-pagination-range{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);align-items:center;display:flex}.searchcraft-select{display:flex;flex-direction:column;gap:4px}.searchcraft-select-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal);font-weight:var(--sc-font-bold)}.searchcraft-select-input-wrapper{position:relative}.searchcraft-select-input{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal);appearance:none;background-color:var(--sc-surface-neutral-secondary);border:2px solid rgba(0,0,0,0);border-radius:var(--sc-border-radius);cursor:pointer;height:44px;padding:0 44px 0 16px;width:100%}.searchcraft-select-input:hover{background-color:var(--sc-surface-neutral-secondary-hover)}.searchcraft-select-input:active{background-color:var(--sc-surface-neutral-secondary-active)}.searchcraft-select-input:focus{border-color:var(--sc-border-brand);outline:none}.searchcraft-select-input-icon{fill:none;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.searchcraft-select-caption{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal)}.searchcraft-search-results-per-page{display:flex}.searchcraft-search-results-per-page-select{align-items:center;display:flex;gap:12px}.searchcraft-search-results-per-page-select-label{font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal)}.searchcraft-search-results-per-page-select-input{min-width:120px}.searchcraft-summary-box{padding:20px;border-radius:var(--sc-border-radius);background-color:var(--sc-surface-neutral-secondary);position:relative;min-height:200px;color:var(--sc-content-neutral-primary);font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-font-size);font-weight:var(--sc-font-normal)}.searchcraft-summary-box h1,.searchcraft-summary-box h2,.searchcraft-summary-box h3,.searchcraft-summary-box h4,.searchcraft-summary-box h5{padding-top:10px;padding-bottom:10px}.searchcraft-summary-box p{padding-bottom:10px}.searchcraft-summary-box img{max-width:200px}.searchcraft-summary-box ol,.searchcraft-summary-box ul{padding-left:1em;padding-bottom:10px}.searchcraft-summary-box a{color:var(--sc-content-brand)}.searchcraft-loading-label{position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);margin-top:40px;letter-spacing:2px;color:#828282;font-family:var(--sc-font-family);line-height:1.25;-webkit-font-smoothing:antialiased;font-size:var(--sc-body-small-font-size);font-weight:var(--sc-font-normal)}.searchcraft-loading-bars{margin:0 auto;width:60px;height:50px;text-align:center;position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);display:flex;gap:2px}.searchcraft-loading-bars>div{height:100%;width:8px;-webkit-animation:delay .8s infinite ease-in-out;animation:delay .8s infinite ease-in-out;opacity:.2}.searchcraft-loading-bars .searchcraft-loading-bar-1{background-color:var(--sc-surface-brand-primary);opacity:.1}.searchcraft-loading-bars .searchcraft-loading-bar-2{background-color:var(--sc-surface-brand-primary);animation-delay:-0.7s;opacity:.2}.searchcraft-loading-bars .searchcraft-loading-bar-3{background-color:var(--sc-surface-brand-primary);animation-delay:-0.6s;opacity:.3}.searchcraft-loading-bars .searchcraft-loading-bar-4{background-color:var(--sc-surface-brand-primary);animation-delay:-0.5s;opacity:.4}.searchcraft-loading-bars .searchcraft-loading-bar-5{background-color:var(--sc-surface-brand-primary);animation-delay:-0.4s;opacity:.5}.searchcraft-loading-bars .searchcraft-loading-bar-6{background-color:var(--sc-surface-brand-primary);animation-delay:-0.3s;opacity:.6}@keyframes delay{0%,40%,100%{transform:scaleY(0.05)}20%{transform:scaleY(1)}}/*# sourceMappingURL=hologram.css.map */
|
|
9878
10150
|
`;
|
|
9879
10151
|
|
|
9880
10152
|
/**
|
|
@@ -10030,805 +10302,1269 @@ exports.hydrateApp = hydrateApp;
|
|
|
10030
10302
|
hydrateAppClosure($stencilWindow);
|
|
10031
10303
|
}
|
|
10032
10304
|
|
|
10033
|
-
// src/app-data/index.ts
|
|
10034
|
-
var BUILD = {
|
|
10035
|
-
allRenderFn: false,
|
|
10036
|
-
element: true,
|
|
10037
|
-
event: true,
|
|
10038
|
-
hasRenderFn: true,
|
|
10039
|
-
hostListener: true,
|
|
10040
|
-
hostListenerTargetWindow: true,
|
|
10041
|
-
hostListenerTargetDocument: true,
|
|
10042
|
-
hostListenerTargetBody: true,
|
|
10043
|
-
hostListenerTargetParent: false,
|
|
10044
|
-
hostListenerTarget: true,
|
|
10045
|
-
member: true,
|
|
10046
|
-
method: true,
|
|
10047
|
-
mode: true,
|
|
10048
|
-
observeAttribute: true,
|
|
10049
|
-
prop: true,
|
|
10050
|
-
propMutable: true,
|
|
10051
|
-
reflect: true,
|
|
10052
|
-
scoped: true,
|
|
10053
|
-
shadowDom: true,
|
|
10054
|
-
slot: true,
|
|
10055
|
-
cssAnnotations: true,
|
|
10056
|
-
state: true,
|
|
10057
|
-
style: true,
|
|
10058
|
-
formAssociated: false,
|
|
10059
|
-
svg: true,
|
|
10060
|
-
updatable: true,
|
|
10061
|
-
vdomAttribute: true,
|
|
10062
|
-
vdomXlink: true,
|
|
10063
|
-
vdomClass: true,
|
|
10064
|
-
vdomFunctional: true,
|
|
10065
|
-
vdomKey: true,
|
|
10066
|
-
vdomListener: true,
|
|
10067
|
-
vdomRef: true,
|
|
10068
|
-
vdomPropOrAttr: true,
|
|
10069
|
-
vdomRender: true,
|
|
10070
|
-
vdomStyle: true,
|
|
10071
|
-
vdomText: true,
|
|
10072
|
-
propChangeCallback: true,
|
|
10073
|
-
taskQueue: true,
|
|
10074
|
-
hotModuleReplacement: false,
|
|
10075
|
-
isDebug: false,
|
|
10076
|
-
isDev: false,
|
|
10077
|
-
isTesting: false,
|
|
10078
|
-
hydrateServerSide: false,
|
|
10079
|
-
hydrateClientSide: false,
|
|
10080
|
-
lifecycleDOMEvents: false,
|
|
10081
|
-
lazyLoad: false,
|
|
10082
|
-
profile: false,
|
|
10083
|
-
slotRelocation: true,
|
|
10084
|
-
// TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior
|
|
10085
|
-
appendChildSlotFix: false,
|
|
10086
|
-
// TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior
|
|
10087
|
-
cloneNodeFix: false,
|
|
10088
|
-
hydratedAttribute: false,
|
|
10089
|
-
hydratedClass: true,
|
|
10090
|
-
// TODO(STENCIL-1305): remove this option
|
|
10091
|
-
scriptDataOpts: false,
|
|
10092
|
-
// TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior
|
|
10093
|
-
scopedSlotTextContentFix: false,
|
|
10094
|
-
// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
|
|
10095
|
-
shadowDomShim: false,
|
|
10096
|
-
// TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior
|
|
10097
|
-
slotChildNodesFix: false,
|
|
10098
|
-
invisiblePrehydration: true,
|
|
10099
|
-
propBoolean: true,
|
|
10100
|
-
propNumber: true,
|
|
10101
|
-
propString: true,
|
|
10102
|
-
constructableCSS: true,
|
|
10103
|
-
devTools: false,
|
|
10104
|
-
shadowDelegatesFocus: true,
|
|
10105
|
-
initializeNextTick: false,
|
|
10106
|
-
asyncLoading: true,
|
|
10107
|
-
asyncQueue: false,
|
|
10108
|
-
transformTagName: false,
|
|
10109
|
-
attachStyles: true,
|
|
10110
|
-
// TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior
|
|
10111
|
-
experimentalSlotFixes: false
|
|
10112
|
-
};
|
|
10113
|
-
var Env = {};
|
|
10114
|
-
var NAMESPACE = (
|
|
10115
|
-
/* default */
|
|
10116
|
-
"app"
|
|
10117
|
-
);
|
|
10118
|
-
|
|
10119
10305
|
/*
|
|
10120
|
-
Stencil Hydrate Runner v4.
|
|
10306
|
+
Stencil Hydrate Runner v4.39.0 | MIT Licensed | https://stenciljs.com
|
|
10121
10307
|
*/
|
|
10122
10308
|
var __defProp = Object.defineProperty;
|
|
10123
10309
|
var __export = (target, all) => {
|
|
10124
10310
|
for (var name in all)
|
|
10125
10311
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10126
10312
|
};
|
|
10127
|
-
|
|
10128
|
-
|
|
10129
|
-
|
|
10130
|
-
|
|
10131
|
-
|
|
10132
|
-
var TEXT_NODE_ID = "t";
|
|
10133
|
-
var HYDRATE_ID = "s-id";
|
|
10134
|
-
var HYDRATED_STYLE_ID = "sty-id";
|
|
10135
|
-
var STENCIL_DOC_DATA = "_stencilDocData";
|
|
10136
|
-
var XLINK_NS = "http://www.w3.org/1999/xlink";
|
|
10137
|
-
|
|
10138
|
-
// src/mock-doc/attribute.ts
|
|
10139
|
-
var attrHandler = {
|
|
10140
|
-
get(obj, prop) {
|
|
10141
|
-
if (prop in obj) {
|
|
10142
|
-
return obj[prop];
|
|
10143
|
-
}
|
|
10144
|
-
if (typeof prop !== "symbol" && !isNaN(prop)) {
|
|
10145
|
-
return obj.__items[prop];
|
|
10146
|
-
}
|
|
10147
|
-
return void 0;
|
|
10148
|
-
}
|
|
10313
|
+
var Build = {
|
|
10314
|
+
isDev: BUILD.isDev ? true : false,
|
|
10315
|
+
isBrowser: true,
|
|
10316
|
+
isServer: false,
|
|
10317
|
+
isTesting: BUILD.isTesting ? true : false
|
|
10149
10318
|
};
|
|
10150
|
-
|
|
10151
|
-
|
|
10152
|
-
|
|
10153
|
-
|
|
10154
|
-
|
|
10155
|
-
|
|
10156
|
-
|
|
10157
|
-
|
|
10158
|
-
|
|
10159
|
-
|
|
10160
|
-
|
|
10161
|
-
|
|
10162
|
-
|
|
10163
|
-
|
|
10164
|
-
|
|
10319
|
+
|
|
10320
|
+
// src/utils/constants.ts
|
|
10321
|
+
var PrimitiveType = /* @__PURE__ */ ((PrimitiveType2) => {
|
|
10322
|
+
PrimitiveType2["Undefined"] = "undefined";
|
|
10323
|
+
PrimitiveType2["Null"] = "null";
|
|
10324
|
+
PrimitiveType2["String"] = "string";
|
|
10325
|
+
PrimitiveType2["Number"] = "number";
|
|
10326
|
+
PrimitiveType2["SpecialNumber"] = "number";
|
|
10327
|
+
PrimitiveType2["Boolean"] = "boolean";
|
|
10328
|
+
PrimitiveType2["BigInt"] = "bigint";
|
|
10329
|
+
return PrimitiveType2;
|
|
10330
|
+
})(PrimitiveType || {});
|
|
10331
|
+
var NonPrimitiveType = /* @__PURE__ */ ((NonPrimitiveType2) => {
|
|
10332
|
+
NonPrimitiveType2["Array"] = "array";
|
|
10333
|
+
NonPrimitiveType2["Date"] = "date";
|
|
10334
|
+
NonPrimitiveType2["Map"] = "map";
|
|
10335
|
+
NonPrimitiveType2["Object"] = "object";
|
|
10336
|
+
NonPrimitiveType2["RegularExpression"] = "regexp";
|
|
10337
|
+
NonPrimitiveType2["Set"] = "set";
|
|
10338
|
+
NonPrimitiveType2["Channel"] = "channel";
|
|
10339
|
+
NonPrimitiveType2["Symbol"] = "symbol";
|
|
10340
|
+
return NonPrimitiveType2;
|
|
10341
|
+
})(NonPrimitiveType || {});
|
|
10342
|
+
var TYPE_CONSTANT = "type";
|
|
10343
|
+
var VALUE_CONSTANT = "value";
|
|
10344
|
+
var SERIALIZED_PREFIX = "serialized:";
|
|
10345
|
+
var STENCIL_DEV_MODE = BUILD.isTesting ? ["STENCIL:"] : [
|
|
10346
|
+
"%cstencil",
|
|
10347
|
+
"color: white;background:#4c47ff;font-weight: bold; font-size:10px; padding:2px 6px; border-radius: 5px"
|
|
10348
|
+
];
|
|
10349
|
+
|
|
10350
|
+
// src/runtime/runtime-constants.ts
|
|
10351
|
+
var CONTENT_REF_ID = "r";
|
|
10352
|
+
var ORG_LOCATION_ID = "o";
|
|
10353
|
+
var SLOT_NODE_ID = "s";
|
|
10354
|
+
var TEXT_NODE_ID = "t";
|
|
10355
|
+
var HYDRATE_ID = "s-id";
|
|
10356
|
+
var HYDRATED_STYLE_ID = "sty-id";
|
|
10357
|
+
var STENCIL_DOC_DATA = "_stencilDocData";
|
|
10358
|
+
var XLINK_NS = "http://www.w3.org/1999/xlink";
|
|
10359
|
+
var win = typeof window !== "undefined" ? window : {};
|
|
10360
|
+
var H = win.HTMLElement || class {
|
|
10361
|
+
};
|
|
10362
|
+
var supportsShadow = BUILD.shadowDom;
|
|
10363
|
+
var supportsConstructableStylesheets = BUILD.constructableCSS ? /* @__PURE__ */ (() => {
|
|
10364
|
+
try {
|
|
10365
|
+
new CSSStyleSheet();
|
|
10366
|
+
return typeof new CSSStyleSheet().replaceSync === "function";
|
|
10367
|
+
} catch (e) {
|
|
10165
10368
|
}
|
|
10166
|
-
|
|
10167
|
-
|
|
10168
|
-
|
|
10169
|
-
|
|
10170
|
-
|
|
10171
|
-
|
|
10172
|
-
|
|
10369
|
+
return false;
|
|
10370
|
+
})() : false;
|
|
10371
|
+
|
|
10372
|
+
// src/utils/helpers.ts
|
|
10373
|
+
var isString = (v) => typeof v === "string";
|
|
10374
|
+
|
|
10375
|
+
// src/utils/local-value.ts
|
|
10376
|
+
var LocalValue = class _LocalValue {
|
|
10377
|
+
constructor(type, value) {
|
|
10378
|
+
if (type === "undefined" /* Undefined */ || type === "null" /* Null */) {
|
|
10379
|
+
this.type = type;
|
|
10173
10380
|
} else {
|
|
10174
|
-
this.
|
|
10175
|
-
|
|
10176
|
-
}
|
|
10177
|
-
getNamedItem(attrName) {
|
|
10178
|
-
if (this.caseInsensitive) {
|
|
10179
|
-
attrName = attrName.toLowerCase();
|
|
10381
|
+
this.type = type;
|
|
10382
|
+
this.value = value;
|
|
10180
10383
|
}
|
|
10181
|
-
return this.getNamedItemNS(null, attrName);
|
|
10182
10384
|
}
|
|
10183
|
-
|
|
10184
|
-
|
|
10185
|
-
|
|
10385
|
+
/**
|
|
10386
|
+
* Creates a new LocalValue object with a string value.
|
|
10387
|
+
*
|
|
10388
|
+
* @param {string} value - The string value to be stored in the LocalValue object.
|
|
10389
|
+
* @returns {LocalValue} - The created LocalValue object.
|
|
10390
|
+
*/
|
|
10391
|
+
static createStringValue(value) {
|
|
10392
|
+
return new _LocalValue("string" /* String */, value);
|
|
10186
10393
|
}
|
|
10187
|
-
|
|
10188
|
-
|
|
10394
|
+
/**
|
|
10395
|
+
* Creates a new LocalValue object with a number value.
|
|
10396
|
+
*
|
|
10397
|
+
* @param {number} value - The number value.
|
|
10398
|
+
* @returns {LocalValue} - The created LocalValue object.
|
|
10399
|
+
*/
|
|
10400
|
+
static createNumberValue(value) {
|
|
10401
|
+
return new _LocalValue("number" /* Number */, value);
|
|
10189
10402
|
}
|
|
10190
|
-
|
|
10191
|
-
|
|
10192
|
-
|
|
10193
|
-
|
|
10194
|
-
|
|
10195
|
-
|
|
10403
|
+
/**
|
|
10404
|
+
* Creates a new LocalValue object with a special number value.
|
|
10405
|
+
*
|
|
10406
|
+
* @param {number} value - The value of the special number.
|
|
10407
|
+
* @returns {LocalValue} - The created LocalValue object.
|
|
10408
|
+
*/
|
|
10409
|
+
static createSpecialNumberValue(value) {
|
|
10410
|
+
if (Number.isNaN(value)) {
|
|
10411
|
+
return new _LocalValue("number" /* SpecialNumber */, "NaN");
|
|
10196
10412
|
}
|
|
10197
|
-
|
|
10198
|
-
|
|
10199
|
-
let i = 0;
|
|
10200
|
-
return {
|
|
10201
|
-
next: () => ({
|
|
10202
|
-
done: i === this.length,
|
|
10203
|
-
value: this.item(i++)
|
|
10204
|
-
})
|
|
10205
|
-
};
|
|
10206
|
-
}
|
|
10207
|
-
get [Symbol.toStringTag]() {
|
|
10208
|
-
return "MockAttributeMap";
|
|
10209
|
-
}
|
|
10210
|
-
};
|
|
10211
|
-
function getNamespaceURI(namespaceURI) {
|
|
10212
|
-
return namespaceURI === XLINK_NS ? null : namespaceURI;
|
|
10213
|
-
}
|
|
10214
|
-
function cloneAttributes(srcAttrs, sortByName = false) {
|
|
10215
|
-
const dstAttrs = new MockAttributeMap(srcAttrs.caseInsensitive);
|
|
10216
|
-
if (srcAttrs != null) {
|
|
10217
|
-
const attrLen = srcAttrs.length;
|
|
10218
|
-
if (sortByName && attrLen > 1) {
|
|
10219
|
-
const sortedAttrs = [];
|
|
10220
|
-
for (let i = 0; i < attrLen; i++) {
|
|
10221
|
-
const srcAttr = srcAttrs.item(i);
|
|
10222
|
-
const dstAttr = new MockAttr(srcAttr.name, srcAttr.value, srcAttr.namespaceURI);
|
|
10223
|
-
sortedAttrs.push(dstAttr);
|
|
10224
|
-
}
|
|
10225
|
-
sortedAttrs.sort(sortAttributes).forEach((attr) => {
|
|
10226
|
-
dstAttrs.setNamedItemNS(attr);
|
|
10227
|
-
});
|
|
10228
|
-
} else {
|
|
10229
|
-
for (let i = 0; i < attrLen; i++) {
|
|
10230
|
-
const srcAttr = srcAttrs.item(i);
|
|
10231
|
-
const dstAttr = new MockAttr(srcAttr.name, srcAttr.value, srcAttr.namespaceURI);
|
|
10232
|
-
dstAttrs.setNamedItemNS(dstAttr);
|
|
10233
|
-
}
|
|
10413
|
+
if (Object.is(value, -0)) {
|
|
10414
|
+
return new _LocalValue("number" /* SpecialNumber */, "-0");
|
|
10234
10415
|
}
|
|
10416
|
+
if (value === Infinity) {
|
|
10417
|
+
return new _LocalValue("number" /* SpecialNumber */, "Infinity");
|
|
10418
|
+
}
|
|
10419
|
+
if (value === -Infinity) {
|
|
10420
|
+
return new _LocalValue("number" /* SpecialNumber */, "-Infinity");
|
|
10421
|
+
}
|
|
10422
|
+
return new _LocalValue("number" /* SpecialNumber */, value);
|
|
10235
10423
|
}
|
|
10236
|
-
|
|
10237
|
-
|
|
10238
|
-
|
|
10239
|
-
|
|
10240
|
-
|
|
10241
|
-
|
|
10242
|
-
}
|
|
10243
|
-
var MockAttr = class {
|
|
10244
|
-
constructor(attrName, attrValue, namespaceURI = null) {
|
|
10245
|
-
this._name = attrName;
|
|
10246
|
-
this._value = String(attrValue);
|
|
10247
|
-
this._namespaceURI = namespaceURI;
|
|
10248
|
-
}
|
|
10249
|
-
get name() {
|
|
10250
|
-
return this._name;
|
|
10251
|
-
}
|
|
10252
|
-
set name(value) {
|
|
10253
|
-
this._name = value;
|
|
10254
|
-
}
|
|
10255
|
-
get value() {
|
|
10256
|
-
return this._value;
|
|
10424
|
+
/**
|
|
10425
|
+
* Creates a new LocalValue object with an undefined value.
|
|
10426
|
+
* @returns {LocalValue} - The created LocalValue object.
|
|
10427
|
+
*/
|
|
10428
|
+
static createUndefinedValue() {
|
|
10429
|
+
return new _LocalValue("undefined" /* Undefined */);
|
|
10257
10430
|
}
|
|
10258
|
-
|
|
10259
|
-
|
|
10431
|
+
/**
|
|
10432
|
+
* Creates a new LocalValue object with a null value.
|
|
10433
|
+
* @returns {LocalValue} - The created LocalValue object.
|
|
10434
|
+
*/
|
|
10435
|
+
static createNullValue() {
|
|
10436
|
+
return new _LocalValue("null" /* Null */);
|
|
10260
10437
|
}
|
|
10261
|
-
|
|
10262
|
-
|
|
10438
|
+
/**
|
|
10439
|
+
* Creates a new LocalValue object with a boolean value.
|
|
10440
|
+
*
|
|
10441
|
+
* @param {boolean} value - The boolean value.
|
|
10442
|
+
* @returns {LocalValue} - The created LocalValue object.
|
|
10443
|
+
*/
|
|
10444
|
+
static createBooleanValue(value) {
|
|
10445
|
+
return new _LocalValue("boolean" /* Boolean */, value);
|
|
10263
10446
|
}
|
|
10264
|
-
|
|
10265
|
-
|
|
10447
|
+
/**
|
|
10448
|
+
* Creates a new LocalValue object with a BigInt value.
|
|
10449
|
+
*
|
|
10450
|
+
* @param {BigInt} value - The BigInt value.
|
|
10451
|
+
* @returns {LocalValue} - The created LocalValue object.
|
|
10452
|
+
*/
|
|
10453
|
+
static createBigIntValue(value) {
|
|
10454
|
+
return new _LocalValue("bigint" /* BigInt */, value.toString());
|
|
10266
10455
|
}
|
|
10267
|
-
|
|
10268
|
-
|
|
10456
|
+
/**
|
|
10457
|
+
* Creates a new LocalValue object with an array.
|
|
10458
|
+
*
|
|
10459
|
+
* @param {Array} value - The array.
|
|
10460
|
+
* @returns {LocalValue} - The created LocalValue object.
|
|
10461
|
+
*/
|
|
10462
|
+
static createArrayValue(value) {
|
|
10463
|
+
return new _LocalValue("array" /* Array */, value);
|
|
10269
10464
|
}
|
|
10270
|
-
|
|
10271
|
-
|
|
10465
|
+
/**
|
|
10466
|
+
* Creates a new LocalValue object with date value.
|
|
10467
|
+
*
|
|
10468
|
+
* @param {string} value - The date.
|
|
10469
|
+
* @returns {LocalValue} - The created LocalValue object.
|
|
10470
|
+
*/
|
|
10471
|
+
static createDateValue(value) {
|
|
10472
|
+
return new _LocalValue("date" /* Date */, value);
|
|
10272
10473
|
}
|
|
10273
|
-
|
|
10274
|
-
|
|
10474
|
+
/**
|
|
10475
|
+
* Creates a new LocalValue object of map value.
|
|
10476
|
+
* @param {Map} map - The map.
|
|
10477
|
+
* @returns {LocalValue} - The created LocalValue object.
|
|
10478
|
+
*/
|
|
10479
|
+
static createMapValue(map2) {
|
|
10480
|
+
const value = [];
|
|
10481
|
+
Array.from(map2.entries()).forEach(([key, val]) => {
|
|
10482
|
+
value.push([_LocalValue.getArgument(key), _LocalValue.getArgument(val)]);
|
|
10483
|
+
});
|
|
10484
|
+
return new _LocalValue("map" /* Map */, value);
|
|
10275
10485
|
}
|
|
10276
|
-
|
|
10277
|
-
|
|
10278
|
-
|
|
10279
|
-
|
|
10280
|
-
|
|
10281
|
-
|
|
10282
|
-
|
|
10283
|
-
|
|
10284
|
-
|
|
10285
|
-
|
|
10286
|
-
|
|
10287
|
-
|
|
10288
|
-
if (value == null || value === "") {
|
|
10289
|
-
this._styles.delete(prop);
|
|
10290
|
-
} else {
|
|
10291
|
-
this._styles.set(prop, String(value));
|
|
10292
|
-
}
|
|
10486
|
+
/**
|
|
10487
|
+
* Creates a new LocalValue object from the passed object.
|
|
10488
|
+
*
|
|
10489
|
+
* @param object the object to create a LocalValue from
|
|
10490
|
+
* @returns {LocalValue} - The created LocalValue object.
|
|
10491
|
+
*/
|
|
10492
|
+
static createObjectValue(object) {
|
|
10493
|
+
const value = [];
|
|
10494
|
+
Object.entries(object).forEach(([key, val]) => {
|
|
10495
|
+
value.push([key, _LocalValue.getArgument(val)]);
|
|
10496
|
+
});
|
|
10497
|
+
return new _LocalValue("object" /* Object */, value);
|
|
10293
10498
|
}
|
|
10294
|
-
|
|
10295
|
-
|
|
10296
|
-
|
|
10499
|
+
/**
|
|
10500
|
+
* Creates a new LocalValue object of regular expression value.
|
|
10501
|
+
*
|
|
10502
|
+
* @param {string} value - The value of the regular expression.
|
|
10503
|
+
* @returns {LocalValue} - The created LocalValue object.
|
|
10504
|
+
*/
|
|
10505
|
+
static createRegularExpressionValue(value) {
|
|
10506
|
+
return new _LocalValue("regexp" /* RegularExpression */, value);
|
|
10297
10507
|
}
|
|
10298
|
-
|
|
10299
|
-
|
|
10300
|
-
|
|
10508
|
+
/**
|
|
10509
|
+
* Creates a new LocalValue object with the specified value.
|
|
10510
|
+
* @param {Set} value - The value to be set.
|
|
10511
|
+
* @returns {LocalValue} - The created LocalValue object.
|
|
10512
|
+
*/
|
|
10513
|
+
static createSetValue(value) {
|
|
10514
|
+
return new _LocalValue("set" /* Set */, value);
|
|
10301
10515
|
}
|
|
10302
|
-
|
|
10303
|
-
|
|
10516
|
+
/**
|
|
10517
|
+
* Creates a new LocalValue object with the given channel value
|
|
10518
|
+
*
|
|
10519
|
+
* @param {ChannelValue} value - The channel value.
|
|
10520
|
+
* @returns {LocalValue} - The created LocalValue object.
|
|
10521
|
+
*/
|
|
10522
|
+
static createChannelValue(value) {
|
|
10523
|
+
return new _LocalValue("channel" /* Channel */, value);
|
|
10304
10524
|
}
|
|
10305
|
-
|
|
10306
|
-
|
|
10307
|
-
|
|
10308
|
-
|
|
10309
|
-
|
|
10310
|
-
|
|
10525
|
+
/**
|
|
10526
|
+
* Creates a new LocalValue object with a Symbol value.
|
|
10527
|
+
*
|
|
10528
|
+
* @param {Symbol} symbol - The Symbol value
|
|
10529
|
+
* @returns {LocalValue} - The created LocalValue object
|
|
10530
|
+
*/
|
|
10531
|
+
static createSymbolValue(symbol) {
|
|
10532
|
+
const description = symbol.description || "Symbol()";
|
|
10533
|
+
return new _LocalValue("symbol" /* Symbol */, description);
|
|
10311
10534
|
}
|
|
10312
|
-
|
|
10313
|
-
|
|
10314
|
-
|
|
10315
|
-
|
|
10316
|
-
|
|
10317
|
-
|
|
10318
|
-
|
|
10319
|
-
|
|
10320
|
-
const splt = rule.split(":");
|
|
10321
|
-
if (splt.length > 1) {
|
|
10322
|
-
const prop = splt[0].trim();
|
|
10323
|
-
const value = splt.slice(1).join(":").trim();
|
|
10324
|
-
if (prop !== "" && value !== "") {
|
|
10325
|
-
this._styles.set(jsCaseToCssCase(prop), value);
|
|
10326
|
-
}
|
|
10535
|
+
static getArgument(argument) {
|
|
10536
|
+
const type = typeof argument;
|
|
10537
|
+
switch (type) {
|
|
10538
|
+
case "string" /* String */:
|
|
10539
|
+
return _LocalValue.createStringValue(argument);
|
|
10540
|
+
case "number" /* Number */:
|
|
10541
|
+
if (Number.isNaN(argument) || Object.is(argument, -0) || !Number.isFinite(argument)) {
|
|
10542
|
+
return _LocalValue.createSpecialNumberValue(argument);
|
|
10327
10543
|
}
|
|
10328
|
-
|
|
10329
|
-
|
|
10330
|
-
|
|
10331
|
-
|
|
10332
|
-
|
|
10333
|
-
|
|
10334
|
-
|
|
10335
|
-
|
|
10336
|
-
|
|
10337
|
-
|
|
10338
|
-
|
|
10339
|
-
|
|
10340
|
-
|
|
10341
|
-
|
|
10342
|
-
|
|
10343
|
-
|
|
10344
|
-
|
|
10345
|
-
|
|
10346
|
-
|
|
10347
|
-
|
|
10544
|
+
return _LocalValue.createNumberValue(argument);
|
|
10545
|
+
case "boolean" /* Boolean */:
|
|
10546
|
+
return _LocalValue.createBooleanValue(argument);
|
|
10547
|
+
case "bigint" /* BigInt */:
|
|
10548
|
+
return _LocalValue.createBigIntValue(argument);
|
|
10549
|
+
case "undefined" /* Undefined */:
|
|
10550
|
+
return _LocalValue.createUndefinedValue();
|
|
10551
|
+
case "symbol" /* Symbol */:
|
|
10552
|
+
return _LocalValue.createSymbolValue(argument);
|
|
10553
|
+
case "object" /* Object */:
|
|
10554
|
+
if (argument === null) {
|
|
10555
|
+
return _LocalValue.createNullValue();
|
|
10556
|
+
}
|
|
10557
|
+
if (argument instanceof Date) {
|
|
10558
|
+
return _LocalValue.createDateValue(argument);
|
|
10559
|
+
}
|
|
10560
|
+
if (argument instanceof Map) {
|
|
10561
|
+
const map2 = [];
|
|
10562
|
+
argument.forEach((value, key) => {
|
|
10563
|
+
const objectKey = typeof key === "string" ? key : _LocalValue.getArgument(key);
|
|
10564
|
+
const objectValue = _LocalValue.getArgument(value);
|
|
10565
|
+
map2.push([objectKey, objectValue]);
|
|
10566
|
+
});
|
|
10567
|
+
return _LocalValue.createMapValue(argument);
|
|
10568
|
+
}
|
|
10569
|
+
if (argument instanceof Set) {
|
|
10570
|
+
const set = [];
|
|
10571
|
+
argument.forEach((value) => {
|
|
10572
|
+
set.push(_LocalValue.getArgument(value));
|
|
10573
|
+
});
|
|
10574
|
+
return _LocalValue.createSetValue(set);
|
|
10575
|
+
}
|
|
10576
|
+
if (argument instanceof Array) {
|
|
10577
|
+
const arr = [];
|
|
10578
|
+
argument.forEach((value) => {
|
|
10579
|
+
arr.push(_LocalValue.getArgument(value));
|
|
10580
|
+
});
|
|
10581
|
+
return _LocalValue.createArrayValue(arr);
|
|
10582
|
+
}
|
|
10583
|
+
if (argument instanceof RegExp) {
|
|
10584
|
+
return _LocalValue.createRegularExpressionValue({
|
|
10585
|
+
pattern: argument.source,
|
|
10586
|
+
flags: argument.flags
|
|
10587
|
+
});
|
|
10588
|
+
}
|
|
10589
|
+
return _LocalValue.createObjectValue(argument);
|
|
10348
10590
|
}
|
|
10349
|
-
|
|
10350
|
-
}
|
|
10351
|
-
};
|
|
10352
|
-
function cssCaseToJsCase(str) {
|
|
10353
|
-
if (str.length > 1 && str.includes("-") === true) {
|
|
10354
|
-
str = str.toLowerCase().split("-").map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1)).join("");
|
|
10355
|
-
str = str.slice(0, 1).toLowerCase() + str.slice(1);
|
|
10591
|
+
throw new Error(`Unsupported type: ${type}`);
|
|
10356
10592
|
}
|
|
10357
|
-
|
|
10358
|
-
|
|
10359
|
-
|
|
10360
|
-
|
|
10361
|
-
|
|
10593
|
+
asMap() {
|
|
10594
|
+
return {
|
|
10595
|
+
[TYPE_CONSTANT]: this.type,
|
|
10596
|
+
...!(this.type === "null" /* Null */ || this.type === "undefined" /* Undefined */) ? { [VALUE_CONSTANT]: this.value } : {}
|
|
10597
|
+
};
|
|
10362
10598
|
}
|
|
10363
|
-
|
|
10364
|
-
}
|
|
10599
|
+
};
|
|
10365
10600
|
|
|
10366
|
-
// src/
|
|
10367
|
-
var
|
|
10368
|
-
|
|
10369
|
-
|
|
10370
|
-
|
|
10371
|
-
|
|
10372
|
-
|
|
10373
|
-
|
|
10374
|
-
|
|
10375
|
-
|
|
10376
|
-
|
|
10377
|
-
|
|
10378
|
-
|
|
10379
|
-
|
|
10380
|
-
|
|
10381
|
-
|
|
10382
|
-
|
|
10383
|
-
|
|
10384
|
-
|
|
10385
|
-
whenDefinedResolveFn();
|
|
10386
|
-
});
|
|
10387
|
-
whenDefinedResolveFns.length = 0;
|
|
10388
|
-
this.__whenDefined.delete(tagName);
|
|
10601
|
+
// src/utils/message-utils.ts
|
|
10602
|
+
var catchError = (diagnostics, err2, msg) => {
|
|
10603
|
+
const diagnostic = {
|
|
10604
|
+
level: "error",
|
|
10605
|
+
type: "build",
|
|
10606
|
+
header: "Build Error",
|
|
10607
|
+
messageText: "build error",
|
|
10608
|
+
lines: []
|
|
10609
|
+
};
|
|
10610
|
+
if (isString(msg)) {
|
|
10611
|
+
diagnostic.messageText = msg.length ? msg : "UNKNOWN ERROR";
|
|
10612
|
+
} else if (err2 != null) {
|
|
10613
|
+
if (err2.stack != null) {
|
|
10614
|
+
diagnostic.messageText = err2.stack.toString();
|
|
10615
|
+
} else {
|
|
10616
|
+
if (err2.message != null) {
|
|
10617
|
+
diagnostic.messageText = err2.message.length ? err2.message : "UNKNOWN ERROR";
|
|
10618
|
+
} else {
|
|
10619
|
+
diagnostic.messageText = err2.toString();
|
|
10389
10620
|
}
|
|
10390
10621
|
}
|
|
10391
|
-
const doc = this.win.document;
|
|
10392
|
-
if (doc != null) {
|
|
10393
|
-
const hosts = doc.querySelectorAll(tagName);
|
|
10394
|
-
hosts.forEach((host) => {
|
|
10395
|
-
if (upgradedElements.has(host) === false) {
|
|
10396
|
-
tempDisableCallbacks.add(doc);
|
|
10397
|
-
const upgradedCmp = createCustomElement(this, doc, tagName);
|
|
10398
|
-
for (let i = 0; i < host.childNodes.length; i++) {
|
|
10399
|
-
const childNode = host.childNodes[i];
|
|
10400
|
-
childNode.remove();
|
|
10401
|
-
upgradedCmp.appendChild(childNode);
|
|
10402
|
-
}
|
|
10403
|
-
tempDisableCallbacks.delete(doc);
|
|
10404
|
-
if (proxyElements.has(host)) {
|
|
10405
|
-
proxyElements.set(host, upgradedCmp);
|
|
10406
|
-
}
|
|
10407
|
-
}
|
|
10408
|
-
fireConnectedCallback(host);
|
|
10409
|
-
});
|
|
10410
|
-
}
|
|
10411
10622
|
}
|
|
10412
|
-
|
|
10413
|
-
|
|
10414
|
-
const def = this.__registry.get(tagName.toLowerCase());
|
|
10415
|
-
if (def != null) {
|
|
10416
|
-
return def.cstr;
|
|
10417
|
-
}
|
|
10418
|
-
}
|
|
10419
|
-
return void 0;
|
|
10623
|
+
if (diagnostics != null && !shouldIgnoreError(diagnostic.messageText)) {
|
|
10624
|
+
diagnostics.push(diagnostic);
|
|
10420
10625
|
}
|
|
10421
|
-
|
|
10422
|
-
|
|
10423
|
-
|
|
10424
|
-
|
|
10425
|
-
|
|
10626
|
+
return diagnostic;
|
|
10627
|
+
};
|
|
10628
|
+
var hasError = (diagnostics) => {
|
|
10629
|
+
if (diagnostics == null || diagnostics.length === 0) {
|
|
10630
|
+
return false;
|
|
10631
|
+
}
|
|
10632
|
+
return diagnostics.some((d) => d.level === "error" && d.type !== "runtime");
|
|
10633
|
+
};
|
|
10634
|
+
var shouldIgnoreError = (msg) => {
|
|
10635
|
+
return msg === TASK_CANCELED_MSG;
|
|
10636
|
+
};
|
|
10637
|
+
var TASK_CANCELED_MSG = `task canceled`;
|
|
10638
|
+
|
|
10639
|
+
// src/utils/regular-expression.ts
|
|
10640
|
+
var escapeRegExpSpecialCharacters = (text) => {
|
|
10641
|
+
return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
10642
|
+
};
|
|
10643
|
+
|
|
10644
|
+
// src/utils/remote-value.ts
|
|
10645
|
+
var RemoteValue = class _RemoteValue {
|
|
10646
|
+
/**
|
|
10647
|
+
* Deserializes a LocalValue serialized object back to its original JavaScript representation
|
|
10648
|
+
*
|
|
10649
|
+
* @param serialized The serialized LocalValue object
|
|
10650
|
+
* @returns The original JavaScript value/object
|
|
10651
|
+
*/
|
|
10652
|
+
static fromLocalValue(serialized) {
|
|
10653
|
+
const type = serialized[TYPE_CONSTANT];
|
|
10654
|
+
const value = VALUE_CONSTANT in serialized ? serialized[VALUE_CONSTANT] : void 0;
|
|
10655
|
+
switch (type) {
|
|
10656
|
+
case "string" /* String */:
|
|
10657
|
+
return value;
|
|
10658
|
+
case "boolean" /* Boolean */:
|
|
10659
|
+
return value;
|
|
10660
|
+
case "bigint" /* BigInt */:
|
|
10661
|
+
return BigInt(value);
|
|
10662
|
+
case "undefined" /* Undefined */:
|
|
10663
|
+
return void 0;
|
|
10664
|
+
case "null" /* Null */:
|
|
10665
|
+
return null;
|
|
10666
|
+
case "number" /* Number */:
|
|
10667
|
+
if (value === "NaN") return NaN;
|
|
10668
|
+
if (value === "-0") return -0;
|
|
10669
|
+
if (value === "Infinity") return Infinity;
|
|
10670
|
+
if (value === "-Infinity") return -Infinity;
|
|
10671
|
+
return value;
|
|
10672
|
+
case "array" /* Array */:
|
|
10673
|
+
return value.map((item) => _RemoteValue.fromLocalValue(item));
|
|
10674
|
+
case "date" /* Date */:
|
|
10675
|
+
return new Date(value);
|
|
10676
|
+
case "map" /* Map */:
|
|
10677
|
+
const map2 = /* @__PURE__ */ new Map();
|
|
10678
|
+
for (const [key, val] of value) {
|
|
10679
|
+
const deserializedKey = typeof key === "object" && key !== null ? _RemoteValue.fromLocalValue(key) : key;
|
|
10680
|
+
const deserializedValue = _RemoteValue.fromLocalValue(val);
|
|
10681
|
+
map2.set(deserializedKey, deserializedValue);
|
|
10682
|
+
}
|
|
10683
|
+
return map2;
|
|
10684
|
+
case "object" /* Object */:
|
|
10685
|
+
const obj = {};
|
|
10686
|
+
for (const [key, val] of value) {
|
|
10687
|
+
obj[key] = _RemoteValue.fromLocalValue(val);
|
|
10688
|
+
}
|
|
10689
|
+
return obj;
|
|
10690
|
+
case "regexp" /* RegularExpression */:
|
|
10691
|
+
const { pattern, flags } = value;
|
|
10692
|
+
return new RegExp(pattern, flags);
|
|
10693
|
+
case "set" /* Set */:
|
|
10694
|
+
const set = /* @__PURE__ */ new Set();
|
|
10695
|
+
for (const item of value) {
|
|
10696
|
+
set.add(_RemoteValue.fromLocalValue(item));
|
|
10697
|
+
}
|
|
10698
|
+
return set;
|
|
10699
|
+
case "symbol" /* Symbol */:
|
|
10700
|
+
return Symbol(value);
|
|
10701
|
+
default:
|
|
10702
|
+
throw new Error(`Unsupported type: ${type}`);
|
|
10426
10703
|
}
|
|
10427
|
-
return void 0;
|
|
10428
10704
|
}
|
|
10429
|
-
|
|
10705
|
+
/**
|
|
10706
|
+
* Utility method to deserialize multiple LocalValues at once
|
|
10707
|
+
*
|
|
10708
|
+
* @param serializedValues Array of serialized LocalValue objects
|
|
10709
|
+
* @returns Array of deserialized JavaScript values
|
|
10710
|
+
*/
|
|
10711
|
+
static fromLocalValueArray(serializedValues) {
|
|
10712
|
+
return serializedValues.map((value) => _RemoteValue.fromLocalValue(value));
|
|
10430
10713
|
}
|
|
10431
|
-
|
|
10432
|
-
|
|
10433
|
-
|
|
10714
|
+
/**
|
|
10715
|
+
* Verifies if the given object matches the structure of a serialized LocalValue
|
|
10716
|
+
*
|
|
10717
|
+
* @param obj Object to verify
|
|
10718
|
+
* @returns boolean indicating if the object has LocalValue structure
|
|
10719
|
+
*/
|
|
10720
|
+
static isLocalValueObject(obj) {
|
|
10721
|
+
if (typeof obj !== "object" || obj === null) {
|
|
10722
|
+
return false;
|
|
10434
10723
|
}
|
|
10435
|
-
if (
|
|
10436
|
-
|
|
10724
|
+
if (!obj.hasOwnProperty(TYPE_CONSTANT)) {
|
|
10725
|
+
return false;
|
|
10437
10726
|
}
|
|
10438
|
-
|
|
10439
|
-
|
|
10440
|
-
|
|
10441
|
-
|
|
10442
|
-
return Promise.resolve(this.__registry.get(tagName).cstr);
|
|
10727
|
+
const type = obj[TYPE_CONSTANT];
|
|
10728
|
+
const hasTypeProperty = Object.values({ ...PrimitiveType, ...NonPrimitiveType }).includes(type);
|
|
10729
|
+
if (!hasTypeProperty) {
|
|
10730
|
+
return false;
|
|
10443
10731
|
}
|
|
10444
|
-
|
|
10445
|
-
|
|
10446
|
-
|
|
10447
|
-
|
|
10448
|
-
let whenDefinedResolveFns = this.__whenDefined.get(tagName);
|
|
10449
|
-
if (whenDefinedResolveFns == null) {
|
|
10450
|
-
whenDefinedResolveFns = [];
|
|
10451
|
-
this.__whenDefined.set(tagName, whenDefinedResolveFns);
|
|
10452
|
-
}
|
|
10453
|
-
whenDefinedResolveFns.push(resolve);
|
|
10454
|
-
});
|
|
10732
|
+
if (type !== "null" /* Null */ && type !== "undefined" /* Undefined */) {
|
|
10733
|
+
return obj.hasOwnProperty(VALUE_CONSTANT);
|
|
10734
|
+
}
|
|
10735
|
+
return true;
|
|
10455
10736
|
}
|
|
10456
10737
|
};
|
|
10457
|
-
|
|
10458
|
-
|
|
10459
|
-
|
|
10460
|
-
|
|
10461
|
-
|
|
10462
|
-
|
|
10463
|
-
|
|
10464
|
-
|
|
10465
|
-
|
|
10466
|
-
|
|
10467
|
-
|
|
10468
|
-
|
|
10469
|
-
|
|
10470
|
-
|
|
10471
|
-
|
|
10472
|
-
|
|
10473
|
-
|
|
10474
|
-
|
|
10475
|
-
|
|
10476
|
-
|
|
10477
|
-
|
|
10478
|
-
|
|
10479
|
-
|
|
10480
|
-
|
|
10481
|
-
|
|
10482
|
-
|
|
10483
|
-
|
|
10484
|
-
has(obj, prop) {
|
|
10485
|
-
const elm2 = proxyElements.get(host);
|
|
10486
|
-
if (prop in elm2) {
|
|
10487
|
-
return true;
|
|
10488
|
-
}
|
|
10489
|
-
if (prop in obj) {
|
|
10490
|
-
return true;
|
|
10491
|
-
}
|
|
10492
|
-
return false;
|
|
10493
|
-
}
|
|
10738
|
+
|
|
10739
|
+
// src/utils/result.ts
|
|
10740
|
+
var result_exports = {};
|
|
10741
|
+
__export(result_exports, {
|
|
10742
|
+
err: () => err,
|
|
10743
|
+
map: () => map,
|
|
10744
|
+
ok: () => ok,
|
|
10745
|
+
unwrap: () => unwrap,
|
|
10746
|
+
unwrapErr: () => unwrapErr
|
|
10747
|
+
});
|
|
10748
|
+
var ok = (value) => ({
|
|
10749
|
+
isOk: true,
|
|
10750
|
+
isErr: false,
|
|
10751
|
+
value
|
|
10752
|
+
});
|
|
10753
|
+
var err = (value) => ({
|
|
10754
|
+
isOk: false,
|
|
10755
|
+
isErr: true,
|
|
10756
|
+
value
|
|
10757
|
+
});
|
|
10758
|
+
function map(result, fn) {
|
|
10759
|
+
if (result.isOk) {
|
|
10760
|
+
const val = fn(result.value);
|
|
10761
|
+
if (val instanceof Promise) {
|
|
10762
|
+
return val.then((newVal) => ok(newVal));
|
|
10763
|
+
} else {
|
|
10764
|
+
return ok(val);
|
|
10494
10765
|
}
|
|
10495
|
-
|
|
10496
|
-
|
|
10497
|
-
|
|
10498
|
-
|
|
10766
|
+
}
|
|
10767
|
+
if (result.isErr) {
|
|
10768
|
+
const value = result.value;
|
|
10769
|
+
return err(value);
|
|
10770
|
+
}
|
|
10771
|
+
throw "should never get here";
|
|
10499
10772
|
}
|
|
10500
|
-
var
|
|
10501
|
-
|
|
10502
|
-
|
|
10503
|
-
node.ownerDocument = ownerDocument;
|
|
10504
|
-
if (node.nodeType === 1 /* ELEMENT_NODE */) {
|
|
10505
|
-
if (ownerDocument != null && node.nodeName.includes("-")) {
|
|
10506
|
-
const win2 = ownerDocument.defaultView;
|
|
10507
|
-
if (win2 != null && typeof node.connectedCallback === "function" && node.isConnected) {
|
|
10508
|
-
fireConnectedCallback(node);
|
|
10509
|
-
}
|
|
10510
|
-
const shadowRoot = node.shadowRoot;
|
|
10511
|
-
if (shadowRoot != null) {
|
|
10512
|
-
shadowRoot.childNodes.forEach((childNode) => {
|
|
10513
|
-
connectNode(ownerDocument, childNode);
|
|
10514
|
-
});
|
|
10515
|
-
}
|
|
10516
|
-
}
|
|
10517
|
-
node.childNodes.forEach((childNode) => {
|
|
10518
|
-
connectNode(ownerDocument, childNode);
|
|
10519
|
-
});
|
|
10773
|
+
var unwrap = (result) => {
|
|
10774
|
+
if (result.isOk) {
|
|
10775
|
+
return result.value;
|
|
10520
10776
|
} else {
|
|
10521
|
-
|
|
10522
|
-
childNode.ownerDocument = ownerDocument;
|
|
10523
|
-
});
|
|
10777
|
+
throw result.value;
|
|
10524
10778
|
}
|
|
10525
|
-
}
|
|
10526
|
-
|
|
10527
|
-
if (
|
|
10528
|
-
|
|
10529
|
-
|
|
10530
|
-
|
|
10531
|
-
|
|
10532
|
-
|
|
10533
|
-
|
|
10534
|
-
|
|
10779
|
+
};
|
|
10780
|
+
var unwrapErr = (result) => {
|
|
10781
|
+
if (result.isErr) {
|
|
10782
|
+
return result.value;
|
|
10783
|
+
} else {
|
|
10784
|
+
throw result.value;
|
|
10785
|
+
}
|
|
10786
|
+
};
|
|
10787
|
+
|
|
10788
|
+
// src/utils/serialize.ts
|
|
10789
|
+
function serializeProperty(value) {
|
|
10790
|
+
if (["string", "boolean", "undefined"].includes(typeof value) || typeof value === "number" && value !== Infinity && value !== -Infinity && !isNaN(value)) {
|
|
10791
|
+
return value;
|
|
10535
10792
|
}
|
|
10793
|
+
const arg = LocalValue.getArgument(value);
|
|
10794
|
+
return SERIALIZED_PREFIX + btoa(JSON.stringify(arg));
|
|
10536
10795
|
}
|
|
10537
|
-
function
|
|
10538
|
-
if (
|
|
10539
|
-
|
|
10540
|
-
if (tempDisableCallbacks.has(node.ownerDocument) === false) {
|
|
10541
|
-
try {
|
|
10542
|
-
node.disconnectedCallback();
|
|
10543
|
-
} catch (e) {
|
|
10544
|
-
console.error(e);
|
|
10545
|
-
}
|
|
10546
|
-
}
|
|
10547
|
-
}
|
|
10548
|
-
node.childNodes.forEach(disconnectNode);
|
|
10549
|
-
}
|
|
10550
|
-
}
|
|
10551
|
-
function attributeChanged(node, attrName, oldValue, newValue) {
|
|
10552
|
-
attrName = attrName.toLowerCase();
|
|
10553
|
-
const observedAttributes = node.constructor.observedAttributes;
|
|
10554
|
-
if (Array.isArray(observedAttributes) === true && observedAttributes.some((obs) => obs.toLowerCase() === attrName) === true) {
|
|
10555
|
-
try {
|
|
10556
|
-
node.attributeChangedCallback(attrName, oldValue, newValue);
|
|
10557
|
-
} catch (e) {
|
|
10558
|
-
console.error(e);
|
|
10559
|
-
}
|
|
10796
|
+
function deserializeProperty(value) {
|
|
10797
|
+
if (typeof value !== "string" || !value.startsWith(SERIALIZED_PREFIX)) {
|
|
10798
|
+
return value;
|
|
10560
10799
|
}
|
|
10800
|
+
return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
|
|
10561
10801
|
}
|
|
10562
|
-
function checkAttributeChanged(node) {
|
|
10563
|
-
return node.nodeName.includes("-") === true && typeof node.attributeChangedCallback === "function";
|
|
10564
|
-
}
|
|
10565
|
-
var tempDisableCallbacks = /* @__PURE__ */ new Set();
|
|
10566
10802
|
|
|
10567
|
-
// src/
|
|
10568
|
-
|
|
10569
|
-
|
|
10570
|
-
|
|
10571
|
-
|
|
10572
|
-
|
|
10573
|
-
|
|
10574
|
-
|
|
10575
|
-
|
|
10576
|
-
|
|
10577
|
-
|
|
10578
|
-
|
|
10579
|
-
|
|
10580
|
-
|
|
10581
|
-
|
|
10582
|
-
|
|
10583
|
-
|
|
10584
|
-
|
|
10585
|
-
|
|
10586
|
-
|
|
10587
|
-
|
|
10588
|
-
|
|
10589
|
-
|
|
10590
|
-
|
|
10591
|
-
|
|
10803
|
+
// src/utils/util.ts
|
|
10804
|
+
var lowerPathParam = (fn) => (p) => fn(p.toLowerCase());
|
|
10805
|
+
var isDtsFile = lowerPathParam((p) => p.endsWith(".d.ts") || p.endsWith(".d.mts") || p.endsWith(".d.cts"));
|
|
10806
|
+
var isTsFile = lowerPathParam(
|
|
10807
|
+
(p) => !isDtsFile(p) && (p.endsWith(".ts") || p.endsWith(".mts") || p.endsWith(".cts"))
|
|
10808
|
+
);
|
|
10809
|
+
var isTsxFile = lowerPathParam(
|
|
10810
|
+
(p) => p.endsWith(".tsx") || p.endsWith(".mtsx") || p.endsWith(".ctsx")
|
|
10811
|
+
);
|
|
10812
|
+
var isJsxFile = lowerPathParam(
|
|
10813
|
+
(p) => p.endsWith(".jsx") || p.endsWith(".mjsx") || p.endsWith(".cjsx")
|
|
10814
|
+
);
|
|
10815
|
+
var isJsFile = lowerPathParam((p) => p.endsWith(".js") || p.endsWith(".mjs") || p.endsWith(".cjs"));
|
|
10816
|
+
|
|
10817
|
+
// src/utils/shadow-css.ts
|
|
10818
|
+
/**
|
|
10819
|
+
* @license
|
|
10820
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
10821
|
+
*
|
|
10822
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
10823
|
+
* found in the LICENSE file at https://angular.io/license
|
|
10824
|
+
*
|
|
10825
|
+
* This file is a port of shadowCSS from `webcomponents.js` to TypeScript.
|
|
10826
|
+
* https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js
|
|
10827
|
+
* https://github.com/angular/angular/blob/master/packages/compiler/src/shadow_css.ts
|
|
10828
|
+
*/
|
|
10829
|
+
var _polyfillHost = "-shadowcsshost";
|
|
10830
|
+
var _polyfillSlotted = "-shadowcssslotted";
|
|
10831
|
+
var _polyfillHostContext = "-shadowcsscontext";
|
|
10832
|
+
var _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)";
|
|
10833
|
+
var _cssColonHostRe = new RegExp("(" + _polyfillHost + _parenSuffix, "gim");
|
|
10834
|
+
var _cssColonHostContextRe = new RegExp("(" + _polyfillHostContext + _parenSuffix, "gim");
|
|
10835
|
+
var _cssColonSlottedRe = new RegExp("(" + _polyfillSlotted + _parenSuffix, "gim");
|
|
10836
|
+
var _polyfillHostNoCombinator = _polyfillHost + "-no-combinator";
|
|
10837
|
+
var createSupportsRuleRe = (selector) => {
|
|
10838
|
+
const safeSelector = escapeRegExpSpecialCharacters(selector);
|
|
10839
|
+
return new RegExp(
|
|
10840
|
+
// First capture group: match any context before the selector that's not inside @supports selector()
|
|
10841
|
+
// Using negative lookahead to avoid matching inside @supports selector(...) condition
|
|
10842
|
+
`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${safeSelector}))(${safeSelector}\\b)`,
|
|
10843
|
+
"g"
|
|
10844
|
+
);
|
|
10845
|
+
};
|
|
10846
|
+
var _colonSlottedRe = createSupportsRuleRe("::slotted");
|
|
10847
|
+
var _colonHostRe = createSupportsRuleRe(":host");
|
|
10848
|
+
var _colonHostContextRe = createSupportsRuleRe(":host-context");
|
|
10849
|
+
|
|
10850
|
+
// src/runtime/mode.ts
|
|
10851
|
+
var setMode = (handler) => modeResolutionChain.push(handler);
|
|
10852
|
+
var CAPTURE_EVENT_SUFFIX = "Capture";
|
|
10853
|
+
var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
|
|
10854
|
+
var baseClass = BUILD.lazyLoad ? class {
|
|
10855
|
+
} : globalThis.HTMLElement || class {
|
|
10856
|
+
};
|
|
10857
|
+
|
|
10858
|
+
// src/runtime/tag-transform.ts
|
|
10859
|
+
var tagTransformer = void 0;
|
|
10860
|
+
function transformTag(tag) {
|
|
10861
|
+
if (!tagTransformer) return tag;
|
|
10862
|
+
return tagTransformer(tag);
|
|
10592
10863
|
}
|
|
10593
|
-
function
|
|
10594
|
-
|
|
10595
|
-
|
|
10596
|
-
|
|
10597
|
-
|
|
10598
|
-
|
|
10599
|
-
|
|
10600
|
-
|
|
10864
|
+
function setTagTransformer(transformer) {
|
|
10865
|
+
if (tagTransformer) {
|
|
10866
|
+
console.warn(`
|
|
10867
|
+
A tagTransformer has already been set.
|
|
10868
|
+
Overwriting it may lead to error and unexpected results if your components have already been defined.
|
|
10869
|
+
`);
|
|
10870
|
+
}
|
|
10871
|
+
tagTransformer = transformer;
|
|
10601
10872
|
}
|
|
10602
10873
|
|
|
10603
|
-
// src/mock-doc/
|
|
10604
|
-
var
|
|
10605
|
-
|
|
10606
|
-
|
|
10607
|
-
|
|
10608
|
-
this.cancelable = false;
|
|
10609
|
-
this.composed = false;
|
|
10610
|
-
this.currentTarget = null;
|
|
10611
|
-
this.defaultPrevented = false;
|
|
10612
|
-
this.srcElement = null;
|
|
10613
|
-
this.target = null;
|
|
10614
|
-
if (typeof type !== "string") {
|
|
10615
|
-
throw new Error(`Event type required`);
|
|
10874
|
+
// src/mock-doc/attribute.ts
|
|
10875
|
+
var attrHandler = {
|
|
10876
|
+
get(obj, prop) {
|
|
10877
|
+
if (prop in obj) {
|
|
10878
|
+
return obj[prop];
|
|
10616
10879
|
}
|
|
10617
|
-
|
|
10618
|
-
|
|
10619
|
-
if (eventInitDict != null) {
|
|
10620
|
-
Object.assign(this, eventInitDict);
|
|
10880
|
+
if (typeof prop !== "symbol" && !isNaN(prop)) {
|
|
10881
|
+
return obj.__items[prop];
|
|
10621
10882
|
}
|
|
10883
|
+
return void 0;
|
|
10622
10884
|
}
|
|
10623
|
-
|
|
10624
|
-
|
|
10885
|
+
};
|
|
10886
|
+
var createAttributeProxy = (caseInsensitive) => new Proxy(new MockAttributeMap(caseInsensitive), attrHandler);
|
|
10887
|
+
var MockAttributeMap = class {
|
|
10888
|
+
constructor(caseInsensitive = false) {
|
|
10889
|
+
this.caseInsensitive = caseInsensitive;
|
|
10890
|
+
this.__items = [];
|
|
10625
10891
|
}
|
|
10626
|
-
|
|
10627
|
-
this.
|
|
10892
|
+
get length() {
|
|
10893
|
+
return this.__items.length;
|
|
10628
10894
|
}
|
|
10629
|
-
|
|
10630
|
-
this.
|
|
10895
|
+
item(index) {
|
|
10896
|
+
return this.__items[index] || null;
|
|
10631
10897
|
}
|
|
10632
|
-
|
|
10633
|
-
|
|
10634
|
-
|
|
10635
|
-
*/
|
|
10636
|
-
composedPath() {
|
|
10637
|
-
const composedPath = [];
|
|
10638
|
-
let currentElement = this.target;
|
|
10639
|
-
while (currentElement) {
|
|
10640
|
-
composedPath.push(currentElement);
|
|
10641
|
-
if (!currentElement.parentElement && currentElement.nodeName === "#document" /* DOCUMENT_NODE */) {
|
|
10642
|
-
composedPath.push(currentElement.defaultView);
|
|
10643
|
-
break;
|
|
10644
|
-
}
|
|
10645
|
-
if (currentElement.parentElement == null && currentElement.tagName === "HTML") {
|
|
10646
|
-
currentElement = currentElement.ownerDocument;
|
|
10647
|
-
} else {
|
|
10648
|
-
currentElement = currentElement.parentElement;
|
|
10649
|
-
}
|
|
10650
|
-
}
|
|
10651
|
-
return composedPath;
|
|
10898
|
+
setNamedItem(attr) {
|
|
10899
|
+
attr.namespaceURI = null;
|
|
10900
|
+
this.setNamedItemNS(attr);
|
|
10652
10901
|
}
|
|
10653
|
-
|
|
10654
|
-
|
|
10655
|
-
|
|
10656
|
-
super(type);
|
|
10657
|
-
this.detail = null;
|
|
10658
|
-
if (customEventInitDic != null) {
|
|
10659
|
-
Object.assign(this, customEventInitDic);
|
|
10902
|
+
setNamedItemNS(attr) {
|
|
10903
|
+
if (attr != null && attr.value != null) {
|
|
10904
|
+
attr.value = String(attr.value);
|
|
10660
10905
|
}
|
|
10661
|
-
|
|
10662
|
-
|
|
10663
|
-
|
|
10664
|
-
|
|
10665
|
-
|
|
10666
|
-
this.code = "";
|
|
10667
|
-
this.key = "";
|
|
10668
|
-
this.altKey = false;
|
|
10669
|
-
this.ctrlKey = false;
|
|
10670
|
-
this.metaKey = false;
|
|
10671
|
-
this.shiftKey = false;
|
|
10672
|
-
this.location = 0;
|
|
10673
|
-
this.repeat = false;
|
|
10674
|
-
if (keyboardEventInitDic != null) {
|
|
10675
|
-
Object.assign(this, keyboardEventInitDic);
|
|
10906
|
+
const existingAttr = this.__items.find((a) => a.name === attr.name && a.namespaceURI === attr.namespaceURI);
|
|
10907
|
+
if (existingAttr != null) {
|
|
10908
|
+
existingAttr.value = attr.value;
|
|
10909
|
+
} else {
|
|
10910
|
+
this.__items.push(attr);
|
|
10676
10911
|
}
|
|
10677
10912
|
}
|
|
10678
|
-
|
|
10679
|
-
|
|
10680
|
-
|
|
10681
|
-
super(type);
|
|
10682
|
-
this.screenX = 0;
|
|
10683
|
-
this.screenY = 0;
|
|
10684
|
-
this.clientX = 0;
|
|
10685
|
-
this.clientY = 0;
|
|
10686
|
-
this.ctrlKey = false;
|
|
10687
|
-
this.shiftKey = false;
|
|
10688
|
-
this.altKey = false;
|
|
10689
|
-
this.metaKey = false;
|
|
10690
|
-
this.button = 0;
|
|
10691
|
-
this.buttons = 0;
|
|
10692
|
-
this.relatedTarget = null;
|
|
10693
|
-
if (mouseEventInitDic != null) {
|
|
10694
|
-
Object.assign(this, mouseEventInitDic);
|
|
10913
|
+
getNamedItem(attrName) {
|
|
10914
|
+
if (this.caseInsensitive) {
|
|
10915
|
+
attrName = attrName.toLowerCase();
|
|
10695
10916
|
}
|
|
10917
|
+
return this.getNamedItemNS(null, attrName);
|
|
10696
10918
|
}
|
|
10697
|
-
|
|
10698
|
-
|
|
10699
|
-
|
|
10700
|
-
super(type);
|
|
10701
|
-
this.detail = null;
|
|
10702
|
-
this.view = null;
|
|
10703
|
-
if (uiEventInitDic != null) {
|
|
10704
|
-
Object.assign(this, uiEventInitDic);
|
|
10705
|
-
}
|
|
10919
|
+
getNamedItemNS(namespaceURI, attrName) {
|
|
10920
|
+
namespaceURI = getNamespaceURI(namespaceURI);
|
|
10921
|
+
return this.__items.find((attr) => attr.name === attrName && getNamespaceURI(attr.namespaceURI) === namespaceURI) || null;
|
|
10706
10922
|
}
|
|
10707
|
-
|
|
10708
|
-
|
|
10709
|
-
constructor(type, focusEventInitDic) {
|
|
10710
|
-
super(type);
|
|
10711
|
-
this.relatedTarget = null;
|
|
10712
|
-
if (focusEventInitDic != null) {
|
|
10713
|
-
Object.assign(this, focusEventInitDic);
|
|
10714
|
-
}
|
|
10923
|
+
removeNamedItem(attr) {
|
|
10924
|
+
this.removeNamedItemNS(attr);
|
|
10715
10925
|
}
|
|
10716
|
-
|
|
10717
|
-
|
|
10718
|
-
|
|
10719
|
-
|
|
10720
|
-
|
|
10926
|
+
removeNamedItemNS(attr) {
|
|
10927
|
+
for (let i = 0, ii = this.__items.length; i < ii; i++) {
|
|
10928
|
+
if (this.__items[i].name === attr.name && this.__items[i].namespaceURI === attr.namespaceURI) {
|
|
10929
|
+
this.__items.splice(i, 1);
|
|
10930
|
+
break;
|
|
10931
|
+
}
|
|
10932
|
+
}
|
|
10721
10933
|
}
|
|
10722
|
-
|
|
10723
|
-
|
|
10724
|
-
|
|
10725
|
-
|
|
10726
|
-
|
|
10934
|
+
[Symbol.iterator]() {
|
|
10935
|
+
let i = 0;
|
|
10936
|
+
return {
|
|
10937
|
+
next: () => ({
|
|
10938
|
+
done: i === this.length,
|
|
10939
|
+
value: this.item(i++)
|
|
10940
|
+
})
|
|
10941
|
+
};
|
|
10727
10942
|
}
|
|
10728
|
-
|
|
10943
|
+
get [Symbol.toStringTag]() {
|
|
10944
|
+
return "MockAttributeMap";
|
|
10945
|
+
}
|
|
10946
|
+
};
|
|
10947
|
+
function getNamespaceURI(namespaceURI) {
|
|
10948
|
+
return namespaceURI === XLINK_NS ? null : namespaceURI;
|
|
10729
10949
|
}
|
|
10730
|
-
function
|
|
10731
|
-
const
|
|
10732
|
-
if (
|
|
10733
|
-
const
|
|
10734
|
-
if (
|
|
10735
|
-
const
|
|
10736
|
-
|
|
10950
|
+
function cloneAttributes(srcAttrs, sortByName = false) {
|
|
10951
|
+
const dstAttrs = new MockAttributeMap(srcAttrs.caseInsensitive);
|
|
10952
|
+
if (srcAttrs != null) {
|
|
10953
|
+
const attrLen = srcAttrs.length;
|
|
10954
|
+
if (sortByName && attrLen > 1) {
|
|
10955
|
+
const sortedAttrs = [];
|
|
10956
|
+
for (let i = 0; i < attrLen; i++) {
|
|
10957
|
+
const srcAttr = srcAttrs.item(i);
|
|
10958
|
+
const dstAttr = new MockAttr(srcAttr.name, srcAttr.value, srcAttr.namespaceURI);
|
|
10959
|
+
sortedAttrs.push(dstAttr);
|
|
10960
|
+
}
|
|
10961
|
+
sortedAttrs.sort(sortAttributes).forEach((attr) => {
|
|
10962
|
+
dstAttrs.setNamedItemNS(attr);
|
|
10963
|
+
});
|
|
10964
|
+
} else {
|
|
10965
|
+
for (let i = 0; i < attrLen; i++) {
|
|
10966
|
+
const srcAttr = srcAttrs.item(i);
|
|
10967
|
+
const dstAttr = new MockAttr(srcAttr.name, srcAttr.value, srcAttr.namespaceURI);
|
|
10968
|
+
dstAttrs.setNamedItemNS(dstAttr);
|
|
10969
|
+
}
|
|
10737
10970
|
}
|
|
10738
10971
|
}
|
|
10972
|
+
return dstAttrs;
|
|
10739
10973
|
}
|
|
10740
|
-
function
|
|
10741
|
-
if (
|
|
10742
|
-
|
|
10743
|
-
|
|
10974
|
+
function sortAttributes(a, b) {
|
|
10975
|
+
if (a.name < b.name) return -1;
|
|
10976
|
+
if (a.name > b.name) return 1;
|
|
10977
|
+
return 0;
|
|
10744
10978
|
}
|
|
10745
|
-
|
|
10746
|
-
|
|
10747
|
-
|
|
10979
|
+
var MockAttr = class {
|
|
10980
|
+
constructor(attrName, attrValue, namespaceURI = null) {
|
|
10981
|
+
this._name = attrName;
|
|
10982
|
+
this._value = String(attrValue);
|
|
10983
|
+
this._namespaceURI = namespaceURI;
|
|
10748
10984
|
}
|
|
10749
|
-
|
|
10750
|
-
|
|
10751
|
-
if (Array.isArray(target.__listeners) === true) {
|
|
10752
|
-
const listeners = target.__listeners.filter((e) => e.type === ev.type);
|
|
10753
|
-
listeners.forEach((listener) => {
|
|
10754
|
-
try {
|
|
10755
|
-
listener.handler.call(target, ev);
|
|
10756
|
-
} catch (err2) {
|
|
10757
|
-
console.error(err2);
|
|
10758
|
-
}
|
|
10759
|
-
});
|
|
10985
|
+
get name() {
|
|
10986
|
+
return this._name;
|
|
10760
10987
|
}
|
|
10761
|
-
|
|
10762
|
-
|
|
10988
|
+
set name(value) {
|
|
10989
|
+
this._name = value;
|
|
10763
10990
|
}
|
|
10764
|
-
|
|
10765
|
-
|
|
10766
|
-
} else if (elm.parentElement == null && elm.tagName === "HTML") {
|
|
10767
|
-
triggerEventListener(elm.ownerDocument, ev);
|
|
10768
|
-
} else {
|
|
10769
|
-
const nextTarget = getNextEventTarget(elm, ev);
|
|
10770
|
-
triggerEventListener(nextTarget, ev);
|
|
10991
|
+
get value() {
|
|
10992
|
+
return this._value;
|
|
10771
10993
|
}
|
|
10772
|
-
|
|
10773
|
-
|
|
10774
|
-
if (elm.parentElement) {
|
|
10775
|
-
return elm.parentElement;
|
|
10994
|
+
set value(value) {
|
|
10995
|
+
this._value = String(value);
|
|
10776
10996
|
}
|
|
10777
|
-
|
|
10778
|
-
return
|
|
10997
|
+
get nodeName() {
|
|
10998
|
+
return this._name;
|
|
10779
10999
|
}
|
|
10780
|
-
|
|
10781
|
-
|
|
11000
|
+
set nodeName(value) {
|
|
11001
|
+
this._name = value;
|
|
10782
11002
|
}
|
|
10783
|
-
|
|
11003
|
+
get nodeValue() {
|
|
11004
|
+
return this._value;
|
|
11005
|
+
}
|
|
11006
|
+
set nodeValue(value) {
|
|
11007
|
+
this._value = String(value);
|
|
11008
|
+
}
|
|
11009
|
+
get namespaceURI() {
|
|
11010
|
+
return this._namespaceURI;
|
|
11011
|
+
}
|
|
11012
|
+
set namespaceURI(namespaceURI) {
|
|
11013
|
+
this._namespaceURI = namespaceURI;
|
|
11014
|
+
}
|
|
11015
|
+
};
|
|
11016
|
+
|
|
11017
|
+
// src/mock-doc/css-style-declaration.ts
|
|
11018
|
+
var MockCSSStyleDeclaration = class {
|
|
11019
|
+
constructor() {
|
|
11020
|
+
this._styles = /* @__PURE__ */ new Map();
|
|
11021
|
+
}
|
|
11022
|
+
setProperty(prop, value) {
|
|
11023
|
+
prop = jsCaseToCssCase(prop);
|
|
11024
|
+
if (value == null || value === "") {
|
|
11025
|
+
this._styles.delete(prop);
|
|
11026
|
+
} else {
|
|
11027
|
+
this._styles.set(prop, String(value));
|
|
11028
|
+
}
|
|
11029
|
+
}
|
|
11030
|
+
getPropertyValue(prop) {
|
|
11031
|
+
prop = jsCaseToCssCase(prop);
|
|
11032
|
+
return String(this._styles.get(prop) || "");
|
|
11033
|
+
}
|
|
11034
|
+
removeProperty(prop) {
|
|
11035
|
+
prop = jsCaseToCssCase(prop);
|
|
11036
|
+
this._styles.delete(prop);
|
|
11037
|
+
}
|
|
11038
|
+
get length() {
|
|
11039
|
+
return this._styles.size;
|
|
11040
|
+
}
|
|
11041
|
+
get cssText() {
|
|
11042
|
+
const cssText = [];
|
|
11043
|
+
this._styles.forEach((value, prop) => {
|
|
11044
|
+
cssText.push(`${prop}: ${value};`);
|
|
11045
|
+
});
|
|
11046
|
+
return cssText.join(" ").trim();
|
|
11047
|
+
}
|
|
11048
|
+
set cssText(cssText) {
|
|
11049
|
+
if (cssText == null || cssText === "") {
|
|
11050
|
+
this._styles.clear();
|
|
11051
|
+
return;
|
|
11052
|
+
}
|
|
11053
|
+
cssText.split(";").forEach((rule) => {
|
|
11054
|
+
rule = rule.trim();
|
|
11055
|
+
if (rule.length > 0) {
|
|
11056
|
+
const splt = rule.split(":");
|
|
11057
|
+
if (splt.length > 1) {
|
|
11058
|
+
const prop = splt[0].trim();
|
|
11059
|
+
const value = splt.slice(1).join(":").trim();
|
|
11060
|
+
if (prop !== "" && value !== "") {
|
|
11061
|
+
this._styles.set(jsCaseToCssCase(prop), value);
|
|
11062
|
+
}
|
|
11063
|
+
}
|
|
11064
|
+
}
|
|
11065
|
+
});
|
|
11066
|
+
}
|
|
11067
|
+
};
|
|
11068
|
+
function createCSSStyleDeclaration() {
|
|
11069
|
+
return new Proxy(new MockCSSStyleDeclaration(), cssProxyHandler);
|
|
10784
11070
|
}
|
|
10785
|
-
|
|
10786
|
-
|
|
10787
|
-
|
|
10788
|
-
|
|
11071
|
+
var cssProxyHandler = {
|
|
11072
|
+
get(cssStyle, prop) {
|
|
11073
|
+
if (prop in cssStyle) {
|
|
11074
|
+
return cssStyle[prop];
|
|
11075
|
+
}
|
|
11076
|
+
prop = cssCaseToJsCase(prop);
|
|
11077
|
+
return cssStyle.getPropertyValue(prop);
|
|
11078
|
+
},
|
|
11079
|
+
set(cssStyle, prop, value) {
|
|
11080
|
+
if (prop in cssStyle) {
|
|
11081
|
+
cssStyle[prop] = value;
|
|
11082
|
+
} else {
|
|
11083
|
+
cssStyle.setProperty(prop, value);
|
|
11084
|
+
}
|
|
11085
|
+
return true;
|
|
11086
|
+
}
|
|
11087
|
+
};
|
|
11088
|
+
function cssCaseToJsCase(str) {
|
|
11089
|
+
if (str.length > 1 && str.includes("-") === true) {
|
|
11090
|
+
str = str.toLowerCase().split("-").map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1)).join("");
|
|
11091
|
+
str = str.slice(0, 1).toLowerCase() + str.slice(1);
|
|
11092
|
+
}
|
|
11093
|
+
return str;
|
|
11094
|
+
}
|
|
11095
|
+
function jsCaseToCssCase(str) {
|
|
11096
|
+
if (str.length > 1 && str.includes("-") === false && /[A-Z]/.test(str) === true) {
|
|
11097
|
+
str = str.replace(/([A-Z])/g, (g) => " " + g[0]).trim().replace(/ /g, "-").toLowerCase();
|
|
11098
|
+
}
|
|
11099
|
+
return str;
|
|
10789
11100
|
}
|
|
10790
11101
|
|
|
10791
|
-
//
|
|
10792
|
-
var
|
|
10793
|
-
|
|
10794
|
-
|
|
10795
|
-
|
|
10796
|
-
|
|
10797
|
-
|
|
10798
|
-
|
|
10799
|
-
|
|
10800
|
-
|
|
10801
|
-
|
|
10802
|
-
|
|
10803
|
-
|
|
10804
|
-
|
|
10805
|
-
|
|
10806
|
-
|
|
10807
|
-
|
|
10808
|
-
|
|
10809
|
-
|
|
10810
|
-
|
|
10811
|
-
|
|
10812
|
-
|
|
10813
|
-
|
|
10814
|
-
|
|
10815
|
-
|
|
10816
|
-
|
|
10817
|
-
|
|
10818
|
-
|
|
10819
|
-
|
|
10820
|
-
|
|
10821
|
-
|
|
10822
|
-
|
|
10823
|
-
|
|
10824
|
-
|
|
10825
|
-
|
|
10826
|
-
|
|
10827
|
-
|
|
10828
|
-
|
|
10829
|
-
|
|
10830
|
-
(
|
|
10831
|
-
|
|
11102
|
+
// src/mock-doc/custom-element-registry.ts
|
|
11103
|
+
var MockCustomElementRegistry = class {
|
|
11104
|
+
constructor(win2) {
|
|
11105
|
+
this.win = win2;
|
|
11106
|
+
}
|
|
11107
|
+
define(tagName, cstr, options) {
|
|
11108
|
+
if (tagName.toLowerCase() !== tagName) {
|
|
11109
|
+
throw new Error(
|
|
11110
|
+
`Failed to execute 'define' on 'CustomElementRegistry': "${tagName}" is not a valid custom element name`
|
|
11111
|
+
);
|
|
11112
|
+
}
|
|
11113
|
+
if (this.__registry == null) {
|
|
11114
|
+
this.__registry = /* @__PURE__ */ new Map();
|
|
11115
|
+
}
|
|
11116
|
+
this.__registry.set(tagName, { cstr, options });
|
|
11117
|
+
if (this.__whenDefined != null) {
|
|
11118
|
+
const whenDefinedResolveFns = this.__whenDefined.get(tagName);
|
|
11119
|
+
if (whenDefinedResolveFns != null) {
|
|
11120
|
+
whenDefinedResolveFns.forEach((whenDefinedResolveFn) => {
|
|
11121
|
+
whenDefinedResolveFn();
|
|
11122
|
+
});
|
|
11123
|
+
whenDefinedResolveFns.length = 0;
|
|
11124
|
+
this.__whenDefined.delete(tagName);
|
|
11125
|
+
}
|
|
11126
|
+
}
|
|
11127
|
+
const doc = this.win.document;
|
|
11128
|
+
if (doc != null) {
|
|
11129
|
+
const hosts = doc.querySelectorAll(tagName);
|
|
11130
|
+
hosts.forEach((host) => {
|
|
11131
|
+
if (upgradedElements.has(host) === false) {
|
|
11132
|
+
tempDisableCallbacks.add(doc);
|
|
11133
|
+
const upgradedCmp = createCustomElement(this, doc, tagName);
|
|
11134
|
+
for (let i = 0; i < host.childNodes.length; i++) {
|
|
11135
|
+
const childNode = host.childNodes[i];
|
|
11136
|
+
childNode.remove();
|
|
11137
|
+
upgradedCmp.appendChild(childNode);
|
|
11138
|
+
}
|
|
11139
|
+
tempDisableCallbacks.delete(doc);
|
|
11140
|
+
if (proxyElements.has(host)) {
|
|
11141
|
+
proxyElements.set(host, upgradedCmp);
|
|
11142
|
+
}
|
|
11143
|
+
}
|
|
11144
|
+
fireConnectedCallback2(host);
|
|
11145
|
+
});
|
|
11146
|
+
}
|
|
11147
|
+
}
|
|
11148
|
+
get(tagName) {
|
|
11149
|
+
if (this.__registry != null) {
|
|
11150
|
+
const def = this.__registry.get(tagName.toLowerCase());
|
|
11151
|
+
if (def != null) {
|
|
11152
|
+
return def.cstr;
|
|
11153
|
+
}
|
|
11154
|
+
}
|
|
11155
|
+
return void 0;
|
|
11156
|
+
}
|
|
11157
|
+
getName(cstr) {
|
|
11158
|
+
for (const [tagName, def] of this.__registry.entries()) {
|
|
11159
|
+
if (def.cstr === cstr) {
|
|
11160
|
+
return tagName;
|
|
11161
|
+
}
|
|
11162
|
+
}
|
|
11163
|
+
return void 0;
|
|
11164
|
+
}
|
|
11165
|
+
upgrade(_rootNode) {
|
|
11166
|
+
}
|
|
11167
|
+
clear() {
|
|
11168
|
+
if (this.__registry != null) {
|
|
11169
|
+
this.__registry.clear();
|
|
11170
|
+
}
|
|
11171
|
+
if (this.__whenDefined != null) {
|
|
11172
|
+
this.__whenDefined.clear();
|
|
11173
|
+
}
|
|
11174
|
+
}
|
|
11175
|
+
whenDefined(tagName) {
|
|
11176
|
+
tagName = tagName.toLowerCase();
|
|
11177
|
+
if (this.__registry != null && this.__registry.has(tagName) === true) {
|
|
11178
|
+
return Promise.resolve(this.__registry.get(tagName).cstr);
|
|
11179
|
+
}
|
|
11180
|
+
return new Promise((resolve) => {
|
|
11181
|
+
if (this.__whenDefined == null) {
|
|
11182
|
+
this.__whenDefined = /* @__PURE__ */ new Map();
|
|
11183
|
+
}
|
|
11184
|
+
let whenDefinedResolveFns = this.__whenDefined.get(tagName);
|
|
11185
|
+
if (whenDefinedResolveFns == null) {
|
|
11186
|
+
whenDefinedResolveFns = [];
|
|
11187
|
+
this.__whenDefined.set(tagName, whenDefinedResolveFns);
|
|
11188
|
+
}
|
|
11189
|
+
whenDefinedResolveFns.push(resolve);
|
|
11190
|
+
});
|
|
11191
|
+
}
|
|
11192
|
+
};
|
|
11193
|
+
function createCustomElement(customElements2, ownerDocument, tagName) {
|
|
11194
|
+
const Cstr = customElements2.get(tagName);
|
|
11195
|
+
if (Cstr != null) {
|
|
11196
|
+
const cmp = new Cstr(ownerDocument);
|
|
11197
|
+
cmp.nodeName = tagName.toUpperCase();
|
|
11198
|
+
upgradedElements.add(cmp);
|
|
11199
|
+
return cmp;
|
|
11200
|
+
}
|
|
11201
|
+
const host = new Proxy(
|
|
11202
|
+
{},
|
|
11203
|
+
{
|
|
11204
|
+
get(obj, prop) {
|
|
11205
|
+
const elm2 = proxyElements.get(host);
|
|
11206
|
+
if (elm2 != null) {
|
|
11207
|
+
return elm2[prop];
|
|
11208
|
+
}
|
|
11209
|
+
return obj[prop];
|
|
11210
|
+
},
|
|
11211
|
+
set(obj, prop, val) {
|
|
11212
|
+
const elm2 = proxyElements.get(host);
|
|
11213
|
+
if (elm2 != null) {
|
|
11214
|
+
elm2[prop] = val;
|
|
11215
|
+
} else {
|
|
11216
|
+
obj[prop] = val;
|
|
11217
|
+
}
|
|
11218
|
+
return true;
|
|
11219
|
+
},
|
|
11220
|
+
has(obj, prop) {
|
|
11221
|
+
const elm2 = proxyElements.get(host);
|
|
11222
|
+
if (prop in elm2) {
|
|
11223
|
+
return true;
|
|
11224
|
+
}
|
|
11225
|
+
if (prop in obj) {
|
|
11226
|
+
return true;
|
|
11227
|
+
}
|
|
11228
|
+
return false;
|
|
11229
|
+
}
|
|
11230
|
+
}
|
|
11231
|
+
);
|
|
11232
|
+
const elm = new MockHTMLElement(ownerDocument, tagName);
|
|
11233
|
+
proxyElements.set(host, elm);
|
|
11234
|
+
return host;
|
|
11235
|
+
}
|
|
11236
|
+
var proxyElements = /* @__PURE__ */ new WeakMap();
|
|
11237
|
+
var upgradedElements = /* @__PURE__ */ new WeakSet();
|
|
11238
|
+
function connectNode(ownerDocument, node) {
|
|
11239
|
+
node.ownerDocument = ownerDocument;
|
|
11240
|
+
if (node.nodeType === 1 /* ELEMENT_NODE */) {
|
|
11241
|
+
if (ownerDocument != null && node.nodeName.includes("-")) {
|
|
11242
|
+
const win2 = ownerDocument.defaultView;
|
|
11243
|
+
if (win2 != null && typeof node.connectedCallback === "function" && node.isConnected) {
|
|
11244
|
+
fireConnectedCallback2(node);
|
|
11245
|
+
}
|
|
11246
|
+
const shadowRoot = node.shadowRoot;
|
|
11247
|
+
if (shadowRoot != null) {
|
|
11248
|
+
shadowRoot.childNodes.forEach((childNode) => {
|
|
11249
|
+
connectNode(ownerDocument, childNode);
|
|
11250
|
+
});
|
|
11251
|
+
}
|
|
11252
|
+
}
|
|
11253
|
+
node.childNodes.forEach((childNode) => {
|
|
11254
|
+
connectNode(ownerDocument, childNode);
|
|
11255
|
+
});
|
|
11256
|
+
} else {
|
|
11257
|
+
node.childNodes.forEach((childNode) => {
|
|
11258
|
+
childNode.ownerDocument = ownerDocument;
|
|
11259
|
+
});
|
|
11260
|
+
}
|
|
11261
|
+
}
|
|
11262
|
+
function fireConnectedCallback2(node) {
|
|
11263
|
+
if (typeof node.connectedCallback === "function") {
|
|
11264
|
+
if (tempDisableCallbacks.has(node.ownerDocument) === false) {
|
|
11265
|
+
try {
|
|
11266
|
+
node.connectedCallback();
|
|
11267
|
+
} catch (e) {
|
|
11268
|
+
console.error(e);
|
|
11269
|
+
}
|
|
11270
|
+
}
|
|
11271
|
+
}
|
|
11272
|
+
}
|
|
11273
|
+
function disconnectNode(node) {
|
|
11274
|
+
if (node.nodeType === 1 /* ELEMENT_NODE */) {
|
|
11275
|
+
if (node.nodeName.includes("-") === true && typeof node.disconnectedCallback === "function") {
|
|
11276
|
+
if (tempDisableCallbacks.has(node.ownerDocument) === false) {
|
|
11277
|
+
try {
|
|
11278
|
+
node.disconnectedCallback();
|
|
11279
|
+
} catch (e) {
|
|
11280
|
+
console.error(e);
|
|
11281
|
+
}
|
|
11282
|
+
}
|
|
11283
|
+
}
|
|
11284
|
+
node.childNodes.forEach(disconnectNode);
|
|
11285
|
+
}
|
|
11286
|
+
}
|
|
11287
|
+
function attributeChanged(node, attrName, oldValue, newValue) {
|
|
11288
|
+
attrName = attrName.toLowerCase();
|
|
11289
|
+
const observedAttributes = node.constructor.observedAttributes;
|
|
11290
|
+
if (Array.isArray(observedAttributes) === true && observedAttributes.some((obs) => obs.toLowerCase() === attrName) === true) {
|
|
11291
|
+
try {
|
|
11292
|
+
node.attributeChangedCallback(attrName, oldValue, newValue);
|
|
11293
|
+
} catch (e) {
|
|
11294
|
+
console.error(e);
|
|
11295
|
+
}
|
|
11296
|
+
}
|
|
11297
|
+
}
|
|
11298
|
+
function checkAttributeChanged(node) {
|
|
11299
|
+
return node.nodeName.includes("-") === true && typeof node.attributeChangedCallback === "function";
|
|
11300
|
+
}
|
|
11301
|
+
var tempDisableCallbacks = /* @__PURE__ */ new Set();
|
|
11302
|
+
|
|
11303
|
+
// src/mock-doc/dataset.ts
|
|
11304
|
+
function dataset(elm) {
|
|
11305
|
+
const ds = {};
|
|
11306
|
+
const attributes = elm.attributes;
|
|
11307
|
+
const attrLen = attributes.length;
|
|
11308
|
+
for (let i = 0; i < attrLen; i++) {
|
|
11309
|
+
const attr = attributes.item(i);
|
|
11310
|
+
const nodeName = attr.nodeName;
|
|
11311
|
+
if (nodeName.startsWith("data-")) {
|
|
11312
|
+
ds[dashToPascalCase2(nodeName)] = attr.nodeValue;
|
|
11313
|
+
}
|
|
11314
|
+
}
|
|
11315
|
+
return new Proxy(ds, {
|
|
11316
|
+
get(_obj, camelCaseProp) {
|
|
11317
|
+
return ds[camelCaseProp];
|
|
11318
|
+
},
|
|
11319
|
+
set(_obj, camelCaseProp, value) {
|
|
11320
|
+
const dataAttr = toDataAttribute(camelCaseProp);
|
|
11321
|
+
elm.setAttribute(dataAttr, value);
|
|
11322
|
+
return true;
|
|
11323
|
+
}
|
|
11324
|
+
});
|
|
11325
|
+
}
|
|
11326
|
+
function toDataAttribute(str) {
|
|
11327
|
+
return "data-" + String(str).replace(/([A-Z0-9])/g, (g) => " " + g[0]).trim().replace(/ /g, "-").toLowerCase();
|
|
11328
|
+
}
|
|
11329
|
+
function dashToPascalCase2(str) {
|
|
11330
|
+
str = String(str).slice(5);
|
|
11331
|
+
return str.split("-").map((segment, index) => {
|
|
11332
|
+
if (index === 0) {
|
|
11333
|
+
return segment.charAt(0).toLowerCase() + segment.slice(1);
|
|
11334
|
+
}
|
|
11335
|
+
return segment.charAt(0).toUpperCase() + segment.slice(1);
|
|
11336
|
+
}).join("");
|
|
11337
|
+
}
|
|
11338
|
+
|
|
11339
|
+
// src/mock-doc/event.ts
|
|
11340
|
+
var MockEvent = class {
|
|
11341
|
+
constructor(type, eventInitDict) {
|
|
11342
|
+
this.bubbles = false;
|
|
11343
|
+
this.cancelBubble = false;
|
|
11344
|
+
this.cancelable = false;
|
|
11345
|
+
this.composed = false;
|
|
11346
|
+
this.currentTarget = null;
|
|
11347
|
+
this.defaultPrevented = false;
|
|
11348
|
+
this.srcElement = null;
|
|
11349
|
+
this.target = null;
|
|
11350
|
+
if (typeof type !== "string") {
|
|
11351
|
+
throw new Error(`Event type required`);
|
|
11352
|
+
}
|
|
11353
|
+
this.type = type;
|
|
11354
|
+
this.timeStamp = Date.now();
|
|
11355
|
+
if (eventInitDict != null) {
|
|
11356
|
+
Object.assign(this, eventInitDict);
|
|
11357
|
+
}
|
|
11358
|
+
}
|
|
11359
|
+
preventDefault() {
|
|
11360
|
+
this.defaultPrevented = true;
|
|
11361
|
+
}
|
|
11362
|
+
stopPropagation() {
|
|
11363
|
+
this.cancelBubble = true;
|
|
11364
|
+
}
|
|
11365
|
+
stopImmediatePropagation() {
|
|
11366
|
+
this.cancelBubble = true;
|
|
11367
|
+
}
|
|
11368
|
+
/**
|
|
11369
|
+
* @ref https://developer.mozilla.org/en-US/docs/Web/API/Event/composedPath
|
|
11370
|
+
* @returns a composed path of the event
|
|
11371
|
+
*/
|
|
11372
|
+
composedPath() {
|
|
11373
|
+
const composedPath = [];
|
|
11374
|
+
let currentElement = this.target;
|
|
11375
|
+
while (currentElement) {
|
|
11376
|
+
composedPath.push(currentElement);
|
|
11377
|
+
if (!currentElement.parentElement && currentElement.nodeName === "#document" /* DOCUMENT_NODE */) {
|
|
11378
|
+
composedPath.push(currentElement.defaultView);
|
|
11379
|
+
break;
|
|
11380
|
+
}
|
|
11381
|
+
if (currentElement.parentElement == null && currentElement.tagName === "HTML") {
|
|
11382
|
+
currentElement = currentElement.ownerDocument;
|
|
11383
|
+
} else {
|
|
11384
|
+
currentElement = currentElement.parentElement;
|
|
11385
|
+
}
|
|
11386
|
+
}
|
|
11387
|
+
return composedPath;
|
|
11388
|
+
}
|
|
11389
|
+
};
|
|
11390
|
+
var MockCustomEvent = class extends MockEvent {
|
|
11391
|
+
constructor(type, customEventInitDic) {
|
|
11392
|
+
super(type);
|
|
11393
|
+
this.detail = null;
|
|
11394
|
+
if (customEventInitDic != null) {
|
|
11395
|
+
Object.assign(this, customEventInitDic);
|
|
11396
|
+
}
|
|
11397
|
+
}
|
|
11398
|
+
};
|
|
11399
|
+
var MockKeyboardEvent = class extends MockEvent {
|
|
11400
|
+
constructor(type, keyboardEventInitDic) {
|
|
11401
|
+
super(type);
|
|
11402
|
+
this.code = "";
|
|
11403
|
+
this.key = "";
|
|
11404
|
+
this.altKey = false;
|
|
11405
|
+
this.ctrlKey = false;
|
|
11406
|
+
this.metaKey = false;
|
|
11407
|
+
this.shiftKey = false;
|
|
11408
|
+
this.location = 0;
|
|
11409
|
+
this.repeat = false;
|
|
11410
|
+
if (keyboardEventInitDic != null) {
|
|
11411
|
+
Object.assign(this, keyboardEventInitDic);
|
|
11412
|
+
}
|
|
11413
|
+
}
|
|
11414
|
+
};
|
|
11415
|
+
var MockMouseEvent = class extends MockEvent {
|
|
11416
|
+
constructor(type, mouseEventInitDic) {
|
|
11417
|
+
super(type);
|
|
11418
|
+
this.screenX = 0;
|
|
11419
|
+
this.screenY = 0;
|
|
11420
|
+
this.clientX = 0;
|
|
11421
|
+
this.clientY = 0;
|
|
11422
|
+
this.ctrlKey = false;
|
|
11423
|
+
this.shiftKey = false;
|
|
11424
|
+
this.altKey = false;
|
|
11425
|
+
this.metaKey = false;
|
|
11426
|
+
this.button = 0;
|
|
11427
|
+
this.buttons = 0;
|
|
11428
|
+
this.relatedTarget = null;
|
|
11429
|
+
if (mouseEventInitDic != null) {
|
|
11430
|
+
Object.assign(this, mouseEventInitDic);
|
|
11431
|
+
}
|
|
11432
|
+
}
|
|
11433
|
+
};
|
|
11434
|
+
var MockUIEvent = class extends MockEvent {
|
|
11435
|
+
constructor(type, uiEventInitDic) {
|
|
11436
|
+
super(type);
|
|
11437
|
+
this.detail = null;
|
|
11438
|
+
this.view = null;
|
|
11439
|
+
if (uiEventInitDic != null) {
|
|
11440
|
+
Object.assign(this, uiEventInitDic);
|
|
11441
|
+
}
|
|
11442
|
+
}
|
|
11443
|
+
};
|
|
11444
|
+
var MockFocusEvent = class extends MockUIEvent {
|
|
11445
|
+
constructor(type, focusEventInitDic) {
|
|
11446
|
+
super(type);
|
|
11447
|
+
this.relatedTarget = null;
|
|
11448
|
+
if (focusEventInitDic != null) {
|
|
11449
|
+
Object.assign(this, focusEventInitDic);
|
|
11450
|
+
}
|
|
11451
|
+
}
|
|
11452
|
+
};
|
|
11453
|
+
var MockEventListener = class {
|
|
11454
|
+
constructor(type, handler) {
|
|
11455
|
+
this.type = type;
|
|
11456
|
+
this.handler = handler;
|
|
11457
|
+
}
|
|
11458
|
+
};
|
|
11459
|
+
function addEventListener(elm, type, handler) {
|
|
11460
|
+
const target = elm;
|
|
11461
|
+
if (target.__listeners == null) {
|
|
11462
|
+
target.__listeners = [];
|
|
11463
|
+
}
|
|
11464
|
+
target.__listeners.push(new MockEventListener(type, handler));
|
|
11465
|
+
}
|
|
11466
|
+
function removeEventListener(elm, type, handler) {
|
|
11467
|
+
const target = elm;
|
|
11468
|
+
if (target != null && Array.isArray(target.__listeners) === true) {
|
|
11469
|
+
const elmListener = target.__listeners.find((e) => e.type === type && e.handler === handler);
|
|
11470
|
+
if (elmListener != null) {
|
|
11471
|
+
const index = target.__listeners.indexOf(elmListener);
|
|
11472
|
+
target.__listeners.splice(index, 1);
|
|
11473
|
+
}
|
|
11474
|
+
}
|
|
11475
|
+
}
|
|
11476
|
+
function resetEventListeners(target) {
|
|
11477
|
+
if (target != null && target.__listeners != null) {
|
|
11478
|
+
target.__listeners = null;
|
|
11479
|
+
}
|
|
11480
|
+
}
|
|
11481
|
+
function triggerEventListener(elm, ev) {
|
|
11482
|
+
if (elm == null || ev.cancelBubble === true) {
|
|
11483
|
+
return;
|
|
11484
|
+
}
|
|
11485
|
+
const target = elm;
|
|
11486
|
+
ev.currentTarget = elm;
|
|
11487
|
+
if (Array.isArray(target.__listeners) === true) {
|
|
11488
|
+
const listeners = target.__listeners.filter((e) => e.type === ev.type);
|
|
11489
|
+
listeners.forEach((listener) => {
|
|
11490
|
+
try {
|
|
11491
|
+
listener.handler.call(target, ev);
|
|
11492
|
+
} catch (err2) {
|
|
11493
|
+
console.error(err2);
|
|
11494
|
+
}
|
|
11495
|
+
});
|
|
11496
|
+
}
|
|
11497
|
+
if (ev.bubbles === false) {
|
|
11498
|
+
return;
|
|
11499
|
+
}
|
|
11500
|
+
if (elm.nodeName === "#document" /* DOCUMENT_NODE */) {
|
|
11501
|
+
triggerEventListener(elm.defaultView, ev);
|
|
11502
|
+
} else if (elm.parentElement == null && elm.tagName === "HTML") {
|
|
11503
|
+
triggerEventListener(elm.ownerDocument, ev);
|
|
11504
|
+
} else {
|
|
11505
|
+
const nextTarget = getNextEventTarget(elm, ev);
|
|
11506
|
+
triggerEventListener(nextTarget, ev);
|
|
11507
|
+
}
|
|
11508
|
+
}
|
|
11509
|
+
function getNextEventTarget(elm, ev) {
|
|
11510
|
+
if (elm.parentElement) {
|
|
11511
|
+
return elm.parentElement;
|
|
11512
|
+
}
|
|
11513
|
+
if (elm.host && ev.composed) {
|
|
11514
|
+
return elm.host;
|
|
11515
|
+
}
|
|
11516
|
+
if (ev.composed && elm.parentNode && elm.parentNode.host) {
|
|
11517
|
+
return elm.parentNode.host;
|
|
11518
|
+
}
|
|
11519
|
+
return null;
|
|
11520
|
+
}
|
|
11521
|
+
function dispatchEvent(currentTarget, ev) {
|
|
11522
|
+
ev.target = currentTarget;
|
|
11523
|
+
triggerEventListener(currentTarget, ev);
|
|
11524
|
+
return true;
|
|
11525
|
+
}
|
|
11526
|
+
|
|
11527
|
+
// node_modules/parse5/dist/common/unicode.js
|
|
11528
|
+
var UNDEFINED_CODE_POINTS = /* @__PURE__ */ new Set([
|
|
11529
|
+
65534,
|
|
11530
|
+
65535,
|
|
11531
|
+
131070,
|
|
11532
|
+
131071,
|
|
11533
|
+
196606,
|
|
11534
|
+
196607,
|
|
11535
|
+
262142,
|
|
11536
|
+
262143,
|
|
11537
|
+
327678,
|
|
11538
|
+
327679,
|
|
11539
|
+
393214,
|
|
11540
|
+
393215,
|
|
11541
|
+
458750,
|
|
11542
|
+
458751,
|
|
11543
|
+
524286,
|
|
11544
|
+
524287,
|
|
11545
|
+
589822,
|
|
11546
|
+
589823,
|
|
11547
|
+
655358,
|
|
11548
|
+
655359,
|
|
11549
|
+
720894,
|
|
11550
|
+
720895,
|
|
11551
|
+
786430,
|
|
11552
|
+
786431,
|
|
11553
|
+
851966,
|
|
11554
|
+
851967,
|
|
11555
|
+
917502,
|
|
11556
|
+
917503,
|
|
11557
|
+
983038,
|
|
11558
|
+
983039,
|
|
11559
|
+
1048574,
|
|
11560
|
+
1048575,
|
|
11561
|
+
1114110,
|
|
11562
|
+
1114111
|
|
11563
|
+
]);
|
|
11564
|
+
var REPLACEMENT_CHARACTER = "\uFFFD";
|
|
11565
|
+
var CODE_POINTS;
|
|
11566
|
+
(function(CODE_POINTS2) {
|
|
11567
|
+
CODE_POINTS2[CODE_POINTS2["EOF"] = -1] = "EOF";
|
|
10832
11568
|
CODE_POINTS2[CODE_POINTS2["NULL"] = 0] = "NULL";
|
|
10833
11569
|
CODE_POINTS2[CODE_POINTS2["TABULATION"] = 9] = "TABULATION";
|
|
10834
11570
|
CODE_POINTS2[CODE_POINTS2["CARRIAGE_RETURN"] = 13] = "CARRIAGE_RETURN";
|
|
@@ -18942,14 +19678,14 @@ var jquery_default = (
|
|
|
18942
19678
|
*
|
|
18943
19679
|
* Date: 2023-12-11T17:55Z
|
|
18944
19680
|
*/
|
|
18945
|
-
function(global2, factory) {
|
|
19681
|
+
(function(global2, factory) {
|
|
18946
19682
|
"use strict";
|
|
18947
19683
|
if (true) {
|
|
18948
19684
|
return factory(global2, true);
|
|
18949
19685
|
} else {
|
|
18950
19686
|
factory(global2);
|
|
18951
19687
|
}
|
|
18952
|
-
}({
|
|
19688
|
+
})({
|
|
18953
19689
|
document: {
|
|
18954
19690
|
createElement() {
|
|
18955
19691
|
return {};
|
|
@@ -20919,10 +21655,10 @@ var MockNode2 = class {
|
|
|
20919
21655
|
insertBefore(newNode, referenceNode) {
|
|
20920
21656
|
if (newNode.nodeType === 11 /* DOCUMENT_FRAGMENT_NODE */) {
|
|
20921
21657
|
for (let i = 0, ii = newNode.childNodes.length; i < ii; i++) {
|
|
20922
|
-
|
|
21658
|
+
insertBefore2(this, newNode.childNodes[i], referenceNode);
|
|
20923
21659
|
}
|
|
20924
21660
|
} else {
|
|
20925
|
-
|
|
21661
|
+
insertBefore2(this, newNode, referenceNode);
|
|
20926
21662
|
}
|
|
20927
21663
|
return newNode;
|
|
20928
21664
|
}
|
|
@@ -21267,13 +22003,13 @@ var MockElement = class extends MockNode2 {
|
|
|
21267
22003
|
}
|
|
21268
22004
|
insertAdjacentElement(position, elm) {
|
|
21269
22005
|
if (position === "beforebegin" && this.parentNode) {
|
|
21270
|
-
|
|
22006
|
+
insertBefore2(this.parentNode, elm, this);
|
|
21271
22007
|
} else if (position === "afterbegin") {
|
|
21272
22008
|
this.prepend(elm);
|
|
21273
22009
|
} else if (position === "beforeend") {
|
|
21274
22010
|
this.appendChild(elm);
|
|
21275
22011
|
} else if (position === "afterend" && this.parentNode) {
|
|
21276
|
-
|
|
22012
|
+
insertBefore2(this.parentNode, elm, this.nextSibling);
|
|
21277
22013
|
}
|
|
21278
22014
|
return elm;
|
|
21279
22015
|
}
|
|
@@ -21282,7 +22018,7 @@ var MockElement = class extends MockNode2 {
|
|
|
21282
22018
|
if (position === "beforebegin") {
|
|
21283
22019
|
while (frag.childNodes.length > 0) {
|
|
21284
22020
|
if (this.parentNode) {
|
|
21285
|
-
|
|
22021
|
+
insertBefore2(this.parentNode, frag.childNodes[0], this);
|
|
21286
22022
|
}
|
|
21287
22023
|
}
|
|
21288
22024
|
} else if (position === "afterbegin") {
|
|
@@ -21296,7 +22032,7 @@ var MockElement = class extends MockNode2 {
|
|
|
21296
22032
|
} else if (position === "afterend") {
|
|
21297
22033
|
while (frag.childNodes.length > 0) {
|
|
21298
22034
|
if (this.parentNode) {
|
|
21299
|
-
|
|
22035
|
+
insertBefore2(this.parentNode, frag.childNodes[frag.childNodes.length - 1], this.nextSibling);
|
|
21300
22036
|
}
|
|
21301
22037
|
}
|
|
21302
22038
|
}
|
|
@@ -21304,13 +22040,13 @@ var MockElement = class extends MockNode2 {
|
|
|
21304
22040
|
insertAdjacentText(position, text) {
|
|
21305
22041
|
const elm = this.ownerDocument.createTextNode(text);
|
|
21306
22042
|
if (position === "beforebegin" && this.parentNode) {
|
|
21307
|
-
|
|
22043
|
+
insertBefore2(this.parentNode, elm, this);
|
|
21308
22044
|
} else if (position === "afterbegin") {
|
|
21309
22045
|
this.prepend(elm);
|
|
21310
22046
|
} else if (position === "beforeend") {
|
|
21311
22047
|
this.appendChild(elm);
|
|
21312
22048
|
} else if (position === "afterend" && this.parentNode) {
|
|
21313
|
-
|
|
22049
|
+
insertBefore2(this.parentNode, elm, this.nextSibling);
|
|
21314
22050
|
}
|
|
21315
22051
|
}
|
|
21316
22052
|
hasAttribute(attrName) {
|
|
@@ -21725,7 +22461,7 @@ function resetElement(elm) {
|
|
|
21725
22461
|
delete elm.__shadowRoot;
|
|
21726
22462
|
delete elm.__style;
|
|
21727
22463
|
}
|
|
21728
|
-
function
|
|
22464
|
+
function insertBefore2(parentNode, newNode, referenceNode) {
|
|
21729
22465
|
if (newNode !== referenceNode) {
|
|
21730
22466
|
newNode.remove();
|
|
21731
22467
|
newNode.parentNode = parentNode;
|
|
@@ -23837,968 +24573,434 @@ var MockWindow = class {
|
|
|
23837
24573
|
}
|
|
23838
24574
|
onpointerout() {
|
|
23839
24575
|
}
|
|
23840
|
-
onpointerover() {
|
|
23841
|
-
}
|
|
23842
|
-
onpointerup() {
|
|
23843
|
-
}
|
|
23844
|
-
onprogress() {
|
|
23845
|
-
}
|
|
23846
|
-
onratechange() {
|
|
23847
|
-
}
|
|
23848
|
-
onreset() {
|
|
23849
|
-
}
|
|
23850
|
-
onresize() {
|
|
23851
|
-
}
|
|
23852
|
-
onscroll() {
|
|
23853
|
-
}
|
|
23854
|
-
onsearch() {
|
|
23855
|
-
}
|
|
23856
|
-
onseeked() {
|
|
23857
|
-
}
|
|
23858
|
-
onseeking() {
|
|
23859
|
-
}
|
|
23860
|
-
onselect() {
|
|
23861
|
-
}
|
|
23862
|
-
onselectstart() {
|
|
23863
|
-
}
|
|
23864
|
-
onstalled() {
|
|
23865
|
-
}
|
|
23866
|
-
onsubmit() {
|
|
23867
|
-
}
|
|
23868
|
-
onsuspend() {
|
|
23869
|
-
}
|
|
23870
|
-
ontimeupdate() {
|
|
23871
|
-
}
|
|
23872
|
-
ontoggle() {
|
|
23873
|
-
}
|
|
23874
|
-
onvolumechange() {
|
|
23875
|
-
}
|
|
23876
|
-
onwaiting() {
|
|
23877
|
-
}
|
|
23878
|
-
onwebkitfullscreenchange() {
|
|
23879
|
-
}
|
|
23880
|
-
onwebkitfullscreenerror() {
|
|
23881
|
-
}
|
|
23882
|
-
onwheel() {
|
|
23883
|
-
}
|
|
23884
|
-
};
|
|
23885
|
-
addGlobalsToWindowPrototype(MockWindow.prototype);
|
|
23886
|
-
function resetWindowDefaults(win2) {
|
|
23887
|
-
win2.__clearInterval = nativeClearInterval;
|
|
23888
|
-
win2.__clearTimeout = nativeClearTimeout;
|
|
23889
|
-
win2.__setInterval = nativeSetInterval;
|
|
23890
|
-
win2.__setTimeout = nativeSetTimeout;
|
|
23891
|
-
win2.__maxTimeout = 6e4;
|
|
23892
|
-
win2.__allowInterval = true;
|
|
23893
|
-
win2.URL = nativeURL;
|
|
23894
|
-
}
|
|
23895
|
-
function cloneWindow(srcWin, opts = {}) {
|
|
23896
|
-
if (srcWin == null) {
|
|
23897
|
-
return null;
|
|
23898
|
-
}
|
|
23899
|
-
const clonedWin = new MockWindow(false);
|
|
23900
|
-
if (!opts.customElementProxy) {
|
|
23901
|
-
srcWin.customElements = null;
|
|
23902
|
-
}
|
|
23903
|
-
if (srcWin.document != null) {
|
|
23904
|
-
const clonedDoc = new MockDocument(false, clonedWin);
|
|
23905
|
-
clonedWin.document = clonedDoc;
|
|
23906
|
-
clonedDoc.documentElement = srcWin.document.documentElement.cloneNode(true);
|
|
23907
|
-
} else {
|
|
23908
|
-
clonedWin.document = new MockDocument(null, clonedWin);
|
|
23909
|
-
}
|
|
23910
|
-
return clonedWin;
|
|
23911
|
-
}
|
|
23912
|
-
function constrainTimeouts(win2) {
|
|
23913
|
-
win2.__allowInterval = false;
|
|
23914
|
-
win2.__maxTimeout = 0;
|
|
23915
|
-
}
|
|
23916
|
-
function resetWindow(win2) {
|
|
23917
|
-
if (win2 != null) {
|
|
23918
|
-
if (win2.__timeouts) {
|
|
23919
|
-
win2.__timeouts.forEach((timeoutId) => {
|
|
23920
|
-
nativeClearInterval(timeoutId);
|
|
23921
|
-
nativeClearTimeout(timeoutId);
|
|
23922
|
-
});
|
|
23923
|
-
win2.__timeouts.clear();
|
|
23924
|
-
}
|
|
23925
|
-
if (win2.customElements && win2.customElements.clear) {
|
|
23926
|
-
win2.customElements.clear();
|
|
23927
|
-
}
|
|
23928
|
-
resetDocument(win2.document);
|
|
23929
|
-
resetPerformance(win2.performance);
|
|
23930
|
-
for (const key in win2) {
|
|
23931
|
-
if (win2.hasOwnProperty(key) && key !== "document" && key !== "performance" && key !== "customElements") {
|
|
23932
|
-
delete win2[key];
|
|
23933
|
-
}
|
|
23934
|
-
}
|
|
23935
|
-
resetWindowDefaults(win2);
|
|
23936
|
-
resetWindowDimensions(win2);
|
|
23937
|
-
resetEventListeners(win2);
|
|
23938
|
-
if (win2.document != null) {
|
|
23939
|
-
try {
|
|
23940
|
-
win2.document.defaultView = win2;
|
|
23941
|
-
} catch (e) {
|
|
23942
|
-
}
|
|
23943
|
-
}
|
|
23944
|
-
win2.fetch = null;
|
|
23945
|
-
win2.Headers = null;
|
|
23946
|
-
win2.Request = null;
|
|
23947
|
-
win2.Response = null;
|
|
23948
|
-
win2.FetchError = null;
|
|
23949
|
-
}
|
|
23950
|
-
}
|
|
23951
|
-
function resetWindowDimensions(win2) {
|
|
23952
|
-
try {
|
|
23953
|
-
win2.devicePixelRatio = 1;
|
|
23954
|
-
win2.innerHeight = 768;
|
|
23955
|
-
win2.innerWidth = 1366;
|
|
23956
|
-
win2.pageXOffset = 0;
|
|
23957
|
-
win2.pageYOffset = 0;
|
|
23958
|
-
win2.screenLeft = 0;
|
|
23959
|
-
win2.screenTop = 0;
|
|
23960
|
-
win2.screenX = 0;
|
|
23961
|
-
win2.screenY = 0;
|
|
23962
|
-
win2.scrollX = 0;
|
|
23963
|
-
win2.scrollY = 0;
|
|
23964
|
-
win2.screen = {
|
|
23965
|
-
availHeight: win2.innerHeight,
|
|
23966
|
-
availLeft: 0,
|
|
23967
|
-
availTop: 0,
|
|
23968
|
-
availWidth: win2.innerWidth,
|
|
23969
|
-
colorDepth: 24,
|
|
23970
|
-
height: win2.innerHeight,
|
|
23971
|
-
keepAwake: false,
|
|
23972
|
-
orientation: {
|
|
23973
|
-
angle: 0,
|
|
23974
|
-
type: "portrait-primary"
|
|
23975
|
-
},
|
|
23976
|
-
pixelDepth: 24,
|
|
23977
|
-
width: win2.innerWidth
|
|
23978
|
-
};
|
|
23979
|
-
} catch (e) {
|
|
23980
|
-
}
|
|
23981
|
-
}
|
|
23982
|
-
|
|
23983
|
-
// src/mock-doc/document.ts
|
|
23984
|
-
var MockDocument = class _MockDocument extends MockHTMLElement {
|
|
23985
|
-
constructor(html = null, win2 = null) {
|
|
23986
|
-
super(null, null);
|
|
23987
|
-
this.nodeName = "#document" /* DOCUMENT_NODE */;
|
|
23988
|
-
this.nodeType = 9 /* DOCUMENT_NODE */;
|
|
23989
|
-
this.defaultView = win2;
|
|
23990
|
-
this.cookie = "";
|
|
23991
|
-
this.referrer = "";
|
|
23992
|
-
this.appendChild(this.createDocumentTypeNode());
|
|
23993
|
-
if (typeof html === "string") {
|
|
23994
|
-
const parsedDoc = parseDocumentUtil(this, html);
|
|
23995
|
-
const documentElement = parsedDoc.children.find((elm) => elm.nodeName === "HTML");
|
|
23996
|
-
if (documentElement != null) {
|
|
23997
|
-
this.appendChild(documentElement);
|
|
23998
|
-
setOwnerDocument(documentElement, this);
|
|
23999
|
-
}
|
|
24000
|
-
} else if (html !== false) {
|
|
24001
|
-
const documentElement = new MockHTMLElement(this, "html");
|
|
24002
|
-
this.appendChild(documentElement);
|
|
24003
|
-
documentElement.appendChild(new MockHTMLElement(this, "head"));
|
|
24004
|
-
documentElement.appendChild(new MockHTMLElement(this, "body"));
|
|
24005
|
-
}
|
|
24006
|
-
}
|
|
24007
|
-
get dir() {
|
|
24008
|
-
return this.documentElement.dir;
|
|
24009
|
-
}
|
|
24010
|
-
set dir(value) {
|
|
24011
|
-
this.documentElement.dir = value;
|
|
24012
|
-
}
|
|
24013
|
-
get localName() {
|
|
24014
|
-
throw new Error("Unimplemented");
|
|
24015
|
-
}
|
|
24016
|
-
get location() {
|
|
24017
|
-
if (this.defaultView != null) {
|
|
24018
|
-
return this.defaultView.location;
|
|
24019
|
-
}
|
|
24020
|
-
return null;
|
|
24021
|
-
}
|
|
24022
|
-
set location(val) {
|
|
24023
|
-
if (this.defaultView != null) {
|
|
24024
|
-
this.defaultView.location.href = val;
|
|
24025
|
-
}
|
|
24026
|
-
}
|
|
24027
|
-
get baseURI() {
|
|
24028
|
-
const baseNode = this.head.childNodes.find((node) => node.nodeName === "BASE");
|
|
24029
|
-
if (baseNode) {
|
|
24030
|
-
return baseNode.href;
|
|
24031
|
-
}
|
|
24032
|
-
return this.URL;
|
|
24033
|
-
}
|
|
24034
|
-
get URL() {
|
|
24035
|
-
return this.location.href;
|
|
24036
|
-
}
|
|
24037
|
-
get styleSheets() {
|
|
24038
|
-
return this.querySelectorAll("style");
|
|
24039
|
-
}
|
|
24040
|
-
get scripts() {
|
|
24041
|
-
return this.querySelectorAll("script");
|
|
24042
|
-
}
|
|
24043
|
-
get forms() {
|
|
24044
|
-
return this.querySelectorAll("form");
|
|
24045
|
-
}
|
|
24046
|
-
get images() {
|
|
24047
|
-
return this.querySelectorAll("img");
|
|
24048
|
-
}
|
|
24049
|
-
get scrollingElement() {
|
|
24050
|
-
return this.documentElement;
|
|
24051
|
-
}
|
|
24052
|
-
get documentElement() {
|
|
24053
|
-
for (let i = this.childNodes.length - 1; i >= 0; i--) {
|
|
24054
|
-
if (this.childNodes[i].nodeName === "HTML") {
|
|
24055
|
-
return this.childNodes[i];
|
|
24056
|
-
}
|
|
24057
|
-
}
|
|
24058
|
-
const documentElement = new MockHTMLElement(this, "html");
|
|
24059
|
-
this.appendChild(documentElement);
|
|
24060
|
-
return documentElement;
|
|
24576
|
+
onpointerover() {
|
|
24061
24577
|
}
|
|
24062
|
-
|
|
24063
|
-
for (let i = this.childNodes.length - 1; i >= 0; i--) {
|
|
24064
|
-
if (this.childNodes[i].nodeType !== 10 /* DOCUMENT_TYPE_NODE */) {
|
|
24065
|
-
this.childNodes[i].remove();
|
|
24066
|
-
}
|
|
24067
|
-
}
|
|
24068
|
-
if (documentElement != null) {
|
|
24069
|
-
this.appendChild(documentElement);
|
|
24070
|
-
setOwnerDocument(documentElement, this);
|
|
24071
|
-
}
|
|
24578
|
+
onpointerup() {
|
|
24072
24579
|
}
|
|
24073
|
-
|
|
24074
|
-
const documentElement = this.documentElement;
|
|
24075
|
-
for (let i = 0; i < documentElement.childNodes.length; i++) {
|
|
24076
|
-
if (documentElement.childNodes[i].nodeName === "HEAD") {
|
|
24077
|
-
return documentElement.childNodes[i];
|
|
24078
|
-
}
|
|
24079
|
-
}
|
|
24080
|
-
const head = new MockHTMLElement(this, "head");
|
|
24081
|
-
documentElement.insertBefore(head, documentElement.firstChild);
|
|
24082
|
-
return head;
|
|
24580
|
+
onprogress() {
|
|
24083
24581
|
}
|
|
24084
|
-
|
|
24085
|
-
const documentElement = this.documentElement;
|
|
24086
|
-
for (let i = documentElement.childNodes.length - 1; i >= 0; i--) {
|
|
24087
|
-
if (documentElement.childNodes[i].nodeName === "HEAD") {
|
|
24088
|
-
documentElement.childNodes[i].remove();
|
|
24089
|
-
}
|
|
24090
|
-
}
|
|
24091
|
-
if (head != null) {
|
|
24092
|
-
documentElement.insertBefore(head, documentElement.firstChild);
|
|
24093
|
-
setOwnerDocument(head, this);
|
|
24094
|
-
}
|
|
24582
|
+
onratechange() {
|
|
24095
24583
|
}
|
|
24096
|
-
|
|
24097
|
-
const documentElement = this.documentElement;
|
|
24098
|
-
for (let i = documentElement.childNodes.length - 1; i >= 0; i--) {
|
|
24099
|
-
if (documentElement.childNodes[i].nodeName === "BODY") {
|
|
24100
|
-
return documentElement.childNodes[i];
|
|
24101
|
-
}
|
|
24102
|
-
}
|
|
24103
|
-
const body = new MockHTMLElement(this, "body");
|
|
24104
|
-
documentElement.appendChild(body);
|
|
24105
|
-
return body;
|
|
24584
|
+
onreset() {
|
|
24106
24585
|
}
|
|
24107
|
-
|
|
24108
|
-
const documentElement = this.documentElement;
|
|
24109
|
-
for (let i = documentElement.childNodes.length - 1; i >= 0; i--) {
|
|
24110
|
-
if (documentElement.childNodes[i].nodeName === "BODY") {
|
|
24111
|
-
documentElement.childNodes[i].remove();
|
|
24112
|
-
}
|
|
24113
|
-
}
|
|
24114
|
-
if (body != null) {
|
|
24115
|
-
documentElement.appendChild(body);
|
|
24116
|
-
setOwnerDocument(body, this);
|
|
24117
|
-
}
|
|
24586
|
+
onresize() {
|
|
24118
24587
|
}
|
|
24119
|
-
|
|
24120
|
-
newNode.remove();
|
|
24121
|
-
newNode.parentNode = this;
|
|
24122
|
-
this.childNodes.push(newNode);
|
|
24123
|
-
return newNode;
|
|
24588
|
+
onscroll() {
|
|
24124
24589
|
}
|
|
24125
|
-
|
|
24126
|
-
return new MockComment(this, data);
|
|
24590
|
+
onsearch() {
|
|
24127
24591
|
}
|
|
24128
|
-
|
|
24129
|
-
return new MockAttr(attrName.toLowerCase(), "");
|
|
24592
|
+
onseeked() {
|
|
24130
24593
|
}
|
|
24131
|
-
|
|
24132
|
-
return new MockAttr(attrName, "", namespaceURI);
|
|
24594
|
+
onseeking() {
|
|
24133
24595
|
}
|
|
24134
|
-
|
|
24135
|
-
if (tagName === "#document" /* DOCUMENT_NODE */) {
|
|
24136
|
-
const doc = new _MockDocument(false);
|
|
24137
|
-
doc.nodeName = tagName;
|
|
24138
|
-
doc.parentNode = null;
|
|
24139
|
-
return doc;
|
|
24140
|
-
}
|
|
24141
|
-
return createElement(this, tagName);
|
|
24596
|
+
onselect() {
|
|
24142
24597
|
}
|
|
24143
|
-
|
|
24144
|
-
const elmNs = createElementNS(this, namespaceURI, tagName);
|
|
24145
|
-
return elmNs;
|
|
24598
|
+
onselectstart() {
|
|
24146
24599
|
}
|
|
24147
|
-
|
|
24148
|
-
return new MockTextNode(this, text);
|
|
24600
|
+
onstalled() {
|
|
24149
24601
|
}
|
|
24150
|
-
|
|
24151
|
-
return new MockDocumentFragment(this);
|
|
24602
|
+
onsubmit() {
|
|
24152
24603
|
}
|
|
24153
|
-
|
|
24154
|
-
return new MockDocumentTypeNode(this);
|
|
24604
|
+
onsuspend() {
|
|
24155
24605
|
}
|
|
24156
|
-
|
|
24157
|
-
return getElementById(this, id);
|
|
24606
|
+
ontimeupdate() {
|
|
24158
24607
|
}
|
|
24159
|
-
|
|
24160
|
-
return getElementsByName(this, elmName.toLowerCase());
|
|
24608
|
+
ontoggle() {
|
|
24161
24609
|
}
|
|
24162
|
-
|
|
24163
|
-
const title = this.head.childNodes.find((elm) => elm.nodeName === "TITLE");
|
|
24164
|
-
if (title != null && typeof title.textContent === "string") {
|
|
24165
|
-
return title.textContent.trim();
|
|
24166
|
-
}
|
|
24167
|
-
return "";
|
|
24610
|
+
onvolumechange() {
|
|
24168
24611
|
}
|
|
24169
|
-
|
|
24170
|
-
|
|
24171
|
-
|
|
24172
|
-
|
|
24173
|
-
|
|
24174
|
-
|
|
24175
|
-
|
|
24176
|
-
title.textContent = value;
|
|
24612
|
+
onwaiting() {
|
|
24613
|
+
}
|
|
24614
|
+
onwebkitfullscreenchange() {
|
|
24615
|
+
}
|
|
24616
|
+
onwebkitfullscreenerror() {
|
|
24617
|
+
}
|
|
24618
|
+
onwheel() {
|
|
24177
24619
|
}
|
|
24178
24620
|
};
|
|
24179
|
-
|
|
24180
|
-
|
|
24181
|
-
|
|
24182
|
-
|
|
24183
|
-
|
|
24184
|
-
|
|
24185
|
-
|
|
24186
|
-
|
|
24187
|
-
|
|
24188
|
-
|
|
24189
|
-
|
|
24190
|
-
|
|
24191
|
-
|
|
24192
|
-
|
|
24193
|
-
|
|
24194
|
-
|
|
24195
|
-
|
|
24196
|
-
|
|
24197
|
-
|
|
24198
|
-
|
|
24199
|
-
|
|
24200
|
-
|
|
24201
|
-
|
|
24202
|
-
|
|
24203
|
-
}
|
|
24204
|
-
try {
|
|
24205
|
-
doc.cookie = "";
|
|
24206
|
-
} catch (e) {
|
|
24207
|
-
}
|
|
24208
|
-
try {
|
|
24209
|
-
doc.referrer = "";
|
|
24210
|
-
} catch (e) {
|
|
24211
|
-
}
|
|
24621
|
+
addGlobalsToWindowPrototype(MockWindow.prototype);
|
|
24622
|
+
function resetWindowDefaults(win2) {
|
|
24623
|
+
win2.__clearInterval = nativeClearInterval;
|
|
24624
|
+
win2.__clearTimeout = nativeClearTimeout;
|
|
24625
|
+
win2.__setInterval = nativeSetInterval;
|
|
24626
|
+
win2.__setTimeout = nativeSetTimeout;
|
|
24627
|
+
win2.__maxTimeout = 6e4;
|
|
24628
|
+
win2.__allowInterval = true;
|
|
24629
|
+
win2.URL = nativeURL;
|
|
24630
|
+
}
|
|
24631
|
+
function cloneWindow(srcWin, opts = {}) {
|
|
24632
|
+
if (srcWin == null) {
|
|
24633
|
+
return null;
|
|
24634
|
+
}
|
|
24635
|
+
const clonedWin = new MockWindow(false);
|
|
24636
|
+
if (!opts.customElementProxy) {
|
|
24637
|
+
srcWin.customElements = null;
|
|
24638
|
+
}
|
|
24639
|
+
if (srcWin.document != null) {
|
|
24640
|
+
const clonedDoc = new MockDocument(false, clonedWin);
|
|
24641
|
+
clonedWin.document = clonedDoc;
|
|
24642
|
+
clonedDoc.documentElement = srcWin.document.documentElement.cloneNode(true);
|
|
24643
|
+
} else {
|
|
24644
|
+
clonedWin.document = new MockDocument(null, clonedWin);
|
|
24212
24645
|
}
|
|
24646
|
+
return clonedWin;
|
|
24213
24647
|
}
|
|
24214
|
-
|
|
24215
|
-
|
|
24216
|
-
|
|
24217
|
-
|
|
24218
|
-
|
|
24219
|
-
|
|
24220
|
-
|
|
24221
|
-
|
|
24222
|
-
|
|
24223
|
-
|
|
24224
|
-
|
|
24225
|
-
|
|
24226
|
-
const childElm = children[i];
|
|
24227
|
-
if (childElm.id === id) {
|
|
24228
|
-
return childElm;
|
|
24648
|
+
function constrainTimeouts(win2) {
|
|
24649
|
+
win2.__allowInterval = false;
|
|
24650
|
+
win2.__maxTimeout = 0;
|
|
24651
|
+
}
|
|
24652
|
+
function resetWindow(win2) {
|
|
24653
|
+
if (win2 != null) {
|
|
24654
|
+
if (win2.__timeouts) {
|
|
24655
|
+
win2.__timeouts.forEach((timeoutId) => {
|
|
24656
|
+
nativeClearInterval(timeoutId);
|
|
24657
|
+
nativeClearTimeout(timeoutId);
|
|
24658
|
+
});
|
|
24659
|
+
win2.__timeouts.clear();
|
|
24229
24660
|
}
|
|
24230
|
-
|
|
24231
|
-
|
|
24232
|
-
return childElmFound;
|
|
24661
|
+
if (win2.customElements && win2.customElements.clear) {
|
|
24662
|
+
win2.customElements.clear();
|
|
24233
24663
|
}
|
|
24234
|
-
|
|
24235
|
-
|
|
24236
|
-
|
|
24237
|
-
|
|
24238
|
-
|
|
24239
|
-
|
|
24240
|
-
const childElm = children[i];
|
|
24241
|
-
if (childElm.name && childElm.name.toLowerCase() === elmName) {
|
|
24242
|
-
foundElms.push(childElm);
|
|
24664
|
+
resetDocument(win2.document);
|
|
24665
|
+
resetPerformance(win2.performance);
|
|
24666
|
+
for (const key in win2) {
|
|
24667
|
+
if (win2.hasOwnProperty(key) && key !== "document" && key !== "performance" && key !== "customElements") {
|
|
24668
|
+
delete win2[key];
|
|
24669
|
+
}
|
|
24243
24670
|
}
|
|
24244
|
-
|
|
24245
|
-
|
|
24246
|
-
|
|
24247
|
-
|
|
24248
|
-
|
|
24249
|
-
|
|
24250
|
-
|
|
24251
|
-
|
|
24252
|
-
setOwnerDocument(elm.childNodes[i], ownerDocument);
|
|
24671
|
+
resetWindowDefaults(win2);
|
|
24672
|
+
resetWindowDimensions(win2);
|
|
24673
|
+
resetEventListeners(win2);
|
|
24674
|
+
if (win2.document != null) {
|
|
24675
|
+
try {
|
|
24676
|
+
win2.document.defaultView = win2;
|
|
24677
|
+
} catch (e) {
|
|
24678
|
+
}
|
|
24253
24679
|
}
|
|
24680
|
+
win2.fetch = null;
|
|
24681
|
+
win2.Headers = null;
|
|
24682
|
+
win2.Request = null;
|
|
24683
|
+
win2.Response = null;
|
|
24684
|
+
win2.FetchError = null;
|
|
24254
24685
|
}
|
|
24255
24686
|
}
|
|
24256
|
-
|
|
24257
|
-
// src/hydrate/runner/create-window.ts
|
|
24258
|
-
var templateWindows = /* @__PURE__ */ new Map();
|
|
24259
|
-
function createWindowFromHtml(templateHtml, uniqueId) {
|
|
24260
|
-
let templateWindow = templateWindows.get(uniqueId);
|
|
24261
|
-
if (templateWindow == null) {
|
|
24262
|
-
templateWindow = new MockWindow(templateHtml);
|
|
24263
|
-
templateWindows.set(uniqueId, templateWindow);
|
|
24264
|
-
}
|
|
24265
|
-
const win2 = cloneWindow(templateWindow);
|
|
24266
|
-
return win2;
|
|
24267
|
-
}
|
|
24268
|
-
var Build = {
|
|
24269
|
-
isDev: BUILD.isDev ? true : false,
|
|
24270
|
-
isBrowser: true,
|
|
24271
|
-
isServer: false,
|
|
24272
|
-
isTesting: BUILD.isTesting ? true : false
|
|
24273
|
-
};
|
|
24274
|
-
|
|
24275
|
-
// src/utils/constants.ts
|
|
24276
|
-
var PrimitiveType = /* @__PURE__ */ ((PrimitiveType2) => {
|
|
24277
|
-
PrimitiveType2["Undefined"] = "undefined";
|
|
24278
|
-
PrimitiveType2["Null"] = "null";
|
|
24279
|
-
PrimitiveType2["String"] = "string";
|
|
24280
|
-
PrimitiveType2["Number"] = "number";
|
|
24281
|
-
PrimitiveType2["SpecialNumber"] = "number";
|
|
24282
|
-
PrimitiveType2["Boolean"] = "boolean";
|
|
24283
|
-
PrimitiveType2["BigInt"] = "bigint";
|
|
24284
|
-
return PrimitiveType2;
|
|
24285
|
-
})(PrimitiveType || {});
|
|
24286
|
-
var NonPrimitiveType = /* @__PURE__ */ ((NonPrimitiveType2) => {
|
|
24287
|
-
NonPrimitiveType2["Array"] = "array";
|
|
24288
|
-
NonPrimitiveType2["Date"] = "date";
|
|
24289
|
-
NonPrimitiveType2["Map"] = "map";
|
|
24290
|
-
NonPrimitiveType2["Object"] = "object";
|
|
24291
|
-
NonPrimitiveType2["RegularExpression"] = "regexp";
|
|
24292
|
-
NonPrimitiveType2["Set"] = "set";
|
|
24293
|
-
NonPrimitiveType2["Channel"] = "channel";
|
|
24294
|
-
NonPrimitiveType2["Symbol"] = "symbol";
|
|
24295
|
-
return NonPrimitiveType2;
|
|
24296
|
-
})(NonPrimitiveType || {});
|
|
24297
|
-
var TYPE_CONSTANT = "type";
|
|
24298
|
-
var VALUE_CONSTANT = "value";
|
|
24299
|
-
var SERIALIZED_PREFIX = "serialized:";
|
|
24300
|
-
var STENCIL_DEV_MODE = BUILD.isTesting ? ["STENCIL:"] : [
|
|
24301
|
-
"%cstencil",
|
|
24302
|
-
"color: white;background:#4c47ff;font-weight: bold; font-size:10px; padding:2px 6px; border-radius: 5px"
|
|
24303
|
-
];
|
|
24304
|
-
var win = typeof window !== "undefined" ? window : {};
|
|
24305
|
-
var H = win.HTMLElement || class {
|
|
24306
|
-
};
|
|
24307
|
-
var supportsShadow = BUILD.shadowDom;
|
|
24308
|
-
var supportsConstructableStylesheets = BUILD.constructableCSS ? /* @__PURE__ */ (() => {
|
|
24687
|
+
function resetWindowDimensions(win2) {
|
|
24309
24688
|
try {
|
|
24310
|
-
|
|
24311
|
-
|
|
24689
|
+
win2.devicePixelRatio = 1;
|
|
24690
|
+
win2.innerHeight = 768;
|
|
24691
|
+
win2.innerWidth = 1366;
|
|
24692
|
+
win2.pageXOffset = 0;
|
|
24693
|
+
win2.pageYOffset = 0;
|
|
24694
|
+
win2.screenLeft = 0;
|
|
24695
|
+
win2.screenTop = 0;
|
|
24696
|
+
win2.screenX = 0;
|
|
24697
|
+
win2.screenY = 0;
|
|
24698
|
+
win2.scrollX = 0;
|
|
24699
|
+
win2.scrollY = 0;
|
|
24700
|
+
win2.screen = {
|
|
24701
|
+
availHeight: win2.innerHeight,
|
|
24702
|
+
availLeft: 0,
|
|
24703
|
+
availTop: 0,
|
|
24704
|
+
availWidth: win2.innerWidth,
|
|
24705
|
+
colorDepth: 24,
|
|
24706
|
+
height: win2.innerHeight,
|
|
24707
|
+
keepAwake: false,
|
|
24708
|
+
orientation: {
|
|
24709
|
+
angle: 0,
|
|
24710
|
+
type: "portrait-primary"
|
|
24711
|
+
},
|
|
24712
|
+
pixelDepth: 24,
|
|
24713
|
+
width: win2.innerWidth
|
|
24714
|
+
};
|
|
24312
24715
|
} catch (e) {
|
|
24313
24716
|
}
|
|
24314
|
-
|
|
24315
|
-
})() : false;
|
|
24316
|
-
|
|
24317
|
-
// src/utils/helpers.ts
|
|
24318
|
-
var isString = (v) => typeof v === "string";
|
|
24717
|
+
}
|
|
24319
24718
|
|
|
24320
|
-
// src/
|
|
24321
|
-
var
|
|
24322
|
-
constructor(
|
|
24323
|
-
|
|
24324
|
-
|
|
24325
|
-
|
|
24326
|
-
|
|
24327
|
-
|
|
24719
|
+
// src/mock-doc/document.ts
|
|
24720
|
+
var MockDocument = class _MockDocument extends MockHTMLElement {
|
|
24721
|
+
constructor(html = null, win2 = null) {
|
|
24722
|
+
super(null, null);
|
|
24723
|
+
this.nodeName = "#document" /* DOCUMENT_NODE */;
|
|
24724
|
+
this.nodeType = 9 /* DOCUMENT_NODE */;
|
|
24725
|
+
this.defaultView = win2;
|
|
24726
|
+
this.cookie = "";
|
|
24727
|
+
this.referrer = "";
|
|
24728
|
+
this.appendChild(this.createDocumentTypeNode());
|
|
24729
|
+
if (typeof html === "string") {
|
|
24730
|
+
const parsedDoc = parseDocumentUtil(this, html);
|
|
24731
|
+
const documentElement = parsedDoc.children.find((elm) => elm.nodeName === "HTML");
|
|
24732
|
+
if (documentElement != null) {
|
|
24733
|
+
this.appendChild(documentElement);
|
|
24734
|
+
setOwnerDocument(documentElement, this);
|
|
24735
|
+
}
|
|
24736
|
+
} else if (html !== false) {
|
|
24737
|
+
const documentElement = new MockHTMLElement(this, "html");
|
|
24738
|
+
this.appendChild(documentElement);
|
|
24739
|
+
documentElement.appendChild(new MockHTMLElement(this, "head"));
|
|
24740
|
+
documentElement.appendChild(new MockHTMLElement(this, "body"));
|
|
24328
24741
|
}
|
|
24329
24742
|
}
|
|
24330
|
-
|
|
24331
|
-
|
|
24332
|
-
*
|
|
24333
|
-
* @param {string} value - The string value to be stored in the LocalValue object.
|
|
24334
|
-
* @returns {LocalValue} - The created LocalValue object.
|
|
24335
|
-
*/
|
|
24336
|
-
static createStringValue(value) {
|
|
24337
|
-
return new _LocalValue("string" /* String */, value);
|
|
24743
|
+
get dir() {
|
|
24744
|
+
return this.documentElement.dir;
|
|
24338
24745
|
}
|
|
24339
|
-
|
|
24340
|
-
|
|
24341
|
-
*
|
|
24342
|
-
* @param {number} value - The number value.
|
|
24343
|
-
* @returns {LocalValue} - The created LocalValue object.
|
|
24344
|
-
*/
|
|
24345
|
-
static createNumberValue(value) {
|
|
24346
|
-
return new _LocalValue("number" /* Number */, value);
|
|
24746
|
+
set dir(value) {
|
|
24747
|
+
this.documentElement.dir = value;
|
|
24347
24748
|
}
|
|
24348
|
-
|
|
24349
|
-
|
|
24350
|
-
*
|
|
24351
|
-
* @param {number} value - The value of the special number.
|
|
24352
|
-
* @returns {LocalValue} - The created LocalValue object.
|
|
24353
|
-
*/
|
|
24354
|
-
static createSpecialNumberValue(value) {
|
|
24355
|
-
if (Number.isNaN(value)) {
|
|
24356
|
-
return new _LocalValue("number" /* SpecialNumber */, "NaN");
|
|
24357
|
-
}
|
|
24358
|
-
if (Object.is(value, -0)) {
|
|
24359
|
-
return new _LocalValue("number" /* SpecialNumber */, "-0");
|
|
24360
|
-
}
|
|
24361
|
-
if (value === Infinity) {
|
|
24362
|
-
return new _LocalValue("number" /* SpecialNumber */, "Infinity");
|
|
24363
|
-
}
|
|
24364
|
-
if (value === -Infinity) {
|
|
24365
|
-
return new _LocalValue("number" /* SpecialNumber */, "-Infinity");
|
|
24366
|
-
}
|
|
24367
|
-
return new _LocalValue("number" /* SpecialNumber */, value);
|
|
24749
|
+
get localName() {
|
|
24750
|
+
throw new Error("Unimplemented");
|
|
24368
24751
|
}
|
|
24369
|
-
|
|
24370
|
-
|
|
24371
|
-
|
|
24372
|
-
|
|
24373
|
-
|
|
24374
|
-
return new _LocalValue("undefined" /* Undefined */);
|
|
24752
|
+
get location() {
|
|
24753
|
+
if (this.defaultView != null) {
|
|
24754
|
+
return this.defaultView.location;
|
|
24755
|
+
}
|
|
24756
|
+
return null;
|
|
24375
24757
|
}
|
|
24376
|
-
|
|
24377
|
-
|
|
24378
|
-
|
|
24379
|
-
|
|
24380
|
-
static createNullValue() {
|
|
24381
|
-
return new _LocalValue("null" /* Null */);
|
|
24758
|
+
set location(val) {
|
|
24759
|
+
if (this.defaultView != null) {
|
|
24760
|
+
this.defaultView.location.href = val;
|
|
24761
|
+
}
|
|
24382
24762
|
}
|
|
24383
|
-
|
|
24384
|
-
|
|
24385
|
-
|
|
24386
|
-
|
|
24387
|
-
|
|
24388
|
-
|
|
24389
|
-
static createBooleanValue(value) {
|
|
24390
|
-
return new _LocalValue("boolean" /* Boolean */, value);
|
|
24763
|
+
get baseURI() {
|
|
24764
|
+
const baseNode = this.head.childNodes.find((node) => node.nodeName === "BASE");
|
|
24765
|
+
if (baseNode) {
|
|
24766
|
+
return baseNode.href;
|
|
24767
|
+
}
|
|
24768
|
+
return this.URL;
|
|
24391
24769
|
}
|
|
24392
|
-
|
|
24393
|
-
|
|
24394
|
-
*
|
|
24395
|
-
* @param {BigInt} value - The BigInt value.
|
|
24396
|
-
* @returns {LocalValue} - The created LocalValue object.
|
|
24397
|
-
*/
|
|
24398
|
-
static createBigIntValue(value) {
|
|
24399
|
-
return new _LocalValue("bigint" /* BigInt */, value.toString());
|
|
24770
|
+
get URL() {
|
|
24771
|
+
return this.location.href;
|
|
24400
24772
|
}
|
|
24401
|
-
|
|
24402
|
-
|
|
24403
|
-
*
|
|
24404
|
-
* @param {Array} value - The array.
|
|
24405
|
-
* @returns {LocalValue} - The created LocalValue object.
|
|
24406
|
-
*/
|
|
24407
|
-
static createArrayValue(value) {
|
|
24408
|
-
return new _LocalValue("array" /* Array */, value);
|
|
24773
|
+
get styleSheets() {
|
|
24774
|
+
return this.querySelectorAll("style");
|
|
24409
24775
|
}
|
|
24410
|
-
|
|
24411
|
-
|
|
24412
|
-
*
|
|
24413
|
-
* @param {string} value - The date.
|
|
24414
|
-
* @returns {LocalValue} - The created LocalValue object.
|
|
24415
|
-
*/
|
|
24416
|
-
static createDateValue(value) {
|
|
24417
|
-
return new _LocalValue("date" /* Date */, value);
|
|
24776
|
+
get scripts() {
|
|
24777
|
+
return this.querySelectorAll("script");
|
|
24418
24778
|
}
|
|
24419
|
-
|
|
24420
|
-
|
|
24421
|
-
* @param {Map} map - The map.
|
|
24422
|
-
* @returns {LocalValue} - The created LocalValue object.
|
|
24423
|
-
*/
|
|
24424
|
-
static createMapValue(map2) {
|
|
24425
|
-
const value = [];
|
|
24426
|
-
Array.from(map2.entries()).forEach(([key, val]) => {
|
|
24427
|
-
value.push([_LocalValue.getArgument(key), _LocalValue.getArgument(val)]);
|
|
24428
|
-
});
|
|
24429
|
-
return new _LocalValue("map" /* Map */, value);
|
|
24779
|
+
get forms() {
|
|
24780
|
+
return this.querySelectorAll("form");
|
|
24430
24781
|
}
|
|
24431
|
-
|
|
24432
|
-
|
|
24433
|
-
*
|
|
24434
|
-
* @param object the object to create a LocalValue from
|
|
24435
|
-
* @returns {LocalValue} - The created LocalValue object.
|
|
24436
|
-
*/
|
|
24437
|
-
static createObjectValue(object) {
|
|
24438
|
-
const value = [];
|
|
24439
|
-
Object.entries(object).forEach(([key, val]) => {
|
|
24440
|
-
value.push([key, _LocalValue.getArgument(val)]);
|
|
24441
|
-
});
|
|
24442
|
-
return new _LocalValue("object" /* Object */, value);
|
|
24782
|
+
get images() {
|
|
24783
|
+
return this.querySelectorAll("img");
|
|
24443
24784
|
}
|
|
24444
|
-
|
|
24445
|
-
|
|
24446
|
-
*
|
|
24447
|
-
* @param {string} value - The value of the regular expression.
|
|
24448
|
-
* @returns {LocalValue} - The created LocalValue object.
|
|
24449
|
-
*/
|
|
24450
|
-
static createRegularExpressionValue(value) {
|
|
24451
|
-
return new _LocalValue("regexp" /* RegularExpression */, value);
|
|
24785
|
+
get scrollingElement() {
|
|
24786
|
+
return this.documentElement;
|
|
24452
24787
|
}
|
|
24453
|
-
|
|
24454
|
-
|
|
24455
|
-
|
|
24456
|
-
|
|
24457
|
-
|
|
24458
|
-
|
|
24459
|
-
|
|
24788
|
+
get documentElement() {
|
|
24789
|
+
for (let i = this.childNodes.length - 1; i >= 0; i--) {
|
|
24790
|
+
if (this.childNodes[i].nodeName === "HTML") {
|
|
24791
|
+
return this.childNodes[i];
|
|
24792
|
+
}
|
|
24793
|
+
}
|
|
24794
|
+
const documentElement = new MockHTMLElement(this, "html");
|
|
24795
|
+
this.appendChild(documentElement);
|
|
24796
|
+
return documentElement;
|
|
24460
24797
|
}
|
|
24461
|
-
|
|
24462
|
-
|
|
24463
|
-
|
|
24464
|
-
|
|
24465
|
-
|
|
24466
|
-
|
|
24467
|
-
|
|
24468
|
-
|
|
24798
|
+
set documentElement(documentElement) {
|
|
24799
|
+
for (let i = this.childNodes.length - 1; i >= 0; i--) {
|
|
24800
|
+
if (this.childNodes[i].nodeType !== 10 /* DOCUMENT_TYPE_NODE */) {
|
|
24801
|
+
this.childNodes[i].remove();
|
|
24802
|
+
}
|
|
24803
|
+
}
|
|
24804
|
+
if (documentElement != null) {
|
|
24805
|
+
this.appendChild(documentElement);
|
|
24806
|
+
setOwnerDocument(documentElement, this);
|
|
24807
|
+
}
|
|
24469
24808
|
}
|
|
24470
|
-
|
|
24471
|
-
|
|
24472
|
-
|
|
24473
|
-
|
|
24474
|
-
|
|
24475
|
-
|
|
24476
|
-
|
|
24477
|
-
const
|
|
24478
|
-
|
|
24809
|
+
get head() {
|
|
24810
|
+
const documentElement = this.documentElement;
|
|
24811
|
+
for (let i = 0; i < documentElement.childNodes.length; i++) {
|
|
24812
|
+
if (documentElement.childNodes[i].nodeName === "HEAD") {
|
|
24813
|
+
return documentElement.childNodes[i];
|
|
24814
|
+
}
|
|
24815
|
+
}
|
|
24816
|
+
const head = new MockHTMLElement(this, "head");
|
|
24817
|
+
documentElement.insertBefore(head, documentElement.firstChild);
|
|
24818
|
+
return head;
|
|
24479
24819
|
}
|
|
24480
|
-
|
|
24481
|
-
const
|
|
24482
|
-
|
|
24483
|
-
|
|
24484
|
-
|
|
24485
|
-
|
|
24486
|
-
|
|
24487
|
-
|
|
24488
|
-
|
|
24489
|
-
|
|
24490
|
-
case "boolean" /* Boolean */:
|
|
24491
|
-
return _LocalValue.createBooleanValue(argument);
|
|
24492
|
-
case "bigint" /* BigInt */:
|
|
24493
|
-
return _LocalValue.createBigIntValue(argument);
|
|
24494
|
-
case "undefined" /* Undefined */:
|
|
24495
|
-
return _LocalValue.createUndefinedValue();
|
|
24496
|
-
case "symbol" /* Symbol */:
|
|
24497
|
-
return _LocalValue.createSymbolValue(argument);
|
|
24498
|
-
case "object" /* Object */:
|
|
24499
|
-
if (argument === null) {
|
|
24500
|
-
return _LocalValue.createNullValue();
|
|
24501
|
-
}
|
|
24502
|
-
if (argument instanceof Date) {
|
|
24503
|
-
return _LocalValue.createDateValue(argument);
|
|
24504
|
-
}
|
|
24505
|
-
if (argument instanceof Map) {
|
|
24506
|
-
const map2 = [];
|
|
24507
|
-
argument.forEach((value, key) => {
|
|
24508
|
-
const objectKey = typeof key === "string" ? key : _LocalValue.getArgument(key);
|
|
24509
|
-
const objectValue = _LocalValue.getArgument(value);
|
|
24510
|
-
map2.push([objectKey, objectValue]);
|
|
24511
|
-
});
|
|
24512
|
-
return _LocalValue.createMapValue(argument);
|
|
24513
|
-
}
|
|
24514
|
-
if (argument instanceof Set) {
|
|
24515
|
-
const set = [];
|
|
24516
|
-
argument.forEach((value) => {
|
|
24517
|
-
set.push(_LocalValue.getArgument(value));
|
|
24518
|
-
});
|
|
24519
|
-
return _LocalValue.createSetValue(set);
|
|
24520
|
-
}
|
|
24521
|
-
if (argument instanceof Array) {
|
|
24522
|
-
const arr = [];
|
|
24523
|
-
argument.forEach((value) => {
|
|
24524
|
-
arr.push(_LocalValue.getArgument(value));
|
|
24525
|
-
});
|
|
24526
|
-
return _LocalValue.createArrayValue(arr);
|
|
24527
|
-
}
|
|
24528
|
-
if (argument instanceof RegExp) {
|
|
24529
|
-
return _LocalValue.createRegularExpressionValue({
|
|
24530
|
-
pattern: argument.source,
|
|
24531
|
-
flags: argument.flags
|
|
24532
|
-
});
|
|
24533
|
-
}
|
|
24534
|
-
return _LocalValue.createObjectValue(argument);
|
|
24820
|
+
set head(head) {
|
|
24821
|
+
const documentElement = this.documentElement;
|
|
24822
|
+
for (let i = documentElement.childNodes.length - 1; i >= 0; i--) {
|
|
24823
|
+
if (documentElement.childNodes[i].nodeName === "HEAD") {
|
|
24824
|
+
documentElement.childNodes[i].remove();
|
|
24825
|
+
}
|
|
24826
|
+
}
|
|
24827
|
+
if (head != null) {
|
|
24828
|
+
documentElement.insertBefore(head, documentElement.firstChild);
|
|
24829
|
+
setOwnerDocument(head, this);
|
|
24535
24830
|
}
|
|
24536
|
-
throw new Error(`Unsupported type: ${type}`);
|
|
24537
24831
|
}
|
|
24538
|
-
|
|
24539
|
-
|
|
24540
|
-
|
|
24541
|
-
|
|
24542
|
-
|
|
24832
|
+
get body() {
|
|
24833
|
+
const documentElement = this.documentElement;
|
|
24834
|
+
for (let i = documentElement.childNodes.length - 1; i >= 0; i--) {
|
|
24835
|
+
if (documentElement.childNodes[i].nodeName === "BODY") {
|
|
24836
|
+
return documentElement.childNodes[i];
|
|
24837
|
+
}
|
|
24838
|
+
}
|
|
24839
|
+
const body = new MockHTMLElement(this, "body");
|
|
24840
|
+
documentElement.appendChild(body);
|
|
24841
|
+
return body;
|
|
24543
24842
|
}
|
|
24544
|
-
|
|
24545
|
-
|
|
24546
|
-
|
|
24547
|
-
|
|
24548
|
-
|
|
24549
|
-
level: "error",
|
|
24550
|
-
type: "build",
|
|
24551
|
-
header: "Build Error",
|
|
24552
|
-
messageText: "build error",
|
|
24553
|
-
lines: []
|
|
24554
|
-
};
|
|
24555
|
-
if (isString(msg)) {
|
|
24556
|
-
diagnostic.messageText = msg.length ? msg : "UNKNOWN ERROR";
|
|
24557
|
-
} else if (err2 != null) {
|
|
24558
|
-
if (err2.stack != null) {
|
|
24559
|
-
diagnostic.messageText = err2.stack.toString();
|
|
24560
|
-
} else {
|
|
24561
|
-
if (err2.message != null) {
|
|
24562
|
-
diagnostic.messageText = err2.message.length ? err2.message : "UNKNOWN ERROR";
|
|
24563
|
-
} else {
|
|
24564
|
-
diagnostic.messageText = err2.toString();
|
|
24843
|
+
set body(body) {
|
|
24844
|
+
const documentElement = this.documentElement;
|
|
24845
|
+
for (let i = documentElement.childNodes.length - 1; i >= 0; i--) {
|
|
24846
|
+
if (documentElement.childNodes[i].nodeName === "BODY") {
|
|
24847
|
+
documentElement.childNodes[i].remove();
|
|
24565
24848
|
}
|
|
24566
24849
|
}
|
|
24850
|
+
if (body != null) {
|
|
24851
|
+
documentElement.appendChild(body);
|
|
24852
|
+
setOwnerDocument(body, this);
|
|
24853
|
+
}
|
|
24567
24854
|
}
|
|
24568
|
-
|
|
24569
|
-
|
|
24855
|
+
appendChild(newNode) {
|
|
24856
|
+
newNode.remove();
|
|
24857
|
+
newNode.parentNode = this;
|
|
24858
|
+
this.childNodes.push(newNode);
|
|
24859
|
+
return newNode;
|
|
24570
24860
|
}
|
|
24571
|
-
|
|
24572
|
-
|
|
24573
|
-
var hasError = (diagnostics) => {
|
|
24574
|
-
if (diagnostics == null || diagnostics.length === 0) {
|
|
24575
|
-
return false;
|
|
24861
|
+
createComment(data) {
|
|
24862
|
+
return new MockComment(this, data);
|
|
24576
24863
|
}
|
|
24577
|
-
|
|
24578
|
-
|
|
24579
|
-
|
|
24580
|
-
|
|
24581
|
-
|
|
24582
|
-
|
|
24583
|
-
|
|
24584
|
-
|
|
24585
|
-
|
|
24586
|
-
|
|
24587
|
-
|
|
24588
|
-
|
|
24589
|
-
// src/utils/remote-value.ts
|
|
24590
|
-
var RemoteValue = class _RemoteValue {
|
|
24591
|
-
/**
|
|
24592
|
-
* Deserializes a LocalValue serialized object back to its original JavaScript representation
|
|
24593
|
-
*
|
|
24594
|
-
* @param serialized The serialized LocalValue object
|
|
24595
|
-
* @returns The original JavaScript value/object
|
|
24596
|
-
*/
|
|
24597
|
-
static fromLocalValue(serialized) {
|
|
24598
|
-
const type = serialized[TYPE_CONSTANT];
|
|
24599
|
-
const value = VALUE_CONSTANT in serialized ? serialized[VALUE_CONSTANT] : void 0;
|
|
24600
|
-
switch (type) {
|
|
24601
|
-
case "string" /* String */:
|
|
24602
|
-
return value;
|
|
24603
|
-
case "boolean" /* Boolean */:
|
|
24604
|
-
return value;
|
|
24605
|
-
case "bigint" /* BigInt */:
|
|
24606
|
-
return BigInt(value);
|
|
24607
|
-
case "undefined" /* Undefined */:
|
|
24608
|
-
return void 0;
|
|
24609
|
-
case "null" /* Null */:
|
|
24610
|
-
return null;
|
|
24611
|
-
case "number" /* Number */:
|
|
24612
|
-
if (value === "NaN") return NaN;
|
|
24613
|
-
if (value === "-0") return -0;
|
|
24614
|
-
if (value === "Infinity") return Infinity;
|
|
24615
|
-
if (value === "-Infinity") return -Infinity;
|
|
24616
|
-
return value;
|
|
24617
|
-
case "array" /* Array */:
|
|
24618
|
-
return value.map((item) => _RemoteValue.fromLocalValue(item));
|
|
24619
|
-
case "date" /* Date */:
|
|
24620
|
-
return new Date(value);
|
|
24621
|
-
case "map" /* Map */:
|
|
24622
|
-
const map2 = /* @__PURE__ */ new Map();
|
|
24623
|
-
for (const [key, val] of value) {
|
|
24624
|
-
const deserializedKey = typeof key === "object" && key !== null ? _RemoteValue.fromLocalValue(key) : key;
|
|
24625
|
-
const deserializedValue = _RemoteValue.fromLocalValue(val);
|
|
24626
|
-
map2.set(deserializedKey, deserializedValue);
|
|
24627
|
-
}
|
|
24628
|
-
return map2;
|
|
24629
|
-
case "object" /* Object */:
|
|
24630
|
-
const obj = {};
|
|
24631
|
-
for (const [key, val] of value) {
|
|
24632
|
-
obj[key] = _RemoteValue.fromLocalValue(val);
|
|
24633
|
-
}
|
|
24634
|
-
return obj;
|
|
24635
|
-
case "regexp" /* RegularExpression */:
|
|
24636
|
-
const { pattern, flags } = value;
|
|
24637
|
-
return new RegExp(pattern, flags);
|
|
24638
|
-
case "set" /* Set */:
|
|
24639
|
-
const set = /* @__PURE__ */ new Set();
|
|
24640
|
-
for (const item of value) {
|
|
24641
|
-
set.add(_RemoteValue.fromLocalValue(item));
|
|
24642
|
-
}
|
|
24643
|
-
return set;
|
|
24644
|
-
case "symbol" /* Symbol */:
|
|
24645
|
-
return Symbol(value);
|
|
24646
|
-
default:
|
|
24647
|
-
throw new Error(`Unsupported type: ${type}`);
|
|
24864
|
+
createAttribute(attrName) {
|
|
24865
|
+
return new MockAttr(attrName.toLowerCase(), "");
|
|
24866
|
+
}
|
|
24867
|
+
createAttributeNS(namespaceURI, attrName) {
|
|
24868
|
+
return new MockAttr(attrName, "", namespaceURI);
|
|
24869
|
+
}
|
|
24870
|
+
createElement(tagName) {
|
|
24871
|
+
if (tagName === "#document" /* DOCUMENT_NODE */) {
|
|
24872
|
+
const doc = new _MockDocument(false);
|
|
24873
|
+
doc.nodeName = tagName;
|
|
24874
|
+
doc.parentNode = null;
|
|
24875
|
+
return doc;
|
|
24648
24876
|
}
|
|
24877
|
+
return createElement(this, tagName);
|
|
24649
24878
|
}
|
|
24650
|
-
|
|
24651
|
-
|
|
24652
|
-
|
|
24653
|
-
* @param serializedValues Array of serialized LocalValue objects
|
|
24654
|
-
* @returns Array of deserialized JavaScript values
|
|
24655
|
-
*/
|
|
24656
|
-
static fromLocalValueArray(serializedValues) {
|
|
24657
|
-
return serializedValues.map((value) => _RemoteValue.fromLocalValue(value));
|
|
24879
|
+
createElementNS(namespaceURI, tagName) {
|
|
24880
|
+
const elmNs = createElementNS(this, namespaceURI, tagName);
|
|
24881
|
+
return elmNs;
|
|
24658
24882
|
}
|
|
24659
|
-
|
|
24660
|
-
|
|
24661
|
-
|
|
24662
|
-
|
|
24663
|
-
|
|
24664
|
-
|
|
24665
|
-
|
|
24666
|
-
|
|
24667
|
-
|
|
24668
|
-
|
|
24669
|
-
|
|
24670
|
-
|
|
24671
|
-
|
|
24672
|
-
|
|
24673
|
-
|
|
24674
|
-
|
|
24675
|
-
|
|
24883
|
+
createTextNode(text) {
|
|
24884
|
+
return new MockTextNode(this, text);
|
|
24885
|
+
}
|
|
24886
|
+
createDocumentFragment() {
|
|
24887
|
+
return new MockDocumentFragment(this);
|
|
24888
|
+
}
|
|
24889
|
+
createDocumentTypeNode() {
|
|
24890
|
+
return new MockDocumentTypeNode(this);
|
|
24891
|
+
}
|
|
24892
|
+
getElementById(id) {
|
|
24893
|
+
return getElementById(this, id);
|
|
24894
|
+
}
|
|
24895
|
+
getElementsByName(elmName) {
|
|
24896
|
+
return getElementsByName(this, elmName.toLowerCase());
|
|
24897
|
+
}
|
|
24898
|
+
get title() {
|
|
24899
|
+
const title = this.head.childNodes.find((elm) => elm.nodeName === "TITLE");
|
|
24900
|
+
if (title != null && typeof title.textContent === "string") {
|
|
24901
|
+
return title.textContent.trim();
|
|
24676
24902
|
}
|
|
24677
|
-
|
|
24678
|
-
|
|
24903
|
+
return "";
|
|
24904
|
+
}
|
|
24905
|
+
set title(value) {
|
|
24906
|
+
const head = this.head;
|
|
24907
|
+
let title = head.childNodes.find((elm) => elm.nodeName === "TITLE");
|
|
24908
|
+
if (title == null) {
|
|
24909
|
+
title = this.createElement("title");
|
|
24910
|
+
head.appendChild(title);
|
|
24679
24911
|
}
|
|
24680
|
-
|
|
24912
|
+
title.textContent = value;
|
|
24681
24913
|
}
|
|
24682
24914
|
};
|
|
24683
|
-
|
|
24684
|
-
|
|
24685
|
-
|
|
24686
|
-
|
|
24687
|
-
|
|
24688
|
-
|
|
24689
|
-
|
|
24690
|
-
|
|
24691
|
-
|
|
24692
|
-
|
|
24693
|
-
|
|
24694
|
-
|
|
24695
|
-
|
|
24696
|
-
|
|
24697
|
-
|
|
24698
|
-
|
|
24699
|
-
|
|
24700
|
-
|
|
24701
|
-
|
|
24702
|
-
})
|
|
24703
|
-
|
|
24704
|
-
|
|
24705
|
-
|
|
24706
|
-
|
|
24707
|
-
|
|
24708
|
-
|
|
24709
|
-
|
|
24915
|
+
function resetDocument(doc) {
|
|
24916
|
+
if (doc != null) {
|
|
24917
|
+
resetEventListeners(doc);
|
|
24918
|
+
const documentElement = doc.documentElement;
|
|
24919
|
+
if (documentElement != null) {
|
|
24920
|
+
resetElement(documentElement);
|
|
24921
|
+
for (let i = 0, ii = documentElement.childNodes.length; i < ii; i++) {
|
|
24922
|
+
const childNode = documentElement.childNodes[i];
|
|
24923
|
+
resetElement(childNode);
|
|
24924
|
+
childNode.childNodes.length = 0;
|
|
24925
|
+
}
|
|
24926
|
+
}
|
|
24927
|
+
for (const key in doc) {
|
|
24928
|
+
if (doc.hasOwnProperty(key) && !DOC_KEY_KEEPERS.has(key)) {
|
|
24929
|
+
delete doc[key];
|
|
24930
|
+
}
|
|
24931
|
+
}
|
|
24932
|
+
try {
|
|
24933
|
+
doc.nodeName = "#document" /* DOCUMENT_NODE */;
|
|
24934
|
+
} catch (e) {
|
|
24935
|
+
}
|
|
24936
|
+
try {
|
|
24937
|
+
doc.nodeType = 9 /* DOCUMENT_NODE */;
|
|
24938
|
+
} catch (e) {
|
|
24939
|
+
}
|
|
24940
|
+
try {
|
|
24941
|
+
doc.cookie = "";
|
|
24942
|
+
} catch (e) {
|
|
24943
|
+
}
|
|
24944
|
+
try {
|
|
24945
|
+
doc.referrer = "";
|
|
24946
|
+
} catch (e) {
|
|
24710
24947
|
}
|
|
24711
24948
|
}
|
|
24712
|
-
if (result.isErr) {
|
|
24713
|
-
const value = result.value;
|
|
24714
|
-
return err(value);
|
|
24715
|
-
}
|
|
24716
|
-
throw "should never get here";
|
|
24717
24949
|
}
|
|
24718
|
-
var
|
|
24719
|
-
|
|
24720
|
-
|
|
24721
|
-
|
|
24722
|
-
|
|
24723
|
-
|
|
24724
|
-
|
|
24725
|
-
|
|
24726
|
-
|
|
24727
|
-
|
|
24728
|
-
|
|
24729
|
-
|
|
24950
|
+
var DOC_KEY_KEEPERS = /* @__PURE__ */ new Set([
|
|
24951
|
+
"nodeName",
|
|
24952
|
+
"nodeType",
|
|
24953
|
+
"nodeValue",
|
|
24954
|
+
"ownerDocument",
|
|
24955
|
+
"parentNode",
|
|
24956
|
+
"childNodes",
|
|
24957
|
+
"_shadowRoot"
|
|
24958
|
+
]);
|
|
24959
|
+
function getElementById(elm, id) {
|
|
24960
|
+
const children = elm.children;
|
|
24961
|
+
for (let i = 0, ii = children.length; i < ii; i++) {
|
|
24962
|
+
const childElm = children[i];
|
|
24963
|
+
if (childElm.id === id) {
|
|
24964
|
+
return childElm;
|
|
24965
|
+
}
|
|
24966
|
+
const childElmFound = getElementById(childElm, id);
|
|
24967
|
+
if (childElmFound != null) {
|
|
24968
|
+
return childElmFound;
|
|
24969
|
+
}
|
|
24730
24970
|
}
|
|
24731
|
-
|
|
24732
|
-
|
|
24733
|
-
|
|
24734
|
-
|
|
24735
|
-
|
|
24736
|
-
|
|
24971
|
+
return null;
|
|
24972
|
+
}
|
|
24973
|
+
function getElementsByName(elm, elmName, foundElms = []) {
|
|
24974
|
+
const children = elm.children;
|
|
24975
|
+
for (let i = 0, ii = children.length; i < ii; i++) {
|
|
24976
|
+
const childElm = children[i];
|
|
24977
|
+
if (childElm.name && childElm.name.toLowerCase() === elmName) {
|
|
24978
|
+
foundElms.push(childElm);
|
|
24979
|
+
}
|
|
24980
|
+
getElementsByName(childElm, elmName, foundElms);
|
|
24737
24981
|
}
|
|
24738
|
-
|
|
24739
|
-
return SERIALIZED_PREFIX + btoa(JSON.stringify(arg));
|
|
24982
|
+
return foundElms;
|
|
24740
24983
|
}
|
|
24741
|
-
function
|
|
24742
|
-
|
|
24743
|
-
|
|
24984
|
+
function setOwnerDocument(elm, ownerDocument) {
|
|
24985
|
+
for (let i = 0, ii = elm.childNodes.length; i < ii; i++) {
|
|
24986
|
+
elm.childNodes[i].ownerDocument = ownerDocument;
|
|
24987
|
+
if (elm.childNodes[i].nodeType === 1 /* ELEMENT_NODE */) {
|
|
24988
|
+
setOwnerDocument(elm.childNodes[i], ownerDocument);
|
|
24989
|
+
}
|
|
24744
24990
|
}
|
|
24745
|
-
return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
|
|
24746
24991
|
}
|
|
24747
24992
|
|
|
24748
|
-
// src/
|
|
24749
|
-
var
|
|
24750
|
-
|
|
24751
|
-
|
|
24752
|
-
|
|
24753
|
-
);
|
|
24754
|
-
|
|
24755
|
-
|
|
24756
|
-
);
|
|
24757
|
-
|
|
24758
|
-
|
|
24759
|
-
);
|
|
24760
|
-
var isJsFile = lowerPathParam((p) => p.endsWith(".js") || p.endsWith(".mjs") || p.endsWith(".cjs"));
|
|
24761
|
-
|
|
24762
|
-
// src/utils/shadow-css.ts
|
|
24763
|
-
/**
|
|
24764
|
-
* @license
|
|
24765
|
-
* Copyright Google Inc. All Rights Reserved.
|
|
24766
|
-
*
|
|
24767
|
-
* Use of this source code is governed by an MIT-style license that can be
|
|
24768
|
-
* found in the LICENSE file at https://angular.io/license
|
|
24769
|
-
*
|
|
24770
|
-
* This file is a port of shadowCSS from `webcomponents.js` to TypeScript.
|
|
24771
|
-
* https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js
|
|
24772
|
-
* https://github.com/angular/angular/blob/master/packages/compiler/src/shadow_css.ts
|
|
24773
|
-
*/
|
|
24774
|
-
var _polyfillHost = "-shadowcsshost";
|
|
24775
|
-
var _polyfillSlotted = "-shadowcssslotted";
|
|
24776
|
-
var _polyfillHostContext = "-shadowcsscontext";
|
|
24777
|
-
var _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)";
|
|
24778
|
-
var _cssColonHostRe = new RegExp("(" + _polyfillHost + _parenSuffix, "gim");
|
|
24779
|
-
var _cssColonHostContextRe = new RegExp("(" + _polyfillHostContext + _parenSuffix, "gim");
|
|
24780
|
-
var _cssColonSlottedRe = new RegExp("(" + _polyfillSlotted + _parenSuffix, "gim");
|
|
24781
|
-
var _polyfillHostNoCombinator = _polyfillHost + "-no-combinator";
|
|
24782
|
-
var createSupportsRuleRe = (selector) => {
|
|
24783
|
-
const safeSelector = escapeRegExpSpecialCharacters(selector);
|
|
24784
|
-
return new RegExp(
|
|
24785
|
-
// First capture group: match any context before the selector that's not inside @supports selector()
|
|
24786
|
-
// Using negative lookahead to avoid matching inside @supports selector(...) condition
|
|
24787
|
-
`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${safeSelector}))(${safeSelector}\\b)`,
|
|
24788
|
-
"g"
|
|
24789
|
-
);
|
|
24790
|
-
};
|
|
24791
|
-
var _colonSlottedRe = createSupportsRuleRe("::slotted");
|
|
24792
|
-
var _colonHostRe = createSupportsRuleRe(":host");
|
|
24793
|
-
var _colonHostContextRe = createSupportsRuleRe(":host-context");
|
|
24794
|
-
|
|
24795
|
-
// src/runtime/mode.ts
|
|
24796
|
-
var setMode = (handler) => modeResolutionChain.push(handler);
|
|
24797
|
-
var CAPTURE_EVENT_SUFFIX = "Capture";
|
|
24798
|
-
var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
|
|
24799
|
-
var baseClass = BUILD.lazyLoad ? class {
|
|
24800
|
-
} : globalThis.HTMLElement || class {
|
|
24801
|
-
};
|
|
24993
|
+
// src/hydrate/runner/create-window.ts
|
|
24994
|
+
var templateWindows = /* @__PURE__ */ new Map();
|
|
24995
|
+
function createWindowFromHtml(templateHtml, uniqueId) {
|
|
24996
|
+
let templateWindow = templateWindows.get(uniqueId);
|
|
24997
|
+
if (templateWindow == null) {
|
|
24998
|
+
templateWindow = new MockWindow(templateHtml);
|
|
24999
|
+
templateWindows.set(uniqueId, templateWindow);
|
|
25000
|
+
}
|
|
25001
|
+
const win2 = cloneWindow(templateWindow);
|
|
25002
|
+
return win2;
|
|
25003
|
+
}
|
|
24802
25004
|
|
|
24803
25005
|
// src/compiler/html/canonical-link.ts
|
|
24804
25006
|
var updateCanonicalLink = (doc, href) => {
|
|
@@ -26181,10 +26383,21 @@ function removeScripts(elm) {
|
|
|
26181
26383
|
}
|
|
26182
26384
|
}
|
|
26183
26385
|
|
|
26386
|
+
// src/hydrate/runner/index.ts
|
|
26387
|
+
var everywhere;
|
|
26388
|
+
try {
|
|
26389
|
+
everywhere = global || globalThis;
|
|
26390
|
+
} catch (e) {
|
|
26391
|
+
everywhere = window || globalThis;
|
|
26392
|
+
}
|
|
26393
|
+
everywhere.tagTransform = transformTag;
|
|
26394
|
+
|
|
26184
26395
|
exports.createWindowFromHtml = createWindowFromHtml;
|
|
26185
26396
|
exports.deserializeProperty = deserializeProperty;
|
|
26186
26397
|
exports.hydrateDocument = hydrateDocument;
|
|
26187
26398
|
exports.renderToString = renderToString;
|
|
26188
26399
|
exports.serializeDocumentToString = serializeDocumentToString;
|
|
26189
26400
|
exports.serializeProperty = serializeProperty;
|
|
26401
|
+
exports.setTagTransformer = setTagTransformer;
|
|
26190
26402
|
exports.streamToString = streamToString;
|
|
26403
|
+
exports.transformTag = transformTag;
|