@unlk/keymaster 1.0.2 → 1.0.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/CHANGELOG.md +42 -0
- package/README.md +136 -0
- package/dist/css/keymaster.css +642 -588
- package/dist/css/keymaster.css.map +1 -1
- package/dist/css/keymaster.min.css +5 -5
- package/dist/css/keymaster.min.css.map +1 -1
- package/dist/js/keymaster.js +180 -80
- package/dist/js/keymaster.js.map +1 -1
- package/dist/js/keymaster.min.js +65 -65
- package/dist/js/keymaster.min.js.map +1 -1
- package/images/unlock.svg +9 -0
- package/js/bootstrap.js +1 -0
- package/js/video-modal.js +123 -0
- package/package.json +5 -3
- package/scss/assets/bootstrap5/_accordion.scss +4 -9
- package/scss/assets/bootstrap5/_button-group.scss +8 -3
- package/scss/assets/bootstrap5/_card.scss +1 -2
- package/scss/assets/bootstrap5/_carousel.scss +15 -25
- package/scss/assets/bootstrap5/_close.scss +9 -6
- package/scss/assets/bootstrap5/_functions.scss +1 -1
- package/scss/assets/bootstrap5/_list-group.scss +27 -25
- package/scss/assets/bootstrap5/_modal.scss +6 -2
- package/scss/assets/bootstrap5/_nav.scss +1 -1
- package/scss/assets/bootstrap5/_navbar.scss +1 -1
- package/scss/assets/bootstrap5/_offcanvas.scss +5 -1
- package/scss/assets/bootstrap5/_pagination.scss +1 -1
- package/scss/assets/bootstrap5/_progress.scss +1 -1
- package/scss/assets/bootstrap5/_reboot.scss +1 -1
- package/scss/assets/bootstrap5/_type.scss +1 -1
- package/scss/assets/bootstrap5/_variables-dark.scss +17 -2
- package/scss/assets/bootstrap5/_variables.scss +16 -16
- package/scss/assets/bootstrap5/forms/_floating-labels.scss +18 -16
- package/scss/assets/bootstrap5/forms/_input-group.scss +1 -1
- package/scss/assets/bootstrap5/mixins/_banner.scss +2 -2
- package/scss/assets/bootstrap5/mixins/_grid.scss +1 -1
- package/scss/assets/bootstrap5/mixins/_visually-hidden.scss +1 -1
- package/scss/keymaster.scss +3 -0
- package/scss/theme/_accordion.scss +13 -3
- package/scss/theme/_alert.scss +2 -0
- package/scss/theme/_badge.scss +1 -1
- package/scss/theme/_buttons.scss +5 -5
- package/scss/theme/_carousel.scss +3 -6
- package/scss/theme/_close.scss +3 -0
- package/scss/theme/_modal.scss +35 -0
- package/scss/theme/_spinners.scss +9 -0
- package/scss/theme/_typography.scss +8 -13
- package/scss/theme/_utilities-overrides.scss +33 -33
- package/scss/theme/_variables-overrides.scss +15 -8
- package/scss/theme/_variables.scss +12 -0
package/dist/js/keymaster.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Unlock Keymaster v1.0.
|
2
|
+
* Unlock Keymaster v1.0.3 (https://unlock-com.github.io/keymaster)
|
3
3
|
* Copyright 2022-2025 Unlk Developers
|
4
4
|
*/
|
5
5
|
(function (global, factory) {
|
@@ -32,8 +32,8 @@
|
|
32
32
|
var data = {exports: {}};
|
33
33
|
|
34
34
|
/*!
|
35
|
-
* Bootstrap data.js v5.3.
|
36
|
-
* Copyright 2011-
|
35
|
+
* Bootstrap data.js v5.3.5 (https://getbootstrap.com/)
|
36
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
37
37
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
38
38
|
*/
|
39
39
|
|
@@ -97,8 +97,8 @@
|
|
97
97
|
var util = {exports: {}};
|
98
98
|
|
99
99
|
/*!
|
100
|
-
* Bootstrap index.js v5.3.
|
101
|
-
* Copyright 2011-
|
100
|
+
* Bootstrap index.js v5.3.5 (https://getbootstrap.com/)
|
101
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
102
102
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
103
103
|
*/
|
104
104
|
|
@@ -254,7 +254,7 @@
|
|
254
254
|
* @param {HTMLElement} element
|
255
255
|
* @return void
|
256
256
|
*
|
257
|
-
* @see https://www.
|
257
|
+
* @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation
|
258
258
|
*/
|
259
259
|
const reflow = element => {
|
260
260
|
element.offsetHeight; // eslint-disable-line no-unused-expressions
|
@@ -299,7 +299,7 @@
|
|
299
299
|
});
|
300
300
|
};
|
301
301
|
const execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {
|
302
|
-
return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue;
|
302
|
+
return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue;
|
303
303
|
};
|
304
304
|
const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {
|
305
305
|
if (!waitForTransition) {
|
@@ -377,8 +377,8 @@
|
|
377
377
|
}(util, util.exports));
|
378
378
|
|
379
379
|
/*!
|
380
|
-
* Bootstrap event-handler.js v5.3.
|
381
|
-
* Copyright 2011-
|
380
|
+
* Bootstrap event-handler.js v5.3.5 (https://getbootstrap.com/)
|
381
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
382
382
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
383
383
|
*/
|
384
384
|
|
@@ -615,8 +615,8 @@
|
|
615
615
|
var manipulator = {exports: {}};
|
616
616
|
|
617
617
|
/*!
|
618
|
-
* Bootstrap manipulator.js v5.3.
|
619
|
-
* Copyright 2011-
|
618
|
+
* Bootstrap manipulator.js v5.3.5 (https://getbootstrap.com/)
|
619
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
620
620
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
621
621
|
*/
|
622
622
|
|
@@ -671,7 +671,7 @@
|
|
671
671
|
const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));
|
672
672
|
for (const key of bsKeys) {
|
673
673
|
let pureKey = key.replace(/^bs/, '');
|
674
|
-
pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1
|
674
|
+
pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1);
|
675
675
|
attributes[pureKey] = normalizeData(element.dataset[key]);
|
676
676
|
}
|
677
677
|
return attributes;
|
@@ -685,8 +685,8 @@
|
|
685
685
|
}(manipulator));
|
686
686
|
|
687
687
|
/*!
|
688
|
-
* Bootstrap config.js v5.3.
|
689
|
-
* Copyright 2011-
|
688
|
+
* Bootstrap config.js v5.3.5 (https://getbootstrap.com/)
|
689
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
690
690
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
691
691
|
*/
|
692
692
|
|
@@ -750,8 +750,8 @@
|
|
750
750
|
}(config));
|
751
751
|
|
752
752
|
/*!
|
753
|
-
* Bootstrap base-component.js v5.3.
|
754
|
-
* Copyright 2011-
|
753
|
+
* Bootstrap base-component.js v5.3.5 (https://getbootstrap.com/)
|
754
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
755
755
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
756
756
|
*/
|
757
757
|
|
@@ -770,7 +770,7 @@
|
|
770
770
|
/**
|
771
771
|
* Constants
|
772
772
|
*/
|
773
|
-
const VERSION = '5.3.
|
773
|
+
const VERSION = '5.3.5';
|
774
774
|
|
775
775
|
/**
|
776
776
|
* Class definition
|
@@ -835,8 +835,8 @@
|
|
835
835
|
var selectorEngine = {exports: {}};
|
836
836
|
|
837
837
|
/*!
|
838
|
-
* Bootstrap selector-engine.js v5.3.
|
839
|
-
* Copyright 2011-
|
838
|
+
* Bootstrap selector-engine.js v5.3.5 (https://getbootstrap.com/)
|
839
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
840
840
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
841
841
|
*/
|
842
842
|
|
@@ -937,8 +937,8 @@
|
|
937
937
|
}(selectorEngine));
|
938
938
|
|
939
939
|
/*!
|
940
|
-
* Bootstrap component-functions.js v5.3.
|
941
|
-
* Copyright 2011-
|
940
|
+
* Bootstrap component-functions.js v5.3.5 (https://getbootstrap.com/)
|
941
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
942
942
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
943
943
|
*/
|
944
944
|
|
@@ -978,8 +978,8 @@
|
|
978
978
|
}(componentFunctions, componentFunctions.exports));
|
979
979
|
|
980
980
|
/*!
|
981
|
-
* Bootstrap alert.js v5.3.
|
982
|
-
* Copyright 2011-
|
981
|
+
* Bootstrap alert.js v5.3.5 (https://getbootstrap.com/)
|
982
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
983
983
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
984
984
|
*/
|
985
985
|
|
@@ -1071,8 +1071,8 @@
|
|
1071
1071
|
var swipe = {exports: {}};
|
1072
1072
|
|
1073
1073
|
/*!
|
1074
|
-
* Bootstrap swipe.js v5.3.
|
1075
|
-
* Copyright 2011-
|
1074
|
+
* Bootstrap swipe.js v5.3.5 (https://getbootstrap.com/)
|
1075
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
1076
1076
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
1077
1077
|
*/
|
1078
1078
|
|
@@ -1203,8 +1203,8 @@
|
|
1203
1203
|
}(swipe));
|
1204
1204
|
|
1205
1205
|
/*!
|
1206
|
-
* Bootstrap carousel.js v5.3.
|
1207
|
-
* Copyright 2011-
|
1206
|
+
* Bootstrap carousel.js v5.3.5 (https://getbootstrap.com/)
|
1207
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
1208
1208
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
1209
1209
|
*/
|
1210
1210
|
|
@@ -1592,8 +1592,8 @@
|
|
1592
1592
|
var button$1 = {exports: {}};
|
1593
1593
|
|
1594
1594
|
/*!
|
1595
|
-
* Bootstrap button.js v5.3.
|
1596
|
-
* Copyright 2011-
|
1595
|
+
* Bootstrap button.js v5.3.5 (https://getbootstrap.com/)
|
1596
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
1597
1597
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
1598
1598
|
*/
|
1599
1599
|
|
@@ -3339,8 +3339,8 @@
|
|
3339
3339
|
var require$$0 = /*@__PURE__*/getAugmentedNamespace(Popper);
|
3340
3340
|
|
3341
3341
|
/*!
|
3342
|
-
* Bootstrap dropdown.js v5.3.
|
3343
|
-
* Copyright 2011-
|
3342
|
+
* Bootstrap dropdown.js v5.3.5 (https://getbootstrap.com/)
|
3343
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
3344
3344
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
3345
3345
|
*/
|
3346
3346
|
|
@@ -3548,7 +3548,7 @@
|
|
3548
3548
|
}
|
3549
3549
|
_createPopper() {
|
3550
3550
|
if (typeof Popper__namespace === 'undefined') {
|
3551
|
-
throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)');
|
3551
|
+
throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org/docs/v2/)');
|
3552
3552
|
}
|
3553
3553
|
let referenceElement = this._element;
|
3554
3554
|
if (this._config.reference === 'parent') {
|
@@ -3627,7 +3627,7 @@
|
|
3627
3627
|
}
|
3628
3628
|
return {
|
3629
3629
|
...defaultBsPopperConfig,
|
3630
|
-
...index_js.execute(this._config.popperConfig, [defaultBsPopperConfig])
|
3630
|
+
...index_js.execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])
|
3631
3631
|
};
|
3632
3632
|
}
|
3633
3633
|
_selectMenuItem({
|
@@ -3746,8 +3746,8 @@
|
|
3746
3746
|
var collapse$1 = {exports: {}};
|
3747
3747
|
|
3748
3748
|
/*!
|
3749
|
-
* Bootstrap collapse.js v5.3.
|
3750
|
-
* Copyright 2011-
|
3749
|
+
* Bootstrap collapse.js v5.3.5 (https://getbootstrap.com/)
|
3750
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
3751
3751
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
3752
3752
|
*/
|
3753
3753
|
|
@@ -3998,8 +3998,8 @@
|
|
3998
3998
|
var backdrop = {exports: {}};
|
3999
3999
|
|
4000
4000
|
/*!
|
4001
|
-
* Bootstrap backdrop.js v5.3.
|
4002
|
-
* Copyright 2011-
|
4001
|
+
* Bootstrap backdrop.js v5.3.5 (https://getbootstrap.com/)
|
4002
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4003
4003
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
4004
4004
|
*/
|
4005
4005
|
|
@@ -4136,8 +4136,8 @@
|
|
4136
4136
|
var focustrap = {exports: {}};
|
4137
4137
|
|
4138
4138
|
/*!
|
4139
|
-
* Bootstrap focustrap.js v5.3.
|
4140
|
-
* Copyright 2011-
|
4139
|
+
* Bootstrap focustrap.js v5.3.5 (https://getbootstrap.com/)
|
4140
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4141
4141
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
4142
4142
|
*/
|
4143
4143
|
|
@@ -4248,8 +4248,8 @@
|
|
4248
4248
|
var scrollbar = {exports: {}};
|
4249
4249
|
|
4250
4250
|
/*!
|
4251
|
-
* Bootstrap scrollbar.js v5.3.
|
4252
|
-
* Copyright 2011-
|
4251
|
+
* Bootstrap scrollbar.js v5.3.5 (https://getbootstrap.com/)
|
4252
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4253
4253
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
4254
4254
|
*/
|
4255
4255
|
|
@@ -4358,8 +4358,8 @@
|
|
4358
4358
|
}(scrollbar));
|
4359
4359
|
|
4360
4360
|
/*!
|
4361
|
-
* Bootstrap offcanvas.js v5.3.
|
4362
|
-
* Copyright 2011-
|
4361
|
+
* Bootstrap offcanvas.js v5.3.5 (https://getbootstrap.com/)
|
4362
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4363
4363
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
4364
4364
|
*/
|
4365
4365
|
|
@@ -4605,8 +4605,8 @@
|
|
4605
4605
|
var modal$1 = {exports: {}};
|
4606
4606
|
|
4607
4607
|
/*!
|
4608
|
-
* Bootstrap modal.js v5.3.
|
4609
|
-
* Copyright 2011-
|
4608
|
+
* Bootstrap modal.js v5.3.5 (https://getbootstrap.com/)
|
4609
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4610
4610
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
4611
4611
|
*/
|
4612
4612
|
|
@@ -4926,8 +4926,8 @@
|
|
4926
4926
|
var scrollspy$1 = {exports: {}};
|
4927
4927
|
|
4928
4928
|
/*!
|
4929
|
-
* Bootstrap scrollspy.js v5.3.
|
4930
|
-
* Copyright 2011-
|
4929
|
+
* Bootstrap scrollspy.js v5.3.5 (https://getbootstrap.com/)
|
4930
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4931
4931
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
4932
4932
|
*/
|
4933
4933
|
|
@@ -5206,8 +5206,8 @@
|
|
5206
5206
|
var sanitizer = {exports: {}};
|
5207
5207
|
|
5208
5208
|
/*!
|
5209
|
-
* Bootstrap sanitizer.js v5.3.
|
5210
|
-
* Copyright 2011-
|
5209
|
+
* Bootstrap sanitizer.js v5.3.5 (https://getbootstrap.com/)
|
5210
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
5211
5211
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
5212
5212
|
*/
|
5213
5213
|
|
@@ -5322,8 +5322,8 @@
|
|
5322
5322
|
var templateFactory = {exports: {}};
|
5323
5323
|
|
5324
5324
|
/*!
|
5325
|
-
* Bootstrap template-factory.js v5.3.
|
5326
|
-
* Copyright 2011-
|
5325
|
+
* Bootstrap template-factory.js v5.3.5 (https://getbootstrap.com/)
|
5326
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
5327
5327
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
5328
5328
|
*/
|
5329
5329
|
|
@@ -5454,7 +5454,7 @@
|
|
5454
5454
|
return this._config.sanitize ? sanitizer_js.sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;
|
5455
5455
|
}
|
5456
5456
|
_resolvePossibleFunction(arg) {
|
5457
|
-
return index_js.execute(arg, [this]);
|
5457
|
+
return index_js.execute(arg, [undefined, this]);
|
5458
5458
|
}
|
5459
5459
|
_putElementInTemplate(element, templateElement) {
|
5460
5460
|
if (this._config.html) {
|
@@ -5470,8 +5470,8 @@
|
|
5470
5470
|
}(templateFactory));
|
5471
5471
|
|
5472
5472
|
/*!
|
5473
|
-
* Bootstrap tooltip.js v5.3.
|
5474
|
-
* Copyright 2011-
|
5473
|
+
* Bootstrap tooltip.js v5.3.5 (https://getbootstrap.com/)
|
5474
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
5475
5475
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
5476
5476
|
*/
|
5477
5477
|
|
@@ -5588,7 +5588,7 @@
|
|
5588
5588
|
class Tooltip extends BaseComponent {
|
5589
5589
|
constructor(element, config) {
|
5590
5590
|
if (typeof Popper__namespace === 'undefined') {
|
5591
|
-
throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)');
|
5591
|
+
throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org/docs/v2/)');
|
5592
5592
|
}
|
5593
5593
|
super(element, config);
|
5594
5594
|
|
@@ -5634,7 +5634,6 @@
|
|
5634
5634
|
if (!this._isEnabled) {
|
5635
5635
|
return;
|
5636
5636
|
}
|
5637
|
-
this._activeTrigger.click = !this._activeTrigger.click;
|
5638
5637
|
if (this._isShown()) {
|
5639
5638
|
this._leave();
|
5640
5639
|
return;
|
@@ -5822,7 +5821,7 @@
|
|
5822
5821
|
return offset;
|
5823
5822
|
}
|
5824
5823
|
_resolvePossibleFunction(arg) {
|
5825
|
-
return index_js.execute(arg, [this._element]);
|
5824
|
+
return index_js.execute(arg, [this._element, this._element]);
|
5826
5825
|
}
|
5827
5826
|
_getPopperConfig(attachment) {
|
5828
5827
|
const defaultBsPopperConfig = {
|
@@ -5860,7 +5859,7 @@
|
|
5860
5859
|
};
|
5861
5860
|
return {
|
5862
5861
|
...defaultBsPopperConfig,
|
5863
|
-
...index_js.execute(this._config.popperConfig, [defaultBsPopperConfig])
|
5862
|
+
...index_js.execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])
|
5864
5863
|
};
|
5865
5864
|
}
|
5866
5865
|
_setListeners() {
|
@@ -6019,8 +6018,8 @@
|
|
6019
6018
|
var tooltip = tooltip$1.exports;
|
6020
6019
|
|
6021
6020
|
/*!
|
6022
|
-
* Bootstrap popover.js v5.3.
|
6023
|
-
* Copyright 2011-
|
6021
|
+
* Bootstrap popover.js v5.3.5 (https://getbootstrap.com/)
|
6022
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
6024
6023
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
6025
6024
|
*/
|
6026
6025
|
|
@@ -6116,8 +6115,8 @@
|
|
6116
6115
|
var toast$1 = {exports: {}};
|
6117
6116
|
|
6118
6117
|
/*!
|
6119
|
-
* Bootstrap toast.js v5.3.
|
6120
|
-
* Copyright 2011-
|
6118
|
+
* Bootstrap toast.js v5.3.5 (https://getbootstrap.com/)
|
6119
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
6121
6120
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
6122
6121
|
*/
|
6123
6122
|
|
@@ -6316,8 +6315,8 @@
|
|
6316
6315
|
var tab$1 = {exports: {}};
|
6317
6316
|
|
6318
6317
|
/*!
|
6319
|
-
* Bootstrap tab.js v5.3.
|
6320
|
-
* Copyright 2011-
|
6318
|
+
* Bootstrap tab.js v5.3.5 (https://getbootstrap.com/)
|
6319
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
6321
6320
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
6322
6321
|
*/
|
6323
6322
|
|
@@ -6760,7 +6759,7 @@
|
|
6760
6759
|
});
|
6761
6760
|
};
|
6762
6761
|
const execute$1 = (possibleCallback, args = [], defaultValue = possibleCallback) => {
|
6763
|
-
return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue;
|
6762
|
+
return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue;
|
6764
6763
|
};
|
6765
6764
|
const executeAfterTransition$1 = (callback, transitionElement, waitForTransition = true) => {
|
6766
6765
|
if (!waitForTransition) {
|
@@ -7056,7 +7055,7 @@
|
|
7056
7055
|
const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));
|
7057
7056
|
for (const key of bsKeys) {
|
7058
7057
|
let pureKey = key.replace(/^bs/, '');
|
7059
|
-
pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1
|
7058
|
+
pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1);
|
7060
7059
|
attributes[pureKey] = normalizeData$1(element.dataset[key]);
|
7061
7060
|
}
|
7062
7061
|
return attributes;
|
@@ -7129,7 +7128,7 @@
|
|
7129
7128
|
* Constants
|
7130
7129
|
*/
|
7131
7130
|
|
7132
|
-
const VERSION$1 = '5.3.
|
7131
|
+
const VERSION$1 = '5.3.5';
|
7133
7132
|
|
7134
7133
|
/**
|
7135
7134
|
* Class definition
|
@@ -7249,8 +7248,8 @@
|
|
7249
7248
|
defineJQueryPlugin$1(Datepicker);
|
7250
7249
|
|
7251
7250
|
/*!
|
7252
|
-
* Bootstrap v5.3.
|
7253
|
-
* Copyright 2011-
|
7251
|
+
* Bootstrap v5.3.5 (https://getbootstrap.com/)
|
7252
|
+
* Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
7254
7253
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
7255
7254
|
*/
|
7256
7255
|
|
@@ -7450,7 +7449,7 @@
|
|
7450
7449
|
* @param {HTMLElement} element
|
7451
7450
|
* @return void
|
7452
7451
|
*
|
7453
|
-
* @see https://www.
|
7452
|
+
* @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation
|
7454
7453
|
*/
|
7455
7454
|
const reflow = element => {
|
7456
7455
|
element.offsetHeight; // eslint-disable-line no-unused-expressions
|
@@ -7495,7 +7494,7 @@
|
|
7495
7494
|
});
|
7496
7495
|
};
|
7497
7496
|
const execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {
|
7498
|
-
return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue;
|
7497
|
+
return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue;
|
7499
7498
|
};
|
7500
7499
|
const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {
|
7501
7500
|
if (!waitForTransition) {
|
@@ -7816,7 +7815,7 @@
|
|
7816
7815
|
const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));
|
7817
7816
|
for (const key of bsKeys) {
|
7818
7817
|
let pureKey = key.replace(/^bs/, '');
|
7819
|
-
pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1
|
7818
|
+
pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1);
|
7820
7819
|
attributes[pureKey] = normalizeData(element.dataset[key]);
|
7821
7820
|
}
|
7822
7821
|
return attributes;
|
@@ -7889,7 +7888,7 @@
|
|
7889
7888
|
* Constants
|
7890
7889
|
*/
|
7891
7890
|
|
7892
|
-
const VERSION = '5.3.
|
7891
|
+
const VERSION = '5.3.5';
|
7893
7892
|
|
7894
7893
|
/**
|
7895
7894
|
* Class definition
|
@@ -9098,7 +9097,7 @@
|
|
9098
9097
|
}
|
9099
9098
|
_createPopper() {
|
9100
9099
|
if (typeof Popper === 'undefined') {
|
9101
|
-
throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)');
|
9100
|
+
throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org/docs/v2/)');
|
9102
9101
|
}
|
9103
9102
|
let referenceElement = this._element;
|
9104
9103
|
if (this._config.reference === 'parent') {
|
@@ -9177,7 +9176,7 @@
|
|
9177
9176
|
}
|
9178
9177
|
return {
|
9179
9178
|
...defaultBsPopperConfig,
|
9180
|
-
...execute(this._config.popperConfig, [defaultBsPopperConfig])
|
9179
|
+
...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])
|
9181
9180
|
};
|
9182
9181
|
}
|
9183
9182
|
_selectMenuItem({
|
@@ -10358,7 +10357,7 @@
|
|
10358
10357
|
return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;
|
10359
10358
|
}
|
10360
10359
|
_resolvePossibleFunction(arg) {
|
10361
|
-
return execute(arg, [this]);
|
10360
|
+
return execute(arg, [undefined, this]);
|
10362
10361
|
}
|
10363
10362
|
_putElementInTemplate(element, templateElement) {
|
10364
10363
|
if (this._config.html) {
|
@@ -10456,7 +10455,7 @@
|
|
10456
10455
|
class Tooltip extends BaseComponent {
|
10457
10456
|
constructor(element, config) {
|
10458
10457
|
if (typeof Popper === 'undefined') {
|
10459
|
-
throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)');
|
10458
|
+
throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org/docs/v2/)');
|
10460
10459
|
}
|
10461
10460
|
super(element, config);
|
10462
10461
|
|
@@ -10502,7 +10501,6 @@
|
|
10502
10501
|
if (!this._isEnabled) {
|
10503
10502
|
return;
|
10504
10503
|
}
|
10505
|
-
this._activeTrigger.click = !this._activeTrigger.click;
|
10506
10504
|
if (this._isShown()) {
|
10507
10505
|
this._leave();
|
10508
10506
|
return;
|
@@ -10690,7 +10688,7 @@
|
|
10690
10688
|
return offset;
|
10691
10689
|
}
|
10692
10690
|
_resolvePossibleFunction(arg) {
|
10693
|
-
return execute(arg, [this._element]);
|
10691
|
+
return execute(arg, [this._element, this._element]);
|
10694
10692
|
}
|
10695
10693
|
_getPopperConfig(attachment) {
|
10696
10694
|
const defaultBsPopperConfig = {
|
@@ -10728,7 +10726,7 @@
|
|
10728
10726
|
};
|
10729
10727
|
return {
|
10730
10728
|
...defaultBsPopperConfig,
|
10731
|
-
...execute(this._config.popperConfig, [defaultBsPopperConfig])
|
10729
|
+
...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])
|
10732
10730
|
};
|
10733
10731
|
}
|
10734
10732
|
_setListeners() {
|
@@ -11701,6 +11699,107 @@
|
|
11701
11699
|
}
|
11702
11700
|
}
|
11703
11701
|
|
11702
|
+
// Load YouTube API
|
11703
|
+
const youTubeAPIInitPromise = new Promise(resolve => {
|
11704
|
+
if (window.YT?.Player) {
|
11705
|
+
resolve();
|
11706
|
+
} else {
|
11707
|
+
window.onYouTubeIframeAPIReady = () => {
|
11708
|
+
resolve();
|
11709
|
+
};
|
11710
|
+
const ytScript = document.createElement('script');
|
11711
|
+
ytScript.src = 'https://www.youtube.com/iframe_api';
|
11712
|
+
document.head.append(ytScript);
|
11713
|
+
}
|
11714
|
+
});
|
11715
|
+
const vimeoAPIInitPromise = new Promise(resolve => {
|
11716
|
+
if (window.Vimeo?.Player) {
|
11717
|
+
resolve();
|
11718
|
+
} else {
|
11719
|
+
const vimeoScript = document.createElement('script');
|
11720
|
+
vimeoScript.src = 'https://player.vimeo.com/api/player.js';
|
11721
|
+
vimeoScript.addEventListener('load', () => {
|
11722
|
+
resolve();
|
11723
|
+
});
|
11724
|
+
document.head.append(vimeoScript);
|
11725
|
+
}
|
11726
|
+
});
|
11727
|
+
class VideoModal {
|
11728
|
+
constructor(modal) {
|
11729
|
+
this.modal = modal;
|
11730
|
+
this.dialog = modal.querySelector('.modal-dialog-media');
|
11731
|
+
this.container = modal.querySelector('.ratio');
|
11732
|
+
if (!this.dialog || !this.container) {
|
11733
|
+
return;
|
11734
|
+
}
|
11735
|
+
this.modalId = modal.id;
|
11736
|
+
this.youtubeSrc = this.container.getAttribute('data-src');
|
11737
|
+
this.vimeoUrl = this.container.getAttribute('data-vimeo-url');
|
11738
|
+
this.vimeoPlayer = null;
|
11739
|
+
this.youtubePlayer = null;
|
11740
|
+
modal.addEventListener('show.bs.modal', () => this.onShow());
|
11741
|
+
modal.addEventListener('hidden.bs.modal', () => this.onHide());
|
11742
|
+
}
|
11743
|
+
async onShow() {
|
11744
|
+
const playerClass = `${this.modalId}-youtube-player`;
|
11745
|
+
if (this.vimeoUrl) {
|
11746
|
+
const vimeoId = this.getVimeoId(this.vimeoUrl);
|
11747
|
+
await vimeoAPIInitPromise;
|
11748
|
+
this.vimeoPlayer = new window.Vimeo.Player(this.container, {
|
11749
|
+
id: vimeoId,
|
11750
|
+
autoplay: true
|
11751
|
+
});
|
11752
|
+
}
|
11753
|
+
if (this.youtubeSrc) {
|
11754
|
+
const youtubeId = this.getYouTubeId(this.youtubeSrc);
|
11755
|
+
await youTubeAPIInitPromise;
|
11756
|
+
|
11757
|
+
// Dynamically insert YouTube div
|
11758
|
+
this.container.innerHTML = `<div class="${playerClass} w-100 h-100"></div>`;
|
11759
|
+
const playerDiv = this.container.querySelector(`.${playerClass}`);
|
11760
|
+
|
11761
|
+
// eslint-disable-next-line no-undef
|
11762
|
+
this.youtubePlayer = new YT.Player(playerDiv, {
|
11763
|
+
videoId: youtubeId,
|
11764
|
+
playerVars: {
|
11765
|
+
autoplay: 1,
|
11766
|
+
rel: 0
|
11767
|
+
}
|
11768
|
+
});
|
11769
|
+
}
|
11770
|
+
}
|
11771
|
+
onHide() {
|
11772
|
+
if (this.vimeoPlayer) {
|
11773
|
+
this.vimeoPlayer.unload().catch(() => {});
|
11774
|
+
this.vimeoPlayer = null;
|
11775
|
+
}
|
11776
|
+
if (this.youtubePlayer) {
|
11777
|
+
this.youtubePlayer.destroy();
|
11778
|
+
this.youtubePlayer = null;
|
11779
|
+
}
|
11780
|
+
}
|
11781
|
+
getYouTubeId(url) {
|
11782
|
+
const match = url.match(/(?:v=|youtu\.be\/)([\w-]{11})/);
|
11783
|
+
return match ? match[1] : '';
|
11784
|
+
}
|
11785
|
+
getVimeoId(url) {
|
11786
|
+
const match = url.match(/vimeo\.com\/(\d+)/);
|
11787
|
+
return match ? match[1] : '';
|
11788
|
+
}
|
11789
|
+
}
|
11790
|
+
|
11791
|
+
// Auto-init for all triggered modals with dialog-media
|
11792
|
+
document.addEventListener('DOMContentLoaded', () => {
|
11793
|
+
for (const button of document.querySelectorAll('[data-bs-toggle="modal"][data-bs-target]')) {
|
11794
|
+
const targetSelector = button.getAttribute('data-bs-target');
|
11795
|
+
const modal = document.querySelector(targetSelector);
|
11796
|
+
if (modal?.querySelector('.modal-dialog-media')) {
|
11797
|
+
// eslint-disable-next-line no-new
|
11798
|
+
new VideoModal(modal);
|
11799
|
+
}
|
11800
|
+
}
|
11801
|
+
});
|
11802
|
+
|
11704
11803
|
exports.Alert = alert;
|
11705
11804
|
exports.Button = button;
|
11706
11805
|
exports.Carousel = carousel_1;
|
@@ -11715,6 +11814,7 @@
|
|
11715
11814
|
exports.Tab = tab;
|
11716
11815
|
exports.Toast = toast;
|
11717
11816
|
exports.Tooltip = tooltip;
|
11817
|
+
exports.VideoModal = VideoModal;
|
11718
11818
|
|
11719
11819
|
Object.defineProperty(exports, '__esModule', { value: true });
|
11720
11820
|
|