@jamsrui/icon-button 0.0.13 → 0.0.15
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/dist/icon-button-config.mjs +1 -1
- package/dist/icon-button-context.mjs +1 -1
- package/dist/icon-button-label.mjs +1 -1
- package/dist/icon-button-loading.mjs +1 -1
- package/dist/icon-button-root.mjs +1 -1
- package/dist/icon-button.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/spinner.mjs +1 -1
- package/dist/styles.mjs +1 -1
- package/dist/use-icon-button.mjs +1 -1
- package/package.json +4 -4
- package/dist/chunk-3VT7MADY.mjs +0 -1
- package/dist/chunk-642ZKQLN.mjs +0 -1
- package/dist/chunk-AM5OBLNV.mjs +0 -1
- package/dist/chunk-C2NDYKQV.mjs +0 -1
- package/dist/chunk-DR6VZTQI.mjs +0 -1
- package/dist/chunk-FAPKIOXX.mjs +0 -1
- package/dist/chunk-NOUFGOWI.mjs +0 -1
- package/dist/chunk-O6GV3TA3.mjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{
|
|
1
|
+
"use client";import{createConfigContext as o}from"@jamsrui/utils";const[n,e]=o({displayName:"IconButtonConfig"});export{n as IconButtonConfig,e as useIconButtonConfig};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{
|
|
1
|
+
"use client";import{createContext as o,use as n}from"react";const e=o(null),s=()=>{const t=n(e);if(!t)throw new Error("useIconButtonContext must be used within a IconButtonContext");return t};export{e as IconButtonContext,s as useIconButtonContext};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{useIconButtonContext as n}from"./icon-button-context.mjs";const s=()=>{const{getLabelProps:o,label:t}=n();return e("span",{...o({}),children:t})};export{s as IconButtonLabel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{
|
|
1
|
+
"use client";import{jsx as o}from"react/jsx-runtime";import{useIconButtonContext as c}from"./icon-button-context.mjs";import{LoadingSpinner as a}from"./spinner.mjs";const s=t=>{const{children:e=o(a,{})}=t,{isLoading:n}=c();return o("span",{className:n?"":"hidden",children:n?e:null})};export{s as IconButtonLoading};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Fragment as c,jsx as o,jsxs as d}from"react/jsx-runtime";import{useRenderElement as p}from"@jamsrui/hooks";import{useIconButtonContext as i}from"./icon-button-context.mjs";import{IconButtonLabel as m}from"./icon-button-label.mjs";import{LoadingSpinner as s}from"./spinner.mjs";const x=t=>{const{getButtonProps:n,loadingIcon:r=o(s,{}),isLoading:e}=i();return p("button",{props:[n(),{children:d(c,{children:[o(m,{}),e?r:t.children]})}]})};export{x as IconButtonRoot};
|
package/dist/icon-button.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{
|
|
1
|
+
"use client";import{jsx as t}from"react/jsx-runtime";import{IconButtonContext as e}from"./icon-button-context.mjs";import{IconButtonRoot as r}from"./icon-button-root.mjs";import{useIconButton as u}from"./use-icon-button.mjs";const p=o=>{const{children:n}=o,c=u(o);return t(e,{value:c,children:t(r,{children:n})})};export{p as IconButton};
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{IconButton as t}from"./icon-button.mjs";import{IconButtonConfig as r,useIconButtonConfig as u}from"./icon-button-config.mjs";export{t as IconButton,r as IconButtonConfig,u as useIconButtonConfig};
|
package/dist/spinner.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as t,jsxs as i}from"react/jsx-runtime";const o=e=>{const{size:r=20}=e;return t("svg",{fill:"currentColor",height:r,viewBox:"0 0 24 24",width:r,xmlns:"http://www.w3.org/2000/svg",children:i("g",{children:[t("rect",{height:5,opacity:".14",width:2,x:11,y:1}),t("rect",{height:5,opacity:".29",transform:"rotate(30 12 12)",width:2,x:11,y:1}),t("rect",{height:5,opacity:".43",transform:"rotate(60 12 12)",width:2,x:11,y:1}),t("rect",{height:5,opacity:".57",transform:"rotate(90 12 12)",width:2,x:11,y:1}),t("rect",{height:5,opacity:".71",transform:"rotate(120 12 12)",width:2,x:11,y:1}),t("rect",{height:5,opacity:".86",transform:"rotate(150 12 12)",width:2,x:11,y:1}),t("rect",{height:5,transform:"rotate(180 12 12)",width:2,x:11,y:1}),t("animateTransform",{attributeName:"transform",calcMode:"discrete",dur:"0.75s",repeatCount:"indefinite",type:"rotate",values:"0 12 12;30 12 12;60 12 12;90 12 12;120 12 12;150 12 12;180 12 12;210 12 12;240 12 12;270 12 12;300 12 12;330 12 12;360 12 12"})]})})};export{o as LoadingSpinner};
|
package/dist/styles.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{allColors as r,allVariants as i,colorVariants as n,radiusBaseVariant as e,tv as o}from"@jamsrui/utils";const d=o({base:["icon-button","z-0","cursor-default","shrink-0","group","relative","inline-flex","items-center","justify-center","box-border","appearance-none","outline-none","select-none","whitespace-nowrap","min-w-max","font-medium","tap-highlight-transparent","transition-transform duration-300","focus-visible:ring-2 focus-visible:ring-primary","data-disabled:cursor-not-allowed data-disabled:opacity-60","text-transform-inherit"],variants:{color:{default:"",primary:"",secondary:"",success:"",warning:"",danger:""},variant:{solid:"",bordered:"border bg-transparent",light:"",text:"",flat:""},size:{sm:"size-6 rounded",md:"size-8 min-w-8 rounded-lg",lg:"size-10 min-w-10 rounded-xl"},disableAnimation:{true:"transition-none!",false:"data-pressed:scale-98"},radius:e},compoundVariants:[...i.flatMap(a=>r.map(t=>({variant:a,color:t,className:n[a][t]})))],defaultVariants:{variant:"solid",color:"default",size:"md",radius:"md",disableAnimation:!1}});export{d as iconButtonVariants};
|
package/dist/use-icon-button.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{useCallback as P,useId as V,useMemo as h}from"react";import{useHover as C,useMergeRefs as L,usePress as N}from"@jamsrui/hooks";import{cn as A,dataAttr as e,dataAttrDev as D,mapPropsVariants as G}from"@jamsrui/utils";import{iconButtonVariants as b}from"./styles.mjs";const $=I=>{const[g,B]=G(I,b.variantKeys),{type:r="button",label:a,isLoading:t=!1,disabled:y=!1,className:n,ref:R,loadingIcon:i,...p}=g,c=b(B),s=V(),o=t||y,{isHovered:d,ref:v}=C({isDisabled:o}),{isPressed:l,ref:x}=N({isDisabled:o}),m=L([R,v,x]),u=P(()=>({...p,ref:m,"data-component":D("icon-button"),className:A(c,n),"aria-labelledby":s,type:r,disabled:o,"data-disabled":e(o),"aria-disabled":e(o),"data-loading":e(t),"data-pressed":e(l),"data-hover":e(d)}),[n,s,o,d,t,l,m,p,c,r]),f=P(()=>({"aria-hidden":!0,id:s,className:"sr-only"}),[s]);return h(()=>({getButtonProps:u,getLabelProps:f,isLoading:t,isDisabled:o,label:a,loadingIcon:i}),[u,f,o,t,a,i])};export{$ as useIconButton};
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jamsrui/icon-button",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.15",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"react": ">=19"
|
|
6
6
|
},
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@jamsrui/hooks": "^0.0.
|
|
9
|
-
"@jamsrui/
|
|
10
|
-
"@jamsrui/
|
|
8
|
+
"@jamsrui/hooks": "^0.0.15",
|
|
9
|
+
"@jamsrui/utils": "^0.0.15",
|
|
10
|
+
"@jamsrui/core": "^0.0.13"
|
|
11
11
|
},
|
|
12
12
|
"exports": {
|
|
13
13
|
".": {
|
package/dist/chunk-3VT7MADY.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{createConfigContext as o}from"@jamsrui/utils";var[n,e]=o({displayName:"IconButtonConfig"});export{n as a,e as b};
|
package/dist/chunk-642ZKQLN.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as t,jsxs as i}from"react/jsx-runtime";var o=e=>{let{size:r=20}=e;return t("svg",{fill:"currentColor",height:r,viewBox:"0 0 24 24",width:r,xmlns:"http://www.w3.org/2000/svg",children:i("g",{children:[t("rect",{height:5,opacity:".14",width:2,x:11,y:1}),t("rect",{height:5,opacity:".29",transform:"rotate(30 12 12)",width:2,x:11,y:1}),t("rect",{height:5,opacity:".43",transform:"rotate(60 12 12)",width:2,x:11,y:1}),t("rect",{height:5,opacity:".57",transform:"rotate(90 12 12)",width:2,x:11,y:1}),t("rect",{height:5,opacity:".71",transform:"rotate(120 12 12)",width:2,x:11,y:1}),t("rect",{height:5,opacity:".86",transform:"rotate(150 12 12)",width:2,x:11,y:1}),t("rect",{height:5,transform:"rotate(180 12 12)",width:2,x:11,y:1}),t("animateTransform",{attributeName:"transform",calcMode:"discrete",dur:"0.75s",repeatCount:"indefinite",type:"rotate",values:"0 12 12;30 12 12;60 12 12;90 12 12;120 12 12;150 12 12;180 12 12;210 12 12;240 12 12;270 12 12;300 12 12;330 12 12;360 12 12"})]})})};export{o as a};
|
package/dist/chunk-AM5OBLNV.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as c}from"./chunk-NOUFGOWI.mjs";import{a as n}from"./chunk-O6GV3TA3.mjs";import{a as t}from"./chunk-DR6VZTQI.mjs";import{jsx as e}from"react/jsx-runtime";var p=o=>{let{children:r}=o,u=c(o);return e(t,{value:u,children:e(n,{children:r})})};export{p as a};
|
package/dist/chunk-C2NDYKQV.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as o}from"./chunk-DR6VZTQI.mjs";import{jsx as e}from"react/jsx-runtime";var s=()=>{let{getLabelProps:t,label:n}=o();return e("span",{...t({}),children:n})};export{s as a};
|
package/dist/chunk-DR6VZTQI.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{createContext as o,use as n}from"react";var e=o(null),r=()=>{let t=n(e);if(!t)throw new Error("useIconButtonContext must be used within a IconButtonContext");return t};export{e as a,r as b};
|
package/dist/chunk-FAPKIOXX.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{allColors as r,allVariants as i,colorVariants as n,radiusBaseVariant as e,tv as o}from"@jamsrui/utils";var d=o({base:["icon-button","z-0","cursor-default","shrink-0","group","relative","inline-flex","items-center","justify-center","box-border","appearance-none","outline-none","select-none","whitespace-nowrap","min-w-max","font-medium","tap-highlight-transparent","transition-transform duration-300","focus-visible:ring-2 focus-visible:ring-primary","data-disabled:cursor-not-allowed data-disabled:opacity-60","text-transform-inherit"],variants:{color:{default:"",primary:"",secondary:"",success:"",warning:"",danger:""},variant:{solid:"",bordered:"border bg-transparent",light:"",text:"",flat:""},size:{sm:"size-6 rounded",md:"size-8 min-w-8 rounded-lg",lg:"size-10 min-w-10 rounded-xl"},disableAnimation:{true:"transition-none!",false:"data-pressed:scale-98"},radius:e},compoundVariants:[...i.flatMap(a=>r.map(t=>({variant:a,color:t,className:n[a][t]})))],defaultVariants:{variant:"solid",color:"default",size:"md",radius:"md",disableAnimation:!1}});export{d as a};
|
package/dist/chunk-NOUFGOWI.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as r}from"./chunk-FAPKIOXX.mjs";import{useCallback as b,useId as V,useMemo as h}from"react";import{useHover as C,useMergeRefs as L,usePress as N}from"@jamsrui/hooks";import{cn as A,dataAttr as e,dataAttrDev as D,mapPropsVariants as G}from"@jamsrui/utils";var E=I=>{let[g,B]=G(I,r.variantKeys),{type:a="button",label:n,isLoading:t=!1,disabled:y=!1,className:i,ref:R,loadingIcon:p,...c}=g,d=r(B),s=V(),o=t||y,{isHovered:l,ref:v}=C({isDisabled:o}),{isPressed:m,ref:x}=N({isDisabled:o}),u=L([R,v,x]),f=b(()=>({...c,ref:u,"data-component":D("icon-button"),className:A(d,i),"aria-labelledby":s,type:a,disabled:o,"data-disabled":e(o),"aria-disabled":e(o),"data-loading":e(t),"data-pressed":e(m),"data-hover":e(l)}),[i,s,o,l,t,m,u,c,d,a]),P=b(()=>({"aria-hidden":!0,id:s,className:"sr-only"}),[s]);return h(()=>({getButtonProps:f,getLabelProps:P,isLoading:t,isDisabled:o,label:n,loadingIcon:p}),[f,P,o,t,n,p])};export{E as a};
|
package/dist/chunk-O6GV3TA3.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as t}from"./chunk-C2NDYKQV.mjs";import{b as o}from"./chunk-DR6VZTQI.mjs";import{a as n}from"./chunk-642ZKQLN.mjs";import{useRenderElement as s}from"@jamsrui/hooks";import{Fragment as c,jsx as r,jsxs as d}from"react/jsx-runtime";var h=e=>{let{getButtonProps:p,loadingIcon:i=r(n,{}),isLoading:m}=o();return s("button",{props:[p(),{children:d(c,{children:[r(t,{}),m?i:e.children]})}]})};export{h as a};
|