piral-breadcrumbs 1.6.0-beta.7240 → 1.6.0-beta.7244

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,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Breadcrumbs = void 0;
4
- const React = require("react");
5
- const piral_core_1 = require("piral-core");
6
- const components_1 = require("./components");
7
- const useBreadcrumbs_1 = require("./useBreadcrumbs");
1
+ import * as React from 'react';
2
+ import { useGlobalStateContext } from 'piral-core';
3
+ import { PiralBreadcrumbsContainer, PiralBreadcrumbItem } from './components';
4
+ import { useBreadcrumbs } from './useBreadcrumbs';
8
5
  const getKey = /:(([A-Za-z0-9_]+)\*?)/g;
9
6
  function getContent(title, path, params) {
10
7
  if (typeof title === 'function') {
@@ -13,7 +10,7 @@ function getContent(title, path, params) {
13
10
  return title;
14
11
  }
15
12
  function useNavigationPath() {
16
- const { navigation } = (0, piral_core_1.useGlobalStateContext)();
13
+ const { navigation } = useGlobalStateContext();
17
14
  const [path, setPath] = React.useState(navigation.path);
18
15
  React.useEffect(() => {
19
16
  return navigation.listen(() => {
@@ -47,9 +44,9 @@ function getParams(current, path) {
47
44
  function useParams(current, path) {
48
45
  return React.useMemo(() => getParams(current, path), [current, path]);
49
46
  }
50
- const Breadcrumbs = () => {
47
+ export const Breadcrumbs = () => {
51
48
  const path = useNavigationPath();
52
- const breadcrumbs = (0, useBreadcrumbs_1.useBreadcrumbs)(path);
49
+ const breadcrumbs = useBreadcrumbs(path);
53
50
  const currentIndex = breadcrumbs.length - 1;
54
51
  const params = useParams(breadcrumbs[currentIndex], path);
55
52
  const children = breadcrumbs.map(({ settings }, i) => {
@@ -62,10 +59,9 @@ const Breadcrumbs = () => {
62
59
  }
63
60
  return s;
64
61
  });
65
- return (React.createElement(components_1.PiralBreadcrumbItem, { key: key, current: current, path: computedPath, ...props }, getContent(title, computedPath, params)));
62
+ return (React.createElement(PiralBreadcrumbItem, { key: key, current: current, path: computedPath, ...props }, getContent(title, computedPath, params)));
66
63
  });
67
- return React.createElement(components_1.PiralBreadcrumbsContainer, { children: children });
64
+ return React.createElement(PiralBreadcrumbsContainer, { children: children });
68
65
  };
69
- exports.Breadcrumbs = Breadcrumbs;
70
- exports.Breadcrumbs.displayName = 'Breadcrumbs';
66
+ Breadcrumbs.displayName = 'Breadcrumbs';
71
67
  //# sourceMappingURL=Breadcrumbs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../src/Breadcrumbs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../src/Breadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,MAAM,MAAM,GAAG,wBAAwB,CAAC;AAExC,SAAS,UAAU,CAAC,KAAkC,EAAE,IAAY,EAAE,MAA8B;IAClG,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,OAAO,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;KAChC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,EAAE,UAAU,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAC/C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAExD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE;YAC5B,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,OAAO,CAAC,QAAgB;IAC/B,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,IAAI,MAAuB,CAAC;IAE5B,OAAO,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QACrC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KACtB;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,OAA+B,EAAE,IAAY;IAC9D,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,IAAI,OAAO,EAAE;QACX,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAI,IAAI,EAAE;YACR,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/B;SACF;KAEF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,SAAS,CAAC,OAA+B,EAAE,IAAY;IAC9D,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAa,GAAG,EAAE;IACxC,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;QACnD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,QAAQ,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,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;YACrD,IAAI,EAAE,IAAI,MAAM,EAAE;gBAChB,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;aACzB;YAED,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,OAAO,CACL,oBAAC,mBAAmB,IAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,KAAM,KAAK,IAC3E,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CACpB,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/lib/actions.js CHANGED
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.unregisterBreadcrumbs = exports.registerBreadcrumbs = void 0;
4
- function registerBreadcrumbs(ctx, values) {
1
+ export function registerBreadcrumbs(ctx, values) {
5
2
  ctx.dispatch((state) => ({
6
3
  ...state,
7
4
  registry: {
@@ -13,8 +10,7 @@ function registerBreadcrumbs(ctx, values) {
13
10
  },
14
11
  }));
15
12
  }
16
- exports.registerBreadcrumbs = registerBreadcrumbs;
17
- function unregisterBreadcrumbs(ctx, names) {
13
+ export function unregisterBreadcrumbs(ctx, names) {
18
14
  ctx.dispatch((state) => ({
19
15
  ...state,
20
16
  registry: {
@@ -26,5 +22,4 @@ function unregisterBreadcrumbs(ctx, names) {
26
22
  },
27
23
  }));
28
24
  }
29
- exports.unregisterBreadcrumbs = unregisterBreadcrumbs;
30
25
  //# sourceMappingURL=actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":";;;AAGA,SAAgB,mBAAmB,CAAC,GAAuB,EAAE,MAAoC;IAC/F,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvB,GAAG,KAAK;QACR,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,WAAW,EAAE;gBACX,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW;gBAC7B,GAAG,MAAM;aACV;SACF;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAXD,kDAWC;AAED,SAAgB,qBAAqB,CAAC,GAAuB,EAAE,KAAoB;IACjF,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvB,GAAG,KAAK;QACR,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBACvC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;gBACpC,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;SAC/B;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAXD,sDAWC"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mBAAmB,CAAC,GAAuB,EAAE,MAAoC;IAC/F,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvB,GAAG,KAAK;QACR,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,WAAW,EAAE;gBACX,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW;gBAC7B,GAAG,MAAM;aACV;SACF;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAuB,EAAE,KAAoB;IACjF,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvB,GAAG,KAAK;QACR,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBACvC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;gBACpC,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;SAC/B;KACF,CAAC,CAAC,CAAC;AACN,CAAC"}
package/lib/components.js CHANGED
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PiralBreadcrumbItem = exports.PiralBreadcrumbsContainer = void 0;
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');
1
+ import { getPiralComponent } from 'piral-core';
2
+ export const PiralBreadcrumbsContainer = getPiralComponent('BreadcrumbsContainer');
3
+ export const PiralBreadcrumbItem = getPiralComponent('BreadcrumbItem');
7
4
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.tsx"],"names":[],"mappings":";;;AAAA,2CAA+C;AAElC,QAAA,yBAAyB,GAAG,IAAA,8BAAiB,EAAC,sBAAsB,CAAC,CAAC;AACtE,QAAA,mBAAmB,GAAG,IAAA,8BAAiB,EAAC,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;AACnF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC"}
package/lib/create.js CHANGED
@@ -1,19 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createBreadcrumbsApi = void 0;
4
- const actions = require("./actions");
5
- const piral_core_1 = require("piral-core");
6
- const default_1 = require("./default");
7
- const Breadcrumbs_1 = require("./Breadcrumbs");
1
+ import * as actions from './actions';
2
+ import { buildName, withRootExtension, withAll, createRouteMatcher } from 'piral-core';
3
+ import { DefaultBreadbrumbItem, DefaultBreadcrumbsContainer } from './default';
4
+ import { Breadcrumbs } from './Breadcrumbs';
8
5
  function getMatcher(settings) {
9
6
  if (settings.matcher instanceof RegExp) {
10
7
  return settings.matcher;
11
8
  }
12
9
  else if (typeof settings.matcher === 'string') {
13
- return (0, piral_core_1.createRouteMatcher)(settings.matcher);
10
+ return createRouteMatcher(settings.matcher);
14
11
  }
15
12
  else {
16
- return (0, piral_core_1.createRouteMatcher)(settings.path);
13
+ return createRouteMatcher(settings.path);
17
14
  }
18
15
  }
19
16
  function getBreadcrumbs(items) {
@@ -32,8 +29,8 @@ function withBreadcrumbs(breadcrumbs) {
32
29
  return (state) => ({
33
30
  ...state,
34
31
  components: {
35
- BreadcrumbItem: default_1.DefaultBreadbrumbItem,
36
- BreadcrumbsContainer: default_1.DefaultBreadcrumbsContainer,
32
+ BreadcrumbItem: DefaultBreadbrumbItem,
33
+ BreadcrumbsContainer: DefaultBreadcrumbsContainer,
37
34
  ...state.components,
38
35
  },
39
36
  registry: {
@@ -45,11 +42,11 @@ function withBreadcrumbs(breadcrumbs) {
45
42
  /**
46
43
  * Creates the Pilet API extension for activating breadcrumbs support.
47
44
  */
48
- function createBreadcrumbsApi(config = {}) {
45
+ export function createBreadcrumbsApi(config = {}) {
49
46
  const { breadcrumbs = [] } = config;
50
47
  return (context) => {
51
48
  context.defineActions(actions);
52
- context.dispatch((0, piral_core_1.withAll)(withBreadcrumbs(getBreadcrumbs(breadcrumbs)), (0, piral_core_1.withRootExtension)('piral-breadcrumbs', Breadcrumbs_1.Breadcrumbs)));
49
+ context.dispatch(withAll(withBreadcrumbs(getBreadcrumbs(breadcrumbs)), withRootExtension('piral-breadcrumbs', Breadcrumbs)));
53
50
  return (_, target) => {
54
51
  const pilet = target.name;
55
52
  let next = 0;
@@ -58,7 +55,7 @@ function createBreadcrumbsApi(config = {}) {
58
55
  const bc = {};
59
56
  for (const value of values) {
60
57
  const { name = next++, ...settings } = value;
61
- const id = (0, piral_core_1.buildName)(pilet, name);
58
+ const id = buildName(pilet, name);
62
59
  bc[id] = settings;
63
60
  }
64
61
  context.registerBreadcrumbs(bc);
@@ -69,7 +66,7 @@ function createBreadcrumbsApi(config = {}) {
69
66
  settings = name;
70
67
  name = next++;
71
68
  }
72
- const id = (0, piral_core_1.buildName)(pilet, name);
69
+ const id = buildName(pilet, name);
73
70
  context.registerBreadcrumbs({
74
71
  [id]: {
75
72
  pilet,
@@ -80,12 +77,11 @@ function createBreadcrumbsApi(config = {}) {
80
77
  return () => context.unregisterBreadcrumbs([id]);
81
78
  },
82
79
  unregisterBreadcrumb(name) {
83
- const id = (0, piral_core_1.buildName)(pilet, name);
80
+ const id = buildName(pilet, name);
84
81
  context.unregisterBreadcrumbs([id]);
85
82
  },
86
83
  };
87
84
  };
88
85
  };
89
86
  }
90
- exports.createBreadcrumbsApi = createBreadcrumbsApi;
91
87
  //# sourceMappingURL=create.js.map
package/lib/create.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
package/lib/default.js CHANGED
@@ -1,10 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultBreadbrumbItem = exports.DefaultBreadcrumbsContainer = void 0;
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
- exports.DefaultBreadcrumbsContainer = DefaultBreadcrumbsContainer;
8
- const DefaultBreadbrumbItem = (props) => (0, piral_core_1.defaultRender)(props.children);
9
- exports.DefaultBreadbrumbItem = DefaultBreadbrumbItem;
1
+ import * as React from 'react';
2
+ import { ExtensionSlot, defaultRender } from 'piral-core';
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);
10
5
  //# sourceMappingURL=default.js.map
@@ -1 +1 @@
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"}
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/lib/index.js CHANGED
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
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);
1
+ export * from './Breadcrumbs';
2
+ export * from './create';
3
+ export * from './components';
4
+ export * from './types';
5
+ export * from './useBreadcrumbs';
9
6
  //# 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,wDAA8B;AAC9B,mDAAyB;AACzB,uDAA6B;AAC7B,kDAAwB;AACxB,2DAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
package/lib/types.js CHANGED
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=types.js.map
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useBreadcrumbs = void 0;
4
- const piral_core_1 = require("piral-core");
1
+ import { useGlobalState } from 'piral-core';
5
2
  function getExact(breadcrumbs, path) {
6
3
  const [bc] = breadcrumbs.filter((m) => m.matcher.test(path));
7
4
  return bc;
@@ -24,8 +21,8 @@ function getNext(breadcrumbs, path) {
24
21
  }
25
22
  return undefined;
26
23
  }
27
- function useBreadcrumbs(path) {
28
- const breadcrumbs = (0, piral_core_1.useGlobalState)((s) => s.registry.breadcrumbs);
24
+ export function useBreadcrumbs(path) {
25
+ const breadcrumbs = useGlobalState((s) => s.registry.breadcrumbs);
29
26
  const list = Object.keys(breadcrumbs).map((id) => breadcrumbs[id]);
30
27
  if (list.length > 0) {
31
28
  const current = getNext(list, path);
@@ -41,5 +38,4 @@ function useBreadcrumbs(path) {
41
38
  }
42
39
  return [];
43
40
  }
44
- exports.useBreadcrumbs = useBreadcrumbs;
45
41
  //# sourceMappingURL=useBreadcrumbs.js.map
@@ -1 +1 @@
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"}
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-breadcrumbs",
3
- "version": "1.6.0-beta.7240",
3
+ "version": "1.6.0-beta.7244",
4
4
  "description": "Plugin for creating a breadcrumb manager in Piral.",
5
5
  "keywords": [
6
6
  "piral",
@@ -17,29 +17,19 @@
17
17
  "author": "smapiot",
18
18
  "homepage": "https://piral.io",
19
19
  "license": "MIT",
20
- "module": "esm/index.js",
20
+ "module": "lib/index.js",
21
21
  "main": "lib/index.js",
22
22
  "typings": "lib/index.d.ts",
23
23
  "exports": {
24
- ".": {
25
- "import": "./esm/index.js",
26
- "require": "./lib/index.js"
27
- },
28
- "./esm/*": {
29
- "import": "./esm/*"
30
- },
24
+ ".": "./lib/index.js",
31
25
  "./lib/*": {
32
- "require": "./lib/*"
33
- },
34
- "./_/*": {
35
- "import": "./esm/*.js",
36
- "require": "./lib/*.js"
26
+ "import": "./lib/*",
27
+ "types": "./lib/*.d.ts"
37
28
  },
38
29
  "./package.json": "./package.json"
39
30
  },
40
31
  "sideEffects": false,
41
32
  "files": [
42
- "esm",
43
33
  "lib",
44
34
  "src",
45
35
  "piral-breadcrumbs.min.js"
@@ -53,17 +43,16 @@
53
43
  },
54
44
  "scripts": {
55
45
  "cleanup": "rimraf esm lib piral-breadcrumbs.min.js",
56
- "build": "yarn build:bundle && yarn build:commonjs && yarn build:esnext",
46
+ "build": "yarn build:bundle && yarn build:esnext",
57
47
  "build:bundle": "esbuild src/index.ts --outfile=piral-breadcrumbs.min.js --bundle --external:piral-core --external:react --minify",
58
- "build:commonjs": "tsc --project tsconfig.json --outDir lib --module commonjs",
59
- "build:esnext": "tsc --project tsconfig.json --outDir esm --module esnext",
48
+ "build:esnext": "tsc --project tsconfig.json --outDir lib --module esnext",
60
49
  "typedoc": "typedoc --json ../../../docs/types/piral-breadcrumbs.json src --exclude \"src/**/*.test.*\"",
61
50
  "test": "echo \"Error: run tests from root\" && exit 1"
62
51
  },
63
52
  "devDependencies": {
64
53
  "@types/react": "^18.0.0",
65
- "piral-core": "1.6.0-beta.7240",
54
+ "piral-core": "1.6.0-beta.7244",
66
55
  "react": "^18.0.0"
67
56
  },
68
- "gitHead": "2fd8ff47d9a7e0666e4e6bc1dc5a7ef45e8e9f39"
57
+ "gitHead": "65ac1291c3429dbf16079b4deb6138b24c5719f7"
69
58
  }
@@ -1,2 +0,0 @@
1
- import * as React from 'react';
2
- export declare const Breadcrumbs: React.FC;
@@ -1,67 +0,0 @@
1
- import * as React from 'react';
2
- import { useGlobalStateContext } from 'piral-core';
3
- import { PiralBreadcrumbsContainer, PiralBreadcrumbItem } from './components';
4
- import { useBreadcrumbs } from './useBreadcrumbs';
5
- const getKey = /:(([A-Za-z0-9_]+)\*?)/g;
6
- function getContent(title, path, params) {
7
- if (typeof title === 'function') {
8
- return title({ path, params });
9
- }
10
- return title;
11
- }
12
- function useNavigationPath() {
13
- const { navigation } = useGlobalStateContext();
14
- const [path, setPath] = React.useState(navigation.path);
15
- React.useEffect(() => {
16
- return navigation.listen(() => {
17
- setPath(navigation.path);
18
- });
19
- }, []);
20
- return path;
21
- }
22
- function getKeys(template) {
23
- const keys = [];
24
- let result;
25
- while (result = getKey.exec(template)) {
26
- keys.push(result[2]);
27
- }
28
- return keys;
29
- }
30
- function getParams(current, path) {
31
- const params = {};
32
- if (current) {
33
- const matcher = current.matcher;
34
- const data = matcher.exec(path);
35
- if (data) {
36
- const keys = getKeys(current.settings.path);
37
- for (let i = 0; i < keys.length; i++) {
38
- params[keys[i]] = data[i + 1];
39
- }
40
- }
41
- }
42
- return params;
43
- }
44
- function useParams(current, path) {
45
- return React.useMemo(() => getParams(current, path), [current, path]);
46
- }
47
- export const Breadcrumbs = () => {
48
- const path = useNavigationPath();
49
- const breadcrumbs = useBreadcrumbs(path);
50
- const currentIndex = breadcrumbs.length - 1;
51
- const params = useParams(breadcrumbs[currentIndex], path);
52
- const children = breadcrumbs.map(({ settings }, i) => {
53
- const { title, path, ...props } = settings;
54
- const key = `bc_${i}_${settings.path}`;
55
- const current = i === currentIndex;
56
- const computedPath = path.replace(getKey, (s, _, id) => {
57
- if (id in params) {
58
- return params[id] || '';
59
- }
60
- return s;
61
- });
62
- return (React.createElement(PiralBreadcrumbItem, { key: key, current: current, path: computedPath, ...props }, getContent(title, computedPath, params)));
63
- });
64
- return React.createElement(PiralBreadcrumbsContainer, { children: children });
65
- };
66
- Breadcrumbs.displayName = 'Breadcrumbs';
67
- //# sourceMappingURL=Breadcrumbs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Breadcrumbs.js","sourceRoot":"","sources":["../src/Breadcrumbs.tsx"],"names":[],"mappings":"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"}
package/esm/actions.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import type { GlobalStateContext, Dict } from 'piral-core';
2
- import { BreadcrumbRegistration } from './types';
3
- export declare function registerBreadcrumbs(ctx: GlobalStateContext, values: Dict<BreadcrumbRegistration>): void;
4
- export declare function unregisterBreadcrumbs(ctx: GlobalStateContext, names: Array<string>): void;
package/esm/actions.js DELETED
@@ -1,25 +0,0 @@
1
- export function registerBreadcrumbs(ctx, values) {
2
- ctx.dispatch((state) => ({
3
- ...state,
4
- registry: {
5
- ...state.registry,
6
- breadcrumbs: {
7
- ...state.registry.breadcrumbs,
8
- ...values,
9
- },
10
- },
11
- }));
12
- }
13
- export function unregisterBreadcrumbs(ctx, names) {
14
- ctx.dispatch((state) => ({
15
- ...state,
16
- registry: {
17
- ...state.registry,
18
- breadcrumbs: names.reduce((prev, name) => {
19
- const { [name]: _, ...rest } = prev;
20
- return rest;
21
- }, state.registry.breadcrumbs),
22
- },
23
- }));
24
- }
25
- //# sourceMappingURL=actions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mBAAmB,CAAC,GAAuB,EAAE,MAAoC;IAC/F,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvB,GAAG,KAAK;QACR,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,WAAW,EAAE;gBACX,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW;gBAC7B,GAAG,MAAM;aACV;SACF;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAuB,EAAE,KAAoB;IACjF,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACvB,GAAG,KAAK;QACR,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBACvC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;gBACpC,OAAO,IAAI,CAAC;YACd,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;SAC/B;KACF,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1,3 +0,0 @@
1
- /// <reference types="react" />
2
- export declare const PiralBreadcrumbsContainer: import("react").ComponentType<import("./types").BreadcrumbsContainerProps>;
3
- export declare const PiralBreadcrumbItem: import("react").ComponentType<import("./types").BreadcrumbItemProps>;
package/esm/components.js DELETED
@@ -1,4 +0,0 @@
1
- import { getPiralComponent } from 'piral-core';
2
- export const PiralBreadcrumbsContainer = getPiralComponent('BreadcrumbsContainer');
3
- export const PiralBreadcrumbItem = getPiralComponent('BreadcrumbItem');
4
- //# sourceMappingURL=components.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,CAAC,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;AACnF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC"}
package/esm/create.d.ts DELETED
@@ -1,16 +0,0 @@
1
- import { PiralPlugin } from 'piral-core';
2
- import { PiletBreadcrumbsApi, BreadcrumbSettings } from './types';
3
- /**
4
- * Available configuration options for the breadcrumbs plugin.
5
- */
6
- export interface DashboardConfig {
7
- /**
8
- * Sets the breadcrumbs to be given by the app shell.
9
- * @default []
10
- */
11
- breadcrumbs?: Array<BreadcrumbSettings>;
12
- }
13
- /**
14
- * Creates the Pilet API extension for activating breadcrumbs support.
15
- */
16
- export declare function createBreadcrumbsApi(config?: DashboardConfig): PiralPlugin<PiletBreadcrumbsApi>;
package/esm/create.js DELETED
@@ -1,87 +0,0 @@
1
- import * as actions from './actions';
2
- import { buildName, withRootExtension, withAll, createRouteMatcher } from 'piral-core';
3
- import { DefaultBreadbrumbItem, DefaultBreadcrumbsContainer } from './default';
4
- import { Breadcrumbs } from './Breadcrumbs';
5
- function getMatcher(settings) {
6
- if (settings.matcher instanceof RegExp) {
7
- return settings.matcher;
8
- }
9
- else if (typeof settings.matcher === 'string') {
10
- return createRouteMatcher(settings.matcher);
11
- }
12
- else {
13
- return createRouteMatcher(settings.path);
14
- }
15
- }
16
- function getBreadcrumbs(items) {
17
- const breadcrumbs = {};
18
- let i = 0;
19
- for (const settings of items) {
20
- breadcrumbs[`global-${i++}`] = {
21
- pilet: undefined,
22
- matcher: getMatcher(settings),
23
- settings,
24
- };
25
- }
26
- return breadcrumbs;
27
- }
28
- function withBreadcrumbs(breadcrumbs) {
29
- return (state) => ({
30
- ...state,
31
- components: {
32
- BreadcrumbItem: DefaultBreadbrumbItem,
33
- BreadcrumbsContainer: DefaultBreadcrumbsContainer,
34
- ...state.components,
35
- },
36
- registry: {
37
- ...state.registry,
38
- breadcrumbs,
39
- },
40
- });
41
- }
42
- /**
43
- * Creates the Pilet API extension for activating breadcrumbs support.
44
- */
45
- export function createBreadcrumbsApi(config = {}) {
46
- const { breadcrumbs = [] } = config;
47
- return (context) => {
48
- context.defineActions(actions);
49
- context.dispatch(withAll(withBreadcrumbs(getBreadcrumbs(breadcrumbs)), withRootExtension('piral-breadcrumbs', Breadcrumbs)));
50
- return (_, target) => {
51
- const pilet = target.name;
52
- let next = 0;
53
- return {
54
- registerBreadcrumbs(values) {
55
- const bc = {};
56
- for (const value of values) {
57
- const { name = next++, ...settings } = value;
58
- const id = buildName(pilet, name);
59
- bc[id] = settings;
60
- }
61
- context.registerBreadcrumbs(bc);
62
- return () => context.unregisterBreadcrumbs(Object.keys(bc));
63
- },
64
- registerBreadcrumb(name, settings) {
65
- if (typeof name !== 'string') {
66
- settings = name;
67
- name = next++;
68
- }
69
- const id = buildName(pilet, name);
70
- context.registerBreadcrumbs({
71
- [id]: {
72
- pilet,
73
- matcher: getMatcher(settings),
74
- settings,
75
- },
76
- });
77
- return () => context.unregisterBreadcrumbs([id]);
78
- },
79
- unregisterBreadcrumb(name) {
80
- const id = buildName(pilet, name);
81
- context.unregisterBreadcrumbs([id]);
82
- },
83
- };
84
- };
85
- };
86
- }
87
- //# sourceMappingURL=create.js.map
package/esm/create.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
package/esm/default.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import * as React from 'react';
2
- import { BreadcrumbsContainerProps, BreadcrumbItemProps } from './types';
3
- export declare const DefaultBreadcrumbsContainer: React.FC<BreadcrumbsContainerProps>;
4
- export declare const DefaultBreadbrumbItem: React.FC<BreadcrumbItemProps>;
package/esm/default.js DELETED
@@ -1,5 +0,0 @@
1
- import * as React from 'react';
2
- import { ExtensionSlot, defaultRender } from 'piral-core';
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
- //# sourceMappingURL=default.js.map
@@ -1 +0,0 @@
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/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export * from './Breadcrumbs';
2
- export * from './create';
3
- export * from './components';
4
- export * from './types';
5
- export * from './useBreadcrumbs';
package/esm/index.js DELETED
@@ -1,6 +0,0 @@
1
- export * from './Breadcrumbs';
2
- export * from './create';
3
- export * from './components';
4
- export * from './types';
5
- export * from './useBreadcrumbs';
6
- //# sourceMappingURL=index.js.map
package/esm/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
package/esm/types.d.ts DELETED
@@ -1,116 +0,0 @@
1
- import type { ComponentType, ReactNode } from 'react';
2
- import type { Dict, BaseRegistration, RegistrationDisposer } from 'piral-core';
3
- declare module 'piral-core/lib/types/custom' {
4
- interface PiletCustomApi extends PiletBreadcrumbsApi {
5
- }
6
- interface PiralCustomState {
7
- }
8
- interface PiralCustomActions {
9
- /**
10
- * Registers a new breadcrumb.
11
- * @param values The breadcrumbs to register.
12
- */
13
- registerBreadcrumbs(values: Dict<BreadcrumbRegistration>): void;
14
- /**
15
- * Unregisters an existing breadcrumb.
16
- * @param name The name of the breadcrumb to be removed.
17
- */
18
- unregisterBreadcrumbs(names: Array<string>): void;
19
- }
20
- interface PiralCustomRegistryState {
21
- /**
22
- * The registered breadcrumbs.
23
- */
24
- breadcrumbs: Dict<BreadcrumbRegistration>;
25
- }
26
- interface PiralCustomComponentsState {
27
- /**
28
- * The breadcrumbs container component.
29
- */
30
- BreadcrumbsContainer: ComponentType<BreadcrumbsContainerProps>;
31
- /**
32
- * The breadcrumb item component.
33
- */
34
- BreadcrumbItem: ComponentType<BreadcrumbItemProps>;
35
- }
36
- }
37
- export interface BreadcrumbsContainerProps {
38
- /**
39
- * The breadcrumbs to display.
40
- */
41
- children?: ReactNode;
42
- }
43
- export interface BreadcrumbItemProps extends Omit<BreadcrumbSettings, 'title'> {
44
- /**
45
- * Determins if the breadcrumb is the current page.
46
- */
47
- current: boolean;
48
- /**
49
- * The title of the breadcrumb to display.
50
- */
51
- children?: ReactNode;
52
- }
53
- export interface PiralCustomBreadcrumbSettings {
54
- }
55
- export interface BreadcrumbTitleParams {
56
- path: string;
57
- params: Record<string, string>;
58
- }
59
- export interface BreadcrumbSettings extends PiralCustomBreadcrumbSettings {
60
- /**
61
- * Gets the path of breadcrumb for navigation purposes.
62
- */
63
- path: string;
64
- /**
65
- * Gets a custom matching function to know if the breadcrumb should be selected.
66
- *
67
- * In case of a missing matcher it uses the path to regexp result of the given path.
68
- *
69
- * In case of a string it uses the path to regexp result of the given matcher.
70
- */
71
- matcher?: string | RegExp;
72
- /**
73
- * The breadcrumb's parent breadcrumb. Supply the path of the breadcrumb here, e.g.,
74
- * if we are currently in "/foo/bar", you could provide "/foo" to get the breadcrumb
75
- * associated with the path "/foo".
76
- *
77
- * If a path is missing for some reason, the closest matching one will be taken as
78
- * parent.
79
- */
80
- parent?: string;
81
- /**
82
- * The title of the breadcrumb.
83
- */
84
- title: ReactNode | ((params: BreadcrumbTitleParams) => ReactNode);
85
- }
86
- export interface BreadcrumbRegistration extends BaseRegistration {
87
- matcher: RegExp;
88
- settings: BreadcrumbSettings;
89
- }
90
- export interface PiletBreadcrumbsApi {
91
- /**
92
- * Registers a set of breadcrumbs.
93
- * @param values The different breadcrumb settings.
94
- */
95
- registerBreadcrumbs(values: Array<{
96
- name?: string;
97
- } & BreadcrumbSettings>): RegistrationDisposer;
98
- /**
99
- * Registers a breadcrumb with the provided settings.
100
- * @param settings The settings for configuring the breadcrumb.
101
- */
102
- registerBreadcrumb(settings: BreadcrumbSettings): RegistrationDisposer;
103
- /**
104
- * Registers a named breadcrumb with the provided settings.
105
- * The name has to be unique within the current pilet.
106
- * @param name The name of the breadcrumb.
107
- * @param settings The settings for configuring the breadcrumb.
108
- */
109
- registerBreadcrumb(name: string, settings: BreadcrumbSettings): RegistrationDisposer;
110
- /**
111
- * Unregisters a breadcrumb known by the given name.
112
- * Only previously registered tiles can be unregistered.
113
- * @param name The name of the breadcrumb to unregister.
114
- */
115
- unregisterBreadcrumb(name: string): void;
116
- }
package/esm/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
package/esm/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import { BreadcrumbRegistration } from './types';
2
- export declare function useBreadcrumbs(path: string): BreadcrumbRegistration[];
@@ -1,41 +0,0 @@
1
- import { useGlobalState } from 'piral-core';
2
- function getExact(breadcrumbs, path) {
3
- const [bc] = breadcrumbs.filter((m) => m.matcher.test(path));
4
- return bc;
5
- }
6
- function getClosest(breadcrumbs, path) {
7
- const segments = path.split('/');
8
- while (segments.length > 1) {
9
- segments.pop();
10
- const newPath = segments.join('/');
11
- const next = getNext(breadcrumbs, newPath);
12
- if (next) {
13
- return next;
14
- }
15
- }
16
- return undefined;
17
- }
18
- function getNext(breadcrumbs, path) {
19
- if (path) {
20
- return getExact(breadcrumbs, path) || getClosest(breadcrumbs, path);
21
- }
22
- return undefined;
23
- }
24
- export function useBreadcrumbs(path) {
25
- const breadcrumbs = useGlobalState((s) => s.registry.breadcrumbs);
26
- const list = Object.keys(breadcrumbs).map((id) => breadcrumbs[id]);
27
- if (list.length > 0) {
28
- const current = getNext(list, path);
29
- if (current) {
30
- const links = [current];
31
- let previous = getNext(list, current.settings.parent);
32
- while (previous !== undefined) {
33
- links.push(previous);
34
- previous = getNext(list, previous.settings.parent);
35
- }
36
- return links.reverse();
37
- }
38
- }
39
- return [];
40
- }
41
- //# sourceMappingURL=useBreadcrumbs.js.map
@@ -1 +0,0 @@
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"}