@purpurds/cta-link 7.6.1 → 7.8.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/LICENSE.txt CHANGED
@@ -1,5 +1,5 @@
1
1
  Name: @purpurds/icon
2
- Version: 7.6.0
2
+ Version: 7.7.0
3
3
  License: AGPL-3.0-only
4
4
  Private: false
5
5
 
@@ -2,9 +2,9 @@
2
2
  Copyright (c) 2018 Jed Watson.
3
3
  Licensed under the MIT License (MIT), see
4
4
  http://jedwatson.github.io/classnames
5
- */var w;function q(){return w||(w=1,function(t){(function(){var l={}.hasOwnProperty;function a(){for(var r="",e=0;e<arguments.length;e++){var n=arguments[e];n&&(r=i(r,u.call(this,n)))}return r}function u(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return a.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var e="";for(var n in r)l.call(r,n)&&r[n]&&(e=i(e,this&&this[n]||n));return e}function i(r,e){return e?r?r+" "+e:r+e:r}t.exports?(a.default=a,t.exports=a):window.classNames=a})()}(x)),x.exports}var C=q();const L=S(C),M={"purpur-icon":"_purpur-icon_8u1lq_1","purpur-icon--xxs":"_purpur-icon--xxs_8u1lq_4","purpur-icon--xs":"_purpur-icon--xs_8u1lq_8","purpur-icon--sm":"_purpur-icon--sm_8u1lq_12","purpur-icon--md":"_purpur-icon--md_8u1lq_16","purpur-icon--lg":"_purpur-icon--lg_8u1lq_20","purpur-icon--xl":"_purpur-icon--xl_8u1lq_24"},N=L.bind(M),y="purpur-icon",O="md",B=t=>t.filter(l=>Object.keys(l).length>=1).map(l=>`${l.name}="${l.value}"`).join(" "),A=({content:t="",title:l}={})=>{const a=[{name:"xmlns",value:"http://www.w3.org/2000/svg"},{name:"fill",value:"currentColor"},{name:"viewBox",value:"0 0 24 24"},l?{name:"role",value:"img"}:{name:"aria-hidden",value:"true"}],u=l?`<title>${l}</title>`:"";return`<svg ${B(a)}>${u}${t}</svg>`},P=t=>t.replace(/<(\/?)svg([^>]*)>/g,"").trim(),v=({["data-testid"]:t,svg:l,allyTitle:a,className:u,size:i=O,...r})=>{const e=A({content:P(l.svg),title:a}),n=N(u,y,`${y}--${i}`);return s.jsx("span",{className:n,"data-testid":t,dangerouslySetInnerHTML:{__html:e},...r})};v.displayName="Icon";const H={name:"arrow-left",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M3.1 12a.9.9 0 0 1 .264-.636l5.5-5.5a.9.9 0 0 1 1.272 1.272L6.173 11.1H20a.9.9 0 0 1 0 1.8H6.173l3.963 3.964a.9.9 0 1 1-1.272 1.272l-5.5-5.5A.9.9 0 0 1 3.1 12Z" clip-rule="evenodd"/></svg>',keywords:["arrow-left"],category:"utility"},V={name:"arrow-right",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M20.9 12a.9.9 0 0 1-.264.636l-5.5 5.5a.9.9 0 0 1-1.272-1.272l3.963-3.964H4a.9.9 0 0 1 0-1.8h13.827l-3.963-3.964a.9.9 0 1 1 1.272-1.272l5.5 5.5A.9.9 0 0 1 20.9 12Z" clip-rule="evenodd"/></svg>',keywords:["arrow-right"],category:"utility"},Z={name:"external",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M15 3.4a.9.9 0 1 1 0-1.8h6.5a.9.9 0 0 1 .9.9V9a.9.9 0 1 1-1.8 0V4.673l-7.964 7.963a.9.9 0 1 1-1.272-1.272L19.327 3.4H15ZM1.6 5c0-1.05.85-1.9 1.9-1.9h6a.9.9 0 0 1 0 1.8h-6a.1.1 0 0 0-.1.1v15.5a.1.1 0 0 0 .1.1h16a.1.1 0 0 0 .1-.1V14a.9.9 0 1 1 1.8 0v6.5a1.9 1.9 0 0 1-1.9 1.9h-16a1.9 1.9 0 0 1-1.9-1.9V5Z" clip-rule="evenodd"/></svg>',keywords:["external"],category:"media"},I={name:"phone",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M5.341 2.228c.75-.622 1.73-.43 2.305.145l2.783 2.783a1.9 1.9 0 0 1 0 2.687L8.843 9.43a.1.1 0 0 0 0 .142l5.586 5.585a.1.1 0 0 0 .142 0l1.585-1.585a1.9 1.9 0 0 1 2.687 0l3.5 3.5c.343.342.698 1.023.31 1.742-.346.645-1.173 1.615-3.154 2.936-1.75 1.167-3.667 1.269-5.297.903-1.61-.361-3.015-1.192-3.839-2.016a.9.9 0 0 1 1.273-1.272c.573.572 1.669 1.242 2.96 1.532 1.27.285 2.656.188 3.905-.645 1.483-.989 2.137-1.68 2.418-2.06l-3.348-3.347a.1.1 0 0 0-.142 0l-1.586 1.585a1.9 1.9 0 0 1-2.687 0l-5.585-5.585a1.9 1.9 0 0 1 0-2.688l1.585-1.585a.1.1 0 0 0 0-.142L6.41 3.682c-.447.383-1.183 1.102-2.206 2.38-.878 1.097-1.14 2.08-1.127 2.951.013.898.323 1.758.732 2.59.24.488.733 1.079 1.551 1.88.561.549 1.227 1.152 2.002 1.854.344.312.71.644 1.098 1a.9.9 0 0 1-1.215 1.327c-.367-.336-.722-.658-1.061-.965a77.443 77.443 0 0 1-2.082-1.93c-.831-.813-1.523-1.586-1.909-2.372-.456-.93-.896-2.07-.916-3.356-.02-1.314.399-2.7 1.521-4.103 1.148-1.435 1.995-2.254 2.544-2.71Z" clip-rule="evenodd"/></svg>',keywords:["phone"],category:"device"};function R(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var d={exports:{}};/*!
5
+ */var w;function q(){return w||(w=1,function(t){(function(){var a={}.hasOwnProperty;function l(){for(var r="",e=0;e<arguments.length;e++){var n=arguments[e];n&&(r=i(r,u.call(this,n)))}return r}function u(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return l.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var e="";for(var n in r)a.call(r,n)&&r[n]&&(e=i(e,this&&this[n]||n));return e}function i(r,e){return e?r?r+" "+e:r+e:r}t.exports?(l.default=l,t.exports=l):window.classNames=l})()}(x)),x.exports}var C=q();const L=S(C),M={"purpur-icon":"_purpur-icon_8u1lq_1","purpur-icon--xxs":"_purpur-icon--xxs_8u1lq_4","purpur-icon--xs":"_purpur-icon--xs_8u1lq_8","purpur-icon--sm":"_purpur-icon--sm_8u1lq_12","purpur-icon--md":"_purpur-icon--md_8u1lq_16","purpur-icon--lg":"_purpur-icon--lg_8u1lq_20","purpur-icon--xl":"_purpur-icon--xl_8u1lq_24"},N=L.bind(M),y="purpur-icon",O="md",B=t=>t.filter(a=>Object.keys(a).length>=1).map(a=>`${a.name}="${a.value}"`).join(" "),A=({content:t="",title:a}={})=>{const l=[{name:"xmlns",value:"http://www.w3.org/2000/svg"},{name:"fill",value:"currentColor"},{name:"viewBox",value:"0 0 24 24"},a?{name:"role",value:"img"}:{name:"aria-hidden",value:"true"}],u=a?`<title>${a}</title>`:"";return`<svg ${B(l)}>${u}${t}</svg>`},P=t=>t.replace(/<(\/?)svg([^>]*)>/g,"").trim(),v=({svg:t,allyTitle:a,className:l,size:u=O,...i})=>{const r=A({content:P(t.svg),title:a}),e=N(l,y,`${y}--${u}`);return s.jsx("span",{className:e,dangerouslySetInnerHTML:{__html:r},...i})};v.displayName="Icon";const H={name:"arrow-left",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M3.1 12a.9.9 0 0 1 .264-.636l5.5-5.5a.9.9 0 0 1 1.272 1.272L6.173 11.1H20a.9.9 0 0 1 0 1.8H6.173l3.963 3.964a.9.9 0 1 1-1.272 1.272l-5.5-5.5A.9.9 0 0 1 3.1 12Z" clip-rule="evenodd"/></svg>',keywords:["arrow-left"],category:"utility"},V={name:"arrow-right",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M20.9 12a.9.9 0 0 1-.264.636l-5.5 5.5a.9.9 0 0 1-1.272-1.272l3.963-3.964H4a.9.9 0 0 1 0-1.8h13.827l-3.963-3.964a.9.9 0 1 1 1.272-1.272l5.5 5.5A.9.9 0 0 1 20.9 12Z" clip-rule="evenodd"/></svg>',keywords:["arrow-right"],category:"utility"},Z={name:"external",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M15 3.4a.9.9 0 1 1 0-1.8h6.5a.9.9 0 0 1 .9.9V9a.9.9 0 1 1-1.8 0V4.673l-7.964 7.963a.9.9 0 1 1-1.272-1.272L19.327 3.4H15ZM1.6 5c0-1.05.85-1.9 1.9-1.9h6a.9.9 0 0 1 0 1.8h-6a.1.1 0 0 0-.1.1v15.5a.1.1 0 0 0 .1.1h16a.1.1 0 0 0 .1-.1V14a.9.9 0 1 1 1.8 0v6.5a1.9 1.9 0 0 1-1.9 1.9h-16a1.9 1.9 0 0 1-1.9-1.9V5Z" clip-rule="evenodd"/></svg>',keywords:["external"],category:"media"},I={name:"phone",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M5.341 2.228c.75-.622 1.73-.43 2.305.145l2.783 2.783a1.9 1.9 0 0 1 0 2.687L8.843 9.43a.1.1 0 0 0 0 .142l5.586 5.585a.1.1 0 0 0 .142 0l1.585-1.585a1.9 1.9 0 0 1 2.687 0l3.5 3.5c.343.342.698 1.023.31 1.742-.346.645-1.173 1.615-3.154 2.936-1.75 1.167-3.667 1.269-5.297.903-1.61-.361-3.015-1.192-3.839-2.016a.9.9 0 0 1 1.273-1.272c.573.572 1.669 1.242 2.96 1.532 1.27.285 2.656.188 3.905-.645 1.483-.989 2.137-1.68 2.418-2.06l-3.348-3.347a.1.1 0 0 0-.142 0l-1.586 1.585a1.9 1.9 0 0 1-2.687 0l-5.585-5.585a1.9 1.9 0 0 1 0-2.688l1.585-1.585a.1.1 0 0 0 0-.142L6.41 3.682c-.447.383-1.183 1.102-2.206 2.38-.878 1.097-1.14 2.08-1.127 2.951.013.898.323 1.758.732 2.59.24.488.733 1.079 1.551 1.88.561.549 1.227 1.152 2.002 1.854.344.312.71.644 1.098 1a.9.9 0 0 1-1.215 1.327c-.367-.336-.722-.658-1.061-.965a77.443 77.443 0 0 1-2.082-1.93c-.831-.813-1.523-1.586-1.909-2.372-.456-.93-.896-2.07-.916-3.356-.02-1.314.399-2.7 1.521-4.103 1.148-1.435 1.995-2.254 2.544-2.71Z" clip-rule="evenodd"/></svg>',keywords:["phone"],category:"device"};function R(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var d={exports:{}};/*!
6
6
  Copyright (c) 2018 Jed Watson.
7
7
  Licensed under the MIT License (MIT), see
8
8
  http://jedwatson.github.io/classnames
9
- */var k;function T(){return k||(k=1,function(t){(function(){var l={}.hasOwnProperty;function a(){for(var r="",e=0;e<arguments.length;e++){var n=arguments[e];n&&(r=i(r,u.call(this,n)))}return r}function u(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return a.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var e="";for(var n in r)l.call(r,n)&&r[n]&&(e=i(e,this&&this[n]||n));return e}function i(r,e){return e?r?r+" "+e:r+e:r}t.exports?(a.default=a,t.exports=a):window.classNames=a})()}(d)),d.exports}var E=T();const F=R(E),z={"purpur-cta-link":"_purpur-cta-link_1e75l_1","purpur-cta-link--xs":"_purpur-cta-link--xs_1e75l_33","purpur-cta-link--icon-only":"_purpur-cta-link--icon-only_1e75l_36","purpur-cta-link--sm":"_purpur-cta-link--sm_1e75l_39","purpur-cta-link--md":"_purpur-cta-link--md_1e75l_45","purpur-cta-link--lg":"_purpur-cta-link--lg_1e75l_51","purpur-cta-link--full-width":"_purpur-cta-link--full-width_1e75l_57","purpur-cta-link--primary":"_purpur-cta-link--primary_1e75l_60","purpur-cta-link--disabled":"_purpur-cta-link--disabled_1e75l_64","purpur-cta-link--primary-negative":"_purpur-cta-link--primary-negative_1e75l_70","purpur-cta-link--secondary":"_purpur-cta-link--secondary_1e75l_82","purpur-cta-link--secondary-negative":"_purpur-cta-link--secondary-negative_1e75l_93","purpur-cta-link--expressive":"_purpur-cta-link--expressive_1e75l_104","purpur-cta-link--expressive-negative":"_purpur-cta-link--expressive-negative_1e75l_114"},D=F.bind(z),o="purpur-cta-link",W=["forward","external","back","phone"],G={forward:V,external:Z,back:H,phone:I},b=j.forwardRef(({children:t,className:l,["data-testid"]:a,fullWidth:u=!1,iconOnly:i=!1,showIcon:r=!0,negative:e=!1,size:n="md",variant:f,icon:p="forward",...c},_)=>{const $=D([l,o,`${o}--${e?`${f}-negative`:f}`,`${o}--${n}`],{[`${o}--icon-only`]:i,[`${o}--negative`]:e,[`${o}--full-width`]:u}),g=G[p],m=s.jsxs(s.Fragment,{children:[r&&(p==="back"||p==="phone")&&s.jsx(v,{svg:g,size:n==="lg"?"sm":"xs"}),(!i||i&&!r)&&t,r&&(p==="forward"||p==="external")&&s.jsx(v,{svg:g,size:n==="lg"?"sm":"xs"})]}),h={...c,className:$,"data-testid":a};return"href"in c&&c.href?s.jsx("a",{...h,ref:_,children:m}):s.jsx("span",{...h,ref:_,children:m})});b.displayName="CtaLink";exports.CtaLink=b;exports.ctaLinkIcons=W;
9
+ */var k;function T(){return k||(k=1,function(t){(function(){var a={}.hasOwnProperty;function l(){for(var r="",e=0;e<arguments.length;e++){var n=arguments[e];n&&(r=i(r,u.call(this,n)))}return r}function u(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return l.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var e="";for(var n in r)a.call(r,n)&&r[n]&&(e=i(e,this&&this[n]||n));return e}function i(r,e){return e?r?r+" "+e:r+e:r}t.exports?(l.default=l,t.exports=l):window.classNames=l})()}(d)),d.exports}var E=T();const F=R(E),z={"purpur-cta-link":"_purpur-cta-link_1e75l_1","purpur-cta-link--xs":"_purpur-cta-link--xs_1e75l_33","purpur-cta-link--icon-only":"_purpur-cta-link--icon-only_1e75l_36","purpur-cta-link--sm":"_purpur-cta-link--sm_1e75l_39","purpur-cta-link--md":"_purpur-cta-link--md_1e75l_45","purpur-cta-link--lg":"_purpur-cta-link--lg_1e75l_51","purpur-cta-link--full-width":"_purpur-cta-link--full-width_1e75l_57","purpur-cta-link--primary":"_purpur-cta-link--primary_1e75l_60","purpur-cta-link--disabled":"_purpur-cta-link--disabled_1e75l_64","purpur-cta-link--primary-negative":"_purpur-cta-link--primary-negative_1e75l_70","purpur-cta-link--secondary":"_purpur-cta-link--secondary_1e75l_82","purpur-cta-link--secondary-negative":"_purpur-cta-link--secondary-negative_1e75l_93","purpur-cta-link--expressive":"_purpur-cta-link--expressive_1e75l_104","purpur-cta-link--expressive-negative":"_purpur-cta-link--expressive-negative_1e75l_114"},D=F.bind(z),o="purpur-cta-link",W=["forward","external","back","phone"],G={forward:V,external:Z,back:H,phone:I},b=j.forwardRef(({children:t,className:a,["data-testid"]:l,fullWidth:u=!1,iconOnly:i=!1,showIcon:r=!0,negative:e=!1,size:n="md",variant:f,icon:p="forward",...c},_)=>{const $=D([a,o,`${o}--${e?`${f}-negative`:f}`,`${o}--${n}`],{[`${o}--icon-only`]:i,[`${o}--negative`]:e,[`${o}--full-width`]:u}),g=G[p],m=s.jsxs(s.Fragment,{children:[r&&(p==="back"||p==="phone")&&s.jsx(v,{svg:g,size:n==="lg"?"sm":"xs"}),(!i||i&&!r)&&t,r&&(p==="forward"||p==="external")&&s.jsx(v,{svg:g,size:n==="lg"?"sm":"xs"})]}),h={...c,className:$,"data-testid":l};return"href"in c&&c.href?s.jsx("a",{...h,ref:_,children:m}):s.jsx("span",{...h,ref:_,children:m})});b.displayName="CtaLink";exports.CtaLink=b;exports.ctaLinkIcons=W;
10
10
  //# sourceMappingURL=cta-link.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cta-link.cjs.js","sources":["../../icon/dist/icon.es.js","../../icon/dist/assets/arrow-left.es.js","../../icon/dist/assets/arrow-right.es.js","../../icon/dist/assets/external.es.js","../../icon/dist/assets/phone.es.js","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/cta-link.tsx"],"sourcesContent":["import { jsx as a } from \"react/jsx-runtime\";\nfunction f(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar c = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar p;\nfunction m() {\n return p || (p = 1, function(r) {\n (function() {\n var e = {}.hasOwnProperty;\n function s() {\n for (var t = \"\", n = 0; n < arguments.length; n++) {\n var o = arguments[n];\n o && (t = i(t, u.call(this, o)));\n }\n return t;\n }\n function u(t) {\n if (typeof t == \"string\" || typeof t == \"number\")\n return this && this[t] || t;\n if (typeof t != \"object\")\n return \"\";\n if (Array.isArray(t))\n return s.apply(this, t);\n if (t.toString !== Object.prototype.toString && !t.toString.toString().includes(\"[native code]\"))\n return t.toString();\n var n = \"\";\n for (var o in t)\n e.call(t, o) && t[o] && (n = i(n, this && this[o] || o));\n return n;\n }\n function i(t, n) {\n return n ? t ? t + \" \" + n : t + n : t;\n }\n r.exports ? (s.default = s, r.exports = s) : window.classNames = s;\n })();\n }(c)), c.exports;\n}\nvar _ = m();\nconst d = /* @__PURE__ */ f(_), v = {\n \"purpur-icon\": \"_purpur-icon_8u1lq_1\",\n \"purpur-icon--xxs\": \"_purpur-icon--xxs_8u1lq_4\",\n \"purpur-icon--xs\": \"_purpur-icon--xs_8u1lq_8\",\n \"purpur-icon--sm\": \"_purpur-icon--sm_8u1lq_12\",\n \"purpur-icon--md\": \"_purpur-icon--md_8u1lq_16\",\n \"purpur-icon--lg\": \"_purpur-icon--lg_8u1lq_20\",\n \"purpur-icon--xl\": \"_purpur-icon--xl_8u1lq_24\"\n}, x = d.bind(v), l = \"purpur-icon\", w = [\"xxs\", \"xs\", \"sm\", \"md\", \"lg\", \"xl\"], g = \"md\", h = (r) => r.filter((e) => Object.keys(e).length >= 1).map((e) => `${e.name}=\"${e.value}\"`).join(\" \"), y = ({ content: r = \"\", title: e } = {}) => {\n const s = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"currentColor\" },\n { name: \"viewBox\", value: \"0 0 24 24\" },\n e ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" }\n ], u = e ? `<title>${e}</title>` : \"\";\n return `<svg ${h(s)}>${u}${r}</svg>`;\n}, S = (r) => r.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), b = ({\n [\"data-testid\"]: r,\n svg: e,\n allyTitle: s,\n className: u,\n size: i = g,\n ...t\n}) => {\n const n = y({\n content: S(e.svg),\n title: s\n }), o = x(u, l, `${l}--${i}`);\n return /* @__PURE__ */ a(\n \"span\",\n {\n className: o,\n \"data-testid\": r,\n dangerouslySetInnerHTML: { __html: n },\n ...t\n }\n );\n};\nb.displayName = \"Icon\";\nexport {\n g as DEFAULT_SIZE,\n b as Icon,\n w as sizes\n};\n//# sourceMappingURL=icon.es.js.map\n","const e = {\n name: \"arrow-left\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M3.1 12a.9.9 0 0 1 .264-.636l5.5-5.5a.9.9 0 0 1 1.272 1.272L6.173 11.1H20a.9.9 0 0 1 0 1.8H6.173l3.963 3.964a.9.9 0 1 1-1.272 1.272l-5.5-5.5A.9.9 0 0 1 3.1 12Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"arrow-left\"],\n category: \"utility\"\n};\nexport {\n e as arrowLeft\n};\n//# sourceMappingURL=arrow-left.es.js.map\n","const r = {\n name: \"arrow-right\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M20.9 12a.9.9 0 0 1-.264.636l-5.5 5.5a.9.9 0 0 1-1.272-1.272l3.963-3.964H4a.9.9 0 0 1 0-1.8h13.827l-3.963-3.964a.9.9 0 1 1 1.272-1.272l5.5 5.5A.9.9 0 0 1 20.9 12Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"arrow-right\"],\n category: \"utility\"\n};\nexport {\n r as arrowRight\n};\n//# sourceMappingURL=arrow-right.es.js.map\n","const e = {\n name: \"external\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M15 3.4a.9.9 0 1 1 0-1.8h6.5a.9.9 0 0 1 .9.9V9a.9.9 0 1 1-1.8 0V4.673l-7.964 7.963a.9.9 0 1 1-1.272-1.272L19.327 3.4H15ZM1.6 5c0-1.05.85-1.9 1.9-1.9h6a.9.9 0 0 1 0 1.8h-6a.1.1 0 0 0-.1.1v15.5a.1.1 0 0 0 .1.1h16a.1.1 0 0 0 .1-.1V14a.9.9 0 1 1 1.8 0v6.5a1.9 1.9 0 0 1-1.9 1.9h-16a1.9 1.9 0 0 1-1.9-1.9V5Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"external\"],\n category: \"media\"\n};\nexport {\n e as external\n};\n//# sourceMappingURL=external.es.js.map\n","const e = {\n name: \"phone\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M5.341 2.228c.75-.622 1.73-.43 2.305.145l2.783 2.783a1.9 1.9 0 0 1 0 2.687L8.843 9.43a.1.1 0 0 0 0 .142l5.586 5.585a.1.1 0 0 0 .142 0l1.585-1.585a1.9 1.9 0 0 1 2.687 0l3.5 3.5c.343.342.698 1.023.31 1.742-.346.645-1.173 1.615-3.154 2.936-1.75 1.167-3.667 1.269-5.297.903-1.61-.361-3.015-1.192-3.839-2.016a.9.9 0 0 1 1.273-1.272c.573.572 1.669 1.242 2.96 1.532 1.27.285 2.656.188 3.905-.645 1.483-.989 2.137-1.68 2.418-2.06l-3.348-3.347a.1.1 0 0 0-.142 0l-1.586 1.585a1.9 1.9 0 0 1-2.687 0l-5.585-5.585a1.9 1.9 0 0 1 0-2.688l1.585-1.585a.1.1 0 0 0 0-.142L6.41 3.682c-.447.383-1.183 1.102-2.206 2.38-.878 1.097-1.14 2.08-1.127 2.951.013.898.323 1.758.732 2.59.24.488.733 1.079 1.551 1.88.561.549 1.227 1.152 2.002 1.854.344.312.71.644 1.098 1a.9.9 0 0 1-1.215 1.327c-.367-.336-.722-.658-1.061-.965a77.443 77.443 0 0 1-2.082-1.93c-.831-.813-1.523-1.586-1.909-2.372-.456-.93-.896-2.07-.916-3.356-.02-1.314.399-2.7 1.521-4.103 1.148-1.435 1.995-2.254 2.544-2.71Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"phone\"],\n category: \"device\"\n};\nexport {\n e as phone\n};\n//# sourceMappingURL=phone.es.js.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, {\n type AnchorHTMLAttributes,\n type ForwardedRef,\n forwardRef,\n type HTMLAttributes,\n} from \"react\";\nimport type { ActionProps } from \"@purpurds/action\";\nimport { Icon } from \"@purpurds/icon\";\nimport { arrowLeft } from \"@purpurds/icon/assets/arrow-left\";\nimport { arrowRight } from \"@purpurds/icon/assets/arrow-right\";\nimport { external } from \"@purpurds/icon/assets/external\";\nimport { phone } from \"@purpurds/icon/assets/phone\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./cta-link.module.scss\";\nimport { type DataAttributes } from \"./types\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-cta-link\";\nexport const ctaLinkIcons = [\"forward\", \"external\", \"back\", \"phone\"] as const;\nexport type CtaLinkIcon = (typeof ctaLinkIcons)[number];\n\nconst iconMapping = {\n forward: arrowRight,\n external: external,\n back: arrowLeft,\n phone: phone,\n};\n\ntype CtaLinkBaseProps = {\n icon?: CtaLinkIcon;\n ref?: ForwardedRef<HTMLAnchorElement>;\n showIcon?: boolean;\n};\n\nexport type CtaAnchorProps = ActionProps & {\n href: string;\n} & AnchorHTMLAttributes<HTMLAnchorElement> &\n DataAttributes;\n\ntype SpanProps = ActionProps & HTMLAttributes<HTMLSpanElement>;\n\nexport type CtaLinkProps = CtaLinkBaseProps & (CtaAnchorProps | SpanProps);\n\nexport const CtaLink = forwardRef<HTMLAnchorElement | HTMLSpanElement, CtaLinkProps>(\n (\n {\n children,\n className,\n [\"data-testid\"]: dataTestid,\n fullWidth = false,\n iconOnly = false,\n showIcon = true,\n negative = false,\n size = \"md\",\n variant,\n icon = \"forward\",\n ...props\n },\n ref\n ) => {\n const classes = cx(\n [\n className,\n rootClassName,\n `${rootClassName}--${negative ? `${variant}-negative` : variant}`,\n `${rootClassName}--${size}`,\n ],\n {\n [`${rootClassName}--icon-only`]: iconOnly,\n [`${rootClassName}--negative`]: negative,\n [`${rootClassName}--full-width`]: fullWidth,\n }\n );\n\n const IconComponent = iconMapping[icon];\n\n const childrenWithIcons = (\n <>\n {showIcon && (icon === \"back\" || icon === \"phone\") && (\n <Icon svg={IconComponent} size={size === \"lg\" ? \"sm\" : \"xs\"} />\n )}\n {(!iconOnly || (iconOnly && !showIcon)) && children}\n {showIcon && (icon === \"forward\" || icon === \"external\") && (\n <Icon svg={IconComponent} size={size === \"lg\" ? \"sm\" : \"xs\"} />\n )}\n </>\n );\n\n const sharedProps = {\n ...props,\n className: classes,\n [\"data-testid\"]: dataTestid,\n };\n\n return \"href\" in props && props.href ? (\n <a {...sharedProps} ref={ref as ForwardedRef<HTMLAnchorElement>}>\n {childrenWithIcons}\n </a>\n ) : (\n <span {...sharedProps} ref={ref as ForwardedRef<HTMLSpanElement>}>\n {childrenWithIcons}\n </span>\n );\n }\n);\n\nCtaLink.displayName = \"CtaLink\";\n"],"names":["f","r","c","p","m","e","s","t","n","o","_","d","v","x","l","g","h","y","S","b","a","hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","cx","styles","rootClassName","ctaLinkIcons","iconMapping","arrowRight","external","arrowLeft","phone","CtaLink","forwardRef","children","className","dataTestid","fullWidth","iconOnly","showIcon","negative","size","variant","icon","props","ref","IconComponent","childrenWithIcons","jsxs","Fragment","jsx","Icon","sharedProps"],"mappings":"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","x_google_ignoreList":[5]}
1
+ {"version":3,"file":"cta-link.cjs.js","sources":["../../icon/dist/icon.es.js","../../icon/dist/assets/arrow-left.es.js","../../icon/dist/assets/arrow-right.es.js","../../icon/dist/assets/external.es.js","../../icon/dist/assets/phone.es.js","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/cta-link.tsx"],"sourcesContent":["import { jsx as a } from \"react/jsx-runtime\";\nfunction f(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar c = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar p;\nfunction m() {\n return p || (p = 1, function(r) {\n (function() {\n var e = {}.hasOwnProperty;\n function s() {\n for (var t = \"\", n = 0; n < arguments.length; n++) {\n var o = arguments[n];\n o && (t = i(t, u.call(this, o)));\n }\n return t;\n }\n function u(t) {\n if (typeof t == \"string\" || typeof t == \"number\")\n return this && this[t] || t;\n if (typeof t != \"object\")\n return \"\";\n if (Array.isArray(t))\n return s.apply(this, t);\n if (t.toString !== Object.prototype.toString && !t.toString.toString().includes(\"[native code]\"))\n return t.toString();\n var n = \"\";\n for (var o in t)\n e.call(t, o) && t[o] && (n = i(n, this && this[o] || o));\n return n;\n }\n function i(t, n) {\n return n ? t ? t + \" \" + n : t + n : t;\n }\n r.exports ? (s.default = s, r.exports = s) : window.classNames = s;\n })();\n }(c)), c.exports;\n}\nvar _ = m();\nconst v = /* @__PURE__ */ f(_), d = {\n \"purpur-icon\": \"_purpur-icon_8u1lq_1\",\n \"purpur-icon--xxs\": \"_purpur-icon--xxs_8u1lq_4\",\n \"purpur-icon--xs\": \"_purpur-icon--xs_8u1lq_8\",\n \"purpur-icon--sm\": \"_purpur-icon--sm_8u1lq_12\",\n \"purpur-icon--md\": \"_purpur-icon--md_8u1lq_16\",\n \"purpur-icon--lg\": \"_purpur-icon--lg_8u1lq_20\",\n \"purpur-icon--xl\": \"_purpur-icon--xl_8u1lq_24\"\n}, x = v.bind(d), l = \"purpur-icon\", w = [\"xxs\", \"xs\", \"sm\", \"md\", \"lg\", \"xl\"], g = \"md\", h = (r) => r.filter((e) => Object.keys(e).length >= 1).map((e) => `${e.name}=\"${e.value}\"`).join(\" \"), y = ({ content: r = \"\", title: e } = {}) => {\n const s = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"currentColor\" },\n { name: \"viewBox\", value: \"0 0 24 24\" },\n e ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" }\n ], u = e ? `<title>${e}</title>` : \"\";\n return `<svg ${h(s)}>${u}${r}</svg>`;\n}, S = (r) => r.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), b = ({ svg: r, allyTitle: e, className: s, size: u = g, ...i }) => {\n const t = y({\n content: S(r.svg),\n title: e\n }), n = x(s, l, `${l}--${u}`);\n return /* @__PURE__ */ a(\"span\", { className: n, dangerouslySetInnerHTML: { __html: t }, ...i });\n};\nb.displayName = \"Icon\";\nexport {\n g as DEFAULT_SIZE,\n b as Icon,\n w as sizes\n};\n//# sourceMappingURL=icon.es.js.map\n","const e = {\n name: \"arrow-left\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M3.1 12a.9.9 0 0 1 .264-.636l5.5-5.5a.9.9 0 0 1 1.272 1.272L6.173 11.1H20a.9.9 0 0 1 0 1.8H6.173l3.963 3.964a.9.9 0 1 1-1.272 1.272l-5.5-5.5A.9.9 0 0 1 3.1 12Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"arrow-left\"],\n category: \"utility\"\n};\nexport {\n e as arrowLeft\n};\n//# sourceMappingURL=arrow-left.es.js.map\n","const r = {\n name: \"arrow-right\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M20.9 12a.9.9 0 0 1-.264.636l-5.5 5.5a.9.9 0 0 1-1.272-1.272l3.963-3.964H4a.9.9 0 0 1 0-1.8h13.827l-3.963-3.964a.9.9 0 1 1 1.272-1.272l5.5 5.5A.9.9 0 0 1 20.9 12Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"arrow-right\"],\n category: \"utility\"\n};\nexport {\n r as arrowRight\n};\n//# sourceMappingURL=arrow-right.es.js.map\n","const e = {\n name: \"external\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M15 3.4a.9.9 0 1 1 0-1.8h6.5a.9.9 0 0 1 .9.9V9a.9.9 0 1 1-1.8 0V4.673l-7.964 7.963a.9.9 0 1 1-1.272-1.272L19.327 3.4H15ZM1.6 5c0-1.05.85-1.9 1.9-1.9h6a.9.9 0 0 1 0 1.8h-6a.1.1 0 0 0-.1.1v15.5a.1.1 0 0 0 .1.1h16a.1.1 0 0 0 .1-.1V14a.9.9 0 1 1 1.8 0v6.5a1.9 1.9 0 0 1-1.9 1.9h-16a1.9 1.9 0 0 1-1.9-1.9V5Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"external\"],\n category: \"media\"\n};\nexport {\n e as external\n};\n//# sourceMappingURL=external.es.js.map\n","const e = {\n name: \"phone\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M5.341 2.228c.75-.622 1.73-.43 2.305.145l2.783 2.783a1.9 1.9 0 0 1 0 2.687L8.843 9.43a.1.1 0 0 0 0 .142l5.586 5.585a.1.1 0 0 0 .142 0l1.585-1.585a1.9 1.9 0 0 1 2.687 0l3.5 3.5c.343.342.698 1.023.31 1.742-.346.645-1.173 1.615-3.154 2.936-1.75 1.167-3.667 1.269-5.297.903-1.61-.361-3.015-1.192-3.839-2.016a.9.9 0 0 1 1.273-1.272c.573.572 1.669 1.242 2.96 1.532 1.27.285 2.656.188 3.905-.645 1.483-.989 2.137-1.68 2.418-2.06l-3.348-3.347a.1.1 0 0 0-.142 0l-1.586 1.585a1.9 1.9 0 0 1-2.687 0l-5.585-5.585a1.9 1.9 0 0 1 0-2.688l1.585-1.585a.1.1 0 0 0 0-.142L6.41 3.682c-.447.383-1.183 1.102-2.206 2.38-.878 1.097-1.14 2.08-1.127 2.951.013.898.323 1.758.732 2.59.24.488.733 1.079 1.551 1.88.561.549 1.227 1.152 2.002 1.854.344.312.71.644 1.098 1a.9.9 0 0 1-1.215 1.327c-.367-.336-.722-.658-1.061-.965a77.443 77.443 0 0 1-2.082-1.93c-.831-.813-1.523-1.586-1.909-2.372-.456-.93-.896-2.07-.916-3.356-.02-1.314.399-2.7 1.521-4.103 1.148-1.435 1.995-2.254 2.544-2.71Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"phone\"],\n category: \"device\"\n};\nexport {\n e as phone\n};\n//# sourceMappingURL=phone.es.js.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { type ForwardedRef, forwardRef } from \"react\";\nimport type { ActionProps } from \"@purpurds/action\";\nimport type { BaseProps } from \"@purpurds/common-types\";\nimport { Icon } from \"@purpurds/icon\";\nimport { arrowLeft } from \"@purpurds/icon/assets/arrow-left\";\nimport { arrowRight } from \"@purpurds/icon/assets/arrow-right\";\nimport { external } from \"@purpurds/icon/assets/external\";\nimport { phone } from \"@purpurds/icon/assets/phone\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./cta-link.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-cta-link\";\n\nexport const ctaLinkIcons = [\"forward\", \"external\", \"back\", \"phone\"] as const;\nexport type CtaLinkIcon = (typeof ctaLinkIcons)[number];\n\nconst iconMapping = {\n forward: arrowRight,\n external: external,\n back: arrowLeft,\n phone: phone,\n};\n\ntype CtaLinkBaseProps = {\n icon?: CtaLinkIcon;\n showIcon?: boolean;\n};\n\nexport type CtaAnchorProps = ActionProps &\n Omit<BaseProps<\"a\">, \"href\"> & {\n href: string;\n };\n\ntype SpanProps = ActionProps & BaseProps<\"span\">;\n\nexport type CtaLinkProps = CtaLinkBaseProps & (CtaAnchorProps | SpanProps);\n\nexport const CtaLink = forwardRef<HTMLAnchorElement | HTMLSpanElement, CtaLinkProps>(\n (\n {\n children,\n className,\n [\"data-testid\"]: dataTestid,\n fullWidth = false,\n iconOnly = false,\n showIcon = true,\n negative = false,\n size = \"md\",\n variant,\n icon = \"forward\",\n ...props\n },\n ref\n ) => {\n const classes = cx(\n [\n className,\n rootClassName,\n `${rootClassName}--${negative ? `${variant}-negative` : variant}`,\n `${rootClassName}--${size}`,\n ],\n {\n [`${rootClassName}--icon-only`]: iconOnly,\n [`${rootClassName}--negative`]: negative,\n [`${rootClassName}--full-width`]: fullWidth,\n }\n );\n\n const IconComponent = iconMapping[icon];\n\n const childrenWithIcons = (\n <>\n {showIcon && (icon === \"back\" || icon === \"phone\") && (\n <Icon svg={IconComponent} size={size === \"lg\" ? \"sm\" : \"xs\"} />\n )}\n {(!iconOnly || (iconOnly && !showIcon)) && children}\n {showIcon && (icon === \"forward\" || icon === \"external\") && (\n <Icon svg={IconComponent} size={size === \"lg\" ? \"sm\" : \"xs\"} />\n )}\n </>\n );\n\n const sharedProps = {\n ...props,\n className: classes,\n [\"data-testid\"]: dataTestid,\n };\n\n return \"href\" in props && props.href ? (\n <a {...sharedProps} ref={ref as ForwardedRef<HTMLAnchorElement>}>\n {childrenWithIcons}\n </a>\n ) : (\n <span {...sharedProps} ref={ref as ForwardedRef<HTMLSpanElement>}>\n {childrenWithIcons}\n </span>\n );\n }\n);\n\nCtaLink.displayName = \"CtaLink\";\n"],"names":["f","r","c","p","m","e","s","t","n","o","_","v","d","x","l","g","h","y","S","b","a","hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","cx","styles","rootClassName","ctaLinkIcons","iconMapping","arrowRight","external","arrowLeft","phone","CtaLink","forwardRef","children","className","dataTestid","fullWidth","iconOnly","showIcon","negative","size","variant","icon","props","ref","IconComponent","childrenWithIcons","jsxs","Fragment","jsx","Icon","sharedProps"],"mappings":"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","x_google_ignoreList":[5]}
@@ -1,18 +1,17 @@
1
- import { default as React, AnchorHTMLAttributes, ForwardedRef, HTMLAttributes } from 'react';
1
+ import { default as React } from 'react';
2
2
  import { ActionProps } from '@purpurds/action';
3
- import { DataAttributes } from './types';
3
+ import { BaseProps } from '@purpurds/common-types';
4
4
 
5
5
  export declare const ctaLinkIcons: readonly ["forward", "external", "back", "phone"];
6
6
  export type CtaLinkIcon = (typeof ctaLinkIcons)[number];
7
7
  type CtaLinkBaseProps = {
8
8
  icon?: CtaLinkIcon;
9
- ref?: ForwardedRef<HTMLAnchorElement>;
10
9
  showIcon?: boolean;
11
10
  };
12
- export type CtaAnchorProps = ActionProps & {
11
+ export type CtaAnchorProps = ActionProps & Omit<BaseProps<"a">, "href"> & {
13
12
  href: string;
14
- } & AnchorHTMLAttributes<HTMLAnchorElement> & DataAttributes;
15
- type SpanProps = ActionProps & HTMLAttributes<HTMLSpanElement>;
13
+ };
14
+ type SpanProps = ActionProps & BaseProps<"span">;
16
15
  export type CtaLinkProps = CtaLinkBaseProps & (CtaAnchorProps | SpanProps);
17
16
  export declare const CtaLink: React.ForwardRefExoticComponent<(Omit<CtaLinkBaseProps & {
18
17
  "data-testid"?: string;
@@ -25,9 +24,11 @@ export declare const CtaLink: React.ForwardRefExoticComponent<(Omit<CtaLinkBaseP
25
24
  } & {
26
25
  iconOnly: boolean;
27
26
  "aria-label": string;
28
- } & Partial<Record<never, never>> & {
27
+ } & Partial<Record<never, never>> & Omit<React.ClassAttributes<HTMLAnchorElement> & React.AnchorHTMLAttributes<HTMLAnchorElement> & {
28
+ [key: `data-${string}`]: string | undefined;
29
+ }, "href"> & {
29
30
  href: string;
30
- } & React.AnchorHTMLAttributes<HTMLAnchorElement> & DataAttributes, "ref"> | Omit<CtaLinkBaseProps & {
31
+ }, "ref"> | Omit<CtaLinkBaseProps & {
31
32
  "data-testid"?: string;
32
33
  children?: React.ReactNode;
33
34
  className?: string;
@@ -37,9 +38,11 @@ export declare const CtaLink: React.ForwardRefExoticComponent<(Omit<CtaLinkBaseP
37
38
  variant: import('@purpurds/action').Variant;
38
39
  } & {
39
40
  "aria-label"?: string;
40
- } & Partial<Record<"iconOnly", never>> & {
41
+ } & Partial<Record<"iconOnly", never>> & Omit<React.ClassAttributes<HTMLAnchorElement> & React.AnchorHTMLAttributes<HTMLAnchorElement> & {
42
+ [key: `data-${string}`]: string | undefined;
43
+ }, "href"> & {
41
44
  href: string;
42
- } & React.AnchorHTMLAttributes<HTMLAnchorElement> & DataAttributes, "ref"> | Omit<CtaLinkBaseProps & {
45
+ }, "ref"> | Omit<CtaLinkBaseProps & {
43
46
  "data-testid"?: string;
44
47
  children?: React.ReactNode;
45
48
  className?: string;
@@ -50,7 +53,9 @@ export declare const CtaLink: React.ForwardRefExoticComponent<(Omit<CtaLinkBaseP
50
53
  } & {
51
54
  iconOnly: boolean;
52
55
  "aria-label": string;
53
- } & Partial<Record<never, never>> & React.HTMLAttributes<HTMLSpanElement>, "ref"> | Omit<CtaLinkBaseProps & {
56
+ } & Partial<Record<never, never>> & React.ClassAttributes<HTMLSpanElement> & React.HTMLAttributes<HTMLSpanElement> & {
57
+ [key: `data-${string}`]: string | undefined;
58
+ }, "ref"> | Omit<CtaLinkBaseProps & {
54
59
  "data-testid"?: string;
55
60
  children?: React.ReactNode;
56
61
  className?: string;
@@ -60,6 +65,8 @@ export declare const CtaLink: React.ForwardRefExoticComponent<(Omit<CtaLinkBaseP
60
65
  variant: import('@purpurds/action').Variant;
61
66
  } & {
62
67
  "aria-label"?: string;
63
- } & Partial<Record<"iconOnly", never>> & React.HTMLAttributes<HTMLSpanElement>, "ref">) & React.RefAttributes<HTMLAnchorElement | HTMLSpanElement>>;
68
+ } & Partial<Record<"iconOnly", never>> & React.ClassAttributes<HTMLSpanElement> & React.HTMLAttributes<HTMLSpanElement> & {
69
+ [key: `data-${string}`]: string | undefined;
70
+ }, "ref">) & React.RefAttributes<HTMLAnchorElement | HTMLSpanElement>>;
64
71
  export {};
65
72
  //# sourceMappingURL=cta-link.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cta-link.d.ts","sourceRoot":"","sources":["../src/cta-link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,KAAK,oBAAoB,EACzB,KAAK,YAAY,EAEjB,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AASpD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAI9C,eAAO,MAAM,YAAY,mDAAoD,CAAC;AAC9E,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AASxD,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,GAAG,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,GACzC,cAAc,CAAC;AAEjB,KAAK,SAAS,GAAG,WAAW,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;AAE3E,eAAO,MAAM,OAAO;;;;;;;;;;;;UARZ,MAAM;;;;;;;;;;;;UAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;mJAqEb,CAAC"}
1
+ {"version":3,"file":"cta-link.d.ts","sourceRoot":"","sources":["../src/cta-link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAaxD,eAAO,MAAM,YAAY,mDAAoD,CAAC;AAC9E,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AASxD,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,WAAW,GACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEJ,KAAK,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;AAE3E,eAAO,MAAM,OAAO;;;;;;;;;;;;;;UAPV,MAAM;;;;;;;;;;;;;;UAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;sEAoEf,CAAC"}
@@ -13,8 +13,8 @@ var x;
13
13
  function C() {
14
14
  return x || (x = 1, function(t) {
15
15
  (function() {
16
- var l = {}.hasOwnProperty;
17
- function a() {
16
+ var a = {}.hasOwnProperty;
17
+ function l() {
18
18
  for (var r = "", e = 0; e < arguments.length; e++) {
19
19
  var n = arguments[e];
20
20
  n && (r = i(r, u.call(this, n)));
@@ -27,18 +27,18 @@ function C() {
27
27
  if (typeof r != "object")
28
28
  return "";
29
29
  if (Array.isArray(r))
30
- return a.apply(this, r);
30
+ return l.apply(this, r);
31
31
  if (r.toString !== Object.prototype.toString && !r.toString.toString().includes("[native code]"))
32
32
  return r.toString();
33
33
  var e = "";
34
34
  for (var n in r)
35
- l.call(r, n) && r[n] && (e = i(e, this && this[n] || n));
35
+ a.call(r, n) && r[n] && (e = i(e, this && this[n] || n));
36
36
  return e;
37
37
  }
38
38
  function i(r, e) {
39
39
  return e ? r ? r + " " + e : r + e : r;
40
40
  }
41
- t.exports ? (a.default = a, t.exports = a) : window.classNames = a;
41
+ t.exports ? (l.default = l, t.exports = l) : window.classNames = l;
42
42
  })();
43
43
  }(w)), w.exports;
44
44
  }
@@ -51,35 +51,20 @@ const N = /* @__PURE__ */ q(M), L = {
51
51
  "purpur-icon--md": "_purpur-icon--md_8u1lq_16",
52
52
  "purpur-icon--lg": "_purpur-icon--lg_8u1lq_20",
53
53
  "purpur-icon--xl": "_purpur-icon--xl_8u1lq_24"
54
- }, O = N.bind(L), y = "purpur-icon", B = "md", A = (t) => t.filter((l) => Object.keys(l).length >= 1).map((l) => `${l.name}="${l.value}"`).join(" "), H = ({ content: t = "", title: l } = {}) => {
55
- const a = [
54
+ }, O = N.bind(L), y = "purpur-icon", B = "md", A = (t) => t.filter((a) => Object.keys(a).length >= 1).map((a) => `${a.name}="${a.value}"`).join(" "), H = ({ content: t = "", title: a } = {}) => {
55
+ const l = [
56
56
  { name: "xmlns", value: "http://www.w3.org/2000/svg" },
57
57
  { name: "fill", value: "currentColor" },
58
58
  { name: "viewBox", value: "0 0 24 24" },
59
- l ? { name: "role", value: "img" } : { name: "aria-hidden", value: "true" }
60
- ], u = l ? `<title>${l}</title>` : "";
61
- return `<svg ${A(a)}>${u}${t}</svg>`;
62
- }, P = (t) => t.replace(/<(\/?)svg([^>]*)>/g, "").trim(), f = ({
63
- ["data-testid"]: t,
64
- svg: l,
65
- allyTitle: a,
66
- className: u,
67
- size: i = B,
68
- ...r
69
- }) => {
70
- const e = H({
71
- content: P(l.svg),
59
+ a ? { name: "role", value: "img" } : { name: "aria-hidden", value: "true" }
60
+ ], u = a ? `<title>${a}</title>` : "";
61
+ return `<svg ${A(l)}>${u}${t}</svg>`;
62
+ }, P = (t) => t.replace(/<(\/?)svg([^>]*)>/g, "").trim(), f = ({ svg: t, allyTitle: a, className: l, size: u = B, ...i }) => {
63
+ const r = H({
64
+ content: P(t.svg),
72
65
  title: a
73
- }), n = O(u, y, `${y}--${i}`);
74
- return /* @__PURE__ */ p(
75
- "span",
76
- {
77
- className: n,
78
- "data-testid": t,
79
- dangerouslySetInnerHTML: { __html: e },
80
- ...r
81
- }
82
- );
66
+ }), e = O(l, y, `${y}--${u}`);
67
+ return /* @__PURE__ */ p("span", { className: e, dangerouslySetInnerHTML: { __html: r }, ...i });
83
68
  };
84
69
  f.displayName = "Icon";
85
70
  const V = {
@@ -116,8 +101,8 @@ var k;
116
101
  function R() {
117
102
  return k || (k = 1, function(t) {
118
103
  (function() {
119
- var l = {}.hasOwnProperty;
120
- function a() {
104
+ var a = {}.hasOwnProperty;
105
+ function l() {
121
106
  for (var r = "", e = 0; e < arguments.length; e++) {
122
107
  var n = arguments[e];
123
108
  n && (r = i(r, u.call(this, n)));
@@ -130,18 +115,18 @@ function R() {
130
115
  if (typeof r != "object")
131
116
  return "";
132
117
  if (Array.isArray(r))
133
- return a.apply(this, r);
118
+ return l.apply(this, r);
134
119
  if (r.toString !== Object.prototype.toString && !r.toString.toString().includes("[native code]"))
135
120
  return r.toString();
136
121
  var e = "";
137
122
  for (var n in r)
138
- l.call(r, n) && r[n] && (e = i(e, this && this[n] || n));
123
+ a.call(r, n) && r[n] && (e = i(e, this && this[n] || n));
139
124
  return e;
140
125
  }
141
126
  function i(r, e) {
142
127
  return e ? r ? r + " " + e : r + e : r;
143
128
  }
144
- t.exports ? (a.default = a, t.exports = a) : window.classNames = a;
129
+ t.exports ? (l.default = l, t.exports = l) : window.classNames = l;
145
130
  })();
146
131
  }(d)), d.exports;
147
132
  }
@@ -169,8 +154,8 @@ const z = /* @__PURE__ */ F(T), D = {
169
154
  }, J = j(
170
155
  ({
171
156
  children: t,
172
- className: l,
173
- ["data-testid"]: a,
157
+ className: a,
158
+ ["data-testid"]: l,
174
159
  fullWidth: u = !1,
175
160
  iconOnly: i = !1,
176
161
  showIcon: r = !0,
@@ -182,7 +167,7 @@ const z = /* @__PURE__ */ F(T), D = {
182
167
  }, _) => {
183
168
  const b = W(
184
169
  [
185
- l,
170
+ a,
186
171
  s,
187
172
  `${s}--${e ? `${v}-negative` : v}`,
188
173
  `${s}--${n}`
@@ -199,7 +184,7 @@ const z = /* @__PURE__ */ F(T), D = {
199
184
  ] }), h = {
200
185
  ...c,
201
186
  className: b,
202
- "data-testid": a
187
+ "data-testid": l
203
188
  };
204
189
  return "href" in c && c.href ? /* @__PURE__ */ p("a", { ...h, ref: _, children: m }) : /* @__PURE__ */ p("span", { ...h, ref: _, children: m });
205
190
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cta-link.es.js","sources":["../../icon/dist/icon.es.js","../../icon/dist/assets/arrow-left.es.js","../../icon/dist/assets/arrow-right.es.js","../../icon/dist/assets/external.es.js","../../icon/dist/assets/phone.es.js","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/cta-link.tsx"],"sourcesContent":["import { jsx as a } from \"react/jsx-runtime\";\nfunction f(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar c = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar p;\nfunction m() {\n return p || (p = 1, function(r) {\n (function() {\n var e = {}.hasOwnProperty;\n function s() {\n for (var t = \"\", n = 0; n < arguments.length; n++) {\n var o = arguments[n];\n o && (t = i(t, u.call(this, o)));\n }\n return t;\n }\n function u(t) {\n if (typeof t == \"string\" || typeof t == \"number\")\n return this && this[t] || t;\n if (typeof t != \"object\")\n return \"\";\n if (Array.isArray(t))\n return s.apply(this, t);\n if (t.toString !== Object.prototype.toString && !t.toString.toString().includes(\"[native code]\"))\n return t.toString();\n var n = \"\";\n for (var o in t)\n e.call(t, o) && t[o] && (n = i(n, this && this[o] || o));\n return n;\n }\n function i(t, n) {\n return n ? t ? t + \" \" + n : t + n : t;\n }\n r.exports ? (s.default = s, r.exports = s) : window.classNames = s;\n })();\n }(c)), c.exports;\n}\nvar _ = m();\nconst d = /* @__PURE__ */ f(_), v = {\n \"purpur-icon\": \"_purpur-icon_8u1lq_1\",\n \"purpur-icon--xxs\": \"_purpur-icon--xxs_8u1lq_4\",\n \"purpur-icon--xs\": \"_purpur-icon--xs_8u1lq_8\",\n \"purpur-icon--sm\": \"_purpur-icon--sm_8u1lq_12\",\n \"purpur-icon--md\": \"_purpur-icon--md_8u1lq_16\",\n \"purpur-icon--lg\": \"_purpur-icon--lg_8u1lq_20\",\n \"purpur-icon--xl\": \"_purpur-icon--xl_8u1lq_24\"\n}, x = d.bind(v), l = \"purpur-icon\", w = [\"xxs\", \"xs\", \"sm\", \"md\", \"lg\", \"xl\"], g = \"md\", h = (r) => r.filter((e) => Object.keys(e).length >= 1).map((e) => `${e.name}=\"${e.value}\"`).join(\" \"), y = ({ content: r = \"\", title: e } = {}) => {\n const s = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"currentColor\" },\n { name: \"viewBox\", value: \"0 0 24 24\" },\n e ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" }\n ], u = e ? `<title>${e}</title>` : \"\";\n return `<svg ${h(s)}>${u}${r}</svg>`;\n}, S = (r) => r.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), b = ({\n [\"data-testid\"]: r,\n svg: e,\n allyTitle: s,\n className: u,\n size: i = g,\n ...t\n}) => {\n const n = y({\n content: S(e.svg),\n title: s\n }), o = x(u, l, `${l}--${i}`);\n return /* @__PURE__ */ a(\n \"span\",\n {\n className: o,\n \"data-testid\": r,\n dangerouslySetInnerHTML: { __html: n },\n ...t\n }\n );\n};\nb.displayName = \"Icon\";\nexport {\n g as DEFAULT_SIZE,\n b as Icon,\n w as sizes\n};\n//# sourceMappingURL=icon.es.js.map\n","const e = {\n name: \"arrow-left\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M3.1 12a.9.9 0 0 1 .264-.636l5.5-5.5a.9.9 0 0 1 1.272 1.272L6.173 11.1H20a.9.9 0 0 1 0 1.8H6.173l3.963 3.964a.9.9 0 1 1-1.272 1.272l-5.5-5.5A.9.9 0 0 1 3.1 12Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"arrow-left\"],\n category: \"utility\"\n};\nexport {\n e as arrowLeft\n};\n//# sourceMappingURL=arrow-left.es.js.map\n","const r = {\n name: \"arrow-right\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M20.9 12a.9.9 0 0 1-.264.636l-5.5 5.5a.9.9 0 0 1-1.272-1.272l3.963-3.964H4a.9.9 0 0 1 0-1.8h13.827l-3.963-3.964a.9.9 0 1 1 1.272-1.272l5.5 5.5A.9.9 0 0 1 20.9 12Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"arrow-right\"],\n category: \"utility\"\n};\nexport {\n r as arrowRight\n};\n//# sourceMappingURL=arrow-right.es.js.map\n","const e = {\n name: \"external\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M15 3.4a.9.9 0 1 1 0-1.8h6.5a.9.9 0 0 1 .9.9V9a.9.9 0 1 1-1.8 0V4.673l-7.964 7.963a.9.9 0 1 1-1.272-1.272L19.327 3.4H15ZM1.6 5c0-1.05.85-1.9 1.9-1.9h6a.9.9 0 0 1 0 1.8h-6a.1.1 0 0 0-.1.1v15.5a.1.1 0 0 0 .1.1h16a.1.1 0 0 0 .1-.1V14a.9.9 0 1 1 1.8 0v6.5a1.9 1.9 0 0 1-1.9 1.9h-16a1.9 1.9 0 0 1-1.9-1.9V5Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"external\"],\n category: \"media\"\n};\nexport {\n e as external\n};\n//# sourceMappingURL=external.es.js.map\n","const e = {\n name: \"phone\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M5.341 2.228c.75-.622 1.73-.43 2.305.145l2.783 2.783a1.9 1.9 0 0 1 0 2.687L8.843 9.43a.1.1 0 0 0 0 .142l5.586 5.585a.1.1 0 0 0 .142 0l1.585-1.585a1.9 1.9 0 0 1 2.687 0l3.5 3.5c.343.342.698 1.023.31 1.742-.346.645-1.173 1.615-3.154 2.936-1.75 1.167-3.667 1.269-5.297.903-1.61-.361-3.015-1.192-3.839-2.016a.9.9 0 0 1 1.273-1.272c.573.572 1.669 1.242 2.96 1.532 1.27.285 2.656.188 3.905-.645 1.483-.989 2.137-1.68 2.418-2.06l-3.348-3.347a.1.1 0 0 0-.142 0l-1.586 1.585a1.9 1.9 0 0 1-2.687 0l-5.585-5.585a1.9 1.9 0 0 1 0-2.688l1.585-1.585a.1.1 0 0 0 0-.142L6.41 3.682c-.447.383-1.183 1.102-2.206 2.38-.878 1.097-1.14 2.08-1.127 2.951.013.898.323 1.758.732 2.59.24.488.733 1.079 1.551 1.88.561.549 1.227 1.152 2.002 1.854.344.312.71.644 1.098 1a.9.9 0 0 1-1.215 1.327c-.367-.336-.722-.658-1.061-.965a77.443 77.443 0 0 1-2.082-1.93c-.831-.813-1.523-1.586-1.909-2.372-.456-.93-.896-2.07-.916-3.356-.02-1.314.399-2.7 1.521-4.103 1.148-1.435 1.995-2.254 2.544-2.71Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"phone\"],\n category: \"device\"\n};\nexport {\n e as phone\n};\n//# sourceMappingURL=phone.es.js.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, {\n type AnchorHTMLAttributes,\n type ForwardedRef,\n forwardRef,\n type HTMLAttributes,\n} from \"react\";\nimport type { ActionProps } from \"@purpurds/action\";\nimport { Icon } from \"@purpurds/icon\";\nimport { arrowLeft } from \"@purpurds/icon/assets/arrow-left\";\nimport { arrowRight } from \"@purpurds/icon/assets/arrow-right\";\nimport { external } from \"@purpurds/icon/assets/external\";\nimport { phone } from \"@purpurds/icon/assets/phone\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./cta-link.module.scss\";\nimport { type DataAttributes } from \"./types\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-cta-link\";\nexport const ctaLinkIcons = [\"forward\", \"external\", \"back\", \"phone\"] as const;\nexport type CtaLinkIcon = (typeof ctaLinkIcons)[number];\n\nconst iconMapping = {\n forward: arrowRight,\n external: external,\n back: arrowLeft,\n phone: phone,\n};\n\ntype CtaLinkBaseProps = {\n icon?: CtaLinkIcon;\n ref?: ForwardedRef<HTMLAnchorElement>;\n showIcon?: boolean;\n};\n\nexport type CtaAnchorProps = ActionProps & {\n href: string;\n} & AnchorHTMLAttributes<HTMLAnchorElement> &\n DataAttributes;\n\ntype SpanProps = ActionProps & HTMLAttributes<HTMLSpanElement>;\n\nexport type CtaLinkProps = CtaLinkBaseProps & (CtaAnchorProps | SpanProps);\n\nexport const CtaLink = forwardRef<HTMLAnchorElement | HTMLSpanElement, CtaLinkProps>(\n (\n {\n children,\n className,\n [\"data-testid\"]: dataTestid,\n fullWidth = false,\n iconOnly = false,\n showIcon = true,\n negative = false,\n size = \"md\",\n variant,\n icon = \"forward\",\n ...props\n },\n ref\n ) => {\n const classes = cx(\n [\n className,\n rootClassName,\n `${rootClassName}--${negative ? `${variant}-negative` : variant}`,\n `${rootClassName}--${size}`,\n ],\n {\n [`${rootClassName}--icon-only`]: iconOnly,\n [`${rootClassName}--negative`]: negative,\n [`${rootClassName}--full-width`]: fullWidth,\n }\n );\n\n const IconComponent = iconMapping[icon];\n\n const childrenWithIcons = (\n <>\n {showIcon && (icon === \"back\" || icon === \"phone\") && (\n <Icon svg={IconComponent} size={size === \"lg\" ? \"sm\" : \"xs\"} />\n )}\n {(!iconOnly || (iconOnly && !showIcon)) && children}\n {showIcon && (icon === \"forward\" || icon === \"external\") && (\n <Icon svg={IconComponent} size={size === \"lg\" ? \"sm\" : \"xs\"} />\n )}\n </>\n );\n\n const sharedProps = {\n ...props,\n className: classes,\n [\"data-testid\"]: dataTestid,\n };\n\n return \"href\" in props && props.href ? (\n <a {...sharedProps} ref={ref as ForwardedRef<HTMLAnchorElement>}>\n {childrenWithIcons}\n </a>\n ) : (\n <span {...sharedProps} ref={ref as ForwardedRef<HTMLSpanElement>}>\n {childrenWithIcons}\n </span>\n );\n }\n);\n\nCtaLink.displayName = \"CtaLink\";\n"],"names":["f","r","c","p","m","e","s","t","n","o","_","d","v","x","l","g","h","y","S","b","a","hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","cx","styles","rootClassName","ctaLinkIcons","iconMapping","arrowRight","external","arrowLeft","phone","CtaLink","forwardRef","children","className","dataTestid","fullWidth","iconOnly","showIcon","negative","size","variant","icon","props","ref","IconComponent","childrenWithIcons","jsxs","Fragment","jsx","Icon","sharedProps"],"mappings":";;AACA,SAASA,EAAEC,GAAG;AACZ,SAAOA,KAAKA,EAAE,cAAc,OAAO,UAAU,eAAe,KAAKA,GAAG,SAAS,IAAIA,EAAE,UAAUA;AAC/F;AACA,IAAIC,IAAI,EAAE,SAAS,GAAI;AACvB;AAAA;AAAA;AAAA;AAAA;AAKA,IAAIC;AACJ,SAASC,IAAI;AACX,SAAOD,MAAMA,IAAI,GAAG,SAASF,GAAG;AAC9B,KAAC,WAAW;AACV,UAAII,IAAI,CAAA,EAAG;AACX,eAASC,IAAI;AACX,iBAASC,IAAI,IAAIC,IAAI,GAAGA,IAAI,UAAU,QAAQA,KAAK;AACjD,cAAIC,IAAI,UAAUD,CAAC;AACnB,UAAAC,MAAMF,IAAI,EAAEA,GAAG,EAAE,KAAK,MAAME,CAAC,CAAC;AAAA,QACxC;AACQ,eAAOF;AAAA,MACf;AACM,eAAS,EAAEA,GAAG;AACZ,YAAI,OAAOA,KAAK,YAAY,OAAOA,KAAK;AACtC,iBAAO,QAAQ,KAAKA,CAAC,KAAKA;AAC5B,YAAI,OAAOA,KAAK;AACd,iBAAO;AACT,YAAI,MAAM,QAAQA,CAAC;AACjB,iBAAOD,EAAE,MAAM,MAAMC,CAAC;AACxB,YAAIA,EAAE,aAAa,OAAO,UAAU,YAAY,CAACA,EAAE,SAAS,WAAW,SAAS,eAAe;AAC7F,iBAAOA,EAAE,SAAU;AACrB,YAAIC,IAAI;AACR,iBAASC,KAAKF;AACZ,UAAAF,EAAE,KAAKE,GAAGE,CAAC,KAAKF,EAAEE,CAAC,MAAMD,IAAI,EAAEA,GAAG,QAAQ,KAAKC,CAAC,KAAKA,CAAC;AACxD,eAAOD;AAAA,MACf;AACM,eAAS,EAAED,GAAGC,GAAG;AACf,eAAOA,IAAID,IAAIA,IAAI,MAAMC,IAAID,IAAIC,IAAID;AAAA,MAC7C;AACM,MAAAN,EAAE,WAAWK,EAAE,UAAUA,GAAGL,EAAE,UAAUK,KAAK,OAAO,aAAaA;AAAA,IACvE,GAAQ;AAAA,EACR,EAAIJ,CAAC,IAAIA,EAAE;AACX;AACA,IAAIQ,IAAIN,EAAG;AACN,MAACO,IAAoB,gBAAAX,EAAEU,CAAC,GAAGE,IAAI;AAAA,EAClC,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AACrB,GAAGC,IAAIF,EAAE,KAAKC,CAAC,GAAGE,IAAI,eAA0DC,IAAI,MAAMC,IAAI,CAACf,MAAMA,EAAE,OAAO,CAACI,MAAM,OAAO,KAAKA,CAAC,EAAE,UAAU,CAAC,EAAE,IAAI,CAACA,MAAM,GAAGA,EAAE,IAAI,KAAKA,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,GAAGY,IAAI,CAAC,EAAE,SAAShB,IAAI,IAAI,OAAOI,EAAG,IAAG,OAAO;AAC3O,QAAMC,IAAI;AAAA,IACR,EAAE,MAAM,SAAS,OAAO,6BAA8B;AAAA,IACtD,EAAE,MAAM,QAAQ,OAAO,eAAgB;AAAA,IACvC,EAAE,MAAM,WAAW,OAAO,YAAa;AAAA,IACvCD,IAAI,EAAE,MAAM,QAAQ,OAAO,MAAO,IAAG,EAAE,MAAM,eAAe,OAAO,OAAM;AAAA,EAC7E,GAAK,IAAIA,IAAI,UAAUA,CAAC,aAAa;AACnC,SAAO,QAAQW,EAAEV,CAAC,CAAC,IAAI,CAAC,GAAGL,CAAC;AAC9B,GAAGiB,IAAI,CAACjB,MAAMA,EAAE,QAAQ,sBAAsB,EAAE,EAAE,QAAQkB,IAAI,CAAC;AAAA,EAC7D,CAAC,gBAAgBlB;AAAA,EACjB,KAAKI;AAAA,EACL,WAAWC;AAAA,EACX,WAAW;AAAA,EACX,MAAM,IAAIS;AAAA,EACV,GAAGR;AACL,MAAM;AACJ,QAAMC,IAAIS,EAAE;AAAA,IACV,SAASC,EAAEb,EAAE,GAAG;AAAA,IAChB,OAAOC;AAAA,EACX,CAAG,GAAGG,IAAII,EAAE,GAAGC,GAAG,GAAGA,CAAC,KAAK,CAAC,EAAE;AAC5B,SAAuBM,gBAAAA;AAAAA,IACrB;AAAA,IACA;AAAA,MACE,WAAWX;AAAA,MACX,eAAeR;AAAA,MACf,yBAAyB,EAAE,QAAQO,EAAG;AAAA,MACtC,GAAGD;AAAA,IACT;AAAA,EACG;AACH;AACAY,EAAE,cAAc;AClFhB,MAAMd,IAAI;AAAA,EACR,MAAM;AAAA,EACN,KAAK;AAAA,EACL,UAAU,CAAC,YAAY;AAAA,EACvB,UAAU;AACZ,GCLMJ,IAAI;AAAA,EACR,MAAM;AAAA,EACN,KAAK;AAAA,EACL,UAAU,CAAC,aAAa;AAAA,EACxB,UAAU;AACZ,GCLMI,IAAI;AAAA,EACR,MAAM;AAAA,EACN,KAAK;AAAA,EACL,UAAU,CAAC,UAAU;AAAA,EACrB,UAAU;AACZ,GCLMA,IAAI;AAAA,EACR,MAAM;AAAA,EACN,KAAK;AAAA,EACL,UAAU,CAAC,OAAO;AAAA,EAClB,UAAU;AACZ;;;;;;;;;;;;;ACEA,KAAC,WAAY;AAGZ,UAAIgB,IAAS,CAAA,EAAG;AAEhB,eAASC,IAAc;AAGtB,iBAFIC,IAAU,IAELC,IAAI,GAAGA,IAAI,UAAU,QAAQA,KAAK;AAC1C,cAAIC,IAAM,UAAUD,CAAC;AACrB,UAAIC,MACHF,IAAUG,EAAYH,GAASI,EAAW,KAAK,MAAMF,CAAG,CAAC;AAAA,QAE7D;AAEE,eAAOF;AAAA,MACT;AAEC,eAASI,EAAYF,GAAK;AACzB,YAAI,OAAOA,KAAQ,YAAY,OAAOA,KAAQ;AAC7C,iBAAO,QAAQ,KAAKA,CAAG,KAAKA;AAG7B,YAAI,OAAOA,KAAQ;AAClB,iBAAO;AAGR,YAAI,MAAM,QAAQA,CAAG;AACpB,iBAAOH,EAAW,MAAM,MAAMG,CAAG;AAGlC,YAAIA,EAAI,aAAa,OAAO,UAAU,YAAY,CAACA,EAAI,SAAS,SAAQ,EAAG,SAAS,eAAe;AAClG,iBAAOA,EAAI,SAAU;AAGtB,YAAIF,IAAU;AAEd,iBAASK,KAAOH;AACf,UAAIJ,EAAO,KAAKI,GAAKG,CAAG,KAAKH,EAAIG,CAAG,MACnCL,IAAUG,EAAYH,GAAS,QAAQ,KAAKK,CAAG,KAAKA,CAAG;AAIzD,eAAOL;AAAA,MACT;AAEC,eAASG,EAAaG,GAAOC,GAAU;AACtC,eAAKA,IAIDD,IACIA,IAAQ,MAAMC,IAGfD,IAAQC,IAPPD;AAAA,MAQV;AAEC,MAAqCE,EAAO,WAC3CT,EAAW,UAAUA,GACrBS,YAAiBT,KAOjB,OAAO,aAAaA;AAAA,IAEtB;;;;;;;;;;;;;;;;;;;GC3DMU,IAAK9B,EAAE,KAAK+B,CAAM,GAClBC,IAAgB,mBACTC,IAAe,CAAC,WAAW,YAAY,QAAQ,OAAO,GAG7DC,IAAc;AAAA,EAClB,SAASC;AAAAA,EAAA,UACTC;AAAAA,EACA,MAAMC;AAAAA,EACNC,OAAAA;AACF,GAiBaC,IAAUC;AAAA,EACrB,CACE;AAAA,IACE,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,CAAC,gBAAgBC;AAAA,IACjB,WAAAC,IAAY;AAAA,IACZ,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAW;AAAA,IACX,MAAAC,IAAO;AAAA,IACP,SAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,GAAGC;AAAA,KAELC,MACG;AACH,UAAM/B,IAAUS;AAAA,MACd;AAAA,QACEY;AAAA,QACAV;AAAA,QACA,GAAGA,CAAa,KAAKe,IAAW,GAAGE,CAAO,cAAcA,CAAO;AAAA,QAC/D,GAAGjB,CAAa,KAAKgB,CAAI;AAAA,MAC3B;AAAA,MACA;AAAA,QACE,CAAC,GAAGhB,CAAa,aAAa,GAAGa;AAAA,QACjC,CAAC,GAAGb,CAAa,YAAY,GAAGe;AAAA,QAChC,CAAC,GAAGf,CAAa,cAAc,GAAGY;AAAA,MAAA;AAAA,IAEtC,GAEMS,IAAgBnB,EAAYgB,CAAI,GAEhCI,IAED,gBAAAC,EAAAC,GAAA,EAAA,UAAA;AAAA,MAAAV,MAAaI,MAAS,UAAUA,MAAS,YACvC,gBAAAO,EAAAC,GAAA,EAAK,KAAKL,GAAe,MAAML,MAAS,OAAO,OAAO,MAAM;AAAA,OAE7D,CAACH,KAAaA,KAAY,CAACC,MAAcL;AAAA,MAC1CK,MAAaI,MAAS,aAAaA,MAAS,eAC3C,gBAAAO,EAACC,GAAK,EAAA,KAAKL,GAAe,MAAML,MAAS,OAAO,OAAO,KAAM,CAAA;AAAA,IAAA,GAEjE,GAGIW,IAAc;AAAA,MAClB,GAAGR;AAAA,MACH,WAAW9B;AAAA,MACV,eAAgBsB;AAAA,IACnB;AAEA,WAAO,UAAUQ,KAASA,EAAM,OAC9B,gBAAAM,EAAC,OAAG,GAAGE,GAAa,KAAAP,GACjB,UAAAE,EACH,CAAA,IAEC,gBAAAG,EAAA,QAAA,EAAM,GAAGE,GAAa,KAAAP,GACpB,UACHE,GAAA;AAAA,EAAA;AAGN;AAEAf,EAAQ,cAAc;","x_google_ignoreList":[5]}
1
+ {"version":3,"file":"cta-link.es.js","sources":["../../icon/dist/icon.es.js","../../icon/dist/assets/arrow-left.es.js","../../icon/dist/assets/arrow-right.es.js","../../icon/dist/assets/external.es.js","../../icon/dist/assets/phone.es.js","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/cta-link.tsx"],"sourcesContent":["import { jsx as a } from \"react/jsx-runtime\";\nfunction f(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar c = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar p;\nfunction m() {\n return p || (p = 1, function(r) {\n (function() {\n var e = {}.hasOwnProperty;\n function s() {\n for (var t = \"\", n = 0; n < arguments.length; n++) {\n var o = arguments[n];\n o && (t = i(t, u.call(this, o)));\n }\n return t;\n }\n function u(t) {\n if (typeof t == \"string\" || typeof t == \"number\")\n return this && this[t] || t;\n if (typeof t != \"object\")\n return \"\";\n if (Array.isArray(t))\n return s.apply(this, t);\n if (t.toString !== Object.prototype.toString && !t.toString.toString().includes(\"[native code]\"))\n return t.toString();\n var n = \"\";\n for (var o in t)\n e.call(t, o) && t[o] && (n = i(n, this && this[o] || o));\n return n;\n }\n function i(t, n) {\n return n ? t ? t + \" \" + n : t + n : t;\n }\n r.exports ? (s.default = s, r.exports = s) : window.classNames = s;\n })();\n }(c)), c.exports;\n}\nvar _ = m();\nconst v = /* @__PURE__ */ f(_), d = {\n \"purpur-icon\": \"_purpur-icon_8u1lq_1\",\n \"purpur-icon--xxs\": \"_purpur-icon--xxs_8u1lq_4\",\n \"purpur-icon--xs\": \"_purpur-icon--xs_8u1lq_8\",\n \"purpur-icon--sm\": \"_purpur-icon--sm_8u1lq_12\",\n \"purpur-icon--md\": \"_purpur-icon--md_8u1lq_16\",\n \"purpur-icon--lg\": \"_purpur-icon--lg_8u1lq_20\",\n \"purpur-icon--xl\": \"_purpur-icon--xl_8u1lq_24\"\n}, x = v.bind(d), l = \"purpur-icon\", w = [\"xxs\", \"xs\", \"sm\", \"md\", \"lg\", \"xl\"], g = \"md\", h = (r) => r.filter((e) => Object.keys(e).length >= 1).map((e) => `${e.name}=\"${e.value}\"`).join(\" \"), y = ({ content: r = \"\", title: e } = {}) => {\n const s = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"currentColor\" },\n { name: \"viewBox\", value: \"0 0 24 24\" },\n e ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" }\n ], u = e ? `<title>${e}</title>` : \"\";\n return `<svg ${h(s)}>${u}${r}</svg>`;\n}, S = (r) => r.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), b = ({ svg: r, allyTitle: e, className: s, size: u = g, ...i }) => {\n const t = y({\n content: S(r.svg),\n title: e\n }), n = x(s, l, `${l}--${u}`);\n return /* @__PURE__ */ a(\"span\", { className: n, dangerouslySetInnerHTML: { __html: t }, ...i });\n};\nb.displayName = \"Icon\";\nexport {\n g as DEFAULT_SIZE,\n b as Icon,\n w as sizes\n};\n//# sourceMappingURL=icon.es.js.map\n","const e = {\n name: \"arrow-left\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M3.1 12a.9.9 0 0 1 .264-.636l5.5-5.5a.9.9 0 0 1 1.272 1.272L6.173 11.1H20a.9.9 0 0 1 0 1.8H6.173l3.963 3.964a.9.9 0 1 1-1.272 1.272l-5.5-5.5A.9.9 0 0 1 3.1 12Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"arrow-left\"],\n category: \"utility\"\n};\nexport {\n e as arrowLeft\n};\n//# sourceMappingURL=arrow-left.es.js.map\n","const r = {\n name: \"arrow-right\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M20.9 12a.9.9 0 0 1-.264.636l-5.5 5.5a.9.9 0 0 1-1.272-1.272l3.963-3.964H4a.9.9 0 0 1 0-1.8h13.827l-3.963-3.964a.9.9 0 1 1 1.272-1.272l5.5 5.5A.9.9 0 0 1 20.9 12Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"arrow-right\"],\n category: \"utility\"\n};\nexport {\n r as arrowRight\n};\n//# sourceMappingURL=arrow-right.es.js.map\n","const e = {\n name: \"external\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M15 3.4a.9.9 0 1 1 0-1.8h6.5a.9.9 0 0 1 .9.9V9a.9.9 0 1 1-1.8 0V4.673l-7.964 7.963a.9.9 0 1 1-1.272-1.272L19.327 3.4H15ZM1.6 5c0-1.05.85-1.9 1.9-1.9h6a.9.9 0 0 1 0 1.8h-6a.1.1 0 0 0-.1.1v15.5a.1.1 0 0 0 .1.1h16a.1.1 0 0 0 .1-.1V14a.9.9 0 1 1 1.8 0v6.5a1.9 1.9 0 0 1-1.9 1.9h-16a1.9 1.9 0 0 1-1.9-1.9V5Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"external\"],\n category: \"media\"\n};\nexport {\n e as external\n};\n//# sourceMappingURL=external.es.js.map\n","const e = {\n name: \"phone\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M5.341 2.228c.75-.622 1.73-.43 2.305.145l2.783 2.783a1.9 1.9 0 0 1 0 2.687L8.843 9.43a.1.1 0 0 0 0 .142l5.586 5.585a.1.1 0 0 0 .142 0l1.585-1.585a1.9 1.9 0 0 1 2.687 0l3.5 3.5c.343.342.698 1.023.31 1.742-.346.645-1.173 1.615-3.154 2.936-1.75 1.167-3.667 1.269-5.297.903-1.61-.361-3.015-1.192-3.839-2.016a.9.9 0 0 1 1.273-1.272c.573.572 1.669 1.242 2.96 1.532 1.27.285 2.656.188 3.905-.645 1.483-.989 2.137-1.68 2.418-2.06l-3.348-3.347a.1.1 0 0 0-.142 0l-1.586 1.585a1.9 1.9 0 0 1-2.687 0l-5.585-5.585a1.9 1.9 0 0 1 0-2.688l1.585-1.585a.1.1 0 0 0 0-.142L6.41 3.682c-.447.383-1.183 1.102-2.206 2.38-.878 1.097-1.14 2.08-1.127 2.951.013.898.323 1.758.732 2.59.24.488.733 1.079 1.551 1.88.561.549 1.227 1.152 2.002 1.854.344.312.71.644 1.098 1a.9.9 0 0 1-1.215 1.327c-.367-.336-.722-.658-1.061-.965a77.443 77.443 0 0 1-2.082-1.93c-.831-.813-1.523-1.586-1.909-2.372-.456-.93-.896-2.07-.916-3.356-.02-1.314.399-2.7 1.521-4.103 1.148-1.435 1.995-2.254 2.544-2.71Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"phone\"],\n category: \"device\"\n};\nexport {\n e as phone\n};\n//# sourceMappingURL=phone.es.js.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { type ForwardedRef, forwardRef } from \"react\";\nimport type { ActionProps } from \"@purpurds/action\";\nimport type { BaseProps } from \"@purpurds/common-types\";\nimport { Icon } from \"@purpurds/icon\";\nimport { arrowLeft } from \"@purpurds/icon/assets/arrow-left\";\nimport { arrowRight } from \"@purpurds/icon/assets/arrow-right\";\nimport { external } from \"@purpurds/icon/assets/external\";\nimport { phone } from \"@purpurds/icon/assets/phone\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./cta-link.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-cta-link\";\n\nexport const ctaLinkIcons = [\"forward\", \"external\", \"back\", \"phone\"] as const;\nexport type CtaLinkIcon = (typeof ctaLinkIcons)[number];\n\nconst iconMapping = {\n forward: arrowRight,\n external: external,\n back: arrowLeft,\n phone: phone,\n};\n\ntype CtaLinkBaseProps = {\n icon?: CtaLinkIcon;\n showIcon?: boolean;\n};\n\nexport type CtaAnchorProps = ActionProps &\n Omit<BaseProps<\"a\">, \"href\"> & {\n href: string;\n };\n\ntype SpanProps = ActionProps & BaseProps<\"span\">;\n\nexport type CtaLinkProps = CtaLinkBaseProps & (CtaAnchorProps | SpanProps);\n\nexport const CtaLink = forwardRef<HTMLAnchorElement | HTMLSpanElement, CtaLinkProps>(\n (\n {\n children,\n className,\n [\"data-testid\"]: dataTestid,\n fullWidth = false,\n iconOnly = false,\n showIcon = true,\n negative = false,\n size = \"md\",\n variant,\n icon = \"forward\",\n ...props\n },\n ref\n ) => {\n const classes = cx(\n [\n className,\n rootClassName,\n `${rootClassName}--${negative ? `${variant}-negative` : variant}`,\n `${rootClassName}--${size}`,\n ],\n {\n [`${rootClassName}--icon-only`]: iconOnly,\n [`${rootClassName}--negative`]: negative,\n [`${rootClassName}--full-width`]: fullWidth,\n }\n );\n\n const IconComponent = iconMapping[icon];\n\n const childrenWithIcons = (\n <>\n {showIcon && (icon === \"back\" || icon === \"phone\") && (\n <Icon svg={IconComponent} size={size === \"lg\" ? \"sm\" : \"xs\"} />\n )}\n {(!iconOnly || (iconOnly && !showIcon)) && children}\n {showIcon && (icon === \"forward\" || icon === \"external\") && (\n <Icon svg={IconComponent} size={size === \"lg\" ? \"sm\" : \"xs\"} />\n )}\n </>\n );\n\n const sharedProps = {\n ...props,\n className: classes,\n [\"data-testid\"]: dataTestid,\n };\n\n return \"href\" in props && props.href ? (\n <a {...sharedProps} ref={ref as ForwardedRef<HTMLAnchorElement>}>\n {childrenWithIcons}\n </a>\n ) : (\n <span {...sharedProps} ref={ref as ForwardedRef<HTMLSpanElement>}>\n {childrenWithIcons}\n </span>\n );\n }\n);\n\nCtaLink.displayName = \"CtaLink\";\n"],"names":["f","r","c","p","m","e","s","t","n","o","_","v","d","x","l","g","h","y","S","b","a","hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","cx","styles","rootClassName","ctaLinkIcons","iconMapping","arrowRight","external","arrowLeft","phone","CtaLink","forwardRef","children","className","dataTestid","fullWidth","iconOnly","showIcon","negative","size","variant","icon","props","ref","IconComponent","childrenWithIcons","jsxs","Fragment","jsx","Icon","sharedProps"],"mappings":"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","x_google_ignoreList":[5]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpurds/cta-link",
3
- "version": "7.6.1",
3
+ "version": "7.8.0",
4
4
  "license": "AGPL-3.0-only",
5
5
  "main": "./dist/cta-link.cjs.js",
6
6
  "types": "./dist/cta-link.d.ts",
@@ -16,25 +16,26 @@
16
16
  "source": "src/cta-link.tsx",
17
17
  "dependencies": {
18
18
  "classnames": "~2.5.0",
19
- "@purpurds/action": "7.6.1",
20
- "@purpurds/tokens": "7.6.1",
21
- "@purpurds/icon": "7.6.1"
19
+ "@purpurds/action": "7.8.0",
20
+ "@purpurds/common-types": "7.8.0",
21
+ "@purpurds/icon": "7.8.0",
22
+ "@purpurds/tokens": "7.8.0"
22
23
  },
23
24
  "devDependencies": {
24
- "eslint": "9.24.0",
25
- "@storybook/react": "^8.6.4",
26
- "storybook": "^8.6.4",
25
+ "@storybook/react-vite": "^9.0.18",
27
26
  "@testing-library/dom": "~10.4.0",
28
27
  "@testing-library/jest-dom": "~6.4.0",
29
28
  "@testing-library/react": "~16.2.0",
30
29
  "@types/node": "20.12.12",
31
30
  "@types/react-dom": "^19.0.4",
32
31
  "@types/react": "^19.0.10",
32
+ "eslint": "9.24.0",
33
33
  "jsdom": "~22.1.0",
34
34
  "lint-staged": "15.5.0",
35
35
  "prettier": "~2.8.8",
36
36
  "react-dom": "^19.0.0",
37
37
  "react": "^19.0.0",
38
+ "storybook": "^9.0.18",
38
39
  "typescript": "^5.6.3",
39
40
  "vite": "^6.2.1",
40
41
  "vitest": "^3.1.2",
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { sizes, variants } from "@purpurds/action";
3
3
  import { IconDownload } from "@purpurds/icon/download";
4
- import type { Meta, StoryObj } from "@storybook/react";
4
+ import type { Meta, StoryObj } from "@storybook/react-vite";
5
5
 
6
6
  import "@purpurds/icon/styles";
7
7
  import { CtaLink, ctaLinkIcons } from "./cta-link";
@@ -40,7 +40,7 @@ describe("CtaLink", () => {
40
40
  Link Children
41
41
  </CtaLink>
42
42
  );
43
- expect(await screen.queryByText("Link Children")).toBe(null);
43
+ expect(screen.queryByText("Link Children")).toBe(null);
44
44
  });
45
45
 
46
46
  it("renders href", async () => {
@@ -52,7 +52,7 @@ describe("CtaLink", () => {
52
52
  expect(screen.getByTestId("link").getAttribute("href")).toContain("#telia");
53
53
  });
54
54
 
55
- it("douesn't render href", async () => {
55
+ it("doesn't render href", async () => {
56
56
  render(
57
57
  <CtaLink variant="primary" data-testid="link">
58
58
  Link
package/src/cta-link.tsx CHANGED
@@ -1,10 +1,6 @@
1
- import React, {
2
- type AnchorHTMLAttributes,
3
- type ForwardedRef,
4
- forwardRef,
5
- type HTMLAttributes,
6
- } from "react";
1
+ import React, { type ForwardedRef, forwardRef } from "react";
7
2
  import type { ActionProps } from "@purpurds/action";
3
+ import type { BaseProps } from "@purpurds/common-types";
8
4
  import { Icon } from "@purpurds/icon";
9
5
  import { arrowLeft } from "@purpurds/icon/assets/arrow-left";
10
6
  import { arrowRight } from "@purpurds/icon/assets/arrow-right";
@@ -13,10 +9,10 @@ import { phone } from "@purpurds/icon/assets/phone";
13
9
  import c from "classnames/bind";
14
10
 
15
11
  import styles from "./cta-link.module.scss";
16
- import { type DataAttributes } from "./types";
17
12
 
18
13
  const cx = c.bind(styles);
19
14
  const rootClassName = "purpur-cta-link";
15
+
20
16
  export const ctaLinkIcons = ["forward", "external", "back", "phone"] as const;
21
17
  export type CtaLinkIcon = (typeof ctaLinkIcons)[number];
22
18
 
@@ -29,16 +25,15 @@ const iconMapping = {
29
25
 
30
26
  type CtaLinkBaseProps = {
31
27
  icon?: CtaLinkIcon;
32
- ref?: ForwardedRef<HTMLAnchorElement>;
33
28
  showIcon?: boolean;
34
29
  };
35
30
 
36
- export type CtaAnchorProps = ActionProps & {
37
- href: string;
38
- } & AnchorHTMLAttributes<HTMLAnchorElement> &
39
- DataAttributes;
31
+ export type CtaAnchorProps = ActionProps &
32
+ Omit<BaseProps<"a">, "href"> & {
33
+ href: string;
34
+ };
40
35
 
41
- type SpanProps = ActionProps & HTMLAttributes<HTMLSpanElement>;
36
+ type SpanProps = ActionProps & BaseProps<"span">;
42
37
 
43
38
  export type CtaLinkProps = CtaLinkBaseProps & (CtaAnchorProps | SpanProps);
44
39
 
package/dist/types.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export type DataAttributes = {
2
- [key: `data-${string}`]: string;
3
- };
4
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,GAAG,EAAE,QAAQ,MAAM,EAAE,GAAG,MAAM,CAAC;CACjC,CAAC"}
package/src/types.ts DELETED
@@ -1,5 +0,0 @@
1
- // TODO: move to reusable package, once decided where it should be placed
2
-
3
- export type DataAttributes = {
4
- [key: `data-${string}`]: string;
5
- };