administrate-bootstrap-theme 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +32 -11
  3. data/Rakefile +10 -14
  4. data/app/assets/config/administrate-bootstrap-theme_manifest.js +1 -0
  5. data/{node_modules/bootstrap/dist/js → app/assets/javascripts/administrate-bootstrap-theme/bootstrap}/bootstrap.bundle.js +0 -0
  6. data/app/assets/javascripts/administrate-bootstrap-theme/flatpickr/flatpickr.js +2673 -0
  7. data/app/assets/javascripts/administrate-bootstrap-theme/theme.js +22 -0
  8. data/app/assets/stylesheets/administrate-bootstrap-theme/_base.scss +7 -1
  9. data/app/assets/stylesheets/administrate-bootstrap-theme/_variables.scss +4 -1
  10. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_accordion.scss +0 -0
  11. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_alert.scss +0 -0
  12. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_badge.scss +0 -0
  13. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_breadcrumb.scss +0 -0
  14. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_button-group.scss +0 -0
  15. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_buttons.scss +0 -0
  16. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_card.scss +0 -0
  17. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_carousel.scss +0 -0
  18. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_close.scss +0 -0
  19. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_containers.scss +0 -0
  20. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_dropdown.scss +0 -0
  21. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_forms.scss +0 -0
  22. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_functions.scss +0 -0
  23. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_grid.scss +0 -0
  24. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_helpers.scss +0 -0
  25. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_images.scss +0 -0
  26. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_list-group.scss +0 -0
  27. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_mixins.scss +0 -0
  28. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_modal.scss +0 -0
  29. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_nav.scss +0 -0
  30. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_navbar.scss +0 -0
  31. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_offcanvas.scss +0 -0
  32. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_pagination.scss +0 -0
  33. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_popover.scss +0 -0
  34. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_progress.scss +0 -0
  35. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_reboot.scss +0 -0
  36. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_root.scss +0 -0
  37. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_spinners.scss +0 -0
  38. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_tables.scss +0 -0
  39. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_toasts.scss +0 -0
  40. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_tooltip.scss +0 -0
  41. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_transitions.scss +0 -0
  42. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_type.scss +0 -0
  43. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_utilities.scss +0 -0
  44. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/_variables.scss +0 -0
  45. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/bootstrap-grid.scss +0 -0
  46. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/bootstrap-reboot.scss +0 -0
  47. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/bootstrap-utilities.scss +0 -0
  48. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/bootstrap.scss +0 -0
  49. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/forms/_floating-labels.scss +0 -0
  50. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/forms/_form-check.scss +0 -0
  51. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/forms/_form-control.scss +0 -0
  52. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/forms/_form-range.scss +0 -0
  53. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/forms/_form-select.scss +0 -0
  54. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/forms/_form-text.scss +0 -0
  55. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/forms/_input-group.scss +0 -0
  56. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/forms/_labels.scss +0 -0
  57. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/forms/_validation.scss +0 -0
  58. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/helpers/_clearfix.scss +0 -0
  59. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/helpers/_colored-links.scss +0 -0
  60. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/helpers/_position.scss +0 -0
  61. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/helpers/_ratio.scss +0 -0
  62. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/helpers/_stretched-link.scss +0 -0
  63. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/helpers/_text-truncation.scss +0 -0
  64. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/helpers/_visually-hidden.scss +0 -0
  65. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_alert.scss +0 -0
  66. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_border-radius.scss +0 -0
  67. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_box-shadow.scss +0 -0
  68. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_breakpoints.scss +0 -0
  69. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_buttons.scss +0 -0
  70. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_caret.scss +0 -0
  71. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_clearfix.scss +0 -0
  72. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_container.scss +0 -0
  73. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_deprecate.scss +0 -0
  74. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_forms.scss +0 -0
  75. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_gradients.scss +0 -0
  76. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_grid.scss +0 -0
  77. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_image.scss +0 -0
  78. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_list-group.scss +0 -0
  79. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_lists.scss +0 -0
  80. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_pagination.scss +0 -0
  81. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_reset-text.scss +0 -0
  82. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_resize.scss +0 -0
  83. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_table-variants.scss +0 -0
  84. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_text-truncate.scss +0 -0
  85. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_transition.scss +0 -0
  86. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_utilities.scss +0 -0
  87. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/mixins/_visually-hidden.scss +0 -0
  88. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/utilities/_api.scss +0 -0
  89. data/{node_modules/bootstrap/scss → app/assets/stylesheets/administrate-bootstrap-theme/bootstrap}/vendor/_rfs.scss +0 -0
  90. data/app/assets/stylesheets/administrate-bootstrap-theme/components/_content_body.scss +17 -3
  91. data/app/assets/stylesheets/administrate-bootstrap-theme/components/_form.scss +46 -26
  92. data/app/assets/stylesheets/administrate-bootstrap-theme/components/_navigation.scss +1 -5
  93. data/app/assets/stylesheets/administrate-bootstrap-theme/flatpickr/flatpickr.css +791 -0
  94. data/app/assets/stylesheets/administrate-bootstrap-theme/theme.scss +23 -1
  95. data/lib/administrate-bootstrap-theme/version.rb +1 -1
  96. metadata +92 -203
  97. data/node_modules/bootstrap/LICENSE +0 -22
  98. data/node_modules/bootstrap/README.md +0 -239
  99. data/node_modules/bootstrap/dist/css/bootstrap-grid.css +0 -4997
  100. data/node_modules/bootstrap/dist/css/bootstrap-grid.css.map +0 -1
  101. data/node_modules/bootstrap/dist/css/bootstrap-grid.min.css +0 -7
  102. data/node_modules/bootstrap/dist/css/bootstrap-grid.min.css.map +0 -1
  103. data/node_modules/bootstrap/dist/css/bootstrap-grid.rtl.css +0 -4996
  104. data/node_modules/bootstrap/dist/css/bootstrap-grid.rtl.css.map +0 -1
  105. data/node_modules/bootstrap/dist/css/bootstrap-grid.rtl.min.css +0 -7
  106. data/node_modules/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map +0 -1
  107. data/node_modules/bootstrap/dist/css/bootstrap-reboot.css +0 -426
  108. data/node_modules/bootstrap/dist/css/bootstrap-reboot.css.map +0 -1
  109. data/node_modules/bootstrap/dist/css/bootstrap-reboot.min.css +0 -8
  110. data/node_modules/bootstrap/dist/css/bootstrap-reboot.min.css.map +0 -1
  111. data/node_modules/bootstrap/dist/css/bootstrap-reboot.rtl.css +0 -423
  112. data/node_modules/bootstrap/dist/css/bootstrap-reboot.rtl.css.map +0 -1
  113. data/node_modules/bootstrap/dist/css/bootstrap-reboot.rtl.min.css +0 -8
  114. data/node_modules/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map +0 -1
  115. data/node_modules/bootstrap/dist/css/bootstrap-utilities.css +0 -4752
  116. data/node_modules/bootstrap/dist/css/bootstrap-utilities.css.map +0 -1
  117. data/node_modules/bootstrap/dist/css/bootstrap-utilities.min.css +0 -7
  118. data/node_modules/bootstrap/dist/css/bootstrap-utilities.min.css.map +0 -1
  119. data/node_modules/bootstrap/dist/css/bootstrap-utilities.rtl.css +0 -4743
  120. data/node_modules/bootstrap/dist/css/bootstrap-utilities.rtl.css.map +0 -1
  121. data/node_modules/bootstrap/dist/css/bootstrap-utilities.rtl.min.css +0 -7
  122. data/node_modules/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map +0 -1
  123. data/node_modules/bootstrap/dist/css/bootstrap.css +0 -10819
  124. data/node_modules/bootstrap/dist/css/bootstrap.css.map +0 -1
  125. data/node_modules/bootstrap/dist/css/bootstrap.min.css +0 -7
  126. data/node_modules/bootstrap/dist/css/bootstrap.min.css.map +0 -1
  127. data/node_modules/bootstrap/dist/css/bootstrap.rtl.css +0 -10795
  128. data/node_modules/bootstrap/dist/css/bootstrap.rtl.css.map +0 -1
  129. data/node_modules/bootstrap/dist/css/bootstrap.rtl.min.css +0 -7
  130. data/node_modules/bootstrap/dist/css/bootstrap.rtl.min.css.map +0 -1
  131. data/node_modules/bootstrap/dist/js/bootstrap.bundle.js.map +0 -1
  132. data/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js +0 -7
  133. data/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js.map +0 -1
  134. data/node_modules/bootstrap/dist/js/bootstrap.esm.js +0 -4944
  135. data/node_modules/bootstrap/dist/js/bootstrap.esm.js.map +0 -1
  136. data/node_modules/bootstrap/dist/js/bootstrap.esm.min.js +0 -7
  137. data/node_modules/bootstrap/dist/js/bootstrap.esm.min.js.map +0 -1
  138. data/node_modules/bootstrap/dist/js/bootstrap.js +0 -4993
  139. data/node_modules/bootstrap/dist/js/bootstrap.js.map +0 -1
  140. data/node_modules/bootstrap/dist/js/bootstrap.min.js +0 -7
  141. data/node_modules/bootstrap/dist/js/bootstrap.min.js.map +0 -1
  142. data/node_modules/bootstrap/js/dist/alert.js +0 -264
  143. data/node_modules/bootstrap/js/dist/alert.js.map +0 -1
  144. data/node_modules/bootstrap/js/dist/base-component.js +0 -62
  145. data/node_modules/bootstrap/js/dist/base-component.js.map +0 -1
  146. data/node_modules/bootstrap/js/dist/button.js +0 -146
  147. data/node_modules/bootstrap/js/dist/button.js.map +0 -1
  148. data/node_modules/bootstrap/js/dist/carousel.js +0 -757
  149. data/node_modules/bootstrap/js/dist/carousel.js.map +0 -1
  150. data/node_modules/bootstrap/js/dist/collapse.js +0 -551
  151. data/node_modules/bootstrap/js/dist/collapse.js.map +0 -1
  152. data/node_modules/bootstrap/js/dist/dom/data.js +0 -69
  153. data/node_modules/bootstrap/js/dist/dom/data.js.map +0 -1
  154. data/node_modules/bootstrap/js/dist/dom/event-handler.js +0 -305
  155. data/node_modules/bootstrap/js/dist/dom/event-handler.js.map +0 -1
  156. data/node_modules/bootstrap/js/dist/dom/manipulator.js +0 -89
  157. data/node_modules/bootstrap/js/dist/dom/manipulator.js.map +0 -1
  158. data/node_modules/bootstrap/js/dist/dom/selector-engine.js +0 -86
  159. data/node_modules/bootstrap/js/dist/dom/selector-engine.js.map +0 -1
  160. data/node_modules/bootstrap/js/dist/dropdown.js +0 -662
  161. data/node_modules/bootstrap/js/dist/dropdown.js.map +0 -1
  162. data/node_modules/bootstrap/js/dist/modal.js +0 -752
  163. data/node_modules/bootstrap/js/dist/modal.js.map +0 -1
  164. data/node_modules/bootstrap/js/dist/offcanvas.js +0 -509
  165. data/node_modules/bootstrap/js/dist/offcanvas.js.map +0 -1
  166. data/node_modules/bootstrap/js/dist/popover.js +0 -216
  167. data/node_modules/bootstrap/js/dist/popover.js.map +0 -1
  168. data/node_modules/bootstrap/js/dist/scrollspy.js +0 -400
  169. data/node_modules/bootstrap/js/dist/scrollspy.js.map +0 -1
  170. data/node_modules/bootstrap/js/dist/tab.js +0 -347
  171. data/node_modules/bootstrap/js/dist/tab.js.map +0 -1
  172. data/node_modules/bootstrap/js/dist/toast.js +0 -335
  173. data/node_modules/bootstrap/js/dist/toast.js.map +0 -1
  174. data/node_modules/bootstrap/js/dist/tooltip.js +0 -1055
  175. data/node_modules/bootstrap/js/dist/tooltip.js.map +0 -1
  176. data/node_modules/bootstrap/js/src/alert.js +0 -141
  177. data/node_modules/bootstrap/js/src/base-component.js +0 -46
  178. data/node_modules/bootstrap/js/src/button.js +0 -95
  179. data/node_modules/bootstrap/js/src/carousel.js +0 -624
  180. data/node_modules/bootstrap/js/src/collapse.js +0 -410
  181. data/node_modules/bootstrap/js/src/dom/data.js +0 -57
  182. data/node_modules/bootstrap/js/src/dom/event-handler.js +0 -331
  183. data/node_modules/bootstrap/js/src/dom/manipulator.js +0 -80
  184. data/node_modules/bootstrap/js/src/dom/selector-engine.js +0 -75
  185. data/node_modules/bootstrap/js/src/dropdown.js +0 -543
  186. data/node_modules/bootstrap/js/src/modal.js +0 -582
  187. data/node_modules/bootstrap/js/src/offcanvas.js +0 -279
  188. data/node_modules/bootstrap/js/src/popover.js +0 -171
  189. data/node_modules/bootstrap/js/src/scrollspy.js +0 -319
  190. data/node_modules/bootstrap/js/src/tab.js +0 -220
  191. data/node_modules/bootstrap/js/src/toast.js +0 -219
  192. data/node_modules/bootstrap/js/src/tooltip.js +0 -802
  193. data/node_modules/bootstrap/js/src/util/index.js +0 -253
  194. data/node_modules/bootstrap/js/src/util/sanitizer.js +0 -127
  195. data/node_modules/bootstrap/js/src/util/scrollbar.js +0 -70
  196. data/node_modules/bootstrap/package.json +0 -177
@@ -1 +0,0 @@
1
- {"version":3,"file":"collapse.js","sources":["../src/util/index.js","../src/collapse.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = '#' + hrefAttr.split('#')[1]\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nexport {\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n defineJQueryPlugin,\n emulateTransitionEnd,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n isElement,\n reflow,\n typeCheckConfig\n} from './util/index'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._isTransitioning = false\n this._config = this._getConfig(config)\n this._triggerArray = SelectorEngine.find(\n `${SELECTOR_DATA_TOGGLE}[href=\"#${this._element.id}\"],` +\n `${SELECTOR_DATA_TOGGLE}[data-bs-target=\"#${this._element.id}\"]`\n )\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElem => foundElem === this._element)\n\n if (selector !== null && filterElement.length) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n // Public\n\n toggle() {\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent)\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-bs-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n const container = SelectorEngine.findOne(this._selector)\n if (actives) {\n const tempActiveData = actives.find(elem => container !== elem)\n activesData = tempActiveData ? Data.get(tempActiveData, DATA_KEY) : null\n\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n if (actives) {\n actives.forEach(elemActive => {\n if (container !== elemActive) {\n Collapse.collapseInterface(elemActive, 'hide')\n }\n\n if (!activesData) {\n Data.set(elemActive, DATA_KEY, null)\n }\n })\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n this._triggerArray.forEach(element => {\n element.classList.remove(CLASS_NAME_COLLAPSED)\n element.setAttribute('aria-expanded', true)\n })\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, 'transitionend', complete)\n\n emulateTransitionEnd(this._element, transitionDuration)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const elem = getElementFromSelector(trigger)\n\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\n trigger.classList.add(CLASS_NAME_COLLAPSED)\n trigger.setAttribute('aria-expanded', false)\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = getTransitionDurationFromElement(this._element)\n\n EventHandler.one(this._element, 'transitionend', complete)\n emulateTransitionEnd(this._element, transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n super.dispose()\n this._config = null\n this._parent = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT\n }\n\n _getParent() {\n let { parent } = this._config\n\n if (isElement(parent)) {\n // it's a jQuery object\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\n parent = parent[0]\n }\n } else {\n parent = SelectorEngine.findOne(parent)\n }\n\n const selector = `${SELECTOR_DATA_TOGGLE}[data-bs-parent=\"${parent}\"]`\n\n SelectorEngine.find(selector, parent)\n .forEach(element => {\n const selected = getElementFromSelector(element)\n\n this._addAriaAndCollapsedClass(\n selected,\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n if (!element || !triggerArray.length) {\n return\n }\n\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n triggerArray.forEach(elem => {\n if (isOpen) {\n elem.classList.remove(CLASS_NAME_COLLAPSED)\n } else {\n elem.classList.add(CLASS_NAME_COLLAPSED)\n }\n\n elem.setAttribute('aria-expanded', isOpen)\n })\n }\n\n // Static\n\n static collapseInterface(element, config) {\n let data = Data.get(element, DATA_KEY)\n const _config = {\n ...Default,\n ...Manipulator.getDataAttributes(element),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(element, _config)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Collapse.collapseInterface(this, config)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n const triggerData = Manipulator.getDataAttributes(this)\n const selector = getSelectorFromElement(this)\n const selectorElements = SelectorEngine.find(selector)\n\n selectorElements.forEach(element => {\n const data = Data.get(element, DATA_KEY)\n let config\n if (data) {\n // update parent attribute\n if (data._parent === null && typeof triggerData.parent === 'string') {\n data._config.parent = triggerData.parent\n data._parent = data._getParent()\n }\n\n config = 'toggle'\n } else {\n config = triggerData\n }\n\n Collapse.collapseInterface(element, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Collapse to jQuery only if jQuery is present\n */\n\ndefineJQueryPlugin(NAME, Collapse)\n\nexport default Collapse\n"],"names":["MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getSelectorFromElement","document","querySelector","getElementFromSelector","getTransitionDurationFromElement","transitionDuration","transitionDelay","window","getComputedStyle","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","TypeError","toUpperCase","reflow","offsetHeight","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","defineJQueryPlugin","name","plugin","$","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","toggle","parent","DefaultType","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","EVENT_CLICK_DATA_API","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","WIDTH","HEIGHT","SELECTOR_ACTIVES","SELECTOR_DATA_TOGGLE","Collapse","BaseComponent","constructor","_isTransitioning","_config","_getConfig","_triggerArray","SelectorEngine","find","_element","id","toggleList","i","len","length","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","classList","contains","hide","show","actives","activesData","container","findOne","tempActiveData","Data","get","startEvent","EventHandler","trigger","defaultPrevented","elemActive","collapseInterface","set","dimension","_getDimension","remove","add","style","setAttribute","setTransitioning","complete","capitalizedDimension","slice","scrollSize","one","getBoundingClientRect","triggerArrayLength","isTransitioning","dispose","Boolean","jquery","selected","triggerArray","isOpen","data","Manipulator","getDataAttributes","each","on","event","target","tagName","delegateTarget","preventDefault","triggerData","selectorElements"],"mappings":"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"}
@@ -1,69 +0,0 @@
1
- /*!
2
- * Bootstrap data.js v5.0.0-beta3 (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
- */
6
- (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
8
- typeof define === 'function' && define.amd ? define(factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Data = factory());
10
- }(this, (function () { 'use strict';
11
-
12
- /**
13
- * --------------------------------------------------------------------------
14
- * Bootstrap (v5.0.0-beta3): dom/data.js
15
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
16
- * --------------------------------------------------------------------------
17
- */
18
-
19
- /**
20
- * ------------------------------------------------------------------------
21
- * Constants
22
- * ------------------------------------------------------------------------
23
- */
24
- const elementMap = new Map();
25
- var data = {
26
- set(element, key, instance) {
27
- if (!elementMap.has(element)) {
28
- elementMap.set(element, new Map());
29
- }
30
-
31
- const instanceMap = elementMap.get(element); // make it clear we only want one instance per element
32
- // can be removed later when multiple key/instances are fine to be used
33
-
34
- if (!instanceMap.has(key) && instanceMap.size !== 0) {
35
- // eslint-disable-next-line no-console
36
- console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
37
- return;
38
- }
39
-
40
- instanceMap.set(key, instance);
41
- },
42
-
43
- get(element, key) {
44
- if (elementMap.has(element)) {
45
- return elementMap.get(element).get(key) || null;
46
- }
47
-
48
- return null;
49
- },
50
-
51
- remove(element, key) {
52
- if (!elementMap.has(element)) {
53
- return;
54
- }
55
-
56
- const instanceMap = elementMap.get(element);
57
- instanceMap.delete(key); // free up element references if there are no instances left for an element
58
-
59
- if (instanceMap.size === 0) {
60
- elementMap.delete(element);
61
- }
62
- }
63
-
64
- };
65
-
66
- return data;
67
-
68
- })));
69
- //# sourceMappingURL=data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data.js","sources":["../../src/dom/data.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EAEA,MAAMA,UAAU,GAAG,IAAIC,GAAJ,EAAnB;AAEA,aAAe;EACbC,EAAAA,GAAG,CAACC,OAAD,EAAUC,GAAV,EAAeC,QAAf,EAAyB;EAC1B,QAAI,CAACL,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5BH,MAAAA,UAAU,CAACE,GAAX,CAAeC,OAAf,EAAwB,IAAIF,GAAJ,EAAxB;EACD;;EAED,UAAMM,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB,CAL0B;EAQ1B;;EACA,QAAI,CAACI,WAAW,CAACD,GAAZ,CAAgBF,GAAhB,CAAD,IAAyBG,WAAW,CAACE,IAAZ,KAAqB,CAAlD,EAAqD;EACnD;EACAC,MAAAA,OAAO,CAACC,KAAR,CAAe,+EAA8EC,KAAK,CAACC,IAAN,CAAWN,WAAW,CAACO,IAAZ,EAAX,EAA+B,CAA/B,CAAkC,GAA/H;EACA;EACD;;EAEDP,IAAAA,WAAW,CAACL,GAAZ,CAAgBE,GAAhB,EAAqBC,QAArB;EACD,GAjBY;;EAmBbG,EAAAA,GAAG,CAACL,OAAD,EAAUC,GAAV,EAAe;EAChB,QAAIJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAJ,EAA6B;EAC3B,aAAOH,UAAU,CAACQ,GAAX,CAAeL,OAAf,EAAwBK,GAAxB,CAA4BJ,GAA5B,KAAoC,IAA3C;EACD;;EAED,WAAO,IAAP;EACD,GAzBY;;EA2BbW,EAAAA,MAAM,CAACZ,OAAD,EAAUC,GAAV,EAAe;EACnB,QAAI,CAACJ,UAAU,CAACM,GAAX,CAAeH,OAAf,CAAL,EAA8B;EAC5B;EACD;;EAED,UAAMI,WAAW,GAAGP,UAAU,CAACQ,GAAX,CAAeL,OAAf,CAApB;EAEAI,IAAAA,WAAW,CAACS,MAAZ,CAAmBZ,GAAnB,EAPmB;;EAUnB,QAAIG,WAAW,CAACE,IAAZ,KAAqB,CAAzB,EAA4B;EAC1BT,MAAAA,UAAU,CAACgB,MAAX,CAAkBb,OAAlB;EACD;EACF;;EAxCY,CAAf;;;;;;;;"}
@@ -1,305 +0,0 @@
1
- /*!
2
- * Bootstrap event-handler.js v5.0.0-beta3 (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
- */
6
- (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
8
- typeof define === 'function' && define.amd ? define(factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.EventHandler = factory());
10
- }(this, (function () { 'use strict';
11
-
12
- /**
13
- * --------------------------------------------------------------------------
14
- * Bootstrap (v5.0.0-beta3): util/index.js
15
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
16
- * --------------------------------------------------------------------------
17
- */
18
-
19
- const getjQuery = () => {
20
- const {
21
- jQuery
22
- } = window;
23
-
24
- if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
25
- return jQuery;
26
- }
27
-
28
- return null;
29
- };
30
-
31
- /**
32
- * --------------------------------------------------------------------------
33
- * Bootstrap (v5.0.0-beta3): dom/event-handler.js
34
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
35
- * --------------------------------------------------------------------------
36
- */
37
- /**
38
- * ------------------------------------------------------------------------
39
- * Constants
40
- * ------------------------------------------------------------------------
41
- */
42
-
43
- const namespaceRegex = /[^.]*(?=\..*)\.|.*/;
44
- const stripNameRegex = /\..*/;
45
- const stripUidRegex = /::\d+$/;
46
- const eventRegistry = {}; // Events storage
47
-
48
- let uidEvent = 1;
49
- const customEvents = {
50
- mouseenter: 'mouseover',
51
- mouseleave: 'mouseout'
52
- };
53
- const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);
54
- /**
55
- * ------------------------------------------------------------------------
56
- * Private methods
57
- * ------------------------------------------------------------------------
58
- */
59
-
60
- function getUidEvent(element, uid) {
61
- return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;
62
- }
63
-
64
- function getEvent(element) {
65
- const uid = getUidEvent(element);
66
- element.uidEvent = uid;
67
- eventRegistry[uid] = eventRegistry[uid] || {};
68
- return eventRegistry[uid];
69
- }
70
-
71
- function bootstrapHandler(element, fn) {
72
- return function handler(event) {
73
- event.delegateTarget = element;
74
-
75
- if (handler.oneOff) {
76
- EventHandler.off(element, event.type, fn);
77
- }
78
-
79
- return fn.apply(element, [event]);
80
- };
81
- }
82
-
83
- function bootstrapDelegationHandler(element, selector, fn) {
84
- return function handler(event) {
85
- const domElements = element.querySelectorAll(selector);
86
-
87
- for (let {
88
- target
89
- } = event; target && target !== this; target = target.parentNode) {
90
- for (let i = domElements.length; i--;) {
91
- if (domElements[i] === target) {
92
- event.delegateTarget = target;
93
-
94
- if (handler.oneOff) {
95
- // eslint-disable-next-line unicorn/consistent-destructuring
96
- EventHandler.off(element, event.type, fn);
97
- }
98
-
99
- return fn.apply(target, [event]);
100
- }
101
- }
102
- } // To please ESLint
103
-
104
-
105
- return null;
106
- };
107
- }
108
-
109
- function findHandler(events, handler, delegationSelector = null) {
110
- const uidEventList = Object.keys(events);
111
-
112
- for (let i = 0, len = uidEventList.length; i < len; i++) {
113
- const event = events[uidEventList[i]];
114
-
115
- if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {
116
- return event;
117
- }
118
- }
119
-
120
- return null;
121
- }
122
-
123
- function normalizeParams(originalTypeEvent, handler, delegationFn) {
124
- const delegation = typeof handler === 'string';
125
- const originalHandler = delegation ? delegationFn : handler; // allow to get the native events from namespaced events ('click.bs.button' --> 'click')
126
-
127
- let typeEvent = originalTypeEvent.replace(stripNameRegex, '');
128
- const custom = customEvents[typeEvent];
129
-
130
- if (custom) {
131
- typeEvent = custom;
132
- }
133
-
134
- const isNative = nativeEvents.has(typeEvent);
135
-
136
- if (!isNative) {
137
- typeEvent = originalTypeEvent;
138
- }
139
-
140
- return [delegation, originalHandler, typeEvent];
141
- }
142
-
143
- function addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {
144
- if (typeof originalTypeEvent !== 'string' || !element) {
145
- return;
146
- }
147
-
148
- if (!handler) {
149
- handler = delegationFn;
150
- delegationFn = null;
151
- }
152
-
153
- const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn);
154
- const events = getEvent(element);
155
- const handlers = events[typeEvent] || (events[typeEvent] = {});
156
- const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null);
157
-
158
- if (previousFn) {
159
- previousFn.oneOff = previousFn.oneOff && oneOff;
160
- return;
161
- }
162
-
163
- const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));
164
- const fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler);
165
- fn.delegationSelector = delegation ? handler : null;
166
- fn.originalHandler = originalHandler;
167
- fn.oneOff = oneOff;
168
- fn.uidEvent = uid;
169
- handlers[uid] = fn;
170
- element.addEventListener(typeEvent, fn, delegation);
171
- }
172
-
173
- function removeHandler(element, events, typeEvent, handler, delegationSelector) {
174
- const fn = findHandler(events[typeEvent], handler, delegationSelector);
175
-
176
- if (!fn) {
177
- return;
178
- }
179
-
180
- element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));
181
- delete events[typeEvent][fn.uidEvent];
182
- }
183
-
184
- function removeNamespacedHandlers(element, events, typeEvent, namespace) {
185
- const storeElementEvent = events[typeEvent] || {};
186
- Object.keys(storeElementEvent).forEach(handlerKey => {
187
- if (handlerKey.includes(namespace)) {
188
- const event = storeElementEvent[handlerKey];
189
- removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
190
- }
191
- });
192
- }
193
-
194
- const EventHandler = {
195
- on(element, event, handler, delegationFn) {
196
- addHandler(element, event, handler, delegationFn, false);
197
- },
198
-
199
- one(element, event, handler, delegationFn) {
200
- addHandler(element, event, handler, delegationFn, true);
201
- },
202
-
203
- off(element, originalTypeEvent, handler, delegationFn) {
204
- if (typeof originalTypeEvent !== 'string' || !element) {
205
- return;
206
- }
207
-
208
- const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn);
209
- const inNamespace = typeEvent !== originalTypeEvent;
210
- const events = getEvent(element);
211
- const isNamespace = originalTypeEvent.startsWith('.');
212
-
213
- if (typeof originalHandler !== 'undefined') {
214
- // Simplest case: handler is passed, remove that listener ONLY.
215
- if (!events || !events[typeEvent]) {
216
- return;
217
- }
218
-
219
- removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null);
220
- return;
221
- }
222
-
223
- if (isNamespace) {
224
- Object.keys(events).forEach(elementEvent => {
225
- removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));
226
- });
227
- }
228
-
229
- const storeElementEvent = events[typeEvent] || {};
230
- Object.keys(storeElementEvent).forEach(keyHandlers => {
231
- const handlerKey = keyHandlers.replace(stripUidRegex, '');
232
-
233
- if (!inNamespace || originalTypeEvent.includes(handlerKey)) {
234
- const event = storeElementEvent[keyHandlers];
235
- removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
236
- }
237
- });
238
- },
239
-
240
- trigger(element, event, args) {
241
- if (typeof event !== 'string' || !element) {
242
- return null;
243
- }
244
-
245
- const $ = getjQuery();
246
- const typeEvent = event.replace(stripNameRegex, '');
247
- const inNamespace = event !== typeEvent;
248
- const isNative = nativeEvents.has(typeEvent);
249
- let jQueryEvent;
250
- let bubbles = true;
251
- let nativeDispatch = true;
252
- let defaultPrevented = false;
253
- let evt = null;
254
-
255
- if (inNamespace && $) {
256
- jQueryEvent = $.Event(event, args);
257
- $(element).trigger(jQueryEvent);
258
- bubbles = !jQueryEvent.isPropagationStopped();
259
- nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();
260
- defaultPrevented = jQueryEvent.isDefaultPrevented();
261
- }
262
-
263
- if (isNative) {
264
- evt = document.createEvent('HTMLEvents');
265
- evt.initEvent(typeEvent, bubbles, true);
266
- } else {
267
- evt = new CustomEvent(event, {
268
- bubbles,
269
- cancelable: true
270
- });
271
- } // merge custom information in our event
272
-
273
-
274
- if (typeof args !== 'undefined') {
275
- Object.keys(args).forEach(key => {
276
- Object.defineProperty(evt, key, {
277
- get() {
278
- return args[key];
279
- }
280
-
281
- });
282
- });
283
- }
284
-
285
- if (defaultPrevented) {
286
- evt.preventDefault();
287
- }
288
-
289
- if (nativeDispatch) {
290
- element.dispatchEvent(evt);
291
- }
292
-
293
- if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {
294
- jQueryEvent.preventDefault();
295
- }
296
-
297
- return evt;
298
- }
299
-
300
- };
301
-
302
- return EventHandler;
303
-
304
- })));
305
- //# sourceMappingURL=event-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-handler.js","sources":["../../src/util/index.js","../../src/dom/event-handler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n if (obj === null || obj === undefined) {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttr = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttr || (!hrefAttr.includes('#') && !hrefAttr.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {\n hrefAttr = '#' + hrefAttr.split('#')[1]\n }\n\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n }\n\n return selector\n}\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element)\n\n if (selector) {\n return document.querySelector(selector) ? selector : null\n }\n\n return null\n}\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element)\n\n return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n let called = false\n const durationPadding = 5\n const emulatedDuration = duration + durationPadding\n\n function listener() {\n called = true\n element.removeEventListener(TRANSITION_END, listener)\n }\n\n element.addEventListener(TRANSITION_END, listener)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(element)\n }\n }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n Object.keys(configTypes).forEach(property => {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`\n )\n }\n })\n}\n\nconst isVisible = element => {\n if (!element) {\n return false\n }\n\n if (element.style && element.parentNode && element.parentNode.style) {\n const elementStyle = getComputedStyle(element)\n const parentNodeStyle = getComputedStyle(element.parentNode)\n\n return elementStyle.display !== 'none' &&\n parentNodeStyle.display !== 'none' &&\n elementStyle.visibility !== 'hidden'\n }\n\n return false\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n const { jQuery } = window\n\n if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return jQuery\n }\n\n return null\n}\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = (name, plugin) => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nexport {\n getUID,\n getSelectorFromElement,\n getElementFromSelector,\n getTransitionDurationFromElement,\n triggerTransitionEnd,\n isElement,\n emulateTransitionEnd,\n typeCheckConfig,\n isVisible,\n isDisabled,\n findShadowRoot,\n noop,\n reflow,\n getjQuery,\n onDOMContentLoaded,\n isRTL,\n defineJQueryPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-beta3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * ------------------------------------------------------------------------\n * Private methods\n * ------------------------------------------------------------------------\n */\n\nfunction getUidEvent(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getEvent(element) {\n const uid = getUidEvent(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n event.delegateTarget = element\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (let i = domElements.length; i--;) {\n if (domElements[i] === target) {\n event.delegateTarget = target\n\n if (handler.oneOff) {\n // eslint-disable-next-line unicorn/consistent-destructuring\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n\n // To please ESLint\n return null\n }\n}\n\nfunction findHandler(events, handler, delegationSelector = null) {\n const uidEventList = Object.keys(events)\n\n for (let i = 0, len = uidEventList.length; i < len; i++) {\n const event = events[uidEventList[i]]\n\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\n return event\n }\n }\n\n return null\n}\n\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\n const delegation = typeof handler === 'string'\n const originalHandler = delegation ? delegationFn : handler\n\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '')\n const custom = customEvents[typeEvent]\n\n if (custom) {\n typeEvent = custom\n }\n\n const isNative = nativeEvents.has(typeEvent)\n\n if (!isNative) {\n typeEvent = originalTypeEvent\n }\n\n return [delegation, originalHandler, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n if (!handler) {\n handler = delegationFn\n delegationFn = null\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const events = getEvent(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null)\n\n if (previousFn) {\n previousFn.oneOff = previousFn.oneOff && oneOff\n\n return\n }\n\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = delegation ?\n bootstrapDelegationHandler(element, handler, delegationFn) :\n bootstrapHandler(element, handler)\n\n fn.delegationSelector = delegation ? handler : null\n fn.originalHandler = originalHandler\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, delegation)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n Object.keys(storeElementEvent).forEach(handlerKey => {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, false)\n },\n\n one(element, event, handler, delegationFn) {\n addHandler(element, event, handler, delegationFn, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFn) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getEvent(element)\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof originalHandler !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!events || !events[typeEvent]) {\n return\n }\n\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null)\n return\n }\n\n if (isNamespace) {\n Object.keys(events).forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent).forEach(keyHandlers => {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers]\n\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector)\n }\n })\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = event.replace(stripNameRegex, '')\n const inNamespace = event !== typeEvent\n const isNative = nativeEvents.has(typeEvent)\n\n let jQueryEvent\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n let evt = null\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n if (isNative) {\n evt = document.createEvent('HTMLEvents')\n evt.initEvent(typeEvent, bubbles, true)\n } else {\n evt = new CustomEvent(event, {\n bubbles,\n cancelable: true\n })\n }\n\n // merge custom information in our event\n if (typeof args !== 'undefined') {\n Object.keys(args).forEach(key => {\n Object.defineProperty(evt, key, {\n get() {\n return args[key]\n }\n })\n })\n }\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nexport default EventHandler\n"],"names":["getjQuery","jQuery","window","document","body","hasAttribute","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","getUidEvent","element","uid","getEvent","bootstrapHandler","fn","handler","event","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","i","length","findHandler","events","delegationSelector","uidEventList","Object","keys","len","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","replace","custom","isNative","has","addHandler","handlers","previousFn","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","forEach","handlerKey","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","trigger","args","$","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","Event","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","key","defineProperty","get","preventDefault","dispatchEvent"],"mappings":"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"}
@@ -1,89 +0,0 @@
1
- /*!
2
- * Bootstrap manipulator.js v5.0.0-beta3 (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
- */
6
- (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
8
- typeof define === 'function' && define.amd ? define(factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Manipulator = factory());
10
- }(this, (function () { 'use strict';
11
-
12
- /**
13
- * --------------------------------------------------------------------------
14
- * Bootstrap (v5.0.0-beta3): dom/manipulator.js
15
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
16
- * --------------------------------------------------------------------------
17
- */
18
- function normalizeData(val) {
19
- if (val === 'true') {
20
- return true;
21
- }
22
-
23
- if (val === 'false') {
24
- return false;
25
- }
26
-
27
- if (val === Number(val).toString()) {
28
- return Number(val);
29
- }
30
-
31
- if (val === '' || val === 'null') {
32
- return null;
33
- }
34
-
35
- return val;
36
- }
37
-
38
- function normalizeDataKey(key) {
39
- return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);
40
- }
41
-
42
- const Manipulator = {
43
- setDataAttribute(element, key, value) {
44
- element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);
45
- },
46
-
47
- removeDataAttribute(element, key) {
48
- element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);
49
- },
50
-
51
- getDataAttributes(element) {
52
- if (!element) {
53
- return {};
54
- }
55
-
56
- const attributes = {};
57
- Object.keys(element.dataset).filter(key => key.startsWith('bs')).forEach(key => {
58
- let pureKey = key.replace(/^bs/, '');
59
- pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
60
- attributes[pureKey] = normalizeData(element.dataset[key]);
61
- });
62
- return attributes;
63
- },
64
-
65
- getDataAttribute(element, key) {
66
- return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));
67
- },
68
-
69
- offset(element) {
70
- const rect = element.getBoundingClientRect();
71
- return {
72
- top: rect.top + document.body.scrollTop,
73
- left: rect.left + document.body.scrollLeft
74
- };
75
- },
76
-
77
- position(element) {
78
- return {
79
- top: element.offsetTop,
80
- left: element.offsetLeft
81
- };
82
- }
83
-
84
- };
85
-
86
- return Manipulator;
87
-
88
- })));
89
- //# sourceMappingURL=manipulator.js.map