@stryke/hooks 0.4.23 → 0.4.31

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 (213) hide show
  1. package/CHANGELOG.md +342 -0
  2. package/README.md +18 -10
  3. package/dist/index.cjs +1 -192
  4. package/dist/index.d.cts +18 -0
  5. package/dist/index.d.mts +18 -0
  6. package/dist/index.mjs +1 -1
  7. package/dist/is-function-BhD7GXOO.cjs +1 -0
  8. package/dist/is-function-md4Ym3I0.mjs +2 -0
  9. package/dist/is-function-md4Ym3I0.mjs.map +1 -0
  10. package/dist/navigator-CY6InfsZ.d.cts +23 -0
  11. package/dist/navigator-CY6InfsZ.d.cts.map +1 -0
  12. package/dist/navigator-DUOlrD-4.d.mts +23 -0
  13. package/dist/navigator-DUOlrD-4.d.mts.map +1 -0
  14. package/dist/use-battery-BkRIfbJz.d.mts +11 -0
  15. package/dist/use-battery-BkRIfbJz.d.mts.map +1 -0
  16. package/dist/use-battery-DZZDx003.cjs +1 -0
  17. package/dist/use-battery-DaA7I4_x.mjs +2 -0
  18. package/dist/use-battery-DaA7I4_x.mjs.map +1 -0
  19. package/dist/use-battery-DpuF7GMz.d.cts +11 -0
  20. package/dist/use-battery-DpuF7GMz.d.cts.map +1 -0
  21. package/dist/use-battery.cjs +1 -46
  22. package/dist/use-battery.d.cts +2 -0
  23. package/dist/use-battery.d.mts +2 -0
  24. package/dist/use-battery.mjs +1 -1
  25. package/dist/use-callback-ref-B-95d49K.d.mts +9 -0
  26. package/dist/use-callback-ref-B-95d49K.d.mts.map +1 -0
  27. package/dist/use-callback-ref-CloM-Kqk.cjs +1 -0
  28. package/dist/use-callback-ref-ctiFnQn4.d.cts +9 -0
  29. package/dist/use-callback-ref-ctiFnQn4.d.cts.map +1 -0
  30. package/dist/use-callback-ref-otlhGzUu.mjs +2 -0
  31. package/dist/use-callback-ref-otlhGzUu.mjs.map +1 -0
  32. package/dist/use-callback-ref.cjs +1 -13
  33. package/dist/use-callback-ref.d.cts +2 -0
  34. package/dist/use-callback-ref.d.mts +2 -0
  35. package/dist/use-callback-ref.mjs +1 -1
  36. package/dist/use-callback-stable-C3QZzhdC.mjs +2 -0
  37. package/dist/use-callback-stable-C3QZzhdC.mjs.map +1 -0
  38. package/dist/use-callback-stable-C5X8ySnU.d.mts +55 -0
  39. package/dist/use-callback-stable-C5X8ySnU.d.mts.map +1 -0
  40. package/dist/use-callback-stable-CvXmYtWT.cjs +1 -0
  41. package/dist/use-callback-stable-D_wCU4yv.d.cts +55 -0
  42. package/dist/use-callback-stable-D_wCU4yv.d.cts.map +1 -0
  43. package/dist/use-callback-stable.cjs +1 -10
  44. package/dist/use-callback-stable.d.cts +2 -0
  45. package/dist/use-callback-stable.d.mts +2 -0
  46. package/dist/use-callback-stable.mjs +1 -1
  47. package/dist/use-click-away-Bpl7sh5j.cjs +1 -0
  48. package/dist/use-click-away-D-DKaD9B.mjs +2 -0
  49. package/dist/use-click-away-D-DKaD9B.mjs.map +1 -0
  50. package/dist/use-click-away-DG8ULjSN.d.cts +14 -0
  51. package/dist/use-click-away-DG8ULjSN.d.cts.map +1 -0
  52. package/dist/use-click-away-kc61inYs.d.mts +14 -0
  53. package/dist/use-click-away-kc61inYs.d.mts.map +1 -0
  54. package/dist/use-click-away.cjs +1 -22
  55. package/dist/use-click-away.d.cts +2 -0
  56. package/dist/use-click-away.d.mts +2 -0
  57. package/dist/use-click-away.mjs +1 -1
  58. package/dist/use-compose-refs-BUwJN8zY.cjs +1 -0
  59. package/dist/use-compose-refs-BysZtFy1.mjs +2 -0
  60. package/dist/use-compose-refs-BysZtFy1.mjs.map +1 -0
  61. package/dist/{use-compose-refs.d.ts → use-compose-refs-D1nHM35F.d.cts} +10 -4
  62. package/dist/use-compose-refs-D1nHM35F.d.cts.map +1 -0
  63. package/dist/use-compose-refs-Dy3epP6l.d.mts +31 -0
  64. package/dist/use-compose-refs-Dy3epP6l.d.mts.map +1 -0
  65. package/dist/use-compose-refs.cjs +1 -21
  66. package/dist/use-compose-refs.d.cts +2 -0
  67. package/dist/use-compose-refs.d.mts +2 -0
  68. package/dist/use-compose-refs.mjs +1 -1
  69. package/dist/use-copy-to-clipboard-Cls03hBs.mjs +2 -0
  70. package/dist/use-copy-to-clipboard-Cls03hBs.mjs.map +1 -0
  71. package/dist/use-copy-to-clipboard-D3QmuRQ2.d.mts +10 -0
  72. package/dist/use-copy-to-clipboard-D3QmuRQ2.d.mts.map +1 -0
  73. package/dist/use-copy-to-clipboard-DFTtZkv7.cjs +1 -0
  74. package/dist/use-copy-to-clipboard-DzccpceW.d.cts +10 -0
  75. package/dist/use-copy-to-clipboard-DzccpceW.d.cts.map +1 -0
  76. package/dist/use-copy-to-clipboard.cjs +1 -25
  77. package/dist/use-copy-to-clipboard.d.cts +2 -0
  78. package/dist/use-copy-to-clipboard.d.mts +2 -0
  79. package/dist/use-copy-to-clipboard.mjs +1 -1
  80. package/dist/use-debounce-B07BBb1-.d.mts +17 -0
  81. package/dist/use-debounce-B07BBb1-.d.mts.map +1 -0
  82. package/dist/use-debounce-Bh6vyN-1.d.cts +17 -0
  83. package/dist/use-debounce-Bh6vyN-1.d.cts.map +1 -0
  84. package/dist/use-debounce-Cto2Ny5z.mjs +2 -0
  85. package/dist/use-debounce-Cto2Ny5z.mjs.map +1 -0
  86. package/dist/use-debounce-DWeScEkQ.cjs +1 -0
  87. package/dist/use-debounce.cjs +1 -26
  88. package/dist/use-debounce.d.cts +2 -0
  89. package/dist/use-debounce.d.mts +2 -0
  90. package/dist/use-debounce.mjs +1 -1
  91. package/dist/use-did-finish-ssr-B6M_wlP4.mjs +2 -0
  92. package/dist/use-did-finish-ssr-B6M_wlP4.mjs.map +1 -0
  93. package/dist/use-did-finish-ssr-BbXffDj5.cjs +1 -0
  94. package/dist/use-did-finish-ssr-CBz5xeHc.d.mts +10 -0
  95. package/dist/use-did-finish-ssr-CBz5xeHc.d.mts.map +1 -0
  96. package/dist/use-did-finish-ssr-D3CpAwOz.d.cts +10 -0
  97. package/dist/use-did-finish-ssr-D3CpAwOz.d.cts.map +1 -0
  98. package/dist/use-did-finish-ssr.cjs +1 -28
  99. package/dist/use-did-finish-ssr.d.cts +2 -0
  100. package/dist/use-did-finish-ssr.d.mts +2 -0
  101. package/dist/use-did-finish-ssr.mjs +1 -1
  102. package/dist/use-escape-keydown-BsJYLp1N.d.cts +8 -0
  103. package/dist/use-escape-keydown-BsJYLp1N.d.cts.map +1 -0
  104. package/dist/use-escape-keydown-CFy25Wk6.mjs +2 -0
  105. package/dist/use-escape-keydown-CFy25Wk6.mjs.map +1 -0
  106. package/dist/use-escape-keydown-DgPvPpzz.d.mts +8 -0
  107. package/dist/use-escape-keydown-DgPvPpzz.d.mts.map +1 -0
  108. package/dist/use-escape-keydown-ITaT9SqI.cjs +1 -0
  109. package/dist/use-escape-keydown.cjs +1 -19
  110. package/dist/use-escape-keydown.d.cts +2 -0
  111. package/dist/use-escape-keydown.d.mts +2 -0
  112. package/dist/use-escape-keydown.mjs +1 -1
  113. package/dist/use-event-CBTGhPhg.mjs +2 -0
  114. package/dist/use-event-CBTGhPhg.mjs.map +1 -0
  115. package/dist/use-event-DG39UVbo.cjs +1 -0
  116. package/dist/{use-event.d.ts → use-event-DHFCg8sl.d.cts} +5 -2
  117. package/dist/use-event-DHFCg8sl.d.cts.map +1 -0
  118. package/dist/use-event-DQyUWk4T.d.mts +12 -0
  119. package/dist/use-event-DQyUWk4T.d.mts.map +1 -0
  120. package/dist/use-event.cjs +1 -20
  121. package/dist/use-event.d.cts +2 -0
  122. package/dist/use-event.d.mts +2 -0
  123. package/dist/use-event.mjs +1 -1
  124. package/dist/{use-hover.d.ts → use-hover-CPJ3UcMM.d.mts} +5 -1
  125. package/dist/use-hover-CPJ3UcMM.d.mts.map +1 -0
  126. package/dist/use-hover-DCP1g7QG.mjs +2 -0
  127. package/dist/use-hover-DCP1g7QG.mjs.map +1 -0
  128. package/dist/use-hover-DeFTY9RX.d.cts +10 -0
  129. package/dist/use-hover-DeFTY9RX.d.cts.map +1 -0
  130. package/dist/use-hover-SNRrnUoI.cjs +1 -0
  131. package/dist/use-hover.cjs +1 -21
  132. package/dist/use-hover.d.cts +2 -0
  133. package/dist/use-hover.d.mts +2 -0
  134. package/dist/use-hover.mjs +1 -1
  135. package/dist/{use-idle.d.ts → use-idle-Car_0ThE.d.cts} +5 -1
  136. package/dist/use-idle-Car_0ThE.d.cts.map +1 -0
  137. package/dist/use-idle-CrCoMyLz.cjs +1 -0
  138. package/dist/use-idle-DrgoS1jh.mjs +2 -0
  139. package/dist/use-idle-DrgoS1jh.mjs.map +1 -0
  140. package/dist/use-idle-DwhHMDDp.d.mts +11 -0
  141. package/dist/use-idle-DwhHMDDp.d.mts.map +1 -0
  142. package/dist/use-idle.cjs +1 -27
  143. package/dist/use-idle.d.cts +2 -0
  144. package/dist/use-idle.d.mts +2 -0
  145. package/dist/use-idle.mjs +1 -1
  146. package/dist/use-isomorphic-layout-effect-Br2hUBEM.cjs +1 -0
  147. package/dist/use-isomorphic-layout-effect-CwRlvm9E.d.cts +13 -0
  148. package/dist/use-isomorphic-layout-effect-CwRlvm9E.d.cts.map +1 -0
  149. package/dist/use-isomorphic-layout-effect-D7uazny2.mjs +2 -0
  150. package/dist/use-isomorphic-layout-effect-D7uazny2.mjs.map +1 -0
  151. package/dist/use-isomorphic-layout-effect-IWX2e-IS.d.mts +13 -0
  152. package/dist/use-isomorphic-layout-effect-IWX2e-IS.d.mts.map +1 -0
  153. package/dist/use-isomorphic-layout-effect.cjs +1 -9
  154. package/dist/use-isomorphic-layout-effect.d.cts +2 -0
  155. package/dist/use-isomorphic-layout-effect.d.mts +2 -0
  156. package/dist/use-isomorphic-layout-effect.mjs +1 -1
  157. package/dist/use-keyboard-visible-83MQ2ogF.mjs +2 -0
  158. package/dist/use-keyboard-visible-83MQ2ogF.mjs.map +1 -0
  159. package/dist/use-keyboard-visible-BHYBoMGb.cjs +1 -0
  160. package/dist/use-keyboard-visible-BPIMSGQ1.d.cts +5 -0
  161. package/dist/use-keyboard-visible-BPIMSGQ1.d.cts.map +1 -0
  162. package/dist/use-keyboard-visible-iH9veUTt.d.mts +5 -0
  163. package/dist/use-keyboard-visible-iH9veUTt.d.mts.map +1 -0
  164. package/dist/use-keyboard-visible.cjs +1 -23
  165. package/dist/use-keyboard-visible.d.cts +2 -0
  166. package/dist/use-keyboard-visible.d.mts +2 -0
  167. package/dist/use-keyboard-visible.mjs +1 -1
  168. package/dist/{use-memo-stable.d.ts → use-memo-stable-Aqx3eZTS.d.mts} +5 -1
  169. package/dist/use-memo-stable-Aqx3eZTS.d.mts.map +1 -0
  170. package/dist/use-memo-stable-DKI3Fj07.mjs +2 -0
  171. package/dist/use-memo-stable-DKI3Fj07.mjs.map +1 -0
  172. package/dist/use-memo-stable-DKW_L41q.cjs +1 -0
  173. package/dist/{use-callback-stable.d.ts → use-memo-stable-i9UN2iWi.d.cts} +7 -7
  174. package/dist/use-memo-stable-i9UN2iWi.d.cts.map +1 -0
  175. package/dist/use-memo-stable.cjs +1 -28
  176. package/dist/use-memo-stable.d.cts +2 -0
  177. package/dist/use-memo-stable.d.mts +2 -0
  178. package/dist/use-memo-stable.mjs +1 -1
  179. package/dist/use-network-state-Bce55hBv.cjs +1 -0
  180. package/dist/use-network-state-CtGu_gfo.mjs +2 -0
  181. package/dist/use-network-state-CtGu_gfo.mjs.map +1 -0
  182. package/dist/use-network-state-DPhNT5_N.d.mts +20 -0
  183. package/dist/use-network-state-DPhNT5_N.d.mts.map +1 -0
  184. package/dist/use-network-state-DQegmILl.d.cts +20 -0
  185. package/dist/use-network-state-DQegmILl.d.cts.map +1 -0
  186. package/dist/use-network-state.cjs +1 -44
  187. package/dist/use-network-state.d.cts +2 -0
  188. package/dist/use-network-state.d.mts +2 -0
  189. package/dist/use-network-state.mjs +1 -1
  190. package/dist/use-previous-BNZSuZUn.cjs +1 -0
  191. package/dist/use-previous-BvOs-yn-.d.cts +5 -0
  192. package/dist/use-previous-BvOs-yn-.d.cts.map +1 -0
  193. package/dist/use-previous-ChmuSO8b.d.mts +5 -0
  194. package/dist/use-previous-ChmuSO8b.d.mts.map +1 -0
  195. package/dist/use-previous-vtWmTmEN.mjs +2 -0
  196. package/dist/use-previous-vtWmTmEN.mjs.map +1 -0
  197. package/dist/use-previous.cjs +1 -14
  198. package/dist/use-previous.d.cts +2 -0
  199. package/dist/use-previous.d.mts +2 -0
  200. package/dist/use-previous.mjs +1 -1
  201. package/package.json +79 -309
  202. package/dist/index.d.ts +0 -25
  203. package/dist/use-battery.d.ts +0 -4
  204. package/dist/use-callback-ref.d.ts +0 -5
  205. package/dist/use-click-away.d.ts +0 -7
  206. package/dist/use-copy-to-clipboard.d.ts +0 -6
  207. package/dist/use-debounce.d.ts +0 -9
  208. package/dist/use-did-finish-ssr.d.ts +0 -7
  209. package/dist/use-escape-keydown.d.ts +0 -4
  210. package/dist/use-isomorphic-layout-effect.d.ts +0 -7
  211. package/dist/use-keyboard-visible.d.ts +0 -1
  212. package/dist/use-network-state.d.ts +0 -13
  213. package/dist/use-previous.d.ts +0 -1
@@ -0,0 +1,23 @@
1
+ //#region ../types/src/navigator.d.ts
2
+ interface BatteryManager {
3
+ supported: boolean;
4
+ loading: boolean;
5
+ level: number | null;
6
+ charging: boolean | null;
7
+ chargingTime: number | null;
8
+ dischargingTime: number | null;
9
+ addEventListener: (type: string, listener: () => void) => void;
10
+ removeEventListener: (type: string, listener: () => void) => void;
11
+ }
12
+ interface NetworkState {
13
+ online: boolean;
14
+ downlink: number | null;
15
+ downlinkMax: number | null;
16
+ effectiveType: string | null;
17
+ rtt: number | null;
18
+ saveData: boolean | null;
19
+ type: string | null;
20
+ }
21
+ //#endregion
22
+ export { NetworkState as n, BatteryManager as t };
23
+ //# sourceMappingURL=navigator-CY6InfsZ.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator-CY6InfsZ.d.cts","names":[],"sources":["../../types/src/navigator.ts"],"sourcesContent":[],"mappings":";AAoBiB,UAAA,cAAA,CAAc;EAWd,SAAA,EAAA,OAAY;;;;;;;;;UAAZ,YAAA"}
@@ -0,0 +1,23 @@
1
+ //#region ../types/src/navigator.d.ts
2
+ interface BatteryManager {
3
+ supported: boolean;
4
+ loading: boolean;
5
+ level: number | null;
6
+ charging: boolean | null;
7
+ chargingTime: number | null;
8
+ dischargingTime: number | null;
9
+ addEventListener: (type: string, listener: () => void) => void;
10
+ removeEventListener: (type: string, listener: () => void) => void;
11
+ }
12
+ interface NetworkState {
13
+ online: boolean;
14
+ downlink: number | null;
15
+ downlinkMax: number | null;
16
+ effectiveType: string | null;
17
+ rtt: number | null;
18
+ saveData: boolean | null;
19
+ type: string | null;
20
+ }
21
+ //#endregion
22
+ export { NetworkState as n, BatteryManager as t };
23
+ //# sourceMappingURL=navigator-DUOlrD-4.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigator-DUOlrD-4.d.mts","names":[],"sources":["../../types/src/navigator.ts"],"sourcesContent":[],"mappings":";AAoBiB,UAAA,cAAA,CAAc;EAWd,SAAA,EAAA,OAAY;;;;;;;;;UAAZ,YAAA"}
@@ -0,0 +1,11 @@
1
+ import { t as BatteryManager } from "./navigator-DUOlrD-4.mjs";
2
+
3
+ //#region src/use-battery.d.ts
4
+
5
+ /**
6
+ * Listens for updates to the mobile/desktop battery status
7
+ */
8
+ declare function useBattery(): Omit<BatteryManager, "addEventListener" | "removeEventListener">;
9
+ //#endregion
10
+ export { useBattery as t };
11
+ //# sourceMappingURL=use-battery-BkRIfbJz.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-battery-BkRIfbJz.d.mts","names":[],"sources":["../src/use-battery.ts"],"sourcesContent":[],"mappings":";;;;;;AAkCA;iBAAgB,UAAA,CAAA,GAAU,KAAA"}
@@ -0,0 +1 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=require(`./is-function-BhD7GXOO.cjs`);let l=require(`react`);l=s(l);const u={supported:!0,loading:!0,level:null,charging:null,chargingTime:null,dischargingTime:null};function d(){let[e,t]=l.default.useState(u),n=navigator.getBattery;return(0,l.useEffect)(()=>{if(!c.t(n)){t(e=>({...e,supported:!1,loading:!1}));return}let e=null,r=()=>{t({...u,supported:!0,loading:!1,...e})};return n().then(t=>{e=t,r(),t?.addEventListener(`levelchange`,r),t?.addEventListener(`chargingchange`,r),t?.addEventListener(`chargingtimechange`,r),t?.addEventListener(`dischargingtimechange`,r)}),()=>{e&&(e.removeEventListener(`levelchange`,r),e.removeEventListener(`chargingchange`,r),e.removeEventListener(`chargingtimechange`,r),e.removeEventListener(`dischargingtimechange`,r))}},[n]),e}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return d}});
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./is-function-md4Ym3I0.mjs";import t,{useEffect as n}from"react";const r={supported:!0,loading:!0,level:null,charging:null,chargingTime:null,dischargingTime:null};function i(){let[i,a]=t.useState(r),o=navigator.getBattery;return n(()=>{if(!e(o)){a(e=>({...e,supported:!1,loading:!1}));return}let t=null,n=()=>{a({...r,supported:!0,loading:!1,...t})};return o().then(e=>{t=e,n(),e?.addEventListener(`levelchange`,n),e?.addEventListener(`chargingchange`,n),e?.addEventListener(`chargingtimechange`,n),e?.addEventListener(`dischargingtimechange`,n)}),()=>{t&&(t.removeEventListener(`levelchange`,n),t.removeEventListener(`chargingchange`,n),t.removeEventListener(`chargingtimechange`,n),t.removeEventListener(`dischargingtimechange`,n))}},[o]),i}export{i as t};
2
+ //# sourceMappingURL=use-battery-DaA7I4_x.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-battery-DaA7I4_x.mjs","names":[],"sources":["../src/use-battery.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport type { BatteryManager } from \"@stryke/types/navigator\";\nimport React, { useEffect } from \"react\";\n\nconst defaultBatteryManagerState = {\n supported: true,\n loading: true,\n level: null,\n charging: null,\n chargingTime: null,\n dischargingTime: null\n};\n\n/**\n * Listens for updates to the mobile/desktop battery status\n */\nexport function useBattery() {\n const [state, setState] = React.useState<\n Omit<BatteryManager, \"addEventListener\" | \"removeEventListener\">\n >(defaultBatteryManagerState);\n\n const key = \"getBattery\" as keyof typeof navigator;\n const getBattery = navigator[key] as () => Promise<BatteryManager>;\n\n useEffect(() => {\n if (!isFunction(getBattery)) {\n setState(s => ({\n ...s,\n supported: false,\n loading: false\n }));\n return;\n }\n\n let battery = null as BatteryManager | null;\n\n const handleChange = () => {\n setState({\n ...defaultBatteryManagerState,\n supported: true,\n loading: false,\n ...battery\n });\n };\n\n void getBattery().then(b => {\n battery = b;\n handleChange();\n\n b?.addEventListener(\"levelchange\", handleChange);\n b?.addEventListener(\"chargingchange\", handleChange);\n b?.addEventListener(\"chargingtimechange\", handleChange);\n b?.addEventListener(\"dischargingtimechange\", handleChange);\n });\n\n return () => {\n if (battery) {\n battery.removeEventListener(\"levelchange\", handleChange);\n battery.removeEventListener(\"chargingchange\", handleChange);\n battery.removeEventListener(\"chargingtimechange\", handleChange);\n battery.removeEventListener(\"dischargingtimechange\", handleChange);\n }\n };\n }, [getBattery]);\n\n return state;\n}\n"],"mappings":"oFAsBA,MAAM,EAA6B,CACjC,UAAW,GACX,QAAS,GACT,MAAO,KACP,SAAU,KACV,aAAc,KACd,gBAAiB,KAClB,CAKD,SAAgB,GAAa,CAC3B,GAAM,CAAC,EAAO,GAAY,EAAM,SAE9B,EAA2B,CAGvB,EAAa,UADP,WA4CZ,OAzCA,MAAgB,CACd,GAAI,CAAC,EAAW,EAAW,CAAE,CAC3B,EAAS,IAAM,CACb,GAAG,EACH,UAAW,GACX,QAAS,GACV,EAAE,CACH,OAGF,IAAI,EAAU,KAER,MAAqB,CACzB,EAAS,CACP,GAAG,EACH,UAAW,GACX,QAAS,GACT,GAAG,EACJ,CAAC,EAaJ,OAVK,GAAY,CAAC,KAAK,GAAK,CAC1B,EAAU,EACV,GAAc,CAEd,GAAG,iBAAiB,cAAe,EAAa,CAChD,GAAG,iBAAiB,iBAAkB,EAAa,CACnD,GAAG,iBAAiB,qBAAsB,EAAa,CACvD,GAAG,iBAAiB,wBAAyB,EAAa,EAC1D,KAEW,CACP,IACF,EAAQ,oBAAoB,cAAe,EAAa,CACxD,EAAQ,oBAAoB,iBAAkB,EAAa,CAC3D,EAAQ,oBAAoB,qBAAsB,EAAa,CAC/D,EAAQ,oBAAoB,wBAAyB,EAAa,IAGrE,CAAC,EAAW,CAAC,CAET"}
@@ -0,0 +1,11 @@
1
+ import { t as BatteryManager } from "./navigator-CY6InfsZ.cjs";
2
+
3
+ //#region src/use-battery.d.ts
4
+
5
+ /**
6
+ * Listens for updates to the mobile/desktop battery status
7
+ */
8
+ declare function useBattery(): Omit<BatteryManager, "addEventListener" | "removeEventListener">;
9
+ //#endregion
10
+ export { useBattery as t };
11
+ //# sourceMappingURL=use-battery-DpuF7GMz.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-battery-DpuF7GMz.d.cts","names":[],"sources":["../src/use-battery.ts"],"sourcesContent":[],"mappings":";;;;;;AAkCA;iBAAgB,UAAA,CAAA,GAAU,KAAA"}
@@ -1,46 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useBattery = useBattery;
7
- var _isFunction = require("@stryke/type-checks/is-function");
8
- var _react = _interopRequireWildcard(require("react"));
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
- const i = {
12
- supported: !0,
13
- loading: !0,
14
- level: null,
15
- charging: null,
16
- chargingTime: null,
17
- dischargingTime: null
18
- };
19
- function useBattery() {
20
- const [g, r] = _react.default.useState(i),
21
- a = navigator["getBattery"];
22
- return (0, _react.useEffect)(() => {
23
- if (!(0, _isFunction.isFunction)(a)) {
24
- r(n => ({
25
- ...n,
26
- supported: !1,
27
- loading: !1
28
- }));
29
- return;
30
- }
31
- let t = null;
32
- const e = () => {
33
- r({
34
- ...i,
35
- supported: !0,
36
- loading: !1,
37
- ...t
38
- });
39
- };
40
- return a().then(n => {
41
- t = n, e(), n?.addEventListener("levelchange", e), n?.addEventListener("chargingchange", e), n?.addEventListener("chargingtimechange", e), n?.addEventListener("dischargingtimechange", e);
42
- }), () => {
43
- t && (t.removeEventListener("levelchange", e), t.removeEventListener("chargingchange", e), t.removeEventListener("chargingtimechange", e), t.removeEventListener("dischargingtimechange", e));
44
- };
45
- }, [a]), g;
46
- }
1
+ const e=require(`./use-battery-DZZDx003.cjs`);exports.useBattery=e.t;
@@ -0,0 +1,2 @@
1
+ import { t as useBattery } from "./use-battery-DpuF7GMz.cjs";
2
+ export { useBattery };
@@ -0,0 +1,2 @@
1
+ import { t as useBattery } from "./use-battery-BkRIfbJz.mjs";
2
+ export { useBattery };
@@ -1 +1 @@
1
- import{isFunction as s}from"@stryke/type-checks/is-function";import o,{useEffect as l}from"react";const i={supported:!0,loading:!0,level:null,charging:null,chargingTime:null,dischargingTime:null};export function useBattery(){const[g,r]=o.useState(i),a=navigator["getBattery"];return l(()=>{if(!s(a)){r(n=>({...n,supported:!1,loading:!1}));return}let t=null;const e=()=>{r({...i,supported:!0,loading:!1,...t})};return a().then(n=>{t=n,e(),n?.addEventListener("levelchange",e),n?.addEventListener("chargingchange",e),n?.addEventListener("chargingtimechange",e),n?.addEventListener("dischargingtimechange",e)}),()=>{t&&(t.removeEventListener("levelchange",e),t.removeEventListener("chargingchange",e),t.removeEventListener("chargingtimechange",e),t.removeEventListener("dischargingtimechange",e))}},[a]),g}
1
+ import{t as e}from"./use-battery-DaA7I4_x.mjs";export{e as useBattery};
@@ -0,0 +1,9 @@
1
+ //#region src/use-callback-ref.d.ts
2
+ /**
3
+ * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a
4
+ * prop or avoid re-executing effects when passed as a dependency
5
+ */
6
+ declare function useCallbackRef<T extends (...args: any[]) => any>(callback: T | undefined): T;
7
+ //#endregion
8
+ export { useCallbackRef as t };
9
+ //# sourceMappingURL=use-callback-ref-B-95d49K.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-callback-ref-B-95d49K.d.mts","names":[],"sources":["../src/use-callback-ref.ts"],"sourcesContent":[],"mappings":";;AAwBA;;;iBAAgB,4DACJ,gBACT"}
@@ -0,0 +1 @@
1
+ const e=require(`./use-battery-DZZDx003.cjs`);let t=require(`react`);function n(e){let n=(0,t.useRef)(e);return(0,t.useEffect)(()=>{n.current=e}),(0,t.useMemo)(()=>((...e)=>n.current?.(...e)),[])}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
@@ -0,0 +1,9 @@
1
+ //#region src/use-callback-ref.d.ts
2
+ /**
3
+ * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a
4
+ * prop or avoid re-executing effects when passed as a dependency
5
+ */
6
+ declare function useCallbackRef<T extends (...args: any[]) => any>(callback: T | undefined): T;
7
+ //#endregion
8
+ export { useCallbackRef as t };
9
+ //# sourceMappingURL=use-callback-ref-ctiFnQn4.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-callback-ref-ctiFnQn4.d.cts","names":[],"sources":["../src/use-callback-ref.ts"],"sourcesContent":[],"mappings":";;AAwBA;;;iBAAgB,4DACJ,gBACT"}
@@ -0,0 +1,2 @@
1
+ import{useEffect as e,useMemo as t,useRef as n}from"react";function r(r){let i=n(r);return e(()=>{i.current=r}),t(()=>((...e)=>i.current?.(...e)),[])}export{r as t};
2
+ //# sourceMappingURL=use-callback-ref-otlhGzUu.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-callback-ref-otlhGzUu.mjs","names":[],"sources":["../src/use-callback-ref.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { useEffect, useMemo, useRef } from \"react\";\n\n/**\n * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a\n * prop or avoid re-executing effects when passed as a dependency\n */\nexport function useCallbackRef<T extends (...args: any[]) => any>(\n callback: T | undefined\n): T {\n const callbackRef = useRef(callback);\n\n useEffect(() => {\n callbackRef.current = callback;\n });\n\n // https://github.com/facebook/react/issues/19240\n return useMemo(() => ((...args) => callbackRef.current?.(...args)) as T, []);\n}\n"],"mappings":"2DAwBA,SAAgB,EACd,EACG,CACH,IAAM,EAAc,EAAO,EAAS,CAOpC,OALA,MAAgB,CACd,EAAY,QAAU,GACtB,CAGK,QAAgB,GAAG,IAAS,EAAY,UAAU,GAAG,EAAK,EAAQ,EAAE,CAAC"}
@@ -1,13 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useCallbackRef = useCallbackRef;
7
- var _react = require("react");
8
- function useCallbackRef(e) {
9
- const n = (0, _react.useRef)(e);
10
- return (0, _react.useEffect)(() => {
11
- n.current = e;
12
- }), (0, _react.useMemo)(() => (...r) => n.current?.(...r), []);
13
- }
1
+ const e=require(`./use-callback-ref-CloM-Kqk.cjs`);exports.useCallbackRef=e.t;
@@ -0,0 +1,2 @@
1
+ import { t as useCallbackRef } from "./use-callback-ref-ctiFnQn4.cjs";
2
+ export { useCallbackRef };
@@ -0,0 +1,2 @@
1
+ import { t as useCallbackRef } from "./use-callback-ref-B-95d49K.mjs";
2
+ export { useCallbackRef };
@@ -1 +1 @@
1
- import{useEffect as t,useMemo as u,useRef as f}from"react";export function useCallbackRef(e){const n=f(e);return t(()=>{n.current=e}),u(()=>((...r)=>n.current?.(...r)),[])}
1
+ import{t as e}from"./use-callback-ref-otlhGzUu.mjs";export{e as useCallbackRef};
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./use-memo-stable-DKI3Fj07.mjs";function t(t,n){return e(()=>t,n)}export{t};
2
+ //# sourceMappingURL=use-callback-stable-C3QZzhdC.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-callback-stable-C3QZzhdC.mjs","names":[],"sources":["../src/use-callback-stable.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { AnyFunction } from \"@stryke/types/base\";\nimport { useMemoStable } from \"./use-memo-stable\";\n\n/**\n * Forked from use-memo-one by Alex Reardon\n */\n\n/**\n * `useMemo` and `useCallback` cache the most recent result. However, this cache can be destroyed by React when it wants to.\n *\n * `useMemoStable` and `useCallbackStable` are concurrent mode safe alternatives to `useMemo` and `useCallback` that do provide semantic guarantee. What this means is that you will always get the same reference for a memoized value so long as there is no input change.\n *\n * Using `useMemoStable` and `useCallbackStable` will consume more memory than useMemo and `useCallback` in order to provide a stable cache. React can release the cache of `useMemo` and `useCallback`, but `useMemoStable` will not release the cache until it is garbage collected.\n *\n * @remarks\n * You may rely on useMemo as a performance optimization, not as a semantic guarantee. In the future, React may choose to “forget” some previously memoized values and recalculate them on next render, e.g. to free memory for offscreen components. Write your code so that it still works without `useMemo` — and then add it to optimize performance.\n *\n * @param callback - The callback function to memoize\n * @param inputs - The inputs to watch for changes\n * @returns The memoized callback function\n */\nexport function useCallbackStable<TCallback extends AnyFunction = AnyFunction>(\n callback: TCallback,\n inputs?: any[]\n): TCallback {\n return useMemoStable(() => callback, inputs);\n}\n"],"mappings":"mDAuCA,SAAgB,EACd,EACA,EACW,CACX,OAAO,MAAoB,EAAU,EAAO"}
@@ -0,0 +1,55 @@
1
+ //#region ../types/src/base.d.ts
2
+
3
+ /**
4
+ * A [[List]]
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * type list0 = [1, 2, 3]
9
+ * type list1 = number[]
10
+ * ```
11
+ *
12
+ * @param A - its type
13
+ * @returns [[List]]
14
+ */
15
+ type List<A = any> = ReadonlyArray<A>;
16
+ /**
17
+ * Alias to create a [[Function]]
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * import { FunctionLike } from '@stryke/types'
22
+ *
23
+ * type test0 = FunctionLike<[string, number], boolean>
24
+ * /// (args_0: string, args_1: number) => boolean
25
+ * ```
26
+ *
27
+ * @param P - parameters
28
+ * @param R - return type
29
+ * @returns [[Function]]
30
+ */
31
+ type FunctionLike<P extends List = any, R$1 = any> = (...args: P) => R$1;
32
+ type AnyFunction = FunctionLike<any, any>;
33
+ //#endregion
34
+ //#region src/use-callback-stable.d.ts
35
+ /**
36
+ * Forked from use-memo-one by Alex Reardon
37
+ */
38
+ /**
39
+ * `useMemo` and `useCallback` cache the most recent result. However, this cache can be destroyed by React when it wants to.
40
+ *
41
+ * `useMemoStable` and `useCallbackStable` are concurrent mode safe alternatives to `useMemo` and `useCallback` that do provide semantic guarantee. What this means is that you will always get the same reference for a memoized value so long as there is no input change.
42
+ *
43
+ * Using `useMemoStable` and `useCallbackStable` will consume more memory than useMemo and `useCallback` in order to provide a stable cache. React can release the cache of `useMemo` and `useCallback`, but `useMemoStable` will not release the cache until it is garbage collected.
44
+ *
45
+ * @remarks
46
+ * You may rely on useMemo as a performance optimization, not as a semantic guarantee. In the future, React may choose to “forget” some previously memoized values and recalculate them on next render, e.g. to free memory for offscreen components. Write your code so that it still works without `useMemo` — and then add it to optimize performance.
47
+ *
48
+ * @param callback - The callback function to memoize
49
+ * @param inputs - The inputs to watch for changes
50
+ * @returns The memoized callback function
51
+ */
52
+ declare function useCallbackStable<TCallback extends AnyFunction = AnyFunction>(callback: TCallback, inputs?: any[]): TCallback;
53
+ //#endregion
54
+ export { useCallbackStable as t };
55
+ //# sourceMappingURL=use-callback-stable-C5X8ySnU.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-callback-stable-C5X8ySnU.d.mts","names":[],"sources":["../../types/src/base.ts","../src/use-callback-stable.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;KAmEY,gBAAgB,cAAc;;;;;;;;;;;;;;;;KAiB9B,uBAAuB,mCAAiC,MAAM;KAE9D,WAAA,GAAc;;;AAnB1B;AAiBA;;;;;AAEA;;;;AC/CA;;;;;;;iBAAgB,oCAAoC,cAAc,uBACtD,4BAET"}
@@ -0,0 +1 @@
1
+ const e=require(`./use-memo-stable-DKW_L41q.cjs`);function t(t,n){return e.t(()=>t,n)}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
@@ -0,0 +1,55 @@
1
+ //#region ../types/src/base.d.ts
2
+
3
+ /**
4
+ * A [[List]]
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * type list0 = [1, 2, 3]
9
+ * type list1 = number[]
10
+ * ```
11
+ *
12
+ * @param A - its type
13
+ * @returns [[List]]
14
+ */
15
+ type List<A = any> = ReadonlyArray<A>;
16
+ /**
17
+ * Alias to create a [[Function]]
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * import { FunctionLike } from '@stryke/types'
22
+ *
23
+ * type test0 = FunctionLike<[string, number], boolean>
24
+ * /// (args_0: string, args_1: number) => boolean
25
+ * ```
26
+ *
27
+ * @param P - parameters
28
+ * @param R - return type
29
+ * @returns [[Function]]
30
+ */
31
+ type FunctionLike<P extends List = any, R$1 = any> = (...args: P) => R$1;
32
+ type AnyFunction = FunctionLike<any, any>;
33
+ //#endregion
34
+ //#region src/use-callback-stable.d.ts
35
+ /**
36
+ * Forked from use-memo-one by Alex Reardon
37
+ */
38
+ /**
39
+ * `useMemo` and `useCallback` cache the most recent result. However, this cache can be destroyed by React when it wants to.
40
+ *
41
+ * `useMemoStable` and `useCallbackStable` are concurrent mode safe alternatives to `useMemo` and `useCallback` that do provide semantic guarantee. What this means is that you will always get the same reference for a memoized value so long as there is no input change.
42
+ *
43
+ * Using `useMemoStable` and `useCallbackStable` will consume more memory than useMemo and `useCallback` in order to provide a stable cache. React can release the cache of `useMemo` and `useCallback`, but `useMemoStable` will not release the cache until it is garbage collected.
44
+ *
45
+ * @remarks
46
+ * You may rely on useMemo as a performance optimization, not as a semantic guarantee. In the future, React may choose to “forget” some previously memoized values and recalculate them on next render, e.g. to free memory for offscreen components. Write your code so that it still works without `useMemo` — and then add it to optimize performance.
47
+ *
48
+ * @param callback - The callback function to memoize
49
+ * @param inputs - The inputs to watch for changes
50
+ * @returns The memoized callback function
51
+ */
52
+ declare function useCallbackStable<TCallback extends AnyFunction = AnyFunction>(callback: TCallback, inputs?: any[]): TCallback;
53
+ //#endregion
54
+ export { useCallbackStable as t };
55
+ //# sourceMappingURL=use-callback-stable-D_wCU4yv.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-callback-stable-D_wCU4yv.d.cts","names":[],"sources":["../../types/src/base.ts","../src/use-callback-stable.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;KAmEY,gBAAgB,cAAc;;;;;;;;;;;;;;;;KAiB9B,uBAAuB,mCAAiC,MAAM;KAE9D,WAAA,GAAc;;;AAnB1B;AAiBA;;;;;AAEA;;;;AC/CA;;;;;;;iBAAgB,oCAAoC,cAAc,uBACtD,4BAET"}
@@ -1,10 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useCallbackStable = useCallbackStable;
7
- var _useMemoStable = require("./use-memo-stable.cjs");
8
- function useCallbackStable(n, t) {
9
- return (0, _useMemoStable.useMemoStable)(() => n, t);
10
- }
1
+ require(`./use-memo-stable-DKW_L41q.cjs`);const e=require(`./use-callback-stable-CvXmYtWT.cjs`);exports.useCallbackStable=e.t;
@@ -0,0 +1,2 @@
1
+ import { t as useCallbackStable } from "./use-callback-stable-D_wCU4yv.cjs";
2
+ export { useCallbackStable };
@@ -0,0 +1,2 @@
1
+ import { t as useCallbackStable } from "./use-callback-stable-C5X8ySnU.mjs";
2
+ export { useCallbackStable };
@@ -1 +1 @@
1
- import{useMemoStable as e}from"./use-memo-stable";export function useCallbackStable(n,t){return e(()=>n,t)}
1
+ import"./use-memo-stable-DKI3Fj07.mjs";import{t as e}from"./use-callback-stable-C3QZzhdC.mjs";export{e as useCallbackStable};
@@ -0,0 +1 @@
1
+ const e=require(`./use-battery-DZZDx003.cjs`);let t=require(`react`);function n(e){let n=(0,t.useRef)(null),r=(0,t.useRef)(e);return(0,t.useLayoutEffect)(()=>{r.current=e}),(0,t.useEffect)(()=>{let e=e=>{let t=n.current;t&&!t.contains(e.target)&&r.current(e)};return document.addEventListener(`mousedown`,e),document.addEventListener(`touchstart`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`touchstart`,e)}},[]),n}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
@@ -0,0 +1,2 @@
1
+ import{useEffect as e,useLayoutEffect as t,useRef as n}from"react";function r(r){let i=n(null),a=n(r);return t(()=>{a.current=r}),e(()=>{let e=e=>{let t=i.current;t&&!t.contains(e.target)&&a.current(e)};return document.addEventListener(`mousedown`,e),document.addEventListener(`touchstart`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`touchstart`,e)}},[]),i}export{r as t};
2
+ //# sourceMappingURL=use-click-away-D-DKaD9B.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-click-away-D-DKaD9B.mjs","names":[],"sources":["../src/use-click-away.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { useEffect, useLayoutEffect, useRef } from \"react\";\n\n/**\n * Listens for when a click is away from the element\n *\n * @param cb - Callback function\n * @returns A Ref object\n */\nexport function useClickAway(cb: any) {\n const ref = useRef<HTMLElement | null>(null);\n const refCb = useRef(cb);\n\n useLayoutEffect(() => {\n refCb.current = cb;\n });\n\n useEffect(() => {\n const handler = (e: { target: any }) => {\n const element = ref.current;\n if (element && !element.contains(e.target)) {\n // eslint-disable-next-line ts/no-unsafe-call\n refCb.current(e);\n }\n };\n\n document.addEventListener(\"mousedown\", handler);\n document.addEventListener(\"touchstart\", handler);\n\n return () => {\n document.removeEventListener(\"mousedown\", handler);\n document.removeEventListener(\"touchstart\", handler);\n };\n }, []);\n\n return ref;\n}\n"],"mappings":"mEA0BA,SAAgB,EAAa,EAAS,CACpC,IAAM,EAAM,EAA2B,KAAK,CACtC,EAAQ,EAAO,EAAG,CAwBxB,OAtBA,MAAsB,CACpB,EAAM,QAAU,GAChB,CAEF,MAAgB,CACd,IAAM,EAAW,GAAuB,CACtC,IAAM,EAAU,EAAI,QAChB,GAAW,CAAC,EAAQ,SAAS,EAAE,OAAO,EAExC,EAAM,QAAQ,EAAE,EAOpB,OAHA,SAAS,iBAAiB,YAAa,EAAQ,CAC/C,SAAS,iBAAiB,aAAc,EAAQ,KAEnC,CACX,SAAS,oBAAoB,YAAa,EAAQ,CAClD,SAAS,oBAAoB,aAAc,EAAQ,GAEpD,EAAE,CAAC,CAEC"}
@@ -0,0 +1,14 @@
1
+ import * as react0 from "react";
2
+
3
+ //#region src/use-click-away.d.ts
4
+
5
+ /**
6
+ * Listens for when a click is away from the element
7
+ *
8
+ * @param cb - Callback function
9
+ * @returns A Ref object
10
+ */
11
+ declare function useClickAway(cb: any): react0.RefObject<HTMLElement | null>;
12
+ //#endregion
13
+ export { useClickAway as t };
14
+ //# sourceMappingURL=use-click-away-DG8ULjSN.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-click-away-DG8ULjSN.d.cts","names":[],"sources":["../src/use-click-away.ts"],"sourcesContent":[],"mappings":";;;;;;;AA0BA;;;iBAAgB,YAAA,WAAoB,MAAA,CAAA,UAAA"}
@@ -0,0 +1,14 @@
1
+ import * as react0 from "react";
2
+
3
+ //#region src/use-click-away.d.ts
4
+
5
+ /**
6
+ * Listens for when a click is away from the element
7
+ *
8
+ * @param cb - Callback function
9
+ * @returns A Ref object
10
+ */
11
+ declare function useClickAway(cb: any): react0.RefObject<HTMLElement | null>;
12
+ //#endregion
13
+ export { useClickAway as t };
14
+ //# sourceMappingURL=use-click-away-kc61inYs.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-click-away-kc61inYs.d.mts","names":[],"sources":["../src/use-click-away.ts"],"sourcesContent":[],"mappings":";;;;;;;AA0BA;;;iBAAgB,YAAA,WAAoB,MAAA,CAAA,UAAA"}
@@ -1,22 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useClickAway = useClickAway;
7
- var _react = require("react");
8
- function useClickAway(t) {
9
- const n = (0, _react.useRef)(null),
10
- r = (0, _react.useRef)(t);
11
- return (0, _react.useLayoutEffect)(() => {
12
- r.current = t;
13
- }), (0, _react.useEffect)(() => {
14
- const e = o => {
15
- const u = n.current;
16
- u && !u.contains(o.target) && r.current(o);
17
- };
18
- return document.addEventListener("mousedown", e), document.addEventListener("touchstart", e), () => {
19
- document.removeEventListener("mousedown", e), document.removeEventListener("touchstart", e);
20
- };
21
- }, []), n;
22
- }
1
+ const e=require(`./use-click-away-Bpl7sh5j.cjs`);exports.useClickAway=e.t;
@@ -0,0 +1,2 @@
1
+ import { t as useClickAway } from "./use-click-away-DG8ULjSN.cjs";
2
+ export { useClickAway };
@@ -0,0 +1,2 @@
1
+ import { t as useClickAway } from "./use-click-away-kc61inYs.mjs";
2
+ export { useClickAway };
@@ -1 +1 @@
1
- import{useEffect as s,useLayoutEffect as a,useRef as c}from"react";export function useClickAway(t){const n=c(null),r=c(t);return a(()=>{r.current=t}),s(()=>{const e=o=>{const u=n.current;u&&!u.contains(o.target)&&r.current(o)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e)}},[]),n}
1
+ import{t as e}from"./use-click-away-D-DKaD9B.mjs";export{e as useClickAway};
@@ -0,0 +1 @@
1
+ const e=require(`./use-battery-DZZDx003.cjs`),t=require(`./is-function-BhD7GXOO.cjs`);let n=require(`react`);function r(e,n){e&&(t.t(e)?e(n):e.current=n)}function i(...e){return t=>{for(let n of e)r(n,t)}}function a(...e){return(0,n.useCallback)(i(...e),e)}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./is-function-md4Ym3I0.mjs";import{useCallback as t}from"react";function n(t,n){t&&(e(t)?t(n):t.current=n)}function r(...e){return t=>{for(let r of e)n(r,t)}}function i(...e){return t(r(...e),e)}export{n,i as r,r as t};
2
+ //# sourceMappingURL=use-compose-refs-BysZtFy1.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-compose-refs-BysZtFy1.mjs","names":[],"sources":["../src/use-compose-refs.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { isFunction } from \"@stryke/type-checks/is-function\";\nimport type { Ref, RefObject } from \"react\";\nimport { useCallback } from \"react\";\n\n// from radix\n// https://raw.githubusercontent.com/radix-ui/primitives/main/packages/react/compose-refs/src/composeRefs.tsx\n\n/**\n * Set a given ref to a given value\n * This utility takes care of different types of refs: callback refs and RefObject(s)\n *\n * @param ref - The ref to set\n * @param value - The value to set the ref to\n */\nexport function setRef<T>(ref: Ref<T> | undefined, value: T) {\n if (ref) {\n if (isFunction(ref)) {\n ref(value);\n } else {\n (ref as RefObject<T>).current = value;\n }\n }\n}\n\n/**\n * A utility to compose multiple refs together\n * Accepts callback refs and RefObject(s)\n *\n * @param refs - The refs to compose\n * @returns A function that sets all refs to a given value\n */\nexport function composeRefs<T>(...refs: Ref<T>[]) {\n return (node: T) => {\n for (const ref of refs) {\n setRef(ref, node);\n }\n };\n}\n\n/**\n * A custom hook that composes multiple refs\n * Accepts callback refs and RefObject(s)\n *\n * @param refs - The refs to compose\n * @returns A function that sets all refs to a given value\n */\nexport function useComposedRefs<T>(...refs: Ref<T>[]) {\n return useCallback(composeRefs(...refs), refs);\n}\n"],"mappings":"mFAgCA,SAAgB,EAAU,EAAyB,EAAU,CACvD,IACE,EAAW,EAAI,CACjB,EAAI,EAAM,CAET,EAAqB,QAAU,GAYtC,SAAgB,EAAe,GAAG,EAAgB,CAChD,MAAQ,IAAY,CAClB,IAAK,IAAM,KAAO,EAChB,EAAO,EAAK,EAAK,EAYvB,SAAgB,EAAmB,GAAG,EAAgB,CACpD,OAAO,EAAY,EAAY,GAAG,EAAK,CAAE,EAAK"}
@@ -1,4 +1,7 @@
1
- import type { Ref } from "react";
1
+ import { Ref } from "react";
2
+
3
+ //#region src/use-compose-refs.d.ts
4
+
2
5
  /**
3
6
  * Set a given ref to a given value
4
7
  * This utility takes care of different types of refs: callback refs and RefObject(s)
@@ -6,7 +9,7 @@ import type { Ref } from "react";
6
9
  * @param ref - The ref to set
7
10
  * @param value - The value to set the ref to
8
11
  */
9
- export declare function setRef<T>(ref: Ref<T> | undefined, value: T): void;
12
+ declare function setRef<T>(ref: Ref<T> | undefined, value: T): void;
10
13
  /**
11
14
  * A utility to compose multiple refs together
12
15
  * Accepts callback refs and RefObject(s)
@@ -14,7 +17,7 @@ export declare function setRef<T>(ref: Ref<T> | undefined, value: T): void;
14
17
  * @param refs - The refs to compose
15
18
  * @returns A function that sets all refs to a given value
16
19
  */
17
- export declare function composeRefs<T>(...refs: Ref<T>[]): (node: T) => void;
20
+ declare function composeRefs<T>(...refs: Ref<T>[]): (node: T) => void;
18
21
  /**
19
22
  * A custom hook that composes multiple refs
20
23
  * Accepts callback refs and RefObject(s)
@@ -22,4 +25,7 @@ export declare function composeRefs<T>(...refs: Ref<T>[]): (node: T) => void;
22
25
  * @param refs - The refs to compose
23
26
  * @returns A function that sets all refs to a given value
24
27
  */
25
- export declare function useComposedRefs<T>(...refs: Ref<T>[]): (node: T) => void;
28
+ declare function useComposedRefs<T>(...refs: Ref<T>[]): (node: T) => void;
29
+ //#endregion
30
+ export { setRef as n, useComposedRefs as r, composeRefs as t };
31
+ //# sourceMappingURL=use-compose-refs-D1nHM35F.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-compose-refs-D1nHM35F.d.cts","names":[],"sources":["../src/use-compose-refs.ts"],"sourcesContent":[],"mappings":";;;;;;AAgCA;;;;;AAiBgB,iBAjBA,MAiBW,CAAA,CAAA,CAAA,CAAA,GAAA,EAjBI,GAiBJ,CAjBQ,CAiBR,CAAA,GAAA,SAAA,EAAA,KAAA,EAjB+B,CAiB/B,CAAA,EAAA,IAAA;;;;;AAe3B;;;AAAoD,iBAfpC,WAeoC,CAAA,CAAA,CAAA,CAAA,GAAA,IAAA,EAfZ,GAeY,CAfR,CAeQ,CAAA,EAAA,CAAA,EAAA,CAAA,IAAA,EAdpC,CAcoC,EAAA,GAAA,IAAA;;;;;;;;iBAApC,4BAA4B,IAAI,cAAI"}
@@ -0,0 +1,31 @@
1
+ import { Ref } from "react";
2
+
3
+ //#region src/use-compose-refs.d.ts
4
+
5
+ /**
6
+ * Set a given ref to a given value
7
+ * This utility takes care of different types of refs: callback refs and RefObject(s)
8
+ *
9
+ * @param ref - The ref to set
10
+ * @param value - The value to set the ref to
11
+ */
12
+ declare function setRef<T>(ref: Ref<T> | undefined, value: T): void;
13
+ /**
14
+ * A utility to compose multiple refs together
15
+ * Accepts callback refs and RefObject(s)
16
+ *
17
+ * @param refs - The refs to compose
18
+ * @returns A function that sets all refs to a given value
19
+ */
20
+ declare function composeRefs<T>(...refs: Ref<T>[]): (node: T) => void;
21
+ /**
22
+ * A custom hook that composes multiple refs
23
+ * Accepts callback refs and RefObject(s)
24
+ *
25
+ * @param refs - The refs to compose
26
+ * @returns A function that sets all refs to a given value
27
+ */
28
+ declare function useComposedRefs<T>(...refs: Ref<T>[]): (node: T) => void;
29
+ //#endregion
30
+ export { setRef as n, useComposedRefs as r, composeRefs as t };
31
+ //# sourceMappingURL=use-compose-refs-Dy3epP6l.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-compose-refs-Dy3epP6l.d.mts","names":[],"sources":["../src/use-compose-refs.ts"],"sourcesContent":[],"mappings":";;;;;;AAgCA;;;;;AAiBgB,iBAjBA,MAiBW,CAAA,CAAA,CAAA,CAAA,GAAA,EAjBI,GAiBJ,CAjBQ,CAiBR,CAAA,GAAA,SAAA,EAAA,KAAA,EAjB+B,CAiB/B,CAAA,EAAA,IAAA;;;;;AAe3B;;;AAAoD,iBAfpC,WAeoC,CAAA,CAAA,CAAA,CAAA,GAAA,IAAA,EAfZ,GAeY,CAfR,CAeQ,CAAA,EAAA,CAAA,EAAA,CAAA,IAAA,EAdpC,CAcoC,EAAA,GAAA,IAAA;;;;;;;;iBAApC,4BAA4B,IAAI,cAAI"}
@@ -1,21 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.composeRefs = composeRefs;
7
- exports.setRef = setRef;
8
- exports.useComposedRefs = useComposedRefs;
9
- var _isFunction = require("@stryke/type-checks/is-function");
10
- var _react = require("react");
11
- function setRef(e, o) {
12
- e && ((0, _isFunction.isFunction)(e) ? e(o) : e.current = o);
13
- }
14
- function composeRefs(...e) {
15
- return o => {
16
- for (const t of e) setRef(t, o);
17
- };
18
- }
19
- function useComposedRefs(...e) {
20
- return (0, _react.useCallback)(composeRefs(...e), e);
21
- }
1
+ const e=require(`./use-compose-refs-BUwJN8zY.cjs`);exports.composeRefs=e.t,exports.setRef=e.n,exports.useComposedRefs=e.r;
@@ -0,0 +1,2 @@
1
+ import { n as setRef, r as useComposedRefs, t as composeRefs } from "./use-compose-refs-D1nHM35F.cjs";
2
+ export { composeRefs, setRef, useComposedRefs };