@med_ghoul/forge-shared 1.2.0
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.
- package/README.md +158 -0
- package/dist/hooks/index.cjs +1 -0
- package/dist/hooks/index.d.cts +19 -0
- package/dist/hooks/index.d.ts +19 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/use-back-to-top/index.cjs +1 -0
- package/dist/hooks/use-back-to-top/index.d.cts +2 -0
- package/dist/hooks/use-back-to-top/index.d.ts +2 -0
- package/dist/hooks/use-back-to-top/index.js +1 -0
- package/dist/hooks/use-back-to-top/use-back-to-top.cjs +1 -0
- package/dist/hooks/use-back-to-top/use-back-to-top.d.cts +33 -0
- package/dist/hooks/use-back-to-top/use-back-to-top.d.ts +33 -0
- package/dist/hooks/use-back-to-top/use-back-to-top.js +1 -0
- package/dist/hooks/use-boolean/index.cjs +1 -0
- package/dist/hooks/use-boolean/index.d.cts +2 -0
- package/dist/hooks/use-boolean/index.d.ts +2 -0
- package/dist/hooks/use-boolean/index.js +1 -0
- package/dist/hooks/use-boolean/use-boolean.cjs +1 -0
- package/dist/hooks/use-boolean/use-boolean.d.cts +29 -0
- package/dist/hooks/use-boolean/use-boolean.d.ts +29 -0
- package/dist/hooks/use-boolean/use-boolean.js +1 -0
- package/dist/hooks/use-client-rect/index.cjs +1 -0
- package/dist/hooks/use-client-rect/index.d.cts +2 -0
- package/dist/hooks/use-client-rect/index.d.ts +2 -0
- package/dist/hooks/use-client-rect/index.js +1 -0
- package/dist/hooks/use-client-rect/use-client-rect.cjs +1 -0
- package/dist/hooks/use-client-rect/use-client-rect.d.cts +29 -0
- package/dist/hooks/use-client-rect/use-client-rect.d.ts +29 -0
- package/dist/hooks/use-client-rect/use-client-rect.js +1 -0
- package/dist/hooks/use-cookies/index.cjs +1 -0
- package/dist/hooks/use-cookies/index.d.cts +2 -0
- package/dist/hooks/use-cookies/index.d.ts +2 -0
- package/dist/hooks/use-cookies/index.js +1 -0
- package/dist/hooks/use-cookies/use-cookies.cjs +1 -0
- package/dist/hooks/use-cookies/use-cookies.d.cts +40 -0
- package/dist/hooks/use-cookies/use-cookies.d.ts +40 -0
- package/dist/hooks/use-cookies/use-cookies.js +1 -0
- package/dist/hooks/use-copy-to-clipboard/index.cjs +1 -0
- package/dist/hooks/use-copy-to-clipboard/index.d.cts +1 -0
- package/dist/hooks/use-copy-to-clipboard/index.d.ts +1 -0
- package/dist/hooks/use-copy-to-clipboard/index.js +1 -0
- package/dist/hooks/use-copy-to-clipboard/use-copy-to-clipboard.cjs +1 -0
- package/dist/hooks/use-copy-to-clipboard/use-copy-to-clipboard.d.cts +26 -0
- package/dist/hooks/use-copy-to-clipboard/use-copy-to-clipboard.d.ts +26 -0
- package/dist/hooks/use-copy-to-clipboard/use-copy-to-clipboard.js +1 -0
- package/dist/hooks/use-countdown-date/index.cjs +1 -0
- package/dist/hooks/use-countdown-date/index.d.cts +1 -0
- package/dist/hooks/use-countdown-date/index.d.ts +1 -0
- package/dist/hooks/use-countdown-date/index.js +1 -0
- package/dist/hooks/use-countdown-date/use-countdown-date.cjs +1 -0
- package/dist/hooks/use-countdown-date/use-countdown-date.d.cts +29 -0
- package/dist/hooks/use-countdown-date/use-countdown-date.d.ts +29 -0
- package/dist/hooks/use-countdown-date/use-countdown-date.js +1 -0
- package/dist/hooks/use-countdown-seconds/index.cjs +1 -0
- package/dist/hooks/use-countdown-seconds/index.d.cts +2 -0
- package/dist/hooks/use-countdown-seconds/index.d.ts +2 -0
- package/dist/hooks/use-countdown-seconds/index.js +1 -0
- package/dist/hooks/use-countdown-seconds/use-countdown-seconds.cjs +1 -0
- package/dist/hooks/use-countdown-seconds/use-countdown-seconds.d.cts +35 -0
- package/dist/hooks/use-countdown-seconds/use-countdown-seconds.d.ts +35 -0
- package/dist/hooks/use-countdown-seconds/use-countdown-seconds.js +1 -0
- package/dist/hooks/use-debounce/index.cjs +1 -0
- package/dist/hooks/use-debounce/index.d.cts +1 -0
- package/dist/hooks/use-debounce/index.d.ts +1 -0
- package/dist/hooks/use-debounce/index.js +1 -0
- package/dist/hooks/use-debounce/use-debounce.cjs +1 -0
- package/dist/hooks/use-debounce/use-debounce.d.cts +21 -0
- package/dist/hooks/use-debounce/use-debounce.d.ts +21 -0
- package/dist/hooks/use-debounce/use-debounce.js +1 -0
- package/dist/hooks/use-double-click/index.cjs +1 -0
- package/dist/hooks/use-double-click/index.d.cts +2 -0
- package/dist/hooks/use-double-click/index.d.ts +2 -0
- package/dist/hooks/use-double-click/index.js +1 -0
- package/dist/hooks/use-double-click/use-double-click.cjs +1 -0
- package/dist/hooks/use-double-click/use-double-click.d.cts +28 -0
- package/dist/hooks/use-double-click/use-double-click.d.ts +28 -0
- package/dist/hooks/use-double-click/use-double-click.js +1 -0
- package/dist/hooks/use-is-client/index.cjs +1 -0
- package/dist/hooks/use-is-client/index.d.cts +1 -0
- package/dist/hooks/use-is-client/index.d.ts +1 -0
- package/dist/hooks/use-is-client/index.js +1 -0
- package/dist/hooks/use-is-client/use-is-client.cjs +1 -0
- package/dist/hooks/use-is-client/use-is-client.d.cts +18 -0
- package/dist/hooks/use-is-client/use-is-client.d.ts +18 -0
- package/dist/hooks/use-is-client/use-is-client.js +1 -0
- package/dist/hooks/use-local-storage/index.cjs +1 -0
- package/dist/hooks/use-local-storage/index.d.cts +1 -0
- package/dist/hooks/use-local-storage/index.d.ts +1 -0
- package/dist/hooks/use-local-storage/index.js +1 -0
- package/dist/hooks/use-local-storage/use-local-storage.cjs +1 -0
- package/dist/hooks/use-local-storage/use-local-storage.d.cts +38 -0
- package/dist/hooks/use-local-storage/use-local-storage.d.ts +38 -0
- package/dist/hooks/use-local-storage/use-local-storage.js +1 -0
- package/dist/hooks/use-multi-select/index.cjs +1 -0
- package/dist/hooks/use-multi-select/index.d.cts +2 -0
- package/dist/hooks/use-multi-select/index.d.ts +2 -0
- package/dist/hooks/use-multi-select/index.js +1 -0
- package/dist/hooks/use-multi-select/use-multi-select.cjs +1 -0
- package/dist/hooks/use-multi-select/use-multi-select.d.cts +55 -0
- package/dist/hooks/use-multi-select/use-multi-select.d.ts +55 -0
- package/dist/hooks/use-multi-select/use-multi-select.js +1 -0
- package/dist/hooks/use-popover/index.cjs +1 -0
- package/dist/hooks/use-popover/index.d.cts +2 -0
- package/dist/hooks/use-popover/index.d.ts +2 -0
- package/dist/hooks/use-popover/index.js +1 -0
- package/dist/hooks/use-popover/use-popover.cjs +1 -0
- package/dist/hooks/use-popover/use-popover.d.cts +35 -0
- package/dist/hooks/use-popover/use-popover.d.ts +35 -0
- package/dist/hooks/use-popover/use-popover.js +1 -0
- package/dist/hooks/use-popover-hover/index.cjs +1 -0
- package/dist/hooks/use-popover-hover/index.d.cts +2 -0
- package/dist/hooks/use-popover-hover/index.d.ts +2 -0
- package/dist/hooks/use-popover-hover/index.js +1 -0
- package/dist/hooks/use-popover-hover/use-popover-hover.cjs +1 -0
- package/dist/hooks/use-popover-hover/use-popover-hover.d.cts +41 -0
- package/dist/hooks/use-popover-hover/use-popover-hover.d.ts +41 -0
- package/dist/hooks/use-popover-hover/use-popover-hover.js +1 -0
- package/dist/hooks/use-scroll-offset-top/index.cjs +1 -0
- package/dist/hooks/use-scroll-offset-top/index.d.cts +2 -0
- package/dist/hooks/use-scroll-offset-top/index.d.ts +2 -0
- package/dist/hooks/use-scroll-offset-top/index.js +1 -0
- package/dist/hooks/use-scroll-offset-top/use-scroll-offset-top.cjs +1 -0
- package/dist/hooks/use-scroll-offset-top/use-scroll-offset-top.d.cts +28 -0
- package/dist/hooks/use-scroll-offset-top/use-scroll-offset-top.d.ts +28 -0
- package/dist/hooks/use-scroll-offset-top/use-scroll-offset-top.js +1 -0
- package/dist/hooks/use-set-state/index.cjs +1 -0
- package/dist/hooks/use-set-state/index.d.cts +1 -0
- package/dist/hooks/use-set-state/index.d.ts +1 -0
- package/dist/hooks/use-set-state/index.js +1 -0
- package/dist/hooks/use-set-state/use-set-state.cjs +1 -0
- package/dist/hooks/use-set-state/use-set-state.d.cts +32 -0
- package/dist/hooks/use-set-state/use-set-state.d.ts +32 -0
- package/dist/hooks/use-set-state/use-set-state.js +1 -0
- package/dist/hooks/use-tabs/index.cjs +1 -0
- package/dist/hooks/use-tabs/index.d.cts +2 -0
- package/dist/hooks/use-tabs/index.d.ts +2 -0
- package/dist/hooks/use-tabs/index.js +1 -0
- package/dist/hooks/use-tabs/use-tabs.cjs +1 -0
- package/dist/hooks/use-tabs/use-tabs.d.cts +58 -0
- package/dist/hooks/use-tabs/use-tabs.d.ts +58 -0
- package/dist/hooks/use-tabs/use-tabs.js +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.d.cts +31 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.js +2 -0
- package/dist/utils/active-link/active-link.cjs +1 -0
- package/dist/utils/active-link/active-link.d.cts +27 -0
- package/dist/utils/active-link/active-link.d.ts +27 -0
- package/dist/utils/active-link/active-link.js +1 -0
- package/dist/utils/active-link/index.cjs +1 -0
- package/dist/utils/active-link/index.d.cts +1 -0
- package/dist/utils/active-link/index.d.ts +1 -0
- package/dist/utils/active-link/index.js +1 -0
- package/dist/utils/classes/classes.cjs +1 -0
- package/dist/utils/classes/classes.d.cts +25 -0
- package/dist/utils/classes/classes.d.ts +25 -0
- package/dist/utils/classes/classes.js +1 -0
- package/dist/utils/classes/index.cjs +1 -0
- package/dist/utils/classes/index.d.cts +1 -0
- package/dist/utils/classes/index.d.ts +1 -0
- package/dist/utils/classes/index.js +1 -0
- package/dist/utils/color/color.cjs +2 -0
- package/dist/utils/color/color.d.cts +52 -0
- package/dist/utils/color/color.d.ts +52 -0
- package/dist/utils/color/color.js +2 -0
- package/dist/utils/color/index.cjs +2 -0
- package/dist/utils/color/index.d.cts +1 -0
- package/dist/utils/color/index.d.ts +1 -0
- package/dist/utils/color/index.js +2 -0
- package/dist/utils/cookies/cookies.cjs +1 -0
- package/dist/utils/cookies/cookies.d.cts +42 -0
- package/dist/utils/cookies/cookies.d.ts +42 -0
- package/dist/utils/cookies/cookies.js +1 -0
- package/dist/utils/cookies/index.cjs +1 -0
- package/dist/utils/cookies/index.d.cts +1 -0
- package/dist/utils/cookies/index.d.ts +1 -0
- package/dist/utils/cookies/index.js +1 -0
- package/dist/utils/css-variables/css-variables.cjs +1 -0
- package/dist/utils/css-variables/css-variables.d.cts +14 -0
- package/dist/utils/css-variables/css-variables.d.ts +14 -0
- package/dist/utils/css-variables/css-variables.js +1 -0
- package/dist/utils/css-variables/index.cjs +1 -0
- package/dist/utils/css-variables/index.d.cts +1 -0
- package/dist/utils/css-variables/index.d.ts +1 -0
- package/dist/utils/css-variables/index.js +1 -0
- package/dist/utils/font/font.cjs +1 -0
- package/dist/utils/font/font.d.cts +37 -0
- package/dist/utils/font/font.d.ts +37 -0
- package/dist/utils/font/font.js +1 -0
- package/dist/utils/font/index.cjs +1 -0
- package/dist/utils/font/index.d.cts +1 -0
- package/dist/utils/font/index.d.ts +1 -0
- package/dist/utils/font/index.js +1 -0
- package/dist/utils/index.cjs +2 -0
- package/dist/utils/index.d.cts +13 -0
- package/dist/utils/index.d.ts +13 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/local-storage/index.cjs +1 -0
- package/dist/utils/local-storage/index.d.cts +1 -0
- package/dist/utils/local-storage/index.d.ts +1 -0
- package/dist/utils/local-storage/index.js +1 -0
- package/dist/utils/local-storage/local-storage.cjs +1 -0
- package/dist/utils/local-storage/local-storage.d.cts +43 -0
- package/dist/utils/local-storage/local-storage.d.ts +43 -0
- package/dist/utils/local-storage/local-storage.js +1 -0
- package/dist/utils/object/index.cjs +1 -0
- package/dist/utils/object/index.d.cts +1 -0
- package/dist/utils/object/index.d.ts +1 -0
- package/dist/utils/object/index.js +1 -0
- package/dist/utils/object/object.cjs +1 -0
- package/dist/utils/object/object.d.cts +26 -0
- package/dist/utils/object/object.d.ts +26 -0
- package/dist/utils/object/object.js +1 -0
- package/dist/utils/refs/index.cjs +1 -0
- package/dist/utils/refs/index.d.cts +1 -0
- package/dist/utils/refs/index.d.ts +1 -0
- package/dist/utils/refs/index.js +1 -0
- package/dist/utils/refs/refs.cjs +1 -0
- package/dist/utils/refs/refs.d.cts +3 -0
- package/dist/utils/refs/refs.d.ts +3 -0
- package/dist/utils/refs/refs.js +1 -0
- package/dist/utils/right-to-left/index.cjs +1 -0
- package/dist/utils/right-to-left/index.d.cts +1 -0
- package/dist/utils/right-to-left/index.d.ts +1 -0
- package/dist/utils/right-to-left/index.js +1 -0
- package/dist/utils/right-to-left/right-to-left.cjs +1 -0
- package/dist/utils/right-to-left/right-to-left.d.cts +13 -0
- package/dist/utils/right-to-left/right-to-left.d.ts +13 -0
- package/dist/utils/right-to-left/right-to-left.js +1 -0
- package/dist/utils/transform-number/index.cjs +1 -0
- package/dist/utils/transform-number/index.d.cts +1 -0
- package/dist/utils/transform-number/index.d.ts +1 -0
- package/dist/utils/transform-number/index.js +1 -0
- package/dist/utils/transform-number/transform-number.cjs +1 -0
- package/dist/utils/transform-number/transform-number.d.cts +31 -0
- package/dist/utils/transform-number/transform-number.d.ts +31 -0
- package/dist/utils/transform-number/transform-number.js +1 -0
- package/dist/utils/url/index.cjs +1 -0
- package/dist/utils/url/index.d.cts +1 -0
- package/dist/utils/url/index.d.ts +1 -0
- package/dist/utils/url/index.js +1 -0
- package/dist/utils/url/url.cjs +1 -0
- package/dist/utils/url/url.d.cts +74 -0
- package/dist/utils/url/url.d.ts +74 -0
- package/dist/utils/url/url.js +1 -0
- package/dist/utils/uuidv4/index.cjs +1 -0
- package/dist/utils/uuidv4/index.d.cts +1 -0
- package/dist/utils/uuidv4/index.d.ts +1 -0
- package/dist/utils/uuidv4/index.js +1 -0
- package/dist/utils/uuidv4/uuidv4.cjs +1 -0
- package/dist/utils/uuidv4/uuidv4.d.cts +12 -0
- package/dist/utils/uuidv4/uuidv4.d.ts +12 -0
- package/dist/utils/uuidv4/uuidv4.js +1 -0
- package/package.json +113 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as f,useEffect as g,useMemo as h,useState as y}from"react";function m(e){if(!e||typeof e!="string")return console.warn("Invalid cookie key provided"),null;try{let o=`${e}=`,t=decodeURIComponent(document.cookie).split("; ").find(d=>d.startsWith(o));if(!t)return null;let r=t.substring(o.length);try{return JSON.parse(r)}catch{return r}}catch(o){return console.error("Error retrieving cookie:",o),null}}function T(e,o,c){if(!e||typeof e!="string"){console.error("Invalid cookie key provided");return}let{daysUntilExpiration:n=0,sameSite:t="Strict",secure:r=!1,path:d="/",domain:s}=c??{};try{let a=encodeURIComponent(typeof o=="string"?o:JSON.stringify(o)),p=[`${e}=${a}`,`path=${d}`,t&&`SameSite=${t}`,r&&"Secure",s&&`domain=${s}`];if(n>0){let l=new Date(Date.now()+n*24*60*60*1e3);p.push(`expires=${l.toUTCString()}`)}document.cookie=p.filter(Boolean).join("; ")}catch(a){console.error("Error setting cookie:",a)}}function C(e,o){if(!e||typeof e!="string"){console.error("Invalid cookie key provided");return}let{path:c="/",domain:n}=o??{};try{let t=[`${e}=`,"expires=Thu, 01 Jan 1970 00:00:00 GMT",`path=${c}`,n&&`domain=${n}`,"Secure"];document.cookie=t.filter(Boolean).join("; ")}catch(t){console.error("Error removing cookie:",t)}}function $(e,o,c){let{initializeWithValue:n=!0,...t}=c??{},r=o&&typeof o=="object",[d,s]=y(o);g(()=>{let i=m(e);i?s(r?u=>({...u,...i}):i):o&&n&&T(e,o,t)},[]);let a=f(i=>{r?s(u=>{let k={...u,...i};return T(e,k,t),k}):(T(e,i,t),s(i))},[t,r,e]),p=f((i,u)=>{r&&a({[i]:u})},[r,a]),l=f(i=>{s(i??o),C(e)},[o,e]);return h(()=>({state:d,setState:a,setField:p,resetState:l}),[l,p,a,d])}export{$ as useCookies};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var a=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var s=(e,o)=>{for(var t in o)a(e,t,{get:o[t],enumerable:!0})},c=(e,o,t,p)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of l(o))!u.call(e,r)&&r!==t&&a(e,r,{get:()=>o[r],enumerable:!(p=i(o,r))||p.enumerable});return e};var C=e=>c(a({},"__esModule",{value:!0}),e);var d={};s(d,{useCopyToClipboard:()=>y});module.exports=C(d);var n=require("react");function y(){let[e,o]=(0,n.useState)(null);return{copy:(0,n.useCallback)(async p=>{if(!navigator?.clipboard)return console.warn("Clipboard not supported"),!1;try{return await navigator.clipboard.writeText(p),o(p),!0}catch(r){return console.warn("Copy failed",r),o(null),!1}},[o]),copiedText:e}}0&&(module.exports={useCopyToClipboard});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CopiedValue, CopyFn, UseCopyToClipboardReturn, useCopyToClipboard } from './use-copy-to-clipboard.cjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CopiedValue, CopyFn, UseCopyToClipboardReturn, useCopyToClipboard } from './use-copy-to-clipboard.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as p,useState as n}from"react";function l(){let[r,o]=n(null);return{copy:p(async e=>{if(!navigator?.clipboard)return console.warn("Clipboard not supported"),!1;try{return await navigator.clipboard.writeText(e),o(e),!0}catch(t){return console.warn("Copy failed",t),o(null),!1}},[o]),copiedText:r}}export{l as useCopyToClipboard};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var a=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var s=(e,o)=>{for(var t in o)a(e,t,{get:o[t],enumerable:!0})},c=(e,o,t,p)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of l(o))!u.call(e,r)&&r!==t&&a(e,r,{get:()=>o[r],enumerable:!(p=i(o,r))||p.enumerable});return e};var C=e=>c(a({},"__esModule",{value:!0}),e);var d={};s(d,{useCopyToClipboard:()=>y});module.exports=C(d);var n=require("react");function y(){let[e,o]=(0,n.useState)(null);return{copy:(0,n.useCallback)(async p=>{if(!navigator?.clipboard)return console.warn("Clipboard not supported"),!1;try{return await navigator.clipboard.writeText(p),o(p),!0}catch(r){return console.warn("Copy failed",r),o(null),!1}},[o]),copiedText:e}}0&&(module.exports={useCopyToClipboard});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom hook to copy text to the clipboard.
|
|
3
|
+
*
|
|
4
|
+
* @returns {UseCopyToClipboardReturn} - An object containing:
|
|
5
|
+
* - `copy`: A function to copy text to the clipboard.
|
|
6
|
+
* - `copiedText`: The last copied text or null if nothing has been copied.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* const { copy, copiedText } = useCopyToClipboard();
|
|
10
|
+
*
|
|
11
|
+
* return (
|
|
12
|
+
* <div>
|
|
13
|
+
* <button onClick={() => copy('Hello, World!')}>Copy Text</button>
|
|
14
|
+
* {copiedText && <p>Copied: {copiedText}</p>}
|
|
15
|
+
* </div>
|
|
16
|
+
* );
|
|
17
|
+
*/
|
|
18
|
+
type UseCopyToClipboardReturn = {
|
|
19
|
+
copy: CopyFn;
|
|
20
|
+
copiedText: CopiedValue;
|
|
21
|
+
};
|
|
22
|
+
type CopiedValue = string | null;
|
|
23
|
+
type CopyFn = (text: string) => Promise<boolean>;
|
|
24
|
+
declare function useCopyToClipboard(): UseCopyToClipboardReturn;
|
|
25
|
+
|
|
26
|
+
export { type CopiedValue, type CopyFn, type UseCopyToClipboardReturn, useCopyToClipboard };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom hook to copy text to the clipboard.
|
|
3
|
+
*
|
|
4
|
+
* @returns {UseCopyToClipboardReturn} - An object containing:
|
|
5
|
+
* - `copy`: A function to copy text to the clipboard.
|
|
6
|
+
* - `copiedText`: The last copied text or null if nothing has been copied.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* const { copy, copiedText } = useCopyToClipboard();
|
|
10
|
+
*
|
|
11
|
+
* return (
|
|
12
|
+
* <div>
|
|
13
|
+
* <button onClick={() => copy('Hello, World!')}>Copy Text</button>
|
|
14
|
+
* {copiedText && <p>Copied: {copiedText}</p>}
|
|
15
|
+
* </div>
|
|
16
|
+
* );
|
|
17
|
+
*/
|
|
18
|
+
type UseCopyToClipboardReturn = {
|
|
19
|
+
copy: CopyFn;
|
|
20
|
+
copiedText: CopiedValue;
|
|
21
|
+
};
|
|
22
|
+
type CopiedValue = string | null;
|
|
23
|
+
type CopyFn = (text: string) => Promise<boolean>;
|
|
24
|
+
declare function useCopyToClipboard(): UseCopyToClipboardReturn;
|
|
25
|
+
|
|
26
|
+
export { type CopiedValue, type CopyFn, type UseCopyToClipboardReturn, useCopyToClipboard };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as p,useState as n}from"react";function l(){let[r,o]=n(null);return{copy:p(async e=>{if(!navigator?.clipboard)return console.warn("Clipboard not supported"),!1;try{return await navigator.clipboard.writeText(e),o(e),!0}catch(t){return console.warn("Copy failed",t),o(null),!1}},[o]),copiedText:r}}export{l as useCopyToClipboard};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var i=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var y=(t,n)=>{for(var e in n)i(t,e,{get:n[e],enumerable:!0})},D=(t,n,e,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of g(n))!l.call(t,s)&&s!==e&&i(t,s,{get:()=>n[s],enumerable:!(r=h(n,s))||r.enumerable});return t};var b=t=>D(i({},"__esModule",{value:!0}),t);var M={};y(M,{useCountdownDate:()=>w});module.exports=b(M);var o=require("react");function w(t,n="- -"){let[e,r]=(0,o.useState)({days:n,hours:n,minutes:n,seconds:n}),s=(0,o.useCallback)(()=>{let a=new Date,{days:c,hours:m,minutes:d,seconds:f}=C(t,a);r({days:u(c),hours:u(m),minutes:u(d),seconds:u(f)})},[t]);return(0,o.useEffect)(()=>{s();let a=setInterval(s,1e3);return()=>clearInterval(a)},[]),e}function u(t){return String(t).length===1?`0${t}`:`${t}`}function C(t,n){let e=t.getTime()-n.getTime();return{days:Math.floor(e/(1e3*60*60*24)),hours:Math.floor(e%(1e3*60*60*24)/(1e3*60*60)),minutes:Math.floor(e%(1e3*60*60)/(1e3*60)),seconds:Math.floor(e%(1e3*60)/1e3)}}0&&(module.exports={useCountdownDate});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UseCountdownDateReturn, useCountdownDate } from './use-countdown-date.cjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UseCountdownDateReturn, useCountdownDate } from './use-countdown-date.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as d,useEffect as f,useState as h}from"react";function y(t,n="- -"){let[e,u]=h({days:n,hours:n,minutes:n,seconds:n}),r=d(()=>{let o=new Date,{days:a,hours:i,minutes:c,seconds:m}=g(t,o);u({days:s(a),hours:s(i),minutes:s(c),seconds:s(m)})},[t]);return f(()=>{r();let o=setInterval(r,1e3);return()=>clearInterval(o)},[]),e}function s(t){return String(t).length===1?`0${t}`:`${t}`}function g(t,n){let e=t.getTime()-n.getTime();return{days:Math.floor(e/(1e3*60*60*24)),hours:Math.floor(e%(1e3*60*60*24)/(1e3*60*60)),minutes:Math.floor(e%(1e3*60*60)/(1e3*60)),seconds:Math.floor(e%(1e3*60)/1e3)}}export{y as useCountdownDate};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var i=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var y=(t,n)=>{for(var e in n)i(t,e,{get:n[e],enumerable:!0})},D=(t,n,e,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of g(n))!l.call(t,s)&&s!==e&&i(t,s,{get:()=>n[s],enumerable:!(r=h(n,s))||r.enumerable});return t};var b=t=>D(i({},"__esModule",{value:!0}),t);var M={};y(M,{useCountdownDate:()=>w});module.exports=b(M);var o=require("react");function w(t,n="- -"){let[e,r]=(0,o.useState)({days:n,hours:n,minutes:n,seconds:n}),s=(0,o.useCallback)(()=>{let a=new Date,{days:c,hours:m,minutes:d,seconds:f}=C(t,a);r({days:u(c),hours:u(m),minutes:u(d),seconds:u(f)})},[t]);return(0,o.useEffect)(()=>{s();let a=setInterval(s,1e3);return()=>clearInterval(a)},[]),e}function u(t){return String(t).length===1?`0${t}`:`${t}`}function C(t,n){let e=t.getTime()-n.getTime();return{days:Math.floor(e/(1e3*60*60*24)),hours:Math.floor(e%(1e3*60*60*24)/(1e3*60*60)),minutes:Math.floor(e%(1e3*60*60)/(1e3*60)),seconds:Math.floor(e%(1e3*60)/1e3)}}0&&(module.exports={useCountdownDate});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom hook to create a countdown timer to a target date.
|
|
3
|
+
*
|
|
4
|
+
* @param {Date} targetDate - The target date to count down to.
|
|
5
|
+
* @param {string} [placeholder='- -'] - The placeholder value to display before the countdown starts.
|
|
6
|
+
*
|
|
7
|
+
* @returns {UseCountdownDateReturn} - An object containing the current countdown values in days, hours, minutes, and seconds.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* const { days, hours, minutes, seconds } = useCountdownDate(new Date('2023-12-31T23:59:59'));
|
|
11
|
+
*
|
|
12
|
+
* return (
|
|
13
|
+
* <div>
|
|
14
|
+
* <p>Days: {days}</p>
|
|
15
|
+
* <p>Hours: {hours}</p>
|
|
16
|
+
* <p>Minutes: {minutes}</p>
|
|
17
|
+
* <p>Seconds: {seconds}</p>
|
|
18
|
+
* </div>
|
|
19
|
+
* );
|
|
20
|
+
*/
|
|
21
|
+
type UseCountdownDateReturn = {
|
|
22
|
+
days: string;
|
|
23
|
+
hours: string;
|
|
24
|
+
minutes: string;
|
|
25
|
+
seconds: string;
|
|
26
|
+
};
|
|
27
|
+
declare function useCountdownDate(targetDate: Date, placeholder?: string): UseCountdownDateReturn;
|
|
28
|
+
|
|
29
|
+
export { type UseCountdownDateReturn, useCountdownDate };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom hook to create a countdown timer to a target date.
|
|
3
|
+
*
|
|
4
|
+
* @param {Date} targetDate - The target date to count down to.
|
|
5
|
+
* @param {string} [placeholder='- -'] - The placeholder value to display before the countdown starts.
|
|
6
|
+
*
|
|
7
|
+
* @returns {UseCountdownDateReturn} - An object containing the current countdown values in days, hours, minutes, and seconds.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* const { days, hours, minutes, seconds } = useCountdownDate(new Date('2023-12-31T23:59:59'));
|
|
11
|
+
*
|
|
12
|
+
* return (
|
|
13
|
+
* <div>
|
|
14
|
+
* <p>Days: {days}</p>
|
|
15
|
+
* <p>Hours: {hours}</p>
|
|
16
|
+
* <p>Minutes: {minutes}</p>
|
|
17
|
+
* <p>Seconds: {seconds}</p>
|
|
18
|
+
* </div>
|
|
19
|
+
* );
|
|
20
|
+
*/
|
|
21
|
+
type UseCountdownDateReturn = {
|
|
22
|
+
days: string;
|
|
23
|
+
hours: string;
|
|
24
|
+
minutes: string;
|
|
25
|
+
seconds: string;
|
|
26
|
+
};
|
|
27
|
+
declare function useCountdownDate(targetDate: Date, placeholder?: string): UseCountdownDateReturn;
|
|
28
|
+
|
|
29
|
+
export { type UseCountdownDateReturn, useCountdownDate };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as d,useEffect as f,useState as h}from"react";function y(t,n="- -"){let[e,u]=h({days:n,hours:n,minutes:n,seconds:n}),r=d(()=>{let o=new Date,{days:a,hours:i,minutes:c,seconds:m}=g(t,o);u({days:s(a),hours:s(i),minutes:s(c),seconds:s(m)})},[t]);return f(()=>{r();let o=setInterval(r,1e3);return()=>clearInterval(o)},[]),e}function s(t){return String(t).length===1?`0${t}`:`${t}`}function g(t,n){let e=t.getTime()-n.getTime();return{days:Math.floor(e/(1e3*60*60*24)),hours:Math.floor(e%(1e3*60*60*24)/(1e3*60*60)),minutes:Math.floor(e%(1e3*60*60)/(1e3*60)),seconds:Math.floor(e%(1e3*60)/1e3)}}export{y as useCountdownDate};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var u=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var d=(t,e)=>{for(var o in e)u(t,o,{get:e[o],enumerable:!0})},m=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of p(e))!S.call(t,n)&&n!==o&&u(t,n,{get:()=>e[n],enumerable:!(r=f(e,n))||r.enumerable});return t};var v=t=>m(u({},"__esModule",{value:!0}),t);var b={};d(b,{useCountdownSeconds:()=>C});module.exports=v(b);var s=require("react");function C(t){let[e,o]=(0,s.useState)(t),[r,n]=(0,s.useState)(!1),l=(0,s.useCallback)(()=>{n(!0)},[]),i=(0,s.useCallback)(()=>{n(!1),o(t)},[t]);return(0,s.useEffect)(()=>{let a=null;return r&&e>0?a=setInterval(()=>{o(c=>c-1)},1e3):e<=0&&n(!1),()=>{a&&clearInterval(a)}},[r,e]),{value:e,setValue:o,isCounting:r,start:l,reset:i}}0&&(module.exports={useCountdownSeconds});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as a,useEffect as f,useState as u}from"react";function S(t){let[e,n]=u(t),[o,s]=u(!1),l=a(()=>{s(!0)},[]),i=a(()=>{s(!1),n(t)},[t]);return f(()=>{let r=null;return o&&e>0?r=setInterval(()=>{n(c=>c-1)},1e3):e<=0&&s(!1),()=>{r&&clearInterval(r)}},[o,e]),{value:e,setValue:n,isCounting:o,start:l,reset:i}}export{S as useCountdownSeconds};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var u=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var d=(t,e)=>{for(var s in e)u(t,s,{get:e[s],enumerable:!0})},v=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of p(e))!S.call(t,n)&&n!==s&&u(t,n,{get:()=>e[n],enumerable:!(r=f(e,n))||r.enumerable});return t};var m=t=>v(u({},"__esModule",{value:!0}),t);var b={};d(b,{useCountdownSeconds:()=>C});module.exports=m(b);var o=require("react");function C(t){let[e,s]=(0,o.useState)(t),[r,n]=(0,o.useState)(!1),l=(0,o.useCallback)(()=>{n(!0)},[]),i=(0,o.useCallback)(()=>{n(!1),s(t)},[t]);return(0,o.useEffect)(()=>{let a=null;return r&&e>0?a=setInterval(()=>{s(c=>c-1)},1e3):e<=0&&n(!1),()=>{a&&clearInterval(a)}},[r,e]),{value:e,setValue:s,isCounting:r,start:l,reset:i}}0&&(module.exports={useCountdownSeconds});
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Dispatch, SetStateAction } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Custom hook to create a countdown timer in seconds.
|
|
5
|
+
*
|
|
6
|
+
* @param {number} defaultValue - The initial countdown value in seconds.
|
|
7
|
+
*
|
|
8
|
+
* @returns {UseCountdownSecondsReturn} - An object containing:
|
|
9
|
+
* - `value`: The current countdown value in seconds.
|
|
10
|
+
* - `start`: A function to start the countdown.
|
|
11
|
+
* - `reset`: A function to reset the countdown to the initial value.
|
|
12
|
+
* - `isCounting`: A boolean indicating whether the countdown is currently active.
|
|
13
|
+
* - `setValue`: A function to manually set the countdown value.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* const { value, start, reset, isCounting } = useCountdownSeconds(30);
|
|
17
|
+
*
|
|
18
|
+
* return (
|
|
19
|
+
* <div>
|
|
20
|
+
* <p>Countdown: {value} seconds</p>
|
|
21
|
+
* <button onClick={start} disabled={isCounting}>Start</button>
|
|
22
|
+
* <button onClick={reset}>Reset</button>
|
|
23
|
+
* </div>
|
|
24
|
+
* );
|
|
25
|
+
*/
|
|
26
|
+
type UseCountdownSecondsReturn = {
|
|
27
|
+
value: number;
|
|
28
|
+
start: () => void;
|
|
29
|
+
reset: () => void;
|
|
30
|
+
isCounting: boolean;
|
|
31
|
+
setValue: Dispatch<SetStateAction<number>>;
|
|
32
|
+
};
|
|
33
|
+
declare function useCountdownSeconds(defaultValue: number): UseCountdownSecondsReturn;
|
|
34
|
+
|
|
35
|
+
export { type UseCountdownSecondsReturn, useCountdownSeconds };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Dispatch, SetStateAction } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Custom hook to create a countdown timer in seconds.
|
|
5
|
+
*
|
|
6
|
+
* @param {number} defaultValue - The initial countdown value in seconds.
|
|
7
|
+
*
|
|
8
|
+
* @returns {UseCountdownSecondsReturn} - An object containing:
|
|
9
|
+
* - `value`: The current countdown value in seconds.
|
|
10
|
+
* - `start`: A function to start the countdown.
|
|
11
|
+
* - `reset`: A function to reset the countdown to the initial value.
|
|
12
|
+
* - `isCounting`: A boolean indicating whether the countdown is currently active.
|
|
13
|
+
* - `setValue`: A function to manually set the countdown value.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* const { value, start, reset, isCounting } = useCountdownSeconds(30);
|
|
17
|
+
*
|
|
18
|
+
* return (
|
|
19
|
+
* <div>
|
|
20
|
+
* <p>Countdown: {value} seconds</p>
|
|
21
|
+
* <button onClick={start} disabled={isCounting}>Start</button>
|
|
22
|
+
* <button onClick={reset}>Reset</button>
|
|
23
|
+
* </div>
|
|
24
|
+
* );
|
|
25
|
+
*/
|
|
26
|
+
type UseCountdownSecondsReturn = {
|
|
27
|
+
value: number;
|
|
28
|
+
start: () => void;
|
|
29
|
+
reset: () => void;
|
|
30
|
+
isCounting: boolean;
|
|
31
|
+
setValue: Dispatch<SetStateAction<number>>;
|
|
32
|
+
};
|
|
33
|
+
declare function useCountdownSeconds(defaultValue: number): UseCountdownSecondsReturn;
|
|
34
|
+
|
|
35
|
+
export { type UseCountdownSecondsReturn, useCountdownSeconds };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as a,useEffect as f,useState as u}from"react";function S(t){let[e,n]=u(t),[s,o]=u(!1),l=a(()=>{o(!0)},[]),i=a(()=>{o(!1),n(t)},[t]);return f(()=>{let r=null;return s&&e>0?r=setInterval(()=>{n(c=>c-1)},1e3):e<=0&&o(!1),()=>{r&&clearInterval(r)}},[s,e]),{value:e,setValue:n,isCounting:s,start:l,reset:i}}export{S as useCountdownSeconds};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var s=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var m=(t,e)=>{for(var r in e)s(t,r,{get:e[r],enumerable:!0})},f=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of b(e))!i.call(t,n)&&n!==r&&s(t,n,{get:()=>e[n],enumerable:!(o=c(e,n))||o.enumerable});return t};var p=t=>f(s({},"__esModule",{value:!0}),t);var d={};m(d,{useDebounce:()=>D});module.exports=p(d);var u=require("react");function D(t,e=1e3){let[r,o]=(0,u.useState)(t);return(0,u.useEffect)(()=>{let n=setTimeout(()=>{o(t)},e);return()=>{clearTimeout(n)}},[t,e]),r}0&&(module.exports={useDebounce});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UseDebounceReturn, useDebounce } from './use-debounce.cjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UseDebounceReturn, useDebounce } from './use-debounce.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useEffect as u,useState as s}from"react";function b(e,t=1e3){let[n,r]=s(e);return u(()=>{let o=setTimeout(()=>{r(e)},t);return()=>{clearTimeout(o)}},[e,t]),n}export{b as useDebounce};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var s=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var m=(t,e)=>{for(var u in e)s(t,u,{get:e[u],enumerable:!0})},f=(t,e,u,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of b(e))!i.call(t,n)&&n!==u&&s(t,n,{get:()=>e[n],enumerable:!(r=c(e,n))||r.enumerable});return t};var p=t=>f(s({},"__esModule",{value:!0}),t);var d={};m(d,{useDebounce:()=>D});module.exports=p(d);var o=require("react");function D(t,e=1e3){let[u,r]=(0,o.useState)(t);return(0,o.useEffect)(()=>{let n=setTimeout(()=>{r(t)},e);return()=>{clearTimeout(n)}},[t,e]),u}0&&(module.exports={useDebounce});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom hook to debounce a value. The debounced value will only update after the specified delay has passed without any changes.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} value - The value to debounce.
|
|
5
|
+
* @param {number} [delay=1000] - The delay in milliseconds to wait before updating the debounced value.
|
|
6
|
+
*
|
|
7
|
+
* @returns {UseDebounceReturn} - The debounced value.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* const debouncedSearchTerm = useDebounce(searchTerm, 500);
|
|
11
|
+
*
|
|
12
|
+
* useEffect(() => {
|
|
13
|
+
* if (debouncedSearchTerm) {
|
|
14
|
+
* // Perform search
|
|
15
|
+
* }
|
|
16
|
+
* }, [debouncedSearchTerm]);
|
|
17
|
+
*/
|
|
18
|
+
type UseDebounceReturn = string;
|
|
19
|
+
declare function useDebounce(value: string, delay?: number): UseDebounceReturn;
|
|
20
|
+
|
|
21
|
+
export { type UseDebounceReturn, useDebounce };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom hook to debounce a value. The debounced value will only update after the specified delay has passed without any changes.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} value - The value to debounce.
|
|
5
|
+
* @param {number} [delay=1000] - The delay in milliseconds to wait before updating the debounced value.
|
|
6
|
+
*
|
|
7
|
+
* @returns {UseDebounceReturn} - The debounced value.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* const debouncedSearchTerm = useDebounce(searchTerm, 500);
|
|
11
|
+
*
|
|
12
|
+
* useEffect(() => {
|
|
13
|
+
* if (debouncedSearchTerm) {
|
|
14
|
+
* // Perform search
|
|
15
|
+
* }
|
|
16
|
+
* }, [debouncedSearchTerm]);
|
|
17
|
+
*/
|
|
18
|
+
type UseDebounceReturn = string;
|
|
19
|
+
declare function useDebounce(value: string, delay?: number): UseDebounceReturn;
|
|
20
|
+
|
|
21
|
+
export { type UseDebounceReturn, useDebounce };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useEffect as o,useState as s}from"react";function b(e,t=1e3){let[n,u]=s(e);return o(()=>{let r=setTimeout(()=>{u(e)},t);return()=>{clearTimeout(r)}},[e,t]),n}export{b as useDebounce};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var i=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var p=(t,e)=>{for(var o in e)i(t,o,{get:e[o],enumerable:!0})},v=(t,e,o,u)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of s(e))!m.call(t,n)&&n!==o&&i(t,n,{get:()=>e[n],enumerable:!(u=c(e,n))||u.enumerable});return t};var E=t=>v(i({},"__esModule",{value:!0}),t);var f={};p(f,{useDoubleClick:()=>a});module.exports=E(f);var l=require("react");function a({click:t,doubleClick:e,timeout:o=250}){let u=(0,l.useRef)(null),n=(0,l.useCallback)(()=>{u.current&&(clearTimeout(u.current),u.current=null)},[]);return(0,l.useCallback)(r=>{n(),t&&r.detail===1&&(u.current=setTimeout(()=>{t(r)},o)),r.detail%2===0&&e(r)},[t,e,o,n])}0&&(module.exports={useDoubleClick});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as r,useRef as i}from"react";function m({click:n,doubleClick:o,timeout:u=250}){let e=i(null),l=r(()=>{e.current&&(clearTimeout(e.current),e.current=null)},[]);return r(t=>{l(),n&&t.detail===1&&(e.current=setTimeout(()=>{n(t)},u)),t.detail%2===0&&o(t)},[n,o,u,l])}export{m as useDoubleClick};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var r=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var p=(t,e)=>{for(var o in e)r(t,o,{get:e[o],enumerable:!0})},v=(t,e,o,u)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of s(e))!m.call(t,n)&&n!==o&&r(t,n,{get:()=>e[n],enumerable:!(u=c(e,n))||u.enumerable});return t};var E=t=>v(r({},"__esModule",{value:!0}),t);var f={};p(f,{useDoubleClick:()=>a});module.exports=E(f);var l=require("react");function a({click:t,doubleClick:e,timeout:o=250}){let u=(0,l.useRef)(null),n=(0,l.useCallback)(()=>{u.current&&(clearTimeout(u.current),u.current=null)},[]);return(0,l.useCallback)(i=>{n(),t&&i.detail===1&&(u.current=setTimeout(()=>{t(i)},o)),i.detail%2===0&&e(i)},[t,e,o,n])}0&&(module.exports={useDoubleClick});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { MouseEvent, SyntheticEvent } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Custom hook to handle single and double click events on an element.
|
|
5
|
+
*
|
|
6
|
+
* @param {UseDoubleClickProps} props - The properties for the hook.
|
|
7
|
+
* @param {number} [props.timeout=250] - The timeout in milliseconds to differentiate between single and double clicks.
|
|
8
|
+
* @param {function} [props.click] - The function to call on a single click.
|
|
9
|
+
* @param {function} props.doubleClick - The function to call on a double click.
|
|
10
|
+
*
|
|
11
|
+
* @returns {UseDoubleClickReturn} - A function to handle the click events.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* const handleClick = (event) => console.log('Single Click', event);
|
|
15
|
+
* const handleDoubleClick = (event) => console.log('Double Click', event);
|
|
16
|
+
* const handleEvent = useDoubleClick({ click: handleClick, doubleClick: handleDoubleClick });
|
|
17
|
+
*
|
|
18
|
+
* return <div onClick={handleEvent}>Click Me</div>;
|
|
19
|
+
*/
|
|
20
|
+
type UseDoubleClickReturn = (event: MouseEvent<HTMLElement>) => void;
|
|
21
|
+
type UseDoubleClickProps = {
|
|
22
|
+
timeout?: number;
|
|
23
|
+
click?: (event: SyntheticEvent) => void;
|
|
24
|
+
doubleClick: (event: SyntheticEvent) => void;
|
|
25
|
+
};
|
|
26
|
+
declare function useDoubleClick({ click, doubleClick, timeout, }: UseDoubleClickProps): UseDoubleClickReturn;
|
|
27
|
+
|
|
28
|
+
export { type UseDoubleClickReturn, useDoubleClick };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { MouseEvent, SyntheticEvent } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Custom hook to handle single and double click events on an element.
|
|
5
|
+
*
|
|
6
|
+
* @param {UseDoubleClickProps} props - The properties for the hook.
|
|
7
|
+
* @param {number} [props.timeout=250] - The timeout in milliseconds to differentiate between single and double clicks.
|
|
8
|
+
* @param {function} [props.click] - The function to call on a single click.
|
|
9
|
+
* @param {function} props.doubleClick - The function to call on a double click.
|
|
10
|
+
*
|
|
11
|
+
* @returns {UseDoubleClickReturn} - A function to handle the click events.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* const handleClick = (event) => console.log('Single Click', event);
|
|
15
|
+
* const handleDoubleClick = (event) => console.log('Double Click', event);
|
|
16
|
+
* const handleEvent = useDoubleClick({ click: handleClick, doubleClick: handleDoubleClick });
|
|
17
|
+
*
|
|
18
|
+
* return <div onClick={handleEvent}>Click Me</div>;
|
|
19
|
+
*/
|
|
20
|
+
type UseDoubleClickReturn = (event: MouseEvent<HTMLElement>) => void;
|
|
21
|
+
type UseDoubleClickProps = {
|
|
22
|
+
timeout?: number;
|
|
23
|
+
click?: (event: SyntheticEvent) => void;
|
|
24
|
+
doubleClick: (event: SyntheticEvent) => void;
|
|
25
|
+
};
|
|
26
|
+
declare function useDoubleClick({ click, doubleClick, timeout, }: UseDoubleClickProps): UseDoubleClickReturn;
|
|
27
|
+
|
|
28
|
+
export { type UseDoubleClickReturn, useDoubleClick };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as i,useRef as r}from"react";function m({click:n,doubleClick:o,timeout:u=250}){let e=r(null),l=i(()=>{e.current&&(clearTimeout(e.current),e.current=null)},[]);return i(t=>{l(),n&&t.detail===1&&(e.current=setTimeout(()=>{n(t)},u)),t.detail%2===0&&o(t)},[n,o,u,l])}export{m as useDoubleClick};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var o=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var p=(t,e)=>{for(var s in e)o(t,s,{get:e[s],enumerable:!0})},C=(t,e,s,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of l(e))!f.call(t,n)&&n!==s&&o(t,n,{get:()=>e[n],enumerable:!(i=u(e,n))||i.enumerable});return t};var a=t=>C(o({},"__esModule",{value:!0}),t);var m={};p(m,{useIsClient:()=>c});module.exports=a(m);var r=require("react");function c(){let[t,e]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{e(!0)},[]),t}0&&(module.exports={useIsClient});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UseIsClientReturn, useIsClient } from './use-is-client.cjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UseIsClientReturn, useIsClient } from './use-is-client.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useEffect as n,useState as s}from"react";function o(){let[e,t]=s(!1);return n(()=>{t(!0)},[]),e}export{o as useIsClient};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var i=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var C=(t,e)=>{for(var s in e)i(t,s,{get:e[s],enumerable:!0})},p=(t,e,s,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of l(e))!f.call(t,n)&&n!==s&&i(t,n,{get:()=>e[n],enumerable:!(o=u(e,n))||o.enumerable});return t};var a=t=>p(i({},"__esModule",{value:!0}),t);var I={};C(I,{useIsClient:()=>c});module.exports=a(I);var r=require("react");function c(){let[t,e]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{e(!0)},[]),t}0&&(module.exports={useIsClient});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom hook to determine if the code is running on the client side.
|
|
3
|
+
*
|
|
4
|
+
* @returns {boolean} - Returns true if the code is running on the client side, otherwise false.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* const isClient = useIsClient();
|
|
8
|
+
*
|
|
9
|
+
* return (
|
|
10
|
+
* <div>
|
|
11
|
+
* <p>Is Client: {isClient.toString()}</p>
|
|
12
|
+
* </div>
|
|
13
|
+
* );
|
|
14
|
+
*/
|
|
15
|
+
type UseIsClientReturn = boolean;
|
|
16
|
+
declare function useIsClient(): UseIsClientReturn;
|
|
17
|
+
|
|
18
|
+
export { type UseIsClientReturn, useIsClient };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom hook to determine if the code is running on the client side.
|
|
3
|
+
*
|
|
4
|
+
* @returns {boolean} - Returns true if the code is running on the client side, otherwise false.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* const isClient = useIsClient();
|
|
8
|
+
*
|
|
9
|
+
* return (
|
|
10
|
+
* <div>
|
|
11
|
+
* <p>Is Client: {isClient.toString()}</p>
|
|
12
|
+
* </div>
|
|
13
|
+
* );
|
|
14
|
+
*/
|
|
15
|
+
type UseIsClientReturn = boolean;
|
|
16
|
+
declare function useIsClient(): UseIsClientReturn;
|
|
17
|
+
|
|
18
|
+
export { type UseIsClientReturn, useIsClient };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useEffect as n,useState as s}from"react";function i(){let[e,t]=s(!1);return n(()=>{t(!0)},[]),e}export{i as useIsClient};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var T=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var y=(e,t)=>{for(var o in t)T(e,o,{get:t[o],enumerable:!0})},h=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of v(t))!w.call(e,r)&&r!==o&&T(e,r,{get:()=>t[r],enumerable:!(i=_(t,r))||i.enumerable});return e};var x=e=>h(T({},"__esModule",{value:!0}),e);var z={};y(z,{useLocalStorage:()=>V});module.exports=x(z);var s=require("react");function S(e,t){if(!b())return t??null;let o=localStorage.getItem(e);if(o!=="undefined"){if(o)try{return JSON.parse(o)}catch{return o??t??null}return t??null}}function c(e,t){try{let o=JSON.stringify(t);window.localStorage.setItem(e,o)}catch(o){console.error("Error while setting storage:",o)}}function p(e){try{window.localStorage.removeItem(e)}catch(t){console.error("Error while removing from storage:",t)}}function b(){try{let e="__some_random_key_you_are_not_going_to_use__";return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch{return!1}}function V(e,t,o){let{initializeWithValue:i=!0}=o??{},r=t&&typeof t=="object",[d,n]=(0,s.useState)(t);(0,s.useEffect)(()=>{let a=S(e);a?n(r?l=>({...l,...a}):a):t&&i&&c(e,t)},[]);let u=(0,s.useCallback)(a=>{r?n(l=>{let m={...l,...a};return c(e,m),m}):(c(e,a),n(a))},[e,r]),g=(0,s.useCallback)((a,l)=>{r&&u({[a]:l})},[r,u]),f=(0,s.useCallback)(a=>{n(a??t),p(e)},[t,e]);return(0,s.useMemo)(()=>({state:d,setState:u,setField:g,resetState:f}),[f,g,u,d])}0&&(module.exports={useLocalStorage});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UseLocalStorageOptions, UseLocalStorageReturn, useLocalStorage } from './use-local-storage.cjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { UseLocalStorageOptions, UseLocalStorageReturn, useLocalStorage } from './use-local-storage.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as u,useEffect as _,useMemo as v,useState as w}from"react";function f(e,t){if(!p())return t??null;let r=localStorage.getItem(e);if(r!=="undefined"){if(r)try{return JSON.parse(r)}catch{return r??t??null}return t??null}}function i(e,t){try{let r=JSON.stringify(t);window.localStorage.setItem(e,r)}catch(r){console.error("Error while setting storage:",r)}}function m(e){try{window.localStorage.removeItem(e)}catch(t){console.error("Error while removing from storage:",t)}}function p(){try{let e="__some_random_key_you_are_not_going_to_use__";return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch{return!1}}function V(e,t,r){let{initializeWithValue:S=!0}=r??{},a=t&&typeof t=="object",[c,s]=w(t);_(()=>{let o=f(e);o?s(a?n=>({...n,...o}):o):t&&S&&i(e,t)},[]);let l=u(o=>{a?s(n=>{let g={...n,...o};return i(e,g),g}):(i(e,o),s(o))},[e,a]),T=u((o,n)=>{a&&l({[o]:n})},[a,l]),d=u(o=>{s(o??t),m(e)},[t,e]);return v(()=>({state:c,setState:l,setField:T,resetState:d}),[d,T,l,c])}export{V as useLocalStorage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var T=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var y=(e,t)=>{for(var o in t)T(e,o,{get:t[o],enumerable:!0})},h=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of v(t))!w.call(e,r)&&r!==o&&T(e,r,{get:()=>t[r],enumerable:!(i=_(t,r))||i.enumerable});return e};var x=e=>h(T({},"__esModule",{value:!0}),e);var z={};y(z,{useLocalStorage:()=>V});module.exports=x(z);var s=require("react");function S(e,t){if(!b())return t??null;let o=localStorage.getItem(e);if(o!=="undefined"){if(o)try{return JSON.parse(o)}catch{return o??t??null}return t??null}}function c(e,t){try{let o=JSON.stringify(t);window.localStorage.setItem(e,o)}catch(o){console.error("Error while setting storage:",o)}}function p(e){try{window.localStorage.removeItem(e)}catch(t){console.error("Error while removing from storage:",t)}}function b(){try{let e="__some_random_key_you_are_not_going_to_use__";return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch{return!1}}function V(e,t,o){let{initializeWithValue:i=!0}=o??{},r=t&&typeof t=="object",[d,n]=(0,s.useState)(t);(0,s.useEffect)(()=>{let a=S(e);a?n(r?l=>({...l,...a}):a):t&&i&&c(e,t)},[]);let u=(0,s.useCallback)(a=>{r?n(l=>{let m={...l,...a};return c(e,m),m}):(c(e,a),n(a))},[e,r]),g=(0,s.useCallback)((a,l)=>{r&&u({[a]:l})},[r,u]),f=(0,s.useCallback)(a=>{n(a??t),p(e)},[t,e]);return(0,s.useMemo)(()=>({state:d,setState:u,setField:g,resetState:f}),[f,g,u,d])}0&&(module.exports={useLocalStorage});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom hook to manage state with local storage.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} key - The key for the local storage.
|
|
5
|
+
* @param {T} initialState - The initial state value.
|
|
6
|
+
* @param {Object} [options] - Optional settings.
|
|
7
|
+
* @param {boolean} [options.initializeWithValue=true] - Whether to initialize the local storage with the initial state value.
|
|
8
|
+
*
|
|
9
|
+
* @returns {UseLocalStorageReturn<T>} - An object containing:
|
|
10
|
+
* - `state`: The current state.
|
|
11
|
+
* - `resetState`: A function to reset the state to the initial value and remove it from local storage.
|
|
12
|
+
* - `setState`: A function to update the state and save it to local storage.
|
|
13
|
+
* - `setField`: A function to update a specific field in the state and save it to local storage.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* const { state, resetState, setState, setField } = useLocalStorage('settings', initialState);
|
|
17
|
+
*
|
|
18
|
+
* return (
|
|
19
|
+
* <div>
|
|
20
|
+
* <p>State: {JSON.stringify(state)}</p>
|
|
21
|
+
* <button onClick={() => setState({name: 'John', age: 20})}>Set State</button>
|
|
22
|
+
* <button onClick={() => setField('name', 'John')}>Set Name</button>
|
|
23
|
+
* <button onClick={resetState}>Reset</button>
|
|
24
|
+
* </div>
|
|
25
|
+
* );
|
|
26
|
+
*/
|
|
27
|
+
type UseLocalStorageOptions = {
|
|
28
|
+
initializeWithValue?: boolean;
|
|
29
|
+
};
|
|
30
|
+
type UseLocalStorageReturn<T> = {
|
|
31
|
+
state: T;
|
|
32
|
+
resetState: (defaultState?: T) => void;
|
|
33
|
+
setState: (updateState: T | Partial<T>) => void;
|
|
34
|
+
setField: (name: keyof T, updateValue: T[keyof T]) => void;
|
|
35
|
+
};
|
|
36
|
+
declare function useLocalStorage<T>(key: string, initialState?: T, options?: UseLocalStorageOptions): UseLocalStorageReturn<T>;
|
|
37
|
+
|
|
38
|
+
export { type UseLocalStorageOptions, type UseLocalStorageReturn, useLocalStorage };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom hook to manage state with local storage.
|
|
3
|
+
*
|
|
4
|
+
* @param {string} key - The key for the local storage.
|
|
5
|
+
* @param {T} initialState - The initial state value.
|
|
6
|
+
* @param {Object} [options] - Optional settings.
|
|
7
|
+
* @param {boolean} [options.initializeWithValue=true] - Whether to initialize the local storage with the initial state value.
|
|
8
|
+
*
|
|
9
|
+
* @returns {UseLocalStorageReturn<T>} - An object containing:
|
|
10
|
+
* - `state`: The current state.
|
|
11
|
+
* - `resetState`: A function to reset the state to the initial value and remove it from local storage.
|
|
12
|
+
* - `setState`: A function to update the state and save it to local storage.
|
|
13
|
+
* - `setField`: A function to update a specific field in the state and save it to local storage.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* const { state, resetState, setState, setField } = useLocalStorage('settings', initialState);
|
|
17
|
+
*
|
|
18
|
+
* return (
|
|
19
|
+
* <div>
|
|
20
|
+
* <p>State: {JSON.stringify(state)}</p>
|
|
21
|
+
* <button onClick={() => setState({name: 'John', age: 20})}>Set State</button>
|
|
22
|
+
* <button onClick={() => setField('name', 'John')}>Set Name</button>
|
|
23
|
+
* <button onClick={resetState}>Reset</button>
|
|
24
|
+
* </div>
|
|
25
|
+
* );
|
|
26
|
+
*/
|
|
27
|
+
type UseLocalStorageOptions = {
|
|
28
|
+
initializeWithValue?: boolean;
|
|
29
|
+
};
|
|
30
|
+
type UseLocalStorageReturn<T> = {
|
|
31
|
+
state: T;
|
|
32
|
+
resetState: (defaultState?: T) => void;
|
|
33
|
+
setState: (updateState: T | Partial<T>) => void;
|
|
34
|
+
setField: (name: keyof T, updateValue: T[keyof T]) => void;
|
|
35
|
+
};
|
|
36
|
+
declare function useLocalStorage<T>(key: string, initialState?: T, options?: UseLocalStorageOptions): UseLocalStorageReturn<T>;
|
|
37
|
+
|
|
38
|
+
export { type UseLocalStorageOptions, type UseLocalStorageReturn, useLocalStorage };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as u,useEffect as _,useMemo as v,useState as w}from"react";function f(e,t){if(!p())return t??null;let r=localStorage.getItem(e);if(r!=="undefined"){if(r)try{return JSON.parse(r)}catch{return r??t??null}return t??null}}function i(e,t){try{let r=JSON.stringify(t);window.localStorage.setItem(e,r)}catch(r){console.error("Error while setting storage:",r)}}function m(e){try{window.localStorage.removeItem(e)}catch(t){console.error("Error while removing from storage:",t)}}function p(){try{let e="__some_random_key_you_are_not_going_to_use__";return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch{return!1}}function V(e,t,r){let{initializeWithValue:S=!0}=r??{},a=t&&typeof t=="object",[c,s]=w(t);_(()=>{let o=f(e);o?s(a?n=>({...n,...o}):o):t&&S&&i(e,t)},[]);let l=u(o=>{a?s(n=>{let g={...n,...o};return i(e,g),g}):(i(e,o),s(o))},[e,a]),T=u((o,n)=>{a&&l({[o]:n})},[a,l]),d=u(o=>{s(o??t),m(e)},[t,e]);return v(()=>({state:c,setState:l,setField:T,resetState:d}),[d,T,l,c])}export{V as useLocalStorage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var i=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var f=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},m=(e,t,n,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of p(t))!d.call(e,c)&&c!==n&&i(e,c,{get:()=>t[c],enumerable:!(l=h(t,c))||l.enumerable});return e};var A=e=>m(i({},"__esModule",{value:!0}),e);var v={};f(v,{updateSelectedItems:()=>u,useMultiSelect:()=>k});module.exports=A(v);var r=require("react");function k(e,t){let[n,l]=(0,r.useState)(t??[]),c=(0,r.useCallback)(o=>{l(S=>u(S,o))},[]),s=(0,r.useCallback)(()=>{l(o=>o.length===e.length?[]:e)},[e]),g=(0,r.useCallback)(()=>{l([])},[]),a=(0,r.useMemo)(()=>n.length===0?"unchecked":n.length===e.length?"checked":"indeterminate",[e.length,n.length]);return{values:n,status:a,setValues:l,onSelectAllItems:s,onDeSelectAllItems:g,onToggleSelectItem:c}}function u(e,t){return e.includes(t)?e.filter(n=>n!==t):[...e,t]}0&&(module.exports={updateSelectedItems,useMultiSelect});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as c,useMemo as a,useState as S}from"react";function d(e,n){let[t,r]=S(n??[]),o=c(l=>{r(g=>h(g,l))},[]),i=c(()=>{r(l=>l.length===e.length?[]:e)},[e]),u=c(()=>{r([])},[]),s=a(()=>t.length===0?"unchecked":t.length===e.length?"checked":"indeterminate",[e.length,t.length]);return{values:t,status:s,setValues:r,onSelectAllItems:i,onDeSelectAllItems:u,onToggleSelectItem:o}}function h(e,n){return e.includes(n)?e.filter(t=>t!==n):[...e,n]}export{h as updateSelectedItems,d as useMultiSelect};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var o=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var f=(e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:!0})},m=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of p(t))!d.call(e,c)&&c!==n&&o(e,c,{get:()=>t[c],enumerable:!(r=h(t,c))||r.enumerable});return e};var A=e=>m(o({},"__esModule",{value:!0}),e);var v={};f(v,{updateSelectedItems:()=>u,useMultiSelect:()=>k});module.exports=A(v);var l=require("react");function k(e,t){let[n,r]=(0,l.useState)(t??[]),c=(0,l.useCallback)(i=>{r(S=>u(S,i))},[]),s=(0,l.useCallback)(()=>{r(i=>i.length===e.length?[]:e)},[e]),g=(0,l.useCallback)(()=>{r([])},[]),a=(0,l.useMemo)(()=>n.length===0?"unchecked":n.length===e.length?"checked":"indeterminate",[e.length,n.length]);return{values:n,status:a,setValues:r,onSelectAllItems:s,onDeSelectAllItems:g,onToggleSelectItem:c}}function u(e,t){return e.includes(t)?e.filter(n=>n!==t):[...e,t]}0&&(module.exports={updateSelectedItems,useMultiSelect});
|