@take-out/helpers 0.0.39 → 0.0.41

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 (158) hide show
  1. package/dist/cjs/clipboard/clipboard.cjs +32 -0
  2. package/dist/cjs/clipboard/clipboard.js +27 -0
  3. package/dist/cjs/clipboard/clipboard.js.map +6 -0
  4. package/dist/cjs/clipboard/clipboard.native.js +41 -0
  5. package/dist/cjs/clipboard/clipboard.native.js.map +6 -0
  6. package/dist/cjs/clipboard/index.cjs +18 -0
  7. package/dist/cjs/clipboard/index.js +15 -0
  8. package/dist/cjs/clipboard/index.js.map +6 -0
  9. package/dist/cjs/clipboard/index.native.js +20 -0
  10. package/dist/cjs/clipboard/index.native.js.map +6 -0
  11. package/dist/cjs/color/extractOpacityFromColor.cjs +34 -0
  12. package/dist/cjs/color/extractOpacityFromColor.js +29 -0
  13. package/dist/cjs/color/extractOpacityFromColor.js.map +6 -0
  14. package/dist/cjs/color/extractOpacityFromColor.native.js +38 -0
  15. package/dist/cjs/color/extractOpacityFromColor.native.js.map +6 -0
  16. package/dist/cjs/color/generateColors.cjs +77 -0
  17. package/dist/cjs/color/generateColors.js +64 -0
  18. package/dist/cjs/color/generateColors.js.map +6 -0
  19. package/dist/cjs/color/generateColors.native.js +88 -0
  20. package/dist/cjs/color/generateColors.native.js.map +6 -0
  21. package/dist/cjs/color/index.cjs +21 -0
  22. package/dist/cjs/color/index.js +18 -0
  23. package/dist/cjs/color/index.js.map +6 -0
  24. package/dist/cjs/color/index.native.js +26 -0
  25. package/dist/cjs/color/index.native.js.map +6 -0
  26. package/dist/cjs/color/lum.cjs +75 -0
  27. package/dist/cjs/color/lum.js +61 -0
  28. package/dist/cjs/color/lum.js.map +6 -0
  29. package/dist/cjs/color/lum.native.js +70 -0
  30. package/dist/cjs/color/lum.native.js.map +6 -0
  31. package/dist/cjs/color/toHex.cjs +32 -0
  32. package/dist/cjs/color/toHex.js +27 -0
  33. package/dist/cjs/color/toHex.js.map +6 -0
  34. package/dist/cjs/color/toHex.native.js +33 -0
  35. package/dist/cjs/color/toHex.native.js.map +6 -0
  36. package/dist/cjs/index.cjs +4 -0
  37. package/dist/cjs/index.js +4 -0
  38. package/dist/cjs/index.js.map +1 -1
  39. package/dist/cjs/index.native.js +8 -0
  40. package/dist/cjs/index.native.js.map +1 -1
  41. package/dist/cjs/number/formatNumber.cjs +9 -1
  42. package/dist/cjs/number/formatNumber.js +9 -1
  43. package/dist/cjs/number/formatNumber.js.map +1 -1
  44. package/dist/cjs/number/formatNumber.native.js +12 -2
  45. package/dist/cjs/number/formatNumber.native.js.map +1 -1
  46. package/dist/cjs/time/formatDistanceToNow.cjs +32 -0
  47. package/dist/cjs/time/formatDistanceToNow.js +24 -0
  48. package/dist/cjs/time/formatDistanceToNow.js.map +6 -0
  49. package/dist/cjs/time/formatDistanceToNow.native.js +29 -0
  50. package/dist/cjs/time/formatDistanceToNow.native.js.map +6 -0
  51. package/dist/cjs/time/useTimer.cjs +55 -0
  52. package/dist/cjs/time/useTimer.js +51 -0
  53. package/dist/cjs/time/useTimer.js.map +6 -0
  54. package/dist/cjs/time/useTimer.native.js +67 -0
  55. package/dist/cjs/time/useTimer.native.js.map +6 -0
  56. package/dist/esm/clipboard/clipboard.js +11 -0
  57. package/dist/esm/clipboard/clipboard.js.map +6 -0
  58. package/dist/esm/clipboard/clipboard.mjs +9 -0
  59. package/dist/esm/clipboard/clipboard.mjs.map +1 -0
  60. package/dist/esm/clipboard/clipboard.native.js +11 -0
  61. package/dist/esm/clipboard/clipboard.native.js.map +1 -0
  62. package/dist/esm/clipboard/index.js +2 -0
  63. package/dist/esm/clipboard/index.js.map +6 -0
  64. package/dist/esm/clipboard/index.mjs +2 -0
  65. package/dist/esm/clipboard/index.mjs.map +1 -0
  66. package/dist/esm/clipboard/index.native.js +2 -0
  67. package/dist/esm/clipboard/index.native.js.map +1 -0
  68. package/dist/esm/color/extractOpacityFromColor.js +13 -0
  69. package/dist/esm/color/extractOpacityFromColor.js.map +6 -0
  70. package/dist/esm/color/extractOpacityFromColor.mjs +11 -0
  71. package/dist/esm/color/extractOpacityFromColor.mjs.map +1 -0
  72. package/dist/esm/color/extractOpacityFromColor.native.js +15 -0
  73. package/dist/esm/color/extractOpacityFromColor.native.js.map +1 -0
  74. package/dist/esm/color/generateColors.js +48 -0
  75. package/dist/esm/color/generateColors.js.map +6 -0
  76. package/dist/esm/color/generateColors.mjs +54 -0
  77. package/dist/esm/color/generateColors.mjs.map +1 -0
  78. package/dist/esm/color/generateColors.native.js +52 -0
  79. package/dist/esm/color/generateColors.native.js.map +1 -0
  80. package/dist/esm/color/index.js +5 -0
  81. package/dist/esm/color/index.js.map +6 -0
  82. package/dist/esm/color/index.mjs +5 -0
  83. package/dist/esm/color/index.mjs.map +1 -0
  84. package/dist/esm/color/index.native.js +5 -0
  85. package/dist/esm/color/index.native.js.map +1 -0
  86. package/dist/esm/color/lum.js +45 -0
  87. package/dist/esm/color/lum.js.map +6 -0
  88. package/dist/esm/color/lum.mjs +52 -0
  89. package/dist/esm/color/lum.mjs.map +1 -0
  90. package/dist/esm/color/lum.native.js +57 -0
  91. package/dist/esm/color/lum.native.js.map +1 -0
  92. package/dist/esm/color/toHex.js +11 -0
  93. package/dist/esm/color/toHex.js.map +6 -0
  94. package/dist/esm/color/toHex.mjs +8 -0
  95. package/dist/esm/color/toHex.mjs.map +1 -0
  96. package/dist/esm/color/toHex.native.js +8 -0
  97. package/dist/esm/color/toHex.native.js.map +1 -0
  98. package/dist/esm/index.js +4 -0
  99. package/dist/esm/index.js.map +1 -1
  100. package/dist/esm/index.mjs +4 -0
  101. package/dist/esm/index.mjs.map +1 -1
  102. package/dist/esm/index.native.js +4 -0
  103. package/dist/esm/index.native.js.map +1 -1
  104. package/dist/esm/number/formatNumber.js +9 -1
  105. package/dist/esm/number/formatNumber.js.map +1 -1
  106. package/dist/esm/number/formatNumber.mjs +7 -1
  107. package/dist/esm/number/formatNumber.mjs.map +1 -1
  108. package/dist/esm/number/formatNumber.native.js +7 -1
  109. package/dist/esm/number/formatNumber.native.js.map +1 -1
  110. package/dist/esm/time/formatDistanceToNow.js +8 -0
  111. package/dist/esm/time/formatDistanceToNow.js.map +6 -0
  112. package/dist/esm/time/formatDistanceToNow.mjs +9 -0
  113. package/dist/esm/time/formatDistanceToNow.mjs.map +1 -0
  114. package/dist/esm/time/formatDistanceToNow.native.js +10 -0
  115. package/dist/esm/time/formatDistanceToNow.native.js.map +1 -0
  116. package/dist/esm/time/useTimer.js +35 -0
  117. package/dist/esm/time/useTimer.js.map +6 -0
  118. package/dist/esm/time/useTimer.mjs +32 -0
  119. package/dist/esm/time/useTimer.mjs.map +1 -0
  120. package/dist/esm/time/useTimer.native.js +40 -0
  121. package/dist/esm/time/useTimer.native.js.map +1 -0
  122. package/package.json +2 -1
  123. package/src/clipboard/clipboard.native.ts +10 -0
  124. package/src/clipboard/clipboard.ts +8 -0
  125. package/src/clipboard/index.ts +1 -0
  126. package/src/color/extractOpacityFromColor.ts +18 -0
  127. package/src/color/generateColors.ts +72 -0
  128. package/src/color/index.ts +4 -0
  129. package/src/color/lum.ts +78 -0
  130. package/src/color/toHex.ts +10 -0
  131. package/src/index.ts +8 -0
  132. package/src/number/formatNumber.ts +15 -0
  133. package/src/time/formatDistanceToNow.ts +17 -0
  134. package/src/time/useTimer.ts +80 -0
  135. package/types/clipboard/clipboard.d.ts +3 -0
  136. package/types/clipboard/clipboard.d.ts.map +11 -0
  137. package/types/clipboard/clipboard.native.d.ts +3 -0
  138. package/types/clipboard/clipboard.native.d.ts.map +11 -0
  139. package/types/clipboard/index.d.ts +3 -0
  140. package/types/clipboard/index.d.ts.map +11 -0
  141. package/types/color/extractOpacityFromColor.d.ts +3 -0
  142. package/types/color/extractOpacityFromColor.d.ts.map +13 -0
  143. package/types/color/generateColors.d.ts +11 -0
  144. package/types/color/generateColors.d.ts.map +11 -0
  145. package/types/color/index.d.ts +6 -0
  146. package/types/color/index.d.ts.map +11 -0
  147. package/types/color/lum.d.ts +3 -0
  148. package/types/color/lum.d.ts.map +13 -0
  149. package/types/color/toHex.d.ts +6 -0
  150. package/types/color/toHex.d.ts.map +13 -0
  151. package/types/index.d.ts +6 -0
  152. package/types/index.d.ts.map +2 -2
  153. package/types/number/formatNumber.d.ts +2 -0
  154. package/types/number/formatNumber.d.ts.map +5 -3
  155. package/types/time/formatDistanceToNow.d.ts +3 -0
  156. package/types/time/formatDistanceToNow.d.ts.map +13 -0
  157. package/types/time/useTimer.d.ts +11 -0
  158. package/types/time/useTimer.d.ts.map +14 -0
@@ -0,0 +1,52 @@
1
+ const validColor = color => color;
2
+ function lum(color, luminance = 0.5) {
3
+ if (color.startsWith("hsl")) {
4
+ const match = color.match(/hsla?\((\d+),\s*(\d+)%,\s*(\d+)%(?:,\s*([\d.]+))?\)/);
5
+ if (match) {
6
+ const [, h, s,, a] = match,
7
+ newL = Math.round(luminance * 100);
8
+ return validColor(a ? `hsla(${h}, ${s}%, ${newL}%, ${a})` : `hsl(${h}, ${s}%, ${newL}%)`);
9
+ }
10
+ }
11
+ if (color.startsWith("#")) {
12
+ let hex = color.slice(1);
13
+ hex.length === 3 && (hex = hex.split("").map(c => c + c).join(""));
14
+ const r = parseInt(hex.slice(0, 2), 16) / 255,
15
+ g = parseInt(hex.slice(2, 4), 16) / 255,
16
+ b = parseInt(hex.slice(4, 6), 16) / 255,
17
+ max = Math.max(r, g, b),
18
+ min = Math.min(r, g, b),
19
+ l = (max + min) / 2;
20
+ if (max === min) {
21
+ const newL2 = Math.round(luminance * 100);
22
+ return validColor(`hsl(0, 0%, ${newL2}%)`);
23
+ }
24
+ const d = max - min,
25
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
26
+ let h;
27
+ switch (max) {
28
+ case r:
29
+ h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
30
+ break;
31
+ case g:
32
+ h = ((b - r) / d + 2) / 6;
33
+ break;
34
+ case b:
35
+ h = ((r - g) / d + 4) / 6;
36
+ break;
37
+ default:
38
+ h = 0;
39
+ }
40
+ const newH = Math.round(h * 360),
41
+ newS = Math.round(s * 100),
42
+ newL = Math.round(luminance * 100);
43
+ if (hex.length === 8) {
44
+ const alpha = parseInt(hex.slice(6, 8), 16) / 255;
45
+ return validColor(`hsla(${newH}, ${newS}%, ${newL}%, ${alpha.toFixed(2)})`);
46
+ }
47
+ return validColor(`hsl(${newH}, ${newS}%, ${newL}%)`);
48
+ }
49
+ return validColor(color);
50
+ }
51
+ export { lum };
52
+ //# sourceMappingURL=lum.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validColor","color","lum","luminance","startsWith","match","h","s","a","newL","Math","round","hex","slice","length","split","map","c","join","r","parseInt","g","b","max","min","l","newL2","d","newH","newS","alpha","toFixed"],"sources":["../../../src/color/lum.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,57 @@
1
+ var validColor = function (color) {
2
+ return color;
3
+ };
4
+ function lum(color) {
5
+ var luminance = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0.5;
6
+ if (color.startsWith("hsl")) {
7
+ var match = color.match(/hsla?\((\d+),\s*(\d+)%,\s*(\d+)%(?:,\s*([\d.]+))?\)/);
8
+ if (match) {
9
+ var [, h, s,, a] = match,
10
+ newL = Math.round(luminance * 100);
11
+ return validColor(a ? `hsla(${h}, ${s}%, ${newL}%, ${a})` : `hsl(${h}, ${s}%, ${newL}%)`);
12
+ }
13
+ }
14
+ if (color.startsWith("#")) {
15
+ var hex = color.slice(1);
16
+ hex.length === 3 && (hex = hex.split("").map(function (c) {
17
+ return c + c;
18
+ }).join(""));
19
+ var r = parseInt(hex.slice(0, 2), 16) / 255,
20
+ g = parseInt(hex.slice(2, 4), 16) / 255,
21
+ b = parseInt(hex.slice(4, 6), 16) / 255,
22
+ max = Math.max(r, g, b),
23
+ min = Math.min(r, g, b),
24
+ l = (max + min) / 2;
25
+ if (max === min) {
26
+ var newL1 = Math.round(luminance * 100);
27
+ return validColor(`hsl(0, 0%, ${newL1}%)`);
28
+ }
29
+ var d = max - min,
30
+ s1 = l > 0.5 ? d / (2 - max - min) : d / (max + min),
31
+ h1;
32
+ switch (max) {
33
+ case r:
34
+ h1 = ((g - b) / d + (g < b ? 6 : 0)) / 6;
35
+ break;
36
+ case g:
37
+ h1 = ((b - r) / d + 2) / 6;
38
+ break;
39
+ case b:
40
+ h1 = ((r - g) / d + 4) / 6;
41
+ break;
42
+ default:
43
+ h1 = 0;
44
+ }
45
+ var newH = Math.round(h1 * 360),
46
+ newS = Math.round(s1 * 100),
47
+ newL2 = Math.round(luminance * 100);
48
+ if (hex.length === 8) {
49
+ var alpha = parseInt(hex.slice(6, 8), 16) / 255;
50
+ return validColor(`hsla(${newH}, ${newS}%, ${newL2}%, ${alpha.toFixed(2)})`);
51
+ }
52
+ return validColor(`hsl(${newH}, ${newS}%, ${newL2}%)`);
53
+ }
54
+ return validColor(color);
55
+ }
56
+ export { lum };
57
+ //# sourceMappingURL=lum.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validColor","color","lum","luminance","arguments","length","startsWith","match","h","s","a","newL","Math","round","hex","slice","split","map","c","join","r","parseInt","g","b","max","min","l","newL1","d","s1","h1","newH","newS","newL2","alpha","toFixed"],"sources":["../../../src/color/lum.ts"],"sourcesContent":[null],"mappings":"AACA,IAAAA,UAAM,YAAAA,CAAcC,KAAkB;EAE/B,OAASA,KAAI;AAElB;AACE,SAAAC,GAAMA,CAAAD,KAAQ;EACd,IAAAE,SAAW,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;EACT,IAAAH,KAAA,CAAMK,UAAS,CAAE,KAAK;IAEtB,IAAAC,KACS,GAAAN,KAAA,CAAAM,KADL,CACgB,qDAEY;IAClC,IAAAA,KAAA;MACF,OAAAC,CAAA,EAAAC,CAAA,GAAAC,CAAA,IAAAH,KAAA;QAAAI,IAAA,GAAAC,IAAA,CAAAC,KAAA,CAAAV,SAAA;MAGI,OAAMH,UAAW,CAAAU,CAAA,GAAG,QAAGF,CAAA,KAAAC,CAAA,MAAAE,IAAA,MAAAD,CAAA,aAAAF,CAAA,KAAAC,CAAA,MAAAE,IAAA;IACzB;EAGA;EAQA,IAAAV,KAAM,CAAAK,UAAI,CAAS,IAAI;IASvB,IAAIQ,GAAA,GAAAb,KAAQ,CAAAc,KAAK;IAEfD,GAAA,CAAAT,MAAM,MAAO,KAAKS,GAAA,GAAMA,GAAA,CAAAE,KAAA,GAAY,EAAAC,GAAG,WAAAC,CAAA;MACvC,OAAOA,CAAA,GAAAA,CAAA;IACT,GAAAC,IAAA;IAEA,IAAAC,CAAA,GAAMC,QAAU,CAAAP,GAAA,CACVC,KAAI,IAAI,MAAM,IAAK;MAAIO,CAAA,GAAAD,QAAa,CAAAP,GAAA,CAAKC,KAAA,CAAM;MAAAQ,CAAA,GAAAF,QAAA,CAAAP,GAAA,CAAAC,KAAA;MAAAS,GAAA,GAAAZ,IAAA,CAAAY,GAAA,CAAAJ,CAAA,EAAAE,CAAA,EAAAC,CAAA;MAAAE,GAAA,GAAAb,IAAA,CAAAa,GAAA,CAAAL,CAAA,EAAAE,CAAA,EAAAC,CAAA;MAAAG,CAAA,IAAAF,GAAA,GAAAC,GAAA;IAErD,IAAID,GAAA,KAAAC,GAAA;MACJ,IAAAE,KAAQ,GAAKf,IAAA,CAAAC,KAAA,CAAAV,SAAA;MACX,OAAKH,UAAA,eAAA2B,KAAA;IACH;IACA,IAAAC,CAAA,GAAAJ,GAAA,GAAAC,GAAA;MAAAI,EAAA,GAAAH,CAAA,SAAAE,CAAA,QAAAJ,GAAA,GAAAC,GAAA,IAAAG,CAAA,IAAAJ,GAAA,GAAAC,GAAA;MAAAK,EAAA;IAAA,QACGN,GAAA;MACH,KAAAJ,CAAA;QACAU,EAAA,KAAAR,CAAA,GAAAC,CAAA,IAAAK,CAAA,IAAAN,CAAA,GAAAC,CAAA;QACF;MACE,KAAAD,CAAA;QACAQ,EAAA,KAAAP,CAAA,GAAAH,CAAA,IAAAQ,CAAA;QACF;MACE,KAAAL,CAAI;QACRO,EAAA,KAAAV,CAAA,GAAAE,CAAA,IAAAM,CAAA;QAEA;MAKA;QACEE,EAAA,GAAM;IACN;IACF,IAAAC,IAAA,GAAAnB,IAAA,CAAAC,KAAA,CAAAiB,EAAA;MAAAE,IAAA,GAAApB,IAAA,CAAAC,KAAA,CAAAgB,EAAA;MAAAI,KAAA,GAAArB,IAAA,CAAAC,KAAA,CAAAV,SAAA;IAEA,IAAAW,GAAO,CAAAT,MAAA,KAAW;MACpB,IAAA6B,KAAA,GAAAb,QAAA,CAAAP,GAAA,CAAAC,KAAA;MAEA,OAAOf,UAAW,SAAK+B,IAAA,KAAAC,IAAA,MAAAC,KAAA,MAAAC,KAAA,CAAAC,OAAA;IACzB","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ function toHex(value) {
2
+ return "#" + value.toString(16).padStart(6, "0");
3
+ }
4
+ function randomHex() {
5
+ return toHex(Math.floor(Math.random() * 16777215));
6
+ }
7
+ export {
8
+ randomHex,
9
+ toHex
10
+ };
11
+ //# sourceMappingURL=toHex.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/color/toHex.ts"],
4
+ "mappings": "AACO,SAAS,MAAM,OAAuB;AAE3C,SAAO,MAAM,MAAM,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AACjD;AAGO,SAAS,YAAoB;AAClC,SAAO,MAAM,KAAK,MAAM,KAAK,OAAO,IAAI,QAAQ,CAAC;AACnD;",
5
+ "names": []
6
+ }
@@ -0,0 +1,8 @@
1
+ function toHex(value) {
2
+ return "#" + value.toString(16).padStart(6, "0");
3
+ }
4
+ function randomHex() {
5
+ return toHex(Math.floor(Math.random() * 16777215));
6
+ }
7
+ export { randomHex, toHex };
8
+ //# sourceMappingURL=toHex.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["toHex","value","toString","padStart","randomHex","Math","floor","random"],"sources":["../../../src/color/toHex.ts"],"sourcesContent":[null],"mappings":"AACO,SAASA,MAAMC,KAAA,EAAuB;EAE3C,OAAO,MAAMA,KAAA,CAAMC,QAAA,CAAS,EAAE,EAAEC,QAAA,CAAS,GAAG,GAAG;AACjD;AAGO,SAASC,UAAA,EAAoB;EAClC,OAAOJ,KAAA,CAAMK,IAAA,CAAKC,KAAA,CAAMD,IAAA,CAAKE,MAAA,CAAO,IAAI,QAAQ,CAAC;AACnD","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ function toHex(value) {
2
+ return "#" + value.toString(16).padStart(6, "0");
3
+ }
4
+ function randomHex() {
5
+ return toHex(Math.floor(Math.random() * 16777215));
6
+ }
7
+ export { randomHex, toHex };
8
+ //# sourceMappingURL=toHex.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["toHex","value","toString","padStart","randomHex","Math","floor","random"],"sources":["../../../src/color/toHex.ts"],"sourcesContent":[null],"mappings":"AACO,SAASA,MAAMC,KAAA,EAAuB;EAE3C,OAAO,MAAMA,KAAA,CAAMC,QAAA,CAAS,EAAE,EAAEC,QAAA,CAAS,GAAG,GAAG;AACjD;AAGO,SAASC,UAAA,EAAoB;EAClC,OAAOJ,KAAA,CAAMK,IAAA,CAAKC,KAAA,CAAMD,IAAA,CAAKE,MAAA,CAAO,IAAI,QAAQ,CAAC;AACnD","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -15,6 +15,8 @@ export * from "./async/useAsyncEffect";
15
15
  export * from "./async/useLazyMount";
16
16
  export * from "./async/useLazyValue";
17
17
  export * from "./browser/clearIndexedDB";
18
+ export * from "./clipboard";
19
+ export * from "./color";
18
20
  export * from "./browser/isActiveElementFormField";
19
21
  export * from "./browser/openPopup";
20
22
  export * from "./debug/debugLog";
@@ -57,7 +59,9 @@ export * from "./string/slugify";
57
59
  export * from "./string/truncateList";
58
60
  export * from "./time/formatDate";
59
61
  export * from "./time/formatDateRelative";
62
+ export * from "./time/formatDistanceToNow";
60
63
  export * from "./time/time";
64
+ export * from "./time/useTimer";
61
65
  export * from "./url/urlSanitize";
62
66
  export * from "./url/urlValidate";
63
67
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAKd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,SAAS,uBAAuB;AAChC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAId,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAUd,cAAc;AACd,cAAc;",
4
+ "mappings": "AAAA,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAKd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,SAAS,uBAAuB;AAChC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAId,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAUd,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
@@ -15,6 +15,8 @@ export * from "./async/useAsyncEffect.mjs";
15
15
  export * from "./async/useLazyMount.mjs";
16
16
  export * from "./async/useLazyValue.mjs";
17
17
  export * from "./browser/clearIndexedDB.mjs";
18
+ export * from "./clipboard";
19
+ export * from "./color";
18
20
  export * from "./browser/isActiveElementFormField.mjs";
19
21
  export * from "./browser/openPopup.mjs";
20
22
  export * from "./debug/debugLog.mjs";
@@ -57,7 +59,9 @@ export * from "./string/slugify.mjs";
57
59
  export * from "./string/truncateList.mjs";
58
60
  export * from "./time/formatDate.mjs";
59
61
  export * from "./time/formatDateRelative.mjs";
62
+ export * from "./time/formatDistanceToNow.mjs";
60
63
  export * from "./time/time.mjs";
64
+ export * from "./time/useTimer.mjs";
61
65
  export * from "./url/urlSanitize.mjs";
62
66
  export * from "./url/urlValidate.mjs";
63
67
  export { isEqualDeepLite };
@@ -1 +1 @@
1
- {"version":3,"names":["isEqualDeepLite"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAKd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,SAASA,eAAA,QAAuB;AAChC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAId,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAUd,cAAc;AACd,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["isEqualDeepLite"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAKd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,SAASA,eAAA,QAAuB;AAChC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAId,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAUd,cAAc;AACd,cAAc","ignoreList":[]}
@@ -15,6 +15,8 @@ export * from "./async/useAsyncEffect.native.js";
15
15
  export * from "./async/useLazyMount.native.js";
16
16
  export * from "./async/useLazyValue.native.js";
17
17
  export * from "./browser/clearIndexedDB.native.js";
18
+ export * from "./clipboard";
19
+ export * from "./color";
18
20
  export * from "./browser/isActiveElementFormField.native.js";
19
21
  export * from "./browser/openPopup.native.js";
20
22
  export * from "./debug/debugLog.native.js";
@@ -57,7 +59,9 @@ export * from "./string/slugify.native.js";
57
59
  export * from "./string/truncateList.native.js";
58
60
  export * from "./time/formatDate.native.js";
59
61
  export * from "./time/formatDateRelative.native.js";
62
+ export * from "./time/formatDistanceToNow.native.js";
60
63
  export * from "./time/time.native.js";
64
+ export * from "./time/useTimer.native.js";
61
65
  export * from "./url/urlSanitize.native.js";
62
66
  export * from "./url/urlValidate.native.js";
63
67
  export { isEqualDeepLite };
@@ -1 +1 @@
1
- {"version":3,"names":["isEqualDeepLite"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAKd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,SAASA,eAAA,QAAuB;AAChC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAId,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAUd,cAAc;AACd,cAAc","ignoreList":[]}
1
+ {"version":3,"names":["isEqualDeepLite"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAKd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,SAASA,eAAA,QAAuB;AAChC,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AAId,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAUd,cAAc;AACd,cAAc","ignoreList":[]}
@@ -24,9 +24,17 @@ function formatCount(value) {
24
24
  forceCompact: value >= 1e3
25
25
  });
26
26
  }
27
+ function formatReactionCount(value) {
28
+ return typeof value == "string" ? value : value >= 1e6 ? `${(value / 1e6).toFixed(1)}M` : value >= 1e3 ? `${(value / 1e3).toFixed(1)}K` : value.toString();
29
+ }
30
+ function formatPhoneNumber(value) {
31
+ return value;
32
+ }
27
33
  export {
28
34
  abbreviateNumber,
29
35
  formatCount,
30
- formatNumber
36
+ formatNumber,
37
+ formatPhoneNumber,
38
+ formatReactionCount
31
39
  };
32
40
  //# sourceMappingURL=formatNumber.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/number/formatNumber.ts"],
4
- "mappings": "AAOO,SAAS,aAAa,OAAe,UAA+B,CAAC,GAAW;AACrF,QAAM;AAAA,IACJ,SAAS;AAAA,IACT,wBAAwB;AAAA,IACxB,wBAAwB;AAAA,IACxB,eAAe;AAAA,EACjB,IAAI;AAEJ,SAAI,CAAC,gBAAgB,KAAK,IAAI,KAAK,IAAI,MAC9B,IAAI,KAAK,aAAa,QAAQ;AAAA,IACnC;AAAA,IACA;AAAA,EACF,CAAC,EAAE,OAAO,KAAK,IAGV,IAAI,KAAK,aAAa,QAAQ;AAAA,IACnC,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,EACF,CAAC,EAAE,OAAO,KAAK;AACjB;AAEO,SAAS,iBAAiB,OAAuB;AACtD,SAAO,aAAa,OAAO,EAAE,uBAAuB,EAAE,CAAC;AACzD;AAEO,SAAS,YAAY,OAAuB;AACjD,SAAO,aAAa,OAAO;AAAA,IACzB,uBAAuB;AAAA,IACvB,cAAc,SAAS;AAAA,EACzB,CAAC;AACH;",
4
+ "mappings": "AAOO,SAAS,aAAa,OAAe,UAA+B,CAAC,GAAW;AACrF,QAAM;AAAA,IACJ,SAAS;AAAA,IACT,wBAAwB;AAAA,IACxB,wBAAwB;AAAA,IACxB,eAAe;AAAA,EACjB,IAAI;AAEJ,SAAI,CAAC,gBAAgB,KAAK,IAAI,KAAK,IAAI,MAC9B,IAAI,KAAK,aAAa,QAAQ;AAAA,IACnC;AAAA,IACA;AAAA,EACF,CAAC,EAAE,OAAO,KAAK,IAGV,IAAI,KAAK,aAAa,QAAQ;AAAA,IACnC,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,EACF,CAAC,EAAE,OAAO,KAAK;AACjB;AAEO,SAAS,iBAAiB,OAAuB;AACtD,SAAO,aAAa,OAAO,EAAE,uBAAuB,EAAE,CAAC;AACzD;AAEO,SAAS,YAAY,OAAuB;AACjD,SAAO,aAAa,OAAO;AAAA,IACzB,uBAAuB;AAAA,IACvB,cAAc,SAAS;AAAA,EACzB,CAAC;AACH;AAEO,SAAS,oBAAoB,OAAgC;AAClE,SAAI,OAAO,SAAU,WAAiB,QAClC,SAAS,MACJ,IAAI,QAAQ,KAAS,QAAQ,CAAC,CAAC,MAEpC,SAAS,MACJ,IAAI,QAAQ,KAAM,QAAQ,CAAC,CAAC,MAE9B,MAAM,SAAS;AACxB;AAEO,SAAS,kBAAkB,OAAuB;AACvD,SAAO;AACT;",
5
5
  "names": []
6
6
  }
@@ -26,5 +26,11 @@ function formatCount(value) {
26
26
  forceCompact: value >= 1e3
27
27
  });
28
28
  }
29
- export { abbreviateNumber, formatCount, formatNumber };
29
+ function formatReactionCount(value) {
30
+ return typeof value == "string" ? value : value >= 1e6 ? `${(value / 1e6).toFixed(1)}M` : value >= 1e3 ? `${(value / 1e3).toFixed(1)}K` : value.toString();
31
+ }
32
+ function formatPhoneNumber(value) {
33
+ return value;
34
+ }
35
+ export { abbreviateNumber, formatCount, formatNumber, formatPhoneNumber, formatReactionCount };
30
36
  //# sourceMappingURL=formatNumber.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["formatNumber","value","options","locale","maximumFractionDigits","minimumFractionDigits","forceCompact","Math","abs","Intl","NumberFormat","format","notation","compactDisplay","abbreviateNumber","formatCount"],"sources":["../../../src/number/formatNumber.ts"],"sourcesContent":[null],"mappings":"AAOO,SAASA,aAAaC,KAAA,EAAeC,OAAA,GAA+B,CAAC,GAAW;EACrF,MAAM;IACJC,MAAA,GAAS;IACTC,qBAAA,GAAwB;IACxBC,qBAAA,GAAwB;IACxBC,YAAA,GAAe;EACjB,IAAIJ,OAAA;EAEJ,OAAI,CAACI,YAAA,IAAgBC,IAAA,CAAKC,GAAA,CAAIP,KAAK,IAAI,MAC9B,IAAIQ,IAAA,CAAKC,YAAA,CAAaP,MAAA,EAAQ;IACnCC,qBAAA;IACAC;EACF,CAAC,EAAEM,MAAA,CAAOV,KAAK,IAGV,IAAIQ,IAAA,CAAKC,YAAA,CAAaP,MAAA,EAAQ;IACnCS,QAAA,EAAU;IACVC,cAAA,EAAgB;IAChBT,qBAAA;IACAC;EACF,CAAC,EAAEM,MAAA,CAAOV,KAAK;AACjB;AAEO,SAASa,iBAAiBb,KAAA,EAAuB;EACtD,OAAOD,YAAA,CAAaC,KAAA,EAAO;IAAEG,qBAAA,EAAuB;EAAE,CAAC;AACzD;AAEO,SAASW,YAAYd,KAAA,EAAuB;EACjD,OAAOD,YAAA,CAAaC,KAAA,EAAO;IACzBG,qBAAA,EAAuB;IACvBE,YAAA,EAAcL,KAAA,IAAS;EACzB,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["formatNumber","value","options","locale","maximumFractionDigits","minimumFractionDigits","forceCompact","Math","abs","Intl","NumberFormat","format","notation","compactDisplay","abbreviateNumber","formatCount","formatReactionCount","toFixed","toString","formatPhoneNumber"],"sources":["../../../src/number/formatNumber.ts"],"sourcesContent":[null],"mappings":"AAOO,SAASA,aAAaC,KAAA,EAAeC,OAAA,GAA+B,CAAC,GAAW;EACrF,MAAM;IACJC,MAAA,GAAS;IACTC,qBAAA,GAAwB;IACxBC,qBAAA,GAAwB;IACxBC,YAAA,GAAe;EACjB,IAAIJ,OAAA;EAEJ,OAAI,CAACI,YAAA,IAAgBC,IAAA,CAAKC,GAAA,CAAIP,KAAK,IAAI,MAC9B,IAAIQ,IAAA,CAAKC,YAAA,CAAaP,MAAA,EAAQ;IACnCC,qBAAA;IACAC;EACF,CAAC,EAAEM,MAAA,CAAOV,KAAK,IAGV,IAAIQ,IAAA,CAAKC,YAAA,CAAaP,MAAA,EAAQ;IACnCS,QAAA,EAAU;IACVC,cAAA,EAAgB;IAChBT,qBAAA;IACAC;EACF,CAAC,EAAEM,MAAA,CAAOV,KAAK;AACjB;AAEO,SAASa,iBAAiBb,KAAA,EAAuB;EACtD,OAAOD,YAAA,CAAaC,KAAA,EAAO;IAAEG,qBAAA,EAAuB;EAAE,CAAC;AACzD;AAEO,SAASW,YAAYd,KAAA,EAAuB;EACjD,OAAOD,YAAA,CAAaC,KAAA,EAAO;IACzBG,qBAAA,EAAuB;IACvBE,YAAA,EAAcL,KAAA,IAAS;EACzB,CAAC;AACH;AAEO,SAASe,oBAAoBf,KAAA,EAAgC;EAClE,OAAI,OAAOA,KAAA,IAAU,WAAiBA,KAAA,GAClCA,KAAA,IAAS,MACJ,IAAIA,KAAA,GAAQ,KAASgB,OAAA,CAAQ,CAAC,CAAC,MAEpChB,KAAA,IAAS,MACJ,IAAIA,KAAA,GAAQ,KAAMgB,OAAA,CAAQ,CAAC,CAAC,MAE9BhB,KAAA,CAAMiB,QAAA,CAAS;AACxB;AAEO,SAASC,kBAAkBlB,KAAA,EAAuB;EACvD,OAAOA,KAAA;AACT","ignoreList":[]}
@@ -27,5 +27,11 @@ function formatCount(value) {
27
27
  forceCompact: value >= 1e3
28
28
  });
29
29
  }
30
- export { abbreviateNumber, formatCount, formatNumber };
30
+ function formatReactionCount(value) {
31
+ return typeof value == "string" ? value : value >= 1e6 ? `${(value / 1e6).toFixed(1)}M` : value >= 1e3 ? `${(value / 1e3).toFixed(1)}K` : value.toString();
32
+ }
33
+ function formatPhoneNumber(value) {
34
+ return value;
35
+ }
36
+ export { abbreviateNumber, formatCount, formatNumber, formatPhoneNumber, formatReactionCount };
31
37
  //# sourceMappingURL=formatNumber.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["formatNumber","value","options","arguments","length","locale","maximumFractionDigits","minimumFractionDigits","forceCompact","Math","abs","Intl","NumberFormat","format","notation","compactDisplay","abbreviateNumber","formatCount"],"sources":["../../../src/number/formatNumber.ts"],"sourcesContent":[null],"mappings":"AAOO,SAASA,aAAaC,KAAA,EAAe;EAC1C,IAAAC,OAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IAAA;MAAAE,MAAA;MAAAC,qBAAA;MAAAC,qBAAA;MAAAC,YAAA;IAAA,IAAAN,OAAA;EAAA,OACJ,CAAAM,YAAS,IAAAC,IAAA,CAAAC,GAAA,CAAAT,KAAA,cAAAU,IAAA,CAAAC,YAAA,CAAAP,MAAA;IACTC,qBAAA;IACAC;EAAwB,EACxB,CAAAM,MAAA,CAAAZ,KAAA,IAAe,IAAAU,IAAA,CAAAC,YAAA,CAAAP,MAAA;IACjBS,QAAI;IAEJC,cAAK,SAAgB;IAEjBT,qBAAA;IACAC;EACF,CAAC,EAAEM,MAAA,CAAOZ,KAAK;AAGoB;AACzB,SACVe,gBAAgBA,CAAAf,KAAA;EAAA,OAChBD,YAAA,CAAAC,KAAA;IACAK,qBAAA;EACF,CAAC;AACH;AAEO,SAASW,YAAAhB,KAAiB;EAC/B,OAAOD,YAAA,CAAaC,KAAA,EAAO;IAC7BK,qBAAA;IAEOE,YAAS,EAAAP,KAAY;EAC1B;AAA2B;AACF,SAEzBe,gBAAC,EACHC,WAAA,E","ignoreList":[]}
1
+ {"version":3,"names":["formatNumber","value","options","arguments","length","locale","maximumFractionDigits","minimumFractionDigits","forceCompact","Math","abs","Intl","NumberFormat","format","notation","compactDisplay","abbreviateNumber","formatCount","formatReactionCount","toFixed","toString","formatPhoneNumber"],"sources":["../../../src/number/formatNumber.ts"],"sourcesContent":[null],"mappings":"AAOO,SAASA,aAAaC,KAAA,EAAe;EAC1C,IAAAC,OAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IAAA;MAAAE,MAAA;MAAAC,qBAAA;MAAAC,qBAAA;MAAAC,YAAA;IAAA,IAAAN,OAAA;EAAA,OACJ,CAAAM,YAAS,IAAAC,IAAA,CAAAC,GAAA,CAAAT,KAAA,cAAAU,IAAA,CAAAC,YAAA,CAAAP,MAAA;IACTC,qBAAA;IACAC;EAAwB,EACxB,CAAAM,MAAA,CAAAZ,KAAA,IAAe,IAAAU,IAAA,CAAAC,YAAA,CAAAP,MAAA;IACjBS,QAAI;IAEJC,cAAK,SAAgB;IAEjBT,qBAAA;IACAC;EACF,CAAC,EAAEM,MAAA,CAAOZ,KAAK;AAGoB;AACzB,SACVe,gBAAgBA,CAAAf,KAAA;EAAA,OAChBD,YAAA,CAAAC,KAAA;IACAK,qBAAA;EACF,CAAC;AACH;AAEO,SAASW,YAAAhB,KAAiB;EAC/B,OAAOD,YAAA,CAAaC,KAAA,EAAO;IAC7BK,qBAAA;IAEOE,YAAS,EAAAP,KAAY;EAC1B;AAA2B;AACF,SACvBiB,mBAAuBA,CAAAjB,KAAA;EACzB,OAAC,OAAAA,KAAA,eAAAA,KAAA,GAAAA,KAAA,cAAAA,KAAA,QAAAkB,OAAA,SAAAlB,KAAA,cAAAA,KAAA,QAAAkB,OAAA,SAAAlB,KAAA,CAAAmB,QAAA;AACH;AAEO,SAASC,kBAAApB,KAAoB;EAClC,OAAIA,KAAA;AAQN;AAEO,SACLe,gBAAO,EACTC,WAAA,E","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ function formatDistanceToNow(timestamp) {
2
+ const diff = Date.now() - timestamp, minutes = Math.floor(diff / 6e4), hours = Math.floor(diff / 36e5), days = Math.floor(diff / 864e5);
3
+ return minutes < 1 ? "just now" : minutes < 60 ? `${minutes}m` : hours < 24 ? `${hours}h` : days < 7 ? `${days}d` : days < 30 ? `${Math.floor(days / 7)}w` : days < 365 ? `${Math.floor(days / 30)}mo` : `${Math.floor(days / 365)}y`;
4
+ }
5
+ export {
6
+ formatDistanceToNow
7
+ };
8
+ //# sourceMappingURL=formatDistanceToNow.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/time/formatDistanceToNow.ts"],
4
+ "mappings": "AAAO,SAAS,oBAAoB,WAA2B;AAE7D,QAAM,OADM,KAAK,IAAI,IACF,WAEb,UAAU,KAAK,MAAM,OAAO,GAAK,GACjC,QAAQ,KAAK,MAAM,OAAO,IAAO,GACjC,OAAO,KAAK,MAAM,OAAO,KAAQ;AAEvC,SAAI,UAAU,IAAU,aACpB,UAAU,KAAW,GAAG,OAAO,MAC/B,QAAQ,KAAW,GAAG,KAAK,MAC3B,OAAO,IAAU,GAAG,IAAI,MACxB,OAAO,KAAW,GAAG,KAAK,MAAM,OAAO,CAAC,CAAC,MACzC,OAAO,MAAY,GAAG,KAAK,MAAM,OAAO,EAAE,CAAC,OAExC,GAAG,KAAK,MAAM,OAAO,GAAG,CAAC;AAClC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,9 @@
1
+ function formatDistanceToNow(timestamp) {
2
+ const diff = Date.now() - timestamp,
3
+ minutes = Math.floor(diff / 6e4),
4
+ hours = Math.floor(diff / 36e5),
5
+ days = Math.floor(diff / 864e5);
6
+ return minutes < 1 ? "just now" : minutes < 60 ? `${minutes}m` : hours < 24 ? `${hours}h` : days < 7 ? `${days}d` : days < 30 ? `${Math.floor(days / 7)}w` : days < 365 ? `${Math.floor(days / 30)}mo` : `${Math.floor(days / 365)}y`;
7
+ }
8
+ export { formatDistanceToNow };
9
+ //# sourceMappingURL=formatDistanceToNow.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["formatDistanceToNow","timestamp","diff","Date","now","minutes","Math","floor","hours","days"],"sources":["../../../src/time/formatDistanceToNow.ts"],"sourcesContent":[null],"mappings":"AAAO,SAASA,oBAAoBC,SAAA,EAA2B;EAE7D,MAAMC,IAAA,GADMC,IAAA,CAAKC,GAAA,CAAI,IACFH,SAAA;IAEbI,OAAA,GAAUC,IAAA,CAAKC,KAAA,CAAML,IAAA,GAAO,GAAK;IACjCM,KAAA,GAAQF,IAAA,CAAKC,KAAA,CAAML,IAAA,GAAO,IAAO;IACjCO,IAAA,GAAOH,IAAA,CAAKC,KAAA,CAAML,IAAA,GAAO,KAAQ;EAEvC,OAAIG,OAAA,GAAU,IAAU,aACpBA,OAAA,GAAU,KAAW,GAAGA,OAAO,MAC/BG,KAAA,GAAQ,KAAW,GAAGA,KAAK,MAC3BC,IAAA,GAAO,IAAU,GAAGA,IAAI,MACxBA,IAAA,GAAO,KAAW,GAAGH,IAAA,CAAKC,KAAA,CAAME,IAAA,GAAO,CAAC,CAAC,MACzCA,IAAA,GAAO,MAAY,GAAGH,IAAA,CAAKC,KAAA,CAAME,IAAA,GAAO,EAAE,CAAC,OAExC,GAAGH,IAAA,CAAKC,KAAA,CAAME,IAAA,GAAO,GAAG,CAAC;AAClC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ function formatDistanceToNow(timestamp) {
2
+ var now = Date.now(),
3
+ diff = now - timestamp,
4
+ minutes = Math.floor(diff / 6e4),
5
+ hours = Math.floor(diff / 36e5),
6
+ days = Math.floor(diff / 864e5);
7
+ return minutes < 1 ? "just now" : minutes < 60 ? `${minutes}m` : hours < 24 ? `${hours}h` : days < 7 ? `${days}d` : days < 30 ? `${Math.floor(days / 7)}w` : days < 365 ? `${Math.floor(days / 30)}mo` : `${Math.floor(days / 365)}y`;
8
+ }
9
+ export { formatDistanceToNow };
10
+ //# sourceMappingURL=formatDistanceToNow.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["formatDistanceToNow","timestamp","now","Date","diff","minutes","Math","floor","hours","days"],"sources":["../../../src/time/formatDistanceToNow.ts"],"sourcesContent":[null],"mappings":"AAAO,SAASA,oBAAoBC,SAAA,EAA2B;EAE7D,IAAAC,GAAM,GAAAC,IADM,CAAAD,GAAK;IAAIE,IACF,GAAAF,GAAA,GAAAD,SAEb;IAAAI,OAAe,GAAAC,IAAM,CAAAC,KAAO,CAAAH,IAC5B;IAAQI,KAAK,GAAAF,IAAM,CAAAC,KAAO,CAAAH,IAAO,GACjC,KAAO;IAAAK,IAAK,GAAAH,IAAM,CAAAC,KAAO,CAAAH,IAAQ;EAEvC,OAAIC,OAAA,GAAU,IAAU,aACpBA,OAAA,GAAU,KAAW,GAAGA,OAAO,MAC/BG,KAAA,GAAQ,KAAW,GAAGA,KAAK,MAC3BC,IAAA,GAAO,IAAU,GAAGA,IAAI,MACxBA,IAAA,GAAO,KAAW,GAAGH,IAAA,CAAKC,KAAA,CAAME,IAAA,GAAO,CAAC,CAAC,MACzCA,IAAA,GAAO,MAAY,GAAGH,IAAA,CAAKC,KAAA,CAAME,IAAA,GAAO,EAAE,CAAC,OAExC,GAAGH,IAAA,CAAKC,KAAA,CAAME,IAAA,GAAO,GAAG,CAAC;AAClC","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ import { useState, useEffect, useRef, useMemo, useCallback } from "react";
2
+ const useTimer = () => {
3
+ const [timerCount, setTimer] = useState(30), intervalRef = useRef(null), clearTimer = useCallback(() => {
4
+ intervalRef.current && (clearInterval(intervalRef.current), intervalRef.current = null);
5
+ }, []), resetTimer = useCallback(
6
+ (time, start) => {
7
+ setTimer(time), clearTimer(), start && (intervalRef.current = setInterval(() => {
8
+ setTimer((lastTimerCount) => lastTimerCount <= 1 ? (clearInterval(intervalRef.current), intervalRef.current = null, 0) : lastTimerCount - 1);
9
+ }, 1e3));
10
+ },
11
+ [clearTimer]
12
+ ), pauseTimer = useCallback(() => {
13
+ clearTimer();
14
+ }, [clearTimer]), resumeTimer = useCallback(() => {
15
+ intervalRef.current || (intervalRef.current = setInterval(() => {
16
+ setTimer((lastTimerCount) => lastTimerCount <= 1 ? (clearInterval(intervalRef.current), intervalRef.current = null, 0) : lastTimerCount - 1);
17
+ }, 1e3));
18
+ }, []);
19
+ return useEffect(() => () => {
20
+ intervalRef.current && (clearInterval(intervalRef.current), intervalRef.current = null);
21
+ }, []), useMemo(
22
+ () => ({
23
+ count: timerCount,
24
+ start: resetTimer,
25
+ pause: pauseTimer,
26
+ resume: resumeTimer,
27
+ clear: clearTimer
28
+ }),
29
+ [timerCount, clearTimer, pauseTimer, resetTimer, resumeTimer]
30
+ );
31
+ };
32
+ export {
33
+ useTimer
34
+ };
35
+ //# sourceMappingURL=useTimer.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/time/useTimer.ts"],
4
+ "mappings": "AAAA,SAAS,UAAU,WAAW,QAAQ,SAAS,mBAAmB;AAU3D,MAAM,WAAW,MAAsB;AAC5C,QAAM,CAAC,YAAY,QAAQ,IAAI,SAAiB,EAAE,GAC5C,cAAc,OAA8C,IAAI,GAEhE,aAAa,YAAY,MAAM;AACnC,IAAI,YAAY,YACd,cAAc,YAAY,OAAO,GACjC,YAAY,UAAU;AAAA,EAE1B,GAAG,CAAC,CAAC,GAEC,aAAa;AAAA,IACjB,CAAC,MAAc,UAAmB;AAChC,eAAS,IAAI,GACb,WAAW,GACP,UACF,YAAY,UAAU,YAAY,MAAM;AACtC,iBAAS,CAAC,mBACJ,kBAAkB,KACpB,cAAc,YAAY,OAAQ,GAClC,YAAY,UAAU,MACf,KAEF,iBAAiB,CACzB;AAAA,MACH,GAAG,GAAI;AAAA,IAEX;AAAA,IACA,CAAC,UAAU;AAAA,EACb,GAEM,aAAa,YAAY,MAAM;AACnC,eAAW;AAAA,EACb,GAAG,CAAC,UAAU,CAAC,GAET,cAAc,YAAY,MAAM;AACpC,IAAK,YAAY,YACf,YAAY,UAAU,YAAY,MAAM;AACtC,eAAS,CAAC,mBACJ,kBAAkB,KACpB,cAAc,YAAY,OAAQ,GAClC,YAAY,UAAU,MACf,KAEF,iBAAiB,CACzB;AAAA,IACH,GAAG,GAAI;AAAA,EAEX,GAAG,CAAC,CAAC;AAEL,mBAAU,MACD,MAAM;AACX,IAAI,YAAY,YACd,cAAc,YAAY,OAAO,GACjC,YAAY,UAAU;AAAA,EAE1B,GACC,CAAC,CAAC,GAEE;AAAA,IACL,OAAO;AAAA,MACL,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AAAA,IACA,CAAC,YAAY,YAAY,YAAY,YAAY,WAAW;AAAA,EAC9D;AACF;",
5
+ "names": []
6
+ }
@@ -0,0 +1,32 @@
1
+ import { useState, useEffect, useRef, useMemo, useCallback } from "react";
2
+ const useTimer = () => {
3
+ const [timerCount, setTimer] = useState(30),
4
+ intervalRef = useRef(null),
5
+ clearTimer = useCallback(() => {
6
+ intervalRef.current && (clearInterval(intervalRef.current), intervalRef.current = null);
7
+ }, []),
8
+ resetTimer = useCallback((time, start) => {
9
+ setTimer(time), clearTimer(), start && (intervalRef.current = setInterval(() => {
10
+ setTimer(lastTimerCount => lastTimerCount <= 1 ? (clearInterval(intervalRef.current), intervalRef.current = null, 0) : lastTimerCount - 1);
11
+ }, 1e3));
12
+ }, [clearTimer]),
13
+ pauseTimer = useCallback(() => {
14
+ clearTimer();
15
+ }, [clearTimer]),
16
+ resumeTimer = useCallback(() => {
17
+ intervalRef.current || (intervalRef.current = setInterval(() => {
18
+ setTimer(lastTimerCount => lastTimerCount <= 1 ? (clearInterval(intervalRef.current), intervalRef.current = null, 0) : lastTimerCount - 1);
19
+ }, 1e3));
20
+ }, []);
21
+ return useEffect(() => () => {
22
+ intervalRef.current && (clearInterval(intervalRef.current), intervalRef.current = null);
23
+ }, []), useMemo(() => ({
24
+ count: timerCount,
25
+ start: resetTimer,
26
+ pause: pauseTimer,
27
+ resume: resumeTimer,
28
+ clear: clearTimer
29
+ }), [timerCount, clearTimer, pauseTimer, resetTimer, resumeTimer]);
30
+ };
31
+ export { useTimer };
32
+ //# sourceMappingURL=useTimer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","useEffect","useRef","useMemo","useCallback","useTimer","timerCount","setTimer","intervalRef","clearTimer","current","clearInterval","resetTimer","time","start","setInterval","lastTimerCount","pauseTimer","resumeTimer","count","pause","resume","clear"],"sources":["../../../src/time/useTimer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,SAAA,EAAWC,MAAA,EAAQC,OAAA,EAASC,WAAA,QAAmB;AAU3D,MAAMC,QAAA,GAAWA,CAAA,KAAsB;EAC5C,MAAM,CAACC,UAAA,EAAYC,QAAQ,IAAIP,QAAA,CAAiB,EAAE;IAC5CQ,WAAA,GAAcN,MAAA,CAA8C,IAAI;IAEhEO,UAAA,GAAaL,WAAA,CAAY,MAAM;MAC/BI,WAAA,CAAYE,OAAA,KACdC,aAAA,CAAcH,WAAA,CAAYE,OAAO,GACjCF,WAAA,CAAYE,OAAA,GAAU;IAE1B,GAAG,EAAE;IAECE,UAAA,GAAaR,WAAA,CACjB,CAACS,IAAA,EAAcC,KAAA,KAAmB;MAChCP,QAAA,CAASM,IAAI,GACbJ,UAAA,CAAW,GACPK,KAAA,KACFN,WAAA,CAAYE,OAAA,GAAUK,WAAA,CAAY,MAAM;QACtCR,QAAA,CAAUS,cAAA,IACJA,cAAA,IAAkB,KACpBL,aAAA,CAAcH,WAAA,CAAYE,OAAQ,GAClCF,WAAA,CAAYE,OAAA,GAAU,MACf,KAEFM,cAAA,GAAiB,CACzB;MACH,GAAG,GAAI;IAEX,GACA,CAACP,UAAU,CACb;IAEMQ,UAAA,GAAab,WAAA,CAAY,MAAM;MACnCK,UAAA,CAAW;IACb,GAAG,CAACA,UAAU,CAAC;IAETS,WAAA,GAAcd,WAAA,CAAY,MAAM;MAC/BI,WAAA,CAAYE,OAAA,KACfF,WAAA,CAAYE,OAAA,GAAUK,WAAA,CAAY,MAAM;QACtCR,QAAA,CAAUS,cAAA,IACJA,cAAA,IAAkB,KACpBL,aAAA,CAAcH,WAAA,CAAYE,OAAQ,GAClCF,WAAA,CAAYE,OAAA,GAAU,MACf,KAEFM,cAAA,GAAiB,CACzB;MACH,GAAG,GAAI;IAEX,GAAG,EAAE;EAEL,OAAAf,SAAA,CAAU,MACD,MAAM;IACPO,WAAA,CAAYE,OAAA,KACdC,aAAA,CAAcH,WAAA,CAAYE,OAAO,GACjCF,WAAA,CAAYE,OAAA,GAAU;EAE1B,GACC,EAAE,GAEEP,OAAA,CACL,OAAO;IACLgB,KAAA,EAAOb,UAAA;IACPQ,KAAA,EAAOF,UAAA;IACPQ,KAAA,EAAOH,UAAA;IACPI,MAAA,EAAQH,WAAA;IACRI,KAAA,EAAOb;EACT,IACA,CAACH,UAAA,EAAYG,UAAA,EAAYQ,UAAA,EAAYL,UAAA,EAAYM,WAAW,CAC9D;AACF","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ import { useState, useEffect, useRef, useMemo, useCallback } from "react";
2
+ var useTimer = function () {
3
+ var [timerCount, setTimer] = useState(30),
4
+ intervalRef = useRef(null),
5
+ clearTimer = useCallback(function () {
6
+ intervalRef.current && (clearInterval(intervalRef.current), intervalRef.current = null);
7
+ }, []),
8
+ resetTimer = useCallback(function (time, start) {
9
+ setTimer(time), clearTimer(), start && (intervalRef.current = setInterval(function () {
10
+ setTimer(function (lastTimerCount) {
11
+ return lastTimerCount <= 1 ? (clearInterval(intervalRef.current), intervalRef.current = null, 0) : lastTimerCount - 1;
12
+ });
13
+ }, 1e3));
14
+ }, [clearTimer]),
15
+ pauseTimer = useCallback(function () {
16
+ clearTimer();
17
+ }, [clearTimer]),
18
+ resumeTimer = useCallback(function () {
19
+ intervalRef.current || (intervalRef.current = setInterval(function () {
20
+ setTimer(function (lastTimerCount) {
21
+ return lastTimerCount <= 1 ? (clearInterval(intervalRef.current), intervalRef.current = null, 0) : lastTimerCount - 1;
22
+ });
23
+ }, 1e3));
24
+ }, []);
25
+ return useEffect(function () {
26
+ return function () {
27
+ intervalRef.current && (clearInterval(intervalRef.current), intervalRef.current = null);
28
+ };
29
+ }, []), useMemo(function () {
30
+ return {
31
+ count: timerCount,
32
+ start: resetTimer,
33
+ pause: pauseTimer,
34
+ resume: resumeTimer,
35
+ clear: clearTimer
36
+ };
37
+ }, [timerCount, clearTimer, pauseTimer, resetTimer, resumeTimer]);
38
+ };
39
+ export { useTimer };
40
+ //# sourceMappingURL=useTimer.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","useEffect","useRef","useMemo","useCallback","useTimer","timerCount","setTimer","intervalRef","clearTimer","current","clearInterval","resetTimer","time","start","setInterval","lastTimerCount","pauseTimer","resumeTimer","count"],"sources":["../../../src/time/useTimer.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,SAAA,EAAWC,MAAA,EAAQC,OAAA,EAASC,WAAA,QAAmB;AAU3D,IAAAC,QAAM,YAAAA,CAAA,EAAiC;EAC5C,KAAAC,UAAO,EAAAC,QAAY,IAAQP,QAAI,GAAiB;IAAEQ,WAC5C,GAAAN,MAAc,KAA8C;IAAIO,UAEhE,GAAAL,WAAa,aAAkB;MAC/BI,WAAA,CAAYE,OAAA,KACdC,aAAA,CAAcH,WAAA,CAAYE,OAAO,GACjCF,WAAA,CAAYE,OAAA,GAAU;IAE1B,GAAG,EAAE;IAECE,UAAA,GAAaR,WAAA,WAAAS,IAAA,EAAAC,KAAA;MACjBP,QAAe,CAAAM,IAAA,GAAAJ,UAAmB,IAAAK,KAAA,KAAAN,WAAA,CAAAE,OAAA,GAAAK,WAAA;QAChCR,QAAA,CAAS,UACTS,cACI;UAEA,OAAAA,cAAU,SACJL,aAAA,CAAAH,WACF,CAAAE,OAAA,GAAcF,WAAA,CAAYE,OAAQ,GAClC,WAAAM,cAAsB,GACf;QAIb;MAEJ;IAAA,GACC,CACHP,UAEM,CACJ;IAAAQ,UAAW,GAAAb,WAAA;MACbK,UAAI,EAAU;IAGZ,GAAK,CAEDA,UAAA,CAOC,CACH;IAAAS,WAAO,GAAAd,WAAA;MAEXI,WAAK,CAAAE,OAAA,KAAAF,WAAA,CAAAE,OAAA,GAAAK,WAAA;QAELR,QAAA,WAAUS,cACK;UACP,OAAAA,cACF,SAAAL,aAAc,CAAAH,WAAmB,CACjCE,OAAA,GAAAF,WAAY,CAAUE,OAAA,cAAAM,cAAA;QAGxB,CAAC;MAGH,OAAO;IAAA,KACL;EAAO,OACPf,SAAO;IAAA,OACP,YAAO;MACPO,WAAQ,CAAAE,OAAA,KAAAC,aAAA,CAAAH,WAAA,CAAAE,OAAA,GAAAF,WAAA,CAAAE,OAAA;IAAA;EACD,GACT,KAAAP,OAAA;IACA,OAAC;MACHgB,KAAA,EAAAb,UAAA;MACFQ,KAAA,EAAAF,UAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@take-out/helpers",
3
- "version": "0.0.39",
3
+ "version": "0.0.41",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "source": "src/index.ts",
@@ -60,6 +60,7 @@
60
60
  },
61
61
  "peerDependencies": {
62
62
  "@rocicorp/zero": "*",
63
+ "expo-clipboard": "*",
63
64
  "react": "*",
64
65
  "react-native": "*"
65
66
  },
@@ -0,0 +1,10 @@
1
+ import * as Clipboard from 'expo-clipboard'
2
+
3
+ export const getClipboardText = async (): Promise<string | null> => {
4
+ try {
5
+ const text = await Clipboard.getStringAsync()
6
+ return text
7
+ } catch {
8
+ return null
9
+ }
10
+ }
@@ -0,0 +1,8 @@
1
+ export const getClipboardText = async (): Promise<string | null> => {
2
+ try {
3
+ const text = await navigator.clipboard.readText()
4
+ return text
5
+ } catch {
6
+ return null
7
+ }
8
+ }
@@ -0,0 +1 @@
1
+ export * from './clipboard'
@@ -0,0 +1,18 @@
1
+ export function extractOpacityFromColor(color: string): number {
2
+ if (color === 'transparent') return 0
3
+
4
+ // Match hex codes like #RRGGBBAA or #RRGGBB
5
+ const hexMatch = color.match(/^#([0-9a-fA-F]{6})([0-9a-fA-F]{2})?$/)
6
+ if (hexMatch) {
7
+ const [, _rgb, alphaHex] = hexMatch
8
+ if (alphaHex) {
9
+ const alpha = parseInt(alphaHex, 16)
10
+ return alpha / 255
11
+ }
12
+ return 1 // No alpha specified → fully opaque
13
+ }
14
+
15
+ // Could expand this to support rgba(), hsl(), etc. if needed
16
+ console.warn(`Unsupported color format: ${color}`)
17
+ return 1
18
+ }