@splendidlabz/utils 1.10.1 → 1.10.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 (201) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/dom/accessibility.cjs +0 -2
  3. package/dist/cjs/dom/actions/index.cjs +7 -391
  4. package/dist/cjs/dom/actions/masonry.cjs +6 -97
  5. package/dist/cjs/dom/actions/prefer-horizontal-scroll.cjs +14 -58
  6. package/dist/cjs/dom/actions/sticky.cjs +6 -126
  7. package/dist/cjs/dom/bounding-box.cjs +0 -2
  8. package/dist/cjs/dom/clipboard.cjs +0 -2
  9. package/dist/cjs/dom/cookie.cjs +1 -3
  10. package/dist/cjs/dom/css-vars.cjs +3 -13
  11. package/dist/cjs/dom/events.cjs +0 -2
  12. package/dist/cjs/dom/focusable.cjs +0 -2
  13. package/dist/cjs/dom/font-size.cjs +3 -15
  14. package/dist/cjs/dom/get-element.cjs +1 -3
  15. package/dist/cjs/dom/hash.cjs +0 -2
  16. package/dist/cjs/dom/index.cjs +47 -1248
  17. package/dist/cjs/dom/keyboard.cjs +0 -2
  18. package/dist/cjs/dom/local-store.cjs +1 -3
  19. package/dist/cjs/dom/media.cjs +0 -2
  20. package/dist/cjs/dom/observers/index.cjs +9 -235
  21. package/dist/cjs/dom/observers/intersection-observer.cjs +6 -38
  22. package/dist/cjs/dom/observers/mutation-observer.cjs +6 -38
  23. package/dist/cjs/dom/observers/observer.cjs +2 -12
  24. package/dist/cjs/dom/observers/resize-observer.cjs +6 -38
  25. package/dist/cjs/dom/observers/scroll-observer.cjs +3 -62
  26. package/dist/cjs/dom/pkce.cjs +3 -13
  27. package/dist/cjs/dom/query-params.cjs +1 -3
  28. package/dist/cjs/dom/random-string.cjs +0 -2
  29. package/dist/cjs/dom/sanitize.cjs +3 -27
  30. package/dist/cjs/dom/session-store.cjs +1 -3
  31. package/dist/cjs/dom/spam-prevention.cjs +0 -2
  32. package/dist/cjs/dom/trap-focus.cjs +9 -131
  33. package/dist/cjs/dom/ui/aria-current.cjs +0 -2
  34. package/dist/cjs/dom/ui/inconsistent-button-fix.cjs +0 -2
  35. package/dist/cjs/dom/ui/index.cjs +9 -87
  36. package/dist/cjs/dom/ui/scroll-container.cjs +0 -2
  37. package/dist/cjs/dom/ui/traverse-and-scramble.cjs +0 -2
  38. package/dist/cjs/lib/arrays/index.cjs +13 -121
  39. package/dist/cjs/lib/arrays/item-position.cjs +0 -2
  40. package/dist/cjs/lib/arrays/join.cjs +2 -10
  41. package/dist/cjs/lib/arrays/shuffle.cjs +0 -2
  42. package/dist/cjs/lib/arrays/sort.cjs +3 -11
  43. package/dist/cjs/lib/arrays/split-array.cjs +0 -2
  44. package/dist/cjs/lib/arrays/unique.cjs +0 -2
  45. package/dist/cjs/lib/auth/index.cjs +3 -35
  46. package/dist/cjs/lib/auth/route-manager.cjs +0 -2
  47. package/dist/cjs/lib/checks.cjs +0 -2
  48. package/dist/cjs/lib/date/days.cjs +1 -3
  49. package/dist/cjs/lib/date/index.cjs +7 -190
  50. package/dist/cjs/lib/date/months.cjs +1 -3
  51. package/dist/cjs/lib/date/time.cjs +2 -14
  52. package/dist/cjs/lib/form/form-data.cjs +0 -2
  53. package/dist/cjs/lib/form/index.cjs +5 -104
  54. package/dist/cjs/lib/form/sanitize.cjs +0 -2
  55. package/dist/cjs/lib/functions/callback.cjs +0 -2
  56. package/dist/cjs/lib/functions/debounce.cjs +0 -2
  57. package/dist/cjs/lib/functions/env.cjs +0 -2
  58. package/dist/cjs/lib/functions/functional.cjs +0 -2
  59. package/dist/cjs/lib/functions/index.cjs +11 -124
  60. package/dist/cjs/lib/functions/throttle.cjs +0 -2
  61. package/dist/cjs/lib/functions/timeout.cjs +0 -2
  62. package/dist/cjs/lib/hash.cjs +0 -2
  63. package/dist/cjs/lib/index.cjs +29 -1155
  64. package/dist/cjs/lib/numbers/index.cjs +4 -17
  65. package/dist/cjs/lib/numbers/math.cjs +0 -2
  66. package/dist/cjs/lib/objects/camelcase-keys.cjs +4 -45
  67. package/dist/cjs/lib/objects/empty.cjs +0 -2
  68. package/dist/cjs/lib/objects/equal.cjs +0 -2
  69. package/dist/cjs/lib/objects/extend.cjs +6 -117
  70. package/dist/cjs/lib/objects/flatten.cjs +3 -11
  71. package/dist/cjs/lib/objects/index.cjs +27 -360
  72. package/dist/cjs/lib/objects/json.cjs +0 -2
  73. package/dist/cjs/lib/objects/loop.cjs +0 -2
  74. package/dist/cjs/lib/objects/mix/mix.cjs +3 -5
  75. package/dist/cjs/lib/objects/nested-property.cjs +0 -2
  76. package/dist/cjs/lib/objects/normalize-object.cjs +4 -78
  77. package/dist/cjs/lib/objects/omit-empty.cjs +0 -2
  78. package/dist/cjs/lib/objects/size.cjs +0 -2
  79. package/dist/cjs/lib/objects/split.cjs +0 -2
  80. package/dist/cjs/lib/promises/index.cjs +3 -51
  81. package/dist/cjs/lib/promises/reject.cjs +2 -19
  82. package/dist/cjs/lib/sse.cjs +4 -29
  83. package/dist/cjs/lib/strings/convert-case/convert-case.cjs +0 -2
  84. package/dist/cjs/lib/strings/index.cjs +11 -179
  85. package/dist/cjs/lib/strings/markdown.cjs +1 -3
  86. package/dist/cjs/lib/strings/name.cjs +0 -2
  87. package/dist/cjs/lib/strings/pluralize.cjs +1 -3
  88. package/dist/cjs/lib/strings/query-string.cjs +0 -2
  89. package/dist/cjs/lib/style/index.cjs +2 -31
  90. package/dist/cjs/lib/symbols/index.cjs +3 -22
  91. package/dist/cjs/lib/symbols/symbols.cjs +0 -2
  92. package/dist/cjs/node/common.cjs +0 -2
  93. package/dist/cjs/node/dirname.cjs +2 -4
  94. package/dist/cjs/node/file-cache.cjs +3 -45
  95. package/dist/cjs/node/file.cjs +2 -4
  96. package/dist/cjs/node/hash.cjs +1 -3
  97. package/dist/cjs/node/index.cjs +15 -272
  98. package/dist/cjs/node/pkce.cjs +5 -15
  99. package/dist/cjs/node/random-string.cjs +1 -3
  100. package/dist/cjs/node/sanitize.cjs +3 -27
  101. package/dist/esm/dom/accessibility.js +0 -1
  102. package/dist/esm/dom/actions/index.js +3 -381
  103. package/dist/esm/dom/actions/masonry.js +3 -91
  104. package/dist/esm/dom/actions/prefer-horizontal-scroll.js +4 -45
  105. package/dist/esm/dom/actions/sticky.js +3 -120
  106. package/dist/esm/dom/bounding-box.js +0 -1
  107. package/dist/esm/dom/clipboard.js +0 -1
  108. package/dist/esm/dom/cookie.js +1 -2
  109. package/dist/esm/dom/css-vars.js +1 -8
  110. package/dist/esm/dom/events.js +0 -1
  111. package/dist/esm/dom/focusable.js +0 -1
  112. package/dist/esm/dom/font-size.js +1 -10
  113. package/dist/esm/dom/get-element.js +1 -2
  114. package/dist/esm/dom/hash.js +0 -1
  115. package/dist/esm/dom/index.js +23 -1168
  116. package/dist/esm/dom/keyboard.js +0 -1
  117. package/dist/esm/dom/local-store.js +1 -2
  118. package/dist/esm/dom/media.js +0 -1
  119. package/dist/esm/dom/observers/index.js +4 -224
  120. package/dist/esm/dom/observers/intersection-observer.js +2 -31
  121. package/dist/esm/dom/observers/mutation-observer.js +3 -32
  122. package/dist/esm/dom/observers/observer.js +1 -8
  123. package/dist/esm/dom/observers/resize-observer.js +2 -31
  124. package/dist/esm/dom/observers/scroll-observer.js +2 -58
  125. package/dist/esm/dom/pkce.js +1 -8
  126. package/dist/esm/dom/query-params.js +1 -2
  127. package/dist/esm/dom/random-string.js +0 -1
  128. package/dist/esm/dom/sanitize.js +3 -26
  129. package/dist/esm/dom/session-store.js +1 -2
  130. package/dist/esm/dom/spam-prevention.js +0 -1
  131. package/dist/esm/dom/trap-focus.js +2 -121
  132. package/dist/esm/dom/ui/aria-current.js +0 -1
  133. package/dist/esm/dom/ui/inconsistent-button-fix.js +0 -1
  134. package/dist/esm/dom/ui/index.js +4 -75
  135. package/dist/esm/dom/ui/scroll-container.js +0 -1
  136. package/dist/esm/dom/ui/traverse-and-scramble.js +0 -1
  137. package/dist/esm/lib/arrays/index.js +6 -106
  138. package/dist/esm/lib/arrays/item-position.js +0 -1
  139. package/dist/esm/lib/arrays/join.js +1 -6
  140. package/dist/esm/lib/arrays/shuffle.js +0 -1
  141. package/dist/esm/lib/arrays/sort.js +1 -6
  142. package/dist/esm/lib/arrays/split-array.js +0 -1
  143. package/dist/esm/lib/arrays/unique.js +0 -1
  144. package/dist/esm/lib/auth/index.js +1 -26
  145. package/dist/esm/lib/auth/route-manager.js +0 -1
  146. package/dist/esm/lib/checks.js +0 -1
  147. package/dist/esm/lib/date/days.js +1 -2
  148. package/dist/esm/lib/date/index.js +3 -173
  149. package/dist/esm/lib/date/months.js +1 -2
  150. package/dist/esm/lib/date/time.js +1 -10
  151. package/dist/esm/lib/form/form-data.js +0 -1
  152. package/dist/esm/lib/form/index.js +2 -92
  153. package/dist/esm/lib/form/sanitize.js +0 -1
  154. package/dist/esm/lib/functions/callback.js +0 -1
  155. package/dist/esm/lib/functions/debounce.js +0 -1
  156. package/dist/esm/lib/functions/env.js +0 -1
  157. package/dist/esm/lib/functions/functional.js +0 -1
  158. package/dist/esm/lib/functions/index.js +5 -105
  159. package/dist/esm/lib/functions/throttle.js +0 -1
  160. package/dist/esm/lib/functions/timeout.js +0 -1
  161. package/dist/esm/lib/hash.js +0 -1
  162. package/dist/esm/lib/index.js +14 -1052
  163. package/dist/esm/lib/numbers/index.js +2 -12
  164. package/dist/esm/lib/numbers/math.js +0 -1
  165. package/dist/esm/lib/objects/camelcase-keys.js +2 -40
  166. package/dist/esm/lib/objects/empty.js +0 -1
  167. package/dist/esm/lib/objects/equal.js +0 -1
  168. package/dist/esm/lib/objects/extend.js +3 -111
  169. package/dist/esm/lib/objects/flatten.js +1 -6
  170. package/dist/esm/lib/objects/index.js +13 -323
  171. package/dist/esm/lib/objects/json.js +0 -1
  172. package/dist/esm/lib/objects/loop.js +0 -1
  173. package/dist/esm/lib/objects/mix/mix.js +3 -4
  174. package/dist/esm/lib/objects/nested-property.js +0 -1
  175. package/dist/esm/lib/objects/normalize-object.js +3 -74
  176. package/dist/esm/lib/objects/omit-empty.js +0 -1
  177. package/dist/esm/lib/objects/size.js +0 -1
  178. package/dist/esm/lib/objects/split.js +0 -1
  179. package/dist/esm/lib/promises/index.js +1 -33
  180. package/dist/esm/lib/promises/reject.js +1 -17
  181. package/dist/esm/lib/sse.js +2 -24
  182. package/dist/esm/lib/strings/convert-case/convert-case.js +0 -1
  183. package/dist/esm/lib/strings/index.js +5 -147
  184. package/dist/esm/lib/strings/markdown.js +1 -2
  185. package/dist/esm/lib/strings/name.js +0 -1
  186. package/dist/esm/lib/strings/pluralize.js +1 -2
  187. package/dist/esm/lib/strings/query-string.js +0 -1
  188. package/dist/esm/lib/style/index.js +1 -27
  189. package/dist/esm/lib/symbols/index.js +1 -13
  190. package/dist/esm/lib/symbols/symbols.js +0 -1
  191. package/dist/esm/node/common.js +0 -1
  192. package/dist/esm/node/dirname.js +2 -3
  193. package/dist/esm/node/file-cache.js +2 -43
  194. package/dist/esm/node/file.js +2 -3
  195. package/dist/esm/node/hash.js +1 -2
  196. package/dist/esm/node/index.js +7 -243
  197. package/dist/esm/node/pkce.js +3 -12
  198. package/dist/esm/node/random-string.js +1 -2
  199. package/dist/esm/node/sanitize.js +3 -26
  200. package/package.json +1 -1
  201. package/tsup.config.mjs +2 -0
@@ -15,138 +15,18 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/dom/actions/sticky.js
20
18
  var sticky_exports = {};
21
19
  __export(sticky_exports, {
22
20
  sticky: () => sticky
23
21
  });
24
22
  module.exports = __toCommonJS(sticky_exports);
25
-
26
- // src/dom/bounding-box.js
27
- function boundingBox(element, { containsPadding = true } = {}) {
28
- const box = element.getBoundingClientRect();
29
- const ret = {};
30
- for (const prop in box) ret[prop] = box[prop];
31
- if (!containsPadding) {
32
- const style = getComputedStyle(element);
33
- const paddingTop = parseFloat(style.paddingTop);
34
- const paddingRight = parseFloat(style.paddingRight);
35
- const paddingBottom = parseFloat(style.paddingBottom);
36
- const paddingLeft = parseFloat(style.paddingLeft);
37
- ret.x = ret.x + paddingLeft;
38
- ret.y = ret.y + paddingTop;
39
- ret.width = ret.width - paddingLeft - paddingRight;
40
- ret.height = ret.height - paddingTop - paddingBottom;
41
- ret.top = ret.top + paddingTop;
42
- ret.bottom = ret.bottom - paddingBottom;
43
- ret.right = ret.right - paddingRight;
44
- ret.left = ret.left + paddingLeft;
45
- }
46
- ret.xCenter = (ret.left + ret.right) / 2;
47
- ret.yCenter = (ret.top + ret.bottom) / 2;
48
- return ret;
49
- }
50
- function boundingBoxRelativeToAncestor({ element, ancestorElement }) {
51
- ancestorElement = ancestorElement || element.parentElement;
52
- const box = boundingBox(element);
53
- const ancestorBox = boundingBox(ancestorElement, {
54
- containsPadding: false
55
- });
56
- return {
57
- top: box.top - ancestorBox.top,
58
- right: box.right - ancestorBox.right,
59
- bottom: box.bottom - ancestorBox.bottom,
60
- left: box.left - ancestorBox.left,
61
- width: box.width,
62
- height: box.height,
63
- xCenter: (box.left + box.right) / 2 - ancestorBox.left,
64
- yCenter: (box.top + box.bottom) / 2 - ancestorBox.top
65
- };
66
- }
67
-
68
- // src/dom/events.js
69
- function dispatchEvent(node, eventName, detail, options = {}) {
70
- node.dispatchEvent(
71
- new CustomEvent(eventName, {
72
- ...options,
73
- detail
74
- })
75
- );
76
- }
77
-
78
- // src/dom/get-element.js
79
- function getNodeType(node) {
80
- if (node instanceof Element) return "element";
81
- if (node instanceof NodeList) return "nodelist";
82
- if (Array.isArray(node)) return "array";
83
- }
84
-
85
- // src/dom/observers/observer.js
86
- function useObserverMethodOnTarget(target, observer, method = "observe", options = void 0) {
87
- const targetType = getNodeType(target);
88
- if (targetType === "element") observer[method](target, options);
89
- if (targetType === "nodelist") {
90
- const elements = Array.from(target);
91
- elements.forEach((element) => observer[method](element, options));
92
- }
93
- if (targetType === "array") {
94
- target.forEach((element) => observer[method](element, options));
95
- }
96
- }
97
-
98
- // src/dom/observers/resize-observer.js
99
- function resizeObserver(target, options) {
100
- const { callback, ...opts } = options;
101
- const observer = new ResizeObserver(observerFn);
102
- if (target === window || target === document)
103
- target = document.documentElement;
104
- useObserverMethodOnTarget(target, observer, "observe", opts);
105
- function observerFn(entries) {
106
- for (const entry of entries) {
107
- if (callback) callback({ entry, entries, observer });
108
- else
109
- dispatchEvent(entry.target, "resize-obs", { entry, entries, observer });
110
- }
111
- }
112
- return {
113
- observe(target2) {
114
- useObserverMethodOnTarget(target2, observer, "observe", options);
115
- },
116
- unobserve(target2) {
117
- useObserverMethodOnTarget(target2, observer, "unobserve");
118
- },
119
- disconnect: (_) => observer.disconnect(),
120
- destroy: (_) => observer.disconnect()
121
- };
122
- }
123
-
124
- // src/dom/ui/scroll-container.js
125
- function findScrollContainer(element, direction = "both") {
126
- if (!element) return;
127
- let parent = element.parentElement;
128
- while (parent) {
129
- const { overflow, overflowX, overflowY } = getComputedStyle(parent);
130
- if (direction === "both") {
131
- if (overflow.includes("auto") || overflow.includes("scroll"))
132
- return parent;
133
- }
134
- if (direction === "horizontal") {
135
- if (overflowX === "auto" || overflowX === "scroll") return parent;
136
- }
137
- if (direction === "vertical") {
138
- if (overflowY === "auto" || overflowY === "scroll") return parent;
139
- }
140
- parent = parent.parentElement;
141
- }
142
- return document.documentElement;
143
- }
144
-
145
- // src/dom/actions/sticky.js
23
+ var import_bounding_box = require("../bounding-box.js");
24
+ var import_resize_observer = require("../observers/resize-observer.js");
25
+ var import_scroll_container = require("../ui/scroll-container.js");
146
26
  function sticky(node, props = {}) {
147
- const scrollContainer = findScrollContainer(node);
27
+ const scrollContainer = (0, import_scroll_container.findScrollContainer)(node);
148
28
  let stickyTBLR = getComputedTBLR(node);
149
- const obs = resizeObserver(node, {
29
+ const obs = (0, import_resize_observer.resizeObserver)(node, {
150
30
  callback: ({ entry }) => {
151
31
  stickyTBLR = getComputedTBLR(node);
152
32
  isSticking();
@@ -158,7 +38,7 @@ function sticky(node, props = {}) {
158
38
  }
159
39
  function isSticking() {
160
40
  const { top, bottom, left, right } = stickyTBLR;
161
- const relativeRect = boundingBoxRelativeToAncestor({
41
+ const relativeRect = (0, import_bounding_box.boundingBoxRelativeToAncestor)({
162
42
  element: node,
163
43
  ancestorElement: scrollContainer
164
44
  });
@@ -15,8 +15,6 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/dom/bounding-box.js
20
18
  var bounding_box_exports = {};
21
19
  __export(bounding_box_exports, {
22
20
  boundingBox: () => boundingBox,
@@ -15,8 +15,6 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/dom/clipboard.js
20
18
  var clipboard_exports = {};
21
19
  __export(clipboard_exports, {
22
20
  copyRichText: () => copyRichText
@@ -15,15 +15,13 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/dom/cookie.js
20
18
  var cookie_exports = {};
21
19
  __export(cookie_exports, {
22
20
  cookies: () => cookies,
23
21
  getCookie: () => getCookie
24
22
  });
25
23
  module.exports = __toCommonJS(cookie_exports);
26
- var cookies = {
24
+ const cookies = {
27
25
  get(name) {
28
26
  return getCookie(name);
29
27
  },
@@ -15,8 +15,6 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/dom/css-vars.js
20
18
  var css_vars_exports = {};
21
19
  __export(css_vars_exports, {
22
20
  getCSSValue: () => getCSSValue,
@@ -25,15 +23,7 @@ __export(css_vars_exports, {
25
23
  setCSSVar: () => setCSSVar
26
24
  });
27
25
  module.exports = __toCommonJS(css_vars_exports);
28
-
29
- // src/dom/get-element.js
30
- function getElement(selector) {
31
- if (!selector) return;
32
- if (selector instanceof Element) return selector;
33
- return document.querySelector(selector);
34
- }
35
-
36
- // src/dom/css-vars.js
26
+ var import_get_element = require("./get-element.js");
37
27
  function getCSSValue(element, prop) {
38
28
  return getCSSVar(element, prop);
39
29
  }
@@ -41,11 +31,11 @@ function setCSSValue(element, prop, value) {
41
31
  setCSSVar(element, prop, value);
42
32
  }
43
33
  function getCSSVar(element, prop) {
44
- element = getElement(element);
34
+ element = (0, import_get_element.getElement)(element);
45
35
  return getComputedStyle(element).getPropertyValue(prop);
46
36
  }
47
37
  function setCSSVar(element, prop, value) {
48
- element = getElement(element);
38
+ element = (0, import_get_element.getElement)(element);
49
39
  element.style.setProperty(prop, value);
50
40
  }
51
41
  // Annotate the CommonJS export names for ESM import in node:
@@ -15,8 +15,6 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/dom/events.js
20
18
  var events_exports = {};
21
19
  __export(events_exports, {
22
20
  addListeners: () => addListeners,
@@ -15,8 +15,6 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/dom/focusable.js
20
18
  var focusable_exports = {};
21
19
  __export(focusable_exports, {
22
20
  Focusable: () => Focusable,
@@ -15,8 +15,6 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/dom/font-size.js
20
18
  var font_size_exports = {};
21
19
  __export(font_size_exports, {
22
20
  em: () => em,
@@ -27,19 +25,9 @@ __export(font_size_exports, {
27
25
  toPx: () => toPx
28
26
  });
29
27
  module.exports = __toCommonJS(font_size_exports);
30
-
31
- // src/lib/numbers/index.js
32
- function splitUnit(string) {
33
- if (typeof string === "number") return [string, null];
34
- const regex = /(-?\d*\.?\d+)\s*([a-z]+)/i;
35
- const match = string.match(regex);
36
- if (match) return [parseFloat(match[1]), match[2]];
37
- return [parseFloat(string), null];
38
- }
39
-
40
- // src/dom/font-size.js
28
+ var import_numbers = require("../lib/numbers/index.js");
41
29
  function getUnit(value) {
42
- const [, unit] = splitUnit(value);
30
+ const [, unit] = (0, import_numbers.splitUnit)(value);
43
31
  return unit;
44
32
  }
45
33
  function rem(multiple = 1) {
@@ -60,7 +48,7 @@ function lh(element = document.body, multiple = 1) {
60
48
  return Math.round(value * multiple);
61
49
  }
62
50
  function toPx(value, element = null) {
63
- const [numeric, unit] = splitUnit(value);
51
+ const [numeric, unit] = (0, import_numbers.splitUnit)(value);
64
52
  let finalValue = 0;
65
53
  if (unit === "rem") finalValue = rem(numeric);
66
54
  if (unit === "em") finalValue = em(element, numeric);
@@ -15,8 +15,6 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/dom/get-element.js
20
18
  var get_element_exports = {};
21
19
  __export(get_element_exports, {
22
20
  getAncestorWithSiblings: () => getAncestorWithSiblings,
@@ -29,7 +27,7 @@ __export(get_element_exports, {
29
27
  isAncestor: () => isAncestor
30
28
  });
31
29
  module.exports = __toCommonJS(get_element_exports);
32
- var astroNodes = ["ASTRO-SLOT", "ASTRO-ISLAND"];
30
+ const astroNodes = ["ASTRO-SLOT", "ASTRO-ISLAND"];
33
31
  function getNodeType(node) {
34
32
  if (node instanceof Element) return "element";
35
33
  if (node instanceof NodeList) return "nodelist";
@@ -15,8 +15,6 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // src/dom/hash.js
20
18
  var hash_exports = {};
21
19
  __export(hash_exports, {
22
20
  sha256Hash: () => sha256Hash