piral-breadcrumbs 0.13.8 → 0.14.0-beta.3156
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/esm/Breadcrumbs.js +13 -14
- package/esm/Breadcrumbs.js.map +1 -1
- package/esm/actions.js +2 -3
- package/esm/actions.js.map +1 -1
- package/esm/components.js +2 -2
- package/esm/components.js.map +1 -1
- package/esm/create.js +20 -23
- package/esm/create.js.map +1 -1
- package/esm/default.js +2 -2
- package/esm/default.js.map +1 -1
- package/esm/useBreadcrumbs.js +9 -9
- package/esm/useBreadcrumbs.js.map +1 -1
- package/lib/Breadcrumbs.js +17 -18
- package/lib/Breadcrumbs.js.map +1 -1
- package/lib/actions.js +3 -4
- package/lib/actions.js.map +1 -1
- package/lib/components.js +3 -3
- package/lib/components.js.map +1 -1
- package/lib/create.js +23 -26
- package/lib/create.js.map +1 -1
- package/lib/default.js +4 -4
- package/lib/default.js.map +1 -1
- package/lib/index.js +6 -6
- package/lib/index.js.map +1 -1
- package/lib/useBreadcrumbs.js +10 -10
- package/lib/useBreadcrumbs.js.map +1 -1
- package/package.json +4 -4
package/esm/Breadcrumbs.js
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { __rest } from "tslib";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useLocation, useRouteMatch } from 'react-router';
|
|
4
4
|
import { PiralBreadcrumbsContainer, PiralBreadcrumbItem } from './components';
|
|
5
5
|
import { useBreadcrumbs } from './useBreadcrumbs';
|
|
6
|
-
export
|
|
6
|
+
export const Breadcrumbs = () => {
|
|
7
7
|
var _a;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
var
|
|
18
|
-
|
|
19
|
-
return (React.createElement(PiralBreadcrumbItem, __assign({ key: key, current: current, path: computedPath }, props), title));
|
|
8
|
+
const location = useLocation();
|
|
9
|
+
const breadcrumbs = useBreadcrumbs(location.pathname);
|
|
10
|
+
const currentIndex = breadcrumbs.length - 1;
|
|
11
|
+
const current = breadcrumbs[currentIndex];
|
|
12
|
+
const { params } = useRouteMatch((_a = current === null || current === void 0 ? void 0 : current.settings.path) !== null && _a !== void 0 ? _a : '/');
|
|
13
|
+
const children = breadcrumbs.map(({ settings }, i) => {
|
|
14
|
+
const { title, path } = settings, props = __rest(settings, ["title", "path"]);
|
|
15
|
+
const key = `bc_${i}_${settings.path}`;
|
|
16
|
+
const current = i === currentIndex;
|
|
17
|
+
const computedPath = path.replace(/:([A-Za-z0-9_]+)/g, (s, id) => { var _a; return (_a = params[id]) !== null && _a !== void 0 ? _a : s; });
|
|
18
|
+
return (React.createElement(PiralBreadcrumbItem, Object.assign({ key: key, current: current, path: computedPath }, props), title));
|
|
20
19
|
});
|
|
21
20
|
return React.createElement(PiralBreadcrumbsContainer, { children: children });
|
|
22
21
|
};
|
package/esm/Breadcrumbs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../src/Breadcrumbs.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../src/Breadcrumbs.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,MAAM,WAAW,GAAa,GAAG,EAAE;;IACxC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,IAAI,mCAAI,GAAG,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;QACnD,MAAM,EAAE,KAAK,EAAE,IAAI,KAAe,QAAQ,EAAlB,KAAK,UAAK,QAAQ,EAApC,iBAAyB,CAAW,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,CAAC,KAAK,YAAY,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,EAAE,CAAC,mCAAI,CAAC,CAAA,EAAA,CAAC,CAAC;QAEnF,OAAO,CACL,oBAAC,mBAAmB,kBAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,IAAM,KAAK,GAC3E,KAAK,CACc,CACvB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,oBAAC,yBAAyB,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC;AAC3D,CAAC,CAAC;AACF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC"}
|
package/esm/actions.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { __assign } from "tslib";
|
|
2
1
|
import { withKey, withoutKey } from 'piral-core';
|
|
3
2
|
export function registerBreadcrumb(ctx, name, value) {
|
|
4
|
-
ctx.dispatch(
|
|
3
|
+
ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { registry: Object.assign(Object.assign({}, state.registry), { breadcrumbs: withKey(state.registry.breadcrumbs, name, value) }) })));
|
|
5
4
|
}
|
|
6
5
|
export function unregisterBreadcrumb(ctx, name) {
|
|
7
|
-
ctx.dispatch(
|
|
6
|
+
ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { registry: Object.assign(Object.assign({}, state.registry), { breadcrumbs: withoutKey(state.registry.breadcrumbs, name) }) })));
|
|
8
7
|
}
|
|
9
8
|
//# sourceMappingURL=actions.js.map
|
package/esm/actions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAsB,MAAM,YAAY,CAAC;AAGrE,MAAM,UAAU,kBAAkB,CAAC,GAAuB,EAAE,IAAY,EAAE,KAA6B;IACrG,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iCACnB,KAAK,KACR,QAAQ,kCACH,KAAK,CAAC,QAAQ,KACjB,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,OAE/D,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAuB,EAAE,IAAY;IACxE,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iCACnB,KAAK,KACR,QAAQ,kCACH,KAAK,CAAC,QAAQ,KACjB,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,OAE3D,CAAC,CAAC;AACN,CAAC"}
|
package/esm/components.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { getPiralComponent } from 'piral-core';
|
|
2
|
-
export
|
|
3
|
-
export
|
|
2
|
+
export const PiralBreadcrumbsContainer = getPiralComponent('BreadcrumbsContainer');
|
|
3
|
+
export const PiralBreadcrumbItem = getPiralComponent('BreadcrumbItem');
|
|
4
4
|
//# sourceMappingURL=components.js.map
|
package/esm/components.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,MAAM,CAAC,MAAM,yBAAyB,GAAmD,iBAAiB,CACxG,sBAAsB,CACvB,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAA6C,iBAAiB,CAAC,gBAAgB,CAAC,CAAC"}
|
package/esm/create.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { __assign } from "tslib";
|
|
2
1
|
import * as actions from './actions';
|
|
3
2
|
import { buildName } from 'piral-core';
|
|
4
3
|
import { DefaultBreadbrumbItem, DefaultBreadcrumbsContainer } from './default';
|
|
5
4
|
// Unfortunately `require`d:
|
|
6
5
|
// * exports are otherwise potentially converted by, e.g., Parcel (see #385)
|
|
7
|
-
|
|
6
|
+
const ptr = require('path-to-regexp');
|
|
8
7
|
function getMatcher(settings) {
|
|
9
8
|
if (settings.matcher instanceof RegExp) {
|
|
10
9
|
return settings.matcher;
|
|
@@ -17,14 +16,13 @@ function getMatcher(settings) {
|
|
|
17
16
|
}
|
|
18
17
|
}
|
|
19
18
|
function getBreadcrumbs(items) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
for (
|
|
23
|
-
|
|
24
|
-
breadcrumbs["global-" + i++] = {
|
|
19
|
+
const breadcrumbs = {};
|
|
20
|
+
let i = 0;
|
|
21
|
+
for (const settings of items) {
|
|
22
|
+
breadcrumbs[`global-${i++}`] = {
|
|
25
23
|
pilet: undefined,
|
|
26
24
|
matcher: getMatcher(settings),
|
|
27
|
-
settings
|
|
25
|
+
settings,
|
|
28
26
|
};
|
|
29
27
|
}
|
|
30
28
|
return breadcrumbs;
|
|
@@ -32,31 +30,30 @@ function getBreadcrumbs(items) {
|
|
|
32
30
|
/**
|
|
33
31
|
* Creates the Pilet API extension for activating breadcrumbs support.
|
|
34
32
|
*/
|
|
35
|
-
export function createBreadcrumbsApi(config) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return function (context) {
|
|
33
|
+
export function createBreadcrumbsApi(config = {}) {
|
|
34
|
+
const { breadcrumbs = [] } = config;
|
|
35
|
+
return (context) => {
|
|
39
36
|
context.defineActions(actions);
|
|
40
|
-
context.dispatch(
|
|
41
|
-
return
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
context.dispatch((state) => (Object.assign(Object.assign({}, state), { components: Object.assign({ BreadcrumbItem: DefaultBreadbrumbItem, BreadcrumbsContainer: DefaultBreadcrumbsContainer }, state.components), registry: Object.assign(Object.assign({}, state.registry), { breadcrumbs: getBreadcrumbs(breadcrumbs) }) })));
|
|
38
|
+
return (api, target) => {
|
|
39
|
+
const pilet = target.name;
|
|
40
|
+
let next = 0;
|
|
44
41
|
return {
|
|
45
|
-
registerBreadcrumb
|
|
42
|
+
registerBreadcrumb(name, settings) {
|
|
46
43
|
if (typeof name !== 'string') {
|
|
47
44
|
settings = name;
|
|
48
45
|
name = next++;
|
|
49
46
|
}
|
|
50
|
-
|
|
47
|
+
const id = buildName(pilet, name);
|
|
51
48
|
context.registerBreadcrumb(id, {
|
|
52
|
-
pilet
|
|
49
|
+
pilet,
|
|
53
50
|
matcher: getMatcher(settings),
|
|
54
|
-
settings
|
|
51
|
+
settings,
|
|
55
52
|
});
|
|
56
|
-
return
|
|
53
|
+
return () => api.unregisterBreadcrumb(name);
|
|
57
54
|
},
|
|
58
|
-
unregisterBreadcrumb
|
|
59
|
-
|
|
55
|
+
unregisterBreadcrumb(name) {
|
|
56
|
+
const id = buildName(pilet, name);
|
|
60
57
|
context.unregisterBreadcrumb(id);
|
|
61
58
|
},
|
|
62
59
|
};
|
package/esm/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAG/E,4BAA4B;AAC5B,4EAA4E;AAC5E,MAAM,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAatC,SAAS,UAAU,CAAC,QAA4B;IAC9C,IAAI,QAAQ,CAAC,OAAO,YAAY,MAAM,EAAE;QACtC,OAAO,QAAQ,CAAC,OAAO,CAAC;KACzB;SAAM,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE;QAC/C,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;KAC9B;SAAM;QACL,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC3B;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAgC;IACtD,MAAM,WAAW,GAAiC,EAAE,CAAC;IACrD,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;QAC5B,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG;YAC7B,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC;YAC7B,QAAQ;SACT,CAAC;KACH;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAA0B,EAAE;IAC/D,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;IAEpC,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE/B,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iCACvB,KAAK,KACR,UAAU,kBACR,cAAc,EAAE,qBAAqB,EACrC,oBAAoB,EAAE,2BAA2B,IAC9C,KAAK,CAAC,UAAU,GAErB,QAAQ,kCACH,KAAK,CAAC,QAAQ,KACjB,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,OAE1C,CAAC,CAAC;QAEJ,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;YAC1B,IAAI,IAAI,GAAG,CAAC,CAAC;YAEb,OAAO;gBACL,kBAAkB,CAAC,IAAI,EAAE,QAAS;oBAChC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;wBAC5B,QAAQ,GAAG,IAAI,CAAC;wBAChB,IAAI,GAAG,IAAI,EAAE,CAAC;qBACf;oBAED,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAClC,OAAO,CAAC,kBAAkB,CAAC,EAAE,EAAE;wBAC7B,KAAK;wBACL,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC;wBAC7B,QAAQ;qBACT,CAAC,CAAC;oBACH,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAC9C,CAAC;gBACD,oBAAoB,CAAC,IAAI;oBACvB,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAClC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;gBACnC,CAAC;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
package/esm/default.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ExtensionSlot, defaultRender } from 'piral-core';
|
|
3
|
-
export
|
|
4
|
-
export
|
|
3
|
+
export const DefaultBreadcrumbsContainer = (props) => (React.createElement(ExtensionSlot, { name: "breadcrumbs", params: props, empty: () => defaultRender(props.children, 'default_breadcrumbs') }));
|
|
4
|
+
export const DefaultBreadbrumbItem = (props) => defaultRender(props.children);
|
|
5
5
|
//# sourceMappingURL=default.js.map
|
package/esm/default.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sourceRoot":"","sources":["../src/default.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1D,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"default.js","sourceRoot":"","sources":["../src/default.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1D,MAAM,CAAC,MAAM,2BAA2B,GAAwC,CAAC,KAAK,EAAE,EAAE,CAAC,CACzF,oBAAC,aAAa,IAAC,IAAI,EAAC,aAAa,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,qBAAqB,CAAC,GAAI,CACvH,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAkC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC"}
|
package/esm/useBreadcrumbs.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { useGlobalState } from 'piral-core';
|
|
2
2
|
function getExact(breadcrumbs, path) {
|
|
3
|
-
|
|
3
|
+
const [bc] = breadcrumbs.filter((m) => m.matcher.test(path));
|
|
4
4
|
return bc;
|
|
5
5
|
}
|
|
6
6
|
function getClosest(breadcrumbs, path) {
|
|
7
|
-
|
|
7
|
+
const segments = path.split('/');
|
|
8
8
|
while (segments.length > 1) {
|
|
9
9
|
segments.pop();
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
const newPath = segments.join('/');
|
|
11
|
+
const next = getNext(breadcrumbs, newPath);
|
|
12
12
|
if (next) {
|
|
13
13
|
return next;
|
|
14
14
|
}
|
|
@@ -22,13 +22,13 @@ function getNext(breadcrumbs, path) {
|
|
|
22
22
|
return undefined;
|
|
23
23
|
}
|
|
24
24
|
export function useBreadcrumbs(path) {
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
const breadcrumbs = useGlobalState((s) => s.registry.breadcrumbs);
|
|
26
|
+
const list = Object.keys(breadcrumbs).map((id) => breadcrumbs[id]);
|
|
27
27
|
if (list.length > 0) {
|
|
28
|
-
|
|
28
|
+
const current = getNext(list, path);
|
|
29
29
|
if (current) {
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
const links = [current];
|
|
31
|
+
let previous = getNext(list, current.settings.parent);
|
|
32
32
|
while (previous !== undefined) {
|
|
33
33
|
links.push(previous);
|
|
34
34
|
previous = getNext(list, previous.settings.parent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBreadcrumbs.js","sourceRoot":"","sources":["../src/useBreadcrumbs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,SAAS,QAAQ,CAAC,WAA0C,EAAE,IAAY;
|
|
1
|
+
{"version":3,"file":"useBreadcrumbs.js","sourceRoot":"","sources":["../src/useBreadcrumbs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,SAAS,QAAQ,CAAC,WAA0C,EAAE,IAAY;IACxE,MAAM,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,UAAU,CAAC,WAA0C,EAAE,IAAY;IAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjC,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QAC1B,QAAQ,CAAC,GAAG,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE3C,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,OAAO,CAAC,WAA0C,EAAE,IAAY;IACvE,IAAI,IAAI,EAAE;QACR,OAAO,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KACrE;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEpC,IAAI,OAAO,EAAE;YACX,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;YACxB,IAAI,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEtD,OAAO,QAAQ,KAAK,SAAS,EAAE;gBAC7B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrB,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aACpD;YAED,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;SACxB;KACF;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
package/lib/Breadcrumbs.js
CHANGED
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Breadcrumbs = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = require("react");
|
|
6
|
+
const react_router_1 = require("react-router");
|
|
7
|
+
const components_1 = require("./components");
|
|
8
|
+
const useBreadcrumbs_1 = require("./useBreadcrumbs");
|
|
9
|
+
const Breadcrumbs = () => {
|
|
10
10
|
var _a;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
return (React.createElement(components_1.PiralBreadcrumbItem, tslib_1.__assign({ key: key, current: current, path: computedPath }, props), title));
|
|
11
|
+
const location = (0, react_router_1.useLocation)();
|
|
12
|
+
const breadcrumbs = (0, useBreadcrumbs_1.useBreadcrumbs)(location.pathname);
|
|
13
|
+
const currentIndex = breadcrumbs.length - 1;
|
|
14
|
+
const current = breadcrumbs[currentIndex];
|
|
15
|
+
const { params } = (0, react_router_1.useRouteMatch)((_a = current === null || current === void 0 ? void 0 : current.settings.path) !== null && _a !== void 0 ? _a : '/');
|
|
16
|
+
const children = breadcrumbs.map(({ settings }, i) => {
|
|
17
|
+
const { title, path } = settings, props = (0, tslib_1.__rest)(settings, ["title", "path"]);
|
|
18
|
+
const key = `bc_${i}_${settings.path}`;
|
|
19
|
+
const current = i === currentIndex;
|
|
20
|
+
const computedPath = path.replace(/:([A-Za-z0-9_]+)/g, (s, id) => { var _a; return (_a = params[id]) !== null && _a !== void 0 ? _a : s; });
|
|
21
|
+
return (React.createElement(components_1.PiralBreadcrumbItem, Object.assign({ key: key, current: current, path: computedPath }, props), title));
|
|
23
22
|
});
|
|
24
23
|
return React.createElement(components_1.PiralBreadcrumbsContainer, { children: children });
|
|
25
24
|
};
|
package/lib/Breadcrumbs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../src/Breadcrumbs.tsx"],"names":[],"mappings":";;;;AAAA
|
|
1
|
+
{"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../src/Breadcrumbs.tsx"],"names":[],"mappings":";;;;AAAA,+BAA+B;AAC/B,+CAA0D;AAC1D,6CAA8E;AAC9E,qDAAkD;AAE3C,MAAM,WAAW,GAAa,GAAG,EAAE;;IACxC,MAAM,QAAQ,GAAG,IAAA,0BAAW,GAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,IAAA,+BAAc,EAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,4BAAa,EAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,IAAI,mCAAI,GAAG,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;QACnD,MAAM,EAAE,KAAK,EAAE,IAAI,KAAe,QAAQ,EAAlB,KAAK,uBAAK,QAAQ,EAApC,iBAAyB,CAAW,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,CAAC,KAAK,YAAY,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,EAAE,CAAC,mCAAI,CAAC,CAAA,EAAA,CAAC,CAAC;QAEnF,OAAO,CACL,oBAAC,gCAAmB,kBAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,IAAM,KAAK,GAC3E,KAAK,CACc,CACvB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,oBAAC,sCAAyB,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC;AAC3D,CAAC,CAAC;AArBW,QAAA,WAAW,eAqBtB;AACF,mBAAW,CAAC,WAAW,GAAG,aAAa,CAAC"}
|
package/lib/actions.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.unregisterBreadcrumb = exports.registerBreadcrumb = void 0;
|
|
4
|
-
|
|
5
|
-
var piral_core_1 = require("piral-core");
|
|
4
|
+
const piral_core_1 = require("piral-core");
|
|
6
5
|
function registerBreadcrumb(ctx, name, value) {
|
|
7
|
-
ctx.dispatch(
|
|
6
|
+
ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { registry: Object.assign(Object.assign({}, state.registry), { breadcrumbs: (0, piral_core_1.withKey)(state.registry.breadcrumbs, name, value) }) })));
|
|
8
7
|
}
|
|
9
8
|
exports.registerBreadcrumb = registerBreadcrumb;
|
|
10
9
|
function unregisterBreadcrumb(ctx, name) {
|
|
11
|
-
ctx.dispatch(
|
|
10
|
+
ctx.dispatch((state) => (Object.assign(Object.assign({}, state), { registry: Object.assign(Object.assign({}, state.registry), { breadcrumbs: (0, piral_core_1.withoutKey)(state.registry.breadcrumbs, name) }) })));
|
|
12
11
|
}
|
|
13
12
|
exports.unregisterBreadcrumb = unregisterBreadcrumb;
|
|
14
13
|
//# sourceMappingURL=actions.js.map
|
package/lib/actions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":";;;AAAA,2CAAqE;AAGrE,SAAgB,kBAAkB,CAAC,GAAuB,EAAE,IAAY,EAAE,KAA6B;IACrG,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iCACnB,KAAK,KACR,QAAQ,kCACH,KAAK,CAAC,QAAQ,KACjB,WAAW,EAAE,IAAA,oBAAO,EAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,OAE/D,CAAC,CAAC;AACN,CAAC;AARD,gDAQC;AAED,SAAgB,oBAAoB,CAAC,GAAuB,EAAE,IAAY;IACxE,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iCACnB,KAAK,KACR,QAAQ,kCACH,KAAK,CAAC,QAAQ,KACjB,WAAW,EAAE,IAAA,uBAAU,EAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,OAE3D,CAAC,CAAC;AACN,CAAC;AARD,oDAQC"}
|
package/lib/components.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PiralBreadcrumbItem = exports.PiralBreadcrumbsContainer = void 0;
|
|
4
|
-
|
|
5
|
-
exports.PiralBreadcrumbsContainer = piral_core_1.getPiralComponent('BreadcrumbsContainer');
|
|
6
|
-
exports.PiralBreadcrumbItem = piral_core_1.getPiralComponent('BreadcrumbItem');
|
|
4
|
+
const piral_core_1 = require("piral-core");
|
|
5
|
+
exports.PiralBreadcrumbsContainer = (0, piral_core_1.getPiralComponent)('BreadcrumbsContainer');
|
|
6
|
+
exports.PiralBreadcrumbItem = (0, piral_core_1.getPiralComponent)('BreadcrumbItem');
|
|
7
7
|
//# sourceMappingURL=components.js.map
|
package/lib/components.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.tsx"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.tsx"],"names":[],"mappings":";;;AACA,2CAA+C;AAGlC,QAAA,yBAAyB,GAAmD,IAAA,8BAAiB,EACxG,sBAAsB,CACvB,CAAC;AACW,QAAA,mBAAmB,GAA6C,IAAA,8BAAiB,EAAC,gBAAgB,CAAC,CAAC"}
|
package/lib/create.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createBreadcrumbsApi = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var default_1 = require("./default");
|
|
4
|
+
const actions = require("./actions");
|
|
5
|
+
const piral_core_1 = require("piral-core");
|
|
6
|
+
const default_1 = require("./default");
|
|
8
7
|
// Unfortunately `require`d:
|
|
9
8
|
// * exports are otherwise potentially converted by, e.g., Parcel (see #385)
|
|
10
|
-
|
|
9
|
+
const ptr = require('path-to-regexp');
|
|
11
10
|
function getMatcher(settings) {
|
|
12
11
|
if (settings.matcher instanceof RegExp) {
|
|
13
12
|
return settings.matcher;
|
|
@@ -20,14 +19,13 @@ function getMatcher(settings) {
|
|
|
20
19
|
}
|
|
21
20
|
}
|
|
22
21
|
function getBreadcrumbs(items) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
for (
|
|
26
|
-
|
|
27
|
-
breadcrumbs["global-" + i++] = {
|
|
22
|
+
const breadcrumbs = {};
|
|
23
|
+
let i = 0;
|
|
24
|
+
for (const settings of items) {
|
|
25
|
+
breadcrumbs[`global-${i++}`] = {
|
|
28
26
|
pilet: undefined,
|
|
29
27
|
matcher: getMatcher(settings),
|
|
30
|
-
settings
|
|
28
|
+
settings,
|
|
31
29
|
};
|
|
32
30
|
}
|
|
33
31
|
return breadcrumbs;
|
|
@@ -35,31 +33,30 @@ function getBreadcrumbs(items) {
|
|
|
35
33
|
/**
|
|
36
34
|
* Creates the Pilet API extension for activating breadcrumbs support.
|
|
37
35
|
*/
|
|
38
|
-
function createBreadcrumbsApi(config) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return function (context) {
|
|
36
|
+
function createBreadcrumbsApi(config = {}) {
|
|
37
|
+
const { breadcrumbs = [] } = config;
|
|
38
|
+
return (context) => {
|
|
42
39
|
context.defineActions(actions);
|
|
43
|
-
context.dispatch(
|
|
44
|
-
return
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
context.dispatch((state) => (Object.assign(Object.assign({}, state), { components: Object.assign({ BreadcrumbItem: default_1.DefaultBreadbrumbItem, BreadcrumbsContainer: default_1.DefaultBreadcrumbsContainer }, state.components), registry: Object.assign(Object.assign({}, state.registry), { breadcrumbs: getBreadcrumbs(breadcrumbs) }) })));
|
|
41
|
+
return (api, target) => {
|
|
42
|
+
const pilet = target.name;
|
|
43
|
+
let next = 0;
|
|
47
44
|
return {
|
|
48
|
-
registerBreadcrumb
|
|
45
|
+
registerBreadcrumb(name, settings) {
|
|
49
46
|
if (typeof name !== 'string') {
|
|
50
47
|
settings = name;
|
|
51
48
|
name = next++;
|
|
52
49
|
}
|
|
53
|
-
|
|
50
|
+
const id = (0, piral_core_1.buildName)(pilet, name);
|
|
54
51
|
context.registerBreadcrumb(id, {
|
|
55
|
-
pilet
|
|
52
|
+
pilet,
|
|
56
53
|
matcher: getMatcher(settings),
|
|
57
|
-
settings
|
|
54
|
+
settings,
|
|
58
55
|
});
|
|
59
|
-
return
|
|
56
|
+
return () => api.unregisterBreadcrumb(name);
|
|
60
57
|
},
|
|
61
|
-
unregisterBreadcrumb
|
|
62
|
-
|
|
58
|
+
unregisterBreadcrumb(name) {
|
|
59
|
+
const id = (0, piral_core_1.buildName)(pilet, name);
|
|
63
60
|
context.unregisterBreadcrumb(id);
|
|
64
61
|
},
|
|
65
62
|
};
|
package/lib/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,2CAA0D;AAC1D,uCAA+E;AAG/E,4BAA4B;AAC5B,4EAA4E;AAC5E,MAAM,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAatC,SAAS,UAAU,CAAC,QAA4B;IAC9C,IAAI,QAAQ,CAAC,OAAO,YAAY,MAAM,EAAE;QACtC,OAAO,QAAQ,CAAC,OAAO,CAAC;KACzB;SAAM,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE;QAC/C,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;KAC9B;SAAM;QACL,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC3B;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAgC;IACtD,MAAM,WAAW,GAAiC,EAAE,CAAC;IACrD,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;QAC5B,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG;YAC7B,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC;YAC7B,QAAQ;SACT,CAAC;KACH;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,SAA0B,EAAE;IAC/D,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;IAEpC,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE/B,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iCACvB,KAAK,KACR,UAAU,kBACR,cAAc,EAAE,+BAAqB,EACrC,oBAAoB,EAAE,qCAA2B,IAC9C,KAAK,CAAC,UAAU,GAErB,QAAQ,kCACH,KAAK,CAAC,QAAQ,KACjB,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,OAE1C,CAAC,CAAC;QAEJ,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;YAC1B,IAAI,IAAI,GAAG,CAAC,CAAC;YAEb,OAAO;gBACL,kBAAkB,CAAC,IAAI,EAAE,QAAS;oBAChC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;wBAC5B,QAAQ,GAAG,IAAI,CAAC;wBAChB,IAAI,GAAG,IAAI,EAAE,CAAC;qBACf;oBAED,MAAM,EAAE,GAAG,IAAA,sBAAS,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAClC,OAAO,CAAC,kBAAkB,CAAC,EAAE,EAAE;wBAC7B,KAAK;wBACL,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC;wBAC7B,QAAQ;qBACT,CAAC,CAAC;oBACH,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAC9C,CAAC;gBACD,oBAAoB,CAAC,IAAI;oBACvB,MAAM,EAAE,GAAG,IAAA,sBAAS,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAClC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;gBACnC,CAAC;aACF,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AA7CD,oDA6CC"}
|
package/lib/default.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DefaultBreadbrumbItem = exports.DefaultBreadcrumbsContainer = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const React = require("react");
|
|
5
|
+
const piral_core_1 = require("piral-core");
|
|
6
|
+
const DefaultBreadcrumbsContainer = (props) => (React.createElement(piral_core_1.ExtensionSlot, { name: "breadcrumbs", params: props, empty: () => (0, piral_core_1.defaultRender)(props.children, 'default_breadcrumbs') }));
|
|
7
7
|
exports.DefaultBreadcrumbsContainer = DefaultBreadcrumbsContainer;
|
|
8
|
-
|
|
8
|
+
const DefaultBreadbrumbItem = (props) => (0, piral_core_1.defaultRender)(props.children);
|
|
9
9
|
exports.DefaultBreadbrumbItem = DefaultBreadbrumbItem;
|
|
10
10
|
//# sourceMappingURL=default.js.map
|
package/lib/default.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sourceRoot":"","sources":["../src/default.tsx"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"default.js","sourceRoot":"","sources":["../src/default.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,2CAA0D;AAGnD,MAAM,2BAA2B,GAAwC,CAAC,KAAK,EAAE,EAAE,CAAC,CACzF,oBAAC,0BAAa,IAAC,IAAI,EAAC,aAAa,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAA,0BAAa,EAAC,KAAK,CAAC,QAAQ,EAAE,qBAAqB,CAAC,GAAI,CACvH,CAAC;AAFW,QAAA,2BAA2B,+BAEtC;AAEK,MAAM,qBAAqB,GAAkC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,0BAAa,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAhG,QAAA,qBAAqB,yBAA2E"}
|
package/lib/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
tslib_1.__exportStar(require("./Breadcrumbs"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./create"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./components"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./types"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./useBreadcrumbs"), exports);
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
(0, tslib_1.__exportStar)(require("./Breadcrumbs"), exports);
|
|
5
|
+
(0, tslib_1.__exportStar)(require("./create"), exports);
|
|
6
|
+
(0, tslib_1.__exportStar)(require("./components"), exports);
|
|
7
|
+
(0, tslib_1.__exportStar)(require("./types"), exports);
|
|
8
|
+
(0, tslib_1.__exportStar)(require("./useBreadcrumbs"), exports);
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAA8B;AAC9B,wDAAyB;AACzB,4DAA6B;AAC7B,uDAAwB;AACxB,gEAAiC"}
|
package/lib/useBreadcrumbs.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useBreadcrumbs = void 0;
|
|
4
|
-
|
|
4
|
+
const piral_core_1 = require("piral-core");
|
|
5
5
|
function getExact(breadcrumbs, path) {
|
|
6
|
-
|
|
6
|
+
const [bc] = breadcrumbs.filter((m) => m.matcher.test(path));
|
|
7
7
|
return bc;
|
|
8
8
|
}
|
|
9
9
|
function getClosest(breadcrumbs, path) {
|
|
10
|
-
|
|
10
|
+
const segments = path.split('/');
|
|
11
11
|
while (segments.length > 1) {
|
|
12
12
|
segments.pop();
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
const newPath = segments.join('/');
|
|
14
|
+
const next = getNext(breadcrumbs, newPath);
|
|
15
15
|
if (next) {
|
|
16
16
|
return next;
|
|
17
17
|
}
|
|
@@ -25,13 +25,13 @@ function getNext(breadcrumbs, path) {
|
|
|
25
25
|
return undefined;
|
|
26
26
|
}
|
|
27
27
|
function useBreadcrumbs(path) {
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
const breadcrumbs = (0, piral_core_1.useGlobalState)((s) => s.registry.breadcrumbs);
|
|
29
|
+
const list = Object.keys(breadcrumbs).map((id) => breadcrumbs[id]);
|
|
30
30
|
if (list.length > 0) {
|
|
31
|
-
|
|
31
|
+
const current = getNext(list, path);
|
|
32
32
|
if (current) {
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
const links = [current];
|
|
34
|
+
let previous = getNext(list, current.settings.parent);
|
|
35
35
|
while (previous !== undefined) {
|
|
36
36
|
links.push(previous);
|
|
37
37
|
previous = getNext(list, previous.settings.parent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBreadcrumbs.js","sourceRoot":"","sources":["../src/useBreadcrumbs.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"useBreadcrumbs.js","sourceRoot":"","sources":["../src/useBreadcrumbs.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAG5C,SAAS,QAAQ,CAAC,WAA0C,EAAE,IAAY;IACxE,MAAM,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,UAAU,CAAC,WAA0C,EAAE,IAAY;IAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjC,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QAC1B,QAAQ,CAAC,GAAG,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE3C,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,OAAO,CAAC,WAA0C,EAAE,IAAY;IACvE,IAAI,IAAI,EAAE;QACR,OAAO,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;KACrE;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,cAAc,CAAC,IAAY;IACzC,MAAM,WAAW,GAAG,IAAA,2BAAc,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEpC,IAAI,OAAO,EAAE;YACX,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;YACxB,IAAI,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEtD,OAAO,QAAQ,KAAK,SAAS,EAAE;gBAC7B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrB,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aACpD;YAED,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;SACxB;KACF;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AArBD,wCAqBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "piral-breadcrumbs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0-beta.3156",
|
|
4
4
|
"description": "Plugin for creating a breadcrumb manager in Piral.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"piral",
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
"test": "echo \"Error: run tests from root\" && exit 1"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"piral-core": "^0.
|
|
44
|
+
"piral-core": "^0.14.0-beta.3156"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"path-to-regexp": "^1.8.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"piral-core": "0.
|
|
50
|
+
"piral-core": "0.14.x"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "e368a181defdfca4722d7bd478a9dcd47d90a51b"
|
|
53
53
|
}
|