@purpurds/breadcrumbs 5.31.0 → 5.33.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.
@@ -1,6 +1,7 @@
1
1
  import { default as React, ReactElement } from 'react';
2
+ import { DataAttributes } from './types.ts';
2
3
 
3
- export type BreadcrumbsProps = {
4
+ export type BreadcrumbsProps = DataAttributes & {
4
5
  ["data-testid"]?: string;
5
6
  ariaLabel?: string;
6
7
  children: ReactElement<BreadcrumbsItemProps> | Array<ReactElement<BreadcrumbsItemProps>>;
@@ -31,7 +32,7 @@ type Conditional = {
31
32
  children: ReactElement<HTMLAnchorElement>;
32
33
  };
33
34
  declare const Breadcrumbs: {
34
- ({ ["data-testid"]: dataTestId, ariaLabel, children, className, meta, negative, highlightLast, hideHomeIcon, }: BreadcrumbsProps): React.JSX.Element;
35
+ ({ ["data-testid"]: dataTestId, ariaLabel, children, className, meta, negative, highlightLast, hideHomeIcon, ...props }: BreadcrumbsProps): React.JSX.Element;
35
36
  Item: ({ href, ["data-testid"]: dataTestId, children, current, negative, onClick, ...rest }: BreadcrumbsItemProps) => React.JSX.Element;
36
37
  };
37
38
  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;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
+ {"version":3,"file":"breadcrumbs.d.ts","sourceRoot":"","sources":["../src/breadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAyC,YAAY,EAAE,MAAM,OAAO,CAAC;AAMnF,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C,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;6HAUd,gBAAgB;iGAoFhB,oBAAoB;CAVtB,CAAC;AAEF,QAAA,MAAM,IAAI,yFAQP,oBAAoB,sBAgCtB,CAAC;AAIF,OAAO,EAAE,WAAW,EAAE,IAAI,IAAI,eAAe,EAAE,CAAC"}
@@ -1,9 +1,9 @@
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) {
1
+ import { jsx as o, jsxs as $, Fragment as P } from "react/jsx-runtime";
2
+ import { Children as N, cloneElement as j, createElement as E } from "react";
3
+ function Z(t) {
4
4
  return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
5
5
  }
6
- var j = { exports: {} };
6
+ var I = { exports: {} };
7
7
  /*!
8
8
  Copyright (c) 2018 Jed Watson.
9
9
  Licensed under the MIT License (MIT), see
@@ -38,9 +38,9 @@ var j = { exports: {} };
38
38
  }
39
39
  t.exports ? (n.default = n, t.exports = n) : window.classNames = n;
40
40
  })();
41
- })(j);
42
- var Z = j.exports;
43
- const C = /* @__PURE__ */ E(Z), T = {
41
+ })(I);
42
+ var C = I.exports;
43
+ const T = /* @__PURE__ */ Z(C), k = {
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,39 +48,39 @@ const C = /* @__PURE__ */ E(Z), T = {
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
- }, k = {
51
+ }, z = {
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 = (t) => /* @__PURE__ */ o(
57
- O,
56
+ }, O = (t) => /* @__PURE__ */ o(
57
+ L,
58
58
  {
59
59
  ...t,
60
- svg: k
60
+ svg: z
61
61
  }
62
62
  );
63
- I.displayName = "IconHome";
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 } = {}) => {
63
+ O.displayName = "IconHome";
64
+ const F = T.bind(k), S = "purpur-icon", J = "md", D = (t) => t.filter((s) => Object.keys(s).length >= 1).map((s) => `${s.name}="${s.value}"`).join(" "), U = ({ 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 ${J(n)}>${a}${t}</svg>`;
72
- }, U = (t) => t.replace(/<(\/?)svg([^>]*)>/g, "").trim(), O = ({
71
+ return `<svg ${D(n)}>${a}${t}</svg>`;
72
+ }, V = (t) => t.replace(/<(\/?)svg([^>]*)>/g, "").trim(), L = ({
73
73
  ["data-testid"]: t,
74
74
  svg: s,
75
75
  allyTitle: n,
76
76
  className: a,
77
- size: i = F,
77
+ size: i = J,
78
78
  ...r
79
79
  }) => {
80
- const e = D({
81
- content: U(s.svg),
80
+ const e = U({
81
+ content: V(s.svg),
82
82
  title: n
83
- }), u = z(a, N, `${N}--${i}`);
83
+ }), u = F(a, S, `${S}--${i}`);
84
84
  return /* @__PURE__ */ o(
85
85
  "span",
86
86
  {
@@ -92,11 +92,11 @@ const z = C.bind(T), N = "purpur-icon", F = "md", J = (t) => t.filter((s) => Obj
92
92
  }
93
93
  );
94
94
  };
95
- O.displayName = "Icon";
96
- function V(t) {
95
+ L.displayName = "Icon";
96
+ function X(t) {
97
97
  return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
98
98
  }
99
- var L = { exports: {} };
99
+ var q = { exports: {} };
100
100
  /*!
101
101
  Copyright (c) 2018 Jed Watson.
102
102
  Licensed under the MIT License (MIT), see
@@ -131,27 +131,27 @@ var L = { exports: {} };
131
131
  }
132
132
  t.exports ? (n.default = n, t.exports = n) : window.classNames = n;
133
133
  })();
134
- })(L);
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) => ({
134
+ })(q);
135
+ var Y = q.exports;
136
+ const M = /* @__PURE__ */ X(Y), l = {
137
+ "purpur-breadcrumbs": "_purpur-breadcrumbs_1xh80_1",
138
+ "purpur-breadcrumbs--default": "_purpur-breadcrumbs--default_1xh80_20",
139
+ "purpur-breadcrumbs--negative": "_purpur-breadcrumbs--negative_1xh80_34",
140
+ "purpur-breadcrumbs__list": "_purpur-breadcrumbs__list_1xh80_48",
141
+ "purpur-breadcrumbs__home": "_purpur-breadcrumbs__home_1xh80_57",
142
+ "purpur-breadcrumb-item": "_purpur-breadcrumb-item_1xh80_67",
143
+ "purpur-breadcrumb-item--current": "_purpur-breadcrumb-item--current_1xh80_72",
144
+ "purpur-breadcrumb-item--negative": "_purpur-breadcrumb-item--negative_1xh80_94"
145
+ }, K = (t, s, n) => ({
146
146
  "@type": "ListItem",
147
147
  position: n,
148
148
  name: t,
149
149
  item: s
150
- }), K = (t) => JSON.stringify({
150
+ }), Q = (t) => JSON.stringify({
151
151
  "@context": "https://schema.org",
152
152
  "@type": "BreadcrumbList",
153
153
  itemListElement: t
154
- }), v = "purpur-breadcrumbs", h = "purpur-breadcrumb-item", Q = ({
154
+ }), h = "purpur-breadcrumbs", y = "purpur-breadcrumb-item", R = ({
155
155
  ["data-testid"]: t,
156
156
  ariaLabel: s,
157
157
  children: n,
@@ -159,38 +159,48 @@ const q = /* @__PURE__ */ V(X), l = {
159
159
  meta: i = !0,
160
160
  negative: r = !1,
161
161
  highlightLast: e = !0,
162
- hideHomeIcon: u
162
+ hideHomeIcon: u,
163
+ ...x
163
164
  }) => {
164
- const y = q([
165
+ const p = M([
165
166
  a,
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,
167
+ l[h],
168
+ l[`${h}--${r ? "negative" : "default"}`]
169
+ ]), b = N.count(n), v = [], B = N.map(n, (m, H) => {
170
+ const g = H + 1, A = e && b === g, d = m.props.children, c = typeof d == "string" ? null : d.props;
171
+ let f = null, _ = null;
172
+ 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 && _ && v.push(K(f, _, g)), j(m, {
173
+ current: A,
173
174
  negative: r,
174
175
  ...g === 1 && {
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
176
+ children: /* @__PURE__ */ $(P, { children: [
177
+ u ? null : /* @__PURE__ */ o("span", { className: l[`${h}__home`], "aria-hidden": "true", children: /* @__PURE__ */ o(O, { size: "xs" }) }),
178
+ m.props.children
178
179
  ] })
179
180
  }
180
181
  });
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
- "script",
186
- {
187
- type: "application/ld+json",
188
- "data-testid": "breadcrumbs-meta",
189
- dangerouslySetInnerHTML: { __html: x }
190
- }
191
- ) : null
192
- ] });
193
- }, R = ({
182
+ }), w = v.length === b ? Q(v) : null;
183
+ return /* @__PURE__ */ $(
184
+ "nav",
185
+ {
186
+ "data-testid": t,
187
+ "aria-label": s || "Breadcrumb",
188
+ className: p,
189
+ ...x,
190
+ children: [
191
+ /* @__PURE__ */ o("ol", { className: l[`${h}__list`], children: B }),
192
+ i && w ? /* @__PURE__ */ o(
193
+ "script",
194
+ {
195
+ type: "application/ld+json",
196
+ "data-testid": "breadcrumbs-meta",
197
+ dangerouslySetInnerHTML: { __html: w }
198
+ }
199
+ ) : null
200
+ ]
201
+ }
202
+ );
203
+ }, W = ({
194
204
  href: t,
195
205
  ["data-testid"]: s,
196
206
  children: n,
@@ -199,10 +209,10 @@ const q = /* @__PURE__ */ V(X), l = {
199
209
  onClick: r,
200
210
  ...e
201
211
  }) => {
202
- const u = q(
203
- [l[h], l[`${h}--${i ? "negative" : "default"}`]],
212
+ const u = M(
213
+ [l[y], l[`${y}--${i ? "negative" : "default"}`]],
204
214
  {
205
- [l[`${h}--current`]]: a
215
+ [l[`${y}--current`]]: a
206
216
  }
207
217
  );
208
218
  return /* @__PURE__ */ o("li", { ...e, className: u, children: (() => {
@@ -212,15 +222,15 @@ const q = /* @__PURE__ */ V(X), l = {
212
222
  "aria-current": a ? "page" : void 0,
213
223
  onClick: r
214
224
  };
215
- return t || typeof n == "string" ? P("a", p, n) : S(n, {
225
+ return t || typeof n == "string" ? E("a", p, n) : j(n, {
216
226
  ...p,
217
227
  ...n.props
218
228
  });
219
229
  })() });
220
230
  };
221
- Q.Item = R;
231
+ R.Item = W;
222
232
  export {
223
- Q as Breadcrumbs,
224
- R as BreadcrumbsItem
233
+ R as Breadcrumbs,
234
+ W as BreadcrumbsItem
225
235
  };
226
236
  //# sourceMappingURL=breadcrumbs.es.js.map