@amimpact/willy-utils 1.5.2-beta.0 → 1.6.1-beta.1

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.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { createCookie, readCookie, eraseCookie } from './cookie';
2
2
  import { formatCraftDate, formatDateFromNow, formatNewDate, formatUTCDate, parseISODuration } from './date';
3
3
  import { convertObjectToFormData } from './form';
4
- import { bytesToSize, convertHexToRGBA, downloadFile, getNestedSet, getUrlsFromString, isPlainObject, wrap } from './misc';
4
+ import { bytesToSize, checkForScrollbars, convertHexToRGBA, downloadFile, getNestedSet, getUrlsFromString, isPlainObject, observeResize, wrap } from './misc';
5
5
  import { $, $$, getParents } from './selectors';
6
6
  import { isCraftActionUrl, isInternalLink, isExternalUrl, isAsset } from './url';
7
- export { $, $$, bytesToSize, convertHexToRGBA, createCookie, downloadFile, eraseCookie, formatCraftDate, convertObjectToFormData, formatDateFromNow, formatNewDate, formatUTCDate, getNestedSet, getParents, getUrlsFromString, isAsset, isCraftActionUrl, isExternalUrl, isInternalLink, isPlainObject, parseISODuration, readCookie, wrap, };
7
+ export { $, $$, bytesToSize, checkForScrollbars, convertHexToRGBA, createCookie, downloadFile, eraseCookie, formatCraftDate, convertObjectToFormData, formatDateFromNow, formatNewDate, formatUTCDate, getNestedSet, getParents, getUrlsFromString, isAsset, isCraftActionUrl, isExternalUrl, isInternalLink, isPlainObject, observeResize, parseISODuration, readCookie, wrap, };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.wrap = exports.readCookie = exports.parseISODuration = exports.isPlainObject = exports.isInternalLink = exports.isExternalUrl = exports.isCraftActionUrl = exports.isAsset = exports.getUrlsFromString = exports.getParents = exports.getNestedSet = exports.formatUTCDate = exports.formatNewDate = exports.formatDateFromNow = exports.convertObjectToFormData = exports.formatCraftDate = exports.eraseCookie = exports.downloadFile = exports.createCookie = exports.convertHexToRGBA = exports.bytesToSize = exports.$$ = exports.$ = void 0;
3
+ exports.wrap = exports.readCookie = exports.parseISODuration = exports.observeResize = exports.isPlainObject = exports.isInternalLink = exports.isExternalUrl = exports.isCraftActionUrl = exports.isAsset = exports.getUrlsFromString = exports.getParents = exports.getNestedSet = exports.formatUTCDate = exports.formatNewDate = exports.formatDateFromNow = exports.convertObjectToFormData = exports.formatCraftDate = exports.eraseCookie = exports.downloadFile = exports.createCookie = exports.convertHexToRGBA = exports.checkForScrollbars = exports.bytesToSize = exports.$$ = exports.$ = void 0;
4
4
  var cookie_1 = require("./cookie");
5
5
  Object.defineProperty(exports, "createCookie", { enumerable: true, get: function () { return cookie_1.createCookie; } });
6
6
  Object.defineProperty(exports, "readCookie", { enumerable: true, get: function () { return cookie_1.readCookie; } });
@@ -15,11 +15,13 @@ var form_1 = require("./form");
15
15
  Object.defineProperty(exports, "convertObjectToFormData", { enumerable: true, get: function () { return form_1.convertObjectToFormData; } });
16
16
  var misc_1 = require("./misc");
17
17
  Object.defineProperty(exports, "bytesToSize", { enumerable: true, get: function () { return misc_1.bytesToSize; } });
18
+ Object.defineProperty(exports, "checkForScrollbars", { enumerable: true, get: function () { return misc_1.checkForScrollbars; } });
18
19
  Object.defineProperty(exports, "convertHexToRGBA", { enumerable: true, get: function () { return misc_1.convertHexToRGBA; } });
19
20
  Object.defineProperty(exports, "downloadFile", { enumerable: true, get: function () { return misc_1.downloadFile; } });
20
21
  Object.defineProperty(exports, "getNestedSet", { enumerable: true, get: function () { return misc_1.getNestedSet; } });
21
22
  Object.defineProperty(exports, "getUrlsFromString", { enumerable: true, get: function () { return misc_1.getUrlsFromString; } });
22
23
  Object.defineProperty(exports, "isPlainObject", { enumerable: true, get: function () { return misc_1.isPlainObject; } });
24
+ Object.defineProperty(exports, "observeResize", { enumerable: true, get: function () { return misc_1.observeResize; } });
23
25
  Object.defineProperty(exports, "wrap", { enumerable: true, get: function () { return misc_1.wrap; } });
24
26
  var selectors_1 = require("./selectors");
25
27
  Object.defineProperty(exports, "$", { enumerable: true, get: function () { return selectors_1.$; } });
package/dist/misc.d.ts CHANGED
@@ -3,6 +3,14 @@
3
3
  * @param {string | number} bytes
4
4
  */
5
5
  export declare const bytesToSize: (bytes: number) => string;
6
+ /**
7
+ * Check of een HTML element horizontale of verticale scrollbars heeft
8
+ * als dat zo is, dan wordt een class op het element gezet.
9
+ *
10
+ * @param {HTMLElement} el
11
+ * @param {String} dir // vertical of horizontal
12
+ */
13
+ export declare const checkForScrollbars: (el: HTMLElement, dir?: String) => void;
6
14
  /**
7
15
  * Hex kleurcode converten naar rgba
8
16
  *
@@ -38,6 +46,14 @@ export declare const getUrlsFromString: (content: string) => RegExpMatchArray |
38
46
  * @returns {boolean}
39
47
  */
40
48
  export declare const isPlainObject: (value: any) => boolean;
49
+ /**
50
+ * Resize observer; checkt of een HTML element zijn dimensies veranderen
51
+ * en zodra dat gebeurt wordt de callback functie gecalled.
52
+ *
53
+ * @param {HTMLElement} el
54
+ * @param {Function} callback
55
+ */
56
+ export declare const observeResize: (element: HTMLElement, callback: Function) => void;
41
57
  /**
42
58
  * Wrap een element in een nieuw element
43
59
  *
package/dist/misc.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.wrap = exports.isPlainObject = exports.getUrlsFromString = exports.getNestedSet = exports.downloadFile = exports.convertHexToRGBA = exports.bytesToSize = void 0;
3
+ exports.wrap = exports.observeResize = exports.isPlainObject = exports.getUrlsFromString = exports.getNestedSet = exports.downloadFile = exports.convertHexToRGBA = exports.checkForScrollbars = exports.bytesToSize = void 0;
4
4
  /**
5
5
  * Toon mooier bestandsformaat
6
6
  * @param {string | number} bytes
@@ -15,6 +15,29 @@ exports.bytesToSize = function (bytes) {
15
15
  var i = Math.floor(Math.log(bytes) / Math.log(1024));
16
16
  return Math.round(bytes / Math.pow(1024, i)) + ' ' + sizes[i];
17
17
  };
18
+ /**
19
+ * Check of een HTML element horizontale of verticale scrollbars heeft
20
+ * als dat zo is, dan wordt een class op het element gezet.
21
+ *
22
+ * @param {HTMLElement} el
23
+ * @param {String} dir // vertical of horizontal
24
+ */
25
+ exports.checkForScrollbars = function (el, dir) {
26
+ if (dir === void 0) { dir = 'vertical'; }
27
+ var direction = dir === 'vertical' ? 'scrollTop' : 'scrollLeft';
28
+ var hasScrollbar = !!el[direction];
29
+ if (!hasScrollbar) {
30
+ el[direction] = 1;
31
+ hasScrollbar = !!el[direction];
32
+ el[direction] = 0;
33
+ }
34
+ if (hasScrollbar) {
35
+ el.classList.add("has-" + dir + "-scrollbar");
36
+ }
37
+ else {
38
+ el.classList.remove("has-" + dir + "-scrollbar");
39
+ }
40
+ };
18
41
  /**
19
42
  * Hex kleurcode converten naar rgba
20
43
  *
@@ -105,6 +128,19 @@ exports.isPlainObject = function (value) {
105
128
  }
106
129
  return Object.getPrototypeOf(value) === proto;
107
130
  };
131
+ /**
132
+ * Resize observer; checkt of een HTML element zijn dimensies veranderen
133
+ * en zodra dat gebeurt wordt de callback functie gecalled.
134
+ *
135
+ * @param {HTMLElement} el
136
+ * @param {Function} callback
137
+ */
138
+ exports.observeResize = function (element, callback) {
139
+ var resizeObserver = new ResizeObserver(function () {
140
+ callback(element);
141
+ });
142
+ resizeObserver.observe(element);
143
+ };
108
144
  /**
109
145
  * Wrap een element in een nieuw element
110
146
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amimpact/willy-utils",
3
- "version": "1.5.2-beta.0",
3
+ "version": "1.6.1-beta.1",
4
4
  "description": "Javascript utils",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -27,6 +27,7 @@
27
27
  },
28
28
  "homepage": "https://bitbucket.org/amimpact/willy-utils#readme",
29
29
  "devDependencies": {
30
+ "@types/resize-observer-browser": "^0.1.7",
30
31
  "browserify": "17.0.0",
31
32
  "onchange": "7.1.0",
32
33
  "typescript": "4.0.5"
package/tsconfig.json CHANGED
@@ -16,4 +16,5 @@
16
16
  "dom"
17
17
  ],
18
18
  },
19
+ "types": ["resize-observer-browser"],
19
20
  }