@purpurds/breadcrumbs 6.12.4 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/LICENSE.txt +1 -1
- package/dist/breadcrumbs.cjs.js +3 -3
- package/dist/breadcrumbs.cjs.js.map +1 -1
- package/dist/breadcrumbs.d.ts +31 -21
- package/dist/breadcrumbs.d.ts.map +1 -1
- package/dist/breadcrumbs.es.js +120 -107
- package/dist/breadcrumbs.es.js.map +1 -1
- package/dist/meta.d.ts +2 -2
- package/dist/meta.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +4 -4
- package/src/breadcrumbs.module.scss +45 -39
- package/src/breadcrumbs.stories.tsx +46 -26
- package/src/breadcrumbs.test.tsx +32 -16
- package/src/breadcrumbs.tsx +87 -82
- package/src/meta.ts +15 -8
package/dist/LICENSE.txt
CHANGED
package/dist/breadcrumbs.cjs.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),v=require("react");function A(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var S={exports:{}};/*!
|
|
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
|
|
5
|
+
*/var N;function E(){return N||(N=1,function(e){(function(){var u={}.hasOwnProperty;function n(){for(var r="",t=0;t<arguments.length;t++){var s=arguments[t];s&&(r=i(r,a.call(this,s)))}return r}function a(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return n.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var t="";for(var s in r)u.call(r,s)&&r[s]&&(t=i(t,this&&this[s]||s));return t}function i(r,t){return t?r?r+" "+t:r+t:r}e.exports?(n.default=n,e.exports=n):window.classNames=n})()}(S)),S.exports}var Z=E();const k=A(Z),T={"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"},R=k.bind(T),O="purpur-icon",D="md",F=e=>e.filter(u=>Object.keys(u).length>=1).map(u=>`${u.name}="${u.value}"`).join(" "),J=({content:e="",title:u}={})=>{const n=[{name:"xmlns",value:"http://www.w3.org/2000/svg"},{name:"fill",value:"currentColor"},{name:"viewBox",value:"0 0 24 24"},u?{name:"role",value:"img"}:{name:"aria-hidden",value:"true"}],a=u?`<title>${u}</title>`:"";return`<svg ${F(n)}>${a}${e}</svg>`},V=e=>e.replace(/<(\/?)svg([^>]*)>/g,"").trim(),z=({["data-testid"]:e,svg:u,allyTitle:n,className:a,size:i=D,...r})=>{const t=J({content:V(u.svg),title:n}),s=R(a,O,`${O}--${i}`);return c.jsx("span",{className:s,"data-testid":e,dangerouslySetInnerHTML:{__html:t},...r})};z.displayName="Icon";const G={name:"home",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M11.38 1.848a.9.9 0 0 1 1.24 0l8.69 8.276c1.242 1.183.405 3.276-1.31 3.276h-.6v8.1a.9.9 0 0 1-.9.9h-13a.9.9 0 0 1-.9-.9v-8.1H4c-1.715 0-2.552-2.093-1.31-3.276l8.69-8.276ZM12 3.743l-8.069 7.685c-.026.024-.03.04-.032.049a.11.11 0 0 0 .008.06.11.11 0 0 0 .036.049c.007.005.021.014.057.014h1.5a.9.9 0 0 1 .9.9v8.1h11.2v-8.1a.9.9 0 0 1 .9-.9H20c.036 0 .05-.009.057-.014a.111.111 0 0 0 .036-.049.111.111 0 0 0 .008-.06c-.002-.008-.006-.025-.032-.05L12 3.744ZM10.6 14a.9.9 0 0 1 .9-.9H15a.9.9 0 0 1 .9.9v4a.9.9 0 0 1-.9.9h-3.5a.9.9 0 0 1-.9-.9v-4Zm1.8.9v2.2h1.7v-2.2h-1.7Z" clip-rule="evenodd"/></svg>',keywords:["home"],category:"buildings"},I=e=>c.jsx(z,{...e,svg:G});I.displayName="IconHome";function K(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var g={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
|
|
9
|
+
*/var q;function Q(){return q||(q=1,function(e){(function(){var u={}.hasOwnProperty;function n(){for(var r="",t=0;t<arguments.length;t++){var s=arguments[t];s&&(r=i(r,a.call(this,s)))}return r}function a(r){if(typeof r=="string"||typeof r=="number")return this&&this[r]||r;if(typeof r!="object")return"";if(Array.isArray(r))return n.apply(this,r);if(r.toString!==Object.prototype.toString&&!r.toString.toString().includes("[native code]"))return r.toString();var t="";for(var s in r)u.call(r,s)&&r[s]&&(t=i(t,this&&this[s]||s));return t}function i(r,t){return t?r?r+" "+t:r+t:r}e.exports?(n.default=n,e.exports=n):window.classNames=n})()}(g)),g.exports}var U=Q();const W=K(U),m={"purpur-breadcrumbs":"_purpur-breadcrumbs_13trz_1","purpur-breadcrumbs__list":"_purpur-breadcrumbs__list_13trz_4","purpur-breadcrumb-item":"_purpur-breadcrumb-item_13trz_14","purpur-breadcrumb-item__element":"_purpur-breadcrumb-item__element_13trz_19","purpur-breadcrumb-item__link":"_purpur-breadcrumb-item__link_13trz_28","purpur-breadcrumb-item--default":"_purpur-breadcrumb-item--default_13trz_32","purpur-breadcrumb-item--negative":"_purpur-breadcrumb-item--negative_13trz_46","purpur-breadcrumb-item--current":"_purpur-breadcrumb-item--current_13trz_60","purpur-breadcrumb-item__home":"_purpur-breadcrumb-item__home_13trz_93"},X=(e,u,n)=>{const a={"@type":"ListItem",position:u,name:e};return n&&(a.item=n),a},Y=e=>JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:e}),p=W.bind(m),x="purpur-breadcrumbs",o="purpur-breadcrumb-item",B=({["aria-label"]:e,baseUrl:u,children:n,className:a,linkElement:i="a",meta:r=!0,negative:t=!1,highlightLast:s=!0,hideHomeIcon:d,..._})=>{const b=p([a,x,`${x}--${t?"negative":"default"}`]),l=v.Children.count(n),f=[],M=v.Children.map(n,($,C)=>{const h=C+1,j=l===h,H=s&&j,{children:P,href:w}=$.props;return f.push(X(P,h,w&&`${u}${w}`)),v.cloneElement($,{current:H,negative:t,first:!d&&h===1,last:j,linkElement:i})}),y=f.length===l?Y(f):null;return c.jsxs("nav",{"aria-label":e,className:b,..._,children:[c.jsx("ol",{className:m[`${x}__list`],children:M}),r&&y?c.jsx("script",{type:"application/ld+json","data-testid":"breadcrumbs-meta",dangerouslySetInnerHTML:{__html:y}}):null]})},L=({href:e,["data-testid"]:u,children:n,current:a=!1,linkElement:i="a",negative:r=!1,onClick:t,first:s=!1,last:d=!1,..._})=>{const b=i,l=p([o],m[`${o}--${r?"negative":"default"}`],{[`${o}--current`]:a});return c.jsx("li",{..._,className:l,children:d?c.jsx("span",{"aria-current":"page","data-testid":u,className:p(`${o}__element`),children:n}):c.jsxs(b,{href:e,"data-testid":u,onClick:t,className:p(`${o}__element`,`${o}__link`),children:[s&&c.jsx("span",{className:m[`${o}__home`],"aria-hidden":"true",children:c.jsx(I,{size:"xs"})}),n]})})};B.Item=L;exports.Breadcrumbs=B;exports.BreadcrumbsItem=L;
|
|
10
10
|
//# sourceMappingURL=breadcrumbs.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumbs.cjs.js","sources":["../../icon/dist/icon-CbdbqC3C.mjs","../../icon/dist/components/home.es.js","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.js","../src/meta.ts","../src/breadcrumbs.tsx"],"sourcesContent":["import { jsx as l } 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 o() {\n for (var t = \"\", n = 0; n < arguments.length; n++) {\n var s = arguments[n];\n s && (t = i(t, u.call(this, s)));\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 o.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 s in t)\n e.call(t, s) && t[s] && (n = i(n, this && this[s] || s));\n return n;\n }\n function i(t, n) {\n return n ? t ? t + \" \" + n : t + n : t;\n }\n r.exports ? (o.default = o, r.exports = o) : window.classNames = o;\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}, g = d.bind(v), a = \"purpur-icon\", x = \"md\", h = (r) => r.filter((e) => Object.keys(e).length >= 1).map((e) => `${e.name}=\"${e.value}\"`).join(\" \"), b = ({ content: r = \"\", title: e } = {}) => {\n const o = [\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(o)}>${u}${r}</svg>`;\n}, S = (r) => r.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), y = ({\n [\"data-testid\"]: r,\n svg: e,\n allyTitle: o,\n className: u,\n size: i = x,\n ...t\n}) => {\n const n = b({\n content: S(e.svg),\n title: o\n }), s = g(u, a, `${a}--${i}`);\n return /* @__PURE__ */ l(\n \"span\",\n {\n \"aria-label\": o,\n className: s,\n \"data-testid\": r,\n dangerouslySetInnerHTML: { __html: n },\n ...t\n }\n );\n};\ny.displayName = \"Icon\";\nexport {\n y as I\n};\n//# sourceMappingURL=icon-CbdbqC3C.mjs.map\n","import { jsx as e } from \"react/jsx-runtime\";\nimport { I as a } from \"../icon-CbdbqC3C.mjs\";\nconst v = {\n name: \"home\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M11.38 1.848a.9.9 0 0 1 1.24 0l8.69 8.276c1.242 1.183.405 3.276-1.31 3.276h-.6v8.1a.9.9 0 0 1-.9.9h-13a.9.9 0 0 1-.9-.9v-8.1H4c-1.715 0-2.552-2.093-1.31-3.276l8.69-8.276ZM12 3.743l-8.069 7.685c-.026.024-.03.04-.032.049a.11.11 0 0 0 .008.06.11.11 0 0 0 .036.049c.007.005.021.014.057.014h1.5a.9.9 0 0 1 .9.9v8.1h11.2v-8.1a.9.9 0 0 1 .9-.9H20c.036 0 .05-.009.057-.014a.111.111 0 0 0 .036-.049.111.111 0 0 0 .008-.06c-.002-.008-.006-.025-.032-.05L12 3.744ZM10.6 14a.9.9 0 0 1 .9-.9H15a.9.9 0 0 1 .9.9v4a.9.9 0 0 1-.9.9h-3.5a.9.9 0 0 1-.9-.9v-4Zm1.8.9v2.2h1.7v-2.2h-1.7Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"home\"],\n category: \"buildings\"\n}, c = (o) => /* @__PURE__ */ e(a, { ...o, svg: v });\nc.displayName = \"IconHome\";\nexport {\n c as IconHome\n};\n//# sourceMappingURL=home.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(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 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(null, 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, 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","export type MetaListItem = {\n \"@type\": string;\n position: number;\n name: string;\n item: string;\n};\n\ntype MakeMetaListItem = (name: string, item: string, position: number) => MetaListItem;\n\nexport const metaListItem: MakeMetaListItem = (name, item, position) => ({\n \"@type\": \"ListItem\",\n position,\n name,\n item,\n});\n\nexport const metaSchema = (itemListElement: MetaListItem[]) =>\n JSON.stringify({\n \"@context\": \"https://schema.org\",\n \"@type\": \"BreadcrumbList\",\n itemListElement,\n });\n","import React, { Children, cloneElement, createElement, ReactElement } from \"react\";\nimport { IconHome } from \"@purpurds/icon/home\";\nimport c from \"classnames\";\n\nimport styles from \"./breadcrumbs.module.scss\";\nimport { MetaListItem, metaListItem, metaSchema } from \"./meta\";\nimport { DataAttributes } from \"./types.ts\";\n\nexport type BreadcrumbsProps = React.HTMLAttributes<HTMLElement> &\n DataAttributes & {\n ariaLabel?: string;\n children: ReactElement<BreadcrumbsItemProps> | Array<ReactElement<BreadcrumbsItemProps>>;\n /** Set to generate breadcrumbs metadata for crawlers. Defaults to true. */\n meta?: boolean;\n /** Set to render the breadcrumbs with light font color. Ideally used when rendered on dark backgrounds. */\n negative?: boolean;\n /** Set to render the last breadcrumb item in bold font to indicate that this is the current page. Setting this to false will render the last item as a normal breadcrumb link. Defaults to true. */\n highlightLast?: boolean;\n /** Set to not render the home icon in front of the first breadcrumb item. */\n hideHomeIcon?: boolean;\n };\n\ntype CommonItemProps = Omit<React.HTMLAttributes<HTMLLIElement>, \"onClick\"> &\n DataAttributes & {\n current?: boolean;\n negative?: boolean;\n ariaLabel?: string;\n meta?: boolean;\n onClick?: () => void;\n };\n\nexport type BreadcrumbsItemProps = CommonItemProps & Conditional;\n\ntype Conditional =\n | {\n href?: string;\n children: string;\n }\n | {\n href?: never;\n children: ReactElement<HTMLAnchorElement>;\n };\n\nconst rootClassName = \"purpur-breadcrumbs\";\nconst itemClassName = \"purpur-breadcrumb-item\";\n\nconst Breadcrumbs = ({\n ariaLabel,\n children,\n className,\n meta = true,\n negative = false,\n highlightLast = true,\n hideHomeIcon,\n ...props\n}: BreadcrumbsProps) => {\n const classes = c([\n className,\n styles[rootClassName],\n styles[`${rootClassName}--${negative ? \"negative\" : \"default\"}`],\n ]);\n\n const maxIndex = Children.count(children);\n\n const metaListItems: MetaListItem[] = [];\n\n const items = Children.map(children, (item, index) => {\n const position = index + 1;\n const last = maxIndex === position;\n const current = highlightLast && last;\n\n const grandChildren = item.props.children;\n const grandGrandChildren = typeof grandChildren === \"string\" ? null : grandChildren.props;\n\n let name = null,\n href = null;\n\n if (typeof grandChildren === \"string\") {\n name = grandChildren;\n href = item.props.href;\n } else if (grandGrandChildren?.children && typeof grandGrandChildren?.children === \"string\") {\n name = grandGrandChildren.children;\n href = grandGrandChildren.href;\n }\n\n if (name && href) {\n metaListItems.push(metaListItem(name, href, position));\n }\n\n const child = cloneElement(item, {\n current,\n negative,\n ...(position === 1 && {\n children: (\n <>\n {!hideHomeIcon ? (\n <span className={styles[`${rootClassName}__home`]} aria-hidden=\"true\">\n <IconHome size=\"xs\" />\n </span>\n ) : null}\n {item.props.children}\n </>\n ),\n }),\n });\n\n return child;\n });\n\n const schema = metaListItems.length === maxIndex ? metaSchema(metaListItems) : null;\n\n return (\n <nav aria-label={ariaLabel || \"Breadcrumb\"} className={classes} {...props}>\n <ol className={styles[`${rootClassName}__list`]}>{items}</ol>\n {meta && schema ? (\n <script\n type=\"application/ld+json\"\n data-testid=\"breadcrumbs-meta\"\n dangerouslySetInnerHTML={{ __html: schema }}\n />\n ) : null}\n </nav>\n );\n};\n\nconst Item = ({\n href,\n [\"data-testid\"]: dataTestId,\n children,\n current = false,\n negative = false,\n onClick,\n ...rest\n}: BreadcrumbsItemProps) => {\n const classes = c(\n [styles[itemClassName], styles[`${itemClassName}--${negative ? \"negative\" : \"default\"}`]],\n {\n [styles[`${itemClassName}--current`]]: current,\n }\n );\n\n const link = () => {\n const commonProps = {\n href,\n [\"data-testid\"]: dataTestId,\n \"aria-current\": current ? \"page\" : undefined,\n onClick,\n };\n\n const component =\n href || typeof children === \"string\"\n ? createElement(\"a\", commonProps, children)\n : cloneElement(children, {\n ...commonProps,\n ...children.props,\n });\n\n return component;\n };\n\n return (\n <li {...rest} className={classes}>\n {link()}\n </li>\n );\n};\n\nBreadcrumbs.Item = Item;\n\nexport { Breadcrumbs, Item as BreadcrumbsItem };\n"],"names":["f","r","c","p","m","e","o","t","n","s","i","u","_","d","v","g","a","x","h","b","S","y","l","hasOwn","classNames","classes","arg","appendClass","parseValue","key","value","newClass","module","metaListItem","name","item","position","metaSchema","itemListElement","rootClassName","itemClassName","Breadcrumbs","ariaLabel","children","className","meta","negative","highlightLast","hideHomeIcon","props","styles","maxIndex","Children","metaListItems","items","index","current","grandChildren","grandGrandChildren","href","cloneElement","jsxs","Fragment","jsx","IconHome","schema","Item","dataTestId","onClick","rest","link","commonProps","createElement"],"mappings":"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","x_google_ignoreList":[2]}
|
|
1
|
+
{"version":3,"file":"breadcrumbs.cjs.js","sources":["../../icon/dist/icon-BqK8slmm.mjs","../../icon/dist/components/home.es.js","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/meta.ts","../src/breadcrumbs.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 o() {\n for (var t = \"\", n = 0; n < arguments.length; n++) {\n var s = arguments[n];\n s && (t = i(t, u.call(this, s)));\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 o.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 s in t)\n e.call(t, s) && t[s] && (n = i(n, this && this[s] || s));\n return n;\n }\n function i(t, n) {\n return n ? t ? t + \" \" + n : t + n : t;\n }\n r.exports ? (o.default = o, r.exports = o) : window.classNames = o;\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}, g = d.bind(v), l = \"purpur-icon\", x = \"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 o = [\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(o)}>${u}${r}</svg>`;\n}, S = (r) => r.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), b = ({\n [\"data-testid\"]: r,\n svg: e,\n allyTitle: o,\n className: u,\n size: i = x,\n ...t\n}) => {\n const n = y({\n content: S(e.svg),\n title: o\n }), s = g(u, l, `${l}--${i}`);\n return /* @__PURE__ */ a(\n \"span\",\n {\n className: s,\n \"data-testid\": r,\n dangerouslySetInnerHTML: { __html: n },\n ...t\n }\n );\n};\nb.displayName = \"Icon\";\nexport {\n b as I\n};\n//# sourceMappingURL=icon-BqK8slmm.mjs.map\n","import { jsx as e } from \"react/jsx-runtime\";\nimport { I as a } from \"../icon-BqK8slmm.mjs\";\nconst v = {\n name: \"home\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M11.38 1.848a.9.9 0 0 1 1.24 0l8.69 8.276c1.242 1.183.405 3.276-1.31 3.276h-.6v8.1a.9.9 0 0 1-.9.9h-13a.9.9 0 0 1-.9-.9v-8.1H4c-1.715 0-2.552-2.093-1.31-3.276l8.69-8.276ZM12 3.743l-8.069 7.685c-.026.024-.03.04-.032.049a.11.11 0 0 0 .008.06.11.11 0 0 0 .036.049c.007.005.021.014.057.014h1.5a.9.9 0 0 1 .9.9v8.1h11.2v-8.1a.9.9 0 0 1 .9-.9H20c.036 0 .05-.009.057-.014a.111.111 0 0 0 .036-.049.111.111 0 0 0 .008-.06c-.002-.008-.006-.025-.032-.05L12 3.744ZM10.6 14a.9.9 0 0 1 .9-.9H15a.9.9 0 0 1 .9.9v4a.9.9 0 0 1-.9.9h-3.5a.9.9 0 0 1-.9-.9v-4Zm1.8.9v2.2h1.7v-2.2h-1.7Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"home\"],\n category: \"buildings\"\n}, c = (o) => /* @__PURE__ */ e(a, { ...o, svg: v });\nc.displayName = \"IconHome\";\nexport {\n c as IconHome\n};\n//# sourceMappingURL=home.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","export type MetaListItem = {\n \"@type\": string;\n position: number;\n name: string;\n item?: string;\n};\n\ntype MakeMetaListItem = (name: string, position: number, item?: string) => MetaListItem;\n\nexport const metaListItem: MakeMetaListItem = (name, position, item) => {\n const schema: MetaListItem = {\n \"@type\": \"ListItem\",\n position,\n name,\n };\n\n if (item) {\n schema.item = item;\n }\n\n return schema;\n};\n\nexport const metaSchema = (itemListElement: MetaListItem[]) =>\n JSON.stringify({\n \"@context\": \"https://schema.org\",\n \"@type\": \"BreadcrumbList\",\n itemListElement,\n });\n","import React, {\n type AnchorHTMLAttributes,\n Children,\n cloneElement,\n type ForwardRefExoticComponent,\n type ReactElement,\n} from \"react\";\nimport { IconHome } from \"@purpurds/icon/home\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./breadcrumbs.module.scss\";\nimport { MetaListItem, metaListItem, metaSchema } from \"./meta\";\nimport { DataAttributes } from \"./types.ts\";\n\nconst cx = c.bind(styles);\n\ntype WithMeta = {\n meta?: true;\n baseUrl: string;\n};\n\ntype WithoutMeta = {\n meta: false;\n baseUrl?: never;\n};\n\nexport type BreadcrumbsProps = Omit<React.HTMLAttributes<HTMLElement>, \"aria-label\"> &\n DataAttributes & {\n /** Describes the breadcrumb navigation for screen readers, e.g. \"Breadcrumbs\" or \"Breadcrumb navigation\". */\n [\"aria-label\"]: string;\n children: ReactElement<BreadcrumbsItemProps> | Array<ReactElement<BreadcrumbsItemProps>>;\n /** Set to render the breadcrumbs with light font color. Ideally used when rendered on dark backgrounds. */\n negative?: boolean;\n /** Set to render the last breadcrumb item in bold font to indicate that this is the current page. Setting this to false will render the last item as a normal breadcrumb link. Defaults to true. */\n highlightLast?: boolean;\n /** Set to not render the home icon in front of the first breadcrumb item. */\n hideHomeIcon?: boolean;\n linkElement?: ForwardRefExoticComponent<AnchorHTMLAttributes<HTMLAnchorElement>> | \"a\";\n } & (WithMeta | WithoutMeta);\n\nexport type BreadcrumbsItemProps = Omit<\n React.HTMLAttributes<HTMLLIElement>,\n \"onClick\" | \"children\"\n> &\n DataAttributes & {\n children: string;\n href?: string;\n onClick?: () => void;\n /** @ignore */\n current?: boolean;\n /** @ignore */\n first?: boolean;\n /** @ignore */\n last?: boolean;\n /** @ignore */\n linkElement?: BreadcrumbsProps[\"linkElement\"];\n /** @ignore */\n meta?: boolean;\n /** @ignore */\n negative?: boolean;\n };\n\nconst rootClassName = \"purpur-breadcrumbs\";\nconst itemClassName = \"purpur-breadcrumb-item\";\n\nconst Breadcrumbs = ({\n [\"aria-label\"]: ariaLabel,\n baseUrl,\n children,\n className,\n linkElement = \"a\",\n meta = true,\n negative = false,\n highlightLast = true,\n hideHomeIcon,\n ...props\n}: BreadcrumbsProps) => {\n const classes = cx([\n className,\n rootClassName,\n `${rootClassName}--${negative ? \"negative\" : \"default\"}`,\n ]);\n const maxIndex = Children.count(children);\n\n const metaListItems: MetaListItem[] = [];\n\n const items = Children.map(children, (item, index) => {\n const position = index + 1;\n const last = maxIndex === position;\n const current = highlightLast && last;\n\n const { children, href } = item.props;\n\n metaListItems.push(metaListItem(children, position, href && `${baseUrl}${href}`));\n\n const child = cloneElement(item, {\n current,\n negative,\n first: !hideHomeIcon && position === 1,\n last,\n linkElement,\n });\n\n return child;\n });\n\n const schema = metaListItems.length === maxIndex ? metaSchema(metaListItems) : null;\n\n return (\n <nav aria-label={ariaLabel} className={classes} {...props}>\n <ol className={styles[`${rootClassName}__list`]}>{items}</ol>\n {meta && schema ? (\n <script\n type=\"application/ld+json\"\n data-testid=\"breadcrumbs-meta\"\n dangerouslySetInnerHTML={{ __html: schema }}\n />\n ) : null}\n </nav>\n );\n};\n\nconst Item = ({\n href,\n [\"data-testid\"]: dataTestId,\n children,\n current = false,\n linkElement = \"a\",\n negative = false,\n onClick,\n first = false,\n last = false,\n ...props\n}: BreadcrumbsItemProps) => {\n const LinkElement = linkElement;\n const classes = cx(\n [itemClassName],\n styles[`${itemClassName}--${negative ? \"negative\" : \"default\"}`],\n {\n [`${itemClassName}--current`]: current,\n }\n );\n\n return (\n <li {...props} className={classes}>\n {!last ? (\n <LinkElement\n href={href}\n data-testid={dataTestId}\n onClick={onClick}\n className={cx(`${itemClassName}__element`, `${itemClassName}__link`)}\n >\n {first && (\n <span className={styles[`${itemClassName}__home`]} aria-hidden=\"true\">\n <IconHome size=\"xs\" />\n </span>\n )}\n {children}\n </LinkElement>\n ) : (\n <span\n aria-current=\"page\"\n data-testid={dataTestId}\n className={cx(`${itemClassName}__element`)}\n >\n {children}\n </span>\n )}\n </li>\n );\n};\n\nBreadcrumbs.Item = Item;\n\nexport { Breadcrumbs, Item as BreadcrumbsItem };\n"],"names":["f","r","c","p","m","e","o","t","n","u","_","d","v","g","l","x","h","y","S","b","a","hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","metaListItem","name","position","item","schema","metaSchema","itemListElement","cx","styles","rootClassName","itemClassName","Breadcrumbs","ariaLabel","baseUrl","children","className","linkElement","meta","negative","highlightLast","hideHomeIcon","props","maxIndex","Children","metaListItems","items","index","last","current","href","cloneElement","jsx","Item","dataTestId","onClick","first","LinkElement","jsxs","IconHome"],"mappings":"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","x_google_ignoreList":[2]}
|
package/dist/breadcrumbs.d.ts
CHANGED
|
@@ -1,37 +1,47 @@
|
|
|
1
|
-
import { default as React, ReactElement } from 'react';
|
|
1
|
+
import { default as React, AnchorHTMLAttributes, ForwardRefExoticComponent, ReactElement } from 'react';
|
|
2
2
|
import { DataAttributes } from './types.ts';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
type WithMeta = {
|
|
5
|
+
meta?: true;
|
|
6
|
+
baseUrl: string;
|
|
7
|
+
};
|
|
8
|
+
type WithoutMeta = {
|
|
9
|
+
meta: false;
|
|
10
|
+
baseUrl?: never;
|
|
11
|
+
};
|
|
12
|
+
export type BreadcrumbsProps = Omit<React.HTMLAttributes<HTMLElement>, "aria-label"> & DataAttributes & {
|
|
13
|
+
/** Describes the breadcrumb navigation for screen readers, e.g. "Breadcrumbs" or "Breadcrumb navigation". */
|
|
14
|
+
["aria-label"]: string;
|
|
6
15
|
children: ReactElement<BreadcrumbsItemProps> | Array<ReactElement<BreadcrumbsItemProps>>;
|
|
7
|
-
/** Set to generate breadcrumbs metadata for crawlers. Defaults to true. */
|
|
8
|
-
meta?: boolean;
|
|
9
16
|
/** Set to render the breadcrumbs with light font color. Ideally used when rendered on dark backgrounds. */
|
|
10
17
|
negative?: boolean;
|
|
11
18
|
/** Set to render the last breadcrumb item in bold font to indicate that this is the current page. Setting this to false will render the last item as a normal breadcrumb link. Defaults to true. */
|
|
12
19
|
highlightLast?: boolean;
|
|
13
20
|
/** Set to not render the home icon in front of the first breadcrumb item. */
|
|
14
21
|
hideHomeIcon?: boolean;
|
|
15
|
-
|
|
16
|
-
|
|
22
|
+
linkElement?: ForwardRefExoticComponent<AnchorHTMLAttributes<HTMLAnchorElement>> | "a";
|
|
23
|
+
} & (WithMeta | WithoutMeta);
|
|
24
|
+
export type BreadcrumbsItemProps = Omit<React.HTMLAttributes<HTMLLIElement>, "onClick" | "children"> & DataAttributes & {
|
|
25
|
+
children: string;
|
|
26
|
+
href?: string;
|
|
27
|
+
onClick?: () => void;
|
|
28
|
+
/** @ignore */
|
|
17
29
|
current?: boolean;
|
|
18
|
-
|
|
19
|
-
|
|
30
|
+
/** @ignore */
|
|
31
|
+
first?: boolean;
|
|
32
|
+
/** @ignore */
|
|
33
|
+
last?: boolean;
|
|
34
|
+
/** @ignore */
|
|
35
|
+
linkElement?: BreadcrumbsProps["linkElement"];
|
|
36
|
+
/** @ignore */
|
|
20
37
|
meta?: boolean;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
export type BreadcrumbsItemProps = CommonItemProps & Conditional;
|
|
24
|
-
type Conditional = {
|
|
25
|
-
href?: string;
|
|
26
|
-
children: string;
|
|
27
|
-
} | {
|
|
28
|
-
href?: never;
|
|
29
|
-
children: ReactElement<HTMLAnchorElement>;
|
|
38
|
+
/** @ignore */
|
|
39
|
+
negative?: boolean;
|
|
30
40
|
};
|
|
31
41
|
declare const Breadcrumbs: {
|
|
32
|
-
({ ariaLabel, children, className, meta, negative, highlightLast, hideHomeIcon, ...props }: BreadcrumbsProps): React.JSX.Element;
|
|
33
|
-
Item: ({ href, ["data-testid"]: dataTestId, children, current, negative, onClick, ...
|
|
42
|
+
({ ["aria-label"]: ariaLabel, baseUrl, children, className, linkElement, meta, negative, highlightLast, hideHomeIcon, ...props }: BreadcrumbsProps): React.JSX.Element;
|
|
43
|
+
Item: ({ href, ["data-testid"]: dataTestId, children, current, linkElement, negative, onClick, first, last, ...props }: BreadcrumbsItemProps) => React.JSX.Element;
|
|
34
44
|
};
|
|
35
|
-
declare const Item: ({ href, ["data-testid"]: dataTestId, children, current, negative, onClick, ...
|
|
45
|
+
declare const Item: ({ href, ["data-testid"]: dataTestId, children, current, linkElement, negative, onClick, first, last, ...props }: BreadcrumbsItemProps) => React.JSX.Element;
|
|
36
46
|
export { Breadcrumbs, Item as BreadcrumbsItem };
|
|
37
47
|
//# sourceMappingURL=breadcrumbs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumbs.d.ts","sourceRoot":"","sources":["../src/breadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"breadcrumbs.d.ts","sourceRoot":"","sources":["../src/breadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,KAAK,oBAAoB,EAGzB,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5C,KAAK,QAAQ,GAAG;IACd,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,GAClF,cAAc,GAAG;IACf,6GAA6G;IAC7G,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACzF,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oMAAoM;IACpM,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,yBAAyB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,GAAG,GAAG,CAAC;CACxF,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC;AAE/B,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,EACnC,SAAS,GAAG,UAAU,CACvB,GACC,cAAc,GAAG;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,cAAc;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc;IACd,WAAW,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC9C,cAAc;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAKJ,QAAA,MAAM,WAAW;sIAWd,gBAAgB;4HAyDhB,oBAAoB;CAbtB,CAAC;AAEF,QAAA,MAAM,IAAI,oHAWP,oBAAoB,sBAqCtB,CAAC;AAIF,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,eAAe,EAAE,CAAC"}
|
package/dist/breadcrumbs.es.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { Children as
|
|
3
|
-
function
|
|
1
|
+
import { jsx as c, jsxs as I } from "react/jsx-runtime";
|
|
2
|
+
import { Children as N, cloneElement as A } from "react";
|
|
3
|
+
function E(e) {
|
|
4
4
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
5
5
|
}
|
|
6
|
-
var
|
|
6
|
+
var S = { exports: {} };
|
|
7
7
|
/*!
|
|
8
8
|
Copyright (c) 2018 Jed Watson.
|
|
9
9
|
Licensed under the MIT License (MIT), see
|
|
10
10
|
http://jedwatson.github.io/classnames
|
|
11
11
|
*/
|
|
12
12
|
var j;
|
|
13
|
-
function
|
|
13
|
+
function P() {
|
|
14
14
|
return j || (j = 1, function(e) {
|
|
15
15
|
(function() {
|
|
16
|
-
var
|
|
16
|
+
var u = {}.hasOwnProperty;
|
|
17
17
|
function n() {
|
|
18
18
|
for (var r = "", t = 0; t < arguments.length; t++) {
|
|
19
|
-
var
|
|
20
|
-
|
|
19
|
+
var s = arguments[t];
|
|
20
|
+
s && (r = i(r, a.call(this, s)));
|
|
21
21
|
}
|
|
22
22
|
return r;
|
|
23
23
|
}
|
|
@@ -31,19 +31,19 @@ function T() {
|
|
|
31
31
|
if (r.toString !== Object.prototype.toString && !r.toString.toString().includes("[native code]"))
|
|
32
32
|
return r.toString();
|
|
33
33
|
var t = "";
|
|
34
|
-
for (var
|
|
35
|
-
|
|
34
|
+
for (var s in r)
|
|
35
|
+
u.call(r, s) && r[s] && (t = i(t, this && this[s] || s));
|
|
36
36
|
return t;
|
|
37
37
|
}
|
|
38
|
-
function
|
|
38
|
+
function i(r, t) {
|
|
39
39
|
return t ? r ? r + " " + t : r + t : r;
|
|
40
40
|
}
|
|
41
41
|
e.exports ? (n.default = n, e.exports = n) : window.classNames = n;
|
|
42
42
|
})();
|
|
43
|
-
}(
|
|
43
|
+
}(S)), S.exports;
|
|
44
44
|
}
|
|
45
|
-
var
|
|
46
|
-
const
|
|
45
|
+
var Z = P();
|
|
46
|
+
const k = /* @__PURE__ */ E(Z), T = {
|
|
47
47
|
"purpur-icon": "_purpur-icon_8u1lq_1",
|
|
48
48
|
"purpur-icon--xxs": "_purpur-icon--xxs_8u1lq_4",
|
|
49
49
|
"purpur-icon--xs": "_purpur-icon--xs_8u1lq_8",
|
|
@@ -51,172 +51,185 @@ const z = /* @__PURE__ */ Z(k), F = {
|
|
|
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
|
-
}, D =
|
|
54
|
+
}, D = k.bind(T), z = "purpur-icon", F = "md", J = (e) => e.filter((u) => Object.keys(u).length >= 1).map((u) => `${u.name}="${u.value}"`).join(" "), R = ({ content: e = "", title: u } = {}) => {
|
|
55
55
|
const n = [
|
|
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
|
-
|
|
60
|
-
], a =
|
|
61
|
-
return `<svg ${
|
|
62
|
-
},
|
|
59
|
+
u ? { name: "role", value: "img" } : { name: "aria-hidden", value: "true" }
|
|
60
|
+
], a = u ? `<title>${u}</title>` : "";
|
|
61
|
+
return `<svg ${J(n)}>${a}${e}</svg>`;
|
|
62
|
+
}, V = (e) => e.replace(/<(\/?)svg([^>]*)>/g, "").trim(), q = ({
|
|
63
63
|
["data-testid"]: e,
|
|
64
|
-
svg:
|
|
64
|
+
svg: u,
|
|
65
65
|
allyTitle: n,
|
|
66
66
|
className: a,
|
|
67
|
-
size:
|
|
67
|
+
size: i = F,
|
|
68
68
|
...r
|
|
69
69
|
}) => {
|
|
70
|
-
const t =
|
|
71
|
-
content:
|
|
70
|
+
const t = R({
|
|
71
|
+
content: V(u.svg),
|
|
72
72
|
title: n
|
|
73
|
-
}),
|
|
74
|
-
return /* @__PURE__ */
|
|
73
|
+
}), s = D(a, z, `${z}--${i}`);
|
|
74
|
+
return /* @__PURE__ */ c(
|
|
75
75
|
"span",
|
|
76
76
|
{
|
|
77
|
-
|
|
78
|
-
className: u,
|
|
77
|
+
className: s,
|
|
79
78
|
"data-testid": e,
|
|
80
79
|
dangerouslySetInnerHTML: { __html: t },
|
|
81
80
|
...r
|
|
82
81
|
}
|
|
83
82
|
);
|
|
84
83
|
};
|
|
85
|
-
|
|
86
|
-
const
|
|
84
|
+
q.displayName = "Icon";
|
|
85
|
+
const G = {
|
|
87
86
|
name: "home",
|
|
88
87
|
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M11.38 1.848a.9.9 0 0 1 1.24 0l8.69 8.276c1.242 1.183.405 3.276-1.31 3.276h-.6v8.1a.9.9 0 0 1-.9.9h-13a.9.9 0 0 1-.9-.9v-8.1H4c-1.715 0-2.552-2.093-1.31-3.276l8.69-8.276ZM12 3.743l-8.069 7.685c-.026.024-.03.04-.032.049a.11.11 0 0 0 .008.06.11.11 0 0 0 .036.049c.007.005.021.014.057.014h1.5a.9.9 0 0 1 .9.9v8.1h11.2v-8.1a.9.9 0 0 1 .9-.9H20c.036 0 .05-.009.057-.014a.111.111 0 0 0 .036-.049.111.111 0 0 0 .008-.06c-.002-.008-.006-.025-.032-.05L12 3.744ZM10.6 14a.9.9 0 0 1 .9-.9H15a.9.9 0 0 1 .9.9v4a.9.9 0 0 1-.9.9h-3.5a.9.9 0 0 1-.9-.9v-4Zm1.8.9v2.2h1.7v-2.2h-1.7Z" clip-rule="evenodd"/></svg>',
|
|
89
88
|
keywords: ["home"],
|
|
90
89
|
category: "buildings"
|
|
91
|
-
},
|
|
92
|
-
|
|
93
|
-
function
|
|
90
|
+
}, L = (e) => /* @__PURE__ */ c(q, { ...e, svg: G });
|
|
91
|
+
L.displayName = "IconHome";
|
|
92
|
+
function K(e) {
|
|
94
93
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
95
94
|
}
|
|
96
|
-
var
|
|
95
|
+
var v = { exports: {} };
|
|
97
96
|
/*!
|
|
98
97
|
Copyright (c) 2018 Jed Watson.
|
|
99
98
|
Licensed under the MIT License (MIT), see
|
|
100
99
|
http://jedwatson.github.io/classnames
|
|
101
100
|
*/
|
|
102
101
|
var O;
|
|
103
|
-
function
|
|
102
|
+
function Q() {
|
|
104
103
|
return O || (O = 1, function(e) {
|
|
105
104
|
(function() {
|
|
106
|
-
var
|
|
105
|
+
var u = {}.hasOwnProperty;
|
|
107
106
|
function n() {
|
|
108
107
|
for (var r = "", t = 0; t < arguments.length; t++) {
|
|
109
|
-
var
|
|
110
|
-
|
|
108
|
+
var s = arguments[t];
|
|
109
|
+
s && (r = i(r, a.call(this, s)));
|
|
111
110
|
}
|
|
112
111
|
return r;
|
|
113
112
|
}
|
|
114
113
|
function a(r) {
|
|
115
114
|
if (typeof r == "string" || typeof r == "number")
|
|
116
|
-
return r;
|
|
115
|
+
return this && this[r] || r;
|
|
117
116
|
if (typeof r != "object")
|
|
118
117
|
return "";
|
|
119
118
|
if (Array.isArray(r))
|
|
120
|
-
return n.apply(
|
|
119
|
+
return n.apply(this, r);
|
|
121
120
|
if (r.toString !== Object.prototype.toString && !r.toString.toString().includes("[native code]"))
|
|
122
121
|
return r.toString();
|
|
123
122
|
var t = "";
|
|
124
|
-
for (var
|
|
125
|
-
|
|
123
|
+
for (var s in r)
|
|
124
|
+
u.call(r, s) && r[s] && (t = i(t, this && this[s] || s));
|
|
126
125
|
return t;
|
|
127
126
|
}
|
|
128
|
-
function
|
|
127
|
+
function i(r, t) {
|
|
129
128
|
return t ? r ? r + " " + t : r + t : r;
|
|
130
129
|
}
|
|
131
130
|
e.exports ? (n.default = n, e.exports = n) : window.classNames = n;
|
|
132
131
|
})();
|
|
133
|
-
}(
|
|
132
|
+
}(v)), v.exports;
|
|
134
133
|
}
|
|
135
|
-
var
|
|
136
|
-
const
|
|
137
|
-
"purpur-breadcrumbs": "_purpur-
|
|
138
|
-
"purpur-
|
|
139
|
-
"purpur-
|
|
140
|
-
"purpur-
|
|
141
|
-
"purpur-
|
|
142
|
-
"purpur-breadcrumb-item": "_purpur-breadcrumb-
|
|
143
|
-
"purpur-breadcrumb-item--
|
|
144
|
-
"purpur-breadcrumb-item--
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
134
|
+
var U = Q();
|
|
135
|
+
const W = /* @__PURE__ */ K(U), m = {
|
|
136
|
+
"purpur-breadcrumbs": "_purpur-breadcrumbs_13trz_1",
|
|
137
|
+
"purpur-breadcrumbs__list": "_purpur-breadcrumbs__list_13trz_4",
|
|
138
|
+
"purpur-breadcrumb-item": "_purpur-breadcrumb-item_13trz_14",
|
|
139
|
+
"purpur-breadcrumb-item__element": "_purpur-breadcrumb-item__element_13trz_19",
|
|
140
|
+
"purpur-breadcrumb-item__link": "_purpur-breadcrumb-item__link_13trz_28",
|
|
141
|
+
"purpur-breadcrumb-item--default": "_purpur-breadcrumb-item--default_13trz_32",
|
|
142
|
+
"purpur-breadcrumb-item--negative": "_purpur-breadcrumb-item--negative_13trz_46",
|
|
143
|
+
"purpur-breadcrumb-item--current": "_purpur-breadcrumb-item--current_13trz_60",
|
|
144
|
+
"purpur-breadcrumb-item__home": "_purpur-breadcrumb-item__home_13trz_93"
|
|
145
|
+
}, X = (e, u, n) => {
|
|
146
|
+
const a = {
|
|
147
|
+
"@type": "ListItem",
|
|
148
|
+
position: u,
|
|
149
|
+
name: e
|
|
150
|
+
};
|
|
151
|
+
return n && (a.item = n), a;
|
|
152
|
+
}, Y = (e) => JSON.stringify({
|
|
151
153
|
"@context": "https://schema.org",
|
|
152
154
|
"@type": "BreadcrumbList",
|
|
153
155
|
itemListElement: e
|
|
154
|
-
}),
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
156
|
+
}), p = W.bind(m), g = "purpur-breadcrumbs", o = "purpur-breadcrumb-item", rr = ({
|
|
157
|
+
["aria-label"]: e,
|
|
158
|
+
baseUrl: u,
|
|
159
|
+
children: n,
|
|
160
|
+
className: a,
|
|
161
|
+
linkElement: i = "a",
|
|
162
|
+
meta: r = !0,
|
|
163
|
+
negative: t = !1,
|
|
164
|
+
highlightLast: s = !0,
|
|
165
|
+
hideHomeIcon: d,
|
|
166
|
+
..._
|
|
163
167
|
}) => {
|
|
164
|
-
const
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
]), l =
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
t ? null : /* @__PURE__ */ i("span", { className: p[`${b}__home`], "aria-hidden": "true", children: /* @__PURE__ */ i(M, { size: "xs" }) }),
|
|
177
|
-
d.props.children
|
|
178
|
-
] })
|
|
179
|
-
}
|
|
168
|
+
const f = p([
|
|
169
|
+
a,
|
|
170
|
+
g,
|
|
171
|
+
`${g}--${t ? "negative" : "default"}`
|
|
172
|
+
]), l = N.count(n), b = [], B = N.map(n, (x, M) => {
|
|
173
|
+
const h = M + 1, $ = l === h, H = s && $, { children: C, href: w } = x.props;
|
|
174
|
+
return b.push(X(C, h, w && `${u}${w}`)), A(x, {
|
|
175
|
+
current: H,
|
|
176
|
+
negative: t,
|
|
177
|
+
first: !d && h === 1,
|
|
178
|
+
last: $,
|
|
179
|
+
linkElement: i
|
|
180
180
|
});
|
|
181
|
-
}),
|
|
182
|
-
return /* @__PURE__ */
|
|
183
|
-
/* @__PURE__ */
|
|
184
|
-
|
|
181
|
+
}), y = b.length === l ? Y(b) : null;
|
|
182
|
+
return /* @__PURE__ */ I("nav", { "aria-label": e, className: f, ..._, children: [
|
|
183
|
+
/* @__PURE__ */ c("ol", { className: m[`${g}__list`], children: B }),
|
|
184
|
+
r && y ? /* @__PURE__ */ c(
|
|
185
185
|
"script",
|
|
186
186
|
{
|
|
187
187
|
type: "application/ld+json",
|
|
188
188
|
"data-testid": "breadcrumbs-meta",
|
|
189
|
-
dangerouslySetInnerHTML: { __html:
|
|
189
|
+
dangerouslySetInnerHTML: { __html: y }
|
|
190
190
|
}
|
|
191
191
|
) : null
|
|
192
192
|
] });
|
|
193
193
|
}, er = ({
|
|
194
194
|
href: e,
|
|
195
|
-
["data-testid"]:
|
|
195
|
+
["data-testid"]: u,
|
|
196
196
|
children: n,
|
|
197
197
|
current: a = !1,
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
198
|
+
linkElement: i = "a",
|
|
199
|
+
negative: r = !1,
|
|
200
|
+
onClick: t,
|
|
201
|
+
first: s = !1,
|
|
202
|
+
last: d = !1,
|
|
203
|
+
..._
|
|
201
204
|
}) => {
|
|
202
|
-
const
|
|
203
|
-
[
|
|
205
|
+
const f = i, l = p(
|
|
206
|
+
[o],
|
|
207
|
+
m[`${o}--${r ? "negative" : "default"}`],
|
|
204
208
|
{
|
|
205
|
-
[
|
|
209
|
+
[`${o}--current`]: a
|
|
206
210
|
}
|
|
207
211
|
);
|
|
208
|
-
return /* @__PURE__ */
|
|
209
|
-
|
|
212
|
+
return /* @__PURE__ */ c("li", { ..._, className: l, children: d ? /* @__PURE__ */ c(
|
|
213
|
+
"span",
|
|
214
|
+
{
|
|
215
|
+
"aria-current": "page",
|
|
216
|
+
"data-testid": u,
|
|
217
|
+
className: p(`${o}__element`),
|
|
218
|
+
children: n
|
|
219
|
+
}
|
|
220
|
+
) : /* @__PURE__ */ I(
|
|
221
|
+
f,
|
|
222
|
+
{
|
|
210
223
|
href: e,
|
|
211
|
-
"data-testid":
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
}
|
|
219
|
-
|
|
224
|
+
"data-testid": u,
|
|
225
|
+
onClick: t,
|
|
226
|
+
className: p(`${o}__element`, `${o}__link`),
|
|
227
|
+
children: [
|
|
228
|
+
s && /* @__PURE__ */ c("span", { className: m[`${o}__home`], "aria-hidden": "true", children: /* @__PURE__ */ c(L, { size: "xs" }) }),
|
|
229
|
+
n
|
|
230
|
+
]
|
|
231
|
+
}
|
|
232
|
+
) });
|
|
220
233
|
};
|
|
221
234
|
rr.Item = er;
|
|
222
235
|
export {
|