@nice-digital/nds-breadcrumbs 4.0.2-alpha.0 → 4.0.2
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/es/Breadcrumb.js.map +1 -0
- package/es/Breadcrumbs.js.map +1 -0
- package/package.json +3 -3
- package/es/Breadcrumb.test.d.ts +0 -1
- package/es/Breadcrumb.test.js +0 -26
- package/es/Breadcrumbs.test.d.ts +0 -1
- package/es/Breadcrumbs.test.js +0 -20
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Breadcrumb.js","names":["React","PropTypes","classnames","Breadcrumb","props","elementType","method","to","children","className","attributes","ElementType","innerTagProps","propTypes","string","isRequired"],"sources":["../src/Breadcrumb.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classnames from \"classnames\";\n\nexport const Breadcrumb = (props) => {\n\tconst { elementType, method, to, children, className, ...attributes } = props;\n\n\tlet ElementType = elementType || \"span\";\n\n\tconst innerTagProps = {\n\t\t...attributes\n\t};\n\n\tif (to) {\n\t\tElementType = elementType || \"a\";\n\t\tinnerTagProps[method || (ElementType === \"a\" && \"href\") || \"to\"] = to;\n\t}\n\n\treturn (\n\t\t<li className={classnames([\"breadcrumbs__crumb\", className])}>\n\t\t\t<ElementType {...innerTagProps}>{children}</ElementType>\n\t\t</li>\n\t);\n};\n\nBreadcrumb.propTypes = {\n\telementType: PropTypes.elementType, // Allow tag to be customised for custom routing integration\n\tchildren: PropTypes.string.isRequired,\n\tto: PropTypes.string,\n\tmethod: PropTypes.string,\n\tclassName: PropTypes.string\n};\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,KAAD,EAAW;EACpC,IAAQC,WAAR,GAAwED,KAAxE,CAAQC,WAAR;EAAA,IAAqBC,MAArB,GAAwEF,KAAxE,CAAqBE,MAArB;EAAA,IAA6BC,EAA7B,GAAwEH,KAAxE,CAA6BG,EAA7B;EAAA,IAAiCC,QAAjC,GAAwEJ,KAAxE,CAAiCI,QAAjC;EAAA,IAA2CC,SAA3C,GAAwEL,KAAxE,CAA2CK,SAA3C;EAAA,IAAyDC,UAAzD,iCAAwEN,KAAxE;;EAEA,IAAIO,WAAW,GAAGN,WAAW,IAAI,MAAjC;;EAEA,IAAMO,aAAa,gBACfF,UADe,CAAnB;;EAIA,IAAIH,EAAJ,EAAQ;IACPI,WAAW,GAAGN,WAAW,IAAI,GAA7B;IACAO,aAAa,CAACN,MAAM,IAAKK,WAAW,KAAK,GAAhB,IAAuB,MAAlC,IAA6C,IAA9C,CAAb,GAAmEJ,EAAnE;EACA;;EAED,oBACC;IAAI,SAAS,EAAEL,UAAU,CAAC,CAAC,oBAAD,EAAuBO,SAAvB,CAAD;EAAzB,gBACC,oBAAC,WAAD,EAAiBG,aAAjB,EAAiCJ,QAAjC,CADD,CADD;AAKA,CAnBM;AAqBPL,UAAU,CAACU,SAAX,GAAuB;EACtBR,WAAW,EAAEJ,SAAS,CAACI,WADD;EACc;EACpCG,QAAQ,EAAEP,SAAS,CAACa,MAAV,CAAiBC,UAFL;EAGtBR,EAAE,EAAEN,SAAS,CAACa,MAHQ;EAItBR,MAAM,EAAEL,SAAS,CAACa,MAJI;EAKtBL,SAAS,EAAER,SAAS,CAACa;AALC,CAAvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Breadcrumbs.js","names":["React","PropTypes","Breadcrumb","stringify","data","process","env","NODE_ENV","JSON","getBreadcrumbJsonLdItem","breadcrumb","index","position","item","props","to","name","children","Breadcrumbs","rest","jsonLdData","itemListElement","length","filter","Boolean","map","__html","propTypes","oneOfType","arrayOf","objectOf","isRequired"],"sources":["../src/Breadcrumbs.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport { Breadcrumb } from \"./Breadcrumb\";\nimport \"../scss/breadcrumbs.scss\";\n\nexport { Breadcrumb };\n\nconst stringify = (data) => {\n\tif (process.env.NODE_ENV === \"production\") return JSON.stringify(data);\n\treturn JSON.stringify(data, null, 2);\n};\n\nconst getBreadcrumbJsonLdItem = (breadcrumb, index = 0) => ({\n\t\"@type\": \"ListItem\",\n\tposition: index + 1,\n\titem: {\n\t\t\"@id\": breadcrumb.props.to,\n\t\tname: breadcrumb.props.children\n\t}\n});\n\nexport const Breadcrumbs = ({ children, ...rest }) => {\n\tconst jsonLdData = {\n\t\t\"@context\": \"http://schema.org\",\n\t\t\"@type\": \"BreadcrumbList\",\n\t\titemListElement: children.length\n\t\t\t? children.filter(Boolean).map(getBreadcrumbJsonLdItem)\n\t\t\t: getBreadcrumbJsonLdItem(children)\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<nav aria-label=\"Breadcrumbs\" role=\"navigation\" {...rest}>\n\t\t\t\t<ol className=\"breadcrumbs\">{children}</ol>\n\t\t\t</nav>\n\t\t\t<script\n\t\t\t\ttype=\"application/ld+json\"\n\t\t\t\tdangerouslySetInnerHTML={{ __html: stringify(jsonLdData) }}\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nBreadcrumbs.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(Breadcrumb),\n\t\tPropTypes.objectOf(Breadcrumb)\n\t]).isRequired\n};\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SAASC,UAAT,QAA2B,cAA3B;AACA,OAAO,0BAAP;AAEA,SAASA,UAAT;;AAEA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD,EAAU;EAC3B,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C,OAAOC,IAAI,CAACL,SAAL,CAAeC,IAAf,CAAP;EAC3C,OAAOI,IAAI,CAACL,SAAL,CAAeC,IAAf,EAAqB,IAArB,EAA2B,CAA3B,CAAP;AACA,CAHD;;AAKA,IAAMK,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,UAAD,EAAaC,KAAb;EAAA,IAAaA,KAAb;IAAaA,KAAb,GAAqB,CAArB;EAAA;;EAAA,OAA4B;IAC3D,SAAS,UADkD;IAE3DC,QAAQ,EAAED,KAAK,GAAG,CAFyC;IAG3DE,IAAI,EAAE;MACL,OAAOH,UAAU,CAACI,KAAX,CAAiBC,EADnB;MAELC,IAAI,EAAEN,UAAU,CAACI,KAAX,CAAiBG;IAFlB;EAHqD,CAA5B;AAAA,CAAhC;;AASA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,OAA2B;EAAA,IAAxBD,QAAwB,QAAxBA,QAAwB;EAAA,IAAXE,IAAW;;EACrD,IAAMC,UAAU,GAAG;IAClB,YAAY,mBADM;IAElB,SAAS,gBAFS;IAGlBC,eAAe,EAAEJ,QAAQ,CAACK,MAAT,GACdL,QAAQ,CAACM,MAAT,CAAgBC,OAAhB,EAAyBC,GAAzB,CAA6BhB,uBAA7B,CADc,GAEdA,uBAAuB,CAACQ,QAAD;EALR,CAAnB;EAQA,oBACC,uDACC;IAAK,cAAW,aAAhB;IAA8B,IAAI,EAAC;EAAnC,GAAoDE,IAApD,gBACC;IAAI,SAAS,EAAC;EAAd,GAA6BF,QAA7B,CADD,CADD,eAIC;IACC,IAAI,EAAC,qBADN;IAEC,uBAAuB,EAAE;MAAES,MAAM,EAAEvB,SAAS,CAACiB,UAAD;IAAnB;EAF1B,EAJD,CADD;AAWA,CApBM;AAsBPF,WAAW,CAACS,SAAZ,GAAwB;EACvBV,QAAQ,EAAEhB,SAAS,CAAC2B,SAAV,CAAoB,CAC7B3B,SAAS,CAAC4B,OAAV,CAAkB3B,UAAlB,CAD6B,EAE7BD,SAAS,CAAC6B,QAAV,CAAmB5B,UAAnB,CAF6B,CAApB,EAGP6B;AAJoB,CAAxB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nice-digital/nds-breadcrumbs",
|
|
3
|
-
"version": "4.0.2
|
|
3
|
+
"version": "4.0.2",
|
|
4
4
|
"description": "Breadcrumbs component for the NICE Design System",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"breadcrumbs"
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"url": "https://github.com/nice-digital/nice-design-system/issues"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@nice-digital/nds-core": "^4.0.2
|
|
33
|
+
"@nice-digital/nds-core": "^4.0.2",
|
|
34
34
|
"classnames": "^2.3.1"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"@types/node": "^18.11.9",
|
|
46
46
|
"typescript": "^4.8.4"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "d8feb7beba5fffa49da42d6a550cb8f67a50727d"
|
|
49
49
|
}
|
package/es/Breadcrumb.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/es/Breadcrumb.test.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
-
const react_1 = require("@testing-library/react");
|
|
5
|
-
const Breadcrumb_1 = require("./Breadcrumb");
|
|
6
|
-
describe("Breadcrumb", () => {
|
|
7
|
-
it("should match snapshot for no location", () => {
|
|
8
|
-
const wrapper = (0, react_1.render)((0, jsx_runtime_1.jsx)(Breadcrumb_1.Breadcrumb, { children: "Home" }));
|
|
9
|
-
expect(wrapper).toMatchSnapshot();
|
|
10
|
-
});
|
|
11
|
-
it("should match snapshot for anchor", () => {
|
|
12
|
-
const wrapper = (0, react_1.render)((0, jsx_runtime_1.jsx)(Breadcrumb_1.Breadcrumb, Object.assign({ to: "/" }, { children: "Home" })));
|
|
13
|
-
expect(wrapper).toMatchSnapshot();
|
|
14
|
-
});
|
|
15
|
-
it("should pass on props to rendered anchor", () => {
|
|
16
|
-
const wrapper = (0, react_1.render)((0, jsx_runtime_1.jsx)(Breadcrumb_1.Breadcrumb, Object.assign({ to: "/", "aria-current": true }, { children: "Home" })));
|
|
17
|
-
const link = wrapper.getByRole("link");
|
|
18
|
-
expect(link.getAttribute("href")).toBe("/");
|
|
19
|
-
expect(link.getAttribute("aria-current")).toBe("true");
|
|
20
|
-
expect(link.textContent).toBe("Home");
|
|
21
|
-
});
|
|
22
|
-
it("should merge any additional classes onto the container", () => {
|
|
23
|
-
const wrapper = (0, react_1.render)((0, jsx_runtime_1.jsx)(Breadcrumb_1.Breadcrumb, Object.assign({ to: "/", "aria-current": true, className: "mt--0" }, { children: "Home" })));
|
|
24
|
-
expect(wrapper.getByRole("listitem")).toHaveClass("mt--0");
|
|
25
|
-
});
|
|
26
|
-
});
|
package/es/Breadcrumbs.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/es/Breadcrumbs.test.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
-
const react_1 = require("@testing-library/react");
|
|
5
|
-
const Breadcrumb_1 = require("./Breadcrumb");
|
|
6
|
-
const Breadcrumbs_1 = require("./Breadcrumbs");
|
|
7
|
-
describe("Breadcrumbs", () => {
|
|
8
|
-
it("should match snapshot for single level", () => {
|
|
9
|
-
const wrapper = (0, react_1.render)((0, jsx_runtime_1.jsxs)(Breadcrumbs_1.Breadcrumbs, { children: [(0, jsx_runtime_1.jsx)(Breadcrumb_1.Breadcrumb, Object.assign({ to: "/" }, { children: "Home" })), (0, jsx_runtime_1.jsx)(Breadcrumb_1.Breadcrumb, { children: "Page" })] }));
|
|
10
|
-
expect(wrapper).toMatchSnapshot();
|
|
11
|
-
});
|
|
12
|
-
it("should match snapshot for multiple levels", () => {
|
|
13
|
-
const wrapper = (0, react_1.render)((0, jsx_runtime_1.jsxs)(Breadcrumbs_1.Breadcrumbs, { children: [(0, jsx_runtime_1.jsx)(Breadcrumb_1.Breadcrumb, Object.assign({ to: "/" }, { children: "Home" })), (0, jsx_runtime_1.jsx)(Breadcrumb_1.Breadcrumb, Object.assign({ to: "/topics/" }, { children: "Topics" })), (0, jsx_runtime_1.jsx)(Breadcrumb_1.Breadcrumb, { children: "Page" })] }));
|
|
14
|
-
expect(wrapper).toMatchSnapshot();
|
|
15
|
-
});
|
|
16
|
-
it("should spread additional props onto the container", () => {
|
|
17
|
-
const wrapper = (0, react_1.render)((0, jsx_runtime_1.jsxs)(Breadcrumbs_1.Breadcrumbs, Object.assign({ "data-track": false }, { children: [(0, jsx_runtime_1.jsx)(Breadcrumb_1.Breadcrumb, Object.assign({ to: "/" }, { children: "Home" })), (0, jsx_runtime_1.jsx)(Breadcrumb_1.Breadcrumb, { children: "Page" })] })));
|
|
18
|
-
expect(wrapper.getByRole("navigation").getAttribute("data-track")).toBe("false");
|
|
19
|
-
});
|
|
20
|
-
});
|