@tabler/core 1.0.0-beta11 → 1.0.0-beta13

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 (250) hide show
  1. package/README.md +33 -10
  2. package/dist/css/demo.css +43 -231
  3. package/dist/css/demo.min.css +3 -3
  4. package/dist/css/demo.rtl.css +43 -231
  5. package/dist/css/demo.rtl.min.css +3 -3
  6. package/dist/css/tabler-flags.css +4 -4
  7. package/dist/css/tabler-flags.min.css +3 -3
  8. package/dist/css/tabler-flags.rtl.css +4 -4
  9. package/dist/css/tabler-flags.rtl.min.css +3 -3
  10. package/dist/css/tabler-payments.css +2 -2
  11. package/dist/css/tabler-payments.min.css +2 -2
  12. package/dist/css/tabler-payments.rtl.css +2 -2
  13. package/dist/css/tabler-payments.rtl.min.css +2 -2
  14. package/dist/css/tabler-vendors.css +138 -67
  15. package/dist/css/tabler-vendors.min.css +3 -3
  16. package/dist/css/tabler-vendors.rtl.css +138 -67
  17. package/dist/css/tabler-vendors.rtl.min.css +3 -3
  18. package/dist/css/tabler.css +3234 -2860
  19. package/dist/css/tabler.min.css +4 -4
  20. package/dist/css/tabler.rtl.css +3234 -2860
  21. package/dist/css/tabler.rtl.min.css +4 -4
  22. package/dist/js/demo-theme.js +32 -0
  23. package/dist/js/demo-theme.min.js +9 -0
  24. package/dist/js/demo.js +2 -12
  25. package/dist/js/demo.min.js +3 -3
  26. package/dist/js/tabler.esm.js +219 -129
  27. package/dist/js/tabler.esm.min.js +9 -3
  28. package/dist/js/tabler.js +242 -130
  29. package/dist/js/tabler.min.js +9 -3
  30. package/dist/libs/apexcharts/dist/apexcharts.amd.js +1 -1
  31. package/dist/libs/apexcharts/dist/apexcharts.common.js +3 -3
  32. package/dist/libs/apexcharts/dist/apexcharts.esm.js +3 -3
  33. package/dist/libs/apexcharts/dist/apexcharts.js +27 -8
  34. package/dist/libs/apexcharts/dist/apexcharts.min.js +3 -3
  35. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.js +162 -144
  36. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.js.map +1 -1
  37. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js +2 -2
  38. package/dist/libs/bootstrap/dist/js/bootstrap.bundle.min.js.map +1 -1
  39. package/dist/libs/bootstrap/dist/js/bootstrap.esm.js +101 -94
  40. package/dist/libs/bootstrap/dist/js/bootstrap.esm.js.map +1 -1
  41. package/dist/libs/bootstrap/dist/js/bootstrap.esm.min.js +2 -2
  42. package/dist/libs/bootstrap/dist/js/bootstrap.esm.min.js.map +1 -1
  43. package/dist/libs/bootstrap/dist/js/bootstrap.js +102 -95
  44. package/dist/libs/bootstrap/dist/js/bootstrap.js.map +1 -1
  45. package/dist/libs/bootstrap/dist/js/bootstrap.min.js +2 -2
  46. package/dist/libs/bootstrap/dist/js/bootstrap.min.js.map +1 -1
  47. package/dist/libs/jsvectormap/dist/js/jsvectormap.js +1061 -1066
  48. package/dist/libs/jsvectormap/dist/js/jsvectormap.min.js +1 -1
  49. package/dist/libs/nouislider/dist/nouislider.d.ts +1 -1
  50. package/dist/libs/tinymce/CHANGELOG.md +45 -0
  51. package/dist/libs/tinymce/composer.json +1 -1
  52. package/dist/libs/tinymce/icons/default/icons.js +2 -0
  53. package/dist/libs/tinymce/icons/default/icons.min.js +1 -1
  54. package/dist/libs/tinymce/models/dom/model.js +14 -10
  55. package/dist/libs/tinymce/models/dom/model.min.js +2 -2
  56. package/dist/libs/tinymce/package.json +1 -1
  57. package/dist/libs/tinymce/plugins/advlist/plugin.js +16 -9
  58. package/dist/libs/tinymce/plugins/advlist/plugin.min.js +2 -2
  59. package/dist/libs/tinymce/plugins/anchor/plugin.js +7 -6
  60. package/dist/libs/tinymce/plugins/anchor/plugin.min.js +2 -2
  61. package/dist/libs/tinymce/plugins/autolink/plugin.js +93 -97
  62. package/dist/libs/tinymce/plugins/autolink/plugin.min.js +2 -2
  63. package/dist/libs/tinymce/plugins/autoresize/plugin.js +3 -2
  64. package/dist/libs/tinymce/plugins/autoresize/plugin.min.js +2 -2
  65. package/dist/libs/tinymce/plugins/autosave/plugin.js +11 -10
  66. package/dist/libs/tinymce/plugins/autosave/plugin.min.js +2 -2
  67. package/dist/libs/tinymce/plugins/charmap/plugin.js +17 -7
  68. package/dist/libs/tinymce/plugins/charmap/plugin.min.js +2 -2
  69. package/dist/libs/tinymce/plugins/code/plugin.js +1 -1
  70. package/dist/libs/tinymce/plugins/code/plugin.min.js +1 -1
  71. package/dist/libs/tinymce/plugins/codesample/plugin.js +4 -6
  72. package/dist/libs/tinymce/plugins/codesample/plugin.min.js +2 -2
  73. package/dist/libs/tinymce/plugins/directionality/plugin.js +1 -1
  74. package/dist/libs/tinymce/plugins/directionality/plugin.min.js +1 -1
  75. package/dist/libs/tinymce/plugins/emoticons/plugin.js +10 -4
  76. package/dist/libs/tinymce/plugins/emoticons/plugin.min.js +2 -2
  77. package/dist/libs/tinymce/plugins/fullscreen/plugin.js +11 -5
  78. package/dist/libs/tinymce/plugins/fullscreen/plugin.min.js +2 -2
  79. package/dist/libs/tinymce/plugins/help/plugin.js +92 -19
  80. package/dist/libs/tinymce/plugins/help/plugin.min.js +2 -2
  81. package/dist/libs/tinymce/plugins/image/plugin.js +50 -37
  82. package/dist/libs/tinymce/plugins/image/plugin.min.js +2 -2
  83. package/dist/libs/tinymce/plugins/importcss/plugin.js +8 -6
  84. package/dist/libs/tinymce/plugins/importcss/plugin.min.js +2 -2
  85. package/dist/libs/tinymce/plugins/insertdatetime/plugin.js +2 -3
  86. package/dist/libs/tinymce/plugins/insertdatetime/plugin.min.js +2 -2
  87. package/dist/libs/tinymce/plugins/link/plugin.js +57 -43
  88. package/dist/libs/tinymce/plugins/link/plugin.min.js +2 -2
  89. package/dist/libs/tinymce/plugins/lists/plugin.js +120 -74
  90. package/dist/libs/tinymce/plugins/lists/plugin.min.js +2 -2
  91. package/dist/libs/tinymce/plugins/media/plugin.js +39 -24
  92. package/dist/libs/tinymce/plugins/media/plugin.min.js +2 -2
  93. package/dist/libs/tinymce/plugins/nonbreaking/plugin.js +1 -1
  94. package/dist/libs/tinymce/plugins/nonbreaking/plugin.min.js +1 -1
  95. package/dist/libs/tinymce/plugins/pagebreak/plugin.js +2 -2
  96. package/dist/libs/tinymce/plugins/pagebreak/plugin.min.js +2 -2
  97. package/dist/libs/tinymce/plugins/preview/plugin.js +1 -1
  98. package/dist/libs/tinymce/plugins/preview/plugin.min.js +1 -1
  99. package/dist/libs/tinymce/plugins/quickbars/plugin.js +3 -2
  100. package/dist/libs/tinymce/plugins/quickbars/plugin.min.js +2 -2
  101. package/dist/libs/tinymce/plugins/save/plugin.js +1 -1
  102. package/dist/libs/tinymce/plugins/save/plugin.min.js +1 -1
  103. package/dist/libs/tinymce/plugins/searchreplace/plugin.js +13 -13
  104. package/dist/libs/tinymce/plugins/searchreplace/plugin.min.js +2 -2
  105. package/dist/libs/tinymce/plugins/table/plugin.js +42 -37
  106. package/dist/libs/tinymce/plugins/table/plugin.min.js +2 -2
  107. package/dist/libs/tinymce/plugins/template/plugin.js +7 -4
  108. package/dist/libs/tinymce/plugins/template/plugin.min.js +2 -2
  109. package/dist/libs/tinymce/plugins/visualblocks/plugin.js +1 -1
  110. package/dist/libs/tinymce/plugins/visualblocks/plugin.min.js +1 -1
  111. package/dist/libs/tinymce/plugins/visualchars/plugin.js +9 -6
  112. package/dist/libs/tinymce/plugins/visualchars/plugin.min.js +2 -2
  113. package/dist/libs/tinymce/plugins/wordcount/plugin.js +6 -5
  114. package/dist/libs/tinymce/plugins/wordcount/plugin.min.js +2 -2
  115. package/dist/libs/tinymce/skins/ui/oxide/content.css +28 -0
  116. package/dist/libs/tinymce/skins/ui/oxide/content.inline.css +28 -0
  117. package/dist/libs/tinymce/skins/ui/oxide/content.inline.min.css +1 -1
  118. package/dist/libs/tinymce/skins/ui/oxide/content.min.css +1 -1
  119. package/dist/libs/tinymce/skins/ui/oxide/skin.css +39 -4
  120. package/dist/libs/tinymce/skins/ui/oxide/skin.min.css +1 -1
  121. package/dist/libs/tinymce/skins/ui/oxide-dark/content.css +28 -0
  122. package/dist/libs/tinymce/skins/ui/oxide-dark/content.inline.css +28 -0
  123. package/dist/libs/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -1
  124. package/dist/libs/tinymce/skins/ui/oxide-dark/content.min.css +1 -1
  125. package/dist/libs/tinymce/skins/ui/oxide-dark/skin.css +39 -4
  126. package/dist/libs/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
  127. package/dist/libs/tinymce/skins/ui/tinymce-5/content.css +28 -0
  128. package/dist/libs/tinymce/skins/ui/tinymce-5/content.inline.css +28 -0
  129. package/dist/libs/tinymce/skins/ui/tinymce-5/content.inline.min.css +1 -1
  130. package/dist/libs/tinymce/skins/ui/tinymce-5/content.min.css +1 -1
  131. package/dist/libs/tinymce/skins/ui/tinymce-5/skin.css +45 -4
  132. package/dist/libs/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
  133. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.css +28 -0
  134. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.inline.css +28 -0
  135. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +1 -1
  136. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/content.min.css +1 -1
  137. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/skin.css +44 -3
  138. package/dist/libs/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
  139. package/dist/libs/tinymce/themes/silver/theme.js +2494 -1999
  140. package/dist/libs/tinymce/themes/silver/theme.min.js +2 -2
  141. package/dist/libs/tinymce/tinymce.d.ts +345 -169
  142. package/dist/libs/tinymce/tinymce.js +2988 -2392
  143. package/dist/libs/tinymce/tinymce.min.js +2 -2
  144. package/dist/libs/tom-select/dist/js/plugins/caret_position.js +164 -160
  145. package/dist/libs/tom-select/dist/js/plugins/caret_position.js.map +1 -1
  146. package/dist/libs/tom-select/dist/js/plugins/change_listener.js +1 -1
  147. package/dist/libs/tom-select/dist/js/plugins/change_listener.js.map +1 -1
  148. package/dist/libs/tom-select/dist/js/plugins/checkbox_options.js +12 -7
  149. package/dist/libs/tom-select/dist/js/plugins/checkbox_options.js.map +1 -1
  150. package/dist/libs/tom-select/dist/js/plugins/clear_button.js +94 -89
  151. package/dist/libs/tom-select/dist/js/plugins/clear_button.js.map +1 -1
  152. package/dist/libs/tom-select/dist/js/plugins/drag_drop.js +1 -1
  153. package/dist/libs/tom-select/dist/js/plugins/drag_drop.js.map +1 -1
  154. package/dist/libs/tom-select/dist/js/plugins/dropdown_header.js +121 -116
  155. package/dist/libs/tom-select/dist/js/plugins/dropdown_header.js.map +1 -1
  156. package/dist/libs/tom-select/dist/js/plugins/dropdown_input.js +234 -230
  157. package/dist/libs/tom-select/dist/js/plugins/dropdown_input.js.map +1 -1
  158. package/dist/libs/tom-select/dist/js/plugins/input_autogrow.js +1 -1
  159. package/dist/libs/tom-select/dist/js/plugins/input_autogrow.js.map +1 -1
  160. package/dist/libs/tom-select/dist/js/plugins/no_active_items.js +1 -1
  161. package/dist/libs/tom-select/dist/js/plugins/no_active_items.js.map +1 -1
  162. package/dist/libs/tom-select/dist/js/plugins/no_backspace_delete.js +1 -1
  163. package/dist/libs/tom-select/dist/js/plugins/no_backspace_delete.js.map +1 -1
  164. package/dist/libs/tom-select/dist/js/plugins/optgroup_columns.js +112 -107
  165. package/dist/libs/tom-select/dist/js/plugins/optgroup_columns.js.map +1 -1
  166. package/dist/libs/tom-select/dist/js/plugins/remove_button.js +149 -144
  167. package/dist/libs/tom-select/dist/js/plugins/remove_button.js.map +1 -1
  168. package/dist/libs/tom-select/dist/js/plugins/restore_on_backspace.js +1 -1
  169. package/dist/libs/tom-select/dist/js/plugins/restore_on_backspace.js.map +1 -1
  170. package/dist/libs/tom-select/dist/js/plugins/virtual_scroll.js +277 -269
  171. package/dist/libs/tom-select/dist/js/plugins/virtual_scroll.js.map +1 -1
  172. package/dist/libs/tom-select/dist/js/tom-select.base.js +756 -272
  173. package/dist/libs/tom-select/dist/js/tom-select.base.js.map +1 -1
  174. package/dist/libs/tom-select/dist/js/tom-select.base.min.js +329 -272
  175. package/dist/libs/tom-select/dist/js/tom-select.base.min.js.map +1 -1
  176. package/dist/libs/tom-select/dist/js/tom-select.complete.js +761 -273
  177. package/dist/libs/tom-select/dist/js/tom-select.complete.js.map +1 -1
  178. package/dist/libs/tom-select/dist/js/tom-select.complete.min.js +268 -209
  179. package/dist/libs/tom-select/dist/js/tom-select.complete.min.js.map +1 -1
  180. package/dist/libs/tom-select/dist/js/tom-select.popular.js +753 -269
  181. package/dist/libs/tom-select/dist/js/tom-select.popular.js.map +1 -1
  182. package/dist/libs/tom-select/dist/js/tom-select.popular.min.js +348 -291
  183. package/dist/libs/tom-select/dist/js/tom-select.popular.min.js.map +1 -1
  184. package/package.json +78 -34
  185. package/src/js/demo-theme.js +25 -0
  186. package/src/js/demo.js +0 -17
  187. package/src/js/src/dropdown.js +5 -2
  188. package/src/js/src/tabler.js +17 -0
  189. package/src/js/tabler.js +3 -1
  190. package/src/scss/_core.scss +2 -0
  191. package/src/scss/_mixins-override.scss +26 -26
  192. package/src/scss/_utilities.scss +2 -4
  193. package/src/scss/_variables.scss +311 -168
  194. package/src/scss/demo/_examples.scss +2 -2
  195. package/src/scss/demo/_highlight.scss +14 -278
  196. package/src/scss/demo.scss +4 -4
  197. package/src/scss/fonts/_webfonts.scss +0 -50
  198. package/src/scss/layout/_core.scss +2 -23
  199. package/src/scss/layout/_dark.scss +27 -38
  200. package/src/scss/layout/_footer.scss +2 -2
  201. package/src/scss/layout/_navbar.scss +23 -19
  202. package/src/scss/layout/_page.scss +9 -7
  203. package/src/scss/layout/_root.scss +48 -0
  204. package/src/scss/mixins/_functions.scss +2 -2
  205. package/src/scss/mixins/_mixins.scss +10 -8
  206. package/src/scss/ui/_accordion.scss +1 -1
  207. package/src/scss/ui/_alerts.scss +3 -3
  208. package/src/scss/ui/_avatars.scss +7 -7
  209. package/src/scss/ui/_badges.scss +3 -3
  210. package/src/scss/ui/_buttons.scss +35 -22
  211. package/src/scss/ui/_calendars.scss +10 -10
  212. package/src/scss/ui/_cards.scss +45 -63
  213. package/src/scss/ui/_carousel.scss +5 -5
  214. package/src/scss/ui/_chips.scss +0 -0
  215. package/src/scss/ui/_dropdowns.scss +2 -1
  216. package/src/scss/ui/_empty.scss +3 -3
  217. package/src/scss/ui/_flags.scss +2 -2
  218. package/src/scss/ui/_forms.scss +8 -8
  219. package/src/scss/ui/_grid.scss +8 -9
  220. package/src/scss/ui/_icons.scss +64 -4
  221. package/src/scss/ui/_legend.scss +8 -4
  222. package/src/scss/ui/_lists.scss +16 -13
  223. package/src/scss/ui/_markdown.scss +2 -3
  224. package/src/scss/ui/_modals.scss +1 -1
  225. package/src/scss/ui/_nav.scss +9 -9
  226. package/src/scss/ui/_offcanvas.scss +2 -6
  227. package/src/scss/ui/_pagination.scss +10 -6
  228. package/src/scss/ui/_placeholder.scss +1 -1
  229. package/src/scss/ui/_progress.scss +45 -6
  230. package/src/scss/ui/_ribbons.scss +17 -12
  231. package/src/scss/ui/_status.scss +3 -3
  232. package/src/scss/ui/_steps.scss +4 -4
  233. package/src/scss/ui/_tables.scss +27 -6
  234. package/src/scss/ui/_toasts.scss +1 -2
  235. package/src/scss/ui/_tracking.scss +29 -0
  236. package/src/scss/ui/_type.scss +43 -40
  237. package/src/scss/ui/forms/_form-check.scss +26 -1
  238. package/src/scss/ui/forms/_form-colorinput.scss +2 -2
  239. package/src/scss/ui/forms/_form-icon.scss +1 -1
  240. package/src/scss/ui/forms/_form-imagecheck.scss +14 -6
  241. package/src/scss/ui/forms/_form-selectgroup.scss +8 -8
  242. package/src/scss/ui/typo/_hr.scss +2 -3
  243. package/src/scss/utils/_colors.scss +17 -6
  244. package/src/scss/vendor/_apexcharts.scss +26 -0
  245. package/src/scss/vendor/_dropzone.scss +1 -1
  246. package/src/scss/vendor/_jsvectormap.scss +7 -7
  247. package/src/scss/vendor/_litepicker.scss +14 -13
  248. package/src/scss/vendor/_plyr.scss +1 -1
  249. package/src/scss/vendor/_tinymce.scss +14 -3
  250. package/src/scss/vendor/_tom-select.scss +2 -0
@@ -1,279 +1,287 @@
1
1
  /**
2
- * Tom Select v2.1.0
2
+ * Tom Select v2.2.1
3
3
  * Licensed under the Apache License, Version 2.0 (the "License");
4
4
  */
5
5
 
6
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.virtual_scroll = 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.virtual_scroll = factory());
10
10
  })(this, (function () { 'use strict';
11
11
 
12
- // @ts-ignore TS2691 "An import path cannot end with a '.ts' extension"
13
- const latin_convert = {
14
- 'æ': 'ae',
15
- 'ⱥ': 'a',
16
- 'ø': 'o'
17
- };
18
- new RegExp(Object.keys(latin_convert).join('|'), 'gu');
19
-
20
- // @ts-ignore TS2691 "An import path cannot end with a '.ts' extension"
21
- /**
22
- * Iterates over arrays and hashes.
23
- *
24
- * ```
25
- * iterate(this.items, function(item, id) {
26
- * // invoked for each item
27
- * });
28
- * ```
29
- *
30
- */
31
-
32
- const iterate = (object, callback) => {
33
- if (Array.isArray(object)) {
34
- object.forEach(callback);
35
- } else {
36
- for (var key in object) {
37
- if (object.hasOwnProperty(key)) {
38
- callback(object[key], key);
39
- }
40
- }
41
- }
42
- };
43
-
44
- /**
45
- * Add css classes
46
- *
47
- */
48
-
49
- const addClasses = (elmts, ...classes) => {
50
- var norm_classes = classesArray(classes);
51
- elmts = castAsArray(elmts);
52
- elmts.map(el => {
53
- norm_classes.map(cls => {
54
- el.classList.add(cls);
55
- });
56
- });
57
- };
58
- /**
59
- * Return arguments
60
- *
61
- */
62
-
63
- const classesArray = args => {
64
- var classes = [];
65
- iterate(args, _classes => {
66
- if (typeof _classes === 'string') {
67
- _classes = _classes.trim().split(/[\11\12\14\15\40]/);
68
- }
69
-
70
- if (Array.isArray(_classes)) {
71
- classes = classes.concat(_classes);
72
- }
73
- });
74
- return classes.filter(Boolean);
75
- };
76
- /**
77
- * Create an array from arg if it's not already an array
78
- *
79
- */
80
-
81
- const castAsArray = arg => {
82
- if (!Array.isArray(arg)) {
83
- arg = [arg];
84
- }
85
-
86
- return arg;
87
- };
88
-
89
- /**
90
- * Plugin: "restore_on_backspace" (Tom Select)
91
- * Copyright (c) contributors
92
- *
93
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
94
- * file except in compliance with the License. You may obtain a copy of the License at:
95
- * http://www.apache.org/licenses/LICENSE-2.0
96
- *
97
- * Unless required by applicable law or agreed to in writing, software distributed under
98
- * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
99
- * ANY KIND, either express or implied. See the License for the specific language
100
- * governing permissions and limitations under the License.
101
- *
102
- */
103
- function plugin () {
104
- const self = this;
105
- const orig_canLoad = self.canLoad;
106
- const orig_clearActiveOption = self.clearActiveOption;
107
- const orig_loadCallback = self.loadCallback;
108
- var pagination = {};
109
- var dropdown_content;
110
- var loading_more = false;
111
- var load_more_opt;
112
- var default_values = [];
113
-
114
- if (!self.settings.shouldLoadMore) {
115
- // return true if additional results should be loaded
116
- self.settings.shouldLoadMore = () => {
117
- const scroll_percent = dropdown_content.clientHeight / (dropdown_content.scrollHeight - dropdown_content.scrollTop);
118
-
119
- if (scroll_percent > 0.9) {
120
- return true;
121
- }
122
-
123
- if (self.activeOption) {
124
- var selectable = self.selectable();
125
- var index = [...selectable].indexOf(self.activeOption);
126
-
127
- if (index >= selectable.length - 2) {
128
- return true;
129
- }
130
- }
131
-
132
- return false;
133
- };
134
- }
135
-
136
- if (!self.settings.firstUrl) {
137
- throw 'virtual_scroll plugin requires a firstUrl() method';
138
- } // in order for virtual scrolling to work,
139
- // options need to be ordered the same way they're returned from the remote data source
140
-
141
-
142
- self.settings.sortField = [{
143
- field: '$order'
144
- }, {
145
- field: '$score'
146
- }]; // can we load more results for given query?
147
-
148
- const canLoadMore = query => {
149
- if (typeof self.settings.maxOptions === 'number' && dropdown_content.children.length >= self.settings.maxOptions) {
150
- return false;
151
- }
152
-
153
- if (query in pagination && pagination[query]) {
154
- return true;
155
- }
156
-
157
- return false;
158
- };
159
-
160
- const clearFilter = (option, value) => {
161
- if (self.items.indexOf(value) >= 0 || default_values.indexOf(value) >= 0) {
162
- return true;
163
- }
164
-
165
- return false;
166
- }; // set the next url that will be
167
-
168
-
169
- self.setNextUrl = (value, next_url) => {
170
- pagination[value] = next_url;
171
- }; // getUrl() to be used in settings.load()
172
-
173
-
174
- self.getUrl = query => {
175
- if (query in pagination) {
176
- const next_url = pagination[query];
177
- pagination[query] = false;
178
- return next_url;
179
- } // if the user goes back to a previous query
180
- // we need to load the first page again
181
-
182
-
183
- pagination = {};
184
- return self.settings.firstUrl.call(self, query);
185
- }; // don't clear the active option (and cause unwanted dropdown scroll)
186
- // while loading more results
187
-
188
-
189
- self.hook('instead', 'clearActiveOption', () => {
190
- if (loading_more) {
191
- return;
192
- }
193
-
194
- return orig_clearActiveOption.call(self);
195
- }); // override the canLoad method
196
-
197
- self.hook('instead', 'canLoad', query => {
198
- // first time the query has been seen
199
- if (!(query in pagination)) {
200
- return orig_canLoad.call(self, query);
201
- }
202
-
203
- return canLoadMore(query);
204
- }); // wrap the load
205
-
206
- self.hook('instead', 'loadCallback', (options, optgroups) => {
207
- if (!loading_more) {
208
- self.clearOptions(clearFilter);
209
- } else if (load_more_opt && options.length > 0) {
210
- load_more_opt.dataset.value = options[0][self.settings.valueField];
211
- }
212
-
213
- orig_loadCallback.call(self, options, optgroups);
214
- loading_more = false;
215
- }); // add templates to dropdown
216
- // loading_more if we have another url in the queue
217
- // no_more_results if we don't have another url in the queue
218
-
219
- self.hook('after', 'refreshOptions', () => {
220
- const query = self.lastValue;
221
- var option;
222
-
223
- if (canLoadMore(query)) {
224
- option = self.render('loading_more', {
225
- query: query
226
- });
227
-
228
- if (option) {
229
- option.setAttribute('data-selectable', ''); // so that navigating dropdown with [down] keypresses can navigate to this node
230
-
231
- load_more_opt = option;
232
- }
233
- } else if (query in pagination && !dropdown_content.querySelector('.no-results')) {
234
- option = self.render('no_more_results', {
235
- query: query
236
- });
237
- }
238
-
239
- if (option) {
240
- addClasses(option, self.settings.optionClass);
241
- dropdown_content.append(option);
242
- }
243
- }); // add scroll listener and default templates
244
-
245
- self.on('initialize', () => {
246
- default_values = Object.keys(self.options);
247
- dropdown_content = self.dropdown_content; // default templates
248
-
249
- self.settings.render = Object.assign({}, {
250
- loading_more: () => {
251
- return `<div class="loading-more-results">Loading more results ... </div>`;
252
- },
253
- no_more_results: () => {
254
- return `<div class="no-more-results">No more results</div>`;
255
- }
256
- }, self.settings.render); // watch dropdown content scroll position
257
-
258
- dropdown_content.addEventListener('scroll', () => {
259
- if (!self.settings.shouldLoadMore.call(self)) {
260
- return;
261
- } // !important: this will get checked again in load() but we still need to check here otherwise loading_more will be set to true
262
-
263
-
264
- if (!canLoadMore(self.lastValue)) {
265
- return;
266
- } // don't call load() too much
267
-
268
-
269
- if (loading_more) return;
270
- loading_more = true;
271
- self.load.call(self, self.lastValue);
272
- });
273
- });
274
- }
275
-
276
- return plugin;
12
+ /*! @orchidjs/unicode-variants | https://github.com/orchidjs/unicode-variants | Apache License (v2) */
13
+ const accent_pat = '[\u0300-\u036F\u{b7}\u{2be}]'; // \u{2bc}
14
+ /** @type {TUnicodeMap} */
15
+
16
+ const latin_convert = {
17
+ 'æ': 'ae',
18
+ 'ⱥ': 'a',
19
+ 'ø': 'o',
20
+ '⁄': '/',
21
+ '∕': '/'
22
+ };
23
+ new RegExp(Object.keys(latin_convert).join('|') + '|' + accent_pat, 'gu');
24
+
25
+ /**
26
+ * Iterates over arrays and hashes.
27
+ *
28
+ * ```
29
+ * iterate(this.items, function(item, id) {
30
+ * // invoked for each item
31
+ * });
32
+ * ```
33
+ *
34
+ */
35
+
36
+ const iterate = (object, callback) => {
37
+ if (Array.isArray(object)) {
38
+ object.forEach(callback);
39
+ } else {
40
+ for (var key in object) {
41
+ if (object.hasOwnProperty(key)) {
42
+ callback(object[key], key);
43
+ }
44
+ }
45
+ }
46
+ };
47
+
48
+ /**
49
+ * Add css classes
50
+ *
51
+ */
52
+
53
+ const addClasses = (elmts, ...classes) => {
54
+ var norm_classes = classesArray(classes);
55
+ elmts = castAsArray(elmts);
56
+ elmts.map(el => {
57
+ norm_classes.map(cls => {
58
+ el.classList.add(cls);
59
+ });
60
+ });
61
+ };
62
+ /**
63
+ * Return arguments
64
+ *
65
+ */
66
+
67
+ const classesArray = args => {
68
+ var classes = [];
69
+ iterate(args, _classes => {
70
+ if (typeof _classes === 'string') {
71
+ _classes = _classes.trim().split(/[\11\12\14\15\40]/);
72
+ }
73
+
74
+ if (Array.isArray(_classes)) {
75
+ classes = classes.concat(_classes);
76
+ }
77
+ });
78
+ return classes.filter(Boolean);
79
+ };
80
+ /**
81
+ * Create an array from arg if it's not already an array
82
+ *
83
+ */
84
+
85
+ const castAsArray = arg => {
86
+ if (!Array.isArray(arg)) {
87
+ arg = [arg];
88
+ }
89
+
90
+ return arg;
91
+ };
92
+
93
+ /**
94
+ * Plugin: "restore_on_backspace" (Tom Select)
95
+ * Copyright (c) contributors
96
+ *
97
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
98
+ * file except in compliance with the License. You may obtain a copy of the License at:
99
+ * http://www.apache.org/licenses/LICENSE-2.0
100
+ *
101
+ * Unless required by applicable law or agreed to in writing, software distributed under
102
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
103
+ * ANY KIND, either express or implied. See the License for the specific language
104
+ * governing permissions and limitations under the License.
105
+ *
106
+ */
107
+ function plugin () {
108
+ const self = this;
109
+ const orig_canLoad = self.canLoad;
110
+ const orig_clearActiveOption = self.clearActiveOption;
111
+ const orig_loadCallback = self.loadCallback;
112
+ var pagination = {};
113
+ var dropdown_content;
114
+ var loading_more = false;
115
+ var load_more_opt;
116
+ var default_values = [];
117
+
118
+ if (!self.settings.shouldLoadMore) {
119
+ // return true if additional results should be loaded
120
+ self.settings.shouldLoadMore = () => {
121
+ const scroll_percent = dropdown_content.clientHeight / (dropdown_content.scrollHeight - dropdown_content.scrollTop);
122
+
123
+ if (scroll_percent > 0.9) {
124
+ return true;
125
+ }
126
+
127
+ if (self.activeOption) {
128
+ var selectable = self.selectable();
129
+ var index = Array.from(selectable).indexOf(self.activeOption);
130
+
131
+ if (index >= selectable.length - 2) {
132
+ return true;
133
+ }
134
+ }
135
+
136
+ return false;
137
+ };
138
+ }
139
+
140
+ if (!self.settings.firstUrl) {
141
+ throw 'virtual_scroll plugin requires a firstUrl() method';
142
+ } // in order for virtual scrolling to work,
143
+ // options need to be ordered the same way they're returned from the remote data source
144
+
145
+
146
+ self.settings.sortField = [{
147
+ field: '$order'
148
+ }, {
149
+ field: '$score'
150
+ }]; // can we load more results for given query?
151
+
152
+ const canLoadMore = query => {
153
+ if (typeof self.settings.maxOptions === 'number' && dropdown_content.children.length >= self.settings.maxOptions) {
154
+ return false;
155
+ }
156
+
157
+ if (query in pagination && pagination[query]) {
158
+ return true;
159
+ }
160
+
161
+ return false;
162
+ };
163
+
164
+ const clearFilter = (option, value) => {
165
+ if (self.items.indexOf(value) >= 0 || default_values.indexOf(value) >= 0) {
166
+ return true;
167
+ }
168
+
169
+ return false;
170
+ }; // set the next url that will be
171
+
172
+
173
+ self.setNextUrl = (value, next_url) => {
174
+ pagination[value] = next_url;
175
+ }; // getUrl() to be used in settings.load()
176
+
177
+
178
+ self.getUrl = query => {
179
+ if (query in pagination) {
180
+ const next_url = pagination[query];
181
+ pagination[query] = false;
182
+ return next_url;
183
+ } // if the user goes back to a previous query
184
+ // we need to load the first page again
185
+
186
+
187
+ pagination = {};
188
+ return self.settings.firstUrl.call(self, query);
189
+ }; // don't clear the active option (and cause unwanted dropdown scroll)
190
+ // while loading more results
191
+
192
+
193
+ self.hook('instead', 'clearActiveOption', () => {
194
+ if (loading_more) {
195
+ return;
196
+ }
197
+
198
+ return orig_clearActiveOption.call(self);
199
+ }); // override the canLoad method
200
+
201
+ self.hook('instead', 'canLoad', query => {
202
+ // first time the query has been seen
203
+ if (!(query in pagination)) {
204
+ return orig_canLoad.call(self, query);
205
+ }
206
+
207
+ return canLoadMore(query);
208
+ }); // wrap the load
209
+
210
+ self.hook('instead', 'loadCallback', (options, optgroups) => {
211
+ if (!loading_more) {
212
+ self.clearOptions(clearFilter);
213
+ } else if (load_more_opt) {
214
+ const first_option = options[0];
215
+
216
+ if (first_option !== undefined) {
217
+ load_more_opt.dataset.value = first_option[self.settings.valueField];
218
+ }
219
+ }
220
+
221
+ orig_loadCallback.call(self, options, optgroups);
222
+ loading_more = false;
223
+ }); // add templates to dropdown
224
+ // loading_more if we have another url in the queue
225
+ // no_more_results if we don't have another url in the queue
226
+
227
+ self.hook('after', 'refreshOptions', () => {
228
+ const query = self.lastValue;
229
+ var option;
230
+
231
+ if (canLoadMore(query)) {
232
+ option = self.render('loading_more', {
233
+ query: query
234
+ });
235
+
236
+ if (option) {
237
+ option.setAttribute('data-selectable', ''); // so that navigating dropdown with [down] keypresses can navigate to this node
238
+
239
+ load_more_opt = option;
240
+ }
241
+ } else if (query in pagination && !dropdown_content.querySelector('.no-results')) {
242
+ option = self.render('no_more_results', {
243
+ query: query
244
+ });
245
+ }
246
+
247
+ if (option) {
248
+ addClasses(option, self.settings.optionClass);
249
+ dropdown_content.append(option);
250
+ }
251
+ }); // add scroll listener and default templates
252
+
253
+ self.on('initialize', () => {
254
+ default_values = Object.keys(self.options);
255
+ dropdown_content = self.dropdown_content; // default templates
256
+
257
+ self.settings.render = Object.assign({}, {
258
+ loading_more: () => {
259
+ return `<div class="loading-more-results">Loading more results ... </div>`;
260
+ },
261
+ no_more_results: () => {
262
+ return `<div class="no-more-results">No more results</div>`;
263
+ }
264
+ }, self.settings.render); // watch dropdown content scroll position
265
+
266
+ dropdown_content.addEventListener('scroll', () => {
267
+ if (!self.settings.shouldLoadMore.call(self)) {
268
+ return;
269
+ } // !important: this will get checked again in load() but we still need to check here otherwise loading_more will be set to true
270
+
271
+
272
+ if (!canLoadMore(self.lastValue)) {
273
+ return;
274
+ } // don't call load() too much
275
+
276
+
277
+ if (loading_more) return;
278
+ loading_more = true;
279
+ self.load.call(self, self.lastValue);
280
+ });
281
+ });
282
+ }
283
+
284
+ return plugin;
277
285
 
278
286
  }));
279
287
  //# sourceMappingURL=virtual_scroll.js.map