@nuskin/marketing-components 1.0.0 → 1.0.1

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 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
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,s=undefined;if(u&&(typeof u==="undefined"?"undefined":e(u))=="object"||typeof u=="function")try{var f=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 v=n(u)[Symbol.iterator](),p;!(d=(p=v.next()).done);d=true)f()}catch(e){c=true;s=e}finally{try{if(!d&&v.return!=null){v.return()}}finally{if(c){throw s}}}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"),s=require("@nuskin/foundation-core-app/common/hooks"),f=require("react/jsx-runtime"),v=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,m=r.header_variants,b=m===void 0?"h2":m,g=r.text_editor;var x=(0,s.useRouteReplacer)(),w=(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,x)},[g,x]);return t?(0,f.jsxs)("div",{style:{width:o?"100%":"auto",backgroundColor:w,textAlign:h,padding:"16px 32px"},children:[(0,f.jsx)(d.NsTypography,{variant:v(b),renderHTMLNode:!0,children:(0,f.jsx)("div",{dangerouslySetInnerHTML:{__html:j},className:"cs-text-html"})}),(0,f.jsx)("style",{children:"\n .cs-text-html {\n display: block;\n }\n\n .cs-text-html p {\n margin: 0;\n }\n "})]}):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"],"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"]}
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":["i","Object","defineProperty","g","getOwnPropertyDescriptor","y","getOwnPropertyNames","x","prototype","hasOwnProperty","T","t","e","r","get","enumerable","b","n","s","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","c","useRouteReplacer","backgroundColor","h","useMemo","JSON","parse","brandColor","colorObj","light","updatedHtml","window","a","jsxs","style","width","textAlign","padding","children","jsx","d","NsTypography","renderHTMLNode","dangerouslySetInnerHTML","__html","className"],"mappings":"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","sourcesContent":["\"use strict\";var i=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var T=(t,e)=>{for(var r in e)i(t,r,{get:e[r],enumerable:!0})},b=(t,e,r,n)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let s of y(e))!x.call(t,s)&&s!==r&&i(t,s,{get:()=>e[s],enumerable:!(n=g(e,s))||n.enumerable});return t};var C=t=>b(i({},\"__esModule\",{value:!0}),t);var R={};T(R,{CsTextComponent:()=>u});module.exports=C(R);var d=require(\"@nuskin/foundation-ui-components\"),h=require(\"react\"),c=require(\"@nuskin/foundation-core-app/common/hooks\"),a=require(\"react/jsx-runtime\"),v=t=>t===\"p\"?\"body-l\":t??\"h2\",w=(t,e)=>{let n=new DOMParser().parseFromString(t,\"text/html\");return n.querySelectorAll(\"a\").forEach(p=>{let l=p.getAttribute(\"href\")??\"\",{url:o=\"\"}=e(l);p.setAttribute(\"href\",o.startsWith(\"http\")?o:`https://${o}`)}),n.body.innerHTML},N=({show:t,full_width:e=!1,container_background_color:r=\"\",include_gap:n=!1,alignment:s=\"left\",header_variants:p=\"h2\",text_editor:l})=>{let o=(0,c.useRouteReplacer)(),f=(0,h.useMemo)(()=>{try{if(r)return JSON.parse(r)?.brandColor?.colorObj?.light||\"transparent\"}catch{}return\"transparent\"},[r]),m=(0,h.useMemo)(()=>typeof window>\"u\"?l:w(l,o),[l,o]);return t?(0,a.jsxs)(\"div\",{style:{width:e?\"100%\":\"auto\",backgroundColor:f,textAlign:s,padding:\"16px 32px\"},children:[(0,a.jsx)(d.NsTypography,{variant:v(p),renderHTMLNode:!0,children:(0,a.jsx)(\"div\",{dangerouslySetInnerHTML:{__html:m},className:\"cs-text-html\"})}),(0,a.jsx)(\"style\",{children:`\n .cs-text-html {\n display: block;\n }\n\n .cs-text-html p {\n margin: 0;\n }\n `})]}):null},u=N;\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 show: boolean;\n full_width?: boolean;\n container_background_color?: string;\n include_gap?: boolean;\n alignment?: 'left' | 'center' | 'right';\n header_variants?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p';\n text_editor: string;\n}\n\nconst getResolvedVariant = (\n variant: CsTextProps['header_variants']\n): 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(\n 'href',\n sanitizedUrl.startsWith('http') ? sanitizedUrl : `https://${sanitizedUrl}`\n );\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 // silently ignore parse errors\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: '16px 32px'\n }}\n >\n <NsTypography variant={getResolvedVariant(header_variants)} renderHTMLNode>\n <div\n dangerouslySetInnerHTML={{ __html: updatedHtml }}\n className=\"cs-text-html\"\n />\n </NsTypography>\n\n <style>\n {`\n .cs-text-html {\n display: block;\n }\n\n .cs-text-html p {\n margin: 0;\n }\n `}\n </style>\n </div>\n );\n};\n\nexport default CsText;\n"]}
package/dist/index.mjs CHANGED
@@ -1 +1 @@
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
1
+ function t(t){"@swc/helpers - typeof";return t&&typeof Symbol!=="undefined"&&t.constructor===Symbol?"symbol":typeof t}import{NsTypography as n}from"@nuskin/foundation-ui-components";import{useMemo as o}from"react";import{useRouteReplacer as r}from"@nuskin/foundation-core-app/common/hooks";import{jsx as e,jsxs as i}from"react/jsx-runtime";var a=function(t){return t==="p"?"body-l":t!==null&&t!==void 0?t:"h2"},l=function(t,n){var o=new DOMParser().parseFromString(t,"text/html");return o.querySelectorAll("a").forEach(function(t){var o;var r=(o=t.getAttribute("href"))!==null&&o!==void 0?o:"",e=n(r),i=e.url,a=i===void 0?"":i;t.setAttribute("href",a.startsWith("http")?a:"https://".concat(a))}),o.body.innerHTML},d=function(d){var u=d.show,s=d.full_width,c=s===void 0?!1:s,p=d.container_background_color,f=p===void 0?"":p,m=d.include_gap,h=m===void 0?!1:m,v=d.alignment,y=v===void 0?"left":v,x=d.header_variants,b=x===void 0?"h2":x,g=d.text_editor;var w=r(),_=o(function(){try{var t,n,o;if(f)return((o=JSON.parse(f))===null||o===void 0?void 0:(n=o.brandColor)===null||n===void 0?void 0:(t=n.colorObj)===null||t===void 0?void 0:t.light)||"transparent"}catch(t){}return"transparent"},[f]),k=o(function(){return(typeof window==="undefined"?"undefined":t(window))>"u"?g:l(g,w)},[g,w]);return u?i("div",{style:{width:c?"100%":"auto",backgroundColor:_,textAlign:y,padding:"16px 32px"},children:[e(n,{variant:a(b),renderHTMLNode:!0,children:e("div",{dangerouslySetInnerHTML:{__html:k},className:"cs-text-html"})}),e("style",{children:"\n .cs-text-html {\n display: block;\n }\n\n .cs-text-html p {\n margin: 0;\n }\n "})]}):null},u=d;export{u as CsTextComponent};//# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
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"]}
1
+ {"version":3,"sources":["../src/text/CsText.tsx"],"names":["NsTypography","useMemo","useRouteReplacer","jsx","jsxs","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","className","CsText_default"],"mappings":"sHAAA,OAASA,gBAAAA,CAAAA,KAAoB,kCAC7B,QAAuBC,WAAAA,CAAAA,KAAe,OACtC,QAASC,oBAAAA,CAAAA,KAAwB,0CAmEzB,QASQC,OAAAA,CAAAA,CATRC,QAAAA,CAAAA,KAAA,mBAvDR,CAAA,IAAMC,EACFC,SAAAA,UAEOA,IAAY,IAAM,SAAWA,UAAAA,WAAAA,EAAW,MAGtCC,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,CACD,OACAF,EAAaG,UAAA,CAAW,QAAUH,EAAe,WAAuB,OAAZA,GAEpE,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,EAAgB9B,IAEhB+B,EAAkBhC,EAAQ,WAC5B,GAAI,KAEmBiC,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,CAER,CACA,MAAO,aACX,EAAG,CAACX,EAA2B,EAEzBY,EAActC,EAAQ,iBACpB,CAAA,OAAOuC,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,QAAS,WACb,EAEAC,SAAA,CAAA1C,EAACH,EAAA,CAAaM,QAASD,EAAmByB,GAAkBgB,eAAc,CAAA,EACtED,SAAA1C,EAAC,MAAA,CACG4C,wBAAyB,CAAEC,OAAQT,CAAY,EAC/CU,UAAU,cAAA,EACd,GAGJ9C,EAAC,QAAA,CACI0C,SAAA,yIAAA,GASL,GA5BU,IA+BtB,EAEOK,EAAQ1B,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 show: boolean;\n full_width?: boolean;\n container_background_color?: string;\n include_gap?: boolean;\n alignment?: 'left' | 'center' | 'right';\n header_variants?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p';\n text_editor: string;\n}\n\nconst getResolvedVariant = (\n variant: CsTextProps['header_variants']\n): 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(\n 'href',\n sanitizedUrl.startsWith('http') ? sanitizedUrl : `https://${sanitizedUrl}`\n );\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 // silently ignore parse errors\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: '16px 32px'\n }}\n >\n <NsTypography variant={getResolvedVariant(header_variants)} renderHTMLNode>\n <div\n dangerouslySetInnerHTML={{ __html: updatedHtml }}\n className=\"cs-text-html\"\n />\n </NsTypography>\n\n <style>\n {`\n .cs-text-html {\n display: block;\n }\n\n .cs-text-html p {\n margin: 0;\n }\n `}\n </style>\n </div>\n );\n};\n\nexport default CsText;\n"]}
@@ -1,12 +1,12 @@
1
1
  import { ReactElement } from 'react';
2
2
  interface CsTextProps {
3
- readonly show: boolean;
4
- readonly full_width?: boolean;
5
- readonly container_background_color?: string;
6
- readonly include_gap?: boolean;
7
- readonly alignment?: 'left' | 'center' | 'right';
8
- readonly header_variants?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p';
9
- readonly text_editor: string;
3
+ show: boolean;
4
+ full_width?: boolean;
5
+ container_background_color?: string;
6
+ include_gap?: boolean;
7
+ alignment?: 'left' | 'center' | 'right';
8
+ header_variants?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p';
9
+ text_editor: string;
10
10
  }
11
11
  export declare const rewriteLinks: (html: string, replacer: (url: string) => {
12
12
  url: string;
@@ -1 +1 @@
1
- export {};
1
+ import '@testing-library/jest-dom';
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.1",
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",