UNPKG

use-classy

Version:

A utility for generating React [className] strings, with support for CSS modules and BEM expansions.

3 lines (2 loc) 4.64 kB
import{useCallback as t,useMemo as r}from"react";import e from"prop-types";function n(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function o(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?n(Object(e),!0).forEach((function(r){i(t,r,e[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):n(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}))}return t}function i(t,r,e){return r in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function c(t){return function(t){if(Array.isArray(t))return u(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,r){if(!t)return;if("string"==typeof t)return u(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return u(t,r)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},f="object"==typeof a&&a&&a.Object===Object&&a,l="object"==typeof self&&self&&self.Object===Object&&self,p=(f||l||Function("return this")()).Symbol,s=p,y=Object.prototype,b=y.hasOwnProperty,v=y.toString,O=s?s.toStringTag:void 0;var d=function(t){var r=b.call(t,O),e=t[O];try{t[O]=void 0;var n=!0}catch(t){}var o=v.call(t);return n&&(r?t[O]=e:delete t[O]),o},g=Object.prototype.toString;var j=d,m=function(t){return g.call(t)},h=p?p.toStringTag:void 0;var w=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":h&&h in Object(t)?j(t):m(t)};var S=function(t,r){return function(e){return t(r(e))}}(Object.getPrototypeOf,Object);var A=function(t){return null!=t&&"object"==typeof t},P=w,T=S,E=A,I=Function.prototype,D=Object.prototype,R=I.toString,C=D.hasOwnProperty,F=R.call(Object);var U=function(t){if(!E(t)||"[object Object]"!=P(t))return!1;var r=T(t);if(null===r)return!0;var e=C.call(r,"constructor")&&r.constructor;return"function"==typeof e&&e instanceof e&&R.call(e)==F};var k=function(t,r){for(var e=-1,n=r.length,o=t.length;++e<n;)t[o+e]=r[e];return t},x=w,M=A;var N=function(t){return M(t)&&"[object Arguments]"==x(t)},$=A,_=Object.prototype,q=_.hasOwnProperty,z=_.propertyIsEnumerable,B=N(function(){return arguments}())?N:function(t){return $(t)&&q.call(t,"callee")&&!z.call(t,"callee")},G=Array.isArray,H=B,J=G,K=p?p.isConcatSpreadable:void 0;var L=k,Q=function(t){return J(t)||H(t)||!!(K&&t&&t[K])};var V=function t(r,e,n,o,i){var c=-1,u=r.length;for(n||(n=Q),i||(i=[]);++c<u;){var a=r[c];e>0&&n(a)?e>1?t(a,e-1,n,o,i):L(i,a):o||(i[i.length]=a)}return i},W=V;var X=function(t){return(null==t?0:t.length)?W(t,Infinity):[]},Y=["-","_"],Z=function(t){return X(t.map((function(t){return"string"==typeof t?null==t?void 0:t.split(/[\s,.]/g):t})))},tt=function(t,r){return t&&r?"&"===t[0]?t.replace("&",r):Y.includes(t[0])&&!t.includes("-scss")?"".concat(r).concat(t):t:t};function rt(){for(var t=arguments.length,r=new Array(t),e=0;e<t;e++)r[e]=arguments[e];if(this instanceof rt?this.constructor:void 0){var n,i;"string"==typeof r[0]?(i=r[0],n=r[1]):(n=r[0],i=r[1]);var u=n||{},a=u.bem,f=void 0===a?i:a,l=u.classes,p=void 0===l?{}:l;return function(){for(var t,r=arguments.length,e=new Array(r),i=0;i<r;i++)e[i]=arguments[i];var c=rt(o(o({bem:f},n),p),e);return c||(null===(t=n)||void 0===t?void 0:t[f])||f}}if(!r.length)return"";var s=r[0],y=r.slice(1);U(s)||(y=[s].concat(c(y)),s={});var b=s||{},v=b.bem,O=void 0===v?"":v;return y=X(y),(y=Z(y)).filter((function(t){return"string"==typeof t&&t})).map((function(t){return(t=tt(t,O))in s&&(t=s[t]),t})).join(" ")}rt.SEPARATORS=Y;var et=function(e,n){var o=t((function(){return new rt(e,n)}),[e,n]);return r((function(){return o.apply(void 0,arguments)}),[o])},nt=e.oneOfType([e.string,e.arrayOf(e.oneOfType([e.string,e.array]))]);export{nt as CLASSY_PROPTYPE,Y as CLASSY_SEPARATORS,Y as SEPARATORS,rt as classy,rt as default,et as useClassy}; //# sourceMappingURL=classy.esm.js.map