@xcritical/button
Version:
3 lines (2 loc) • 9.21 kB
JavaScript
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n=require("@xcritical/theme"),o=require("polished"),r=require("react"),t=e(r),a=require("styled-components"),i=e(a),c=e(require("lodash.get")),l=e(require("micro-memoize")),s=require("fast-equals");function u(){return(u=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var o=arguments[n];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e}).apply(this,arguments)}function d(e,n){if(null==e)return{};var o,r,t={},a=Object.keys(e);for(r=0;r<a.length;r++)n.indexOf(o=a[r])>=0||(t[o]=e[o]);return t}function p(e,n){return n||(n=e.slice(0)),e.raw=n,e}var f,b,h,g,m,x,v,k,C,w,R,A,T=function(e){var n=e.background,r=void 0===n?"":n,t=e.color,a=e.boxShadowColor,i=e.fontWeight,c=e.outline,l=e.borderColor,s=void 0===l?"":l;return u({background:r,color:t,fill:t,boxShadowColor:null!=a?a:o.darken(.1,r)},i&&{fontWeight:i},{_outline:c,borderColor:s||r,hover:u({background:o.darken(.1,r),color:t,boxShadowColor:null!=a?a:o.darken(.1,r)},i&&{fontWeight:i}),selected:u({background:o.darken(.1,r),color:t,boxShadowColor:null!=a?a:o.darken(.1,r)},i&&{fontWeight:i},{_outline:c,borderColor:s||r}),active:u({background:o.darken(.1,r),color:t,boxShadowColor:null!=a?a:o.darken(.1,r)},i&&{fontWeight:i},{_outline:c,borderColor:s||r}),disabled:u({background:r,color:t,boxShadowColor:null!=a?a:o.darken(.1,r)},i&&{fontWeight:i},{_outline:c,borderColor:s||r})})},E={paddingBottom:"7px",paddingLeft:"20px",paddingRight:"20px",paddingTop:"7px",appearance:{default:u({},T({background:n.colors.GRAY_LIGHT,color:n.colors.CHAROCOAL,outline:{background:n.colors.WHITE,color:n.colors.CHAROCOAL}})),primary:T({background:n.colors.PRIMARY,color:n.colors.WHITE}),secondary:T({background:n.colors.SECONDARY,color:n.colors.WHITE}),success:T({background:n.colors.SUCCESS,color:n.colors.WHITE}),danger:T({background:n.colors.DANGER,color:n.colors.WHITE}),warning:T({background:n.colors.WARNING,color:n.colors.WHITE}),info:T({background:n.colors.INFO,color:n.colors.WHITE}),dark:T({background:n.colors.DARK,color:n.colors.WHITE}),light:T({background:n.colors.LIGHT,color:n.colors.CHAROCOAL}),link:T({background:"transparent",color:n.colors.PRIMARY,fontWeight:"inherit",borderColor:"transparent",outline:{background:"transparent",color:n.colors.PRIMARY,borderColor:"transparent"}})},lineHeight:1.69,prefixSpacing:15,postfixSpacing:15,fontWeight:600,fontSize:"14px",borderRadius:"3px"},S={display:"inline-block",borderRadius:"5px"},y=["_outline"],q=["appearance","prefixSpacing","postfixSpacing"],N=["background","borderColor","outline","hover","active","disabled","selected"],W=l((function(e,o){return void 0===e&&(e={}),n.getThemedState("@xcritical\\button",E)(e,o)}),{isEqual:s.shallowEqual}),_=l((function(e,o,r,t){return void 0===e&&(e={}),n.getAppearanceTheme("@xcritical\\button",E)(e,o,t,r)}),{isEqual:s.shallowEqual}),L=function(e){return void 0===e&&(e="default"),"hover"===e?"background 0s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)":"background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)"},I=function(e){return void 0===e&&(e="default"),"hover"===e||"active"===e||"selected"===e?"pointer":"disabled"===e?"not-allowed":"default"},H=l((function(e,o,r,t,a){void 0===e&&(e={});var i=_(e,r,o),l=n.getStatesTheme(i,t);if(a){var s=l("outline",{background:"white",color:c(i,"background")});return u({},l(),s)}return l()}),{isEqual:s.shallowEqual}),O=function(e){return void 0===e&&(e="default"),"none"===e?"baseline":"middle"},P=function(e){return void 0===e&&(e=!1),e?"100%":"auto"},z=function(e){return function(n){var o=n.ghost,r=H(n.theme,n.baseAppearance,n.appearance,e,o),t=r._outline,i=d(r,y);return a.css(f||(f=p(["\n ","\n ","\n \n cursor: ",";\n transition: ",";\n "])),i,o?t:{},I(e),L(e))}},G=l((function(e,n){return void 0===e&&(e=!1),void 0===n&&(n=!1),e?a.css(b||(b=p(["\n cursor: not-allowed;\n opacity: 0.5;\n ","\n "])),z("disabled")):n?a.css(h||(h=p(["\n ","\n\n &:hover {\n ",";\n }\n\n &:active {\n ",";\n }\n "])),z("selected"),z("hover"),z("active")):a.css(g||(g=p(["\n &:hover {\n ",";\n }\n\n &:active {\n ",";\n }\n "])),z("hover"),z("active"))}),{isEqual:s.shallowEqual}),j=l((function(e,n,o,r,t,a){var i=d(W(e),q),c=_(e,o,n),l=c.background,s=c.borderColor,p=c.outline,f=d(c,N);return u({background:l,fill:l,border:"1px solid transparent",borderColor:s||"transparent",cursor:I(),transition:L(),textAlign:"center",justifyContent:"center",boxSizing:"border-box",flex:"none",height:"auto",verticalAlign:O(r),width:P(a)},i,f,t&&(p||{background:"white",color:l}))}),{isEqual:s.shallowEqual}),F=a.css(m||(m=p(["\n ",";\n ",";\n ","\n ","\n direction: ",";\n"])),(function(e){return j(e.theme,e.baseAppearance,e.appearance,e.spacing,e.ghost,e.shouldFitContent)}),(function(e){return G(e.disabled,e.selected)}),(function(e){var n=e.height;return n?"height: "+n:null}),(function(e){return e.css||null}),(function(e){return e.isRTL?"rtl":"ltr"})),M=i.div(x||(x=p(["\n align-items: center;\n box-sizing: border-box;\n display: inline-flex;\n font-size: inherit;\n font-style: normal;\n font-weight: normal;\n max-width: 100%;\n outline: none !important;\n text-align: center;\n text-decoration: none;\n white-space: nowrap;\n border: 1px solid transparent;\n ","\n"])),F),Y=i.span(v||(v=p(["\n direction: inherit;\n align-items: center;\n display: flex;\n flex-shrink: 0;\n"]))),D=i(Y)(k||(k=p(["\n margin-",": ","px;\n"])),(function(e){return e.isRTL?"left":"right"}),(function(e){return _(e.theme,e.appearance,e.baseAppearance,"prefixSpacing")})),B=i(Y)(C||(C=p(["\n margin-",": ","px;\n"])),(function(e){return e.isRTL?"right":"left"}),(function(e){return _(e.theme,e.appearance,e.baseAppearance,"postfixSpacing")})),K=i.span(w||(w=p(["\n direction: inherit;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n margin: 0;\n overflow: hidden;\n\n &:first-child {\n margin: 0;\n }\n\n ","\n"])),(function(e){return _(e.theme,e.appearance,e.baseAppearance,"buttonContentWrapper")})),U=i.span(R||(R=p(["\n direction: inherit;\n display: block;\n flex: 1 1 auto;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: ",";\n ","\n"])),(function(e){var o=e.isRTL,r=e.textPosition;return n.rtlSide(null!=o&&o,void 0===r?"center":r)}),(function(e){return _(e.theme,e.appearance,e.baseAppearance,"buttonContent")})),J=l((function(e,o){return void 0===e&&(e={}),n.getThemedState("@xcritical\\button-group",S)(e,o)})),Q=i.div(A||(A=p(["\n "," {\n border-radius: 0;\n }\n\n ",":first-child {\n border-top-left-radius: ",";\n border-bottom-left-radius: ",";\n }\n\n ",":last-child {\n border-top-right-radius: ",";\n border-bottom-right-radius: ",";\n }\n\n ",":not(:last-child) {\n border-right: none;\n }\n\n ",";\n"])),M,M,(function(e){return J(e.theme,"borderRadius")}),(function(e){return J(e.theme,"borderRadius")}),M,(function(e){return J(e.theme,"borderRadius")}),(function(e){return J(e.theme,"borderRadius")}),M,(function(e){return J(e.theme)})),V=["prefix","postfix","children","href","theme","type","role","textPosition","appearance","baseAppearance","spacing","ghost","disabled","selected","isRTL","shouldFitContent","component","onClick","className","classNamePrefix"],X=t.forwardRef((function(e,n){var o=e.prefix,i=e.postfix,c=e.children,l=e.href,s=e.theme,p=e.type,f=void 0===p?"button":p,b=e.role,h=void 0===b?"button":b,g=e.textPosition,m=void 0===g?"center":g,x=e.appearance,v=void 0===x?"default":x,k=e.baseAppearance,C=void 0===k?"default":k,w=e.spacing,R=void 0===w?"default":w,A=e.ghost,T=void 0!==A&&A,E=e.disabled,S=void 0!==E&&E,y=e.selected,q=void 0!==y&&y,N=e.isRTL,W=void 0!==N&&N,_=e.shouldFitContent,L=void 0!==_&&_,I=e.component,H=e.onClick,O=e.className,P=e.classNamePrefix,z=d(e,V),G=r.useContext(a.ThemeContext),j=(null!=s?s:G)||{},F=r.useRef(null),Y=n||F,J=r.useCallback((function(e){H&&!S&&H(e)}),[S,H]),Q=r.useMemo((function(){return null!=I?I:function(e,n){return n?e?"span":"a":"button"}(S,l)}),[I,S,l]);return t.createElement(a.ThemeProvider,{theme:j},t.createElement(M,u({className:O,as:Q,ref:Y,role:h,spacing:R,isRTL:W,ghost:T,disabled:S,selected:q,shouldFitContent:L,baseAppearance:C,appearance:v,onClick:J,type:f},l?{href:l}:null,z),!!o&&t.createElement(D,{className:P&&P+"__prefix",isRTL:W,appearance:v,baseAppearance:C},o),t.createElement(K,{className:P&&P+"__content-wrapper",appearance:v,baseAppearance:C},t.createElement(U,{className:P&&P+"__content",textPosition:m,isRTL:W,appearance:v,baseAppearance:C},c)),!!i&&t.createElement(B,{className:P&&P+"__postfix",isRTL:W,appearance:v,baseAppearance:C},i)))})),Z=r.memo(X);exports.ButtonGroup=function(e){return t.createElement(Q,{className:e.className,theme:e.theme},e.children)},exports.buttonGroupThemeNamespace="@xcritical\\button-group",exports.buttonThemeNamespace="@xcritical\\button",exports.default=Z;
//# sourceMappingURL=button.cjs.production.min.js.map