pact_broker 2.89.1 → 2.90.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (681) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/db/ddl_statements/all_verifications.rb +21 -0
  4. data/db/migrations/20210701_recreate_all_verifications.rb +18 -0
  5. data/db/migrations/20211101_recreate_all_verifications.rb +10 -0
  6. data/db/migrations/20211102_create_table_temp_integrations.rb +26 -0
  7. data/db/migrations/20211103_migrate_integrations.rb +21 -0
  8. data/db/migrations/20211104_switch_integrations_and_temp_integrations.rb +25 -0
  9. data/docs/CONFIGURATION.md +30 -0
  10. data/lib/pact_broker/app.rb +1 -1
  11. data/lib/pact_broker/certificates/service.rb +32 -2
  12. data/lib/pact_broker/config/runtime_configuration.rb +9 -0
  13. data/lib/pact_broker/config/runtime_configuration_logging_methods.rb +6 -2
  14. data/lib/pact_broker/db/data_migrations/migrate_integrations.rb +40 -0
  15. data/lib/pact_broker/db/migrate_data.rb +1 -0
  16. data/lib/pact_broker/doc/views/webhooks.markdown +23 -0
  17. data/lib/pact_broker/domain/pacticipant.rb +2 -0
  18. data/lib/pact_broker/integrations/integration.rb +34 -10
  19. data/lib/pact_broker/integrations/repository.rb +22 -0
  20. data/lib/pact_broker/integrations/service.rb +2 -2
  21. data/lib/pact_broker/locale/en.yml +1 -2
  22. data/lib/pact_broker/pacticipants/repository.rb +5 -0
  23. data/lib/pact_broker/pacticipants/service.rb +1 -1
  24. data/lib/pact_broker/pacts/merger.rb +8 -4
  25. data/lib/pact_broker/pacts/pacts_for_verification_repository.rb +1 -1
  26. data/lib/pact_broker/pacts/repository.rb +1 -0
  27. data/lib/pact_broker/repositories.rb +5 -0
  28. data/lib/pact_broker/tasks/clean_task.rb +11 -0
  29. data/lib/pact_broker/test/test_data_builder.rb +6 -0
  30. data/lib/pact_broker/version.rb +1 -1
  31. data/lib/pact_broker/webhooks/pact_and_verification_parameters.rb +1 -2
  32. data/pact_broker.gemspec +8 -1
  33. data/public/css/bootstrap-grid.css +170 -17
  34. data/public/css/bootstrap-grid.css.map +1 -1
  35. data/public/css/bootstrap-grid.min.css +5 -5
  36. data/public/css/bootstrap-grid.min.css.map +1 -1
  37. data/public/css/bootstrap-reboot.css +16 -22
  38. data/public/css/bootstrap-reboot.css.map +1 -1
  39. data/public/css/bootstrap-reboot.min.css +5 -5
  40. data/public/css/bootstrap-reboot.min.css.map +1 -1
  41. data/public/css/bootstrap.css +585 -308
  42. data/public/css/bootstrap.css.map +1 -1
  43. data/public/css/bootstrap.min.css +5 -5
  44. data/public/css/bootstrap.min.css.map +1 -1
  45. data/public/images/question.svg +1 -0
  46. data/public/js/bootstrap.bundle.js +1294 -1335
  47. data/public/js/bootstrap.bundle.js.map +1 -1
  48. data/public/js/bootstrap.bundle.min.js +4 -4
  49. data/public/js/bootstrap.bundle.min.js.map +1 -1
  50. data/public/js/bootstrap.js +1232 -1310
  51. data/public/js/bootstrap.js.map +1 -1
  52. data/public/js/bootstrap.min.js +4 -4
  53. data/public/js/bootstrap.min.js.map +1 -1
  54. metadata +13 -1067
  55. data/.codeclimate.yml +0 -49
  56. data/.csslintrc +0 -2
  57. data/.dockerignore +0 -2
  58. data/.eslintignore +0 -1
  59. data/.eslintrc.yml +0 -277
  60. data/.github/FUNDING.yml +0 -4
  61. data/.github/ISSUE_TEMPLATE.md +0 -32
  62. data/.github/PULL_REQUEST_TEMPLATE.md +0 -9
  63. data/.github/workflows/release_gem.yml +0 -52
  64. data/.github/workflows/test-ruby-3.yml +0 -19
  65. data/.github/workflows/test.yml +0 -95
  66. data/.github/workflows/trigger_pact_docs_update.yml +0 -23
  67. data/.gitignore +0 -45
  68. data/.optic/.gitignore +0 -2
  69. data/.optic/api/specification.json +0 -1
  70. data/.optic/ignore +0 -14
  71. data/.rspec +0 -3
  72. data/.rubocop.yml +0 -314
  73. data/.ruby-version +0 -1
  74. data/CODE_OF_CONDUCT.md +0 -76
  75. data/CONTRIBUTING.md +0 -29
  76. data/DEVELOPER_DOCUMENTATION.md +0 -161
  77. data/DEVELOPER_SETUP.md +0 -165
  78. data/Dockerfile +0 -52
  79. data/ISSUES.md +0 -31
  80. data/LICENSE.txt +0 -22
  81. data/MATRIX.md +0 -4
  82. data/RELEASING.md +0 -5
  83. data/Rakefile +0 -23
  84. data/UPGRADING.md +0 -18
  85. data/config/boot.rb +0 -21
  86. data/config/database.travis.yml +0 -13
  87. data/config/database.yml +0 -79
  88. data/config.ru +0 -11
  89. data/db/test/backwards_compatibility/.rspec +0 -3
  90. data/db/test/backwards_compatibility/Appraisals +0 -57
  91. data/db/test/backwards_compatibility/Gemfile +0 -12
  92. data/db/test/backwards_compatibility/Rakefile +0 -72
  93. data/db/test/backwards_compatibility/config.ru +0 -21
  94. data/db/test/backwards_compatibility/gemfiles/1.18.0.gemfile +0 -15
  95. data/db/test/backwards_compatibility/gemfiles/1.18.0.gemfile.lock +0 -212
  96. data/db/test/backwards_compatibility/gemfiles/2.0.0.gemfile +0 -15
  97. data/db/test/backwards_compatibility/gemfiles/2.0.0.gemfile.lock +0 -210
  98. data/db/test/backwards_compatibility/gemfiles/2.1.0.gemfile +0 -15
  99. data/db/test/backwards_compatibility/gemfiles/2.1.0.gemfile.lock +0 -211
  100. data/db/test/backwards_compatibility/gemfiles/2.2.0.gemfile +0 -15
  101. data/db/test/backwards_compatibility/gemfiles/2.2.0.gemfile.lock +0 -199
  102. data/db/test/backwards_compatibility/gemfiles/2.3.0.gemfile +0 -14
  103. data/db/test/backwards_compatibility/gemfiles/2.3.0.gemfile.lock +0 -198
  104. data/db/test/backwards_compatibility/gemfiles/2.4.2.gemfile +0 -14
  105. data/db/test/backwards_compatibility/gemfiles/2.4.2.gemfile.lock +0 -198
  106. data/db/test/backwards_compatibility/gemfiles/2.5.1.gemfile +0 -14
  107. data/db/test/backwards_compatibility/gemfiles/2.5.1.gemfile.lock +0 -198
  108. data/db/test/backwards_compatibility/gemfiles/2.6.0.gemfile +0 -14
  109. data/db/test/backwards_compatibility/gemfiles/2.6.0.gemfile.lock +0 -198
  110. data/db/test/backwards_compatibility/gemfiles/head.gemfile +0 -14
  111. data/db/test/backwards_compatibility/gemfiles/head.gemfile.lock +0 -182
  112. data/db/test/backwards_compatibility/spec/fixtures/foo-bar.json +0 -22
  113. data/db/test/backwards_compatibility/spec/publish_pact_spec.rb +0 -72
  114. data/db/test/backwards_compatibility/spec/spec_helper.rb +0 -20
  115. data/db/test/backwards_compatibility/spec/support/fixture_helpers.rb +0 -12
  116. data/db/test/backwards_compatibility/spec/support/request_helpers.rb +0 -19
  117. data/db/test/change_migration_strategy/Rakefile +0 -21
  118. data/db/test/change_migration_strategy/before/Gemfile +0 -7
  119. data/docker-compose-ci-mysql.yml +0 -38
  120. data/docker-compose-dev-postgres.yml +0 -43
  121. data/docker-compose-issue-repro-with-pact-broker-docker-image.yml +0 -44
  122. data/docker-compose-test.yml +0 -102
  123. data/docs/configuration.yml +0 -385
  124. data/docs/images/Pactflow logo - black small.png +0 -0
  125. data/example/Gemfile +0 -6
  126. data/example/README.md +0 -64
  127. data/example/config/pact_broker.yml +0 -9
  128. data/example/config/puma.rb +0 -3
  129. data/example/config.ru +0 -10
  130. data/issue-reproduction/Dockerfile-pact-broker +0 -42
  131. data/optic.yml +0 -5
  132. data/pact_broker_client-pact_broker.json +0 -133
  133. data/public/js/npm.js +0 -13
  134. data/regression/.gitignore +0 -1
  135. data/regression/can_i_deploy_spec.rb +0 -43
  136. data/regression/index_spec.rb +0 -26
  137. data/regression/regression_helper.rb +0 -63
  138. data/regression/script/approval-all.sh +0 -6
  139. data/regression/script/clear.sh +0 -3
  140. data/regression/script/run.sh +0 -3
  141. data/scaffolding/README.md +0 -23
  142. data/scaffolding/run.rb +0 -242
  143. data/scaffolding/templates/decorator.rb.erb +0 -15
  144. data/scaffolding/templates/decorator_spec.erb.rb +0 -0
  145. data/scaffolding/templates/migration.erb +0 -12
  146. data/scaffolding/templates/model.erb +0 -14
  147. data/scaffolding/templates/repository.rb.erb +0 -18
  148. data/scaffolding/templates/repository_spec.rb.erb +0 -9
  149. data/scaffolding/templates/resource.erb +0 -46
  150. data/scaffolding/templates/resource_spec.rb.erb +0 -78
  151. data/scaffolding/templates/service.rb.erb +0 -22
  152. data/scaffolding/templates/service_spec.rb.erb +0 -9
  153. data/script/data/auto-create-things-for-tags.rb +0 -22
  154. data/script/data/branches.rb +0 -35
  155. data/script/data/contract-published-requiring-verification.rb +0 -26
  156. data/script/data/environments.rb +0 -45
  157. data/script/data/expand-currently-deployed.rb +0 -47
  158. data/script/data/issue-494.rb +0 -25
  159. data/script/data/pending.rb +0 -26
  160. data/script/data/tags.rb +0 -35
  161. data/script/data/verify-pact-for-multiple-selectors.rb +0 -30
  162. data/script/data/webhook.rb +0 -22
  163. data/script/db-spec.sh +0 -16
  164. data/script/demonstrate-version-branches.rb +0 -33
  165. data/script/dev/rubocop-modified-files.sh +0 -3
  166. data/script/dev/webhook-server-with-random-errors.sh +0 -25
  167. data/script/docker/db-execute-sql-file.sh +0 -2
  168. data/script/docker/db-psql.sh +0 -3
  169. data/script/docker/db-reload.sh +0 -11
  170. data/script/docker/db-restore.sh +0 -5
  171. data/script/docker/db-rm.sh +0 -3
  172. data/script/docker/db-start.sh +0 -7
  173. data/script/docker/mysql-db-start.sh +0 -10
  174. data/script/docker-container/test.sh +0 -3
  175. data/script/docs/generate-api-docs.rb +0 -117
  176. data/script/docs/generate-configuration-docs.rb +0 -107
  177. data/script/docs/regenerate-api-docs.sh +0 -11
  178. data/script/exercise-api-for-optic.sh +0 -3
  179. data/script/foo-bar-verification.json +0 -59
  180. data/script/foo-bar.json +0 -33
  181. data/script/generate-certificates-for-webooks-certificate-spec.rb +0 -49
  182. data/script/generate-erd +0 -55
  183. data/script/github-issues/add-branch-support/issue-text.txt +0 -7
  184. data/script/github-issues/add-branch-support/issues.txt +0 -0
  185. data/script/github-issues/add-branch-support/raise-issue-in-client-repos.sh +0 -10
  186. data/script/github-issues/add-branch-support-for-provider-versions/issue-text.txt +0 -9
  187. data/script/github-issues/add-branch-support-for-provider-versions/issues.txt +0 -6
  188. data/script/github-issues/add-branch-support-for-provider-versions/raise-issue-in-client-repos.sh +0 -10
  189. data/script/github-issues/branch-consumer-version-selector/issue-text.txt +0 -52
  190. data/script/github-issues/branch-consumer-version-selector/issues.txt +0 -9
  191. data/script/github-issues/branch-consumer-version-selector/raise-issue-in-client-repos.sh +0 -10
  192. data/script/github-issues/consumer-version-selectors-docs/issue-text.txt +0 -11
  193. data/script/github-issues/consumer-version-selectors-docs/issues.txt +0 -6
  194. data/script/github-issues/consumer-version-selectors-docs/raise-issue-in-client-repos.sh +0 -10
  195. data/script/github-issues/deployed-and-released-selectors-docs/issue-text.txt +0 -26
  196. data/script/github-issues/deployed-and-released-selectors-docs/issues.txt +0 -9
  197. data/script/github-issues/deployed-and-released-selectors-docs/raise-issue-in-client-repos.sh +0 -10
  198. data/script/github-issues/include-pending-by-default/issue-text.txt +0 -5
  199. data/script/github-issues/include-pending-by-default/issues.txt +0 -10
  200. data/script/github-issues/include-pending-by-default/raise-issue-in-client-repos.sh +0 -10
  201. data/script/import-pg-database.sh +0 -5
  202. data/script/insert-self-signed-certificate-from-url.rb +0 -35
  203. data/script/prod/clean-up.sql +0 -11
  204. data/script/prod/migrate-latest-pacts.sh +0 -29
  205. data/script/prod/redact-data.sql +0 -16
  206. data/script/pry.rb +0 -31
  207. data/script/publish-2.sh +0 -4
  208. data/script/publish-new.sh +0 -31
  209. data/script/publish-not-a-pact.sh +0 -4
  210. data/script/publish-verification.sh +0 -5
  211. data/script/publish.sh +0 -28
  212. data/script/query.rb +0 -20
  213. data/script/recreate-docker-pg-db.sh +0 -20
  214. data/script/recreate-mysql-db.sh +0 -18
  215. data/script/recreate-pg-db.sh +0 -16
  216. data/script/recreate-test-database.sh +0 -2
  217. data/script/release-via-github-action.sh +0 -7
  218. data/script/release.sh +0 -11
  219. data/script/reproduce-issue-can-i-deploy-ignore.rb +0 -48
  220. data/script/reproduce-issue-starting-up.rb +0 -38
  221. data/script/reproduce-issue.rb +0 -37
  222. data/script/restart.sh +0 -18
  223. data/script/run-with-ssl.rb +0 -44
  224. data/script/seed-example-matrix.rb +0 -105
  225. data/script/seed-for-webhook-test.rb +0 -59
  226. data/script/seed-matrix.rb +0 -90
  227. data/script/seed.rb +0 -101
  228. data/script/test/approval-all.sh +0 -6
  229. data/script/test/run-rake-on-docker-compose-mysql.sh +0 -8
  230. data/script/trigger-release.sh +0 -30
  231. data/script/update-hal-browser +0 -6
  232. data/script/watch.sh +0 -7
  233. data/script/webhook-server.ru +0 -10
  234. data/spec/features/base_equality_only_on_content_that_affects_verification_results_spec.rb +0 -34
  235. data/spec/features/can_i_deploy_spec.rb +0 -31
  236. data/spec/features/create_branch_version_spec.rb +0 -29
  237. data/spec/features/create_environment_spec.rb +0 -47
  238. data/spec/features/create_pacticipant_spec.rb +0 -36
  239. data/spec/features/create_tag_spec.rb +0 -42
  240. data/spec/features/create_version_spec.rb +0 -56
  241. data/spec/features/create_webhook_spec.rb +0 -189
  242. data/spec/features/delete_environment_spec.rb +0 -16
  243. data/spec/features/delete_integration_spec.rb +0 -27
  244. data/spec/features/delete_label_spec.rb +0 -28
  245. data/spec/features/delete_pact_spec.rb +0 -31
  246. data/spec/features/delete_pact_versions_for_branch_spec.rb +0 -34
  247. data/spec/features/delete_pact_versions_spec.rb +0 -29
  248. data/spec/features/delete_tagged_pact_versions_spec.rb +0 -28
  249. data/spec/features/delete_verification_spec.rb +0 -27
  250. data/spec/features/delete_version_spec.rb +0 -22
  251. data/spec/features/delete_webhook_spec.rb +0 -34
  252. data/spec/features/edit_webhook_spec.rb +0 -61
  253. data/spec/features/end_deployment_spec.rb +0 -29
  254. data/spec/features/end_support_spec.rb +0 -67
  255. data/spec/features/execute_unsaved_webhook_spec.rb +0 -53
  256. data/spec/features/execute_webhook_spec.rb +0 -92
  257. data/spec/features/get_branch_version_spec.rb +0 -12
  258. data/spec/features/get_can_i_deploy_badge_spec.rb +0 -13
  259. data/spec/features/get_currently_deployed_versions_for_environment_spec.rb +0 -76
  260. data/spec/features/get_currently_deployed_versions_for_version_spec.rb +0 -27
  261. data/spec/features/get_currently_supported_versions_for_environment_spec.rb +0 -57
  262. data/spec/features/get_dashboard_spec.rb +0 -29
  263. data/spec/features/get_deployed_versions_for_version_and_environment.rb +0 -27
  264. data/spec/features/get_diff_spec.rb +0 -53
  265. data/spec/features/get_environment_spec.rb +0 -19
  266. data/spec/features/get_environments_spec.rb +0 -30
  267. data/spec/features/get_integrations_dot_file_spec.rb +0 -23
  268. data/spec/features/get_integrations_spec.rb +0 -17
  269. data/spec/features/get_label_spec.rb +0 -28
  270. data/spec/features/get_latest_pact_badge_spec.rb +0 -54
  271. data/spec/features/get_latest_tagged_pact_badge_spec.rb +0 -38
  272. data/spec/features/get_latest_tagged_pact_spec.rb +0 -22
  273. data/spec/features/get_latest_untagged_pact_badge_spec.rb +0 -38
  274. data/spec/features/get_latest_untagged_pact_spec.rb +0 -22
  275. data/spec/features/get_latest_verification_for_pact_spec.rb +0 -59
  276. data/spec/features/get_matrix_badge_spec.rb +0 -50
  277. data/spec/features/get_matrix_for_consumer_and_provider_spec.rb +0 -22
  278. data/spec/features/get_matrix_spec.rb +0 -34
  279. data/spec/features/get_pact_spec.rb +0 -65
  280. data/spec/features/get_pact_version.rb +0 -36
  281. data/spec/features/get_pact_versions_spec.rb +0 -34
  282. data/spec/features/get_pacticipants_by_label_spec.rb +0 -27
  283. data/spec/features/get_previous_distinct_version.rb +0 -51
  284. data/spec/features/get_provider_pacts_for_verification_spec.rb +0 -95
  285. data/spec/features/get_provider_pacts_spec.rb +0 -93
  286. data/spec/features/get_released_versions_for_version_and_environment.rb +0 -27
  287. data/spec/features/get_tagged_pact_versions_spec.rb +0 -26
  288. data/spec/features/get_triggered_webhooks_for_pact_spec.rb +0 -20
  289. data/spec/features/get_triggered_webhooks_for_verification_spec.rb +0 -21
  290. data/spec/features/get_verifications_for_consumer_version_spec.rb +0 -33
  291. data/spec/features/get_version_spec.rb +0 -44
  292. data/spec/features/get_versions_spec.rb +0 -39
  293. data/spec/features/label_pacticipant_spec.rb +0 -22
  294. data/spec/features/merge_pact_spec.rb +0 -63
  295. data/spec/features/metadata_spec.rb +0 -66
  296. data/spec/features/metrics_spec.rb +0 -23
  297. data/spec/features/pending_pacts_spec.rb +0 -109
  298. data/spec/features/pending_pacts_with_tags_spec.rb +0 -138
  299. data/spec/features/publish_not_a_pact_spec.rb +0 -37
  300. data/spec/features/publish_pact_all_in_one_approval_spec.rb +0 -72
  301. data/spec/features/publish_pact_all_in_one_spec.rb +0 -61
  302. data/spec/features/publish_pact_spec.rb +0 -124
  303. data/spec/features/publish_verification_results_and_version_spec.rb +0 -70
  304. data/spec/features/publish_verification_spec.rb +0 -72
  305. data/spec/features/record_deployment_spec.rb +0 -106
  306. data/spec/features/record_release_spec.rb +0 -84
  307. data/spec/features/record_undeployment_spec.rb +0 -67
  308. data/spec/features/tag_version_spec.rb +0 -13
  309. data/spec/features/update_environment_spec.rb +0 -44
  310. data/spec/features/update_matrix_spec.rb +0 -146
  311. data/spec/features/update_pacticipant_spec.rb +0 -98
  312. data/spec/features/update_version_spec.rb +0 -100
  313. data/spec/features/update_webhook_spec.rb +0 -47
  314. data/spec/features/wip_pacts_spec.rb +0 -387
  315. data/spec/fixtures/a_consumer-a_provider-2.json +0 -22
  316. data/spec/fixtures/a_consumer-a_provider-3.json +0 -22
  317. data/spec/fixtures/a_consumer-a_provider-conflict.json +0 -22
  318. data/spec/fixtures/a_consumer-a_provider-merged.json +0 -34
  319. data/spec/fixtures/a_consumer-a_provider.json +0 -22
  320. data/spec/fixtures/approvals/clean_incremental_dry_run.approved.json +0 -100
  321. data/spec/fixtures/approvals/docs_webhooks_executing_a_saved_webhook_options.approved.json +0 -20
  322. data/spec/fixtures/approvals/docs_webhooks_executing_a_saved_webhook_post.approved.json +0 -43
  323. data/spec/fixtures/approvals/docs_webhooks_executing_an_unsaved_webhook_options.approved.json +0 -20
  324. data/spec/fixtures/approvals/docs_webhooks_executing_an_unsaved_webhook_post.approved.json +0 -63
  325. data/spec/fixtures/approvals/docs_webhooks_logs_of_triggered_webhook_get.approved.json +0 -20
  326. data/spec/fixtures/approvals/docs_webhooks_logs_of_triggered_webhook_options.approved.json +0 -20
  327. data/spec/fixtures/approvals/docs_webhooks_pact_webhooks_get.approved.json +0 -45
  328. data/spec/fixtures/approvals/docs_webhooks_pact_webhooks_options.approved.json +0 -20
  329. data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_pact_publication_get.approved.json +0 -52
  330. data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_pact_publication_options.approved.json +0 -20
  331. data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_verification_publication_get.approved.json +0 -32
  332. data/spec/fixtures/approvals/docs_webhooks_triggered_webhooks_for_verification_publication_options.approved.json +0 -20
  333. data/spec/fixtures/approvals/docs_webhooks_webhook_get.approved.json +0 -74
  334. data/spec/fixtures/approvals/docs_webhooks_webhook_options.approved.json +0 -20
  335. data/spec/fixtures/approvals/docs_webhooks_webhook_put.approved.json +0 -77
  336. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_a_provider_get.approved.json +0 -41
  337. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_a_provider_options.approved.json +0 -20
  338. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_and_provider_get.approved.json +0 -45
  339. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_and_provider_options.approved.json +0 -20
  340. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_get.approved.json +0 -41
  341. data/spec/fixtures/approvals/docs_webhooks_webhooks_for_consumer_options.approved.json +0 -20
  342. data/spec/fixtures/approvals/docs_webhooks_webhooks_get.approved.json +0 -45
  343. data/spec/fixtures/approvals/docs_webhooks_webhooks_options.approved.json +0 -20
  344. data/spec/fixtures/approvals/docs_webhooks_webhooks_post.approved.json +0 -78
  345. data/spec/fixtures/approvals/docs_webhooks_webhooks_status_get.approved.json +0 -79
  346. data/spec/fixtures/approvals/docs_webhooks_webhooks_status_options.approved.json +0 -20
  347. data/spec/fixtures/approvals/get_provider_pacts_for_verification.approved.json +0 -56
  348. data/spec/fixtures/approvals/matrix_integration_environment_spec.approved.json +0 -62
  349. data/spec/fixtures/approvals/matrix_integration_ignore_spec.approved.json +0 -124
  350. data/spec/fixtures/approvals/matrix_integration_spec.approved.json +0 -173
  351. data/spec/fixtures/approvals/modifiable_resources.approved.json +0 -105
  352. data/spec/fixtures/approvals/publish_contract_no_branch.approved.json +0 -165
  353. data/spec/fixtures/approvals/publish_contract_nothing_exists.approved.json +0 -156
  354. data/spec/fixtures/approvals/publish_contract_nothing_exists_with_webhook.approved.json +0 -156
  355. data/spec/fixtures/approvals/publish_contract_verification_already_exists.approved.json +0 -147
  356. data/spec/fixtures/approvals/publish_contract_with_validation_error.approved.json +0 -41
  357. data/spec/fixtures/approvals/publish_contracts_results_decorator.approved.json +0 -61
  358. data/spec/fixtures/certificate-invalid.pem +0 -29
  359. data/spec/fixtures/certificate.pem +0 -53
  360. data/spec/fixtures/certificates/cacert.pem +0 -21
  361. data/spec/fixtures/certificates/cert.pem +0 -20
  362. data/spec/fixtures/certificates/key.pem +0 -27
  363. data/spec/fixtures/certificates/self-signed.badssl.com.pem +0 -21
  364. data/spec/fixtures/consumer-provider.json +0 -25
  365. data/spec/fixtures/dashboard.json +0 -87
  366. data/spec/fixtures/expected.gv +0 -4
  367. data/spec/fixtures/foo-bar.json +0 -22
  368. data/spec/fixtures/invalid-publish-contract-body.json +0 -38
  369. data/spec/fixtures/renderer_pact.json +0 -34
  370. data/spec/fixtures/update_pacticipant.json +0 -5
  371. data/spec/fixtures/updated_pacticipant.json +0 -11
  372. data/spec/fixtures/verification.json +0 -11
  373. data/spec/fixtures/webhook_valid.json +0 -17
  374. data/spec/fixtures/webhook_valid_with_pacticipants.json +0 -23
  375. data/spec/integration/app_spec.rb +0 -209
  376. data/spec/integration/endpoints/group_spec.rb +0 -19
  377. data/spec/integration/pact_metdata_spec.rb +0 -105
  378. data/spec/integration/ui/index_spec.rb +0 -50
  379. data/spec/integration/ui/matrix_spec.rb +0 -36
  380. data/spec/integration/webhooks/certificate_spec.rb +0 -47
  381. data/spec/integration/webhooks/contract_publication_spec.rb +0 -68
  382. data/spec/integration/webhooks/contract_requiring_verification_published_spec.rb +0 -67
  383. data/spec/integration/webhooks/pact_publication_spec.rb +0 -51
  384. data/spec/integration/webhooks_documentation_spec.rb +0 -348
  385. data/spec/lib/pact/doc/generator_spec.rb +0 -80
  386. data/spec/lib/pact/doc/interaction_view_model_spec.rb +0 -232
  387. data/spec/lib/pact/doc/markdown/consumer_contract_renderer_spec.rb +0 -71
  388. data/spec/lib/pact/doc/markdown/index_renderer_spec.rb +0 -29
  389. data/spec/lib/pact_broker/api/contracts/environment_schema_spec.rb +0 -91
  390. data/spec/lib/pact_broker/api/contracts/pacticipant_schema_spec.rb +0 -46
  391. data/spec/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema_combinations_spec.rb +0 -87
  392. data/spec/lib/pact_broker/api/contracts/pacts_for_verification_json_query_schema_spec.rb +0 -358
  393. data/spec/lib/pact_broker/api/contracts/pacts_for_verification_query_string_schema_spec.rb +0 -97
  394. data/spec/lib/pact_broker/api/contracts/publish_contracts_schema_spec.rb +0 -127
  395. data/spec/lib/pact_broker/api/contracts/put_pact_params_contract_spec.rb +0 -133
  396. data/spec/lib/pact_broker/api/contracts/verification_contract_spec.rb +0 -112
  397. data/spec/lib/pact_broker/api/contracts/webhook_contract_spec.rb +0 -379
  398. data/spec/lib/pact_broker/api/decorators/dashboard_decorator_spec.rb +0 -94
  399. data/spec/lib/pact_broker/api/decorators/embedded_label_decorator_spec.rb +0 -34
  400. data/spec/lib/pact_broker/api/decorators/embedded_tag_decorator_spec.rb +0 -41
  401. data/spec/lib/pact_broker/api/decorators/embedded_version_decorator_spec.rb +0 -39
  402. data/spec/lib/pact_broker/api/decorators/extended_pact_decorator_spec.rb +0 -62
  403. data/spec/lib/pact_broker/api/decorators/integration_decorator_spec.rb +0 -86
  404. data/spec/lib/pact_broker/api/decorators/integrations_decorator_spec.rb +0 -29
  405. data/spec/lib/pact_broker/api/decorators/label_decorator_spec.rb +0 -42
  406. data/spec/lib/pact_broker/api/decorators/latest_pact_decorator_spec.rb +0 -25
  407. data/spec/lib/pact_broker/api/decorators/matrix_decorator_spec.rb +0 -259
  408. data/spec/lib/pact_broker/api/decorators/pact_collection_decorator_spec.rb +0 -23
  409. data/spec/lib/pact_broker/api/decorators/pact_decorator_spec.rb +0 -136
  410. data/spec/lib/pact_broker/api/decorators/pact_version_decorator_spec.rb +0 -61
  411. data/spec/lib/pact_broker/api/decorators/pact_webhooks_status_decorator_spec.rb +0 -138
  412. data/spec/lib/pact_broker/api/decorators/pacticipant_collection_decorator_spec.rb +0 -62
  413. data/spec/lib/pact_broker/api/decorators/pacticipant_decorator_spec.rb +0 -89
  414. data/spec/lib/pact_broker/api/decorators/pacts_for_verification_query_decorator_spec.rb +0 -175
  415. data/spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb +0 -58
  416. data/spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb +0 -53
  417. data/spec/lib/pact_broker/api/decorators/reason_decorator_spec.rb +0 -95
  418. data/spec/lib/pact_broker/api/decorators/relationships_csv_decorator_spec.rb +0 -28
  419. data/spec/lib/pact_broker/api/decorators/representable_pact_spec.rb +0 -29
  420. data/spec/lib/pact_broker/api/decorators/tag_decorator_spec.rb +0 -57
  421. data/spec/lib/pact_broker/api/decorators/tagged_pact_versions_decorator_spec.rb +0 -79
  422. data/spec/lib/pact_broker/api/decorators/triggered_webhook_decorator_spec.rb +0 -69
  423. data/spec/lib/pact_broker/api/decorators/triggered_webhooks_decorator_spec.rb +0 -28
  424. data/spec/lib/pact_broker/api/decorators/verifiable_pact_decorator_spec.rb +0 -94
  425. data/spec/lib/pact_broker/api/decorators/verifiable_pacts_decorator_spec.rb +0 -29
  426. data/spec/lib/pact_broker/api/decorators/verification_decorator_spec.rb +0 -81
  427. data/spec/lib/pact_broker/api/decorators/verification_summary_decorator_spec.rb +0 -65
  428. data/spec/lib/pact_broker/api/decorators/version_decorator_spec.rb +0 -121
  429. data/spec/lib/pact_broker/api/decorators/versions_decorator_spec.rb +0 -49
  430. data/spec/lib/pact_broker/api/decorators/webhook_decorator_spec.rb +0 -210
  431. data/spec/lib/pact_broker/api/decorators/webhook_execution_result_decorator_spec.rb +0 -128
  432. data/spec/lib/pact_broker/api/decorators/webhook_request_template_decorator_spec.rb +0 -78
  433. data/spec/lib/pact_broker/api/decorators/webhooks_decorator_spec.rb +0 -48
  434. data/spec/lib/pact_broker/api/middleware/basic_auth_spec.rb +0 -312
  435. data/spec/lib/pact_broker/api/middleware/configuration_spec.rb +0 -43
  436. data/spec/lib/pact_broker/api/pact_broker_urls_spec.rb +0 -221
  437. data/spec/lib/pact_broker/api/renderers/html_pact_renderer_spec.rb +0 -141
  438. data/spec/lib/pact_broker/api/renderers/integrations_dot_renderer_spec.rb +0 -29
  439. data/spec/lib/pact_broker/api/resources/all_webhooks_spec.rb +0 -145
  440. data/spec/lib/pact_broker/api/resources/badge_spec.rb +0 -212
  441. data/spec/lib/pact_broker/api/resources/can_i_deploy_badge_spec.rb +0 -80
  442. data/spec/lib/pact_broker/api/resources/can_i_deploy_pacticipant_version_spec.rb +0 -31
  443. data/spec/lib/pact_broker/api/resources/can_i_deploy_spec.rb +0 -51
  444. data/spec/lib/pact_broker/api/resources/dashboard_spec.rb +0 -36
  445. data/spec/lib/pact_broker/api/resources/default_base_resource_approval_spec.rb +0 -60
  446. data/spec/lib/pact_broker/api/resources/default_base_resource_spec.rb +0 -224
  447. data/spec/lib/pact_broker/api/resources/error_response_body_generator_spec.rb +0 -69
  448. data/spec/lib/pact_broker/api/resources/group_spec.rb +0 -82
  449. data/spec/lib/pact_broker/api/resources/latest_pact_spec.rb +0 -80
  450. data/spec/lib/pact_broker/api/resources/latest_provider_pacts_spec.rb +0 -52
  451. data/spec/lib/pact_broker/api/resources/latest_verifications_for_consumer_version_spec.rb +0 -68
  452. data/spec/lib/pact_broker/api/resources/matrix_badge_spec.rb +0 -11
  453. data/spec/lib/pact_broker/api/resources/matrix_spec.rb +0 -42
  454. data/spec/lib/pact_broker/api/resources/pact_spec.rb +0 -178
  455. data/spec/lib/pact_broker/api/resources/pact_triggered_webhooks_spec.rb +0 -54
  456. data/spec/lib/pact_broker/api/resources/pacticipant_spec.rb +0 -60
  457. data/spec/lib/pact_broker/api/resources/pacticipant_webhooks_spec.rb +0 -238
  458. data/spec/lib/pact_broker/api/resources/pacticipants_spec.rb +0 -87
  459. data/spec/lib/pact_broker/api/resources/provider_pacts_for_verification_spec.rb +0 -116
  460. data/spec/lib/pact_broker/api/resources/provider_pacts_spec.rb +0 -75
  461. data/spec/lib/pact_broker/api/resources/released_version_spec.rb +0 -61
  462. data/spec/lib/pact_broker/api/resources/tag_spec.rb +0 -166
  463. data/spec/lib/pact_broker/api/resources/tagged_pact_versions_spec.rb +0 -96
  464. data/spec/lib/pact_broker/api/resources/triggered_webhook_logs_spec.rb +0 -32
  465. data/spec/lib/pact_broker/api/resources/verification_spec.rb +0 -87
  466. data/spec/lib/pact_broker/api/resources/verification_triggered_webhooks_spec.rb +0 -67
  467. data/spec/lib/pact_broker/api/resources/verifications_spec.rb +0 -135
  468. data/spec/lib/pact_broker/api/resources/webhook_execution_spec.rb +0 -92
  469. data/spec/lib/pact_broker/api/resources/webhook_spec.rb +0 -115
  470. data/spec/lib/pact_broker/app_basic_auth_spec.rb +0 -122
  471. data/spec/lib/pact_broker/app_spec.rb +0 -348
  472. data/spec/lib/pact_broker/badges/service_spec.rb +0 -348
  473. data/spec/lib/pact_broker/build_http_options_spec.rb +0 -47
  474. data/spec/lib/pact_broker/certificates/service_spec.rb +0 -80
  475. data/spec/lib/pact_broker/config/load_spec.rb +0 -110
  476. data/spec/lib/pact_broker/config/runtime_configuration_documentation_spec.rb +0 -30
  477. data/spec/lib/pact_broker/config/runtime_configuration_logging_methods_spec.rb +0 -22
  478. data/spec/lib/pact_broker/config/runtime_configuration_spec.rb +0 -71
  479. data/spec/lib/pact_broker/config/save_spec.rb +0 -100
  480. data/spec/lib/pact_broker/config/space_delimited_integer_list_spec.rb +0 -47
  481. data/spec/lib/pact_broker/config/space_delimited_string_list_spec.rb +0 -45
  482. data/spec/lib/pact_broker/configuration_spec.rb +0 -167
  483. data/spec/lib/pact_broker/contracts/service_spec.rb +0 -193
  484. data/spec/lib/pact_broker/db/clean_incremental_spec.rb +0 -120
  485. data/spec/lib/pact_broker/db/clean_old_spec.rb +0 -123
  486. data/spec/lib/pact_broker/db/clean_spec.rb +0 -153
  487. data/spec/lib/pact_broker/db/data_migrations/create_branches_spec.rb +0 -57
  488. data/spec/lib/pact_broker/db/data_migrations/migrate_webhook_headers_spec.rb +0 -78
  489. data/spec/lib/pact_broker/db/data_migrations/set_consumer_ids_for_pact_publications_spec.rb +0 -40
  490. data/spec/lib/pact_broker/db/data_migrations/set_interactions_counts_spec.rb +0 -38
  491. data/spec/lib/pact_broker/db/data_migrations/set_latest_version_sequence_value_spec.rb +0 -68
  492. data/spec/lib/pact_broker/db/data_migrations/set_pacticipant_main_branch_spec.rb +0 -41
  493. data/spec/lib/pact_broker/db/delete_overwritten_data_spec.rb +0 -161
  494. data/spec/lib/pact_broker/db/log_quietener_spec.rb +0 -52
  495. data/spec/lib/pact_broker/db/validate_encoding_spec.rb +0 -66
  496. data/spec/lib/pact_broker/deployments/deployed_version_service_spec.rb +0 -42
  497. data/spec/lib/pact_broker/deployments/deployed_version_spec.rb +0 -109
  498. data/spec/lib/pact_broker/deployments/environment_service_spec.rb +0 -58
  499. data/spec/lib/pact_broker/deployments/environment_spec.rb +0 -27
  500. data/spec/lib/pact_broker/diagnostic/resources/dependencies_spec.rb +0 -85
  501. data/spec/lib/pact_broker/diagnostic/resources/heartbeat_spec.rb +0 -34
  502. data/spec/lib/pact_broker/doc/controllers/app_spec.rb +0 -82
  503. data/spec/lib/pact_broker/doc/coverage_spec.rb +0 -39
  504. data/spec/lib/pact_broker/domain/group_spec.rb +0 -25
  505. data/spec/lib/pact_broker/domain/index_item_spec.rb +0 -24
  506. data/spec/lib/pact_broker/domain/order_versions_spec.rb +0 -84
  507. data/spec/lib/pact_broker/domain/pact_spec.rb +0 -27
  508. data/spec/lib/pact_broker/domain/tag_spec.rb +0 -134
  509. data/spec/lib/pact_broker/domain/verification_spec.rb +0 -133
  510. data/spec/lib/pact_broker/domain/version_spec.rb +0 -490
  511. data/spec/lib/pact_broker/domain/webhook_request_spec.rb +0 -196
  512. data/spec/lib/pact_broker/domain/webhook_spec.rb +0 -168
  513. data/spec/lib/pact_broker/errors/error_logger_spec.rb +0 -65
  514. data/spec/lib/pact_broker/errors_spec.rb +0 -54
  515. data/spec/lib/pact_broker/events/subscriber_spec.rb +0 -43
  516. data/spec/lib/pact_broker/feature_toggle_spec.rb +0 -80
  517. data/spec/lib/pact_broker/groups/service_spec.rb +0 -52
  518. data/spec/lib/pact_broker/hash_refinements_spec.rb +0 -63
  519. data/spec/lib/pact_broker/index/service_spec.rb +0 -400
  520. data/spec/lib/pact_broker/index/service_view_spec.rb +0 -144
  521. data/spec/lib/pact_broker/integrations/integration_spec.rb +0 -108
  522. data/spec/lib/pact_broker/integrations/service_spec.rb +0 -282
  523. data/spec/lib/pact_broker/labels/repository_spec.rb +0 -124
  524. data/spec/lib/pact_broker/labels/service_spec.rb +0 -28
  525. data/spec/lib/pact_broker/matrix/aggregated_row_spec.rb +0 -100
  526. data/spec/lib/pact_broker/matrix/can_i_deploy_query_schema_spec.rb +0 -72
  527. data/spec/lib/pact_broker/matrix/deployment_status_summary_spec.rb +0 -300
  528. data/spec/lib/pact_broker/matrix/every_row_spec.rb +0 -133
  529. data/spec/lib/pact_broker/matrix/head_row_spec.rb +0 -89
  530. data/spec/lib/pact_broker/matrix/integration_environment_spec.rb +0 -187
  531. data/spec/lib/pact_broker/matrix/integration_ignore_spec.rb +0 -238
  532. data/spec/lib/pact_broker/matrix/integration_spec.rb +0 -504
  533. data/spec/lib/pact_broker/matrix/parse_can_i_deploy_query_spec.rb +0 -77
  534. data/spec/lib/pact_broker/matrix/parse_query_spec.rb +0 -141
  535. data/spec/lib/pact_broker/matrix/quick_row_spec.rb +0 -74
  536. data/spec/lib/pact_broker/matrix/repository_dependency_spec.rb +0 -56
  537. data/spec/lib/pact_broker/matrix/repository_query_limit_spec.rb +0 -78
  538. data/spec/lib/pact_broker/matrix/repository_spec.rb +0 -888
  539. data/spec/lib/pact_broker/matrix/row_spec.rb +0 -74
  540. data/spec/lib/pact_broker/matrix/service_spec.rb +0 -200
  541. data/spec/lib/pact_broker/messages_spec.rb +0 -29
  542. data/spec/lib/pact_broker/metrics/service_spec.rb +0 -131
  543. data/spec/lib/pact_broker/pacticipants/find_potential_duplicate_pacticipant_names_spec.rb +0 -63
  544. data/spec/lib/pact_broker/pacticipants/generate_display_name_spec.rb +0 -39
  545. data/spec/lib/pact_broker/pacticipants/repository_spec.rb +0 -239
  546. data/spec/lib/pact_broker/pacticipants/service_spec.rb +0 -217
  547. data/spec/lib/pact_broker/pacts/build_verifiable_pact_notices_spec.rb +0 -75
  548. data/spec/lib/pact_broker/pacts/content_spec.rb +0 -447
  549. data/spec/lib/pact_broker/pacts/create_formatted_diff_spec.rb +0 -29
  550. data/spec/lib/pact_broker/pacts/diff_spec.rb +0 -99
  551. data/spec/lib/pact_broker/pacts/generate_interaction_sha_spec.rb +0 -45
  552. data/spec/lib/pact_broker/pacts/generate_sha_spec.rb +0 -92
  553. data/spec/lib/pact_broker/pacts/merger_spec.rb +0 -171
  554. data/spec/lib/pact_broker/pacts/metadata_spec.rb +0 -147
  555. data/spec/lib/pact_broker/pacts/pact_params_spec.rb +0 -111
  556. data/spec/lib/pact_broker/pacts/pact_publication_clean_selector_dataset_module_spec.rb +0 -97
  557. data/spec/lib/pact_broker/pacts/pact_publication_dataset_module_spec.rb +0 -499
  558. data/spec/lib/pact_broker/pacts/pact_publication_latest_verification_spec.rb +0 -29
  559. data/spec/lib/pact_broker/pacts/pact_publication_selector_dataset_module_spec.rb +0 -185
  560. data/spec/lib/pact_broker/pacts/pact_publication_spec.rb +0 -559
  561. data/spec/lib/pact_broker/pacts/pact_version_spec.rb +0 -343
  562. data/spec/lib/pact_broker/pacts/repository_find_for_currently_deployed_spec.rb +0 -124
  563. data/spec/lib/pact_broker/pacts/repository_find_for_currently_supported_releases_spec.rb +0 -159
  564. data/spec/lib/pact_broker/pacts/repository_find_for_verification_fallback_spec.rb +0 -87
  565. data/spec/lib/pact_broker/pacts/repository_find_for_verification_spec.rb +0 -380
  566. data/spec/lib/pact_broker/pacts/repository_find_wip_pact_versions_for_provider_branch_spec.rb +0 -282
  567. data/spec/lib/pact_broker/pacts/repository_find_wip_pact_versions_for_provider_spec.rb +0 -375
  568. data/spec/lib/pact_broker/pacts/repository_spec.rb +0 -1079
  569. data/spec/lib/pact_broker/pacts/selected_pact_spec.rb +0 -23
  570. data/spec/lib/pact_broker/pacts/selector_spec.rb +0 -77
  571. data/spec/lib/pact_broker/pacts/selectors_spec.rb +0 -30
  572. data/spec/lib/pact_broker/pacts/service_spec.rb +0 -355
  573. data/spec/lib/pact_broker/pacts/sort_content_spec.rb +0 -57
  574. data/spec/lib/pact_broker/pacts/squash_pacts_for_verification_spec.rb +0 -70
  575. data/spec/lib/pact_broker/pacts/verifiable_pact_messages_spec.rb +0 -253
  576. data/spec/lib/pact_broker/pacts/verifiable_pact_spec.rb +0 -0
  577. data/spec/lib/pact_broker/relationships/groupify_spec.rb +0 -43
  578. data/spec/lib/pact_broker/tags/repository_spec.rb +0 -144
  579. data/spec/lib/pact_broker/tags/service_spec.rb +0 -66
  580. data/spec/lib/pact_broker/ui/controllers/can_i_deploy_spec.rb +0 -26
  581. data/spec/lib/pact_broker/ui/controllers/clusters_spec.rb +0 -27
  582. data/spec/lib/pact_broker/ui/controllers/index_spec.rb +0 -132
  583. data/spec/lib/pact_broker/ui/view_models/index_item_spec.rb +0 -173
  584. data/spec/lib/pact_broker/ui/view_models/index_items_spec.rb +0 -35
  585. data/spec/lib/pact_broker/ui/view_models/matrix_deployed_version_spec.rb +0 -29
  586. data/spec/lib/pact_broker/ui/view_models/matrix_line_spec.rb +0 -41
  587. data/spec/lib/pact_broker/verifications/pseudo_branch_status_spec.rb +0 -56
  588. data/spec/lib/pact_broker/verifications/repository_spec.rb +0 -350
  589. data/spec/lib/pact_broker/verifications/sequence_spec.rb +0 -73
  590. data/spec/lib/pact_broker/verifications/service_spec.rb +0 -266
  591. data/spec/lib/pact_broker/verifications/summary_for_consumer_version_spec.rb +0 -72
  592. data/spec/lib/pact_broker/versions/abbreviate_number_spec.rb +0 -23
  593. data/spec/lib/pact_broker/versions/branch_service_spec.rb +0 -71
  594. data/spec/lib/pact_broker/versions/branch_version_repository_spec.rb +0 -81
  595. data/spec/lib/pact_broker/versions/branch_version_spec.rb +0 -27
  596. data/spec/lib/pact_broker/versions/parse_semantic_version_spec.rb +0 -42
  597. data/spec/lib/pact_broker/versions/repository_spec.rb +0 -302
  598. data/spec/lib/pact_broker/versions/service_spec.rb +0 -137
  599. data/spec/lib/pact_broker/webhooks/check_host_whitelist_spec.rb +0 -85
  600. data/spec/lib/pact_broker/webhooks/execution_configuration_spec.rb +0 -18
  601. data/spec/lib/pact_broker/webhooks/job_spec.rb +0 -188
  602. data/spec/lib/pact_broker/webhooks/pact_and_verification_parameters_spec.rb +0 -16
  603. data/spec/lib/pact_broker/webhooks/redact_logs_spec.rb +0 -60
  604. data/spec/lib/pact_broker/webhooks/render_spec.rb +0 -221
  605. data/spec/lib/pact_broker/webhooks/repository_spec.rb +0 -933
  606. data/spec/lib/pact_broker/webhooks/service_spec.rb +0 -184
  607. data/spec/lib/pact_broker/webhooks/status_spec.rb +0 -54
  608. data/spec/lib/pact_broker/webhooks/trigger_service_spec.rb +0 -461
  609. data/spec/lib/pact_broker/webhooks/triggered_webhook_spec.rb +0 -40
  610. data/spec/lib/pact_broker/webhooks/webhook_request_logger_spec.rb +0 -207
  611. data/spec/lib/pact_broker/webhooks/webhook_request_template_spec.rb +0 -227
  612. data/spec/lib/pact_broker/webhooks/webhook_spec.rb +0 -39
  613. data/spec/lib/rack/hal_browser/redirect_spec.rb +0 -63
  614. data/spec/lib/rack/pact_broker/add_pact_broker_version_header_spec.rb +0 -16
  615. data/spec/lib/rack/pact_broker/database_transaction_spec.rb +0 -77
  616. data/spec/lib/rack/pact_broker/invalid_uri_protection_spec.rb +0 -50
  617. data/spec/lib/rack/pact_broker/request_target_spec.rb +0 -69
  618. data/spec/lib/rack/pact_broker/set_base_url_spec.rb +0 -86
  619. data/spec/lib/rack/pact_broker/use_when_spec.rb +0 -49
  620. data/spec/lib/sequel/plugins/insert_ignore_spec.rb +0 -82
  621. data/spec/lib/sequel/plugins/upsert_spec.rb +0 -159
  622. data/spec/lib/webmachine/rack_adapter_monkey_patch_spec.rb +0 -49
  623. data/spec/migrations/20180201_create_head_matrix_spec.rb +0 -132
  624. data/spec/migrations/23_pact_versions_spec.rb +0 -77
  625. data/spec/migrations/24_populate_pact_contents_spec.rb +0 -22
  626. data/spec/migrations/34_latest_tagged_pacts_spec.rb +0 -84
  627. data/spec/migrations/34_pact_revisions_spec.rb +0 -82
  628. data/spec/migrations/41_migrate_execution_data_spec.rb +0 -109
  629. data/spec/migrations/42_delete_ophan_webhook_data_spec.rb +0 -98
  630. data/spec/migrations/44_add_provider_version_to_verification_spec.rb +0 -56
  631. data/spec/migrations/50_create_latest_matrix_spec.rb +0 -181
  632. data/spec/migrations/change_migration_strategy_spec.rb +0 -85
  633. data/spec/migrations/rollback_spec.rb +0 -8
  634. data/spec/service_consumers/hal_relation_proxy_app.rb +0 -61
  635. data/spec/service_consumers/pact_helper.rb +0 -61
  636. data/spec/service_consumers/provider_states_for_pact_broker_client.rb +0 -341
  637. data/spec/service_consumers/provider_states_for_pact_broker_client_2.rb +0 -36
  638. data/spec/service_consumers/provider_states_for_pact_ruby.rb +0 -158
  639. data/spec/spec_helper.rb +0 -65
  640. data/spec/support/approvals.rb +0 -55
  641. data/spec/support/database.rb +0 -9
  642. data/spec/support/database_cleaner.rb +0 -44
  643. data/spec/support/documentation.rb +0 -64
  644. data/spec/support/fixture_helpers.rb +0 -10
  645. data/spec/support/fixture_pact.rb +0 -34
  646. data/spec/support/foo-bar.json +0 -34
  647. data/spec/support/generated_index.md +0 -4
  648. data/spec/support/generated_markdown.md +0 -55
  649. data/spec/support/interaction_view_model.json +0 -63
  650. data/spec/support/interaction_view_model_with_terms.json +0 -50
  651. data/spec/support/logging.rb +0 -6
  652. data/spec/support/markdown_pact.json +0 -48
  653. data/spec/support/markdown_pact_v3.json +0 -44
  654. data/spec/support/markdown_pact_with_html.json +0 -27
  655. data/spec/support/markdown_pact_with_markdown_chars_in_names.json +0 -11
  656. data/spec/support/metadata_test_server.rb +0 -40
  657. data/spec/support/migration_helpers.rb +0 -16
  658. data/spec/support/rack_helpers.rb +0 -20
  659. data/spec/support/rspec_match_hash.rb +0 -26
  660. data/spec/support/rspec_matchers.rb +0 -9
  661. data/spec/support/shared_context.rb +0 -32
  662. data/spec/support/shared_examples_for_responses.rb +0 -96
  663. data/spec/support/simplecov.rb +0 -23
  664. data/spec/support/ssl_pact_broker_server.rb +0 -46
  665. data/spec/support/ssl_webhook_server.rb +0 -39
  666. data/spec/support/test_data_builder.rb +0 -3
  667. data/spec/support/verification_job.rb +0 -37
  668. data/spec/support/warning_silencer.rb +0 -10
  669. data/spec/support/webhook_endpoint_middleware.rb +0 -22
  670. data/tasks/audit.rake +0 -6
  671. data/tasks/database/annotate.rb +0 -48
  672. data/tasks/database/table_dependency_calculator.rb +0 -8
  673. data/tasks/database.rb +0 -161
  674. data/tasks/db.rake +0 -147
  675. data/tasks/development.rake +0 -52
  676. data/tasks/docker_database.rb +0 -26
  677. data/tasks/pact.rake +0 -16
  678. data/tasks/release.rake +0 -6
  679. data/tasks/rspec.rake +0 -32
  680. data/tasks/test_db.rake +0 -32
  681. data/vendor/hal-browser/.gitignore +0 -1
@@ -1,16 +1,18 @@
1
1
  /*!
2
- * Bootstrap v4.3.1 (https://getbootstrap.com/)
3
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2
+ * Bootstrap v4.6.1 (https://getbootstrap.com/)
3
+ * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
7
7
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :
8
8
  typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :
9
- (global = global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));
10
- }(this, function (exports, $, Popper) { 'use strict';
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));
10
+ })(this, (function (exports, $, Popper) { 'use strict';
11
11
 
12
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
- Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var $__default = /*#__PURE__*/_interopDefaultLegacy($);
15
+ var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);
14
16
 
15
17
  function _defineProperties(target, props) {
16
18
  for (var i = 0; i < props.length; i++) {
@@ -28,56 +30,48 @@
28
30
  return Constructor;
29
31
  }
30
32
 
31
- function _defineProperty(obj, key, value) {
32
- if (key in obj) {
33
- Object.defineProperty(obj, key, {
34
- value: value,
35
- enumerable: true,
36
- configurable: true,
37
- writable: true
38
- });
39
- } else {
40
- obj[key] = value;
41
- }
42
-
43
- return obj;
44
- }
45
-
46
- function _objectSpread(target) {
47
- for (var i = 1; i < arguments.length; i++) {
48
- var source = arguments[i] != null ? arguments[i] : {};
49
- var ownKeys = Object.keys(source);
33
+ function _extends() {
34
+ _extends = Object.assign || function (target) {
35
+ for (var i = 1; i < arguments.length; i++) {
36
+ var source = arguments[i];
50
37
 
51
- if (typeof Object.getOwnPropertySymbols === 'function') {
52
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
53
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
54
- }));
38
+ for (var key in source) {
39
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
40
+ target[key] = source[key];
41
+ }
42
+ }
55
43
  }
56
44
 
57
- ownKeys.forEach(function (key) {
58
- _defineProperty(target, key, source[key]);
59
- });
60
- }
45
+ return target;
46
+ };
61
47
 
62
- return target;
48
+ return _extends.apply(this, arguments);
63
49
  }
64
50
 
65
51
  function _inheritsLoose(subClass, superClass) {
66
52
  subClass.prototype = Object.create(superClass.prototype);
67
53
  subClass.prototype.constructor = subClass;
68
- subClass.__proto__ = superClass;
54
+
55
+ _setPrototypeOf(subClass, superClass);
56
+ }
57
+
58
+ function _setPrototypeOf(o, p) {
59
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
60
+ o.__proto__ = p;
61
+ return o;
62
+ };
63
+
64
+ return _setPrototypeOf(o, p);
69
65
  }
70
66
 
71
67
  /**
72
68
  * --------------------------------------------------------------------------
73
- * Bootstrap (v4.3.1): util.js
74
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
69
+ * Bootstrap (v4.6.1): util.js
70
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
75
71
  * --------------------------------------------------------------------------
76
72
  */
77
73
  /**
78
- * ------------------------------------------------------------------------
79
74
  * Private TransitionEnd Helpers
80
- * ------------------------------------------------------------------------
81
75
  */
82
76
 
83
77
  var TRANSITION_END = 'transitionend';
@@ -85,6 +79,10 @@
85
79
  var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
86
80
 
87
81
  function toType(obj) {
82
+ if (obj === null || typeof obj === 'undefined') {
83
+ return "" + obj;
84
+ }
85
+
88
86
  return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
89
87
  }
90
88
 
@@ -93,11 +91,11 @@
93
91
  bindType: TRANSITION_END,
94
92
  delegateType: TRANSITION_END,
95
93
  handle: function handle(event) {
96
- if ($(event.target).is(this)) {
94
+ if ($__default["default"](event.target).is(this)) {
97
95
  return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
98
96
  }
99
97
 
100
- return undefined; // eslint-disable-line no-undefined
98
+ return undefined;
101
99
  }
102
100
  };
103
101
  }
@@ -106,7 +104,7 @@
106
104
  var _this = this;
107
105
 
108
106
  var called = false;
109
- $(this).one(Util.TRANSITION_END, function () {
107
+ $__default["default"](this).one(Util.TRANSITION_END, function () {
110
108
  called = true;
111
109
  });
112
110
  setTimeout(function () {
@@ -118,13 +116,11 @@
118
116
  }
119
117
 
120
118
  function setTransitionEndSupport() {
121
- $.fn.emulateTransitionEnd = transitionEndEmulator;
122
- $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
119
+ $__default["default"].fn.emulateTransitionEnd = transitionEndEmulator;
120
+ $__default["default"].event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
123
121
  }
124
122
  /**
125
- * --------------------------------------------------------------------------
126
- * Public Util Api
127
- * --------------------------------------------------------------------------
123
+ * Public Util API
128
124
  */
129
125
 
130
126
 
@@ -148,7 +144,7 @@
148
144
 
149
145
  try {
150
146
  return document.querySelector(selector) ? selector : null;
151
- } catch (err) {
147
+ } catch (_) {
152
148
  return null;
153
149
  }
154
150
  },
@@ -158,8 +154,8 @@
158
154
  } // Get transition-duration of the element
159
155
 
160
156
 
161
- var transitionDuration = $(element).css('transition-duration');
162
- var transitionDelay = $(element).css('transition-delay');
157
+ var transitionDuration = $__default["default"](element).css('transition-duration');
158
+ var transitionDelay = $__default["default"](element).css('transition-delay');
163
159
  var floatTransitionDuration = parseFloat(transitionDuration);
164
160
  var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
165
161
 
@@ -176,9 +172,8 @@
176
172
  return element.offsetHeight;
177
173
  },
178
174
  triggerTransitionEnd: function triggerTransitionEnd(element) {
179
- $(element).trigger(TRANSITION_END);
175
+ $__default["default"](element).trigger(TRANSITION_END);
180
176
  },
181
- // TODO: Remove in v5
182
177
  supportsTransitionEnd: function supportsTransitionEnd() {
183
178
  return Boolean(TRANSITION_END);
184
179
  },
@@ -219,45 +214,49 @@
219
214
  }
220
215
 
221
216
  return Util.findShadowRoot(element.parentNode);
217
+ },
218
+ jQueryDetection: function jQueryDetection() {
219
+ if (typeof $__default["default"] === 'undefined') {
220
+ throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
221
+ }
222
+
223
+ var version = $__default["default"].fn.jquery.split(' ')[0].split('.');
224
+ var minMajor = 1;
225
+ var ltMajor = 2;
226
+ var minMinor = 9;
227
+ var minPatch = 1;
228
+ var maxMajor = 4;
229
+
230
+ if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
231
+ throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
232
+ }
222
233
  }
223
234
  };
235
+ Util.jQueryDetection();
224
236
  setTransitionEndSupport();
225
237
 
226
238
  /**
227
- * ------------------------------------------------------------------------
228
239
  * Constants
229
- * ------------------------------------------------------------------------
230
240
  */
231
241
 
232
- var NAME = 'alert';
233
- var VERSION = '4.3.1';
234
- var DATA_KEY = 'bs.alert';
235
- var EVENT_KEY = "." + DATA_KEY;
236
- var DATA_API_KEY = '.data-api';
237
- var JQUERY_NO_CONFLICT = $.fn[NAME];
238
- var Selector = {
239
- DISMISS: '[data-dismiss="alert"]'
240
- };
241
- var Event = {
242
- CLOSE: "close" + EVENT_KEY,
243
- CLOSED: "closed" + EVENT_KEY,
244
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
245
- };
246
- var ClassName = {
247
- ALERT: 'alert',
248
- FADE: 'fade',
249
- SHOW: 'show'
250
- /**
251
- * ------------------------------------------------------------------------
252
- * Class Definition
253
- * ------------------------------------------------------------------------
254
- */
255
-
256
- };
242
+ var NAME$a = 'alert';
243
+ var VERSION$a = '4.6.1';
244
+ var DATA_KEY$a = 'bs.alert';
245
+ var EVENT_KEY$a = "." + DATA_KEY$a;
246
+ var DATA_API_KEY$7 = '.data-api';
247
+ var JQUERY_NO_CONFLICT$a = $__default["default"].fn[NAME$a];
248
+ var CLASS_NAME_ALERT = 'alert';
249
+ var CLASS_NAME_FADE$5 = 'fade';
250
+ var CLASS_NAME_SHOW$7 = 'show';
251
+ var EVENT_CLOSE = "close" + EVENT_KEY$a;
252
+ var EVENT_CLOSED = "closed" + EVENT_KEY$a;
253
+ var EVENT_CLICK_DATA_API$6 = "click" + EVENT_KEY$a + DATA_API_KEY$7;
254
+ var SELECTOR_DISMISS = '[data-dismiss="alert"]';
255
+ /**
256
+ * Class definition
257
+ */
257
258
 
258
- var Alert =
259
- /*#__PURE__*/
260
- function () {
259
+ var Alert = /*#__PURE__*/function () {
261
260
  function Alert(element) {
262
261
  this._element = element;
263
262
  } // Getters
@@ -283,7 +282,7 @@
283
282
  };
284
283
 
285
284
  _proto.dispose = function dispose() {
286
- $.removeData(this._element, DATA_KEY);
285
+ $__default["default"].removeData(this._element, DATA_KEY$a);
287
286
  this._element = null;
288
287
  } // Private
289
288
  ;
@@ -297,48 +296,48 @@
297
296
  }
298
297
 
299
298
  if (!parent) {
300
- parent = $(element).closest("." + ClassName.ALERT)[0];
299
+ parent = $__default["default"](element).closest("." + CLASS_NAME_ALERT)[0];
301
300
  }
302
301
 
303
302
  return parent;
304
303
  };
305
304
 
306
305
  _proto._triggerCloseEvent = function _triggerCloseEvent(element) {
307
- var closeEvent = $.Event(Event.CLOSE);
308
- $(element).trigger(closeEvent);
306
+ var closeEvent = $__default["default"].Event(EVENT_CLOSE);
307
+ $__default["default"](element).trigger(closeEvent);
309
308
  return closeEvent;
310
309
  };
311
310
 
312
311
  _proto._removeElement = function _removeElement(element) {
313
312
  var _this = this;
314
313
 
315
- $(element).removeClass(ClassName.SHOW);
314
+ $__default["default"](element).removeClass(CLASS_NAME_SHOW$7);
316
315
 
317
- if (!$(element).hasClass(ClassName.FADE)) {
316
+ if (!$__default["default"](element).hasClass(CLASS_NAME_FADE$5)) {
318
317
  this._destroyElement(element);
319
318
 
320
319
  return;
321
320
  }
322
321
 
323
322
  var transitionDuration = Util.getTransitionDurationFromElement(element);
324
- $(element).one(Util.TRANSITION_END, function (event) {
323
+ $__default["default"](element).one(Util.TRANSITION_END, function (event) {
325
324
  return _this._destroyElement(element, event);
326
325
  }).emulateTransitionEnd(transitionDuration);
327
326
  };
328
327
 
329
328
  _proto._destroyElement = function _destroyElement(element) {
330
- $(element).detach().trigger(Event.CLOSED).remove();
329
+ $__default["default"](element).detach().trigger(EVENT_CLOSED).remove();
331
330
  } // Static
332
331
  ;
333
332
 
334
333
  Alert._jQueryInterface = function _jQueryInterface(config) {
335
334
  return this.each(function () {
336
- var $element = $(this);
337
- var data = $element.data(DATA_KEY);
335
+ var $element = $__default["default"](this);
336
+ var data = $element.data(DATA_KEY$a);
338
337
 
339
338
  if (!data) {
340
339
  data = new Alert(this);
341
- $element.data(DATA_KEY, data);
340
+ $element.data(DATA_KEY$a, data);
342
341
  }
343
342
 
344
343
  if (config === 'close') {
@@ -360,74 +359,61 @@
360
359
  _createClass(Alert, null, [{
361
360
  key: "VERSION",
362
361
  get: function get() {
363
- return VERSION;
362
+ return VERSION$a;
364
363
  }
365
364
  }]);
366
365
 
367
366
  return Alert;
368
367
  }();
369
368
  /**
370
- * ------------------------------------------------------------------------
371
- * Data Api implementation
372
- * ------------------------------------------------------------------------
369
+ * Data API implementation
373
370
  */
374
371
 
375
372
 
376
- $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
373
+ $__default["default"](document).on(EVENT_CLICK_DATA_API$6, SELECTOR_DISMISS, Alert._handleDismiss(new Alert()));
377
374
  /**
378
- * ------------------------------------------------------------------------
379
375
  * jQuery
380
- * ------------------------------------------------------------------------
381
376
  */
382
377
 
383
- $.fn[NAME] = Alert._jQueryInterface;
384
- $.fn[NAME].Constructor = Alert;
378
+ $__default["default"].fn[NAME$a] = Alert._jQueryInterface;
379
+ $__default["default"].fn[NAME$a].Constructor = Alert;
385
380
 
386
- $.fn[NAME].noConflict = function () {
387
- $.fn[NAME] = JQUERY_NO_CONFLICT;
381
+ $__default["default"].fn[NAME$a].noConflict = function () {
382
+ $__default["default"].fn[NAME$a] = JQUERY_NO_CONFLICT$a;
388
383
  return Alert._jQueryInterface;
389
384
  };
390
385
 
391
386
  /**
392
- * ------------------------------------------------------------------------
393
387
  * Constants
394
- * ------------------------------------------------------------------------
395
388
  */
396
389
 
397
- var NAME$1 = 'button';
398
- var VERSION$1 = '4.3.1';
399
- var DATA_KEY$1 = 'bs.button';
400
- var EVENT_KEY$1 = "." + DATA_KEY$1;
401
- var DATA_API_KEY$1 = '.data-api';
402
- var JQUERY_NO_CONFLICT$1 = $.fn[NAME$1];
403
- var ClassName$1 = {
404
- ACTIVE: 'active',
405
- BUTTON: 'btn',
406
- FOCUS: 'focus'
407
- };
408
- var Selector$1 = {
409
- DATA_TOGGLE_CARROT: '[data-toggle^="button"]',
410
- DATA_TOGGLE: '[data-toggle="buttons"]',
411
- INPUT: 'input:not([type="hidden"])',
412
- ACTIVE: '.active',
413
- BUTTON: '.btn'
414
- };
415
- var Event$1 = {
416
- CLICK_DATA_API: "click" + EVENT_KEY$1 + DATA_API_KEY$1,
417
- FOCUS_BLUR_DATA_API: "focus" + EVENT_KEY$1 + DATA_API_KEY$1 + " " + ("blur" + EVENT_KEY$1 + DATA_API_KEY$1)
418
- /**
419
- * ------------------------------------------------------------------------
420
- * Class Definition
421
- * ------------------------------------------------------------------------
422
- */
423
-
424
- };
390
+ var NAME$9 = 'button';
391
+ var VERSION$9 = '4.6.1';
392
+ var DATA_KEY$9 = 'bs.button';
393
+ var EVENT_KEY$9 = "." + DATA_KEY$9;
394
+ var DATA_API_KEY$6 = '.data-api';
395
+ var JQUERY_NO_CONFLICT$9 = $__default["default"].fn[NAME$9];
396
+ var CLASS_NAME_ACTIVE$3 = 'active';
397
+ var CLASS_NAME_BUTTON = 'btn';
398
+ var CLASS_NAME_FOCUS = 'focus';
399
+ var EVENT_CLICK_DATA_API$5 = "click" + EVENT_KEY$9 + DATA_API_KEY$6;
400
+ var EVENT_FOCUS_BLUR_DATA_API = "focus" + EVENT_KEY$9 + DATA_API_KEY$6 + " " + ("blur" + EVENT_KEY$9 + DATA_API_KEY$6);
401
+ var EVENT_LOAD_DATA_API$2 = "load" + EVENT_KEY$9 + DATA_API_KEY$6;
402
+ var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';
403
+ var SELECTOR_DATA_TOGGLES = '[data-toggle="buttons"]';
404
+ var SELECTOR_DATA_TOGGLE$4 = '[data-toggle="button"]';
405
+ var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle="buttons"] .btn';
406
+ var SELECTOR_INPUT = 'input:not([type="hidden"])';
407
+ var SELECTOR_ACTIVE$2 = '.active';
408
+ var SELECTOR_BUTTON = '.btn';
409
+ /**
410
+ * Class definition
411
+ */
425
412
 
426
- var Button =
427
- /*#__PURE__*/
428
- function () {
413
+ var Button = /*#__PURE__*/function () {
429
414
  function Button(element) {
430
415
  this._element = element;
416
+ this.shouldAvoidTriggerChange = false;
431
417
  } // Getters
432
418
 
433
419
 
@@ -437,31 +423,33 @@
437
423
  _proto.toggle = function toggle() {
438
424
  var triggerChangeEvent = true;
439
425
  var addAriaPressed = true;
440
- var rootElement = $(this._element).closest(Selector$1.DATA_TOGGLE)[0];
426
+ var rootElement = $__default["default"](this._element).closest(SELECTOR_DATA_TOGGLES)[0];
441
427
 
442
428
  if (rootElement) {
443
- var input = this._element.querySelector(Selector$1.INPUT);
429
+ var input = this._element.querySelector(SELECTOR_INPUT);
444
430
 
445
431
  if (input) {
446
432
  if (input.type === 'radio') {
447
- if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) {
433
+ if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE$3)) {
448
434
  triggerChangeEvent = false;
449
435
  } else {
450
- var activeElement = rootElement.querySelector(Selector$1.ACTIVE);
436
+ var activeElement = rootElement.querySelector(SELECTOR_ACTIVE$2);
451
437
 
452
438
  if (activeElement) {
453
- $(activeElement).removeClass(ClassName$1.ACTIVE);
439
+ $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$3);
454
440
  }
455
441
  }
456
442
  }
457
443
 
458
444
  if (triggerChangeEvent) {
459
- if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains('disabled') || rootElement.classList.contains('disabled')) {
460
- return;
445
+ // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input
446
+ if (input.type === 'checkbox' || input.type === 'radio') {
447
+ input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE$3);
461
448
  }
462
449
 
463
- input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);
464
- $(input).trigger('change');
450
+ if (!this.shouldAvoidTriggerChange) {
451
+ $__default["default"](input).trigger('change');
452
+ }
465
453
  }
466
454
 
467
455
  input.focus();
@@ -469,30 +457,35 @@
469
457
  }
470
458
  }
471
459
 
472
- if (addAriaPressed) {
473
- this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));
474
- }
460
+ if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {
461
+ if (addAriaPressed) {
462
+ this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE$3));
463
+ }
475
464
 
476
- if (triggerChangeEvent) {
477
- $(this._element).toggleClass(ClassName$1.ACTIVE);
465
+ if (triggerChangeEvent) {
466
+ $__default["default"](this._element).toggleClass(CLASS_NAME_ACTIVE$3);
467
+ }
478
468
  }
479
469
  };
480
470
 
481
471
  _proto.dispose = function dispose() {
482
- $.removeData(this._element, DATA_KEY$1);
472
+ $__default["default"].removeData(this._element, DATA_KEY$9);
483
473
  this._element = null;
484
474
  } // Static
485
475
  ;
486
476
 
487
- Button._jQueryInterface = function _jQueryInterface(config) {
477
+ Button._jQueryInterface = function _jQueryInterface(config, avoidTriggerChange) {
488
478
  return this.each(function () {
489
- var data = $(this).data(DATA_KEY$1);
479
+ var $element = $__default["default"](this);
480
+ var data = $element.data(DATA_KEY$9);
490
481
 
491
482
  if (!data) {
492
483
  data = new Button(this);
493
- $(this).data(DATA_KEY$1, data);
484
+ $element.data(DATA_KEY$9, data);
494
485
  }
495
486
 
487
+ data.shouldAvoidTriggerChange = avoidTriggerChange;
488
+
496
489
  if (config === 'toggle') {
497
490
  data[config]();
498
491
  }
@@ -502,58 +495,95 @@
502
495
  _createClass(Button, null, [{
503
496
  key: "VERSION",
504
497
  get: function get() {
505
- return VERSION$1;
498
+ return VERSION$9;
506
499
  }
507
500
  }]);
508
501
 
509
502
  return Button;
510
503
  }();
511
504
  /**
512
- * ------------------------------------------------------------------------
513
- * Data Api implementation
514
- * ------------------------------------------------------------------------
505
+ * Data API implementation
515
506
  */
516
507
 
517
508
 
518
- $(document).on(Event$1.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
519
- event.preventDefault();
509
+ $__default["default"](document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
520
510
  var button = event.target;
511
+ var initialButton = button;
521
512
 
522
- if (!$(button).hasClass(ClassName$1.BUTTON)) {
523
- button = $(button).closest(Selector$1.BUTTON);
513
+ if (!$__default["default"](button).hasClass(CLASS_NAME_BUTTON)) {
514
+ button = $__default["default"](button).closest(SELECTOR_BUTTON)[0];
524
515
  }
525
516
 
526
- Button._jQueryInterface.call($(button), 'toggle');
527
- }).on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {
528
- var button = $(event.target).closest(Selector$1.BUTTON)[0];
529
- $(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type));
517
+ if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {
518
+ event.preventDefault(); // work around Firefox bug #1540995
519
+ } else {
520
+ var inputBtn = button.querySelector(SELECTOR_INPUT);
521
+
522
+ if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {
523
+ event.preventDefault(); // work around Firefox bug #1540995
524
+
525
+ return;
526
+ }
527
+
528
+ if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {
529
+ Button._jQueryInterface.call($__default["default"](button), 'toggle', initialButton.tagName === 'INPUT');
530
+ }
531
+ }
532
+ }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
533
+ var button = $__default["default"](event.target).closest(SELECTOR_BUTTON)[0];
534
+ $__default["default"](button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));
535
+ });
536
+ $__default["default"](window).on(EVENT_LOAD_DATA_API$2, function () {
537
+ // ensure correct active class is set to match the controls' actual values/states
538
+ // find all checkboxes/readio buttons inside data-toggle groups
539
+ var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));
540
+
541
+ for (var i = 0, len = buttons.length; i < len; i++) {
542
+ var button = buttons[i];
543
+ var input = button.querySelector(SELECTOR_INPUT);
544
+
545
+ if (input.checked || input.hasAttribute('checked')) {
546
+ button.classList.add(CLASS_NAME_ACTIVE$3);
547
+ } else {
548
+ button.classList.remove(CLASS_NAME_ACTIVE$3);
549
+ }
550
+ } // find all button toggles
551
+
552
+
553
+ buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$4));
554
+
555
+ for (var _i = 0, _len = buttons.length; _i < _len; _i++) {
556
+ var _button = buttons[_i];
557
+
558
+ if (_button.getAttribute('aria-pressed') === 'true') {
559
+ _button.classList.add(CLASS_NAME_ACTIVE$3);
560
+ } else {
561
+ _button.classList.remove(CLASS_NAME_ACTIVE$3);
562
+ }
563
+ }
530
564
  });
531
565
  /**
532
- * ------------------------------------------------------------------------
533
566
  * jQuery
534
- * ------------------------------------------------------------------------
535
567
  */
536
568
 
537
- $.fn[NAME$1] = Button._jQueryInterface;
538
- $.fn[NAME$1].Constructor = Button;
569
+ $__default["default"].fn[NAME$9] = Button._jQueryInterface;
570
+ $__default["default"].fn[NAME$9].Constructor = Button;
539
571
 
540
- $.fn[NAME$1].noConflict = function () {
541
- $.fn[NAME$1] = JQUERY_NO_CONFLICT$1;
572
+ $__default["default"].fn[NAME$9].noConflict = function () {
573
+ $__default["default"].fn[NAME$9] = JQUERY_NO_CONFLICT$9;
542
574
  return Button._jQueryInterface;
543
575
  };
544
576
 
545
577
  /**
546
- * ------------------------------------------------------------------------
547
578
  * Constants
548
- * ------------------------------------------------------------------------
549
579
  */
550
580
 
551
- var NAME$2 = 'carousel';
552
- var VERSION$2 = '4.3.1';
553
- var DATA_KEY$2 = 'bs.carousel';
554
- var EVENT_KEY$2 = "." + DATA_KEY$2;
555
- var DATA_API_KEY$2 = '.data-api';
556
- var JQUERY_NO_CONFLICT$2 = $.fn[NAME$2];
581
+ var NAME$8 = 'carousel';
582
+ var VERSION$8 = '4.6.1';
583
+ var DATA_KEY$8 = 'bs.carousel';
584
+ var EVENT_KEY$8 = "." + DATA_KEY$8;
585
+ var DATA_API_KEY$5 = '.data-api';
586
+ var JQUERY_NO_CONFLICT$8 = $__default["default"].fn[NAME$8];
557
587
  var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key
558
588
 
559
589
  var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key
@@ -561,7 +591,40 @@
561
591
  var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
562
592
 
563
593
  var SWIPE_THRESHOLD = 40;
564
- var Default = {
594
+ var CLASS_NAME_CAROUSEL = 'carousel';
595
+ var CLASS_NAME_ACTIVE$2 = 'active';
596
+ var CLASS_NAME_SLIDE = 'slide';
597
+ var CLASS_NAME_RIGHT = 'carousel-item-right';
598
+ var CLASS_NAME_LEFT = 'carousel-item-left';
599
+ var CLASS_NAME_NEXT = 'carousel-item-next';
600
+ var CLASS_NAME_PREV = 'carousel-item-prev';
601
+ var CLASS_NAME_POINTER_EVENT = 'pointer-event';
602
+ var DIRECTION_NEXT = 'next';
603
+ var DIRECTION_PREV = 'prev';
604
+ var DIRECTION_LEFT = 'left';
605
+ var DIRECTION_RIGHT = 'right';
606
+ var EVENT_SLIDE = "slide" + EVENT_KEY$8;
607
+ var EVENT_SLID = "slid" + EVENT_KEY$8;
608
+ var EVENT_KEYDOWN = "keydown" + EVENT_KEY$8;
609
+ var EVENT_MOUSEENTER = "mouseenter" + EVENT_KEY$8;
610
+ var EVENT_MOUSELEAVE = "mouseleave" + EVENT_KEY$8;
611
+ var EVENT_TOUCHSTART = "touchstart" + EVENT_KEY$8;
612
+ var EVENT_TOUCHMOVE = "touchmove" + EVENT_KEY$8;
613
+ var EVENT_TOUCHEND = "touchend" + EVENT_KEY$8;
614
+ var EVENT_POINTERDOWN = "pointerdown" + EVENT_KEY$8;
615
+ var EVENT_POINTERUP = "pointerup" + EVENT_KEY$8;
616
+ var EVENT_DRAG_START = "dragstart" + EVENT_KEY$8;
617
+ var EVENT_LOAD_DATA_API$1 = "load" + EVENT_KEY$8 + DATA_API_KEY$5;
618
+ var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$8 + DATA_API_KEY$5;
619
+ var SELECTOR_ACTIVE$1 = '.active';
620
+ var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';
621
+ var SELECTOR_ITEM = '.carousel-item';
622
+ var SELECTOR_ITEM_IMG = '.carousel-item img';
623
+ var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';
624
+ var SELECTOR_INDICATORS = '.carousel-indicators';
625
+ var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';
626
+ var SELECTOR_DATA_RIDE = '[data-ride="carousel"]';
627
+ var Default$7 = {
565
628
  interval: 5000,
566
629
  keyboard: true,
567
630
  slide: false,
@@ -569,7 +632,7 @@
569
632
  wrap: true,
570
633
  touch: true
571
634
  };
572
- var DefaultType = {
635
+ var DefaultType$7 = {
573
636
  interval: '(number|boolean)',
574
637
  keyboard: 'boolean',
575
638
  slide: '(boolean|string)',
@@ -577,62 +640,15 @@
577
640
  wrap: 'boolean',
578
641
  touch: 'boolean'
579
642
  };
580
- var Direction = {
581
- NEXT: 'next',
582
- PREV: 'prev',
583
- LEFT: 'left',
584
- RIGHT: 'right'
585
- };
586
- var Event$2 = {
587
- SLIDE: "slide" + EVENT_KEY$2,
588
- SLID: "slid" + EVENT_KEY$2,
589
- KEYDOWN: "keydown" + EVENT_KEY$2,
590
- MOUSEENTER: "mouseenter" + EVENT_KEY$2,
591
- MOUSELEAVE: "mouseleave" + EVENT_KEY$2,
592
- TOUCHSTART: "touchstart" + EVENT_KEY$2,
593
- TOUCHMOVE: "touchmove" + EVENT_KEY$2,
594
- TOUCHEND: "touchend" + EVENT_KEY$2,
595
- POINTERDOWN: "pointerdown" + EVENT_KEY$2,
596
- POINTERUP: "pointerup" + EVENT_KEY$2,
597
- DRAG_START: "dragstart" + EVENT_KEY$2,
598
- LOAD_DATA_API: "load" + EVENT_KEY$2 + DATA_API_KEY$2,
599
- CLICK_DATA_API: "click" + EVENT_KEY$2 + DATA_API_KEY$2
600
- };
601
- var ClassName$2 = {
602
- CAROUSEL: 'carousel',
603
- ACTIVE: 'active',
604
- SLIDE: 'slide',
605
- RIGHT: 'carousel-item-right',
606
- LEFT: 'carousel-item-left',
607
- NEXT: 'carousel-item-next',
608
- PREV: 'carousel-item-prev',
609
- ITEM: 'carousel-item',
610
- POINTER_EVENT: 'pointer-event'
611
- };
612
- var Selector$2 = {
613
- ACTIVE: '.active',
614
- ACTIVE_ITEM: '.active.carousel-item',
615
- ITEM: '.carousel-item',
616
- ITEM_IMG: '.carousel-item img',
617
- NEXT_PREV: '.carousel-item-next, .carousel-item-prev',
618
- INDICATORS: '.carousel-indicators',
619
- DATA_SLIDE: '[data-slide], [data-slide-to]',
620
- DATA_RIDE: '[data-ride="carousel"]'
621
- };
622
643
  var PointerType = {
623
644
  TOUCH: 'touch',
624
645
  PEN: 'pen'
625
- /**
626
- * ------------------------------------------------------------------------
627
- * Class Definition
628
- * ------------------------------------------------------------------------
629
- */
630
-
631
646
  };
647
+ /**
648
+ * Class definition
649
+ */
632
650
 
633
- var Carousel =
634
- /*#__PURE__*/
635
- function () {
651
+ var Carousel = /*#__PURE__*/function () {
636
652
  function Carousel(element, config) {
637
653
  this._items = null;
638
654
  this._interval = null;
@@ -644,7 +660,7 @@
644
660
  this.touchDeltaX = 0;
645
661
  this._config = this._getConfig(config);
646
662
  this._element = element;
647
- this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS);
663
+ this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS);
648
664
  this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
649
665
  this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);
650
666
 
@@ -657,21 +673,22 @@
657
673
  // Public
658
674
  _proto.next = function next() {
659
675
  if (!this._isSliding) {
660
- this._slide(Direction.NEXT);
676
+ this._slide(DIRECTION_NEXT);
661
677
  }
662
678
  };
663
679
 
664
680
  _proto.nextWhenVisible = function nextWhenVisible() {
665
- // Don't call next when the page isn't visible
681
+ var $element = $__default["default"](this._element); // Don't call next when the page isn't visible
666
682
  // or the carousel or its parent isn't visible
667
- if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') {
683
+
684
+ if (!document.hidden && $element.is(':visible') && $element.css('visibility') !== 'hidden') {
668
685
  this.next();
669
686
  }
670
687
  };
671
688
 
672
689
  _proto.prev = function prev() {
673
690
  if (!this._isSliding) {
674
- this._slide(Direction.PREV);
691
+ this._slide(DIRECTION_PREV);
675
692
  }
676
693
  };
677
694
 
@@ -680,7 +697,7 @@
680
697
  this._isPaused = true;
681
698
  }
682
699
 
683
- if (this._element.querySelector(Selector$2.NEXT_PREV)) {
700
+ if (this._element.querySelector(SELECTOR_NEXT_PREV)) {
684
701
  Util.triggerTransitionEnd(this._element);
685
702
  this.cycle(true);
686
703
  }
@@ -700,6 +717,8 @@
700
717
  }
701
718
 
702
719
  if (this._config.interval && !this._isPaused) {
720
+ this._updateInterval();
721
+
703
722
  this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
704
723
  }
705
724
  };
@@ -707,7 +726,7 @@
707
726
  _proto.to = function to(index) {
708
727
  var _this = this;
709
728
 
710
- this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
729
+ this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);
711
730
 
712
731
  var activeIndex = this._getItemIndex(this._activeElement);
713
732
 
@@ -716,7 +735,7 @@
716
735
  }
717
736
 
718
737
  if (this._isSliding) {
719
- $(this._element).one(Event$2.SLID, function () {
738
+ $__default["default"](this._element).one(EVENT_SLID, function () {
720
739
  return _this.to(index);
721
740
  });
722
741
  return;
@@ -728,14 +747,14 @@
728
747
  return;
729
748
  }
730
749
 
731
- var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;
750
+ var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;
732
751
 
733
752
  this._slide(direction, this._items[index]);
734
753
  };
735
754
 
736
755
  _proto.dispose = function dispose() {
737
- $(this._element).off(EVENT_KEY$2);
738
- $.removeData(this._element, DATA_KEY$2);
756
+ $__default["default"](this._element).off(EVENT_KEY$8);
757
+ $__default["default"].removeData(this._element, DATA_KEY$8);
739
758
  this._items = null;
740
759
  this._config = null;
741
760
  this._element = null;
@@ -748,8 +767,8 @@
748
767
  ;
749
768
 
750
769
  _proto._getConfig = function _getConfig(config) {
751
- config = _objectSpread({}, Default, config);
752
- Util.typeCheckConfig(NAME$2, config, DefaultType);
770
+ config = _extends({}, Default$7, config);
771
+ Util.typeCheckConfig(NAME$8, config, DefaultType$7);
753
772
  return config;
754
773
  };
755
774
 
@@ -760,7 +779,8 @@
760
779
  return;
761
780
  }
762
781
 
763
- var direction = absDeltax / this.touchDeltaX; // swipe left
782
+ var direction = absDeltax / this.touchDeltaX;
783
+ this.touchDeltaX = 0; // swipe left
764
784
 
765
785
  if (direction > 0) {
766
786
  this.prev();
@@ -776,15 +796,15 @@
776
796
  var _this2 = this;
777
797
 
778
798
  if (this._config.keyboard) {
779
- $(this._element).on(Event$2.KEYDOWN, function (event) {
799
+ $__default["default"](this._element).on(EVENT_KEYDOWN, function (event) {
780
800
  return _this2._keydown(event);
781
801
  });
782
802
  }
783
803
 
784
804
  if (this._config.pause === 'hover') {
785
- $(this._element).on(Event$2.MOUSEENTER, function (event) {
805
+ $__default["default"](this._element).on(EVENT_MOUSEENTER, function (event) {
786
806
  return _this2.pause(event);
787
- }).on(Event$2.MOUSELEAVE, function (event) {
807
+ }).on(EVENT_MOUSELEAVE, function (event) {
788
808
  return _this2.cycle(event);
789
809
  });
790
810
  }
@@ -811,11 +831,7 @@
811
831
 
812
832
  var move = function move(event) {
813
833
  // ensure swiping with one touch and not pinching
814
- if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {
815
- _this3.touchDeltaX = 0;
816
- } else {
817
- _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX;
818
- }
834
+ _this3.touchDeltaX = event.originalEvent.touches && event.originalEvent.touches.length > 1 ? 0 : event.originalEvent.touches[0].clientX - _this3.touchStartX;
819
835
  };
820
836
 
821
837
  var end = function end(event) {
@@ -845,27 +861,27 @@
845
861
  }
846
862
  };
847
863
 
848
- $(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, function (e) {
864
+ $__default["default"](this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) {
849
865
  return e.preventDefault();
850
866
  });
851
867
 
852
868
  if (this._pointerEvent) {
853
- $(this._element).on(Event$2.POINTERDOWN, function (event) {
869
+ $__default["default"](this._element).on(EVENT_POINTERDOWN, function (event) {
854
870
  return start(event);
855
871
  });
856
- $(this._element).on(Event$2.POINTERUP, function (event) {
872
+ $__default["default"](this._element).on(EVENT_POINTERUP, function (event) {
857
873
  return end(event);
858
874
  });
859
875
 
860
- this._element.classList.add(ClassName$2.POINTER_EVENT);
876
+ this._element.classList.add(CLASS_NAME_POINTER_EVENT);
861
877
  } else {
862
- $(this._element).on(Event$2.TOUCHSTART, function (event) {
878
+ $__default["default"](this._element).on(EVENT_TOUCHSTART, function (event) {
863
879
  return start(event);
864
880
  });
865
- $(this._element).on(Event$2.TOUCHMOVE, function (event) {
881
+ $__default["default"](this._element).on(EVENT_TOUCHMOVE, function (event) {
866
882
  return move(event);
867
883
  });
868
- $(this._element).on(Event$2.TOUCHEND, function (event) {
884
+ $__default["default"](this._element).on(EVENT_TOUCHEND, function (event) {
869
885
  return end(event);
870
886
  });
871
887
  }
@@ -886,19 +902,17 @@
886
902
  event.preventDefault();
887
903
  this.next();
888
904
  break;
889
-
890
- default:
891
905
  }
892
906
  };
893
907
 
894
908
  _proto._getItemIndex = function _getItemIndex(element) {
895
- this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM)) : [];
909
+ this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) : [];
896
910
  return this._items.indexOf(element);
897
911
  };
898
912
 
899
913
  _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {
900
- var isNextDirection = direction === Direction.NEXT;
901
- var isPrevDirection = direction === Direction.PREV;
914
+ var isNextDirection = direction === DIRECTION_NEXT;
915
+ var isPrevDirection = direction === DIRECTION_PREV;
902
916
 
903
917
  var activeIndex = this._getItemIndex(activeElement);
904
918
 
@@ -909,7 +923,7 @@
909
923
  return activeElement;
910
924
  }
911
925
 
912
- var delta = direction === Direction.PREV ? -1 : 1;
926
+ var delta = direction === DIRECTION_PREV ? -1 : 1;
913
927
  var itemIndex = (activeIndex + delta) % this._items.length;
914
928
  return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
915
929
  };
@@ -917,35 +931,52 @@
917
931
  _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {
918
932
  var targetIndex = this._getItemIndex(relatedTarget);
919
933
 
920
- var fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM));
934
+ var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM));
921
935
 
922
- var slideEvent = $.Event(Event$2.SLIDE, {
936
+ var slideEvent = $__default["default"].Event(EVENT_SLIDE, {
923
937
  relatedTarget: relatedTarget,
924
938
  direction: eventDirectionName,
925
939
  from: fromIndex,
926
940
  to: targetIndex
927
941
  });
928
- $(this._element).trigger(slideEvent);
942
+ $__default["default"](this._element).trigger(slideEvent);
929
943
  return slideEvent;
930
944
  };
931
945
 
932
946
  _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
933
947
  if (this._indicatorsElement) {
934
- var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE));
935
- $(indicators).removeClass(ClassName$2.ACTIVE);
948
+ var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1));
949
+ $__default["default"](indicators).removeClass(CLASS_NAME_ACTIVE$2);
936
950
 
937
951
  var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];
938
952
 
939
953
  if (nextIndicator) {
940
- $(nextIndicator).addClass(ClassName$2.ACTIVE);
954
+ $__default["default"](nextIndicator).addClass(CLASS_NAME_ACTIVE$2);
941
955
  }
942
956
  }
943
957
  };
944
958
 
959
+ _proto._updateInterval = function _updateInterval() {
960
+ var element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM);
961
+
962
+ if (!element) {
963
+ return;
964
+ }
965
+
966
+ var elementInterval = parseInt(element.getAttribute('data-interval'), 10);
967
+
968
+ if (elementInterval) {
969
+ this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
970
+ this._config.interval = elementInterval;
971
+ } else {
972
+ this._config.interval = this._config.defaultInterval || this._config.interval;
973
+ }
974
+ };
975
+
945
976
  _proto._slide = function _slide(direction, element) {
946
977
  var _this4 = this;
947
978
 
948
- var activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);
979
+ var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);
949
980
 
950
981
  var activeElementIndex = this._getItemIndex(activeElement);
951
982
 
@@ -958,17 +989,17 @@
958
989
  var orderClassName;
959
990
  var eventDirectionName;
960
991
 
961
- if (direction === Direction.NEXT) {
962
- directionalClassName = ClassName$2.LEFT;
963
- orderClassName = ClassName$2.NEXT;
964
- eventDirectionName = Direction.LEFT;
992
+ if (direction === DIRECTION_NEXT) {
993
+ directionalClassName = CLASS_NAME_LEFT;
994
+ orderClassName = CLASS_NAME_NEXT;
995
+ eventDirectionName = DIRECTION_LEFT;
965
996
  } else {
966
- directionalClassName = ClassName$2.RIGHT;
967
- orderClassName = ClassName$2.PREV;
968
- eventDirectionName = Direction.RIGHT;
997
+ directionalClassName = CLASS_NAME_RIGHT;
998
+ orderClassName = CLASS_NAME_PREV;
999
+ eventDirectionName = DIRECTION_RIGHT;
969
1000
  }
970
1001
 
971
- if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) {
1002
+ if (nextElement && $__default["default"](nextElement).hasClass(CLASS_NAME_ACTIVE$2)) {
972
1003
  this._isSliding = false;
973
1004
  return;
974
1005
  }
@@ -992,41 +1023,33 @@
992
1023
 
993
1024
  this._setActiveIndicatorElement(nextElement);
994
1025
 
995
- var slidEvent = $.Event(Event$2.SLID, {
1026
+ this._activeElement = nextElement;
1027
+ var slidEvent = $__default["default"].Event(EVENT_SLID, {
996
1028
  relatedTarget: nextElement,
997
1029
  direction: eventDirectionName,
998
1030
  from: activeElementIndex,
999
1031
  to: nextElementIndex
1000
1032
  });
1001
1033
 
1002
- if ($(this._element).hasClass(ClassName$2.SLIDE)) {
1003
- $(nextElement).addClass(orderClassName);
1034
+ if ($__default["default"](this._element).hasClass(CLASS_NAME_SLIDE)) {
1035
+ $__default["default"](nextElement).addClass(orderClassName);
1004
1036
  Util.reflow(nextElement);
1005
- $(activeElement).addClass(directionalClassName);
1006
- $(nextElement).addClass(directionalClassName);
1007
- var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);
1008
-
1009
- if (nextElementInterval) {
1010
- this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
1011
- this._config.interval = nextElementInterval;
1012
- } else {
1013
- this._config.interval = this._config.defaultInterval || this._config.interval;
1014
- }
1015
-
1037
+ $__default["default"](activeElement).addClass(directionalClassName);
1038
+ $__default["default"](nextElement).addClass(directionalClassName);
1016
1039
  var transitionDuration = Util.getTransitionDurationFromElement(activeElement);
1017
- $(activeElement).one(Util.TRANSITION_END, function () {
1018
- $(nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(ClassName$2.ACTIVE);
1019
- $(activeElement).removeClass(ClassName$2.ACTIVE + " " + orderClassName + " " + directionalClassName);
1040
+ $__default["default"](activeElement).one(Util.TRANSITION_END, function () {
1041
+ $__default["default"](nextElement).removeClass(directionalClassName + " " + orderClassName).addClass(CLASS_NAME_ACTIVE$2);
1042
+ $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$2 + " " + orderClassName + " " + directionalClassName);
1020
1043
  _this4._isSliding = false;
1021
1044
  setTimeout(function () {
1022
- return $(_this4._element).trigger(slidEvent);
1045
+ return $__default["default"](_this4._element).trigger(slidEvent);
1023
1046
  }, 0);
1024
1047
  }).emulateTransitionEnd(transitionDuration);
1025
1048
  } else {
1026
- $(activeElement).removeClass(ClassName$2.ACTIVE);
1027
- $(nextElement).addClass(ClassName$2.ACTIVE);
1049
+ $__default["default"](activeElement).removeClass(CLASS_NAME_ACTIVE$2);
1050
+ $__default["default"](nextElement).addClass(CLASS_NAME_ACTIVE$2);
1028
1051
  this._isSliding = false;
1029
- $(this._element).trigger(slidEvent);
1052
+ $__default["default"](this._element).trigger(slidEvent);
1030
1053
  }
1031
1054
 
1032
1055
  if (isCycling) {
@@ -1037,19 +1060,19 @@
1037
1060
 
1038
1061
  Carousel._jQueryInterface = function _jQueryInterface(config) {
1039
1062
  return this.each(function () {
1040
- var data = $(this).data(DATA_KEY$2);
1063
+ var data = $__default["default"](this).data(DATA_KEY$8);
1041
1064
 
1042
- var _config = _objectSpread({}, Default, $(this).data());
1065
+ var _config = _extends({}, Default$7, $__default["default"](this).data());
1043
1066
 
1044
1067
  if (typeof config === 'object') {
1045
- _config = _objectSpread({}, _config, config);
1068
+ _config = _extends({}, _config, config);
1046
1069
  }
1047
1070
 
1048
1071
  var action = typeof config === 'string' ? config : _config.slide;
1049
1072
 
1050
1073
  if (!data) {
1051
1074
  data = new Carousel(this, _config);
1052
- $(this).data(DATA_KEY$2, data);
1075
+ $__default["default"](this).data(DATA_KEY$8, data);
1053
1076
  }
1054
1077
 
1055
1078
  if (typeof config === 'number') {
@@ -1074,13 +1097,13 @@
1074
1097
  return;
1075
1098
  }
1076
1099
 
1077
- var target = $(selector)[0];
1100
+ var target = $__default["default"](selector)[0];
1078
1101
 
1079
- if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) {
1102
+ if (!target || !$__default["default"](target).hasClass(CLASS_NAME_CAROUSEL)) {
1080
1103
  return;
1081
1104
  }
1082
1105
 
1083
- var config = _objectSpread({}, $(target).data(), $(this).data());
1106
+ var config = _extends({}, $__default["default"](target).data(), $__default["default"](this).data());
1084
1107
 
1085
1108
  var slideIndex = this.getAttribute('data-slide-to');
1086
1109
 
@@ -1088,10 +1111,10 @@
1088
1111
  config.interval = false;
1089
1112
  }
1090
1113
 
1091
- Carousel._jQueryInterface.call($(target), config);
1114
+ Carousel._jQueryInterface.call($__default["default"](target), config);
1092
1115
 
1093
1116
  if (slideIndex) {
1094
- $(target).data(DATA_KEY$2).to(slideIndex);
1117
+ $__default["default"](target).data(DATA_KEY$8).to(slideIndex);
1095
1118
  }
1096
1119
 
1097
1120
  event.preventDefault();
@@ -1100,105 +1123,86 @@
1100
1123
  _createClass(Carousel, null, [{
1101
1124
  key: "VERSION",
1102
1125
  get: function get() {
1103
- return VERSION$2;
1126
+ return VERSION$8;
1104
1127
  }
1105
1128
  }, {
1106
1129
  key: "Default",
1107
1130
  get: function get() {
1108
- return Default;
1131
+ return Default$7;
1109
1132
  }
1110
1133
  }]);
1111
1134
 
1112
1135
  return Carousel;
1113
1136
  }();
1114
1137
  /**
1115
- * ------------------------------------------------------------------------
1116
- * Data Api implementation
1117
- * ------------------------------------------------------------------------
1138
+ * Data API implementation
1118
1139
  */
1119
1140
 
1120
1141
 
1121
- $(document).on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler);
1122
- $(window).on(Event$2.LOAD_DATA_API, function () {
1123
- var carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE));
1142
+ $__default["default"](document).on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler);
1143
+ $__default["default"](window).on(EVENT_LOAD_DATA_API$1, function () {
1144
+ var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE));
1124
1145
 
1125
1146
  for (var i = 0, len = carousels.length; i < len; i++) {
1126
- var $carousel = $(carousels[i]);
1147
+ var $carousel = $__default["default"](carousels[i]);
1127
1148
 
1128
1149
  Carousel._jQueryInterface.call($carousel, $carousel.data());
1129
1150
  }
1130
1151
  });
1131
1152
  /**
1132
- * ------------------------------------------------------------------------
1133
1153
  * jQuery
1134
- * ------------------------------------------------------------------------
1135
1154
  */
1136
1155
 
1137
- $.fn[NAME$2] = Carousel._jQueryInterface;
1138
- $.fn[NAME$2].Constructor = Carousel;
1156
+ $__default["default"].fn[NAME$8] = Carousel._jQueryInterface;
1157
+ $__default["default"].fn[NAME$8].Constructor = Carousel;
1139
1158
 
1140
- $.fn[NAME$2].noConflict = function () {
1141
- $.fn[NAME$2] = JQUERY_NO_CONFLICT$2;
1159
+ $__default["default"].fn[NAME$8].noConflict = function () {
1160
+ $__default["default"].fn[NAME$8] = JQUERY_NO_CONFLICT$8;
1142
1161
  return Carousel._jQueryInterface;
1143
1162
  };
1144
1163
 
1145
1164
  /**
1146
- * ------------------------------------------------------------------------
1147
1165
  * Constants
1148
- * ------------------------------------------------------------------------
1149
1166
  */
1150
1167
 
1151
- var NAME$3 = 'collapse';
1152
- var VERSION$3 = '4.3.1';
1153
- var DATA_KEY$3 = 'bs.collapse';
1154
- var EVENT_KEY$3 = "." + DATA_KEY$3;
1155
- var DATA_API_KEY$3 = '.data-api';
1156
- var JQUERY_NO_CONFLICT$3 = $.fn[NAME$3];
1157
- var Default$1 = {
1168
+ var NAME$7 = 'collapse';
1169
+ var VERSION$7 = '4.6.1';
1170
+ var DATA_KEY$7 = 'bs.collapse';
1171
+ var EVENT_KEY$7 = "." + DATA_KEY$7;
1172
+ var DATA_API_KEY$4 = '.data-api';
1173
+ var JQUERY_NO_CONFLICT$7 = $__default["default"].fn[NAME$7];
1174
+ var CLASS_NAME_SHOW$6 = 'show';
1175
+ var CLASS_NAME_COLLAPSE = 'collapse';
1176
+ var CLASS_NAME_COLLAPSING = 'collapsing';
1177
+ var CLASS_NAME_COLLAPSED = 'collapsed';
1178
+ var DIMENSION_WIDTH = 'width';
1179
+ var DIMENSION_HEIGHT = 'height';
1180
+ var EVENT_SHOW$4 = "show" + EVENT_KEY$7;
1181
+ var EVENT_SHOWN$4 = "shown" + EVENT_KEY$7;
1182
+ var EVENT_HIDE$4 = "hide" + EVENT_KEY$7;
1183
+ var EVENT_HIDDEN$4 = "hidden" + EVENT_KEY$7;
1184
+ var EVENT_CLICK_DATA_API$3 = "click" + EVENT_KEY$7 + DATA_API_KEY$4;
1185
+ var SELECTOR_ACTIVES = '.show, .collapsing';
1186
+ var SELECTOR_DATA_TOGGLE$3 = '[data-toggle="collapse"]';
1187
+ var Default$6 = {
1158
1188
  toggle: true,
1159
1189
  parent: ''
1160
1190
  };
1161
- var DefaultType$1 = {
1191
+ var DefaultType$6 = {
1162
1192
  toggle: 'boolean',
1163
1193
  parent: '(string|element)'
1164
1194
  };
1165
- var Event$3 = {
1166
- SHOW: "show" + EVENT_KEY$3,
1167
- SHOWN: "shown" + EVENT_KEY$3,
1168
- HIDE: "hide" + EVENT_KEY$3,
1169
- HIDDEN: "hidden" + EVENT_KEY$3,
1170
- CLICK_DATA_API: "click" + EVENT_KEY$3 + DATA_API_KEY$3
1171
- };
1172
- var ClassName$3 = {
1173
- SHOW: 'show',
1174
- COLLAPSE: 'collapse',
1175
- COLLAPSING: 'collapsing',
1176
- COLLAPSED: 'collapsed'
1177
- };
1178
- var Dimension = {
1179
- WIDTH: 'width',
1180
- HEIGHT: 'height'
1181
- };
1182
- var Selector$3 = {
1183
- ACTIVES: '.show, .collapsing',
1184
- DATA_TOGGLE: '[data-toggle="collapse"]'
1185
- /**
1186
- * ------------------------------------------------------------------------
1187
- * Class Definition
1188
- * ------------------------------------------------------------------------
1189
- */
1190
-
1191
- };
1195
+ /**
1196
+ * Class definition
1197
+ */
1192
1198
 
1193
- var Collapse =
1194
- /*#__PURE__*/
1195
- function () {
1199
+ var Collapse = /*#__PURE__*/function () {
1196
1200
  function Collapse(element, config) {
1197
1201
  this._isTransitioning = false;
1198
1202
  this._element = element;
1199
1203
  this._config = this._getConfig(config);
1200
1204
  this._triggerArray = [].slice.call(document.querySelectorAll("[data-toggle=\"collapse\"][href=\"#" + element.id + "\"]," + ("[data-toggle=\"collapse\"][data-target=\"#" + element.id + "\"]")));
1201
- var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE));
1205
+ var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$3));
1202
1206
 
1203
1207
  for (var i = 0, len = toggleList.length; i < len; i++) {
1204
1208
  var elem = toggleList[i];
@@ -1230,7 +1234,7 @@
1230
1234
 
1231
1235
  // Public
1232
1236
  _proto.toggle = function toggle() {
1233
- if ($(this._element).hasClass(ClassName$3.SHOW)) {
1237
+ if ($__default["default"](this._element).hasClass(CLASS_NAME_SHOW$6)) {
1234
1238
  this.hide();
1235
1239
  } else {
1236
1240
  this.show();
@@ -1240,7 +1244,7 @@
1240
1244
  _proto.show = function show() {
1241
1245
  var _this = this;
1242
1246
 
1243
- if (this._isTransitioning || $(this._element).hasClass(ClassName$3.SHOW)) {
1247
+ if (this._isTransitioning || $__default["default"](this._element).hasClass(CLASS_NAME_SHOW$6)) {
1244
1248
  return;
1245
1249
  }
1246
1250
 
@@ -1248,12 +1252,12 @@
1248
1252
  var activesData;
1249
1253
 
1250
1254
  if (this._parent) {
1251
- actives = [].slice.call(this._parent.querySelectorAll(Selector$3.ACTIVES)).filter(function (elem) {
1255
+ actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function (elem) {
1252
1256
  if (typeof _this._config.parent === 'string') {
1253
1257
  return elem.getAttribute('data-parent') === _this._config.parent;
1254
1258
  }
1255
1259
 
1256
- return elem.classList.contains(ClassName$3.COLLAPSE);
1260
+ return elem.classList.contains(CLASS_NAME_COLLAPSE);
1257
1261
  });
1258
1262
 
1259
1263
  if (actives.length === 0) {
@@ -1262,64 +1266,64 @@
1262
1266
  }
1263
1267
 
1264
1268
  if (actives) {
1265
- activesData = $(actives).not(this._selector).data(DATA_KEY$3);
1269
+ activesData = $__default["default"](actives).not(this._selector).data(DATA_KEY$7);
1266
1270
 
1267
1271
  if (activesData && activesData._isTransitioning) {
1268
1272
  return;
1269
1273
  }
1270
1274
  }
1271
1275
 
1272
- var startEvent = $.Event(Event$3.SHOW);
1273
- $(this._element).trigger(startEvent);
1276
+ var startEvent = $__default["default"].Event(EVENT_SHOW$4);
1277
+ $__default["default"](this._element).trigger(startEvent);
1274
1278
 
1275
1279
  if (startEvent.isDefaultPrevented()) {
1276
1280
  return;
1277
1281
  }
1278
1282
 
1279
1283
  if (actives) {
1280
- Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide');
1284
+ Collapse._jQueryInterface.call($__default["default"](actives).not(this._selector), 'hide');
1281
1285
 
1282
1286
  if (!activesData) {
1283
- $(actives).data(DATA_KEY$3, null);
1287
+ $__default["default"](actives).data(DATA_KEY$7, null);
1284
1288
  }
1285
1289
  }
1286
1290
 
1287
1291
  var dimension = this._getDimension();
1288
1292
 
1289
- $(this._element).removeClass(ClassName$3.COLLAPSE).addClass(ClassName$3.COLLAPSING);
1293
+ $__default["default"](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);
1290
1294
  this._element.style[dimension] = 0;
1291
1295
 
1292
1296
  if (this._triggerArray.length) {
1293
- $(this._triggerArray).removeClass(ClassName$3.COLLAPSED).attr('aria-expanded', true);
1297
+ $__default["default"](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);
1294
1298
  }
1295
1299
 
1296
1300
  this.setTransitioning(true);
1297
1301
 
1298
1302
  var complete = function complete() {
1299
- $(_this._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).addClass(ClassName$3.SHOW);
1303
+ $__default["default"](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$6);
1300
1304
  _this._element.style[dimension] = '';
1301
1305
 
1302
1306
  _this.setTransitioning(false);
1303
1307
 
1304
- $(_this._element).trigger(Event$3.SHOWN);
1308
+ $__default["default"](_this._element).trigger(EVENT_SHOWN$4);
1305
1309
  };
1306
1310
 
1307
1311
  var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
1308
1312
  var scrollSize = "scroll" + capitalizedDimension;
1309
1313
  var transitionDuration = Util.getTransitionDurationFromElement(this._element);
1310
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
1314
+ $__default["default"](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
1311
1315
  this._element.style[dimension] = this._element[scrollSize] + "px";
1312
1316
  };
1313
1317
 
1314
1318
  _proto.hide = function hide() {
1315
1319
  var _this2 = this;
1316
1320
 
1317
- if (this._isTransitioning || !$(this._element).hasClass(ClassName$3.SHOW)) {
1321
+ if (this._isTransitioning || !$__default["default"](this._element).hasClass(CLASS_NAME_SHOW$6)) {
1318
1322
  return;
1319
1323
  }
1320
1324
 
1321
- var startEvent = $.Event(Event$3.HIDE);
1322
- $(this._element).trigger(startEvent);
1325
+ var startEvent = $__default["default"].Event(EVENT_HIDE$4);
1326
+ $__default["default"](this._element).trigger(startEvent);
1323
1327
 
1324
1328
  if (startEvent.isDefaultPrevented()) {
1325
1329
  return;
@@ -1329,7 +1333,7 @@
1329
1333
 
1330
1334
  this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
1331
1335
  Util.reflow(this._element);
1332
- $(this._element).addClass(ClassName$3.COLLAPSING).removeClass(ClassName$3.COLLAPSE).removeClass(ClassName$3.SHOW);
1336
+ $__default["default"](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW$6);
1333
1337
  var triggerArrayLength = this._triggerArray.length;
1334
1338
 
1335
1339
  if (triggerArrayLength > 0) {
@@ -1338,10 +1342,10 @@
1338
1342
  var selector = Util.getSelectorFromElement(trigger);
1339
1343
 
1340
1344
  if (selector !== null) {
1341
- var $elem = $([].slice.call(document.querySelectorAll(selector)));
1345
+ var $elem = $__default["default"]([].slice.call(document.querySelectorAll(selector)));
1342
1346
 
1343
- if (!$elem.hasClass(ClassName$3.SHOW)) {
1344
- $(trigger).addClass(ClassName$3.COLLAPSED).attr('aria-expanded', false);
1347
+ if (!$elem.hasClass(CLASS_NAME_SHOW$6)) {
1348
+ $__default["default"](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);
1345
1349
  }
1346
1350
  }
1347
1351
  }
@@ -1352,12 +1356,12 @@
1352
1356
  var complete = function complete() {
1353
1357
  _this2.setTransitioning(false);
1354
1358
 
1355
- $(_this2._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).trigger(Event$3.HIDDEN);
1359
+ $__default["default"](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN$4);
1356
1360
  };
1357
1361
 
1358
1362
  this._element.style[dimension] = '';
1359
1363
  var transitionDuration = Util.getTransitionDurationFromElement(this._element);
1360
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
1364
+ $__default["default"](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
1361
1365
  };
1362
1366
 
1363
1367
  _proto.setTransitioning = function setTransitioning(isTransitioning) {
@@ -1365,7 +1369,7 @@
1365
1369
  };
1366
1370
 
1367
1371
  _proto.dispose = function dispose() {
1368
- $.removeData(this._element, DATA_KEY$3);
1372
+ $__default["default"].removeData(this._element, DATA_KEY$7);
1369
1373
  this._config = null;
1370
1374
  this._parent = null;
1371
1375
  this._element = null;
@@ -1375,16 +1379,16 @@
1375
1379
  ;
1376
1380
 
1377
1381
  _proto._getConfig = function _getConfig(config) {
1378
- config = _objectSpread({}, Default$1, config);
1382
+ config = _extends({}, Default$6, config);
1379
1383
  config.toggle = Boolean(config.toggle); // Coerce string values
1380
1384
 
1381
- Util.typeCheckConfig(NAME$3, config, DefaultType$1);
1385
+ Util.typeCheckConfig(NAME$7, config, DefaultType$6);
1382
1386
  return config;
1383
1387
  };
1384
1388
 
1385
1389
  _proto._getDimension = function _getDimension() {
1386
- var hasWidth = $(this._element).hasClass(Dimension.WIDTH);
1387
- return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
1390
+ var hasWidth = $__default["default"](this._element).hasClass(DIMENSION_WIDTH);
1391
+ return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;
1388
1392
  };
1389
1393
 
1390
1394
  _proto._getParent = function _getParent() {
@@ -1404,17 +1408,17 @@
1404
1408
 
1405
1409
  var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
1406
1410
  var children = [].slice.call(parent.querySelectorAll(selector));
1407
- $(children).each(function (i, element) {
1411
+ $__default["default"](children).each(function (i, element) {
1408
1412
  _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
1409
1413
  });
1410
1414
  return parent;
1411
1415
  };
1412
1416
 
1413
1417
  _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
1414
- var isOpen = $(element).hasClass(ClassName$3.SHOW);
1418
+ var isOpen = $__default["default"](element).hasClass(CLASS_NAME_SHOW$6);
1415
1419
 
1416
1420
  if (triggerArray.length) {
1417
- $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
1421
+ $__default["default"](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
1418
1422
  }
1419
1423
  } // Static
1420
1424
  ;
@@ -1426,18 +1430,18 @@
1426
1430
 
1427
1431
  Collapse._jQueryInterface = function _jQueryInterface(config) {
1428
1432
  return this.each(function () {
1429
- var $this = $(this);
1430
- var data = $this.data(DATA_KEY$3);
1433
+ var $element = $__default["default"](this);
1434
+ var data = $element.data(DATA_KEY$7);
1431
1435
 
1432
- var _config = _objectSpread({}, Default$1, $this.data(), typeof config === 'object' && config ? config : {});
1436
+ var _config = _extends({}, Default$6, $element.data(), typeof config === 'object' && config ? config : {});
1433
1437
 
1434
- if (!data && _config.toggle && /show|hide/.test(config)) {
1438
+ if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
1435
1439
  _config.toggle = false;
1436
1440
  }
1437
1441
 
1438
1442
  if (!data) {
1439
1443
  data = new Collapse(this, _config);
1440
- $this.data(DATA_KEY$3, data);
1444
+ $element.data(DATA_KEY$7, data);
1441
1445
  }
1442
1446
 
1443
1447
  if (typeof config === 'string') {
@@ -1453,68 +1457,62 @@
1453
1457
  _createClass(Collapse, null, [{
1454
1458
  key: "VERSION",
1455
1459
  get: function get() {
1456
- return VERSION$3;
1460
+ return VERSION$7;
1457
1461
  }
1458
1462
  }, {
1459
1463
  key: "Default",
1460
1464
  get: function get() {
1461
- return Default$1;
1465
+ return Default$6;
1462
1466
  }
1463
1467
  }]);
1464
1468
 
1465
1469
  return Collapse;
1466
1470
  }();
1467
1471
  /**
1468
- * ------------------------------------------------------------------------
1469
- * Data Api implementation
1470
- * ------------------------------------------------------------------------
1472
+ * Data API implementation
1471
1473
  */
1472
1474
 
1473
1475
 
1474
- $(document).on(Event$3.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) {
1476
+ $__default["default"](document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {
1475
1477
  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
1476
1478
  if (event.currentTarget.tagName === 'A') {
1477
1479
  event.preventDefault();
1478
1480
  }
1479
1481
 
1480
- var $trigger = $(this);
1482
+ var $trigger = $__default["default"](this);
1481
1483
  var selector = Util.getSelectorFromElement(this);
1482
1484
  var selectors = [].slice.call(document.querySelectorAll(selector));
1483
- $(selectors).each(function () {
1484
- var $target = $(this);
1485
- var data = $target.data(DATA_KEY$3);
1485
+ $__default["default"](selectors).each(function () {
1486
+ var $target = $__default["default"](this);
1487
+ var data = $target.data(DATA_KEY$7);
1486
1488
  var config = data ? 'toggle' : $trigger.data();
1487
1489
 
1488
1490
  Collapse._jQueryInterface.call($target, config);
1489
1491
  });
1490
1492
  });
1491
1493
  /**
1492
- * ------------------------------------------------------------------------
1493
1494
  * jQuery
1494
- * ------------------------------------------------------------------------
1495
1495
  */
1496
1496
 
1497
- $.fn[NAME$3] = Collapse._jQueryInterface;
1498
- $.fn[NAME$3].Constructor = Collapse;
1497
+ $__default["default"].fn[NAME$7] = Collapse._jQueryInterface;
1498
+ $__default["default"].fn[NAME$7].Constructor = Collapse;
1499
1499
 
1500
- $.fn[NAME$3].noConflict = function () {
1501
- $.fn[NAME$3] = JQUERY_NO_CONFLICT$3;
1500
+ $__default["default"].fn[NAME$7].noConflict = function () {
1501
+ $__default["default"].fn[NAME$7] = JQUERY_NO_CONFLICT$7;
1502
1502
  return Collapse._jQueryInterface;
1503
1503
  };
1504
1504
 
1505
1505
  /**
1506
- * ------------------------------------------------------------------------
1507
1506
  * Constants
1508
- * ------------------------------------------------------------------------
1509
1507
  */
1510
1508
 
1511
- var NAME$4 = 'dropdown';
1512
- var VERSION$4 = '4.3.1';
1513
- var DATA_KEY$4 = 'bs.dropdown';
1514
- var EVENT_KEY$4 = "." + DATA_KEY$4;
1515
- var DATA_API_KEY$4 = '.data-api';
1516
- var JQUERY_NO_CONFLICT$4 = $.fn[NAME$4];
1517
- var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
1509
+ var NAME$6 = 'dropdown';
1510
+ var VERSION$6 = '4.6.1';
1511
+ var DATA_KEY$6 = 'bs.dropdown';
1512
+ var EVENT_KEY$6 = "." + DATA_KEY$6;
1513
+ var DATA_API_KEY$3 = '.data-api';
1514
+ var JQUERY_NO_CONFLICT$6 = $__default["default"].fn[NAME$6];
1515
+ var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key
1518
1516
 
1519
1517
  var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
1520
1518
 
@@ -1526,68 +1524,54 @@
1526
1524
 
1527
1525
  var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
1528
1526
 
1529
- var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
1530
- var Event$4 = {
1531
- HIDE: "hide" + EVENT_KEY$4,
1532
- HIDDEN: "hidden" + EVENT_KEY$4,
1533
- SHOW: "show" + EVENT_KEY$4,
1534
- SHOWN: "shown" + EVENT_KEY$4,
1535
- CLICK: "click" + EVENT_KEY$4,
1536
- CLICK_DATA_API: "click" + EVENT_KEY$4 + DATA_API_KEY$4,
1537
- KEYDOWN_DATA_API: "keydown" + EVENT_KEY$4 + DATA_API_KEY$4,
1538
- KEYUP_DATA_API: "keyup" + EVENT_KEY$4 + DATA_API_KEY$4
1539
- };
1540
- var ClassName$4 = {
1541
- DISABLED: 'disabled',
1542
- SHOW: 'show',
1543
- DROPUP: 'dropup',
1544
- DROPRIGHT: 'dropright',
1545
- DROPLEFT: 'dropleft',
1546
- MENURIGHT: 'dropdown-menu-right',
1547
- MENULEFT: 'dropdown-menu-left',
1548
- POSITION_STATIC: 'position-static'
1549
- };
1550
- var Selector$4 = {
1551
- DATA_TOGGLE: '[data-toggle="dropdown"]',
1552
- FORM_CHILD: '.dropdown form',
1553
- MENU: '.dropdown-menu',
1554
- NAVBAR_NAV: '.navbar-nav',
1555
- VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'
1556
- };
1557
- var AttachmentMap = {
1558
- TOP: 'top-start',
1559
- TOPEND: 'top-end',
1560
- BOTTOM: 'bottom-start',
1561
- BOTTOMEND: 'bottom-end',
1562
- RIGHT: 'right-start',
1563
- RIGHTEND: 'right-end',
1564
- LEFT: 'left-start',
1565
- LEFTEND: 'left-end'
1566
- };
1567
- var Default$2 = {
1527
+ var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE$1);
1528
+ var CLASS_NAME_DISABLED$1 = 'disabled';
1529
+ var CLASS_NAME_SHOW$5 = 'show';
1530
+ var CLASS_NAME_DROPUP = 'dropup';
1531
+ var CLASS_NAME_DROPRIGHT = 'dropright';
1532
+ var CLASS_NAME_DROPLEFT = 'dropleft';
1533
+ var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';
1534
+ var CLASS_NAME_POSITION_STATIC = 'position-static';
1535
+ var EVENT_HIDE$3 = "hide" + EVENT_KEY$6;
1536
+ var EVENT_HIDDEN$3 = "hidden" + EVENT_KEY$6;
1537
+ var EVENT_SHOW$3 = "show" + EVENT_KEY$6;
1538
+ var EVENT_SHOWN$3 = "shown" + EVENT_KEY$6;
1539
+ var EVENT_CLICK = "click" + EVENT_KEY$6;
1540
+ var EVENT_CLICK_DATA_API$2 = "click" + EVENT_KEY$6 + DATA_API_KEY$3;
1541
+ var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$6 + DATA_API_KEY$3;
1542
+ var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$6 + DATA_API_KEY$3;
1543
+ var SELECTOR_DATA_TOGGLE$2 = '[data-toggle="dropdown"]';
1544
+ var SELECTOR_FORM_CHILD = '.dropdown form';
1545
+ var SELECTOR_MENU = '.dropdown-menu';
1546
+ var SELECTOR_NAVBAR_NAV = '.navbar-nav';
1547
+ var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
1548
+ var PLACEMENT_TOP = 'top-start';
1549
+ var PLACEMENT_TOPEND = 'top-end';
1550
+ var PLACEMENT_BOTTOM = 'bottom-start';
1551
+ var PLACEMENT_BOTTOMEND = 'bottom-end';
1552
+ var PLACEMENT_RIGHT = 'right-start';
1553
+ var PLACEMENT_LEFT = 'left-start';
1554
+ var Default$5 = {
1568
1555
  offset: 0,
1569
1556
  flip: true,
1570
1557
  boundary: 'scrollParent',
1571
1558
  reference: 'toggle',
1572
- display: 'dynamic'
1559
+ display: 'dynamic',
1560
+ popperConfig: null
1573
1561
  };
1574
- var DefaultType$2 = {
1562
+ var DefaultType$5 = {
1575
1563
  offset: '(number|string|function)',
1576
1564
  flip: 'boolean',
1577
1565
  boundary: '(string|element)',
1578
1566
  reference: '(string|element)',
1579
- display: 'string'
1580
- /**
1581
- * ------------------------------------------------------------------------
1582
- * Class Definition
1583
- * ------------------------------------------------------------------------
1584
- */
1585
-
1567
+ display: 'string',
1568
+ popperConfig: '(null|object)'
1586
1569
  };
1570
+ /**
1571
+ * Class definition
1572
+ */
1587
1573
 
1588
- var Dropdown =
1589
- /*#__PURE__*/
1590
- function () {
1574
+ var Dropdown = /*#__PURE__*/function () {
1591
1575
  function Dropdown(element, config) {
1592
1576
  this._element = element;
1593
1577
  this._popper = null;
@@ -1603,13 +1587,11 @@
1603
1587
 
1604
1588
  // Public
1605
1589
  _proto.toggle = function toggle() {
1606
- if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) {
1590
+ if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED$1)) {
1607
1591
  return;
1608
1592
  }
1609
1593
 
1610
- var parent = Dropdown._getParentFromElement(this._element);
1611
-
1612
- var isActive = $(this._menu).hasClass(ClassName$4.SHOW);
1594
+ var isActive = $__default["default"](this._menu).hasClass(CLASS_NAME_SHOW$5);
1613
1595
 
1614
1596
  Dropdown._clearMenus();
1615
1597
 
@@ -1617,24 +1599,36 @@
1617
1599
  return;
1618
1600
  }
1619
1601
 
1602
+ this.show(true);
1603
+ };
1604
+
1605
+ _proto.show = function show(usePopper) {
1606
+ if (usePopper === void 0) {
1607
+ usePopper = false;
1608
+ }
1609
+
1610
+ if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED$1) || $__default["default"](this._menu).hasClass(CLASS_NAME_SHOW$5)) {
1611
+ return;
1612
+ }
1613
+
1620
1614
  var relatedTarget = {
1621
1615
  relatedTarget: this._element
1622
1616
  };
1623
- var showEvent = $.Event(Event$4.SHOW, relatedTarget);
1624
- $(parent).trigger(showEvent);
1617
+ var showEvent = $__default["default"].Event(EVENT_SHOW$3, relatedTarget);
1618
+
1619
+ var parent = Dropdown._getParentFromElement(this._element);
1620
+
1621
+ $__default["default"](parent).trigger(showEvent);
1625
1622
 
1626
1623
  if (showEvent.isDefaultPrevented()) {
1627
1624
  return;
1628
- } // Disable totally Popper.js for Dropdown in Navbar
1625
+ } // Totally disable Popper for Dropdowns in Navbar
1629
1626
 
1630
1627
 
1631
- if (!this._inNavbar) {
1632
- /**
1633
- * Check for Popper dependency
1634
- * Popper - https://popper.js.org
1635
- */
1636
- if (typeof Popper === 'undefined') {
1637
- throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org/)');
1628
+ if (!this._inNavbar && usePopper) {
1629
+ // Check for Popper dependency
1630
+ if (typeof Popper__default["default"] === 'undefined') {
1631
+ throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)');
1638
1632
  }
1639
1633
 
1640
1634
  var referenceElement = this._element;
@@ -1653,75 +1647,57 @@
1653
1647
 
1654
1648
 
1655
1649
  if (this._config.boundary !== 'scrollParent') {
1656
- $(parent).addClass(ClassName$4.POSITION_STATIC);
1650
+ $__default["default"](parent).addClass(CLASS_NAME_POSITION_STATIC);
1657
1651
  }
1658
1652
 
1659
- this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());
1653
+ this._popper = new Popper__default["default"](referenceElement, this._menu, this._getPopperConfig());
1660
1654
  } // If this is a touch-enabled device we add extra
1661
1655
  // empty mouseover listeners to the body's immediate children;
1662
1656
  // only needed because of broken event delegation on iOS
1663
1657
  // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
1664
1658
 
1665
1659
 
1666
- if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) {
1667
- $(document.body).children().on('mouseover', null, $.noop);
1660
+ if ('ontouchstart' in document.documentElement && $__default["default"](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {
1661
+ $__default["default"](document.body).children().on('mouseover', null, $__default["default"].noop);
1668
1662
  }
1669
1663
 
1670
1664
  this._element.focus();
1671
1665
 
1672
1666
  this._element.setAttribute('aria-expanded', true);
1673
1667
 
1674
- $(this._menu).toggleClass(ClassName$4.SHOW);
1675
- $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
1676
- };
1677
-
1678
- _proto.show = function show() {
1679
- if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {
1680
- return;
1681
- }
1682
-
1683
- var relatedTarget = {
1684
- relatedTarget: this._element
1685
- };
1686
- var showEvent = $.Event(Event$4.SHOW, relatedTarget);
1687
-
1688
- var parent = Dropdown._getParentFromElement(this._element);
1689
-
1690
- $(parent).trigger(showEvent);
1691
-
1692
- if (showEvent.isDefaultPrevented()) {
1693
- return;
1694
- }
1695
-
1696
- $(this._menu).toggleClass(ClassName$4.SHOW);
1697
- $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));
1668
+ $__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW$5);
1669
+ $__default["default"](parent).toggleClass(CLASS_NAME_SHOW$5).trigger($__default["default"].Event(EVENT_SHOWN$3, relatedTarget));
1698
1670
  };
1699
1671
 
1700
1672
  _proto.hide = function hide() {
1701
- if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) {
1673
+ if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED$1) || !$__default["default"](this._menu).hasClass(CLASS_NAME_SHOW$5)) {
1702
1674
  return;
1703
1675
  }
1704
1676
 
1705
1677
  var relatedTarget = {
1706
1678
  relatedTarget: this._element
1707
1679
  };
1708
- var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
1680
+ var hideEvent = $__default["default"].Event(EVENT_HIDE$3, relatedTarget);
1709
1681
 
1710
1682
  var parent = Dropdown._getParentFromElement(this._element);
1711
1683
 
1712
- $(parent).trigger(hideEvent);
1684
+ $__default["default"](parent).trigger(hideEvent);
1713
1685
 
1714
1686
  if (hideEvent.isDefaultPrevented()) {
1715
1687
  return;
1716
1688
  }
1717
1689
 
1718
- $(this._menu).toggleClass(ClassName$4.SHOW);
1719
- $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
1690
+ if (this._popper) {
1691
+ this._popper.destroy();
1692
+ }
1693
+
1694
+ $__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW$5);
1695
+ $__default["default"](parent).toggleClass(CLASS_NAME_SHOW$5).trigger($__default["default"].Event(EVENT_HIDDEN$3, relatedTarget));
1720
1696
  };
1721
1697
 
1722
1698
  _proto.dispose = function dispose() {
1723
- $.removeData(this._element, DATA_KEY$4);
1724
- $(this._element).off(EVENT_KEY$4);
1699
+ $__default["default"].removeData(this._element, DATA_KEY$6);
1700
+ $__default["default"](this._element).off(EVENT_KEY$6);
1725
1701
  this._element = null;
1726
1702
  this._menu = null;
1727
1703
 
@@ -1744,7 +1720,7 @@
1744
1720
  _proto._addEventListeners = function _addEventListeners() {
1745
1721
  var _this = this;
1746
1722
 
1747
- $(this._element).on(Event$4.CLICK, function (event) {
1723
+ $__default["default"](this._element).on(EVENT_CLICK, function (event) {
1748
1724
  event.preventDefault();
1749
1725
  event.stopPropagation();
1750
1726
 
@@ -1753,8 +1729,8 @@
1753
1729
  };
1754
1730
 
1755
1731
  _proto._getConfig = function _getConfig(config) {
1756
- config = _objectSpread({}, this.constructor.Default, $(this._element).data(), config);
1757
- Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
1732
+ config = _extends({}, this.constructor.Default, $__default["default"](this._element).data(), config);
1733
+ Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);
1758
1734
  return config;
1759
1735
  };
1760
1736
 
@@ -1763,7 +1739,7 @@
1763
1739
  var parent = Dropdown._getParentFromElement(this._element);
1764
1740
 
1765
1741
  if (parent) {
1766
- this._menu = parent.querySelector(Selector$4.MENU);
1742
+ this._menu = parent.querySelector(SELECTOR_MENU);
1767
1743
  }
1768
1744
  }
1769
1745
 
@@ -1771,28 +1747,24 @@
1771
1747
  };
1772
1748
 
1773
1749
  _proto._getPlacement = function _getPlacement() {
1774
- var $parentDropdown = $(this._element.parentNode);
1775
- var placement = AttachmentMap.BOTTOM; // Handle dropup
1750
+ var $parentDropdown = $__default["default"](this._element.parentNode);
1751
+ var placement = PLACEMENT_BOTTOM; // Handle dropup
1776
1752
 
1777
- if ($parentDropdown.hasClass(ClassName$4.DROPUP)) {
1778
- placement = AttachmentMap.TOP;
1779
-
1780
- if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
1781
- placement = AttachmentMap.TOPEND;
1782
- }
1783
- } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) {
1784
- placement = AttachmentMap.RIGHT;
1785
- } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) {
1786
- placement = AttachmentMap.LEFT;
1787
- } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {
1788
- placement = AttachmentMap.BOTTOMEND;
1753
+ if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {
1754
+ placement = $__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP;
1755
+ } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {
1756
+ placement = PLACEMENT_RIGHT;
1757
+ } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {
1758
+ placement = PLACEMENT_LEFT;
1759
+ } else if ($__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT)) {
1760
+ placement = PLACEMENT_BOTTOMEND;
1789
1761
  }
1790
1762
 
1791
1763
  return placement;
1792
1764
  };
1793
1765
 
1794
1766
  _proto._detectNavbar = function _detectNavbar() {
1795
- return $(this._element).closest('.navbar').length > 0;
1767
+ return $__default["default"](this._element).closest('.navbar').length > 0;
1796
1768
  };
1797
1769
 
1798
1770
  _proto._getOffset = function _getOffset() {
@@ -1802,7 +1774,7 @@
1802
1774
 
1803
1775
  if (typeof this._config.offset === 'function') {
1804
1776
  offset.fn = function (data) {
1805
- data.offsets = _objectSpread({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});
1777
+ data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element));
1806
1778
  return data;
1807
1779
  };
1808
1780
  } else {
@@ -1823,9 +1795,8 @@
1823
1795
  preventOverflow: {
1824
1796
  boundariesElement: this._config.boundary
1825
1797
  }
1826
- } // Disable Popper.js if we have a static display
1827
-
1828
- };
1798
+ }
1799
+ }; // Disable Popper if we have a static display
1829
1800
 
1830
1801
  if (this._config.display === 'static') {
1831
1802
  popperConfig.modifiers.applyStyle = {
@@ -1833,19 +1804,19 @@
1833
1804
  };
1834
1805
  }
1835
1806
 
1836
- return popperConfig;
1807
+ return _extends({}, popperConfig, this._config.popperConfig);
1837
1808
  } // Static
1838
1809
  ;
1839
1810
 
1840
1811
  Dropdown._jQueryInterface = function _jQueryInterface(config) {
1841
1812
  return this.each(function () {
1842
- var data = $(this).data(DATA_KEY$4);
1813
+ var data = $__default["default"](this).data(DATA_KEY$6);
1843
1814
 
1844
1815
  var _config = typeof config === 'object' ? config : null;
1845
1816
 
1846
1817
  if (!data) {
1847
1818
  data = new Dropdown(this, _config);
1848
- $(this).data(DATA_KEY$4, data);
1819
+ $__default["default"](this).data(DATA_KEY$6, data);
1849
1820
  }
1850
1821
 
1851
1822
  if (typeof config === 'string') {
@@ -1863,12 +1834,12 @@
1863
1834
  return;
1864
1835
  }
1865
1836
 
1866
- var toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE));
1837
+ var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$2));
1867
1838
 
1868
1839
  for (var i = 0, len = toggles.length; i < len; i++) {
1869
1840
  var parent = Dropdown._getParentFromElement(toggles[i]);
1870
1841
 
1871
- var context = $(toggles[i]).data(DATA_KEY$4);
1842
+ var context = $__default["default"](toggles[i]).data(DATA_KEY$6);
1872
1843
  var relatedTarget = {
1873
1844
  relatedTarget: toggles[i]
1874
1845
  };
@@ -1883,16 +1854,16 @@
1883
1854
 
1884
1855
  var dropdownMenu = context._menu;
1885
1856
 
1886
- if (!$(parent).hasClass(ClassName$4.SHOW)) {
1857
+ if (!$__default["default"](parent).hasClass(CLASS_NAME_SHOW$5)) {
1887
1858
  continue;
1888
1859
  }
1889
1860
 
1890
- if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {
1861
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $__default["default"].contains(parent, event.target)) {
1891
1862
  continue;
1892
1863
  }
1893
1864
 
1894
- var hideEvent = $.Event(Event$4.HIDE, relatedTarget);
1895
- $(parent).trigger(hideEvent);
1865
+ var hideEvent = $__default["default"].Event(EVENT_HIDE$3, relatedTarget);
1866
+ $__default["default"](parent).trigger(hideEvent);
1896
1867
 
1897
1868
  if (hideEvent.isDefaultPrevented()) {
1898
1869
  continue;
@@ -1901,12 +1872,17 @@
1901
1872
 
1902
1873
 
1903
1874
  if ('ontouchstart' in document.documentElement) {
1904
- $(document.body).children().off('mouseover', null, $.noop);
1875
+ $__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop);
1905
1876
  }
1906
1877
 
1907
1878
  toggles[i].setAttribute('aria-expanded', 'false');
1908
- $(dropdownMenu).removeClass(ClassName$4.SHOW);
1909
- $(parent).removeClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));
1879
+
1880
+ if (context._popper) {
1881
+ context._popper.destroy();
1882
+ }
1883
+
1884
+ $__default["default"](dropdownMenu).removeClass(CLASS_NAME_SHOW$5);
1885
+ $__default["default"](parent).removeClass(CLASS_NAME_SHOW$5).trigger($__default["default"].Event(EVENT_HIDDEN$3, relatedTarget));
1910
1886
  }
1911
1887
  };
1912
1888
 
@@ -1930,32 +1906,37 @@
1930
1906
  // - If key is other than escape
1931
1907
  // - If key is not up or down => not a dropdown command
1932
1908
  // - If trigger inside the menu => not a dropdown command
1933
- if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
1909
+ if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE$1 && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $__default["default"](event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
1934
1910
  return;
1935
1911
  }
1936
1912
 
1937
- event.preventDefault();
1938
- event.stopPropagation();
1939
-
1940
- if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) {
1913
+ if (this.disabled || $__default["default"](this).hasClass(CLASS_NAME_DISABLED$1)) {
1941
1914
  return;
1942
1915
  }
1943
1916
 
1944
1917
  var parent = Dropdown._getParentFromElement(this);
1945
1918
 
1946
- var isActive = $(parent).hasClass(ClassName$4.SHOW);
1919
+ var isActive = $__default["default"](parent).hasClass(CLASS_NAME_SHOW$5);
1920
+
1921
+ if (!isActive && event.which === ESCAPE_KEYCODE$1) {
1922
+ return;
1923
+ }
1947
1924
 
1948
- if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {
1949
- if (event.which === ESCAPE_KEYCODE) {
1950
- var toggle = parent.querySelector(Selector$4.DATA_TOGGLE);
1951
- $(toggle).trigger('focus');
1925
+ event.preventDefault();
1926
+ event.stopPropagation();
1927
+
1928
+ if (!isActive || event.which === ESCAPE_KEYCODE$1 || event.which === SPACE_KEYCODE) {
1929
+ if (event.which === ESCAPE_KEYCODE$1) {
1930
+ $__default["default"](parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus');
1952
1931
  }
1953
1932
 
1954
- $(this).trigger('click');
1933
+ $__default["default"](this).trigger('click');
1955
1934
  return;
1956
1935
  }
1957
1936
 
1958
- var items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS));
1937
+ var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) {
1938
+ return $__default["default"](item).is(':visible');
1939
+ });
1959
1940
 
1960
1941
  if (items.length === 0) {
1961
1942
  return;
@@ -1983,120 +1964,105 @@
1983
1964
  _createClass(Dropdown, null, [{
1984
1965
  key: "VERSION",
1985
1966
  get: function get() {
1986
- return VERSION$4;
1967
+ return VERSION$6;
1987
1968
  }
1988
1969
  }, {
1989
1970
  key: "Default",
1990
1971
  get: function get() {
1991
- return Default$2;
1972
+ return Default$5;
1992
1973
  }
1993
1974
  }, {
1994
1975
  key: "DefaultType",
1995
1976
  get: function get() {
1996
- return DefaultType$2;
1977
+ return DefaultType$5;
1997
1978
  }
1998
1979
  }]);
1999
1980
 
2000
1981
  return Dropdown;
2001
1982
  }();
2002
1983
  /**
2003
- * ------------------------------------------------------------------------
2004
- * Data Api implementation
2005
- * ------------------------------------------------------------------------
1984
+ * Data API implementation
2006
1985
  */
2007
1986
 
2008
1987
 
2009
- $(document).on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler).on(Event$4.CLICK_DATA_API + " " + Event$4.KEYUP_DATA_API, Dropdown._clearMenus).on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {
1988
+ $__default["default"](document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API$2 + " " + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {
2010
1989
  event.preventDefault();
2011
1990
  event.stopPropagation();
2012
1991
 
2013
- Dropdown._jQueryInterface.call($(this), 'toggle');
2014
- }).on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) {
1992
+ Dropdown._jQueryInterface.call($__default["default"](this), 'toggle');
1993
+ }).on(EVENT_CLICK_DATA_API$2, SELECTOR_FORM_CHILD, function (e) {
2015
1994
  e.stopPropagation();
2016
1995
  });
2017
1996
  /**
2018
- * ------------------------------------------------------------------------
2019
1997
  * jQuery
2020
- * ------------------------------------------------------------------------
2021
1998
  */
2022
1999
 
2023
- $.fn[NAME$4] = Dropdown._jQueryInterface;
2024
- $.fn[NAME$4].Constructor = Dropdown;
2000
+ $__default["default"].fn[NAME$6] = Dropdown._jQueryInterface;
2001
+ $__default["default"].fn[NAME$6].Constructor = Dropdown;
2025
2002
 
2026
- $.fn[NAME$4].noConflict = function () {
2027
- $.fn[NAME$4] = JQUERY_NO_CONFLICT$4;
2003
+ $__default["default"].fn[NAME$6].noConflict = function () {
2004
+ $__default["default"].fn[NAME$6] = JQUERY_NO_CONFLICT$6;
2028
2005
  return Dropdown._jQueryInterface;
2029
2006
  };
2030
2007
 
2031
2008
  /**
2032
- * ------------------------------------------------------------------------
2033
2009
  * Constants
2034
- * ------------------------------------------------------------------------
2035
2010
  */
2036
2011
 
2037
2012
  var NAME$5 = 'modal';
2038
- var VERSION$5 = '4.3.1';
2013
+ var VERSION$5 = '4.6.1';
2039
2014
  var DATA_KEY$5 = 'bs.modal';
2040
2015
  var EVENT_KEY$5 = "." + DATA_KEY$5;
2041
- var DATA_API_KEY$5 = '.data-api';
2042
- var JQUERY_NO_CONFLICT$5 = $.fn[NAME$5];
2043
- var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key
2016
+ var DATA_API_KEY$2 = '.data-api';
2017
+ var JQUERY_NO_CONFLICT$5 = $__default["default"].fn[NAME$5];
2018
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
2044
2019
 
2045
- var Default$3 = {
2020
+ var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';
2021
+ var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';
2022
+ var CLASS_NAME_BACKDROP = 'modal-backdrop';
2023
+ var CLASS_NAME_OPEN = 'modal-open';
2024
+ var CLASS_NAME_FADE$4 = 'fade';
2025
+ var CLASS_NAME_SHOW$4 = 'show';
2026
+ var CLASS_NAME_STATIC = 'modal-static';
2027
+ var EVENT_HIDE$2 = "hide" + EVENT_KEY$5;
2028
+ var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY$5;
2029
+ var EVENT_HIDDEN$2 = "hidden" + EVENT_KEY$5;
2030
+ var EVENT_SHOW$2 = "show" + EVENT_KEY$5;
2031
+ var EVENT_SHOWN$2 = "shown" + EVENT_KEY$5;
2032
+ var EVENT_FOCUSIN = "focusin" + EVENT_KEY$5;
2033
+ var EVENT_RESIZE = "resize" + EVENT_KEY$5;
2034
+ var EVENT_CLICK_DISMISS$1 = "click.dismiss" + EVENT_KEY$5;
2035
+ var EVENT_KEYDOWN_DISMISS = "keydown.dismiss" + EVENT_KEY$5;
2036
+ var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY$5;
2037
+ var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY$5;
2038
+ var EVENT_CLICK_DATA_API$1 = "click" + EVENT_KEY$5 + DATA_API_KEY$2;
2039
+ var SELECTOR_DIALOG = '.modal-dialog';
2040
+ var SELECTOR_MODAL_BODY = '.modal-body';
2041
+ var SELECTOR_DATA_TOGGLE$1 = '[data-toggle="modal"]';
2042
+ var SELECTOR_DATA_DISMISS$1 = '[data-dismiss="modal"]';
2043
+ var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
2044
+ var SELECTOR_STICKY_CONTENT = '.sticky-top';
2045
+ var Default$4 = {
2046
2046
  backdrop: true,
2047
2047
  keyboard: true,
2048
2048
  focus: true,
2049
2049
  show: true
2050
2050
  };
2051
- var DefaultType$3 = {
2051
+ var DefaultType$4 = {
2052
2052
  backdrop: '(boolean|string)',
2053
2053
  keyboard: 'boolean',
2054
2054
  focus: 'boolean',
2055
2055
  show: 'boolean'
2056
2056
  };
2057
- var Event$5 = {
2058
- HIDE: "hide" + EVENT_KEY$5,
2059
- HIDDEN: "hidden" + EVENT_KEY$5,
2060
- SHOW: "show" + EVENT_KEY$5,
2061
- SHOWN: "shown" + EVENT_KEY$5,
2062
- FOCUSIN: "focusin" + EVENT_KEY$5,
2063
- RESIZE: "resize" + EVENT_KEY$5,
2064
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY$5,
2065
- KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY$5,
2066
- MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY$5,
2067
- MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY$5,
2068
- CLICK_DATA_API: "click" + EVENT_KEY$5 + DATA_API_KEY$5
2069
- };
2070
- var ClassName$5 = {
2071
- SCROLLABLE: 'modal-dialog-scrollable',
2072
- SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
2073
- BACKDROP: 'modal-backdrop',
2074
- OPEN: 'modal-open',
2075
- FADE: 'fade',
2076
- SHOW: 'show'
2077
- };
2078
- var Selector$5 = {
2079
- DIALOG: '.modal-dialog',
2080
- MODAL_BODY: '.modal-body',
2081
- DATA_TOGGLE: '[data-toggle="modal"]',
2082
- DATA_DISMISS: '[data-dismiss="modal"]',
2083
- FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
2084
- STICKY_CONTENT: '.sticky-top'
2085
- /**
2086
- * ------------------------------------------------------------------------
2087
- * Class Definition
2088
- * ------------------------------------------------------------------------
2089
- */
2090
-
2091
- };
2057
+ /**
2058
+ * Class definition
2059
+ */
2092
2060
 
2093
- var Modal =
2094
- /*#__PURE__*/
2095
- function () {
2061
+ var Modal = /*#__PURE__*/function () {
2096
2062
  function Modal(element, config) {
2097
2063
  this._config = this._getConfig(config);
2098
2064
  this._element = element;
2099
- this._dialog = element.querySelector(Selector$5.DIALOG);
2065
+ this._dialog = element.querySelector(SELECTOR_DIALOG);
2100
2066
  this._backdrop = null;
2101
2067
  this._isShown = false;
2102
2068
  this._isBodyOverflowing = false;
@@ -2120,21 +2086,21 @@
2120
2086
  return;
2121
2087
  }
2122
2088
 
2123
- if ($(this._element).hasClass(ClassName$5.FADE)) {
2124
- this._isTransitioning = true;
2125
- }
2126
-
2127
- var showEvent = $.Event(Event$5.SHOW, {
2089
+ var showEvent = $__default["default"].Event(EVENT_SHOW$2, {
2128
2090
  relatedTarget: relatedTarget
2129
2091
  });
2130
- $(this._element).trigger(showEvent);
2092
+ $__default["default"](this._element).trigger(showEvent);
2131
2093
 
2132
- if (this._isShown || showEvent.isDefaultPrevented()) {
2094
+ if (showEvent.isDefaultPrevented()) {
2133
2095
  return;
2134
2096
  }
2135
2097
 
2136
2098
  this._isShown = true;
2137
2099
 
2100
+ if ($__default["default"](this._element).hasClass(CLASS_NAME_FADE$4)) {
2101
+ this._isTransitioning = true;
2102
+ }
2103
+
2138
2104
  this._checkScrollbar();
2139
2105
 
2140
2106
  this._setScrollbar();
@@ -2145,12 +2111,12 @@
2145
2111
 
2146
2112
  this._setResizeEvent();
2147
2113
 
2148
- $(this._element).on(Event$5.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) {
2114
+ $__default["default"](this._element).on(EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, function (event) {
2149
2115
  return _this.hide(event);
2150
2116
  });
2151
- $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, function () {
2152
- $(_this._element).one(Event$5.MOUSEUP_DISMISS, function (event) {
2153
- if ($(event.target).is(_this._element)) {
2117
+ $__default["default"](this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () {
2118
+ $__default["default"](_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) {
2119
+ if ($__default["default"](event.target).is(_this._element)) {
2154
2120
  _this._ignoreBackdropClick = true;
2155
2121
  }
2156
2122
  });
@@ -2172,15 +2138,15 @@
2172
2138
  return;
2173
2139
  }
2174
2140
 
2175
- var hideEvent = $.Event(Event$5.HIDE);
2176
- $(this._element).trigger(hideEvent);
2141
+ var hideEvent = $__default["default"].Event(EVENT_HIDE$2);
2142
+ $__default["default"](this._element).trigger(hideEvent);
2177
2143
 
2178
2144
  if (!this._isShown || hideEvent.isDefaultPrevented()) {
2179
2145
  return;
2180
2146
  }
2181
2147
 
2182
2148
  this._isShown = false;
2183
- var transition = $(this._element).hasClass(ClassName$5.FADE);
2149
+ var transition = $__default["default"](this._element).hasClass(CLASS_NAME_FADE$4);
2184
2150
 
2185
2151
  if (transition) {
2186
2152
  this._isTransitioning = true;
@@ -2190,14 +2156,14 @@
2190
2156
 
2191
2157
  this._setResizeEvent();
2192
2158
 
2193
- $(document).off(Event$5.FOCUSIN);
2194
- $(this._element).removeClass(ClassName$5.SHOW);
2195
- $(this._element).off(Event$5.CLICK_DISMISS);
2196
- $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS);
2159
+ $__default["default"](document).off(EVENT_FOCUSIN);
2160
+ $__default["default"](this._element).removeClass(CLASS_NAME_SHOW$4);
2161
+ $__default["default"](this._element).off(EVENT_CLICK_DISMISS$1);
2162
+ $__default["default"](this._dialog).off(EVENT_MOUSEDOWN_DISMISS);
2197
2163
 
2198
2164
  if (transition) {
2199
2165
  var transitionDuration = Util.getTransitionDurationFromElement(this._element);
2200
- $(this._element).one(Util.TRANSITION_END, function (event) {
2166
+ $__default["default"](this._element).one(Util.TRANSITION_END, function (event) {
2201
2167
  return _this2._hideModal(event);
2202
2168
  }).emulateTransitionEnd(transitionDuration);
2203
2169
  } else {
@@ -2207,16 +2173,16 @@
2207
2173
 
2208
2174
  _proto.dispose = function dispose() {
2209
2175
  [window, this._element, this._dialog].forEach(function (htmlElement) {
2210
- return $(htmlElement).off(EVENT_KEY$5);
2176
+ return $__default["default"](htmlElement).off(EVENT_KEY$5);
2211
2177
  });
2212
2178
  /**
2213
- * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
2179
+ * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
2214
2180
  * Do not move `document` in `htmlElements` array
2215
- * It will remove `Event.CLICK_DATA_API` event that should remain
2181
+ * It will remove `EVENT_CLICK_DATA_API` event that should remain
2216
2182
  */
2217
2183
 
2218
- $(document).off(Event$5.FOCUSIN);
2219
- $.removeData(this._element, DATA_KEY$5);
2184
+ $__default["default"](document).off(EVENT_FOCUSIN);
2185
+ $__default["default"].removeData(this._element, DATA_KEY$5);
2220
2186
  this._config = null;
2221
2187
  this._element = null;
2222
2188
  this._dialog = null;
@@ -2234,15 +2200,49 @@
2234
2200
  ;
2235
2201
 
2236
2202
  _proto._getConfig = function _getConfig(config) {
2237
- config = _objectSpread({}, Default$3, config);
2238
- Util.typeCheckConfig(NAME$5, config, DefaultType$3);
2203
+ config = _extends({}, Default$4, config);
2204
+ Util.typeCheckConfig(NAME$5, config, DefaultType$4);
2239
2205
  return config;
2240
2206
  };
2241
2207
 
2242
- _proto._showElement = function _showElement(relatedTarget) {
2208
+ _proto._triggerBackdropTransition = function _triggerBackdropTransition() {
2243
2209
  var _this3 = this;
2244
2210
 
2245
- var transition = $(this._element).hasClass(ClassName$5.FADE);
2211
+ var hideEventPrevented = $__default["default"].Event(EVENT_HIDE_PREVENTED);
2212
+ $__default["default"](this._element).trigger(hideEventPrevented);
2213
+
2214
+ if (hideEventPrevented.isDefaultPrevented()) {
2215
+ return;
2216
+ }
2217
+
2218
+ var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
2219
+
2220
+ if (!isModalOverflowing) {
2221
+ this._element.style.overflowY = 'hidden';
2222
+ }
2223
+
2224
+ this._element.classList.add(CLASS_NAME_STATIC);
2225
+
2226
+ var modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog);
2227
+ $__default["default"](this._element).off(Util.TRANSITION_END);
2228
+ $__default["default"](this._element).one(Util.TRANSITION_END, function () {
2229
+ _this3._element.classList.remove(CLASS_NAME_STATIC);
2230
+
2231
+ if (!isModalOverflowing) {
2232
+ $__default["default"](_this3._element).one(Util.TRANSITION_END, function () {
2233
+ _this3._element.style.overflowY = '';
2234
+ }).emulateTransitionEnd(_this3._element, modalTransitionDuration);
2235
+ }
2236
+ }).emulateTransitionEnd(modalTransitionDuration);
2237
+
2238
+ this._element.focus();
2239
+ };
2240
+
2241
+ _proto._showElement = function _showElement(relatedTarget) {
2242
+ var _this4 = this;
2243
+
2244
+ var transition = $__default["default"](this._element).hasClass(CLASS_NAME_FADE$4);
2245
+ var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;
2246
2246
 
2247
2247
  if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
2248
2248
  // Don't move modal's DOM position
@@ -2255,8 +2255,10 @@
2255
2255
 
2256
2256
  this._element.setAttribute('aria-modal', true);
2257
2257
 
2258
- if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE)) {
2259
- this._dialog.querySelector(Selector$5.MODAL_BODY).scrollTop = 0;
2258
+ this._element.setAttribute('role', 'dialog');
2259
+
2260
+ if ($__default["default"](this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {
2261
+ modalBody.scrollTop = 0;
2260
2262
  } else {
2261
2263
  this._element.scrollTop = 0;
2262
2264
  }
@@ -2265,74 +2267,76 @@
2265
2267
  Util.reflow(this._element);
2266
2268
  }
2267
2269
 
2268
- $(this._element).addClass(ClassName$5.SHOW);
2270
+ $__default["default"](this._element).addClass(CLASS_NAME_SHOW$4);
2269
2271
 
2270
2272
  if (this._config.focus) {
2271
2273
  this._enforceFocus();
2272
2274
  }
2273
2275
 
2274
- var shownEvent = $.Event(Event$5.SHOWN, {
2276
+ var shownEvent = $__default["default"].Event(EVENT_SHOWN$2, {
2275
2277
  relatedTarget: relatedTarget
2276
2278
  });
2277
2279
 
2278
2280
  var transitionComplete = function transitionComplete() {
2279
- if (_this3._config.focus) {
2280
- _this3._element.focus();
2281
+ if (_this4._config.focus) {
2282
+ _this4._element.focus();
2281
2283
  }
2282
2284
 
2283
- _this3._isTransitioning = false;
2284
- $(_this3._element).trigger(shownEvent);
2285
+ _this4._isTransitioning = false;
2286
+ $__default["default"](_this4._element).trigger(shownEvent);
2285
2287
  };
2286
2288
 
2287
2289
  if (transition) {
2288
2290
  var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);
2289
- $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
2291
+ $__default["default"](this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
2290
2292
  } else {
2291
2293
  transitionComplete();
2292
2294
  }
2293
2295
  };
2294
2296
 
2295
2297
  _proto._enforceFocus = function _enforceFocus() {
2296
- var _this4 = this;
2298
+ var _this5 = this;
2297
2299
 
2298
- $(document).off(Event$5.FOCUSIN) // Guard against infinite focus loop
2299
- .on(Event$5.FOCUSIN, function (event) {
2300
- if (document !== event.target && _this4._element !== event.target && $(_this4._element).has(event.target).length === 0) {
2301
- _this4._element.focus();
2300
+ $__default["default"](document).off(EVENT_FOCUSIN) // Guard against infinite focus loop
2301
+ .on(EVENT_FOCUSIN, function (event) {
2302
+ if (document !== event.target && _this5._element !== event.target && $__default["default"](_this5._element).has(event.target).length === 0) {
2303
+ _this5._element.focus();
2302
2304
  }
2303
2305
  });
2304
2306
  };
2305
2307
 
2306
2308
  _proto._setEscapeEvent = function _setEscapeEvent() {
2307
- var _this5 = this;
2309
+ var _this6 = this;
2308
2310
 
2309
- if (this._isShown && this._config.keyboard) {
2310
- $(this._element).on(Event$5.KEYDOWN_DISMISS, function (event) {
2311
- if (event.which === ESCAPE_KEYCODE$1) {
2311
+ if (this._isShown) {
2312
+ $__default["default"](this._element).on(EVENT_KEYDOWN_DISMISS, function (event) {
2313
+ if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {
2312
2314
  event.preventDefault();
2313
2315
 
2314
- _this5.hide();
2316
+ _this6.hide();
2317
+ } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {
2318
+ _this6._triggerBackdropTransition();
2315
2319
  }
2316
2320
  });
2317
2321
  } else if (!this._isShown) {
2318
- $(this._element).off(Event$5.KEYDOWN_DISMISS);
2322
+ $__default["default"](this._element).off(EVENT_KEYDOWN_DISMISS);
2319
2323
  }
2320
2324
  };
2321
2325
 
2322
2326
  _proto._setResizeEvent = function _setResizeEvent() {
2323
- var _this6 = this;
2327
+ var _this7 = this;
2324
2328
 
2325
2329
  if (this._isShown) {
2326
- $(window).on(Event$5.RESIZE, function (event) {
2327
- return _this6.handleUpdate(event);
2330
+ $__default["default"](window).on(EVENT_RESIZE, function (event) {
2331
+ return _this7.handleUpdate(event);
2328
2332
  });
2329
2333
  } else {
2330
- $(window).off(Event$5.RESIZE);
2334
+ $__default["default"](window).off(EVENT_RESIZE);
2331
2335
  }
2332
2336
  };
2333
2337
 
2334
2338
  _proto._hideModal = function _hideModal() {
2335
- var _this7 = this;
2339
+ var _this8 = this;
2336
2340
 
2337
2341
  this._element.style.display = 'none';
2338
2342
 
@@ -2340,43 +2344,45 @@
2340
2344
 
2341
2345
  this._element.removeAttribute('aria-modal');
2342
2346
 
2347
+ this._element.removeAttribute('role');
2348
+
2343
2349
  this._isTransitioning = false;
2344
2350
 
2345
2351
  this._showBackdrop(function () {
2346
- $(document.body).removeClass(ClassName$5.OPEN);
2352
+ $__default["default"](document.body).removeClass(CLASS_NAME_OPEN);
2347
2353
 
2348
- _this7._resetAdjustments();
2354
+ _this8._resetAdjustments();
2349
2355
 
2350
- _this7._resetScrollbar();
2356
+ _this8._resetScrollbar();
2351
2357
 
2352
- $(_this7._element).trigger(Event$5.HIDDEN);
2358
+ $__default["default"](_this8._element).trigger(EVENT_HIDDEN$2);
2353
2359
  });
2354
2360
  };
2355
2361
 
2356
2362
  _proto._removeBackdrop = function _removeBackdrop() {
2357
2363
  if (this._backdrop) {
2358
- $(this._backdrop).remove();
2364
+ $__default["default"](this._backdrop).remove();
2359
2365
  this._backdrop = null;
2360
2366
  }
2361
2367
  };
2362
2368
 
2363
2369
  _proto._showBackdrop = function _showBackdrop(callback) {
2364
- var _this8 = this;
2370
+ var _this9 = this;
2365
2371
 
2366
- var animate = $(this._element).hasClass(ClassName$5.FADE) ? ClassName$5.FADE : '';
2372
+ var animate = $__default["default"](this._element).hasClass(CLASS_NAME_FADE$4) ? CLASS_NAME_FADE$4 : '';
2367
2373
 
2368
2374
  if (this._isShown && this._config.backdrop) {
2369
2375
  this._backdrop = document.createElement('div');
2370
- this._backdrop.className = ClassName$5.BACKDROP;
2376
+ this._backdrop.className = CLASS_NAME_BACKDROP;
2371
2377
 
2372
2378
  if (animate) {
2373
2379
  this._backdrop.classList.add(animate);
2374
2380
  }
2375
2381
 
2376
- $(this._backdrop).appendTo(document.body);
2377
- $(this._element).on(Event$5.CLICK_DISMISS, function (event) {
2378
- if (_this8._ignoreBackdropClick) {
2379
- _this8._ignoreBackdropClick = false;
2382
+ $__default["default"](this._backdrop).appendTo(document.body);
2383
+ $__default["default"](this._element).on(EVENT_CLICK_DISMISS$1, function (event) {
2384
+ if (_this9._ignoreBackdropClick) {
2385
+ _this9._ignoreBackdropClick = false;
2380
2386
  return;
2381
2387
  }
2382
2388
 
@@ -2384,10 +2390,10 @@
2384
2390
  return;
2385
2391
  }
2386
2392
 
2387
- if (_this8._config.backdrop === 'static') {
2388
- _this8._element.focus();
2393
+ if (_this9._config.backdrop === 'static') {
2394
+ _this9._triggerBackdropTransition();
2389
2395
  } else {
2390
- _this8.hide();
2396
+ _this9.hide();
2391
2397
  }
2392
2398
  });
2393
2399
 
@@ -2395,7 +2401,7 @@
2395
2401
  Util.reflow(this._backdrop);
2396
2402
  }
2397
2403
 
2398
- $(this._backdrop).addClass(ClassName$5.SHOW);
2404
+ $__default["default"](this._backdrop).addClass(CLASS_NAME_SHOW$4);
2399
2405
 
2400
2406
  if (!callback) {
2401
2407
  return;
@@ -2407,22 +2413,22 @@
2407
2413
  }
2408
2414
 
2409
2415
  var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
2410
- $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
2416
+ $__default["default"](this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
2411
2417
  } else if (!this._isShown && this._backdrop) {
2412
- $(this._backdrop).removeClass(ClassName$5.SHOW);
2418
+ $__default["default"](this._backdrop).removeClass(CLASS_NAME_SHOW$4);
2413
2419
 
2414
2420
  var callbackRemove = function callbackRemove() {
2415
- _this8._removeBackdrop();
2421
+ _this9._removeBackdrop();
2416
2422
 
2417
2423
  if (callback) {
2418
2424
  callback();
2419
2425
  }
2420
2426
  };
2421
2427
 
2422
- if ($(this._element).hasClass(ClassName$5.FADE)) {
2428
+ if ($__default["default"](this._element).hasClass(CLASS_NAME_FADE$4)) {
2423
2429
  var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
2424
2430
 
2425
- $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
2431
+ $__default["default"](this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
2426
2432
  } else {
2427
2433
  callbackRemove();
2428
2434
  }
@@ -2454,66 +2460,66 @@
2454
2460
 
2455
2461
  _proto._checkScrollbar = function _checkScrollbar() {
2456
2462
  var rect = document.body.getBoundingClientRect();
2457
- this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
2463
+ this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;
2458
2464
  this._scrollbarWidth = this._getScrollbarWidth();
2459
2465
  };
2460
2466
 
2461
2467
  _proto._setScrollbar = function _setScrollbar() {
2462
- var _this9 = this;
2468
+ var _this10 = this;
2463
2469
 
2464
2470
  if (this._isBodyOverflowing) {
2465
2471
  // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
2466
2472
  // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
2467
- var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
2468
- var stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT)); // Adjust fixed content padding
2473
+ var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
2474
+ var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding
2469
2475
 
2470
- $(fixedContent).each(function (index, element) {
2476
+ $__default["default"](fixedContent).each(function (index, element) {
2471
2477
  var actualPadding = element.style.paddingRight;
2472
- var calculatedPadding = $(element).css('padding-right');
2473
- $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
2478
+ var calculatedPadding = $__default["default"](element).css('padding-right');
2479
+ $__default["default"](element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px");
2474
2480
  }); // Adjust sticky content margin
2475
2481
 
2476
- $(stickyContent).each(function (index, element) {
2482
+ $__default["default"](stickyContent).each(function (index, element) {
2477
2483
  var actualMargin = element.style.marginRight;
2478
- var calculatedMargin = $(element).css('margin-right');
2479
- $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
2484
+ var calculatedMargin = $__default["default"](element).css('margin-right');
2485
+ $__default["default"](element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px");
2480
2486
  }); // Adjust body padding
2481
2487
 
2482
2488
  var actualPadding = document.body.style.paddingRight;
2483
- var calculatedPadding = $(document.body).css('padding-right');
2484
- $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
2489
+ var calculatedPadding = $__default["default"](document.body).css('padding-right');
2490
+ $__default["default"](document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
2485
2491
  }
2486
2492
 
2487
- $(document.body).addClass(ClassName$5.OPEN);
2493
+ $__default["default"](document.body).addClass(CLASS_NAME_OPEN);
2488
2494
  };
2489
2495
 
2490
2496
  _proto._resetScrollbar = function _resetScrollbar() {
2491
2497
  // Restore fixed content padding
2492
- var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));
2493
- $(fixedContent).each(function (index, element) {
2494
- var padding = $(element).data('padding-right');
2495
- $(element).removeData('padding-right');
2498
+ var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
2499
+ $__default["default"](fixedContent).each(function (index, element) {
2500
+ var padding = $__default["default"](element).data('padding-right');
2501
+ $__default["default"](element).removeData('padding-right');
2496
2502
  element.style.paddingRight = padding ? padding : '';
2497
2503
  }); // Restore sticky content
2498
2504
 
2499
- var elements = [].slice.call(document.querySelectorAll("" + Selector$5.STICKY_CONTENT));
2500
- $(elements).each(function (index, element) {
2501
- var margin = $(element).data('margin-right');
2505
+ var elements = [].slice.call(document.querySelectorAll("" + SELECTOR_STICKY_CONTENT));
2506
+ $__default["default"](elements).each(function (index, element) {
2507
+ var margin = $__default["default"](element).data('margin-right');
2502
2508
 
2503
2509
  if (typeof margin !== 'undefined') {
2504
- $(element).css('margin-right', margin).removeData('margin-right');
2510
+ $__default["default"](element).css('margin-right', margin).removeData('margin-right');
2505
2511
  }
2506
2512
  }); // Restore body padding
2507
2513
 
2508
- var padding = $(document.body).data('padding-right');
2509
- $(document.body).removeData('padding-right');
2514
+ var padding = $__default["default"](document.body).data('padding-right');
2515
+ $__default["default"](document.body).removeData('padding-right');
2510
2516
  document.body.style.paddingRight = padding ? padding : '';
2511
2517
  };
2512
2518
 
2513
2519
  _proto._getScrollbarWidth = function _getScrollbarWidth() {
2514
2520
  // thx d.walsh
2515
2521
  var scrollDiv = document.createElement('div');
2516
- scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER;
2522
+ scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
2517
2523
  document.body.appendChild(scrollDiv);
2518
2524
  var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
2519
2525
  document.body.removeChild(scrollDiv);
@@ -2523,13 +2529,13 @@
2523
2529
 
2524
2530
  Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
2525
2531
  return this.each(function () {
2526
- var data = $(this).data(DATA_KEY$5);
2532
+ var data = $__default["default"](this).data(DATA_KEY$5);
2527
2533
 
2528
- var _config = _objectSpread({}, Default$3, $(this).data(), typeof config === 'object' && config ? config : {});
2534
+ var _config = _extends({}, Default$4, $__default["default"](this).data(), typeof config === 'object' && config ? config : {});
2529
2535
 
2530
2536
  if (!data) {
2531
2537
  data = new Modal(this, _config);
2532
- $(this).data(DATA_KEY$5, data);
2538
+ $__default["default"](this).data(DATA_KEY$5, data);
2533
2539
  }
2534
2540
 
2535
2541
  if (typeof config === 'string') {
@@ -2552,21 +2558,19 @@
2552
2558
  }, {
2553
2559
  key: "Default",
2554
2560
  get: function get() {
2555
- return Default$3;
2561
+ return Default$4;
2556
2562
  }
2557
2563
  }]);
2558
2564
 
2559
2565
  return Modal;
2560
2566
  }();
2561
2567
  /**
2562
- * ------------------------------------------------------------------------
2563
- * Data Api implementation
2564
- * ------------------------------------------------------------------------
2568
+ * Data API implementation
2565
2569
  */
2566
2570
 
2567
2571
 
2568
- $(document).on(Event$5.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) {
2569
- var _this10 = this;
2572
+ $__default["default"](document).on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {
2573
+ var _this11 = this;
2570
2574
 
2571
2575
  var target;
2572
2576
  var selector = Util.getSelectorFromElement(this);
@@ -2575,45 +2579,43 @@
2575
2579
  target = document.querySelector(selector);
2576
2580
  }
2577
2581
 
2578
- var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data());
2582
+ var config = $__default["default"](target).data(DATA_KEY$5) ? 'toggle' : _extends({}, $__default["default"](target).data(), $__default["default"](this).data());
2579
2583
 
2580
2584
  if (this.tagName === 'A' || this.tagName === 'AREA') {
2581
2585
  event.preventDefault();
2582
2586
  }
2583
2587
 
2584
- var $target = $(target).one(Event$5.SHOW, function (showEvent) {
2588
+ var $target = $__default["default"](target).one(EVENT_SHOW$2, function (showEvent) {
2585
2589
  if (showEvent.isDefaultPrevented()) {
2586
2590
  // Only register focus restorer if modal will actually get shown
2587
2591
  return;
2588
2592
  }
2589
2593
 
2590
- $target.one(Event$5.HIDDEN, function () {
2591
- if ($(_this10).is(':visible')) {
2592
- _this10.focus();
2594
+ $target.one(EVENT_HIDDEN$2, function () {
2595
+ if ($__default["default"](_this11).is(':visible')) {
2596
+ _this11.focus();
2593
2597
  }
2594
2598
  });
2595
2599
  });
2596
2600
 
2597
- Modal._jQueryInterface.call($(target), config, this);
2601
+ Modal._jQueryInterface.call($__default["default"](target), config, this);
2598
2602
  });
2599
2603
  /**
2600
- * ------------------------------------------------------------------------
2601
2604
  * jQuery
2602
- * ------------------------------------------------------------------------
2603
2605
  */
2604
2606
 
2605
- $.fn[NAME$5] = Modal._jQueryInterface;
2606
- $.fn[NAME$5].Constructor = Modal;
2607
+ $__default["default"].fn[NAME$5] = Modal._jQueryInterface;
2608
+ $__default["default"].fn[NAME$5].Constructor = Modal;
2607
2609
 
2608
- $.fn[NAME$5].noConflict = function () {
2609
- $.fn[NAME$5] = JQUERY_NO_CONFLICT$5;
2610
+ $__default["default"].fn[NAME$5].noConflict = function () {
2611
+ $__default["default"].fn[NAME$5] = JQUERY_NO_CONFLICT$5;
2610
2612
  return Modal._jQueryInterface;
2611
2613
  };
2612
2614
 
2613
2615
  /**
2614
2616
  * --------------------------------------------------------------------------
2615
- * Bootstrap (v4.3.1): tools/sanitizer.js
2616
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
2617
+ * Bootstrap (v4.6.1): tools/sanitizer.js
2618
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
2617
2619
  * --------------------------------------------------------------------------
2618
2620
  */
2619
2621
  var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
@@ -2637,7 +2639,7 @@
2637
2639
  h5: [],
2638
2640
  h6: [],
2639
2641
  i: [],
2640
- img: ['src', 'alt', 'title', 'width', 'height'],
2642
+ img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
2641
2643
  li: [],
2642
2644
  ol: [],
2643
2645
  p: [],
@@ -2650,28 +2652,28 @@
2650
2652
  strong: [],
2651
2653
  u: [],
2652
2654
  ul: []
2653
- /**
2654
- * A pattern that recognizes a commonly useful subset of URLs that are safe.
2655
- *
2656
- * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
2657
- */
2658
-
2659
2655
  };
2660
- var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;
2656
+ /**
2657
+ * A pattern that recognizes a commonly useful subset of URLs that are safe.
2658
+ *
2659
+ * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
2660
+ */
2661
+
2662
+ var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;
2661
2663
  /**
2662
2664
  * A pattern that matches safe data URLs. Only matches image, video and audio types.
2663
2665
  *
2664
- * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
2666
+ * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
2665
2667
  */
2666
2668
 
2667
- var 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;
2669
+ var 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;
2668
2670
 
2669
2671
  function allowedAttribute(attr, allowedAttributeList) {
2670
2672
  var attrName = attr.nodeName.toLowerCase();
2671
2673
 
2672
2674
  if (allowedAttributeList.indexOf(attrName) !== -1) {
2673
2675
  if (uriAttrs.indexOf(attrName) !== -1) {
2674
- return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));
2676
+ return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue));
2675
2677
  }
2676
2678
 
2677
2679
  return true;
@@ -2681,8 +2683,8 @@
2681
2683
  return attrRegex instanceof RegExp;
2682
2684
  }); // Check if a regular expression validates the attribute.
2683
2685
 
2684
- for (var i = 0, l = regExp.length; i < l; i++) {
2685
- if (attrName.match(regExp[i])) {
2686
+ for (var i = 0, len = regExp.length; i < len; i++) {
2687
+ if (regExp[i].test(attrName)) {
2686
2688
  return true;
2687
2689
  }
2688
2690
  }
@@ -2713,7 +2715,8 @@
2713
2715
  return "continue";
2714
2716
  }
2715
2717
 
2716
- var attributeList = [].slice.call(el.attributes);
2718
+ var attributeList = [].slice.call(el.attributes); // eslint-disable-next-line unicorn/prefer-spread
2719
+
2717
2720
  var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);
2718
2721
  attributeList.forEach(function (attr) {
2719
2722
  if (!allowedAttribute(attr, whitelistedAttributes)) {
@@ -2723,7 +2726,7 @@
2723
2726
  };
2724
2727
 
2725
2728
  for (var i = 0, len = elements.length; i < len; i++) {
2726
- var _ret = _loop(i, len);
2729
+ var _ret = _loop(i);
2727
2730
 
2728
2731
  if (_ret === "continue") continue;
2729
2732
  }
@@ -2732,44 +2735,35 @@
2732
2735
  }
2733
2736
 
2734
2737
  /**
2735
- * ------------------------------------------------------------------------
2736
2738
  * Constants
2737
- * ------------------------------------------------------------------------
2738
2739
  */
2739
2740
 
2740
- var NAME$6 = 'tooltip';
2741
- var VERSION$6 = '4.3.1';
2742
- var DATA_KEY$6 = 'bs.tooltip';
2743
- var EVENT_KEY$6 = "." + DATA_KEY$6;
2744
- var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];
2745
- var CLASS_PREFIX = 'bs-tooltip';
2746
- var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
2741
+ var NAME$4 = 'tooltip';
2742
+ var VERSION$4 = '4.6.1';
2743
+ var DATA_KEY$4 = 'bs.tooltip';
2744
+ var EVENT_KEY$4 = "." + DATA_KEY$4;
2745
+ var JQUERY_NO_CONFLICT$4 = $__default["default"].fn[NAME$4];
2746
+ var CLASS_PREFIX$1 = 'bs-tooltip';
2747
+ var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g');
2747
2748
  var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];
2748
- var DefaultType$4 = {
2749
- animation: 'boolean',
2750
- template: 'string',
2751
- title: '(string|element|function)',
2752
- trigger: 'string',
2753
- delay: '(number|object)',
2754
- html: 'boolean',
2755
- selector: '(string|boolean)',
2756
- placement: '(string|function)',
2757
- offset: '(number|string|function)',
2758
- container: '(string|element|boolean)',
2759
- fallbackPlacement: '(string|array)',
2760
- boundary: '(string|element)',
2761
- sanitize: 'boolean',
2762
- sanitizeFn: '(null|function)',
2763
- whiteList: 'object'
2764
- };
2765
- var AttachmentMap$1 = {
2749
+ var CLASS_NAME_FADE$3 = 'fade';
2750
+ var CLASS_NAME_SHOW$3 = 'show';
2751
+ var HOVER_STATE_SHOW = 'show';
2752
+ var HOVER_STATE_OUT = 'out';
2753
+ var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
2754
+ var SELECTOR_ARROW = '.arrow';
2755
+ var TRIGGER_HOVER = 'hover';
2756
+ var TRIGGER_FOCUS = 'focus';
2757
+ var TRIGGER_CLICK = 'click';
2758
+ var TRIGGER_MANUAL = 'manual';
2759
+ var AttachmentMap = {
2766
2760
  AUTO: 'auto',
2767
2761
  TOP: 'top',
2768
2762
  RIGHT: 'right',
2769
2763
  BOTTOM: 'bottom',
2770
2764
  LEFT: 'left'
2771
2765
  };
2772
- var Default$4 = {
2766
+ var Default$3 = {
2773
2767
  animation: true,
2774
2768
  template: '<div class="tooltip" role="tooltip">' + '<div class="arrow"></div>' + '<div class="tooltip-inner"></div></div>',
2775
2769
  trigger: 'hover focus',
@@ -2782,59 +2776,52 @@
2782
2776
  container: false,
2783
2777
  fallbackPlacement: 'flip',
2784
2778
  boundary: 'scrollParent',
2779
+ customClass: '',
2785
2780
  sanitize: true,
2786
2781
  sanitizeFn: null,
2787
- whiteList: DefaultWhitelist
2788
- };
2789
- var HoverState = {
2790
- SHOW: 'show',
2791
- OUT: 'out'
2792
- };
2793
- var Event$6 = {
2794
- HIDE: "hide" + EVENT_KEY$6,
2795
- HIDDEN: "hidden" + EVENT_KEY$6,
2796
- SHOW: "show" + EVENT_KEY$6,
2797
- SHOWN: "shown" + EVENT_KEY$6,
2798
- INSERTED: "inserted" + EVENT_KEY$6,
2799
- CLICK: "click" + EVENT_KEY$6,
2800
- FOCUSIN: "focusin" + EVENT_KEY$6,
2801
- FOCUSOUT: "focusout" + EVENT_KEY$6,
2802
- MOUSEENTER: "mouseenter" + EVENT_KEY$6,
2803
- MOUSELEAVE: "mouseleave" + EVENT_KEY$6
2782
+ whiteList: DefaultWhitelist,
2783
+ popperConfig: null
2804
2784
  };
2805
- var ClassName$6 = {
2806
- FADE: 'fade',
2807
- SHOW: 'show'
2808
- };
2809
- var Selector$6 = {
2810
- TOOLTIP: '.tooltip',
2811
- TOOLTIP_INNER: '.tooltip-inner',
2812
- ARROW: '.arrow'
2785
+ var DefaultType$3 = {
2786
+ animation: 'boolean',
2787
+ template: 'string',
2788
+ title: '(string|element|function)',
2789
+ trigger: 'string',
2790
+ delay: '(number|object)',
2791
+ html: 'boolean',
2792
+ selector: '(string|boolean)',
2793
+ placement: '(string|function)',
2794
+ offset: '(number|string|function)',
2795
+ container: '(string|element|boolean)',
2796
+ fallbackPlacement: '(string|array)',
2797
+ boundary: '(string|element)',
2798
+ customClass: '(string|function)',
2799
+ sanitize: 'boolean',
2800
+ sanitizeFn: '(null|function)',
2801
+ whiteList: 'object',
2802
+ popperConfig: '(null|object)'
2813
2803
  };
2814
- var Trigger = {
2815
- HOVER: 'hover',
2816
- FOCUS: 'focus',
2817
- CLICK: 'click',
2818
- MANUAL: 'manual'
2819
- /**
2820
- * ------------------------------------------------------------------------
2821
- * Class Definition
2822
- * ------------------------------------------------------------------------
2823
- */
2824
-
2804
+ var Event$1 = {
2805
+ HIDE: "hide" + EVENT_KEY$4,
2806
+ HIDDEN: "hidden" + EVENT_KEY$4,
2807
+ SHOW: "show" + EVENT_KEY$4,
2808
+ SHOWN: "shown" + EVENT_KEY$4,
2809
+ INSERTED: "inserted" + EVENT_KEY$4,
2810
+ CLICK: "click" + EVENT_KEY$4,
2811
+ FOCUSIN: "focusin" + EVENT_KEY$4,
2812
+ FOCUSOUT: "focusout" + EVENT_KEY$4,
2813
+ MOUSEENTER: "mouseenter" + EVENT_KEY$4,
2814
+ MOUSELEAVE: "mouseleave" + EVENT_KEY$4
2825
2815
  };
2816
+ /**
2817
+ * Class definition
2818
+ */
2826
2819
 
2827
- var Tooltip =
2828
- /*#__PURE__*/
2829
- function () {
2820
+ var Tooltip = /*#__PURE__*/function () {
2830
2821
  function Tooltip(element, config) {
2831
- /**
2832
- * Check for Popper dependency
2833
- * Popper - https://popper.js.org
2834
- */
2835
- if (typeof Popper === 'undefined') {
2836
- throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)');
2837
- } // private
2822
+ if (typeof Popper__default["default"] === 'undefined') {
2823
+ throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)');
2824
+ } // Private
2838
2825
 
2839
2826
 
2840
2827
  this._isEnabled = true;
@@ -2873,11 +2860,11 @@
2873
2860
 
2874
2861
  if (event) {
2875
2862
  var dataKey = this.constructor.DATA_KEY;
2876
- var context = $(event.currentTarget).data(dataKey);
2863
+ var context = $__default["default"](event.currentTarget).data(dataKey);
2877
2864
 
2878
2865
  if (!context) {
2879
2866
  context = new this.constructor(event.currentTarget, this._getDelegateConfig());
2880
- $(event.currentTarget).data(dataKey, context);
2867
+ $__default["default"](event.currentTarget).data(dataKey, context);
2881
2868
  }
2882
2869
 
2883
2870
  context._activeTrigger.click = !context._activeTrigger.click;
@@ -2888,7 +2875,7 @@
2888
2875
  context._leave(null, context);
2889
2876
  }
2890
2877
  } else {
2891
- if ($(this.getTipElement()).hasClass(ClassName$6.SHOW)) {
2878
+ if ($__default["default"](this.getTipElement()).hasClass(CLASS_NAME_SHOW$3)) {
2892
2879
  this._leave(null, this);
2893
2880
 
2894
2881
  return;
@@ -2900,12 +2887,12 @@
2900
2887
 
2901
2888
  _proto.dispose = function dispose() {
2902
2889
  clearTimeout(this._timeout);
2903
- $.removeData(this.element, this.constructor.DATA_KEY);
2904
- $(this.element).off(this.constructor.EVENT_KEY);
2905
- $(this.element).closest('.modal').off('hide.bs.modal');
2890
+ $__default["default"].removeData(this.element, this.constructor.DATA_KEY);
2891
+ $__default["default"](this.element).off(this.constructor.EVENT_KEY);
2892
+ $__default["default"](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);
2906
2893
 
2907
2894
  if (this.tip) {
2908
- $(this.tip).remove();
2895
+ $__default["default"](this.tip).remove();
2909
2896
  }
2910
2897
 
2911
2898
  this._isEnabled = null;
@@ -2913,7 +2900,7 @@
2913
2900
  this._hoverState = null;
2914
2901
  this._activeTrigger = null;
2915
2902
 
2916
- if (this._popper !== null) {
2903
+ if (this._popper) {
2917
2904
  this._popper.destroy();
2918
2905
  }
2919
2906
 
@@ -2926,16 +2913,16 @@
2926
2913
  _proto.show = function show() {
2927
2914
  var _this = this;
2928
2915
 
2929
- if ($(this.element).css('display') === 'none') {
2916
+ if ($__default["default"](this.element).css('display') === 'none') {
2930
2917
  throw new Error('Please use show on visible elements');
2931
2918
  }
2932
2919
 
2933
- var showEvent = $.Event(this.constructor.Event.SHOW);
2920
+ var showEvent = $__default["default"].Event(this.constructor.Event.SHOW);
2934
2921
 
2935
2922
  if (this.isWithContent() && this._isEnabled) {
2936
- $(this.element).trigger(showEvent);
2923
+ $__default["default"](this.element).trigger(showEvent);
2937
2924
  var shadowRoot = Util.findShadowRoot(this.element);
2938
- var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);
2925
+ var isInTheDom = $__default["default"].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);
2939
2926
 
2940
2927
  if (showEvent.isDefaultPrevented() || !isInTheDom) {
2941
2928
  return;
@@ -2948,7 +2935,7 @@
2948
2935
  this.setContent();
2949
2936
 
2950
2937
  if (this.config.animation) {
2951
- $(tip).addClass(ClassName$6.FADE);
2938
+ $__default["default"](tip).addClass(CLASS_NAME_FADE$3);
2952
2939
  }
2953
2940
 
2954
2941
  var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
@@ -2959,43 +2946,22 @@
2959
2946
 
2960
2947
  var container = this._getContainer();
2961
2948
 
2962
- $(tip).data(this.constructor.DATA_KEY, this);
2949
+ $__default["default"](tip).data(this.constructor.DATA_KEY, this);
2963
2950
 
2964
- if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
2965
- $(tip).appendTo(container);
2951
+ if (!$__default["default"].contains(this.element.ownerDocument.documentElement, this.tip)) {
2952
+ $__default["default"](tip).appendTo(container);
2966
2953
  }
2967
2954
 
2968
- $(this.element).trigger(this.constructor.Event.INSERTED);
2969
- this._popper = new Popper(this.element, tip, {
2970
- placement: attachment,
2971
- modifiers: {
2972
- offset: this._getOffset(),
2973
- flip: {
2974
- behavior: this.config.fallbackPlacement
2975
- },
2976
- arrow: {
2977
- element: Selector$6.ARROW
2978
- },
2979
- preventOverflow: {
2980
- boundariesElement: this.config.boundary
2981
- }
2982
- },
2983
- onCreate: function onCreate(data) {
2984
- if (data.originalPlacement !== data.placement) {
2985
- _this._handlePopperPlacementChange(data);
2986
- }
2987
- },
2988
- onUpdate: function onUpdate(data) {
2989
- return _this._handlePopperPlacementChange(data);
2990
- }
2991
- });
2992
- $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra
2955
+ $__default["default"](this.element).trigger(this.constructor.Event.INSERTED);
2956
+ this._popper = new Popper__default["default"](this.element, tip, this._getPopperConfig(attachment));
2957
+ $__default["default"](tip).addClass(CLASS_NAME_SHOW$3);
2958
+ $__default["default"](tip).addClass(this.config.customClass); // If this is a touch-enabled device we add extra
2993
2959
  // empty mouseover listeners to the body's immediate children;
2994
2960
  // only needed because of broken event delegation on iOS
2995
2961
  // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
2996
2962
 
2997
2963
  if ('ontouchstart' in document.documentElement) {
2998
- $(document.body).children().on('mouseover', null, $.noop);
2964
+ $__default["default"](document.body).children().on('mouseover', null, $__default["default"].noop);
2999
2965
  }
3000
2966
 
3001
2967
  var complete = function complete() {
@@ -3005,16 +2971,16 @@
3005
2971
 
3006
2972
  var prevHoverState = _this._hoverState;
3007
2973
  _this._hoverState = null;
3008
- $(_this.element).trigger(_this.constructor.Event.SHOWN);
2974
+ $__default["default"](_this.element).trigger(_this.constructor.Event.SHOWN);
3009
2975
 
3010
- if (prevHoverState === HoverState.OUT) {
2976
+ if (prevHoverState === HOVER_STATE_OUT) {
3011
2977
  _this._leave(null, _this);
3012
2978
  }
3013
2979
  };
3014
2980
 
3015
- if ($(this.tip).hasClass(ClassName$6.FADE)) {
2981
+ if ($__default["default"](this.tip).hasClass(CLASS_NAME_FADE$3)) {
3016
2982
  var transitionDuration = Util.getTransitionDurationFromElement(this.tip);
3017
- $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
2983
+ $__default["default"](this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
3018
2984
  } else {
3019
2985
  complete();
3020
2986
  }
@@ -3025,10 +2991,10 @@
3025
2991
  var _this2 = this;
3026
2992
 
3027
2993
  var tip = this.getTipElement();
3028
- var hideEvent = $.Event(this.constructor.Event.HIDE);
2994
+ var hideEvent = $__default["default"].Event(this.constructor.Event.HIDE);
3029
2995
 
3030
2996
  var complete = function complete() {
3031
- if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
2997
+ if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
3032
2998
  tip.parentNode.removeChild(tip);
3033
2999
  }
3034
3000
 
@@ -3036,7 +3002,7 @@
3036
3002
 
3037
3003
  _this2.element.removeAttribute('aria-describedby');
3038
3004
 
3039
- $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
3005
+ $__default["default"](_this2.element).trigger(_this2.constructor.Event.HIDDEN);
3040
3006
 
3041
3007
  if (_this2._popper !== null) {
3042
3008
  _this2._popper.destroy();
@@ -3047,26 +3013,26 @@
3047
3013
  }
3048
3014
  };
3049
3015
 
3050
- $(this.element).trigger(hideEvent);
3016
+ $__default["default"](this.element).trigger(hideEvent);
3051
3017
 
3052
3018
  if (hideEvent.isDefaultPrevented()) {
3053
3019
  return;
3054
3020
  }
3055
3021
 
3056
- $(tip).removeClass(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra
3022
+ $__default["default"](tip).removeClass(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we remove the extra
3057
3023
  // empty mouseover listeners we added for iOS support
3058
3024
 
3059
3025
  if ('ontouchstart' in document.documentElement) {
3060
- $(document.body).children().off('mouseover', null, $.noop);
3026
+ $__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop);
3061
3027
  }
3062
3028
 
3063
- this._activeTrigger[Trigger.CLICK] = false;
3064
- this._activeTrigger[Trigger.FOCUS] = false;
3065
- this._activeTrigger[Trigger.HOVER] = false;
3029
+ this._activeTrigger[TRIGGER_CLICK] = false;
3030
+ this._activeTrigger[TRIGGER_FOCUS] = false;
3031
+ this._activeTrigger[TRIGGER_HOVER] = false;
3066
3032
 
3067
- if ($(this.tip).hasClass(ClassName$6.FADE)) {
3033
+ if ($__default["default"](this.tip).hasClass(CLASS_NAME_FADE$3)) {
3068
3034
  var transitionDuration = Util.getTransitionDurationFromElement(tip);
3069
- $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
3035
+ $__default["default"](tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
3070
3036
  } else {
3071
3037
  complete();
3072
3038
  }
@@ -3086,29 +3052,29 @@
3086
3052
  };
3087
3053
 
3088
3054
  _proto.addAttachmentClass = function addAttachmentClass(attachment) {
3089
- $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
3055
+ $__default["default"](this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment);
3090
3056
  };
3091
3057
 
3092
3058
  _proto.getTipElement = function getTipElement() {
3093
- this.tip = this.tip || $(this.config.template)[0];
3059
+ this.tip = this.tip || $__default["default"](this.config.template)[0];
3094
3060
  return this.tip;
3095
3061
  };
3096
3062
 
3097
3063
  _proto.setContent = function setContent() {
3098
3064
  var tip = this.getTipElement();
3099
- this.setElementContent($(tip.querySelectorAll(Selector$6.TOOLTIP_INNER)), this.getTitle());
3100
- $(tip).removeClass(ClassName$6.FADE + " " + ClassName$6.SHOW);
3065
+ this.setElementContent($__default["default"](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());
3066
+ $__default["default"](tip).removeClass(CLASS_NAME_FADE$3 + " " + CLASS_NAME_SHOW$3);
3101
3067
  };
3102
3068
 
3103
3069
  _proto.setElementContent = function setElementContent($element, content) {
3104
3070
  if (typeof content === 'object' && (content.nodeType || content.jquery)) {
3105
3071
  // Content is a DOM node or a jQuery
3106
3072
  if (this.config.html) {
3107
- if (!$(content).parent().is($element)) {
3073
+ if (!$__default["default"](content).parent().is($element)) {
3108
3074
  $element.empty().append(content);
3109
3075
  }
3110
3076
  } else {
3111
- $element.text($(content).text());
3077
+ $element.text($__default["default"](content).text());
3112
3078
  }
3113
3079
 
3114
3080
  return;
@@ -3136,14 +3102,43 @@
3136
3102
  } // Private
3137
3103
  ;
3138
3104
 
3139
- _proto._getOffset = function _getOffset() {
3105
+ _proto._getPopperConfig = function _getPopperConfig(attachment) {
3140
3106
  var _this3 = this;
3141
3107
 
3108
+ var defaultBsConfig = {
3109
+ placement: attachment,
3110
+ modifiers: {
3111
+ offset: this._getOffset(),
3112
+ flip: {
3113
+ behavior: this.config.fallbackPlacement
3114
+ },
3115
+ arrow: {
3116
+ element: SELECTOR_ARROW
3117
+ },
3118
+ preventOverflow: {
3119
+ boundariesElement: this.config.boundary
3120
+ }
3121
+ },
3122
+ onCreate: function onCreate(data) {
3123
+ if (data.originalPlacement !== data.placement) {
3124
+ _this3._handlePopperPlacementChange(data);
3125
+ }
3126
+ },
3127
+ onUpdate: function onUpdate(data) {
3128
+ return _this3._handlePopperPlacementChange(data);
3129
+ }
3130
+ };
3131
+ return _extends({}, defaultBsConfig, this.config.popperConfig);
3132
+ };
3133
+
3134
+ _proto._getOffset = function _getOffset() {
3135
+ var _this4 = this;
3136
+
3142
3137
  var offset = {};
3143
3138
 
3144
3139
  if (typeof this.config.offset === 'function') {
3145
3140
  offset.fn = function (data) {
3146
- data.offsets = _objectSpread({}, data.offsets, _this3.config.offset(data.offsets, _this3.element) || {});
3141
+ data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element));
3147
3142
  return data;
3148
3143
  };
3149
3144
  } else {
@@ -3159,43 +3154,46 @@
3159
3154
  }
3160
3155
 
3161
3156
  if (Util.isElement(this.config.container)) {
3162
- return $(this.config.container);
3157
+ return $__default["default"](this.config.container);
3163
3158
  }
3164
3159
 
3165
- return $(document).find(this.config.container);
3160
+ return $__default["default"](document).find(this.config.container);
3166
3161
  };
3167
3162
 
3168
3163
  _proto._getAttachment = function _getAttachment(placement) {
3169
- return AttachmentMap$1[placement.toUpperCase()];
3164
+ return AttachmentMap[placement.toUpperCase()];
3170
3165
  };
3171
3166
 
3172
3167
  _proto._setListeners = function _setListeners() {
3173
- var _this4 = this;
3168
+ var _this5 = this;
3174
3169
 
3175
3170
  var triggers = this.config.trigger.split(' ');
3176
3171
  triggers.forEach(function (trigger) {
3177
3172
  if (trigger === 'click') {
3178
- $(_this4.element).on(_this4.constructor.Event.CLICK, _this4.config.selector, function (event) {
3179
- return _this4.toggle(event);
3173
+ $__default["default"](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) {
3174
+ return _this5.toggle(event);
3180
3175
  });
3181
- } else if (trigger !== Trigger.MANUAL) {
3182
- var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN;
3183
- var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT;
3184
- $(_this4.element).on(eventIn, _this4.config.selector, function (event) {
3185
- return _this4._enter(event);
3186
- }).on(eventOut, _this4.config.selector, function (event) {
3187
- return _this4._leave(event);
3176
+ } else if (trigger !== TRIGGER_MANUAL) {
3177
+ var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;
3178
+ var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;
3179
+ $__default["default"](_this5.element).on(eventIn, _this5.config.selector, function (event) {
3180
+ return _this5._enter(event);
3181
+ }).on(eventOut, _this5.config.selector, function (event) {
3182
+ return _this5._leave(event);
3188
3183
  });
3189
3184
  }
3190
3185
  });
3191
- $(this.element).closest('.modal').on('hide.bs.modal', function () {
3192
- if (_this4.element) {
3193
- _this4.hide();
3186
+
3187
+ this._hideModalHandler = function () {
3188
+ if (_this5.element) {
3189
+ _this5.hide();
3194
3190
  }
3195
- });
3191
+ };
3192
+
3193
+ $__default["default"](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);
3196
3194
 
3197
3195
  if (this.config.selector) {
3198
- this.config = _objectSpread({}, this.config, {
3196
+ this.config = _extends({}, this.config, {
3199
3197
  trigger: 'manual',
3200
3198
  selector: ''
3201
3199
  });
@@ -3215,24 +3213,24 @@
3215
3213
 
3216
3214
  _proto._enter = function _enter(event, context) {
3217
3215
  var dataKey = this.constructor.DATA_KEY;
3218
- context = context || $(event.currentTarget).data(dataKey);
3216
+ context = context || $__default["default"](event.currentTarget).data(dataKey);
3219
3217
 
3220
3218
  if (!context) {
3221
3219
  context = new this.constructor(event.currentTarget, this._getDelegateConfig());
3222
- $(event.currentTarget).data(dataKey, context);
3220
+ $__default["default"](event.currentTarget).data(dataKey, context);
3223
3221
  }
3224
3222
 
3225
3223
  if (event) {
3226
- context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
3224
+ context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
3227
3225
  }
3228
3226
 
3229
- if ($(context.getTipElement()).hasClass(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {
3230
- context._hoverState = HoverState.SHOW;
3227
+ if ($__default["default"](context.getTipElement()).hasClass(CLASS_NAME_SHOW$3) || context._hoverState === HOVER_STATE_SHOW) {
3228
+ context._hoverState = HOVER_STATE_SHOW;
3231
3229
  return;
3232
3230
  }
3233
3231
 
3234
3232
  clearTimeout(context._timeout);
3235
- context._hoverState = HoverState.SHOW;
3233
+ context._hoverState = HOVER_STATE_SHOW;
3236
3234
 
3237
3235
  if (!context.config.delay || !context.config.delay.show) {
3238
3236
  context.show();
@@ -3240,7 +3238,7 @@
3240
3238
  }
3241
3239
 
3242
3240
  context._timeout = setTimeout(function () {
3243
- if (context._hoverState === HoverState.SHOW) {
3241
+ if (context._hoverState === HOVER_STATE_SHOW) {
3244
3242
  context.show();
3245
3243
  }
3246
3244
  }, context.config.delay.show);
@@ -3248,15 +3246,15 @@
3248
3246
 
3249
3247
  _proto._leave = function _leave(event, context) {
3250
3248
  var dataKey = this.constructor.DATA_KEY;
3251
- context = context || $(event.currentTarget).data(dataKey);
3249
+ context = context || $__default["default"](event.currentTarget).data(dataKey);
3252
3250
 
3253
3251
  if (!context) {
3254
3252
  context = new this.constructor(event.currentTarget, this._getDelegateConfig());
3255
- $(event.currentTarget).data(dataKey, context);
3253
+ $__default["default"](event.currentTarget).data(dataKey, context);
3256
3254
  }
3257
3255
 
3258
3256
  if (event) {
3259
- context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
3257
+ context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;
3260
3258
  }
3261
3259
 
3262
3260
  if (context._isWithActiveTrigger()) {
@@ -3264,7 +3262,7 @@
3264
3262
  }
3265
3263
 
3266
3264
  clearTimeout(context._timeout);
3267
- context._hoverState = HoverState.OUT;
3265
+ context._hoverState = HOVER_STATE_OUT;
3268
3266
 
3269
3267
  if (!context.config.delay || !context.config.delay.hide) {
3270
3268
  context.hide();
@@ -3272,7 +3270,7 @@
3272
3270
  }
3273
3271
 
3274
3272
  context._timeout = setTimeout(function () {
3275
- if (context._hoverState === HoverState.OUT) {
3273
+ if (context._hoverState === HOVER_STATE_OUT) {
3276
3274
  context.hide();
3277
3275
  }
3278
3276
  }, context.config.delay.hide);
@@ -3289,13 +3287,13 @@
3289
3287
  };
3290
3288
 
3291
3289
  _proto._getConfig = function _getConfig(config) {
3292
- var dataAttributes = $(this.element).data();
3290
+ var dataAttributes = $__default["default"](this.element).data();
3293
3291
  Object.keys(dataAttributes).forEach(function (dataAttr) {
3294
3292
  if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {
3295
3293
  delete dataAttributes[dataAttr];
3296
3294
  }
3297
3295
  });
3298
- config = _objectSpread({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
3296
+ config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
3299
3297
 
3300
3298
  if (typeof config.delay === 'number') {
3301
3299
  config.delay = {
@@ -3312,7 +3310,7 @@
3312
3310
  config.content = config.content.toString();
3313
3311
  }
3314
3312
 
3315
- Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);
3313
+ Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
3316
3314
 
3317
3315
  if (config.sanitize) {
3318
3316
  config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);
@@ -3336,8 +3334,8 @@
3336
3334
  };
3337
3335
 
3338
3336
  _proto._cleanTipClass = function _cleanTipClass() {
3339
- var $tip = $(this.getTipElement());
3340
- var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
3337
+ var $tip = $__default["default"](this.getTipElement());
3338
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1);
3341
3339
 
3342
3340
  if (tabClass !== null && tabClass.length) {
3343
3341
  $tip.removeClass(tabClass.join(''));
@@ -3345,8 +3343,7 @@
3345
3343
  };
3346
3344
 
3347
3345
  _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
3348
- var popperInstance = popperData.instance;
3349
- this.tip = popperInstance.popper;
3346
+ this.tip = popperData.instance.popper;
3350
3347
 
3351
3348
  this._cleanTipClass();
3352
3349
 
@@ -3361,7 +3358,7 @@
3361
3358
  return;
3362
3359
  }
3363
3360
 
3364
- $(tip).removeClass(ClassName$6.FADE);
3361
+ $__default["default"](tip).removeClass(CLASS_NAME_FADE$3);
3365
3362
  this.config.animation = false;
3366
3363
  this.hide();
3367
3364
  this.show();
@@ -3371,7 +3368,8 @@
3371
3368
 
3372
3369
  Tooltip._jQueryInterface = function _jQueryInterface(config) {
3373
3370
  return this.each(function () {
3374
- var data = $(this).data(DATA_KEY$6);
3371
+ var $element = $__default["default"](this);
3372
+ var data = $element.data(DATA_KEY$4);
3375
3373
 
3376
3374
  var _config = typeof config === 'object' && config;
3377
3375
 
@@ -3381,7 +3379,7 @@
3381
3379
 
3382
3380
  if (!data) {
3383
3381
  data = new Tooltip(this, _config);
3384
- $(this).data(DATA_KEY$6, data);
3382
+ $element.data(DATA_KEY$4, data);
3385
3383
  }
3386
3384
 
3387
3385
  if (typeof config === 'string') {
@@ -3397,112 +3395,99 @@
3397
3395
  _createClass(Tooltip, null, [{
3398
3396
  key: "VERSION",
3399
3397
  get: function get() {
3400
- return VERSION$6;
3398
+ return VERSION$4;
3401
3399
  }
3402
3400
  }, {
3403
3401
  key: "Default",
3404
3402
  get: function get() {
3405
- return Default$4;
3403
+ return Default$3;
3406
3404
  }
3407
3405
  }, {
3408
3406
  key: "NAME",
3409
3407
  get: function get() {
3410
- return NAME$6;
3408
+ return NAME$4;
3411
3409
  }
3412
3410
  }, {
3413
3411
  key: "DATA_KEY",
3414
3412
  get: function get() {
3415
- return DATA_KEY$6;
3413
+ return DATA_KEY$4;
3416
3414
  }
3417
3415
  }, {
3418
3416
  key: "Event",
3419
3417
  get: function get() {
3420
- return Event$6;
3418
+ return Event$1;
3421
3419
  }
3422
3420
  }, {
3423
3421
  key: "EVENT_KEY",
3424
3422
  get: function get() {
3425
- return EVENT_KEY$6;
3423
+ return EVENT_KEY$4;
3426
3424
  }
3427
3425
  }, {
3428
3426
  key: "DefaultType",
3429
3427
  get: function get() {
3430
- return DefaultType$4;
3428
+ return DefaultType$3;
3431
3429
  }
3432
3430
  }]);
3433
3431
 
3434
3432
  return Tooltip;
3435
3433
  }();
3436
3434
  /**
3437
- * ------------------------------------------------------------------------
3438
3435
  * jQuery
3439
- * ------------------------------------------------------------------------
3440
3436
  */
3441
3437
 
3442
3438
 
3443
- $.fn[NAME$6] = Tooltip._jQueryInterface;
3444
- $.fn[NAME$6].Constructor = Tooltip;
3439
+ $__default["default"].fn[NAME$4] = Tooltip._jQueryInterface;
3440
+ $__default["default"].fn[NAME$4].Constructor = Tooltip;
3445
3441
 
3446
- $.fn[NAME$6].noConflict = function () {
3447
- $.fn[NAME$6] = JQUERY_NO_CONFLICT$6;
3442
+ $__default["default"].fn[NAME$4].noConflict = function () {
3443
+ $__default["default"].fn[NAME$4] = JQUERY_NO_CONFLICT$4;
3448
3444
  return Tooltip._jQueryInterface;
3449
3445
  };
3450
3446
 
3451
3447
  /**
3452
- * ------------------------------------------------------------------------
3453
3448
  * Constants
3454
- * ------------------------------------------------------------------------
3455
3449
  */
3456
3450
 
3457
- var NAME$7 = 'popover';
3458
- var VERSION$7 = '4.3.1';
3459
- var DATA_KEY$7 = 'bs.popover';
3460
- var EVENT_KEY$7 = "." + DATA_KEY$7;
3461
- var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];
3462
- var CLASS_PREFIX$1 = 'bs-popover';
3463
- var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g');
3451
+ var NAME$3 = 'popover';
3452
+ var VERSION$3 = '4.6.1';
3453
+ var DATA_KEY$3 = 'bs.popover';
3454
+ var EVENT_KEY$3 = "." + DATA_KEY$3;
3455
+ var JQUERY_NO_CONFLICT$3 = $__default["default"].fn[NAME$3];
3456
+ var CLASS_PREFIX = 'bs-popover';
3457
+ var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
3458
+ var CLASS_NAME_FADE$2 = 'fade';
3459
+ var CLASS_NAME_SHOW$2 = 'show';
3460
+ var SELECTOR_TITLE = '.popover-header';
3461
+ var SELECTOR_CONTENT = '.popover-body';
3464
3462
 
3465
- var Default$5 = _objectSpread({}, Tooltip.Default, {
3463
+ var Default$2 = _extends({}, Tooltip.Default, {
3466
3464
  placement: 'right',
3467
3465
  trigger: 'click',
3468
3466
  content: '',
3469
3467
  template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
3470
3468
  });
3471
3469
 
3472
- var DefaultType$5 = _objectSpread({}, Tooltip.DefaultType, {
3470
+ var DefaultType$2 = _extends({}, Tooltip.DefaultType, {
3473
3471
  content: '(string|element|function)'
3474
3472
  });
3475
3473
 
3476
- var ClassName$7 = {
3477
- FADE: 'fade',
3478
- SHOW: 'show'
3479
- };
3480
- var Selector$7 = {
3481
- TITLE: '.popover-header',
3482
- CONTENT: '.popover-body'
3483
- };
3484
- var Event$7 = {
3485
- HIDE: "hide" + EVENT_KEY$7,
3486
- HIDDEN: "hidden" + EVENT_KEY$7,
3487
- SHOW: "show" + EVENT_KEY$7,
3488
- SHOWN: "shown" + EVENT_KEY$7,
3489
- INSERTED: "inserted" + EVENT_KEY$7,
3490
- CLICK: "click" + EVENT_KEY$7,
3491
- FOCUSIN: "focusin" + EVENT_KEY$7,
3492
- FOCUSOUT: "focusout" + EVENT_KEY$7,
3493
- MOUSEENTER: "mouseenter" + EVENT_KEY$7,
3494
- MOUSELEAVE: "mouseleave" + EVENT_KEY$7
3495
- /**
3496
- * ------------------------------------------------------------------------
3497
- * Class Definition
3498
- * ------------------------------------------------------------------------
3499
- */
3500
-
3474
+ var Event = {
3475
+ HIDE: "hide" + EVENT_KEY$3,
3476
+ HIDDEN: "hidden" + EVENT_KEY$3,
3477
+ SHOW: "show" + EVENT_KEY$3,
3478
+ SHOWN: "shown" + EVENT_KEY$3,
3479
+ INSERTED: "inserted" + EVENT_KEY$3,
3480
+ CLICK: "click" + EVENT_KEY$3,
3481
+ FOCUSIN: "focusin" + EVENT_KEY$3,
3482
+ FOCUSOUT: "focusout" + EVENT_KEY$3,
3483
+ MOUSEENTER: "mouseenter" + EVENT_KEY$3,
3484
+ MOUSELEAVE: "mouseleave" + EVENT_KEY$3
3501
3485
  };
3486
+ /**
3487
+ * Class definition
3488
+ */
3502
3489
 
3503
- var Popover =
3504
- /*#__PURE__*/
3505
- function (_Tooltip) {
3490
+ var Popover = /*#__PURE__*/function (_Tooltip) {
3506
3491
  _inheritsLoose(Popover, _Tooltip);
3507
3492
 
3508
3493
  function Popover() {
@@ -3517,18 +3502,18 @@
3517
3502
  };
3518
3503
 
3519
3504
  _proto.addAttachmentClass = function addAttachmentClass(attachment) {
3520
- $(this.getTipElement()).addClass(CLASS_PREFIX$1 + "-" + attachment);
3505
+ $__default["default"](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
3521
3506
  };
3522
3507
 
3523
3508
  _proto.getTipElement = function getTipElement() {
3524
- this.tip = this.tip || $(this.config.template)[0];
3509
+ this.tip = this.tip || $__default["default"](this.config.template)[0];
3525
3510
  return this.tip;
3526
3511
  };
3527
3512
 
3528
3513
  _proto.setContent = function setContent() {
3529
- var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
3514
+ var $tip = $__default["default"](this.getTipElement()); // We use append for html objects to maintain js events
3530
3515
 
3531
- this.setElementContent($tip.find(Selector$7.TITLE), this.getTitle());
3516
+ this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());
3532
3517
 
3533
3518
  var content = this._getContent();
3534
3519
 
@@ -3536,8 +3521,8 @@
3536
3521
  content = content.call(this.element);
3537
3522
  }
3538
3523
 
3539
- this.setElementContent($tip.find(Selector$7.CONTENT), content);
3540
- $tip.removeClass(ClassName$7.FADE + " " + ClassName$7.SHOW);
3524
+ this.setElementContent($tip.find(SELECTOR_CONTENT), content);
3525
+ $tip.removeClass(CLASS_NAME_FADE$2 + " " + CLASS_NAME_SHOW$2);
3541
3526
  } // Private
3542
3527
  ;
3543
3528
 
@@ -3546,8 +3531,8 @@
3546
3531
  };
3547
3532
 
3548
3533
  _proto._cleanTipClass = function _cleanTipClass() {
3549
- var $tip = $(this.getTipElement());
3550
- var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1);
3534
+ var $tip = $__default["default"](this.getTipElement());
3535
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
3551
3536
 
3552
3537
  if (tabClass !== null && tabClass.length > 0) {
3553
3538
  $tip.removeClass(tabClass.join(''));
@@ -3557,7 +3542,7 @@
3557
3542
 
3558
3543
  Popover._jQueryInterface = function _jQueryInterface(config) {
3559
3544
  return this.each(function () {
3560
- var data = $(this).data(DATA_KEY$7);
3545
+ var data = $__default["default"](this).data(DATA_KEY$3);
3561
3546
 
3562
3547
  var _config = typeof config === 'object' ? config : null;
3563
3548
 
@@ -3567,7 +3552,7 @@
3567
3552
 
3568
3553
  if (!data) {
3569
3554
  data = new Popover(this, _config);
3570
- $(this).data(DATA_KEY$7, data);
3555
+ $__default["default"](this).data(DATA_KEY$3, data);
3571
3556
  }
3572
3557
 
3573
3558
  if (typeof config === 'string') {
@@ -3582,128 +3567,109 @@
3582
3567
 
3583
3568
  _createClass(Popover, null, [{
3584
3569
  key: "VERSION",
3585
- // Getters
3586
- get: function get() {
3587
- return VERSION$7;
3570
+ get: // Getters
3571
+ function get() {
3572
+ return VERSION$3;
3588
3573
  }
3589
3574
  }, {
3590
3575
  key: "Default",
3591
3576
  get: function get() {
3592
- return Default$5;
3577
+ return Default$2;
3593
3578
  }
3594
3579
  }, {
3595
3580
  key: "NAME",
3596
3581
  get: function get() {
3597
- return NAME$7;
3582
+ return NAME$3;
3598
3583
  }
3599
3584
  }, {
3600
3585
  key: "DATA_KEY",
3601
3586
  get: function get() {
3602
- return DATA_KEY$7;
3587
+ return DATA_KEY$3;
3603
3588
  }
3604
3589
  }, {
3605
3590
  key: "Event",
3606
3591
  get: function get() {
3607
- return Event$7;
3592
+ return Event;
3608
3593
  }
3609
3594
  }, {
3610
3595
  key: "EVENT_KEY",
3611
3596
  get: function get() {
3612
- return EVENT_KEY$7;
3597
+ return EVENT_KEY$3;
3613
3598
  }
3614
3599
  }, {
3615
3600
  key: "DefaultType",
3616
3601
  get: function get() {
3617
- return DefaultType$5;
3602
+ return DefaultType$2;
3618
3603
  }
3619
3604
  }]);
3620
3605
 
3621
3606
  return Popover;
3622
3607
  }(Tooltip);
3623
3608
  /**
3624
- * ------------------------------------------------------------------------
3625
3609
  * jQuery
3626
- * ------------------------------------------------------------------------
3627
3610
  */
3628
3611
 
3629
3612
 
3630
- $.fn[NAME$7] = Popover._jQueryInterface;
3631
- $.fn[NAME$7].Constructor = Popover;
3613
+ $__default["default"].fn[NAME$3] = Popover._jQueryInterface;
3614
+ $__default["default"].fn[NAME$3].Constructor = Popover;
3632
3615
 
3633
- $.fn[NAME$7].noConflict = function () {
3634
- $.fn[NAME$7] = JQUERY_NO_CONFLICT$7;
3616
+ $__default["default"].fn[NAME$3].noConflict = function () {
3617
+ $__default["default"].fn[NAME$3] = JQUERY_NO_CONFLICT$3;
3635
3618
  return Popover._jQueryInterface;
3636
3619
  };
3637
3620
 
3638
3621
  /**
3639
- * ------------------------------------------------------------------------
3640
3622
  * Constants
3641
- * ------------------------------------------------------------------------
3642
3623
  */
3643
3624
 
3644
- var NAME$8 = 'scrollspy';
3645
- var VERSION$8 = '4.3.1';
3646
- var DATA_KEY$8 = 'bs.scrollspy';
3647
- var EVENT_KEY$8 = "." + DATA_KEY$8;
3648
- var DATA_API_KEY$6 = '.data-api';
3649
- var JQUERY_NO_CONFLICT$8 = $.fn[NAME$8];
3650
- var Default$6 = {
3625
+ var NAME$2 = 'scrollspy';
3626
+ var VERSION$2 = '4.6.1';
3627
+ var DATA_KEY$2 = 'bs.scrollspy';
3628
+ var EVENT_KEY$2 = "." + DATA_KEY$2;
3629
+ var DATA_API_KEY$1 = '.data-api';
3630
+ var JQUERY_NO_CONFLICT$2 = $__default["default"].fn[NAME$2];
3631
+ var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
3632
+ var CLASS_NAME_ACTIVE$1 = 'active';
3633
+ var EVENT_ACTIVATE = "activate" + EVENT_KEY$2;
3634
+ var EVENT_SCROLL = "scroll" + EVENT_KEY$2;
3635
+ var EVENT_LOAD_DATA_API = "load" + EVENT_KEY$2 + DATA_API_KEY$1;
3636
+ var METHOD_OFFSET = 'offset';
3637
+ var METHOD_POSITION = 'position';
3638
+ var SELECTOR_DATA_SPY = '[data-spy="scroll"]';
3639
+ var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
3640
+ var SELECTOR_NAV_LINKS = '.nav-link';
3641
+ var SELECTOR_NAV_ITEMS = '.nav-item';
3642
+ var SELECTOR_LIST_ITEMS = '.list-group-item';
3643
+ var SELECTOR_DROPDOWN$1 = '.dropdown';
3644
+ var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item';
3645
+ var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
3646
+ var Default$1 = {
3651
3647
  offset: 10,
3652
3648
  method: 'auto',
3653
3649
  target: ''
3654
3650
  };
3655
- var DefaultType$6 = {
3651
+ var DefaultType$1 = {
3656
3652
  offset: 'number',
3657
3653
  method: 'string',
3658
3654
  target: '(string|element)'
3659
3655
  };
3660
- var Event$8 = {
3661
- ACTIVATE: "activate" + EVENT_KEY$8,
3662
- SCROLL: "scroll" + EVENT_KEY$8,
3663
- LOAD_DATA_API: "load" + EVENT_KEY$8 + DATA_API_KEY$6
3664
- };
3665
- var ClassName$8 = {
3666
- DROPDOWN_ITEM: 'dropdown-item',
3667
- DROPDOWN_MENU: 'dropdown-menu',
3668
- ACTIVE: 'active'
3669
- };
3670
- var Selector$8 = {
3671
- DATA_SPY: '[data-spy="scroll"]',
3672
- ACTIVE: '.active',
3673
- NAV_LIST_GROUP: '.nav, .list-group',
3674
- NAV_LINKS: '.nav-link',
3675
- NAV_ITEMS: '.nav-item',
3676
- LIST_ITEMS: '.list-group-item',
3677
- DROPDOWN: '.dropdown',
3678
- DROPDOWN_ITEMS: '.dropdown-item',
3679
- DROPDOWN_TOGGLE: '.dropdown-toggle'
3680
- };
3681
- var OffsetMethod = {
3682
- OFFSET: 'offset',
3683
- POSITION: 'position'
3684
- /**
3685
- * ------------------------------------------------------------------------
3686
- * Class Definition
3687
- * ------------------------------------------------------------------------
3688
- */
3689
-
3690
- };
3656
+ /**
3657
+ * Class definition
3658
+ */
3691
3659
 
3692
- var ScrollSpy =
3693
- /*#__PURE__*/
3694
- function () {
3660
+ var ScrollSpy = /*#__PURE__*/function () {
3695
3661
  function ScrollSpy(element, config) {
3696
3662
  var _this = this;
3697
3663
 
3698
3664
  this._element = element;
3699
3665
  this._scrollElement = element.tagName === 'BODY' ? window : element;
3700
3666
  this._config = this._getConfig(config);
3701
- this._selector = this._config.target + " " + Selector$8.NAV_LINKS + "," + (this._config.target + " " + Selector$8.LIST_ITEMS + ",") + (this._config.target + " " + Selector$8.DROPDOWN_ITEMS);
3667
+ this._selector = this._config.target + " " + SELECTOR_NAV_LINKS + "," + (this._config.target + " " + SELECTOR_LIST_ITEMS + ",") + (this._config.target + " " + SELECTOR_DROPDOWN_ITEMS);
3702
3668
  this._offsets = [];
3703
3669
  this._targets = [];
3704
3670
  this._activeTarget = null;
3705
3671
  this._scrollHeight = 0;
3706
- $(this._scrollElement).on(Event$8.SCROLL, function (event) {
3672
+ $__default["default"](this._scrollElement).on(EVENT_SCROLL, function (event) {
3707
3673
  return _this._process(event);
3708
3674
  });
3709
3675
  this.refresh();
@@ -3718,9 +3684,9 @@
3718
3684
  _proto.refresh = function refresh() {
3719
3685
  var _this2 = this;
3720
3686
 
3721
- var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
3687
+ var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
3722
3688
  var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
3723
- var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
3689
+ var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
3724
3690
  this._offsets = [];
3725
3691
  this._targets = [];
3726
3692
  this._scrollHeight = this._getScrollHeight();
@@ -3738,7 +3704,7 @@
3738
3704
 
3739
3705
  if (targetBCR.width || targetBCR.height) {
3740
3706
  // TODO (fat): remove sketch reliance on jQuery position/offset
3741
- return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
3707
+ return [$__default["default"](target)[offsetMethod]().top + offsetBase, targetSelector];
3742
3708
  }
3743
3709
  }
3744
3710
 
@@ -3755,8 +3721,8 @@
3755
3721
  };
3756
3722
 
3757
3723
  _proto.dispose = function dispose() {
3758
- $.removeData(this._element, DATA_KEY$8);
3759
- $(this._scrollElement).off(EVENT_KEY$8);
3724
+ $__default["default"].removeData(this._element, DATA_KEY$2);
3725
+ $__default["default"](this._scrollElement).off(EVENT_KEY$2);
3760
3726
  this._element = null;
3761
3727
  this._scrollElement = null;
3762
3728
  this._config = null;
@@ -3769,20 +3735,20 @@
3769
3735
  ;
3770
3736
 
3771
3737
  _proto._getConfig = function _getConfig(config) {
3772
- config = _objectSpread({}, Default$6, typeof config === 'object' && config ? config : {});
3738
+ config = _extends({}, Default$1, typeof config === 'object' && config ? config : {});
3773
3739
 
3774
- if (typeof config.target !== 'string') {
3775
- var id = $(config.target).attr('id');
3740
+ if (typeof config.target !== 'string' && Util.isElement(config.target)) {
3741
+ var id = $__default["default"](config.target).attr('id');
3776
3742
 
3777
3743
  if (!id) {
3778
- id = Util.getUID(NAME$8);
3779
- $(config.target).attr('id', id);
3744
+ id = Util.getUID(NAME$2);
3745
+ $__default["default"](config.target).attr('id', id);
3780
3746
  }
3781
3747
 
3782
3748
  config.target = "#" + id;
3783
3749
  }
3784
3750
 
3785
- Util.typeCheckConfig(NAME$8, config, DefaultType$6);
3751
+ Util.typeCheckConfig(NAME$2, config, DefaultType$1);
3786
3752
  return config;
3787
3753
  };
3788
3754
 
@@ -3827,9 +3793,7 @@
3827
3793
  return;
3828
3794
  }
3829
3795
 
3830
- var offsetLength = this._offsets.length;
3831
-
3832
- for (var i = offsetLength; i--;) {
3796
+ for (var i = this._offsets.length; i--;) {
3833
3797
  var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
3834
3798
 
3835
3799
  if (isActiveTarget) {
@@ -3847,44 +3811,44 @@
3847
3811
  return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
3848
3812
  });
3849
3813
 
3850
- var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));
3814
+ var $link = $__default["default"]([].slice.call(document.querySelectorAll(queries.join(','))));
3851
3815
 
3852
- if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) {
3853
- $link.closest(Selector$8.DROPDOWN).find(Selector$8.DROPDOWN_TOGGLE).addClass(ClassName$8.ACTIVE);
3854
- $link.addClass(ClassName$8.ACTIVE);
3816
+ if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {
3817
+ $link.closest(SELECTOR_DROPDOWN$1).find(SELECTOR_DROPDOWN_TOGGLE$1).addClass(CLASS_NAME_ACTIVE$1);
3818
+ $link.addClass(CLASS_NAME_ACTIVE$1);
3855
3819
  } else {
3856
3820
  // Set triggered link as active
3857
- $link.addClass(ClassName$8.ACTIVE); // Set triggered links parents as active
3821
+ $link.addClass(CLASS_NAME_ACTIVE$1); // Set triggered links parents as active
3858
3822
  // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
3859
3823
 
3860
- $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_LINKS + ", " + Selector$8.LIST_ITEMS).addClass(ClassName$8.ACTIVE); // Handle special case when .nav-link is inside .nav-item
3824
+ $link.parents(SELECTOR_NAV_LIST_GROUP$1).prev(SELECTOR_NAV_LINKS + ", " + SELECTOR_LIST_ITEMS).addClass(CLASS_NAME_ACTIVE$1); // Handle special case when .nav-link is inside .nav-item
3861
3825
 
3862
- $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_ITEMS).children(Selector$8.NAV_LINKS).addClass(ClassName$8.ACTIVE);
3826
+ $link.parents(SELECTOR_NAV_LIST_GROUP$1).prev(SELECTOR_NAV_ITEMS).children(SELECTOR_NAV_LINKS).addClass(CLASS_NAME_ACTIVE$1);
3863
3827
  }
3864
3828
 
3865
- $(this._scrollElement).trigger(Event$8.ACTIVATE, {
3829
+ $__default["default"](this._scrollElement).trigger(EVENT_ACTIVATE, {
3866
3830
  relatedTarget: target
3867
3831
  });
3868
3832
  };
3869
3833
 
3870
3834
  _proto._clear = function _clear() {
3871
3835
  [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {
3872
- return node.classList.contains(ClassName$8.ACTIVE);
3836
+ return node.classList.contains(CLASS_NAME_ACTIVE$1);
3873
3837
  }).forEach(function (node) {
3874
- return node.classList.remove(ClassName$8.ACTIVE);
3838
+ return node.classList.remove(CLASS_NAME_ACTIVE$1);
3875
3839
  });
3876
3840
  } // Static
3877
3841
  ;
3878
3842
 
3879
3843
  ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
3880
3844
  return this.each(function () {
3881
- var data = $(this).data(DATA_KEY$8);
3845
+ var data = $__default["default"](this).data(DATA_KEY$2);
3882
3846
 
3883
3847
  var _config = typeof config === 'object' && config;
3884
3848
 
3885
3849
  if (!data) {
3886
3850
  data = new ScrollSpy(this, _config);
3887
- $(this).data(DATA_KEY$8, data);
3851
+ $__default["default"](this).data(DATA_KEY$2, data);
3888
3852
  }
3889
3853
 
3890
3854
  if (typeof config === 'string') {
@@ -3900,93 +3864,76 @@
3900
3864
  _createClass(ScrollSpy, null, [{
3901
3865
  key: "VERSION",
3902
3866
  get: function get() {
3903
- return VERSION$8;
3867
+ return VERSION$2;
3904
3868
  }
3905
3869
  }, {
3906
3870
  key: "Default",
3907
3871
  get: function get() {
3908
- return Default$6;
3872
+ return Default$1;
3909
3873
  }
3910
3874
  }]);
3911
3875
 
3912
3876
  return ScrollSpy;
3913
3877
  }();
3914
3878
  /**
3915
- * ------------------------------------------------------------------------
3916
- * Data Api implementation
3917
- * ------------------------------------------------------------------------
3879
+ * Data API implementation
3918
3880
  */
3919
3881
 
3920
3882
 
3921
- $(window).on(Event$8.LOAD_DATA_API, function () {
3922
- var scrollSpys = [].slice.call(document.querySelectorAll(Selector$8.DATA_SPY));
3883
+ $__default["default"](window).on(EVENT_LOAD_DATA_API, function () {
3884
+ var scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY));
3923
3885
  var scrollSpysLength = scrollSpys.length;
3924
3886
 
3925
3887
  for (var i = scrollSpysLength; i--;) {
3926
- var $spy = $(scrollSpys[i]);
3888
+ var $spy = $__default["default"](scrollSpys[i]);
3927
3889
 
3928
3890
  ScrollSpy._jQueryInterface.call($spy, $spy.data());
3929
3891
  }
3930
3892
  });
3931
3893
  /**
3932
- * ------------------------------------------------------------------------
3933
3894
  * jQuery
3934
- * ------------------------------------------------------------------------
3935
3895
  */
3936
3896
 
3937
- $.fn[NAME$8] = ScrollSpy._jQueryInterface;
3938
- $.fn[NAME$8].Constructor = ScrollSpy;
3897
+ $__default["default"].fn[NAME$2] = ScrollSpy._jQueryInterface;
3898
+ $__default["default"].fn[NAME$2].Constructor = ScrollSpy;
3939
3899
 
3940
- $.fn[NAME$8].noConflict = function () {
3941
- $.fn[NAME$8] = JQUERY_NO_CONFLICT$8;
3900
+ $__default["default"].fn[NAME$2].noConflict = function () {
3901
+ $__default["default"].fn[NAME$2] = JQUERY_NO_CONFLICT$2;
3942
3902
  return ScrollSpy._jQueryInterface;
3943
3903
  };
3944
3904
 
3945
3905
  /**
3946
- * ------------------------------------------------------------------------
3947
3906
  * Constants
3948
- * ------------------------------------------------------------------------
3949
3907
  */
3950
3908
 
3951
- var NAME$9 = 'tab';
3952
- var VERSION$9 = '4.3.1';
3953
- var DATA_KEY$9 = 'bs.tab';
3954
- var EVENT_KEY$9 = "." + DATA_KEY$9;
3955
- var DATA_API_KEY$7 = '.data-api';
3956
- var JQUERY_NO_CONFLICT$9 = $.fn[NAME$9];
3957
- var Event$9 = {
3958
- HIDE: "hide" + EVENT_KEY$9,
3959
- HIDDEN: "hidden" + EVENT_KEY$9,
3960
- SHOW: "show" + EVENT_KEY$9,
3961
- SHOWN: "shown" + EVENT_KEY$9,
3962
- CLICK_DATA_API: "click" + EVENT_KEY$9 + DATA_API_KEY$7
3963
- };
3964
- var ClassName$9 = {
3965
- DROPDOWN_MENU: 'dropdown-menu',
3966
- ACTIVE: 'active',
3967
- DISABLED: 'disabled',
3968
- FADE: 'fade',
3969
- SHOW: 'show'
3970
- };
3971
- var Selector$9 = {
3972
- DROPDOWN: '.dropdown',
3973
- NAV_LIST_GROUP: '.nav, .list-group',
3974
- ACTIVE: '.active',
3975
- ACTIVE_UL: '> li > .active',
3976
- DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
3977
- DROPDOWN_TOGGLE: '.dropdown-toggle',
3978
- DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
3979
- /**
3980
- * ------------------------------------------------------------------------
3981
- * Class Definition
3982
- * ------------------------------------------------------------------------
3983
- */
3984
-
3985
- };
3909
+ var NAME$1 = 'tab';
3910
+ var VERSION$1 = '4.6.1';
3911
+ var DATA_KEY$1 = 'bs.tab';
3912
+ var EVENT_KEY$1 = "." + DATA_KEY$1;
3913
+ var DATA_API_KEY = '.data-api';
3914
+ var JQUERY_NO_CONFLICT$1 = $__default["default"].fn[NAME$1];
3915
+ var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
3916
+ var CLASS_NAME_ACTIVE = 'active';
3917
+ var CLASS_NAME_DISABLED = 'disabled';
3918
+ var CLASS_NAME_FADE$1 = 'fade';
3919
+ var CLASS_NAME_SHOW$1 = 'show';
3920
+ var EVENT_HIDE$1 = "hide" + EVENT_KEY$1;
3921
+ var EVENT_HIDDEN$1 = "hidden" + EVENT_KEY$1;
3922
+ var EVENT_SHOW$1 = "show" + EVENT_KEY$1;
3923
+ var EVENT_SHOWN$1 = "shown" + EVENT_KEY$1;
3924
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY$1 + DATA_API_KEY;
3925
+ var SELECTOR_DROPDOWN = '.dropdown';
3926
+ var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
3927
+ var SELECTOR_ACTIVE = '.active';
3928
+ var SELECTOR_ACTIVE_UL = '> li > .active';
3929
+ var SELECTOR_DATA_TOGGLE = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
3930
+ var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
3931
+ var SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active';
3932
+ /**
3933
+ * Class definition
3934
+ */
3986
3935
 
3987
- var Tab =
3988
- /*#__PURE__*/
3989
- function () {
3936
+ var Tab = /*#__PURE__*/function () {
3990
3937
  function Tab(element) {
3991
3938
  this._element = element;
3992
3939
  } // Getters
@@ -3998,33 +3945,33 @@
3998
3945
  _proto.show = function show() {
3999
3946
  var _this = this;
4000
3947
 
4001
- if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName$9.ACTIVE) || $(this._element).hasClass(ClassName$9.DISABLED)) {
3948
+ if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $__default["default"](this._element).hasClass(CLASS_NAME_ACTIVE) || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED)) {
4002
3949
  return;
4003
3950
  }
4004
3951
 
4005
3952
  var target;
4006
3953
  var previous;
4007
- var listElement = $(this._element).closest(Selector$9.NAV_LIST_GROUP)[0];
3954
+ var listElement = $__default["default"](this._element).closest(SELECTOR_NAV_LIST_GROUP)[0];
4008
3955
  var selector = Util.getSelectorFromElement(this._element);
4009
3956
 
4010
3957
  if (listElement) {
4011
- var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE;
4012
- previous = $.makeArray($(listElement).find(itemSelector));
3958
+ var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE;
3959
+ previous = $__default["default"].makeArray($__default["default"](listElement).find(itemSelector));
4013
3960
  previous = previous[previous.length - 1];
4014
3961
  }
4015
3962
 
4016
- var hideEvent = $.Event(Event$9.HIDE, {
3963
+ var hideEvent = $__default["default"].Event(EVENT_HIDE$1, {
4017
3964
  relatedTarget: this._element
4018
3965
  });
4019
- var showEvent = $.Event(Event$9.SHOW, {
3966
+ var showEvent = $__default["default"].Event(EVENT_SHOW$1, {
4020
3967
  relatedTarget: previous
4021
3968
  });
4022
3969
 
4023
3970
  if (previous) {
4024
- $(previous).trigger(hideEvent);
3971
+ $__default["default"](previous).trigger(hideEvent);
4025
3972
  }
4026
3973
 
4027
- $(this._element).trigger(showEvent);
3974
+ $__default["default"](this._element).trigger(showEvent);
4028
3975
 
4029
3976
  if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {
4030
3977
  return;
@@ -4037,14 +3984,14 @@
4037
3984
  this._activate(this._element, listElement);
4038
3985
 
4039
3986
  var complete = function complete() {
4040
- var hiddenEvent = $.Event(Event$9.HIDDEN, {
3987
+ var hiddenEvent = $__default["default"].Event(EVENT_HIDDEN$1, {
4041
3988
  relatedTarget: _this._element
4042
3989
  });
4043
- var shownEvent = $.Event(Event$9.SHOWN, {
3990
+ var shownEvent = $__default["default"].Event(EVENT_SHOWN$1, {
4044
3991
  relatedTarget: previous
4045
3992
  });
4046
- $(previous).trigger(hiddenEvent);
4047
- $(_this._element).trigger(shownEvent);
3993
+ $__default["default"](previous).trigger(hiddenEvent);
3994
+ $__default["default"](_this._element).trigger(shownEvent);
4048
3995
  };
4049
3996
 
4050
3997
  if (target) {
@@ -4055,7 +4002,7 @@
4055
4002
  };
4056
4003
 
4057
4004
  _proto.dispose = function dispose() {
4058
- $.removeData(this._element, DATA_KEY$9);
4005
+ $__default["default"].removeData(this._element, DATA_KEY$1);
4059
4006
  this._element = null;
4060
4007
  } // Private
4061
4008
  ;
@@ -4063,9 +4010,9 @@
4063
4010
  _proto._activate = function _activate(element, container, callback) {
4064
4011
  var _this2 = this;
4065
4012
 
4066
- var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector$9.ACTIVE_UL) : $(container).children(Selector$9.ACTIVE);
4013
+ var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $__default["default"](container).find(SELECTOR_ACTIVE_UL) : $__default["default"](container).children(SELECTOR_ACTIVE);
4067
4014
  var active = activeElements[0];
4068
- var isTransitioning = callback && active && $(active).hasClass(ClassName$9.FADE);
4015
+ var isTransitioning = callback && active && $__default["default"](active).hasClass(CLASS_NAME_FADE$1);
4069
4016
 
4070
4017
  var complete = function complete() {
4071
4018
  return _this2._transitionComplete(element, active, callback);
@@ -4073,7 +4020,7 @@
4073
4020
 
4074
4021
  if (active && isTransitioning) {
4075
4022
  var transitionDuration = Util.getTransitionDurationFromElement(active);
4076
- $(active).removeClass(ClassName$9.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
4023
+ $__default["default"](active).removeClass(CLASS_NAME_SHOW$1).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
4077
4024
  } else {
4078
4025
  complete();
4079
4026
  }
@@ -4081,11 +4028,11 @@
4081
4028
 
4082
4029
  _proto._transitionComplete = function _transitionComplete(element, active, callback) {
4083
4030
  if (active) {
4084
- $(active).removeClass(ClassName$9.ACTIVE);
4085
- var dropdownChild = $(active.parentNode).find(Selector$9.DROPDOWN_ACTIVE_CHILD)[0];
4031
+ $__default["default"](active).removeClass(CLASS_NAME_ACTIVE);
4032
+ var dropdownChild = $__default["default"](active.parentNode).find(SELECTOR_DROPDOWN_ACTIVE_CHILD)[0];
4086
4033
 
4087
4034
  if (dropdownChild) {
4088
- $(dropdownChild).removeClass(ClassName$9.ACTIVE);
4035
+ $__default["default"](dropdownChild).removeClass(CLASS_NAME_ACTIVE);
4089
4036
  }
4090
4037
 
4091
4038
  if (active.getAttribute('role') === 'tab') {
@@ -4093,7 +4040,7 @@
4093
4040
  }
4094
4041
  }
4095
4042
 
4096
- $(element).addClass(ClassName$9.ACTIVE);
4043
+ $__default["default"](element).addClass(CLASS_NAME_ACTIVE);
4097
4044
 
4098
4045
  if (element.getAttribute('role') === 'tab') {
4099
4046
  element.setAttribute('aria-selected', true);
@@ -4101,16 +4048,22 @@
4101
4048
 
4102
4049
  Util.reflow(element);
4103
4050
 
4104
- if (element.classList.contains(ClassName$9.FADE)) {
4105
- element.classList.add(ClassName$9.SHOW);
4051
+ if (element.classList.contains(CLASS_NAME_FADE$1)) {
4052
+ element.classList.add(CLASS_NAME_SHOW$1);
4053
+ }
4054
+
4055
+ var parent = element.parentNode;
4056
+
4057
+ if (parent && parent.nodeName === 'LI') {
4058
+ parent = parent.parentNode;
4106
4059
  }
4107
4060
 
4108
- if (element.parentNode && $(element.parentNode).hasClass(ClassName$9.DROPDOWN_MENU)) {
4109
- var dropdownElement = $(element).closest(Selector$9.DROPDOWN)[0];
4061
+ if (parent && $__default["default"](parent).hasClass(CLASS_NAME_DROPDOWN_MENU)) {
4062
+ var dropdownElement = $__default["default"](element).closest(SELECTOR_DROPDOWN)[0];
4110
4063
 
4111
4064
  if (dropdownElement) {
4112
- var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector$9.DROPDOWN_TOGGLE));
4113
- $(dropdownToggleList).addClass(ClassName$9.ACTIVE);
4065
+ var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE));
4066
+ $__default["default"](dropdownToggleList).addClass(CLASS_NAME_ACTIVE);
4114
4067
  }
4115
4068
 
4116
4069
  element.setAttribute('aria-expanded', true);
@@ -4124,12 +4077,12 @@
4124
4077
 
4125
4078
  Tab._jQueryInterface = function _jQueryInterface(config) {
4126
4079
  return this.each(function () {
4127
- var $this = $(this);
4128
- var data = $this.data(DATA_KEY$9);
4080
+ var $this = $__default["default"](this);
4081
+ var data = $this.data(DATA_KEY$1);
4129
4082
 
4130
4083
  if (!data) {
4131
4084
  data = new Tab(this);
4132
- $this.data(DATA_KEY$9, data);
4085
+ $this.data(DATA_KEY$1, data);
4133
4086
  }
4134
4087
 
4135
4088
  if (typeof config === 'string') {
@@ -4145,85 +4098,68 @@
4145
4098
  _createClass(Tab, null, [{
4146
4099
  key: "VERSION",
4147
4100
  get: function get() {
4148
- return VERSION$9;
4101
+ return VERSION$1;
4149
4102
  }
4150
4103
  }]);
4151
4104
 
4152
4105
  return Tab;
4153
4106
  }();
4154
4107
  /**
4155
- * ------------------------------------------------------------------------
4156
- * Data Api implementation
4157
- * ------------------------------------------------------------------------
4108
+ * Data API implementation
4158
4109
  */
4159
4110
 
4160
4111
 
4161
- $(document).on(Event$9.CLICK_DATA_API, Selector$9.DATA_TOGGLE, function (event) {
4112
+ $__default["default"](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
4162
4113
  event.preventDefault();
4163
4114
 
4164
- Tab._jQueryInterface.call($(this), 'show');
4115
+ Tab._jQueryInterface.call($__default["default"](this), 'show');
4165
4116
  });
4166
4117
  /**
4167
- * ------------------------------------------------------------------------
4168
4118
  * jQuery
4169
- * ------------------------------------------------------------------------
4170
4119
  */
4171
4120
 
4172
- $.fn[NAME$9] = Tab._jQueryInterface;
4173
- $.fn[NAME$9].Constructor = Tab;
4121
+ $__default["default"].fn[NAME$1] = Tab._jQueryInterface;
4122
+ $__default["default"].fn[NAME$1].Constructor = Tab;
4174
4123
 
4175
- $.fn[NAME$9].noConflict = function () {
4176
- $.fn[NAME$9] = JQUERY_NO_CONFLICT$9;
4124
+ $__default["default"].fn[NAME$1].noConflict = function () {
4125
+ $__default["default"].fn[NAME$1] = JQUERY_NO_CONFLICT$1;
4177
4126
  return Tab._jQueryInterface;
4178
4127
  };
4179
4128
 
4180
4129
  /**
4181
- * ------------------------------------------------------------------------
4182
4130
  * Constants
4183
- * ------------------------------------------------------------------------
4184
4131
  */
4185
4132
 
4186
- var NAME$a = 'toast';
4187
- var VERSION$a = '4.3.1';
4188
- var DATA_KEY$a = 'bs.toast';
4189
- var EVENT_KEY$a = "." + DATA_KEY$a;
4190
- var JQUERY_NO_CONFLICT$a = $.fn[NAME$a];
4191
- var Event$a = {
4192
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY$a,
4193
- HIDE: "hide" + EVENT_KEY$a,
4194
- HIDDEN: "hidden" + EVENT_KEY$a,
4195
- SHOW: "show" + EVENT_KEY$a,
4196
- SHOWN: "shown" + EVENT_KEY$a
4197
- };
4198
- var ClassName$a = {
4199
- FADE: 'fade',
4200
- HIDE: 'hide',
4201
- SHOW: 'show',
4202
- SHOWING: 'showing'
4203
- };
4204
- var DefaultType$7 = {
4205
- animation: 'boolean',
4206
- autohide: 'boolean',
4207
- delay: 'number'
4208
- };
4209
- var Default$7 = {
4133
+ var NAME = 'toast';
4134
+ var VERSION = '4.6.1';
4135
+ var DATA_KEY = 'bs.toast';
4136
+ var EVENT_KEY = "." + DATA_KEY;
4137
+ var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
4138
+ var CLASS_NAME_FADE = 'fade';
4139
+ var CLASS_NAME_HIDE = 'hide';
4140
+ var CLASS_NAME_SHOW = 'show';
4141
+ var CLASS_NAME_SHOWING = 'showing';
4142
+ var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY;
4143
+ var EVENT_HIDE = "hide" + EVENT_KEY;
4144
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY;
4145
+ var EVENT_SHOW = "show" + EVENT_KEY;
4146
+ var EVENT_SHOWN = "shown" + EVENT_KEY;
4147
+ var SELECTOR_DATA_DISMISS = '[data-dismiss="toast"]';
4148
+ var Default = {
4210
4149
  animation: true,
4211
4150
  autohide: true,
4212
4151
  delay: 500
4213
4152
  };
4214
- var Selector$a = {
4215
- DATA_DISMISS: '[data-dismiss="toast"]'
4216
- /**
4217
- * ------------------------------------------------------------------------
4218
- * Class Definition
4219
- * ------------------------------------------------------------------------
4220
- */
4221
-
4153
+ var DefaultType = {
4154
+ animation: 'boolean',
4155
+ autohide: 'boolean',
4156
+ delay: 'number'
4222
4157
  };
4158
+ /**
4159
+ * Class definition
4160
+ */
4223
4161
 
4224
- var Toast =
4225
- /*#__PURE__*/
4226
- function () {
4162
+ var Toast = /*#__PURE__*/function () {
4227
4163
  function Toast(element, config) {
4228
4164
  this._element = element;
4229
4165
  this._config = this._getConfig(config);
@@ -4239,113 +4175,125 @@
4239
4175
  _proto.show = function show() {
4240
4176
  var _this = this;
4241
4177
 
4242
- $(this._element).trigger(Event$a.SHOW);
4178
+ var showEvent = $__default["default"].Event(EVENT_SHOW);
4179
+ $__default["default"](this._element).trigger(showEvent);
4180
+
4181
+ if (showEvent.isDefaultPrevented()) {
4182
+ return;
4183
+ }
4184
+
4185
+ this._clearTimeout();
4243
4186
 
4244
4187
  if (this._config.animation) {
4245
- this._element.classList.add(ClassName$a.FADE);
4188
+ this._element.classList.add(CLASS_NAME_FADE);
4246
4189
  }
4247
4190
 
4248
4191
  var complete = function complete() {
4249
- _this._element.classList.remove(ClassName$a.SHOWING);
4192
+ _this._element.classList.remove(CLASS_NAME_SHOWING);
4250
4193
 
4251
- _this._element.classList.add(ClassName$a.SHOW);
4194
+ _this._element.classList.add(CLASS_NAME_SHOW);
4252
4195
 
4253
- $(_this._element).trigger(Event$a.SHOWN);
4196
+ $__default["default"](_this._element).trigger(EVENT_SHOWN);
4254
4197
 
4255
4198
  if (_this._config.autohide) {
4256
- _this.hide();
4199
+ _this._timeout = setTimeout(function () {
4200
+ _this.hide();
4201
+ }, _this._config.delay);
4257
4202
  }
4258
4203
  };
4259
4204
 
4260
- this._element.classList.remove(ClassName$a.HIDE);
4205
+ this._element.classList.remove(CLASS_NAME_HIDE);
4206
+
4207
+ Util.reflow(this._element);
4261
4208
 
4262
- this._element.classList.add(ClassName$a.SHOWING);
4209
+ this._element.classList.add(CLASS_NAME_SHOWING);
4263
4210
 
4264
4211
  if (this._config.animation) {
4265
4212
  var transitionDuration = Util.getTransitionDurationFromElement(this._element);
4266
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
4213
+ $__default["default"](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
4267
4214
  } else {
4268
4215
  complete();
4269
4216
  }
4270
4217
  };
4271
4218
 
4272
- _proto.hide = function hide(withoutTimeout) {
4273
- var _this2 = this;
4274
-
4275
- if (!this._element.classList.contains(ClassName$a.SHOW)) {
4219
+ _proto.hide = function hide() {
4220
+ if (!this._element.classList.contains(CLASS_NAME_SHOW)) {
4276
4221
  return;
4277
4222
  }
4278
4223
 
4279
- $(this._element).trigger(Event$a.HIDE);
4224
+ var hideEvent = $__default["default"].Event(EVENT_HIDE);
4225
+ $__default["default"](this._element).trigger(hideEvent);
4280
4226
 
4281
- if (withoutTimeout) {
4282
- this._close();
4283
- } else {
4284
- this._timeout = setTimeout(function () {
4285
- _this2._close();
4286
- }, this._config.delay);
4227
+ if (hideEvent.isDefaultPrevented()) {
4228
+ return;
4287
4229
  }
4230
+
4231
+ this._close();
4288
4232
  };
4289
4233
 
4290
4234
  _proto.dispose = function dispose() {
4291
- clearTimeout(this._timeout);
4292
- this._timeout = null;
4235
+ this._clearTimeout();
4293
4236
 
4294
- if (this._element.classList.contains(ClassName$a.SHOW)) {
4295
- this._element.classList.remove(ClassName$a.SHOW);
4237
+ if (this._element.classList.contains(CLASS_NAME_SHOW)) {
4238
+ this._element.classList.remove(CLASS_NAME_SHOW);
4296
4239
  }
4297
4240
 
4298
- $(this._element).off(Event$a.CLICK_DISMISS);
4299
- $.removeData(this._element, DATA_KEY$a);
4241
+ $__default["default"](this._element).off(EVENT_CLICK_DISMISS);
4242
+ $__default["default"].removeData(this._element, DATA_KEY);
4300
4243
  this._element = null;
4301
4244
  this._config = null;
4302
4245
  } // Private
4303
4246
  ;
4304
4247
 
4305
4248
  _proto._getConfig = function _getConfig(config) {
4306
- config = _objectSpread({}, Default$7, $(this._element).data(), typeof config === 'object' && config ? config : {});
4307
- Util.typeCheckConfig(NAME$a, config, this.constructor.DefaultType);
4249
+ config = _extends({}, Default, $__default["default"](this._element).data(), typeof config === 'object' && config ? config : {});
4250
+ Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
4308
4251
  return config;
4309
4252
  };
4310
4253
 
4311
4254
  _proto._setListeners = function _setListeners() {
4312
- var _this3 = this;
4255
+ var _this2 = this;
4313
4256
 
4314
- $(this._element).on(Event$a.CLICK_DISMISS, Selector$a.DATA_DISMISS, function () {
4315
- return _this3.hide(true);
4257
+ $__default["default"](this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function () {
4258
+ return _this2.hide();
4316
4259
  });
4317
4260
  };
4318
4261
 
4319
4262
  _proto._close = function _close() {
4320
- var _this4 = this;
4263
+ var _this3 = this;
4321
4264
 
4322
4265
  var complete = function complete() {
4323
- _this4._element.classList.add(ClassName$a.HIDE);
4266
+ _this3._element.classList.add(CLASS_NAME_HIDE);
4324
4267
 
4325
- $(_this4._element).trigger(Event$a.HIDDEN);
4268
+ $__default["default"](_this3._element).trigger(EVENT_HIDDEN);
4326
4269
  };
4327
4270
 
4328
- this._element.classList.remove(ClassName$a.SHOW);
4271
+ this._element.classList.remove(CLASS_NAME_SHOW);
4329
4272
 
4330
4273
  if (this._config.animation) {
4331
4274
  var transitionDuration = Util.getTransitionDurationFromElement(this._element);
4332
- $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
4275
+ $__default["default"](this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
4333
4276
  } else {
4334
4277
  complete();
4335
4278
  }
4279
+ };
4280
+
4281
+ _proto._clearTimeout = function _clearTimeout() {
4282
+ clearTimeout(this._timeout);
4283
+ this._timeout = null;
4336
4284
  } // Static
4337
4285
  ;
4338
4286
 
4339
4287
  Toast._jQueryInterface = function _jQueryInterface(config) {
4340
4288
  return this.each(function () {
4341
- var $element = $(this);
4342
- var data = $element.data(DATA_KEY$a);
4289
+ var $element = $__default["default"](this);
4290
+ var data = $element.data(DATA_KEY);
4343
4291
 
4344
4292
  var _config = typeof config === 'object' && config;
4345
4293
 
4346
4294
  if (!data) {
4347
4295
  data = new Toast(this, _config);
4348
- $element.data(DATA_KEY$a, data);
4296
+ $element.data(DATA_KEY, data);
4349
4297
  }
4350
4298
 
4351
4299
  if (typeof config === 'string') {
@@ -4361,62 +4309,35 @@
4361
4309
  _createClass(Toast, null, [{
4362
4310
  key: "VERSION",
4363
4311
  get: function get() {
4364
- return VERSION$a;
4312
+ return VERSION;
4365
4313
  }
4366
4314
  }, {
4367
4315
  key: "DefaultType",
4368
4316
  get: function get() {
4369
- return DefaultType$7;
4317
+ return DefaultType;
4370
4318
  }
4371
4319
  }, {
4372
4320
  key: "Default",
4373
4321
  get: function get() {
4374
- return Default$7;
4322
+ return Default;
4375
4323
  }
4376
4324
  }]);
4377
4325
 
4378
4326
  return Toast;
4379
4327
  }();
4380
4328
  /**
4381
- * ------------------------------------------------------------------------
4382
4329
  * jQuery
4383
- * ------------------------------------------------------------------------
4384
4330
  */
4385
4331
 
4386
4332
 
4387
- $.fn[NAME$a] = Toast._jQueryInterface;
4388
- $.fn[NAME$a].Constructor = Toast;
4333
+ $__default["default"].fn[NAME] = Toast._jQueryInterface;
4334
+ $__default["default"].fn[NAME].Constructor = Toast;
4389
4335
 
4390
- $.fn[NAME$a].noConflict = function () {
4391
- $.fn[NAME$a] = JQUERY_NO_CONFLICT$a;
4336
+ $__default["default"].fn[NAME].noConflict = function () {
4337
+ $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
4392
4338
  return Toast._jQueryInterface;
4393
4339
  };
4394
4340
 
4395
- /**
4396
- * --------------------------------------------------------------------------
4397
- * Bootstrap (v4.3.1): index.js
4398
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
4399
- * --------------------------------------------------------------------------
4400
- */
4401
-
4402
- (function () {
4403
- if (typeof $ === 'undefined') {
4404
- throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.');
4405
- }
4406
-
4407
- var version = $.fn.jquery.split(' ')[0].split('.');
4408
- var minMajor = 1;
4409
- var ltMajor = 2;
4410
- var minMinor = 9;
4411
- var minPatch = 1;
4412
- var maxMajor = 4;
4413
-
4414
- if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
4415
- throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');
4416
- }
4417
- })();
4418
-
4419
- exports.Util = Util;
4420
4341
  exports.Alert = Alert;
4421
4342
  exports.Button = Button;
4422
4343
  exports.Carousel = Carousel;
@@ -4428,6 +4349,7 @@
4428
4349
  exports.Tab = Tab;
4429
4350
  exports.Toast = Toast;
4430
4351
  exports.Tooltip = Tooltip;
4352
+ exports.Util = Util;
4431
4353
 
4432
4354
  Object.defineProperty(exports, '__esModule', { value: true });
4433
4355