@amimpact/willy-utils 1.6.0 → 1.6.1-beta.2

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, capitalize, 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, capitalize, 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.capitalize = 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,14 @@ 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, "capitalize", { enumerable: true, get: function () { return misc_1.capitalize; } });
19
+ Object.defineProperty(exports, "checkForScrollbars", { enumerable: true, get: function () { return misc_1.checkForScrollbars; } });
18
20
  Object.defineProperty(exports, "convertHexToRGBA", { enumerable: true, get: function () { return misc_1.convertHexToRGBA; } });
19
21
  Object.defineProperty(exports, "downloadFile", { enumerable: true, get: function () { return misc_1.downloadFile; } });
20
22
  Object.defineProperty(exports, "getNestedSet", { enumerable: true, get: function () { return misc_1.getNestedSet; } });
21
23
  Object.defineProperty(exports, "getUrlsFromString", { enumerable: true, get: function () { return misc_1.getUrlsFromString; } });
22
24
  Object.defineProperty(exports, "isPlainObject", { enumerable: true, get: function () { return misc_1.isPlainObject; } });
25
+ Object.defineProperty(exports, "observeResize", { enumerable: true, get: function () { return misc_1.observeResize; } });
23
26
  Object.defineProperty(exports, "wrap", { enumerable: true, get: function () { return misc_1.wrap; } });
24
27
  var selectors_1 = require("./selectors");
25
28
  Object.defineProperty(exports, "$", { enumerable: true, get: function () { return selectors_1.$; } });
package/dist/misc.d.ts CHANGED
@@ -3,6 +3,19 @@
3
3
  * @param {string | number} bytes
4
4
  */
5
5
  export declare const bytesToSize: (bytes: number) => string;
6
+ /**
7
+ * Eerste letter van een string een hoofdletter maken
8
+ * @param {string} str
9
+ */
10
+ export declare const capitalize: (str: string) => string;
11
+ /**
12
+ * Check of een HTML element horizontale of verticale scrollbars heeft
13
+ * als dat zo is, dan wordt een class op het element gezet.
14
+ *
15
+ * @param {HTMLElement} el
16
+ * @param {String} dir // vertical of horizontal
17
+ */
18
+ export declare const checkForScrollbars: (el: HTMLElement, dir?: String) => void;
6
19
  /**
7
20
  * Hex kleurcode converten naar rgba
8
21
  *
@@ -38,6 +51,14 @@ export declare const getUrlsFromString: (content: string) => RegExpMatchArray |
38
51
  * @returns {boolean}
39
52
  */
40
53
  export declare const isPlainObject: (value: any) => boolean;
54
+ /**
55
+ * Resize observer; checkt of een HTML element zijn dimensies veranderen
56
+ * en zodra dat gebeurt wordt de callback functie gecalled.
57
+ *
58
+ * @param {HTMLElement} el
59
+ * @param {Function} callback
60
+ */
61
+ export declare const observeResize: (element: HTMLElement, callback: Function) => void;
41
62
  /**
42
63
  * Wrap een element in een nieuw element
43
64
  *
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.capitalize = exports.bytesToSize = void 0;
4
4
  /**
5
5
  * Toon mooier bestandsformaat
6
6
  * @param {string | number} bytes
@@ -15,6 +15,36 @@ 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
+ * Eerste letter van een string een hoofdletter maken
20
+ * @param {string} str
21
+ */
22
+ exports.capitalize = function (str) {
23
+ return str.charAt(0).toUpperCase() + str.slice(1);
24
+ };
25
+ /**
26
+ * Check of een HTML element horizontale of verticale scrollbars heeft
27
+ * als dat zo is, dan wordt een class op het element gezet.
28
+ *
29
+ * @param {HTMLElement} el
30
+ * @param {String} dir // vertical of horizontal
31
+ */
32
+ exports.checkForScrollbars = function (el, dir) {
33
+ if (dir === void 0) { dir = 'vertical'; }
34
+ var direction = dir === 'vertical' ? 'scrollTop' : 'scrollLeft';
35
+ var hasScrollbar = !!el[direction];
36
+ if (!hasScrollbar) {
37
+ el[direction] = 1;
38
+ hasScrollbar = !!el[direction];
39
+ el[direction] = 0;
40
+ }
41
+ if (hasScrollbar) {
42
+ el.classList.add("has-" + dir + "-scrollbar");
43
+ }
44
+ else {
45
+ el.classList.remove("has-" + dir + "-scrollbar");
46
+ }
47
+ };
18
48
  /**
19
49
  * Hex kleurcode converten naar rgba
20
50
  *
@@ -105,6 +135,19 @@ exports.isPlainObject = function (value) {
105
135
  }
106
136
  return Object.getPrototypeOf(value) === proto;
107
137
  };
138
+ /**
139
+ * Resize observer; checkt of een HTML element zijn dimensies veranderen
140
+ * en zodra dat gebeurt wordt de callback functie gecalled.
141
+ *
142
+ * @param {HTMLElement} el
143
+ * @param {Function} callback
144
+ */
145
+ exports.observeResize = function (element, callback) {
146
+ var resizeObserver = new ResizeObserver(function () {
147
+ callback(element);
148
+ });
149
+ resizeObserver.observe(element);
150
+ };
108
151
  /**
109
152
  * Wrap een element in een nieuw element
110
153
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amimpact/willy-utils",
3
- "version": "1.6.0",
3
+ "version": "1.6.1-beta.2",
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
  }