@symbo.ls/utils 3.14.1 → 3.14.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 (133) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/array.cjs +1 -0
  3. package/dist/cjs/assets.cjs +1 -0
  4. package/dist/cjs/browser.cjs +1 -0
  5. package/dist/cjs/cache.cjs +1 -0
  6. package/dist/cjs/cdn.cjs +3 -0
  7. package/dist/cjs/component.cjs +1 -0
  8. package/dist/cjs/cookie.cjs +1 -0
  9. package/dist/cjs/date.cjs +1 -0
  10. package/dist/cjs/detectHeight.cjs +1 -0
  11. package/dist/cjs/element.cjs +1 -0
  12. package/dist/cjs/env.cjs +2 -0
  13. package/dist/cjs/events.cjs +1 -0
  14. package/dist/cjs/extends.cjs +1 -0
  15. package/dist/cjs/fibonacci.cjs +1 -0
  16. package/dist/cjs/files.cjs +1 -0
  17. package/dist/cjs/function.cjs +1 -0
  18. package/dist/cjs/globals.cjs +1 -0
  19. package/dist/cjs/if.cjs +1 -0
  20. package/dist/cjs/index.cjs +1 -0
  21. package/dist/cjs/key.cjs +1 -0
  22. package/dist/cjs/keys.cjs +1 -0
  23. package/dist/cjs/load.cjs +1 -0
  24. package/dist/cjs/log.cjs +1 -0
  25. package/dist/cjs/metadata.cjs +2 -0
  26. package/dist/cjs/methods.cjs +10 -0
  27. package/dist/cjs/node.cjs +1 -0
  28. package/dist/cjs/object.cjs +12 -0
  29. package/dist/cjs/projectKeys.cjs +1 -0
  30. package/dist/cjs/props.cjs +1 -0
  31. package/dist/cjs/scaling.cjs +1 -0
  32. package/dist/cjs/scope.cjs +1 -0
  33. package/dist/cjs/sharedLibraries.cjs +1 -0
  34. package/dist/cjs/state.cjs +1 -0
  35. package/dist/cjs/string-extra.cjs +1 -0
  36. package/dist/cjs/string.cjs +3 -0
  37. package/dist/cjs/style.cjs +1 -0
  38. package/dist/cjs/tags.cjs +1 -0
  39. package/dist/cjs/triggerEvent.cjs +1 -0
  40. package/dist/cjs/types.cjs +1 -0
  41. package/dist/cjs/update.cjs +1 -0
  42. package/dist/esm/array.js +1 -0
  43. package/dist/esm/assets.js +1 -0
  44. package/dist/esm/browser.js +1 -0
  45. package/dist/esm/cache.js +1 -0
  46. package/dist/esm/cdn.js +3 -0
  47. package/dist/esm/component.js +1 -0
  48. package/dist/esm/cookie.js +1 -0
  49. package/dist/esm/date.js +1 -0
  50. package/dist/esm/detectHeight.js +1 -0
  51. package/dist/esm/element.js +1 -0
  52. package/dist/esm/env.js +2 -0
  53. package/dist/esm/events.js +1 -0
  54. package/dist/esm/extends.js +1 -0
  55. package/dist/esm/fibonacci.js +1 -0
  56. package/dist/esm/files.js +1 -0
  57. package/dist/esm/function.js +1 -0
  58. package/dist/esm/globals.js +1 -0
  59. package/dist/esm/if.js +1 -0
  60. package/dist/esm/index.js +1 -0
  61. package/dist/esm/key.js +1 -0
  62. package/dist/esm/keys.js +1 -0
  63. package/dist/esm/load.js +1 -0
  64. package/dist/esm/log.js +1 -0
  65. package/dist/esm/metadata.js +2 -0
  66. package/dist/esm/methods.js +10 -0
  67. package/dist/esm/node.js +1 -0
  68. package/dist/esm/object.js +12 -0
  69. package/dist/esm/projectKeys.js +1 -0
  70. package/dist/esm/props.js +1 -0
  71. package/dist/esm/scaling.js +1 -0
  72. package/dist/esm/scope.js +1 -0
  73. package/dist/esm/sharedLibraries.js +1 -0
  74. package/dist/esm/state.js +1 -0
  75. package/dist/esm/string-extra.js +1 -0
  76. package/dist/esm/string.js +3 -0
  77. package/dist/esm/style.js +1 -0
  78. package/dist/esm/tags.js +1 -0
  79. package/dist/esm/triggerEvent.js +1 -0
  80. package/dist/esm/types.js +1 -0
  81. package/dist/esm/update.js +1 -0
  82. package/package.json +35 -18
  83. package/array.js +0 -162
  84. package/assets.js +0 -117
  85. package/browser.js +0 -13
  86. package/cache.js +0 -7
  87. package/cdn.js +0 -83
  88. package/component.js +0 -25
  89. package/cookie.js +0 -78
  90. package/date.js +0 -10
  91. package/detectHeight.js +0 -42
  92. package/dist/cjs/browser.js +0 -36
  93. package/dist/cjs/date.js +0 -33
  94. package/dist/cjs/detectHeight.js +0 -53
  95. package/dist/cjs/domqlv3hacks.js +0 -3845
  96. package/dist/cjs/fibonacci.js +0 -32
  97. package/dist/cjs/files.js +0 -26
  98. package/dist/cjs/index.js +0 -4100
  99. package/dist/cjs/load.js +0 -173
  100. package/dist/cjs/package.json +0 -4
  101. package/dist/cjs/scaling.js +0 -53
  102. package/dist/cjs/style.js +0 -42
  103. package/element.js +0 -148
  104. package/env.js +0 -15
  105. package/events.js +0 -19
  106. package/extends.js +0 -519
  107. package/fibonacci.js +0 -9
  108. package/files.js +0 -3
  109. package/function.js +0 -145
  110. package/globals.js +0 -8
  111. package/if.js +0 -30
  112. package/index.js +0 -42
  113. package/key.js +0 -20
  114. package/keys.js +0 -176
  115. package/load.js +0 -236
  116. package/log.js +0 -12
  117. package/metadata.js +0 -392
  118. package/methods.js +0 -684
  119. package/node.js +0 -37
  120. package/object.js +0 -837
  121. package/projectKeys.js +0 -30
  122. package/props.js +0 -327
  123. package/scaling.js +0 -15
  124. package/scope.js +0 -32
  125. package/sharedLibraries.js +0 -184
  126. package/state.js +0 -203
  127. package/string-extra.js +0 -69
  128. package/string.js +0 -206
  129. package/style.js +0 -23
  130. package/tags.js +0 -176
  131. package/triggerEvent.js +0 -102
  132. package/types.js +0 -55
  133. package/update.js +0 -27
package/dist/cjs/load.js DELETED
@@ -1,173 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/load.js
21
- var load_exports = {};
22
- __export(load_exports, {
23
- loadCssFile: () => loadCssFile,
24
- loadJavascript: () => loadJavascript,
25
- loadJavascriptFile: () => loadJavascriptFile,
26
- loadJavascriptFileEmbedSync: () => loadJavascriptFileEmbedSync,
27
- loadJavascriptFileSync: () => loadJavascriptFileSync,
28
- loadRemoteCSS: () => loadRemoteCSS,
29
- loadRemoteScript: () => loadRemoteScript
30
- });
31
- module.exports = __toCommonJS(load_exports);
32
- var loadJavascriptFile = (FILE_URL, async = false, doc = document, type = "text/javascript") => {
33
- return new Promise((resolve, reject) => {
34
- try {
35
- const scriptEle = doc.createElement("script");
36
- scriptEle.type = type;
37
- scriptEle.async = async;
38
- scriptEle.src = FILE_URL;
39
- scriptEle.addEventListener("load", (ev) => {
40
- resolve({
41
- status: true
42
- });
43
- });
44
- scriptEle.addEventListener("error", (ev) => {
45
- reject(
46
- new Error({
47
- status: false,
48
- message: `Failed to load the script ${FILE_URL}`
49
- })
50
- );
51
- });
52
- doc.body.appendChild(scriptEle);
53
- } catch (error) {
54
- reject(error);
55
- }
56
- });
57
- };
58
- var loadJavascriptFileSync = (fileUrl, doc = document, type = "text/javascript") => {
59
- return new Promise((resolve, reject) => {
60
- const scriptEle = doc.createElement("script");
61
- scriptEle.type = type;
62
- scriptEle.src = fileUrl;
63
- const blocker = doc.createElement("div");
64
- blocker.style.cssText = "position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,0.8);z-index:9999;";
65
- doc.body.appendChild(blocker);
66
- scriptEle.onload = () => {
67
- console.log(`Successfully loaded: ${fileUrl}`);
68
- doc.body.removeChild(blocker);
69
- resolve();
70
- };
71
- scriptEle.onerror = () => {
72
- doc.body.removeChild(blocker);
73
- reject(new Error(`Failed to load: ${fileUrl}`));
74
- };
75
- doc.body.appendChild(scriptEle);
76
- });
77
- };
78
- var loadJavascriptFileEmbedSync = (FILE_URL, doc = document, fallback, type = "text/javascript") => {
79
- const xhr = new window.XMLHttpRequest();
80
- xhr.open("GET", FILE_URL, false);
81
- xhr.send();
82
- if (xhr.status === 200) {
83
- const scriptEle = doc.createElement("script");
84
- scriptEle.type = type;
85
- scriptEle.text = xhr.responseText;
86
- doc.body.appendChild(scriptEle);
87
- if (typeof fallback === "function") fallback();
88
- } else {
89
- throw new Error(`Failed to load the script ${FILE_URL}`);
90
- }
91
- };
92
- var loadCssFile = (FILE_URL, async = false, doc = document, type = "text/javascript") => {
93
- return new Promise((resolve, reject) => {
94
- try {
95
- const linkElem = doc.createElement("link");
96
- linkElem.rel = "stylesheet";
97
- linkElem.href = FILE_URL;
98
- linkElem.addEventListener("load", (ev) => {
99
- resolve({
100
- status: true
101
- });
102
- });
103
- doc.head.appendChild(linkElem);
104
- } catch (error) {
105
- reject(error);
106
- }
107
- });
108
- };
109
- var loadJavascript = (body, async = false, doc = document, type = "text/javascript", id = "smbls-script") => {
110
- try {
111
- const scriptEle = doc.createElement("script");
112
- scriptEle.type = type;
113
- scriptEle.async = async;
114
- scriptEle.id = id;
115
- scriptEle.innerHTML = body;
116
- doc.body.appendChild(scriptEle);
117
- } catch (error) {
118
- console.warn(error);
119
- }
120
- };
121
- function loadRemoteScript(url, options = {}) {
122
- const { window: window2 = globalThis } = options;
123
- const { document: document2 = window2.document } = options;
124
- return new Promise((resolve, reject) => {
125
- const existingScript = document2.querySelector(`script[src="${url}"]`);
126
- if (existingScript) {
127
- return resolve(existingScript);
128
- }
129
- const script = document2.createElement("script");
130
- script.src = url;
131
- script.async = options.async === true;
132
- script.type = options.type || "text/javascript";
133
- if (options.id) script.id = options.id;
134
- if (options.integrity) script.integrity = options.integrity;
135
- if (options.crossOrigin) script.crossOrigin = options.crossOrigin;
136
- script.onload = () => {
137
- script.onerror = script.onload = null;
138
- resolve(script);
139
- };
140
- script.onerror = () => {
141
- script.onerror = script.onload = null;
142
- reject(new Error(`Failed to load script: ${url}`));
143
- };
144
- document2.head.appendChild(script);
145
- });
146
- }
147
- async function loadRemoteCSS(url, options = {}) {
148
- const { window: window2 = globalThis } = options;
149
- const { document: document2 = window2.document } = options;
150
- return new Promise((resolve, reject) => {
151
- const existingLink = document2.querySelector(`link[href="${url}"]`);
152
- if (existingLink) {
153
- return resolve(existingLink);
154
- }
155
- const link = document2.createElement("link");
156
- link.href = url;
157
- link.rel = options.rel || "stylesheet";
158
- link.type = "text/css";
159
- link.media = options.media || "all";
160
- if (options.id) link.id = options.id;
161
- if (options.integrity) link.integrity = options.integrity;
162
- if (options.crossOrigin) link.crossOrigin = options.crossOrigin;
163
- link.onload = () => {
164
- link.onerror = link.onload = null;
165
- resolve(link);
166
- };
167
- link.onerror = () => {
168
- link.onerror = link.onload = null;
169
- reject(new Error(`Failed to load stylesheet: ${url}`));
170
- };
171
- document2.head.appendChild(link);
172
- });
173
- }
@@ -1,4 +0,0 @@
1
- {
2
- "type": "commonjs",
3
- "main": "index.js"
4
- }
@@ -1,53 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/scaling.js
21
- var scaling_exports = {};
22
- __export(scaling_exports, {
23
- findClosestNumber: () => findClosestNumber,
24
- findClosestNumberInFactory: () => findClosestNumberInFactory
25
- });
26
- module.exports = __toCommonJS(scaling_exports);
27
-
28
- // ../../../domql/packages/utils/globals.js
29
- var window2 = globalThis;
30
- var document2 = window2.document;
31
-
32
- // ../../../domql/packages/utils/types.js
33
- var isObject = (arg) => {
34
- if (arg === null) return false;
35
- return typeof arg === "object" && arg.constructor === Object;
36
- };
37
- var isArray = (arg) => Array.isArray(arg);
38
-
39
- // ../../../domql/packages/utils/cookie.js
40
- var isMobile = (() => typeof navigator === "undefined" ? false : /Mobi/.test(navigator.userAgent))();
41
-
42
- // src/scaling.js
43
- var findClosestNumber = (number, arr) => {
44
- return (isArray(arr) ? arr : Object.values(arr)).reduce((prev, curr) => {
45
- return Math.abs(curr - number) < Math.abs(prev - number) ? curr : prev;
46
- });
47
- };
48
- var findClosestNumberInFactory = (val, factory) => {
49
- val = parseFloat(val);
50
- if (isObject(factory)) factory = Object.values(factory);
51
- return findClosestNumber(val, factory);
52
- };
53
- // @preserve-env
package/dist/cjs/style.js DELETED
@@ -1,42 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/style.js
21
- var style_exports = {};
22
- __export(style_exports, {
23
- getEmotionStylesheet: () => getEmotionStylesheet
24
- });
25
- module.exports = __toCommonJS(style_exports);
26
- var getEmotionStylesheet = () => {
27
- const stylesheet = document.styleSheets[0];
28
- let str = "";
29
- if (stylesheet) {
30
- try {
31
- const cssRules = stylesheet.cssRules || stylesheet.rules;
32
- for (let i = 0; i < cssRules.length; i++) {
33
- str += cssRules[i].cssText;
34
- }
35
- } catch (error) {
36
- console.error("Unable to access CSS rules. This may be due to CORS restrictions:", error);
37
- }
38
- } else {
39
- console.log("No stylesheets found in document.styleSheets[0].");
40
- }
41
- return str;
42
- };
package/element.js DELETED
@@ -1,148 +0,0 @@
1
- 'use strict'
2
-
3
- import { createExtends } from './extends.js'
4
- import { createKey } from './key.js'
5
- import { isNode } from './node.js'
6
- import { createProps } from './props.js'
7
- import { HTML_TAGS } from './tags.js'
8
- import { is, isFunction } from './types.js'
9
-
10
- const ENV = process.env.NODE_ENV
11
-
12
- export const returnValueAsText = (element, parent, key) => {
13
- const childExtendsTag = parent.childExtends && parent.childExtends.tag
14
- const childPropsTag = parent.childProps && parent.childProps.tag
15
- const isKeyValidHTMLTag = HTML_TAGS.body.has(key) && key
16
- return {
17
- text: element,
18
- tag: childExtendsTag || childPropsTag || isKeyValidHTMLTag || 'string'
19
- }
20
- }
21
-
22
- export const createBasedOnType = (element, parent, key) => {
23
- // if ELEMENT is not given
24
- if (element === undefined) {
25
- if (ENV === 'test' || ENV === 'development') {
26
- console.warn(
27
- key,
28
- 'element is undefined in',
29
- parent?.__ref?.path
30
- )
31
- }
32
- return {}
33
- }
34
-
35
- if (element === null) return
36
- if (element === true) return {}
37
-
38
- if (is(element)('string', 'number')) {
39
- return returnValueAsText(element, parent, key)
40
- }
41
-
42
- if (isFunction(element)) {
43
- return { props: element }
44
- }
45
-
46
- return element
47
- }
48
-
49
- export const addRef = (element, parent) => {
50
- const ref = {}
51
- ref.origin = element
52
- ref.parent = parent
53
- return ref
54
- }
55
-
56
- export const createParent = (element, parent, key, options, root) => {
57
- if (!parent) return root
58
- if (isNode(parent)) {
59
- const parentNodeWrapper = { key: ':root', node: parent }
60
- root[`${key}_parent`] = parentNodeWrapper
61
- return parentNodeWrapper
62
- }
63
- return parent
64
- }
65
-
66
- export const createRoot = (element, parent) => {
67
- const { __ref: ref } = element
68
- const { __ref: parentRef } = parent
69
-
70
- const hasRoot = parent && parent.key === ':root'
71
- if (!ref?.root) {
72
- ref.root = hasRoot ? element : parentRef?.root
73
- }
74
- }
75
-
76
- export const createPath = (element, parent, key) => {
77
- let { __ref: parentRef } = parent
78
- // set the PATH array
79
- if (!parentRef) parentRef = parent.ref = {}
80
- if (!parentRef.path) parentRef.path = []
81
- return parentRef.path.concat(key)
82
- }
83
-
84
- export const addContext = (element, parent, key, options, root) => {
85
- const forcedOptionsContext =
86
- options.context && !root.context && !element.context
87
- if (forcedOptionsContext) root.context = options.context
88
-
89
- // inherit from parent or root
90
- return options.context || parent.context || root.context || element.context
91
- }
92
-
93
- export const addCaching = (element, parent, key) => {
94
- const ref = addRef(element, parent)
95
-
96
- element.__ref = ref
97
-
98
- // enable CACHING
99
- if (!ref.__defineCache) ref.__defineCache = {}
100
-
101
- // enable EXEC
102
- if (!ref.__exec) ref.__exec = {}
103
- if (!ref.__execProps) ref.__execProps = {}
104
-
105
- // enable CLASS CACHING
106
- if (!ref.__class) ref.__class = {}
107
- if (!ref.__classNames) ref.__classNames = {}
108
-
109
- // enable CLASS CACHING
110
- if (!ref.__attr) ref.__attr = {}
111
-
112
- // enable CHANGES storing
113
- if (!ref.__changes) ref.__changes = []
114
-
115
- // enable CHANGES storing
116
- if (!ref.__children) ref.__children = []
117
-
118
- ref.__extends = createExtends(element, parent, key)
119
- ref.path = createPath(element, parent, key)
120
-
121
- return ref
122
- }
123
-
124
- export const createElement = (passedProps, parentEl, passedKey, opts, root) => {
125
- const hashed = passedProps?.__hash
126
- const element = hashed
127
- ? { extends: [passedProps] }
128
- : createBasedOnType(passedProps, parentEl, passedKey)
129
- if (!element) return
130
-
131
- const parent = createParent(element, parentEl, passedKey, opts, root)
132
- const key = createKey(element, parent, passedKey)
133
-
134
- addCaching(element, parent, key)
135
-
136
- const props = createProps(element, parent, key)
137
- const context = addContext(element, parent, key, opts, root)
138
- const on = element.on || {}
139
-
140
- return {
141
- ...element,
142
- key,
143
- props,
144
- parent,
145
- context,
146
- on
147
- }
148
- }
package/env.js DELETED
@@ -1,15 +0,0 @@
1
- 'use strict'
2
-
3
- // @preserve-env
4
- export const NODE_ENV = process.env.NODE_ENV
5
- export const ENV = NODE_ENV
6
-
7
- export const isProduction = (env = NODE_ENV) => env === 'production'
8
- export const isTest = (env = NODE_ENV) => env === 'testing' || env === 'test'
9
- export const isTesting = isTest
10
- export const isStaging = (env = NODE_ENV) => env === 'staging'
11
- export const isLocal = (env = NODE_ENV) => env === 'local'
12
- export const isDevelopment = (env = NODE_ENV) =>
13
- env === 'development' || env === 'dev' || env === 'local'
14
- export const getNev = (key, env = NODE_ENV) => env[key]
15
- export const isNotProduction = (env = NODE_ENV) => !isProduction(env)
package/events.js DELETED
@@ -1,19 +0,0 @@
1
- 'use strict'
2
-
3
- import { lowercaseFirstLetter } from './string.js'
4
- import { isFunction } from './types.js'
5
-
6
- export function addEventFromProps (key, obj) {
7
- const { props, on } = obj
8
- const eventName = lowercaseFirstLetter(key.split('on')[1])
9
- const origEvent = on[eventName]
10
- const funcFromProps = props[key]
11
- if (isFunction(origEvent)) {
12
- on[eventName] = (...args) => {
13
- const originalEventRetunrs = origEvent(...args)
14
- if (originalEventRetunrs !== false) {
15
- if (isFunction(funcFromProps)) return funcFromProps(...args)
16
- }
17
- }
18
- } else on[eventName] = funcFromProps
19
- }