@coreui/coreui 4.2.2 → 4.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/README.md +1 -1
  2. package/dist/css/coreui-grid.css +61 -61
  3. package/dist/css/coreui-grid.css.map +1 -1
  4. package/dist/css/coreui-grid.min.css +1 -1
  5. package/dist/css/coreui-grid.min.css.map +1 -1
  6. package/dist/css/coreui-grid.rtl.css +62 -62
  7. package/dist/css/coreui-grid.rtl.css.map +1 -1
  8. package/dist/css/coreui-grid.rtl.min.css +2 -2
  9. package/dist/css/coreui-grid.rtl.min.css.map +1 -1
  10. package/dist/css/coreui-reboot.css +1 -1
  11. package/dist/css/coreui-reboot.css.map +1 -1
  12. package/dist/css/coreui-reboot.min.css +1 -1
  13. package/dist/css/coreui-reboot.min.css.map +1 -1
  14. package/dist/css/coreui-reboot.rtl.css +2 -2
  15. package/dist/css/coreui-reboot.rtl.css.map +1 -1
  16. package/dist/css/coreui-reboot.rtl.min.css +2 -2
  17. package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
  18. package/dist/css/coreui-utilities.css +72 -2
  19. package/dist/css/coreui-utilities.css.map +1 -1
  20. package/dist/css/coreui-utilities.min.css +2 -2
  21. package/dist/css/coreui-utilities.min.css.map +1 -1
  22. package/dist/css/coreui-utilities.rtl.css +73 -3
  23. package/dist/css/coreui-utilities.rtl.css.map +1 -1
  24. package/dist/css/coreui-utilities.rtl.min.css +3 -3
  25. package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
  26. package/dist/css/coreui.css +192 -208
  27. package/dist/css/coreui.css.map +1 -1
  28. package/dist/css/coreui.min.css +2 -2
  29. package/dist/css/coreui.min.css.map +1 -1
  30. package/dist/css/coreui.rtl.css +193 -169
  31. package/dist/css/coreui.rtl.css.map +1 -1
  32. package/dist/css/coreui.rtl.min.css +3 -3
  33. package/dist/css/coreui.rtl.min.css.map +1 -1
  34. package/dist/js/coreui.bundle.js +704 -1534
  35. package/dist/js/coreui.bundle.js.map +1 -1
  36. package/dist/js/coreui.bundle.min.js +2 -2
  37. package/dist/js/coreui.bundle.min.js.map +1 -1
  38. package/dist/js/coreui.esm.js +641 -1482
  39. package/dist/js/coreui.esm.js.map +1 -1
  40. package/dist/js/coreui.esm.min.js +2 -2
  41. package/dist/js/coreui.esm.min.js.map +1 -1
  42. package/dist/js/coreui.js +642 -1483
  43. package/dist/js/coreui.js.map +1 -1
  44. package/dist/js/coreui.min.js +2 -2
  45. package/dist/js/coreui.min.js.map +1 -1
  46. package/js/dist/alert.js +15 -21
  47. package/js/dist/alert.js.map +1 -1
  48. package/js/dist/base-component.js +14 -25
  49. package/js/dist/base-component.js.map +1 -1
  50. package/js/dist/button.js +13 -12
  51. package/js/dist/button.js.map +1 -1
  52. package/js/dist/carousel.js +27 -103
  53. package/js/dist/carousel.js.map +1 -1
  54. package/js/dist/collapse.js +27 -84
  55. package/js/dist/collapse.js.map +1 -1
  56. package/js/dist/dom/data.js +8 -12
  57. package/js/dist/dom/data.js.map +1 -1
  58. package/js/dist/dom/event-handler.js +32 -69
  59. package/js/dist/dom/event-handler.js.map +1 -1
  60. package/js/dist/dom/manipulator.js +4 -17
  61. package/js/dist/dom/manipulator.js.map +1 -1
  62. package/js/dist/dom/selector-engine.js +41 -24
  63. package/js/dist/dom/selector-engine.js.map +1 -1
  64. package/js/dist/dropdown.js +55 -118
  65. package/js/dist/dropdown.js.map +1 -1
  66. package/js/dist/modal.js +42 -109
  67. package/js/dist/modal.js.map +1 -1
  68. package/js/dist/navigation.js +27 -59
  69. package/js/dist/navigation.js.map +1 -1
  70. package/js/dist/offcanvas.js +26 -70
  71. package/js/dist/offcanvas.js.map +1 -1
  72. package/js/dist/popover.js +18 -21
  73. package/js/dist/popover.js.map +1 -1
  74. package/js/dist/scrollspy.js +43 -71
  75. package/js/dist/scrollspy.js.map +1 -1
  76. package/js/dist/sidebar.js +21 -65
  77. package/js/dist/sidebar.js.map +1 -1
  78. package/js/dist/tab.js +41 -105
  79. package/js/dist/tab.js.map +1 -1
  80. package/js/dist/toast.js +26 -60
  81. package/js/dist/toast.js.map +1 -1
  82. package/js/dist/tooltip.js +88 -201
  83. package/js/dist/tooltip.js.map +1 -1
  84. package/js/dist/util/backdrop.js +24 -43
  85. package/js/dist/util/backdrop.js.map +1 -1
  86. package/js/dist/util/component-functions.js +14 -12
  87. package/js/dist/util/component-functions.js.map +1 -1
  88. package/js/dist/util/config.js +14 -20
  89. package/js/dist/util/config.js.map +1 -1
  90. package/js/dist/util/focustrap.js +15 -23
  91. package/js/dist/util/focustrap.js.map +1 -1
  92. package/js/dist/util/index.js +41 -110
  93. package/js/dist/util/index.js.map +1 -1
  94. package/js/dist/util/sanitizer.js +10 -20
  95. package/js/dist/util/sanitizer.js.map +1 -1
  96. package/js/dist/util/scrollbar.js +20 -39
  97. package/js/dist/util/scrollbar.js.map +1 -1
  98. package/js/dist/util/swipe.js +19 -33
  99. package/js/dist/util/swipe.js.map +1 -1
  100. package/js/dist/util/template-factory.js +22 -42
  101. package/js/dist/util/template-factory.js.map +1 -1
  102. package/js/src/alert.js +5 -5
  103. package/js/src/base-component.js +6 -6
  104. package/js/src/button.js +4 -6
  105. package/js/src/carousel.js +8 -9
  106. package/js/src/collapse.js +9 -14
  107. package/js/src/dom/data.js +2 -2
  108. package/js/src/dom/event-handler.js +19 -16
  109. package/js/src/dom/manipulator.js +2 -2
  110. package/js/src/dom/selector-engine.js +49 -6
  111. package/js/src/dropdown.js +19 -9
  112. package/js/src/modal.js +26 -22
  113. package/js/src/navigation.js +7 -7
  114. package/js/src/offcanvas.js +11 -12
  115. package/js/src/popover.js +3 -3
  116. package/js/src/scrollspy.js +14 -10
  117. package/js/src/sidebar.js +7 -7
  118. package/js/src/tab.js +13 -23
  119. package/js/src/toast.js +13 -8
  120. package/js/src/tooltip.js +53 -75
  121. package/js/src/util/backdrop.js +7 -4
  122. package/js/src/util/component-functions.js +8 -4
  123. package/js/src/util/config.js +7 -5
  124. package/js/src/util/focustrap.js +7 -4
  125. package/js/src/util/index.js +21 -51
  126. package/js/src/util/sanitizer.js +4 -4
  127. package/js/src/util/scrollbar.js +7 -4
  128. package/js/src/util/swipe.js +7 -4
  129. package/js/src/util/template-factory.js +9 -6
  130. package/package.json +31 -30
  131. package/scss/_accordion.scss +7 -3
  132. package/scss/_button-group.scss +1 -1
  133. package/scss/_buttons.scss +31 -6
  134. package/scss/_carousel.scss +0 -3
  135. package/scss/_dropdown.scss +2 -1
  136. package/scss/_functions.scss +2 -2
  137. package/scss/_icon.scss +1 -1
  138. package/scss/_list-group.scss +6 -5
  139. package/scss/_modal.scss +1 -1
  140. package/scss/_nav.scss +2 -2
  141. package/scss/_navbar.scss +3 -1
  142. package/scss/_offcanvas.scss +5 -4
  143. package/scss/_pagination.scss +1 -1
  144. package/scss/_placeholders.scss +1 -1
  145. package/scss/_popover.scss +5 -5
  146. package/scss/_spinners.scss +2 -2
  147. package/scss/_toasts.scss +5 -2
  148. package/scss/_variables.scss +18 -16
  149. package/scss/coreui-grid.rtl.scss +1 -1
  150. package/scss/coreui-grid.scss +1 -1
  151. package/scss/coreui-reboot.rtl.scss +1 -1
  152. package/scss/coreui-reboot.scss +1 -1
  153. package/scss/coreui-utilities.rtl.scss +1 -1
  154. package/scss/coreui-utilities.scss +4 -1
  155. package/scss/coreui.rtl.scss +1 -1
  156. package/scss/coreui.scss +1 -1
  157. package/scss/forms/_floating-labels.scss +1 -0
  158. package/scss/forms/_input-group.scss +19 -8
  159. package/scss/helpers/_vr.scss +1 -1
  160. package/scss/mixins/_forms.scss +10 -11
  161. package/scss/mixins/_table-variants.scss +2 -2
  162. package/scss/mixins/_utilities.scss +1 -1
  163. package/scss/sidebar/_sidebar-nav.scss +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI sanitizer.js v4.2.2 (https://coreui.io)
2
+ * CoreUI sanitizer.js v4.2.3 (https://coreui.io)
3
3
  * Copyright 2022 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://coreui.io)
5
5
  */
@@ -11,45 +11,42 @@
11
11
 
12
12
  /**
13
13
  * --------------------------------------------------------------------------
14
- * CoreUI (v4.2.2): alert.js
14
+ * CoreUI (v4.2.3): tab.js
15
15
  * Licensed under MIT (https://coreui.io/license)
16
16
  *
17
- * This component is a modified version of the Bootstrap's util/sanitizer.js
17
+ * This is a modified version of the Bootstrap's util/sanitizer.js
18
18
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
19
19
  * --------------------------------------------------------------------------
20
20
  */
21
+
21
22
  const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);
22
23
  const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
24
+
23
25
  /**
24
26
  * A pattern that recognizes a commonly useful subset of URLs that are safe.
25
27
  *
26
- * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
28
+ * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
27
29
  */
28
-
29
30
  const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;
31
+
30
32
  /**
31
33
  * A pattern that matches safe data URLs. Only matches image, video and audio types.
32
34
  *
33
- * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
35
+ * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
34
36
  */
35
-
36
37
  const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
37
-
38
38
  const allowedAttribute = (attribute, allowedAttributeList) => {
39
39
  const attributeName = attribute.nodeName.toLowerCase();
40
-
41
40
  if (allowedAttributeList.includes(attributeName)) {
42
41
  if (uriAttributes.has(attributeName)) {
43
42
  return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue));
44
43
  }
45
-
46
44
  return true;
47
- } // Check if a regular expression validates the attribute.
48
-
45
+ }
49
46
 
47
+ // Check if a regular expression validates the attribute.
50
48
  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));
51
49
  };
52
-
53
50
  const DefaultAllowlist = {
54
51
  // Global attributes allowed on any supplied element below.
55
52
  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
@@ -87,33 +84,26 @@
87
84
  if (!unsafeHtml.length) {
88
85
  return unsafeHtml;
89
86
  }
90
-
91
87
  if (sanitizeFunction && typeof sanitizeFunction === 'function') {
92
88
  return sanitizeFunction(unsafeHtml);
93
89
  }
94
-
95
90
  const domParser = new window.DOMParser();
96
91
  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
97
92
  const elements = [].concat(...createdDocument.body.querySelectorAll('*'));
98
-
99
93
  for (const element of elements) {
100
94
  const elementName = element.nodeName.toLowerCase();
101
-
102
95
  if (!Object.keys(allowList).includes(elementName)) {
103
96
  element.remove();
104
97
  continue;
105
98
  }
106
-
107
99
  const attributeList = [].concat(...element.attributes);
108
100
  const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []);
109
-
110
101
  for (const attribute of attributeList) {
111
102
  if (!allowedAttribute(attribute, allowedAttributes)) {
112
103
  element.removeAttribute(attribute.nodeName);
113
104
  }
114
105
  }
115
106
  }
116
-
117
107
  return createdDocument.body.innerHTML;
118
108
  }
119
109
 
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizer.js","sources":["../../src/util/sanitizer.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.2): alert.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This component is a modified version of the Bootstrap's util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n"],"names":["uriAttributes","Set","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","toLowerCase","includes","has","Boolean","test","nodeValue","filter","attributeRegex","RegExp","some","regex","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","i","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","length","domParser","window","DOMParser","createdDocument","parseFromString","elements","concat","body","querySelectorAll","element","elementName","Object","keys","remove","attributeList","attributes","allowedAttributes","removeAttribute","innerHTML"],"mappings":"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"}
1
+ {"version":3,"file":"sanitizer.js","sources":["../../src/util/sanitizer.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.3): tab.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n"],"names":["uriAttributes","Set","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","toLowerCase","includes","has","Boolean","test","nodeValue","filter","attributeRegex","RegExp","some","regex","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","i","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","length","domParser","window","DOMParser","createdDocument","parseFromString","elements","concat","body","querySelectorAll","element","elementName","Object","keys","remove","attributeList","attributes","allowedAttributes","removeAttribute","innerHTML"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  /*!
2
- * CoreUI scrollbar.js v4.2.2 (https://coreui.io)
2
+ * CoreUI scrollbar.js v4.2.3 (https://coreui.io)
3
3
  * Copyright 2022 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://coreui.io)
5
5
  */
6
6
  (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/selector-engine'), require('../dom/manipulator'), require('./index')) :
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('../dom/selector-engine.js'), require('../dom/manipulator.js'), require('./index.js')) :
8
8
  typeof define === 'function' && define.amd ? define(['../dom/selector-engine', '../dom/manipulator', './index'], factory) :
9
9
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Scrollbar = factory(global.SelectorEngine, global.Manipulator, global.Index));
10
- })(this, (function (SelectorEngine, Manipulator, index) { 'use strict';
10
+ })(this, (function (SelectorEngine, Manipulator, index_js) { 'use strict';
11
11
 
12
12
  const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
13
13
 
@@ -16,10 +16,14 @@
16
16
 
17
17
  /**
18
18
  * --------------------------------------------------------------------------
19
- * Bootstrap (v5.2.0-beta1): util/scrollBar.js
19
+ * CoreUI (v4.2.3): tab.js
20
+ * Licensed under MIT (https://coreui.io/license)
21
+ *
22
+ * This is a modified version of the Bootstrap's util/scrollBar.js
20
23
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
21
24
  * --------------------------------------------------------------------------
22
25
  */
26
+
23
27
  /**
24
28
  * Constants
25
29
  */
@@ -28,6 +32,7 @@
28
32
  const SELECTOR_STICKY_CONTENT = '.sticky-top';
29
33
  const PROPERTY_PADDING = 'padding-right';
30
34
  const PROPERTY_MARGIN = 'margin-right';
35
+
31
36
  /**
32
37
  * Class definition
33
38
  */
@@ -35,102 +40,78 @@
35
40
  class ScrollBarHelper {
36
41
  constructor() {
37
42
  this._element = document.body;
38
- } // Public
39
-
43
+ }
40
44
 
45
+ // Public
41
46
  getWidth() {
42
47
  // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
43
48
  const documentWidth = document.documentElement.clientWidth;
44
49
  return Math.abs(window.innerWidth - documentWidth);
45
50
  }
46
-
47
51
  hide() {
48
52
  const width = this.getWidth();
49
-
50
- this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width
51
-
52
-
53
- this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth
54
-
55
-
53
+ this._disableOverFlow();
54
+ // give padding to element to balance the hidden scrollbar width
55
+ this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
56
+ // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth
56
57
  this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);
57
-
58
58
  this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);
59
59
  }
60
-
61
60
  reset() {
62
61
  this._resetElementAttributes(this._element, 'overflow');
63
-
64
62
  this._resetElementAttributes(this._element, PROPERTY_PADDING);
65
-
66
63
  this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);
67
-
68
64
  this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);
69
65
  }
70
-
71
66
  isOverflowing() {
72
67
  return this.getWidth() > 0;
73
- } // Private
74
-
68
+ }
75
69
 
70
+ // Private
76
71
  _disableOverFlow() {
77
72
  this._saveInitialAttribute(this._element, 'overflow');
78
-
79
73
  this._element.style.overflow = 'hidden';
80
74
  }
81
-
82
75
  _setElementAttributes(selector, styleProperty, callback) {
83
76
  const scrollbarWidth = this.getWidth();
84
-
85
77
  const manipulationCallBack = element => {
86
78
  if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {
87
79
  return;
88
80
  }
89
-
90
81
  this._saveInitialAttribute(element, styleProperty);
91
-
92
82
  const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);
93
83
  element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);
94
84
  };
95
-
96
85
  this._applyManipulationCallback(selector, manipulationCallBack);
97
86
  }
98
-
99
87
  _saveInitialAttribute(element, styleProperty) {
100
88
  const actualValue = element.style.getPropertyValue(styleProperty);
101
-
102
89
  if (actualValue) {
103
90
  Manipulator__default.default.setDataAttribute(element, styleProperty, actualValue);
104
91
  }
105
92
  }
106
-
107
93
  _resetElementAttributes(selector, styleProperty) {
108
94
  const manipulationCallBack = element => {
109
- const value = Manipulator__default.default.getDataAttribute(element, styleProperty); // We only want to remove the property if the value is `null`; the value can also be zero
110
-
95
+ const value = Manipulator__default.default.getDataAttribute(element, styleProperty);
96
+ // We only want to remove the property if the value is `null`; the value can also be zero
111
97
  if (value === null) {
112
98
  element.style.removeProperty(styleProperty);
113
99
  return;
114
100
  }
115
-
116
101
  Manipulator__default.default.removeDataAttribute(element, styleProperty);
117
102
  element.style.setProperty(styleProperty, value);
118
103
  };
119
-
120
104
  this._applyManipulationCallback(selector, manipulationCallBack);
121
105
  }
122
-
123
106
  _applyManipulationCallback(selector, callBack) {
124
- if (index.isElement(selector)) {
107
+ if (index_js.isElement(selector)) {
125
108
  callBack(selector);
126
109
  return;
127
110
  }
128
-
129
111
  for (const sel of SelectorEngine__default.default.find(selector, this._element)) {
130
112
  callBack(sel);
131
113
  }
132
114
  }
133
-
134
115
  }
135
116
 
136
117
  return ScrollBarHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"scrollbar.js","sources":["../../src/util/scrollbar.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.0-beta1): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine'\nimport Manipulator from '../dom/manipulator'\nimport { isElement } from './index'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n"],"names":["SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","constructor","_element","document","body","getWidth","documentWidth","documentElement","clientWidth","Math","abs","window","innerWidth","hide","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","style","overflow","selector","styleProperty","callback","scrollbarWidth","manipulationCallBack","element","getComputedStyle","getPropertyValue","setProperty","Number","parseFloat","_applyManipulationCallback","actualValue","Manipulator","setDataAttribute","value","getDataAttribute","removeProperty","removeDataAttribute","callBack","isElement","sel","SelectorEngine","find"],"mappings":"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"}
1
+ {"version":3,"file":"scrollbar.js","sources":["../../src/util/scrollbar.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.3): tab.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n"],"names":["SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","constructor","_element","document","body","getWidth","documentWidth","documentElement","clientWidth","Math","abs","window","innerWidth","hide","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","style","overflow","selector","styleProperty","callback","scrollbarWidth","manipulationCallBack","element","getComputedStyle","getPropertyValue","setProperty","Number","parseFloat","_applyManipulationCallback","actualValue","Manipulator","setDataAttribute","value","getDataAttribute","removeProperty","removeDataAttribute","callBack","isElement","sel","SelectorEngine","find"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  /*!
2
- * CoreUI swipe.js v4.2.2 (https://coreui.io)
2
+ * CoreUI swipe.js v4.2.3 (https://coreui.io)
3
3
  * Copyright 2022 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://coreui.io)
5
5
  */
6
6
  (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./config'), require('../dom/event-handler'), require('./index')) :
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./config.js'), require('../dom/event-handler.js'), require('./index.js')) :
8
8
  typeof define === 'function' && define.amd ? define(['./config', '../dom/event-handler', './index'], factory) :
9
9
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Swipe = factory(global.Config, global.EventHandler, global.Index));
10
- })(this, (function (Config, EventHandler, index) { 'use strict';
10
+ })(this, (function (Config, EventHandler, index_js) { 'use strict';
11
11
 
12
12
  const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
13
13
 
@@ -16,10 +16,14 @@
16
16
 
17
17
  /**
18
18
  * --------------------------------------------------------------------------
19
- * Bootstrap (v5.2.0-beta1): util/swipe.js
19
+ * CoreUI (v4.2.3): tab.js
20
+ * Licensed under MIT (https://coreui.io/license)
21
+ *
22
+ * This is a modified version of the Bootstrap's util/swipe.js
20
23
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
21
24
  * --------------------------------------------------------------------------
22
25
  */
26
+
23
27
  /**
24
28
  * Constants
25
29
  */
@@ -45,6 +49,7 @@
45
49
  leftCallback: '(function|null)',
46
50
  rightCallback: '(function|null)'
47
51
  };
52
+
48
53
  /**
49
54
  * Class definition
50
55
  */
@@ -53,84 +58,67 @@
53
58
  constructor(element, config) {
54
59
  super();
55
60
  this._element = element;
56
-
57
61
  if (!element || !Swipe.isSupported()) {
58
62
  return;
59
63
  }
60
-
61
64
  this._config = this._getConfig(config);
62
65
  this._deltaX = 0;
63
66
  this._supportPointerEvents = Boolean(window.PointerEvent);
64
-
65
67
  this._initEvents();
66
- } // Getters
67
-
68
+ }
68
69
 
70
+ // Getters
69
71
  static get Default() {
70
72
  return Default;
71
73
  }
72
-
73
74
  static get DefaultType() {
74
75
  return DefaultType;
75
76
  }
76
-
77
77
  static get NAME() {
78
78
  return NAME;
79
- } // Public
80
-
79
+ }
81
80
 
81
+ // Public
82
82
  dispose() {
83
83
  EventHandler__default.default.off(this._element, EVENT_KEY);
84
- } // Private
85
-
84
+ }
86
85
 
86
+ // Private
87
87
  _start(event) {
88
88
  if (!this._supportPointerEvents) {
89
89
  this._deltaX = event.touches[0].clientX;
90
90
  return;
91
91
  }
92
-
93
92
  if (this._eventIsPointerPenTouch(event)) {
94
93
  this._deltaX = event.clientX;
95
94
  }
96
95
  }
97
-
98
96
  _end(event) {
99
97
  if (this._eventIsPointerPenTouch(event)) {
100
98
  this._deltaX = event.clientX - this._deltaX;
101
99
  }
102
-
103
100
  this._handleSwipe();
104
-
105
- index.execute(this._config.endCallback);
101
+ index_js.execute(this._config.endCallback);
106
102
  }
107
-
108
103
  _move(event) {
109
104
  this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;
110
105
  }
111
-
112
106
  _handleSwipe() {
113
107
  const absDeltaX = Math.abs(this._deltaX);
114
-
115
108
  if (absDeltaX <= SWIPE_THRESHOLD) {
116
109
  return;
117
110
  }
118
-
119
111
  const direction = absDeltaX / this._deltaX;
120
112
  this._deltaX = 0;
121
-
122
113
  if (!direction) {
123
114
  return;
124
115
  }
125
-
126
- index.execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);
116
+ index_js.execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);
127
117
  }
128
-
129
118
  _initEvents() {
130
119
  if (this._supportPointerEvents) {
131
120
  EventHandler__default.default.on(this._element, EVENT_POINTERDOWN, event => this._start(event));
132
121
  EventHandler__default.default.on(this._element, EVENT_POINTERUP, event => this._end(event));
133
-
134
122
  this._element.classList.add(CLASS_NAME_POINTER_EVENT);
135
123
  } else {
136
124
  EventHandler__default.default.on(this._element, EVENT_TOUCHSTART, event => this._start(event));
@@ -138,16 +126,14 @@
138
126
  EventHandler__default.default.on(this._element, EVENT_TOUCHEND, event => this._end(event));
139
127
  }
140
128
  }
141
-
142
129
  _eventIsPointerPenTouch(event) {
143
130
  return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);
144
- } // Static
145
-
131
+ }
146
132
 
133
+ // Static
147
134
  static isSupported() {
148
135
  return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
149
136
  }
150
-
151
137
  }
152
138
 
153
139
  return Swipe;
@@ -1 +1 @@
1
- {"version":3,"file":"swipe.js","sources":["../../src/util/swipe.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.0-beta1): util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Config from './config'\nimport EventHandler from '../dom/event-handler'\nimport { execute } from './index'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.coreui.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n"],"names":["NAME","EVENT_KEY","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","Default","endCallback","leftCallback","rightCallback","DefaultType","Swipe","Config","constructor","element","config","_element","isSupported","_config","_getConfig","_deltaX","_supportPointerEvents","Boolean","window","PointerEvent","_initEvents","dispose","EventHandler","off","_start","event","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","execute","_move","length","absDeltaX","Math","abs","direction","on","classList","add","pointerType","document","documentElement","navigator","maxTouchPoints"],"mappings":"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"}
1
+ {"version":3,"file":"swipe.js","sources":["../../src/util/swipe.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI (v4.2.3): tab.js\n * Licensed under MIT (https://coreui.io/license)\n *\n * This is a modified version of the Bootstrap's util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Config from './config.js'\nimport EventHandler from '../dom/event-handler.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.coreui.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n"],"names":["NAME","EVENT_KEY","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","Default","endCallback","leftCallback","rightCallback","DefaultType","Swipe","Config","constructor","element","config","_element","isSupported","_config","_getConfig","_deltaX","_supportPointerEvents","Boolean","window","PointerEvent","_initEvents","dispose","EventHandler","off","_start","event","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","execute","_move","length","absDeltaX","Math","abs","direction","on","classList","add","pointerType","document","documentElement","navigator","maxTouchPoints"],"mappings":"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"}