@nuskin/marketing-components 1.0.0-components-app.5 → 1.0.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/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function e(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}var r=Object.defineProperty;var
|
|
1
|
+
"use strict";function e(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}var r=Object.defineProperty;var t=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var i=function(e,t){for(var n in t)r(e,n,{get:t[n],enumerable:!0})},u=function(i,u,a,l){var d=true,c=false,f=undefined;if(u&&(typeof u==="undefined"?"undefined":e(u))=="object"||typeof u=="function")try{var v=function(){var e=p.value;!o.call(i,e)&&e!==a&&r(i,e,{get:function(){return u[e]},enumerable:!(l=t(u,e))||l.enumerable})};for(var s=n(u)[Symbol.iterator](),p;!(d=(p=s.next()).done);d=true)v()}catch(e){c=true;f=e}finally{try{if(!d&&s.return!=null){s.return()}}finally{if(c){throw f}}}return i};var a=function(e){return u(r({},"__esModule",{value:!0}),e)};var l={};i(l,{CsTextComponent:function(){return h}});module.exports=a(l);var d=require("@nuskin/foundation-ui-components"),c=require("react"),f=require("@nuskin/foundation-core-app/common/hooks"),v=require("react/jsx-runtime"),s=function(e){return e==="p"?"body-l":e!==null&&e!==void 0?e:"h2"},p=function(e,r){var t=new DOMParser().parseFromString(e,"text/html");return t.querySelectorAll("a").forEach(function(e){var t;var n=(t=e.getAttribute("href"))!==null&&t!==void 0?t:"",o=r(n),i=o.url,u=i===void 0?"":i;e.setAttribute("href",u.startsWith("http")?u:"https://".concat(u))}),t.body.innerHTML},y=function(r){var t=r.show,n=r.full_width,o=n===void 0?!1:n,i=r.container_background_color,u=i===void 0?"":i,a=r.include_gap,l=a===void 0?!1:a,y=r.alignment,h=y===void 0?"left":y,b=r.header_variants,m=b===void 0?"h2":b,g=r.text_editor;var w=(0,f.useRouteReplacer)(),x=(0,c.useMemo)(function(){try{var e,r,t;if(u)return((t=JSON.parse(u))===null||t===void 0?void 0:(r=t.brandColor)===null||r===void 0?void 0:(e=r.colorObj)===null||e===void 0?void 0:e.light)||"transparent"}catch(e){}return"transparent"},[u]),j=(0,c.useMemo)(function(){return(typeof window==="undefined"?"undefined":e(window))>"u"?g:p(g,w)},[g,w]);return t?(0,v.jsx)("div",{style:{width:o?"100%":"auto",backgroundColor:x,textAlign:h,padding:l?"16px":"0"},children:(0,v.jsx)(d.NsTypography,{variant:s(m),renderHTMLNode:!0,children:(0,v.jsx)("div",{dangerouslySetInnerHTML:{__html:j}})})}):null},h=y;//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/gitlab-runner-data/builds/ns-am/content-foundation/marketing-components/dist/index.js","../src/index.ts","../src/text/CsText.tsx","../src/hooks/useRouteReplacer.tsx"],"names":["l","Object","defineProperty","R","getOwnPropertyDescriptor","m","getOwnPropertyNames","E","prototype","hasOwnProperty","w","e","r","n","get","enumerable","T","t","o","call","x","value","index_exports","__export","CsTextComponent","CsText_default","module","exports","__toCommonJS","import_foundation_ui_components","require","import_react","import_router","languageReplaceExpression","languageReplaceExpressionUppercase","regionReplaceExpression","regionReplaceExpressionUppercase","getRegionAndLanguageFromQuery","query","language","region","replaceRegionAndLanguage","text","replacer","replace","RegExp","toUpperCase","useRouteReplacer","u","useRouter","urlToParse","url","useRouteReplacer_default","import_jsx_runtime","getResolvedVariant","variant","rewriteLinks","html","doc","DOMParser","parseFromString","querySelectorAll","forEach","link","href","getAttribute","sanitizedUrl","setAttribute","startsWith","body","innerHTML","CsText","show","full_width","container_background_color","include_gap","alignment","header_variants","text_editor","routeReplacer","backgroundColor","p","useMemo","JSON","parse","brandColor","colorObj","light","updatedHtml","window","i","jsx","style","width","textAlign","padding","children","c","NsTypography","renderHTMLNode","dangerouslySetInnerHTML","__html"],"mappings":"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","sourcesContent":["\"use strict\";var l=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var w=(e,r)=>{for(var n in r)l(e,n,{get:r[n],enumerable:!0})},T=(e,r,n,t)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let o of m(r))!E.call(e,o)&&o!==n&&l(e,o,{get:()=>r[o],enumerable:!(t=R(r,o))||t.enumerable});return e};var x=e=>T(l({},\"__esModule\",{value:!0}),e);var H={};w(H,{CsTextComponent:()=>f});module.exports=x(H);var c=require(\"@nuskin/foundation-ui-components\"),p=require(\"react\");var u=require(\"next/router\"),C=\"{%language}\",L=\"{%LANGUAGE}\",b=\"{%region}\",A=\"{%REGION}\",U=e=>{if(e?.language||e?.region)return{region:e?.region,language:e?.language}},v=(e,r={})=>typeof e!=\"string\"?\"\":(r?.region&&(e=e.replace(new RegExp(b,\"g\"),r.region),e=e.replace(new RegExp(A,\"g\"),r.region.toUpperCase())),r?.language&&(e=e.replace(new RegExp(C,\"g\"),r.language),e=e.replace(new RegExp(L,\"g\"),r.language.toUpperCase())),e),N=()=>{let{query:e}=(0,u.useRouter)(),r=U(e);return n=>({url:v(n,r)})},d=N;var i=require(\"react/jsx-runtime\"),P=e=>e===\"p\"?\"body-l\":e??\"h2\",Q=(e,r)=>{let t=new DOMParser().parseFromString(e,\"text/html\");return t.querySelectorAll(\"a\").forEach(g=>{let s=g.getAttribute(\"href\")??\"\",{url:a=\"\"}=r(s);g.setAttribute(\"href\",a.startsWith(\"http\")?a:`https://${a}`)}),t.body.innerHTML},M=({show:e,full_width:r=!1,container_background_color:n=\"\",include_gap:t=!1,alignment:o=\"left\",header_variants:g=\"h2\",text_editor:s})=>{let a=d(),h=(0,p.useMemo)(()=>{try{if(n)return JSON.parse(n)?.brandColor?.colorObj?.light||\"transparent\"}catch{}return\"transparent\"},[n]),y=(0,p.useMemo)(()=>typeof window>\"u\"?s:Q(s,a),[s,a]);return e?(0,i.jsx)(\"div\",{style:{width:r?\"100%\":\"auto\",backgroundColor:h,textAlign:o,padding:t?\"16px\":\"0\"},children:(0,i.jsx)(c.NsTypography,{variant:P(g),renderHTMLNode:!0,children:(0,i.jsx)(\"div\",{dangerouslySetInnerHTML:{__html:y}})})}):null},f=M;\n","export * from './text';\n","import { NsTypography } from '@nuskin/foundation-ui-components';\nimport { ReactElement, useMemo } from 'react';\nimport useRouteReplacer from '../hooks/useRouteReplacer';\n\ninterface CsTextProps {\n readonly show: boolean;\n readonly full_width?: boolean;\n readonly container_background_color?: string;\n readonly include_gap?: boolean;\n readonly alignment?: 'left' | 'center' | 'right';\n readonly header_variants?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p';\n readonly text_editor: string;\n}\n\nconst getResolvedVariant = (variant: CsTextProps['header_variants']): Parameters<typeof NsTypography>[0]['variant'] => {\n return variant === 'p' ? 'body-l' : (variant ?? 'h2');\n};\n\nexport const rewriteLinks = (html: string, replacer: (url: string) => { url: string }): string => {\n const parser = new DOMParser();\n const doc = parser.parseFromString(html, 'text/html');\n const links = doc.querySelectorAll('a');\n\n links.forEach((link) => {\n const href = link.getAttribute('href') ?? '';\n const { url: sanitizedUrl = '' } = replacer(href);\n\n link.setAttribute('href', sanitizedUrl.startsWith('http') ? sanitizedUrl : `https://${sanitizedUrl}`);\n });\n\n return doc.body.innerHTML;\n};\n\nconst CsText = ({\n show,\n full_width = false,\n container_background_color = '',\n include_gap = false,\n alignment = 'left',\n header_variants = 'h2',\n text_editor\n}: CsTextProps): ReactElement | null => {\n const routeReplacer = useRouteReplacer();\n\n const backgroundColor = useMemo(() => {\n try {\n if (container_background_color) {\n const parsed = JSON.parse(container_background_color);\n return parsed?.brandColor?.colorObj?.light || 'transparent';\n }\n } catch {\n }\n return 'transparent';\n }, [container_background_color]);\n\n const updatedHtml = useMemo(() => {\n if (typeof window === 'undefined') return text_editor;\n return rewriteLinks(text_editor, routeReplacer);\n }, [text_editor, routeReplacer]);\n\n if (!show) return null;\n\n return (\n <div\n style={{\n width: full_width ? '100%' : 'auto',\n backgroundColor,\n textAlign: alignment,\n padding: include_gap ? '16px' : '0'\n }}\n >\n <NsTypography variant={getResolvedVariant(header_variants)} renderHTMLNode>\n <div dangerouslySetInnerHTML={{ __html: updatedHtml }} />\n </NsTypography>\n </div>\n );\n};\n\nexport default CsText;\n","import { useRouter } from 'next/router';\nimport { ParsedUrlQuery } from 'querystring';\n\ntype RegionLanguageQuery = {\n region?: string;\n language?: string;\n};\n\nconst languageReplaceExpression = '{%language}';\nconst languageReplaceExpressionUppercase = '{%LANGUAGE}';\nconst regionReplaceExpression = '{%region}';\nconst regionReplaceExpressionUppercase = '{%REGION}';\n\nconst getRegionAndLanguageFromQuery = (query: ParsedUrlQuery): RegionLanguageQuery | undefined => {\n if (query?.language || query?.region) {\n return {\n region: query?.region as string,\n language: query?.language as string\n };\n }\n};\n\nconst replaceRegionAndLanguage = (text: string, replacer: RegionLanguageQuery = {}) => {\n if (typeof text !== 'string') {\n return '';\n }\n if (replacer?.region) {\n text = text.replace(new RegExp(regionReplaceExpression, 'g'), replacer.region);\n text = text.replace(\n new RegExp(regionReplaceExpressionUppercase, 'g'),\n replacer.region.toUpperCase()\n );\n }\n if (replacer?.language) {\n text = text.replace(new RegExp(languageReplaceExpression, 'g'), replacer.language);\n text = text.replace(\n new RegExp(languageReplaceExpressionUppercase, 'g'),\n replacer.language.toUpperCase()\n );\n }\n return text;\n};\n\n/**\n * Returns a function that replaces region and language placeholders\n * in any URL string based on current router query parameters.\n *\n * Example placeholders:\n * - {%region}, {%language}, {%rREGION}, {%LANGUAGE}\n */\nconst useRouteReplacer = () => {\n const { query } = useRouter();\n const replacer = getRegionAndLanguageFromQuery(query);\n\n return (urlToParse: string): { url: string } => {\n const url = replaceRegionAndLanguage(urlToParse, replacer);\n return { url };\n };\n};\n\nexport default useRouteReplacer;"]}
|
|
1
|
+
{"version":3,"sources":["/gitlab-runner-data/builds/ns-am/content-foundation/marketing-components/dist/index.js","../src/index.ts","../src/text/CsText.tsx"],"names":["p","Object","defineProperty","g","getOwnPropertyDescriptor","m","getOwnPropertyNames","T","prototype","hasOwnProperty","x","e","r","t","get","enumerable","b","o","n","call","C","value","index_exports","__export","CsTextComponent","CsText_default","module","exports","__toCommonJS","import_foundation_ui_components","require","import_react","import_hooks","import_jsx_runtime","getResolvedVariant","variant","rewriteLinks","html","replacer","doc","DOMParser","parseFromString","querySelectorAll","forEach","link","href","getAttribute","sanitizedUrl","url","setAttribute","startsWith","body","innerHTML","CsText","show","full_width","container_background_color","include_gap","alignment","header_variants","text_editor","routeReplacer","u","useRouteReplacer","backgroundColor","d","useMemo","JSON","parse","brandColor","colorObj","light","updatedHtml","window","i","jsx","style","width","textAlign","padding","children","h","NsTypography","renderHTMLNode","dangerouslySetInnerHTML","__html"],"mappings":"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","sourcesContent":["\"use strict\";var p=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var T=Object.prototype.hasOwnProperty;var x=(e,r)=>{for(var t in r)p(e,t,{get:r[t],enumerable:!0})},b=(e,r,t,o)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let n of m(r))!T.call(e,n)&&n!==t&&p(e,n,{get:()=>r[n],enumerable:!(o=g(r,n))||o.enumerable});return e};var C=e=>b(p({},\"__esModule\",{value:!0}),e);var M={};x(M,{CsTextComponent:()=>f});module.exports=C(M);var h=require(\"@nuskin/foundation-ui-components\"),d=require(\"react\"),u=require(\"@nuskin/foundation-core-app/common/hooks\"),i=require(\"react/jsx-runtime\"),v=e=>e===\"p\"?\"body-l\":e??\"h2\",w=(e,r)=>{let o=new DOMParser().parseFromString(e,\"text/html\");return o.querySelectorAll(\"a\").forEach(l=>{let a=l.getAttribute(\"href\")??\"\",{url:s=\"\"}=r(a);l.setAttribute(\"href\",s.startsWith(\"http\")?s:`https://${s}`)}),o.body.innerHTML},R=({show:e,full_width:r=!1,container_background_color:t=\"\",include_gap:o=!1,alignment:n=\"left\",header_variants:l=\"h2\",text_editor:a})=>{let s=(0,u.useRouteReplacer)(),c=(0,d.useMemo)(()=>{try{if(t)return JSON.parse(t)?.brandColor?.colorObj?.light||\"transparent\"}catch{}return\"transparent\"},[t]),y=(0,d.useMemo)(()=>typeof window>\"u\"?a:w(a,s),[a,s]);return e?(0,i.jsx)(\"div\",{style:{width:r?\"100%\":\"auto\",backgroundColor:c,textAlign:n,padding:o?\"16px\":\"0\"},children:(0,i.jsx)(h.NsTypography,{variant:v(l),renderHTMLNode:!0,children:(0,i.jsx)(\"div\",{dangerouslySetInnerHTML:{__html:y}})})}):null},f=R;\n","export * from './text';\n","import { NsTypography } from '@nuskin/foundation-ui-components';\nimport { ReactElement, useMemo } from 'react';\nimport { useRouteReplacer } from '@nuskin/foundation-core-app/common/hooks';\n\ninterface CsTextProps {\n readonly show: boolean;\n readonly full_width?: boolean;\n readonly container_background_color?: string;\n readonly include_gap?: boolean;\n readonly alignment?: 'left' | 'center' | 'right';\n readonly header_variants?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p';\n readonly text_editor: string;\n}\n\nconst getResolvedVariant = (variant: CsTextProps['header_variants']): Parameters<typeof NsTypography>[0]['variant'] => {\n return variant === 'p' ? 'body-l' : (variant ?? 'h2');\n};\n\nexport const rewriteLinks = (html: string, replacer: (url: string) => { url: string }): string => {\n const parser = new DOMParser();\n const doc = parser.parseFromString(html, 'text/html');\n const links = doc.querySelectorAll('a');\n\n links.forEach((link) => {\n const href = link.getAttribute('href') ?? '';\n const { url: sanitizedUrl = '' } = replacer(href);\n\n link.setAttribute('href', sanitizedUrl.startsWith('http') ? sanitizedUrl : `https://${sanitizedUrl}`);\n });\n\n return doc.body.innerHTML;\n};\n\nconst CsText = ({\n show,\n full_width = false,\n container_background_color = '',\n include_gap = false,\n alignment = 'left',\n header_variants = 'h2',\n text_editor\n}: CsTextProps): ReactElement | null => {\n const routeReplacer = useRouteReplacer();\n\n const backgroundColor = useMemo(() => {\n try {\n if (container_background_color) {\n const parsed = JSON.parse(container_background_color);\n return parsed?.brandColor?.colorObj?.light || 'transparent';\n }\n } catch {\n }\n return 'transparent';\n }, [container_background_color]);\n\n const updatedHtml = useMemo(() => {\n if (typeof window === 'undefined') return text_editor;\n return rewriteLinks(text_editor, routeReplacer);\n }, [text_editor, routeReplacer]);\n\n if (!show) return null;\n\n return (\n <div\n style={{\n width: full_width ? '100%' : 'auto',\n backgroundColor,\n textAlign: alignment,\n padding: include_gap ? '16px' : '0'\n }}\n >\n <NsTypography variant={getResolvedVariant(header_variants)} renderHTMLNode>\n <div dangerouslySetInnerHTML={{ __html: updatedHtml }} />\n </NsTypography>\n </div>\n );\n};\n\nexport default CsText;\n"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function o(o){"@swc/helpers - typeof";return o&&typeof Symbol!=="undefined"&&o.constructor===Symbol?"symbol":typeof o}import{NsTypography as r}from"@nuskin/foundation-ui-components";import{useMemo as t}from"react";import{useRouteReplacer as n}from"@nuskin/foundation-core-app/common/hooks";import{jsx as e}from"react/jsx-runtime";var i=function(o){return o==="p"?"body-l":o!==null&&o!==void 0?o:"h2"},a=function(o,r){var t=new DOMParser().parseFromString(o,"text/html");return t.querySelectorAll("a").forEach(function(o){var t;var n=(t=o.getAttribute("href"))!==null&&t!==void 0?t:"",e=r(n),i=e.url,a=i===void 0?"":i;o.setAttribute("href",a.startsWith("http")?a:"https://".concat(a))}),t.body.innerHTML},u=function(u){var d=u.show,l=u.full_width,s=l===void 0?!1:l,c=u.container_background_color,p=c===void 0?"":c,f=u.include_gap,v=f===void 0?!1:f,m=u.alignment,h=m===void 0?"left":m,y=u.header_variants,b=y===void 0?"h2":y,g=u.text_editor;var w=n(),x=t(function(){try{var o,r,t;if(p)return((t=JSON.parse(p))===null||t===void 0?void 0:(r=t.brandColor)===null||r===void 0?void 0:(o=r.colorObj)===null||o===void 0?void 0:o.light)||"transparent"}catch(o){}return"transparent"},[p]),_=t(function(){return(typeof window==="undefined"?"undefined":o(window))>"u"?g:a(g,w)},[g,w]);return d?e("div",{style:{width:s?"100%":"auto",backgroundColor:x,textAlign:h,padding:v?"16px":"0"},children:e(r,{variant:i(b),renderHTMLNode:!0,children:e("div",{dangerouslySetInnerHTML:{__html:_}})})}):null},d=u;export{d as CsTextComponent};//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/text/CsText.tsx"
|
|
1
|
+
{"version":3,"sources":["../src/text/CsText.tsx"],"names":["NsTypography","useMemo","useRouteReplacer","jsx","getResolvedVariant","variant","rewriteLinks","html","replacer","doc","DOMParser","parseFromString","querySelectorAll","forEach","link","href","getAttribute","sanitizedUrl","url","setAttribute","startsWith","body","innerHTML","CsText","show","full_width","container_background_color","include_gap","alignment","header_variants","text_editor","routeReplacer","backgroundColor","JSON","parse","brandColor","colorObj","light","updatedHtml","window","style","width","textAlign","padding","children","renderHTMLNode","dangerouslySetInnerHTML","__html","CsText_default"],"mappings":"sHAAA,OAASA,gBAAAA,CAAAA,KAAoB,kCAC7B,QAAuBC,WAAAA,CAAAA,KAAe,OACtC,QAASC,oBAAAA,CAAAA,KAAwB,0CAsEjB,QAAAC,OAAAA,CAAAA,KAAA,mBA1DhB,CAAA,IAAMC,EAAsBC,SAAAA,UACjBA,IAAY,IAAM,SAAYA,UAAAA,WAAAA,EAAW,MAGvCC,EAAe,SAACC,EAAcC,GAEvC,IAAMC,EADS,IAAIC,YACAC,eAAA,CAAgBJ,EAAM,aAGzC,OAFcE,EAAIG,gBAAA,CAAiB,KAE7BC,OAAA,CAASC,SAAAA,OACEA,EAAb,IAAMC,EAAOD,CAAAA,EAAAA,EAAKE,YAAA,CAAa,iBAAlBF,WAAAA,EAA6B,GACPN,EAAAA,EAASO,GAA/BE,EAAsBT,EAA3BU,IAAKD,EAAAA,WAAe,GAAfA,EAEbH,EAAKK,YAAA,CAAa,OAAQF,EAAaG,UAAA,CAAW,QAAUH,EAAe,WAAuB,OAAZA,GAC1F,GAEOR,EAAIY,IAAA,CAAKC,SACpB,EAEMC,EAAS,gBACXC,IAAAA,KACAC,IAAAA,WAAAA,EAAAA,WAAa,CAAA,EAAbA,EACAC,IAAAA,2BAAAA,EAAAA,WAA6B,GAA7BA,EACAC,IAAAA,YAAAA,EAAAA,WAAc,CAAA,EAAdA,EACAC,IAAAA,UAAAA,EAAAA,WAAY,OAAZA,EACAC,IAAAA,gBAAAA,EAAAA,WAAkB,KAAlBA,EACAC,IAAAA,YAEA,IAAMC,EAAgB7B,IAEhB8B,EAAkB/B,EAAQ,WAC5B,GAAI,KAEmBgC,EAAAA,EAAAA,EADnB,GAAIP,EAEA,MADeO,EAAAA,EAAAA,KAAKC,KAAA,CAAMR,YAAXO,mBAAAA,EAAAA,EACAE,UAAA,UADAF,mBAAAA,EAAAA,EACYG,QAAA,UADZH,kBAAAA,EACsBI,KAAA,GAAS,aAEtD,CAAA,QAAQ,CACR,CACA,MAAO,aACX,EAAG,CAACX,EAA2B,EAEzBY,EAAcrC,EAAQ,iBACpB,CAAA,OAAOsC,iCAAP,EAAOA,OAAA,EAAW,IAAoBT,EACnCxB,EAAawB,EAAaC,IAClC,CAACD,EAAaC,EAAc,EAE/B,OAAKP,EAGDrB,EAAC,MAAA,CACGqC,MAAO,CACHC,MAAOhB,EAAa,OAAS,OAC7BO,gBAAAA,EACAU,UAAWd,EACXe,QAAShB,EAAc,OAAS,GACpC,EAEAiB,SAAAzC,EAACH,EAAA,CAAaK,QAASD,EAAmByB,GAAkBgB,eAAc,CAAA,EACtED,SAAAzC,EAAC,MAAA,CAAI2C,wBAAyB,CAAEC,OAAQT,CAAY,CAAA,EAAG,EAC3D,GAbU,IAgBtB,EAEOU,EAAQzB,SAAAA,KAAAA,eAAAA","sourcesContent":["import { NsTypography } from '@nuskin/foundation-ui-components';\nimport { ReactElement, useMemo } from 'react';\nimport { useRouteReplacer } from '@nuskin/foundation-core-app/common/hooks';\n\ninterface CsTextProps {\n readonly show: boolean;\n readonly full_width?: boolean;\n readonly container_background_color?: string;\n readonly include_gap?: boolean;\n readonly alignment?: 'left' | 'center' | 'right';\n readonly header_variants?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p';\n readonly text_editor: string;\n}\n\nconst getResolvedVariant = (variant: CsTextProps['header_variants']): Parameters<typeof NsTypography>[0]['variant'] => {\n return variant === 'p' ? 'body-l' : (variant ?? 'h2');\n};\n\nexport const rewriteLinks = (html: string, replacer: (url: string) => { url: string }): string => {\n const parser = new DOMParser();\n const doc = parser.parseFromString(html, 'text/html');\n const links = doc.querySelectorAll('a');\n\n links.forEach((link) => {\n const href = link.getAttribute('href') ?? '';\n const { url: sanitizedUrl = '' } = replacer(href);\n\n link.setAttribute('href', sanitizedUrl.startsWith('http') ? sanitizedUrl : `https://${sanitizedUrl}`);\n });\n\n return doc.body.innerHTML;\n};\n\nconst CsText = ({\n show,\n full_width = false,\n container_background_color = '',\n include_gap = false,\n alignment = 'left',\n header_variants = 'h2',\n text_editor\n}: CsTextProps): ReactElement | null => {\n const routeReplacer = useRouteReplacer();\n\n const backgroundColor = useMemo(() => {\n try {\n if (container_background_color) {\n const parsed = JSON.parse(container_background_color);\n return parsed?.brandColor?.colorObj?.light || 'transparent';\n }\n } catch {\n }\n return 'transparent';\n }, [container_background_color]);\n\n const updatedHtml = useMemo(() => {\n if (typeof window === 'undefined') return text_editor;\n return rewriteLinks(text_editor, routeReplacer);\n }, [text_editor, routeReplacer]);\n\n if (!show) return null;\n\n return (\n <div\n style={{\n width: full_width ? '100%' : 'auto',\n backgroundColor,\n textAlign: alignment,\n padding: include_gap ? '16px' : '0'\n }}\n >\n <NsTypography variant={getResolvedVariant(header_variants)} renderHTMLNode>\n <div dangerouslySetInnerHTML={{ __html: updatedHtml }} />\n </NsTypography>\n </div>\n );\n};\n\nexport default CsText;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nuskin/marketing-components",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "A React based component library for marketing components to use with content stack pagebuilding",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns a function that replaces region and language placeholders
|
|
3
|
-
* in any URL string based on current router query parameters.
|
|
4
|
-
*
|
|
5
|
-
* Example placeholders:
|
|
6
|
-
* - {%region}, {%language}, {%rREGION}, {%LANGUAGE}
|
|
7
|
-
*/
|
|
8
|
-
declare const useRouteReplacer: () => (urlToParse: string) => {
|
|
9
|
-
url: string;
|
|
10
|
-
};
|
|
11
|
-
export default useRouteReplacer;
|