@ulu/frontend 0.0.3 → 0.0.5

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 (246) hide show
  1. package/package.json +11 -10
  2. package/scss/_grid.scss +0 -1
  3. package/scss/_typography.scss +0 -1
  4. package/scss/helpers/_units.scss +1 -6
  5. package/scss/stylesheets/full.scss +1 -4
  6. package/trash/js-old/deprecated/doc-ready.js +0 -28
  7. package/trash/js-old/deprecated/jquery-prototypes.js +0 -309
  8. package/trash/js-old/deprecated/mini-collapsible-popper-positioning.js +0 -126
  9. package/trash/js-old/deprecated/mini-collapsible.js +0 -607
  10. package/trash/js-old/deprecated/script-loader.js +0 -60
  11. package/trash/js-old/events/index.js +0 -42
  12. package/trash/js-old/helpers/css-breakpoint.js +0 -247
  13. package/trash/js-old/helpers/file-save.js +0 -48
  14. package/trash/js-old/helpers/node-data-manager.js +0 -74
  15. package/trash/js-old/helpers/pause-youtube-video.js +0 -42
  16. package/trash/js-old/index.js +0 -15
  17. package/trash/js-old/polyfills/element-closest.js +0 -17
  18. package/trash/js-old/ui/flipcard.js +0 -202
  19. package/trash/js-old/ui/grid.js +0 -67
  20. package/trash/js-old/ui/modals.js +0 -219
  21. package/trash/js-old/ui/programmatic-modal.js +0 -91
  22. package/trash/js-old/ui/resizer.js +0 -60
  23. package/trash/js-old/ui/slider.js +0 -469
  24. package/trash/js-old/ui/tabs.js +0 -109
  25. package/trash/js-old/ui/tooltip.js +0 -82
  26. package/trash/js-old/utils/array.js +0 -28
  27. package/trash/js-old/utils/dom.js +0 -122
  28. package/trash/js-old/utils/logger.js +0 -69
  29. package/trash/js-old/utils/object.js +0 -22
  30. package/trash/js-old/utils/performance.js +0 -43
  31. package/trash/js-old/utils/regex.js +0 -10
  32. package/trash/js-old/utils/string.js +0 -107
  33. package/trash/js-old/waypoints/README.md +0 -3
  34. package/trash/js-old/waypoints/anchor-menu.js +0 -76
  35. package/trash/js-old/waypoints/element-waypoint.js +0 -75
  36. package/trash/js-old/waypoints/examples/page-link-menu.md +0 -106
  37. package/trash/js-old/waypoints/state-in-attribute.js +0 -32
  38. package/trash/js-old-230729/deprecated/doc-ready.js +0 -28
  39. package/trash/js-old-230729/deprecated/jquery-prototypes.js +0 -309
  40. package/trash/js-old-230729/deprecated/mini-collapsible-popper-positioning.js +0 -126
  41. package/trash/js-old-230729/deprecated/mini-collapsible.js +0 -607
  42. package/trash/js-old-230729/deprecated/script-loader.js +0 -60
  43. package/trash/js-old-230729/events/index.js +0 -42
  44. package/trash/js-old-230729/helpers/css-breakpoint.js +0 -247
  45. package/trash/js-old-230729/helpers/file-save.js +0 -48
  46. package/trash/js-old-230729/helpers/node-data-manager.js +0 -74
  47. package/trash/js-old-230729/helpers/pause-youtube-video.js +0 -42
  48. package/trash/js-old-230729/helpers/scrollbar-width-property.js +0 -10
  49. package/trash/js-old-230729/index.js +0 -15
  50. package/trash/js-old-230729/polyfills/element-closest.js +0 -17
  51. package/trash/js-old-230729/ui/flipcard.js +0 -202
  52. package/trash/js-old-230729/ui/grid.js +0 -67
  53. package/trash/js-old-230729/ui/modals.js +0 -219
  54. package/trash/js-old-230729/ui/overflow-scroller-pager.js +0 -58
  55. package/trash/js-old-230729/ui/overflow-scroller.js +0 -160
  56. package/trash/js-old-230729/ui/programmatic-modal.js +0 -91
  57. package/trash/js-old-230729/ui/resizer.js +0 -60
  58. package/trash/js-old-230729/ui/slider.js +0 -468
  59. package/trash/js-old-230729/ui/tabs.js +0 -109
  60. package/trash/js-old-230729/ui/tooltip.js +0 -82
  61. package/trash/js-old-230729/utils/array.js +0 -28
  62. package/trash/js-old-230729/utils/dom.js +0 -122
  63. package/trash/js-old-230729/utils/logger.js +0 -69
  64. package/trash/js-old-230729/utils/object.js +0 -22
  65. package/trash/js-old-230729/utils/performance.js +0 -43
  66. package/trash/js-old-230729/utils/regex.js +0 -10
  67. package/trash/js-old-230729/utils/string.js +0 -107
  68. package/trash/js-old-230729/waypoints/README.md +0 -3
  69. package/trash/js-old-230729/waypoints/anchor-menu.js +0 -76
  70. package/trash/js-old-230729/waypoints/element-waypoint.js +0 -75
  71. package/trash/js-old-230729/waypoints/examples/page-link-menu.md +0 -106
  72. package/trash/js-old-230729/waypoints/state-in-attribute.js +0 -32
  73. package/trash/logo-1.svg +0 -13
  74. package/trash/logo.svg +0 -16
  75. package/trash/scss-before-cqc-update/README.md +0 -58
  76. package/trash/scss-before-cqc-update/_breakpoint.scss +0 -190
  77. package/trash/scss-before-cqc-update/_button.scss +0 -229
  78. package/trash/scss-before-cqc-update/_calculate.scss +0 -65
  79. package/trash/scss-before-cqc-update/_color.scss +0 -211
  80. package/trash/scss-before-cqc-update/_cssvar.scss +0 -116
  81. package/trash/scss-before-cqc-update/_element.scss +0 -275
  82. package/trash/scss-before-cqc-update/_index.scss +0 -29
  83. package/trash/scss-before-cqc-update/_layout.scss +0 -247
  84. package/trash/scss-before-cqc-update/_path.scss +0 -59
  85. package/trash/scss-before-cqc-update/_selector.scss +0 -82
  86. package/trash/scss-before-cqc-update/_typography.scss +0 -322
  87. package/trash/scss-before-cqc-update/_units.scss +0 -48
  88. package/trash/scss-before-cqc-update/_utility.scss +0 -13
  89. package/trash/scss-before-cqc-update/_utils.scss +0 -211
  90. package/trash/scss-before-cqc-update/base/_color.scss +0 -14
  91. package/trash/scss-before-cqc-update/base/_elements.scss +0 -189
  92. package/trash/scss-before-cqc-update/base/_index.scss +0 -63
  93. package/trash/scss-before-cqc-update/base/_keyframes.scss +0 -74
  94. package/trash/scss-before-cqc-update/base/_layout.scss +0 -88
  95. package/trash/scss-before-cqc-update/base/_normalize.scss +0 -316
  96. package/trash/scss-before-cqc-update/base/_typography.scss +0 -42
  97. package/trash/scss-before-cqc-update/components/README.md +0 -5
  98. package/trash/scss-before-cqc-update/components/README.todos +0 -15
  99. package/trash/scss-before-cqc-update/components/_button.scss +0 -96
  100. package/trash/scss-before-cqc-update/components/_grid.scss +0 -671
  101. package/trash/scss-before-cqc-update/components/_index.scss +0 -70
  102. package/trash/scss-before-cqc-update/components/_links.scss +0 -35
  103. package/trash/scss-before-cqc-update/components/_list-lines.scss +0 -74
  104. package/trash/scss-before-cqc-update/components/_list-ordered.scss +0 -17
  105. package/trash/scss-before-cqc-update/components/_list-unordered.scss +0 -22
  106. package/trash/scss-before-cqc-update/components/_rule.scss +0 -94
  107. package/trash/scss-before-cqc-update/helpers/_color.scss +0 -15
  108. package/trash/scss-before-cqc-update/helpers/_display.scss +0 -73
  109. package/trash/scss-before-cqc-update/helpers/_index.scss +0 -68
  110. package/trash/scss-before-cqc-update/helpers/_print.scss +0 -59
  111. package/trash/scss-before-cqc-update/helpers/_typography.scss +0 -73
  112. package/trash/scss-before-cqc-update/helpers/_units.scss +0 -79
  113. package/trash/scss-before-cqc-update/helpers/_utilities.scss +0 -88
  114. package/trash/scss-before-cqc-update/stylesheets/README.md +0 -3
  115. package/trash/scss-before-cqc-update/stylesheets/full.scss +0 -17
  116. package/trash/scss-old/README.md +0 -58
  117. package/trash/scss-old/_breakpoint.scss +0 -140
  118. package/trash/scss-old/_button.scss +0 -223
  119. package/trash/scss-old/_calculate.scss +0 -64
  120. package/trash/scss-old/_color.scss +0 -200
  121. package/trash/scss-old/_element.scss +0 -262
  122. package/trash/scss-old/_grid.scss +0 -558
  123. package/trash/scss-old/_index.scss +0 -25
  124. package/trash/scss-old/_layout.scss +0 -170
  125. package/trash/scss-old/_path.scss +0 -58
  126. package/trash/scss-old/_selector.scss +0 -81
  127. package/trash/scss-old/_typography.scss +0 -320
  128. package/trash/scss-old/_units.scss +0 -47
  129. package/trash/scss-old/_utility.scss +0 -12
  130. package/trash/scss-old/_utils.scss +0 -186
  131. package/trash/scss-old/base/_color.scss +0 -13
  132. package/trash/scss-old/base/_elements.scss +0 -183
  133. package/trash/scss-old/base/_index.scss +0 -62
  134. package/trash/scss-old/base/_keyframes.scss +0 -74
  135. package/trash/scss-old/base/_layout.scss +0 -81
  136. package/trash/scss-old/base/_normalize.scss +0 -316
  137. package/trash/scss-old/base/_typography.scss +0 -42
  138. package/trash/scss-old/components/README.md +0 -5
  139. package/trash/scss-old/components/README.todos +0 -15
  140. package/trash/scss-old/components/_button.scss +0 -74
  141. package/trash/scss-old/components/_index.scss +0 -63
  142. package/trash/scss-old/components/_links.scss +0 -34
  143. package/trash/scss-old/components/_list-lines.scss +0 -73
  144. package/trash/scss-old/components/_list-ordered.scss +0 -16
  145. package/trash/scss-old/components/_list-unordered.scss +0 -21
  146. package/trash/scss-old/components/_rule.scss +0 -84
  147. package/trash/scss-old/helpers/_color.scss +0 -14
  148. package/trash/scss-old/helpers/_display.scss +0 -68
  149. package/trash/scss-old/helpers/_index.scss +0 -67
  150. package/trash/scss-old/helpers/_print.scss +0 -59
  151. package/trash/scss-old/helpers/_typography.scss +0 -73
  152. package/trash/scss-old/helpers/_units.scss +0 -68
  153. package/trash/scss-old/helpers/_utilities.scss +0 -82
  154. package/trash/scss-old/packages/README.md +0 -3
  155. package/trash/scss-old/packages/everything.scss +0 -17
  156. package/trash/scss-old-2/README.md +0 -58
  157. package/trash/scss-old-2/_breakpoint.scss +0 -139
  158. package/trash/scss-old-2/_button.scss +0 -223
  159. package/trash/scss-old-2/_calculate.scss +0 -64
  160. package/trash/scss-old-2/_color.scss +0 -202
  161. package/trash/scss-old-2/_element.scss +0 -263
  162. package/trash/scss-old-2/_grid.scss +0 -558
  163. package/trash/scss-old-2/_index.scss +0 -25
  164. package/trash/scss-old-2/_layout.scss +0 -170
  165. package/trash/scss-old-2/_path.scss +0 -58
  166. package/trash/scss-old-2/_selector.scss +0 -81
  167. package/trash/scss-old-2/_typography.scss +0 -320
  168. package/trash/scss-old-2/_units.scss +0 -47
  169. package/trash/scss-old-2/_utility.scss +0 -12
  170. package/trash/scss-old-2/_utils.scss +0 -186
  171. package/trash/scss-old-2/base/_color.scss +0 -13
  172. package/trash/scss-old-2/base/_elements.scss +0 -182
  173. package/trash/scss-old-2/base/_index.scss +0 -62
  174. package/trash/scss-old-2/base/_keyframes.scss +0 -73
  175. package/trash/scss-old-2/base/_layout.scss +0 -83
  176. package/trash/scss-old-2/base/_normalize.scss +0 -315
  177. package/trash/scss-old-2/base/_typography.scss +0 -41
  178. package/trash/scss-old-2/components/README.md +0 -5
  179. package/trash/scss-old-2/components/README.todos +0 -15
  180. package/trash/scss-old-2/components/_button.scss +0 -95
  181. package/trash/scss-old-2/components/_index.scss +0 -63
  182. package/trash/scss-old-2/components/_links.scss +0 -33
  183. package/trash/scss-old-2/components/_list-lines.scss +0 -73
  184. package/trash/scss-old-2/components/_list-ordered.scss +0 -16
  185. package/trash/scss-old-2/components/_list-unordered.scss +0 -21
  186. package/trash/scss-old-2/components/_rule.scss +0 -84
  187. package/trash/scss-old-2/helpers/_color.scss +0 -14
  188. package/trash/scss-old-2/helpers/_display.scss +0 -67
  189. package/trash/scss-old-2/helpers/_index.scss +0 -67
  190. package/trash/scss-old-2/helpers/_print.scss +0 -58
  191. package/trash/scss-old-2/helpers/_typography.scss +0 -72
  192. package/trash/scss-old-2/helpers/_units.scss +0 -68
  193. package/trash/scss-old-2/helpers/_utilities.scss +0 -81
  194. package/trash/scss-old-2/packages/README.md +0 -3
  195. package/trash/scss-old-2/packages/everything.scss +0 -17
  196. package/trash/scss-old-230729/README.md +0 -58
  197. package/trash/scss-old-230729/_breakpoint.scss +0 -139
  198. package/trash/scss-old-230729/_button.scss +0 -223
  199. package/trash/scss-old-230729/_calculate.scss +0 -64
  200. package/trash/scss-old-230729/_color.scss +0 -202
  201. package/trash/scss-old-230729/_element.scss +0 -273
  202. package/trash/scss-old-230729/_grid.scss +0 -694
  203. package/trash/scss-old-230729/_index.scss +0 -25
  204. package/trash/scss-old-230729/_layout.scss +0 -193
  205. package/trash/scss-old-230729/_path.scss +0 -58
  206. package/trash/scss-old-230729/_selector.scss +0 -81
  207. package/trash/scss-old-230729/_typography.scss +0 -320
  208. package/trash/scss-old-230729/_units.scss +0 -47
  209. package/trash/scss-old-230729/_utility.scss +0 -12
  210. package/trash/scss-old-230729/_utils.scss +0 -186
  211. package/trash/scss-old-230729/base/_color.scss +0 -13
  212. package/trash/scss-old-230729/base/_elements.scss +0 -188
  213. package/trash/scss-old-230729/base/_index.scss +0 -62
  214. package/trash/scss-old-230729/base/_keyframes.scss +0 -73
  215. package/trash/scss-old-230729/base/_layout.scss +0 -83
  216. package/trash/scss-old-230729/base/_normalize.scss +0 -315
  217. package/trash/scss-old-230729/base/_typography.scss +0 -41
  218. package/trash/scss-old-230729/components/README.md +0 -5
  219. package/trash/scss-old-230729/components/README.todos +0 -15
  220. package/trash/scss-old-230729/components/_button.scss +0 -95
  221. package/trash/scss-old-230729/components/_index.scss +0 -63
  222. package/trash/scss-old-230729/components/_links.scss +0 -34
  223. package/trash/scss-old-230729/components/_list-lines.scss +0 -73
  224. package/trash/scss-old-230729/components/_list-ordered.scss +0 -16
  225. package/trash/scss-old-230729/components/_list-unordered.scss +0 -21
  226. package/trash/scss-old-230729/components/_rule.scss +0 -93
  227. package/trash/scss-old-230729/helpers/_color.scss +0 -14
  228. package/trash/scss-old-230729/helpers/_display.scss +0 -73
  229. package/trash/scss-old-230729/helpers/_index.scss +0 -67
  230. package/trash/scss-old-230729/helpers/_print.scss +0 -58
  231. package/trash/scss-old-230729/helpers/_typography.scss +0 -72
  232. package/trash/scss-old-230729/helpers/_units.scss +0 -68
  233. package/trash/scss-old-230729/helpers/_utilities.scss +0 -87
  234. package/trash/scss-old-230729/packages/README.md +0 -3
  235. package/trash/scss-old-230729/packages/everything.scss +0 -17
  236. package/trash/vue/directives/background-image-url.js +0 -12
  237. package/trash/vue/helpers/add-required-components.js +0 -14
  238. package/trash/vue/ui/CollapsibleRegion/CollapsibleRegion.vue +0 -277
  239. package/trash/vue/ui/CollapsibleRegion/Demo.vue +0 -101
  240. package/trash/vue/ui/Dropdown/Dropdown.vue +0 -184
  241. package/trash/vue/ui/Modals/components/Modal.vue +0 -49
  242. package/trash/vue/ui/Modals/components/Modals.vue +0 -103
  243. package/trash/vue/ui/Modals/plugin.js +0 -215
  244. package/trash/vue/ui/Modals/readme.note +0 -10
  245. package/trash/vue/ui/Modals/reference/example-usage.vue +0 -27
  246. package/trash/vue/ui/Modals/reference/wcag-example/dialog.js +0 -324
@@ -1,28 +0,0 @@
1
- // =============================================================================
2
- // Doc Ready - Script
3
- // =============================================================================
4
-
5
- // Version: 1.0.0
6
-
7
- // Description: Simple script that will add a property to the window for
8
- // other scripts to access. Functions will be fired after
9
- // DomContentLoaded.
10
-
11
-
12
- (function(d) {
13
- var callbacks = [],
14
- fired = false;
15
-
16
- window.onDocReady = function(callback) {
17
- if (fired) callback();
18
- else callbacks.push(callback);
19
- };
20
-
21
- d.addEventListener("DOMContentLoaded", function() {
22
- fired = true;
23
- for (var i = 0; i < callbacks.length; i++) {
24
- callbacks[i]();
25
- }
26
- });
27
-
28
- }(document));
@@ -1,309 +0,0 @@
1
- // =============================================================================
2
- // Jquery Prototypes
3
- // =============================================================================
4
-
5
- // Version: 2.0.0
6
-
7
- // Description: All of our simple jQuery prototypes
8
-
9
- // Change log: 2.0.0 | Converted to ES Module with exports (so we can pick and choose)
10
-
11
- const $ = jQuery;
12
-
13
- // FUnction to do conditions in chaining sequences
14
- export function when(condition, method, argumentsArray) {
15
- if (!Array.isArray(argumentsArray)) argumentsArray = [argumentsArray];
16
- if (typeof condition === 'function') condition = condition.apply(this, argumentsArray);
17
- if (condition) this[method].apply(this, argumentsArray);
18
- return condition ? this[method].apply(this, argumentsArray) : this;
19
- }
20
- export function mergeObjects() {
21
- var collect = $([]).add(this);
22
- for (var i = 0; i < arguments.length; i++) collect = collect.add(arguments[i]);
23
- return collect;
24
- }
25
- export function updateSelection() {
26
- var elements = $(this.selector);
27
- this.splice(0, this.length);
28
- this.push.apply(this, elements);
29
- return this;
30
- }
31
- export function findFromRoot(selector) {
32
- return this.filter(selector).add(this.find(selector));
33
- }
34
- export function dataExplode(attrName, delimiter) {
35
- var dataFound = this.data(attrName);
36
- return dataFound !== undefined && typeof dataFound === 'string' ? dataFound.split('|') : false;
37
- }
38
- export function isOverflowingY() {
39
- var el = this[0];
40
- return el.offsetHeight < el.scrollHeight;
41
- }
42
- export function isOverflowingX() {
43
- var el = this[0];
44
- return el.offsetWidth < el.scrollWidth;
45
- }
46
- export function escapeSelector(stringPasssed) {
47
- return stringPasssed.replace(/(:|\.|\[|\]|,)/g, "\\$1");
48
- }
49
- export function getControlled(attr) {
50
- if (!attr) attr = 'aria-controls';
51
- var id = this.attr(attr);
52
- return $('#'+id);
53
- }
54
- export function getControls(attr) {
55
- if (!attr) attr = 'aria-controls';
56
- var id = this.attr('id');
57
- return $('['+attr+'='+id+']');
58
- }
59
- export function queryVar(variable) {
60
- var query = curQueryVars,
61
- vars = query.split("&");
62
- for (var i=0;i<vars.length;i++) {
63
- var pair = vars[i].split("=");
64
- if(pair[0] == variable){return pair[1];}
65
- }
66
- return(false);
67
- }
68
- export function eachMatchingIndexes(method, collection) {
69
- this.each(function(i) {
70
- $(this)[method](collection[i]);
71
- });
72
- return this;
73
- }
74
- export function makeFocusable(forScripts, firstDescendant) {
75
-
76
- var el = this,
77
- tabindex = forScripts ? -1 : 0;
78
- // If they said first descendant (that is focusable)
79
- if (firstDescendant) {
80
- var newEl = el.find(_g.focus.titleEl+', '+_g.focus.elFocusable).not('[aria-hidden="true"]');
81
- if (newEl.length) {
82
- el = newEl;
83
- }
84
- }
85
- el = el.first();
86
- if (!el.is(_g.focus.elFocusable)) el.attr('tabindex', tabindex); // Make focusable by scripts
87
-
88
- return el;
89
- }
90
- export function attrBooleanToggle(attribute, forceState) {
91
- this.attr(attribute, function(i, iString) {
92
- if (forceState === true || forceState === false) return forceState;
93
- if (iString === 'true') return 'false';
94
- return 'true';
95
- });
96
- return this;
97
- }
98
- export function checkIdAndSet(stringForId) {
99
- if ($(this).attr('id')) {
100
- return (this).attr('id');
101
- } else {
102
- var id = stringForId === undefined ? _g.uniqueId() : stringForId; // If they don't pass string use global method.
103
- $(this).attr('id', id); // Assign id
104
- return id; // Return Id for user's use
105
- }
106
- }
107
- export function scrollParent() {
108
- var overflowRegex = /(auto|scroll)/,
109
- position = this.css( "position" ),
110
- excludeStaticParent = position === "absolute",
111
- scrollParent = this.parents().filter( function() {
112
- var parent = $( this );
113
- if ( excludeStaticParent && parent.css( "position" ) === "static" ) {
114
- return false;
115
- }
116
- var overflowState = parent.css(["overflow", "overflowX", "overflowY"]);
117
- return (overflowRegex).test( overflowState.overflow + overflowState.overflowX + overflowState.overflowY );
118
- }).eq( 0 );
119
-
120
- return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent;
121
- }
122
- export function scrollParentY() {
123
- var overflowRegex = /(auto|scroll)/,
124
- position = this.css( "position" ),
125
- excludeStaticParent = position === "absolute",
126
- scrollParent = this.parents().filter( function() {
127
- var parent = $( this );
128
- if ( excludeStaticParent && parent.css( "position" ) === "static" ) {
129
- return false;
130
- }
131
- var overflowState = parent.css(["overflowY"]);
132
- return (overflowRegex).test(overflowState.overflowY );
133
- }).eq( 0 );
134
-
135
- return position === "fixed" || !scrollParent.length ? $htmlBody : scrollParent;
136
- }
137
- export function removeClassStartsWith(stringPassed) {
138
- this.removeClass(function (index, classes) {
139
-
140
- // This function splits into an array
141
- // Then filters out the passed string
142
- // Then returns it joined as space seperated
143
- // Jquery then removes those classes
144
-
145
- return classes
146
- .split(' ')
147
- .filter(function(value) {
148
- return value.includes(stringPassed);
149
- })
150
- .join(' ');
151
- });
152
-
153
- // For Chaining
154
- return this;
155
- }
156
- export function doesExist(callback){
157
- if (this.length) {
158
- if (callback) callback.call(this);
159
- return true;
160
- }
161
- }
162
- export function notExist(callback){
163
- if (this.length <= 0) {
164
- if (callback) callback.call(this);
165
- return true;
166
- }
167
- }
168
- export function sortByDepth() {
169
- // Sorts jquery object by deepest to shallowest item
170
- var ar = this.map(function() {
171
- return {length: $(this).parents().length, elt: this};
172
- }).get(),
173
- result = [],
174
- i = ar.length;
175
- ar.sort(function(a, b) {
176
- return a.length - b.length;
177
- });
178
- while (i--) {
179
- result.push(ar[i].elt);
180
- }
181
- return $(result);
182
- };
183
- // throttleScroll
184
- export function throttleScroll(eventName, optionalHandler) {
185
- var posLastY = 0,
186
- posLastX = 0,
187
- lastFrameComplete = true,
188
- el = this;
189
-
190
- // Internal function for touch move and scroll
191
- function scrollHandler(event) {
192
-
193
- var posY = el.scrollTop(),
194
- posX = el.scrollLeft(),
195
- elHeight = el.innerHeight(); // cOme back
196
-
197
- if (lastFrameComplete && (posLastY !== posY || posLastX !== posX)) {
198
-
199
- var scrollData = {
200
- positionY: posY,
201
- positionX: posX,
202
- height: elHeight,
203
- positionLastY: posLastY,
204
- positionLastX: posLastX,
205
- direction: posLastY > posY ? 'up' :'down'
206
- };
207
-
208
- posLastY = posY;
209
- posLastX = posX;
210
- lastFrameComplete = false;
211
-
212
- requestAnimationFrame(function(){
213
- el.trigger(eventName, [scrollData, event]);
214
- lastFrameComplete = true;
215
- });
216
- }
217
- }
218
-
219
- // Attach our throttling handler
220
- el.on('scroll touchmove', scrollHandler);
221
- // If they passed a handler attach it
222
- if (optionalHandler) el.on(eventName, optionalHandler);
223
- // Chaining
224
- return scrollHandler;
225
- };
226
-
227
- export function copyAttributes() {
228
- var attrs = {};
229
-
230
- $.each(this[0].attributes, function(idx, attr) {
231
- attrs[attr.nodeName] = attr.nodeValue;
232
- });
233
-
234
- return attrs;
235
- };
236
- export function attributesFrom(elFrom, overwrite) {
237
- var $this = this;
238
- $.each(elFrom[0].attributes, function(idx, attr) {
239
- $this.attr(attr.nodeName, attr.nodeValue);
240
- });
241
- return this;
242
- };
243
- export function changeElementType(newType) {
244
-
245
- var attrs = this.copyAttributes(),
246
- newElement = $("<" + newType + "/>", attrs).append($(this).contents());
247
-
248
- this.replaceWith(newElement);
249
- return newElement;
250
- };
251
- // This function accepts a string to search for and if found will use the "change" argument passed.
252
- // Since this is using the string replace() function you can use either a function or a string.
253
- // Using :contains selector vs anything reg-ex or filter related because it is extremely fast
254
- // in tests and the search could be deep. Contains will give us both the element with the
255
- // text and the parents (unfortunate). So once we have them we filter by nodeType 3 which
256
- // is text nodes. And then check if that node has the string. If it does we run replace with
257
- // the string and call the users callback for the replacement.
258
- export function replaceText(find, change, filterSelector) {
259
- this
260
- .find(':contains(' + find + ')')
261
- .filter(filterSelector || null)
262
- .contents()
263
- .filter(function() {
264
- return this.nodeType === 3 && this.nodeValue.includes(find);
265
- })
266
- .each(function() {
267
- var newNode = document.createElement('span');
268
- newNode.innerHTML = this.nodeValue.replace(find, change);
269
- this.parentNode.insertBefore(newNode, this);
270
- this.parentNode.removeChild(this);
271
- });
272
- return this;
273
- };
274
- // Better jqeury.each(), passes the $(this) that everyone makes into a variable anyways
275
- // This is based on prototype.each which uses jQuery.each(object, callback) so it
276
- // should perform as well. Test here: https://codepen.io/Jscherbe/pen/pZMZOo
277
- export function forEach(callback) {
278
- var $t;
279
- for (var i = 0; i < this.length; i++) {
280
- $t = $(this[i]);
281
- if (callback.call($t, i, $t) === false) break;
282
- }
283
- return this;
284
- };
285
- export function isOutside(context) {
286
- return !context.has(this).length || context.is(this);
287
- };
288
- export function apply(fn, args) {
289
- fn.apply(this, args);
290
- return this;
291
- };
292
- export function hasAttr(name) {
293
- var attr = this.attr(name);
294
- return !(typeof attr !== undefined && attr !== false);
295
- };
296
- export function debounce(func, wait, immediate, valueThis) {
297
- var timeout;
298
- return function() {
299
- var context = valueThis || this, args = arguments;
300
- var later = function() {
301
- timeout = null;
302
- if (!immediate) func.apply(context, args);
303
- };
304
- var callNow = immediate && !timeout;
305
- clearTimeout(timeout);
306
- timeout = setTimeout(later, wait);
307
- if (callNow) func.apply(context, args);
308
- };
309
- };
@@ -1,126 +0,0 @@
1
- // Version: 1.0.2
2
-
3
- // Changes: 1.0.2 | Added ability for user to pass config options to popper
4
- // constructor
5
-
6
- import { createPopper } from '@popperjs/core';
7
-
8
- const merge = Object.assign;
9
- const DATA_KEY = "popperInstance";
10
- const defaults = {
11
- arrowEnabled: true,
12
- arrowSize: 10,
13
- placementDataKey: 'cc-placement',
14
- stradegyDataKey: "cc-stradegy",
15
- arrowClasses: "cc-arrow",
16
- popper: {} // options to be merged
17
- };
18
- /**
19
- * Creates a new set of options, pass modifiers array seperately
20
- * - Used to reduce complexity of mergining array's of reference object
21
- * - Instead this function (factory) will create a new object for each modifiers
22
- * so there is no possible issues upstream with duplicated references (ie. eventListeners)
23
- * @param {Object} options Popper options
24
- * @returns
25
- */
26
- function createOptions(options) {
27
- const modifiers = options.modifiers || [];
28
- delete options.modifiers;
29
- return Object.assign({
30
- modifiers: [
31
- {
32
- name: 'eventListeners',
33
- enabled: false
34
- },
35
- {
36
- name: 'preventOverflow',
37
- enabled: true,
38
- options: {
39
- mainAxis: true
40
- }
41
- },
42
- ...modifiers
43
- ]
44
- }, options);
45
- }
46
-
47
- /**
48
- * Creates a popup position mechanism for a collapsible set
49
- * - Note: if you are adding additional collapsibles to the page you
50
- * will need to select them and pass their collaspible elements set to the
51
- * init method provided in this functions return.
52
- * @param {Object} cc Collapsibles Instance
53
- * @param {Object} userOptions Options object
54
- * @param {Boolean} userOptions.arrowEnabled Enable arrow (creates arrow element automatically)
55
- * @param {Number} userOptions.arrowSize Options object
56
- * @param {String} userOptions.arrowClasses Classes to be added to the arrow for styling
57
- * @param {String} userOptions.placementDataKey Data attribute to be selected without "data-", defualts to 'dropdown-placement'
58
- * @returns {Object} Interface to init new instances added to page, possibly more in the future
59
- */
60
- export function popperPositioning(cc, options) {
61
- const userCallback = cc.onChangeAfter;
62
- // Merge and reassign
63
- options = merge({}, defaults, options);
64
- // Prep each collapsible instance available on page
65
- cc.each(init);
66
- cc.onChangeAfter = function popperPositioningCb({ toggle }, state) {
67
- if (userCallback) {
68
- userCallback.apply(cc, arguments);
69
- }
70
- // Popper related
71
- const isOpen = state === "open";
72
- const instance = toggle.data(DATA_KEY);
73
- // Remove current options and change event listeners (enable when open only)
74
- // This helps performance b/c this plugin watches the page (resize, etc)
75
- const opts = instance.state.options;
76
- const eventModifier = opts.modifiers.find(el => el.name === "eventListeners");
77
- if (eventModifier) {
78
- eventModifier.enabled = isOpen
79
- }
80
- // Reset the options object
81
- instance.setOptions(opts);
82
- // Force it to update the positioning now
83
- if (isOpen) {
84
- instance.update();
85
- }
86
- };
87
-
88
- /**
89
- * Initialize a single popper/CC instance
90
- * @param {Object} elements Collapsible elements object
91
- */
92
- function init({ toggle, content, container }) {
93
- // Attempting to reinitialize
94
- if (toggle.data(DATA_KEY)) {
95
- return;
96
- }
97
- const config = merge({}, {
98
- placement: container.data(options.placementDataKey) || "auto",
99
- strategy: container.data(options.stradegyDataKey) || "absolute",
100
- modifiers: []
101
- }, options.popper);
102
-
103
- // Add optional arrow modifiers
104
- if (options.arrowEnabled) {
105
- content.prepend(`<div class="${ options.arrowClasses }" data-popper-arrow></div>`);
106
- config.modifiers.push({
107
- name: 'offset',
108
- options: {
109
- offset: [ 0, options.arrowSize ],
110
- },
111
- });
112
- }
113
- // Create popper instance and add ref to jQuery element data
114
- const instance = createPopper(
115
- toggle.get(0),
116
- content.get(0),
117
- createOptions(config)
118
- );
119
- toggle.data(DATA_KEY, instance);
120
- }
121
- /**
122
- * Minimal user interface is returned
123
- */
124
- return { init }
125
- }
126
-