@purpurds/breadcrumbs 5.28.1 → 5.28.3

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.
@@ -11,6 +11,8 @@ export type BreadcrumbsProps = {
11
11
  negative?: boolean;
12
12
  /** 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. */
13
13
  highlightLast?: boolean;
14
+ /** Set to not render the home icon in front of the first breadcrumb item. */
15
+ hideHomeIcon?: boolean;
14
16
  };
15
17
  type CommonItemProps = {
16
18
  current?: boolean;
@@ -29,7 +31,7 @@ type Conditional = {
29
31
  children: ReactElement<HTMLAnchorElement>;
30
32
  };
31
33
  declare const Breadcrumbs: {
32
- ({ ["data-testid"]: dataTestId, ariaLabel, children, className, meta, negative, highlightLast, }: BreadcrumbsProps): React.JSX.Element;
34
+ ({ ["data-testid"]: dataTestId, ariaLabel, children, className, meta, negative, highlightLast, hideHomeIcon, }: BreadcrumbsProps): React.JSX.Element;
33
35
  Item: ({ href, ["data-testid"]: dataTestId, children, current, negative, onClick, ...rest }: BreadcrumbsItemProps) => React.JSX.Element;
34
36
  };
35
37
  declare const Item: ({ href, ["data-testid"]: dataTestId, children, current, negative, onClick, ...rest }: BreadcrumbsItemProps) => React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumbs.d.ts","sourceRoot":"","sources":["../src/breadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAyC,YAAY,EAAE,MAAM,OAAO,CAAC;AAOnF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oMAAoM;IACpM,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG,WAAW,CAAC;AAEjE,KAAK,WAAW,GACZ;IACE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;CAC3C,CAAC;AAKN,QAAA,MAAM,WAAW;sGAQd,gBAAgB;iGA4EhB,oBAAoB;CAVtB,CAAC;AAEF,QAAA,MAAM,IAAI,yFAQP,oBAAoB,sBAqCtB,CAAC;AAIF,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"breadcrumbs.d.ts","sourceRoot":"","sources":["../src/breadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAyC,YAAY,EAAE,MAAM,OAAO,CAAC;AAOnF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oMAAoM;IACpM,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG,WAAW,CAAC;AAEjE,KAAK,WAAW,GACZ;IACE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;CAC3C,CAAC;AAKN,QAAA,MAAM,WAAW;oHASd,gBAAgB;iGA+EhB,oBAAoB;CAVtB,CAAC;AAEF,QAAA,MAAM,IAAI,yFAQP,oBAAoB,sBAgCtB,CAAC;AAIF,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,eAAe,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
- import { jsx as o, jsxs as y, Fragment as H } from "react/jsx-runtime";
2
- import { Children as $, cloneElement as S, createElement as A } from "react";
3
- function P(e) {
4
- return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
1
+ import { jsx as o, jsxs as w, Fragment as A } from "react/jsx-runtime";
2
+ import { Children as $, cloneElement as S, createElement as P } from "react";
3
+ function E(t) {
4
+ return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
5
5
  }
6
6
  var j = { exports: {} };
7
7
  /*!
@@ -9,12 +9,12 @@ var j = { exports: {} };
9
9
  Licensed under the MIT License (MIT), see
10
10
  http://jedwatson.github.io/classnames
11
11
  */
12
- (function(e) {
12
+ (function(t) {
13
13
  (function() {
14
14
  var s = {}.hasOwnProperty;
15
15
  function n() {
16
- for (var r = "", t = 0; t < arguments.length; t++) {
17
- var u = arguments[t];
16
+ for (var r = "", e = 0; e < arguments.length; e++) {
17
+ var u = arguments[e];
18
18
  u && (r = i(r, a.call(this, u)));
19
19
  }
20
20
  return r;
@@ -28,19 +28,19 @@ var j = { exports: {} };
28
28
  return n.apply(this, r);
29
29
  if (r.toString !== Object.prototype.toString && !r.toString.toString().includes("[native code]"))
30
30
  return r.toString();
31
- var t = "";
31
+ var e = "";
32
32
  for (var u in r)
33
- s.call(r, u) && r[u] && (t = i(t, this && this[u] || u));
34
- return t;
33
+ s.call(r, u) && r[u] && (e = i(e, this && this[u] || u));
34
+ return e;
35
35
  }
36
- function i(r, t) {
37
- return t ? r ? r + " " + t : r + t : r;
36
+ function i(r, e) {
37
+ return e ? r ? r + " " + e : r + e : r;
38
38
  }
39
- e.exports ? (n.default = n, e.exports = n) : window.classNames = n;
39
+ t.exports ? (n.default = n, t.exports = n) : window.classNames = n;
40
40
  })();
41
41
  })(j);
42
- var E = j.exports;
43
- const Z = /* @__PURE__ */ P(E), C = {
42
+ var Z = j.exports;
43
+ const C = /* @__PURE__ */ E(Z), T = {
44
44
  "purpur-icon": "_purpur-icon_8u1lq_1",
45
45
  "purpur-icon--xxs": "_purpur-icon--xxs_8u1lq_4",
46
46
  "purpur-icon--xs": "_purpur-icon--xs_8u1lq_8",
@@ -48,53 +48,53 @@ const Z = /* @__PURE__ */ P(E), C = {
48
48
  "purpur-icon--md": "_purpur-icon--md_8u1lq_16",
49
49
  "purpur-icon--lg": "_purpur-icon--lg_8u1lq_20",
50
50
  "purpur-icon--xl": "_purpur-icon--xl_8u1lq_24"
51
- }, T = {
51
+ }, k = {
52
52
  name: "home",
53
53
  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>',
54
54
  keywords: ["home"],
55
55
  category: "buildings"
56
- }, I = (e) => /* @__PURE__ */ o(
56
+ }, I = (t) => /* @__PURE__ */ o(
57
57
  O,
58
58
  {
59
- ...e,
60
- svg: T
59
+ ...t,
60
+ svg: k
61
61
  }
62
62
  );
63
63
  I.displayName = "IconHome";
64
- const k = Z.bind(C), N = "purpur-icon", z = "md", F = (e) => e.filter((s) => Object.keys(s).length >= 1).map((s) => `${s.name}="${s.value}"`).join(" "), J = ({ content: e = "", title: s } = {}) => {
64
+ const z = C.bind(T), N = "purpur-icon", F = "md", J = (t) => t.filter((s) => Object.keys(s).length >= 1).map((s) => `${s.name}="${s.value}"`).join(" "), D = ({ content: t = "", title: s } = {}) => {
65
65
  const n = [
66
66
  { name: "xmlns", value: "http://www.w3.org/2000/svg" },
67
67
  { name: "fill", value: "currentColor" },
68
68
  { name: "viewBox", value: "0 0 24 24" },
69
69
  s ? { name: "role", value: "img" } : { name: "aria-hidden", value: "true" }
70
70
  ], a = s ? `<title>${s}</title>` : "";
71
- return `<svg ${F(n)}>${a}${e}</svg>`;
72
- }, D = (e) => e.replace(/<(\/?)svg([^>]*)>/g, "").trim(), O = ({
73
- ["data-testid"]: e,
71
+ return `<svg ${J(n)}>${a}${t}</svg>`;
72
+ }, U = (t) => t.replace(/<(\/?)svg([^>]*)>/g, "").trim(), O = ({
73
+ ["data-testid"]: t,
74
74
  svg: s,
75
75
  allyTitle: n,
76
76
  className: a,
77
- size: i = z,
77
+ size: i = F,
78
78
  ...r
79
79
  }) => {
80
- const t = J({
81
- content: D(s.svg),
80
+ const e = D({
81
+ content: U(s.svg),
82
82
  title: n
83
- }), u = k(a, N, `${N}--${i}`);
83
+ }), u = z(a, N, `${N}--${i}`);
84
84
  return /* @__PURE__ */ o(
85
85
  "span",
86
86
  {
87
87
  "aria-label": n,
88
88
  className: u,
89
- "data-testid": e,
90
- dangerouslySetInnerHTML: { __html: t },
89
+ "data-testid": t,
90
+ dangerouslySetInnerHTML: { __html: e },
91
91
  ...r
92
92
  }
93
93
  );
94
94
  };
95
95
  O.displayName = "Icon";
96
- function U(e) {
97
- return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
96
+ function V(t) {
97
+ return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
98
98
  }
99
99
  var L = { exports: {} };
100
100
  /*!
@@ -102,12 +102,12 @@ var L = { exports: {} };
102
102
  Licensed under the MIT License (MIT), see
103
103
  http://jedwatson.github.io/classnames
104
104
  */
105
- (function(e) {
105
+ (function(t) {
106
106
  (function() {
107
107
  var s = {}.hasOwnProperty;
108
108
  function n() {
109
- for (var r = "", t = 0; t < arguments.length; t++) {
110
- var u = arguments[t];
109
+ for (var r = "", e = 0; e < arguments.length; e++) {
110
+ var u = arguments[e];
111
111
  u && (r = i(r, a(u)));
112
112
  }
113
113
  return r;
@@ -121,109 +121,106 @@ var L = { exports: {} };
121
121
  return n.apply(null, r);
122
122
  if (r.toString !== Object.prototype.toString && !r.toString.toString().includes("[native code]"))
123
123
  return r.toString();
124
- var t = "";
124
+ var e = "";
125
125
  for (var u in r)
126
- s.call(r, u) && r[u] && (t = i(t, u));
127
- return t;
126
+ s.call(r, u) && r[u] && (e = i(e, u));
127
+ return e;
128
128
  }
129
- function i(r, t) {
130
- return t ? r ? r + " " + t : r + t : r;
129
+ function i(r, e) {
130
+ return e ? r ? r + " " + e : r + e : r;
131
131
  }
132
- e.exports ? (n.default = n, e.exports = n) : window.classNames = n;
132
+ t.exports ? (n.default = n, t.exports = n) : window.classNames = n;
133
133
  })();
134
134
  })(L);
135
- var V = L.exports;
136
- const q = /* @__PURE__ */ U(V), p = {
137
- "purpur-breadcrumbs": "_purpur-breadcrumbs_3f81v_1",
138
- "purpur-breadcrumbs--default": "_purpur-breadcrumbs--default_3f81v_21",
139
- "purpur-breadcrumbs--negative": "_purpur-breadcrumbs--negative_3f81v_35",
140
- "purpur-breadcrumbs__list": "_purpur-breadcrumbs__list_3f81v_49",
141
- "purpur-breadcrumbs__home": "_purpur-breadcrumbs__home_3f81v_57",
142
- "purpur-breadcrumb-item": "_purpur-breadcrumb-item_3f81v_67",
143
- "purpur-breadcrumb-item--current": "_purpur-breadcrumb-item--current_3f81v_70",
144
- "purpur-breadcrumb-item--negative": "_purpur-breadcrumb-item--negative_3f81v_92",
145
- "purpur-breadcrumb-item__separator": "_purpur-breadcrumb-item__separator_3f81v_95"
146
- }, X = (e, s, n) => ({
135
+ var X = L.exports;
136
+ const q = /* @__PURE__ */ V(X), l = {
137
+ "purpur-breadcrumbs": "_purpur-breadcrumbs_465gy_1",
138
+ "purpur-breadcrumbs--default": "_purpur-breadcrumbs--default_465gy_21",
139
+ "purpur-breadcrumbs--negative": "_purpur-breadcrumbs--negative_465gy_35",
140
+ "purpur-breadcrumbs__list": "_purpur-breadcrumbs__list_465gy_49",
141
+ "purpur-breadcrumbs__home": "_purpur-breadcrumbs__home_465gy_57",
142
+ "purpur-breadcrumb-item": "_purpur-breadcrumb-item_465gy_67",
143
+ "purpur-breadcrumb-item--current": "_purpur-breadcrumb-item--current_465gy_72",
144
+ "purpur-breadcrumb-item--negative": "_purpur-breadcrumb-item--negative_465gy_94"
145
+ }, Y = (t, s, n) => ({
147
146
  "@type": "ListItem",
148
147
  position: n,
149
- name: e,
148
+ name: t,
150
149
  item: s
151
- }), Y = (e) => JSON.stringify({
150
+ }), K = (t) => JSON.stringify({
152
151
  "@context": "https://schema.org",
153
152
  "@type": "BreadcrumbList",
154
- itemListElement: e
155
- }), b = "purpur-breadcrumbs", v = "purpur-breadcrumb-item", K = ({
156
- ["data-testid"]: e,
153
+ itemListElement: t
154
+ }), v = "purpur-breadcrumbs", h = "purpur-breadcrumb-item", Q = ({
155
+ ["data-testid"]: t,
157
156
  ariaLabel: s,
158
157
  children: n,
159
158
  className: a,
160
159
  meta: i = !0,
161
160
  negative: r = !1,
162
- highlightLast: t = !0
161
+ highlightLast: e = !0,
162
+ hideHomeIcon: u
163
163
  }) => {
164
- const u = q([
164
+ const y = q([
165
165
  a,
166
- p[b],
167
- p[`${b}--${r ? "negative" : "default"}`]
168
- ]), h = $.count(n), l = [], x = $.map(n, (m, M) => {
169
- const g = M + 1, B = t && h === g, d = m.props.children, c = typeof d == "string" ? null : d.props;
170
- let f = null, _ = null;
171
- return typeof d == "string" ? (f = d, _ = m.props.href) : c != null && c.children && typeof (c == null ? void 0 : c.children) == "string" && (f = c.children, _ = c.href), f && _ && l.push(X(f, _, g)), S(m, {
172
- current: B,
166
+ l[v],
167
+ l[`${v}--${r ? "negative" : "default"}`]
168
+ ]), p = $.count(n), m = [], M = $.map(n, (d, B) => {
169
+ const g = B + 1, H = e && p === g, f = d.props.children, c = typeof f == "string" ? null : f.props;
170
+ let _ = null, b = null;
171
+ return typeof f == "string" ? (_ = f, b = d.props.href) : c != null && c.children && typeof (c == null ? void 0 : c.children) == "string" && (_ = c.children, b = c.href), _ && b && m.push(Y(_, b, g)), S(d, {
172
+ current: H,
173
173
  negative: r,
174
174
  ...g === 1 && {
175
- children: /* @__PURE__ */ y(H, { children: [
176
- /* @__PURE__ */ o("span", { className: p[`${b}__home`], "aria-hidden": "true", children: /* @__PURE__ */ o(I, { size: "xs" }) }),
177
- m.props.children
175
+ children: /* @__PURE__ */ w(A, { children: [
176
+ u ? null : /* @__PURE__ */ o("span", { className: l[`${v}__home`], "aria-hidden": "true", children: /* @__PURE__ */ o(I, { size: "xs" }) }),
177
+ d.props.children
178
178
  ] })
179
179
  }
180
180
  });
181
- }), w = l.length === h ? Y(l) : null;
182
- return /* @__PURE__ */ y("nav", { "data-testid": e, "aria-label": s || "Breadcrumb", className: u, children: [
183
- /* @__PURE__ */ o("ol", { className: p[`${b}__list`], children: x }),
184
- i && w ? /* @__PURE__ */ o(
181
+ }), x = m.length === p ? K(m) : null;
182
+ return /* @__PURE__ */ w("nav", { "data-testid": t, "aria-label": s || "Breadcrumb", className: y, children: [
183
+ /* @__PURE__ */ o("ol", { className: l[`${v}__list`], children: M }),
184
+ i && x ? /* @__PURE__ */ o(
185
185
  "script",
186
186
  {
187
187
  type: "application/ld+json",
188
188
  "data-testid": "breadcrumbs-meta",
189
- dangerouslySetInnerHTML: { __html: w }
189
+ dangerouslySetInnerHTML: { __html: x }
190
190
  }
191
191
  ) : null
192
192
  ] });
193
- }, Q = ({
194
- href: e,
193
+ }, R = ({
194
+ href: t,
195
195
  ["data-testid"]: s,
196
196
  children: n,
197
197
  current: a = !1,
198
198
  negative: i = !1,
199
199
  onClick: r,
200
- ...t
200
+ ...e
201
201
  }) => {
202
202
  const u = q(
203
- [p[v], p[`${v}--${i ? "negative" : "default"}`]],
203
+ [l[h], l[`${h}--${i ? "negative" : "default"}`]],
204
204
  {
205
- [p[`${v}--current`]]: a
205
+ [l[`${h}--current`]]: a
206
206
  }
207
207
  );
208
- return /* @__PURE__ */ y("li", { ...t, className: u, children: [
209
- (() => {
210
- const l = {
211
- href: e,
212
- "data-testid": s,
213
- "aria-current": a ? "page" : void 0,
214
- onClick: r
215
- };
216
- return e || typeof n == "string" ? A("a", l, n) : S(n, {
217
- ...l,
218
- ...n.props
219
- });
220
- })(),
221
- a ? null : /* @__PURE__ */ o("span", { "aria-hidden": !0, className: p[`${v}__separator`], children: "/" })
222
- ] });
208
+ return /* @__PURE__ */ o("li", { ...e, className: u, children: (() => {
209
+ const p = {
210
+ href: t,
211
+ "data-testid": s,
212
+ "aria-current": a ? "page" : void 0,
213
+ onClick: r
214
+ };
215
+ return t || typeof n == "string" ? P("a", p, n) : S(n, {
216
+ ...p,
217
+ ...n.props
218
+ });
219
+ })() });
223
220
  };
224
- K.Item = Q;
221
+ Q.Item = R;
225
222
  export {
226
- K as Breadcrumbs,
227
- Q as BreadcrumbsItem
223
+ Q as Breadcrumbs,
224
+ R as BreadcrumbsItem
228
225
  };
229
226
  //# sourceMappingURL=breadcrumbs.es.js.map