vrembem 1.40.1 → 1.40.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/dev/scripts.esm.js +407 -366
- package/dev/scripts.esm.js.map +1 -1
- package/dev/scripts.js +407 -366
- package/dev/scripts.js.map +1 -1
- package/dev/scripts.modern.js +328 -299
- package/dev/scripts.modern.js.map +1 -1
- package/dev/scripts.umd.js +407 -366
- package/dev/scripts.umd.js.map +1 -1
- package/dev/styles.css.map +1 -1
- package/dist/scripts.esm.js +1 -1
- package/dist/scripts.esm.js.map +1 -1
- package/dist/scripts.js +1 -1
- package/dist/scripts.js.map +1 -1
- package/dist/scripts.modern.js +1 -1
- package/dist/scripts.modern.js.map +1 -1
- package/dist/scripts.umd.js +1 -1
- package/dist/scripts.umd.js.map +1 -1
- package/dist/styles.css.map +1 -1
- package/package.json +26 -26
package/dev/scripts.umd.js
CHANGED
|
@@ -500,55 +500,6 @@
|
|
|
500
500
|
transition: true
|
|
501
501
|
};
|
|
502
502
|
|
|
503
|
-
var switchToDefault = function switchToDefault(drawerKey, obj) {
|
|
504
|
-
try {
|
|
505
|
-
// Initial guards
|
|
506
|
-
var drawer = obj.getDrawer(drawerKey);
|
|
507
|
-
if (!drawer) return Promise.resolve(obj.drawerNotFound(drawerKey));
|
|
508
|
-
if (!hasClass(drawer, obj.settings.classModal)) return Promise.resolve(); // Tear down modal state
|
|
509
|
-
|
|
510
|
-
setInert(false, obj.settings.selectorInert);
|
|
511
|
-
setOverflowHidden(false, obj.settings.selectorOverflow);
|
|
512
|
-
removeClass(drawer, obj.settings.classModal);
|
|
513
|
-
obj.focusTrap.destroy(); // Restore drawers saved state
|
|
514
|
-
|
|
515
|
-
drawerKey = drawer.getAttribute("data-" + obj.settings.dataDrawer);
|
|
516
|
-
var drawerState = obj.state[drawerKey];
|
|
517
|
-
|
|
518
|
-
if (drawerState == obj.settings.stateOpened) {
|
|
519
|
-
addClass(drawer, obj.settings.stateOpened);
|
|
520
|
-
removeClass(drawer, obj.settings.stateClosed);
|
|
521
|
-
} // Dispatch custom event
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
drawer.dispatchEvent(new CustomEvent(obj.settings.customEventPrefix + 'toDefault', {
|
|
525
|
-
bubbles: true
|
|
526
|
-
}));
|
|
527
|
-
return Promise.resolve(drawer);
|
|
528
|
-
} catch (e) {
|
|
529
|
-
return Promise.reject(e);
|
|
530
|
-
}
|
|
531
|
-
};
|
|
532
|
-
var switchToModal = function switchToModal(drawerKey, obj) {
|
|
533
|
-
try {
|
|
534
|
-
// Initial guards
|
|
535
|
-
var drawer = obj.getDrawer(drawerKey);
|
|
536
|
-
if (!drawer) return Promise.resolve(obj.drawerNotFound(drawerKey));
|
|
537
|
-
if (hasClass(drawer, obj.settings.classModal)) return Promise.resolve(); // Enable modal state
|
|
538
|
-
|
|
539
|
-
addClass(drawer, obj.settings.classModal);
|
|
540
|
-
addClass(drawer, obj.settings.stateClosed);
|
|
541
|
-
removeClass(drawer, obj.settings.stateOpened); // Dispatch custom event
|
|
542
|
-
|
|
543
|
-
drawer.dispatchEvent(new CustomEvent(obj.settings.customEventPrefix + 'toModal', {
|
|
544
|
-
bubbles: true
|
|
545
|
-
}));
|
|
546
|
-
return Promise.resolve(drawer);
|
|
547
|
-
} catch (e) {
|
|
548
|
-
return Promise.reject(e);
|
|
549
|
-
}
|
|
550
|
-
};
|
|
551
|
-
|
|
552
503
|
var Breakpoint = /*#__PURE__*/function () {
|
|
553
504
|
function Breakpoint(parent) {
|
|
554
505
|
this.mediaQueryLists = [];
|
|
@@ -618,9 +569,9 @@
|
|
|
618
569
|
|
|
619
570
|
_proto.match = function match(mql, drawer) {
|
|
620
571
|
if (mql.matches) {
|
|
621
|
-
switchToDefault(drawer
|
|
572
|
+
this.parent.switchToDefault(drawer);
|
|
622
573
|
} else {
|
|
623
|
-
switchToModal(drawer
|
|
574
|
+
this.parent.switchToModal(drawer);
|
|
624
575
|
}
|
|
625
576
|
};
|
|
626
577
|
|
|
@@ -646,6 +597,52 @@
|
|
|
646
597
|
return Breakpoint;
|
|
647
598
|
}();
|
|
648
599
|
|
|
600
|
+
function getDrawer(drawerKey) {
|
|
601
|
+
if (typeof drawerKey !== 'string') return drawerKey;
|
|
602
|
+
return document.querySelector("[data-" + this.settings.dataDrawer + "=\"" + drawerKey + "\"]");
|
|
603
|
+
}
|
|
604
|
+
function drawerNotFound(key) {
|
|
605
|
+
return Promise.reject(new Error("Did not find drawer with key: \"" + key + "\""));
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
var close$2 = function close(drawerKey) {
|
|
609
|
+
try {
|
|
610
|
+
var _this2 = this;
|
|
611
|
+
|
|
612
|
+
var drawer = _this2.getDrawer(drawerKey);
|
|
613
|
+
|
|
614
|
+
if (!drawer) return Promise.resolve(drawerNotFound(drawerKey));
|
|
615
|
+
|
|
616
|
+
if (hasClass(drawer, _this2.settings.stateOpened)) {
|
|
617
|
+
_this2.working = true;
|
|
618
|
+
|
|
619
|
+
if (hasClass(drawer, _this2.settings.classModal)) {
|
|
620
|
+
setInert(false, _this2.settings.selectorInert);
|
|
621
|
+
setOverflowHidden(false, _this2.settings.selectorOverflow);
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
return Promise.resolve(closeTransition(drawer, _this2.settings)).then(function () {
|
|
625
|
+
_this2.stateSave(drawer);
|
|
626
|
+
|
|
627
|
+
focusTrigger(_this2);
|
|
628
|
+
|
|
629
|
+
_this2.focusTrap.destroy();
|
|
630
|
+
|
|
631
|
+
drawer.dispatchEvent(new CustomEvent(_this2.settings.customEventPrefix + 'closed', {
|
|
632
|
+
detail: _this2,
|
|
633
|
+
bubbles: true
|
|
634
|
+
}));
|
|
635
|
+
_this2.working = false;
|
|
636
|
+
return drawer;
|
|
637
|
+
});
|
|
638
|
+
} else {
|
|
639
|
+
return Promise.resolve(drawer);
|
|
640
|
+
}
|
|
641
|
+
} catch (e) {
|
|
642
|
+
return Promise.reject(e);
|
|
643
|
+
}
|
|
644
|
+
};
|
|
645
|
+
|
|
649
646
|
function handlerClick$2(event) {
|
|
650
647
|
// Working catch
|
|
651
648
|
if (this.working) return; // Toggle data trigger
|
|
@@ -709,6 +706,48 @@
|
|
|
709
706
|
}
|
|
710
707
|
}
|
|
711
708
|
|
|
709
|
+
var open$2 = function open(drawerKey) {
|
|
710
|
+
try {
|
|
711
|
+
var _this2 = this;
|
|
712
|
+
|
|
713
|
+
var drawer = _this2.getDrawer(drawerKey);
|
|
714
|
+
|
|
715
|
+
if (!drawer) return Promise.resolve(drawerNotFound(drawerKey));
|
|
716
|
+
|
|
717
|
+
if (!hasClass(drawer, _this2.settings.stateOpened)) {
|
|
718
|
+
_this2.working = true;
|
|
719
|
+
var isModal = hasClass(drawer, _this2.settings.classModal);
|
|
720
|
+
|
|
721
|
+
if (isModal) {
|
|
722
|
+
setOverflowHidden(true, _this2.settings.selectorOverflow);
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
return Promise.resolve(openTransition(drawer, _this2.settings)).then(function () {
|
|
726
|
+
_this2.stateSave(drawer);
|
|
727
|
+
|
|
728
|
+
if (isModal) {
|
|
729
|
+
_this2.focusTrap.init(drawer);
|
|
730
|
+
|
|
731
|
+
setInert(true, _this2.settings.selectorInert);
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
focusTarget(drawer, _this2.settings);
|
|
735
|
+
drawer.dispatchEvent(new CustomEvent(_this2.settings.customEventPrefix + 'opened', {
|
|
736
|
+
detail: _this2,
|
|
737
|
+
bubbles: true
|
|
738
|
+
}));
|
|
739
|
+
_this2.working = false;
|
|
740
|
+
return drawer;
|
|
741
|
+
});
|
|
742
|
+
} else {
|
|
743
|
+
focusTarget(drawer, _this2.settings);
|
|
744
|
+
return Promise.resolve(drawer);
|
|
745
|
+
}
|
|
746
|
+
} catch (e) {
|
|
747
|
+
return Promise.reject(e);
|
|
748
|
+
}
|
|
749
|
+
};
|
|
750
|
+
|
|
712
751
|
function stateSet(settings) {
|
|
713
752
|
// If save state is disabled
|
|
714
753
|
if (!settings.stateSave) return stateClear(settings); // If there isn't an existing state to set
|
|
@@ -753,6 +792,82 @@
|
|
|
753
792
|
return {};
|
|
754
793
|
}
|
|
755
794
|
|
|
795
|
+
var switchToDefault = function switchToDefault(drawerKey) {
|
|
796
|
+
try {
|
|
797
|
+
var _this4 = this;
|
|
798
|
+
|
|
799
|
+
// Initial guards
|
|
800
|
+
var drawer = _this4.getDrawer(drawerKey);
|
|
801
|
+
|
|
802
|
+
if (!drawer) return Promise.resolve(drawerNotFound(drawerKey));
|
|
803
|
+
if (!hasClass(drawer, _this4.settings.classModal)) return Promise.resolve(); // Tear down modal state
|
|
804
|
+
|
|
805
|
+
setInert(false, _this4.settings.selectorInert);
|
|
806
|
+
setOverflowHidden(false, _this4.settings.selectorOverflow);
|
|
807
|
+
removeClass(drawer, _this4.settings.classModal);
|
|
808
|
+
|
|
809
|
+
_this4.focusTrap.destroy(); // Restore drawers saved state
|
|
810
|
+
|
|
811
|
+
|
|
812
|
+
drawerKey = drawer.getAttribute("data-" + _this4.settings.dataDrawer);
|
|
813
|
+
var drawerState = _this4.state[drawerKey];
|
|
814
|
+
|
|
815
|
+
if (drawerState == _this4.settings.stateOpened) {
|
|
816
|
+
addClass(drawer, _this4.settings.stateOpened);
|
|
817
|
+
removeClass(drawer, _this4.settings.stateClosed);
|
|
818
|
+
} // Dispatch custom event
|
|
819
|
+
|
|
820
|
+
|
|
821
|
+
drawer.dispatchEvent(new CustomEvent(_this4.settings.customEventPrefix + 'toDefault', {
|
|
822
|
+
bubbles: true
|
|
823
|
+
}));
|
|
824
|
+
return Promise.resolve(drawer);
|
|
825
|
+
} catch (e) {
|
|
826
|
+
return Promise.reject(e);
|
|
827
|
+
}
|
|
828
|
+
};
|
|
829
|
+
var switchToModal = function switchToModal(drawerKey) {
|
|
830
|
+
try {
|
|
831
|
+
var _this2 = this;
|
|
832
|
+
|
|
833
|
+
// Initial guards
|
|
834
|
+
var drawer = _this2.getDrawer(drawerKey);
|
|
835
|
+
|
|
836
|
+
if (!drawer) return Promise.resolve(drawerNotFound(drawerKey));
|
|
837
|
+
if (hasClass(drawer, _this2.settings.classModal)) return Promise.resolve(); // Enable modal state
|
|
838
|
+
|
|
839
|
+
addClass(drawer, _this2.settings.classModal);
|
|
840
|
+
addClass(drawer, _this2.settings.stateClosed);
|
|
841
|
+
removeClass(drawer, _this2.settings.stateOpened); // Dispatch custom event
|
|
842
|
+
|
|
843
|
+
drawer.dispatchEvent(new CustomEvent(_this2.settings.customEventPrefix + 'toModal', {
|
|
844
|
+
bubbles: true
|
|
845
|
+
}));
|
|
846
|
+
return Promise.resolve(drawer);
|
|
847
|
+
} catch (e) {
|
|
848
|
+
return Promise.reject(e);
|
|
849
|
+
}
|
|
850
|
+
};
|
|
851
|
+
|
|
852
|
+
var toggle = function toggle(drawerKey) {
|
|
853
|
+
try {
|
|
854
|
+
var _this2 = this;
|
|
855
|
+
|
|
856
|
+
var drawer = _this2.getDrawer(drawerKey);
|
|
857
|
+
|
|
858
|
+
if (!drawer) return Promise.resolve(drawerNotFound(drawerKey));
|
|
859
|
+
var isClosed = !hasClass(drawer, _this2.settings.stateOpened);
|
|
860
|
+
|
|
861
|
+
if (isClosed) {
|
|
862
|
+
return Promise.resolve(_this2.open(drawer));
|
|
863
|
+
} else {
|
|
864
|
+
return Promise.resolve(_this2.close(drawer));
|
|
865
|
+
}
|
|
866
|
+
} catch (e) {
|
|
867
|
+
return Promise.reject(e);
|
|
868
|
+
}
|
|
869
|
+
};
|
|
870
|
+
|
|
756
871
|
var Drawer = /*#__PURE__*/function () {
|
|
757
872
|
function Drawer(options) {
|
|
758
873
|
this.defaults = defaults$2;
|
|
@@ -819,19 +934,12 @@
|
|
|
819
934
|
*/
|
|
820
935
|
;
|
|
821
936
|
|
|
822
|
-
_proto.getDrawer = function getDrawer(drawerKey) {
|
|
823
|
-
|
|
824
|
-
return document.querySelector("[data-" + this.settings.dataDrawer + "=\"" + drawerKey + "\"]");
|
|
825
|
-
};
|
|
826
|
-
|
|
827
|
-
_proto.drawerNotFound = function drawerNotFound(key) {
|
|
828
|
-
return Promise.reject(new Error("Did not find drawer with key: \"" + key + "\""));
|
|
937
|
+
_proto.getDrawer = function getDrawer$1(drawerKey) {
|
|
938
|
+
return getDrawer.call(this, drawerKey);
|
|
829
939
|
};
|
|
830
940
|
|
|
831
941
|
_proto.setTabindex = function setTabindex$1() {
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
setTabindex(selectorTabindex);
|
|
942
|
+
return setTabindex("\n [data-" + this.settings.dataDrawer + "]\n [data-" + this.settings.dataDialog + "]\n ");
|
|
835
943
|
}
|
|
836
944
|
/**
|
|
837
945
|
* Save state functionality
|
|
@@ -859,114 +967,27 @@
|
|
|
859
967
|
;
|
|
860
968
|
|
|
861
969
|
_proto.switchToDefault = function switchToDefault$1(drawerKey) {
|
|
862
|
-
return switchToDefault(
|
|
970
|
+
return switchToDefault.call(this, drawerKey);
|
|
863
971
|
};
|
|
864
972
|
|
|
865
973
|
_proto.switchToModal = function switchToModal$1(drawerKey) {
|
|
866
|
-
return switchToModal(
|
|
974
|
+
return switchToModal.call(this, drawerKey);
|
|
867
975
|
}
|
|
868
976
|
/**
|
|
869
977
|
* Change state functionality
|
|
870
978
|
*/
|
|
871
979
|
;
|
|
872
980
|
|
|
873
|
-
_proto.toggle = function toggle(drawerKey) {
|
|
874
|
-
|
|
875
|
-
var _this2 = this;
|
|
876
|
-
|
|
877
|
-
var drawer = _this2.getDrawer(drawerKey);
|
|
878
|
-
|
|
879
|
-
if (!drawer) return Promise.resolve(_this2.drawerNotFound(drawerKey));
|
|
880
|
-
var isClosed = !hasClass(drawer, _this2.settings.stateOpened);
|
|
881
|
-
|
|
882
|
-
if (isClosed) {
|
|
883
|
-
return Promise.resolve(_this2.open(drawer));
|
|
884
|
-
} else {
|
|
885
|
-
return Promise.resolve(_this2.close(drawer));
|
|
886
|
-
}
|
|
887
|
-
} catch (e) {
|
|
888
|
-
return Promise.reject(e);
|
|
889
|
-
}
|
|
981
|
+
_proto.toggle = function toggle$1(drawerKey) {
|
|
982
|
+
return toggle.call(this, drawerKey);
|
|
890
983
|
};
|
|
891
984
|
|
|
892
985
|
_proto.open = function open(drawerKey) {
|
|
893
|
-
|
|
894
|
-
var _this4 = this;
|
|
895
|
-
|
|
896
|
-
var drawer = _this4.getDrawer(drawerKey);
|
|
897
|
-
|
|
898
|
-
if (!drawer) return Promise.resolve(_this4.drawerNotFound(drawerKey));
|
|
899
|
-
|
|
900
|
-
if (!hasClass(drawer, _this4.settings.stateOpened)) {
|
|
901
|
-
_this4.working = true;
|
|
902
|
-
var isModal = hasClass(drawer, _this4.settings.classModal);
|
|
903
|
-
|
|
904
|
-
if (isModal) {
|
|
905
|
-
setOverflowHidden(true, _this4.settings.selectorOverflow);
|
|
906
|
-
}
|
|
907
|
-
|
|
908
|
-
return Promise.resolve(openTransition(drawer, _this4.settings)).then(function () {
|
|
909
|
-
_this4.stateSave(drawer);
|
|
910
|
-
|
|
911
|
-
if (isModal) {
|
|
912
|
-
_this4.focusTrap.init(drawer);
|
|
913
|
-
|
|
914
|
-
setInert(true, _this4.settings.selectorInert);
|
|
915
|
-
}
|
|
916
|
-
|
|
917
|
-
focusTarget(drawer, _this4.settings);
|
|
918
|
-
drawer.dispatchEvent(new CustomEvent(_this4.settings.customEventPrefix + 'opened', {
|
|
919
|
-
detail: _this4,
|
|
920
|
-
bubbles: true
|
|
921
|
-
}));
|
|
922
|
-
_this4.working = false;
|
|
923
|
-
return drawer;
|
|
924
|
-
});
|
|
925
|
-
} else {
|
|
926
|
-
focusTarget(drawer, _this4.settings);
|
|
927
|
-
return Promise.resolve(drawer);
|
|
928
|
-
}
|
|
929
|
-
} catch (e) {
|
|
930
|
-
return Promise.reject(e);
|
|
931
|
-
}
|
|
986
|
+
return open$2.call(this, drawerKey);
|
|
932
987
|
};
|
|
933
988
|
|
|
934
989
|
_proto.close = function close(drawerKey) {
|
|
935
|
-
|
|
936
|
-
var _this6 = this;
|
|
937
|
-
|
|
938
|
-
var drawer = _this6.getDrawer(drawerKey);
|
|
939
|
-
|
|
940
|
-
if (!drawer) return Promise.resolve(_this6.drawerNotFound(drawerKey));
|
|
941
|
-
|
|
942
|
-
if (hasClass(drawer, _this6.settings.stateOpened)) {
|
|
943
|
-
_this6.working = true;
|
|
944
|
-
|
|
945
|
-
if (hasClass(drawer, _this6.settings.classModal)) {
|
|
946
|
-
setInert(false, _this6.settings.selectorInert);
|
|
947
|
-
setOverflowHidden(false, _this6.settings.selectorOverflow);
|
|
948
|
-
}
|
|
949
|
-
|
|
950
|
-
return Promise.resolve(closeTransition(drawer, _this6.settings)).then(function () {
|
|
951
|
-
_this6.stateSave(drawer);
|
|
952
|
-
|
|
953
|
-
focusTrigger(_this6);
|
|
954
|
-
|
|
955
|
-
_this6.focusTrap.destroy();
|
|
956
|
-
|
|
957
|
-
drawer.dispatchEvent(new CustomEvent(_this6.settings.customEventPrefix + 'closed', {
|
|
958
|
-
detail: _this6,
|
|
959
|
-
bubbles: true
|
|
960
|
-
}));
|
|
961
|
-
_this6.working = false;
|
|
962
|
-
return drawer;
|
|
963
|
-
});
|
|
964
|
-
} else {
|
|
965
|
-
return Promise.resolve(drawer);
|
|
966
|
-
}
|
|
967
|
-
} catch (e) {
|
|
968
|
-
return Promise.reject(e);
|
|
969
|
-
}
|
|
990
|
+
return close$2.call(this, drawerKey);
|
|
970
991
|
};
|
|
971
992
|
|
|
972
993
|
return Drawer;
|
|
@@ -1000,6 +1021,40 @@
|
|
|
1000
1021
|
transition: true
|
|
1001
1022
|
};
|
|
1002
1023
|
|
|
1024
|
+
var close$1 = function close(returnFocus) {
|
|
1025
|
+
if (returnFocus === void 0) {
|
|
1026
|
+
returnFocus = true;
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
try {
|
|
1030
|
+
var _this2 = this;
|
|
1031
|
+
|
|
1032
|
+
var modal = document.querySelector("[data-" + _this2.settings.dataModal + "]." + _this2.settings.stateOpened);
|
|
1033
|
+
|
|
1034
|
+
if (modal) {
|
|
1035
|
+
_this2.working = true;
|
|
1036
|
+
setInert(false, _this2.settings.selectorInert);
|
|
1037
|
+
setOverflowHidden(false, _this2.settings.selectorOverflow);
|
|
1038
|
+
return Promise.resolve(closeTransition(modal, _this2.settings)).then(function () {
|
|
1039
|
+
if (returnFocus) focusTrigger(_this2);
|
|
1040
|
+
|
|
1041
|
+
_this2.focusTrap.destroy();
|
|
1042
|
+
|
|
1043
|
+
modal.dispatchEvent(new CustomEvent(_this2.settings.customEventPrefix + 'closed', {
|
|
1044
|
+
detail: _this2,
|
|
1045
|
+
bubbles: true
|
|
1046
|
+
}));
|
|
1047
|
+
_this2.working = false;
|
|
1048
|
+
return modal;
|
|
1049
|
+
});
|
|
1050
|
+
} else {
|
|
1051
|
+
return Promise.resolve(modal);
|
|
1052
|
+
}
|
|
1053
|
+
} catch (e) {
|
|
1054
|
+
return Promise.reject(e);
|
|
1055
|
+
}
|
|
1056
|
+
};
|
|
1057
|
+
|
|
1003
1058
|
var handlerClick$1 = function handlerClick(event) {
|
|
1004
1059
|
try {
|
|
1005
1060
|
var _temp3 = function _temp3(_result) {
|
|
@@ -1061,21 +1116,76 @@
|
|
|
1061
1116
|
}
|
|
1062
1117
|
}
|
|
1063
1118
|
|
|
1064
|
-
function
|
|
1065
|
-
|
|
1119
|
+
function getModal(modalKey) {
|
|
1120
|
+
if (typeof modalKey !== 'string') return modalKey;
|
|
1121
|
+
return document.querySelector("[data-" + this.settings.dataModal + "=\"" + modalKey + "\"]");
|
|
1122
|
+
}
|
|
1123
|
+
function modalNotFound(key) {
|
|
1124
|
+
return Promise.reject(new Error("Did not find modal with key: \"" + key + "\""));
|
|
1125
|
+
}
|
|
1126
|
+
function moveModals(type, ref) {
|
|
1127
|
+
if (type === void 0) {
|
|
1128
|
+
type = this.settings.moveModals.type;
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
if (ref === void 0) {
|
|
1132
|
+
ref = this.settings.moveModals.ref;
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1135
|
+
var modals = document.querySelectorAll("[data-" + this.settings.dataModal + "]");
|
|
1136
|
+
if (modals.length) moveElement(modals, type, ref);
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
function setInitialState() {
|
|
1140
|
+
var _this = this;
|
|
1141
|
+
|
|
1142
|
+
var modals = document.querySelectorAll("[data-" + this.settings.dataModal + "]");
|
|
1066
1143
|
modals.forEach(function (el) {
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1144
|
+
// Remove opened state setup
|
|
1145
|
+
if (el.classList.contains(_this.settings.stateOpened)) {
|
|
1146
|
+
setInert(false, _this.settings.selectorInert);
|
|
1147
|
+
setOverflowHidden(false, _this.settings.selectorOverflow);
|
|
1148
|
+
focusTrigger(_this);
|
|
1149
|
+
|
|
1150
|
+
_this.focusTrap.destroy();
|
|
1151
|
+
} // Remove all state classes and add the default state (closed)
|
|
1073
1152
|
|
|
1074
|
-
|
|
1075
|
-
|
|
1153
|
+
|
|
1154
|
+
removeClass(el, _this.settings.stateOpened, _this.settings.stateOpening, _this.settings.stateClosing);
|
|
1155
|
+
addClass(el, _this.settings.stateClosed);
|
|
1076
1156
|
});
|
|
1077
1157
|
}
|
|
1078
1158
|
|
|
1159
|
+
var open$1 = function open(modalKey) {
|
|
1160
|
+
try {
|
|
1161
|
+
var _this2 = this;
|
|
1162
|
+
|
|
1163
|
+
var modal = getModal.call(_this2, modalKey);
|
|
1164
|
+
if (!modal) return Promise.resolve(modalNotFound(modalKey));
|
|
1165
|
+
|
|
1166
|
+
if (hasClass(modal, _this2.settings.stateClosed)) {
|
|
1167
|
+
_this2.working = true;
|
|
1168
|
+
setOverflowHidden(true, _this2.settings.selectorOverflow);
|
|
1169
|
+
return Promise.resolve(openTransition(modal, _this2.settings)).then(function () {
|
|
1170
|
+
_this2.focusTrap.init(modal);
|
|
1171
|
+
|
|
1172
|
+
focusTarget(modal, _this2.settings);
|
|
1173
|
+
setInert(true, _this2.settings.selectorInert);
|
|
1174
|
+
modal.dispatchEvent(new CustomEvent(_this2.settings.customEventPrefix + 'opened', {
|
|
1175
|
+
detail: _this2,
|
|
1176
|
+
bubbles: true
|
|
1177
|
+
}));
|
|
1178
|
+
_this2.working = false;
|
|
1179
|
+
return modal;
|
|
1180
|
+
});
|
|
1181
|
+
} else {
|
|
1182
|
+
return Promise.resolve(modal);
|
|
1183
|
+
}
|
|
1184
|
+
} catch (e) {
|
|
1185
|
+
return Promise.reject(e);
|
|
1186
|
+
}
|
|
1187
|
+
};
|
|
1188
|
+
|
|
1079
1189
|
var Modal = /*#__PURE__*/function () {
|
|
1080
1190
|
function Modal(options) {
|
|
1081
1191
|
this.defaults = defaults$1;
|
|
@@ -1097,13 +1207,12 @@
|
|
|
1097
1207
|
|
|
1098
1208
|
if (options) this.settings = _extends({}, this.settings, options);
|
|
1099
1209
|
this.moveModals();
|
|
1210
|
+
this.setInitialState();
|
|
1100
1211
|
|
|
1101
1212
|
if (this.settings.setTabindex) {
|
|
1102
1213
|
this.setTabindex();
|
|
1103
1214
|
}
|
|
1104
1215
|
|
|
1105
|
-
this.setInitialState();
|
|
1106
|
-
|
|
1107
1216
|
if (this.settings.eventListeners) {
|
|
1108
1217
|
this.initEventListeners();
|
|
1109
1218
|
}
|
|
@@ -1137,36 +1246,20 @@
|
|
|
1137
1246
|
*/
|
|
1138
1247
|
;
|
|
1139
1248
|
|
|
1140
|
-
_proto.getModal = function getModal(modalKey) {
|
|
1141
|
-
|
|
1142
|
-
return document.querySelector("[data-" + this.settings.dataModal + "=\"" + modalKey + "\"]");
|
|
1143
|
-
};
|
|
1144
|
-
|
|
1145
|
-
_proto.modalNotFound = function modalNotFound(key) {
|
|
1146
|
-
return Promise.reject(new Error("Did not find modal with key: \"" + key + "\""));
|
|
1249
|
+
_proto.getModal = function getModal$1(modalKey) {
|
|
1250
|
+
return getModal.call(this, modalKey);
|
|
1147
1251
|
};
|
|
1148
1252
|
|
|
1149
1253
|
_proto.setTabindex = function setTabindex$1() {
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
setTabindex(selectorTabindex);
|
|
1254
|
+
return setTabindex("\n [data-" + this.settings.dataModal + "]\n [data-" + this.settings.dataDialog + "]\n ");
|
|
1153
1255
|
};
|
|
1154
1256
|
|
|
1155
1257
|
_proto.setInitialState = function setInitialState$1() {
|
|
1156
|
-
setInitialState(this);
|
|
1258
|
+
return setInitialState.call(this);
|
|
1157
1259
|
};
|
|
1158
1260
|
|
|
1159
|
-
_proto.moveModals = function moveModals(type, ref) {
|
|
1160
|
-
|
|
1161
|
-
type = this.settings.moveModals.type;
|
|
1162
|
-
}
|
|
1163
|
-
|
|
1164
|
-
if (ref === void 0) {
|
|
1165
|
-
ref = this.settings.moveModals.ref;
|
|
1166
|
-
}
|
|
1167
|
-
|
|
1168
|
-
var modals = document.querySelectorAll("[data-" + this.settings.dataModal + "]");
|
|
1169
|
-
if (modals.length) moveElement(modals, type, ref);
|
|
1261
|
+
_proto.moveModals = function moveModals$1(type, ref) {
|
|
1262
|
+
return moveModals.call(this, type, ref);
|
|
1170
1263
|
}
|
|
1171
1264
|
/**
|
|
1172
1265
|
* Change state functionality
|
|
@@ -1174,68 +1267,11 @@
|
|
|
1174
1267
|
;
|
|
1175
1268
|
|
|
1176
1269
|
_proto.open = function open(modalKey) {
|
|
1177
|
-
|
|
1178
|
-
var _this2 = this;
|
|
1179
|
-
|
|
1180
|
-
var modal = _this2.getModal(modalKey);
|
|
1181
|
-
|
|
1182
|
-
if (!modal) return Promise.resolve(_this2.modalNotFound(modalKey));
|
|
1183
|
-
|
|
1184
|
-
if (hasClass(modal, _this2.settings.stateClosed)) {
|
|
1185
|
-
_this2.working = true;
|
|
1186
|
-
setOverflowHidden(true, _this2.settings.selectorOverflow);
|
|
1187
|
-
return Promise.resolve(openTransition(modal, _this2.settings)).then(function () {
|
|
1188
|
-
_this2.focusTrap.init(modal);
|
|
1189
|
-
|
|
1190
|
-
focusTarget(modal, _this2.settings);
|
|
1191
|
-
setInert(true, _this2.settings.selectorInert);
|
|
1192
|
-
modal.dispatchEvent(new CustomEvent(_this2.settings.customEventPrefix + 'opened', {
|
|
1193
|
-
detail: _this2,
|
|
1194
|
-
bubbles: true
|
|
1195
|
-
}));
|
|
1196
|
-
_this2.working = false;
|
|
1197
|
-
return modal;
|
|
1198
|
-
});
|
|
1199
|
-
} else {
|
|
1200
|
-
return Promise.resolve(modal);
|
|
1201
|
-
}
|
|
1202
|
-
} catch (e) {
|
|
1203
|
-
return Promise.reject(e);
|
|
1204
|
-
}
|
|
1270
|
+
return open$1.call(this, modalKey);
|
|
1205
1271
|
};
|
|
1206
1272
|
|
|
1207
1273
|
_proto.close = function close(returnFocus) {
|
|
1208
|
-
|
|
1209
|
-
returnFocus = true;
|
|
1210
|
-
}
|
|
1211
|
-
|
|
1212
|
-
try {
|
|
1213
|
-
var _this4 = this;
|
|
1214
|
-
|
|
1215
|
-
var modal = document.querySelector("[data-" + _this4.settings.dataModal + "]." + _this4.settings.stateOpened);
|
|
1216
|
-
|
|
1217
|
-
if (modal) {
|
|
1218
|
-
_this4.working = true;
|
|
1219
|
-
setInert(false, _this4.settings.selectorInert);
|
|
1220
|
-
setOverflowHidden(false, _this4.settings.selectorOverflow);
|
|
1221
|
-
return Promise.resolve(closeTransition(modal, _this4.settings)).then(function () {
|
|
1222
|
-
if (returnFocus) focusTrigger(_this4);
|
|
1223
|
-
|
|
1224
|
-
_this4.focusTrap.destroy();
|
|
1225
|
-
|
|
1226
|
-
modal.dispatchEvent(new CustomEvent(_this4.settings.customEventPrefix + 'closed', {
|
|
1227
|
-
detail: _this4,
|
|
1228
|
-
bubbles: true
|
|
1229
|
-
}));
|
|
1230
|
-
_this4.working = false;
|
|
1231
|
-
return modal;
|
|
1232
|
-
});
|
|
1233
|
-
} else {
|
|
1234
|
-
return Promise.resolve(modal);
|
|
1235
|
-
}
|
|
1236
|
-
} catch (e) {
|
|
1237
|
-
return Promise.reject(e);
|
|
1238
|
-
}
|
|
1274
|
+
return close$1.call(this, returnFocus);
|
|
1239
1275
|
};
|
|
1240
1276
|
|
|
1241
1277
|
return Modal;
|
|
@@ -1257,9 +1293,9 @@
|
|
|
1257
1293
|
placement: 'bottom-start'
|
|
1258
1294
|
};
|
|
1259
1295
|
|
|
1260
|
-
function
|
|
1296
|
+
function close(popover) {
|
|
1261
1297
|
// Update state class
|
|
1262
|
-
popover.target.classList.remove(
|
|
1298
|
+
popover.target.classList.remove(this.settings.stateActive); // Update a11y attributes
|
|
1263
1299
|
|
|
1264
1300
|
popover.trigger.setAttribute('aria-expanded', 'false'); // Disable popper event listeners
|
|
1265
1301
|
|
|
@@ -1270,39 +1306,43 @@
|
|
|
1270
1306
|
}]
|
|
1271
1307
|
}); // Update collection status with new state
|
|
1272
1308
|
|
|
1273
|
-
var index =
|
|
1309
|
+
var index = this.collection.findIndex(function (item) {
|
|
1274
1310
|
return item.target === popover.target;
|
|
1275
1311
|
});
|
|
1276
|
-
|
|
1312
|
+
this.collection[index].state = 'closed'; // Clear the memory if popover trigger matches the ones saved in memory
|
|
1277
1313
|
|
|
1278
|
-
if (popover.trigger ===
|
|
1279
|
-
|
|
1314
|
+
if (popover.trigger === this.memory.trigger) {
|
|
1315
|
+
this.memory.trigger = null;
|
|
1280
1316
|
} // Return the popover
|
|
1281
1317
|
|
|
1282
1318
|
|
|
1283
1319
|
return popover;
|
|
1284
1320
|
}
|
|
1285
|
-
function
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1321
|
+
function closeAll() {
|
|
1322
|
+
var _this = this;
|
|
1323
|
+
|
|
1324
|
+
this.collection.forEach(function (popover) {
|
|
1325
|
+
if (popover.state === 'opened') {
|
|
1326
|
+
_this.close(popover);
|
|
1289
1327
|
}
|
|
1290
1328
|
}); // Return the collection
|
|
1291
1329
|
|
|
1292
|
-
return
|
|
1330
|
+
return this.collection;
|
|
1293
1331
|
}
|
|
1294
|
-
function
|
|
1295
|
-
|
|
1296
|
-
|
|
1332
|
+
function closeCheck(popover) {
|
|
1333
|
+
var _this2 = this;
|
|
1334
|
+
|
|
1335
|
+
// Only run closeCheck if provided popover is currently open
|
|
1336
|
+
if (popover.state != 'opened') return; // Needed to correctly check which element is currently being focused
|
|
1297
1337
|
|
|
1298
1338
|
setTimeout(function () {
|
|
1299
1339
|
// Check if trigger or target are being hovered
|
|
1300
1340
|
var isHovered = popover.target.closest(':hover') === popover.target || popover.trigger.closest(':hover') === popover.trigger; // Check if trigger or target are being focused
|
|
1301
1341
|
|
|
1302
|
-
var isFocused = document.activeElement.closest("[data-" +
|
|
1342
|
+
var isFocused = document.activeElement.closest("[data-" + _this2.settings.dataPopover + "]") === popover.target || document.activeElement.closest("[data-" + _this2.settings.dataTrigger + "]") === popover.trigger; // Close if the trigger and target are not currently hovered or focused
|
|
1303
1343
|
|
|
1304
1344
|
if (!isHovered && !isFocused) {
|
|
1305
|
-
|
|
1345
|
+
_this2.close(popover);
|
|
1306
1346
|
} // Return the popover
|
|
1307
1347
|
|
|
1308
1348
|
|
|
@@ -1310,6 +1350,57 @@
|
|
|
1310
1350
|
}, 1);
|
|
1311
1351
|
}
|
|
1312
1352
|
|
|
1353
|
+
function handlerClick(popover) {
|
|
1354
|
+
if (popover.target.classList.contains(this.settings.stateActive)) {
|
|
1355
|
+
this.close(popover);
|
|
1356
|
+
} else {
|
|
1357
|
+
this.memory.trigger = popover.trigger;
|
|
1358
|
+
this.open(popover);
|
|
1359
|
+
documentClick.call(this, popover);
|
|
1360
|
+
}
|
|
1361
|
+
}
|
|
1362
|
+
function handlerKeydown(event) {
|
|
1363
|
+
var _this = this;
|
|
1364
|
+
|
|
1365
|
+
switch (event.key) {
|
|
1366
|
+
case 'Escape':
|
|
1367
|
+
if (this.memory.trigger) {
|
|
1368
|
+
this.memory.trigger.focus();
|
|
1369
|
+
}
|
|
1370
|
+
|
|
1371
|
+
this.closeAll();
|
|
1372
|
+
return;
|
|
1373
|
+
|
|
1374
|
+
case 'Tab':
|
|
1375
|
+
this.collection.forEach(function (popover) {
|
|
1376
|
+
closeCheck.call(_this, popover);
|
|
1377
|
+
});
|
|
1378
|
+
return;
|
|
1379
|
+
|
|
1380
|
+
default:
|
|
1381
|
+
return;
|
|
1382
|
+
}
|
|
1383
|
+
}
|
|
1384
|
+
function documentClick(popover) {
|
|
1385
|
+
var obj = this;
|
|
1386
|
+
document.addEventListener('click', function _f(event) {
|
|
1387
|
+
var result = event.target.closest("[data-" + obj.settings.dataPopover + "], [data-" + obj.settings.dataTrigger + "]");
|
|
1388
|
+
var match = result === popover.target || result === popover.trigger;
|
|
1389
|
+
|
|
1390
|
+
if (!match) {
|
|
1391
|
+
if (popover.target.classList.contains(obj.settings.stateActive)) {
|
|
1392
|
+
obj.close(popover);
|
|
1393
|
+
}
|
|
1394
|
+
|
|
1395
|
+
this.removeEventListener('click', _f);
|
|
1396
|
+
} else {
|
|
1397
|
+
if (!popover.target.classList.contains(obj.settings.stateActive)) {
|
|
1398
|
+
this.removeEventListener('click', _f);
|
|
1399
|
+
}
|
|
1400
|
+
}
|
|
1401
|
+
});
|
|
1402
|
+
}
|
|
1403
|
+
|
|
1313
1404
|
function getConfig(el, settings) {
|
|
1314
1405
|
// Get the computed styles of the popover
|
|
1315
1406
|
var styles = getComputedStyle(el); // Setup the config obj with default values
|
|
@@ -1434,16 +1525,16 @@
|
|
|
1434
1525
|
}
|
|
1435
1526
|
}
|
|
1436
1527
|
|
|
1437
|
-
function
|
|
1528
|
+
function open(popover) {
|
|
1438
1529
|
// Update state class
|
|
1439
|
-
popover.target.classList.add(
|
|
1530
|
+
popover.target.classList.add(this.settings.stateActive); // Update a11y attributes
|
|
1440
1531
|
|
|
1441
1532
|
popover.trigger.setAttribute('aria-expanded', 'true'); // Update popover config
|
|
1442
1533
|
|
|
1443
|
-
popover.config = getConfig(popover.target,
|
|
1534
|
+
popover.config = getConfig(popover.target, this.settings); // Enable popper event listeners and set placement/modifiers
|
|
1444
1535
|
|
|
1445
1536
|
popover.popper.setOptions({
|
|
1446
|
-
placement: getData(popover.target,
|
|
1537
|
+
placement: getData(popover.target, this.settings.dataPlacement, popover.config['placement']),
|
|
1447
1538
|
modifiers: [{
|
|
1448
1539
|
name: 'eventListeners',
|
|
1449
1540
|
enabled: true
|
|
@@ -1452,64 +1543,14 @@
|
|
|
1452
1543
|
|
|
1453
1544
|
popover.popper.update(); // Update collection status with new state
|
|
1454
1545
|
|
|
1455
|
-
var index =
|
|
1546
|
+
var index = this.collection.findIndex(function (item) {
|
|
1456
1547
|
return item.target === popover.target;
|
|
1457
1548
|
});
|
|
1458
|
-
|
|
1549
|
+
this.collection[index].state = 'opened'; // Return the popover
|
|
1459
1550
|
|
|
1460
1551
|
return popover;
|
|
1461
1552
|
}
|
|
1462
1553
|
|
|
1463
|
-
function handlerClick(popover) {
|
|
1464
|
-
if (popover.target.classList.contains(this.settings.stateActive)) {
|
|
1465
|
-
hide$2(popover, this);
|
|
1466
|
-
} else {
|
|
1467
|
-
this.memory.trigger = popover.trigger;
|
|
1468
|
-
show(popover, this);
|
|
1469
|
-
documentClick(popover, this);
|
|
1470
|
-
}
|
|
1471
|
-
}
|
|
1472
|
-
function handlerKeydown(event) {
|
|
1473
|
-
var _this = this;
|
|
1474
|
-
|
|
1475
|
-
switch (event.key) {
|
|
1476
|
-
case 'Escape':
|
|
1477
|
-
if (this.memory.trigger) {
|
|
1478
|
-
this.memory.trigger.focus();
|
|
1479
|
-
}
|
|
1480
|
-
|
|
1481
|
-
hideAll(this);
|
|
1482
|
-
return;
|
|
1483
|
-
|
|
1484
|
-
case 'Tab':
|
|
1485
|
-
this.collection.forEach(function (popover) {
|
|
1486
|
-
hideCheck(popover, _this);
|
|
1487
|
-
});
|
|
1488
|
-
return;
|
|
1489
|
-
|
|
1490
|
-
default:
|
|
1491
|
-
return;
|
|
1492
|
-
}
|
|
1493
|
-
}
|
|
1494
|
-
function documentClick(popover, obj) {
|
|
1495
|
-
document.addEventListener('click', function _f(event) {
|
|
1496
|
-
var result = event.target.closest("[data-" + obj.settings.dataPopover + "], [data-" + obj.settings.dataTrigger + "]");
|
|
1497
|
-
var match = result === popover.target || result === popover.trigger;
|
|
1498
|
-
|
|
1499
|
-
if (!match) {
|
|
1500
|
-
if (popover.target.classList.contains(obj.settings.stateActive)) {
|
|
1501
|
-
hide$2(popover, obj);
|
|
1502
|
-
}
|
|
1503
|
-
|
|
1504
|
-
this.removeEventListener('click', _f);
|
|
1505
|
-
} else {
|
|
1506
|
-
if (!popover.target.classList.contains(obj.settings.stateActive)) {
|
|
1507
|
-
this.removeEventListener('click', _f);
|
|
1508
|
-
}
|
|
1509
|
-
}
|
|
1510
|
-
});
|
|
1511
|
-
}
|
|
1512
|
-
|
|
1513
1554
|
var top = 'top';
|
|
1514
1555
|
var bottom = 'bottom';
|
|
1515
1556
|
var right = 'right';
|
|
@@ -3293,11 +3334,11 @@
|
|
|
3293
3334
|
defaultModifiers: defaultModifiers
|
|
3294
3335
|
}); // eslint-disable-next-line import/no-unused-modules
|
|
3295
3336
|
|
|
3296
|
-
function register(trigger, target
|
|
3337
|
+
function register(trigger, target) {
|
|
3297
3338
|
// If no target is passed
|
|
3298
3339
|
if (!target) {
|
|
3299
3340
|
// Try and get the target
|
|
3300
|
-
target = getPopover(trigger,
|
|
3341
|
+
target = getPopover(trigger, this.settings); // If still no target is returned, log an error and return false
|
|
3301
3342
|
|
|
3302
3343
|
if (!target) {
|
|
3303
3344
|
console.error('No popover associated with the provided trigger:', trigger);
|
|
@@ -3306,7 +3347,7 @@
|
|
|
3306
3347
|
} // Check if this item has already been registered in the collection
|
|
3307
3348
|
|
|
3308
3349
|
|
|
3309
|
-
var index =
|
|
3350
|
+
var index = this.collection.findIndex(function (item) {
|
|
3310
3351
|
return item.trigger === trigger && item.target === target;
|
|
3311
3352
|
}); // Initiate popover variable
|
|
3312
3353
|
|
|
@@ -3314,45 +3355,45 @@
|
|
|
3314
3355
|
|
|
3315
3356
|
if (index >= 0) {
|
|
3316
3357
|
// Set popover as item from collection
|
|
3317
|
-
popover =
|
|
3358
|
+
popover = this.collection[index];
|
|
3318
3359
|
} else {
|
|
3319
3360
|
// Create popper instance
|
|
3320
3361
|
var popperInstance = createPopper(trigger, target); // Build popover object and push to collection array
|
|
3321
3362
|
|
|
3322
3363
|
popover = {
|
|
3323
|
-
state: '
|
|
3364
|
+
state: 'closed',
|
|
3324
3365
|
trigger: trigger,
|
|
3325
3366
|
target: target,
|
|
3326
3367
|
popper: popperInstance,
|
|
3327
|
-
config: getConfig(target,
|
|
3368
|
+
config: getConfig(target, this.settings)
|
|
3328
3369
|
}; // Add item to collection
|
|
3329
3370
|
|
|
3330
|
-
|
|
3371
|
+
this.collection.push(popover);
|
|
3331
3372
|
} // Setup event listeners
|
|
3332
3373
|
|
|
3333
3374
|
|
|
3334
|
-
registerEventListeners(
|
|
3375
|
+
registerEventListeners.call(this, popover); // Set initial state of popover
|
|
3335
3376
|
|
|
3336
|
-
if (popover.target.classList.contains(
|
|
3337
|
-
|
|
3338
|
-
documentClick(
|
|
3377
|
+
if (popover.target.classList.contains(this.settings.stateActive)) {
|
|
3378
|
+
this.open(popover);
|
|
3379
|
+
documentClick.call(this, popover);
|
|
3339
3380
|
} else {
|
|
3340
|
-
|
|
3381
|
+
this.close(popover);
|
|
3341
3382
|
} // Return the popover object
|
|
3342
3383
|
|
|
3343
3384
|
|
|
3344
3385
|
return popover;
|
|
3345
3386
|
}
|
|
3346
|
-
function deregister(popover
|
|
3387
|
+
function deregister(popover) {
|
|
3347
3388
|
// Check if this item has been registered in the collection
|
|
3348
|
-
var index =
|
|
3389
|
+
var index = this.collection.findIndex(function (item) {
|
|
3349
3390
|
return item.trigger === popover.trigger && item.target === popover.target;
|
|
3350
3391
|
}); // If the item exists in the collection
|
|
3351
3392
|
|
|
3352
3393
|
if (index >= 0) {
|
|
3353
|
-
//
|
|
3354
|
-
if (popover.state === '
|
|
3355
|
-
|
|
3394
|
+
// Close the popover
|
|
3395
|
+
if (popover.state === 'opened') {
|
|
3396
|
+
this.close(popover);
|
|
3356
3397
|
} // Clean up the popper instance
|
|
3357
3398
|
|
|
3358
3399
|
|
|
@@ -3360,28 +3401,28 @@
|
|
|
3360
3401
|
|
|
3361
3402
|
deregisterEventListeners(popover); // Remove item from collection
|
|
3362
3403
|
|
|
3363
|
-
|
|
3404
|
+
this.collection.splice(index, 1);
|
|
3364
3405
|
} // Return the new collection
|
|
3365
3406
|
|
|
3366
3407
|
|
|
3367
|
-
return
|
|
3408
|
+
return this.collection;
|
|
3368
3409
|
}
|
|
3369
|
-
function registerEventListeners(popover
|
|
3410
|
+
function registerEventListeners(popover) {
|
|
3370
3411
|
// If event listeners aren't already setup
|
|
3371
3412
|
if (!popover.__eventListeners) {
|
|
3372
3413
|
// Add event listeners based on event type
|
|
3373
|
-
var eventType = getData(popover.target,
|
|
3414
|
+
var eventType = getData(popover.target, this.settings.dataEventType, popover.config['event']);
|
|
3374
3415
|
|
|
3375
3416
|
if (eventType === 'hover') {
|
|
3376
3417
|
// Setup event listeners object for hover
|
|
3377
3418
|
popover.__eventListeners = [{
|
|
3378
3419
|
el: ['trigger'],
|
|
3379
3420
|
type: ['mouseenter', 'focus'],
|
|
3380
|
-
listener:
|
|
3421
|
+
listener: open.bind(this, popover)
|
|
3381
3422
|
}, {
|
|
3382
3423
|
el: ['trigger', 'target'],
|
|
3383
3424
|
type: ['mouseleave', 'focusout'],
|
|
3384
|
-
listener:
|
|
3425
|
+
listener: closeCheck.bind(this, popover)
|
|
3385
3426
|
}]; // Loop through listeners and apply to appropriate elements
|
|
3386
3427
|
|
|
3387
3428
|
popover.__eventListeners.forEach(function (evObj) {
|
|
@@ -3396,7 +3437,7 @@
|
|
|
3396
3437
|
popover.__eventListeners = [{
|
|
3397
3438
|
el: ['trigger'],
|
|
3398
3439
|
type: ['click'],
|
|
3399
|
-
listener: handlerClick.bind(
|
|
3440
|
+
listener: handlerClick.bind(this, popover)
|
|
3400
3441
|
}]; // Loop through listeners and apply to appropriate elements
|
|
3401
3442
|
|
|
3402
3443
|
popover.__eventListeners.forEach(function (evObj) {
|
|
@@ -3431,24 +3472,26 @@
|
|
|
3431
3472
|
|
|
3432
3473
|
return popover;
|
|
3433
3474
|
}
|
|
3434
|
-
function registerCollection(
|
|
3475
|
+
function registerCollection() {
|
|
3476
|
+
var _this = this;
|
|
3477
|
+
|
|
3435
3478
|
// Get all the triggers
|
|
3436
|
-
var triggers = document.querySelectorAll("[data-" +
|
|
3479
|
+
var triggers = document.querySelectorAll("[data-" + this.settings.dataTrigger + "]");
|
|
3437
3480
|
triggers.forEach(function (trigger) {
|
|
3438
3481
|
// Register the popover and save to collection array
|
|
3439
|
-
register(trigger, false
|
|
3482
|
+
_this.register(trigger, false);
|
|
3440
3483
|
}); // Return the popover collection
|
|
3441
3484
|
|
|
3442
|
-
return
|
|
3485
|
+
return this.collection;
|
|
3443
3486
|
}
|
|
3444
|
-
function deregisterCollection(
|
|
3487
|
+
function deregisterCollection() {
|
|
3445
3488
|
// Loop through all items within the collection and pass them to deregister()
|
|
3446
|
-
while (
|
|
3447
|
-
deregister(
|
|
3489
|
+
while (this.collection.length > 0) {
|
|
3490
|
+
this.deregister(this.collection[0]);
|
|
3448
3491
|
} // Return the popover collection
|
|
3449
3492
|
|
|
3450
3493
|
|
|
3451
|
-
return
|
|
3494
|
+
return this.collection;
|
|
3452
3495
|
}
|
|
3453
3496
|
|
|
3454
3497
|
var Popover = /*#__PURE__*/function () {
|
|
@@ -3473,8 +3516,7 @@
|
|
|
3473
3516
|
// Update settings with passed options
|
|
3474
3517
|
if (options) this.settings = _extends({}, this.settings, options); // Build the collections array with popover instances
|
|
3475
3518
|
|
|
3476
|
-
registerCollection(
|
|
3477
|
-
|
|
3519
|
+
this.registerCollection(); // If eventListeners is enabled
|
|
3478
3520
|
|
|
3479
3521
|
if (this.settings.eventListeners) {
|
|
3480
3522
|
// Pass false to initEventListeners() since registerCollection()
|
|
@@ -3485,8 +3527,7 @@
|
|
|
3485
3527
|
|
|
3486
3528
|
_proto.destroy = function destroy() {
|
|
3487
3529
|
// Deregister all popovers from collection
|
|
3488
|
-
deregisterCollection(
|
|
3489
|
-
|
|
3530
|
+
this.deregisterCollection(); // If eventListeners is enabled
|
|
3490
3531
|
|
|
3491
3532
|
if (this.settings.eventListeners) {
|
|
3492
3533
|
// Pass false to destroyEventListeners() since deregisterCollection()
|
|
@@ -3509,7 +3550,7 @@
|
|
|
3509
3550
|
if (processCollection) {
|
|
3510
3551
|
// Loop through collection and setup event listeners
|
|
3511
3552
|
this.collection.forEach(function (popover) {
|
|
3512
|
-
registerEventListeners(
|
|
3553
|
+
registerEventListeners.call(_this, popover);
|
|
3513
3554
|
});
|
|
3514
3555
|
} // Add keydown global event listener
|
|
3515
3556
|
|
|
@@ -3542,35 +3583,35 @@
|
|
|
3542
3583
|
target = false;
|
|
3543
3584
|
}
|
|
3544
3585
|
|
|
3545
|
-
return register(trigger, target
|
|
3586
|
+
return register.call(this, trigger, target);
|
|
3546
3587
|
};
|
|
3547
3588
|
|
|
3548
3589
|
_proto.deregister = function deregister$1(popover) {
|
|
3549
|
-
return deregister(
|
|
3590
|
+
return deregister.call(this, popover);
|
|
3550
3591
|
};
|
|
3551
3592
|
|
|
3552
3593
|
_proto.registerCollection = function registerCollection$1() {
|
|
3553
|
-
return registerCollection(this);
|
|
3594
|
+
return registerCollection.call(this);
|
|
3554
3595
|
};
|
|
3555
3596
|
|
|
3556
3597
|
_proto.deregisterCollection = function deregisterCollection$1() {
|
|
3557
|
-
return deregisterCollection(this);
|
|
3598
|
+
return deregisterCollection.call(this);
|
|
3558
3599
|
}
|
|
3559
3600
|
/**
|
|
3560
3601
|
* Change state functionality
|
|
3561
3602
|
*/
|
|
3562
3603
|
;
|
|
3563
3604
|
|
|
3564
|
-
_proto.
|
|
3565
|
-
return
|
|
3605
|
+
_proto.open = function open$1(popover) {
|
|
3606
|
+
return open.call(this, popover);
|
|
3566
3607
|
};
|
|
3567
3608
|
|
|
3568
|
-
_proto.
|
|
3569
|
-
return
|
|
3609
|
+
_proto.close = function close$1(popover) {
|
|
3610
|
+
return close.call(this, popover);
|
|
3570
3611
|
};
|
|
3571
3612
|
|
|
3572
|
-
_proto.
|
|
3573
|
-
return
|
|
3613
|
+
_proto.closeAll = function closeAll$1() {
|
|
3614
|
+
return closeAll.call(this);
|
|
3574
3615
|
};
|
|
3575
3616
|
|
|
3576
3617
|
return Popover;
|