UNPKG

@meonode/ui

Version:

A structured approach to component composition, direct CSS-first prop styling, built-in theming, smart prop handling (including raw property pass-through), and dynamic children.

2 lines (1 loc) 2.73 kB
"use strict";var e=require("./react-is.helper.cjs"),t=require("../constant/css-properties.const.cjs"),n=require("../constant/common.const.cjs");const r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{};const o=t=>e.isForwardRef(t)?"forwardRef":e.isMemo(t)?"memo":e.isFragment(t)?"fragment":e.isPortal(t)?"portal":e.isProfiler(t)?"profiler":e.isStrictMode(t)?"strict-mode":e.isSuspense(t)?"suspense":e.isSuspenseList(t)?"suspense-list":e.isContextConsumer(t)?"context-consumer":e.isContextProvider(t)?"context-provider":e.isLazy(t)?"lazy":e.isElement(t)?"element":e.isReactClassComponent(t)?"class":typeof t;exports.getCSSProps=function(e){const n={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.default.has(r)&&(n[r]=e[r]);return n},exports.getComponentType=o,exports.getDOMProps=function(e){const n={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&!t.default.has(r)&&(n[r]=e[r]);return n},exports.getElementTypeName=function e(t){function n(e,t){const n=e?.displayName||e?.name;return n&&"render"!==n?n:t}if(null==t)return"UnknownElementType";const r=t,s=o(r);switch(s){case"string":return t;case"class":return n(r,"ClassComponent");case"function":return n(r,"AnonymousFunctionComponent");case"forwardRef":return n(r,"")||n(r.render,"")||"ForwardRefComponent";case"memo":return n(r,"")||(r.type?e(r.type):"MemoComponent");case"element":return e(r.type);case"fragment":return"Fragment";case"portal":return"Portal";case"profiler":return n(r,"Profiler");case"strict-mode":return"StrictMode";case"suspense":return n(r,"Suspense");case"suspense-list":return"SuspenseList";case"context-consumer":return r._context?.displayName?`${r._context.displayName}.Consumer`:"ContextConsumer";case"context-provider":return r._context?.displayName?`${r._context.displayName}.Provider`:"ContextProvider";case"lazy":return n(r,"LazyComponent");case"object":return n(r,"")?n(r,""):"function"==typeof r.render?n(r.render,"ObjectWithRender"):r.type&&r.type!==t?`Wrapped<${e(r.type)}>`:n(r,"ObjectComponent");case"symbol":return"symbol"==typeof t?t.description?.replace(/^react\./,"").split(".").map(e=>e[0]?.toUpperCase()+e.slice(1)).join("")||t.toString():"SymbolComponent";case"unknown":return"UnknownElementType";default:return`UnsupportedType<${s}>`}},exports.getGlobalState=function(e,t){return e in r||(r[e]=t()),r[e]},exports.getValueByPath=(e,t)=>t.split(".").reduce((e,t)=>e&&void 0!==e[t]?e[t]:void 0,e),exports.hasNoStyleTag=function(e){return!(!e||"string"!=typeof e)&&n.noStyleTagsSet.has(e.toLowerCase())},exports.omitUndefined=function(e){const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&void 0!==e[n]&&(t[n]=e[n]);return t};