{"version":3,"file":"addonTextChildren.mjs","names":["React","getOriginChildren","isNode","CHILDREN_COMPONENT","INHERITED_NAME","addonTextChildren","Children","Text","Addon","isTextWrapIfEmptyChildren","children","createElement","toArray","some","element","isValidElement","type","Fragment","wrapChildren","inheritedNames","displayName","addonNames","Array","isArray","map","Component","find","name","includes"],"sources":["../../src/utils/addonTextChildren.tsx"],"sourcesContent":["import React from 'react';\n\nimport getOriginChildren from './getOriginChildren';\nimport isNode from './isNode';\nimport { CHILDREN_COMPONENT, INHERITED_NAME } from '../core-types/symbols';\n\nfunction addonTextChildren(\n  Children: any,\n  Text: React.ComponentType<any>,\n  Addon: React.ComponentType | React.ComponentType[],\n  isTextWrapIfEmptyChildren = false,\n) {\n  const children = getOriginChildren(Children);\n  if (typeof children === 'function') {\n    return <Children />;\n  }\n\n  if (!isTextWrapIfEmptyChildren && !isNode(children)) {\n    return null;\n  }\n  return React.Children.toArray(children).some((element: any) => {\n    if (!React.isValidElement(element)) return false;\n    if (element.type === React.Fragment) return true;\n    if ((element.type as any)[CHILDREN_COMPONENT]) {\n      const wrapChildren: any = addonTextChildren(element.type, Text, Addon);\n      if (wrapChildren.type[CHILDREN_COMPONENT]) {\n        return true;\n      } else {\n        element = wrapChildren;\n      }\n    }\n    // @ts-ignore\n    const inheritedNames = element.type[INHERITED_NAME] || [element.type.displayName];\n    const addonNames = Array.isArray(Addon)\n      ? Addon.map((Component) => Component.displayName)\n      : [Addon.displayName];\n    return [Text.displayName, ...addonNames].find((name) => inheritedNames.includes(name));\n  })\n    ? (<Children />)\n    : (\n        <Text>\n          <Children />\n        </Text>\n      );\n}\n\nexport default addonTextChildren;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,iBAAiB,MAAM,yBAAqB;AACnD,OAAOC,MAAM,MAAM,cAAU;AAC7B,SAASC,kBAAkB,EAAEC,cAAc,QAAQ,2BAAuB;AAE1E,SAASC,iBAAiBA,CACxBC,QAAa,EACbC,IAA8B,EAC9BC,KAAkD,EAClDC,yBAAyB,GAAG,KAAK,EACjC;EACA,MAAMC,QAAQ,GAAGT,iBAAiB,CAACK,QAAQ,CAAC;EAC5C,IAAI,OAAOI,QAAQ,KAAK,UAAU,EAAE;IAClC,oBAAOV,KAAA,CAAAW,aAAA,CAACL,QAAQ,MAAE,CAAC;EACrB;EAEA,IAAI,CAACG,yBAAyB,IAAI,CAACP,MAAM,CAACQ,QAAQ,CAAC,EAAE;IACnD,OAAO,IAAI;EACb;EACA,OAAOV,KAAK,CAACM,QAAQ,CAACM,OAAO,CAACF,QAAQ,CAAC,CAACG,IAAI,CAAEC,OAAY,IAAK;IAC7D,IAAI,eAACd,KAAK,CAACe,cAAc,CAACD,OAAO,CAAC,EAAE,OAAO,KAAK;IAChD,IAAIA,OAAO,CAACE,IAAI,KAAKhB,KAAK,CAACiB,QAAQ,EAAE,OAAO,IAAI;IAChD,IAAKH,OAAO,CAACE,IAAI,CAASb,kBAAkB,CAAC,EAAE;MAC7C,MAAMe,YAAiB,GAAGb,iBAAiB,CAACS,OAAO,CAACE,IAAI,EAAET,IAAI,EAAEC,KAAK,CAAC;MACtE,IAAIU,YAAY,CAACF,IAAI,CAACb,kBAAkB,CAAC,EAAE;QACzC,OAAO,IAAI;MACb,CAAC,MAAM;QACLW,OAAO,GAAGI,YAAY;MACxB;IACF;IACA;IACA,MAAMC,cAAc,GAAGL,OAAO,CAACE,IAAI,CAACZ,cAAc,CAAC,IAAI,CAACU,OAAO,CAACE,IAAI,CAACI,WAAW,CAAC;IACjF,MAAMC,UAAU,GAAGC,KAAK,CAACC,OAAO,CAACf,KAAK,CAAC,GACnCA,KAAK,CAACgB,GAAG,CAAEC,SAAS,IAAKA,SAAS,CAACL,WAAW,CAAC,GAC/C,CAACZ,KAAK,CAACY,WAAW,CAAC;IACvB,OAAO,CAACb,IAAI,CAACa,WAAW,EAAE,GAAGC,UAAU,CAAC,CAACK,IAAI,CAAEC,IAAI,IAAKR,cAAc,CAACS,QAAQ,CAACD,IAAI,CAAC,CAAC;EACxF,CAAC,CAAC,gBACG3B,KAAA,CAAAW,aAAA,CAACL,QAAQ,MAAE,CAAC,gBAEXN,KAAA,CAAAW,aAAA,CAACJ,IAAI,qBACHP,KAAA,CAAAW,aAAA,CAACL,QAAQ,MAAE,CACP,CACP;AACP;AAEA,eAAeD,iBAAiB","ignoreList":[]}