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.
@@ -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, this.parent);
572
+ this.parent.switchToDefault(drawer);
622
573
  } else {
623
- switchToModal(drawer, this.parent);
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
- if (typeof drawerKey !== 'string') return drawerKey;
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
- var selectorTabindex = "\n [data-" + this.settings.dataDrawer + "]\n [data-" + this.settings.dataDialog + "]\n ";
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(drawerKey, this);
970
+ return switchToDefault.call(this, drawerKey);
863
971
  };
864
972
 
865
973
  _proto.switchToModal = function switchToModal$1(drawerKey) {
866
- return switchToModal(drawerKey, this);
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
- try {
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
- try {
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
- try {
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 setInitialState(obj) {
1065
- var modals = document.querySelectorAll("[data-" + obj.settings.dataModal + "]");
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
- if (el.classList.contains(obj.settings.stateOpened)) {
1068
- setInert(false, obj.settings.selectorInert);
1069
- setOverflowHidden(false, obj.settings.selectorOverflow);
1070
- focusTrigger(obj);
1071
- obj.focusTrap.destroy();
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
- removeClass(el, obj.settings.stateOpened, obj.settings.stateOpening, obj.settings.stateClosing);
1075
- addClass(el, obj.settings.stateClosed);
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
- if (typeof modalKey !== 'string') return modalKey;
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
- var selectorTabindex = "\n [data-" + this.settings.dataModal + "]\n [data-" + this.settings.dataDialog + "]\n ";
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
- if (type === void 0) {
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
- try {
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
- if (returnFocus === void 0) {
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 hide$2(popover, obj) {
1296
+ function close(popover) {
1261
1297
  // Update state class
1262
- popover.target.classList.remove(obj.settings.stateActive); // Update a11y attributes
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 = obj.collection.findIndex(function (item) {
1309
+ var index = this.collection.findIndex(function (item) {
1274
1310
  return item.target === popover.target;
1275
1311
  });
1276
- obj.collection[index].state = 'hide'; // Clear the memory if popover trigger matches the ones saved in memory
1312
+ this.collection[index].state = 'closed'; // Clear the memory if popover trigger matches the ones saved in memory
1277
1313
 
1278
- if (popover.trigger === obj.memory.trigger) {
1279
- obj.memory.trigger = null;
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 hideAll(obj) {
1286
- obj.collection.forEach(function (popover) {
1287
- if (popover.state === 'show') {
1288
- hide$2(popover, obj);
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 obj.collection;
1330
+ return this.collection;
1293
1331
  }
1294
- function hideCheck(popover, obj) {
1295
- // Only run hideCheck if provided popover is currently open
1296
- if (popover.state != 'show') return; // Needed to correctly check which element is currently being focused
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-" + obj.settings.dataPopover + "]") === popover.target || document.activeElement.closest("[data-" + obj.settings.dataTrigger + "]") === popover.trigger; // Hide if the trigger and target are not currently hovered or focused
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
- hide$2(popover, obj);
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 show(popover, obj) {
1528
+ function open(popover) {
1438
1529
  // Update state class
1439
- popover.target.classList.add(obj.settings.stateActive); // Update a11y attributes
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, obj.settings); // Enable popper event listeners and set placement/modifiers
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, obj.settings.dataPlacement, popover.config['placement']),
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 = obj.collection.findIndex(function (item) {
1546
+ var index = this.collection.findIndex(function (item) {
1456
1547
  return item.target === popover.target;
1457
1548
  });
1458
- obj.collection[index].state = 'show'; // Return the popover
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, obj) {
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, obj.settings); // If still no target is returned, log an error and return false
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 = obj.collection.findIndex(function (item) {
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 = obj.collection[index];
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: 'hide',
3364
+ state: 'closed',
3324
3365
  trigger: trigger,
3325
3366
  target: target,
3326
3367
  popper: popperInstance,
3327
- config: getConfig(target, obj.settings)
3368
+ config: getConfig(target, this.settings)
3328
3369
  }; // Add item to collection
3329
3370
 
3330
- obj.collection.push(popover);
3371
+ this.collection.push(popover);
3331
3372
  } // Setup event listeners
3332
3373
 
3333
3374
 
3334
- registerEventListeners(popover, obj); // Set initial state of popover
3375
+ registerEventListeners.call(this, popover); // Set initial state of popover
3335
3376
 
3336
- if (popover.target.classList.contains(obj.settings.stateActive)) {
3337
- show(popover, obj);
3338
- documentClick(popover, obj);
3377
+ if (popover.target.classList.contains(this.settings.stateActive)) {
3378
+ this.open(popover);
3379
+ documentClick.call(this, popover);
3339
3380
  } else {
3340
- hide$2(popover, obj);
3381
+ this.close(popover);
3341
3382
  } // Return the popover object
3342
3383
 
3343
3384
 
3344
3385
  return popover;
3345
3386
  }
3346
- function deregister(popover, obj) {
3387
+ function deregister(popover) {
3347
3388
  // Check if this item has been registered in the collection
3348
- var index = obj.collection.findIndex(function (item) {
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
- // Hide the popover
3354
- if (popover.state === 'show') {
3355
- hide$2(popover, obj);
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
- obj.collection.splice(index, 1);
3404
+ this.collection.splice(index, 1);
3364
3405
  } // Return the new collection
3365
3406
 
3366
3407
 
3367
- return obj.collection;
3408
+ return this.collection;
3368
3409
  }
3369
- function registerEventListeners(popover, obj) {
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, obj.settings.dataEventType, popover.config['event']);
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: show.bind(null, popover, obj)
3421
+ listener: open.bind(this, popover)
3381
3422
  }, {
3382
3423
  el: ['trigger', 'target'],
3383
3424
  type: ['mouseleave', 'focusout'],
3384
- listener: hideCheck.bind(null, popover, obj)
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(obj, popover)
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(obj) {
3475
+ function registerCollection() {
3476
+ var _this = this;
3477
+
3435
3478
  // Get all the triggers
3436
- var triggers = document.querySelectorAll("[data-" + obj.settings.dataTrigger + "]");
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, obj);
3482
+ _this.register(trigger, false);
3440
3483
  }); // Return the popover collection
3441
3484
 
3442
- return obj.collection;
3485
+ return this.collection;
3443
3486
  }
3444
- function deregisterCollection(obj) {
3487
+ function deregisterCollection() {
3445
3488
  // Loop through all items within the collection and pass them to deregister()
3446
- while (obj.collection.length > 0) {
3447
- deregister(obj.collection[0], obj);
3489
+ while (this.collection.length > 0) {
3490
+ this.deregister(this.collection[0]);
3448
3491
  } // Return the popover collection
3449
3492
 
3450
3493
 
3451
- return obj.collection;
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(this); // If eventListeners is enabled
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(this); // If eventListeners is enabled
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(popover, _this);
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, this);
3586
+ return register.call(this, trigger, target);
3546
3587
  };
3547
3588
 
3548
3589
  _proto.deregister = function deregister$1(popover) {
3549
- return deregister(popover, this);
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.show = function show$1(popover) {
3565
- return show(popover, this);
3605
+ _proto.open = function open$1(popover) {
3606
+ return open.call(this, popover);
3566
3607
  };
3567
3608
 
3568
- _proto.hide = function hide(popover) {
3569
- return hide$2(popover, this);
3609
+ _proto.close = function close$1(popover) {
3610
+ return close.call(this, popover);
3570
3611
  };
3571
3612
 
3572
- _proto.hideAll = function hideAll$1() {
3573
- return hideAll(this);
3613
+ _proto.closeAll = function closeAll$1() {
3614
+ return closeAll.call(this);
3574
3615
  };
3575
3616
 
3576
3617
  return Popover;