@spark-ui/button 2.4.2 → 3.0.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/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.0.0](https://github.com/adevinta/spark/compare/@spark-ui/button@2.4.3...@spark-ui/button@3.0.0) (2024-04-04)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **button:** doc ([fc77cc3](https://github.com/adevinta/spark/commit/fc77cc38489cf4cbb4531a0d0f85c14fe8283d40))
11
+
12
+ ### Features
13
+
14
+ - **button:** remove the isLoading spinner placement fixing it as a trailing icon of the loadingText ([68e8e1d](https://github.com/adevinta/spark/commit/68e8e1df44bbdc11d7b6d0ffb00c45b269f903f2)), closes [#1957](https://github.com/adevinta/spark/issues/1957)
15
+
16
+ ### BREAKING CHANGES
17
+
18
+ - **button:** removes the spinner placement prop of the button not allowing to set it as a
19
+ leading icon when loading state is abled
20
+
21
+ ## [2.4.3](https://github.com/adevinta/spark/compare/@spark-ui/button@2.4.2...@spark-ui/button@2.4.3) (2024-03-15)
22
+
23
+ **Note:** Version bump only for package @spark-ui/button
24
+
6
25
  ## [2.4.2](https://github.com/adevinta/spark/compare/@spark-ui/button@2.4.1...@spark-ui/button@2.4.2) (2024-03-06)
7
26
 
8
27
  ### Bug Fixes
package/dist/Button.d.ts CHANGED
@@ -18,9 +18,5 @@ export interface ButtonProps extends Omit<ComponentPropsWithoutRef<'button'>, 'd
18
18
  * **Please note that using this can result in layout shifting when the Button goes from loading state to normal state.**
19
19
  */
20
20
  loadingText?: string;
21
- /**
22
- * Placement for the spinner.
23
- */
24
- spinnerPlacement?: 'left' | 'right';
25
21
  }
26
22
  export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("@spark-ui/slot"),u=require("@spark-ui/spinner"),f=require("class-variance-authority"),t=require("react"),e=require("@spark-ui/internal-utils"),S=[{intent:"main",design:"filled",class:e.tw(["bg-main","text-on-main","hover:bg-main-hovered","enabled:active:bg-main-pressed","focus-visible:bg-main-focused"])},{intent:"support",design:"filled",class:e.tw(["bg-support","text-on-support","hover:bg-support-hovered","enabled:active:bg-support-pressed","focus-visible:bg-support-focused"])},{intent:"accent",design:"filled",class:e.tw(["bg-accent","text-on-accent","hover:bg-accent-hovered","enabled:active:bg-accent-pressed","focus-visible:bg-accent-focused"])},{intent:"basic",design:"filled",class:e.tw(["bg-basic","text-on-basic","hover:bg-basic-hovered","enabled:active:bg-basic-pressed","focus-visible:bg-basic-focused"])},{intent:"success",design:"filled",class:e.tw(["bg-success","text-on-success","hover:bg-success-hovered","enabled:active:bg-success-pressed","focus-visible:bg-success-focused"])},{intent:"alert",design:"filled",class:e.tw(["bg-alert","text-on-alert","hover:bg-alert-hovered","enabled:active:bg-alert-pressed","focus-visible:bg-alert-focused"])},{intent:"danger",design:"filled",class:e.tw(["text-on-error bg-error","hover:bg-error-hovered enabled:active:bg-error-pressed","focus-visible:bg-error-focused"])},{intent:"info",design:"filled",class:e.tw(["text-on-error bg-info","hover:bg-info-hovered enabled:active:bg-info-pressed","focus-visible:bg-info-focused"])},{intent:"neutral",design:"filled",class:e.tw(["bg-neutral","text-on-neutral","hover:bg-neutral-hovered","enabled:active:bg-neutral-pressed","focus-visible:bg-neutral-focused"])},{intent:"surface",design:"filled",class:e.tw(["bg-surface","text-on-surface","hover:bg-surface-hovered","enabled:active:bg-surface-pressed","focus-visible:bg-surface-focused"])}],q=[{intent:"main",design:"ghost",class:e.tw(["text-main","hover:bg-main/dim-5","enabled:active:bg-main/dim-5","focus-visible:bg-main/dim-5"])},{intent:"support",design:"ghost",class:e.tw(["text-support","hover:bg-support/dim-5","enabled:active:bg-support/dim-5","focus-visible:bg-support/dim-5"])},{intent:"accent",design:"ghost",class:e.tw(["text-accent","hover:bg-accent/dim-5","enabled:active:bg-accent/dim-5","focus-visible:bg-accent/dim-5"])},{intent:"basic",design:"ghost",class:e.tw(["text-basic","hover:bg-basic/dim-5","enabled:active:bg-basic/dim-5","focus-visible:bg-basic/dim-5"])},{intent:"success",design:"ghost",class:e.tw(["text-success","hover:bg-success/dim-5","enabled:active:bg-success/dim-5","focus-visible:bg-success/dim-5"])},{intent:"alert",design:"ghost",class:e.tw(["text-alert","hover:bg-alert/dim-5","enabled:active:bg-alert/dim-5","focus-visible:bg-alert/dim-5"])},{intent:"danger",design:"ghost",class:e.tw(["text-error","hover:bg-error/dim-5","enabled:active:bg-error/dim-5","focus-visible:bg-error/dim-5"])},{intent:"info",design:"ghost",class:e.tw(["text-info","hover:bg-info/dim-5","enabled:active:bg-info/dim-5","focus-visible:bg-info/dim-5"])},{intent:"neutral",design:"ghost",class:e.tw(["text-neutral","hover:bg-neutral/dim-5","enabled:active:bg-neutral/dim-5","focus-visible:bg-neutral/dim-5"])},{intent:"surface",design:"ghost",class:e.tw(["text-surface","hover:bg-surface/dim-5","enabled:active:bg-surface/dim-5","focus-visible:bg-surface/dim-5"])}],N=[{intent:"main",design:"outlined",class:e.tw(["hover:bg-main/dim-5","enabled:active:bg-main/dim-5","focus-visible:bg-main/dim-5","text-main"])},{intent:"support",design:"outlined",class:e.tw(["hover:bg-support/dim-5","enabled:active:bg-support/dim-5","focus-visible:bg-support/dim-5","text-support"])},{intent:"accent",design:"outlined",class:e.tw(["hover:bg-accent/dim-5","enabled:active:bg-accent/dim-5","focus-visible:bg-accent/dim-5","text-accent"])},{intent:"basic",design:"outlined",class:e.tw(["hover:bg-basic/dim-5","enabled:active:bg-basic/dim-5","focus-visible:bg-basic/dim-5","text-basic"])},{intent:"success",design:"outlined",class:e.tw(["hover:bg-success/dim-5","enabled:active:bg-success/dim-5","focus-visible:bg-success/dim-5","text-success"])},{intent:"alert",design:"outlined",class:e.tw(["hover:bg-alert/dim-5","enabled:active:bg-alert/dim-5","focus-visible:bg-alert/dim-5","text-alert"])},{intent:"danger",design:"outlined",class:e.tw(["hover:bg-error/dim-5","enabled:active:bg-error/dim-5","focus-visible:bg-error/dim-5","text-error"])},{intent:"info",design:"outlined",class:e.tw(["hover:bg-info/dim-5","enabled:active:bg-info/dim-5","focus-visible:bg-info/dim-5","text-info"])},{intent:"neutral",design:"outlined",class:e.tw(["hover:bg-neutral/dim-5","enabled:active:bg-neutral/dim-5","focus-visible:bg-neutral/dim-5","text-neutral"])},{intent:"surface",design:"outlined",class:e.tw(["hover:bg-surface/dim-5","enabled:active:bg-surface/dim-5","focus-visible:bg-surface/dim-5","text-surface"])}],V=[{intent:"main",design:"tinted",class:e.tw(["bg-main-container","text-on-main-container","hover:bg-main-container-hovered","enabled:active:bg-main-container-pressed","focus-visible:bg-main-container-focused"])},{intent:"support",design:"tinted",class:e.tw(["bg-support-container","text-on-support-container","hover:bg-support-container-hovered","enabled:active:bg-support-container-pressed","focus-visible:bg-support-container-focused"])},{intent:"accent",design:"tinted",class:e.tw(["bg-accent-container","text-on-accent-container","hover:bg-accent-container-hovered","enabled:active:bg-accent-container-pressed","focus-visible:bg-accent-container-focused"])},{intent:"basic",design:"tinted",class:e.tw(["bg-basic-container","text-on-basic-container","hover:bg-basic-container-hovered","enabled:active:bg-basic-container-pressed","focus-visible:bg-basic-container-focused"])},{intent:"success",design:"tinted",class:e.tw(["bg-success-container","text-on-success-container","hover:bg-success-container-hovered","enabled:active:bg-success-container-pressed","focus-visible:bg-success-container-focused"])},{intent:"alert",design:"tinted",class:e.tw(["bg-alert-container","text-on-alert-container","hover:bg-alert-container-hovered","enabled:active:bg-alert-container-pressed","focus-visible:bg-alert-container-focused"])},{intent:"danger",design:"tinted",class:e.tw(["bg-error-container","text-on-error-container","hover:bg-error-container-hovered","enabled:active:bg-error-container-pressed","focus-visible:bg-error-container-focused"])},{intent:"info",design:"tinted",class:e.tw(["bg-info-container","text-on-info-container","hover:bg-info-container-hovered","enabled:active:bg-info-container-pressed","focus-visible:bg-info-container-focused"])},{intent:"neutral",design:"tinted",class:e.tw(["bg-neutral-container","text-on-neutral-container","hover:bg-neutral-container-hovered","enabled:active:bg-neutral-container-pressed","focus-visible:bg-neutral-container-focused"])},{intent:"surface",design:"tinted",class:e.tw(["bg-surface","text-on-surface","hover:bg-surface-hovered","enabled:active:bg-surface-pressed","focus-visible:bg-surface-focused"])}],P=[{intent:"main",design:"contrast",class:e.tw(["text-main","hover:bg-main-container-hovered","enabled:active:bg-main-container-pressed","focus-visible:bg-main-container-focused"])},{intent:"support",design:"contrast",class:e.tw(["text-support","hover:bg-support-container-hovered","enabled:active:bg-support-container-pressed","focus-visible:bg-support-container-focused"])},{intent:"accent",design:"contrast",class:e.tw(["text-accent","hover:bg-accent-container-hovered","enabled:active:bg-accent-container-pressed","focus-visible:bg-accent-container-focused"])},{intent:"basic",design:"contrast",class:e.tw(["text-basic","hover:bg-basic-container-hovered","enabled:active:bg-basic-container-pressed","focus-visible:bg-basic-container-focused"])},{intent:"success",design:"contrast",class:e.tw(["text-success","hover:bg-success-container-hovered","enabled:active:bg-success-container-pressed","focus-visible:bg-success-container-focused"])},{intent:"alert",design:"contrast",class:e.tw(["text-alert","hover:bg-alert-container-hovered","enabled:active:bg-alert-container-pressed","focus-visible:bg-alert-container-focused"])},{intent:"danger",design:"contrast",class:e.tw(["text-error","hover:bg-error-container-hovered","enabled:active:bg-error-container-pressed","focus-visible:bg-error-container-focused"])},{intent:"info",design:"contrast",class:e.tw(["text-info","hover:bg-info-container-hovered","enabled:active:bg-info-container-pressed","focus-visible:bg-info-container-focused"])},{intent:"neutral",design:"contrast",class:e.tw(["text-neutral","hover:bg-neutral-container-hovered","enabled:active:bg-neutral-container-pressed","focus-visible:bg-neutral-container-focused"])},{intent:"surface",design:"contrast",class:e.tw(["text-on-surface","hover:bg-surface-hovered","enabled:active:bg-surface-pressed","focus-visible:bg-surface-focused"])}],K=f.cva(["u-shadow-border-transition","box-border inline-flex items-center justify-center gap-md whitespace-nowrap","px-lg","text-body-1 font-bold","focus-visible:outline-none focus-visible:u-ring [&:not(:focus-visible)]:ring-inset"],{variants:{design:e.makeVariants({filled:[],outlined:["bg-transparent","border-sm","border-current"],tinted:[],ghost:[],contrast:["bg-surface"]}),intent:e.makeVariants({main:[],support:[],accent:[],basic:[],success:[],alert:[],danger:[],info:[],neutral:[],surface:[]}),size:e.makeVariants({sm:["min-w-sz-32","h-sz-32"],md:["min-w-sz-44","h-sz-44"],lg:["min-w-sz-56","h-sz-56"]}),shape:e.makeVariants({rounded:["rounded-lg"],square:["rounded-none"],pill:["rounded-full"]}),disabled:{true:["cursor-not-allowed","opacity-dim-3"]}},compoundVariants:[...S,...N,...V,...q,...P],defaultVariants:{design:"filled",intent:"main",size:"md",shape:"rounded"}}),L=["onClick","onMouseDown","onMouseUp","onMouseEnter","onMouseLeave","onMouseOver","onMouseOut","onKeyDown","onKeyPress","onKeyUp","onSubmit"],v=t.forwardRef(({children:m,design:p="filled",disabled:c=!1,intent:h="main",isLoading:s=!1,loadingLabel:r,loadingText:i,shape:w="rounded",size:x="md",spinnerPlacement:o="left",asChild:d,className:y,...z},k)=>{const b=d?g.Slot:"button",a=!!c||s,M=t.useMemo(()=>{const n={};return a&&L.forEach(E=>n[E]=void 0),n},[a]),l={size:"current",className:i?"inline-block":"absolute",...r&&{"aria-label":r}};return t.createElement(b,{"data-spark-component":"button",...b==="button"&&{type:"button"},ref:k,className:K({className:y,design:p,disabled:a,intent:h,shape:w,size:x}),disabled:!!c,"aria-busy":s,"aria-live":s?"assertive":"off",...z,...M},g.wrapPolymorphicSlot(d,m,n=>s?t.createElement(t.Fragment,null,o==="left"&&t.createElement(u.Spinner,{...l}),i&&i,o==="right"&&t.createElement(u.Spinner,{...l}),t.createElement("div",{"aria-hidden":!0,className:f.cx("inline-flex gap-md",i?"hidden":"opacity-0")},n)):n))});v.displayName="Button",exports.Button=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("@spark-ui/slot"),k=require("@spark-ui/spinner"),g=require("class-variance-authority"),t=require("react"),e=require("@spark-ui/internal-utils"),q=[{intent:"main",design:"filled",class:e.tw(["bg-main","text-on-main","hover:bg-main-hovered","enabled:active:bg-main-pressed","focus-visible:bg-main-focused"])},{intent:"support",design:"filled",class:e.tw(["bg-support","text-on-support","hover:bg-support-hovered","enabled:active:bg-support-pressed","focus-visible:bg-support-focused"])},{intent:"accent",design:"filled",class:e.tw(["bg-accent","text-on-accent","hover:bg-accent-hovered","enabled:active:bg-accent-pressed","focus-visible:bg-accent-focused"])},{intent:"basic",design:"filled",class:e.tw(["bg-basic","text-on-basic","hover:bg-basic-hovered","enabled:active:bg-basic-pressed","focus-visible:bg-basic-focused"])},{intent:"success",design:"filled",class:e.tw(["bg-success","text-on-success","hover:bg-success-hovered","enabled:active:bg-success-pressed","focus-visible:bg-success-focused"])},{intent:"alert",design:"filled",class:e.tw(["bg-alert","text-on-alert","hover:bg-alert-hovered","enabled:active:bg-alert-pressed","focus-visible:bg-alert-focused"])},{intent:"danger",design:"filled",class:e.tw(["text-on-error bg-error","hover:bg-error-hovered enabled:active:bg-error-pressed","focus-visible:bg-error-focused"])},{intent:"info",design:"filled",class:e.tw(["text-on-error bg-info","hover:bg-info-hovered enabled:active:bg-info-pressed","focus-visible:bg-info-focused"])},{intent:"neutral",design:"filled",class:e.tw(["bg-neutral","text-on-neutral","hover:bg-neutral-hovered","enabled:active:bg-neutral-pressed","focus-visible:bg-neutral-focused"])},{intent:"surface",design:"filled",class:e.tw(["bg-surface","text-on-surface","hover:bg-surface-hovered","enabled:active:bg-surface-pressed","focus-visible:bg-surface-focused"])}],E=[{intent:"main",design:"ghost",class:e.tw(["text-main","hover:bg-main/dim-5","enabled:active:bg-main/dim-5","focus-visible:bg-main/dim-5"])},{intent:"support",design:"ghost",class:e.tw(["text-support","hover:bg-support/dim-5","enabled:active:bg-support/dim-5","focus-visible:bg-support/dim-5"])},{intent:"accent",design:"ghost",class:e.tw(["text-accent","hover:bg-accent/dim-5","enabled:active:bg-accent/dim-5","focus-visible:bg-accent/dim-5"])},{intent:"basic",design:"ghost",class:e.tw(["text-basic","hover:bg-basic/dim-5","enabled:active:bg-basic/dim-5","focus-visible:bg-basic/dim-5"])},{intent:"success",design:"ghost",class:e.tw(["text-success","hover:bg-success/dim-5","enabled:active:bg-success/dim-5","focus-visible:bg-success/dim-5"])},{intent:"alert",design:"ghost",class:e.tw(["text-alert","hover:bg-alert/dim-5","enabled:active:bg-alert/dim-5","focus-visible:bg-alert/dim-5"])},{intent:"danger",design:"ghost",class:e.tw(["text-error","hover:bg-error/dim-5","enabled:active:bg-error/dim-5","focus-visible:bg-error/dim-5"])},{intent:"info",design:"ghost",class:e.tw(["text-info","hover:bg-info/dim-5","enabled:active:bg-info/dim-5","focus-visible:bg-info/dim-5"])},{intent:"neutral",design:"ghost",class:e.tw(["text-neutral","hover:bg-neutral/dim-5","enabled:active:bg-neutral/dim-5","focus-visible:bg-neutral/dim-5"])},{intent:"surface",design:"ghost",class:e.tw(["text-surface","hover:bg-surface/dim-5","enabled:active:bg-surface/dim-5","focus-visible:bg-surface/dim-5"])}],N=[{intent:"main",design:"outlined",class:e.tw(["hover:bg-main/dim-5","enabled:active:bg-main/dim-5","focus-visible:bg-main/dim-5","text-main"])},{intent:"support",design:"outlined",class:e.tw(["hover:bg-support/dim-5","enabled:active:bg-support/dim-5","focus-visible:bg-support/dim-5","text-support"])},{intent:"accent",design:"outlined",class:e.tw(["hover:bg-accent/dim-5","enabled:active:bg-accent/dim-5","focus-visible:bg-accent/dim-5","text-accent"])},{intent:"basic",design:"outlined",class:e.tw(["hover:bg-basic/dim-5","enabled:active:bg-basic/dim-5","focus-visible:bg-basic/dim-5","text-basic"])},{intent:"success",design:"outlined",class:e.tw(["hover:bg-success/dim-5","enabled:active:bg-success/dim-5","focus-visible:bg-success/dim-5","text-success"])},{intent:"alert",design:"outlined",class:e.tw(["hover:bg-alert/dim-5","enabled:active:bg-alert/dim-5","focus-visible:bg-alert/dim-5","text-alert"])},{intent:"danger",design:"outlined",class:e.tw(["hover:bg-error/dim-5","enabled:active:bg-error/dim-5","focus-visible:bg-error/dim-5","text-error"])},{intent:"info",design:"outlined",class:e.tw(["hover:bg-info/dim-5","enabled:active:bg-info/dim-5","focus-visible:bg-info/dim-5","text-info"])},{intent:"neutral",design:"outlined",class:e.tw(["hover:bg-neutral/dim-5","enabled:active:bg-neutral/dim-5","focus-visible:bg-neutral/dim-5","text-neutral"])},{intent:"surface",design:"outlined",class:e.tw(["hover:bg-surface/dim-5","enabled:active:bg-surface/dim-5","focus-visible:bg-surface/dim-5","text-surface"])}],S=[{intent:"main",design:"tinted",class:e.tw(["bg-main-container","text-on-main-container","hover:bg-main-container-hovered","enabled:active:bg-main-container-pressed","focus-visible:bg-main-container-focused"])},{intent:"support",design:"tinted",class:e.tw(["bg-support-container","text-on-support-container","hover:bg-support-container-hovered","enabled:active:bg-support-container-pressed","focus-visible:bg-support-container-focused"])},{intent:"accent",design:"tinted",class:e.tw(["bg-accent-container","text-on-accent-container","hover:bg-accent-container-hovered","enabled:active:bg-accent-container-pressed","focus-visible:bg-accent-container-focused"])},{intent:"basic",design:"tinted",class:e.tw(["bg-basic-container","text-on-basic-container","hover:bg-basic-container-hovered","enabled:active:bg-basic-container-pressed","focus-visible:bg-basic-container-focused"])},{intent:"success",design:"tinted",class:e.tw(["bg-success-container","text-on-success-container","hover:bg-success-container-hovered","enabled:active:bg-success-container-pressed","focus-visible:bg-success-container-focused"])},{intent:"alert",design:"tinted",class:e.tw(["bg-alert-container","text-on-alert-container","hover:bg-alert-container-hovered","enabled:active:bg-alert-container-pressed","focus-visible:bg-alert-container-focused"])},{intent:"danger",design:"tinted",class:e.tw(["bg-error-container","text-on-error-container","hover:bg-error-container-hovered","enabled:active:bg-error-container-pressed","focus-visible:bg-error-container-focused"])},{intent:"info",design:"tinted",class:e.tw(["bg-info-container","text-on-info-container","hover:bg-info-container-hovered","enabled:active:bg-info-container-pressed","focus-visible:bg-info-container-focused"])},{intent:"neutral",design:"tinted",class:e.tw(["bg-neutral-container","text-on-neutral-container","hover:bg-neutral-container-hovered","enabled:active:bg-neutral-container-pressed","focus-visible:bg-neutral-container-focused"])},{intent:"surface",design:"tinted",class:e.tw(["bg-surface","text-on-surface","hover:bg-surface-hovered","enabled:active:bg-surface-pressed","focus-visible:bg-surface-focused"])}],V=[{intent:"main",design:"contrast",class:e.tw(["text-main","hover:bg-main-container-hovered","enabled:active:bg-main-container-pressed","focus-visible:bg-main-container-focused"])},{intent:"support",design:"contrast",class:e.tw(["text-support","hover:bg-support-container-hovered","enabled:active:bg-support-container-pressed","focus-visible:bg-support-container-focused"])},{intent:"accent",design:"contrast",class:e.tw(["text-accent","hover:bg-accent-container-hovered","enabled:active:bg-accent-container-pressed","focus-visible:bg-accent-container-focused"])},{intent:"basic",design:"contrast",class:e.tw(["text-basic","hover:bg-basic-container-hovered","enabled:active:bg-basic-container-pressed","focus-visible:bg-basic-container-focused"])},{intent:"success",design:"contrast",class:e.tw(["text-success","hover:bg-success-container-hovered","enabled:active:bg-success-container-pressed","focus-visible:bg-success-container-focused"])},{intent:"alert",design:"contrast",class:e.tw(["text-alert","hover:bg-alert-container-hovered","enabled:active:bg-alert-container-pressed","focus-visible:bg-alert-container-focused"])},{intent:"danger",design:"contrast",class:e.tw(["text-error","hover:bg-error-container-hovered","enabled:active:bg-error-container-pressed","focus-visible:bg-error-container-focused"])},{intent:"info",design:"contrast",class:e.tw(["text-info","hover:bg-info-container-hovered","enabled:active:bg-info-container-pressed","focus-visible:bg-info-container-focused"])},{intent:"neutral",design:"contrast",class:e.tw(["text-neutral","hover:bg-neutral-container-hovered","enabled:active:bg-neutral-container-pressed","focus-visible:bg-neutral-container-focused"])},{intent:"surface",design:"contrast",class:e.tw(["text-on-surface","hover:bg-surface-hovered","enabled:active:bg-surface-pressed","focus-visible:bg-surface-focused"])}],K=g.cva(["u-shadow-border-transition","box-border inline-flex items-center justify-center gap-md whitespace-nowrap","px-lg","text-body-1 font-bold","focus-visible:outline-none focus-visible:u-ring [&:not(:focus-visible)]:ring-inset"],{variants:{design:e.makeVariants({filled:[],outlined:["bg-transparent","border-sm","border-current"],tinted:[],ghost:[],contrast:["bg-surface"]}),intent:e.makeVariants({main:[],support:[],accent:[],basic:[],success:[],alert:[],danger:[],info:[],neutral:[],surface:[]}),size:e.makeVariants({sm:["min-w-sz-32","h-sz-32"],md:["min-w-sz-44","h-sz-44"],lg:["min-w-sz-56","h-sz-56"]}),shape:e.makeVariants({rounded:["rounded-lg"],square:["rounded-none"],pill:["rounded-full"]}),disabled:{true:["cursor-not-allowed","opacity-dim-3"]}},compoundVariants:[...q,...N,...S,...E,...V],defaultVariants:{design:"filled",intent:"main",size:"md",shape:"rounded"}}),L=["onClick","onMouseDown","onMouseUp","onMouseEnter","onMouseLeave","onMouseOver","onMouseOut","onKeyDown","onKeyPress","onKeyUp","onSubmit"],l=t.forwardRef(({children:u,design:v="filled",disabled:c=!1,intent:f="main",isLoading:s=!1,loadingLabel:r,loadingText:i,shape:m="rounded",size:p="md",asChild:o,className:h,...w},x)=>{const d=o?b.Slot:"button",a=!!c||s,y=t.useMemo(()=>{const n={};return a&&L.forEach(M=>n[M]=void 0),n},[a]),z={size:"current",className:i?"inline-block":"absolute",...r&&{"aria-label":r}};return t.createElement(d,{"data-spark-component":"button",...d==="button"&&{type:"button"},ref:x,className:K({className:h,design:v,disabled:a,intent:f,shape:m,size:p}),disabled:!!c,"aria-busy":s,"aria-live":s?"assertive":"off",...w,...y},b.wrapPolymorphicSlot(o,u,n=>s?t.createElement(t.Fragment,null,t.createElement(k.Spinner,{...z}),i&&i,t.createElement("div",{"aria-hidden":!0,className:g.cx("inline-flex gap-md",i?"hidden":"opacity-0")},n)):n))});l.displayName="Button",exports.Button=l;
package/dist/index.mjs CHANGED
@@ -1,16 +1,16 @@
1
- import { wrapPolymorphicSlot as M, Slot as N } from "@spark-ui/slot";
2
- import { Spinner as u } from "@spark-ui/spinner";
3
- import { cva as k, cx as S } from "class-variance-authority";
4
- import s, { forwardRef as K, useMemo as L } from "react";
1
+ import { wrapPolymorphicSlot as y, Slot as E } from "@spark-ui/slot";
2
+ import { Spinner as M } from "@spark-ui/spinner";
3
+ import { cva as N, cx as k } from "class-variance-authority";
4
+ import n, { forwardRef as S, useMemo as K } from "react";
5
5
  import { tw as e, makeVariants as a } from "@spark-ui/internal-utils";
6
- const P = [{ intent: "main", design: "filled", class: e(["bg-main", "text-on-main", "hover:bg-main-hovered", "enabled:active:bg-main-pressed", "focus-visible:bg-main-focused"]) }, { intent: "support", design: "filled", class: e(["bg-support", "text-on-support", "hover:bg-support-hovered", "enabled:active:bg-support-pressed", "focus-visible:bg-support-focused"]) }, { intent: "accent", design: "filled", class: e(["bg-accent", "text-on-accent", "hover:bg-accent-hovered", "enabled:active:bg-accent-pressed", "focus-visible:bg-accent-focused"]) }, { intent: "basic", design: "filled", class: e(["bg-basic", "text-on-basic", "hover:bg-basic-hovered", "enabled:active:bg-basic-pressed", "focus-visible:bg-basic-focused"]) }, { intent: "success", design: "filled", class: e(["bg-success", "text-on-success", "hover:bg-success-hovered", "enabled:active:bg-success-pressed", "focus-visible:bg-success-focused"]) }, { intent: "alert", design: "filled", class: e(["bg-alert", "text-on-alert", "hover:bg-alert-hovered", "enabled:active:bg-alert-pressed", "focus-visible:bg-alert-focused"]) }, { intent: "danger", design: "filled", class: e(["text-on-error bg-error", "hover:bg-error-hovered enabled:active:bg-error-pressed", "focus-visible:bg-error-focused"]) }, { intent: "info", design: "filled", class: e(["text-on-error bg-info", "hover:bg-info-hovered enabled:active:bg-info-pressed", "focus-visible:bg-info-focused"]) }, { intent: "neutral", design: "filled", class: e(["bg-neutral", "text-on-neutral", "hover:bg-neutral-hovered", "enabled:active:bg-neutral-pressed", "focus-visible:bg-neutral-focused"]) }, { intent: "surface", design: "filled", class: e(["bg-surface", "text-on-surface", "hover:bg-surface-hovered", "enabled:active:bg-surface-pressed", "focus-visible:bg-surface-focused"]) }], V = [{ intent: "main", design: "ghost", class: e(["text-main", "hover:bg-main/dim-5", "enabled:active:bg-main/dim-5", "focus-visible:bg-main/dim-5"]) }, { intent: "support", design: "ghost", class: e(["text-support", "hover:bg-support/dim-5", "enabled:active:bg-support/dim-5", "focus-visible:bg-support/dim-5"]) }, { intent: "accent", design: "ghost", class: e(["text-accent", "hover:bg-accent/dim-5", "enabled:active:bg-accent/dim-5", "focus-visible:bg-accent/dim-5"]) }, { intent: "basic", design: "ghost", class: e(["text-basic", "hover:bg-basic/dim-5", "enabled:active:bg-basic/dim-5", "focus-visible:bg-basic/dim-5"]) }, { intent: "success", design: "ghost", class: e(["text-success", "hover:bg-success/dim-5", "enabled:active:bg-success/dim-5", "focus-visible:bg-success/dim-5"]) }, { intent: "alert", design: "ghost", class: e(["text-alert", "hover:bg-alert/dim-5", "enabled:active:bg-alert/dim-5", "focus-visible:bg-alert/dim-5"]) }, { intent: "danger", design: "ghost", class: e(["text-error", "hover:bg-error/dim-5", "enabled:active:bg-error/dim-5", "focus-visible:bg-error/dim-5"]) }, { intent: "info", design: "ghost", class: e(["text-info", "hover:bg-info/dim-5", "enabled:active:bg-info/dim-5", "focus-visible:bg-info/dim-5"]) }, { intent: "neutral", design: "ghost", class: e(["text-neutral", "hover:bg-neutral/dim-5", "enabled:active:bg-neutral/dim-5", "focus-visible:bg-neutral/dim-5"]) }, { intent: "surface", design: "ghost", class: e(["text-surface", "hover:bg-surface/dim-5", "enabled:active:bg-surface/dim-5", "focus-visible:bg-surface/dim-5"]) }], B = [{ intent: "main", design: "outlined", class: e(["hover:bg-main/dim-5", "enabled:active:bg-main/dim-5", "focus-visible:bg-main/dim-5", "text-main"]) }, { intent: "support", design: "outlined", class: e(["hover:bg-support/dim-5", "enabled:active:bg-support/dim-5", "focus-visible:bg-support/dim-5", "text-support"]) }, { intent: "accent", design: "outlined", class: e(["hover:bg-accent/dim-5", "enabled:active:bg-accent/dim-5", "focus-visible:bg-accent/dim-5", "text-accent"]) }, { intent: "basic", design: "outlined", class: e(["hover:bg-basic/dim-5", "enabled:active:bg-basic/dim-5", "focus-visible:bg-basic/dim-5", "text-basic"]) }, { intent: "success", design: "outlined", class: e(["hover:bg-success/dim-5", "enabled:active:bg-success/dim-5", "focus-visible:bg-success/dim-5", "text-success"]) }, { intent: "alert", design: "outlined", class: e(["hover:bg-alert/dim-5", "enabled:active:bg-alert/dim-5", "focus-visible:bg-alert/dim-5", "text-alert"]) }, { intent: "danger", design: "outlined", class: e(["hover:bg-error/dim-5", "enabled:active:bg-error/dim-5", "focus-visible:bg-error/dim-5", "text-error"]) }, { intent: "info", design: "outlined", class: e(["hover:bg-info/dim-5", "enabled:active:bg-info/dim-5", "focus-visible:bg-info/dim-5", "text-info"]) }, { intent: "neutral", design: "outlined", class: e(["hover:bg-neutral/dim-5", "enabled:active:bg-neutral/dim-5", "focus-visible:bg-neutral/dim-5", "text-neutral"]) }, { intent: "surface", design: "outlined", class: e(["hover:bg-surface/dim-5", "enabled:active:bg-surface/dim-5", "focus-visible:bg-surface/dim-5", "text-surface"]) }], C = [{ intent: "main", design: "tinted", class: e(["bg-main-container", "text-on-main-container", "hover:bg-main-container-hovered", "enabled:active:bg-main-container-pressed", "focus-visible:bg-main-container-focused"]) }, { intent: "support", design: "tinted", class: e(["bg-support-container", "text-on-support-container", "hover:bg-support-container-hovered", "enabled:active:bg-support-container-pressed", "focus-visible:bg-support-container-focused"]) }, { intent: "accent", design: "tinted", class: e(["bg-accent-container", "text-on-accent-container", "hover:bg-accent-container-hovered", "enabled:active:bg-accent-container-pressed", "focus-visible:bg-accent-container-focused"]) }, { intent: "basic", design: "tinted", class: e(["bg-basic-container", "text-on-basic-container", "hover:bg-basic-container-hovered", "enabled:active:bg-basic-container-pressed", "focus-visible:bg-basic-container-focused"]) }, { intent: "success", design: "tinted", class: e(["bg-success-container", "text-on-success-container", "hover:bg-success-container-hovered", "enabled:active:bg-success-container-pressed", "focus-visible:bg-success-container-focused"]) }, { intent: "alert", design: "tinted", class: e(["bg-alert-container", "text-on-alert-container", "hover:bg-alert-container-hovered", "enabled:active:bg-alert-container-pressed", "focus-visible:bg-alert-container-focused"]) }, { intent: "danger", design: "tinted", class: e(["bg-error-container", "text-on-error-container", "hover:bg-error-container-hovered", "enabled:active:bg-error-container-pressed", "focus-visible:bg-error-container-focused"]) }, { intent: "info", design: "tinted", class: e(["bg-info-container", "text-on-info-container", "hover:bg-info-container-hovered", "enabled:active:bg-info-container-pressed", "focus-visible:bg-info-container-focused"]) }, { intent: "neutral", design: "tinted", class: e(["bg-neutral-container", "text-on-neutral-container", "hover:bg-neutral-container-hovered", "enabled:active:bg-neutral-container-pressed", "focus-visible:bg-neutral-container-focused"]) }, { intent: "surface", design: "tinted", class: e(["bg-surface", "text-on-surface", "hover:bg-surface-hovered", "enabled:active:bg-surface-pressed", "focus-visible:bg-surface-focused"]) }], D = [{ intent: "main", design: "contrast", class: e(["text-main", "hover:bg-main-container-hovered", "enabled:active:bg-main-container-pressed", "focus-visible:bg-main-container-focused"]) }, { intent: "support", design: "contrast", class: e(["text-support", "hover:bg-support-container-hovered", "enabled:active:bg-support-container-pressed", "focus-visible:bg-support-container-focused"]) }, { intent: "accent", design: "contrast", class: e(["text-accent", "hover:bg-accent-container-hovered", "enabled:active:bg-accent-container-pressed", "focus-visible:bg-accent-container-focused"]) }, { intent: "basic", design: "contrast", class: e(["text-basic", "hover:bg-basic-container-hovered", "enabled:active:bg-basic-container-pressed", "focus-visible:bg-basic-container-focused"]) }, { intent: "success", design: "contrast", class: e(["text-success", "hover:bg-success-container-hovered", "enabled:active:bg-success-container-pressed", "focus-visible:bg-success-container-focused"]) }, { intent: "alert", design: "contrast", class: e(["text-alert", "hover:bg-alert-container-hovered", "enabled:active:bg-alert-container-pressed", "focus-visible:bg-alert-container-focused"]) }, { intent: "danger", design: "contrast", class: e(["text-error", "hover:bg-error-container-hovered", "enabled:active:bg-error-container-pressed", "focus-visible:bg-error-container-focused"]) }, { intent: "info", design: "contrast", class: e(["text-info", "hover:bg-info-container-hovered", "enabled:active:bg-info-container-pressed", "focus-visible:bg-info-container-focused"]) }, { intent: "neutral", design: "contrast", class: e(["text-neutral", "hover:bg-neutral-container-hovered", "enabled:active:bg-neutral-container-pressed", "focus-visible:bg-neutral-container-focused"]) }, { intent: "surface", design: "contrast", class: e(["text-on-surface", "hover:bg-surface-hovered", "enabled:active:bg-surface-pressed", "focus-visible:bg-surface-focused"]) }], O = k(["u-shadow-border-transition", "box-border inline-flex items-center justify-center gap-md whitespace-nowrap", "px-lg", "text-body-1 font-bold", "focus-visible:outline-none focus-visible:u-ring [&:not(:focus-visible)]:ring-inset"], { variants: { design: a({ filled: [], outlined: ["bg-transparent", "border-sm", "border-current"], tinted: [], ghost: [], contrast: ["bg-surface"] }), intent: a({ main: [], support: [], accent: [], basic: [], success: [], alert: [], danger: [], info: [], neutral: [], surface: [] }), size: a({ sm: ["min-w-sz-32", "h-sz-32"], md: ["min-w-sz-44", "h-sz-44"], lg: ["min-w-sz-56", "h-sz-56"] }), shape: a({ rounded: ["rounded-lg"], square: ["rounded-none"], pill: ["rounded-full"] }), disabled: { true: ["cursor-not-allowed", "opacity-dim-3"] } }, compoundVariants: [...P, ...B, ...C, ...V, ...D], defaultVariants: { design: "filled", intent: "main", size: "md", shape: "rounded" } }), U = ["onClick", "onMouseDown", "onMouseUp", "onMouseEnter", "onMouseLeave", "onMouseOver", "onMouseOut", "onKeyDown", "onKeyPress", "onKeyUp", "onSubmit"], j = K(({ children: v, design: f = "filled", disabled: r = !1, intent: m = "main", isLoading: t = !1, loadingLabel: o, loadingText: i, shape: p = "rounded", size: h = "md", spinnerPlacement: d = "left", asChild: b, className: x, ...w }, y) => {
7
- const l = b ? N : "button", c = !!r || t, z = L(() => {
8
- const n = {};
9
- return c && U.forEach((E) => n[E] = void 0), n;
10
- }, [c]), g = { size: "current", className: i ? "inline-block" : "absolute", ...o && { "aria-label": o } };
11
- return s.createElement(l, { "data-spark-component": "button", ...l === "button" && { type: "button" }, ref: y, className: O({ className: x, design: f, disabled: c, intent: m, shape: p, size: h }), disabled: !!r, "aria-busy": t, "aria-live": t ? "assertive" : "off", ...w, ...z }, M(b, v, (n) => t ? s.createElement(s.Fragment, null, d === "left" && s.createElement(u, { ...g }), i && i, d === "right" && s.createElement(u, { ...g }), s.createElement("div", { "aria-hidden": !0, className: S("inline-flex gap-md", i ? "hidden" : "opacity-0") }, n)) : n));
6
+ const L = [{ intent: "main", design: "filled", class: e(["bg-main", "text-on-main", "hover:bg-main-hovered", "enabled:active:bg-main-pressed", "focus-visible:bg-main-focused"]) }, { intent: "support", design: "filled", class: e(["bg-support", "text-on-support", "hover:bg-support-hovered", "enabled:active:bg-support-pressed", "focus-visible:bg-support-focused"]) }, { intent: "accent", design: "filled", class: e(["bg-accent", "text-on-accent", "hover:bg-accent-hovered", "enabled:active:bg-accent-pressed", "focus-visible:bg-accent-focused"]) }, { intent: "basic", design: "filled", class: e(["bg-basic", "text-on-basic", "hover:bg-basic-hovered", "enabled:active:bg-basic-pressed", "focus-visible:bg-basic-focused"]) }, { intent: "success", design: "filled", class: e(["bg-success", "text-on-success", "hover:bg-success-hovered", "enabled:active:bg-success-pressed", "focus-visible:bg-success-focused"]) }, { intent: "alert", design: "filled", class: e(["bg-alert", "text-on-alert", "hover:bg-alert-hovered", "enabled:active:bg-alert-pressed", "focus-visible:bg-alert-focused"]) }, { intent: "danger", design: "filled", class: e(["text-on-error bg-error", "hover:bg-error-hovered enabled:active:bg-error-pressed", "focus-visible:bg-error-focused"]) }, { intent: "info", design: "filled", class: e(["text-on-error bg-info", "hover:bg-info-hovered enabled:active:bg-info-pressed", "focus-visible:bg-info-focused"]) }, { intent: "neutral", design: "filled", class: e(["bg-neutral", "text-on-neutral", "hover:bg-neutral-hovered", "enabled:active:bg-neutral-pressed", "focus-visible:bg-neutral-focused"]) }, { intent: "surface", design: "filled", class: e(["bg-surface", "text-on-surface", "hover:bg-surface-hovered", "enabled:active:bg-surface-pressed", "focus-visible:bg-surface-focused"]) }], V = [{ intent: "main", design: "ghost", class: e(["text-main", "hover:bg-main/dim-5", "enabled:active:bg-main/dim-5", "focus-visible:bg-main/dim-5"]) }, { intent: "support", design: "ghost", class: e(["text-support", "hover:bg-support/dim-5", "enabled:active:bg-support/dim-5", "focus-visible:bg-support/dim-5"]) }, { intent: "accent", design: "ghost", class: e(["text-accent", "hover:bg-accent/dim-5", "enabled:active:bg-accent/dim-5", "focus-visible:bg-accent/dim-5"]) }, { intent: "basic", design: "ghost", class: e(["text-basic", "hover:bg-basic/dim-5", "enabled:active:bg-basic/dim-5", "focus-visible:bg-basic/dim-5"]) }, { intent: "success", design: "ghost", class: e(["text-success", "hover:bg-success/dim-5", "enabled:active:bg-success/dim-5", "focus-visible:bg-success/dim-5"]) }, { intent: "alert", design: "ghost", class: e(["text-alert", "hover:bg-alert/dim-5", "enabled:active:bg-alert/dim-5", "focus-visible:bg-alert/dim-5"]) }, { intent: "danger", design: "ghost", class: e(["text-error", "hover:bg-error/dim-5", "enabled:active:bg-error/dim-5", "focus-visible:bg-error/dim-5"]) }, { intent: "info", design: "ghost", class: e(["text-info", "hover:bg-info/dim-5", "enabled:active:bg-info/dim-5", "focus-visible:bg-info/dim-5"]) }, { intent: "neutral", design: "ghost", class: e(["text-neutral", "hover:bg-neutral/dim-5", "enabled:active:bg-neutral/dim-5", "focus-visible:bg-neutral/dim-5"]) }, { intent: "surface", design: "ghost", class: e(["text-surface", "hover:bg-surface/dim-5", "enabled:active:bg-surface/dim-5", "focus-visible:bg-surface/dim-5"]) }], B = [{ intent: "main", design: "outlined", class: e(["hover:bg-main/dim-5", "enabled:active:bg-main/dim-5", "focus-visible:bg-main/dim-5", "text-main"]) }, { intent: "support", design: "outlined", class: e(["hover:bg-support/dim-5", "enabled:active:bg-support/dim-5", "focus-visible:bg-support/dim-5", "text-support"]) }, { intent: "accent", design: "outlined", class: e(["hover:bg-accent/dim-5", "enabled:active:bg-accent/dim-5", "focus-visible:bg-accent/dim-5", "text-accent"]) }, { intent: "basic", design: "outlined", class: e(["hover:bg-basic/dim-5", "enabled:active:bg-basic/dim-5", "focus-visible:bg-basic/dim-5", "text-basic"]) }, { intent: "success", design: "outlined", class: e(["hover:bg-success/dim-5", "enabled:active:bg-success/dim-5", "focus-visible:bg-success/dim-5", "text-success"]) }, { intent: "alert", design: "outlined", class: e(["hover:bg-alert/dim-5", "enabled:active:bg-alert/dim-5", "focus-visible:bg-alert/dim-5", "text-alert"]) }, { intent: "danger", design: "outlined", class: e(["hover:bg-error/dim-5", "enabled:active:bg-error/dim-5", "focus-visible:bg-error/dim-5", "text-error"]) }, { intent: "info", design: "outlined", class: e(["hover:bg-info/dim-5", "enabled:active:bg-info/dim-5", "focus-visible:bg-info/dim-5", "text-info"]) }, { intent: "neutral", design: "outlined", class: e(["hover:bg-neutral/dim-5", "enabled:active:bg-neutral/dim-5", "focus-visible:bg-neutral/dim-5", "text-neutral"]) }, { intent: "surface", design: "outlined", class: e(["hover:bg-surface/dim-5", "enabled:active:bg-surface/dim-5", "focus-visible:bg-surface/dim-5", "text-surface"]) }], C = [{ intent: "main", design: "tinted", class: e(["bg-main-container", "text-on-main-container", "hover:bg-main-container-hovered", "enabled:active:bg-main-container-pressed", "focus-visible:bg-main-container-focused"]) }, { intent: "support", design: "tinted", class: e(["bg-support-container", "text-on-support-container", "hover:bg-support-container-hovered", "enabled:active:bg-support-container-pressed", "focus-visible:bg-support-container-focused"]) }, { intent: "accent", design: "tinted", class: e(["bg-accent-container", "text-on-accent-container", "hover:bg-accent-container-hovered", "enabled:active:bg-accent-container-pressed", "focus-visible:bg-accent-container-focused"]) }, { intent: "basic", design: "tinted", class: e(["bg-basic-container", "text-on-basic-container", "hover:bg-basic-container-hovered", "enabled:active:bg-basic-container-pressed", "focus-visible:bg-basic-container-focused"]) }, { intent: "success", design: "tinted", class: e(["bg-success-container", "text-on-success-container", "hover:bg-success-container-hovered", "enabled:active:bg-success-container-pressed", "focus-visible:bg-success-container-focused"]) }, { intent: "alert", design: "tinted", class: e(["bg-alert-container", "text-on-alert-container", "hover:bg-alert-container-hovered", "enabled:active:bg-alert-container-pressed", "focus-visible:bg-alert-container-focused"]) }, { intent: "danger", design: "tinted", class: e(["bg-error-container", "text-on-error-container", "hover:bg-error-container-hovered", "enabled:active:bg-error-container-pressed", "focus-visible:bg-error-container-focused"]) }, { intent: "info", design: "tinted", class: e(["bg-info-container", "text-on-info-container", "hover:bg-info-container-hovered", "enabled:active:bg-info-container-pressed", "focus-visible:bg-info-container-focused"]) }, { intent: "neutral", design: "tinted", class: e(["bg-neutral-container", "text-on-neutral-container", "hover:bg-neutral-container-hovered", "enabled:active:bg-neutral-container-pressed", "focus-visible:bg-neutral-container-focused"]) }, { intent: "surface", design: "tinted", class: e(["bg-surface", "text-on-surface", "hover:bg-surface-hovered", "enabled:active:bg-surface-pressed", "focus-visible:bg-surface-focused"]) }], D = [{ intent: "main", design: "contrast", class: e(["text-main", "hover:bg-main-container-hovered", "enabled:active:bg-main-container-pressed", "focus-visible:bg-main-container-focused"]) }, { intent: "support", design: "contrast", class: e(["text-support", "hover:bg-support-container-hovered", "enabled:active:bg-support-container-pressed", "focus-visible:bg-support-container-focused"]) }, { intent: "accent", design: "contrast", class: e(["text-accent", "hover:bg-accent-container-hovered", "enabled:active:bg-accent-container-pressed", "focus-visible:bg-accent-container-focused"]) }, { intent: "basic", design: "contrast", class: e(["text-basic", "hover:bg-basic-container-hovered", "enabled:active:bg-basic-container-pressed", "focus-visible:bg-basic-container-focused"]) }, { intent: "success", design: "contrast", class: e(["text-success", "hover:bg-success-container-hovered", "enabled:active:bg-success-container-pressed", "focus-visible:bg-success-container-focused"]) }, { intent: "alert", design: "contrast", class: e(["text-alert", "hover:bg-alert-container-hovered", "enabled:active:bg-alert-container-pressed", "focus-visible:bg-alert-container-focused"]) }, { intent: "danger", design: "contrast", class: e(["text-error", "hover:bg-error-container-hovered", "enabled:active:bg-error-container-pressed", "focus-visible:bg-error-container-focused"]) }, { intent: "info", design: "contrast", class: e(["text-info", "hover:bg-info-container-hovered", "enabled:active:bg-info-container-pressed", "focus-visible:bg-info-container-focused"]) }, { intent: "neutral", design: "contrast", class: e(["text-neutral", "hover:bg-neutral-container-hovered", "enabled:active:bg-neutral-container-pressed", "focus-visible:bg-neutral-container-focused"]) }, { intent: "surface", design: "contrast", class: e(["text-on-surface", "hover:bg-surface-hovered", "enabled:active:bg-surface-pressed", "focus-visible:bg-surface-focused"]) }], O = N(["u-shadow-border-transition", "box-border inline-flex items-center justify-center gap-md whitespace-nowrap", "px-lg", "text-body-1 font-bold", "focus-visible:outline-none focus-visible:u-ring [&:not(:focus-visible)]:ring-inset"], { variants: { design: a({ filled: [], outlined: ["bg-transparent", "border-sm", "border-current"], tinted: [], ghost: [], contrast: ["bg-surface"] }), intent: a({ main: [], support: [], accent: [], basic: [], success: [], alert: [], danger: [], info: [], neutral: [], surface: [] }), size: a({ sm: ["min-w-sz-32", "h-sz-32"], md: ["min-w-sz-44", "h-sz-44"], lg: ["min-w-sz-56", "h-sz-56"] }), shape: a({ rounded: ["rounded-lg"], square: ["rounded-none"], pill: ["rounded-full"] }), disabled: { true: ["cursor-not-allowed", "opacity-dim-3"] } }, compoundVariants: [...L, ...B, ...C, ...V, ...D], defaultVariants: { design: "filled", intent: "main", size: "md", shape: "rounded" } }), P = ["onClick", "onMouseDown", "onMouseUp", "onMouseEnter", "onMouseLeave", "onMouseOver", "onMouseOut", "onKeyDown", "onKeyPress", "onKeyUp", "onSubmit"], U = S(({ children: l, design: g = "filled", disabled: r = !1, intent: u = "main", isLoading: t = !1, loadingLabel: o, loadingText: i, shape: v = "rounded", size: f = "md", asChild: d, className: m, ...p }, h) => {
7
+ const b = d ? E : "button", c = !!r || t, x = K(() => {
8
+ const s = {};
9
+ return c && P.forEach((z) => s[z] = void 0), s;
10
+ }, [c]), w = { size: "current", className: i ? "inline-block" : "absolute", ...o && { "aria-label": o } };
11
+ return n.createElement(b, { "data-spark-component": "button", ...b === "button" && { type: "button" }, ref: h, className: O({ className: m, design: g, disabled: c, intent: u, shape: v, size: f }), disabled: !!r, "aria-busy": t, "aria-live": t ? "assertive" : "off", ...p, ...x }, y(d, l, (s) => t ? n.createElement(n.Fragment, null, n.createElement(M, { ...w }), i && i, n.createElement("div", { "aria-hidden": !0, className: k("inline-flex gap-md", i ? "hidden" : "opacity-0") }, s)) : s));
12
12
  });
13
- j.displayName = "Button";
13
+ U.displayName = "Button";
14
14
  export {
15
- j as Button
15
+ U as Button
16
16
  };
@@ -83,36 +83,6 @@
83
83
  "name": "string"
84
84
  }
85
85
  },
86
- "spinnerPlacement": {
87
- "defaultValue": {
88
- "value": "left"
89
- },
90
- "description": "Placement for the spinner.",
91
- "name": "spinnerPlacement",
92
- "parent": {
93
- "fileName": "button/src/Button.tsx",
94
- "name": "ButtonProps"
95
- },
96
- "declarations": [
97
- {
98
- "fileName": "button/src/Button.tsx",
99
- "name": "ButtonProps"
100
- }
101
- ],
102
- "required": false,
103
- "type": {
104
- "name": "enum",
105
- "raw": "\"left\" | \"right\"",
106
- "value": [
107
- {
108
- "value": "\"left\""
109
- },
110
- {
111
- "value": "\"right\""
112
- }
113
- ]
114
- }
115
- },
116
86
  "disabled": {
117
87
  "defaultValue": {
118
88
  "value": false
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spark-ui/button",
3
- "version": "2.4.2",
3
+ "version": "3.0.0",
4
4
  "description": "Button component is used to trigger an action or event, such as submitting a form, opening a Dialog, canceling an action, or performing a delete operation.",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -23,9 +23,9 @@
23
23
  "build": "vite build"
24
24
  },
25
25
  "dependencies": {
26
- "@spark-ui/internal-utils": "^2.2.0",
26
+ "@spark-ui/internal-utils": "^2.3.0",
27
27
  "@spark-ui/slot": "^1.7.0",
28
- "@spark-ui/spinner": "^2.2.1",
28
+ "@spark-ui/spinner": "^2.2.2",
29
29
  "class-variance-authority": "0.7.0"
30
30
  },
31
31
  "peerDependencies": {
@@ -48,5 +48,5 @@
48
48
  },
49
49
  "homepage": "https://sparkui.vercel.app",
50
50
  "license": "MIT",
51
- "gitHead": "d95b0c2a02ea5776930c5e1d0459497800e5b2bf"
51
+ "gitHead": "e3e3beec1b0c23b902481d4d8790fb32717f47c1"
52
52
  }