@jamsrui/clipboard 0.0.12 → 0.0.14

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.
@@ -1 +1 @@
1
- import{a}from"./chunk-4IIX4CUZ.mjs";import"./chunk-XUX7KG6K.mjs";export{a as ClipboardButton};
1
+ import{jsx as t}from"react/jsx-runtime";import{useRenderElement as u}from"@jamsrui/hooks";import{CheckIcon as d,CopyIcon as m}from"@jamsrui/icons";import{useClipboardContext as c}from"./clipboard-context.mjs";const b=r=>{const{getButtonProps:e,hideCopyButton:n,isCopied:p,getIconProps:o}=c(),s=p?t(d,{...o({})}):t(m,{...o({})}),i=u("button",{props:[e(r),{children:s}]});return n?null:i};export{b as ClipboardButton};
@@ -1 +1 @@
1
- import{a,b}from"./chunk-DUMA3HP6.mjs";export{a as ClipboardConfig,b as useClipboardConfig};
1
+ import{createConfigContext as o}from"@jamsrui/utils";const[p,i]=o({displayName:"ClipboardConfig"});export{p as ClipboardConfig,i as useClipboardConfig};
@@ -1 +1 @@
1
- import{a,b}from"./chunk-XUX7KG6K.mjs";export{a as ClipboardContext,b as useClipboardContext};
1
+ import{createContext as e,use as o}from"react";const r=e(null),n=()=>{const t=o(r);if(!t)throw new Error("useClipboardContext must be with with a ClipboardContext");return t};export{r as ClipboardContext,n as useClipboardContext};
@@ -1 +1 @@
1
- import{a}from"./chunk-CFC5ZATK.mjs";import"./chunk-4IIX4CUZ.mjs";import"./chunk-DUMA3HP6.mjs";import"./chunk-XUX7KG6K.mjs";import"./chunk-YOZTTHNF.mjs";import"./chunk-G75FKEIV.mjs";import"./chunk-DUSTTWAR.mjs";export{a as Clipboard};
1
+ import{Fragment as f,jsx as t,jsxs as g}from"react/jsx-runtime";import{useRenderElement as l}from"@jamsrui/hooks";import{mergeConfigProps as m}from"@jamsrui/utils";import{ClipboardButton as c}from"./clipboard-button.mjs";import{useClipboardConfig as C}from"./clipboard-config.mjs";import{ClipboardContext as a}from"./clipboard-context.mjs";import{useClipboard as b}from"./use-clipboard.mjs";const v=o=>{const r=C(),p=m(r,r,o),e=b(p),{getRootProps:n}=e,{children:i}=o,s=g(f,{children:[i,t(c,{})]}),d=l("label",{props:[n(),{children:s}]});return t(a,{value:e,children:d})};export{v as Clipboard};
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- "use client";import{a as i}from"./chunk-CFC5ZATK.mjs";import"./chunk-4IIX4CUZ.mjs";import{a as o,b as r}from"./chunk-DUMA3HP6.mjs";import"./chunk-XUX7KG6K.mjs";import"./chunk-YOZTTHNF.mjs";import"./chunk-G75FKEIV.mjs";import"./chunk-DUSTTWAR.mjs";export{i as Clipboard,o as ClipboardConfig,r as useClipboardConfig};
1
+ "use client";import{Clipboard as i}from"./clipboard.mjs";import{ClipboardConfig as p,useClipboardConfig as C}from"./clipboard-config.mjs";export{i as Clipboard,p as ClipboardConfig,C as useClipboardConfig};
package/dist/styles.mjs CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-G75FKEIV.mjs";export{a as copyToClipboardVariants};
1
+ import{tv as o}from"@jamsrui/utils";const t=o({slots:{root:"relative z-1 inline-flex cursor-copy items-center gap-0.5 hover:opacity-80",button:"cursor-copy aria-hidden:hidden",icon:"size-4"}});export{t as copyToClipboardVariants};
@@ -1 +1 @@
1
- import{a}from"./chunk-YOZTTHNF.mjs";import"./chunk-G75FKEIV.mjs";import"./chunk-DUSTTWAR.mjs";export{a as useClipboard};
1
+ import{useCallback as r,useMemo as x}from"react";import{cn as p,dataAttrDev as n,mergeProps as d}from"@jamsrui/utils";import{copyToClipboardVariants as B}from"./styles.mjs";import{useCopyToClipboard as I}from"./use-copy-to-clipboard.mjs";const h=a=>{const{classNames:o,slotProps:t,hideCopyButton:l,text:P,message:y,onCopySuccess:N,onCopyError:f,ctx:g,timeout:T,...c}=a,{isCopied:m,onCopy:i}=I({text:P,onCopyError:f,onCopySuccess:N,ctx:g,message:y,timeout:T}),s=B(),u=r(()=>({...c,onClick:i,"data-slot":n("root"),"data-component":n("clipboard"),className:s.root({className:p(o?.root,a.classNames)})}),[o?.root,c,i,a.classNames,s]),C=r(e=>({...d(t?.button,e),"data-slot":"button",className:s.button({className:p(t?.button?.className,o?.button,e.className)})}),[o?.button,t?.button,s]),b=r(e=>({...d(t?.icon,e),"data-slot":n("icon"),className:s.icon({className:p(t?.icon?.className,o?.icon,e.className)})}),[o?.icon,t?.icon,s]);return x(()=>({getRootProps:u,getButtonProps:C,getIconProps:b,hideCopyButton:l,isCopied:m}),[C,b,u,l,m])};export{h as useClipboard};
@@ -1 +1 @@
1
- import{a}from"./chunk-DUSTTWAR.mjs";export{a as useCopyToClipboard};
1
+ import{useRef as x,useState as m}from"react";const g=n=>{const[s,t]=m(!1),{text:e,onCopyError:c,onCopySuccess:i,ctx:u,message:p,timeout:a=1e3}=n,o=x(null),r={message:p,ctx:u,text:e};return{isCopied:s,onCopy:async()=>{try{await navigator.clipboard.writeText(e),t(!0),i?.(r),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{t(!1)},a)}catch(C){console.log(" err:->",C),c?.(r)}}}};export{g as useCopyToClipboard};
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@jamsrui/clipboard",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "peerDependencies": {
5
5
  "react": ">=19"
6
6
  },
7
7
  "dependencies": {
8
- "@jamsrui/utils": "^0.0.12",
9
- "@jamsrui/icons": "^0.0.10",
10
- "@jamsrui/core": "^0.0.10",
11
- "@jamsrui/hooks": "^0.0.12"
8
+ "@jamsrui/hooks": "^0.0.14",
9
+ "@jamsrui/core": "^0.0.12",
10
+ "@jamsrui/icons": "^0.0.12",
11
+ "@jamsrui/utils": "^0.0.14"
12
12
  },
13
13
  "exports": {
14
14
  ".": {
@@ -1 +0,0 @@
1
- import{b as t}from"./chunk-XUX7KG6K.mjs";import{useRenderElement as d}from"@jamsrui/hooks";import{CheckIcon as m,CopyIcon as c}from"@jamsrui/icons";import{jsx as r}from"react/jsx-runtime";var b=e=>{let{getButtonProps:n,hideCopyButton:p,isCopied:s,getIconProps:o}=t(),i=s?r(m,{...o({})}):r(c,{...o({})}),u=d("button",{props:[n(e),{children:i}]});return p?null:u};export{b as a};
@@ -1 +0,0 @@
1
- import{a as p}from"./chunk-4IIX4CUZ.mjs";import{b as n}from"./chunk-DUMA3HP6.mjs";import{a as t}from"./chunk-XUX7KG6K.mjs";import{a as i}from"./chunk-YOZTTHNF.mjs";import{useRenderElement as a}from"@jamsrui/hooks";import{mergeConfigProps as b}from"@jamsrui/utils";import{Fragment as f,jsx as s,jsxs as g}from"react/jsx-runtime";var v=o=>{let r=n(),d=b(r,r,o),e=i(d),{getRootProps:l}=e,{children:m}=o,c=g(f,{children:[m,s(p,{})]}),C=a("label",{props:[l(),{children:c}]});return s(t,{value:e,children:C})};export{v as a};
@@ -1 +0,0 @@
1
- import{createConfigContext as o}from"@jamsrui/utils";var[p,i]=o({displayName:"ClipboardConfig"});export{p as a,i as b};
@@ -1 +0,0 @@
1
- import{useRef as x,useState as m}from"react";var g=n=>{let[s,t]=m(!1),{text:e,onCopyError:c,onCopySuccess:i,ctx:u,message:p,timeout:a=1e3}=n,o=x(null),r={message:p,ctx:u,text:e};return{isCopied:s,onCopy:async()=>{try{await navigator.clipboard.writeText(e),t(!0),i?.(r),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{t(!1)},a)}catch(C){console.log(" err:->",C),c?.(r)}}}};export{g as a};
@@ -1 +0,0 @@
1
- import{tv as o}from"@jamsrui/utils";var t=o({slots:{root:"relative z-1 inline-flex cursor-copy items-center gap-0.5 hover:opacity-80",button:"cursor-copy aria-hidden:hidden",icon:"size-4"}});export{t as a};
@@ -1 +0,0 @@
1
- import{createContext as e,use as o}from"react";var r=e(null),n=()=>{let t=o(r);if(!t)throw new Error("useClipboardContext must be with with a ClipboardContext");return t};export{r as a,n as b};
@@ -1 +0,0 @@
1
- import{a as d}from"./chunk-G75FKEIV.mjs";import{a as P}from"./chunk-DUSTTWAR.mjs";import{useCallback as r,useMemo as I}from"react";import{cn as p,dataAttrDev as n,mergeProps as y}from"@jamsrui/utils";var h=a=>{let{classNames:o,slotProps:t,hideCopyButton:l,text:N,message:f,onCopySuccess:g,onCopyError:T,ctx:x,timeout:B,...c}=a,{isCopied:m,onCopy:i}=P({text:N,onCopyError:T,onCopySuccess:g,ctx:x,message:f,timeout:B}),s=d(),u=r(()=>({...c,onClick:i,"data-slot":n("root"),"data-component":n("clipboard"),className:s.root({className:p(o?.root,a.classNames)})}),[o?.root,c,i,a.classNames,s]),C=r(e=>({...y(t?.button,e),"data-slot":"button",className:s.button({className:p(t?.button?.className,o?.button,e.className)})}),[o?.button,t?.button,s]),b=r(e=>({...y(t?.icon,e),"data-slot":n("icon"),className:s.icon({className:p(t?.icon?.className,o?.icon,e.className)})}),[o?.icon,t?.icon,s]);return I(()=>({getRootProps:u,getButtonProps:C,getIconProps:b,hideCopyButton:l,isCopied:m}),[C,b,u,l,m])};export{h as a};