@purpurds/button 5.32.0 → 5.33.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/dist/LICENSE.txt +2 -2
- package/dist/button.cjs.js +3 -3
- package/dist/button.cjs.js.map +1 -1
- package/dist/button.es.js +66 -64
- package/dist/button.es.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +6 -6
- package/src/button.stories.tsx +12 -18
package/dist/LICENSE.txt
CHANGED
package/dist/button.cjs.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime")
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),N=require("react"),O={PRIMARY:"primary",SECONDARY:"secondary",EXPRESSIVE:"expressive"},$={XS:"xs",SM:"sm",MD:"md",LG:"lg"};function z(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(
|
|
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 E=m.exports;const y=z(E),R="_rotate_1xozj_1",A="_dash_1xozj_1",_={"purpur-spinner":"_purpur-spinner_1xozj_1",rotate:R,"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:A,"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: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 M(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var w={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(
|
|
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})()})(w);var V=w.exports;const D=M(V),I={"purpur-button":"_purpur-button_w455q_1","purpur-button--xs":"_purpur-button--xs_w455q_33","purpur-button--icon-only":"_purpur-button--icon-only_w455q_36","purpur-button--sm":"_purpur-button--sm_w455q_39","purpur-button--md":"_purpur-button--md_w455q_45","purpur-button--lg":"_purpur-button--lg_w455q_51","purpur-button--full-width":"_purpur-button--full-width_w455q_57","purpur-button--primary":"_purpur-button--primary_w455q_60","purpur-button--disabled":"_purpur-button--disabled_w455q_64","purpur-button--primary-negative":"_purpur-button--primary-negative_w455q_70","purpur-button--secondary":"_purpur-button--secondary_w455q_82","purpur-button--secondary-negative":"_purpur-button--secondary-negative_w455q_93","purpur-button--expressive":"_purpur-button--expressive_w455q_104","purpur-button--expressive-negative":"_purpur-button--expressive-negative_w455q_114","purpur-button--negative":"_purpur-button--negative_w455q_126","purpur-button--destructive":"_purpur-button--destructive_w455q_133","purpur-button--destructive-negative":"_purpur-button--destructive-negative_w455q_143","purpur-button--tertiary-purple":"_purpur-button--tertiary-purple_w455q_153","purpur-button--tertiary-purple-negative":"_purpur-button--tertiary-purple-negative_w455q_166","purpur-button--text-negative":"_purpur-button--text-negative_w455q_181","purpur-button--text":"_purpur-button--text_w455q_181"},g={...O,DESTRUCTIVE:"destructive",TERTIARY_PURPLE:"tertiary-purple",TEXT:"text"},U=Object.values(g),X=D.bind(I),i="purpur-button",C=["button","submit","reset"],Y=({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:S="button",...f},q)=>{if(t&&l==="destructive")return null;const h=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),T=v=>{p||r?v.preventDefault():d&&d(v)},x=!!f["aria-disabled"]||p||r;return c.jsxs("button",{className:h,"data-testid":n,type:S,ref:q,"aria-disabled":x,onClick:T,...f,children:[r&&c.jsx(B,{size:b===$.LG?"xs":"xxs",negative:e,disabled:x})," ",u]})},j=N.forwardRef(Y);j.displayName="Button";exports.BUTTON_TYPES=C;exports.BUTTON_VARIANT=g;exports.Button=j;exports.buttonVariants=U;
|
|
10
10
|
//# sourceMappingURL=button.cjs.js.map
|
package/dist/button.cjs.js.map
CHANGED
|
@@ -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\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]}
|
|
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 XS: \"xs\",\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.es.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { jsx as c, jsxs as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
const
|
|
1
|
+
import { jsx as c, jsxs as S } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as $ } from "react";
|
|
3
|
+
const z = {
|
|
4
4
|
PRIMARY: "primary",
|
|
5
5
|
SECONDARY: "secondary",
|
|
6
6
|
EXPRESSIVE: "expressive"
|
|
7
|
-
},
|
|
7
|
+
}, E = {
|
|
8
|
+
XS: "xs",
|
|
8
9
|
SM: "sm",
|
|
9
10
|
MD: "md",
|
|
10
11
|
LG: "lg"
|
|
11
12
|
};
|
|
12
|
-
function
|
|
13
|
+
function N(u) {
|
|
13
14
|
return u && u.__esModule && Object.prototype.hasOwnProperty.call(u, "default") ? u.default : u;
|
|
14
15
|
}
|
|
15
16
|
var y = { exports: {} };
|
|
@@ -48,43 +49,43 @@ var y = { exports: {} };
|
|
|
48
49
|
u.exports ? (n.default = n, u.exports = n) : window.classNames = n;
|
|
49
50
|
})();
|
|
50
51
|
})(y);
|
|
51
|
-
var
|
|
52
|
-
const m = /* @__PURE__ */ O
|
|
52
|
+
var O = y.exports;
|
|
53
|
+
const m = /* @__PURE__ */ N(O), T = "_rotate_1xozj_1", R = "_dash_1xozj_1", _ = {
|
|
53
54
|
"purpur-spinner": "_purpur-spinner_1xozj_1",
|
|
54
|
-
rotate:
|
|
55
|
+
rotate: T,
|
|
55
56
|
"purpur-spinner--xxs": "_purpur-spinner--xxs_1xozj_4",
|
|
56
57
|
"purpur-spinner--xs": "_purpur-spinner--xs_1xozj_8",
|
|
57
58
|
"purpur-spinner--sm": "_purpur-spinner--sm_1xozj_12",
|
|
58
59
|
"purpur-spinner--md": "_purpur-spinner--md_1xozj_16",
|
|
59
60
|
"purpur-spinner--lg": "_purpur-spinner--lg_1xozj_20",
|
|
60
61
|
"purpur-spinner__circle": "_purpur-spinner__circle_1xozj_24",
|
|
61
|
-
dash:
|
|
62
|
+
dash: R,
|
|
62
63
|
"purpur-spinner__circle--disabled": "_purpur-spinner__circle--disabled_1xozj_33",
|
|
63
64
|
"purpur-spinner__circle--negative": "_purpur-spinner__circle--negative_1xozj_36"
|
|
64
|
-
},
|
|
65
|
+
}, a = "purpur-spinner", A = {
|
|
65
66
|
XXS: "xxs",
|
|
66
67
|
XS: "xs",
|
|
67
68
|
SM: "sm",
|
|
68
69
|
MD: "md",
|
|
69
70
|
LG: "lg"
|
|
70
|
-
},
|
|
71
|
+
}, P = ({
|
|
71
72
|
["data-testid"]: u,
|
|
72
73
|
disabled: o = !1,
|
|
73
74
|
negative: n = !1,
|
|
74
|
-
size: p =
|
|
75
|
+
size: p = A.SM,
|
|
75
76
|
...s
|
|
76
77
|
}) => /* @__PURE__ */ c(
|
|
77
78
|
"div",
|
|
78
79
|
{
|
|
79
|
-
className: m([a
|
|
80
|
+
className: m([_[a], _[`${a}--${p}`]]),
|
|
80
81
|
"data-testid": u,
|
|
81
82
|
...s,
|
|
82
83
|
children: /* @__PURE__ */ c("svg", { viewBox: "0 0 50 50", children: /* @__PURE__ */ c(
|
|
83
84
|
"circle",
|
|
84
85
|
{
|
|
85
|
-
className: m(
|
|
86
|
-
[
|
|
87
|
-
[
|
|
86
|
+
className: m(_[`${a}__circle`], {
|
|
87
|
+
[_[`${a}__circle--disabled`]]: o,
|
|
88
|
+
[_[`${a}__circle--negative`]]: n
|
|
88
89
|
}),
|
|
89
90
|
cx: "25",
|
|
90
91
|
cy: "25",
|
|
@@ -93,10 +94,10 @@ const m = /* @__PURE__ */ O(T), R = "_rotate_1xozj_1", A = "_dash_1xozj_1", a =
|
|
|
93
94
|
) })
|
|
94
95
|
}
|
|
95
96
|
);
|
|
96
|
-
function
|
|
97
|
+
function M(u) {
|
|
97
98
|
return u && u.__esModule && Object.prototype.hasOwnProperty.call(u, "default") ? u.default : u;
|
|
98
99
|
}
|
|
99
|
-
var
|
|
100
|
+
var w = { exports: {} };
|
|
100
101
|
/*!
|
|
101
102
|
Copyright (c) 2018 Jed Watson.
|
|
102
103
|
Licensed under the MIT License (MIT), see
|
|
@@ -131,35 +132,36 @@ var g = { exports: {} };
|
|
|
131
132
|
}
|
|
132
133
|
u.exports ? (n.default = n, u.exports = n) : window.classNames = n;
|
|
133
134
|
})();
|
|
134
|
-
})(
|
|
135
|
-
var
|
|
136
|
-
const
|
|
137
|
-
"purpur-button": "_purpur-
|
|
138
|
-
"purpur-button--
|
|
139
|
-
"purpur-button--icon-only": "_purpur-button--icon-
|
|
140
|
-
"purpur-button--
|
|
141
|
-
"purpur-button--
|
|
142
|
-
"purpur-button--
|
|
143
|
-
"purpur-button--
|
|
144
|
-
"purpur-button--
|
|
145
|
-
"purpur-button--
|
|
146
|
-
"purpur-button--
|
|
147
|
-
"purpur-button--secondary
|
|
148
|
-
"purpur-button--
|
|
149
|
-
"purpur-button--expressive
|
|
150
|
-
"purpur-button--negative": "_purpur-button--
|
|
151
|
-
"purpur-button--
|
|
152
|
-
"purpur-button--destructive
|
|
153
|
-
"purpur-button--
|
|
154
|
-
"purpur-button--tertiary-purple
|
|
155
|
-
"purpur-button--
|
|
156
|
-
"purpur-button--text": "_purpur-button--
|
|
157
|
-
|
|
158
|
-
|
|
135
|
+
})(w);
|
|
136
|
+
var B = w.exports;
|
|
137
|
+
const D = /* @__PURE__ */ M(B), X = {
|
|
138
|
+
"purpur-button": "_purpur-button_w455q_1",
|
|
139
|
+
"purpur-button--xs": "_purpur-button--xs_w455q_33",
|
|
140
|
+
"purpur-button--icon-only": "_purpur-button--icon-only_w455q_36",
|
|
141
|
+
"purpur-button--sm": "_purpur-button--sm_w455q_39",
|
|
142
|
+
"purpur-button--md": "_purpur-button--md_w455q_45",
|
|
143
|
+
"purpur-button--lg": "_purpur-button--lg_w455q_51",
|
|
144
|
+
"purpur-button--full-width": "_purpur-button--full-width_w455q_57",
|
|
145
|
+
"purpur-button--primary": "_purpur-button--primary_w455q_60",
|
|
146
|
+
"purpur-button--disabled": "_purpur-button--disabled_w455q_64",
|
|
147
|
+
"purpur-button--primary-negative": "_purpur-button--primary-negative_w455q_70",
|
|
148
|
+
"purpur-button--secondary": "_purpur-button--secondary_w455q_82",
|
|
149
|
+
"purpur-button--secondary-negative": "_purpur-button--secondary-negative_w455q_93",
|
|
150
|
+
"purpur-button--expressive": "_purpur-button--expressive_w455q_104",
|
|
151
|
+
"purpur-button--expressive-negative": "_purpur-button--expressive-negative_w455q_114",
|
|
152
|
+
"purpur-button--negative": "_purpur-button--negative_w455q_126",
|
|
153
|
+
"purpur-button--destructive": "_purpur-button--destructive_w455q_133",
|
|
154
|
+
"purpur-button--destructive-negative": "_purpur-button--destructive-negative_w455q_143",
|
|
155
|
+
"purpur-button--tertiary-purple": "_purpur-button--tertiary-purple_w455q_153",
|
|
156
|
+
"purpur-button--tertiary-purple-negative": "_purpur-button--tertiary-purple-negative_w455q_166",
|
|
157
|
+
"purpur-button--text-negative": "_purpur-button--text-negative_w455q_181",
|
|
158
|
+
"purpur-button--text": "_purpur-button--text_w455q_181"
|
|
159
|
+
}, C = {
|
|
160
|
+
...z,
|
|
159
161
|
DESTRUCTIVE: "destructive",
|
|
160
162
|
TERTIARY_PURPLE: "tertiary-purple",
|
|
161
163
|
TEXT: "text"
|
|
162
|
-
},
|
|
164
|
+
}, G = Object.values(C), I = D.bind(X), i = "purpur-button", F = ["button", "submit", "reset"], V = ({
|
|
163
165
|
children: u,
|
|
164
166
|
className: o,
|
|
165
167
|
["data-testid"]: n,
|
|
@@ -171,12 +173,12 @@ const C = /* @__PURE__ */ B(D), I = {
|
|
|
171
173
|
onClick: d,
|
|
172
174
|
size: b = "md",
|
|
173
175
|
variant: l,
|
|
174
|
-
type:
|
|
175
|
-
...
|
|
176
|
-
},
|
|
176
|
+
type: g = "button",
|
|
177
|
+
...f
|
|
178
|
+
}, h) => {
|
|
177
179
|
if (t && l === "destructive")
|
|
178
180
|
return null;
|
|
179
|
-
const
|
|
181
|
+
const j = I(
|
|
180
182
|
[
|
|
181
183
|
i,
|
|
182
184
|
`${i}--${e ? `${l}-negative` : l}`,
|
|
@@ -189,32 +191,32 @@ const C = /* @__PURE__ */ B(D), I = {
|
|
|
189
191
|
[`${i}--disabled`]: p || r
|
|
190
192
|
},
|
|
191
193
|
o
|
|
192
|
-
),
|
|
194
|
+
), q = (v) => {
|
|
193
195
|
p || r ? v.preventDefault() : d && d(v);
|
|
194
|
-
},
|
|
195
|
-
return /* @__PURE__ */
|
|
196
|
+
}, x = !!f["aria-disabled"] || p || r;
|
|
197
|
+
return /* @__PURE__ */ S(
|
|
196
198
|
"button",
|
|
197
199
|
{
|
|
198
|
-
className:
|
|
200
|
+
className: j,
|
|
199
201
|
"data-testid": n,
|
|
200
|
-
type:
|
|
201
|
-
ref:
|
|
202
|
-
"aria-disabled":
|
|
203
|
-
onClick:
|
|
204
|
-
...
|
|
202
|
+
type: g,
|
|
203
|
+
ref: h,
|
|
204
|
+
"aria-disabled": x,
|
|
205
|
+
onClick: q,
|
|
206
|
+
...f,
|
|
205
207
|
children: [
|
|
206
|
-
r && /* @__PURE__ */ c(
|
|
208
|
+
r && /* @__PURE__ */ c(P, { size: b === E.LG ? "xs" : "xxs", negative: e, disabled: x }),
|
|
207
209
|
" ",
|
|
208
210
|
u
|
|
209
211
|
]
|
|
210
212
|
}
|
|
211
213
|
);
|
|
212
|
-
},
|
|
213
|
-
|
|
214
|
+
}, L = $(V);
|
|
215
|
+
L.displayName = "Button";
|
|
214
216
|
export {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
217
|
+
F as BUTTON_TYPES,
|
|
218
|
+
C as BUTTON_VARIANT,
|
|
219
|
+
L as Button,
|
|
220
|
+
G as buttonVariants
|
|
219
221
|
};
|
|
220
222
|
//# sourceMappingURL=button.es.js.map
|
package/dist/button.es.js.map
CHANGED
|
@@ -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\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]}
|
|
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 XS: \"xs\",\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_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}
|
|
1
|
+
._purpur-button_w455q_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_w455q_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_w455q_1:focus:not(:focus-visible):before{box-shadow:none}._purpur-button_w455q_1 svg{display:block}._purpur-button--xs_w455q_33{padding:var(--purpur-spacing-50) var(--purpur-spacing-250)}._purpur-button--xs_w455q_33._purpur-button--icon-only_w455q_36{padding:var(--purpur-spacing-100)}._purpur-button--sm_w455q_39{padding:var(--purpur-spacing-100) var(--purpur-spacing-250)}._purpur-button--sm_w455q_39._purpur-button--icon-only_w455q_36{padding:var(--purpur-spacing-100)}._purpur-button--md_w455q_45{padding:var(--purpur-spacing-150) var(--purpur-spacing-300)}._purpur-button--md_w455q_45._purpur-button--icon-only_w455q_36{padding:var(--purpur-spacing-150)}._purpur-button--lg_w455q_51{padding:var(--purpur-spacing-200) var(--purpur-spacing-400)}._purpur-button--lg_w455q_51._purpur-button--icon-only_w455q_36{padding:var(--purpur-spacing-200)}._purpur-button--full-width_w455q_57{width:100%}._purpur-button--primary_w455q_60{background-color:var(--purpur-color-background-interactive-primary);color:var(--purpur-color-text-interactive-on-primary)}._purpur-button--primary_w455q_60:hover:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-primary-hover)}._purpur-button--primary_w455q_60:active:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-primary-active)}._purpur-button--primary-negative_w455q_70{background-color:var(--purpur-color-background-interactive-primary-negative);color:var(--purpur-color-text-interactive-on-primary-negative)}._purpur-button--primary-negative_w455q_70:hover:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-primary-negative-hover);border-color:var(--purpur-color-background-interactive-primary-negative-hover)}._purpur-button--primary-negative_w455q_70:active:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-primary-negative-active);border-color:var(--purpur-color-background-interactive-primary-negative-active)}._purpur-button--secondary_w455q_82{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_w455q_82:hover:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-transparent-hover)}._purpur-button--secondary_w455q_82:active:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-transparent-active)}._purpur-button--secondary-negative_w455q_93{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_w455q_93:hover:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-transparent-negative-hover)}._purpur-button--secondary-negative_w455q_93:active:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-transparent-negative-active)}._purpur-button--expressive_w455q_104{background-color:var(--purpur-color-background-interactive-expressive);color:var(--purpur-color-text-interactive-on-expressive)}._purpur-button--expressive_w455q_104:hover:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-expressive-hover)}._purpur-button--expressive_w455q_104:active:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-expressive-active)}._purpur-button--expressive-negative_w455q_114{background-color:var(--purpur-color-background-interactive-expressive-negative);color:var(--purpur-color-text-interactive-on-expressive-negative)}._purpur-button--expressive-negative_w455q_114:hover:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-expressive-negative-hover);color:var(--purpur-color-text-interactive-on-expressive-negative-hover)}._purpur-button--expressive-negative_w455q_114:active:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-expressive-negative-active);color:var(--purpur-color-text-interactive-on-expressive-negative-active)}._purpur-button--negative_w455q_126._purpur-button--disabled_w455q_64{background-color:var(--purpur-color-background-interactive-disabled-negative);color:var(--purpur-color-text-weak-negative)}._purpur-button--secondary_w455q_82._purpur-button--disabled_w455q_64,._purpur-button--secondary-negative_w455q_93._purpur-button--disabled_w455q_64{box-shadow:none}._purpur-button--destructive_w455q_133{background-color:var(--purpur-color-background-interactive-destructive);color:var(--purpur-color-text-interactive-on-destructive)}._purpur-button--destructive_w455q_133:hover:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-destructive-hover)}._purpur-button--destructive_w455q_133:active:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-destructive-active)}._purpur-button--destructive-negative_w455q_143{background-color:var(--purpur-color-background-interactive-destructive);color:var(--purpur-color-text-interactive-on-destructive)}._purpur-button--destructive-negative_w455q_143:hover:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-destructive-hover)}._purpur-button--destructive-negative_w455q_143:active:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-destructive-active)}._purpur-button--tertiary-purple_w455q_153{background-color:var(--purpur-color-background-interactive-transparent);color:var(--purpur-color-text-interactive-primary)}._purpur-button--tertiary-purple_w455q_153._purpur-button--disabled_w455q_64{background-color:var(--purpur-color-background-interactive-transparent)}._purpur-button--tertiary-purple_w455q_153:hover:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-transparent-hover)}._purpur-button--tertiary-purple_w455q_153:active:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-transparent-active)}._purpur-button--tertiary-purple-negative_w455q_166{background-color:var(--purpur-color-background-interactive-transparent);color:var(--purpur-color-text-interactive-primary-negative)}._purpur-button--tertiary-purple-negative_w455q_166._purpur-button--disabled_w455q_64{background-color:var(--purpur-color-background-interactive-transparent)}._purpur-button--tertiary-purple-negative_w455q_166:hover:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-transparent-negative-hover);color:var(--purpur-color-text-interactive-primary-negative-hover)}._purpur-button--tertiary-purple-negative_w455q_166:active:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-transparent-negative-active);color:var(--purpur-color-text-interactive-primary-negative-active)}._purpur-button--text-negative_w455q_181{border-radius:0;padding-left:0;padding-right:0}._purpur-button--text-negative_w455q_181:focus-visible:before{border-radius:0}._purpur-button--text-negative_w455q_181{background-color:var(--purpur-color-background-interactive-transparent);color:var(--purpur-color-text-interactive-primary-negative)}._purpur-button--text-negative_w455q_181._purpur-button--disabled_w455q_64{background-color:var(--purpur-color-background-interactive-transparent)}._purpur-button--text-negative_w455q_181:hover:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-transparent-negative-hover);color:var(--purpur-color-text-interactive-primary-negative-hover)}._purpur-button--text-negative_w455q_181:active:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-transparent-negative-active);color:var(--purpur-color-text-interactive-primary-negative-active)}._purpur-button--text_w455q_181{border-radius:0;padding-left:0;padding-right:0}._purpur-button--text_w455q_181:focus-visible:before{border-radius:0}._purpur-button--text_w455q_181{background-color:var(--purpur-color-background-interactive-transparent);color:var(--purpur-color-text-interactive-primary)}._purpur-button--text_w455q_181._purpur-button--disabled_w455q_64{background-color:var(--purpur-color-background-interactive-transparent);color:var(--purpur-color-text-weak)}._purpur-button--text_w455q_181:hover:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-transparent-hover)}._purpur-button--text_w455q_181:active:not(._purpur-button--disabled_w455q_64){background-color:var(--purpur-color-background-interactive-transparent-active)}._purpur-button--disabled_w455q_64{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.
|
|
3
|
+
"version": "5.33.0",
|
|
4
4
|
"license": "AGPL-3.0-only",
|
|
5
5
|
"main": "./dist/button.cjs.js",
|
|
6
6
|
"types": "./dist/button.d.ts",
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
"source": "src/button.tsx",
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"classnames": "~2.5.0",
|
|
18
|
-
"@purpurds/
|
|
19
|
-
"@purpurds/
|
|
20
|
-
"@purpurds/
|
|
21
|
-
"@purpurds/tokens": "5.
|
|
18
|
+
"@purpurds/icon": "5.33.0",
|
|
19
|
+
"@purpurds/spinner": "5.33.0",
|
|
20
|
+
"@purpurds/action": "5.33.0",
|
|
21
|
+
"@purpurds/tokens": "5.33.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@rushstack/eslint-patch": "~1.10.0",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"typescript": "^5.6.3",
|
|
44
44
|
"vite": "5.4.8",
|
|
45
45
|
"vitest": "^2.1.2",
|
|
46
|
-
"@purpurds/icon": "5.
|
|
46
|
+
"@purpurds/icon": "5.33.0",
|
|
47
47
|
"@purpurds/component-rig": "1.0.0"
|
|
48
48
|
},
|
|
49
49
|
"scripts": {
|
package/src/button.stories.tsx
CHANGED
|
@@ -20,8 +20,6 @@ const meta = {
|
|
|
20
20
|
],
|
|
21
21
|
},
|
|
22
22
|
argTypes: {
|
|
23
|
-
disabled: { control: { type: "boolean" } },
|
|
24
|
-
fullWidth: { control: { type: "boolean" } },
|
|
25
23
|
size: {
|
|
26
24
|
control: { type: "select" },
|
|
27
25
|
options: sizes,
|
|
@@ -37,11 +35,22 @@ const meta = {
|
|
|
37
35
|
options: BUTTON_TYPES,
|
|
38
36
|
table: { type: { summary: BUTTON_TYPES.map((x) => `"${x}"`).join(" | ") } },
|
|
39
37
|
},
|
|
38
|
+
disabled: { control: { type: "boolean" } },
|
|
39
|
+
fullWidth: { control: { type: "boolean" } },
|
|
40
40
|
["data-testid"]: { control: { type: "text" } },
|
|
41
41
|
className: { control: { type: "text" } },
|
|
42
42
|
children: { control: { type: "text" } },
|
|
43
43
|
},
|
|
44
|
-
args: {
|
|
44
|
+
args: {
|
|
45
|
+
variant: "primary",
|
|
46
|
+
size: "md",
|
|
47
|
+
loading: false,
|
|
48
|
+
disabled: false,
|
|
49
|
+
negative: false,
|
|
50
|
+
fullWidth: false,
|
|
51
|
+
type: "button",
|
|
52
|
+
children: "Button label",
|
|
53
|
+
},
|
|
45
54
|
} satisfies Meta<typeof Button>;
|
|
46
55
|
|
|
47
56
|
export default meta;
|
|
@@ -55,12 +64,6 @@ const adaptiveBackground = (negative?: boolean) => ({
|
|
|
55
64
|
});
|
|
56
65
|
|
|
57
66
|
export const Showcase: Story = {
|
|
58
|
-
args: {
|
|
59
|
-
children: "Button label",
|
|
60
|
-
disabled: false,
|
|
61
|
-
fullWidth: false,
|
|
62
|
-
variant: "primary",
|
|
63
|
-
},
|
|
64
67
|
render: ({ children, ...args }) => (
|
|
65
68
|
<div style={adaptiveBackground(args.negative)}>
|
|
66
69
|
<Button {...args}>{children}</Button>
|
|
@@ -71,10 +74,6 @@ export const Showcase: Story = {
|
|
|
71
74
|
|
|
72
75
|
export const ButtonWithLeftIcon: Story = {
|
|
73
76
|
name: "Button with left icon",
|
|
74
|
-
args: {
|
|
75
|
-
children: "Button label",
|
|
76
|
-
variant: "primary",
|
|
77
|
-
},
|
|
78
77
|
render: ({ children, ...args }) => (
|
|
79
78
|
<div style={adaptiveBackground(args.negative)}>
|
|
80
79
|
<Button {...args}>
|
|
@@ -87,10 +86,6 @@ export const ButtonWithLeftIcon: Story = {
|
|
|
87
86
|
|
|
88
87
|
export const ButtonWithRightIcon: Story = {
|
|
89
88
|
name: "Button with right icon",
|
|
90
|
-
args: {
|
|
91
|
-
children: "Button label",
|
|
92
|
-
variant: "primary",
|
|
93
|
-
},
|
|
94
89
|
render: ({ children, ...args }) => (
|
|
95
90
|
<div style={adaptiveBackground(args.negative)}>
|
|
96
91
|
<Button {...args}>
|
|
@@ -107,7 +102,6 @@ export const ButtonWithOnlyIcon: Story = {
|
|
|
107
102
|
controls: { exclude: ["children"] },
|
|
108
103
|
},
|
|
109
104
|
args: {
|
|
110
|
-
variant: "primary",
|
|
111
105
|
iconOnly: true,
|
|
112
106
|
["aria-label"]: "Button label",
|
|
113
107
|
},
|