@purpurds/link 8.8.1 → 8.10.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/link.cjs.js CHANGED
@@ -1,6 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime");function b(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var o={exports:{}};/*!
2
- Copyright (c) 2018 Jed Watson.
3
- Licensed under the MIT License (MIT), see
4
- http://jedwatson.github.io/classnames
5
- */var f;function N(){return f||(f=1,(function(n){(function(){var u={}.hasOwnProperty;function i(){for(var t="",r=0;r<arguments.length;r++){var e=arguments[r];e&&(t=s(t,p.call(this,e)))}return t}function p(t){if(typeof t=="string"||typeof t=="number")return this&&this[t]||t;if(typeof t!="object")return"";if(Array.isArray(t))return i.apply(this,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var r="";for(var e in t)u.call(t,e)&&t[e]&&(r=s(r,this&&this[e]||e));return r}function s(t,r){return r?t?t+" "+r:t+r:t}n.exports?(i.default=i,n.exports=i):window.classNames=i})()})(o)),o.exports}var x=N();const y=b(x),A={"purpur-link":"_purpur-link_5pram_1","purpur-link--text":"_purpur-link--text_5pram_18","purpur-link--standalone":"_purpur-link--standalone_5pram_18","purpur-link--navigation":"_purpur-link--navigation_5pram_18","purpur-link--disable-visited":"_purpur-link--disable-visited_5pram_29","purpur-link--text-negative":"_purpur-link--text-negative_5pram_32","purpur-link--standalone-negative":"_purpur-link--standalone-negative_5pram_32","purpur-link--navigation-negative":"_purpur-link--navigation-negative_5pram_32","purpur-link--ensure-target-area":"_purpur-link--ensure-target-area_5pram_71","purpur-link--silent":"_purpur-link--silent_5pram_77"},j=y.bind(A),a="purpur-link",v={TEXT:"text",STANDALONE:"standalone",NAVIGATION:"navigation"},O=Object.values(v),k=({["data-testid"]:n,children:u,className:i,disableVisited:p=!0,ensureTargetArea:s,href:t,negative:r=!1,onClick:e,rel:m,silent:l,target:g,variant:_,...c})=>d.jsx("span",{className:j(i,a,`${a}--${r?`${_}-negative`:_}`,{[`${a}--silent`]:l,[`${a}--negative`]:r,[`${a}--disable-visited`]:p??l,[`${a}--ensure-target-area`]:s}),"data-testid":n,onClick:t?void 0:e,...t?{}:c,children:t?d.jsx("a",{href:t,target:g,rel:m,onClick:e,"data-testid":n?`${n} a`:void 0,...c,children:u}):u});k.displayName="Link";exports.LINK_VARIANT=v;exports.Link=k;exports.linkVariants=O;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime");function b(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var o={exports:{}};var f;function N(){return f||(f=1,(function(n){(function(){var u={}.hasOwnProperty;function i(){for(var t="",r=0;r<arguments.length;r++){var e=arguments[r];e&&(t=s(t,p.call(this,e)))}return t}function p(t){if(typeof t=="string"||typeof t=="number")return this&&this[t]||t;if(typeof t!="object")return"";if(Array.isArray(t))return i.apply(this,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var r="";for(var e in t)u.call(t,e)&&t[e]&&(r=s(r,this&&this[e]||e));return r}function s(t,r){return r?t?t+" "+r:t+r:t}n.exports?(i.default=i,n.exports=i):window.classNames=i})()})(o)),o.exports}var x=N();const y=b(x),A={"purpur-link":"_purpur-link_5pram_1","purpur-link--text":"_purpur-link--text_5pram_18","purpur-link--standalone":"_purpur-link--standalone_5pram_18","purpur-link--navigation":"_purpur-link--navigation_5pram_18","purpur-link--disable-visited":"_purpur-link--disable-visited_5pram_29","purpur-link--text-negative":"_purpur-link--text-negative_5pram_32","purpur-link--standalone-negative":"_purpur-link--standalone-negative_5pram_32","purpur-link--navigation-negative":"_purpur-link--navigation-negative_5pram_32","purpur-link--ensure-target-area":"_purpur-link--ensure-target-area_5pram_71","purpur-link--silent":"_purpur-link--silent_5pram_77"},j=y.bind(A),a="purpur-link",v={TEXT:"text",STANDALONE:"standalone",NAVIGATION:"navigation"},O=Object.values(v),k=({["data-testid"]:n,children:u,className:i,disableVisited:p=!0,ensureTargetArea:s,href:t,negative:r=!1,onClick:e,rel:m,silent:l,target:g,variant:_,...c})=>d.jsx("span",{className:j(i,a,`${a}--${r?`${_}-negative`:_}`,{[`${a}--silent`]:l,[`${a}--negative`]:r,[`${a}--disable-visited`]:p??l,[`${a}--ensure-target-area`]:s}),"data-testid":n,onClick:t?void 0:e,...t?{}:c,children:t?d.jsx("a",{href:t,target:g,rel:m,onClick:e,"data-testid":n?`${n} a`:void 0,...c,children:u}):u});k.displayName="Link";exports.LINK_VARIANT=v;exports.Link=k;exports.linkVariants=O;
6
2
  //# sourceMappingURL=link.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"link.cjs.js","sources":["../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/link.tsx"],"sourcesContent":["/*!\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 ComponentProps,\n type HTMLAttributeAnchorTarget,\n type MouseEventHandler,\n type ReactNode,\n} from \"react\";\nimport type { BaseProps } from \"@purpurds/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./link.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-link\";\n\nexport const LINK_VARIANT = {\n TEXT: \"text\",\n STANDALONE: \"standalone\",\n NAVIGATION: \"navigation\",\n} as const;\n\nexport const linkVariants = Object.values(LINK_VARIANT);\nexport type LinkVariant = (typeof LINK_VARIANT)[keyof typeof LINK_VARIANT];\n\nexport type LinkProps = Omit<BaseProps<\"a\">, \"onClick\" | \"target\" | \"children\"> & {\n children: ReactNode;\n /** Disables visited styling */\n disableVisited?: boolean;\n /**\n * This sets a minimum size on the targetable area of the link. Please note\n * it also changes display value to flex, meaning its container will behave\n * like a block element. You can wrap this component in a flex container\n * for additional layout control.\n */\n ensureTargetArea?: boolean;\n /**\n * This will wrap children in an `<a/>` tag and set the `href` accordingly.\n */\n href?: string;\n negative?: boolean;\n /**\n * If `href` is specified, the `onClick` handler will be added to the `<a/>` tag, otherwise on the wrapping `<span/>` tag.\n */\n onClick?: MouseEventHandler<HTMLAnchorElement | HTMLSpanElement>;\n /**\n * If both `rel` and `href` are specified, the `rel` attribute will be added to the `<a/>` tag.\n * The `rel` attribute specifies the relationship between the current document and the linked document.\n * Common values include \"noopener\", \"noreferrer\", \"nofollow\", and \"external\".\n */\n rel?: ComponentProps<\"a\">[\"rel\"];\n /**\n * A silent link is intended to wrap an element\n * to make it a link but not add any styling\n * except for the pointer cursor and focus style.\n */\n silent?: boolean;\n /**\n * If both `target` and `href` are specified, the `target` attribute will be added to the `<a/>` tag\n */\n target?: HTMLAttributeAnchorTarget;\n /**\n * Determines if link is displayed on its own line\n * (`\"standalone\"`) or within the current text content\n * (`\"text\"`).\n */\n variant: LinkVariant;\n};\n\nexport const Link = ({\n [\"data-testid\"]: dataTestid,\n children,\n className,\n disableVisited = true,\n ensureTargetArea,\n href,\n negative = false,\n onClick,\n rel,\n silent,\n target,\n variant,\n ...props\n}: LinkProps) => (\n /* eslint-disable-next-line jsx-a11y/click-events-have-key-events */\n <span\n className={cx(\n className,\n rootClassName,\n `${rootClassName}--${negative ? `${variant}-negative` : variant}`,\n {\n [`${rootClassName}--silent`]: silent,\n [`${rootClassName}--negative`]: negative,\n [`${rootClassName}--disable-visited`]: disableVisited ?? silent,\n [`${rootClassName}--ensure-target-area`]: ensureTargetArea,\n }\n )}\n data-testid={dataTestid}\n onClick={href ? undefined : onClick}\n {...(href ? {} : props)}\n >\n {href ? (\n <a\n href={href}\n target={target}\n rel={rel}\n onClick={onClick}\n data-testid={dataTestid ? `${dataTestid} a` : undefined}\n {...props}\n >\n {children}\n </a>\n ) : (\n children\n )}\n </span>\n);\n\nLink.displayName = \"Link\";\n"],"names":["hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","cx","c","styles","rootClassName","LINK_VARIANT","linkVariants","Link","dataTestid","children","className","disableVisited","ensureTargetArea","href","negative","onClick","rel","silent","target","variant","props","jsx"],"mappings":";;;;kDAOC,UAAY,CAGZ,IAAIA,EAAS,CAAA,EAAG,eAEhB,SAASC,GAAc,CAGtB,QAFIC,EAAU,GAELC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CAC1C,IAAIC,EAAM,UAAUD,CAAC,EACjBC,IACHF,EAAUG,EAAYH,EAASI,EAAW,KAAK,KAAMF,CAAG,CAAC,EAE7D,CAEE,OAAOF,CACT,CAEC,SAASI,EAAYF,EAAK,CACzB,GAAI,OAAOA,GAAQ,UAAY,OAAOA,GAAQ,SAC7C,OAAO,MAAQ,KAAKA,CAAG,GAAKA,EAG7B,GAAI,OAAOA,GAAQ,SAClB,MAAO,GAGR,GAAI,MAAM,QAAQA,CAAG,EACpB,OAAOH,EAAW,MAAM,KAAMG,CAAG,EAGlC,GAAIA,EAAI,WAAa,OAAO,UAAU,UAAY,CAACA,EAAI,SAAS,SAAQ,EAAG,SAAS,eAAe,EAClG,OAAOA,EAAI,SAAQ,EAGpB,IAAIF,EAAU,GAEd,QAASK,KAAOH,EACXJ,EAAO,KAAKI,EAAKG,CAAG,GAAKH,EAAIG,CAAG,IACnCL,EAAUG,EAAYH,EAAS,MAAQ,KAAKK,CAAG,GAAKA,CAAG,GAIzD,OAAOL,CACT,CAEC,SAASG,EAAaG,EAAOC,EAAU,CACtC,OAAKA,EAIDD,EACIA,EAAQ,IAAMC,EAGfD,EAAQC,EAPPD,CAQV,CAEsCE,EAAO,SAC3CT,EAAW,QAAUA,EACrBS,UAAiBT,GAOjB,OAAO,WAAaA,CAEtB,mrBCjEMU,EAAKC,EAAE,KAAKC,CAAM,EAClBC,EAAgB,cAETC,EAAe,CAC1B,KAAM,OACN,WAAY,aACZ,WAAY,YACd,EAEaC,EAAe,OAAO,OAAOD,CAAY,EA+CzCE,EAAO,CAAC,CACnB,CAAC,eAAgBC,EACjB,SAAAC,EACA,UAAAC,EACA,eAAAC,EAAiB,GACjB,iBAAAC,EACA,KAAAC,EACA,SAAAC,EAAW,GACX,QAAAC,EACA,IAAAC,EACA,OAAAC,EACA,OAAAC,EACA,QAAAC,EACA,GAAGC,CACL,IAEEC,EAAAA,IAAC,OAAA,CACC,UAAWpB,EACTS,EACAN,EACA,GAAGA,CAAa,KAAKU,EAAW,GAAGK,CAAO,YAAcA,CAAO,GAC/D,CACE,CAAC,GAAGf,CAAa,UAAU,EAAGa,EAC9B,CAAC,GAAGb,CAAa,YAAY,EAAGU,EAChC,CAAC,GAAGV,CAAa,mBAAmB,EAAGO,GAAkBM,EACzD,CAAC,GAAGb,CAAa,sBAAsB,EAAGQ,CAAA,CAC5C,EAEF,cAAaJ,EACb,QAASK,EAAO,OAAYE,EAC3B,GAAIF,EAAO,CAAA,EAAKO,EAEhB,SAAAP,EACCQ,EAAAA,IAAC,IAAA,CACC,KAAAR,EACA,OAAAK,EACA,IAAAF,EACA,QAAAD,EACA,cAAaP,EAAa,GAAGA,CAAU,KAAO,OAC7C,GAAGY,EAEH,SAAAX,CAAA,CAAA,EAGHA,CAAA,CAAA,EAKNF,EAAK,YAAc","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"link.cjs.js","sources":["../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/link.tsx"],"sourcesContent":["/*!\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 ComponentProps,\n type HTMLAttributeAnchorTarget,\n type MouseEventHandler,\n type ReactNode,\n} from \"react\";\nimport type { BaseProps } from \"@purpurds/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./link.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-link\";\n\nexport const LINK_VARIANT = {\n TEXT: \"text\",\n STANDALONE: \"standalone\",\n NAVIGATION: \"navigation\",\n} as const;\n\nexport const linkVariants = Object.values(LINK_VARIANT);\nexport type LinkVariant = (typeof LINK_VARIANT)[keyof typeof LINK_VARIANT];\n\nexport type LinkProps = Omit<BaseProps<\"a\">, \"onClick\" | \"target\" | \"children\"> & {\n children: ReactNode;\n /** Disables visited styling */\n disableVisited?: boolean;\n /**\n * This sets a minimum size on the targetable area of the link. Please note\n * it also changes display value to flex, meaning its container will behave\n * like a block element. You can wrap this component in a flex container\n * for additional layout control.\n */\n ensureTargetArea?: boolean;\n /**\n * This will wrap children in an `<a/>` tag and set the `href` accordingly.\n */\n href?: string;\n negative?: boolean;\n /**\n * If `href` is specified, the `onClick` handler will be added to the `<a/>` tag, otherwise on the wrapping `<span/>` tag.\n */\n onClick?: MouseEventHandler<HTMLAnchorElement | HTMLSpanElement>;\n /**\n * If both `rel` and `href` are specified, the `rel` attribute will be added to the `<a/>` tag.\n * The `rel` attribute specifies the relationship between the current document and the linked document.\n * Common values include \"noopener\", \"noreferrer\", \"nofollow\", and \"external\".\n */\n rel?: ComponentProps<\"a\">[\"rel\"];\n /**\n * A silent link is intended to wrap an element\n * to make it a link but not add any styling\n * except for the pointer cursor and focus style.\n */\n silent?: boolean;\n /**\n * If both `target` and `href` are specified, the `target` attribute will be added to the `<a/>` tag\n */\n target?: HTMLAttributeAnchorTarget;\n /**\n * Determines if link is displayed on its own line\n * (`\"standalone\"`) or within the current text content\n * (`\"text\"`).\n */\n variant: LinkVariant;\n};\n\nexport const Link = ({\n [\"data-testid\"]: dataTestid,\n children,\n className,\n disableVisited = true,\n ensureTargetArea,\n href,\n negative = false,\n onClick,\n rel,\n silent,\n target,\n variant,\n ...props\n}: LinkProps) => (\n /* eslint-disable-next-line jsx-a11y/click-events-have-key-events */\n <span\n className={cx(\n className,\n rootClassName,\n `${rootClassName}--${negative ? `${variant}-negative` : variant}`,\n {\n [`${rootClassName}--silent`]: silent,\n [`${rootClassName}--negative`]: negative,\n [`${rootClassName}--disable-visited`]: disableVisited ?? silent,\n [`${rootClassName}--ensure-target-area`]: ensureTargetArea,\n }\n )}\n data-testid={dataTestid}\n onClick={href ? undefined : onClick}\n {...(href ? {} : props)}\n >\n {href ? (\n <a\n href={href}\n target={target}\n rel={rel}\n onClick={onClick}\n data-testid={dataTestid ? `${dataTestid} a` : undefined}\n {...props}\n >\n {children}\n </a>\n ) : (\n children\n )}\n </span>\n);\n\nLink.displayName = \"Link\";\n"],"names":["hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","cx","c","styles","rootClassName","LINK_VARIANT","linkVariants","Link","dataTestid","children","className","disableVisited","ensureTargetArea","href","negative","onClick","rel","silent","target","variant","props","jsx"],"mappings":"4RAOC,UAAY,CAGZ,IAAIA,EAAS,CAAA,EAAG,eAEhB,SAASC,GAAc,CAGtB,QAFIC,EAAU,GAELC,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAK,CAC1C,IAAIC,EAAM,UAAUD,CAAC,EACjBC,IACHF,EAAUG,EAAYH,EAASI,EAAW,KAAK,KAAMF,CAAG,CAAC,EAE7D,CAEE,OAAOF,CACT,CAEC,SAASI,EAAYF,EAAK,CACzB,GAAI,OAAOA,GAAQ,UAAY,OAAOA,GAAQ,SAC7C,OAAO,MAAQ,KAAKA,CAAG,GAAKA,EAG7B,GAAI,OAAOA,GAAQ,SAClB,MAAO,GAGR,GAAI,MAAM,QAAQA,CAAG,EACpB,OAAOH,EAAW,MAAM,KAAMG,CAAG,EAGlC,GAAIA,EAAI,WAAa,OAAO,UAAU,UAAY,CAACA,EAAI,SAAS,SAAQ,EAAG,SAAS,eAAe,EAClG,OAAOA,EAAI,SAAQ,EAGpB,IAAIF,EAAU,GAEd,QAASK,KAAOH,EACXJ,EAAO,KAAKI,EAAKG,CAAG,GAAKH,EAAIG,CAAG,IACnCL,EAAUG,EAAYH,EAAS,MAAQ,KAAKK,CAAG,GAAKA,CAAG,GAIzD,OAAOL,CACT,CAEC,SAASG,EAAaG,EAAOC,EAAU,CACtC,OAAKA,EAIDD,EACIA,EAAQ,IAAMC,EAGfD,EAAQC,EAPPD,CAQV,CAEsCE,EAAO,SAC3CT,EAAW,QAAUA,EACrBS,UAAiBT,GAOjB,OAAO,WAAaA,CAEtB,mrBCjEMU,EAAKC,EAAE,KAAKC,CAAM,EAClBC,EAAgB,cAETC,EAAe,CAC1B,KAAM,OACN,WAAY,aACZ,WAAY,YACd,EAEaC,EAAe,OAAO,OAAOD,CAAY,EA+CzCE,EAAO,CAAC,CACnB,CAAC,eAAgBC,EACjB,SAAAC,EACA,UAAAC,EACA,eAAAC,EAAiB,GACjB,iBAAAC,EACA,KAAAC,EACA,SAAAC,EAAW,GACX,QAAAC,EACA,IAAAC,EACA,OAAAC,EACA,OAAAC,EACA,QAAAC,EACA,GAAGC,CACL,IAEEC,EAAAA,IAAC,OAAA,CACC,UAAWpB,EACTS,EACAN,EACA,GAAGA,CAAa,KAAKU,EAAW,GAAGK,CAAO,YAAcA,CAAO,GAC/D,CACE,CAAC,GAAGf,CAAa,UAAU,EAAGa,EAC9B,CAAC,GAAGb,CAAa,YAAY,EAAGU,EAChC,CAAC,GAAGV,CAAa,mBAAmB,EAAGO,GAAkBM,EACzD,CAAC,GAAGb,CAAa,sBAAsB,EAAGQ,CAAA,CAC5C,EAEF,cAAaJ,EACb,QAASK,EAAO,OAAYE,EAC3B,GAAIF,EAAO,CAAA,EAAKO,EAEhB,SAAAP,EACCQ,EAAAA,IAAC,IAAA,CACC,KAAAR,EACA,OAAAK,EACA,IAAAF,EACA,QAAAD,EACA,cAAaP,EAAa,GAAGA,CAAU,KAAO,OAC7C,GAAGY,EAEH,SAAAX,CAAA,CAAA,EAGHA,CAAA,CAAA,EAKNF,EAAK,YAAc","x_google_ignoreList":[0]}
package/dist/link.es.js CHANGED
@@ -3,11 +3,6 @@ function m(n) {
3
3
  return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n;
4
4
  }
5
5
  var o = { exports: {} };
6
- /*!
7
- Copyright (c) 2018 Jed Watson.
8
- Licensed under the MIT License (MIT), see
9
- http://jedwatson.github.io/classnames
10
- */
11
6
  var f;
12
7
  function g() {
13
8
  return f || (f = 1, (function(n) {
@@ -1 +1 @@
1
- {"version":3,"file":"link.es.js","sources":["../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/link.tsx"],"sourcesContent":["/*!\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 ComponentProps,\n type HTMLAttributeAnchorTarget,\n type MouseEventHandler,\n type ReactNode,\n} from \"react\";\nimport type { BaseProps } from \"@purpurds/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./link.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-link\";\n\nexport const LINK_VARIANT = {\n TEXT: \"text\",\n STANDALONE: \"standalone\",\n NAVIGATION: \"navigation\",\n} as const;\n\nexport const linkVariants = Object.values(LINK_VARIANT);\nexport type LinkVariant = (typeof LINK_VARIANT)[keyof typeof LINK_VARIANT];\n\nexport type LinkProps = Omit<BaseProps<\"a\">, \"onClick\" | \"target\" | \"children\"> & {\n children: ReactNode;\n /** Disables visited styling */\n disableVisited?: boolean;\n /**\n * This sets a minimum size on the targetable area of the link. Please note\n * it also changes display value to flex, meaning its container will behave\n * like a block element. You can wrap this component in a flex container\n * for additional layout control.\n */\n ensureTargetArea?: boolean;\n /**\n * This will wrap children in an `<a/>` tag and set the `href` accordingly.\n */\n href?: string;\n negative?: boolean;\n /**\n * If `href` is specified, the `onClick` handler will be added to the `<a/>` tag, otherwise on the wrapping `<span/>` tag.\n */\n onClick?: MouseEventHandler<HTMLAnchorElement | HTMLSpanElement>;\n /**\n * If both `rel` and `href` are specified, the `rel` attribute will be added to the `<a/>` tag.\n * The `rel` attribute specifies the relationship between the current document and the linked document.\n * Common values include \"noopener\", \"noreferrer\", \"nofollow\", and \"external\".\n */\n rel?: ComponentProps<\"a\">[\"rel\"];\n /**\n * A silent link is intended to wrap an element\n * to make it a link but not add any styling\n * except for the pointer cursor and focus style.\n */\n silent?: boolean;\n /**\n * If both `target` and `href` are specified, the `target` attribute will be added to the `<a/>` tag\n */\n target?: HTMLAttributeAnchorTarget;\n /**\n * Determines if link is displayed on its own line\n * (`\"standalone\"`) or within the current text content\n * (`\"text\"`).\n */\n variant: LinkVariant;\n};\n\nexport const Link = ({\n [\"data-testid\"]: dataTestid,\n children,\n className,\n disableVisited = true,\n ensureTargetArea,\n href,\n negative = false,\n onClick,\n rel,\n silent,\n target,\n variant,\n ...props\n}: LinkProps) => (\n /* eslint-disable-next-line jsx-a11y/click-events-have-key-events */\n <span\n className={cx(\n className,\n rootClassName,\n `${rootClassName}--${negative ? `${variant}-negative` : variant}`,\n {\n [`${rootClassName}--silent`]: silent,\n [`${rootClassName}--negative`]: negative,\n [`${rootClassName}--disable-visited`]: disableVisited ?? silent,\n [`${rootClassName}--ensure-target-area`]: ensureTargetArea,\n }\n )}\n data-testid={dataTestid}\n onClick={href ? undefined : onClick}\n {...(href ? {} : props)}\n >\n {href ? (\n <a\n href={href}\n target={target}\n rel={rel}\n onClick={onClick}\n data-testid={dataTestid ? `${dataTestid} a` : undefined}\n {...props}\n >\n {children}\n </a>\n ) : (\n children\n )}\n </span>\n);\n\nLink.displayName = \"Link\";\n"],"names":["hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","cx","c","styles","rootClassName","LINK_VARIANT","linkVariants","Link","dataTestid","children","className","disableVisited","ensureTargetArea","href","negative","onClick","rel","silent","target","variant","props","jsx"],"mappings":";;;;;;;;;;;;;AAOA,KAAC,WAAY;AAGZ,UAAIA,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,SAAQ;AAGpB,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;;;;;;;;;;;;;;;GCjEMU,IAAKC,EAAE,KAAKC,CAAM,GAClBC,IAAgB,eAETC,IAAe;AAAA,EAC1B,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,YAAY;AACd,GAEaC,IAAe,OAAO,OAAOD,CAAY,GA+CzCE,IAAO,CAAC;AAAA,EACnB,CAAC,gBAAgBC;AAAA,EACjB,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,gBAAAC,IAAiB;AAAA,EACjB,kBAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,SAAAC;AAAA,EACA,KAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL;AAAA;AAAA,EAEE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWpB;AAAA,QACTS;AAAA,QACAN;AAAA,QACA,GAAGA,CAAa,KAAKU,IAAW,GAAGK,CAAO,cAAcA,CAAO;AAAA,QAC/D;AAAA,UACE,CAAC,GAAGf,CAAa,UAAU,GAAGa;AAAA,UAC9B,CAAC,GAAGb,CAAa,YAAY,GAAGU;AAAA,UAChC,CAAC,GAAGV,CAAa,mBAAmB,GAAGO,KAAkBM;AAAA,UACzD,CAAC,GAAGb,CAAa,sBAAsB,GAAGQ;AAAA,QAAA;AAAA,MAC5C;AAAA,MAEF,eAAaJ;AAAA,MACb,SAASK,IAAO,SAAYE;AAAA,MAC3B,GAAIF,IAAO,CAAA,IAAKO;AAAA,MAEhB,UAAAP,IACC,gBAAAQ;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAAR;AAAA,UACA,QAAAK;AAAA,UACA,KAAAF;AAAA,UACA,SAAAD;AAAA,UACA,eAAaP,IAAa,GAAGA,CAAU,OAAO;AAAA,UAC7C,GAAGY;AAAA,UAEH,UAAAX;AAAA,QAAA;AAAA,MAAA,IAGHA;AAAA,IAAA;AAAA,EAAA;AAAA;AAKNF,EAAK,cAAc;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"link.es.js","sources":["../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/link.tsx"],"sourcesContent":["/*!\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 ComponentProps,\n type HTMLAttributeAnchorTarget,\n type MouseEventHandler,\n type ReactNode,\n} from \"react\";\nimport type { BaseProps } from \"@purpurds/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./link.module.scss\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-link\";\n\nexport const LINK_VARIANT = {\n TEXT: \"text\",\n STANDALONE: \"standalone\",\n NAVIGATION: \"navigation\",\n} as const;\n\nexport const linkVariants = Object.values(LINK_VARIANT);\nexport type LinkVariant = (typeof LINK_VARIANT)[keyof typeof LINK_VARIANT];\n\nexport type LinkProps = Omit<BaseProps<\"a\">, \"onClick\" | \"target\" | \"children\"> & {\n children: ReactNode;\n /** Disables visited styling */\n disableVisited?: boolean;\n /**\n * This sets a minimum size on the targetable area of the link. Please note\n * it also changes display value to flex, meaning its container will behave\n * like a block element. You can wrap this component in a flex container\n * for additional layout control.\n */\n ensureTargetArea?: boolean;\n /**\n * This will wrap children in an `<a/>` tag and set the `href` accordingly.\n */\n href?: string;\n negative?: boolean;\n /**\n * If `href` is specified, the `onClick` handler will be added to the `<a/>` tag, otherwise on the wrapping `<span/>` tag.\n */\n onClick?: MouseEventHandler<HTMLAnchorElement | HTMLSpanElement>;\n /**\n * If both `rel` and `href` are specified, the `rel` attribute will be added to the `<a/>` tag.\n * The `rel` attribute specifies the relationship between the current document and the linked document.\n * Common values include \"noopener\", \"noreferrer\", \"nofollow\", and \"external\".\n */\n rel?: ComponentProps<\"a\">[\"rel\"];\n /**\n * A silent link is intended to wrap an element\n * to make it a link but not add any styling\n * except for the pointer cursor and focus style.\n */\n silent?: boolean;\n /**\n * If both `target` and `href` are specified, the `target` attribute will be added to the `<a/>` tag\n */\n target?: HTMLAttributeAnchorTarget;\n /**\n * Determines if link is displayed on its own line\n * (`\"standalone\"`) or within the current text content\n * (`\"text\"`).\n */\n variant: LinkVariant;\n};\n\nexport const Link = ({\n [\"data-testid\"]: dataTestid,\n children,\n className,\n disableVisited = true,\n ensureTargetArea,\n href,\n negative = false,\n onClick,\n rel,\n silent,\n target,\n variant,\n ...props\n}: LinkProps) => (\n /* eslint-disable-next-line jsx-a11y/click-events-have-key-events */\n <span\n className={cx(\n className,\n rootClassName,\n `${rootClassName}--${negative ? `${variant}-negative` : variant}`,\n {\n [`${rootClassName}--silent`]: silent,\n [`${rootClassName}--negative`]: negative,\n [`${rootClassName}--disable-visited`]: disableVisited ?? silent,\n [`${rootClassName}--ensure-target-area`]: ensureTargetArea,\n }\n )}\n data-testid={dataTestid}\n onClick={href ? undefined : onClick}\n {...(href ? {} : props)}\n >\n {href ? (\n <a\n href={href}\n target={target}\n rel={rel}\n onClick={onClick}\n data-testid={dataTestid ? `${dataTestid} a` : undefined}\n {...props}\n >\n {children}\n </a>\n ) : (\n children\n )}\n </span>\n);\n\nLink.displayName = \"Link\";\n"],"names":["hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","cx","c","styles","rootClassName","LINK_VARIANT","linkVariants","Link","dataTestid","children","className","disableVisited","ensureTargetArea","href","negative","onClick","rel","silent","target","variant","props","jsx"],"mappings":";;;;;;;;AAOA,KAAC,WAAY;AAGZ,UAAIA,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,SAAQ;AAGpB,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;;;;;;;;;;;;;;;GCjEMU,IAAKC,EAAE,KAAKC,CAAM,GAClBC,IAAgB,eAETC,IAAe;AAAA,EAC1B,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,YAAY;AACd,GAEaC,IAAe,OAAO,OAAOD,CAAY,GA+CzCE,IAAO,CAAC;AAAA,EACnB,CAAC,gBAAgBC;AAAA,EACjB,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,gBAAAC,IAAiB;AAAA,EACjB,kBAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,SAAAC;AAAA,EACA,KAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL;AAAA;AAAA,EAEE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWpB;AAAA,QACTS;AAAA,QACAN;AAAA,QACA,GAAGA,CAAa,KAAKU,IAAW,GAAGK,CAAO,cAAcA,CAAO;AAAA,QAC/D;AAAA,UACE,CAAC,GAAGf,CAAa,UAAU,GAAGa;AAAA,UAC9B,CAAC,GAAGb,CAAa,YAAY,GAAGU;AAAA,UAChC,CAAC,GAAGV,CAAa,mBAAmB,GAAGO,KAAkBM;AAAA,UACzD,CAAC,GAAGb,CAAa,sBAAsB,GAAGQ;AAAA,QAAA;AAAA,MAC5C;AAAA,MAEF,eAAaJ;AAAA,MACb,SAASK,IAAO,SAAYE;AAAA,MAC3B,GAAIF,IAAO,CAAA,IAAKO;AAAA,MAEhB,UAAAP,IACC,gBAAAQ;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAAR;AAAA,UACA,QAAAK;AAAA,UACA,KAAAF;AAAA,UACA,SAAAD;AAAA,UACA,eAAaP,IAAa,GAAGA,CAAU,OAAO;AAAA,UAC7C,GAAGY;AAAA,UAEH,UAAAX;AAAA,QAAA;AAAA,MAAA,IAGHA;AAAA,IAAA;AAAA,EAAA;AAAA;AAKNF,EAAK,cAAc;","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpurds/link",
3
- "version": "8.8.1",
3
+ "version": "8.10.0",
4
4
  "license": "AGPL-3.0-only",
5
5
  "main": "./dist/link.cjs.js",
6
6
  "types": "./dist/link.d.ts",
@@ -15,31 +15,31 @@
15
15
  },
16
16
  "source": "src/link.tsx",
17
17
  "dependencies": {
18
- "classnames": "~2.5.0",
19
- "@purpurds/common-types": "8.8.1",
20
- "@purpurds/paragraph": "8.8.1",
21
- "@purpurds/tokens": "8.8.1"
18
+ "classnames": "~2.5.1",
19
+ "@purpurds/common-types": "8.10.0",
20
+ "@purpurds/paragraph": "8.10.0",
21
+ "@purpurds/tokens": "8.10.0"
22
22
  },
23
23
  "devDependencies": {
24
- "@storybook/react-vite": "^10.0.7",
25
- "@testing-library/dom": "~10.4.0",
26
- "@testing-library/jest-dom": "~6.4.0",
27
- "@testing-library/react": "~16.2.0",
24
+ "@storybook/react-vite": "^10.0.8",
25
+ "@testing-library/dom": "~10.4.1",
26
+ "@testing-library/jest-dom": "~6.9.1",
27
+ "@testing-library/react": "~16.3.0",
28
28
  "@types/node": "22.17",
29
- "@types/react-dom": "^19.0.4",
30
- "@types/react": "^19.0.10",
31
- "eslint": "9.24.0",
32
- "jsdom": "~22.1.0",
33
- "lint-staged": "15.5.0",
29
+ "@types/react-dom": "^19.2.3",
30
+ "@types/react": "^19.2.6",
31
+ "eslint": "9.39.1",
32
+ "jsdom": "~27.2.0",
33
+ "lint-staged": "16.2.6",
34
34
  "prettier": "~2.8.8",
35
- "react-dom": "^19.0.0",
36
- "react": "^19.0.0",
37
- "storybook": "^10.0.7",
38
- "typescript": "^5.6.3",
39
- "vite": "^6.2.1",
40
- "vitest": "^3.1.2",
35
+ "react-dom": "^19.2.0",
36
+ "react": "^19.2.0",
37
+ "storybook": "^10.0.8",
38
+ "typescript": "^5.9.3",
39
+ "vite": "^7.2.2",
40
+ "vitest": "^4.0.10",
41
41
  "@purpurds/component-rig": "1.0.0",
42
- "@purpurds/icon": "8.8.1"
42
+ "@purpurds/icon": "8.10.0"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@types/react": "^18 || ^19",