taleem-player 1.0.1 → 1.0.2
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/css/taleem.css +63 -0
- package/dist/taleem-player.esm.js +30 -4
- package/dist/taleem-player.umd.js +30 -4
- package/package.json +2 -2
package/dist/css/taleem.css
CHANGED
|
@@ -344,4 +344,67 @@
|
|
|
344
344
|
.slide.table thead tr:has(th:empty) {
|
|
345
345
|
display: none;
|
|
346
346
|
}
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
/* -------------------------------
|
|
350
|
+
Corner Words Slide (4 Quadrants)
|
|
351
|
+
------------------------------- */
|
|
352
|
+
|
|
353
|
+
.slide.cornerWordsSlide {
|
|
354
|
+
position: relative;
|
|
355
|
+
width: 100%;
|
|
356
|
+
height: 100vh;
|
|
357
|
+
padding: 0;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
/* base card */
|
|
361
|
+
.cornerWordsSlide .corner-card {
|
|
362
|
+
position: absolute;
|
|
363
|
+
width: 45%;
|
|
364
|
+
height: 45%;
|
|
365
|
+
|
|
366
|
+
display: flex;
|
|
367
|
+
flex-direction: column;
|
|
368
|
+
justify-content: center;
|
|
369
|
+
align-items: center;
|
|
370
|
+
gap: 16px;
|
|
371
|
+
|
|
372
|
+
font-size: 4.2rem;
|
|
373
|
+
font-weight: 700;
|
|
374
|
+
letter-spacing: 0.02em;
|
|
375
|
+
text-align: center;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
/* emoji / icon */
|
|
379
|
+
.cornerWordsSlide .corner-card .icon {
|
|
380
|
+
font-size: 5.2rem;
|
|
381
|
+
line-height: 1;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
/* label text */
|
|
385
|
+
.cornerWordsSlide .corner-card .label {
|
|
386
|
+
font-size: 3.6rem;
|
|
387
|
+
font-weight: 600;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
/* quadrants */
|
|
391
|
+
.cornerWordsSlide .corner-1 {
|
|
392
|
+
top: 0;
|
|
393
|
+
left: 0;
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
.cornerWordsSlide .corner-2 {
|
|
397
|
+
top: 0;
|
|
398
|
+
right: 0;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
.cornerWordsSlide .corner-3 {
|
|
402
|
+
bottom: 0;
|
|
403
|
+
left: 0;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.cornerWordsSlide .corner-4 {
|
|
407
|
+
bottom: 0;
|
|
408
|
+
right: 0;
|
|
409
|
+
}
|
|
347
410
|
|
|
@@ -591,7 +591,7 @@ function getSlideTemplate(type) {
|
|
|
591
591
|
}
|
|
592
592
|
|
|
593
593
|
// src/engines/player/stage.js
|
|
594
|
-
function createStage(mount) {
|
|
594
|
+
function createStage(mount, background = {}) {
|
|
595
595
|
if (!mount) throw new Error("taleem-player: mount is required");
|
|
596
596
|
const root = typeof mount === "string" ? document.querySelector(mount) : mount;
|
|
597
597
|
if (!root) throw new Error("taleem-player: mount element not found");
|
|
@@ -601,15 +601,41 @@ function createStage(mount) {
|
|
|
601
601
|
stage.style.position = "relative";
|
|
602
602
|
stage.style.width = "100%";
|
|
603
603
|
stage.style.height = "100%";
|
|
604
|
+
stage.style.overflow = "hidden";
|
|
605
|
+
const bgLayer = document.createElement("div");
|
|
606
|
+
bgLayer.className = "taleem-player-bg";
|
|
607
|
+
bgLayer.style.position = "absolute";
|
|
608
|
+
bgLayer.style.inset = "0";
|
|
609
|
+
bgLayer.style.zIndex = "0";
|
|
610
|
+
bgLayer.style.backgroundRepeat = "no-repeat";
|
|
611
|
+
bgLayer.style.backgroundSize = "cover";
|
|
612
|
+
bgLayer.style.backgroundPosition = "center";
|
|
613
|
+
if (background.backgroundColor) {
|
|
614
|
+
bgLayer.style.backgroundColor = background.backgroundColor;
|
|
615
|
+
}
|
|
616
|
+
if (background.backgroundImage) {
|
|
617
|
+
bgLayer.style.backgroundImage = `url("${background.backgroundImage}")`;
|
|
618
|
+
}
|
|
619
|
+
if (typeof background.backgroundImageOpacity === "number" && background.backgroundImageOpacity < 1) {
|
|
620
|
+
bgLayer.style.opacity = String(background.backgroundImageOpacity);
|
|
621
|
+
}
|
|
622
|
+
const slideLayer = document.createElement("div");
|
|
623
|
+
slideLayer.className = "taleem-player-slides";
|
|
624
|
+
slideLayer.style.position = "relative";
|
|
625
|
+
slideLayer.style.zIndex = "1";
|
|
626
|
+
slideLayer.style.width = "100%";
|
|
627
|
+
slideLayer.style.height = "100%";
|
|
628
|
+
stage.appendChild(bgLayer);
|
|
629
|
+
stage.appendChild(slideLayer);
|
|
604
630
|
root.appendChild(stage);
|
|
605
631
|
function clear() {
|
|
606
|
-
|
|
632
|
+
slideLayer.innerHTML = "";
|
|
607
633
|
}
|
|
608
634
|
function destroy() {
|
|
609
635
|
root.innerHTML = "";
|
|
610
636
|
}
|
|
611
637
|
return {
|
|
612
|
-
el:
|
|
638
|
+
el: slideLayer,
|
|
613
639
|
clear,
|
|
614
640
|
destroy
|
|
615
641
|
};
|
|
@@ -617,7 +643,7 @@ function createStage(mount) {
|
|
|
617
643
|
|
|
618
644
|
// src/engines/player/player.js
|
|
619
645
|
function createTaleemPlayer({ mount, deck }) {
|
|
620
|
-
const stage = createStage(mount);
|
|
646
|
+
const stage = createStage(mount, deck.background);
|
|
621
647
|
let lastSlide = null;
|
|
622
648
|
let lastRenderedKey = null;
|
|
623
649
|
function getSlideAtTime(deck2, time) {
|
|
@@ -621,7 +621,7 @@ var TaleemPlayer = (() => {
|
|
|
621
621
|
}
|
|
622
622
|
|
|
623
623
|
// src/engines/player/stage.js
|
|
624
|
-
function createStage(mount) {
|
|
624
|
+
function createStage(mount, background = {}) {
|
|
625
625
|
if (!mount) throw new Error("taleem-player: mount is required");
|
|
626
626
|
const root = typeof mount === "string" ? document.querySelector(mount) : mount;
|
|
627
627
|
if (!root) throw new Error("taleem-player: mount element not found");
|
|
@@ -631,15 +631,41 @@ var TaleemPlayer = (() => {
|
|
|
631
631
|
stage.style.position = "relative";
|
|
632
632
|
stage.style.width = "100%";
|
|
633
633
|
stage.style.height = "100%";
|
|
634
|
+
stage.style.overflow = "hidden";
|
|
635
|
+
const bgLayer = document.createElement("div");
|
|
636
|
+
bgLayer.className = "taleem-player-bg";
|
|
637
|
+
bgLayer.style.position = "absolute";
|
|
638
|
+
bgLayer.style.inset = "0";
|
|
639
|
+
bgLayer.style.zIndex = "0";
|
|
640
|
+
bgLayer.style.backgroundRepeat = "no-repeat";
|
|
641
|
+
bgLayer.style.backgroundSize = "cover";
|
|
642
|
+
bgLayer.style.backgroundPosition = "center";
|
|
643
|
+
if (background.backgroundColor) {
|
|
644
|
+
bgLayer.style.backgroundColor = background.backgroundColor;
|
|
645
|
+
}
|
|
646
|
+
if (background.backgroundImage) {
|
|
647
|
+
bgLayer.style.backgroundImage = `url("${background.backgroundImage}")`;
|
|
648
|
+
}
|
|
649
|
+
if (typeof background.backgroundImageOpacity === "number" && background.backgroundImageOpacity < 1) {
|
|
650
|
+
bgLayer.style.opacity = String(background.backgroundImageOpacity);
|
|
651
|
+
}
|
|
652
|
+
const slideLayer = document.createElement("div");
|
|
653
|
+
slideLayer.className = "taleem-player-slides";
|
|
654
|
+
slideLayer.style.position = "relative";
|
|
655
|
+
slideLayer.style.zIndex = "1";
|
|
656
|
+
slideLayer.style.width = "100%";
|
|
657
|
+
slideLayer.style.height = "100%";
|
|
658
|
+
stage.appendChild(bgLayer);
|
|
659
|
+
stage.appendChild(slideLayer);
|
|
634
660
|
root.appendChild(stage);
|
|
635
661
|
function clear() {
|
|
636
|
-
|
|
662
|
+
slideLayer.innerHTML = "";
|
|
637
663
|
}
|
|
638
664
|
function destroy() {
|
|
639
665
|
root.innerHTML = "";
|
|
640
666
|
}
|
|
641
667
|
return {
|
|
642
|
-
el:
|
|
668
|
+
el: slideLayer,
|
|
643
669
|
clear,
|
|
644
670
|
destroy
|
|
645
671
|
};
|
|
@@ -647,7 +673,7 @@ var TaleemPlayer = (() => {
|
|
|
647
673
|
|
|
648
674
|
// src/engines/player/player.js
|
|
649
675
|
function createTaleemPlayer({ mount, deck }) {
|
|
650
|
-
const stage = createStage(mount);
|
|
676
|
+
const stage = createStage(mount, deck.background);
|
|
651
677
|
let lastSlide = null;
|
|
652
678
|
let lastRenderedKey = null;
|
|
653
679
|
function getSlideAtTime(deck2, time) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "taleem-player",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/taleem-player.umd.js",
|
|
6
6
|
"module": "./dist/taleem-player.esm.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"taleem-core": "^1.4.3",
|
|
32
|
-
"taleem-slides": "
|
|
32
|
+
"taleem-slides": "file:../taleem-slides"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"esbuild": "^0.27.2",
|