mekari_ui_toolkit 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. checksums.yaml +4 -4
  2. data/lib/{js → assets/javascripts}/bootstrap/mekari-ui-alert.js +17 -23
  3. data/lib/assets/javascripts/bootstrap/mekari-ui-alert.js.map +1 -0
  4. data/lib/assets/javascripts/bootstrap/mekari-ui-alert.min.js +13 -0
  5. data/lib/assets/javascripts/bootstrap/mekari-ui-alert.min.js.map +1 -0
  6. data/lib/{js → assets/javascripts}/bootstrap/mekari-ui-button.js +83 -41
  7. data/lib/assets/javascripts/bootstrap/mekari-ui-button.js.map +1 -0
  8. data/lib/assets/javascripts/bootstrap/mekari-ui-button.min.js +13 -0
  9. data/lib/assets/javascripts/bootstrap/mekari-ui-button.min.js.map +1 -0
  10. data/lib/{js → assets/javascripts}/bootstrap/mekari-ui-carousel.js +84 -92
  11. data/lib/assets/javascripts/bootstrap/mekari-ui-carousel.js.map +1 -0
  12. data/lib/assets/javascripts/bootstrap/mekari-ui-carousel.min.js +13 -0
  13. data/lib/assets/javascripts/bootstrap/mekari-ui-carousel.min.js.map +1 -0
  14. data/lib/{js → assets/javascripts}/bootstrap/mekari-ui-collapse.js +39 -47
  15. data/lib/assets/javascripts/bootstrap/mekari-ui-collapse.js.map +1 -0
  16. data/lib/assets/javascripts/bootstrap/mekari-ui-collapse.min.js +13 -0
  17. data/lib/assets/javascripts/bootstrap/mekari-ui-collapse.min.js.map +1 -0
  18. data/lib/{js → assets/javascripts}/bootstrap/mekari-ui-dropdown.js +104 -112
  19. data/lib/assets/javascripts/bootstrap/mekari-ui-dropdown.js.map +1 -0
  20. data/lib/assets/javascripts/bootstrap/mekari-ui-dropdown.min.js +13 -0
  21. data/lib/assets/javascripts/bootstrap/mekari-ui-dropdown.min.js.map +1 -0
  22. data/lib/{js → assets/javascripts}/bootstrap/mekari-ui-modal.js +145 -109
  23. data/lib/assets/javascripts/bootstrap/mekari-ui-modal.js.map +1 -0
  24. data/lib/assets/javascripts/bootstrap/mekari-ui-modal.min.js +13 -0
  25. data/lib/assets/javascripts/bootstrap/mekari-ui-modal.min.js.map +1 -0
  26. data/lib/{js → assets/javascripts}/bootstrap/mekari-ui-popover.js +11 -15
  27. data/lib/assets/javascripts/bootstrap/mekari-ui-popover.js.map +1 -0
  28. data/lib/assets/javascripts/bootstrap/mekari-ui-popover.min.js +13 -0
  29. data/lib/assets/javascripts/bootstrap/mekari-ui-popover.min.js.map +1 -0
  30. data/lib/{js → assets/javascripts}/bootstrap/mekari-ui-scrollspy.js +36 -48
  31. data/lib/assets/javascripts/bootstrap/mekari-ui-scrollspy.js.map +1 -0
  32. data/lib/assets/javascripts/bootstrap/mekari-ui-scrollspy.min.js +13 -0
  33. data/lib/assets/javascripts/bootstrap/mekari-ui-scrollspy.min.js.map +1 -0
  34. data/lib/{js → assets/javascripts}/bootstrap/mekari-ui-tab.js +42 -48
  35. data/lib/assets/javascripts/bootstrap/mekari-ui-tab.js.map +1 -0
  36. data/lib/assets/javascripts/bootstrap/mekari-ui-tab.min.js +13 -0
  37. data/lib/assets/javascripts/bootstrap/mekari-ui-tab.min.js.map +1 -0
  38. data/lib/{js → assets/javascripts}/bootstrap/mekari-ui-tooltip.js +98 -100
  39. data/lib/assets/javascripts/bootstrap/mekari-ui-tooltip.js.map +1 -0
  40. data/lib/assets/javascripts/bootstrap/mekari-ui-tooltip.min.js +13 -0
  41. data/lib/assets/javascripts/bootstrap/mekari-ui-tooltip.min.js.map +1 -0
  42. data/lib/{js → assets/javascripts}/bootstrap/mekari-ui-util.js +25 -4
  43. data/lib/assets/javascripts/bootstrap/mekari-ui-util.js.map +1 -0
  44. data/lib/assets/javascripts/bootstrap/mekari-ui-util.min.js +7 -0
  45. data/lib/assets/javascripts/bootstrap/mekari-ui-util.min.js.map +1 -0
  46. data/lib/{js → assets/javascripts}/components/mekari-ui-dropdown.js +0 -0
  47. data/lib/{js → assets/javascripts}/components/mekari-ui-dropdown.js.map +0 -0
  48. data/lib/assets/javascripts/components/mekari-ui-dropdown.min.js +2 -0
  49. data/lib/assets/javascripts/components/mekari-ui-dropdown.min.js.map +1 -0
  50. data/lib/{js → assets/javascripts}/components/mekari-ui-form.js +0 -0
  51. data/lib/{js → assets/javascripts}/components/mekari-ui-form.js.map +0 -0
  52. data/lib/assets/javascripts/components/mekari-ui-form.min.js +2 -0
  53. data/lib/assets/javascripts/components/mekari-ui-form.min.js.map +1 -0
  54. data/lib/{js → assets/javascripts}/components/mekari-ui-index.js +0 -0
  55. data/lib/{js → assets/javascripts}/components/mekari-ui-index.js.map +0 -0
  56. data/lib/assets/javascripts/components/mekari-ui-index.min.js +2 -0
  57. data/lib/assets/javascripts/components/mekari-ui-index.min.js.map +1 -0
  58. data/lib/{js → assets/javascripts}/components/mekari-ui-tooltip.js +0 -0
  59. data/lib/{js → assets/javascripts}/components/mekari-ui-tooltip.js.map +0 -0
  60. data/lib/assets/javascripts/components/mekari-ui-tooltip.min.js +2 -0
  61. data/lib/assets/javascripts/components/mekari-ui-tooltip.min.js.map +1 -0
  62. data/lib/{js → assets/javascripts}/mekari-ui.bundle.js +690 -889
  63. data/lib/assets/javascripts/mekari-ui.bundle.js.map +1 -0
  64. data/lib/assets/javascripts/mekari-ui.bundle.min.js +7 -0
  65. data/lib/assets/javascripts/mekari-ui.bundle.min.js.map +1 -0
  66. data/lib/{js → assets/javascripts}/mekari-ui.js +690 -889
  67. data/lib/assets/javascripts/mekari-ui.js.map +1 -0
  68. data/lib/assets/javascripts/mekari-ui.min.js +7 -0
  69. data/lib/assets/javascripts/mekari-ui.min.js.map +1 -0
  70. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-alert-min.css +0 -0
  71. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-alert-min.css.map +0 -0
  72. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-alert.css +0 -0
  73. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-alert.css.map +0 -0
  74. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-avatar-min.css +0 -0
  75. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-avatar-min.css.map +0 -0
  76. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-avatar.css +0 -0
  77. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-avatar.css.map +0 -0
  78. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-badge-min.css +0 -0
  79. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-badge-min.css.map +0 -0
  80. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-badge.css +0 -0
  81. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-badge.css.map +0 -0
  82. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-banner-min.css +0 -0
  83. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-banner-min.css.map +0 -0
  84. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-banner.css +0 -0
  85. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-banner.css.map +0 -0
  86. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-breadcrumb-min.css +0 -0
  87. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-breadcrumb-min.css.map +0 -0
  88. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-breadcrumb.css +0 -0
  89. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-breadcrumb.css.map +0 -0
  90. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-button-min.css +0 -0
  91. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-button-min.css.map +0 -0
  92. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-button.css +0 -0
  93. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-button.css.map +0 -0
  94. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-card-min.css +0 -0
  95. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-card-min.css.map +0 -0
  96. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-card.css +0 -0
  97. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-card.css.map +0 -0
  98. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-date-picker-min.css +0 -0
  99. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-date-picker-min.css.map +0 -0
  100. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-date-picker.css +0 -0
  101. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-date-picker.css.map +0 -0
  102. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-dropdown-min.css +0 -0
  103. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-dropdown-min.css.map +0 -0
  104. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-dropdown.css +0 -0
  105. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-dropdown.css.map +0 -0
  106. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-form-min.css +0 -0
  107. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-form-min.css.map +0 -0
  108. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-form.css +0 -0
  109. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-form.css.map +0 -0
  110. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-icons-min.css +0 -0
  111. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-icons-min.css.map +0 -0
  112. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-icons.css +0 -0
  113. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-icons.css.map +0 -0
  114. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-images-min.css +0 -0
  115. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-images-min.css.map +0 -0
  116. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-images.css +0 -0
  117. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-images.css.map +0 -0
  118. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-list-group-min.css +0 -0
  119. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-list-group-min.css.map +0 -0
  120. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-list-group.css +0 -0
  121. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-list-group.css.map +0 -0
  122. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-modal-min.css +0 -0
  123. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-modal-min.css.map +0 -0
  124. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-modal.css +0 -0
  125. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-modal.css.map +0 -0
  126. data/lib/assets/stylesheets/css/components/mekari-ui-navbar-min.css +2 -0
  127. data/lib/assets/stylesheets/css/components/mekari-ui-navbar-min.css.map +1 -0
  128. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-navbar.css +2 -2
  129. data/lib/assets/stylesheets/css/components/mekari-ui-navbar.css.map +1 -0
  130. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-pagination-min.css +0 -0
  131. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-pagination-min.css.map +0 -0
  132. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-pagination.css +0 -0
  133. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-pagination.css.map +0 -0
  134. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-popover-min.css +0 -0
  135. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-popover-min.css.map +0 -0
  136. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-popover.css +0 -0
  137. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-popover.css.map +0 -0
  138. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-progress-min.css +0 -0
  139. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-progress-min.css.map +0 -0
  140. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-progress.css +0 -0
  141. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-progress.css.map +0 -0
  142. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-reboot-bootstrap-min.css +0 -0
  143. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-reboot-bootstrap-min.css.map +0 -0
  144. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-reboot-bootstrap.css +0 -0
  145. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-reboot-bootstrap.css.map +0 -0
  146. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-spinners-min.css +0 -0
  147. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-spinners-min.css.map +0 -0
  148. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-spinners.css +0 -0
  149. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-spinners.css.map +0 -0
  150. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-tables-min.css +0 -0
  151. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-tables-min.css.map +0 -0
  152. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-tables.css +0 -0
  153. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-tables.css.map +0 -0
  154. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-tabs-min.css +0 -0
  155. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-tabs-min.css.map +0 -0
  156. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-tabs.css +0 -0
  157. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-tabs.css.map +0 -0
  158. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-tooltip-min.css +0 -0
  159. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-tooltip-min.css.map +0 -0
  160. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-tooltip.css +0 -0
  161. data/lib/{css → assets/stylesheets/css}/components/mekari-ui-tooltip.css.map +0 -0
  162. data/lib/{css → assets/stylesheets/css}/full-bundle/mekari-ui.css +2 -2
  163. data/lib/assets/stylesheets/css/full-bundle/mekari-ui.css.map +1 -0
  164. data/lib/assets/stylesheets/css/full-bundle/mekari-ui.min.css +2 -0
  165. data/lib/assets/stylesheets/css/full-bundle/mekari-ui.min.css.map +1 -0
  166. data/lib/{css → assets/stylesheets/css}/utilities/mekari-ui-grid-min.css +0 -0
  167. data/lib/{css → assets/stylesheets/css}/utilities/mekari-ui-grid-min.css.map +0 -0
  168. data/lib/{css → assets/stylesheets/css}/utilities/mekari-ui-grid.css +0 -0
  169. data/lib/{css → assets/stylesheets/css}/utilities/mekari-ui-grid.css.map +0 -0
  170. data/lib/{css → assets/stylesheets/css}/utilities/mekari-ui-utilities-min.css +0 -0
  171. data/lib/{css → assets/stylesheets/css}/utilities/mekari-ui-utilities-min.css.map +0 -0
  172. data/lib/{css → assets/stylesheets/css}/utilities/mekari-ui-utilities.css +0 -0
  173. data/lib/{css → assets/stylesheets/css}/utilities/mekari-ui-utilities.css.map +0 -0
  174. data/lib/{fonts → assets/stylesheets/fonts}/Roboto/LICENSE.txt +0 -0
  175. data/lib/{fonts → assets/stylesheets/fonts}/Roboto/Roboto-Black.ttf +0 -0
  176. data/lib/{fonts → assets/stylesheets/fonts}/Roboto/Roboto-BlackItalic.ttf +0 -0
  177. data/lib/{fonts → assets/stylesheets/fonts}/Roboto/Roboto-Bold.ttf +0 -0
  178. data/lib/{fonts → assets/stylesheets/fonts}/Roboto/Roboto-BoldItalic.ttf +0 -0
  179. data/lib/{fonts → assets/stylesheets/fonts}/Roboto/Roboto-Light.ttf +0 -0
  180. data/lib/{fonts → assets/stylesheets/fonts}/Roboto/Roboto-LightItalic.ttf +0 -0
  181. data/lib/{fonts → assets/stylesheets/fonts}/Roboto/Roboto-Medium.ttf +0 -0
  182. data/lib/{fonts → assets/stylesheets/fonts}/Roboto/Roboto-MediumItalic.ttf +0 -0
  183. data/lib/{fonts → assets/stylesheets/fonts}/Roboto/Roboto-Regular.ttf +0 -0
  184. data/lib/{fonts → assets/stylesheets/fonts}/Roboto/Roboto-RegularItalic.ttf +0 -0
  185. data/lib/{fonts → assets/stylesheets/fonts}/Roboto/Roboto-Thin.ttf +0 -0
  186. data/lib/{fonts → assets/stylesheets/fonts}/Roboto/Roboto-ThinItalic.ttf +0 -0
  187. data/lib/{scss → assets/stylesheets/scss}/_settings.scss +0 -0
  188. data/lib/{scss → assets/stylesheets/scss}/base/_fonts.scss +0 -0
  189. data/lib/{scss → assets/stylesheets/scss}/base/_main.scss +0 -0
  190. data/lib/{scss → assets/stylesheets/scss}/base/_text.scss +0 -0
  191. data/lib/{scss → assets/stylesheets/scss}/components/alert.scss +0 -0
  192. data/lib/{scss → assets/stylesheets/scss}/components/avatar.scss +0 -0
  193. data/lib/{scss → assets/stylesheets/scss}/components/badge.scss +0 -0
  194. data/lib/{scss → assets/stylesheets/scss}/components/banner.scss +0 -0
  195. data/lib/{scss → assets/stylesheets/scss}/components/breadcrumb.scss +0 -0
  196. data/lib/{scss → assets/stylesheets/scss}/components/button.scss +0 -0
  197. data/lib/{scss → assets/stylesheets/scss}/components/card.scss +0 -0
  198. data/lib/{scss → assets/stylesheets/scss}/components/config/_alert.scss +0 -0
  199. data/lib/{scss → assets/stylesheets/scss}/components/config/_avatar.scss +0 -0
  200. data/lib/{scss → assets/stylesheets/scss}/components/config/_badge.scss +0 -0
  201. data/lib/{scss → assets/stylesheets/scss}/components/config/_banner.scss +0 -0
  202. data/lib/{scss → assets/stylesheets/scss}/components/config/_breadcrumb.scss +0 -0
  203. data/lib/{scss → assets/stylesheets/scss}/components/config/_button.scss +0 -0
  204. data/lib/{scss → assets/stylesheets/scss}/components/config/_date-picker.scss +0 -0
  205. data/lib/{scss → assets/stylesheets/scss}/components/config/_dropdowns.scss +0 -0
  206. data/lib/{scss → assets/stylesheets/scss}/components/config/_form.scss +0 -0
  207. data/lib/{scss → assets/stylesheets/scss}/components/config/_icons.scss +0 -0
  208. data/lib/{scss → assets/stylesheets/scss}/components/config/_images.scss +0 -0
  209. data/lib/{scss → assets/stylesheets/scss}/components/config/_modal.scss +0 -0
  210. data/lib/{scss → assets/stylesheets/scss}/components/config/_pagination.scss +0 -0
  211. data/lib/{scss → assets/stylesheets/scss}/components/config/_tables.scss +0 -0
  212. data/lib/{scss → assets/stylesheets/scss}/components/config/_tabs.scss +0 -0
  213. data/lib/{scss → assets/stylesheets/scss}/components/config/_tooltip.scss +0 -0
  214. data/lib/{scss → assets/stylesheets/scss}/components/date-picker.scss +0 -0
  215. data/lib/{scss → assets/stylesheets/scss}/components/dropdown.scss +0 -0
  216. data/lib/{scss → assets/stylesheets/scss}/components/form.scss +0 -0
  217. data/lib/{scss → assets/stylesheets/scss}/components/icons.scss +0 -0
  218. data/lib/{scss → assets/stylesheets/scss}/components/images.scss +0 -0
  219. data/lib/{scss → assets/stylesheets/scss}/components/list-group.scss +0 -0
  220. data/lib/{scss → assets/stylesheets/scss}/components/modal.scss +0 -0
  221. data/lib/{scss → assets/stylesheets/scss}/components/navbar.scss +0 -0
  222. data/lib/{scss → assets/stylesheets/scss}/components/pagination.scss +0 -0
  223. data/lib/{scss → assets/stylesheets/scss}/components/popover.scss +0 -0
  224. data/lib/{scss → assets/stylesheets/scss}/components/progress.scss +0 -0
  225. data/lib/{scss → assets/stylesheets/scss}/components/reboot-bootstrap.scss +0 -0
  226. data/lib/{scss → assets/stylesheets/scss}/components/spinners.scss +0 -0
  227. data/lib/{scss → assets/stylesheets/scss}/components/tables.scss +0 -0
  228. data/lib/{scss → assets/stylesheets/scss}/components/tabs.scss +0 -0
  229. data/lib/{scss → assets/stylesheets/scss}/components/tooltip.scss +0 -0
  230. data/lib/{scss → assets/stylesheets/scss}/main.scss +0 -0
  231. data/lib/{scss → assets/stylesheets/scss}/mixins/_main.scss +0 -0
  232. data/lib/{scss → assets/stylesheets/scss}/mixins/_scroll.scss +0 -0
  233. data/lib/{scss → assets/stylesheets/scss}/mixins/_text.scss +0 -0
  234. data/lib/{scss → assets/stylesheets/scss}/utilities/config/_border.scss +0 -0
  235. data/lib/{scss → assets/stylesheets/scss}/utilities/grid.scss +0 -0
  236. data/lib/{scss → assets/stylesheets/scss}/utilities/utilities.scss +0 -0
  237. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_alert.scss +0 -0
  238. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_avatar.scss +0 -0
  239. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_badge.scss +0 -0
  240. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_breadcrumb.scss +0 -0
  241. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_button.scss +0 -0
  242. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_card.scss +0 -0
  243. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_color.scss +0 -0
  244. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_dropdown.scss +0 -0
  245. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_form.scss +0 -0
  246. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_grid.scss +0 -0
  247. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_list-group.scss +0 -0
  248. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_main.scss +0 -0
  249. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_modal.scss +0 -0
  250. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_navbar.scss +3 -3
  251. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_navs.scss +0 -0
  252. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_options.scss +0 -0
  253. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_popover.scss +0 -0
  254. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_progress.scss +0 -0
  255. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_spacing.scss +0 -0
  256. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_spinners.scss +0 -0
  257. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_tables.scss +0 -0
  258. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_tooltip.scss +0 -0
  259. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_typography.scss +0 -0
  260. data/lib/{scss → assets/stylesheets/scss}/vendor-extensions/_utilities.scss +0 -0
  261. data/lib/{scss → assets/stylesheets/scss}/vendors/_alert.scss +0 -0
  262. data/lib/{scss → assets/stylesheets/scss}/vendors/_badge.scss +0 -0
  263. data/lib/{scss → assets/stylesheets/scss}/vendors/_bootstrap-reboot.scss +0 -0
  264. data/lib/{scss → assets/stylesheets/scss}/vendors/_bootstrap.scss +0 -0
  265. data/lib/{scss → assets/stylesheets/scss}/vendors/_breadcrumb.scss +0 -0
  266. data/lib/{scss → assets/stylesheets/scss}/vendors/_button-group.scss +0 -0
  267. data/lib/{scss → assets/stylesheets/scss}/vendors/_buttons.scss +0 -0
  268. data/lib/{scss → assets/stylesheets/scss}/vendors/_card.scss +0 -0
  269. data/lib/{scss → assets/stylesheets/scss}/vendors/_close.scss +0 -0
  270. data/lib/{scss → assets/stylesheets/scss}/vendors/_code.scss +0 -0
  271. data/lib/{scss → assets/stylesheets/scss}/vendors/_custom-forms.scss +0 -0
  272. data/lib/{scss → assets/stylesheets/scss}/vendors/_dropdown.scss +0 -0
  273. data/lib/{scss → assets/stylesheets/scss}/vendors/_forms.scss +0 -0
  274. data/lib/{scss → assets/stylesheets/scss}/vendors/_functions.scss +0 -0
  275. data/lib/{scss → assets/stylesheets/scss}/vendors/_grid.scss +0 -0
  276. data/lib/{scss → assets/stylesheets/scss}/vendors/_images.scss +0 -0
  277. data/lib/{scss → assets/stylesheets/scss}/vendors/_input-group.scss +0 -0
  278. data/lib/{scss → assets/stylesheets/scss}/vendors/_list-group.scss +0 -0
  279. data/lib/{scss → assets/stylesheets/scss}/vendors/_mixins.scss +0 -0
  280. data/lib/{scss → assets/stylesheets/scss}/vendors/_modal.scss +0 -0
  281. data/lib/{scss → assets/stylesheets/scss}/vendors/_nav.scss +0 -0
  282. data/lib/{scss → assets/stylesheets/scss}/vendors/_navbar.scss +0 -0
  283. data/lib/{scss → assets/stylesheets/scss}/vendors/_pagination.scss +0 -0
  284. data/lib/{scss → assets/stylesheets/scss}/vendors/_popover.scss +0 -0
  285. data/lib/{scss → assets/stylesheets/scss}/vendors/_print.scss +0 -0
  286. data/lib/{scss → assets/stylesheets/scss}/vendors/_progress.scss +0 -0
  287. data/lib/{scss → assets/stylesheets/scss}/vendors/_reboot.scss +0 -0
  288. data/lib/{scss → assets/stylesheets/scss}/vendors/_rfs.scss +0 -0
  289. data/lib/{scss → assets/stylesheets/scss}/vendors/_root.scss +0 -0
  290. data/lib/{scss → assets/stylesheets/scss}/vendors/_spinners.scss +0 -0
  291. data/lib/{scss → assets/stylesheets/scss}/vendors/_tables.scss +0 -0
  292. data/lib/{scss → assets/stylesheets/scss}/vendors/_tooltip.scss +0 -0
  293. data/lib/{scss → assets/stylesheets/scss}/vendors/_transitions.scss +0 -0
  294. data/lib/{scss → assets/stylesheets/scss}/vendors/_type.scss +0 -0
  295. data/lib/{scss → assets/stylesheets/scss}/vendors/_utilities.scss +0 -0
  296. data/lib/{scss → assets/stylesheets/scss}/vendors/_variables.scss +0 -0
  297. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_alert.scss +0 -0
  298. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_background-variant.scss +0 -0
  299. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_badge.scss +0 -0
  300. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_border-radius.scss +0 -0
  301. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_box-shadow.scss +0 -0
  302. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_breakpoints.scss +0 -0
  303. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_buttons.scss +0 -0
  304. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_caret.scss +0 -0
  305. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_clearfix.scss +0 -0
  306. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_deprecate.scss +0 -0
  307. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_float.scss +0 -0
  308. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_forms.scss +0 -0
  309. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_gradients.scss +0 -0
  310. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_grid-framework.scss +0 -0
  311. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_grid.scss +0 -0
  312. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_hover.scss +0 -0
  313. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_image.scss +0 -0
  314. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_list-group.scss +0 -0
  315. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_lists.scss +0 -0
  316. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_nav-divider.scss +0 -0
  317. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_pagination.scss +0 -0
  318. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_reset-text.scss +0 -0
  319. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_resize.scss +0 -0
  320. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_screen-reader.scss +0 -0
  321. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_size.scss +0 -0
  322. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_table-row.scss +0 -0
  323. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_text-emphasis.scss +0 -0
  324. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_text-hide.scss +0 -0
  325. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_text-truncate.scss +0 -0
  326. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_transition.scss +0 -0
  327. data/lib/{scss → assets/stylesheets/scss}/vendors/mixins/_visibility.scss +0 -0
  328. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_align.scss +0 -0
  329. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_background.scss +0 -0
  330. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_borders.scss +0 -0
  331. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_clearfix.scss +0 -0
  332. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_display.scss +0 -0
  333. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_embed.scss +0 -0
  334. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_flex.scss +0 -0
  335. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_float.scss +0 -0
  336. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_overflow.scss +0 -0
  337. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_position.scss +0 -0
  338. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_screenreaders.scss +0 -0
  339. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_shadows.scss +0 -0
  340. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_sizing.scss +0 -0
  341. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_spacing.scss +0 -0
  342. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_stretched-link.scss +0 -0
  343. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_text.scss +0 -0
  344. data/lib/{scss → assets/stylesheets/scss}/vendors/utilities/_visibility.scss +0 -0
  345. data/lib/{webfonts → assets/stylesheets/webfonts}/Mekari-Icon-Regular.eot +0 -0
  346. data/lib/{webfonts → assets/stylesheets/webfonts}/Mekari-Icon-Regular.svg +0 -0
  347. data/lib/{webfonts → assets/stylesheets/webfonts}/Mekari-Icon-Regular.ttf +0 -0
  348. data/lib/{webfonts → assets/stylesheets/webfonts}/Mekari-Icon-Regular.woff +0 -0
  349. data/lib/{webfonts → assets/stylesheets/webfonts}/blankslate/jurnal/calendar.svg +0 -0
  350. data/lib/{webfonts → assets/stylesheets/webfonts}/blankslate/jurnal/location.svg +0 -0
  351. data/lib/{webfonts → assets/stylesheets/webfonts}/blankslate/jurnal/not-found.svg +0 -0
  352. data/lib/{webfonts → assets/stylesheets/webfonts}/blankslate/jurnal/process.svg +0 -0
  353. data/lib/{webfonts → assets/stylesheets/webfonts}/blankslate/jurnal/web.svg +0 -0
  354. data/lib/{webfonts → assets/stylesheets/webfonts}/blankslate/klikpajak/calendar.svg +0 -0
  355. data/lib/{webfonts → assets/stylesheets/webfonts}/blankslate/klikpajak/location.svg +0 -0
  356. data/lib/{webfonts → assets/stylesheets/webfonts}/blankslate/klikpajak/not-found.svg +0 -0
  357. data/lib/{webfonts → assets/stylesheets/webfonts}/blankslate/klikpajak/process.svg +0 -0
  358. data/lib/{webfonts → assets/stylesheets/webfonts}/blankslate/klikpajak/web.svg +0 -0
  359. data/lib/{webfonts → assets/stylesheets/webfonts}/blankslate/talenta/calendar.svg +0 -0
  360. data/lib/{webfonts → assets/stylesheets/webfonts}/blankslate/talenta/location.svg +0 -0
  361. data/lib/{webfonts → assets/stylesheets/webfonts}/blankslate/talenta/not-found.svg +0 -0
  362. data/lib/{webfonts → assets/stylesheets/webfonts}/blankslate/talenta/process.svg +0 -0
  363. data/lib/{webfonts → assets/stylesheets/webfonts}/blankslate/talenta/web.svg +0 -0
  364. data/lib/mekari_ui_toolkit.rb +10 -0
  365. data/lib/mekari_ui_toolkit/version.rb +3 -0
  366. metadata +366 -334
  367. data/lib/css/components/mekari-ui-navbar-min.css +0 -2
  368. data/lib/css/components/mekari-ui-navbar-min.css.map +0 -1
  369. data/lib/css/components/mekari-ui-navbar.css.map +0 -1
  370. data/lib/css/full-bundle/mekari-ui.css.map +0 -1
  371. data/lib/css/full-bundle/mekari-ui.min.css +0 -2
  372. data/lib/css/full-bundle/mekari-ui.min.css.map +0 -1
  373. data/lib/js/bootstrap/mekari-ui-alert.js.map +0 -1
  374. data/lib/js/bootstrap/mekari-ui-button.js.map +0 -1
  375. data/lib/js/bootstrap/mekari-ui-carousel.js.map +0 -1
  376. data/lib/js/bootstrap/mekari-ui-collapse.js.map +0 -1
  377. data/lib/js/bootstrap/mekari-ui-dropdown.js.map +0 -1
  378. data/lib/js/bootstrap/mekari-ui-modal.js.map +0 -1
  379. data/lib/js/bootstrap/mekari-ui-popover.js.map +0 -1
  380. data/lib/js/bootstrap/mekari-ui-scrollspy.js.map +0 -1
  381. data/lib/js/bootstrap/mekari-ui-tab.js.map +0 -1
  382. data/lib/js/bootstrap/mekari-ui-tooltip.js.map +0 -1
  383. data/lib/js/bootstrap/mekari-ui-util.js.map +0 -1
  384. data/lib/js/mekari-ui.bundle.js.map +0 -1
  385. data/lib/js/mekari-ui.bundle.min.js +0 -7
  386. data/lib/js/mekari-ui.bundle.min.js.map +0 -1
  387. data/lib/js/mekari-ui.js.map +0 -1
  388. data/lib/js/mekari-ui.min.js +0 -7
  389. data/lib/js/mekari-ui.min.js.map +0 -1
@@ -0,0 +1,13 @@
1
+ function ownKeys(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,i)}return n}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(n,!0).forEach(function(e){_defineProperty(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ownKeys(n).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function _defineProperty(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function _defineProperties(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function _createClass(t,e,n){return e&&_defineProperties(t.prototype,e),n&&_defineProperties(t,n),t}
2
+ /*!
3
+ * Mekari UI tooltip.js v1.0.6 (https://bitbucket.org/mekariuitoolkit/mekari-ui-toolkit#readme)
4
+ * Copyright 2011-2020 Mekari
5
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6
+ */
7
+ /*!
8
+ * Mekari UI tooltip.js v1.0.6 (https://bitbucket.org/mekariuitoolkit/mekari-ui-toolkit#readme)
9
+ * Copyright 2011-2020 Mekari
10
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
11
+ */
12
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("jquery"),require("popper.js"),require("./util.js")):"function"==typeof define&&define.amd?define(["jquery","popper.js","./util.js"],e):(t=t||self).Tooltip=e(t.jQuery,t.Popper,t.Util)}(this,function(t,e,n){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t,e=e&&e.hasOwnProperty("default")?e.default:e,n=n&&n.hasOwnProperty("default")?n.default:n;var i=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],o={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},r=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,s=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;function a(t,e,n){if(0===t.length)return t;if(n&&"function"==typeof n)return n(t);for(var o=(new window.DOMParser).parseFromString(t,"text/html"),a=Object.keys(e),l=[].slice.call(o.body.querySelectorAll("*")),c=function(t,n){var o=l[t],c=o.nodeName.toLowerCase();if(-1===a.indexOf(o.nodeName.toLowerCase()))return o.parentNode.removeChild(o),"continue";var u=[].slice.call(o.attributes),h=[].concat(e["*"]||[],e[c]||[]);u.forEach(function(t){(function(t,e){var n=t.nodeName.toLowerCase();if(-1!==e.indexOf(n))return-1===i.indexOf(n)||Boolean(t.nodeValue.match(r)||t.nodeValue.match(s));for(var o=e.filter(function(t){return t instanceof RegExp}),a=0,l=o.length;a<l;a++)if(n.match(o[a]))return!0;return!1})(t,h)||o.removeAttribute(t.nodeName)})},u=0,h=l.length;u<h;u++)c(u);return o.body.innerHTML}var l="tooltip",c=".bs.tooltip",u=t.fn[l],h=new RegExp("(^|\\s)bs-tooltip\\S+","g"),f=["sanitize","whiteList","sanitizeFn"],g={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string|function)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)",sanitize:"boolean",sanitizeFn:"(null|function)",whiteList:"object",popperConfig:"(null|object)"},p={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},d={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:o,popperConfig:null},m={HIDE:"hide"+c,HIDDEN:"hidden"+c,SHOW:"show"+c,SHOWN:"shown"+c,INSERTED:"inserted"+c,CLICK:"click"+c,FOCUSIN:"focusin"+c,FOCUSOUT:"focusout"+c,MOUSEENTER:"mouseenter"+c,MOUSELEAVE:"mouseleave"+c},v=function(){function i(t,n){if("undefined"==typeof e)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(n),this.tip=null,this._setListeners()}var o=i.prototype;return o.enable=function(){this._isEnabled=!0},o.disable=function(){this._isEnabled=!1},o.toggleEnabled=function(){this._isEnabled=!this._isEnabled},o.toggle=function(e){if(this._isEnabled)if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},o.dispose=function(){clearTimeout(this._timeout),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},o.show=function(){var i=this;if("none"===t(this.element).css("display"))throw new Error("Please use show on visible elements");var o=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(o);var r=n.findShadowRoot(this.element),s=t.contains(null!==r?r:this.element.ownerDocument.documentElement,this.element);if(o.isDefaultPrevented()||!s)return;var a=this.getTipElement(),l=n.getUID(this.constructor.NAME);a.setAttribute("id",l),this.element.setAttribute("aria-describedby",l),this.setContent(),this.config.animation&&t(a).addClass("fade");var c="function"==typeof this.config.placement?this.config.placement.call(this,a,this.element):this.config.placement,u=this._getAttachment(c);this.addAttachmentClass(u);var h=this._getContainer();t(a).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(a).appendTo(h),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new e(this.element,a,this._getPopperConfig(u)),t(a).addClass("show"),"ontouchstart"in document.documentElement&&t(document.body).children().on("mouseover",null,t.noop);var f=function(){i.config.animation&&i._fixTransition();var e=i._hoverState;i._hoverState=null,t(i.element).trigger(i.constructor.Event.SHOWN),"out"===e&&i._leave(null,i)};if(t(this.tip).hasClass("fade")){var g=n.getTransitionDurationFromElement(this.tip);t(this.tip).one(n.TRANSITION_END,f).emulateTransitionEnd(g)}else f()}},o.hide=function(e){var i=this,o=this.getTipElement(),r=t.Event(this.constructor.Event.HIDE),s=function(){"show"!==i._hoverState&&o.parentNode&&o.parentNode.removeChild(o),i._cleanTipClass(),i.element.removeAttribute("aria-describedby"),t(i.element).trigger(i.constructor.Event.HIDDEN),null!==i._popper&&i._popper.destroy(),e&&e()};if(t(this.element).trigger(r),!r.isDefaultPrevented()){if(t(o).removeClass("show"),"ontouchstart"in document.documentElement&&t(document.body).children().off("mouseover",null,t.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,t(this.tip).hasClass("fade")){var a=n.getTransitionDurationFromElement(o);t(o).one(n.TRANSITION_END,s).emulateTransitionEnd(a)}else s();this._hoverState=""}},o.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},o.isWithContent=function(){return Boolean(this.getTitle())},o.addAttachmentClass=function(e){t(this.getTipElement()).addClass("bs-tooltip-"+e)},o.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},o.setContent=function(){var e=this.getTipElement();this.setElementContent(t(e.querySelectorAll(".tooltip-inner")),this.getTitle()),t(e).removeClass("fade show")},o.setElementContent=function(e,n){"object"!=typeof n||!n.nodeType&&!n.jquery?this.config.html?(this.config.sanitize&&(n=a(n,this.config.whiteList,this.config.sanitizeFn)),e.html(n)):e.text(n):this.config.html?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text())},o.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},o._getPopperConfig=function(t){var e=this;return _objectSpread({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},o._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=_objectSpread({},e.offsets,{},t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},o._getContainer=function(){return!1===this.config.container?document.body:n.isElement(this.config.container)?t(this.config.container):t(document).find(this.config.container)},o._getAttachment=function(t){return p[t.toUpperCase()]},o._setListeners=function(){var e=this;this.config.trigger.split(" ").forEach(function(n){if("click"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if("manual"!==n){var i="hover"===n?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,o="hover"===n?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(o,e.config.selector,function(t){return e._leave(t)})}}),this._hideModalHandler=function(){e.element&&e.hide()},t(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=_objectSpread({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},o._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},o._enter=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusin"===e.type?"focus":"hover"]=!0),t(n.getTipElement()).hasClass("show")||"show"===n._hoverState?n._hoverState="show":(clearTimeout(n._timeout),n._hoverState="show",n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){"show"===n._hoverState&&n.show()},n.config.delay.show):n.show())},o._leave=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger["focusout"===e.type?"focus":"hover"]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState="out",n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){"out"===n._hoverState&&n.hide()},n.config.delay.hide):n.hide())},o._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},o._getConfig=function(e){var i=t(this.element).data();return Object.keys(i).forEach(function(t){-1!==f.indexOf(t)&&delete i[t]}),"number"==typeof(e=_objectSpread({},this.constructor.Default,{},i,{},"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),n.typeCheckConfig(l,e,this.constructor.DefaultType),e.sanitize&&(e.template=a(e.template,e.whiteList,e.sanitizeFn)),e},o._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},o._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr("class").match(h);null!==n&&n.length&&e.removeClass(n.join(""))},o._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},o._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute("x-placement")&&(t(e).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},i._jQueryInterface=function(e){return this.each(function(){var n=t(this).data("bs.tooltip"),o="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new i(this,o),t(this).data("bs.tooltip",n)),"string"==typeof e)){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}})},_createClass(i,null,[{key:"VERSION",get:function(){return"4.5.2"}},{key:"Default",get:function(){return d}},{key:"NAME",get:function(){return l}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return m}},{key:"EVENT_KEY",get:function(){return c}},{key:"DefaultType",get:function(){return g}}]),i}();return t.fn[l]=v._jQueryInterface,t.fn[l].Constructor=v,t.fn[l].noConflict=function(){return t.fn[l]=u,v._jQueryInterface},v});
13
+ //# sourceMappingURL=mekari-ui-tooltip.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../node_modules/bootstrap/js/src/tools/sanitizer.js","../../node_modules/bootstrap/js/src/tooltip.js"],"names":["uriAttrs","DefaultWhitelist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","i","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","length","createdDocument","window","DOMParser","parseFromString","whitelistKeys","Object","keys","elements","slice","call","body","querySelectorAll","_loop","len","el","elName","nodeName","toLowerCase","indexOf","parentNode","removeChild","attributeList","attributes","whitelistedAttributes","concat","forEach","attr","allowedAttributeList","attrName","Boolean","nodeValue","match","regExp","filter","attrRegex","RegExp","allowedAttribute","removeAttribute","innerHTML","NAME","EVENT_KEY","JQUERY_NO_CONFLICT","$","fn","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","DefaultType","animation","template","title","trigger","delay","html","selector","placement","offset","container","fallbackPlacement","boundary","sanitize","popperConfig","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default","Event","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","element","config","Popper","TypeError","this","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","_getConfig","tip","_setListeners","enable","disable","toggleEnabled","toggle","event","dataKey","constructor","DATA_KEY","context","currentTarget","data","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","hasClass","dispose","clearTimeout","removeData","off","closest","_hideModalHandler","remove","destroy","show","_this","css","Error","showEvent","isWithContent","shadowRoot","Util","findShadowRoot","isInTheDom","contains","ownerDocument","documentElement","isDefaultPrevented","tipId","getUID","setAttribute","setContent","addClass","attachment","_getAttachment","addAttachmentClass","_getContainer","appendTo","_getPopperConfig","document","children","on","noop","complete","_fixTransition","prevHoverState","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","hide","callback","_this2","hideEvent","_cleanTipClass","removeClass","update","scheduleUpdate","getTitle","CLASS_PREFIX","setElementContent","CLASS_NAME_FADE","$element","content","nodeType","jquery","text","parent","is","empty","append","getAttribute","_this3","_objectSpread","modifiers","_getOffset","flip","behavior","arrow","preventOverflow","boundariesElement","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","_this4","offsets","isElement","find","toUpperCase","_this5","split","eventIn","eventOut","_fixTitle","titleType","type","setTimeout","dataAttributes","dataAttr","toString","typeCheckConfig","key","$tip","tabClass","join","popperData","instance","popper","initConfigAnimation","_jQueryInterface","each","_config","test","Constructor","noConflict"],"mappings":";;;;;;;;;;;+bAOA,IAAMA,EAAW,CACf,aACA,OACA,OACA,WACA,WACA,SACA,MACA,cAKWC,EAAmB,CAE9BC,IAAK,CAAC,QAAS,MAAO,KAAM,OAAQ,OAJP,kBAK7BC,EAAG,CAAC,SAAU,OAAQ,QAAS,OAC/BC,KAAM,GACNC,EAAG,GACHC,GAAI,GACJC,IAAK,GACLC,KAAM,GACNC,IAAK,GACLC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,EAAG,GACHC,IAAK,CAAC,MAAO,SAAU,MAAO,QAAS,QAAS,UAChDC,GAAI,GACJC,GAAI,GACJC,EAAG,GACHC,IAAK,GACLC,EAAG,GACHC,MAAO,GACPC,KAAM,GACNC,IAAK,GACLC,IAAK,GACLC,OAAQ,GACRC,EAAG,GACHC,GAAI,IAQAC,EAAmB,8DAOnBC,EAAmB,qIAyBlB,SAASC,EAAaC,EAAYC,EAAWC,GAClD,GAA0B,IAAtBF,EAAWG,OACb,OAAOH,EAGT,GAAIE,GAAoC,mBAAfA,EACvB,OAAOA,EAAWF,GAQpB,IALA,IACMI,GADY,IAAIC,OAAOC,WACKC,gBAAgBP,EAAY,aACxDQ,EAAgBC,OAAOC,KAAKT,GAC5BU,EAAW,GAAGC,MAAMC,KAAKT,EAAgBU,KAAKC,iBAAiB,MAZPC,EAAA,SAcrDjC,EAAOkC,GACd,IAAMC,EAAKP,EAAS5B,GACdoC,EAASD,EAAGE,SAASC,cAE3B,IAA0D,IAAtDb,EAAcc,QAAQJ,EAAGE,SAASC,eAGpC,OAFAH,EAAGK,WAAWC,YAAYN,GAE1B,WAGF,IAAMO,EAAgB,GAAGb,MAAMC,KAAKK,EAAGQ,YACjCC,EAAwB,GAAGC,OAAO3B,EAAU,MAAQ,GAAIA,EAAUkB,IAAW,IAEnFM,EAAcI,QAAQ,SAACC,IAlD3B,SAA0BA,EAAMC,GAC9B,IAAMC,EAAWF,EAAKV,SAASC,cAE/B,IAAgD,IAA5CU,EAAqBT,QAAQU,GAC/B,OAAoC,IAAhCnE,EAASyD,QAAQU,IACZC,QAAQH,EAAKI,UAAUC,MAAMtC,IAAqBiC,EAAKI,UAAUC,MAAMrC,IASlF,IAHA,IAAMsC,EAASL,EAAqBM,OAAO,SAACC,GAAD,OAAeA,aAAqBC,SAGtExD,EAAI,EAAGkC,EAAMmB,EAAOjC,OAAQpB,EAAIkC,EAAKlC,IAC5C,GAAIiD,EAASG,MAAMC,EAAOrD,IACxB,OAAO,EAIX,OAAO,GA+BEyD,CAAiBV,EAAMH,IAC1BT,EAAGuB,gBAAgBX,EAAKV,aAfrBrC,EAAI,EAAGkC,EAAMN,EAASR,OAAQpB,EAAIkC,EAAKlC,IAAKiC,EAA5CjC,GAoBT,OAAOqB,EAAgBU,KAAK4B,UCxG9B,IAAMC,EAAwB,UAGxBC,EAAS,cACTC,EAAwBC,EAAEC,GAAGJ,GAE7BK,EAAwB,IAAIT,OAAJ,wBAAyC,KACjEU,EAAwB,CAAC,WAAY,YAAa,cAElDC,EAAc,CAClBC,UAAoB,UACpBC,SAAoB,SACpBC,MAAoB,4BACpBC,QAAoB,SACpBC,MAAoB,kBACpBC,KAAoB,UACpBC,SAAoB,mBACpBC,UAAoB,oBACpBC,OAAoB,2BACpBC,UAAoB,2BACpBC,kBAAoB,iBACpBC,SAAoB,mBACpBC,SAAoB,UACpB7D,WAAoB,kBACpBD,UAAoB,SACpB+D,aAAoB,iBAGhBC,EAAgB,CACpBC,KAAS,OACTC,IAAS,MACTC,MAAS,QACTC,OAAS,SACTC,KAAS,QAGLC,EAAU,CACdpB,WAAoB,EACpBC,SAAoB,uGAGpBE,QAAoB,cACpBD,MAAoB,GACpBE,MAAoB,EACpBC,MAAoB,EACpBC,UAAoB,EACpBC,UAAoB,MACpBC,OAAoB,EACpBC,WAAoB,EACpBC,kBAAoB,OACpBC,SAAoB,eACpBC,UAAoB,EACpB7D,WAAoB,KACpBD,UAAoBnC,EACpBkG,aAAoB,MAMhBQ,EAAQ,CACZC,KAAI,OAAgB7B,EACpB8B,OAAM,SAAgB9B,EACtB+B,KAAI,OAAgB/B,EACpBgC,MAAK,QAAgBhC,EACrBiC,SAAQ,WAAgBjC,EACxBkC,MAAK,QAAgBlC,EACrBmC,QAAO,UAAgBnC,EACvBoC,SAAQ,WAAgBpC,EACxBqC,WAAU,aAAgBrC,EAC1BsC,WAAU,aAAgBtC,GAoBtBuC,aACJ,SAAAA,EAAYC,EAASC,GACnB,GAAsB,oBAAXC,EACT,MAAM,IAAIC,UAAU,mEAItBC,KAAKC,YAAiB,EACtBD,KAAKE,SAAiB,EACtBF,KAAKG,YAAiB,GACtBH,KAAKI,eAAiB,GACtBJ,KAAKK,QAAiB,KAGtBL,KAAKJ,QAAUA,EACfI,KAAKH,OAAUG,KAAKM,WAAWT,GAC/BG,KAAKO,IAAU,KAEfP,KAAKQ,2CAmCPC,OAAA,WACET,KAAKC,YAAa,KAGpBS,QAAA,WACEV,KAAKC,YAAa,KAGpBU,cAAA,WACEX,KAAKC,YAAcD,KAAKC,cAG1BW,OAAA,SAAOC,GACL,GAAKb,KAAKC,WAIV,GAAIY,EAAO,CACT,IAAMC,EAAUd,KAAKe,YAAYC,SAC7BC,EAAU3D,EAAEuD,EAAMK,eAAeC,KAAKL,GAErCG,IACHA,EAAU,IAAIjB,KAAKe,YACjBF,EAAMK,cACNlB,KAAKoB,sBAEP9D,EAAEuD,EAAMK,eAAeC,KAAKL,EAASG,IAGvCA,EAAQb,eAAeiB,OAASJ,EAAQb,eAAeiB,MAEnDJ,EAAQK,uBACVL,EAAQM,OAAO,KAAMN,GAErBA,EAAQO,OAAO,KAAMP,OAElB,CACL,GAAI3D,EAAE0C,KAAKyB,iBAAiBC,SA1GV,QA4GhB,YADA1B,KAAKwB,OAAO,KAAMxB,MAIpBA,KAAKuB,OAAO,KAAMvB,UAItB2B,QAAA,WACEC,aAAa5B,KAAKE,UAElB5C,EAAEuE,WAAW7B,KAAKJ,QAASI,KAAKe,YAAYC,UAE5C1D,EAAE0C,KAAKJ,SAASkC,IAAI9B,KAAKe,YAAY3D,WACrCE,EAAE0C,KAAKJ,SAASmC,QAAQ,UAAUD,IAAI,gBAAiB9B,KAAKgC,mBAExDhC,KAAKO,KACPjD,EAAE0C,KAAKO,KAAK0B,SAGdjC,KAAKC,WAAiB,KACtBD,KAAKE,SAAiB,KACtBF,KAAKG,YAAiB,KACtBH,KAAKI,eAAiB,KAClBJ,KAAKK,SACPL,KAAKK,QAAQ6B,UAGflC,KAAKK,QAAU,KACfL,KAAKJ,QAAU,KACfI,KAAKH,OAAU,KACfG,KAAKO,IAAU,QAGjB4B,KAAA,WAAO,IAAAC,EAAApC,KACL,GAAuC,SAAnC1C,EAAE0C,KAAKJ,SAASyC,IAAI,WACtB,MAAM,IAAIC,MAAM,uCAGlB,IAAMC,EAAYjF,EAAE0B,MAAMgB,KAAKe,YAAY/B,MAAMG,MACjD,GAAIa,KAAKwC,iBAAmBxC,KAAKC,WAAY,CAC3C3C,EAAE0C,KAAKJ,SAAS9B,QAAQyE,GAExB,IAAME,EAAaC,EAAKC,eAAe3C,KAAKJ,SACtCgD,EAAatF,EAAEuF,SACJ,OAAfJ,EAAsBA,EAAazC,KAAKJ,QAAQkD,cAAcC,gBAC9D/C,KAAKJ,SAGP,GAAI2C,EAAUS,uBAAyBJ,EACrC,OAGF,IAAMrC,EAAQP,KAAKyB,gBACbwB,EAAQP,EAAKQ,OAAOlD,KAAKe,YAAY5D,MAE3CoD,EAAI4C,aAAa,KAAMF,GACvBjD,KAAKJ,QAAQuD,aAAa,mBAAoBF,GAE9CjD,KAAKoD,aAEDpD,KAAKH,OAAOlC,WACdL,EAAEiD,GAAK8C,SA1KS,QA6KlB,IAAMnF,EAA8C,mBAA1B8B,KAAKH,OAAO3B,UAClC8B,KAAKH,OAAO3B,UAAU7C,KAAK2E,KAAMO,EAAKP,KAAKJ,SAC3CI,KAAKH,OAAO3B,UAEVoF,EAAatD,KAAKuD,eAAerF,GACvC8B,KAAKwD,mBAAmBF,GAExB,IAAMlF,EAAY4B,KAAKyD,gBACvBnG,EAAEiD,GAAKY,KAAKnB,KAAKe,YAAYC,SAAUhB,MAElC1C,EAAEuF,SAAS7C,KAAKJ,QAAQkD,cAAcC,gBAAiB/C,KAAKO,MAC/DjD,EAAEiD,GAAKmD,SAAStF,GAGlBd,EAAE0C,KAAKJ,SAAS9B,QAAQkC,KAAKe,YAAY/B,MAAMK,UAE/CW,KAAKK,QAAU,IAAIP,EAAOE,KAAKJ,QAASW,EAAKP,KAAK2D,iBAAiBL,IAEnEhG,EAAEiD,GAAK8C,SA9LW,QAoMd,iBAAkBO,SAASb,iBAC7BzF,EAAEsG,SAAStI,MAAMuI,WAAWC,GAAG,YAAa,KAAMxG,EAAEyG,MAGtD,IAAMC,EAAW,WACX5B,EAAKvC,OAAOlC,WACdyE,EAAK6B,iBAEP,IAAMC,EAAiB9B,EAAKjC,YAC5BiC,EAAKjC,YAAkB,KAEvB7C,EAAE8E,EAAKxC,SAAS9B,QAAQsE,EAAKrB,YAAY/B,MAAMI,OA/N9B,QAiOb8E,GACF9B,EAAKZ,OAAO,KAAMY,IAItB,GAAI9E,EAAE0C,KAAKO,KAAKmB,SAvNE,QAuNyB,CACzC,IAAMyC,EAAqBzB,EAAK0B,iCAAiCpE,KAAKO,KAEtEjD,EAAE0C,KAAKO,KACJ8D,IAAI3B,EAAK4B,eAAgBN,GACzBO,qBAAqBJ,QAExBH,QAKNQ,KAAA,SAAKC,GAAU,IAAAC,EAAA1E,KACPO,EAAYP,KAAKyB,gBACjBkD,EAAYrH,EAAE0B,MAAMgB,KAAKe,YAAY/B,MAAMC,MAC3C+E,EAAW,WAtPI,SAuPfU,EAAKvE,aAAoCI,EAAIxE,YAC/CwE,EAAIxE,WAAWC,YAAYuE,GAG7BmE,EAAKE,iBACLF,EAAK9E,QAAQ3C,gBAAgB,oBAC7BK,EAAEoH,EAAK9E,SAAS9B,QAAQ4G,EAAK3D,YAAY/B,MAAME,QAC1B,OAAjBwF,EAAKrE,SACPqE,EAAKrE,QAAQ6B,UAGXuC,GACFA,KAMJ,GAFAnH,EAAE0C,KAAKJ,SAAS9B,QAAQ6G,IAEpBA,EAAU3B,qBAAd,CAgBA,GAZA1F,EAAEiD,GAAKsE,YA5Pa,QAgQhB,iBAAkBjB,SAASb,iBAC7BzF,EAAEsG,SAAStI,MAAMuI,WAAW/B,IAAI,YAAa,KAAMxE,EAAEyG,MAGvD/D,KAAKI,eAAL,OAAqC,EACrCJ,KAAKI,eAAL,OAAqC,EACrCJ,KAAKI,eAAL,OAAqC,EAEjC9C,EAAE0C,KAAKO,KAAKmB,SAzQI,QAyQuB,CACzC,IAAMyC,EAAqBzB,EAAK0B,iCAAiC7D,GAEjEjD,EAAEiD,GACC8D,IAAI3B,EAAK4B,eAAgBN,GACzBO,qBAAqBJ,QAExBH,IAGFhE,KAAKG,YAAc,OAGrB2E,OAAA,WACuB,OAAjB9E,KAAKK,SACPL,KAAKK,QAAQ0E,oBAMjBvC,cAAA,WACE,OAAO/F,QAAQuD,KAAKgF,eAGtBxB,mBAAA,SAAmBF,GACjBhG,EAAE0C,KAAKyB,iBAAiB4B,SAAY4B,cAAgB3B,MAGtD7B,cAAA,WAEE,OADAzB,KAAKO,IAAMP,KAAKO,KAAOjD,EAAE0C,KAAKH,OAAOjC,UAAU,GACxCoC,KAAKO,OAGd6C,WAAA,WACE,IAAM7C,EAAMP,KAAKyB,gBACjBzB,KAAKkF,kBAAkB5H,EAAEiD,EAAIhF,iBA1SF,mBA0S6CyE,KAAKgF,YAC7E1H,EAAEiD,GAAKsE,YAAeM,gBAGxBD,kBAAA,SAAkBE,EAAUC,GACH,iBAAZA,IAAyBA,EAAQC,WAAYD,EAAQE,OAa5DvF,KAAKH,OAAO7B,MACVgC,KAAKH,OAAOtB,WACd8G,EAAU9K,EAAa8K,EAASrF,KAAKH,OAAOpF,UAAWuF,KAAKH,OAAOnF,aAGrE0K,EAASpH,KAAKqH,IAEdD,EAASI,KAAKH,GAlBVrF,KAAKH,OAAO7B,KACTV,EAAE+H,GAASI,SAASC,GAAGN,IAC1BA,EAASO,QAAQC,OAAOP,GAG1BD,EAASI,KAAKlI,EAAE+H,GAASG,WAiB/BR,SAAA,WACE,IAAInH,EAAQmC,KAAKJ,QAAQiG,aAAa,uBAQtC,OANKhI,IACHA,EAAqC,mBAAtBmC,KAAKH,OAAOhC,MACvBmC,KAAKH,OAAOhC,MAAMxC,KAAK2E,KAAKJ,SAC5BI,KAAKH,OAAOhC,OAGXA,KAKT8F,iBAAA,SAAiBL,GAAY,IAAAwC,EAAA9F,KAuB3B,OAAA+F,cAAA,GAtBwB,CACtB7H,UAAWoF,EACX0C,UAAW,CACT7H,OAAQ6B,KAAKiG,aACbC,KAAM,CACJC,SAAUnG,KAAKH,OAAOxB,mBAExB+H,MAAO,CACLxG,QA7VqB,UA+VvByG,gBAAiB,CACfC,kBAAmBtG,KAAKH,OAAOvB,WAGnCiI,SAAU,SAACpF,GACLA,EAAKqF,oBAAsBrF,EAAKjD,WAClC4H,EAAKW,6BAA6BtF,IAGtCuF,SAAU,SAACvF,GAAD,OAAU2E,EAAKW,6BAA6BtF,KAGxD,GAEKnB,KAAKH,OAAOrB,iBAInByH,WAAA,WAAa,IAAAU,EAAA3G,KACL7B,EAAS,GAef,MAbkC,mBAAvB6B,KAAKH,OAAO1B,OACrBA,EAAOZ,GAAK,SAAC4D,GAMX,OALAA,EAAKyF,QAALb,cAAA,GACK5E,EAAKyF,QADV,GAEKD,EAAK9G,OAAO1B,OAAOgD,EAAKyF,QAASD,EAAK/G,UAAY,IAGhDuB,GAGThD,EAAOA,OAAS6B,KAAKH,OAAO1B,OAGvBA,KAGTsF,cAAA,WACE,OAA8B,IAA1BzD,KAAKH,OAAOzB,UACPwF,SAAStI,KAGdoH,EAAKmE,UAAU7G,KAAKH,OAAOzB,WACtBd,EAAE0C,KAAKH,OAAOzB,WAGhBd,EAAEsG,UAAUkD,KAAK9G,KAAKH,OAAOzB,cAGtCmF,eAAA,SAAerF,GACb,OAAOO,EAAcP,EAAU6I,kBAGjCvG,cAAA,WAAgB,IAAAwG,EAAAhH,KACGA,KAAKH,OAAO/B,QAAQmJ,MAAM,KAElC5K,QAAQ,SAACyB,GAChB,GAAgB,UAAZA,EACFR,EAAE0J,EAAKpH,SAASkE,GACdkD,EAAKjG,YAAY/B,MAAMM,MACvB0H,EAAKnH,OAAO5B,SACZ,SAAC4C,GAAD,OAAWmG,EAAKpG,OAAOC,UAEpB,GAzZU,WAyZN/C,EAA4B,CACrC,IAAMoJ,EA7ZS,UA6ZCpJ,EACZkJ,EAAKjG,YAAY/B,MAAMS,WACvBuH,EAAKjG,YAAY/B,MAAMO,QACrB4H,EAhaS,UAgaErJ,EACbkJ,EAAKjG,YAAY/B,MAAMU,WACvBsH,EAAKjG,YAAY/B,MAAMQ,SAE3BlC,EAAE0J,EAAKpH,SACJkE,GAAGoD,EAASF,EAAKnH,OAAO5B,SAAU,SAAC4C,GAAD,OAAWmG,EAAKzF,OAAOV,KACzDiD,GAAGqD,EAAUH,EAAKnH,OAAO5B,SAAU,SAAC4C,GAAD,OAAWmG,EAAKxF,OAAOX,QAIjEb,KAAKgC,kBAAoB,WACnBgF,EAAKpH,SACPoH,EAAKxC,QAITlH,EAAE0C,KAAKJ,SAASmC,QAAQ,UAAU+B,GAAG,gBAAiB9D,KAAKgC,mBAEvDhC,KAAKH,OAAO5B,SACd+B,KAAKH,OAALkG,cAAA,GACK/F,KAAKH,OADV,CAEE/B,QAAS,SACTG,SAAU,KAGZ+B,KAAKoH,eAITA,UAAA,WACE,IAAMC,SAAmBrH,KAAKJ,QAAQiG,aAAa,wBAE/C7F,KAAKJ,QAAQiG,aAAa,UAA0B,WAAdwB,KACxCrH,KAAKJ,QAAQuD,aACX,sBACAnD,KAAKJ,QAAQiG,aAAa,UAAY,IAGxC7F,KAAKJ,QAAQuD,aAAa,QAAS,QAIvC5B,OAAA,SAAOV,EAAOI,GACZ,IAAMH,EAAUd,KAAKe,YAAYC,UACjCC,EAAUA,GAAW3D,EAAEuD,EAAMK,eAAeC,KAAKL,MAG/CG,EAAU,IAAIjB,KAAKe,YACjBF,EAAMK,cACNlB,KAAKoB,sBAEP9D,EAAEuD,EAAMK,eAAeC,KAAKL,EAASG,IAGnCJ,IACFI,EAAQb,eACS,YAAfS,EAAMyG,KAvdS,QADA,UAydb,GAGFhK,EAAE2D,EAAQQ,iBAAiBC,SAjeX,SAjBC,SAkfuCT,EAAQd,YAClEc,EAAQd,YAnfW,QAufrByB,aAAaX,EAAQf,UAErBe,EAAQd,YAzfa,OA2fhBc,EAAQpB,OAAO9B,OAAUkD,EAAQpB,OAAO9B,MAAMoE,KAKnDlB,EAAQf,SAAWqH,WAAW,WAhgBT,SAigBftG,EAAQd,aACVc,EAAQkB,QAETlB,EAAQpB,OAAO9B,MAAMoE,MARtBlB,EAAQkB,WAWZX,OAAA,SAAOX,EAAOI,GACZ,IAAMH,EAAUd,KAAKe,YAAYC,UACjCC,EAAUA,GAAW3D,EAAEuD,EAAMK,eAAeC,KAAKL,MAG/CG,EAAU,IAAIjB,KAAKe,YACjBF,EAAMK,cACNlB,KAAKoB,sBAEP9D,EAAEuD,EAAMK,eAAeC,KAAKL,EAASG,IAGnCJ,IACFI,EAAQb,eACS,aAAfS,EAAMyG,KA9fS,QADA,UAggBb,GAGFrG,EAAQK,yBAIZM,aAAaX,EAAQf,UAErBe,EAAQd,YA9hBa,MAgiBhBc,EAAQpB,OAAO9B,OAAUkD,EAAQpB,OAAO9B,MAAMyG,KAKnDvD,EAAQf,SAAWqH,WAAW,WAriBT,QAsiBftG,EAAQd,aACVc,EAAQuD,QAETvD,EAAQpB,OAAO9B,MAAMyG,MARtBvD,EAAQuD,WAWZlD,qBAAA,WACE,IAAK,IAAMxD,KAAWkC,KAAKI,eACzB,GAAIJ,KAAKI,eAAetC,GACtB,OAAO,EAIX,OAAO,KAGTwC,WAAA,SAAWT,GACT,IAAM2H,EAAiBlK,EAAE0C,KAAKJ,SAASuB,OAwCvC,OAtCAlG,OAAOC,KAAKsM,GACTnL,QAAQ,SAACoL,IACyC,IAA7ChK,EAAsB3B,QAAQ2L,WACzBD,EAAeC,KAUA,iBAN5B5H,EAAMkG,cAAA,GACD/F,KAAKe,YAAYhC,QADhB,GAEDyI,EAFC,GAGiB,iBAAX3H,GAAuBA,EAASA,EAAS,KAGnC9B,QAChB8B,EAAO9B,MAAQ,CACboE,KAAMtC,EAAO9B,MACbyG,KAAM3E,EAAO9B,QAIW,iBAAjB8B,EAAOhC,QAChBgC,EAAOhC,MAAQgC,EAAOhC,MAAM6J,YAGA,iBAAnB7H,EAAOwF,UAChBxF,EAAOwF,QAAUxF,EAAOwF,QAAQqC,YAGlChF,EAAKiF,gBACHxK,EACA0C,EACAG,KAAKe,YAAYrD,aAGfmC,EAAOtB,WACTsB,EAAOjC,SAAWrD,EAAasF,EAAOjC,SAAUiC,EAAOpF,UAAWoF,EAAOnF,aAGpEmF,KAGTuB,mBAAA,WACE,IAAMvB,EAAS,GAEf,GAAIG,KAAKH,OACP,IAAK,IAAM+H,KAAO5H,KAAKH,OACjBG,KAAKe,YAAYhC,QAAQ6I,KAAS5H,KAAKH,OAAO+H,KAChD/H,EAAO+H,GAAO5H,KAAKH,OAAO+H,IAKhC,OAAO/H,KAGT+E,eAAA,WACE,IAAMiD,EAAOvK,EAAE0C,KAAKyB,iBACdqG,EAAWD,EAAKvL,KAAK,SAASK,MAAMa,GACzB,OAAbsK,GAAqBA,EAASnN,QAChCkN,EAAKhD,YAAYiD,EAASC,KAAK,QAInCtB,6BAAA,SAA6BuB,GAC3BhI,KAAKO,IAAMyH,EAAWC,SAASC,OAC/BlI,KAAK4E,iBACL5E,KAAKwD,mBAAmBxD,KAAKuD,eAAeyE,EAAW9J,eAGzD+F,eAAA,WACE,IAAM1D,EAAMP,KAAKyB,gBACX0G,EAAsBnI,KAAKH,OAAOlC,UAEA,OAApC4C,EAAIsF,aAAa,iBAIrBvI,EAAEiD,GAAKsE,YAvnBa,QAwnBpB7E,KAAKH,OAAOlC,WAAY,EACxBqC,KAAKwE,OACLxE,KAAKmC,OACLnC,KAAKH,OAAOlC,UAAYwK,MAKnBC,iBAAP,SAAwBvI,GACtB,OAAOG,KAAKqI,KAAK,WACf,IAAIlH,EAAO7D,EAAE0C,MAAMmB,KAzsBK,cA0sBlBmH,EAA4B,iBAAXzI,GAAuBA,EAE9C,IAAKsB,IAAQ,eAAeoH,KAAK1I,MAI5BsB,IACHA,EAAO,IAAIxB,EAAQK,KAAMsI,GACzBhL,EAAE0C,MAAMmB,KAltBc,aAktBCA,IAGH,iBAAXtB,GAAqB,CAC9B,GAA4B,oBAAjBsB,EAAKtB,GACd,MAAM,IAAIE,UAAJ,oBAAkCF,EAAlC,KAERsB,EAAKtB,4DAzmBT,MAjH0B,wCAqH1B,OAAOd,+BAIP,OAAO5B,mCAIP,MA5H0B,2CAgI1B,OAAO6B,oCAIP,OAAO5B,sCAIP,OAAOM,kBA6lBXJ,EAAEC,GAAGJ,GAAQwC,EAAQyI,iBACrB9K,EAAEC,GAAGJ,GAAMqL,YAAc7I,EACzBrC,EAAEC,GAAGJ,GAAMsL,WAAa,WAEtB,OADAnL,EAAEC,GAAGJ,GAAQE,EACNsC,EAAQyI","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.2): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach((attr) => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.2): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.5.2'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation : 'boolean',\n template : 'string',\n title : '(string|element|function)',\n trigger : 'string',\n delay : '(number|object)',\n html : 'boolean',\n selector : '(string|boolean)',\n placement : '(string|function)',\n offset : '(number|string|function)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)',\n sanitize : 'boolean',\n sanitizeFn : '(null|function)',\n whiteList : 'object',\n popperConfig : '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n}\n\nconst Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></div>',\n trigger : 'hover focus',\n title : '',\n delay : 0,\n html : false,\n selector : false,\n placement : 'top',\n offset : 0,\n container : false,\n fallbackPlacement : 'flip',\n boundary : 'scrollParent',\n sanitize : true,\n sanitizeFn : null,\n whiteList : DefaultWhitelist,\n popperConfig : null\n}\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst Event = {\n HIDE : `hide${EVENT_KEY}`,\n HIDDEN : `hidden${EVENT_KEY}`,\n SHOW : `show${EVENT_KEY}`,\n SHOWN : `shown${EVENT_KEY}`,\n INSERTED : `inserted${EVENT_KEY}`,\n CLICK : `click${EVENT_KEY}`,\n FOCUSIN : `focusin${EVENT_KEY}`,\n FOCUSOUT : `focusout${EVENT_KEY}`,\n MOUSEENTER : `mouseenter${EVENT_KEY}`,\n MOUSELEAVE : `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_ARROW = '.arrow'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function'\n ? this.config.placement.call(this, tip, this.element)\n : this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function'\n ? this.config.title.call(this.element)\n : this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: (data) => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: (data) => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = (data) => {\n data.offsets = {\n ...data.offsets,\n ...this.config.offset(data.offsets, this.element) || {}\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (event) => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER\n ? this.constructor.Event.MOUSEENTER\n : this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER\n ? this.constructor.Event.MOUSELEAVE\n : this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(eventIn, this.config.selector, (event) => this._enter(event))\n .on(eventOut, this.config.selector, (event) => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler)\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach((dataAttr) => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...typeof config === 'object' && config ? config : {}\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n"]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Mekari UI util.js v1.0.0-beta (https://bitbucket.org/mekariuitoolkit/mekari-ui-toolkit#readme)
2
+ * Mekari UI util.js v1.0.6 (https://bitbucket.org/mekariuitoolkit/mekari-ui-toolkit#readme)
3
3
  * Copyright 2011-2020 Mekari
4
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
5
  */
@@ -11,8 +11,8 @@
11
11
  $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
12
12
  /**
13
13
  * --------------------------------------------------------------------------
14
- * Bootstrap (v4.3.1): util.js
15
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
14
+ * Bootstrap (v4.5.2): util.js
15
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
16
16
  * --------------------------------------------------------------------------
17
17
  */
18
18
 
@@ -27,6 +27,10 @@
27
27
  var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
28
28
 
29
29
  function toType(obj) {
30
+ if (obj === null || typeof obj === 'undefined') {
31
+ return "" + obj;
32
+ }
33
+
30
34
  return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
31
35
  }
32
36
 
@@ -39,7 +43,7 @@
39
43
  return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
40
44
  }
41
45
 
42
- return undefined; // eslint-disable-line no-undefined
46
+ return undefined;
43
47
  }
44
48
  };
45
49
  }
@@ -161,8 +165,25 @@
161
165
  }
162
166
 
163
167
  return Util.findShadowRoot(element.parentNode);
168
+ },
169
+ jQueryDetection: function jQueryDetection() {
170
+ if (typeof $ === 'undefined') {
171
+ throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
172
+ }
173
+
174
+ var version = $.fn.jquery.split(' ')[0].split('.');
175
+ var minMajor = 1;
176
+ var ltMajor = 2;
177
+ var minMinor = 9;
178
+ var minPatch = 1;
179
+ var maxMajor = 4;
180
+
181
+ if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
182
+ throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
183
+ }
164
184
  }
165
185
  };
186
+ Util.jQueryDetection();
166
187
  setTransitionEndSupport();
167
188
  return Util;
168
189
  });
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../node_modules/bootstrap/js/src/util.js"],"names":[],"mappings":"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","file":"mekari-ui-util.js","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n"]}
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * Mekari UI util.js v1.0.6 (https://bitbucket.org/mekariuitoolkit/mekari-ui-toolkit#readme)
3
+ * Copyright 2011-2020 Mekari
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):(t=t||self).Util=e(t.jQuery)}(this,function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e="transitionend";function n(e){var n=this,o=!1;return t(this).one(r.TRANSITION_END,function(){o=!0}),setTimeout(function(){o||r.triggerTransitionEnd(n)},e),this}var r={TRANSITION_END:"bsTransitionEnd",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute("data-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():""}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(e){if(!e)return 0;var n=t(e).css("transition-duration"),r=t(e).css("transition-delay"),o=parseFloat(n),i=parseFloat(r);return o||i?(n=n.split(",")[0],r=r.split(",")[0],1e3*(parseFloat(n)+parseFloat(r))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(n){t(n).trigger(e)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var o in n)if(Object.prototype.hasOwnProperty.call(n,o)){var i=n[o],a=e[o],u=a&&r.isElement(a)?"element":null===(s=a)||"undefined"==typeof s?""+s:{}.toString.call(s).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(i).test(u))throw new Error(t.toUpperCase()+': Option "'+o+'" provided type "'+u+'" but expected type "'+i+'".')}var s},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){var e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?r.findShadowRoot(t.parentNode):null},jQueryDetection:function(){if("undefined"==typeof t)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||e[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};return r.jQueryDetection(),t.fn.emulateTransitionEnd=n,t.event.special[r.TRANSITION_END]={bindType:e,delegateType:e,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}},r});
7
+ //# sourceMappingURL=mekari-ui-util.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../node_modules/bootstrap/js/src/util.js"],"names":["TRANSITION_END","transitionEndEmulator","duration","_this","this","called","$","one","Util","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","err","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","TypeError","version","fn","jquery","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.2): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n return undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (err) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n // TODO: Remove in v5\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value)\n ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n"]}
@@ -0,0 +1,2 @@
1
+ import $ from"jquery";var dropdownInit=function(){var e=$(".dropdown-with-pill"),t=$(".dropdown-with-select"),d=$(".dropdown-action--search");e.each(function(){var e=$(this).find(".dropdown-selected-list"),t=$(this).find(".dropdown-menu-list"),d=t.attr("data-select-name"),n=$(this).find(".dropdown-menu .is-selected").map(function(){return $(this).attr("data-val")}).get();e.length||($(this).append("<div class='dropdown-selected-list'></div>"),e=$(this).find(".dropdown-selected-list"));var a=n,i=Array.isArray(a),o=0;for(a=i?a:a[Symbol.iterator]();;){var s;if(i){if(o>=a.length)break;s=a[o++]}else{if((o=a.next()).done)break;s=o.value}var l=s,r=$(this).find(".dropdown-item[data-val='"+l+"']").attr("data-id");e.append("<span class='badge badge-smoke' data-id='"+r+"' data-val='"+l+"'>"+l+" <i class='ic ic-reset'></i></span><input type='hidden' value='"+r+"' name='"+d+"'>")}var p=$(".dropdown-with-pill .badge .ic");removePill(p),t.bind("DOMNodeInserted",function(e){e.target!==t[0]&&e.target.addEventListener("click",activateThisItem)})}),t.each(function(){var e=$(this).find(".dropdown-menu-list").attr("data-select-name"),t=$(this).find(".dropdown-menu .is-selected"),d=t.attr("data-id"),n=t.text();n?($(this).find(".dropdown-toggle").html(n),$(this).append("<div class='dropdown-selected-list'><input type='hidden' value='"+d+"' name='"+e+"'></div>")):$(this).append("<div class='dropdown-selected-list'><input type='hidden' value='' name='"+e+"'></div>")});var n=$(".dropdown-with-pill .dropdown-item"),a=$(".dropdown-with-select .dropdown-item");n.click(activateThisItem),a.click(activateThisItem),d.each(function(){var e=$(this).find("input[type='text']"),t=e.closest(".dropdown-menu");e.keyup(function(e){var d=t.find(".dropdown-menu-list .dropdown-item").not(".text-link"),n=e.currentTarget.value.toLocaleLowerCase();d.each(function(){$(this).text().toLocaleLowerCase().includes(n)?$(this).removeClass("d-none"):$(this).addClass("d-none")});var a=t.find(".dropdown-menu-list .dropdown-item.d-none").not(".text-link"),i=t.find("span.dropdown-not-found");a.length===d.length?i.length?i.removeClass("d-none"):t.append('<span class="dropdown-not-found">No data found</span>'):i.addClass("d-none")})})},removePill=function(e){e.click(function(){var e=$(this).closest(".badge"),t=e.attr("data-val"),d=e.attr("data-id");e.closest(".dropdown-selected-list").find("input[value='"+d+"']").remove(),e.closest(".dropdown-with-pill").find(".is-selected[data-val='"+t+"']").removeClass("is-selected"),e.remove()})},activateThisItem=function(){var e,t=$(event.currentTarget);if(t.closest(".dropdown").hasClass("dropdown-with-select")?e=".dropdown-with-select":t.closest(".dropdown").hasClass("dropdown-with-pill")&&(e=".dropdown-with-pill"),!t.hasClass("dropdown-action")){var d=t.closest(e),n=d.find(".dropdown-selected-list");".dropdown-with-select"==e&&d.find(".dropdown-item").removeClass("is-selected"),t.addClass("is-selected");var a=t.attr("data-id"),i=d.find(".dropdown-menu-list").attr("data-select-name");if(".dropdown-with-pill"==e){var o=t.attr("data-val");n.append("<span class='badge badge-smoke' data-id='"+a+"' data-val='"+o+"'>"+o+"<i class='ic ic-reset'></i></span> <input type='hidden' value='"+a+"' name='"+i+"'>");var s=n.find(".badge[data-val='"+o+"'] .ic");removePill(s)}else".dropdown-with-select"==e&&(d.find(".dropdown-toggle").addClass("selected").html(t.text()),n.html("<input type='hidden' value='"+a+"' name='"+i+"'>"))}};$(document).ready(function(){dropdownInit()});export default dropdownInit;
2
+ //# sourceMappingURL=mekari-ui-dropdown.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../js/src/dropdown.js"],"names":["$","dropdownInit","$wrapperDropdownPill","$wrapperDropdownSelect","$dropdownWithSearch","each","$selectedOptions","this","find","$menuList","$selectNameHidden","attr","$arrayListSelected","map","get","length","append","_iterator","_isArray","Array","isArray","_i","Symbol","iterator","_ref","next","done","value","item","$itemId","$pillList","removePill","bind","e","target","addEventListener","activateThisItem","$optionSelected","$itemVal","text","html","$dropdownPillItems","$dropdownSelectItems","click","$inputSearch","$dropdownMenu","closest","keyup","$arrayListOptions","not","$searchText","currentTarget","toLocaleLowerCase","includes","removeClass","addClass","$hiddenOpt","$notFound","$badge","$val","remove","$dropdownType","$this","event","hasClass","$wrapperDropdown","$pill","document","ready"],"mappings":"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","sourcesContent":["import $ from 'jquery'\n\n// Create js for init dropdown\nconst dropdownInit = () => {\n // find dropdown with pill class\n const $wrapperDropdownPill = $('.dropdown-with-pill');\n\n // find dropdown with select class\n const $wrapperDropdownSelect = $('.dropdown-with-select');\n\n // find dropdown with search class\n const $dropdownWithSearch = $('.dropdown-action--search');\n\n // Init first load. If $wrapperDropdownPill exist, display all selected option in pill\n $wrapperDropdownPill.each(function(){\n let $selectedOptions = $(this).find('.dropdown-selected-list');\n const $menuList = $(this).find('.dropdown-menu-list');\n const $selectNameHidden = $menuList.attr('data-select-name');\n const $arrayListSelected = $(this).find('.dropdown-menu .is-selected').map(function(){return $(this).attr(\"data-val\");}).get();\n if (!$selectedOptions.length) {\n $(this).append(`<div class='dropdown-selected-list'></div>`);\n $selectedOptions = $(this).find('.dropdown-selected-list');\n }\n\n // insert all selected options to pill\n for(let item of $arrayListSelected) {\n const $itemId = $(this).find(\".dropdown-item[data-val='\"+item+\"']\").attr('data-id');\n $selectedOptions.append(`<span class='badge badge-smoke' data-id='${$itemId}' data-val='${item}'>${item} <i class='ic ic-reset'></i></span><input type='hidden' value='${$itemId}' name='${$selectNameHidden}'>`);\n }\n\n // find all dropdown pill and set listener for delete\n const $pillList = $('.dropdown-with-pill .badge .ic');\n removePill($pillList);\n\n // listen to DomInserted in dropdown-menu-list\n $menuList.bind(\"DOMNodeInserted\",function(e){\n if (e.target !== $menuList[0]) {\n e.target.addEventListener('click', activateThisItem);\n }\n }); \n });\n\n // Init first load. If $wrapperDropdownSelect exist, display selected option & append input hidden\n $wrapperDropdownSelect.each(function(){\n const $menuList = $(this).find('.dropdown-menu-list');\n const $selectNameHidden = $menuList.attr('data-select-name');\n\n const $optionSelected = $(this).find('.dropdown-menu .is-selected');\n const $itemId = $optionSelected.attr('data-id');\n const $itemVal = $optionSelected.text();\n\n // display selected option & append input hidden\n if ($itemVal){\n $(this).find('.dropdown-toggle').html($itemVal);\n $(this).append(`<div class='dropdown-selected-list'><input type='hidden' value='${$itemId}' name='${$selectNameHidden}'></div>`);\n } else {\n $(this).append(`<div class='dropdown-selected-list'><input type='hidden' value='' name='${$selectNameHidden}'></div>`);\n }\n });\n\n // find all options\n const $dropdownPillItems = $('.dropdown-with-pill .dropdown-item');\n const $dropdownSelectItems = $('.dropdown-with-select .dropdown-item');\n\n // Add 'is-selected' in dropdown menu when option is selected\n $dropdownPillItems.click(activateThisItem);\n $dropdownSelectItems.click(activateThisItem);\n\n // Init search dropdown. If $dropdownWithSearch exist, listen when keydown\n $dropdownWithSearch.each(function(){\n const $inputSearch = $(this).find(\"input[type='text']\");\n const $dropdownMenu = $inputSearch.closest('.dropdown-menu');\n \n $inputSearch.keyup(function(e) {\n const $arrayListOptions = $dropdownMenu.find('.dropdown-menu-list .dropdown-item').not('.text-link');\n const $searchText = e.currentTarget.value.toLocaleLowerCase();\n $arrayListOptions.each(function() {\n if(!$(this).text().toLocaleLowerCase().includes($searchText)) {\n $(this).addClass('d-none');\n } else {\n $(this).removeClass('d-none');\n }\n });\n\n // find all option with hiden ('d-none') class\n const $hiddenOpt = $dropdownMenu.find('.dropdown-menu-list .dropdown-item.d-none').not('.text-link');\n const $notFound = $dropdownMenu.find('span.dropdown-not-found');\n if ($hiddenOpt.length === $arrayListOptions.length) {\n if ($notFound.length) {\n $notFound.removeClass('d-none');\n } else {\n $dropdownMenu.append(`<span class=\"dropdown-not-found\">No data found</span>`);\n }\n } else {\n $notFound.addClass('d-none');\n }\n });\n });\n}\n\nconst removePill = (item) => {\n // remove pill and class is-selected in dropdown menu when button 'x' is clicked\n item.click(function(){\n const $badge = $(this).closest('.badge');\n const $val = $badge.attr('data-val');\n const $itemId = $badge.attr('data-id');\n $badge.closest('.dropdown-selected-list').find(\"input[value='\"+$itemId+\"']\").remove();\n $badge.closest('.dropdown-with-pill')\n .find(\".is-selected[data-val='\"+$val+\"']\")\n .removeClass('is-selected');\n $badge.remove();\n });\n}\n\nconst activateThisItem = () => {\n const $this = $(event.currentTarget);\n let $dropdownType;\n if ($this.closest('.dropdown').hasClass('dropdown-with-select')){\n $dropdownType = '.dropdown-with-select';\n } else if ($this.closest('.dropdown').hasClass('dropdown-with-pill')) {\n $dropdownType = '.dropdown-with-pill';\n }\n if (!$this.hasClass('dropdown-action')){\n const $wrapperDropdown = $this.closest($dropdownType);\n let $selectedOptions = $wrapperDropdown.find('.dropdown-selected-list');\n\n // remove selected class in all options\n if($dropdownType == '.dropdown-with-select'){\n $wrapperDropdown.find('.dropdown-item').removeClass('is-selected');\n }\n\n // add selected class\n $this.addClass('is-selected');\n const $itemId = $this.attr('data-id');\n const $selectNameHidden = $wrapperDropdown.find('.dropdown-menu-list').attr('data-select-name');\n\n if($dropdownType == '.dropdown-with-pill'){\n // adding pill\n const $val = $this.attr('data-val');\n $selectedOptions.append(`<span class='badge badge-smoke' data-id='${$itemId}' data-val='${$val}'>${$val}<i class='ic ic-reset'></i></span> <input type='hidden' value='${$itemId}' name='${$selectNameHidden}'>`);\n \n const $pill = $selectedOptions.find(`.badge[data-val='${$val}'] .ic`);\n removePill($pill);\n } else if($dropdownType == '.dropdown-with-select'){\n // adding selected value & input hidden\n $wrapperDropdown.find('.dropdown-toggle').addClass('selected').html($this.text());\n $selectedOptions.html(`<input type='hidden' value='${$itemId}' name='${$selectNameHidden}'>`);\n }\n };\n}\n\n$(document).ready(function () {\n dropdownInit();\n})\n\nexport default dropdownInit"]}
@@ -0,0 +1,2 @@
1
+ import $ from"jquery";var MekariForm=function(){checkAll()},checkAll=function(){$(".checkallbox-wrapper").each(function(){var e=$(this).attr("data-checkall"),c=$(this).find(".checkallbox-parent[data-checkall = '"+e+"']"),t=$(this).find("input[type='checkbox'][data-checkall = '"+e+"']").not(".checkallbox-parent");updateCheckAll(c,t),activateParentCheckAll(c,t),activateChildCheckAll(c,t)})},updateCheckAll=function(e,c){var t=c.length;c.filter(function(){return!0===$(this).is(":checked")}).length===t&&t>0?e.prop("checked",!0):e.prop("checked",!1)},activateParentCheckAll=function(e,c){e.change(function(){$(this).is(":checked")?c.prop("checked",!0):c.prop("checked",!1)})},activateChildCheckAll=function(e,c){c.change(function(){updateCheckAll(e,c)})};$(document).ready(function(){MekariForm()});export default MekariForm;
2
+ //# sourceMappingURL=mekari-ui-form.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../js/src/form.js"],"names":["$","MekariForm","checkAll","each","$datacheckall","this","attr","$parentCheckbox","find","$arrayListCheckbox","not","updateCheckAll","activateParentCheckAll","activateChildCheckAll","$parentCb","$childCb","$totalChildCb","length","filter","is","prop","change","document","ready"],"mappings":"OAAOA,MAAO,SAEd,IAAMC,WAAa,WACjBC,YAGIA,SAAW,WAEUF,EAAE,wBAEVG,KAAK,WACpB,IAAMC,EAAgBJ,EAAEK,MAAMC,KAAK,iBAC7BC,EAAkBP,EAAEK,MAAMG,KAAR,wCAAqDJ,EAArD,MAClBK,EAAqBT,EAAEK,MACFG,KADA,2CACgDJ,EADhD,MAEAM,IAAI,uBAG/BC,eAAeJ,EAAiBE,GAGhCG,uBAAuBL,EAAiBE,GAGxCI,sBAAsBN,EAAiBE,MAIrCE,eAAiB,SAACG,EAAWC,GACjC,IAAMC,EAAgBD,EAASE,OACJF,EACAG,OAAO,WAAW,OACC,IADMlB,EAAEK,MAC3Bc,GAAG,cAAwBF,SAC3BD,GAAiBA,EAAgB,EAC1DF,EAAUM,KAAK,WAAW,GAE1BN,EAAUM,KAAK,WAAW,IAIxBR,uBAAyB,SAACE,EAAWC,GACzCD,EAAUO,OAAO,WACZrB,EAAEK,MAAMc,GAAG,YACZJ,EAASK,KAAK,WAAW,GAEzBL,EAASK,KAAK,WAAW,MAKzBP,sBAAwB,SAACC,EAAWC,GACxCA,EAASM,OAAO,WACdV,eAAeG,EAAWC,MAI9Bf,EAAEsB,UAAUC,MAAM,WAChBtB,8BAGaA","sourcesContent":["import $ from 'jquery'\n\nconst MekariForm = () => {\n checkAll();\n}\n\nconst checkAll = () => {\n // find all class name checkallbox\n const $checkallWrapper = $('.checkallbox-wrapper');\n\n $checkallWrapper.each(function(){\n const $datacheckall = $(this).attr('data-checkall');\n const $parentCheckbox = $(this).find(`.checkallbox-parent[data-checkall = '${$datacheckall}']`);\n const $arrayListCheckbox = $(this)\n .find(`input[type='checkbox'][data-checkall = '${$datacheckall}']`)\n .not('.checkallbox-parent');\n\n // update check all status (init)\n updateCheckAll($parentCheckbox, $arrayListCheckbox);\n\n // call function for trigered when parent is change\n activateParentCheckAll($parentCheckbox, $arrayListCheckbox);\n\n // call function for trigered when child is change\n activateChildCheckAll($parentCheckbox, $arrayListCheckbox);\n });\n}\n\nconst updateCheckAll = ($parentCb, $childCb) => {\n const $totalChildCb = $childCb.length;\n const $totalChildChecked = $childCb\n .filter(function(){return $(this)\n .is(':checked') === true;}).length;\n if( $totalChildChecked === $totalChildCb && $totalChildCb > 0 ) {\n $parentCb.prop('checked', true);\n } else {\n $parentCb.prop('checked', false);\n }\n}\n\nconst activateParentCheckAll = ($parentCb, $childCb) => {\n $parentCb.change(function(){\n if($(this).is(':checked')){\n $childCb.prop('checked', true);\n } else {\n $childCb.prop('checked', false);\n }\n })\n}\n\nconst activateChildCheckAll = ($parentCb, $childCb) => {\n $childCb.change(function(){\n updateCheckAll($parentCb, $childCb);\n });\n}\n\n$(document).ready(function () {\n MekariForm()\n})\n\nexport default MekariForm\n"]}
@@ -0,0 +1,2 @@
1
+ import $ from"jquery";import Alert from"../../node_modules/bootstrap/js/src/alert";import Button from"../../node_modules/bootstrap/js/src/button";import Carousel from"../../node_modules/bootstrap/js/src/carousel";import Collapse from"../../node_modules/bootstrap/js/src/collapse";import Dropdown from"../../node_modules/bootstrap/js/src/dropdown";import Modal from"../../node_modules/bootstrap/js/src/modal";import Popover from"../../node_modules/bootstrap/js/src/popover";import Scrollspy from"../../node_modules/bootstrap/js/src/scrollspy";import Tab from"../../node_modules/bootstrap/js/src/tab";import Tooltip from"../../node_modules/bootstrap/js/src/tooltip";import Util from"../../node_modules/bootstrap/js/src/util";import MekariDropdown from"./dropdown";import MekariForm from"./form";import MekariTooltip from"./tooltip";export{Util,Alert,Button,Carousel,Collapse,Dropdown,Modal,Popover,Scrollspy,Tab,Tooltip,MekariDropdown,MekariForm,MekariTooltip};
2
+ //# sourceMappingURL=mekari-ui-index.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../js/src/index.js"],"names":["$","Alert","Button","Carousel","Collapse","Dropdown","Modal","Popover","Scrollspy","Tab","Tooltip","Util","MekariDropdown","MekariForm","MekariTooltip"],"mappings":"OAAOA,MAAO,gBAGPC,UAAW,mDACXC,WAAY,oDACZC,aAAc,sDACdC,aAAc,sDACdC,aAAc,sDACdC,UAAW,mDACXC,YAAa,qDACbC,cAAe,uDACfC,QAAS,iDACTC,YAAa,qDACbC,SAAU,kDAGVC,mBAAoB,oBACpBC,eAAgB,gBAChBC,kBAAmB,mBAGxBH,KACAV,MACAC,OACAC,SACAC,SACAC,SACAC,MACAC,QACAC,UACAC,IACAC,QACAE,eACAC,WACAC","sourcesContent":["import $ from 'jquery'\n\n// Bootstrap\nimport Alert from '../../node_modules/bootstrap/js/src/alert'\nimport Button from '../../node_modules/bootstrap/js/src/button'\nimport Carousel from '../../node_modules/bootstrap/js/src/carousel'\nimport Collapse from '../../node_modules/bootstrap/js/src/collapse'\nimport Dropdown from '../../node_modules/bootstrap/js/src/dropdown'\nimport Modal from '../../node_modules/bootstrap/js/src/modal'\nimport Popover from '../../node_modules/bootstrap/js/src/popover'\nimport Scrollspy from '../../node_modules/bootstrap/js/src/scrollspy'\nimport Tab from '../../node_modules/bootstrap/js/src/tab'\nimport Tooltip from '../../node_modules/bootstrap/js/src/tooltip'\nimport Util from '../../node_modules/bootstrap/js/src/util'\n\n// Mekari UI\nimport MekariDropdown from './dropdown'\nimport MekariForm from './form'\nimport MekariTooltip from './tooltip'\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip,\n MekariDropdown,\n MekariForm,\n MekariTooltip\n}"]}
@@ -0,0 +1,2 @@
1
+ import $ from"jquery";var MekariTooltip=function(){$('[data-toggle="tooltip"]').tooltip({trigger:"hover"})};$(document).ready(function(){MekariTooltip()});export default MekariTooltip;
2
+ //# sourceMappingURL=mekari-ui-tooltip.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../js/src/tooltip.js"],"names":["$","MekariTooltip","tooltip","trigger","document","ready"],"mappings":"OAAOA,MAAO,SAGd,IAAMC,cAAgB,WACpBD,EAAE,2BAA2BE,QAAQ,CAAEC,QAAS,WAGlDH,EAAEI,UAAUC,MAAM,WAChBJ,iCAGaA","sourcesContent":["import $ from 'jquery'\n\n// To enable tooltip in all pages\nconst MekariTooltip = () => {\n $('[data-toggle=\"tooltip\"]').tooltip({ trigger: 'hover' })\n}\n\n$(document).ready(function () {\n MekariTooltip()\n})\n\nexport default MekariTooltip\n"]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Mekari UI v1.0.0-beta (https://bitbucket.org/mekariuitoolkit/mekari-ui-toolkit#readme)
2
+ * Mekari UI v1.0.6 (https://bitbucket.org/mekariuitoolkit/mekari-ui-toolkit#readme)
3
3
  * Copyright 2011-2020 Mekari
4
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
5
  */
@@ -13,8 +13,8 @@
13
13
 
14
14
  /**
15
15
  * --------------------------------------------------------------------------
16
- * Bootstrap (v4.3.1): util.js
17
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
16
+ * Bootstrap (v4.5.2): util.js
17
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
18
18
  * --------------------------------------------------------------------------
19
19
  */
20
20
 
@@ -30,6 +30,10 @@
30
30
 
31
31
  // Shoutout AngusCroll (https://goo.gl/pxwQGp)
32
32
  function toType(obj) {
33
+ if (obj === null || typeof obj === 'undefined') {
34
+ return `${obj}`
35
+ }
36
+
33
37
  return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase()
34
38
  }
35
39
 
@@ -41,7 +45,7 @@
41
45
  if ($(event.target).is(this)) {
42
46
  return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params
43
47
  }
44
- return undefined // eslint-disable-line no-undefined
48
+ return undefined
45
49
  }
46
50
  }
47
51
  }
@@ -74,7 +78,6 @@
74
78
  */
75
79
 
76
80
  const Util = {
77
-
78
81
  TRANSITION_END: 'bsTransitionEnd',
79
82
 
80
83
  getUID(prefix) {
@@ -180,15 +183,33 @@
180
183
  }
181
184
 
182
185
  return Util.findShadowRoot(element.parentNode)
186
+ },
187
+
188
+ jQueryDetection() {
189
+ if (typeof $ === 'undefined') {
190
+ throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
191
+ }
192
+
193
+ const version = $.fn.jquery.split(' ')[0].split('.');
194
+ const minMajor = 1;
195
+ const ltMajor = 2;
196
+ const minMinor = 9;
197
+ const minPatch = 1;
198
+ const maxMajor = 4;
199
+
200
+ if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
201
+ throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
202
+ }
183
203
  }
184
204
  };
185
205
 
206
+ Util.jQueryDetection();
186
207
  setTransitionEndSupport();
187
208
 
188
209
  /**
189
210
  * --------------------------------------------------------------------------
190
- * Bootstrap (v4.3.1): alert.js
191
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
211
+ * Bootstrap (v4.5.2): alert.js
212
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
192
213
  * --------------------------------------------------------------------------
193
214
  */
194
215
 
@@ -199,27 +220,21 @@
199
220
  */
200
221
 
201
222
  const NAME = 'alert';
202
- const VERSION = '4.3.1';
223
+ const VERSION = '4.5.2';
203
224
  const DATA_KEY = 'bs.alert';
204
225
  const EVENT_KEY = `.${DATA_KEY}`;
205
226
  const DATA_API_KEY = '.data-api';
206
227
  const JQUERY_NO_CONFLICT = $.fn[NAME];
207
228
 
208
- const Selector = {
209
- DISMISS : '[data-dismiss="alert"]'
210
- };
229
+ const SELECTOR_DISMISS = '[data-dismiss="alert"]';
211
230
 
212
- const Event = {
213
- CLOSE : `close${EVENT_KEY}`,
214
- CLOSED : `closed${EVENT_KEY}`,
215
- CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`
216
- };
231
+ const EVENT_CLOSE = `close${EVENT_KEY}`;
232
+ const EVENT_CLOSED = `closed${EVENT_KEY}`;
233
+ const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
217
234
 
218
- const ClassName = {
219
- ALERT : 'alert',
220
- FADE : 'fade',
221
- SHOW : 'show'
222
- };
235
+ const CLASS_NAME_ALERT = 'alert';
236
+ const CLASS_NAME_FADE = 'fade';
237
+ const CLASS_NAME_SHOW = 'show';
223
238
 
224
239
  /**
225
240
  * ------------------------------------------------------------------------
@@ -271,23 +286,23 @@
271
286
  }
272
287
 
273
288
  if (!parent) {
274
- parent = $(element).closest(`.${ClassName.ALERT}`)[0];
289
+ parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0];
275
290
  }
276
291
 
277
292
  return parent
278
293
  }
279
294
 
280
295
  _triggerCloseEvent(element) {
281
- const closeEvent = $.Event(Event.CLOSE);
296
+ const closeEvent = $.Event(EVENT_CLOSE);
282
297
 
283
298
  $(element).trigger(closeEvent);
284
299
  return closeEvent
285
300
  }
286
301
 
287
302
  _removeElement(element) {
288
- $(element).removeClass(ClassName.SHOW);
303
+ $(element).removeClass(CLASS_NAME_SHOW);
289
304
 
290
- if (!$(element).hasClass(ClassName.FADE)) {
305
+ if (!$(element).hasClass(CLASS_NAME_FADE)) {
291
306
  this._destroyElement(element);
292
307
  return
293
308
  }
@@ -302,7 +317,7 @@
302
317
  _destroyElement(element) {
303
318
  $(element)
304
319
  .detach()
305
- .trigger(Event.CLOSED)
320
+ .trigger(EVENT_CLOSED)
306
321
  .remove();
307
322
  }
308
323
 
@@ -342,8 +357,8 @@
342
357
  */
343
358
 
344
359
  $(document).on(
345
- Event.CLICK_DATA_API,
346
- Selector.DISMISS,
360
+ EVENT_CLICK_DATA_API,
361
+ SELECTOR_DISMISS,
347
362
  Alert._handleDismiss(new Alert())
348
363
  );
349
364
 
@@ -362,8 +377,8 @@
362
377
 
363
378
  /**
364
379
  * --------------------------------------------------------------------------
365
- * Bootstrap (v4.3.1): button.js
366
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
380
+ * Bootstrap (v4.5.2): button.js
381
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
367
382
  * --------------------------------------------------------------------------
368
383
  */
369
384
 
@@ -374,31 +389,28 @@
374
389
  */
375
390
 
376
391
  const NAME$1 = 'button';
377
- const VERSION$1 = '4.3.1';
392
+ const VERSION$1 = '4.5.2';
378
393
  const DATA_KEY$1 = 'bs.button';
379
394
  const EVENT_KEY$1 = `.${DATA_KEY$1}`;
380
395
  const DATA_API_KEY$1 = '.data-api';
381
396
  const JQUERY_NO_CONFLICT$1 = $.fn[NAME$1];
382
397
 
383
- const ClassName$1 = {
384
- ACTIVE : 'active',
385
- BUTTON : 'btn',
386
- FOCUS : 'focus'
387
- };
398
+ const CLASS_NAME_ACTIVE = 'active';
399
+ const CLASS_NAME_BUTTON = 'btn';
400
+ const CLASS_NAME_FOCUS = 'focus';
388
401
 
389
- const Selector$1 = {
390
- DATA_TOGGLE_CARROT : '[data-toggle^="button"]',
391
- DATA_TOGGLE : '[data-toggle="buttons"]',
392
- INPUT : 'input:not([type="hidden"])',
393
- ACTIVE : '.active',
394
- BUTTON : '.btn'
395
- };
402
+ const SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';
403
+ const SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]';
404
+ const SELECTOR_DATA_TOGGLE = '[data-toggle="button"]';
405
+ const SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle="buttons"] .btn';
406
+ const SELECTOR_INPUT = 'input:not([type="hidden"])';
407
+ const SELECTOR_ACTIVE = '.active';
408
+ const SELECTOR_BUTTON = '.btn';
396
409
 
397
- const Event$1 = {
398
- CLICK_DATA_API : `click${EVENT_KEY$1}${DATA_API_KEY$1}`,
399
- FOCUS_BLUR_DATA_API : `focus${EVENT_KEY$1}${DATA_API_KEY$1} ` +
400
- `blur${EVENT_KEY$1}${DATA_API_KEY$1}`
401
- };
410
+ const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$1}${DATA_API_KEY$1}`;
411
+ const EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY$1}${DATA_API_KEY$1} ` +
412
+ `blur${EVENT_KEY$1}${DATA_API_KEY$1}`;
413
+ const EVENT_LOAD_DATA_API = `load${EVENT_KEY$1}${DATA_API_KEY$1}`;
402
414
 
403
415
  /**
404
416
  * ------------------------------------------------------------------------
@@ -423,34 +435,31 @@
423
435
  let triggerChangeEvent = true;
424
436
  let addAriaPressed = true;
425
437
  const rootElement = $(this._element).closest(
426
- Selector$1.DATA_TOGGLE
438
+ SELECTOR_DATA_TOGGLES
427
439
  )[0];
428
440
 
429
441
  if (rootElement) {
430
- const input = this._element.querySelector(Selector$1.INPUT);
442
+ const input = this._element.querySelector(SELECTOR_INPUT);
431
443
 
432
444
  if (input) {
433
445
  if (input.type === 'radio') {
434
446
  if (input.checked &&
435
- this._element.classList.contains(ClassName$1.ACTIVE)) {
447
+ this._element.classList.contains(CLASS_NAME_ACTIVE)) {
436
448
  triggerChangeEvent = false;
437
449
  } else {
438
- const activeElement = rootElement.querySelector(Selector$1.ACTIVE);
450
+ const activeElement = rootElement.querySelector(SELECTOR_ACTIVE);
439
451
 
440
452
  if (activeElement) {
441
- $(activeElement).removeClass(ClassName$1.ACTIVE);
453
+ $(activeElement).removeClass(CLASS_NAME_ACTIVE);
442
454
  }
443
455
  }
444
456
  }
445
457
 
446
458
  if (triggerChangeEvent) {
447
- if (input.hasAttribute('disabled') ||
448
- rootElement.hasAttribute('disabled') ||
449
- input.classList.contains('disabled') ||
450
- rootElement.classList.contains('disabled')) {
451
- return
459
+ // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input
460
+ if (input.type === 'checkbox' || input.type === 'radio') {
461
+ input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);
452
462
  }
453
- input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
454
463
  $(input).trigger('change');
455
464
  }
456
465
 
@@ -459,13 +468,15 @@
459
468
  }
460
469
  }
461
470
 
462
- if (addAriaPressed) {
463
- this._element.setAttribute('aria-pressed',
464
- !this._element.classList.contains(ClassName$1.ACTIVE));
465
- }
471
+ if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {
472
+ if (addAriaPressed) {
473
+ this._element.setAttribute('aria-pressed',
474
+ !this._element.classList.contains(CLASS_NAME_ACTIVE));
475
+ }
466
476
 
467
- if (triggerChangeEvent) {
468
- $(this._element).toggleClass(ClassName$1.ACTIVE);
477
+ if (triggerChangeEvent) {
478
+ $(this._element).toggleClass(CLASS_NAME_ACTIVE);
479
+ }
469
480
  }
470
481
  }
471
482
 
@@ -499,22 +510,61 @@
499
510
  */
500
511
 
501
512
  $(document)
502
- .on(Event$1.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, (event) => {
503
- event.preventDefault();
504
-
513
+ .on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, (event) => {
505
514
  let button = event.target;
515
+ const initialButton = button;
506
516
 
507
- if (!$(button).hasClass(ClassName$1.BUTTON)) {
508
- button = $(button).closest(Selector$1.BUTTON);
517
+ if (!$(button).hasClass(CLASS_NAME_BUTTON)) {
518
+ button = $(button).closest(SELECTOR_BUTTON)[0];
509
519
  }
510
520
 
511
- Button._jQueryInterface.call($(button), 'toggle');
521
+ if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {
522
+ event.preventDefault(); // work around Firefox bug #1540995
523
+ } else {
524
+ const inputBtn = button.querySelector(SELECTOR_INPUT);
525
+
526
+ if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {
527
+ event.preventDefault(); // work around Firefox bug #1540995
528
+ return
529
+ }
530
+
531
+ if (initialButton.tagName !== 'LABEL' || inputBtn && inputBtn.type !== 'checkbox') {
532
+ Button._jQueryInterface.call($(button), 'toggle');
533
+ }
534
+ }
512
535
  })
513
- .on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, (event) => {
514
- const button = $(event.target).closest(Selector$1.BUTTON)[0];
515
- $(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type));
536
+ .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, (event) => {
537
+ const button = $(event.target).closest(SELECTOR_BUTTON)[0];
538
+ $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));
516
539
  });
517
540
 
541
+ $(window).on(EVENT_LOAD_DATA_API, () => {
542
+ // ensure correct active class is set to match the controls' actual values/states
543
+
544
+ // find all checkboxes/readio buttons inside data-toggle groups
545
+ let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));
546
+ for (let i = 0, len = buttons.length; i < len; i++) {
547
+ const button = buttons[i];
548
+ const input = button.querySelector(SELECTOR_INPUT);
549
+ if (input.checked || input.hasAttribute('checked')) {
550
+ button.classList.add(CLASS_NAME_ACTIVE);
551
+ } else {
552
+ button.classList.remove(CLASS_NAME_ACTIVE);
553
+ }
554
+ }
555
+
556
+ // find all button toggles
557
+ buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));
558
+ for (let i = 0, len = buttons.length; i < len; i++) {
559
+ const button = buttons[i];
560
+ if (button.getAttribute('aria-pressed') === 'true') {
561
+ button.classList.add(CLASS_NAME_ACTIVE);
562
+ } else {
563
+ button.classList.remove(CLASS_NAME_ACTIVE);
564
+ }
565
+ }
566
+ });
567
+
518
568
  /**
519
569
  * ------------------------------------------------------------------------
520
570
  * jQuery
@@ -530,8 +580,8 @@
530
580
 
531
581
  /**
532
582
  * --------------------------------------------------------------------------
533
- * Bootstrap (v4.3.1): carousel.js
534
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
583
+ * Bootstrap (v4.5.2): carousel.js
584
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
535
585
  * --------------------------------------------------------------------------
536
586
  */
537
587
 
@@ -542,7 +592,7 @@
542
592
  */
543
593
 
544
594
  const NAME$2 = 'carousel';
545
- const VERSION$2 = '4.3.1';
595
+ const VERSION$2 = '4.5.2';
546
596
  const DATA_KEY$2 = 'bs.carousel';
547
597
  const EVENT_KEY$2 = `.${DATA_KEY$2}`;
548
598
  const DATA_API_KEY$2 = '.data-api';
@@ -570,51 +620,42 @@
570
620
  touch : 'boolean'
571
621
  };
572
622
 
573
- const Direction = {
574
- NEXT : 'next',
575
- PREV : 'prev',
576
- LEFT : 'left',
577
- RIGHT : 'right'
578
- };
579
-
580
- const Event$2 = {
581
- SLIDE : `slide${EVENT_KEY$2}`,
582
- SLID : `slid${EVENT_KEY$2}`,
583
- KEYDOWN : `keydown${EVENT_KEY$2}`,
584
- MOUSEENTER : `mouseenter${EVENT_KEY$2}`,
585
- MOUSELEAVE : `mouseleave${EVENT_KEY$2}`,
586
- TOUCHSTART : `touchstart${EVENT_KEY$2}`,
587
- TOUCHMOVE : `touchmove${EVENT_KEY$2}`,
588
- TOUCHEND : `touchend${EVENT_KEY$2}`,
589
- POINTERDOWN : `pointerdown${EVENT_KEY$2}`,
590
- POINTERUP : `pointerup${EVENT_KEY$2}`,
591
- DRAG_START : `dragstart${EVENT_KEY$2}`,
592
- LOAD_DATA_API : `load${EVENT_KEY$2}${DATA_API_KEY$2}`,
593
- CLICK_DATA_API : `click${EVENT_KEY$2}${DATA_API_KEY$2}`
594
- };
595
-
596
- const ClassName$2 = {
597
- CAROUSEL : 'carousel',
598
- ACTIVE : 'active',
599
- SLIDE : 'slide',
600
- RIGHT : 'carousel-item-right',
601
- LEFT : 'carousel-item-left',
602
- NEXT : 'carousel-item-next',
603
- PREV : 'carousel-item-prev',
604
- ITEM : 'carousel-item',
605
- POINTER_EVENT : 'pointer-event'
606
- };
607
-
608
- const Selector$2 = {
609
- ACTIVE : '.active',
610
- ACTIVE_ITEM : '.active.carousel-item',
611
- ITEM : '.carousel-item',
612
- ITEM_IMG : '.carousel-item img',
613
- NEXT_PREV : '.carousel-item-next, .carousel-item-prev',
614
- INDICATORS : '.carousel-indicators',
615
- DATA_SLIDE : '[data-slide], [data-slide-to]',
616
- DATA_RIDE : '[data-ride="carousel"]'
617
- };
623
+ const DIRECTION_NEXT = 'next';
624
+ const DIRECTION_PREV = 'prev';
625
+ const DIRECTION_LEFT = 'left';
626
+ const DIRECTION_RIGHT = 'right';
627
+
628
+ const EVENT_SLIDE = `slide${EVENT_KEY$2}`;
629
+ const EVENT_SLID = `slid${EVENT_KEY$2}`;
630
+ const EVENT_KEYDOWN = `keydown${EVENT_KEY$2}`;
631
+ const EVENT_MOUSEENTER = `mouseenter${EVENT_KEY$2}`;
632
+ const EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY$2}`;
633
+ const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$2}`;
634
+ const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$2}`;
635
+ const EVENT_TOUCHEND = `touchend${EVENT_KEY$2}`;
636
+ const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$2}`;
637
+ const EVENT_POINTERUP = `pointerup${EVENT_KEY$2}`;
638
+ const EVENT_DRAG_START = `dragstart${EVENT_KEY$2}`;
639
+ const EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY$2}`;
640
+ const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$2}${DATA_API_KEY$2}`;
641
+
642
+ const CLASS_NAME_CAROUSEL = 'carousel';
643
+ const CLASS_NAME_ACTIVE$1 = 'active';
644
+ const CLASS_NAME_SLIDE = 'slide';
645
+ const CLASS_NAME_RIGHT = 'carousel-item-right';
646
+ const CLASS_NAME_LEFT = 'carousel-item-left';
647
+ const CLASS_NAME_NEXT = 'carousel-item-next';
648
+ const CLASS_NAME_PREV = 'carousel-item-prev';
649
+ const CLASS_NAME_POINTER_EVENT = 'pointer-event';
650
+
651
+ const SELECTOR_ACTIVE$1 = '.active';
652
+ const SELECTOR_ACTIVE_ITEM = '.active.carousel-item';
653
+ const SELECTOR_ITEM = '.carousel-item';
654
+ const SELECTOR_ITEM_IMG = '.carousel-item img';
655
+ const SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';
656
+ const SELECTOR_INDICATORS = '.carousel-indicators';
657
+ const SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';
658
+ const SELECTOR_DATA_RIDE = '[data-ride="carousel"]';
618
659
 
619
660
  const PointerType = {
620
661
  TOUCH : 'touch',
@@ -639,7 +680,7 @@
639
680
 
640
681
  this._config = this._getConfig(config);
641
682
  this._element = element;
642
- this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS);
683
+ this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS);
643
684
  this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
644
685
  this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
645
686
 
@@ -660,7 +701,7 @@
660
701
 
661
702
  next() {
662
703
  if (!this._isSliding) {
663
- this._slide(Direction.NEXT);
704
+ this._slide(DIRECTION_NEXT);
664
705
  }
665
706
  }
666
707
 
@@ -675,7 +716,7 @@
675
716
 
676
717
  prev() {
677
718
  if (!this._isSliding) {
678
- this._slide(Direction.PREV);
719
+ this._slide(DIRECTION_PREV);
679
720
  }
680
721
  }
681
722
 
@@ -684,7 +725,7 @@
684
725
  this._isPaused = true;
685
726
  }
686
727
 
687
- if (this._element.querySelector(Selector$2.NEXT_PREV)) {
728
+ if (this._element.querySelector(SELECTOR_NEXT_PREV)) {
688
729
  Util.triggerTransitionEnd(this._element);
689
730
  this.cycle(true);
690
731
  }
@@ -712,7 +753,7 @@
712
753
  }
713
754
 
714
755
  to(index) {
715
- this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
756
+ this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);
716
757
 
717
758
  const activeIndex = this._getItemIndex(this._activeElement);
718
759
 
@@ -721,7 +762,7 @@
721
762
  }
722
763
 
723
764
  if (this._isSliding) {
724
- $(this._element).one(Event$2.SLID, () => this.to(index));
765
+ $(this._element).one(EVENT_SLID, () => this.to(index));
725
766
  return
726
767
  }
727
768
 
@@ -732,8 +773,8 @@
732
773
  }
733
774
 
734
775
  const direction = index > activeIndex
735
- ? Direction.NEXT
736
- : Direction.PREV;
776
+ ? DIRECTION_NEXT
777
+ : DIRECTION_PREV;
737
778
 
738
779
  this._slide(direction, this._items[index]);
739
780
  }
@@ -772,6 +813,8 @@
772
813
 
773
814
  const direction = absDeltax / this.touchDeltaX;
774
815
 
816
+ this.touchDeltaX = 0;
817
+
775
818
  // swipe left
776
819
  if (direction > 0) {
777
820
  this.prev();
@@ -785,14 +828,13 @@
785
828
 
786
829
  _addEventListeners() {
787
830
  if (this._config.keyboard) {
788
- $(this._element)
789
- .on(Event$2.KEYDOWN, (event) => this._keydown(event));
831
+ $(this._element).on(EVENT_KEYDOWN, (event) => this._keydown(event));
790
832
  }
791
833
 
792
834
  if (this._config.pause === 'hover') {
793
835
  $(this._element)
794
- .on(Event$2.MOUSEENTER, (event) => this.pause(event))
795
- .on(Event$2.MOUSELEAVE, (event) => this.cycle(event));
836
+ .on(EVENT_MOUSEENTER, (event) => this.pause(event))
837
+ .on(EVENT_MOUSELEAVE, (event) => this.cycle(event));
796
838
  }
797
839
 
798
840
  if (this._config.touch) {
@@ -845,16 +887,18 @@
845
887
  }
846
888
  };
847
889
 
848
- $(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, (e) => e.preventDefault());
890
+ $(this._element.querySelectorAll(SELECTOR_ITEM_IMG))
891
+ .on(EVENT_DRAG_START, (e) => e.preventDefault());
892
+
849
893
  if (this._pointerEvent) {
850
- $(this._element).on(Event$2.POINTERDOWN, (event) => start(event));
851
- $(this._element).on(Event$2.POINTERUP, (event) => end(event));
894
+ $(this._element).on(EVENT_POINTERDOWN, (event) => start(event));
895
+ $(this._element).on(EVENT_POINTERUP, (event) => end(event));
852
896
 
853
- this._element.classList.add(ClassName$2.POINTER_EVENT);
897
+ this._element.classList.add(CLASS_NAME_POINTER_EVENT);
854
898
  } else {
855
- $(this._element).on(Event$2.TOUCHSTART, (event) => start(event));
856
- $(this._element).on(Event$2.TOUCHMOVE, (event) => move(event));
857
- $(this._element).on(Event$2.TOUCHEND, (event) => end(event));
899
+ $(this._element).on(EVENT_TOUCHSTART, (event) => start(event));
900
+ $(this._element).on(EVENT_TOUCHMOVE, (event) => move(event));
901
+ $(this._element).on(EVENT_TOUCHEND, (event) => end(event));
858
902
  }
859
903
  }
860
904
 
@@ -878,14 +922,14 @@
878
922
 
879
923
  _getItemIndex(element) {
880
924
  this._items = element && element.parentNode
881
- ? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM))
925
+ ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM))
882
926
  : [];
883
927
  return this._items.indexOf(element)
884
928
  }
885
929
 
886
930
  _getItemByDirection(direction, activeElement) {
887
- const isNextDirection = direction === Direction.NEXT;
888
- const isPrevDirection = direction === Direction.PREV;
931
+ const isNextDirection = direction === DIRECTION_NEXT;
932
+ const isPrevDirection = direction === DIRECTION_PREV;
889
933
  const activeIndex = this._getItemIndex(activeElement);
890
934
  const lastItemIndex = this._items.length - 1;
891
935
  const isGoingToWrap = isPrevDirection && activeIndex === 0 ||
@@ -895,7 +939,7 @@
895
939
  return activeElement
896
940
  }
897
941
 
898
- const delta = direction === Direction.PREV ? -1 : 1;
942
+ const delta = direction === DIRECTION_PREV ? -1 : 1;
899
943
  const itemIndex = (activeIndex + delta) % this._items.length;
900
944
 
901
945
  return itemIndex === -1
@@ -904,8 +948,8 @@
904
948
 
905
949
  _triggerSlideEvent(relatedTarget, eventDirectionName) {
906
950
  const targetIndex = this._getItemIndex(relatedTarget);
907
- const fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM));
908
- const slideEvent = $.Event(Event$2.SLIDE, {
951
+ const fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM));
952
+ const slideEvent = $.Event(EVENT_SLIDE, {
909
953
  relatedTarget,
910
954
  direction: eventDirectionName,
911
955
  from: fromIndex,
@@ -919,22 +963,21 @@
919
963
 
920
964
  _setActiveIndicatorElement(element) {
921
965
  if (this._indicatorsElement) {
922
- const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE));
923
- $(indicators)
924
- .removeClass(ClassName$2.ACTIVE);
966
+ const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1));
967
+ $(indicators).removeClass(CLASS_NAME_ACTIVE$1);
925
968
 
926
969
  const nextIndicator = this._indicatorsElement.children[
927
970
  this._getItemIndex(element)
928
971
  ];
929
972
 
930
973
  if (nextIndicator) {
931
- $(nextIndicator).addClass(ClassName$2.ACTIVE);
974
+ $(nextIndicator).addClass(CLASS_NAME_ACTIVE$1);
932
975
  }
933
976
  }
934
977
  }
935
978
 
936
979
  _slide(direction, element) {
937
- const activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
980
+ const activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);
938
981
  const activeElementIndex = this._getItemIndex(activeElement);
939
982
  const nextElement = element || activeElement &&
940
983
  this._getItemByDirection(direction, activeElement);
@@ -945,17 +988,17 @@
945
988
  let orderClassName;
946
989
  let eventDirectionName;
947
990
 
948
- if (direction === Direction.NEXT) {
949
- directionalClassName = ClassName$2.LEFT;
950
- orderClassName = ClassName$2.NEXT;
951
- eventDirectionName = Direction.LEFT;
991
+ if (direction === DIRECTION_NEXT) {
992
+ directionalClassName = CLASS_NAME_LEFT;
993
+ orderClassName = CLASS_NAME_NEXT;
994
+ eventDirectionName = DIRECTION_LEFT;
952
995
  } else {
953
- directionalClassName = ClassName$2.RIGHT;
954
- orderClassName = ClassName$2.PREV;
955
- eventDirectionName = Direction.RIGHT;
996
+ directionalClassName = CLASS_NAME_RIGHT;
997
+ orderClassName = CLASS_NAME_PREV;
998
+ eventDirectionName = DIRECTION_RIGHT;
956
999
  }
957
1000
 
958
- if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) {
1001
+ if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE$1)) {
959
1002
  this._isSliding = false;
960
1003
  return
961
1004
  }
@@ -978,14 +1021,14 @@
978
1021
 
979
1022
  this._setActiveIndicatorElement(nextElement);
980
1023
 
981
- const slidEvent = $.Event(Event$2.SLID, {
1024
+ const slidEvent = $.Event(EVENT_SLID, {
982
1025
  relatedTarget: nextElement,
983
1026
  direction: eventDirectionName,
984
1027
  from: activeElementIndex,
985
1028
  to: nextElementIndex
986
1029
  });
987
1030
 
988
- if ($(this._element).hasClass(ClassName$2.SLIDE)) {
1031
+ if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {
989
1032
  $(nextElement).addClass(orderClassName);
990
1033
 
991
1034
  Util.reflow(nextElement);
@@ -1007,9 +1050,9 @@
1007
1050
  .one(Util.TRANSITION_END, () => {
1008
1051
  $(nextElement)
1009
1052
  .removeClass(`${directionalClassName} ${orderClassName}`)
1010
- .addClass(ClassName$2.ACTIVE);
1053
+ .addClass(CLASS_NAME_ACTIVE$1);
1011
1054
 
1012
- $(activeElement).removeClass(`${ClassName$2.ACTIVE} ${orderClassName} ${directionalClassName}`);
1055
+ $(activeElement).removeClass(`${CLASS_NAME_ACTIVE$1} ${orderClassName} ${directionalClassName}`);
1013
1056
 
1014
1057
  this._isSliding = false;
1015
1058
 
@@ -1017,8 +1060,8 @@
1017
1060
  })
1018
1061
  .emulateTransitionEnd(transitionDuration);
1019
1062
  } else {
1020
- $(activeElement).removeClass(ClassName$2.ACTIVE);
1021
- $(nextElement).addClass(ClassName$2.ACTIVE);
1063
+ $(activeElement).removeClass(CLASS_NAME_ACTIVE$1);
1064
+ $(nextElement).addClass(CLASS_NAME_ACTIVE$1);
1022
1065
 
1023
1066
  this._isSliding = false;
1024
1067
  $(this._element).trigger(slidEvent);
@@ -1076,7 +1119,7 @@
1076
1119
 
1077
1120
  const target = $(selector)[0];
1078
1121
 
1079
- if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) {
1122
+ if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {
1080
1123
  return
1081
1124
  }
1082
1125
 
@@ -1106,11 +1149,10 @@
1106
1149
  * ------------------------------------------------------------------------
1107
1150
  */
1108
1151
 
1109
- $(document)
1110
- .on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler);
1152
+ $(document).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler);
1111
1153
 
1112
- $(window).on(Event$2.LOAD_DATA_API, () => {
1113
- const carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE));
1154
+ $(window).on(EVENT_LOAD_DATA_API$1, () => {
1155
+ const carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE));
1114
1156
  for (let i = 0, len = carousels.length; i < len; i++) {
1115
1157
  const $carousel = $(carousels[i]);
1116
1158
  Carousel._jQueryInterface.call($carousel, $carousel.data());
@@ -1132,8 +1174,8 @@
1132
1174
 
1133
1175
  /**
1134
1176
  * --------------------------------------------------------------------------
1135
- * Bootstrap (v4.3.1): collapse.js
1136
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
1177
+ * Bootstrap (v4.5.2): collapse.js
1178
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
1137
1179
  * --------------------------------------------------------------------------
1138
1180
  */
1139
1181
 
@@ -1144,7 +1186,7 @@
1144
1186
  */
1145
1187
 
1146
1188
  const NAME$3 = 'collapse';
1147
- const VERSION$3 = '4.3.1';
1189
+ const VERSION$3 = '4.5.2';
1148
1190
  const DATA_KEY$3 = 'bs.collapse';
1149
1191
  const EVENT_KEY$3 = `.${DATA_KEY$3}`;
1150
1192
  const DATA_API_KEY$3 = '.data-api';
@@ -1160,30 +1202,22 @@
1160
1202
  parent : '(string|element)'
1161
1203
  };
1162
1204
 
1163
- const Event$3 = {
1164
- SHOW : `show${EVENT_KEY$3}`,
1165
- SHOWN : `shown${EVENT_KEY$3}`,
1166
- HIDE : `hide${EVENT_KEY$3}`,
1167
- HIDDEN : `hidden${EVENT_KEY$3}`,
1168
- CLICK_DATA_API : `click${EVENT_KEY$3}${DATA_API_KEY$3}`
1169
- };
1205
+ const EVENT_SHOW = `show${EVENT_KEY$3}`;
1206
+ const EVENT_SHOWN = `shown${EVENT_KEY$3}`;
1207
+ const EVENT_HIDE = `hide${EVENT_KEY$3}`;
1208
+ const EVENT_HIDDEN = `hidden${EVENT_KEY$3}`;
1209
+ const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$3}${DATA_API_KEY$3}`;
1170
1210
 
1171
- const ClassName$3 = {
1172
- SHOW : 'show',
1173
- COLLAPSE : 'collapse',
1174
- COLLAPSING : 'collapsing',
1175
- COLLAPSED : 'collapsed'
1176
- };
1211
+ const CLASS_NAME_SHOW$1 = 'show';
1212
+ const CLASS_NAME_COLLAPSE = 'collapse';
1213
+ const CLASS_NAME_COLLAPSING = 'collapsing';
1214
+ const CLASS_NAME_COLLAPSED = 'collapsed';
1177
1215
 
1178
- const Dimension = {
1179
- WIDTH : 'width',
1180
- HEIGHT : 'height'
1181
- };
1216
+ const DIMENSION_WIDTH = 'width';
1217
+ const DIMENSION_HEIGHT = 'height';
1182
1218
 
1183
- const Selector$3 = {
1184
- ACTIVES : '.show, .collapsing',
1185
- DATA_TOGGLE : '[data-toggle="collapse"]'
1186
- };
1219
+ const SELECTOR_ACTIVES = '.show, .collapsing';
1220
+ const SELECTOR_DATA_TOGGLE$1 = '[data-toggle="collapse"]';
1187
1221
 
1188
1222
  /**
1189
1223
  * ------------------------------------------------------------------------
@@ -1201,7 +1235,7 @@
1201
1235
  `[data-toggle="collapse"][data-target="#${element.id}"]`
1202
1236
  ));
1203
1237
 
1204
- const toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE));
1238
+ const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$1));
1205
1239
  for (let i = 0, len = toggleList.length; i < len; i++) {
1206
1240
  const elem = toggleList[i];
1207
1241
  const selector = Util.getSelectorFromElement(elem);
@@ -1238,7 +1272,7 @@
1238
1272
  // Public
1239
1273
 
1240
1274
  toggle() {
1241
- if ($(this._element).hasClass(ClassName$3.SHOW)) {
1275
+ if ($(this._element).hasClass(CLASS_NAME_SHOW$1)) {
1242
1276
  this.hide();
1243
1277
  } else {
1244
1278
  this.show();
@@ -1247,7 +1281,7 @@
1247
1281
 
1248
1282
  show() {
1249
1283
  if (this._isTransitioning ||
1250
- $(this._element).hasClass(ClassName$3.SHOW)) {
1284
+ $(this._element).hasClass(CLASS_NAME_SHOW$1)) {
1251
1285
  return
1252
1286
  }
1253
1287
 
@@ -1255,13 +1289,13 @@
1255
1289
  let activesData;
1256
1290
 
1257
1291
  if (this._parent) {
1258
- actives = [].slice.call(this._parent.querySelectorAll(Selector$3.ACTIVES))
1292
+ actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))
1259
1293
  .filter((elem) => {
1260
1294
  if (typeof this._config.parent === 'string') {
1261
1295
  return elem.getAttribute('data-parent') === this._config.parent
1262
1296
  }
1263
1297
 
1264
- return elem.classList.contains(ClassName$3.COLLAPSE)
1298
+ return elem.classList.contains(CLASS_NAME_COLLAPSE)
1265
1299
  });
1266
1300
 
1267
1301
  if (actives.length === 0) {
@@ -1276,7 +1310,7 @@
1276
1310
  }
1277
1311
  }
1278
1312
 
1279
- const startEvent = $.Event(Event$3.SHOW);
1313
+ const startEvent = $.Event(EVENT_SHOW);
1280
1314
  $(this._element).trigger(startEvent);
1281
1315
  if (startEvent.isDefaultPrevented()) {
1282
1316
  return
@@ -1292,14 +1326,14 @@
1292
1326
  const dimension = this._getDimension();
1293
1327
 
1294
1328
  $(this._element)
1295
- .removeClass(ClassName$3.COLLAPSE)
1296
- .addClass(ClassName$3.COLLAPSING);
1329
+ .removeClass(CLASS_NAME_COLLAPSE)
1330
+ .addClass(CLASS_NAME_COLLAPSING);
1297
1331
 
1298
1332
  this._element.style[dimension] = 0;
1299
1333
 
1300
1334
  if (this._triggerArray.length) {
1301
1335
  $(this._triggerArray)
1302
- .removeClass(ClassName$3.COLLAPSED)
1336
+ .removeClass(CLASS_NAME_COLLAPSED)
1303
1337
  .attr('aria-expanded', true);
1304
1338
  }
1305
1339
 
@@ -1307,15 +1341,14 @@
1307
1341
 
1308
1342
  const complete = () => {
1309
1343
  $(this._element)
1310
- .removeClass(ClassName$3.COLLAPSING)
1311
- .addClass(ClassName$3.COLLAPSE)
1312
- .addClass(ClassName$3.SHOW);
1344
+ .removeClass(CLASS_NAME_COLLAPSING)
1345
+ .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW$1}`);
1313
1346
 
1314
1347
  this._element.style[dimension] = '';
1315
1348
 
1316
1349
  this.setTransitioning(false);
1317
1350
 
1318
- $(this._element).trigger(Event$3.SHOWN);
1351
+ $(this._element).trigger(EVENT_SHOWN);
1319
1352
  };
1320
1353
 
1321
1354
  const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
@@ -1331,11 +1364,11 @@
1331
1364
 
1332
1365
  hide() {
1333
1366
  if (this._isTransitioning ||
1334
- !$(this._element).hasClass(ClassName$3.SHOW)) {
1367
+ !$(this._element).hasClass(CLASS_NAME_SHOW$1)) {
1335
1368
  return
1336
1369
  }
1337
1370
 
1338
- const startEvent = $.Event(Event$3.HIDE);
1371
+ const startEvent = $.Event(EVENT_HIDE);
1339
1372
  $(this._element).trigger(startEvent);
1340
1373
  if (startEvent.isDefaultPrevented()) {
1341
1374
  return
@@ -1348,9 +1381,8 @@
1348
1381
  Util.reflow(this._element);
1349
1382
 
1350
1383
  $(this._element)
1351
- .addClass(ClassName$3.COLLAPSING)
1352
- .removeClass(ClassName$3.COLLAPSE)
1353
- .removeClass(ClassName$3.SHOW);
1384
+ .addClass(CLASS_NAME_COLLAPSING)
1385
+ .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW$1}`);
1354
1386
 
1355
1387
  const triggerArrayLength = this._triggerArray.length;
1356
1388
  if (triggerArrayLength > 0) {
@@ -1360,8 +1392,8 @@
1360
1392
 
1361
1393
  if (selector !== null) {
1362
1394
  const $elem = $([].slice.call(document.querySelectorAll(selector)));
1363
- if (!$elem.hasClass(ClassName$3.SHOW)) {
1364
- $(trigger).addClass(ClassName$3.COLLAPSED)
1395
+ if (!$elem.hasClass(CLASS_NAME_SHOW$1)) {
1396
+ $(trigger).addClass(CLASS_NAME_COLLAPSED)
1365
1397
  .attr('aria-expanded', false);
1366
1398
  }
1367
1399
  }
@@ -1373,9 +1405,9 @@
1373
1405
  const complete = () => {
1374
1406
  this.setTransitioning(false);
1375
1407
  $(this._element)
1376
- .removeClass(ClassName$3.COLLAPSING)
1377
- .addClass(ClassName$3.COLLAPSE)
1378
- .trigger(Event$3.HIDDEN);
1408
+ .removeClass(CLASS_NAME_COLLAPSING)
1409
+ .addClass(CLASS_NAME_COLLAPSE)
1410
+ .trigger(EVENT_HIDDEN);
1379
1411
  };
1380
1412
 
1381
1413
  this._element.style[dimension] = '';
@@ -1413,8 +1445,8 @@
1413
1445
  }
1414
1446
 
1415
1447
  _getDimension() {
1416
- const hasWidth = $(this._element).hasClass(Dimension.WIDTH);
1417
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT
1448
+ const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH);
1449
+ return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT
1418
1450
  }
1419
1451
 
1420
1452
  _getParent() {
@@ -1431,10 +1463,9 @@
1431
1463
  parent = document.querySelector(this._config.parent);
1432
1464
  }
1433
1465
 
1434
- const selector =
1435
- `[data-toggle="collapse"][data-parent="${this._config.parent}"]`;
1436
-
1466
+ const selector = `[data-toggle="collapse"][data-parent="${this._config.parent}"]`;
1437
1467
  const children = [].slice.call(parent.querySelectorAll(selector));
1468
+
1438
1469
  $(children).each((i, element) => {
1439
1470
  this._addAriaAndCollapsedClass(
1440
1471
  Collapse._getTargetFromElement(element),
@@ -1446,11 +1477,11 @@
1446
1477
  }
1447
1478
 
1448
1479
  _addAriaAndCollapsedClass(element, triggerArray) {
1449
- const isOpen = $(element).hasClass(ClassName$3.SHOW);
1480
+ const isOpen = $(element).hasClass(CLASS_NAME_SHOW$1);
1450
1481
 
1451
1482
  if (triggerArray.length) {
1452
1483
  $(triggerArray)
1453
- .toggleClass(ClassName$3.COLLAPSED, !isOpen)
1484
+ .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)
1454
1485
  .attr('aria-expanded', isOpen);
1455
1486
  }
1456
1487
  }
@@ -1472,7 +1503,7 @@
1472
1503
  ...typeof config === 'object' && config ? config : {}
1473
1504
  };
1474
1505
 
1475
- if (!data && _config.toggle && /show|hide/.test(config)) {
1506
+ if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
1476
1507
  _config.toggle = false;
1477
1508
  }
1478
1509
 
@@ -1497,7 +1528,7 @@
1497
1528
  * ------------------------------------------------------------------------
1498
1529
  */
1499
1530
 
1500
- $(document).on(Event$3.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) {
1531
+ $(document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, function (event) {
1501
1532
  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
1502
1533
  if (event.currentTarget.tagName === 'A') {
1503
1534
  event.preventDefault();
@@ -4132,8 +4163,8 @@
4132
4163
 
4133
4164
  /**
4134
4165
  * --------------------------------------------------------------------------
4135
- * Bootstrap (v4.3.1): dropdown.js
4136
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
4166
+ * Bootstrap (v4.5.2): dropdown.js
4167
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4137
4168
  * --------------------------------------------------------------------------
4138
4169
  */
4139
4170
 
@@ -4144,7 +4175,7 @@
4144
4175
  */
4145
4176
 
4146
4177
  const NAME$4 = 'dropdown';
4147
- const VERSION$4 = '4.3.1';
4178
+ const VERSION$4 = '4.5.2';
4148
4179
  const DATA_KEY$4 = 'bs.dropdown';
4149
4180
  const EVENT_KEY$4 = `.${DATA_KEY$4}`;
4150
4181
  const DATA_API_KEY$4 = '.data-api';
@@ -4157,61 +4188,52 @@
4157
4188
  const RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
4158
4189
  const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`);
4159
4190
 
4160
- const Event$4 = {
4161
- HIDE : `hide${EVENT_KEY$4}`,
4162
- HIDDEN : `hidden${EVENT_KEY$4}`,
4163
- SHOW : `show${EVENT_KEY$4}`,
4164
- SHOWN : `shown${EVENT_KEY$4}`,
4165
- CLICK : `click${EVENT_KEY$4}`,
4166
- CLICK_DATA_API : `click${EVENT_KEY$4}${DATA_API_KEY$4}`,
4167
- KEYDOWN_DATA_API : `keydown${EVENT_KEY$4}${DATA_API_KEY$4}`,
4168
- KEYUP_DATA_API : `keyup${EVENT_KEY$4}${DATA_API_KEY$4}`
4169
- };
4170
-
4171
- const ClassName$4 = {
4172
- DISABLED : 'disabled',
4173
- SHOW : 'show',
4174
- DROPUP : 'dropup',
4175
- DROPRIGHT : 'dropright',
4176
- DROPLEFT : 'dropleft',
4177
- MENURIGHT : 'dropdown-menu-right',
4178
- MENULEFT : 'dropdown-menu-left',
4179
- POSITION_STATIC : 'position-static'
4180
- };
4181
-
4182
- const Selector$4 = {
4183
- DATA_TOGGLE : '[data-toggle="dropdown"]',
4184
- FORM_CHILD : '.dropdown form',
4185
- MENU : '.dropdown-menu',
4186
- NAVBAR_NAV : '.navbar-nav',
4187
- VISIBLE_ITEMS : '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
4188
- };
4189
-
4190
- const AttachmentMap = {
4191
- TOP : 'top-start',
4192
- TOPEND : 'top-end',
4193
- BOTTOM : 'bottom-start',
4194
- BOTTOMEND : 'bottom-end',
4195
- RIGHT : 'right-start',
4196
- RIGHTEND : 'right-end',
4197
- LEFT : 'left-start',
4198
- LEFTEND : 'left-end'
4199
- };
4191
+ const EVENT_HIDE$1 = `hide${EVENT_KEY$4}`;
4192
+ const EVENT_HIDDEN$1 = `hidden${EVENT_KEY$4}`;
4193
+ const EVENT_SHOW$1 = `show${EVENT_KEY$4}`;
4194
+ const EVENT_SHOWN$1 = `shown${EVENT_KEY$4}`;
4195
+ const EVENT_CLICK = `click${EVENT_KEY$4}`;
4196
+ const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$4}${DATA_API_KEY$4}`;
4197
+ const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$4}${DATA_API_KEY$4}`;
4198
+ const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$4}${DATA_API_KEY$4}`;
4199
+
4200
+ const CLASS_NAME_DISABLED = 'disabled';
4201
+ const CLASS_NAME_SHOW$2 = 'show';
4202
+ const CLASS_NAME_DROPUP = 'dropup';
4203
+ const CLASS_NAME_DROPRIGHT = 'dropright';
4204
+ const CLASS_NAME_DROPLEFT = 'dropleft';
4205
+ const CLASS_NAME_MENURIGHT = 'dropdown-menu-right';
4206
+ const CLASS_NAME_POSITION_STATIC = 'position-static';
4207
+
4208
+ const SELECTOR_DATA_TOGGLE$2 = '[data-toggle="dropdown"]';
4209
+ const SELECTOR_FORM_CHILD = '.dropdown form';
4210
+ const SELECTOR_MENU = '.dropdown-menu';
4211
+ const SELECTOR_NAVBAR_NAV = '.navbar-nav';
4212
+ const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
4213
+
4214
+ const PLACEMENT_TOP = 'top-start';
4215
+ const PLACEMENT_TOPEND = 'top-end';
4216
+ const PLACEMENT_BOTTOM = 'bottom-start';
4217
+ const PLACEMENT_BOTTOMEND = 'bottom-end';
4218
+ const PLACEMENT_RIGHT = 'right-start';
4219
+ const PLACEMENT_LEFT = 'left-start';
4200
4220
 
4201
4221
  const Default$2 = {
4202
- offset : 0,
4203
- flip : true,
4204
- boundary : 'scrollParent',
4205
- reference : 'toggle',
4206
- display : 'dynamic'
4222
+ offset : 0,
4223
+ flip : true,
4224
+ boundary : 'scrollParent',
4225
+ reference : 'toggle',
4226
+ display : 'dynamic',
4227
+ popperConfig : null
4207
4228
  };
4208
4229
 
4209
4230
  const DefaultType$2 = {
4210
- offset : '(number|string|function)',
4211
- flip : 'boolean',
4212
- boundary : '(string|element)',
4213
- reference : '(string|element)',
4214
- display : 'string'
4231
+ offset : '(number|string|function)',
4232
+ flip : 'boolean',
4233
+ boundary : '(string|element)',
4234
+ reference : '(string|element)',
4235
+ display : 'string',
4236
+ popperConfig : '(null|object)'
4215
4237
  };
4216
4238
 
4217
4239
  /**
@@ -4248,12 +4270,11 @@
4248
4270
  // Public
4249
4271
 
4250
4272
  toggle() {
4251
- if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) {
4273
+ if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {
4252
4274
  return
4253
4275
  }
4254
4276
 
4255
- const parent = Dropdown._getParentFromElement(this._element);
4256
- const isActive = $(this._menu).hasClass(ClassName$4.SHOW);
4277
+ const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW$2);
4257
4278
 
4258
4279
  Dropdown._clearMenus();
4259
4280
 
@@ -4261,10 +4282,19 @@
4261
4282
  return
4262
4283
  }
4263
4284
 
4285
+ this.show(true);
4286
+ }
4287
+
4288
+ show(usePopper = false) {
4289
+ if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW$2)) {
4290
+ return
4291
+ }
4292
+
4264
4293
  const relatedTarget = {
4265
4294
  relatedTarget: this._element
4266
4295
  };
4267
- const showEvent = $.Event(Event$4.SHOW, relatedTarget);
4296
+ const showEvent = $.Event(EVENT_SHOW$1, relatedTarget);
4297
+ const parent = Dropdown._getParentFromElement(this._element);
4268
4298
 
4269
4299
  $(parent).trigger(showEvent);
4270
4300
 
@@ -4273,7 +4303,7 @@
4273
4303
  }
4274
4304
 
4275
4305
  // Disable totally Popper.js for Dropdown in Navbar
4276
- if (!this._inNavbar) {
4306
+ if (!this._inNavbar && usePopper) {
4277
4307
  /**
4278
4308
  * Check for Popper dependency
4279
4309
  * Popper - https://popper.js.org
@@ -4299,7 +4329,7 @@
4299
4329
  // to allow the menu to "escape" the scroll parent's boundaries
4300
4330
  // https://github.com/twbs/bootstrap/issues/24251
4301
4331
  if (this._config.boundary !== 'scrollParent') {
4302
- $(parent).addClass(ClassName$4.POSITION_STATIC);
4332
+ $(parent).addClass(CLASS_NAME_POSITION_STATIC);
4303
4333
  }
4304
4334
  this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
4305
4335
  }
@@ -4309,51 +4339,28 @@
4309
4339
  // only needed because of broken event delegation on iOS
4310
4340
  // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
4311
4341
  if ('ontouchstart' in document.documentElement &&
4312
- $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) {
4342
+ $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {
4313
4343
  $(document.body).children().on('mouseover', null, $.noop);
4314
4344
  }
4315
4345
 
4316
4346
  this._element.focus();
4317
4347
  this._element.setAttribute('aria-expanded', true);
4318
4348
 
4319
- $(this._menu).toggleClass(ClassName$4.SHOW);
4349
+ $(this._menu).toggleClass(CLASS_NAME_SHOW$2);
4320
4350
  $(parent)
4321
- .toggleClass(ClassName$4.SHOW)
4322
- .trigger($.Event(Event$4.SHOWN, relatedTarget));
4323
- }
4324
-
4325
- show() {
4326
- if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {
4327
- return
4328
- }
4329
-
4330
- const relatedTarget = {
4331
- relatedTarget: this._element
4332
- };
4333
- const showEvent = $.Event(Event$4.SHOW, relatedTarget);
4334
- const parent = Dropdown._getParentFromElement(this._element);
4335
-
4336
- $(parent).trigger(showEvent);
4337
-
4338
- if (showEvent.isDefaultPrevented()) {
4339
- return
4340
- }
4341
-
4342
- $(this._menu).toggleClass(ClassName$4.SHOW);
4343
- $(parent)
4344
- .toggleClass(ClassName$4.SHOW)
4345
- .trigger($.Event(Event$4.SHOWN, relatedTarget));
4351
+ .toggleClass(CLASS_NAME_SHOW$2)
4352
+ .trigger($.Event(EVENT_SHOWN$1, relatedTarget));
4346
4353
  }
4347
4354
 
4348
4355
  hide() {
4349
- if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) {
4356
+ if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW$2)) {
4350
4357
  return
4351
4358
  }
4352
4359
 
4353
4360
  const relatedTarget = {
4354
4361
  relatedTarget: this._element
4355
4362
  };
4356
- const hideEvent = $.Event(Event$4.HIDE, relatedTarget);
4363
+ const hideEvent = $.Event(EVENT_HIDE$1, relatedTarget);
4357
4364
  const parent = Dropdown._getParentFromElement(this._element);
4358
4365
 
4359
4366
  $(parent).trigger(hideEvent);
@@ -4362,10 +4369,14 @@
4362
4369
  return
4363
4370
  }
4364
4371
 
4365
- $(this._menu).toggleClass(ClassName$4.SHOW);
4372
+ if (this._popper) {
4373
+ this._popper.destroy();
4374
+ }
4375
+
4376
+ $(this._menu).toggleClass(CLASS_NAME_SHOW$2);
4366
4377
  $(parent)
4367
- .toggleClass(ClassName$4.SHOW)
4368
- .trigger($.Event(Event$4.HIDDEN, relatedTarget));
4378
+ .toggleClass(CLASS_NAME_SHOW$2)
4379
+ .trigger($.Event(EVENT_HIDDEN$1, relatedTarget));
4369
4380
  }
4370
4381
 
4371
4382
  dispose() {
@@ -4389,7 +4400,7 @@
4389
4400
  // Private
4390
4401
 
4391
4402
  _addEventListeners() {
4392
- $(this._element).on(Event$4.CLICK, (event) => {
4403
+ $(this._element).on(EVENT_CLICK, (event) => {
4393
4404
  event.preventDefault();
4394
4405
  event.stopPropagation();
4395
4406
  this.toggle();
@@ -4417,7 +4428,7 @@
4417
4428
  const parent = Dropdown._getParentFromElement(this._element);
4418
4429
 
4419
4430
  if (parent) {
4420
- this._menu = parent.querySelector(Selector$4.MENU);
4431
+ this._menu = parent.querySelector(SELECTOR_MENU);
4421
4432
  }
4422
4433
  }
4423
4434
  return this._menu
@@ -4425,20 +4436,19 @@
4425
4436
 
4426
4437
  _getPlacement() {
4427
4438
  const $parentDropdown = $(this._element.parentNode);
4428
- let placement = AttachmentMap.BOTTOM;
4439
+ let placement = PLACEMENT_BOTTOM;
4429
4440
 
4430
4441
  // Handle dropup
4431
- if ($parentDropdown.hasClass(ClassName$4.DROPUP)) {
4432
- placement = AttachmentMap.TOP;
4433
- if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
4434
- placement = AttachmentMap.TOPEND;
4435
- }
4436
- } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) {
4437
- placement = AttachmentMap.RIGHT;
4438
- } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) {
4439
- placement = AttachmentMap.LEFT;
4440
- } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
4441
- placement = AttachmentMap.BOTTOMEND;
4442
+ if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {
4443
+ placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT)
4444
+ ? PLACEMENT_TOPEND
4445
+ : PLACEMENT_TOP;
4446
+ } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {
4447
+ placement = PLACEMENT_RIGHT;
4448
+ } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {
4449
+ placement = PLACEMENT_LEFT;
4450
+ } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {
4451
+ placement = PLACEMENT_BOTTOMEND;
4442
4452
  }
4443
4453
  return placement
4444
4454
  }
@@ -4487,7 +4497,10 @@
4487
4497
  };
4488
4498
  }
4489
4499
 
4490
- return popperConfig
4500
+ return {
4501
+ ...popperConfig,
4502
+ ...this._config.popperConfig
4503
+ }
4491
4504
  }
4492
4505
 
4493
4506
  // Static
@@ -4517,7 +4530,7 @@
4517
4530
  return
4518
4531
  }
4519
4532
 
4520
- const toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE));
4533
+ const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$2));
4521
4534
 
4522
4535
  for (let i = 0, len = toggles.length; i < len; i++) {
4523
4536
  const parent = Dropdown._getParentFromElement(toggles[i]);
@@ -4535,7 +4548,7 @@
4535
4548
  }
4536
4549
 
4537
4550
  const dropdownMenu = context._menu;
4538
- if (!$(parent).hasClass(ClassName$4.SHOW)) {
4551
+ if (!$(parent).hasClass(CLASS_NAME_SHOW$2)) {
4539
4552
  continue
4540
4553
  }
4541
4554
 
@@ -4545,7 +4558,7 @@
4545
4558
  continue
4546
4559
  }
4547
4560
 
4548
- const hideEvent = $.Event(Event$4.HIDE, relatedTarget);
4561
+ const hideEvent = $.Event(EVENT_HIDE$1, relatedTarget);
4549
4562
  $(parent).trigger(hideEvent);
4550
4563
  if (hideEvent.isDefaultPrevented()) {
4551
4564
  continue
@@ -4559,10 +4572,14 @@
4559
4572
 
4560
4573
  toggles[i].setAttribute('aria-expanded', 'false');
4561
4574
 
4562
- $(dropdownMenu).removeClass(ClassName$4.SHOW);
4575
+ if (context._popper) {
4576
+ context._popper.destroy();
4577
+ }
4578
+
4579
+ $(dropdownMenu).removeClass(CLASS_NAME_SHOW$2);
4563
4580
  $(parent)
4564
- .removeClass(ClassName$4.SHOW)
4565
- .trigger($.Event(Event$4.HIDDEN, relatedTarget));
4581
+ .removeClass(CLASS_NAME_SHOW$2)
4582
+ .trigger($.Event(EVENT_HIDDEN$1, relatedTarget));
4566
4583
  }
4567
4584
  }
4568
4585
 
@@ -4589,31 +4606,35 @@
4589
4606
  if (/input|textarea/i.test(event.target.tagName)
4590
4607
  ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&
4591
4608
  (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||
4592
- $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
4609
+ $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
4593
4610
  return
4594
4611
  }
4595
4612
 
4596
- event.preventDefault();
4597
- event.stopPropagation();
4598
-
4599
- if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) {
4613
+ if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {
4600
4614
  return
4601
4615
  }
4602
4616
 
4603
4617
  const parent = Dropdown._getParentFromElement(this);
4604
- const isActive = $(parent).hasClass(ClassName$4.SHOW);
4618
+ const isActive = $(parent).hasClass(CLASS_NAME_SHOW$2);
4619
+
4620
+ if (!isActive && event.which === ESCAPE_KEYCODE) {
4621
+ return
4622
+ }
4623
+
4624
+ event.preventDefault();
4625
+ event.stopPropagation();
4605
4626
 
4606
4627
  if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
4607
4628
  if (event.which === ESCAPE_KEYCODE) {
4608
- const toggle = parent.querySelector(Selector$4.DATA_TOGGLE);
4609
- $(toggle).trigger('focus');
4629
+ $(parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus');
4610
4630
  }
4611
4631
 
4612
4632
  $(this).trigger('click');
4613
4633
  return
4614
4634
  }
4615
4635
 
4616
- const items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS));
4636
+ const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))
4637
+ .filter((item) => $(item).is(':visible'));
4617
4638
 
4618
4639
  if (items.length === 0) {
4619
4640
  return
@@ -4644,15 +4665,15 @@
4644
4665
  */
4645
4666
 
4646
4667
  $(document)
4647
- .on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler)
4648
- .on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler)
4649
- .on(`${Event$4.CLICK_DATA_API} ${Event$4.KEYUP_DATA_API}`, Dropdown._clearMenus)
4650
- .on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {
4668
+ .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown._dataApiKeydownHandler)
4669
+ .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)
4670
+ .on(`${EVENT_CLICK_DATA_API$4} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)
4671
+ .on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$2, function (event) {
4651
4672
  event.preventDefault();
4652
4673
  event.stopPropagation();
4653
4674
  Dropdown._jQueryInterface.call($(this), 'toggle');
4654
4675
  })
4655
- .on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, (e) => {
4676
+ .on(EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, (e) => {
4656
4677
  e.stopPropagation();
4657
4678
  });
4658
4679
 
@@ -4671,8 +4692,8 @@
4671
4692
 
4672
4693
  /**
4673
4694
  * --------------------------------------------------------------------------
4674
- * Bootstrap (v4.3.1): modal.js
4675
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
4695
+ * Bootstrap (v4.5.2): modal.js
4696
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4676
4697
  * --------------------------------------------------------------------------
4677
4698
  */
4678
4699
 
@@ -4683,7 +4704,7 @@
4683
4704
  */
4684
4705
 
4685
4706
  const NAME$5 = 'modal';
4686
- const VERSION$5 = '4.3.1';
4707
+ const VERSION$5 = '4.5.2';
4687
4708
  const DATA_KEY$5 = 'bs.modal';
4688
4709
  const EVENT_KEY$5 = `.${DATA_KEY$5}`;
4689
4710
  const DATA_API_KEY$5 = '.data-api';
@@ -4704,37 +4725,33 @@
4704
4725
  show : 'boolean'
4705
4726
  };
4706
4727
 
4707
- const Event$5 = {
4708
- HIDE : `hide${EVENT_KEY$5}`,
4709
- HIDDEN : `hidden${EVENT_KEY$5}`,
4710
- SHOW : `show${EVENT_KEY$5}`,
4711
- SHOWN : `shown${EVENT_KEY$5}`,
4712
- FOCUSIN : `focusin${EVENT_KEY$5}`,
4713
- RESIZE : `resize${EVENT_KEY$5}`,
4714
- CLICK_DISMISS : `click.dismiss${EVENT_KEY$5}`,
4715
- KEYDOWN_DISMISS : `keydown.dismiss${EVENT_KEY$5}`,
4716
- MOUSEUP_DISMISS : `mouseup.dismiss${EVENT_KEY$5}`,
4717
- MOUSEDOWN_DISMISS : `mousedown.dismiss${EVENT_KEY$5}`,
4718
- CLICK_DATA_API : `click${EVENT_KEY$5}${DATA_API_KEY$5}`
4719
- };
4720
-
4721
- const ClassName$5 = {
4722
- SCROLLABLE : 'modal-dialog-scrollable',
4723
- SCROLLBAR_MEASURER : 'modal-scrollbar-measure',
4724
- BACKDROP : 'modal-backdrop',
4725
- OPEN : 'modal-open',
4726
- FADE : 'fade',
4727
- SHOW : 'show'
4728
- };
4729
-
4730
- const Selector$5 = {
4731
- DIALOG : '.modal-dialog',
4732
- MODAL_BODY : '.modal-body',
4733
- DATA_TOGGLE : '[data-toggle="modal"]',
4734
- DATA_DISMISS : '[data-dismiss="modal"]',
4735
- FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
4736
- STICKY_CONTENT : '.sticky-top'
4737
- };
4728
+ const EVENT_HIDE$2 = `hide${EVENT_KEY$5}`;
4729
+ const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$5}`;
4730
+ const EVENT_HIDDEN$2 = `hidden${EVENT_KEY$5}`;
4731
+ const EVENT_SHOW$2 = `show${EVENT_KEY$5}`;
4732
+ const EVENT_SHOWN$2 = `shown${EVENT_KEY$5}`;
4733
+ const EVENT_FOCUSIN = `focusin${EVENT_KEY$5}`;
4734
+ const EVENT_RESIZE = `resize${EVENT_KEY$5}`;
4735
+ const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$5}`;
4736
+ const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$5}`;
4737
+ const EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY$5}`;
4738
+ const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$5}`;
4739
+ const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$5}${DATA_API_KEY$5}`;
4740
+
4741
+ const CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';
4742
+ const CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';
4743
+ const CLASS_NAME_BACKDROP = 'modal-backdrop';
4744
+ const CLASS_NAME_OPEN = 'modal-open';
4745
+ const CLASS_NAME_FADE$1 = 'fade';
4746
+ const CLASS_NAME_SHOW$3 = 'show';
4747
+ const CLASS_NAME_STATIC = 'modal-static';
4748
+
4749
+ const SELECTOR_DIALOG = '.modal-dialog';
4750
+ const SELECTOR_MODAL_BODY = '.modal-body';
4751
+ const SELECTOR_DATA_TOGGLE$3 = '[data-toggle="modal"]';
4752
+ const SELECTOR_DATA_DISMISS = '[data-dismiss="modal"]';
4753
+ const SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
4754
+ const SELECTOR_STICKY_CONTENT = '.sticky-top';
4738
4755
 
4739
4756
  /**
4740
4757
  * ------------------------------------------------------------------------
@@ -4746,7 +4763,7 @@
4746
4763
  constructor(element, config) {
4747
4764
  this._config = this._getConfig(config);
4748
4765
  this._element = element;
4749
- this._dialog = element.querySelector(Selector$5.DIALOG);
4766
+ this._dialog = element.querySelector(SELECTOR_DIALOG);
4750
4767
  this._backdrop = null;
4751
4768
  this._isShown = false;
4752
4769
  this._isBodyOverflowing = false;
@@ -4776,11 +4793,11 @@
4776
4793
  return
4777
4794
  }
4778
4795
 
4779
- if ($(this._element).hasClass(ClassName$5.FADE)) {
4796
+ if ($(this._element).hasClass(CLASS_NAME_FADE$1)) {
4780
4797
  this._isTransitioning = true;
4781
4798
  }
4782
4799
 
4783
- const showEvent = $.Event(Event$5.SHOW, {
4800
+ const showEvent = $.Event(EVENT_SHOW$2, {
4784
4801
  relatedTarget
4785
4802
  });
4786
4803
 
@@ -4801,13 +4818,13 @@
4801
4818
  this._setResizeEvent();
4802
4819
 
4803
4820
  $(this._element).on(
4804
- Event$5.CLICK_DISMISS,
4805
- Selector$5.DATA_DISMISS,
4821
+ EVENT_CLICK_DISMISS,
4822
+ SELECTOR_DATA_DISMISS,
4806
4823
  (event) => this.hide(event)
4807
4824
  );
4808
4825
 
4809
- $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, () => {
4810
- $(this._element).one(Event$5.MOUSEUP_DISMISS, (event) => {
4826
+ $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {
4827
+ $(this._element).one(EVENT_MOUSEUP_DISMISS, (event) => {
4811
4828
  if ($(event.target).is(this._element)) {
4812
4829
  this._ignoreBackdropClick = true;
4813
4830
  }
@@ -4826,7 +4843,7 @@
4826
4843
  return
4827
4844
  }
4828
4845
 
4829
- const hideEvent = $.Event(Event$5.HIDE);
4846
+ const hideEvent = $.Event(EVENT_HIDE$2);
4830
4847
 
4831
4848
  $(this._element).trigger(hideEvent);
4832
4849
 
@@ -4835,7 +4852,7 @@
4835
4852
  }
4836
4853
 
4837
4854
  this._isShown = false;
4838
- const transition = $(this._element).hasClass(ClassName$5.FADE);
4855
+ const transition = $(this._element).hasClass(CLASS_NAME_FADE$1);
4839
4856
 
4840
4857
  if (transition) {
4841
4858
  this._isTransitioning = true;
@@ -4844,13 +4861,12 @@
4844
4861
  this._setEscapeEvent();
4845
4862
  this._setResizeEvent();
4846
4863
 
4847
- $(document).off(Event$5.FOCUSIN);
4864
+ $(document).off(EVENT_FOCUSIN);
4848
4865
 
4849
- $(this._element).removeClass(ClassName$5.SHOW);
4850
-
4851
- $(this._element).off(Event$5.CLICK_DISMISS);
4852
- $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS);
4866
+ $(this._element).removeClass(CLASS_NAME_SHOW$3);
4853
4867
 
4868
+ $(this._element).off(EVENT_CLICK_DISMISS);
4869
+ $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS);
4854
4870
 
4855
4871
  if (transition) {
4856
4872
  const transitionDuration = Util.getTransitionDurationFromElement(this._element);
@@ -4868,11 +4884,11 @@
4868
4884
  .forEach((htmlElement) => $(htmlElement).off(EVENT_KEY$5));
4869
4885
 
4870
4886
  /**
4871
- * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
4887
+ * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
4872
4888
  * Do not move `document` in `htmlElements` array
4873
- * It will remove `Event.CLICK_DATA_API` event that should remain
4889
+ * It will remove `EVENT_CLICK_DATA_API` event that should remain
4874
4890
  */
4875
- $(document).off(Event$5.FOCUSIN);
4891
+ $(document).off(EVENT_FOCUSIN);
4876
4892
 
4877
4893
  $.removeData(this._element, DATA_KEY$5);
4878
4894
 
@@ -4902,8 +4918,45 @@
4902
4918
  return config
4903
4919
  }
4904
4920
 
4921
+ _triggerBackdropTransition() {
4922
+ if (this._config.backdrop === 'static') {
4923
+ const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED);
4924
+
4925
+ $(this._element).trigger(hideEventPrevented);
4926
+ if (hideEventPrevented.defaultPrevented) {
4927
+ return
4928
+ }
4929
+
4930
+ const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
4931
+
4932
+ if (!isModalOverflowing) {
4933
+ this._element.style.overflowY = 'hidden';
4934
+ }
4935
+
4936
+ this._element.classList.add(CLASS_NAME_STATIC);
4937
+
4938
+ const modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog);
4939
+ $(this._element).off(Util.TRANSITION_END);
4940
+
4941
+ $(this._element).one(Util.TRANSITION_END, () => {
4942
+ this._element.classList.remove(CLASS_NAME_STATIC);
4943
+ if (!isModalOverflowing) {
4944
+ $(this._element).one(Util.TRANSITION_END, () => {
4945
+ this._element.style.overflowY = '';
4946
+ })
4947
+ .emulateTransitionEnd(this._element, modalTransitionDuration);
4948
+ }
4949
+ })
4950
+ .emulateTransitionEnd(modalTransitionDuration);
4951
+ this._element.focus();
4952
+ } else {
4953
+ this.hide();
4954
+ }
4955
+ }
4956
+
4905
4957
  _showElement(relatedTarget) {
4906
- const transition = $(this._element).hasClass(ClassName$5.FADE);
4958
+ const transition = $(this._element).hasClass(CLASS_NAME_FADE$1);
4959
+ const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;
4907
4960
 
4908
4961
  if (!this._element.parentNode ||
4909
4962
  this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
@@ -4914,9 +4967,10 @@
4914
4967
  this._element.style.display = 'block';
4915
4968
  this._element.removeAttribute('aria-hidden');
4916
4969
  this._element.setAttribute('aria-modal', true);
4970
+ this._element.setAttribute('role', 'dialog');
4917
4971
 
4918
- if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE)) {
4919
- this._dialog.querySelector(Selector$5.MODAL_BODY).scrollTop = 0;
4972
+ if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {
4973
+ modalBody.scrollTop = 0;
4920
4974
  } else {
4921
4975
  this._element.scrollTop = 0;
4922
4976
  }
@@ -4925,13 +4979,13 @@
4925
4979
  Util.reflow(this._element);
4926
4980
  }
4927
4981
 
4928
- $(this._element).addClass(ClassName$5.SHOW);
4982
+ $(this._element).addClass(CLASS_NAME_SHOW$3);
4929
4983
 
4930
4984
  if (this._config.focus) {
4931
4985
  this._enforceFocus();
4932
4986
  }
4933
4987
 
4934
- const shownEvent = $.Event(Event$5.SHOWN, {
4988
+ const shownEvent = $.Event(EVENT_SHOWN$2, {
4935
4989
  relatedTarget
4936
4990
  });
4937
4991
 
@@ -4956,8 +5010,8 @@
4956
5010
 
4957
5011
  _enforceFocus() {
4958
5012
  $(document)
4959
- .off(Event$5.FOCUSIN) // Guard against infinite focus loop
4960
- .on(Event$5.FOCUSIN, (event) => {
5013
+ .off(EVENT_FOCUSIN) // Guard against infinite focus loop
5014
+ .on(EVENT_FOCUSIN, (event) => {
4961
5015
  if (document !== event.target &&
4962
5016
  this._element !== event.target &&
4963
5017
  $(this._element).has(event.target).length === 0) {
@@ -4967,23 +5021,25 @@
4967
5021
  }
4968
5022
 
4969
5023
  _setEscapeEvent() {
4970
- if (this._isShown && this._config.keyboard) {
4971
- $(this._element).on(Event$5.KEYDOWN_DISMISS, (event) => {
4972
- if (event.which === ESCAPE_KEYCODE$1) {
5024
+ if (this._isShown) {
5025
+ $(this._element).on(EVENT_KEYDOWN_DISMISS, (event) => {
5026
+ if (this._config.keyboard && event.which === ESCAPE_KEYCODE$1) {
4973
5027
  event.preventDefault();
4974
5028
  this.hide();
5029
+ } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE$1) {
5030
+ this._triggerBackdropTransition();
4975
5031
  }
4976
5032
  });
4977
5033
  } else if (!this._isShown) {
4978
- $(this._element).off(Event$5.KEYDOWN_DISMISS);
5034
+ $(this._element).off(EVENT_KEYDOWN_DISMISS);
4979
5035
  }
4980
5036
  }
4981
5037
 
4982
5038
  _setResizeEvent() {
4983
5039
  if (this._isShown) {
4984
- $(window).on(Event$5.RESIZE, (event) => this.handleUpdate(event));
5040
+ $(window).on(EVENT_RESIZE, (event) => this.handleUpdate(event));
4985
5041
  } else {
4986
- $(window).off(Event$5.RESIZE);
5042
+ $(window).off(EVENT_RESIZE);
4987
5043
  }
4988
5044
  }
4989
5045
 
@@ -4991,12 +5047,13 @@
4991
5047
  this._element.style.display = 'none';
4992
5048
  this._element.setAttribute('aria-hidden', true);
4993
5049
  this._element.removeAttribute('aria-modal');
5050
+ this._element.removeAttribute('role');
4994
5051
  this._isTransitioning = false;
4995
5052
  this._showBackdrop(() => {
4996
- $(document.body).removeClass(ClassName$5.OPEN);
5053
+ $(document.body).removeClass(CLASS_NAME_OPEN);
4997
5054
  this._resetAdjustments();
4998
5055
  this._resetScrollbar();
4999
- $(this._element).trigger(Event$5.HIDDEN);
5056
+ $(this._element).trigger(EVENT_HIDDEN$2);
5000
5057
  });
5001
5058
  }
5002
5059
 
@@ -5008,12 +5065,12 @@
5008
5065
  }
5009
5066
 
5010
5067
  _showBackdrop(callback) {
5011
- const animate = $(this._element).hasClass(ClassName$5.FADE)
5012
- ? ClassName$5.FADE : '';
5068
+ const animate = $(this._element).hasClass(CLASS_NAME_FADE$1)
5069
+ ? CLASS_NAME_FADE$1 : '';
5013
5070
 
5014
5071
  if (this._isShown && this._config.backdrop) {
5015
5072
  this._backdrop = document.createElement('div');
5016
- this._backdrop.className = ClassName$5.BACKDROP;
5073
+ this._backdrop.className = CLASS_NAME_BACKDROP;
5017
5074
 
5018
5075
  if (animate) {
5019
5076
  this._backdrop.classList.add(animate);
@@ -5021,7 +5078,7 @@
5021
5078
 
5022
5079
  $(this._backdrop).appendTo(document.body);
5023
5080
 
5024
- $(this._element).on(Event$5.CLICK_DISMISS, (event) => {
5081
+ $(this._element).on(EVENT_CLICK_DISMISS, (event) => {
5025
5082
  if (this._ignoreBackdropClick) {
5026
5083
  this._ignoreBackdropClick = false;
5027
5084
  return
@@ -5029,18 +5086,15 @@
5029
5086
  if (event.target !== event.currentTarget) {
5030
5087
  return
5031
5088
  }
5032
- if (this._config.backdrop === 'static') {
5033
- this._element.focus();
5034
- } else {
5035
- this.hide();
5036
- }
5089
+
5090
+ this._triggerBackdropTransition();
5037
5091
  });
5038
5092
 
5039
5093
  if (animate) {
5040
5094
  Util.reflow(this._backdrop);
5041
5095
  }
5042
5096
 
5043
- $(this._backdrop).addClass(ClassName$5.SHOW);
5097
+ $(this._backdrop).addClass(CLASS_NAME_SHOW$3);
5044
5098
 
5045
5099
  if (!callback) {
5046
5100
  return
@@ -5057,7 +5111,7 @@
5057
5111
  .one(Util.TRANSITION_END, callback)
5058
5112
  .emulateTransitionEnd(backdropTransitionDuration);
5059
5113
  } else if (!this._isShown && this._backdrop) {
5060
- $(this._backdrop).removeClass(ClassName$5.SHOW);
5114
+ $(this._backdrop).removeClass(CLASS_NAME_SHOW$3);
5061
5115
 
5062
5116
  const callbackRemove = () => {
5063
5117
  this._removeBackdrop();
@@ -5066,7 +5120,7 @@
5066
5120
  }
5067
5121
  };
5068
5122
 
5069
- if ($(this._element).hasClass(ClassName$5.FADE)) {
5123
+ if ($(this._element).hasClass(CLASS_NAME_FADE$1)) {
5070
5124
  const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
5071
5125
 
5072
5126
  $(this._backdrop)
@@ -5105,7 +5159,7 @@
5105
5159
 
5106
5160
  _checkScrollbar() {
5107
5161
  const rect = document.body.getBoundingClientRect();
5108
- this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
5162
+ this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;
5109
5163
  this._scrollbarWidth = this._getScrollbarWidth();
5110
5164
  }
5111
5165
 
@@ -5113,8 +5167,8 @@
5113
5167
  if (this._isBodyOverflowing) {
5114
5168
  // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
5115
5169
  // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
5116
- const fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
5117
- const stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT));
5170
+ const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
5171
+ const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT));
5118
5172
 
5119
5173
  // Adjust fixed content padding
5120
5174
  $(fixedContent).each((index, element) => {
@@ -5142,12 +5196,12 @@
5142
5196
  .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`);
5143
5197
  }
5144
5198
 
5145
- $(document.body).addClass(ClassName$5.OPEN);
5199
+ $(document.body).addClass(CLASS_NAME_OPEN);
5146
5200
  }
5147
5201
 
5148
5202
  _resetScrollbar() {
5149
5203
  // Restore fixed content padding
5150
- const fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
5204
+ const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
5151
5205
  $(fixedContent).each((index, element) => {
5152
5206
  const padding = $(element).data('padding-right');
5153
5207
  $(element).removeData('padding-right');
@@ -5155,7 +5209,7 @@
5155
5209
  });
5156
5210
 
5157
5211
  // Restore sticky content
5158
- const elements = [].slice.call(document.querySelectorAll(`${Selector$5.STICKY_CONTENT}`));
5212
+ const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`));
5159
5213
  $(elements).each((index, element) => {
5160
5214
  const margin = $(element).data('margin-right');
5161
5215
  if (typeof margin !== 'undefined') {
@@ -5171,7 +5225,7 @@
5171
5225
 
5172
5226
  _getScrollbarWidth() { // thx d.walsh
5173
5227
  const scrollDiv = document.createElement('div');
5174
- scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER;
5228
+ scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
5175
5229
  document.body.appendChild(scrollDiv);
5176
5230
  const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
5177
5231
  document.body.removeChild(scrollDiv);
@@ -5212,7 +5266,7 @@
5212
5266
  * ------------------------------------------------------------------------
5213
5267
  */
5214
5268
 
5215
- $(document).on(Event$5.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) {
5269
+ $(document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, function (event) {
5216
5270
  let target;
5217
5271
  const selector = Util.getSelectorFromElement(this);
5218
5272
 
@@ -5230,13 +5284,13 @@
5230
5284
  event.preventDefault();
5231
5285
  }
5232
5286
 
5233
- const $target = $(target).one(Event$5.SHOW, (showEvent) => {
5287
+ const $target = $(target).one(EVENT_SHOW$2, (showEvent) => {
5234
5288
  if (showEvent.isDefaultPrevented()) {
5235
5289
  // Only register focus restorer if modal will actually get shown
5236
5290
  return
5237
5291
  }
5238
5292
 
5239
- $target.one(Event$5.HIDDEN, () => {
5293
+ $target.one(EVENT_HIDDEN$2, () => {
5240
5294
  if ($(this).is(':visible')) {
5241
5295
  this.focus();
5242
5296
  }
@@ -5261,8 +5315,8 @@
5261
5315
 
5262
5316
  /**
5263
5317
  * --------------------------------------------------------------------------
5264
- * Bootstrap (v4.3.1): tools/sanitizer.js
5265
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5318
+ * Bootstrap (v4.5.2): tools/sanitizer.js
5319
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5266
5320
  * --------------------------------------------------------------------------
5267
5321
  */
5268
5322
 
@@ -5298,7 +5352,7 @@
5298
5352
  h5: [],
5299
5353
  h6: [],
5300
5354
  i: [],
5301
- img: ['src', 'alt', 'title', 'width', 'height'],
5355
+ img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
5302
5356
  li: [],
5303
5357
  ol: [],
5304
5358
  p: [],
@@ -5318,14 +5372,14 @@
5318
5372
  *
5319
5373
  * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
5320
5374
  */
5321
- const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;
5375
+ const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;
5322
5376
 
5323
5377
  /**
5324
5378
  * A pattern that matches safe data URLs. Only matches image, video and audio types.
5325
5379
  *
5326
5380
  * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
5327
5381
  */
5328
- const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;
5382
+ const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
5329
5383
 
5330
5384
  function allowedAttribute(attr, allowedAttributeList) {
5331
5385
  const attrName = attr.nodeName.toLowerCase();
@@ -5341,7 +5395,7 @@
5341
5395
  const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp);
5342
5396
 
5343
5397
  // Check if a regular expression validates the attribute.
5344
- for (let i = 0, l = regExp.length; i < l; i++) {
5398
+ for (let i = 0, len = regExp.length; i < len; i++) {
5345
5399
  if (attrName.match(regExp[i])) {
5346
5400
  return true
5347
5401
  }
@@ -5389,8 +5443,8 @@
5389
5443
 
5390
5444
  /**
5391
5445
  * --------------------------------------------------------------------------
5392
- * Bootstrap (v4.3.1): tooltip.js
5393
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5446
+ * Bootstrap (v4.5.2): tooltip.js
5447
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5394
5448
  * --------------------------------------------------------------------------
5395
5449
  */
5396
5450
 
@@ -5401,7 +5455,7 @@
5401
5455
  */
5402
5456
 
5403
5457
  const NAME$6 = 'tooltip';
5404
- const VERSION$6 = '4.3.1';
5458
+ const VERSION$6 = '4.5.2';
5405
5459
  const DATA_KEY$6 = 'bs.tooltip';
5406
5460
  const EVENT_KEY$6 = `.${DATA_KEY$6}`;
5407
5461
  const JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];
@@ -5424,10 +5478,11 @@
5424
5478
  boundary : '(string|element)',
5425
5479
  sanitize : 'boolean',
5426
5480
  sanitizeFn : '(null|function)',
5427
- whiteList : 'object'
5481
+ whiteList : 'object',
5482
+ popperConfig : '(null|object)'
5428
5483
  };
5429
5484
 
5430
- const AttachmentMap$1 = {
5485
+ const AttachmentMap = {
5431
5486
  AUTO : 'auto',
5432
5487
  TOP : 'top',
5433
5488
  RIGHT : 'right',
@@ -5452,15 +5507,14 @@
5452
5507
  boundary : 'scrollParent',
5453
5508
  sanitize : true,
5454
5509
  sanitizeFn : null,
5455
- whiteList : DefaultWhitelist
5510
+ whiteList : DefaultWhitelist,
5511
+ popperConfig : null
5456
5512
  };
5457
5513
 
5458
- const HoverState = {
5459
- SHOW : 'show',
5460
- OUT : 'out'
5461
- };
5514
+ const HOVER_STATE_SHOW = 'show';
5515
+ const HOVER_STATE_OUT = 'out';
5462
5516
 
5463
- const Event$6 = {
5517
+ const Event = {
5464
5518
  HIDE : `hide${EVENT_KEY$6}`,
5465
5519
  HIDDEN : `hidden${EVENT_KEY$6}`,
5466
5520
  SHOW : `show${EVENT_KEY$6}`,
@@ -5473,24 +5527,16 @@
5473
5527
  MOUSELEAVE : `mouseleave${EVENT_KEY$6}`
5474
5528
  };
5475
5529
 
5476
- const ClassName$6 = {
5477
- FADE : 'fade',
5478
- SHOW : 'show'
5479
- };
5480
-
5481
- const Selector$6 = {
5482
- TOOLTIP : '.tooltip',
5483
- TOOLTIP_INNER : '.tooltip-inner',
5484
- ARROW : '.arrow'
5485
- };
5530
+ const CLASS_NAME_FADE$2 = 'fade';
5531
+ const CLASS_NAME_SHOW$4 = 'show';
5486
5532
 
5487
- const Trigger = {
5488
- HOVER : 'hover',
5489
- FOCUS : 'focus',
5490
- CLICK : 'click',
5491
- MANUAL : 'manual'
5492
- };
5533
+ const SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
5534
+ const SELECTOR_ARROW = '.arrow';
5493
5535
 
5536
+ const TRIGGER_HOVER = 'hover';
5537
+ const TRIGGER_FOCUS = 'focus';
5538
+ const TRIGGER_CLICK = 'click';
5539
+ const TRIGGER_MANUAL = 'manual';
5494
5540
 
5495
5541
  /**
5496
5542
  * ------------------------------------------------------------------------
@@ -5500,10 +5546,6 @@
5500
5546
 
5501
5547
  class Tooltip {
5502
5548
  constructor(element, config) {
5503
- /**
5504
- * Check for Popper dependency
5505
- * Popper - https://popper.js.org
5506
- */
5507
5549
  if (typeof Popper === 'undefined') {
5508
5550
  throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)')
5509
5551
  }
@@ -5542,7 +5584,7 @@
5542
5584
  }
5543
5585
 
5544
5586
  static get Event() {
5545
- return Event$6
5587
+ return Event
5546
5588
  }
5547
5589
 
5548
5590
  static get EVENT_KEY() {
@@ -5592,7 +5634,7 @@
5592
5634
  context._leave(null, context);
5593
5635
  }
5594
5636
  } else {
5595
- if ($(this.getTipElement()).hasClass(ClassName$6.SHOW)) {
5637
+ if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW$4)) {
5596
5638
  this._leave(null, this);
5597
5639
  return
5598
5640
  }
@@ -5607,7 +5649,7 @@
5607
5649
  $.removeData(this.element, this.constructor.DATA_KEY);
5608
5650
 
5609
5651
  $(this.element).off(this.constructor.EVENT_KEY);
5610
- $(this.element).closest('.modal').off('hide.bs.modal');
5652
+ $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);
5611
5653
 
5612
5654
  if (this.tip) {
5613
5655
  $(this.tip).remove();
@@ -5617,7 +5659,7 @@
5617
5659
  this._timeout = null;
5618
5660
  this._hoverState = null;
5619
5661
  this._activeTrigger = null;
5620
- if (this._popper !== null) {
5662
+ if (this._popper) {
5621
5663
  this._popper.destroy();
5622
5664
  }
5623
5665
 
@@ -5655,7 +5697,7 @@
5655
5697
  this.setContent();
5656
5698
 
5657
5699
  if (this.config.animation) {
5658
- $(tip).addClass(ClassName$6.FADE);
5700
+ $(tip).addClass(CLASS_NAME_FADE$2);
5659
5701
  }
5660
5702
 
5661
5703
  const placement = typeof this.config.placement === 'function'
@@ -5674,29 +5716,9 @@
5674
5716
 
5675
5717
  $(this.element).trigger(this.constructor.Event.INSERTED);
5676
5718
 
5677
- this._popper = new Popper(this.element, tip, {
5678
- placement: attachment,
5679
- modifiers: {
5680
- offset: this._getOffset(),
5681
- flip: {
5682
- behavior: this.config.fallbackPlacement
5683
- },
5684
- arrow: {
5685
- element: Selector$6.ARROW
5686
- },
5687
- preventOverflow: {
5688
- boundariesElement: this.config.boundary
5689
- }
5690
- },
5691
- onCreate: (data) => {
5692
- if (data.originalPlacement !== data.placement) {
5693
- this._handlePopperPlacementChange(data);
5694
- }
5695
- },
5696
- onUpdate: (data) => this._handlePopperPlacementChange(data)
5697
- });
5719
+ this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));
5698
5720
 
5699
- $(tip).addClass(ClassName$6.SHOW);
5721
+ $(tip).addClass(CLASS_NAME_SHOW$4);
5700
5722
 
5701
5723
  // If this is a touch-enabled device we add extra
5702
5724
  // empty mouseover listeners to the body's immediate children;
@@ -5715,12 +5737,12 @@
5715
5737
 
5716
5738
  $(this.element).trigger(this.constructor.Event.SHOWN);
5717
5739
 
5718
- if (prevHoverState === HoverState.OUT) {
5740
+ if (prevHoverState === HOVER_STATE_OUT) {
5719
5741
  this._leave(null, this);
5720
5742
  }
5721
5743
  };
5722
5744
 
5723
- if ($(this.tip).hasClass(ClassName$6.FADE)) {
5745
+ if ($(this.tip).hasClass(CLASS_NAME_FADE$2)) {
5724
5746
  const transitionDuration = Util.getTransitionDurationFromElement(this.tip);
5725
5747
 
5726
5748
  $(this.tip)
@@ -5736,7 +5758,7 @@
5736
5758
  const tip = this.getTipElement();
5737
5759
  const hideEvent = $.Event(this.constructor.Event.HIDE);
5738
5760
  const complete = () => {
5739
- if (this._hoverState !== HoverState.SHOW && tip.parentNode) {
5761
+ if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
5740
5762
  tip.parentNode.removeChild(tip);
5741
5763
  }
5742
5764
 
@@ -5758,7 +5780,7 @@
5758
5780
  return
5759
5781
  }
5760
5782
 
5761
- $(tip).removeClass(ClassName$6.SHOW);
5783
+ $(tip).removeClass(CLASS_NAME_SHOW$4);
5762
5784
 
5763
5785
  // If this is a touch-enabled device we remove the extra
5764
5786
  // empty mouseover listeners we added for iOS support
@@ -5766,11 +5788,11 @@
5766
5788
  $(document.body).children().off('mouseover', null, $.noop);
5767
5789
  }
5768
5790
 
5769
- this._activeTrigger[Trigger.CLICK] = false;
5770
- this._activeTrigger[Trigger.FOCUS] = false;
5771
- this._activeTrigger[Trigger.HOVER] = false;
5791
+ this._activeTrigger[TRIGGER_CLICK] = false;
5792
+ this._activeTrigger[TRIGGER_FOCUS] = false;
5793
+ this._activeTrigger[TRIGGER_HOVER] = false;
5772
5794
 
5773
- if ($(this.tip).hasClass(ClassName$6.FADE)) {
5795
+ if ($(this.tip).hasClass(CLASS_NAME_FADE$2)) {
5774
5796
  const transitionDuration = Util.getTransitionDurationFromElement(tip);
5775
5797
 
5776
5798
  $(tip)
@@ -5806,8 +5828,8 @@
5806
5828
 
5807
5829
  setContent() {
5808
5830
  const tip = this.getTipElement();
5809
- this.setElementContent($(tip.querySelectorAll(Selector$6.TOOLTIP_INNER)), this.getTitle());
5810
- $(tip).removeClass(`${ClassName$6.FADE} ${ClassName$6.SHOW}`);
5831
+ this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());
5832
+ $(tip).removeClass(`${CLASS_NAME_FADE$2} ${CLASS_NAME_SHOW$4}`);
5811
5833
  }
5812
5834
 
5813
5835
  setElementContent($element, content) {
@@ -5849,6 +5871,35 @@
5849
5871
 
5850
5872
  // Private
5851
5873
 
5874
+ _getPopperConfig(attachment) {
5875
+ const defaultBsConfig = {
5876
+ placement: attachment,
5877
+ modifiers: {
5878
+ offset: this._getOffset(),
5879
+ flip: {
5880
+ behavior: this.config.fallbackPlacement
5881
+ },
5882
+ arrow: {
5883
+ element: SELECTOR_ARROW
5884
+ },
5885
+ preventOverflow: {
5886
+ boundariesElement: this.config.boundary
5887
+ }
5888
+ },
5889
+ onCreate: (data) => {
5890
+ if (data.originalPlacement !== data.placement) {
5891
+ this._handlePopperPlacementChange(data);
5892
+ }
5893
+ },
5894
+ onUpdate: (data) => this._handlePopperPlacementChange(data)
5895
+ };
5896
+
5897
+ return {
5898
+ ...defaultBsConfig,
5899
+ ...this.config.popperConfig
5900
+ }
5901
+ }
5902
+
5852
5903
  _getOffset() {
5853
5904
  const offset = {};
5854
5905
 
@@ -5881,7 +5932,7 @@
5881
5932
  }
5882
5933
 
5883
5934
  _getAttachment(placement) {
5884
- return AttachmentMap$1[placement.toUpperCase()]
5935
+ return AttachmentMap[placement.toUpperCase()]
5885
5936
  }
5886
5937
 
5887
5938
  _setListeners() {
@@ -5894,36 +5945,27 @@
5894
5945
  this.config.selector,
5895
5946
  (event) => this.toggle(event)
5896
5947
  );
5897
- } else if (trigger !== Trigger.MANUAL) {
5898
- const eventIn = trigger === Trigger.HOVER
5948
+ } else if (trigger !== TRIGGER_MANUAL) {
5949
+ const eventIn = trigger === TRIGGER_HOVER
5899
5950
  ? this.constructor.Event.MOUSEENTER
5900
5951
  : this.constructor.Event.FOCUSIN;
5901
- const eventOut = trigger === Trigger.HOVER
5952
+ const eventOut = trigger === TRIGGER_HOVER
5902
5953
  ? this.constructor.Event.MOUSELEAVE
5903
5954
  : this.constructor.Event.FOCUSOUT;
5904
5955
 
5905
5956
  $(this.element)
5906
- .on(
5907
- eventIn,
5908
- this.config.selector,
5909
- (event) => this._enter(event)
5910
- )
5911
- .on(
5912
- eventOut,
5913
- this.config.selector,
5914
- (event) => this._leave(event)
5915
- );
5957
+ .on(eventIn, this.config.selector, (event) => this._enter(event))
5958
+ .on(eventOut, this.config.selector, (event) => this._leave(event));
5916
5959
  }
5917
5960
  });
5918
5961
 
5919
- $(this.element).closest('.modal').on(
5920
- 'hide.bs.modal',
5921
- () => {
5922
- if (this.element) {
5923
- this.hide();
5924
- }
5962
+ this._hideModalHandler = () => {
5963
+ if (this.element) {
5964
+ this.hide();
5925
5965
  }
5926
- );
5966
+ };
5967
+
5968
+ $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);
5927
5969
 
5928
5970
  if (this.config.selector) {
5929
5971
  this.config = {
@@ -5963,18 +6005,18 @@
5963
6005
 
5964
6006
  if (event) {
5965
6007
  context._activeTrigger[
5966
- event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER
6008
+ event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER
5967
6009
  ] = true;
5968
6010
  }
5969
6011
 
5970
- if ($(context.getTipElement()).hasClass(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {
5971
- context._hoverState = HoverState.SHOW;
6012
+ if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW$4) || context._hoverState === HOVER_STATE_SHOW) {
6013
+ context._hoverState = HOVER_STATE_SHOW;
5972
6014
  return
5973
6015
  }
5974
6016
 
5975
6017
  clearTimeout(context._timeout);
5976
6018
 
5977
- context._hoverState = HoverState.SHOW;
6019
+ context._hoverState = HOVER_STATE_SHOW;
5978
6020
 
5979
6021
  if (!context.config.delay || !context.config.delay.show) {
5980
6022
  context.show();
@@ -5982,7 +6024,7 @@
5982
6024
  }
5983
6025
 
5984
6026
  context._timeout = setTimeout(() => {
5985
- if (context._hoverState === HoverState.SHOW) {
6027
+ if (context._hoverState === HOVER_STATE_SHOW) {
5986
6028
  context.show();
5987
6029
  }
5988
6030
  }, context.config.delay.show);
@@ -6002,7 +6044,7 @@
6002
6044
 
6003
6045
  if (event) {
6004
6046
  context._activeTrigger[
6005
- event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER
6047
+ event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER
6006
6048
  ] = false;
6007
6049
  }
6008
6050
 
@@ -6012,7 +6054,7 @@
6012
6054
 
6013
6055
  clearTimeout(context._timeout);
6014
6056
 
6015
- context._hoverState = HoverState.OUT;
6057
+ context._hoverState = HOVER_STATE_OUT;
6016
6058
 
6017
6059
  if (!context.config.delay || !context.config.delay.hide) {
6018
6060
  context.hide();
@@ -6020,7 +6062,7 @@
6020
6062
  }
6021
6063
 
6022
6064
  context._timeout = setTimeout(() => {
6023
- if (context._hoverState === HoverState.OUT) {
6065
+ if (context._hoverState === HOVER_STATE_OUT) {
6024
6066
  context.hide();
6025
6067
  }
6026
6068
  }, context.config.delay.hide);
@@ -6103,8 +6145,7 @@
6103
6145
  }
6104
6146
 
6105
6147
  _handlePopperPlacementChange(popperData) {
6106
- const popperInstance = popperData.instance;
6107
- this.tip = popperInstance.popper;
6148
+ this.tip = popperData.instance.popper;
6108
6149
  this._cleanTipClass();
6109
6150
  this.addAttachmentClass(this._getAttachment(popperData.placement));
6110
6151
  }
@@ -6117,7 +6158,7 @@
6117
6158
  return
6118
6159
  }
6119
6160
 
6120
- $(tip).removeClass(ClassName$6.FADE);
6161
+ $(tip).removeClass(CLASS_NAME_FADE$2);
6121
6162
  this.config.animation = false;
6122
6163
  this.hide();
6123
6164
  this.show();
@@ -6165,8 +6206,8 @@
6165
6206
 
6166
6207
  /**
6167
6208
  * --------------------------------------------------------------------------
6168
- * Bootstrap (v4.3.1): popover.js
6169
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6209
+ * Bootstrap (v4.5.2): popover.js
6210
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6170
6211
  * --------------------------------------------------------------------------
6171
6212
  */
6172
6213
 
@@ -6177,7 +6218,7 @@
6177
6218
  */
6178
6219
 
6179
6220
  const NAME$7 = 'popover';
6180
- const VERSION$7 = '4.3.1';
6221
+ const VERSION$7 = '4.5.2';
6181
6222
  const DATA_KEY$7 = 'bs.popover';
6182
6223
  const EVENT_KEY$7 = `.${DATA_KEY$7}`;
6183
6224
  const JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];
@@ -6200,17 +6241,13 @@
6200
6241
  content : '(string|element|function)'
6201
6242
  };
6202
6243
 
6203
- const ClassName$7 = {
6204
- FADE : 'fade',
6205
- SHOW : 'show'
6206
- };
6244
+ const CLASS_NAME_FADE$3 = 'fade';
6245
+ const CLASS_NAME_SHOW$5 = 'show';
6207
6246
 
6208
- const Selector$7 = {
6209
- TITLE : '.popover-header',
6210
- CONTENT : '.popover-body'
6211
- };
6247
+ const SELECTOR_TITLE = '.popover-header';
6248
+ const SELECTOR_CONTENT = '.popover-body';
6212
6249
 
6213
- const Event$7 = {
6250
+ const Event$1 = {
6214
6251
  HIDE : `hide${EVENT_KEY$7}`,
6215
6252
  HIDDEN : `hidden${EVENT_KEY$7}`,
6216
6253
  SHOW : `show${EVENT_KEY$7}`,
@@ -6249,7 +6286,7 @@
6249
6286
  }
6250
6287
 
6251
6288
  static get Event() {
6252
- return Event$7
6289
+ return Event$1
6253
6290
  }
6254
6291
 
6255
6292
  static get EVENT_KEY() {
@@ -6279,14 +6316,14 @@
6279
6316
  const $tip = $(this.getTipElement());
6280
6317
 
6281
6318
  // We use append for html objects to maintain js events
6282
- this.setElementContent($tip.find(Selector$7.TITLE), this.getTitle());
6319
+ this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());
6283
6320
  let content = this._getContent();
6284
6321
  if (typeof content === 'function') {
6285
6322
  content = content.call(this.element);
6286
6323
  }
6287
- this.setElementContent($tip.find(Selector$7.CONTENT), content);
6324
+ this.setElementContent($tip.find(SELECTOR_CONTENT), content);
6288
6325
 
6289
- $tip.removeClass(`${ClassName$7.FADE} ${ClassName$7.SHOW}`);
6326
+ $tip.removeClass(`${CLASS_NAME_FADE$3} ${CLASS_NAME_SHOW$5}`);
6290
6327
  }
6291
6328
 
6292
6329
  // Private
@@ -6345,8 +6382,8 @@
6345
6382
 
6346
6383
  /**
6347
6384
  * --------------------------------------------------------------------------
6348
- * Bootstrap (v4.3.1): scrollspy.js
6349
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6385
+ * Bootstrap (v4.5.2): scrollspy.js
6386
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6350
6387
  * --------------------------------------------------------------------------
6351
6388
  */
6352
6389
 
@@ -6357,7 +6394,7 @@
6357
6394
  */
6358
6395
 
6359
6396
  const NAME$8 = 'scrollspy';
6360
- const VERSION$8 = '4.3.1';
6397
+ const VERSION$8 = '4.5.2';
6361
6398
  const DATA_KEY$8 = 'bs.scrollspy';
6362
6399
  const EVENT_KEY$8 = `.${DATA_KEY$8}`;
6363
6400
  const DATA_API_KEY$6 = '.data-api';
@@ -6375,34 +6412,24 @@
6375
6412
  target : '(string|element)'
6376
6413
  };
6377
6414
 
6378
- const Event$8 = {
6379
- ACTIVATE : `activate${EVENT_KEY$8}`,
6380
- SCROLL : `scroll${EVENT_KEY$8}`,
6381
- LOAD_DATA_API : `load${EVENT_KEY$8}${DATA_API_KEY$6}`
6382
- };
6415
+ const EVENT_ACTIVATE = `activate${EVENT_KEY$8}`;
6416
+ const EVENT_SCROLL = `scroll${EVENT_KEY$8}`;
6417
+ const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$8}${DATA_API_KEY$6}`;
6383
6418
 
6384
- const ClassName$8 = {
6385
- DROPDOWN_ITEM : 'dropdown-item',
6386
- DROPDOWN_MENU : 'dropdown-menu',
6387
- ACTIVE : 'active'
6388
- };
6419
+ const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
6420
+ const CLASS_NAME_ACTIVE$2 = 'active';
6389
6421
 
6390
- const Selector$8 = {
6391
- DATA_SPY : '[data-spy="scroll"]',
6392
- ACTIVE : '.active',
6393
- NAV_LIST_GROUP : '.nav, .list-group',
6394
- NAV_LINKS : '.nav-link',
6395
- NAV_ITEMS : '.nav-item',
6396
- LIST_ITEMS : '.list-group-item',
6397
- DROPDOWN : '.dropdown',
6398
- DROPDOWN_ITEMS : '.dropdown-item',
6399
- DROPDOWN_TOGGLE : '.dropdown-toggle'
6400
- };
6422
+ const SELECTOR_DATA_SPY = '[data-spy="scroll"]';
6423
+ const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
6424
+ const SELECTOR_NAV_LINKS = '.nav-link';
6425
+ const SELECTOR_NAV_ITEMS = '.nav-item';
6426
+ const SELECTOR_LIST_ITEMS = '.list-group-item';
6427
+ const SELECTOR_DROPDOWN = '.dropdown';
6428
+ const SELECTOR_DROPDOWN_ITEMS = '.dropdown-item';
6429
+ const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
6401
6430
 
6402
- const OffsetMethod = {
6403
- OFFSET : 'offset',
6404
- POSITION : 'position'
6405
- };
6431
+ const METHOD_OFFSET = 'offset';
6432
+ const METHOD_POSITION = 'position';
6406
6433
 
6407
6434
  /**
6408
6435
  * ------------------------------------------------------------------------
@@ -6415,15 +6442,15 @@
6415
6442
  this._element = element;
6416
6443
  this._scrollElement = element.tagName === 'BODY' ? window : element;
6417
6444
  this._config = this._getConfig(config);
6418
- this._selector = `${this._config.target} ${Selector$8.NAV_LINKS},` +
6419
- `${this._config.target} ${Selector$8.LIST_ITEMS},` +
6420
- `${this._config.target} ${Selector$8.DROPDOWN_ITEMS}`;
6445
+ this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +
6446
+ `${this._config.target} ${SELECTOR_LIST_ITEMS},` +
6447
+ `${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`;
6421
6448
  this._offsets = [];
6422
6449
  this._targets = [];
6423
6450
  this._activeTarget = null;
6424
6451
  this._scrollHeight = 0;
6425
6452
 
6426
- $(this._scrollElement).on(Event$8.SCROLL, (event) => this._process(event));
6453
+ $(this._scrollElement).on(EVENT_SCROLL, (event) => this._process(event));
6427
6454
 
6428
6455
  this.refresh();
6429
6456
  this._process();
@@ -6443,12 +6470,12 @@
6443
6470
 
6444
6471
  refresh() {
6445
6472
  const autoMethod = this._scrollElement === this._scrollElement.window
6446
- ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
6473
+ ? METHOD_OFFSET : METHOD_POSITION;
6447
6474
 
6448
6475
  const offsetMethod = this._config.method === 'auto'
6449
6476
  ? autoMethod : this._config.method;
6450
6477
 
6451
- const offsetBase = offsetMethod === OffsetMethod.POSITION
6478
+ const offsetBase = offsetMethod === METHOD_POSITION
6452
6479
  ? this._getScrollTop() : 0;
6453
6480
 
6454
6481
  this._offsets = [];
@@ -6509,7 +6536,7 @@
6509
6536
  ...typeof config === 'object' && config ? config : {}
6510
6537
  };
6511
6538
 
6512
- if (typeof config.target !== 'string') {
6539
+ if (typeof config.target !== 'string' && Util.isElement(config.target)) {
6513
6540
  let id = $(config.target).attr('id');
6514
6541
  if (!id) {
6515
6542
  id = Util.getUID(NAME$8);
@@ -6543,9 +6570,7 @@
6543
6570
  _process() {
6544
6571
  const scrollTop = this._getScrollTop() + this._config.offset;
6545
6572
  const scrollHeight = this._getScrollHeight();
6546
- const maxScroll = this._config.offset +
6547
- scrollHeight -
6548
- this._getOffsetHeight();
6573
+ const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
6549
6574
 
6550
6575
  if (this._scrollHeight !== scrollHeight) {
6551
6576
  this.refresh();
@@ -6566,8 +6591,7 @@
6566
6591
  return
6567
6592
  }
6568
6593
 
6569
- const offsetLength = this._offsets.length;
6570
- for (let i = offsetLength; i--;) {
6594
+ for (let i = this._offsets.length; i--;) {
6571
6595
  const isActiveTarget = this._activeTarget !== this._targets[i] &&
6572
6596
  scrollTop >= this._offsets[i] &&
6573
6597
  (typeof this._offsets[i + 1] === 'undefined' ||
@@ -6590,28 +6614,35 @@
6590
6614
 
6591
6615
  const $link = $([].slice.call(document.querySelectorAll(queries.join(','))));
6592
6616
 
6593
- if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) {
6594
- $link.closest(Selector$8.DROPDOWN).find(Selector$8.DROPDOWN_TOGGLE).addClass(ClassName$8.ACTIVE);
6595
- $link.addClass(ClassName$8.ACTIVE);
6617
+ if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {
6618
+ $link.closest(SELECTOR_DROPDOWN)
6619
+ .find(SELECTOR_DROPDOWN_TOGGLE)
6620
+ .addClass(CLASS_NAME_ACTIVE$2);
6621
+ $link.addClass(CLASS_NAME_ACTIVE$2);
6596
6622
  } else {
6597
6623
  // Set triggered link as active
6598
- $link.addClass(ClassName$8.ACTIVE);
6624
+ $link.addClass(CLASS_NAME_ACTIVE$2);
6599
6625
  // Set triggered links parents as active
6600
6626
  // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
6601
- $link.parents(Selector$8.NAV_LIST_GROUP).prev(`${Selector$8.NAV_LINKS}, ${Selector$8.LIST_ITEMS}`).addClass(ClassName$8.ACTIVE);
6627
+ $link.parents(SELECTOR_NAV_LIST_GROUP)
6628
+ .prev(`${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`)
6629
+ .addClass(CLASS_NAME_ACTIVE$2);
6602
6630
  // Handle special case when .nav-link is inside .nav-item
6603
- $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_ITEMS).children(Selector$8.NAV_LINKS).addClass(ClassName$8.ACTIVE);
6631
+ $link.parents(SELECTOR_NAV_LIST_GROUP)
6632
+ .prev(SELECTOR_NAV_ITEMS)
6633
+ .children(SELECTOR_NAV_LINKS)
6634
+ .addClass(CLASS_NAME_ACTIVE$2);
6604
6635
  }
6605
6636
 
6606
- $(this._scrollElement).trigger(Event$8.ACTIVATE, {
6637
+ $(this._scrollElement).trigger(EVENT_ACTIVATE, {
6607
6638
  relatedTarget: target
6608
6639
  });
6609
6640
  }
6610
6641
 
6611
6642
  _clear() {
6612
6643
  [].slice.call(document.querySelectorAll(this._selector))
6613
- .filter((node) => node.classList.contains(ClassName$8.ACTIVE))
6614
- .forEach((node) => node.classList.remove(ClassName$8.ACTIVE));
6644
+ .filter((node) => node.classList.contains(CLASS_NAME_ACTIVE$2))
6645
+ .forEach((node) => node.classList.remove(CLASS_NAME_ACTIVE$2));
6615
6646
  }
6616
6647
 
6617
6648
  // Static
@@ -6642,8 +6673,8 @@
6642
6673
  * ------------------------------------------------------------------------
6643
6674
  */
6644
6675
 
6645
- $(window).on(Event$8.LOAD_DATA_API, () => {
6646
- const scrollSpys = [].slice.call(document.querySelectorAll(Selector$8.DATA_SPY));
6676
+ $(window).on(EVENT_LOAD_DATA_API$2, () => {
6677
+ const scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY));
6647
6678
  const scrollSpysLength = scrollSpys.length;
6648
6679
 
6649
6680
  for (let i = scrollSpysLength; i--;) {
@@ -6667,8 +6698,8 @@
6667
6698
 
6668
6699
  /**
6669
6700
  * --------------------------------------------------------------------------
6670
- * Bootstrap (v4.3.1): tab.js
6671
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6701
+ * Bootstrap (v4.5.2): tab.js
6702
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6672
6703
  * --------------------------------------------------------------------------
6673
6704
  */
6674
6705
 
@@ -6679,37 +6710,31 @@
6679
6710
  */
6680
6711
 
6681
6712
  const NAME$9 = 'tab';
6682
- const VERSION$9 = '4.3.1';
6713
+ const VERSION$9 = '4.5.2';
6683
6714
  const DATA_KEY$9 = 'bs.tab';
6684
6715
  const EVENT_KEY$9 = `.${DATA_KEY$9}`;
6685
6716
  const DATA_API_KEY$7 = '.data-api';
6686
6717
  const JQUERY_NO_CONFLICT$9 = $.fn[NAME$9];
6687
6718
 
6688
- const Event$9 = {
6689
- HIDE : `hide${EVENT_KEY$9}`,
6690
- HIDDEN : `hidden${EVENT_KEY$9}`,
6691
- SHOW : `show${EVENT_KEY$9}`,
6692
- SHOWN : `shown${EVENT_KEY$9}`,
6693
- CLICK_DATA_API : `click${EVENT_KEY$9}${DATA_API_KEY$7}`
6694
- };
6695
-
6696
- const ClassName$9 = {
6697
- DROPDOWN_MENU : 'dropdown-menu',
6698
- ACTIVE : 'active',
6699
- DISABLED : 'disabled',
6700
- FADE : 'fade',
6701
- SHOW : 'show'
6702
- };
6703
-
6704
- const Selector$9 = {
6705
- DROPDOWN : '.dropdown',
6706
- NAV_LIST_GROUP : '.nav, .list-group',
6707
- ACTIVE : '.active',
6708
- ACTIVE_UL : '> li > .active',
6709
- DATA_TOGGLE : '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
6710
- DROPDOWN_TOGGLE : '.dropdown-toggle',
6711
- DROPDOWN_ACTIVE_CHILD : '> .dropdown-menu .active'
6712
- };
6719
+ const EVENT_HIDE$3 = `hide${EVENT_KEY$9}`;
6720
+ const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$9}`;
6721
+ const EVENT_SHOW$3 = `show${EVENT_KEY$9}`;
6722
+ const EVENT_SHOWN$3 = `shown${EVENT_KEY$9}`;
6723
+ const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$9}${DATA_API_KEY$7}`;
6724
+
6725
+ const CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
6726
+ const CLASS_NAME_ACTIVE$3 = 'active';
6727
+ const CLASS_NAME_DISABLED$1 = 'disabled';
6728
+ const CLASS_NAME_FADE$4 = 'fade';
6729
+ const CLASS_NAME_SHOW$6 = 'show';
6730
+
6731
+ const SELECTOR_DROPDOWN$1 = '.dropdown';
6732
+ const SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
6733
+ const SELECTOR_ACTIVE$2 = '.active';
6734
+ const SELECTOR_ACTIVE_UL = '> li > .active';
6735
+ const SELECTOR_DATA_TOGGLE$4 = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
6736
+ const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
6737
+ const SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active';
6713
6738
 
6714
6739
  /**
6715
6740
  * ------------------------------------------------------------------------
@@ -6733,27 +6758,27 @@
6733
6758
  show() {
6734
6759
  if (this._element.parentNode &&
6735
6760
  this._element.parentNode.nodeType === Node.ELEMENT_NODE &&
6736
- $(this._element).hasClass(ClassName$9.ACTIVE) ||
6737
- $(this._element).hasClass(ClassName$9.DISABLED)) {
6761
+ $(this._element).hasClass(CLASS_NAME_ACTIVE$3) ||
6762
+ $(this._element).hasClass(CLASS_NAME_DISABLED$1)) {
6738
6763
  return
6739
6764
  }
6740
6765
 
6741
6766
  let target;
6742
6767
  let previous;
6743
- const listElement = $(this._element).closest(Selector$9.NAV_LIST_GROUP)[0];
6768
+ const listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP$1)[0];
6744
6769
  const selector = Util.getSelectorFromElement(this._element);
6745
6770
 
6746
6771
  if (listElement) {
6747
- const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE;
6772
+ const itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$2;
6748
6773
  previous = $.makeArray($(listElement).find(itemSelector));
6749
6774
  previous = previous[previous.length - 1];
6750
6775
  }
6751
6776
 
6752
- const hideEvent = $.Event(Event$9.HIDE, {
6777
+ const hideEvent = $.Event(EVENT_HIDE$3, {
6753
6778
  relatedTarget: this._element
6754
6779
  });
6755
6780
 
6756
- const showEvent = $.Event(Event$9.SHOW, {
6781
+ const showEvent = $.Event(EVENT_SHOW$3, {
6757
6782
  relatedTarget: previous
6758
6783
  });
6759
6784
 
@@ -6778,11 +6803,11 @@
6778
6803
  );
6779
6804
 
6780
6805
  const complete = () => {
6781
- const hiddenEvent = $.Event(Event$9.HIDDEN, {
6806
+ const hiddenEvent = $.Event(EVENT_HIDDEN$3, {
6782
6807
  relatedTarget: this._element
6783
6808
  });
6784
6809
 
6785
- const shownEvent = $.Event(Event$9.SHOWN, {
6810
+ const shownEvent = $.Event(EVENT_SHOWN$3, {
6786
6811
  relatedTarget: previous
6787
6812
  });
6788
6813
 
@@ -6806,11 +6831,11 @@
6806
6831
 
6807
6832
  _activate(element, container, callback) {
6808
6833
  const activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL')
6809
- ? $(container).find(Selector$9.ACTIVE_UL)
6810
- : $(container).children(Selector$9.ACTIVE);
6834
+ ? $(container).find(SELECTOR_ACTIVE_UL)
6835
+ : $(container).children(SELECTOR_ACTIVE$2);
6811
6836
 
6812
6837
  const active = activeElements[0];
6813
- const isTransitioning = callback && (active && $(active).hasClass(ClassName$9.FADE));
6838
+ const isTransitioning = callback && (active && $(active).hasClass(CLASS_NAME_FADE$4));
6814
6839
  const complete = () => this._transitionComplete(
6815
6840
  element,
6816
6841
  active,
@@ -6821,7 +6846,7 @@
6821
6846
  const transitionDuration = Util.getTransitionDurationFromElement(active);
6822
6847
 
6823
6848
  $(active)
6824
- .removeClass(ClassName$9.SHOW)
6849
+ .removeClass(CLASS_NAME_SHOW$6)
6825
6850
  .one(Util.TRANSITION_END, complete)
6826
6851
  .emulateTransitionEnd(transitionDuration);
6827
6852
  } else {
@@ -6831,14 +6856,14 @@
6831
6856
 
6832
6857
  _transitionComplete(element, active, callback) {
6833
6858
  if (active) {
6834
- $(active).removeClass(ClassName$9.ACTIVE);
6859
+ $(active).removeClass(CLASS_NAME_ACTIVE$3);
6835
6860
 
6836
6861
  const dropdownChild = $(active.parentNode).find(
6837
- Selector$9.DROPDOWN_ACTIVE_CHILD
6862
+ SELECTOR_DROPDOWN_ACTIVE_CHILD
6838
6863
  )[0];
6839
6864
 
6840
6865
  if (dropdownChild) {
6841
- $(dropdownChild).removeClass(ClassName$9.ACTIVE);
6866
+ $(dropdownChild).removeClass(CLASS_NAME_ACTIVE$3);
6842
6867
  }
6843
6868
 
6844
6869
  if (active.getAttribute('role') === 'tab') {
@@ -6846,24 +6871,24 @@
6846
6871
  }
6847
6872
  }
6848
6873
 
6849
- $(element).addClass(ClassName$9.ACTIVE);
6874
+ $(element).addClass(CLASS_NAME_ACTIVE$3);
6850
6875
  if (element.getAttribute('role') === 'tab') {
6851
6876
  element.setAttribute('aria-selected', true);
6852
6877
  }
6853
6878
 
6854
6879
  Util.reflow(element);
6855
6880
 
6856
- if (element.classList.contains(ClassName$9.FADE)) {
6857
- element.classList.add(ClassName$9.SHOW);
6881
+ if (element.classList.contains(CLASS_NAME_FADE$4)) {
6882
+ element.classList.add(CLASS_NAME_SHOW$6);
6858
6883
  }
6859
6884
 
6860
- if (element.parentNode && $(element.parentNode).hasClass(ClassName$9.DROPDOWN_MENU)) {
6861
- const dropdownElement = $(element).closest(Selector$9.DROPDOWN)[0];
6885
+ if (element.parentNode && $(element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {
6886
+ const dropdownElement = $(element).closest(SELECTOR_DROPDOWN$1)[0];
6862
6887
 
6863
6888
  if (dropdownElement) {
6864
- const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector$9.DROPDOWN_TOGGLE));
6889
+ const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE$1));
6865
6890
 
6866
- $(dropdownToggleList).addClass(ClassName$9.ACTIVE);
6891
+ $(dropdownToggleList).addClass(CLASS_NAME_ACTIVE$3);
6867
6892
  }
6868
6893
 
6869
6894
  element.setAttribute('aria-expanded', true);
@@ -6903,7 +6928,7 @@
6903
6928
  */
6904
6929
 
6905
6930
  $(document)
6906
- .on(Event$9.CLICK_DATA_API, Selector$9.DATA_TOGGLE, function (event) {
6931
+ .on(EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$4, function (event) {
6907
6932
  event.preventDefault();
6908
6933
  Tab._jQueryInterface.call($(this), 'show');
6909
6934
  });
@@ -6921,229 +6946,6 @@
6921
6946
  return Tab._jQueryInterface
6922
6947
  };
6923
6948
 
6924
- /**
6925
- * --------------------------------------------------------------------------
6926
- * Bootstrap (v4.3.1): toast.js
6927
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
6928
- * --------------------------------------------------------------------------
6929
- */
6930
-
6931
- /**
6932
- * ------------------------------------------------------------------------
6933
- * Constants
6934
- * ------------------------------------------------------------------------
6935
- */
6936
-
6937
- const NAME$a = 'toast';
6938
- const VERSION$a = '4.3.1';
6939
- const DATA_KEY$a = 'bs.toast';
6940
- const EVENT_KEY$a = `.${DATA_KEY$a}`;
6941
- const JQUERY_NO_CONFLICT$a = $.fn[NAME$a];
6942
-
6943
- const Event$a = {
6944
- CLICK_DISMISS : `click.dismiss${EVENT_KEY$a}`,
6945
- HIDE : `hide${EVENT_KEY$a}`,
6946
- HIDDEN : `hidden${EVENT_KEY$a}`,
6947
- SHOW : `show${EVENT_KEY$a}`,
6948
- SHOWN : `shown${EVENT_KEY$a}`
6949
- };
6950
-
6951
- const ClassName$a = {
6952
- FADE : 'fade',
6953
- HIDE : 'hide',
6954
- SHOW : 'show',
6955
- SHOWING : 'showing'
6956
- };
6957
-
6958
- const DefaultType$7 = {
6959
- animation : 'boolean',
6960
- autohide : 'boolean',
6961
- delay : 'number'
6962
- };
6963
-
6964
- const Default$7 = {
6965
- animation : true,
6966
- autohide : true,
6967
- delay : 500
6968
- };
6969
-
6970
- const Selector$a = {
6971
- DATA_DISMISS : '[data-dismiss="toast"]'
6972
- };
6973
-
6974
- /**
6975
- * ------------------------------------------------------------------------
6976
- * Class Definition
6977
- * ------------------------------------------------------------------------
6978
- */
6979
-
6980
- class Toast {
6981
- constructor(element, config) {
6982
- this._element = element;
6983
- this._config = this._getConfig(config);
6984
- this._timeout = null;
6985
- this._setListeners();
6986
- }
6987
-
6988
- // Getters
6989
-
6990
- static get VERSION() {
6991
- return VERSION$a
6992
- }
6993
-
6994
- static get DefaultType() {
6995
- return DefaultType$7
6996
- }
6997
-
6998
- static get Default() {
6999
- return Default$7
7000
- }
7001
-
7002
- // Public
7003
-
7004
- show() {
7005
- $(this._element).trigger(Event$a.SHOW);
7006
-
7007
- if (this._config.animation) {
7008
- this._element.classList.add(ClassName$a.FADE);
7009
- }
7010
-
7011
- const complete = () => {
7012
- this._element.classList.remove(ClassName$a.SHOWING);
7013
- this._element.classList.add(ClassName$a.SHOW);
7014
-
7015
- $(this._element).trigger(Event$a.SHOWN);
7016
-
7017
- if (this._config.autohide) {
7018
- this.hide();
7019
- }
7020
- };
7021
-
7022
- this._element.classList.remove(ClassName$a.HIDE);
7023
- this._element.classList.add(ClassName$a.SHOWING);
7024
- if (this._config.animation) {
7025
- const transitionDuration = Util.getTransitionDurationFromElement(this._element);
7026
-
7027
- $(this._element)
7028
- .one(Util.TRANSITION_END, complete)
7029
- .emulateTransitionEnd(transitionDuration);
7030
- } else {
7031
- complete();
7032
- }
7033
- }
7034
-
7035
- hide(withoutTimeout) {
7036
- if (!this._element.classList.contains(ClassName$a.SHOW)) {
7037
- return
7038
- }
7039
-
7040
- $(this._element).trigger(Event$a.HIDE);
7041
-
7042
- if (withoutTimeout) {
7043
- this._close();
7044
- } else {
7045
- this._timeout = setTimeout(() => {
7046
- this._close();
7047
- }, this._config.delay);
7048
- }
7049
- }
7050
-
7051
- dispose() {
7052
- clearTimeout(this._timeout);
7053
- this._timeout = null;
7054
-
7055
- if (this._element.classList.contains(ClassName$a.SHOW)) {
7056
- this._element.classList.remove(ClassName$a.SHOW);
7057
- }
7058
-
7059
- $(this._element).off(Event$a.CLICK_DISMISS);
7060
-
7061
- $.removeData(this._element, DATA_KEY$a);
7062
- this._element = null;
7063
- this._config = null;
7064
- }
7065
-
7066
- // Private
7067
-
7068
- _getConfig(config) {
7069
- config = {
7070
- ...Default$7,
7071
- ...$(this._element).data(),
7072
- ...typeof config === 'object' && config ? config : {}
7073
- };
7074
-
7075
- Util.typeCheckConfig(
7076
- NAME$a,
7077
- config,
7078
- this.constructor.DefaultType
7079
- );
7080
-
7081
- return config
7082
- }
7083
-
7084
- _setListeners() {
7085
- $(this._element).on(
7086
- Event$a.CLICK_DISMISS,
7087
- Selector$a.DATA_DISMISS,
7088
- () => this.hide(true)
7089
- );
7090
- }
7091
-
7092
- _close() {
7093
- const complete = () => {
7094
- this._element.classList.add(ClassName$a.HIDE);
7095
- $(this._element).trigger(Event$a.HIDDEN);
7096
- };
7097
-
7098
- this._element.classList.remove(ClassName$a.SHOW);
7099
- if (this._config.animation) {
7100
- const transitionDuration = Util.getTransitionDurationFromElement(this._element);
7101
-
7102
- $(this._element)
7103
- .one(Util.TRANSITION_END, complete)
7104
- .emulateTransitionEnd(transitionDuration);
7105
- } else {
7106
- complete();
7107
- }
7108
- }
7109
-
7110
- // Static
7111
-
7112
- static _jQueryInterface(config) {
7113
- return this.each(function () {
7114
- const $element = $(this);
7115
- let data = $element.data(DATA_KEY$a);
7116
- const _config = typeof config === 'object' && config;
7117
-
7118
- if (!data) {
7119
- data = new Toast(this, _config);
7120
- $element.data(DATA_KEY$a, data);
7121
- }
7122
-
7123
- if (typeof config === 'string') {
7124
- if (typeof data[config] === 'undefined') {
7125
- throw new TypeError(`No method named "${config}"`)
7126
- }
7127
-
7128
- data[config](this);
7129
- }
7130
- })
7131
- }
7132
- }
7133
-
7134
- /**
7135
- * ------------------------------------------------------------------------
7136
- * jQuery
7137
- * ------------------------------------------------------------------------
7138
- */
7139
-
7140
- $.fn[NAME$a] = Toast._jQueryInterface;
7141
- $.fn[NAME$a].Constructor = Toast;
7142
- $.fn[NAME$a].noConflict = () => {
7143
- $.fn[NAME$a] = JQUERY_NO_CONFLICT$a;
7144
- return Toast._jQueryInterface
7145
- };
7146
-
7147
6949
  var dropdownInit = function dropdownInit() {
7148
6950
  // find dropdown with pill class
7149
6951
  var $wrapperDropdownPill = $('.dropdown-with-pill'); // find dropdown with select class
@@ -7373,7 +7175,6 @@
7373
7175
  exports.Popover = Popover;
7374
7176
  exports.Scrollspy = ScrollSpy;
7375
7177
  exports.Tab = Tab;
7376
- exports.Toast = Toast;
7377
7178
  exports.Tooltip = Tooltip;
7378
7179
  exports.Util = Util;
7379
7180