@jamsrui/button 0.0.17 → 0.0.19

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,6 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { GlobalConfigProps } from '@jamsrui/core';
2
+ import { WithGlobalConfig } from '@jamsrui/core';
3
3
  import { B as ButtonRoot } from './button-BmD5-D8o.mjs';
4
+ import { ButtonLoading } from './button-loading.mjs';
4
5
  import '@jamsrui/utils';
5
6
  import './styles.mjs';
6
7
 
@@ -10,7 +11,10 @@ declare const ButtonConfig: (props: Omit<Partial<ButtonConfig.Props>, "children"
10
11
  children: React.ReactNode;
11
12
  }) => react_jsx_runtime.JSX.Element;
12
13
  declare namespace ButtonConfig {
13
- interface Props extends ButtonRoot.Props, GlobalConfigProps<ButtonRoot.Props> {
14
+ interface Props extends WithGlobalConfig<ButtonRoot.Props> {
15
+ slots?: {
16
+ loading?: React.JSXElementConstructor<ButtonLoading.Props>;
17
+ };
14
18
  }
15
19
  }
16
20
 
@@ -1 +1 @@
1
- "use client";import{createConfigContext as o}from"@jamsrui/utils";const[n,e]=o({displayName:"ButtonConfigContext"});export{n as ButtonConfig,e as useButtonConfig};
1
+ "use client";import{createConfigContext as o}from"@jamsrui/utils";const[i,r]=o({displayName:"ButtonConfigContext"});export{i as ButtonConfig,r as useButtonConfig};
@@ -1 +1 @@
1
- "use client";import{jsx as o}from"react/jsx-runtime";import{useButtonContext as a}from"./button-context.mjs";import{LoadingSpinner as i}from"./spinner.mjs";const p=t=>{const{children:e=o(i,{})}=t,{isLoading:n}=a();return o("span",{className:n?"":"hidden",children:n?e:null})};export{p as ButtonLoading};
1
+ "use client";import{jsx as n}from"react/jsx-runtime";import{useButtonConfig as r}from"./button-config.mjs";import{useButtonContext as a}from"./button-context.mjs";import{LoadingSpinner as s}from"./spinner.mjs";const u=o=>{const{children:i=n(s,{})}=o,{isLoading:t}=a(),{slots:e}=r();return e?.loading?n(e.loading,{...o}):n("span",{className:t?"":"hidden",children:t?i:null})};export{u as ButtonLoading};
package/dist/button.mjs CHANGED
@@ -1 +1 @@
1
- "use client";import{jsx as f}from"react/jsx-runtime";import{useRenderElement as p}from"@jamsrui/hooks";import{mergeConfigProps as u}from"@jamsrui/utils";import{useButtonConfig as i}from"./button-config.mjs";import{buttonVariant as m}from"./styles.mjs";import{useButton as a}from"./use-button.mjs";import{ButtonContext as c}from"./button-context.mjs";const V=t=>{const n=i(),r=u(m.defaultVariants,n,t),o=a(r),{getButtonProps:e}=o,s=p("button",{props:[e({}),{children:t.children}]});return f(c,{value:o,children:s})};export{V as ButtonRoot};
1
+ "use client";import{jsx as f}from"react/jsx-runtime";import{useRenderElement as p}from"@jamsrui/hooks";import{mergeConfigProps as u}from"@jamsrui/utils";import{useButtonConfig as i}from"./button-config.mjs";import{ButtonContext as m}from"./button-context.mjs";import{buttonVariant as a}from"./styles.mjs";import{useButton as c}from"./use-button.mjs";const V=t=>{const n=i(),r=u(a.defaultVariants,n,t),o=c(r),{getButtonProps:e}=o,s=p("button",{props:[e({}),{children:t.children}]});return f(m,{value:o,children:s})};export{V as ButtonRoot};
package/dist/index.d.mts CHANGED
@@ -1,19 +1,17 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
1
2
  import { B as ButtonRoot } from './button-BmD5-D8o.mjs';
2
3
  import { ButtonConfig } from './button-config.mjs';
3
4
  export { useButtonConfig } from './button-config.mjs';
4
- export { ButtonContext } from './button-context.mjs';
5
+ export { ButtonContext, useButtonContext } from './button-context.mjs';
5
6
  import { ButtonLoading } from './button-loading.mjs';
6
7
  export { ButtonVariantProps, buttonVariant } from './styles.mjs';
7
- import 'react/jsx-runtime';
8
8
  import '@jamsrui/utils';
9
9
  import '@jamsrui/core';
10
10
  import 'react';
11
11
 
12
- interface Button {
13
- (props: ButtonRoot.Props): React.ReactNode;
14
- Loading: typeof ButtonLoading;
15
- }
16
- declare const Button: Button;
12
+ declare const Button: ((props: ButtonRoot.Props) => react_jsx_runtime.JSX.Element) & {
13
+ Loading: (props: ButtonLoading.Props) => react_jsx_runtime.JSX.Element;
14
+ };
17
15
  declare namespace Button {
18
16
  interface Props extends ButtonRoot.Props {
19
17
  }
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{ButtonRoot as o}from"./button.mjs";import{ButtonConfig as n,useButtonConfig as r}from"./button-config.mjs";import{ButtonContext as e}from"./button-context.mjs";import{ButtonLoading as t}from"./button-loading.mjs";import{buttonVariant as p}from"./styles.mjs";const m=Object.assign(o,{Loading:t});export{m as Button,n as ButtonConfig,e as ButtonContext,t as ButtonLoading,p as buttonVariant,r as useButtonConfig};
1
+ import{ButtonRoot as o}from"./button.mjs";import{ButtonConfig as n,useButtonConfig as r}from"./button-config.mjs";import{ButtonContext as e,useButtonContext as i}from"./button-context.mjs";import{ButtonLoading as t}from"./button-loading.mjs";import{buttonVariant as p}from"./styles.mjs";const x=Object.assign(o,{Loading:t});export{x as Button,n as ButtonConfig,e as ButtonContext,t as ButtonLoading,p as buttonVariant,r as useButtonConfig,i as useButtonContext};
package/dist/spinner.mjs CHANGED
@@ -1 +1 @@
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};
1
+ "use client";import{jsx as t,jsxs as i}from"react/jsx-runtime";const o=r=>{const{size:e=20}=r;return t("svg",{fill:"currentColor",height:e,viewBox:"0 0 24 24",width:e,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{allColors as i,allVariants as s,colorVariants as e,radiusBaseVariant as n,tv as o}from"@jamsrui/utils";const l=o({base:["button relative inline-flex py-2 px-4 rounded-full justify-center items-center gap-2 shrink-0","data-loading:cursor-progress","disabled:cursor-not-allowed disabled:opacity-70","focus-visible:outline-2 focus-visible:outline-primary focus-visible:outline-offset-2"],variants:{color:{default:"button--default",primary:"button--primary",secondary:"button--secondary",success:"button--success",warning:"button--warning",danger:"button--danger"},variant:{solid:"button--solid ring-1 ring-inset",bordered:"button--bordered border",light:"button--light",text:"button--text",flat:"button--flat"},isFullWidth:{true:"w-full"},size:{xs:"button--xs px-2 py-1 text-xs",sm:"button--sm min-w-16 gap-1 px-3 py-1.5 text-xs",md:"button--md min-w-20 gap-2 px-4 py-1.5 text-sm",lg:"button--lg min-w-30 gap-2 px-5 py-1.5 text-base"},radius:n,disableAnimation:{true:"",false:"transition-[scale] duration-300 data-pressed:scale-98"}},compoundVariants:[...s.flatMap(t=>i.map(a=>({variant:t,color:a,className:e[t][a]})))],defaultVariants:{variant:"solid",color:"default",size:"md",radius:"md",disableAnimation:!1,isFullWidth:!1}});export{l as buttonVariant};
1
+ import{allColors as i,allVariants as s,colorVariants as e,radiusBaseVariant as n,tv as o}from"@jamsrui/utils";const l=o({base:["button cursor-default relative inline-flex py-2 px-4 rounded-full justify-center items-center gap-2 shrink-0","disabled:cursor-not-allowed disabled:opacity-70","focus-visible:outline-2 focus-visible:outline-primary focus-visible:outline-offset-2"],variants:{color:{default:"button--default",primary:"button--primary",secondary:"button--secondary",success:"button--success",warning:"button--warning",danger:"button--danger"},variant:{solid:"button--solid ring-1 ring-inset",bordered:"button--bordered border",light:"button--light",text:"button--text",flat:"button--flat"},isFullWidth:{true:"w-full"},size:{xs:"button--xs px-2 py-1 text-xs",sm:"button--sm min-w-16 gap-1 px-3 py-1.5 text-xs",md:"button--md min-w-20 gap-2 px-4 py-1.5 text-sm",lg:"button--lg min-w-30 gap-2 px-5 py-1.5 text-base"},radius:n,disableAnimation:{true:"",false:"transition-[scale] duration-300 data-pressed:scale-98"}},compoundVariants:[...s.flatMap(t=>i.map(a=>({variant:t,color:a,className:e[t][a]})))],defaultVariants:{variant:"solid",color:"default",size:"md",radius:"md",disableAnimation:!1,isFullWidth:!1}});export{l as buttonVariant};
@@ -1 +1 @@
1
- import{useCallback as R,useMemo as g}from"react";import{useHover as v,useMergeRefs as x,usePress as y}from"@jamsrui/hooks";import{cn as V,dataAttr as o,mapPropsVariants as h}from"@jamsrui/utils";import{buttonVariant as u}from"./styles.mjs";const K=d=>{const[f,c]=h(d,u.variantKeys),{disabled:l=!1,isLoading:t=!1,className:s,ref:P,...r}=f,e=l||t,a=u(c),{isHovered:n,ref:b}=v({isDisabled:e}),{isPressed:i,ref:B}=y({isDisabled:e}),p=x([P,b,B]),m=R(()=>({...r,ref:p,disabled:e,className:V(a,s),"data-loading":o(t),"data-pressed":o(i),"data-hover":o(n)}),[s,e,n,t,i,p,r,a]);return g(()=>({getButtonProps:m,isLoading:t}),[m,t])};export{K as useButton};
1
+ "use client";import{useCallback as R,useMemo as g}from"react";import{useHover as v,useMergeRefs as x,usePress as y}from"@jamsrui/hooks";import{cn as V,dataAttr as o,mapPropsVariants as h}from"@jamsrui/utils";import{buttonVariant as m}from"./styles.mjs";const K=d=>{const[f,c]=h(d,m.variantKeys),{disabled:l=!1,isLoading:e=!1,className:s,ref:P,...r}=f,t=l||e,a=m(c),{isHovered:n,ref:b}=v({isDisabled:t}),{isPressed:i,ref:B}=y({isDisabled:t}),p=x([P,b,B]),u=R(()=>({...r,ref:p,disabled:t,className:V(a,s),"data-loading":o(e),"data-pressed":o(i),"data-hover":o(n)}),[s,t,n,e,i,p,r,a]);return g(()=>({getButtonProps:u,isLoading:e}),[u,e])};export{K as useButton};
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@jamsrui/button",
3
- "version": "0.0.17",
3
+ "version": "0.0.19",
4
4
  "peerDependencies": {
5
5
  "react": ">=19",
6
6
  "react-dom": ">=19"
7
7
  },
8
8
  "dependencies": {
9
- "@jamsrui/hooks": "^0.0.15",
10
- "@jamsrui/core": "^0.0.13",
11
- "@jamsrui/utils": "^0.0.15"
9
+ "@jamsrui/utils": "^0.0.17",
10
+ "@jamsrui/core": "^0.0.14",
11
+ "@jamsrui/hooks": "^0.0.17"
12
12
  },
13
13
  "exports": {
14
14
  ".": {