@everymatrix/general-stories 1.54.11 → 1.55.0
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/dist/cjs/{general-stories-eec35bcb.js → general-stories-caa7546c.js} +14 -28
- package/dist/cjs/general-stories.cjs.entry.js +2 -2
- package/dist/cjs/general-stories.cjs.js +2 -2
- package/dist/cjs/{index-5e8dba8b.js → index-bfe9e0e7.js} +69 -172
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/general-stories/general-stories.css +5 -3
- package/dist/collection/components/general-stories/general-stories.js +12 -40
- package/dist/esm/{general-stories-b08533ff.js → general-stories-2b03e517.js} +14 -28
- package/dist/esm/general-stories.entry.js +2 -2
- package/dist/esm/general-stories.js +3 -3
- package/dist/esm/{index-3d519791.js → index-eb27780b.js} +69 -172
- package/dist/esm/index.js +2 -2
- package/dist/esm/loader.js +2 -2
- package/dist/general-stories/general-stories.esm.js +1 -1
- package/dist/general-stories/index.esm.js +1 -1
- package/dist/general-stories/p-33a823ba.js +2 -0
- package/dist/general-stories/p-7421aeac.entry.js +1 -0
- package/dist/general-stories/p-8492d966.js +1 -0
- package/dist/types/Users/maria.bumbar/Desktop/widgets-monorepo/packages/stencil/general-stories/.stencil/packages/stencil/general-stories/stencil.config.d.ts +2 -0
- package/dist/types/Users/maria.bumbar/Desktop/widgets-monorepo/packages/stencil/general-stories/.stencil/packages/stencil/general-stories/stencil.config.dev.d.ts +2 -0
- package/package.json +1 -1
- package/dist/general-stories/p-75ff40bf.js +0 -1
- package/dist/general-stories/p-9be4d8b5.js +0 -2
- package/dist/general-stories/p-aec1e7bb.entry.js +0 -1
- package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/general-stories/.stencil/packages/stencil/general-stories/stencil.config.d.ts +0 -2
- package/dist/types/builds/emfe-widgets/widgets-monorepo/packages/stencil/general-stories/.stencil/packages/stencil/general-stories/stencil.config.dev.d.ts +0 -2
- /package/dist/types/{builds/emfe-widgets → Users/maria.bumbar/Desktop}/widgets-monorepo/packages/stencil/general-stories/.stencil/tools/plugins/index.d.ts +0 -0
- /package/dist/types/{builds/emfe-widgets → Users/maria.bumbar/Desktop}/widgets-monorepo/packages/stencil/general-stories/.stencil/tools/plugins/stencil-clean-deps-plugin.d.ts +0 -0
- /package/dist/types/{builds/emfe-widgets → Users/maria.bumbar/Desktop}/widgets-monorepo/packages/stencil/general-stories/.stencil/tools/plugins/vite-chunk-plugin.d.ts +0 -0
- /package/dist/types/{builds/emfe-widgets → Users/maria.bumbar/Desktop}/widgets-monorepo/packages/stencil/general-stories/.stencil/tools/plugins/vite-clean-deps-plugin.d.ts +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const index = require('./index-
|
|
3
|
+
const index = require('./index-bfe9e0e7.js');
|
|
4
4
|
|
|
5
5
|
const getDevice = () => {
|
|
6
6
|
let userAgent = window.navigator.userAgent;
|
|
@@ -85,41 +85,15 @@ const translate = (key, customLang) => {
|
|
|
85
85
|
return TRANSLATIONS[(lang !== undefined) && (lang in TRANSLATIONS) ? lang : DEFAULT_LANGUAGE][key];
|
|
86
86
|
};
|
|
87
87
|
|
|
88
|
-
const generalStoriesCss = ".ImageContainer{display:flex;flex-direction:row;background-color:var(--emw--color-background, #0E1511);overflow:auto}.StoryThumbnailContainer{margin:5px;position:relative;display:inline-block;border-radius:50%}.StoryThumbnailContainer.Highlighted::before{content:\"\";position:absolute;border-radius:50%;background:linear-gradient(to bottom, var(--emw--color-primary, #22B04E), var(--emw--color-secondary, #E1A749));top:-3px;left:-3px;width:111%;height:103%}.StoryThumbnailContainer.Viewed::before{content:\"\";position:absolute;border-radius:50%;height:50px;width:50px;background:var(--emw--color-grey-150, #828282);top:-3px;left:-3px;width:111%;height:103%}.StoryThumbnailImage{height:50px;width:50px;border-radius:50%;position:relative;z-index:1}.StoryThumbnailImage.Highlighted,.StoryThumbnailImage.Viewed{border:2px solid var(--emw--color-white, #ffffff)}.FullScreenHeader{position:fixed;background:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));top:0px;width:100%;display:flex;flex-direction:column;padding:10px 0;z-index:5;height:30px}.FullScreenHeader .CloseStoryButton{position:absolute;right:0;width:20px;margin-right:20px;margin-top:8px;z-index:50}.FullScreenHeader .ProgressBarContainer{width:90%;height:2px;position:relative;top:0;background-color:var(--emw--color-grey-150, #828282);border-radius:10px;overflow:hidden;margin:0 auto}.FullScreenHeader .ProgressBarContainer .ProgressBar{height:100%;background:var(--emw--color-white, #ffffff);width:0%;transition:width 0.1s linear}.FullScreenStory{position:fixed;width:
|
|
88
|
+
const generalStoriesCss = ".ImageContainer{display:flex;flex-direction:row;background-color:var(--emw--color-background, #0E1511);overflow:auto}.StoryThumbnailContainer{margin:5px;position:relative;display:inline-block;border-radius:50%}.StoryThumbnailContainer.Highlighted::before{content:\"\";position:absolute;border-radius:50%;background:linear-gradient(to bottom, var(--emw--color-primary, #22B04E), var(--emw--color-secondary, #E1A749));top:-3px;left:-3px;width:111%;height:103%}.StoryThumbnailContainer.Viewed::before{content:\"\";position:absolute;border-radius:50%;height:50px;width:50px;background:var(--emw--color-grey-150, #828282);top:-3px;left:-3px;width:111%;height:103%}.StoryThumbnailImage{height:50px;width:50px;border-radius:50%;position:relative;z-index:1}.StoryThumbnailImage.Highlighted,.StoryThumbnailImage.Viewed{border:2px solid var(--emw--color-white, #ffffff)}.FullScreenHeader{position:fixed;top:0;background:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));top:0px;width:100%;display:flex;flex-direction:column;padding:10px 0;z-index:5;height:30px}.FullScreenHeader .CloseStoryButton{position:absolute;right:0;width:20px;margin-right:20px;margin-top:8px;z-index:50}.FullScreenHeader .ProgressBarContainer{width:90%;height:2px;position:relative;top:0;background-color:var(--emw--color-grey-150, #828282);border-radius:10px;overflow:hidden;margin:0 auto}.FullScreenHeader .ProgressBarContainer .ProgressBar{height:100%;background:var(--emw--color-white, #ffffff);width:0%;transition:width 0.1s linear}.FullScreenStory{position:fixed;top:0;width:100%;height:100%;background-color:var(--emw--color-grey-400, #24211f);display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:300}.FullScreenStory video{height:100vh;width:100vw}.FullScreenStory img{width:100%;height:100%;object-fit:contain}.FullScreenStory .LoadMoreButtonBackground{width:100%;height:15%;background:linear-gradient(to top, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));position:absolute;bottom:0;display:flex;justify-content:center}.FullScreenStory .LoadMoreButtonBackground .LoadMoreButton{width:auto;font-size:var(--emw--font-size-small, 14px);font-family:inherit;background-color:var(--emw--color-grey-50, #F9F8F8);box-shadow:0px 0px 7px 1px var(--emw--color-grey-400, #24211f);color:var(--emw--color-black, #000000);border-radius:50px;position:absolute;bottom:15px;padding:10px 20px}";
|
|
89
89
|
const GeneralStoriesStyle0 = generalStoriesCss;
|
|
90
90
|
|
|
91
91
|
const GeneralStories = class {
|
|
92
92
|
constructor(hostRef) {
|
|
93
93
|
index.registerInstance(this, hostRef);
|
|
94
|
-
/**
|
|
95
|
-
* Language of the widget
|
|
96
|
-
*/
|
|
97
|
-
this.language = 'en';
|
|
98
|
-
/**
|
|
99
|
-
* CMS Endpoint stage
|
|
100
|
-
*/
|
|
101
|
-
this.cmsEnv = 'stage';
|
|
102
|
-
/**
|
|
103
|
-
* Client custom styling via string
|
|
104
|
-
*/
|
|
105
|
-
this.clientStyling = '';
|
|
106
|
-
/**
|
|
107
|
-
* Client custom styling via url
|
|
108
|
-
*/
|
|
109
|
-
this.clientStylingUrl = '';
|
|
110
|
-
/**
|
|
111
|
-
* Translations via URL
|
|
112
|
-
*/
|
|
113
|
-
this.translationUrl = '';
|
|
114
|
-
/**
|
|
115
|
-
* Duration of progress bar
|
|
116
|
-
*/
|
|
117
|
-
this.progressBarDuration = 10;
|
|
118
94
|
this.hasErrors = false;
|
|
119
95
|
this.isLoading = true;
|
|
120
96
|
this.isSwipe = false;
|
|
121
|
-
this.currentStoryId = null;
|
|
122
|
-
this.progress = 0;
|
|
123
97
|
this.getStories = () => {
|
|
124
98
|
let url = new URL(`${this.cmsEndpoint}/${this.language}/stories`);
|
|
125
99
|
url.searchParams.append('env', this.cmsEnv);
|
|
@@ -215,6 +189,18 @@ const GeneralStories = class {
|
|
|
215
189
|
const open = () => this.openFullScreenStory(props.id);
|
|
216
190
|
return (index.h("div", { class: `StoryThumbnailContainer ${props.viewed ? 'Viewed' : 'Highlighted'}`, onTouchStart: open }, index.h("img", { class: `StoryThumbnailImage ${props.viewed ? 'Viewed' : 'Highlighted'}`, src: props.icon, alt: "story-icon" })));
|
|
217
191
|
};
|
|
192
|
+
this.cmsEndpoint = undefined;
|
|
193
|
+
this.language = 'en';
|
|
194
|
+
this.cmsEnv = 'stage';
|
|
195
|
+
this.clientStyling = '';
|
|
196
|
+
this.clientStylingUrl = '';
|
|
197
|
+
this.translationUrl = '';
|
|
198
|
+
this.progressBarDuration = 10;
|
|
199
|
+
this.currentStory = undefined;
|
|
200
|
+
this.currentStoryId = null;
|
|
201
|
+
this.progress = 0;
|
|
202
|
+
this.touchPosStart = undefined;
|
|
203
|
+
this.touchPosEnd = undefined;
|
|
218
204
|
}
|
|
219
205
|
handleStylingUpdate() {
|
|
220
206
|
if (this.clientStyling)
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const generalStories = require('./general-stories-
|
|
6
|
-
require('./index-
|
|
5
|
+
const generalStories = require('./general-stories-caa7546c.js');
|
|
6
|
+
require('./index-bfe9e0e7.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-bfe9e0e7.js');
|
|
6
6
|
const appGlobals = require('./app-globals-3a1e7e63.js');
|
|
7
7
|
|
|
8
8
|
/*
|
|
9
|
-
Stencil Client Patch Browser v4.
|
|
9
|
+
Stencil Client Patch Browser v4.22.3 | MIT Licensed | https://stenciljs.com
|
|
10
10
|
*/
|
|
11
11
|
var patchBrowser = () => {
|
|
12
12
|
const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('general-stories.cjs.js', document.baseURI).href));
|
|
@@ -21,27 +21,19 @@ function _interopNamespace(e) {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
const NAMESPACE = 'general-stories';
|
|
24
|
-
const BUILD = /* general-stories */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: false, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false,
|
|
24
|
+
const BUILD = /* general-stories */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: false, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: false, propMutable: false, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: false, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: false, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: true };
|
|
25
25
|
|
|
26
26
|
/*
|
|
27
|
-
Stencil Client Platform v4.
|
|
27
|
+
Stencil Client Platform v4.22.3 | MIT Licensed | https://stenciljs.com
|
|
28
28
|
*/
|
|
29
29
|
var __defProp = Object.defineProperty;
|
|
30
30
|
var __export = (target, all) => {
|
|
31
31
|
for (var name in all)
|
|
32
32
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
33
33
|
};
|
|
34
|
-
|
|
35
|
-
// src/utils/constants.ts
|
|
36
|
-
var SVG_NS = "http://www.w3.org/2000/svg";
|
|
37
|
-
var HTML_NS = "http://www.w3.org/1999/xhtml";
|
|
38
|
-
|
|
39
|
-
// src/client/client-host-ref.ts
|
|
40
34
|
var hostRefs = /* @__PURE__ */ new WeakMap();
|
|
41
35
|
var getHostRef = (ref) => hostRefs.get(ref);
|
|
42
|
-
var registerInstance = (lazyInstance, hostRef) =>
|
|
43
|
-
hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);
|
|
44
|
-
};
|
|
36
|
+
var registerInstance = (lazyInstance, hostRef) => hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);
|
|
45
37
|
var registerHost = (hostElement, cmpMeta) => {
|
|
46
38
|
const hostRef = {
|
|
47
39
|
$flags$: 0,
|
|
@@ -54,8 +46,7 @@ var registerHost = (hostElement, cmpMeta) => {
|
|
|
54
46
|
hostElement["s-p"] = [];
|
|
55
47
|
hostElement["s-rc"] = [];
|
|
56
48
|
}
|
|
57
|
-
|
|
58
|
-
return ref;
|
|
49
|
+
return hostRefs.set(hostElement, hostRef);
|
|
59
50
|
};
|
|
60
51
|
var isMemberInElement = (elm, memberName) => memberName in elm;
|
|
61
52
|
var consoleError = (e, el) => (0, console.error)(e, el);
|
|
@@ -92,22 +83,16 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
|
|
|
92
83
|
/* webpackExclude: /\.system\.entry\.js$/ */
|
|
93
84
|
/* webpackMode: "lazy" */
|
|
94
85
|
`./${bundleId}.entry.js${""}`
|
|
95
|
-
)); }).then(
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
cmpModules.set(bundleId, importedModule);
|
|
99
|
-
}
|
|
100
|
-
return importedModule[exportName];
|
|
101
|
-
},
|
|
102
|
-
(e) => {
|
|
103
|
-
consoleError(e, hostRef.$hostElement$);
|
|
86
|
+
)); }).then((importedModule) => {
|
|
87
|
+
{
|
|
88
|
+
cmpModules.set(bundleId, importedModule);
|
|
104
89
|
}
|
|
105
|
-
|
|
90
|
+
return importedModule[exportName];
|
|
91
|
+
}, consoleError);
|
|
106
92
|
};
|
|
107
93
|
|
|
108
94
|
// src/client/client-style.ts
|
|
109
95
|
var styles = /* @__PURE__ */ new Map();
|
|
110
|
-
var HYDRATED_STYLE_ID = "sty-id";
|
|
111
96
|
var HYDRATED_CSS = "{visibility:hidden}.hydrated{visibility:inherit}";
|
|
112
97
|
var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}";
|
|
113
98
|
var win = typeof window !== "undefined" ? window : {};
|
|
@@ -181,6 +166,14 @@ var flush = () => {
|
|
|
181
166
|
};
|
|
182
167
|
var nextTick = (cb) => promiseResolve().then(cb);
|
|
183
168
|
var writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true);
|
|
169
|
+
|
|
170
|
+
// src/utils/constants.ts
|
|
171
|
+
var EMPTY_OBJ = {};
|
|
172
|
+
var SVG_NS = "http://www.w3.org/2000/svg";
|
|
173
|
+
var HTML_NS = "http://www.w3.org/1999/xhtml";
|
|
174
|
+
|
|
175
|
+
// src/utils/helpers.ts
|
|
176
|
+
var isDef = (v) => v != null;
|
|
184
177
|
var isComplexType = (o) => {
|
|
185
178
|
o = typeof o;
|
|
186
179
|
return o === "object" || o === "function";
|
|
@@ -392,7 +385,7 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
|
|
|
392
385
|
}
|
|
393
386
|
if (!appliedStyles.has(scopeId2)) {
|
|
394
387
|
{
|
|
395
|
-
styleElm =
|
|
388
|
+
styleElm = doc.createElement("style");
|
|
396
389
|
styleElm.innerHTML = style;
|
|
397
390
|
const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
|
|
398
391
|
if (nonce != null) {
|
|
@@ -402,10 +395,7 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
|
|
|
402
395
|
if (styleContainerNode.nodeName === "HEAD") {
|
|
403
396
|
const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
|
|
404
397
|
const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
|
|
405
|
-
styleContainerNode.insertBefore(
|
|
406
|
-
styleElm,
|
|
407
|
-
(referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
|
|
408
|
-
);
|
|
398
|
+
styleContainerNode.insertBefore(styleElm, referenceNode2);
|
|
409
399
|
} else if ("host" in styleContainerNode) {
|
|
410
400
|
if (supportsConstructableStylesheets) {
|
|
411
401
|
const stylesheet = new CSSStyleSheet();
|
|
@@ -423,7 +413,7 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
|
|
|
423
413
|
styleContainerNode.append(styleElm);
|
|
424
414
|
}
|
|
425
415
|
}
|
|
426
|
-
if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
|
|
416
|
+
if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
|
|
427
417
|
styleContainerNode.insertBefore(styleElm, null);
|
|
428
418
|
}
|
|
429
419
|
}
|
|
@@ -448,25 +438,23 @@ var attachStyles = (hostRef) => {
|
|
|
448
438
|
const scopeId2 = addStyle(
|
|
449
439
|
elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
|
|
450
440
|
cmpMeta);
|
|
451
|
-
if (
|
|
441
|
+
if (flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */) {
|
|
452
442
|
elm["s-sc"] = scopeId2;
|
|
453
443
|
elm.classList.add(scopeId2 + "-h");
|
|
454
444
|
}
|
|
455
445
|
endAttachStyles();
|
|
456
446
|
};
|
|
457
447
|
var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
|
|
458
|
-
var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags
|
|
448
|
+
var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
459
449
|
if (oldValue !== newValue) {
|
|
460
450
|
let isProp = isMemberInElement(elm, memberName);
|
|
461
451
|
let ln = memberName.toLowerCase();
|
|
462
452
|
if (memberName === "class") {
|
|
463
453
|
const classList = elm.classList;
|
|
464
454
|
const oldClasses = parseClassList(oldValue);
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
|
|
469
|
-
}
|
|
455
|
+
const newClasses = parseClassList(newValue);
|
|
456
|
+
classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
|
|
457
|
+
classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
|
|
470
458
|
} else if (memberName === "style") {
|
|
471
459
|
{
|
|
472
460
|
for (const prop in oldValue) {
|
|
@@ -525,7 +513,7 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
|
|
|
525
513
|
elm.setAttribute(memberName, n);
|
|
526
514
|
}
|
|
527
515
|
}
|
|
528
|
-
} else
|
|
516
|
+
} else {
|
|
529
517
|
elm[memberName] = newValue;
|
|
530
518
|
}
|
|
531
519
|
} catch (e) {
|
|
@@ -547,44 +535,24 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
|
|
|
547
535
|
}
|
|
548
536
|
};
|
|
549
537
|
var parseClassListRegex = /\s/;
|
|
550
|
-
var parseClassList = (value) =>
|
|
551
|
-
if (typeof value === "object" && value && "baseVal" in value) {
|
|
552
|
-
value = value.baseVal;
|
|
553
|
-
}
|
|
554
|
-
if (!value || typeof value !== "string") {
|
|
555
|
-
return [];
|
|
556
|
-
}
|
|
557
|
-
return value.split(parseClassListRegex);
|
|
558
|
-
};
|
|
538
|
+
var parseClassList = (value) => !value ? [] : value.split(parseClassListRegex);
|
|
559
539
|
var CAPTURE_EVENT_SUFFIX = "Capture";
|
|
560
540
|
var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
|
|
561
541
|
|
|
562
542
|
// src/runtime/vdom/update-element.ts
|
|
563
|
-
var updateElement = (oldVnode, newVnode, isSvgMode2
|
|
543
|
+
var updateElement = (oldVnode, newVnode, isSvgMode2) => {
|
|
564
544
|
const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
|
|
565
|
-
const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ ||
|
|
566
|
-
const newVnodeAttrs = newVnode.$attrs$ ||
|
|
545
|
+
const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || EMPTY_OBJ;
|
|
546
|
+
const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
|
|
567
547
|
{
|
|
568
548
|
for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
|
|
569
549
|
if (!(memberName in newVnodeAttrs)) {
|
|
570
|
-
setAccessor(
|
|
571
|
-
elm,
|
|
572
|
-
memberName,
|
|
573
|
-
oldVnodeAttrs[memberName],
|
|
574
|
-
void 0,
|
|
575
|
-
isSvgMode2,
|
|
576
|
-
newVnode.$flags$);
|
|
550
|
+
setAccessor(elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$);
|
|
577
551
|
}
|
|
578
552
|
}
|
|
579
553
|
}
|
|
580
554
|
for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
|
|
581
|
-
setAccessor(
|
|
582
|
-
elm,
|
|
583
|
-
memberName,
|
|
584
|
-
oldVnodeAttrs[memberName],
|
|
585
|
-
newVnodeAttrs[memberName],
|
|
586
|
-
isSvgMode2,
|
|
587
|
-
newVnode.$flags$);
|
|
555
|
+
setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$);
|
|
588
556
|
}
|
|
589
557
|
};
|
|
590
558
|
function sortedAttrNames(attrNames) {
|
|
@@ -596,10 +564,13 @@ function sortedAttrNames(attrNames) {
|
|
|
596
564
|
attrNames
|
|
597
565
|
);
|
|
598
566
|
}
|
|
567
|
+
|
|
568
|
+
// src/runtime/vdom/vdom-render.ts
|
|
569
|
+
var scopeId;
|
|
599
570
|
var hostTagName;
|
|
600
571
|
var useNativeShadowDom = false;
|
|
601
572
|
var isSvgMode = false;
|
|
602
|
-
var createElm = (oldParentVNode, newParentVNode, childIndex) => {
|
|
573
|
+
var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
603
574
|
const newVNode2 = newParentVNode.$children$[childIndex];
|
|
604
575
|
let i2 = 0;
|
|
605
576
|
let elm;
|
|
@@ -620,6 +591,11 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
|
|
|
620
591
|
{
|
|
621
592
|
updateElement(null, newVNode2, isSvgMode);
|
|
622
593
|
}
|
|
594
|
+
const rootNode = elm.getRootNode();
|
|
595
|
+
const isElementWithinShadowRoot = !rootNode.querySelector("body");
|
|
596
|
+
if (!isElementWithinShadowRoot && BUILD.scoped && isDef(scopeId) && elm["s-si"] !== scopeId) {
|
|
597
|
+
elm.classList.add(elm["s-si"] = scopeId);
|
|
598
|
+
}
|
|
623
599
|
if (newVNode2.$children$) {
|
|
624
600
|
for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
|
|
625
601
|
childNode = createElm(oldParentVNode, newVNode2, i2);
|
|
@@ -731,9 +707,6 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
|
|
|
731
707
|
};
|
|
732
708
|
var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
|
|
733
709
|
if (leftVNode.$tag$ === rightVNode.$tag$) {
|
|
734
|
-
if (isInitialRender && !leftVNode.$key$ && rightVNode.$key$) {
|
|
735
|
-
leftVNode.$key$ = rightVNode.$key$;
|
|
736
|
-
}
|
|
737
710
|
return true;
|
|
738
711
|
}
|
|
739
712
|
return false;
|
|
@@ -780,9 +753,8 @@ var nullifyVNodeRefs = (vNode) => {
|
|
|
780
753
|
}
|
|
781
754
|
};
|
|
782
755
|
var insertBefore = (parent, newNode, reference) => {
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
}
|
|
756
|
+
const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);
|
|
757
|
+
return inserted;
|
|
786
758
|
};
|
|
787
759
|
var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
|
|
788
760
|
const hostElm = hostRef.$hostElement$;
|
|
@@ -807,21 +779,17 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
|
|
|
807
779
|
rootVnode.$flags$ |= 4 /* isHost */;
|
|
808
780
|
hostRef.$vnode$ = rootVnode;
|
|
809
781
|
rootVnode.$elm$ = oldVNode.$elm$ = hostElm.shadowRoot || hostElm ;
|
|
810
|
-
|
|
782
|
+
{
|
|
783
|
+
scopeId = hostElm["s-sc"];
|
|
784
|
+
}
|
|
785
|
+
useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
|
|
811
786
|
patch(oldVNode, rootVnode, isInitialLoad);
|
|
812
787
|
};
|
|
813
788
|
|
|
814
789
|
// src/runtime/update-component.ts
|
|
815
790
|
var attachToAncestor = (hostRef, ancestorComponent) => {
|
|
816
791
|
if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent["s-p"]) {
|
|
817
|
-
|
|
818
|
-
new Promise(
|
|
819
|
-
(r) => hostRef.$onRenderResolve$ = () => {
|
|
820
|
-
ancestorComponent["s-p"].splice(index - 1, 1);
|
|
821
|
-
r();
|
|
822
|
-
}
|
|
823
|
-
)
|
|
824
|
-
);
|
|
792
|
+
ancestorComponent["s-p"].push(new Promise((r) => hostRef.$onRenderResolve$ = r));
|
|
825
793
|
}
|
|
826
794
|
};
|
|
827
795
|
var scheduleUpdate = (hostRef, isInitialLoad) => {
|
|
@@ -850,12 +818,12 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
|
|
|
850
818
|
{
|
|
851
819
|
hostRef.$flags$ |= 256 /* isListenReady */;
|
|
852
820
|
if (hostRef.$queuedListeners$) {
|
|
853
|
-
hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event
|
|
821
|
+
hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
|
|
854
822
|
hostRef.$queuedListeners$ = void 0;
|
|
855
823
|
}
|
|
856
824
|
}
|
|
857
825
|
{
|
|
858
|
-
maybePromise = safeCall(instance, "componentWillLoad"
|
|
826
|
+
maybePromise = safeCall(instance, "componentWillLoad");
|
|
859
827
|
}
|
|
860
828
|
}
|
|
861
829
|
endSchedule();
|
|
@@ -949,14 +917,17 @@ var postUpdateComponent = (hostRef) => {
|
|
|
949
917
|
}
|
|
950
918
|
};
|
|
951
919
|
var appDidLoad = (who) => {
|
|
920
|
+
{
|
|
921
|
+
addHydratedFlag(doc.documentElement);
|
|
922
|
+
}
|
|
952
923
|
nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
|
|
953
924
|
};
|
|
954
|
-
var safeCall = (instance, method, arg
|
|
925
|
+
var safeCall = (instance, method, arg) => {
|
|
955
926
|
if (instance && instance[method]) {
|
|
956
927
|
try {
|
|
957
928
|
return instance[method](arg);
|
|
958
929
|
} catch (e) {
|
|
959
|
-
consoleError(e
|
|
930
|
+
consoleError(e);
|
|
960
931
|
}
|
|
961
932
|
}
|
|
962
933
|
return void 0;
|
|
@@ -1015,68 +986,15 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1015
986
|
const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
|
|
1016
987
|
members.map(([memberName, [memberFlags]]) => {
|
|
1017
988
|
if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
|
|
1018
|
-
const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(prototype, memberName) || {};
|
|
1019
|
-
if (origGetter) cmpMeta.$members$[memberName][0] |= 2048 /* Getter */;
|
|
1020
|
-
if (origSetter) cmpMeta.$members$[memberName][0] |= 4096 /* Setter */;
|
|
1021
|
-
if (flags & 1 /* isElementConstructor */ || !origGetter) {
|
|
1022
|
-
Object.defineProperty(prototype, memberName, {
|
|
1023
|
-
get() {
|
|
1024
|
-
{
|
|
1025
|
-
if ((cmpMeta.$members$[memberName][0] & 2048 /* Getter */) === 0) {
|
|
1026
|
-
return getValue(this, memberName);
|
|
1027
|
-
}
|
|
1028
|
-
const ref = getHostRef(this);
|
|
1029
|
-
const instance = ref ? ref.$lazyInstance$ : prototype;
|
|
1030
|
-
if (!instance) return;
|
|
1031
|
-
return instance[memberName];
|
|
1032
|
-
}
|
|
1033
|
-
},
|
|
1034
|
-
configurable: true,
|
|
1035
|
-
enumerable: true
|
|
1036
|
-
});
|
|
1037
|
-
}
|
|
1038
989
|
Object.defineProperty(prototype, memberName, {
|
|
990
|
+
get() {
|
|
991
|
+
return getValue(this, memberName);
|
|
992
|
+
},
|
|
1039
993
|
set(newValue) {
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
newValue = ref.$instanceValues$.get(memberName);
|
|
1045
|
-
} else if (!ref.$instanceValues$.get(memberName) && currentValue) {
|
|
1046
|
-
ref.$instanceValues$.set(memberName, currentValue);
|
|
1047
|
-
}
|
|
1048
|
-
origSetter.apply(this, [parsePropertyValue(newValue, memberFlags)]);
|
|
1049
|
-
newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
|
|
1050
|
-
setValue(this, memberName, newValue, cmpMeta);
|
|
1051
|
-
return;
|
|
1052
|
-
}
|
|
1053
|
-
{
|
|
1054
|
-
if ((flags & 1 /* isElementConstructor */) === 0 || (cmpMeta.$members$[memberName][0] & 4096 /* Setter */) === 0) {
|
|
1055
|
-
setValue(this, memberName, newValue, cmpMeta);
|
|
1056
|
-
if (flags & 1 /* isElementConstructor */ && !ref.$lazyInstance$) {
|
|
1057
|
-
ref.$onReadyPromise$.then(() => {
|
|
1058
|
-
if (cmpMeta.$members$[memberName][0] & 4096 /* Setter */ && ref.$lazyInstance$[memberName] !== ref.$instanceValues$.get(memberName)) {
|
|
1059
|
-
ref.$lazyInstance$[memberName] = newValue;
|
|
1060
|
-
}
|
|
1061
|
-
});
|
|
1062
|
-
}
|
|
1063
|
-
return;
|
|
1064
|
-
}
|
|
1065
|
-
const setterSetVal = () => {
|
|
1066
|
-
const currentValue = ref.$lazyInstance$[memberName];
|
|
1067
|
-
if (!ref.$instanceValues$.get(memberName) && currentValue) {
|
|
1068
|
-
ref.$instanceValues$.set(memberName, currentValue);
|
|
1069
|
-
}
|
|
1070
|
-
ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, memberFlags);
|
|
1071
|
-
setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
|
|
1072
|
-
};
|
|
1073
|
-
if (ref.$lazyInstance$) {
|
|
1074
|
-
setterSetVal();
|
|
1075
|
-
} else {
|
|
1076
|
-
ref.$onReadyPromise$.then(() => setterSetVal());
|
|
1077
|
-
}
|
|
1078
|
-
}
|
|
1079
|
-
}
|
|
994
|
+
setValue(this, memberName, newValue, cmpMeta);
|
|
995
|
+
},
|
|
996
|
+
configurable: true,
|
|
997
|
+
enumerable: true
|
|
1080
998
|
});
|
|
1081
999
|
}
|
|
1082
1000
|
});
|
|
@@ -1086,7 +1004,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1086
1004
|
plt.jmp(() => {
|
|
1087
1005
|
var _a2;
|
|
1088
1006
|
const propName = attrNameToPropName.get(attrName);
|
|
1089
|
-
if (this.hasOwnProperty(propName)
|
|
1007
|
+
if (this.hasOwnProperty(propName)) {
|
|
1090
1008
|
newValue = this[propName];
|
|
1091
1009
|
delete this[propName];
|
|
1092
1010
|
} else if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
|
|
@@ -1106,11 +1024,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1106
1024
|
}
|
|
1107
1025
|
return;
|
|
1108
1026
|
}
|
|
1109
|
-
|
|
1110
|
-
newValue = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
|
|
1111
|
-
if (newValue !== this[propName] && (!propDesc.get || !!propDesc.set)) {
|
|
1112
|
-
this[propName] = newValue;
|
|
1113
|
-
}
|
|
1027
|
+
this[propName] = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
|
|
1114
1028
|
});
|
|
1115
1029
|
};
|
|
1116
1030
|
Cstr.observedAttributes = Array.from(
|
|
@@ -1139,7 +1053,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
|
|
|
1139
1053
|
hostRef.$flags$ |= 32 /* hasInitializedComponent */;
|
|
1140
1054
|
const bundleId = cmpMeta.$lazyBundleId$;
|
|
1141
1055
|
if (bundleId) {
|
|
1142
|
-
const CstrImport = loadModule(cmpMeta
|
|
1056
|
+
const CstrImport = loadModule(cmpMeta);
|
|
1143
1057
|
if (CstrImport && "then" in CstrImport) {
|
|
1144
1058
|
const endLoad = uniqueTime();
|
|
1145
1059
|
Cstr = await CstrImport;
|
|
@@ -1164,7 +1078,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
|
|
|
1164
1078
|
try {
|
|
1165
1079
|
new Cstr(hostRef);
|
|
1166
1080
|
} catch (e) {
|
|
1167
|
-
consoleError(e
|
|
1081
|
+
consoleError(e);
|
|
1168
1082
|
}
|
|
1169
1083
|
{
|
|
1170
1084
|
hostRef.$flags$ &= ~8 /* isConstructingInstance */;
|
|
@@ -1199,7 +1113,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
|
|
|
1199
1113
|
schedule();
|
|
1200
1114
|
}
|
|
1201
1115
|
};
|
|
1202
|
-
var fireConnectedCallback = (instance
|
|
1116
|
+
var fireConnectedCallback = (instance) => {
|
|
1203
1117
|
};
|
|
1204
1118
|
|
|
1205
1119
|
// src/runtime/connected-callback.ts
|
|
@@ -1240,7 +1154,7 @@ var connectedCallback = (elm) => {
|
|
|
1240
1154
|
endConnected();
|
|
1241
1155
|
}
|
|
1242
1156
|
};
|
|
1243
|
-
var disconnectInstance = (instance
|
|
1157
|
+
var disconnectInstance = (instance) => {
|
|
1244
1158
|
};
|
|
1245
1159
|
var disconnectedCallback = async (elm) => {
|
|
1246
1160
|
if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
|
|
@@ -1255,12 +1169,6 @@ var disconnectedCallback = async (elm) => {
|
|
|
1255
1169
|
hostRef.$onReadyPromise$.then(() => disconnectInstance());
|
|
1256
1170
|
}
|
|
1257
1171
|
}
|
|
1258
|
-
if (rootAppliedStyles.has(elm)) {
|
|
1259
|
-
rootAppliedStyles.delete(elm);
|
|
1260
|
-
}
|
|
1261
|
-
if (elm.shadowRoot && rootAppliedStyles.has(elm.shadowRoot)) {
|
|
1262
|
-
rootAppliedStyles.delete(elm.shadowRoot);
|
|
1263
|
-
}
|
|
1264
1172
|
};
|
|
1265
1173
|
|
|
1266
1174
|
// src/runtime/bootstrap-lazy.ts
|
|
@@ -1345,17 +1253,6 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1345
1253
|
}
|
|
1346
1254
|
disconnectedCallback() {
|
|
1347
1255
|
plt.jmp(() => disconnectedCallback(this));
|
|
1348
|
-
plt.raf(() => {
|
|
1349
|
-
var _a3;
|
|
1350
|
-
const hostRef = getHostRef(this);
|
|
1351
|
-
const i2 = deferredConnectedCallbacks.findIndex((host) => host === this);
|
|
1352
|
-
if (i2 > -1) {
|
|
1353
|
-
deferredConnectedCallbacks.splice(i2, 1);
|
|
1354
|
-
}
|
|
1355
|
-
if (((_a3 = hostRef == null ? void 0 : hostRef.$vnode$) == null ? void 0 : _a3.$elm$) instanceof Node && !hostRef.$vnode$.$elm$.isConnected) {
|
|
1356
|
-
delete hostRef.$vnode$.$elm$;
|
|
1357
|
-
}
|
|
1358
|
-
});
|
|
1359
1256
|
}
|
|
1360
1257
|
componentOnReady() {
|
|
1361
1258
|
return getHostRef(this).$onReadyPromise$;
|
|
@@ -1419,7 +1316,7 @@ var hostListenerProxy = (hostRef, methodName) => (ev) => {
|
|
|
1419
1316
|
}
|
|
1420
1317
|
}
|
|
1421
1318
|
} catch (e) {
|
|
1422
|
-
consoleError(e
|
|
1319
|
+
consoleError(e);
|
|
1423
1320
|
}
|
|
1424
1321
|
};
|
|
1425
1322
|
var hostListenerOpts = (flags) => supportsListenerOptions ? {
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const generalStories = require('./general-stories-
|
|
6
|
-
require('./index-
|
|
5
|
+
const generalStories = require('./general-stories-caa7546c.js');
|
|
6
|
+
require('./index-bfe9e0e7.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-bfe9e0e7.js');
|
|
6
6
|
const appGlobals = require('./app-globals-3a1e7e63.js');
|
|
7
7
|
|
|
8
8
|
const defineCustomElements = async (win, options) => {
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
|
|
48
48
|
.FullScreenHeader {
|
|
49
49
|
position: fixed;
|
|
50
|
+
top: 0;
|
|
50
51
|
background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
|
|
51
52
|
top: 0px;
|
|
52
53
|
width: 100%;
|
|
@@ -83,8 +84,9 @@
|
|
|
83
84
|
|
|
84
85
|
.FullScreenStory {
|
|
85
86
|
position: fixed;
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
top: 0;
|
|
88
|
+
width: 100%;
|
|
89
|
+
height: 100%;
|
|
88
90
|
background-color: var(--emw--color-grey-400, #24211f);
|
|
89
91
|
display: flex;
|
|
90
92
|
align-items: center;
|
|
@@ -102,7 +104,7 @@
|
|
|
102
104
|
object-fit: contain;
|
|
103
105
|
}
|
|
104
106
|
.FullScreenStory .LoadMoreButtonBackground {
|
|
105
|
-
width:
|
|
107
|
+
width: 100%;
|
|
106
108
|
height: 15%;
|
|
107
109
|
background: linear-gradient(to top, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
|
|
108
110
|
position: absolute;
|