umaki 0.13.0 → 0.13.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.
Files changed (273) hide show
  1. package/README.md +15 -0
  2. package/dist/LICENSE.txt +1 -32
  3. package/dist/_virtual/_rolldown/runtime.cjs +22 -0
  4. package/dist/index.cjs +138 -0
  5. package/dist/index.es.js +17 -71
  6. package/dist/libs/callback/index.cjs +16 -0
  7. package/dist/libs/callback/index.es.js +12 -4
  8. package/dist/libs/callback/tap-async.cjs +7 -0
  9. package/dist/libs/callback/tap-async.es.js +6 -7
  10. package/dist/libs/callback/tap.cjs +6 -0
  11. package/dist/libs/callback/tap.es.js +5 -6
  12. package/dist/libs/config/_internal.cjs +3 -0
  13. package/dist/libs/config/_internal.es.js +3 -4
  14. package/dist/libs/config/default-config.cjs +3 -0
  15. package/dist/libs/config/default-config.es.js +3 -6
  16. package/dist/libs/config/get-config.cjs +10 -0
  17. package/dist/libs/config/get-config.es.js +6 -8
  18. package/dist/libs/config/index.cjs +19 -0
  19. package/dist/libs/config/index.es.js +12 -6
  20. package/dist/libs/config/set-config.cjs +15 -0
  21. package/dist/libs/config/set-config.d.ts +1 -0
  22. package/dist/libs/config/set-config.es.js +13 -6
  23. package/dist/libs/control/bg-scroll-stop.cjs +8 -0
  24. package/dist/libs/control/bg-scroll-stop.d.ts +1 -0
  25. package/dist/libs/control/bg-scroll-stop.es.js +6 -6
  26. package/dist/libs/control/copy-to-clipboard.cjs +11 -0
  27. package/dist/libs/control/copy-to-clipboard.es.js +10 -13
  28. package/dist/libs/control/index.cjs +22 -0
  29. package/dist/libs/control/index.es.js +12 -7
  30. package/dist/libs/control/pd.cjs +3 -0
  31. package/dist/libs/control/pd.es.js +3 -4
  32. package/dist/libs/control/scroll-to-hash.cjs +30 -0
  33. package/dist/libs/control/scroll-to-hash.d.ts +1 -0
  34. package/dist/libs/control/scroll-to-hash.es.js +29 -35
  35. package/dist/libs/control/video-play-control.cjs +19 -0
  36. package/dist/libs/control/video-play-control.es.js +17 -20
  37. package/dist/libs/convert/change-date-string-to-specific-format.cjs +15 -0
  38. package/dist/libs/convert/change-date-string-to-specific-format.es.js +7 -10
  39. package/dist/libs/convert/hex-to-rgb.cjs +17 -0
  40. package/dist/libs/convert/hex-to-rgb.es.js +16 -21
  41. package/dist/libs/convert/index.cjs +20 -0
  42. package/dist/libs/convert/index.es.js +12 -6
  43. package/dist/libs/convert/json-string-to-json-object.cjs +9 -0
  44. package/dist/libs/convert/json-string-to-json-object.es.js +8 -9
  45. package/dist/libs/convert/rgb-to-hex.cjs +8 -0
  46. package/dist/libs/convert/rgb-to-hex.es.js +7 -8
  47. package/dist/libs/eventControl/debounce.cjs +13 -0
  48. package/dist/libs/eventControl/debounce.es.js +12 -15
  49. package/dist/libs/eventControl/index.cjs +16 -0
  50. package/dist/libs/eventControl/index.es.js +12 -4
  51. package/dist/libs/eventControl/throttle.cjs +13 -0
  52. package/dist/libs/eventControl/throttle.es.js +12 -15
  53. package/dist/libs/get/get-aspect-ratio.cjs +11 -0
  54. package/dist/libs/get/get-aspect-ratio.es.js +9 -9
  55. package/dist/libs/get/get-class-names.cjs +5 -0
  56. package/dist/libs/get/get-class-names.es.js +4 -6
  57. package/dist/libs/get/get-document-height.cjs +6 -0
  58. package/dist/libs/get/get-document-height.d.ts +1 -0
  59. package/dist/libs/get/get-document-height.es.js +5 -3
  60. package/dist/libs/get/get-event-paths.cjs +18 -0
  61. package/dist/libs/get/get-event-paths.es.js +17 -22
  62. package/dist/libs/get/get-gcd.cjs +10 -0
  63. package/dist/libs/get/get-gcd.d.ts +1 -0
  64. package/dist/libs/get/get-gcd.es.js +8 -8
  65. package/dist/libs/get/get-gravatar-url.cjs +10 -0
  66. package/dist/libs/get/get-gravatar-url.d.ts +4 -0
  67. package/dist/libs/get/get-gravatar-url.es.js +6 -7
  68. package/dist/libs/get/get-orientation.cjs +6 -0
  69. package/dist/libs/get/get-orientation.es.js +5 -9
  70. package/dist/libs/get/get-parent-list.cjs +7 -0
  71. package/dist/libs/get/get-parent-list.es.js +6 -7
  72. package/dist/libs/get/get-query-params.cjs +22 -0
  73. package/dist/libs/get/get-query-params.d.ts +1 -0
  74. package/dist/libs/get/get-query-params.es.js +18 -18
  75. package/dist/libs/get/get-random-int.cjs +10 -0
  76. package/dist/libs/get/get-random-int.d.ts +5 -1
  77. package/dist/libs/get/get-random-int.es.js +9 -10
  78. package/dist/libs/get/get-relative-time.cjs +44 -0
  79. package/dist/libs/get/get-relative-time.es.js +42 -26
  80. package/dist/libs/get/get-rem.cjs +6 -0
  81. package/dist/libs/get/get-rem.d.ts +1 -0
  82. package/dist/libs/get/get-rem.es.js +5 -8
  83. package/dist/libs/get/get-rendered-line-height.cjs +52 -0
  84. package/dist/libs/get/get-rendered-line-height.es.js +50 -55
  85. package/dist/libs/get/get-scrollbar-width.cjs +6 -0
  86. package/dist/libs/get/get-scrollbar-width.d.ts +1 -0
  87. package/dist/libs/get/get-scrollbar-width.es.js +5 -3
  88. package/dist/libs/get/get-session-storage.cjs +10 -0
  89. package/dist/libs/get/get-session-storage.es.js +6 -7
  90. package/dist/libs/get/get-string-length.cjs +4 -0
  91. package/dist/libs/get/get-string-length.es.js +3 -4
  92. package/dist/libs/get/get-style-property-value-to-number.cjs +4 -0
  93. package/dist/libs/get/get-style-property-value-to-number.es.js +3 -4
  94. package/dist/libs/get/get-style-property-value.cjs +6 -0
  95. package/dist/libs/get/get-style-property-value.d.ts +1 -0
  96. package/dist/libs/get/get-style-property-value.es.js +5 -3
  97. package/dist/libs/get/get-ua-data.cjs +22 -0
  98. package/dist/libs/get/get-ua-data.es.js +17 -20
  99. package/dist/libs/get/index.cjs +50 -0
  100. package/dist/libs/get/index.es.js +14 -23
  101. package/dist/libs/is/check-device-size.cjs +8 -0
  102. package/dist/libs/is/check-device-size.es.js +6 -9
  103. package/dist/libs/is/index.cjs +34 -0
  104. package/dist/libs/is/index.es.js +13 -14
  105. package/dist/libs/is/is-after-date-time.cjs +9 -0
  106. package/dist/libs/is/is-after-date-time.es.js +5 -8
  107. package/dist/libs/is/is-between-date-time.cjs +14 -0
  108. package/dist/libs/is/is-between-date-time.es.js +8 -11
  109. package/dist/libs/is/is-exist-all-elements.cjs +5 -0
  110. package/dist/libs/is/is-exist-all-elements.es.js +4 -5
  111. package/dist/libs/is/is-in-viewport.cjs +63 -0
  112. package/dist/libs/is/is-in-viewport.es.js +61 -64
  113. package/dist/libs/is/is-ipad.cjs +10 -0
  114. package/dist/libs/is/is-ipad.es.js +7 -10
  115. package/dist/libs/is/is-key-exists.cjs +5 -0
  116. package/dist/libs/is/is-key-exists.es.js +4 -5
  117. package/dist/libs/is/is-online.cjs +6 -0
  118. package/dist/libs/is/is-online.es.js +5 -8
  119. package/dist/libs/is/is-safari.cjs +8 -0
  120. package/dist/libs/is/is-safari.es.js +6 -9
  121. package/dist/libs/is/is-scrollable.cjs +7 -0
  122. package/dist/libs/is/is-scrollable.es.js +6 -7
  123. package/dist/libs/is/is-touch-support.cjs +9 -0
  124. package/dist/libs/is/is-touch-support.es.js +8 -10
  125. package/dist/libs/remove/index.cjs +20 -0
  126. package/dist/libs/remove/index.es.js +12 -6
  127. package/dist/libs/remove/remove-all-html-tags.cjs +12 -0
  128. package/dist/libs/remove/remove-all-html-tags.d.ts +7 -1
  129. package/dist/libs/remove/remove-all-html-tags.es.js +8 -10
  130. package/dist/libs/remove/remove-attribute.cjs +5 -0
  131. package/dist/libs/remove/remove-attribute.es.js +4 -5
  132. package/dist/libs/remove/remove-session-storage.cjs +8 -0
  133. package/dist/libs/remove/remove-session-storage.es.js +4 -5
  134. package/dist/libs/remove/remove-style-property-value.cjs +6 -0
  135. package/dist/libs/remove/remove-style-property-value.d.ts +1 -0
  136. package/dist/libs/remove/remove-style-property-value.es.js +5 -5
  137. package/dist/libs/security/html-sanitize.cjs +19 -0
  138. package/dist/libs/security/html-sanitize.d.ts +8 -0
  139. package/dist/libs/security/html-sanitize.es.js +13 -6
  140. package/dist/libs/security/index.cjs +15 -0
  141. package/dist/libs/security/index.es.js +12 -5
  142. package/dist/libs/set/index.cjs +24 -0
  143. package/dist/libs/set/index.es.js +12 -8
  144. package/dist/libs/set/set-100vh.cjs +7 -0
  145. package/dist/libs/set/set-100vh.d.ts +1 -0
  146. package/dist/libs/set/set-100vh.es.js +6 -6
  147. package/dist/libs/set/set-100vw.cjs +7 -0
  148. package/dist/libs/set/set-100vw.d.ts +1 -0
  149. package/dist/libs/set/set-100vw.es.js +6 -6
  150. package/dist/libs/set/set-attribute.cjs +5 -0
  151. package/dist/libs/set/set-attribute.es.js +4 -5
  152. package/dist/libs/set/set-scroll-position-to-center.cjs +11 -0
  153. package/dist/libs/set/set-scroll-position-to-center.es.js +10 -9
  154. package/dist/libs/set/set-session-storage.cjs +8 -0
  155. package/dist/libs/set/set-session-storage.es.js +4 -5
  156. package/dist/libs/set/set-style-property-value.cjs +6 -0
  157. package/dist/libs/set/set-style-property-value.d.ts +1 -0
  158. package/dist/libs/set/set-style-property-value.es.js +5 -5
  159. package/dist/libs/to/index.cjs +16 -0
  160. package/dist/libs/to/index.es.js +12 -4
  161. package/dist/libs/to/to-boolean.cjs +5 -0
  162. package/dist/libs/to/to-boolean.es.js +4 -5
  163. package/dist/libs/to/to-positive-number.cjs +3 -0
  164. package/dist/libs/to/to-positive-number.es.js +3 -4
  165. package/dist/libs/transform/index.cjs +14 -0
  166. package/dist/libs/transform/index.es.js +12 -4
  167. package/dist/libs/transform/wrap-text-with-spans.cjs +17 -0
  168. package/dist/libs/transform/wrap-text-with-spans.es.js +15 -20
  169. package/dist/libs/wait/index.cjs +16 -0
  170. package/dist/libs/wait/index.es.js +12 -4
  171. package/dist/libs/wait/sleep.cjs +5 -0
  172. package/dist/libs/wait/sleep.es.js +4 -5
  173. package/dist/libs/wait/wait-for-all-media-loaded.cjs +31 -0
  174. package/dist/libs/wait/wait-for-all-media-loaded.d.ts +1 -0
  175. package/dist/libs/wait/wait-for-all-media-loaded.es.js +30 -43
  176. package/package.json +38 -36
  177. package/dist/_virtual/_commonjsHelpers.cjs.js +0 -6
  178. package/dist/_virtual/_commonjsHelpers.es.js +0 -6
  179. package/dist/_virtual/isBetween.cjs.js +0 -7
  180. package/dist/_virtual/isBetween.cjs2.js +0 -4
  181. package/dist/_virtual/isBetween.es.js +0 -7
  182. package/dist/_virtual/isBetween.es2.js +0 -4
  183. package/dist/_virtual/timezone.cjs.js +0 -7
  184. package/dist/_virtual/timezone.cjs2.js +0 -4
  185. package/dist/_virtual/timezone.es.js +0 -7
  186. package/dist/_virtual/timezone.es2.js +0 -4
  187. package/dist/_virtual/utc.cjs.js +0 -7
  188. package/dist/_virtual/utc.cjs2.js +0 -4
  189. package/dist/_virtual/utc.es.js +0 -7
  190. package/dist/_virtual/utc.es2.js +0 -4
  191. package/dist/index.cjs.js +0 -128
  192. package/dist/libs/callback/index.cjs.js +0 -6
  193. package/dist/libs/callback/tap-async.cjs.js +0 -8
  194. package/dist/libs/callback/tap.cjs.js +0 -7
  195. package/dist/libs/config/_internal.cjs.js +0 -5
  196. package/dist/libs/config/default-config.cjs.js +0 -6
  197. package/dist/libs/config/get-config.cjs.js +0 -11
  198. package/dist/libs/config/index.cjs.js +0 -9
  199. package/dist/libs/config/set-config.cjs.js +0 -8
  200. package/dist/libs/control/bg-scroll-stop.cjs.js +0 -8
  201. package/dist/libs/control/copy-to-clipboard.cjs.js +0 -14
  202. package/dist/libs/control/index.cjs.js +0 -12
  203. package/dist/libs/control/pd.cjs.js +0 -4
  204. package/dist/libs/control/scroll-to-hash.cjs.js +0 -36
  205. package/dist/libs/control/video-play-control.cjs.js +0 -22
  206. package/dist/libs/convert/change-date-string-to-specific-format.cjs.js +0 -14
  207. package/dist/libs/convert/hex-to-rgb.cjs.js +0 -22
  208. package/dist/libs/convert/index.cjs.js +0 -10
  209. package/dist/libs/convert/json-string-to-json-object.cjs.js +0 -10
  210. package/dist/libs/convert/rgb-to-hex.cjs.js +0 -9
  211. package/dist/libs/eventControl/debounce.cjs.js +0 -16
  212. package/dist/libs/eventControl/index.cjs.js +0 -6
  213. package/dist/libs/eventControl/throttle.cjs.js +0 -16
  214. package/dist/libs/get/get-aspect-ratio.cjs.js +0 -11
  215. package/dist/libs/get/get-class-names.cjs.js +0 -7
  216. package/dist/libs/get/get-document-height.cjs.js +0 -4
  217. package/dist/libs/get/get-event-paths.cjs.js +0 -23
  218. package/dist/libs/get/get-gcd.cjs.js +0 -10
  219. package/dist/libs/get/get-gravatar-url.cjs.js +0 -9
  220. package/dist/libs/get/get-orientation.cjs.js +0 -10
  221. package/dist/libs/get/get-parent-list.cjs.js +0 -8
  222. package/dist/libs/get/get-query-params.cjs.js +0 -20
  223. package/dist/libs/get/get-random-int.cjs.js +0 -11
  224. package/dist/libs/get/get-relative-time.cjs.js +0 -28
  225. package/dist/libs/get/get-rem.cjs.js +0 -9
  226. package/dist/libs/get/get-rendered-line-height.cjs.js +0 -57
  227. package/dist/libs/get/get-scrollbar-width.cjs.js +0 -4
  228. package/dist/libs/get/get-session-storage.cjs.js +0 -9
  229. package/dist/libs/get/get-string-length.cjs.js +0 -5
  230. package/dist/libs/get/get-style-property-value-to-number.cjs.js +0 -5
  231. package/dist/libs/get/get-style-property-value.cjs.js +0 -4
  232. package/dist/libs/get/get-ua-data.cjs.js +0 -23
  233. package/dist/libs/get/index.cjs.js +0 -40
  234. package/dist/libs/is/check-device-size.cjs.js +0 -11
  235. package/dist/libs/is/index.cjs.js +0 -24
  236. package/dist/libs/is/is-after-date-time.cjs.js +0 -10
  237. package/dist/libs/is/is-between-date-time.cjs.js +0 -14
  238. package/dist/libs/is/is-exist-all-elements.cjs.js +0 -6
  239. package/dist/libs/is/is-in-viewport.cjs.js +0 -66
  240. package/dist/libs/is/is-ipad.cjs.js +0 -13
  241. package/dist/libs/is/is-key-exists.cjs.js +0 -6
  242. package/dist/libs/is/is-online.cjs.js +0 -9
  243. package/dist/libs/is/is-safari.cjs.js +0 -11
  244. package/dist/libs/is/is-scrollable.cjs.js +0 -8
  245. package/dist/libs/is/is-touch-support.cjs.js +0 -11
  246. package/dist/libs/remove/index.cjs.js +0 -10
  247. package/dist/libs/remove/remove-all-html-tags.cjs.js +0 -12
  248. package/dist/libs/remove/remove-attribute.cjs.js +0 -6
  249. package/dist/libs/remove/remove-session-storage.cjs.js +0 -7
  250. package/dist/libs/remove/remove-style-property-value.cjs.js +0 -6
  251. package/dist/libs/security/html-sanitize.cjs.js +0 -9
  252. package/dist/libs/security/index.cjs.js +0 -5
  253. package/dist/libs/set/index.cjs.js +0 -14
  254. package/dist/libs/set/set-100vh.cjs.js +0 -7
  255. package/dist/libs/set/set-100vw.cjs.js +0 -7
  256. package/dist/libs/set/set-attribute.cjs.js +0 -6
  257. package/dist/libs/set/set-scroll-position-to-center.cjs.js +0 -10
  258. package/dist/libs/set/set-session-storage.cjs.js +0 -7
  259. package/dist/libs/set/set-style-property-value.cjs.js +0 -6
  260. package/dist/libs/to/index.cjs.js +0 -6
  261. package/dist/libs/to/to-boolean.cjs.js +0 -6
  262. package/dist/libs/to/to-positive-number.cjs.js +0 -4
  263. package/dist/libs/transform/index.cjs.js +0 -4
  264. package/dist/libs/transform/wrap-text-with-spans.cjs.js +0 -22
  265. package/dist/libs/wait/index.cjs.js +0 -6
  266. package/dist/libs/wait/sleep.cjs.js +0 -6
  267. package/dist/libs/wait/wait-for-all-media-loaded.cjs.js +0 -44
  268. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isBetween.cjs.js +0 -23
  269. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isBetween.es.js +0 -23
  270. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/timezone.cjs.js +0 -71
  271. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/timezone.es.js +0 -71
  272. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/utc.cjs.js +0 -83
  273. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/utc.es.js +0 -83
@@ -1,7 +1,5 @@
1
- const getClassNames = (target) => {
2
- const list = String(target.classList).split(" ").filter((v) => v);
3
- return list;
4
- };
5
- export {
6
- getClassNames
1
+ // src/libs/get/get-class-names.ts
2
+ var getClassNames = (target) => {
3
+ return String(target.classList).split(" ").filter((v) => v);
7
4
  };
5
+ export { getClassNames };
@@ -0,0 +1,6 @@
1
+ // src/libs/get/get-document-height.ts
2
+ var getDocumentHeight = () => {
3
+ if (typeof window === "undefined") return 0;
4
+ return document.body.clientHeight - window.innerHeight;
5
+ };
6
+ exports.getDocumentHeight = getDocumentHeight;
@@ -2,5 +2,6 @@
2
2
  * Retrieves the height of the document.
3
3
  *
4
4
  * @returns {number} The height of the document, calculated as the difference between the body's client height and the window's inner height.
5
+ * Returns 0 in SSR environments where window is undefined.
5
6
  */
6
7
  export declare const getDocumentHeight: () => number;
@@ -1,4 +1,6 @@
1
- const getDocumentHeight = () => document.body.clientHeight - window.innerHeight;
2
- export {
3
- getDocumentHeight
1
+ // src/libs/get/get-document-height.ts
2
+ var getDocumentHeight = () => {
3
+ if (typeof window === "undefined") return 0;
4
+ return document.body.clientHeight - window.innerHeight;
4
5
  };
6
+ export { getDocumentHeight };
@@ -0,0 +1,18 @@
1
+ // src/libs/get/get-event-paths.ts
2
+ var getEventPaths = (evt) => {
3
+ let path = evt.composedPath?.() || null;
4
+ const target = evt.target;
5
+ if (path !== null) {
6
+ path = path.indexOf(window) < 0 ? path.concat([window]) : path;
7
+ return path;
8
+ }
9
+ if (target instanceof Window) return [window];
10
+ const getParents = (node, memo) => {
11
+ const updatedMemo = memo || [];
12
+ const parentNode = node.parentNode;
13
+ if (!parentNode) return memo;
14
+ return getParents(parentNode, updatedMemo.concat([parentNode]));
15
+ };
16
+ return [target].concat(getParents(target, [])).concat([window]);
17
+ };
18
+ exports.getEventPaths = getEventPaths;
@@ -1,23 +1,18 @@
1
- const getEventPaths = (evt) => {
2
- let path = evt.composedPath?.() || null;
3
- const target = evt.target;
4
- if (path !== null) {
5
- path = path.indexOf(window) < 0 ? path.concat([window]) : path;
6
- return path;
7
- }
8
- if (target instanceof Window) {
9
- return [window];
10
- }
11
- const getParents = (node, memo) => {
12
- const updatedMemo = memo || [];
13
- const parentNode = node.parentNode;
14
- if (!parentNode) {
15
- return memo;
16
- }
17
- return getParents(parentNode, updatedMemo.concat([parentNode]));
18
- };
19
- return [target].concat(getParents(target, [])).concat([window]);
20
- };
21
- export {
22
- getEventPaths
1
+ // src/libs/get/get-event-paths.ts
2
+ var getEventPaths = (evt) => {
3
+ let path = evt.composedPath?.() || null;
4
+ const target = evt.target;
5
+ if (path !== null) {
6
+ path = path.indexOf(window) < 0 ? path.concat([window]) : path;
7
+ return path;
8
+ }
9
+ if (target instanceof Window) return [window];
10
+ const getParents = (node, memo) => {
11
+ const updatedMemo = memo || [];
12
+ const parentNode = node.parentNode;
13
+ if (!parentNode) return memo;
14
+ return getParents(parentNode, updatedMemo.concat([parentNode]));
15
+ };
16
+ return [target].concat(getParents(target, [])).concat([window]);
23
17
  };
18
+ export { getEventPaths };
@@ -0,0 +1,10 @@
1
+ const require_to_positive_number = require("../to/to-positive-number.cjs");
2
+ // src/libs/get/get-gcd.ts
3
+ var getGcd = (a, b) => {
4
+ if (!Number.isFinite(a) || !Number.isFinite(b)) throw new Error("Arguments must be finite numbers");
5
+ const positiveA = require_to_positive_number.toPositiveNumber(a);
6
+ const positiveB = require_to_positive_number.toPositiveNumber(b);
7
+ if (positiveB === 0) return positiveA;
8
+ return getGcd(positiveB, positiveA % positiveB);
9
+ };
10
+ exports.getGcd = getGcd;
@@ -7,5 +7,6 @@
7
7
  * @param a - The first number.
8
8
  * @param b - The second number.
9
9
  * @returns The greatest common divisor of the two numbers.
10
+ * @throws {Error} If a or b is not a finite number.
10
11
  */
11
12
  export declare const getGcd: (a: number, b: number) => number;
@@ -1,10 +1,10 @@
1
1
  import { toPositiveNumber } from "../to/to-positive-number.es.js";
2
- const getGcd = (a, b) => {
3
- const positiveA = toPositiveNumber(a);
4
- const positiveB = toPositiveNumber(b);
5
- if (positiveB === 0) return positiveA;
6
- return getGcd(positiveB, positiveA % positiveB);
7
- };
8
- export {
9
- getGcd
2
+ // src/libs/get/get-gcd.ts
3
+ var getGcd = (a, b) => {
4
+ if (!Number.isFinite(a) || !Number.isFinite(b)) throw new Error("Arguments must be finite numbers");
5
+ const positiveA = toPositiveNumber(a);
6
+ const positiveB = toPositiveNumber(b);
7
+ if (positiveB === 0) return positiveA;
8
+ return getGcd(positiveB, positiveA % positiveB);
10
9
  };
10
+ export { getGcd };
@@ -0,0 +1,10 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ let md5 = require("md5");
3
+ md5 = require_runtime.__toESM(md5, 1);
4
+ // src/libs/get/get-gravatar-url.ts
5
+ var getGravatarUrl = (email, size) => {
6
+ if (!Number.isInteger(size) || size <= 0) throw new Error("size must be a positive integer");
7
+ const normalizedEmail = email.trim().toLowerCase();
8
+ return `https://www.gravatar.com/avatar/${(0, md5.default)(normalizedEmail)}?s=${size}&d=404`;
9
+ };
10
+ exports.getGravatarUrl = getGravatarUrl;
@@ -5,8 +5,12 @@
5
5
  * and converting to lowercase), generating an MD5 hash, and appending the size
6
6
  * parameter with a 404 fallback.
7
7
  *
8
+ * MD5 is used only because Gravatar requires it; do not use it for security purposes.
9
+ * Note that the hash in the URL can be used to look up or enumerate email addresses.
10
+ *
8
11
  * @param email - The email address to generate the Gravatar URL for.
9
12
  * @param size - The size of the avatar image in pixels.
10
13
  * @returns The Gravatar avatar image URL.
14
+ * @throws {Error} If size is not a positive integer.
11
15
  */
12
16
  export declare const getGravatarUrl: (email: string, size: number) => string;
@@ -1,9 +1,8 @@
1
1
  import md5 from "md5";
2
- const getGravatarUrl = (email, size) => {
3
- const normalizedEmail = email.trim().toLowerCase();
4
- const gravatarUrl = `https://www.gravatar.com/avatar/${md5(normalizedEmail)}?s=${size}&d=404`;
5
- return gravatarUrl;
6
- };
7
- export {
8
- getGravatarUrl
2
+ // src/libs/get/get-gravatar-url.ts
3
+ var getGravatarUrl = (email, size) => {
4
+ if (!Number.isInteger(size) || size <= 0) throw new Error("size must be a positive integer");
5
+ const normalizedEmail = email.trim().toLowerCase();
6
+ return `https://www.gravatar.com/avatar/${md5(normalizedEmail)}?s=${size}&d=404`;
9
7
  };
8
+ export { getGravatarUrl };
@@ -0,0 +1,6 @@
1
+ // src/libs/get/get-orientation.ts
2
+ var getOrientation = () => {
3
+ if (typeof window === "undefined") return "portrait";
4
+ return window.matchMedia("(orientation: landscape)").matches ? "landscape" : "portrait";
5
+ };
6
+ exports.getOrientation = getOrientation;
@@ -1,10 +1,6 @@
1
- const getOrientation = () => {
2
- if (typeof window === "undefined") {
3
- return "portrait";
4
- }
5
- const isLandscape = window.matchMedia("(orientation: landscape)").matches;
6
- return isLandscape ? "landscape" : "portrait";
7
- };
8
- export {
9
- getOrientation
1
+ // src/libs/get/get-orientation.ts
2
+ var getOrientation = () => {
3
+ if (typeof window === "undefined") return "portrait";
4
+ return window.matchMedia("(orientation: landscape)").matches ? "landscape" : "portrait";
10
5
  };
6
+ export { getOrientation };
@@ -0,0 +1,7 @@
1
+ // src/libs/get/get-parent-list.ts
2
+ var getParentList = (element) => {
3
+ const parentElement = element.parentElement;
4
+ if (!parentElement) return [element];
5
+ return [element].concat(getParentList(parentElement));
6
+ };
7
+ exports.getParentList = getParentList;
@@ -1,8 +1,7 @@
1
- const getParentList = (element) => {
2
- const parentElement = element.parentElement;
3
- if (!parentElement) return [element];
4
- return [element].concat(getParentList(parentElement));
5
- };
6
- export {
7
- getParentList
1
+ // src/libs/get/get-parent-list.ts
2
+ var getParentList = (element) => {
3
+ const parentElement = element.parentElement;
4
+ if (!parentElement) return [element];
5
+ return [element].concat(getParentList(parentElement));
8
6
  };
7
+ export { getParentList };
@@ -0,0 +1,22 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ let query_string = require("query-string");
3
+ query_string = require_runtime.__toESM(query_string, 1);
4
+ // src/libs/get/get-query-params.ts
5
+ var queryString = "parse" in query_string.default ? query_string.default : query_string.default.default;
6
+ var queryStringOptions = {
7
+ arrayFormat: "comma",
8
+ parseNumbers: true
9
+ };
10
+ var getQueryParams = (query, options = {}) => {
11
+ const { searchString = typeof window === "undefined" ? "" : window.location.search, parseOptions } = options;
12
+ const queryOptions = {
13
+ ...queryStringOptions,
14
+ ...parseOptions
15
+ };
16
+ const queryParsed = queryString.parse(searchString, queryOptions);
17
+ if (!queryParsed) return null;
18
+ const params = queryParsed[query];
19
+ if (params === null || params === void 0) return null;
20
+ return params;
21
+ };
22
+ exports.getQueryParams = getQueryParams;
@@ -10,5 +10,6 @@ export type GetQueryParamsOptions = {
10
10
  * @param query - The name of the query parameter to retrieve.
11
11
  * @param options - Optional. An object containing searchString and parseOptions.
12
12
  * @returns The value of the query parameter, which can be a string, number, array of strings or numbers, or null if the parameter is not found.
13
+ * In SSR environments where window is undefined, `searchString` defaults to an empty string.
13
14
  */
14
15
  export declare const getQueryParams: (query: string, options?: GetQueryParamsOptions) => GetQueryParamsReturnType;
@@ -1,20 +1,20 @@
1
- import queryString from "query-string";
2
- const queryStringOptions = {
3
- arrayFormat: "comma",
4
- parseNumbers: true
1
+ import queryStringImport from "query-string";
2
+ // src/libs/get/get-query-params.ts
3
+ var queryString = "parse" in queryStringImport ? queryStringImport : queryStringImport.default;
4
+ var queryStringOptions = {
5
+ arrayFormat: "comma",
6
+ parseNumbers: true
5
7
  };
6
- const getQueryParams = (query, options = {}) => {
7
- const { searchString = window.location.search, parseOptions } = options;
8
- const queryOptions = {
9
- ...queryStringOptions,
10
- ...parseOptions
11
- };
12
- const queryParsed = queryString.parse(searchString, queryOptions);
13
- if (!queryParsed) return null;
14
- const params = queryParsed[query];
15
- if (params === null || params === void 0) return null;
16
- return params;
17
- };
18
- export {
19
- getQueryParams
8
+ var getQueryParams = (query, options = {}) => {
9
+ const { searchString = typeof window === "undefined" ? "" : window.location.search, parseOptions } = options;
10
+ const queryOptions = {
11
+ ...queryStringOptions,
12
+ ...parseOptions
13
+ };
14
+ const queryParsed = queryString.parse(searchString, queryOptions);
15
+ if (!queryParsed) return null;
16
+ const params = queryParsed[query];
17
+ if (params === null || params === void 0) return null;
18
+ return params;
20
19
  };
20
+ export { getQueryParams };
@@ -0,0 +1,10 @@
1
+ // src/libs/get/get-random-int.ts
2
+ var getRandomInt = (min, max) => {
3
+ if (!Number.isFinite(min) || !Number.isFinite(max)) throw new Error("min and max must be finite numbers");
4
+ if (min > max) throw new Error("min must be less than or equal to max");
5
+ const minCeiled = Math.ceil(min);
6
+ const maxFloored = Math.floor(max);
7
+ if (minCeiled > maxFloored) throw new Error("No integer exists between min and max");
8
+ return Math.floor(Math.random() * (maxFloored - minCeiled + 1)) + minCeiled;
9
+ };
10
+ exports.getRandomInt = getRandomInt;
@@ -1,10 +1,14 @@
1
1
  /**
2
2
  * Returns a random integer between min (inclusive) and max (inclusive).
3
3
  *
4
+ * Uses `Math.random()`, which is not cryptographically secure.
5
+ * Use `crypto.getRandomValues()` for tokens, IDs or passwords.
6
+ *
4
7
  * @param min - The minimum value (inclusive).
5
8
  * @param max - The maximum value (inclusive).
6
9
  * @returns A random integer between min and max.
7
- * @throws If min is greater than max.
10
+ * @throws If min or max is not a finite number, min is greater than max,
11
+ * or no integer exists between min and max (e.g. `getRandomInt(1.2, 1.8)`).
8
12
  *
9
13
  * @example
10
14
  * ```ts
@@ -1,11 +1,10 @@
1
- const getRandomInt = (min, max) => {
2
- if (min > max) {
3
- throw new Error("min must be less than or equal to max");
4
- }
5
- const minCeiled = Math.ceil(min);
6
- const maxFloored = Math.floor(max);
7
- return Math.floor(Math.random() * (maxFloored - minCeiled + 1)) + minCeiled;
8
- };
9
- export {
10
- getRandomInt
1
+ // src/libs/get/get-random-int.ts
2
+ var getRandomInt = (min, max) => {
3
+ if (!Number.isFinite(min) || !Number.isFinite(max)) throw new Error("min and max must be finite numbers");
4
+ if (min > max) throw new Error("min must be less than or equal to max");
5
+ const minCeiled = Math.ceil(min);
6
+ const maxFloored = Math.floor(max);
7
+ if (minCeiled > maxFloored) throw new Error("No integer exists between min and max");
8
+ return Math.floor(Math.random() * (maxFloored - minCeiled + 1)) + minCeiled;
11
9
  };
10
+ export { getRandomInt };
@@ -0,0 +1,44 @@
1
+ // src/libs/get/get-relative-time.ts
2
+ var TIME_INTERVALS = [
3
+ {
4
+ unit: "year",
5
+ seconds: 31536e3
6
+ },
7
+ {
8
+ unit: "month",
9
+ seconds: 2592e3
10
+ },
11
+ {
12
+ unit: "week",
13
+ seconds: 604800
14
+ },
15
+ {
16
+ unit: "day",
17
+ seconds: 86400
18
+ },
19
+ {
20
+ unit: "hour",
21
+ seconds: 3600
22
+ },
23
+ {
24
+ unit: "minute",
25
+ seconds: 60
26
+ },
27
+ {
28
+ unit: "second",
29
+ seconds: 1
30
+ }
31
+ ];
32
+ var getRelativeTime = (date, locale = "ja", baseDate = /* @__PURE__ */ new Date()) => {
33
+ const targetDate = date instanceof Date ? date : new Date(date);
34
+ const base = baseDate instanceof Date ? baseDate : new Date(baseDate);
35
+ const diffInSeconds = Math.floor((targetDate.getTime() - base.getTime()) / 1e3);
36
+ const absDiff = Math.abs(diffInSeconds);
37
+ const rtf = new Intl.RelativeTimeFormat(locale, { numeric: "auto" });
38
+ for (const interval of TIME_INTERVALS) if (absDiff >= interval.seconds) {
39
+ const value = Math.floor(absDiff / interval.seconds);
40
+ return rtf.format(diffInSeconds >= 0 ? value : -value, interval.unit);
41
+ }
42
+ return rtf.format(diffInSeconds >= 0 ? absDiff : -absDiff, "second");
43
+ };
44
+ exports.getRelativeTime = getRelativeTime;
@@ -1,28 +1,44 @@
1
- const TIME_INTERVALS = [
2
- { unit: "year", seconds: 31536e3 },
3
- { unit: "month", seconds: 2592e3 },
4
- { unit: "week", seconds: 604800 },
5
- { unit: "day", seconds: 86400 },
6
- { unit: "hour", seconds: 3600 },
7
- { unit: "minute", seconds: 60 },
8
- { unit: "second", seconds: 1 }
1
+ // src/libs/get/get-relative-time.ts
2
+ var TIME_INTERVALS = [
3
+ {
4
+ unit: "year",
5
+ seconds: 31536e3
6
+ },
7
+ {
8
+ unit: "month",
9
+ seconds: 2592e3
10
+ },
11
+ {
12
+ unit: "week",
13
+ seconds: 604800
14
+ },
15
+ {
16
+ unit: "day",
17
+ seconds: 86400
18
+ },
19
+ {
20
+ unit: "hour",
21
+ seconds: 3600
22
+ },
23
+ {
24
+ unit: "minute",
25
+ seconds: 60
26
+ },
27
+ {
28
+ unit: "second",
29
+ seconds: 1
30
+ }
9
31
  ];
10
- const getRelativeTime = (date, locale = "ja", baseDate = /* @__PURE__ */ new Date()) => {
11
- const targetDate = date instanceof Date ? date : new Date(date);
12
- const base = baseDate instanceof Date ? baseDate : new Date(baseDate);
13
- const diffInSeconds = Math.floor(
14
- (targetDate.getTime() - base.getTime()) / 1e3
15
- );
16
- const absDiff = Math.abs(diffInSeconds);
17
- const rtf = new Intl.RelativeTimeFormat(locale, { numeric: "auto" });
18
- for (const interval of TIME_INTERVALS) {
19
- if (absDiff >= interval.seconds) {
20
- const value = Math.floor(absDiff / interval.seconds);
21
- return rtf.format(diffInSeconds >= 0 ? value : -value, interval.unit);
22
- }
23
- }
24
- return rtf.format(diffInSeconds >= 0 ? absDiff : -absDiff, "second");
25
- };
26
- export {
27
- getRelativeTime
32
+ var getRelativeTime = (date, locale = "ja", baseDate = /* @__PURE__ */ new Date()) => {
33
+ const targetDate = date instanceof Date ? date : new Date(date);
34
+ const base = baseDate instanceof Date ? baseDate : new Date(baseDate);
35
+ const diffInSeconds = Math.floor((targetDate.getTime() - base.getTime()) / 1e3);
36
+ const absDiff = Math.abs(diffInSeconds);
37
+ const rtf = new Intl.RelativeTimeFormat(locale, { numeric: "auto" });
38
+ for (const interval of TIME_INTERVALS) if (absDiff >= interval.seconds) {
39
+ const value = Math.floor(absDiff / interval.seconds);
40
+ return rtf.format(diffInSeconds >= 0 ? value : -value, interval.unit);
41
+ }
42
+ return rtf.format(diffInSeconds >= 0 ? absDiff : -absDiff, "second");
28
43
  };
44
+ export { getRelativeTime };
@@ -0,0 +1,6 @@
1
+ // src/libs/get/get-rem.ts
2
+ var getRem = (px) => {
3
+ if (typeof window === "undefined") return `${px / 16}rem`;
4
+ return `${px / parseFloat(getComputedStyle(document.documentElement).fontSize)}rem`;
5
+ };
6
+ exports.getRem = getRem;
@@ -4,5 +4,6 @@
4
4
  *
5
5
  * @param px - The pixel value to be converted.
6
6
  * @returns The equivalent value in rem units as a string.
7
+ * Uses the browser default root font size (16px) in SSR environments where window is undefined.
7
8
  */
8
9
  export declare const getRem: (px: number) => string;
@@ -1,9 +1,6 @@
1
- const getRem = (px) => {
2
- const rootFontSize = parseFloat(
3
- getComputedStyle(document.documentElement).fontSize
4
- );
5
- return `${px / rootFontSize}rem`;
6
- };
7
- export {
8
- getRem
1
+ // src/libs/get/get-rem.ts
2
+ var getRem = (px) => {
3
+ if (typeof window === "undefined") return `${px / 16}rem`;
4
+ return `${px / parseFloat(getComputedStyle(document.documentElement).fontSize)}rem`;
9
5
  };
6
+ export { getRem };
@@ -0,0 +1,52 @@
1
+ // src/libs/get/get-rendered-line-height.ts
2
+ var DEFAULT_SAMPLE_LINES = 20;
3
+ var MIN_SAMPLE_LINES = 2;
4
+ var MAX_SAMPLE_LINES = 100;
5
+ var normalizeSampleLines = (value) => {
6
+ const raw = value ?? DEFAULT_SAMPLE_LINES;
7
+ if (!Number.isFinite(raw)) return DEFAULT_SAMPLE_LINES;
8
+ return Math.min(MAX_SAMPLE_LINES, Math.max(MIN_SAMPLE_LINES, Math.floor(raw)));
9
+ };
10
+ var getRenderedLineHeight = (element, options) => {
11
+ if (typeof window === "undefined") return NaN;
12
+ const sampleLines = normalizeSampleLines(options?.sampleLines);
13
+ const ownerDocument = element.ownerDocument;
14
+ const host = ownerDocument?.body;
15
+ const view = ownerDocument?.defaultView;
16
+ if (!host || !view) return NaN;
17
+ const cs = view.getComputedStyle(element);
18
+ const probe = ownerDocument.createElement("div");
19
+ const style = probe.style;
20
+ style.position = "absolute";
21
+ style.left = "-9999px";
22
+ style.top = "0";
23
+ style.visibility = "hidden";
24
+ style.pointerEvents = "none";
25
+ style.margin = "0";
26
+ style.padding = "0";
27
+ style.border = "0";
28
+ style.whiteSpace = "pre";
29
+ style.fontFamily = cs.fontFamily;
30
+ style.fontSize = cs.fontSize;
31
+ style.fontWeight = cs.fontWeight;
32
+ style.fontStyle = cs.fontStyle;
33
+ style.lineHeight = cs.lineHeight;
34
+ style.letterSpacing = cs.letterSpacing;
35
+ style.fontFeatureSettings = cs.fontFeatureSettings;
36
+ if (cs.fontVariationSettings) style.fontVariationSettings = cs.fontVariationSettings;
37
+ for (let i = 0; i < sampleLines; i++) {
38
+ if (i > 0) probe.appendChild(ownerDocument.createElement("br"));
39
+ probe.appendChild(ownerDocument.createTextNode("X"));
40
+ }
41
+ host.appendChild(probe);
42
+ try {
43
+ const probeHeight = probe.getBoundingClientRect().height;
44
+ if (probeHeight <= 0) return NaN;
45
+ return probeHeight / sampleLines;
46
+ } catch {
47
+ return NaN;
48
+ } finally {
49
+ if (probe.parentNode === host) host.removeChild(probe);
50
+ }
51
+ };
52
+ exports.getRenderedLineHeight = getRenderedLineHeight;