@purpurds/button 5.11.0 → 5.11.2

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/LICENSE.txt CHANGED
@@ -1,12 +1,12 @@
1
1
  Name: @purpurds/action
2
- Version: 5.10.1
2
+ Version: 5.11.1
3
3
  License: AGPL-3.0-only
4
4
  Private: false
5
5
 
6
6
  ---
7
7
 
8
8
  Name: @purpurds/spinner
9
- Version: 5.10.1
9
+ Version: 5.11.1
10
10
  License: AGPL-3.0-only
11
11
  Private: false
12
12
 
@@ -1,10 +1,10 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),T=require("react"),w={PRIMARY:"primary",SECONDARY:"secondary",EXPRESSIVE:"expressive"},x={SM:"sm",MD:"md",LG:"lg"};function R(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var g={exports:{}};/*!
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),$=require("react"),z={PRIMARY:"primary",SECONDARY:"secondary",EXPRESSIVE:"expressive"},E={SM:"sm",MD:"md",LG:"lg"};function w(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var m={exports:{}};/*!
2
2
  Copyright (c) 2018 Jed Watson.
3
3
  Licensed under the MIT License (MIT), see
4
4
  http://jedwatson.github.io/classnames
5
- */(function(u){(function(){var o={}.hasOwnProperty;function n(){for(var t="",r=0;r<arguments.length;r++){var e=arguments[r];e&&(t=s(t,p(e)))}return t}function p(t){if(typeof t=="string"||typeof t=="number")return t;if(typeof t!="object")return"";if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var r="";for(var e in t)o.call(t,e)&&t[e]&&(r=s(r,e));return r}function s(t,r){return r?t?t+" "+r:t+r:t}u.exports?(n.default=n,u.exports=n):window.classNames=n})()})(g);var A=g.exports;const m=R(A),E="_rotate_1xozj_1",M="_dash_1xozj_1",_={"purpur-spinner":"_purpur-spinner_1xozj_1",rotate:E,"purpur-spinner--xxs":"_purpur-spinner--xxs_1xozj_4","purpur-spinner--xs":"_purpur-spinner--xs_1xozj_8","purpur-spinner--sm":"_purpur-spinner--sm_1xozj_12","purpur-spinner--md":"_purpur-spinner--md_1xozj_16","purpur-spinner--lg":"_purpur-spinner--lg_1xozj_20","purpur-spinner__circle":"_purpur-spinner__circle_1xozj_24",dash:M,"purpur-spinner__circle--disabled":"_purpur-spinner__circle--disabled_1xozj_33","purpur-spinner__circle--negative":"_purpur-spinner__circle--negative_1xozj_36"},a="purpur-spinner",P={XXS:"xxs",XS:"xs",SM:"sm",MD:"md",LG:"lg"},B=({["data-testid"]:u,disabled:o=!1,negative:n=!1,size:p=P.SM,...s})=>c.jsx("div",{className:m([_[a],_[`${a}--${p}`]]),"data-testid":u,...s,children:c.jsx("svg",{viewBox:"0 0 50 50",children:c.jsx("circle",{className:m(_[`${a}__circle`],{[_[`${a}__circle--disabled`]]:o,[_[`${a}__circle--negative`]]:n}),cx:"25",cy:"25",r:"20"})})});function D(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var j={exports:{}};/*!
5
+ */(function(u){(function(){var o={}.hasOwnProperty;function n(){for(var t="",r=0;r<arguments.length;r++){var e=arguments[r];e&&(t=s(t,p(e)))}return t}function p(t){if(typeof t=="string"||typeof t=="number")return t;if(typeof t!="object")return"";if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var r="";for(var e in t)o.call(t,e)&&t[e]&&(r=s(r,e));return r}function s(t,r){return r?t?t+" "+r:t+r:t}u.exports?(n.default=n,u.exports=n):window.classNames=n})()})(m);var R=m.exports;const y=w(R),A="_rotate_1xozj_1",P="_dash_1xozj_1",a={"purpur-spinner":"_purpur-spinner_1xozj_1",rotate:A,"purpur-spinner--xxs":"_purpur-spinner--xxs_1xozj_4","purpur-spinner--xs":"_purpur-spinner--xs_1xozj_8","purpur-spinner--sm":"_purpur-spinner--sm_1xozj_12","purpur-spinner--md":"_purpur-spinner--md_1xozj_16","purpur-spinner--lg":"_purpur-spinner--lg_1xozj_20","purpur-spinner__circle":"_purpur-spinner__circle_1xozj_24",dash:P,"purpur-spinner__circle--disabled":"_purpur-spinner__circle--disabled_1xozj_33","purpur-spinner__circle--negative":"_purpur-spinner__circle--negative_1xozj_36"},_="purpur-spinner",B={XXS:"xxs",XS:"xs",SM:"sm",MD:"md",LG:"lg"},M=({["data-testid"]:u,disabled:o=!1,negative:n=!1,size:p=B.SM,...s})=>c.jsx("div",{className:y([a[_],a[`${_}--${p}`]]),"data-testid":u,...s,children:c.jsx("svg",{viewBox:"0 0 50 50",children:c.jsx("circle",{className:y(a[`${_}__circle`],{[a[`${_}__circle--disabled`]]:o,[a[`${_}__circle--negative`]]:n}),cx:"25",cy:"25",r:"20"})})});function V(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var g={exports:{}};/*!
6
6
  Copyright (c) 2018 Jed Watson.
7
7
  Licensed under the MIT License (MIT), see
8
8
  http://jedwatson.github.io/classnames
9
- */(function(u){(function(){var o={}.hasOwnProperty;function n(){for(var t="",r=0;r<arguments.length;r++){var e=arguments[r];e&&(t=s(t,p.call(this,e)))}return t}function p(t){if(typeof t=="string"||typeof t=="number")return this&&this[t]||t;if(typeof t!="object")return"";if(Array.isArray(t))return n.apply(this,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var r="";for(var e in t)o.call(t,e)&&t[e]&&(r=s(r,this&&this[e]||e));return r}function s(t,r){return r?t?t+" "+r:t+r:t}u.exports?(n.default=n,u.exports=n):window.classNames=n})()})(j);var V=j.exports;const I=D(V),C={"purpur-button":"_purpur-button_u2yv5_1","purpur-button--sm":"_purpur-button--sm_u2yv5_33","purpur-button--icon-only":"_purpur-button--icon-only_u2yv5_36","purpur-button--md":"_purpur-button--md_u2yv5_39","purpur-button--lg":"_purpur-button--lg_u2yv5_45","purpur-button--full-width":"_purpur-button--full-width_u2yv5_51","purpur-button--primary":"_purpur-button--primary_u2yv5_54","purpur-button--disabled":"_purpur-button--disabled_u2yv5_58","purpur-button--primary-negative":"_purpur-button--primary-negative_u2yv5_64","purpur-button--secondary":"_purpur-button--secondary_u2yv5_76","purpur-button--secondary-negative":"_purpur-button--secondary-negative_u2yv5_87","purpur-button--expressive":"_purpur-button--expressive_u2yv5_98","purpur-button--expressive-negative":"_purpur-button--expressive-negative_u2yv5_108","purpur-button--negative":"_purpur-button--negative_u2yv5_120","purpur-button--destructive":"_purpur-button--destructive_u2yv5_127","purpur-button--destructive-negative":"_purpur-button--destructive-negative_u2yv5_137","purpur-button--tertiary-purple":"_purpur-button--tertiary-purple_u2yv5_147","purpur-button--tertiary-purple-negative":"_purpur-button--tertiary-purple-negative_u2yv5_160","purpur-button--text-negative":"_purpur-button--text-negative_u2yv5_175","purpur-button--text":"_purpur-button--text_u2yv5_175"},h={...w,DESTRUCTIVE:"destructive",TERTIARY_PURPLE:"tertiary-purple",TEXT:"text"},X=Object.values(h),L=I.bind(C),i="purpur-button",U=({children:u,className:o,["data-testid"]:n,disabled:p=!1,fullWidth:s=!1,iconOnly:t,loading:r=!1,negative:e=!1,onClick:d,size:b=x.MD,variant:l,type:$="button",...v},z)=>{if(t&&l==="destructive")return null;const N=L([i,`${i}--${e?`${l}-negative`:l}`,`${i}--${b}`],{[`${i}--icon-only`]:t,[`${i}--negative`]:e,[`${i}--full-width`]:s,[`${i}--disabled`]:p||r},o),O=f=>{p||r?f.preventDefault():d&&d(f)},y=!!v["aria-disabled"]||p||r;return c.jsxs("button",{className:N,"data-testid":n,type:$,ref:z,"aria-disabled":y,onClick:O,...v,children:[r&&c.jsx(B,{size:b===x.LG?"xs":"xxs",negative:e,disabled:y})," ",u]})},S=T.forwardRef(U);S.displayName="Button";exports.BUTTON_VARIANT=h;exports.Button=S;exports.buttonVariants=X;
9
+ */(function(u){(function(){var o={}.hasOwnProperty;function n(){for(var t="",r=0;r<arguments.length;r++){var e=arguments[r];e&&(t=s(t,p.call(this,e)))}return t}function p(t){if(typeof t=="string"||typeof t=="number")return this&&this[t]||t;if(typeof t!="object")return"";if(Array.isArray(t))return n.apply(this,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var r="";for(var e in t)o.call(t,e)&&t[e]&&(r=s(r,this&&this[e]||e));return r}function s(t,r){return r?t?t+" "+r:t+r:t}u.exports?(n.default=n,u.exports=n):window.classNames=n})()})(g);var D=g.exports;const I=V(D),U={"purpur-button":"_purpur-button_1acxn_1","purpur-button--sm":"_purpur-button--sm_1acxn_33","purpur-button--icon-only":"_purpur-button--icon-only_1acxn_36","purpur-button--md":"_purpur-button--md_1acxn_39","purpur-button--lg":"_purpur-button--lg_1acxn_45","purpur-button--full-width":"_purpur-button--full-width_1acxn_51","purpur-button--primary":"_purpur-button--primary_1acxn_54","purpur-button--disabled":"_purpur-button--disabled_1acxn_58","purpur-button--primary-negative":"_purpur-button--primary-negative_1acxn_64","purpur-button--secondary":"_purpur-button--secondary_1acxn_76","purpur-button--secondary-negative":"_purpur-button--secondary-negative_1acxn_87","purpur-button--expressive":"_purpur-button--expressive_1acxn_98","purpur-button--expressive-negative":"_purpur-button--expressive-negative_1acxn_108","purpur-button--negative":"_purpur-button--negative_1acxn_120","purpur-button--destructive":"_purpur-button--destructive_1acxn_127","purpur-button--destructive-negative":"_purpur-button--destructive-negative_1acxn_137","purpur-button--tertiary-purple":"_purpur-button--tertiary-purple_1acxn_147","purpur-button--tertiary-purple-negative":"_purpur-button--tertiary-purple-negative_1acxn_160","purpur-button--text-negative":"_purpur-button--text-negative_1acxn_175","purpur-button--text":"_purpur-button--text_1acxn_175"},j={...z,DESTRUCTIVE:"destructive",TERTIARY_PURPLE:"tertiary-purple",TEXT:"text"},C=Object.values(j),X=I.bind(U),i="purpur-button",Y=["button","submit","reset"],L=({children:u,className:o,["data-testid"]:n,disabled:p=!1,fullWidth:s=!1,iconOnly:t,loading:r=!1,negative:e=!1,onClick:d,size:b="md",variant:l,type:h="button",...x},T)=>{if(t&&l==="destructive")return null;const N=X([i,`${i}--${e?`${l}-negative`:l}`,`${i}--${b}`],{[`${i}--icon-only`]:t,[`${i}--negative`]:e,[`${i}--full-width`]:s,[`${i}--disabled`]:p||r},o),O=v=>{p||r?v.preventDefault():d&&d(v)},f=!!x["aria-disabled"]||p||r;return c.jsxs("button",{className:N,"data-testid":n,type:h,ref:T,"aria-disabled":f,onClick:O,...x,children:[r&&c.jsx(M,{size:b===E.LG?"xs":"xxs",negative:e,disabled:f})," ",u]})},S=$.forwardRef(L);S.displayName="Button";exports.BUTTON_TYPES=Y;exports.BUTTON_VARIANT=j;exports.Button=S;exports.buttonVariants=C;
10
10
  //# sourceMappingURL=button.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.cjs.js","sources":["../../../libraries/action/dist/action.es.js","../../spinner/dist/spinner.es.js","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/button.tsx"],"sourcesContent":["const s = {\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\",\n EXPRESSIVE: \"expressive\"\n}, t = Object.values(s), e = {\n SM: \"sm\",\n MD: \"md\",\n LG: \"lg\"\n}, c = Object.values(e);\nexport {\n e as SIZE,\n s as VARIANT,\n c as sizes,\n t as variants\n};\n//# sourceMappingURL=action.es.js.map\n","import { jsx as _ } from \"react/jsx-runtime\";\nfunction d(n) {\n return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, \"default\") ? n.default : n;\n}\nvar l = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n(function(n) {\n (function() {\n var o = {}.hasOwnProperty;\n function s() {\n for (var r = \"\", e = 0; e < arguments.length; e++) {\n var t = arguments[e];\n t && (r = u(r, c(t)));\n }\n return r;\n }\n function c(r) {\n if (typeof r == \"string\" || typeof r == \"number\")\n return r;\n if (typeof r != \"object\")\n return \"\";\n if (Array.isArray(r))\n return s.apply(null, r);\n if (r.toString !== Object.prototype.toString && !r.toString.toString().includes(\"[native code]\"))\n return r.toString();\n var e = \"\";\n for (var t in r)\n o.call(r, t) && r[t] && (e = u(e, t));\n return e;\n }\n function u(r, e) {\n return e ? r ? r + \" \" + e : r + e : r;\n }\n n.exports ? (s.default = s, n.exports = s) : window.classNames = s;\n })();\n})(l);\nvar x = l.exports;\nconst a = /* @__PURE__ */ d(x), m = \"_rotate_1xozj_1\", j = \"_dash_1xozj_1\", p = {\n \"purpur-spinner\": \"_purpur-spinner_1xozj_1\",\n rotate: m,\n \"purpur-spinner--xxs\": \"_purpur-spinner--xxs_1xozj_4\",\n \"purpur-spinner--xs\": \"_purpur-spinner--xs_1xozj_8\",\n \"purpur-spinner--sm\": \"_purpur-spinner--sm_1xozj_12\",\n \"purpur-spinner--md\": \"_purpur-spinner--md_1xozj_16\",\n \"purpur-spinner--lg\": \"_purpur-spinner--lg_1xozj_20\",\n \"purpur-spinner__circle\": \"_purpur-spinner__circle_1xozj_24\",\n dash: j,\n \"purpur-spinner__circle--disabled\": \"_purpur-spinner__circle--disabled_1xozj_33\",\n \"purpur-spinner__circle--negative\": \"_purpur-spinner__circle--negative_1xozj_36\"\n}, i = \"purpur-spinner\", f = {\n XXS: \"xxs\",\n XS: \"xs\",\n SM: \"sm\",\n MD: \"md\",\n LG: \"lg\"\n}, S = Object.values(f), z = ({\n [\"data-testid\"]: n,\n disabled: o = !1,\n negative: s = !1,\n size: c = f.SM,\n ...u\n}) => /* @__PURE__ */ _(\n \"div\",\n {\n className: a([p[i], p[`${i}--${c}`]]),\n \"data-testid\": n,\n ...u,\n children: /* @__PURE__ */ _(\"svg\", { viewBox: \"0 0 50 50\", children: /* @__PURE__ */ _(\n \"circle\",\n {\n className: a(p[`${i}__circle`], {\n [p[`${i}__circle--disabled`]]: o,\n [p[`${i}__circle--negative`]]: s\n }),\n cx: \"25\",\n cy: \"25\",\n r: \"20\"\n }\n ) })\n }\n);\nexport {\n f as SPINNER_SIZE,\n z as Spinner,\n S as spinnerSizes\n};\n//# sourceMappingURL=spinner.es.js.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { ButtonHTMLAttributes, ForwardedRef, forwardRef, MouseEvent } from \"react\";\nimport { ActionProps, SIZE, VARIANT } from \"@purpurds/action\";\nimport { Spinner } from \"@purpurds/spinner\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./button.module.scss\";\n\nexport const BUTTON_VARIANT = {\n ...VARIANT,\n DESTRUCTIVE: \"destructive\",\n TERTIARY_PURPLE: \"tertiary-purple\",\n TEXT: \"text\",\n} as const;\n\nexport const buttonVariants = Object.values(BUTTON_VARIANT);\nexport type ButtonVariant = (typeof BUTTON_VARIANT)[keyof typeof BUTTON_VARIANT];\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-button\";\n\nexport type ButtonProps = ActionProps<ButtonVariant> &\n ButtonHTMLAttributes<HTMLButtonElement> & { loading?: boolean };\n\nconst ButtonComponent = (\n {\n children,\n className,\n [\"data-testid\"]: dataTestid,\n disabled = false,\n fullWidth = false,\n iconOnly,\n loading = false,\n negative = false,\n onClick,\n size = SIZE.MD,\n variant,\n type = \"button\",\n ...props\n }: ButtonProps,\n ref: ForwardedRef<HTMLButtonElement>\n) => {\n if (iconOnly && variant === \"destructive\") {\n return null;\n }\n const classes = cx(\n [\n rootClassName,\n `${rootClassName}--${negative ? `${variant}-negative` : variant}`,\n `${rootClassName}--${size}`,\n ],\n {\n [`${rootClassName}--icon-only`]: iconOnly,\n [`${rootClassName}--negative`]: negative,\n [`${rootClassName}--full-width`]: fullWidth,\n [`${rootClassName}--disabled`]: disabled || loading,\n },\n className\n );\n\n const handleClick = (e: MouseEvent<HTMLButtonElement>) => {\n if (disabled || loading) {\n e.preventDefault();\n } else if (onClick) {\n onClick(e);\n }\n };\n\n const _disabled = Boolean(props[\"aria-disabled\"]) || disabled || loading;\n\n return (\n <button\n className={classes}\n data-testid={dataTestid}\n // eslint-disable-next-line react/button-has-type\n type={type}\n ref={ref}\n aria-disabled={_disabled}\n onClick={handleClick}\n {...props}\n >\n {loading && (\n <Spinner size={size === SIZE.LG ? \"xs\" : \"xxs\"} negative={negative} disabled={_disabled} />\n )}{\" \"}\n {children}\n </button>\n );\n};\n\nexport const Button = forwardRef(ButtonComponent);\nButton.displayName = \"Button\";\n"],"names":["s","e","d","n","l","r","t","u","c","x","a","m","j","p","i","f","z","_","hasOwn","classNames","classes","arg","appendClass","parseValue","key","value","newClass","module","BUTTON_VARIANT","VARIANT","buttonVariants","cx","styles","rootClassName","ButtonComponent","children","className","dataTestid","disabled","fullWidth","iconOnly","loading","negative","onClick","size","SIZE","variant","type","props","ref","handleClick","_disabled","jsxs","jsx","Spinner","Button","forwardRef"],"mappings":"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","x_google_ignoreList":[2]}
1
+ {"version":3,"file":"button.cjs.js","sources":["../../../libraries/action/dist/action.es.js","../../spinner/dist/spinner.es.js","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/button.tsx"],"sourcesContent":["const s = {\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\",\n EXPRESSIVE: \"expressive\"\n}, t = Object.values(s), e = {\n SM: \"sm\",\n MD: \"md\",\n LG: \"lg\"\n}, c = Object.values(e);\nexport {\n e as SIZE,\n s as VARIANT,\n c as sizes,\n t as variants\n};\n//# sourceMappingURL=action.es.js.map\n","import { jsx as _ } from \"react/jsx-runtime\";\nfunction d(n) {\n return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, \"default\") ? n.default : n;\n}\nvar l = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n(function(n) {\n (function() {\n var o = {}.hasOwnProperty;\n function s() {\n for (var r = \"\", e = 0; e < arguments.length; e++) {\n var t = arguments[e];\n t && (r = u(r, c(t)));\n }\n return r;\n }\n function c(r) {\n if (typeof r == \"string\" || typeof r == \"number\")\n return r;\n if (typeof r != \"object\")\n return \"\";\n if (Array.isArray(r))\n return s.apply(null, r);\n if (r.toString !== Object.prototype.toString && !r.toString.toString().includes(\"[native code]\"))\n return r.toString();\n var e = \"\";\n for (var t in r)\n o.call(r, t) && r[t] && (e = u(e, t));\n return e;\n }\n function u(r, e) {\n return e ? r ? r + \" \" + e : r + e : r;\n }\n n.exports ? (s.default = s, n.exports = s) : window.classNames = s;\n })();\n})(l);\nvar x = l.exports;\nconst a = /* @__PURE__ */ d(x), m = \"_rotate_1xozj_1\", j = \"_dash_1xozj_1\", p = {\n \"purpur-spinner\": \"_purpur-spinner_1xozj_1\",\n rotate: m,\n \"purpur-spinner--xxs\": \"_purpur-spinner--xxs_1xozj_4\",\n \"purpur-spinner--xs\": \"_purpur-spinner--xs_1xozj_8\",\n \"purpur-spinner--sm\": \"_purpur-spinner--sm_1xozj_12\",\n \"purpur-spinner--md\": \"_purpur-spinner--md_1xozj_16\",\n \"purpur-spinner--lg\": \"_purpur-spinner--lg_1xozj_20\",\n \"purpur-spinner__circle\": \"_purpur-spinner__circle_1xozj_24\",\n dash: j,\n \"purpur-spinner__circle--disabled\": \"_purpur-spinner__circle--disabled_1xozj_33\",\n \"purpur-spinner__circle--negative\": \"_purpur-spinner__circle--negative_1xozj_36\"\n}, i = \"purpur-spinner\", f = {\n XXS: \"xxs\",\n XS: \"xs\",\n SM: \"sm\",\n MD: \"md\",\n LG: \"lg\"\n}, S = Object.values(f), z = ({\n [\"data-testid\"]: n,\n disabled: o = !1,\n negative: s = !1,\n size: c = f.SM,\n ...u\n}) => /* @__PURE__ */ _(\n \"div\",\n {\n className: a([p[i], p[`${i}--${c}`]]),\n \"data-testid\": n,\n ...u,\n children: /* @__PURE__ */ _(\"svg\", { viewBox: \"0 0 50 50\", children: /* @__PURE__ */ _(\n \"circle\",\n {\n className: a(p[`${i}__circle`], {\n [p[`${i}__circle--disabled`]]: o,\n [p[`${i}__circle--negative`]]: s\n }),\n cx: \"25\",\n cy: \"25\",\n r: \"20\"\n }\n ) })\n }\n);\nexport {\n f as SPINNER_SIZE,\n z as Spinner,\n S as spinnerSizes\n};\n//# sourceMappingURL=spinner.es.js.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { ButtonHTMLAttributes, ForwardedRef, forwardRef, MouseEvent } from \"react\";\nimport { ActionProps, SIZE, VARIANT } from \"@purpurds/action\";\nimport { Spinner } from \"@purpurds/spinner\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./button.module.scss\";\n\nexport const BUTTON_VARIANT = {\n ...VARIANT,\n DESTRUCTIVE: \"destructive\",\n TERTIARY_PURPLE: \"tertiary-purple\",\n TEXT: \"text\",\n} as const;\n\nexport const buttonVariants = Object.values(BUTTON_VARIANT);\nexport type ButtonVariant = (typeof BUTTON_VARIANT)[keyof typeof BUTTON_VARIANT];\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-button\";\n\ntype ButtonType = Pick<ButtonHTMLAttributes<HTMLButtonElement>, \"type\">[\"type\"];\nexport const BUTTON_TYPES: ButtonType[] = [\"button\", \"submit\", \"reset\"] as const;\n\nexport type ButtonProps = ActionProps<ButtonVariant> &\n ButtonHTMLAttributes<HTMLButtonElement> & { loading?: boolean };\n\nconst ButtonComponent = (\n {\n children,\n className,\n [\"data-testid\"]: dataTestid,\n disabled = false,\n fullWidth = false,\n iconOnly,\n loading = false,\n negative = false,\n onClick,\n size = \"md\",\n variant,\n type = \"button\",\n ...props\n }: Omit<ButtonProps, \"type\"> & { type?: ButtonType },\n ref: ForwardedRef<HTMLButtonElement>\n) => {\n if (iconOnly && variant === \"destructive\") {\n return null;\n }\n const classes = cx(\n [\n rootClassName,\n `${rootClassName}--${negative ? `${variant}-negative` : variant}`,\n `${rootClassName}--${size}`,\n ],\n {\n [`${rootClassName}--icon-only`]: iconOnly,\n [`${rootClassName}--negative`]: negative,\n [`${rootClassName}--full-width`]: fullWidth,\n [`${rootClassName}--disabled`]: disabled || loading,\n },\n className\n );\n\n const handleClick = (e: MouseEvent<HTMLButtonElement>) => {\n if (disabled || loading) {\n e.preventDefault();\n } else if (onClick) {\n onClick(e);\n }\n };\n\n const _disabled = Boolean(props[\"aria-disabled\"]) || disabled || loading;\n\n return (\n <button\n className={classes}\n data-testid={dataTestid}\n // eslint-disable-next-line react/button-has-type\n type={type}\n ref={ref}\n aria-disabled={_disabled}\n onClick={handleClick}\n {...props}\n >\n {loading && (\n <Spinner size={size === SIZE.LG ? \"xs\" : \"xxs\"} negative={negative} disabled={_disabled} />\n )}{\" \"}\n {children}\n </button>\n );\n};\n\nexport const Button = forwardRef(ButtonComponent);\nButton.displayName = \"Button\";\n"],"names":["s","e","d","n","l","r","t","u","c","x","a","m","j","p","i","f","z","_","hasOwn","classNames","classes","arg","appendClass","parseValue","key","value","newClass","module","BUTTON_VARIANT","VARIANT","buttonVariants","cx","styles","rootClassName","BUTTON_TYPES","ButtonComponent","children","className","dataTestid","disabled","fullWidth","iconOnly","loading","negative","onClick","size","variant","type","props","ref","handleClick","_disabled","jsxs","jsx","Spinner","SIZE","Button","forwardRef"],"mappings":"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","x_google_ignoreList":[2]}
package/dist/button.d.ts CHANGED
@@ -11,8 +11,13 @@ export declare const BUTTON_VARIANT: {
11
11
  };
12
12
  export declare const buttonVariants: ("destructive" | "tertiary-purple" | "text" | "primary" | "secondary" | "expressive")[];
13
13
  export type ButtonVariant = (typeof BUTTON_VARIANT)[keyof typeof BUTTON_VARIANT];
14
+ type ButtonType = Pick<ButtonHTMLAttributes<HTMLButtonElement>, "type">["type"];
15
+ export declare const BUTTON_TYPES: ButtonType[];
14
16
  export type ButtonProps = ActionProps<ButtonVariant> & ButtonHTMLAttributes<HTMLButtonElement> & {
15
17
  loading?: boolean;
16
18
  };
17
- export declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
19
+ export declare const Button: React.ForwardRefExoticComponent<Omit<ButtonProps, "type"> & {
20
+ type?: ButtonType;
21
+ } & React.RefAttributes<HTMLButtonElement>>;
22
+ export {};
18
23
  //# sourceMappingURL=button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../src/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,oBAAoB,EAAwC,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAiB,MAAM,kBAAkB,CAAC;AAM9D,eAAO,MAAM,cAAc;;;;;;;CAKjB,CAAC;AAEX,eAAO,MAAM,cAAc,yFAAgC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAKjF,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,GAClD,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAmElE,eAAO,MAAM,MAAM,uFAA8B,CAAC"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../src/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,oBAAoB,EAAwC,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAiB,MAAM,kBAAkB,CAAC;AAM9D,eAAO,MAAM,cAAc;;;;;;;CAKjB,CAAC;AAEX,eAAO,MAAM,cAAc,yFAAgC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAKjF,KAAK,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAChF,eAAO,MAAM,YAAY,EAAE,UAAU,EAA2C,CAAC;AAEjF,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,GAClD,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAmElE,eAAO,MAAM,MAAM;WAlDuB,UAAU;2CAkDH,CAAC"}
package/dist/button.es.js CHANGED
@@ -1,10 +1,10 @@
1
- import { jsx as c, jsxs as w } from "react/jsx-runtime";
2
- import { forwardRef as E } from "react";
3
- const N = {
1
+ import { jsx as c, jsxs as z } from "react/jsx-runtime";
2
+ import { forwardRef as w } from "react";
3
+ const E = {
4
4
  PRIMARY: "primary",
5
5
  SECONDARY: "secondary",
6
6
  EXPRESSIVE: "expressive"
7
- }, x = {
7
+ }, N = {
8
8
  SM: "sm",
9
9
  MD: "md",
10
10
  LG: "lg"
@@ -12,7 +12,7 @@ const N = {
12
12
  function O(u) {
13
13
  return u && u.__esModule && Object.prototype.hasOwnProperty.call(u, "default") ? u.default : u;
14
14
  }
15
- var g = { exports: {} };
15
+ var y = { exports: {} };
16
16
  /*!
17
17
  Copyright (c) 2018 Jed Watson.
18
18
  Licensed under the MIT License (MIT), see
@@ -47,44 +47,44 @@ var g = { exports: {} };
47
47
  }
48
48
  u.exports ? (n.default = n, u.exports = n) : window.classNames = n;
49
49
  })();
50
- })(g);
51
- var R = g.exports;
52
- const m = /* @__PURE__ */ O(R), A = "_rotate_1xozj_1", M = "_dash_1xozj_1", _ = {
50
+ })(y);
51
+ var T = y.exports;
52
+ const m = /* @__PURE__ */ O(T), R = "_rotate_1xozj_1", A = "_dash_1xozj_1", a = {
53
53
  "purpur-spinner": "_purpur-spinner_1xozj_1",
54
- rotate: A,
54
+ rotate: R,
55
55
  "purpur-spinner--xxs": "_purpur-spinner--xxs_1xozj_4",
56
56
  "purpur-spinner--xs": "_purpur-spinner--xs_1xozj_8",
57
57
  "purpur-spinner--sm": "_purpur-spinner--sm_1xozj_12",
58
58
  "purpur-spinner--md": "_purpur-spinner--md_1xozj_16",
59
59
  "purpur-spinner--lg": "_purpur-spinner--lg_1xozj_20",
60
60
  "purpur-spinner__circle": "_purpur-spinner__circle_1xozj_24",
61
- dash: M,
61
+ dash: A,
62
62
  "purpur-spinner__circle--disabled": "_purpur-spinner__circle--disabled_1xozj_33",
63
63
  "purpur-spinner__circle--negative": "_purpur-spinner__circle--negative_1xozj_36"
64
- }, a = "purpur-spinner", T = {
64
+ }, _ = "purpur-spinner", P = {
65
65
  XXS: "xxs",
66
66
  XS: "xs",
67
67
  SM: "sm",
68
68
  MD: "md",
69
69
  LG: "lg"
70
- }, P = ({
70
+ }, M = ({
71
71
  ["data-testid"]: u,
72
72
  disabled: o = !1,
73
73
  negative: n = !1,
74
- size: p = T.SM,
74
+ size: p = P.SM,
75
75
  ...s
76
76
  }) => /* @__PURE__ */ c(
77
77
  "div",
78
78
  {
79
- className: m([_[a], _[`${a}--${p}`]]),
79
+ className: m([a[_], a[`${_}--${p}`]]),
80
80
  "data-testid": u,
81
81
  ...s,
82
82
  children: /* @__PURE__ */ c("svg", { viewBox: "0 0 50 50", children: /* @__PURE__ */ c(
83
83
  "circle",
84
84
  {
85
- className: m(_[`${a}__circle`], {
86
- [_[`${a}__circle--disabled`]]: o,
87
- [_[`${a}__circle--negative`]]: n
85
+ className: m(a[`${_}__circle`], {
86
+ [a[`${_}__circle--disabled`]]: o,
87
+ [a[`${_}__circle--negative`]]: n
88
88
  }),
89
89
  cx: "25",
90
90
  cy: "25",
@@ -93,10 +93,10 @@ const m = /* @__PURE__ */ O(R), A = "_rotate_1xozj_1", M = "_dash_1xozj_1", _ =
93
93
  ) })
94
94
  }
95
95
  );
96
- function D(u) {
96
+ function B(u) {
97
97
  return u && u.__esModule && Object.prototype.hasOwnProperty.call(u, "default") ? u.default : u;
98
98
  }
99
- var h = { exports: {} };
99
+ var g = { exports: {} };
100
100
  /*!
101
101
  Copyright (c) 2018 Jed Watson.
102
102
  Licensed under the MIT License (MIT), see
@@ -131,35 +131,35 @@ var h = { exports: {} };
131
131
  }
132
132
  u.exports ? (n.default = n, u.exports = n) : window.classNames = n;
133
133
  })();
134
- })(h);
135
- var B = h.exports;
136
- const C = /* @__PURE__ */ D(B), I = {
137
- "purpur-button": "_purpur-button_u2yv5_1",
138
- "purpur-button--sm": "_purpur-button--sm_u2yv5_33",
139
- "purpur-button--icon-only": "_purpur-button--icon-only_u2yv5_36",
140
- "purpur-button--md": "_purpur-button--md_u2yv5_39",
141
- "purpur-button--lg": "_purpur-button--lg_u2yv5_45",
142
- "purpur-button--full-width": "_purpur-button--full-width_u2yv5_51",
143
- "purpur-button--primary": "_purpur-button--primary_u2yv5_54",
144
- "purpur-button--disabled": "_purpur-button--disabled_u2yv5_58",
145
- "purpur-button--primary-negative": "_purpur-button--primary-negative_u2yv5_64",
146
- "purpur-button--secondary": "_purpur-button--secondary_u2yv5_76",
147
- "purpur-button--secondary-negative": "_purpur-button--secondary-negative_u2yv5_87",
148
- "purpur-button--expressive": "_purpur-button--expressive_u2yv5_98",
149
- "purpur-button--expressive-negative": "_purpur-button--expressive-negative_u2yv5_108",
150
- "purpur-button--negative": "_purpur-button--negative_u2yv5_120",
151
- "purpur-button--destructive": "_purpur-button--destructive_u2yv5_127",
152
- "purpur-button--destructive-negative": "_purpur-button--destructive-negative_u2yv5_137",
153
- "purpur-button--tertiary-purple": "_purpur-button--tertiary-purple_u2yv5_147",
154
- "purpur-button--tertiary-purple-negative": "_purpur-button--tertiary-purple-negative_u2yv5_160",
155
- "purpur-button--text-negative": "_purpur-button--text-negative_u2yv5_175",
156
- "purpur-button--text": "_purpur-button--text_u2yv5_175"
134
+ })(g);
135
+ var D = g.exports;
136
+ const C = /* @__PURE__ */ B(D), I = {
137
+ "purpur-button": "_purpur-button_1acxn_1",
138
+ "purpur-button--sm": "_purpur-button--sm_1acxn_33",
139
+ "purpur-button--icon-only": "_purpur-button--icon-only_1acxn_36",
140
+ "purpur-button--md": "_purpur-button--md_1acxn_39",
141
+ "purpur-button--lg": "_purpur-button--lg_1acxn_45",
142
+ "purpur-button--full-width": "_purpur-button--full-width_1acxn_51",
143
+ "purpur-button--primary": "_purpur-button--primary_1acxn_54",
144
+ "purpur-button--disabled": "_purpur-button--disabled_1acxn_58",
145
+ "purpur-button--primary-negative": "_purpur-button--primary-negative_1acxn_64",
146
+ "purpur-button--secondary": "_purpur-button--secondary_1acxn_76",
147
+ "purpur-button--secondary-negative": "_purpur-button--secondary-negative_1acxn_87",
148
+ "purpur-button--expressive": "_purpur-button--expressive_1acxn_98",
149
+ "purpur-button--expressive-negative": "_purpur-button--expressive-negative_1acxn_108",
150
+ "purpur-button--negative": "_purpur-button--negative_1acxn_120",
151
+ "purpur-button--destructive": "_purpur-button--destructive_1acxn_127",
152
+ "purpur-button--destructive-negative": "_purpur-button--destructive-negative_1acxn_137",
153
+ "purpur-button--tertiary-purple": "_purpur-button--tertiary-purple_1acxn_147",
154
+ "purpur-button--tertiary-purple-negative": "_purpur-button--tertiary-purple-negative_1acxn_160",
155
+ "purpur-button--text-negative": "_purpur-button--text-negative_1acxn_175",
156
+ "purpur-button--text": "_purpur-button--text_1acxn_175"
157
157
  }, V = {
158
- ...N,
158
+ ...E,
159
159
  DESTRUCTIVE: "destructive",
160
160
  TERTIARY_PURPLE: "tertiary-purple",
161
161
  TEXT: "text"
162
- }, F = Object.values(V), X = C.bind(I), i = "purpur-button", L = ({
162
+ }, F = Object.values(V), X = C.bind(I), i = "purpur-button", q = ["button", "submit", "reset"], L = ({
163
163
  children: u,
164
164
  className: o,
165
165
  ["data-testid"]: n,
@@ -169,18 +169,18 @@ const C = /* @__PURE__ */ D(B), I = {
169
169
  loading: r = !1,
170
170
  negative: e = !1,
171
171
  onClick: d,
172
- size: v = x.MD,
172
+ size: b = "md",
173
173
  variant: l,
174
- type: j = "button",
175
- ...b
176
- }, S) => {
174
+ type: h = "button",
175
+ ...x
176
+ }, j) => {
177
177
  if (t && l === "destructive")
178
178
  return null;
179
- const $ = X(
179
+ const S = X(
180
180
  [
181
181
  i,
182
182
  `${i}--${e ? `${l}-negative` : l}`,
183
- `${i}--${v}`
183
+ `${i}--${b}`
184
184
  ],
185
185
  {
186
186
  [`${i}--icon-only`]: t,
@@ -189,31 +189,32 @@ const C = /* @__PURE__ */ D(B), I = {
189
189
  [`${i}--disabled`]: p || r
190
190
  },
191
191
  o
192
- ), z = (y) => {
193
- p || r ? y.preventDefault() : d && d(y);
194
- }, f = !!b["aria-disabled"] || p || r;
195
- return /* @__PURE__ */ w(
192
+ ), $ = (v) => {
193
+ p || r ? v.preventDefault() : d && d(v);
194
+ }, f = !!x["aria-disabled"] || p || r;
195
+ return /* @__PURE__ */ z(
196
196
  "button",
197
197
  {
198
- className: $,
198
+ className: S,
199
199
  "data-testid": n,
200
- type: j,
201
- ref: S,
200
+ type: h,
201
+ ref: j,
202
202
  "aria-disabled": f,
203
- onClick: z,
204
- ...b,
203
+ onClick: $,
204
+ ...x,
205
205
  children: [
206
- r && /* @__PURE__ */ c(P, { size: v === x.LG ? "xs" : "xxs", negative: e, disabled: f }),
206
+ r && /* @__PURE__ */ c(M, { size: b === N.LG ? "xs" : "xxs", negative: e, disabled: f }),
207
207
  " ",
208
208
  u
209
209
  ]
210
210
  }
211
211
  );
212
- }, G = E(L);
213
- G.displayName = "Button";
212
+ }, U = w(L);
213
+ U.displayName = "Button";
214
214
  export {
215
+ q as BUTTON_TYPES,
215
216
  V as BUTTON_VARIANT,
216
- G as Button,
217
+ U as Button,
217
218
  F as buttonVariants
218
219
  };
219
220
  //# sourceMappingURL=button.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.es.js","sources":["../../../libraries/action/dist/action.es.js","../../spinner/dist/spinner.es.js","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/button.tsx"],"sourcesContent":["const s = {\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\",\n EXPRESSIVE: \"expressive\"\n}, t = Object.values(s), e = {\n SM: \"sm\",\n MD: \"md\",\n LG: \"lg\"\n}, c = Object.values(e);\nexport {\n e as SIZE,\n s as VARIANT,\n c as sizes,\n t as variants\n};\n//# sourceMappingURL=action.es.js.map\n","import { jsx as _ } from \"react/jsx-runtime\";\nfunction d(n) {\n return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, \"default\") ? n.default : n;\n}\nvar l = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n(function(n) {\n (function() {\n var o = {}.hasOwnProperty;\n function s() {\n for (var r = \"\", e = 0; e < arguments.length; e++) {\n var t = arguments[e];\n t && (r = u(r, c(t)));\n }\n return r;\n }\n function c(r) {\n if (typeof r == \"string\" || typeof r == \"number\")\n return r;\n if (typeof r != \"object\")\n return \"\";\n if (Array.isArray(r))\n return s.apply(null, r);\n if (r.toString !== Object.prototype.toString && !r.toString.toString().includes(\"[native code]\"))\n return r.toString();\n var e = \"\";\n for (var t in r)\n o.call(r, t) && r[t] && (e = u(e, t));\n return e;\n }\n function u(r, e) {\n return e ? r ? r + \" \" + e : r + e : r;\n }\n n.exports ? (s.default = s, n.exports = s) : window.classNames = s;\n })();\n})(l);\nvar x = l.exports;\nconst a = /* @__PURE__ */ d(x), m = \"_rotate_1xozj_1\", j = \"_dash_1xozj_1\", p = {\n \"purpur-spinner\": \"_purpur-spinner_1xozj_1\",\n rotate: m,\n \"purpur-spinner--xxs\": \"_purpur-spinner--xxs_1xozj_4\",\n \"purpur-spinner--xs\": \"_purpur-spinner--xs_1xozj_8\",\n \"purpur-spinner--sm\": \"_purpur-spinner--sm_1xozj_12\",\n \"purpur-spinner--md\": \"_purpur-spinner--md_1xozj_16\",\n \"purpur-spinner--lg\": \"_purpur-spinner--lg_1xozj_20\",\n \"purpur-spinner__circle\": \"_purpur-spinner__circle_1xozj_24\",\n dash: j,\n \"purpur-spinner__circle--disabled\": \"_purpur-spinner__circle--disabled_1xozj_33\",\n \"purpur-spinner__circle--negative\": \"_purpur-spinner__circle--negative_1xozj_36\"\n}, i = \"purpur-spinner\", f = {\n XXS: \"xxs\",\n XS: \"xs\",\n SM: \"sm\",\n MD: \"md\",\n LG: \"lg\"\n}, S = Object.values(f), z = ({\n [\"data-testid\"]: n,\n disabled: o = !1,\n negative: s = !1,\n size: c = f.SM,\n ...u\n}) => /* @__PURE__ */ _(\n \"div\",\n {\n className: a([p[i], p[`${i}--${c}`]]),\n \"data-testid\": n,\n ...u,\n children: /* @__PURE__ */ _(\"svg\", { viewBox: \"0 0 50 50\", children: /* @__PURE__ */ _(\n \"circle\",\n {\n className: a(p[`${i}__circle`], {\n [p[`${i}__circle--disabled`]]: o,\n [p[`${i}__circle--negative`]]: s\n }),\n cx: \"25\",\n cy: \"25\",\n r: \"20\"\n }\n ) })\n }\n);\nexport {\n f as SPINNER_SIZE,\n z as Spinner,\n S as spinnerSizes\n};\n//# sourceMappingURL=spinner.es.js.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { ButtonHTMLAttributes, ForwardedRef, forwardRef, MouseEvent } from \"react\";\nimport { ActionProps, SIZE, VARIANT } from \"@purpurds/action\";\nimport { Spinner } from \"@purpurds/spinner\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./button.module.scss\";\n\nexport const BUTTON_VARIANT = {\n ...VARIANT,\n DESTRUCTIVE: \"destructive\",\n TERTIARY_PURPLE: \"tertiary-purple\",\n TEXT: \"text\",\n} as const;\n\nexport const buttonVariants = Object.values(BUTTON_VARIANT);\nexport type ButtonVariant = (typeof BUTTON_VARIANT)[keyof typeof BUTTON_VARIANT];\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-button\";\n\nexport type ButtonProps = ActionProps<ButtonVariant> &\n ButtonHTMLAttributes<HTMLButtonElement> & { loading?: boolean };\n\nconst ButtonComponent = (\n {\n children,\n className,\n [\"data-testid\"]: dataTestid,\n disabled = false,\n fullWidth = false,\n iconOnly,\n loading = false,\n negative = false,\n onClick,\n size = SIZE.MD,\n variant,\n type = \"button\",\n ...props\n }: ButtonProps,\n ref: ForwardedRef<HTMLButtonElement>\n) => {\n if (iconOnly && variant === \"destructive\") {\n return null;\n }\n const classes = cx(\n [\n rootClassName,\n `${rootClassName}--${negative ? `${variant}-negative` : variant}`,\n `${rootClassName}--${size}`,\n ],\n {\n [`${rootClassName}--icon-only`]: iconOnly,\n [`${rootClassName}--negative`]: negative,\n [`${rootClassName}--full-width`]: fullWidth,\n [`${rootClassName}--disabled`]: disabled || loading,\n },\n className\n );\n\n const handleClick = (e: MouseEvent<HTMLButtonElement>) => {\n if (disabled || loading) {\n e.preventDefault();\n } else if (onClick) {\n onClick(e);\n }\n };\n\n const _disabled = Boolean(props[\"aria-disabled\"]) || disabled || loading;\n\n return (\n <button\n className={classes}\n data-testid={dataTestid}\n // eslint-disable-next-line react/button-has-type\n type={type}\n ref={ref}\n aria-disabled={_disabled}\n onClick={handleClick}\n {...props}\n >\n {loading && (\n <Spinner size={size === SIZE.LG ? \"xs\" : \"xxs\"} negative={negative} disabled={_disabled} />\n )}{\" \"}\n {children}\n </button>\n );\n};\n\nexport const Button = forwardRef(ButtonComponent);\nButton.displayName = \"Button\";\n"],"names":["s","e","d","n","l","r","t","u","c","x","a","m","j","p","i","f","z","_","hasOwn","classNames","classes","arg","appendClass","parseValue","key","value","newClass","module","BUTTON_VARIANT","VARIANT","buttonVariants","cx","styles","rootClassName","ButtonComponent","children","className","dataTestid","disabled","fullWidth","iconOnly","loading","negative","onClick","size","SIZE","variant","type","props","ref","handleClick","_disabled","jsxs","jsx","Spinner","Button","forwardRef"],"mappings":"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","x_google_ignoreList":[2]}
1
+ {"version":3,"file":"button.es.js","sources":["../../../libraries/action/dist/action.es.js","../../spinner/dist/spinner.es.js","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/button.tsx"],"sourcesContent":["const s = {\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\",\n EXPRESSIVE: \"expressive\"\n}, t = Object.values(s), e = {\n SM: \"sm\",\n MD: \"md\",\n LG: \"lg\"\n}, c = Object.values(e);\nexport {\n e as SIZE,\n s as VARIANT,\n c as sizes,\n t as variants\n};\n//# sourceMappingURL=action.es.js.map\n","import { jsx as _ } from \"react/jsx-runtime\";\nfunction d(n) {\n return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, \"default\") ? n.default : n;\n}\nvar l = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n(function(n) {\n (function() {\n var o = {}.hasOwnProperty;\n function s() {\n for (var r = \"\", e = 0; e < arguments.length; e++) {\n var t = arguments[e];\n t && (r = u(r, c(t)));\n }\n return r;\n }\n function c(r) {\n if (typeof r == \"string\" || typeof r == \"number\")\n return r;\n if (typeof r != \"object\")\n return \"\";\n if (Array.isArray(r))\n return s.apply(null, r);\n if (r.toString !== Object.prototype.toString && !r.toString.toString().includes(\"[native code]\"))\n return r.toString();\n var e = \"\";\n for (var t in r)\n o.call(r, t) && r[t] && (e = u(e, t));\n return e;\n }\n function u(r, e) {\n return e ? r ? r + \" \" + e : r + e : r;\n }\n n.exports ? (s.default = s, n.exports = s) : window.classNames = s;\n })();\n})(l);\nvar x = l.exports;\nconst a = /* @__PURE__ */ d(x), m = \"_rotate_1xozj_1\", j = \"_dash_1xozj_1\", p = {\n \"purpur-spinner\": \"_purpur-spinner_1xozj_1\",\n rotate: m,\n \"purpur-spinner--xxs\": \"_purpur-spinner--xxs_1xozj_4\",\n \"purpur-spinner--xs\": \"_purpur-spinner--xs_1xozj_8\",\n \"purpur-spinner--sm\": \"_purpur-spinner--sm_1xozj_12\",\n \"purpur-spinner--md\": \"_purpur-spinner--md_1xozj_16\",\n \"purpur-spinner--lg\": \"_purpur-spinner--lg_1xozj_20\",\n \"purpur-spinner__circle\": \"_purpur-spinner__circle_1xozj_24\",\n dash: j,\n \"purpur-spinner__circle--disabled\": \"_purpur-spinner__circle--disabled_1xozj_33\",\n \"purpur-spinner__circle--negative\": \"_purpur-spinner__circle--negative_1xozj_36\"\n}, i = \"purpur-spinner\", f = {\n XXS: \"xxs\",\n XS: \"xs\",\n SM: \"sm\",\n MD: \"md\",\n LG: \"lg\"\n}, S = Object.values(f), z = ({\n [\"data-testid\"]: n,\n disabled: o = !1,\n negative: s = !1,\n size: c = f.SM,\n ...u\n}) => /* @__PURE__ */ _(\n \"div\",\n {\n className: a([p[i], p[`${i}--${c}`]]),\n \"data-testid\": n,\n ...u,\n children: /* @__PURE__ */ _(\"svg\", { viewBox: \"0 0 50 50\", children: /* @__PURE__ */ _(\n \"circle\",\n {\n className: a(p[`${i}__circle`], {\n [p[`${i}__circle--disabled`]]: o,\n [p[`${i}__circle--negative`]]: s\n }),\n cx: \"25\",\n cy: \"25\",\n r: \"20\"\n }\n ) })\n }\n);\nexport {\n f as SPINNER_SIZE,\n z as Spinner,\n S as spinnerSizes\n};\n//# sourceMappingURL=spinner.es.js.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { ButtonHTMLAttributes, ForwardedRef, forwardRef, MouseEvent } from \"react\";\nimport { ActionProps, SIZE, VARIANT } from \"@purpurds/action\";\nimport { Spinner } from \"@purpurds/spinner\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./button.module.scss\";\n\nexport const BUTTON_VARIANT = {\n ...VARIANT,\n DESTRUCTIVE: \"destructive\",\n TERTIARY_PURPLE: \"tertiary-purple\",\n TEXT: \"text\",\n} as const;\n\nexport const buttonVariants = Object.values(BUTTON_VARIANT);\nexport type ButtonVariant = (typeof BUTTON_VARIANT)[keyof typeof BUTTON_VARIANT];\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-button\";\n\ntype ButtonType = Pick<ButtonHTMLAttributes<HTMLButtonElement>, \"type\">[\"type\"];\nexport const BUTTON_TYPES: ButtonType[] = [\"button\", \"submit\", \"reset\"] as const;\n\nexport type ButtonProps = ActionProps<ButtonVariant> &\n ButtonHTMLAttributes<HTMLButtonElement> & { loading?: boolean };\n\nconst ButtonComponent = (\n {\n children,\n className,\n [\"data-testid\"]: dataTestid,\n disabled = false,\n fullWidth = false,\n iconOnly,\n loading = false,\n negative = false,\n onClick,\n size = \"md\",\n variant,\n type = \"button\",\n ...props\n }: Omit<ButtonProps, \"type\"> & { type?: ButtonType },\n ref: ForwardedRef<HTMLButtonElement>\n) => {\n if (iconOnly && variant === \"destructive\") {\n return null;\n }\n const classes = cx(\n [\n rootClassName,\n `${rootClassName}--${negative ? `${variant}-negative` : variant}`,\n `${rootClassName}--${size}`,\n ],\n {\n [`${rootClassName}--icon-only`]: iconOnly,\n [`${rootClassName}--negative`]: negative,\n [`${rootClassName}--full-width`]: fullWidth,\n [`${rootClassName}--disabled`]: disabled || loading,\n },\n className\n );\n\n const handleClick = (e: MouseEvent<HTMLButtonElement>) => {\n if (disabled || loading) {\n e.preventDefault();\n } else if (onClick) {\n onClick(e);\n }\n };\n\n const _disabled = Boolean(props[\"aria-disabled\"]) || disabled || loading;\n\n return (\n <button\n className={classes}\n data-testid={dataTestid}\n // eslint-disable-next-line react/button-has-type\n type={type}\n ref={ref}\n aria-disabled={_disabled}\n onClick={handleClick}\n {...props}\n >\n {loading && (\n <Spinner size={size === SIZE.LG ? \"xs\" : \"xxs\"} negative={negative} disabled={_disabled} />\n )}{\" \"}\n {children}\n </button>\n );\n};\n\nexport const Button = forwardRef(ButtonComponent);\nButton.displayName = \"Button\";\n"],"names":["s","e","d","n","l","r","t","u","c","x","a","m","j","p","i","f","z","_","hasOwn","classNames","classes","arg","appendClass","parseValue","key","value","newClass","module","BUTTON_VARIANT","VARIANT","buttonVariants","cx","styles","rootClassName","BUTTON_TYPES","ButtonComponent","children","className","dataTestid","disabled","fullWidth","iconOnly","loading","negative","onClick","size","variant","type","props","ref","handleClick","_disabled","jsxs","jsx","Spinner","SIZE","Button","forwardRef"],"mappings":"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","x_google_ignoreList":[2]}
package/dist/styles.css CHANGED
@@ -1 +1 @@
1
- ._purpur-button_u2yv5_1{align-items:center;border-radius:var(--purpur-border-radius-full);border-width:0;cursor:pointer;display:inline-flex;font-size:var(--purpur-typography-scale-100);font-family:var(--purpur-typography-family-default);font-weight:var(--purpur-typography-weight-medium);gap:var(--purpur-spacing-100);justify-content:center;line-height:var(--purpur-spacing-300);outline:0;position:relative;text-decoration:none;transition:all var(--purpur-motion-duration-100) ease;width:auto}._purpur-button_u2yv5_1:focus:before{border-radius:var(--purpur-border-radius-full);box-shadow:0 0 0 var(--purpur-border-width-sm) var(--purpur-color-border-interactive-focus);content:"";display:block;inset:calc(var(--purpur-spacing-25) * -1);position:absolute}._purpur-button_u2yv5_1:focus:not(:focus-visible):before{box-shadow:none}._purpur-button_u2yv5_1 svg{display:block}._purpur-button--sm_u2yv5_33{padding:var(--purpur-spacing-100) var(--purpur-spacing-250)}._purpur-button--sm_u2yv5_33._purpur-button--icon-only_u2yv5_36{padding:var(--purpur-spacing-100)}._purpur-button--md_u2yv5_39{padding:var(--purpur-spacing-150) var(--purpur-spacing-300)}._purpur-button--md_u2yv5_39._purpur-button--icon-only_u2yv5_36{padding:var(--purpur-spacing-150)}._purpur-button--lg_u2yv5_45{padding:var(--purpur-spacing-200) var(--purpur-spacing-400)}._purpur-button--lg_u2yv5_45._purpur-button--icon-only_u2yv5_36{padding:var(--purpur-spacing-200)}._purpur-button--full-width_u2yv5_51{width:100%}._purpur-button--primary_u2yv5_54{background-color:var(--purpur-color-background-interactive-primary);color:var(--purpur-color-text-interactive-on-primary)}._purpur-button--primary_u2yv5_54:hover:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-primary-hover)}._purpur-button--primary_u2yv5_54:active:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-primary-active)}._purpur-button--primary-negative_u2yv5_64{background-color:var(--purpur-color-background-interactive-primary-negative);color:var(--purpur-color-text-interactive-on-primary-negative)}._purpur-button--primary-negative_u2yv5_64:hover:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-primary-negative-hover);border-color:var(--purpur-color-background-interactive-primary-negative-hover)}._purpur-button--primary-negative_u2yv5_64:active:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-primary-negative-active);border-color:var(--purpur-color-background-interactive-primary-negative-active)}._purpur-button--secondary_u2yv5_76{background-color:var(--purpur-color-background-interactive-transparent);box-shadow:inset 0 0 0 var(--purpur-border-width-xs) var(--purpur-color-border-interactive-primary);color:var(--purpur-color-text-interactive-primary)}._purpur-button--secondary_u2yv5_76:hover:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-transparent-hover)}._purpur-button--secondary_u2yv5_76:active:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-transparent-active)}._purpur-button--secondary-negative_u2yv5_87{background-color:var(--purpur-color-background-interactive-transparent);box-shadow:inset 0 0 0 var(--purpur-border-width-xs) var(--purpur-color-border-interactive-primary-negative);color:var(--purpur-color-text-interactive-primary-negative)}._purpur-button--secondary-negative_u2yv5_87:hover:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-transparent-negative-hover)}._purpur-button--secondary-negative_u2yv5_87:active:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-transparent-negative-active)}._purpur-button--expressive_u2yv5_98{background-color:var(--purpur-color-background-interactive-expressive);color:var(--purpur-color-text-interactive-on-expressive)}._purpur-button--expressive_u2yv5_98:hover:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-expressive-hover)}._purpur-button--expressive_u2yv5_98:active:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-expressive-active)}._purpur-button--expressive-negative_u2yv5_108{background-color:var(--purpur-color-background-interactive-expressive-negative);color:var(--purpur-color-text-interactive-on-expressive-negative)}._purpur-button--expressive-negative_u2yv5_108:hover:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-expressive-negative-hover);color:var(--purpur-color-text-interactive-on-expressive-negative-hover)}._purpur-button--expressive-negative_u2yv5_108:active:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-expressive-negative-active);color:var(--purpur-color-text-interactive-on-expressive-negative-active)}._purpur-button--negative_u2yv5_120._purpur-button--disabled_u2yv5_58{background-color:var(--purpur-color-background-interactive-disabled-negative);color:var(--purpur-color-text-weak-negative)}._purpur-button--secondary_u2yv5_76._purpur-button--disabled_u2yv5_58,._purpur-button--secondary-negative_u2yv5_87._purpur-button--disabled_u2yv5_58{box-shadow:none}._purpur-button--destructive_u2yv5_127{background-color:var(--purpur-color-background-interactive-destructive);color:var(--purpur-color-text-interactive-on-destructive)}._purpur-button--destructive_u2yv5_127:hover:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-destructive-hover)}._purpur-button--destructive_u2yv5_127:active:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-destructive-active)}._purpur-button--destructive-negative_u2yv5_137{background-color:var(--purpur-color-background-interactive-destructive);color:var(--purpur-color-text-interactive-on-destructive)}._purpur-button--destructive-negative_u2yv5_137:hover:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-destructive-hover)}._purpur-button--destructive-negative_u2yv5_137:active:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-destructive-active)}._purpur-button--tertiary-purple_u2yv5_147{background-color:var(--purpur-color-background-interactive-transparent);color:var(--purpur-color-text-interactive-primary)}._purpur-button--tertiary-purple_u2yv5_147._purpur-button--disabled_u2yv5_58{background-color:var(--purpur-color-background-interactive-transparent)}._purpur-button--tertiary-purple_u2yv5_147:hover:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-transparent-hover)}._purpur-button--tertiary-purple_u2yv5_147:active:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-transparent-active)}._purpur-button--tertiary-purple-negative_u2yv5_160{background-color:var(--purpur-color-background-interactive-transparent);color:var(--purpur-color-text-interactive-primary-negative)}._purpur-button--tertiary-purple-negative_u2yv5_160._purpur-button--disabled_u2yv5_58{background-color:var(--purpur-color-background-interactive-transparent)}._purpur-button--tertiary-purple-negative_u2yv5_160:hover:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-transparent-negative-hover);color:var(--purpur-color-text-interactive-primary-negative-hover)}._purpur-button--tertiary-purple-negative_u2yv5_160:active:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-transparent-negative-active);color:var(--purpur-color-text-interactive-primary-negative-active)}._purpur-button--text-negative_u2yv5_175{border-radius:0;padding-left:0;padding-right:0;background-color:var(--purpur-color-background-interactive-transparent);color:var(--purpur-color-text-interactive-primary-negative)}._purpur-button--text-negative_u2yv5_175:focus-visible:before{border-radius:0}._purpur-button--text-negative_u2yv5_175._purpur-button--disabled_u2yv5_58{background-color:var(--purpur-color-background-interactive-transparent)}._purpur-button--text-negative_u2yv5_175:hover:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-transparent-negative-hover);color:var(--purpur-color-text-interactive-primary-negative-hover)}._purpur-button--text-negative_u2yv5_175:active:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-transparent-negative-active);color:var(--purpur-color-text-interactive-primary-negative-active)}._purpur-button--text_u2yv5_175{border-radius:0;padding-left:0;padding-right:0;background-color:var(--purpur-color-background-interactive-transparent);color:var(--purpur-color-text-interactive-primary)}._purpur-button--text_u2yv5_175:focus-visible:before{border-radius:0}._purpur-button--text_u2yv5_175._purpur-button--disabled_u2yv5_58{background-color:var(--purpur-color-background-interactive-transparent);color:var(--purpur-color-text-weak)}._purpur-button--text_u2yv5_175:hover:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-transparent-hover)}._purpur-button--text_u2yv5_175:active:not(._purpur-button--disabled_u2yv5_58){background-color:var(--purpur-color-background-interactive-transparent-active)}._purpur-button--disabled_u2yv5_58{background-color:var(--purpur-color-background-interactive-disabled);color:var(--purpur-color-text-weak);cursor:not-allowed}
1
+ ._purpur-button_1acxn_1{align-items:center;border-radius:var(--purpur-border-radius-full);border-width:0;cursor:pointer;display:inline-flex;font-size:var(--purpur-typography-scale-100);font-family:var(--purpur-typography-family-default);font-weight:var(--purpur-typography-weight-medium);gap:var(--purpur-spacing-100);justify-content:center;line-height:var(--purpur-spacing-300);outline:0;position:relative;text-decoration:none;transition:all var(--purpur-motion-duration-100) ease;width:auto}._purpur-button_1acxn_1:focus:before{border-radius:var(--purpur-border-radius-full);box-shadow:0 0 0 var(--purpur-border-width-sm) var(--purpur-color-border-interactive-focus);content:"";display:block;inset:calc(var(--purpur-spacing-25) * -1);position:absolute}._purpur-button_1acxn_1:focus:not(:focus-visible):before{box-shadow:none}._purpur-button_1acxn_1 svg{display:block}._purpur-button--sm_1acxn_33{padding:var(--purpur-spacing-100) var(--purpur-spacing-250)}._purpur-button--sm_1acxn_33._purpur-button--icon-only_1acxn_36{padding:var(--purpur-spacing-100)}._purpur-button--md_1acxn_39{padding:var(--purpur-spacing-150) var(--purpur-spacing-300)}._purpur-button--md_1acxn_39._purpur-button--icon-only_1acxn_36{padding:var(--purpur-spacing-150)}._purpur-button--lg_1acxn_45{padding:var(--purpur-spacing-200) var(--purpur-spacing-400)}._purpur-button--lg_1acxn_45._purpur-button--icon-only_1acxn_36{padding:var(--purpur-spacing-200)}._purpur-button--full-width_1acxn_51{width:100%}._purpur-button--primary_1acxn_54{background-color:var(--purpur-color-background-interactive-primary);color:var(--purpur-color-text-interactive-on-primary)}._purpur-button--primary_1acxn_54:hover:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-primary-hover)}._purpur-button--primary_1acxn_54:active:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-primary-active)}._purpur-button--primary-negative_1acxn_64{background-color:var(--purpur-color-background-interactive-primary-negative);color:var(--purpur-color-text-interactive-on-primary-negative)}._purpur-button--primary-negative_1acxn_64:hover:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-primary-negative-hover);border-color:var(--purpur-color-background-interactive-primary-negative-hover)}._purpur-button--primary-negative_1acxn_64:active:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-primary-negative-active);border-color:var(--purpur-color-background-interactive-primary-negative-active)}._purpur-button--secondary_1acxn_76{background-color:var(--purpur-color-background-interactive-transparent);box-shadow:inset 0 0 0 var(--purpur-border-width-xs) var(--purpur-color-border-interactive-primary);color:var(--purpur-color-text-interactive-primary)}._purpur-button--secondary_1acxn_76:hover:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-transparent-hover)}._purpur-button--secondary_1acxn_76:active:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-transparent-active)}._purpur-button--secondary-negative_1acxn_87{background-color:var(--purpur-color-background-interactive-transparent);box-shadow:inset 0 0 0 var(--purpur-border-width-xs) var(--purpur-color-border-interactive-primary-negative);color:var(--purpur-color-text-interactive-primary-negative)}._purpur-button--secondary-negative_1acxn_87:hover:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-transparent-negative-hover)}._purpur-button--secondary-negative_1acxn_87:active:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-transparent-negative-active)}._purpur-button--expressive_1acxn_98{background-color:var(--purpur-color-background-interactive-expressive);color:var(--purpur-color-text-interactive-on-expressive)}._purpur-button--expressive_1acxn_98:hover:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-expressive-hover)}._purpur-button--expressive_1acxn_98:active:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-expressive-active)}._purpur-button--expressive-negative_1acxn_108{background-color:var(--purpur-color-background-interactive-expressive-negative);color:var(--purpur-color-text-interactive-on-expressive-negative)}._purpur-button--expressive-negative_1acxn_108:hover:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-expressive-negative-hover);color:var(--purpur-color-text-interactive-on-expressive-negative-hover)}._purpur-button--expressive-negative_1acxn_108:active:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-expressive-negative-active);color:var(--purpur-color-text-interactive-on-expressive-negative-active)}._purpur-button--negative_1acxn_120._purpur-button--disabled_1acxn_58{background-color:var(--purpur-color-background-interactive-disabled-negative);color:var(--purpur-color-text-weak-negative)}._purpur-button--secondary_1acxn_76._purpur-button--disabled_1acxn_58,._purpur-button--secondary-negative_1acxn_87._purpur-button--disabled_1acxn_58{box-shadow:none}._purpur-button--destructive_1acxn_127{background-color:var(--purpur-color-background-interactive-destructive);color:var(--purpur-color-text-interactive-on-destructive)}._purpur-button--destructive_1acxn_127:hover:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-destructive-hover)}._purpur-button--destructive_1acxn_127:active:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-destructive-active)}._purpur-button--destructive-negative_1acxn_137{background-color:var(--purpur-color-background-interactive-destructive);color:var(--purpur-color-text-interactive-on-destructive)}._purpur-button--destructive-negative_1acxn_137:hover:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-destructive-hover)}._purpur-button--destructive-negative_1acxn_137:active:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-destructive-active)}._purpur-button--tertiary-purple_1acxn_147{background-color:var(--purpur-color-background-interactive-transparent);color:var(--purpur-color-text-interactive-primary)}._purpur-button--tertiary-purple_1acxn_147._purpur-button--disabled_1acxn_58{background-color:var(--purpur-color-background-interactive-transparent)}._purpur-button--tertiary-purple_1acxn_147:hover:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-transparent-hover)}._purpur-button--tertiary-purple_1acxn_147:active:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-transparent-active)}._purpur-button--tertiary-purple-negative_1acxn_160{background-color:var(--purpur-color-background-interactive-transparent);color:var(--purpur-color-text-interactive-primary-negative)}._purpur-button--tertiary-purple-negative_1acxn_160._purpur-button--disabled_1acxn_58{background-color:var(--purpur-color-background-interactive-transparent)}._purpur-button--tertiary-purple-negative_1acxn_160:hover:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-transparent-negative-hover);color:var(--purpur-color-text-interactive-primary-negative-hover)}._purpur-button--tertiary-purple-negative_1acxn_160:active:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-transparent-negative-active);color:var(--purpur-color-text-interactive-primary-negative-active)}._purpur-button--text-negative_1acxn_175{border-radius:0;padding-left:0;padding-right:0}._purpur-button--text-negative_1acxn_175:focus-visible:before{border-radius:0}._purpur-button--text-negative_1acxn_175{background-color:var(--purpur-color-background-interactive-transparent);color:var(--purpur-color-text-interactive-primary-negative)}._purpur-button--text-negative_1acxn_175._purpur-button--disabled_1acxn_58{background-color:var(--purpur-color-background-interactive-transparent)}._purpur-button--text-negative_1acxn_175:hover:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-transparent-negative-hover);color:var(--purpur-color-text-interactive-primary-negative-hover)}._purpur-button--text-negative_1acxn_175:active:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-transparent-negative-active);color:var(--purpur-color-text-interactive-primary-negative-active)}._purpur-button--text_1acxn_175{border-radius:0;padding-left:0;padding-right:0}._purpur-button--text_1acxn_175:focus-visible:before{border-radius:0}._purpur-button--text_1acxn_175{background-color:var(--purpur-color-background-interactive-transparent);color:var(--purpur-color-text-interactive-primary)}._purpur-button--text_1acxn_175._purpur-button--disabled_1acxn_58{background-color:var(--purpur-color-background-interactive-transparent);color:var(--purpur-color-text-weak)}._purpur-button--text_1acxn_175:hover:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-transparent-hover)}._purpur-button--text_1acxn_175:active:not(._purpur-button--disabled_1acxn_58){background-color:var(--purpur-color-background-interactive-transparent-active)}._purpur-button--disabled_1acxn_58{background-color:var(--purpur-color-background-interactive-disabled);color:var(--purpur-color-text-weak);cursor:not-allowed}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpurds/button",
3
- "version": "5.11.0",
3
+ "version": "5.11.2",
4
4
  "license": "AGPL-3.0-only",
5
5
  "main": "./dist/button.cjs.js",
6
6
  "types": "./dist/button.d.ts",
@@ -15,35 +15,35 @@
15
15
  "source": "src/button.tsx",
16
16
  "dependencies": {
17
17
  "classnames": "~2.5.0",
18
- "@purpurds/tokens": "5.11.0",
19
- "@purpurds/spinner": "5.11.0",
20
- "@purpurds/icon": "5.11.0",
21
- "@purpurds/action": "5.11.0"
18
+ "@purpurds/action": "5.11.2",
19
+ "@purpurds/tokens": "5.11.2",
20
+ "@purpurds/spinner": "5.11.2",
21
+ "@purpurds/icon": "5.11.2"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@rushstack/eslint-patch": "~1.10.0",
25
- "@storybook/blocks": "~7.6.0",
26
- "@storybook/react": "~7.6.0",
25
+ "@storybook/react": "^8.2.6",
26
+ "storybook": "^8.2.6",
27
27
  "@telia/base-rig": "~8.2.0",
28
28
  "@telia/react-rig": "~3.2.0",
29
29
  "@testing-library/dom": "~9.3.3",
30
30
  "@testing-library/jest-dom": "~6.4.0",
31
31
  "@testing-library/react": "~14.3.0",
32
32
  "@types/node": "20.12.12",
33
- "@types/react-dom": "~18.3.0",
34
- "@types/react": "~18.3.0",
33
+ "@types/react-dom": "^18.3.0",
34
+ "@types/react": "^18.3.3",
35
35
  "eslint-plugin-testing-library": "~6.2.0",
36
- "eslint": "~8.57.0",
36
+ "eslint": "^8.57.0",
37
37
  "jsdom": "~22.1.0",
38
38
  "lint-staged": "~10.5.3",
39
39
  "prettier": "~2.8.8",
40
- "react-dom": "~18.3.0",
41
- "react": "~18.3.0",
42
- "typescript": "~5.4.2",
43
- "vite": "~5.2.2",
40
+ "react-dom": "^18.3.1",
41
+ "react": "^18.3.1",
42
+ "typescript": "^5.5.4",
43
+ "vite": "5.3.4",
44
44
  "vitest": "~1.5.0",
45
- "@purpurds/icon": "5.11.0",
46
- "@purpurds/component-rig": "1.0.0"
45
+ "@purpurds/component-rig": "1.0.0",
46
+ "@purpurds/icon": "5.11.2"
47
47
  },
48
48
  "scripts": {
49
49
  "build:dev": "vite",
@@ -3,52 +3,59 @@
3
3
  $root: ".purpur-button";
4
4
 
5
5
  @mixin purple-negative {
6
- background-color: var(--purpur-color-background-interactive-transparent);
7
- color: var(--purpur-color-text-interactive-primary-negative);
8
-
9
- &#{$root}--disabled {
6
+ & {
10
7
  background-color: var(--purpur-color-background-interactive-transparent);
11
- }
8
+ color: var(--purpur-color-text-interactive-primary-negative);
12
9
 
13
- &:hover:not(#{$root}--disabled) {
14
- background-color: var(--purpur-color-background-interactive-transparent-negative-hover);
15
- color: var(--purpur-color-text-interactive-primary-negative-hover);
16
- }
10
+ &#{$root}--disabled {
11
+ background-color: var(--purpur-color-background-interactive-transparent);
12
+ }
17
13
 
18
- &:active:not(#{$root}--disabled) {
19
- background-color: var(--purpur-color-background-interactive-transparent-negative-active);
20
- color: var(--purpur-color-text-interactive-primary-negative-active);
14
+ &:hover:not(#{$root}--disabled) {
15
+ background-color: var(--purpur-color-background-interactive-transparent-negative-hover);
16
+ color: var(--purpur-color-text-interactive-primary-negative-hover);
17
+ }
18
+
19
+ &:active:not(#{$root}--disabled) {
20
+ background-color: var(--purpur-color-background-interactive-transparent-negative-active);
21
+ color: var(--purpur-color-text-interactive-primary-negative-active);
22
+ }
21
23
  }
22
24
  }
23
25
 
24
26
  @mixin red {
25
- background-color: var(--purpur-color-background-interactive-destructive);
26
- color: var(--purpur-color-text-interactive-on-destructive);
27
+ & {
28
+ background-color: var(--purpur-color-background-interactive-destructive);
29
+ color: var(--purpur-color-text-interactive-on-destructive);
27
30
 
28
- &:hover:not(#{$root}--disabled) {
29
- background-color: var(--purpur-color-background-interactive-destructive-hover);
30
- }
31
+ &:hover:not(#{$root}--disabled) {
32
+ background-color: var(--purpur-color-background-interactive-destructive-hover);
33
+ }
31
34
 
32
- &:active:not(#{$root}--disabled) {
33
- background-color: var(--purpur-color-background-interactive-destructive-active);
35
+ &:active:not(#{$root}--disabled) {
36
+ background-color: var(--purpur-color-background-interactive-destructive-active);
37
+ }
34
38
  }
35
39
  }
36
40
 
37
41
  @mixin square {
38
- border-radius: 0;
39
- padding-left: 0;
40
- padding-right: 0;
41
-
42
- &:focus-visible {
43
- &::before {
44
- border-radius: 0;
42
+ & {
43
+ border-radius: 0;
44
+ padding-left: 0;
45
+ padding-right: 0;
46
+
47
+ &:focus-visible {
48
+ &::before {
49
+ border-radius: 0;
50
+ }
45
51
  }
46
52
  }
47
53
  }
48
54
 
49
55
  #{$root} {
50
- @include action();
51
-
56
+ & {
57
+ @include action();
58
+ }
52
59
  &--negative {
53
60
  &#{$root}--disabled {
54
61
  background-color: var(--purpur-color-background-interactive-disabled-negative);
@@ -64,11 +71,15 @@ $root: ".purpur-button";
64
71
  }
65
72
 
66
73
  &--destructive {
67
- @include red();
74
+ & {
75
+ @include red();
76
+ }
68
77
  }
69
78
 
70
79
  &--destructive-negative {
71
- @include red();
80
+ & {
81
+ @include red();
82
+ }
72
83
  }
73
84
 
74
85
  &--tertiary-purple {
@@ -89,19 +100,29 @@ $root: ".purpur-button";
89
100
  }
90
101
 
91
102
  &--tertiary-purple-negative {
92
- @include purple-negative();
103
+ & {
104
+ @include purple-negative();
105
+ }
93
106
  }
94
107
 
95
108
  &--text-negative {
96
- @include square();
97
- @include purple-negative();
109
+ & {
110
+ @include square();
111
+ }
112
+ & {
113
+ @include purple-negative();
114
+ }
98
115
  }
99
116
 
100
117
  &--text {
101
- @include square();
118
+ & {
119
+ @include square();
120
+ }
102
121
 
103
- background-color: var(--purpur-color-background-interactive-transparent);
104
- color: var(--purpur-color-text-interactive-primary);
122
+ & {
123
+ background-color: var(--purpur-color-background-interactive-transparent);
124
+ color: var(--purpur-color-text-interactive-primary);
125
+ }
105
126
 
106
127
  &#{$root}--disabled {
107
128
  background-color: var(--purpur-color-background-interactive-transparent);
@@ -5,9 +5,9 @@ import type { Meta, StoryObj } from "@storybook/react";
5
5
 
6
6
  import "@purpurds/icon/styles";
7
7
  import "@purpurds/spinner/styles";
8
- import { Button, buttonVariants } from "./button";
8
+ import { Button, BUTTON_TYPES, buttonVariants } from "./button";
9
9
 
10
- const meta: Meta<typeof Button> = {
10
+ const meta = {
11
11
  title: "Inputs/Button",
12
12
  component: Button,
13
13
  parameters: {
@@ -23,19 +23,27 @@ const meta: Meta<typeof Button> = {
23
23
  disabled: { control: { type: "boolean" } },
24
24
  fullWidth: { control: { type: "boolean" } },
25
25
  size: {
26
- options: sizes,
27
26
  control: { type: "select" },
27
+ options: sizes,
28
+ table: { type: { summary: sizes.map((x) => `"${x}"`).join(" | ") } },
28
29
  },
29
30
  variant: {
31
+ control: { type: "select" },
30
32
  options: buttonVariants,
33
+ table: { type: { summary: buttonVariants.map((x) => `"${x}"`).join(" | ") } },
34
+ },
35
+ type: {
31
36
  control: { type: "select" },
37
+ options: BUTTON_TYPES,
38
+ table: { type: { summary: BUTTON_TYPES.map((x) => `"${x}"`).join(" | ") } },
32
39
  },
33
40
  ["data-testid"]: { control: { type: "text" } },
34
41
  className: { control: { type: "text" } },
35
42
  children: { control: { type: "text" } },
36
43
  },
37
44
  args: { negative: false },
38
- };
45
+ } satisfies Meta<typeof Button>;
46
+
39
47
  export default meta;
40
48
 
41
49
  type Story = StoryObj<typeof Button>;
package/src/button.tsx CHANGED
@@ -18,6 +18,9 @@ export type ButtonVariant = (typeof BUTTON_VARIANT)[keyof typeof BUTTON_VARIANT]
18
18
  const cx = c.bind(styles);
19
19
  const rootClassName = "purpur-button";
20
20
 
21
+ type ButtonType = Pick<ButtonHTMLAttributes<HTMLButtonElement>, "type">["type"];
22
+ export const BUTTON_TYPES: ButtonType[] = ["button", "submit", "reset"] as const;
23
+
21
24
  export type ButtonProps = ActionProps<ButtonVariant> &
22
25
  ButtonHTMLAttributes<HTMLButtonElement> & { loading?: boolean };
23
26
 
@@ -32,11 +35,11 @@ const ButtonComponent = (
32
35
  loading = false,
33
36
  negative = false,
34
37
  onClick,
35
- size = SIZE.MD,
38
+ size = "md",
36
39
  variant,
37
40
  type = "button",
38
41
  ...props
39
- }: ButtonProps,
42
+ }: Omit<ButtonProps, "type"> & { type?: ButtonType },
40
43
  ref: ForwardedRef<HTMLButtonElement>
41
44
  ) => {
42
45
  if (iconOnly && variant === "destructive") {
package/readme.mdx DELETED
@@ -1,44 +0,0 @@
1
- import { Meta, Stories, ArgTypes, Primary, Subtitle } from "@storybook/blocks";
2
-
3
- import * as ButtonStories from "./src/button.stories";
4
- import packageInfo from "./package.json";
5
-
6
- <Meta name="Docs" title="Components/Button" of={ButtonStories} />
7
-
8
- # Button
9
-
10
- <Subtitle>Version {packageInfo.version}</Subtitle>
11
-
12
- ### Showcase
13
-
14
- <Primary />
15
-
16
- ### Properties
17
-
18
- <ArgTypes />
19
-
20
- ### Installation
21
-
22
- #### Via NPM
23
-
24
- Add the dependency to your consumer app like `"@purpurds/purpur": "^x.y.z"`
25
-
26
- In MyApp.tsx
27
-
28
- ```tsx
29
- import "@purpurds/purpur/styles";
30
- ```
31
-
32
- In MyComponent.tsx
33
-
34
- ```tsx
35
- import { Button } from "@purpurds/purpur";
36
-
37
- export const MyComponent = () => {
38
- return (
39
- <div>
40
- <Button {...someProps}>Some content</Button>
41
- </div>
42
- );
43
- };
44
- ```