@elliemae/ds-breadcrumb 2.3.0-alpha.6 → 2.3.0-next.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.
Files changed (44) hide show
  1. package/cjs/DSBreadcrumb.js +102 -0
  2. package/cjs/DSBreadcrumbItem.js +98 -0
  3. package/cjs/hooks/useKeyboardNavigation.js +30 -0
  4. package/cjs/index.d.js +2 -0
  5. package/cjs/index.js +15 -0
  6. package/cjs/styles.js +68 -0
  7. package/esm/DSBreadcrumb.js +88 -0
  8. package/esm/DSBreadcrumbItem.js +87 -0
  9. package/{dist/esm → esm}/hooks/useKeyboardNavigation.js +9 -11
  10. package/esm/index.d.js +1 -0
  11. package/esm/index.js +2 -0
  12. package/esm/styles.js +57 -0
  13. package/package.json +27 -29
  14. package/types/DSBreadcrumb.d.ts +56 -0
  15. package/types/DSBreadcrumbItem.d.ts +78 -0
  16. package/types/hooks/useKeyboardNavigation.d.ts +2 -0
  17. package/types/index.d.d.ts +27 -0
  18. package/types/index.d.ts +3 -0
  19. package/types/styles.d.ts +6 -0
  20. package/types/tests/DSBreadcrumb.test.d.ts +1 -0
  21. package/types/tests/DSBreadcrumbItem.test.d.ts +1 -0
  22. package/dist/cjs/DSBreadcrumb.js +0 -86
  23. package/dist/cjs/DSBreadcrumb.js.map +0 -7
  24. package/dist/cjs/DSBreadcrumbItem.js +0 -86
  25. package/dist/cjs/DSBreadcrumbItem.js.map +0 -7
  26. package/dist/cjs/hooks/useKeyboardNavigation.js +0 -57
  27. package/dist/cjs/hooks/useKeyboardNavigation.js.map +0 -7
  28. package/dist/cjs/index.d.js +0 -27
  29. package/dist/cjs/index.d.js.map +0 -7
  30. package/dist/cjs/index.js +0 -37
  31. package/dist/cjs/index.js.map +0 -7
  32. package/dist/cjs/styles.js +0 -107
  33. package/dist/cjs/styles.js.map +0 -7
  34. package/dist/esm/DSBreadcrumb.js +0 -57
  35. package/dist/esm/DSBreadcrumb.js.map +0 -7
  36. package/dist/esm/DSBreadcrumbItem.js +0 -57
  37. package/dist/esm/DSBreadcrumbItem.js.map +0 -7
  38. package/dist/esm/hooks/useKeyboardNavigation.js.map +0 -7
  39. package/dist/esm/index.d.js +0 -2
  40. package/dist/esm/index.d.js.map +0 -7
  41. package/dist/esm/index.js +0 -8
  42. package/dist/esm/index.js.map +0 -7
  43. package/dist/esm/styles.js +0 -78
  44. package/dist/esm/styles.js.map +0 -7
package/package.json CHANGED
@@ -1,34 +1,31 @@
1
1
  {
2
2
  "name": "@elliemae/ds-breadcrumb",
3
- "version": "2.3.0-alpha.6",
3
+ "version": "2.3.0-next.0",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Breadcrumb",
6
- "files": [
7
- "dist"
8
- ],
9
- "module": "./dist/esm/index.js",
10
- "main": "./dist/cjs/index.js",
11
- "types": "./dist/types/index.d.ts",
6
+ "module": "./esm/index.js",
7
+ "main": "./cjs/index.js",
8
+ "types": "./types/index.d.ts",
12
9
  "exports": {
13
10
  ".": {
14
- "import": "./dist/esm/index.js",
15
- "require": "./dist/cjs/index.js"
11
+ "import": "./esm/index.js",
12
+ "require": "./cjs/index.js"
16
13
  },
17
14
  "./styles": {
18
- "import": "./dist/esm/styles.js",
19
- "require": "./dist/cjs/styles.js"
15
+ "import": "./esm/styles.js",
16
+ "require": "./cjs/styles.js"
20
17
  },
21
18
  "./hooks/useKeyboardNavigation": {
22
- "import": "./dist/esm/hooks/useKeyboardNavigation.js",
23
- "require": "./dist/cjs/hooks/useKeyboardNavigation.js"
19
+ "import": "./esm/hooks/useKeyboardNavigation.js",
20
+ "require": "./cjs/hooks/useKeyboardNavigation.js"
24
21
  },
25
22
  "./DSBreadcrumbItem": {
26
- "import": "./dist/esm/DSBreadcrumbItem.js",
27
- "require": "./dist/cjs/DSBreadcrumbItem.js"
23
+ "import": "./esm/DSBreadcrumbItem.js",
24
+ "require": "./cjs/DSBreadcrumbItem.js"
28
25
  },
29
26
  "./DSBreadcrumb": {
30
- "import": "./dist/esm/DSBreadcrumb.js",
31
- "require": "./dist/cjs/DSBreadcrumb.js"
27
+ "import": "./esm/DSBreadcrumb.js",
28
+ "require": "./cjs/DSBreadcrumb.js"
32
29
  }
33
30
  },
34
31
  "sideEffects": [
@@ -40,17 +37,23 @@
40
37
  "url": "https://git.elliemae.io/platform-ui/dimsum.git"
41
38
  },
42
39
  "engines": {
43
- "pnpm": ">=6",
44
- "node": ">=16"
40
+ "npm": ">=7",
41
+ "node": ">=14"
45
42
  },
46
43
  "author": "ICE MT",
44
+ "scripts": {
45
+ "dev": "cross-env NODE_ENV=development && node ../../scripts/build/build.js -w",
46
+ "prebuild": "exit 0",
47
+ "predev": "exit 0",
48
+ "build": "node ../../scripts/build/build.js"
49
+ },
47
50
  "dependencies": {
48
- "@elliemae/ds-system": "2.3.0-alpha.6",
51
+ "@elliemae/ds-system": "2.3.0-next.0",
49
52
  "react-desc": "~4.1.3"
50
53
  },
51
54
  "devDependencies": {
52
- "@elliemae/pui-theme": "~2.3.0",
53
- "@testing-library/jest-dom": "~5.15.1",
55
+ "@elliemae/pui-theme": "~2.2.5",
56
+ "@testing-library/jest-dom": "~5.15.0",
54
57
  "@testing-library/react": "~12.1.2",
55
58
  "@testing-library/user-event": "~13.5.0",
56
59
  "styled-components": "~5.3.3"
@@ -63,12 +66,7 @@
63
66
  },
64
67
  "publishConfig": {
65
68
  "access": "public",
66
- "typeSafety": false
67
- },
68
- "scripts": {
69
- "dev": "cross-env NODE_ENV=development && node ../../scripts/build/build.js -w",
70
- "prebuild": "exit 0",
71
- "predev": "exit 0",
72
- "build": "node ../../scripts/build/build.js"
69
+ "directory": "dist",
70
+ "generateSubmodules": true
73
71
  }
74
72
  }
@@ -0,0 +1,56 @@
1
+ /// <reference path="../../../../shared/typings/react-desc.d.ts" />
2
+ import React from 'react';
3
+ import DSBreadcrumbItem from './DSBreadcrumbItem';
4
+ import type { DSBreadcrumbPropsT } from './index.d';
5
+ declare const htmlElements: readonly ["nav", "div", "header", "footer", "main"];
6
+ declare const DSBreadcrumb: {
7
+ ({ containerProps, as, label, isTitle, children, trailingSlash, ...rest }: DSBreadcrumbPropsT): React.ReactElement;
8
+ Item: typeof DSBreadcrumbItem;
9
+ propTypes: {
10
+ /** props injected to breadcrumb wrapper */
11
+ containerProps: {
12
+ defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
13
+ deprecated: import("react-desc").PropTypesDescValidator;
14
+ };
15
+ isRequired: import("react-desc").PropTypesDescValue;
16
+ };
17
+ /**
18
+ * Type of element you want the main container to be:
19
+ * 'nav', 'div', 'header', 'footer', 'main'
20
+ */
21
+ as: {
22
+ defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
23
+ deprecated: import("react-desc").PropTypesDescValidator;
24
+ };
25
+ isRequired: import("react-desc").PropTypesDescValue;
26
+ };
27
+ /**
28
+ * Whether to show the last element of the breadcrumb as a title
29
+ * Also removes trailing slash to show last element as title
30
+ */
31
+ isTitle: {
32
+ defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
33
+ deprecated: import("react-desc").PropTypesDescValidator;
34
+ };
35
+ isRequired: import("react-desc").PropTypesDescValue;
36
+ };
37
+ /** breadcrumb label */
38
+ label: {
39
+ defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
40
+ deprecated: import("react-desc").PropTypesDescValidator;
41
+ };
42
+ isRequired: import("react-desc").PropTypesDescValue;
43
+ };
44
+ /**
45
+ * Container items to wrap
46
+ */
47
+ children: any;
48
+ };
49
+ };
50
+ declare const DSBreadcrumbWithSchema: {
51
+ (props?: unknown): JSX.Element;
52
+ propTypes: unknown;
53
+ toTypescript: () => import("react-desc").TypescriptSchema;
54
+ };
55
+ export { DSBreadcrumb, DSBreadcrumbWithSchema, htmlElements };
56
+ export default DSBreadcrumb;
@@ -0,0 +1,78 @@
1
+ /// <reference path="../../../../shared/typings/react-desc.d.ts" />
2
+ import React from 'react';
3
+ import type { DSBreadcrumbItemPropsT } from './index.d';
4
+ declare function DSBreadcrumbItem({ active, as, href, isTitle, onClick, label, color, addRef, childIndex, trailingSlash, onKeyDown, ...rest }: DSBreadcrumbItemPropsT): React.ReactElement;
5
+ declare namespace DSBreadcrumbItem {
6
+ var propTypes: {
7
+ /** inject props to wrapper */
8
+ containerComponent: {
9
+ defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
10
+ deprecated: import("react-desc").PropTypesDescValidator;
11
+ };
12
+ isRequired: import("react-desc").PropTypesDescValue;
13
+ };
14
+ /** render as any html node */
15
+ as: {
16
+ defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
17
+ deprecated: import("react-desc").PropTypesDescValidator;
18
+ };
19
+ isRequired: import("react-desc").PropTypesDescValue;
20
+ };
21
+ /** active item */
22
+ active: {
23
+ defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
24
+ deprecated: import("react-desc").PropTypesDescValidator;
25
+ };
26
+ isRequired: import("react-desc").PropTypesDescValue;
27
+ };
28
+ /** href link */
29
+ href: {
30
+ defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
31
+ deprecated: import("react-desc").PropTypesDescValidator;
32
+ };
33
+ isRequired: import("react-desc").PropTypesDescValue;
34
+ };
35
+ /** on click handler */
36
+ onClick: {
37
+ defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
38
+ deprecated: import("react-desc").PropTypesDescValidator;
39
+ };
40
+ isRequired: import("react-desc").PropTypesDescValue;
41
+ };
42
+ /** style item as title */
43
+ isTitle: {
44
+ defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
45
+ deprecated: import("react-desc").PropTypesDescValidator;
46
+ };
47
+ isRequired: import("react-desc").PropTypesDescValue;
48
+ };
49
+ /** add trailing slash */
50
+ trailingSlash: {
51
+ defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
52
+ deprecated: import("react-desc").PropTypesDescValidator;
53
+ };
54
+ isRequired: import("react-desc").PropTypesDescValue;
55
+ };
56
+ /** item label */
57
+ label: {
58
+ defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
59
+ deprecated: import("react-desc").PropTypesDescValidator;
60
+ };
61
+ isRequired: import("react-desc").PropTypesDescValue;
62
+ };
63
+ /** link color */
64
+ color: {
65
+ defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
66
+ deprecated: import("react-desc").PropTypesDescValidator;
67
+ };
68
+ isRequired: import("react-desc").PropTypesDescValue;
69
+ };
70
+ };
71
+ }
72
+ declare const DSBreadcrumbItemWithSchema: {
73
+ (props?: unknown): JSX.Element;
74
+ propTypes: unknown;
75
+ toTypescript: () => import("react-desc").TypescriptSchema;
76
+ };
77
+ export { DSBreadcrumbItem, DSBreadcrumbItemWithSchema };
78
+ export default DSBreadcrumbItem;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const useKeyboardNavigation: () => (((ref: HTMLAnchorElement) => void) | ((e: React.KeyboardEvent, componentRefIndex: any, callback: any) => void))[];
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { htmlElements } from './DSBreadcrumb';
3
+ declare type SafeComponentsT = typeof htmlElements[number];
4
+ declare type SafeItemComponentT = 'a' | 'button' | 'div' | 'span' | 'p';
5
+ interface DSBreadcrumbPropsT {
6
+ containerProps?: unknown;
7
+ as?: SafeComponentsT;
8
+ label?: string;
9
+ isTitle?: boolean;
10
+ trailingSlash?: boolean;
11
+ children: React.ReactElement[];
12
+ }
13
+ interface DSBreadcrumbItemPropsT {
14
+ active?: boolean;
15
+ isActive?: boolean;
16
+ as?: SafeItemComponentT;
17
+ href?: string;
18
+ isTitle?: boolean;
19
+ trailingSlash?: boolean;
20
+ addRef: (ref: HTMLElement) => void;
21
+ onKeyDown: (e: React.KeyboardEvent, componentRefIndex: number, onClick: () => void) => void;
22
+ onClick?: () => void;
23
+ label?: string;
24
+ childIndex: number;
25
+ color?: string | null;
26
+ }
27
+ export { DSBreadcrumbPropsT, DSBreadcrumbItemPropsT, SafeComponentsT, SafeItemComponentT, };
@@ -0,0 +1,3 @@
1
+ export * from './DSBreadcrumb';
2
+ export * from './DSBreadcrumbItem';
3
+ export { default } from './DSBreadcrumb';
@@ -0,0 +1,6 @@
1
+ import type { DSBreadcrumbItemPropsT } from './index.d';
2
+ declare const StyledList: import("styled-components").StyledComponent<"ol", import("styled-components").DefaultTheme, {}, never>;
3
+ declare const StyledCrumbWrapper: import("styled-components").StyledComponent<"li", import("styled-components").DefaultTheme, Partial<DSBreadcrumbItemPropsT>, never>;
4
+ declare const StyledContainer: import("styled-components").StyledComponent<"nav", import("styled-components").DefaultTheme, {}, never>;
5
+ declare const StyledLink: import("styled-components").StyledComponent<"a", import("styled-components").DefaultTheme, Partial<DSBreadcrumbItemPropsT>, never>;
6
+ export { StyledList, StyledCrumbWrapper, StyledContainer, StyledLink };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,86 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
- }
18
- return target;
19
- };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var DSBreadcrumb_exports = {};
29
- __export(DSBreadcrumb_exports, {
30
- DSBreadcrumb: () => DSBreadcrumb,
31
- DSBreadcrumbWithSchema: () => DSBreadcrumbWithSchema,
32
- default: () => DSBreadcrumb_default,
33
- htmlElements: () => htmlElements
34
- });
35
- var React = __toESM(require("react"));
36
- var import_react = __toESM(require("react"));
37
- var import_react_desc = require("react-desc");
38
- var import_DSBreadcrumbItem = __toESM(require("./DSBreadcrumbItem"));
39
- var import_useKeyboardNavigation = require("./hooks/useKeyboardNavigation");
40
- var import_styles = require("./styles");
41
- const htmlElements = ["nav", "div", "header", "footer", "main"];
42
- const DSBreadcrumb = ({
43
- containerProps = {},
44
- as = "nav",
45
- label = "Breadcrumb",
46
- isTitle = false,
47
- children,
48
- trailingSlash = true,
49
- ...rest
50
- }) => {
51
- const [addRef, onKeyDown] = (0, import_useKeyboardNavigation.useKeyboardNavigation)();
52
- const safeElement = (0, import_react.useMemo)(() => htmlElements.indexOf(as) > -1 ? as : "nav", [as]);
53
- return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledContainer, {
54
- "aria-label": label,
55
- "data-testid": "breadcrumb-nav-container",
56
- ...rest,
57
- ...containerProps,
58
- as: safeElement
59
- }, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledList, {
60
- "data-testid": "list-container"
61
- }, import_react.default.Children.map(children, (child, childIndex) => childIndex < children.length - 1 ? (0, import_react.cloneElement)(child, {
62
- childIndex,
63
- addRef,
64
- onKeyDown
65
- }) : (0, import_react.cloneElement)(child, {
66
- childIndex,
67
- addRef,
68
- onKeyDown,
69
- trailingSlash,
70
- isTitle
71
- }))));
72
- };
73
- DSBreadcrumb.Item = import_DSBreadcrumbItem.default;
74
- const props = {
75
- containerProps: import_react_desc.PropTypes.object.description("props injected to breadcrumb wrapper"),
76
- as: import_react_desc.PropTypes.string.description("Type of element you want the main container to be: 'nav', 'div', 'header', 'footer', 'main'"),
77
- isTitle: import_react_desc.PropTypes.bool.description("Whether to show the last element of the breadcrumb as a title. Also removes trailing slash to show last element as title"),
78
- label: import_react_desc.PropTypes.string.description("breadcrumb label"),
79
- children: import_react_desc.PropTypes.arrayOf(import_DSBreadcrumbItem.default).isRequired.description("Container items to wrap")
80
- };
81
- DSBreadcrumb.propTypes = props;
82
- const DSBreadcrumbWithSchema = (0, import_react_desc.describe)(DSBreadcrumb);
83
- DSBreadcrumbWithSchema.propTypes = props;
84
- var DSBreadcrumb_default = DSBreadcrumb;
85
- module.exports = __toCommonJS(DSBreadcrumb_exports);
86
- //# sourceMappingURL=DSBreadcrumb.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/DSBreadcrumb.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { cloneElement, useMemo } from 'react';\nimport { PropTypes, describe } from 'react-desc';\nimport DSBreadcrumbItem from './DSBreadcrumbItem';\nimport { useKeyboardNavigation } from './hooks/useKeyboardNavigation';\nimport type { DSBreadcrumbPropsT } from './index.d';\nimport { StyledContainer, StyledList } from './styles';\n\nconst htmlElements = ['nav', 'div', 'header', 'footer', 'main'] as const;\n\nconst DSBreadcrumb = ({\n containerProps = {},\n as = 'nav',\n label = 'Breadcrumb',\n isTitle = false,\n children,\n trailingSlash = true,\n ...rest\n}: DSBreadcrumbPropsT): React.ReactElement => {\n const [addRef, onKeyDown] = useKeyboardNavigation();\n\n const safeElement = useMemo(\n () => (htmlElements.indexOf(as) > -1 ? as : 'nav'),\n [as],\n );\n\n return (\n <StyledContainer\n aria-label={label}\n data-testid=\"breadcrumb-nav-container\"\n {...rest}\n {...containerProps}\n as={safeElement}\n >\n <StyledList data-testid=\"list-container\">\n {React.Children.map(children, (child: React.ReactElement, childIndex) =>\n childIndex < children.length - 1\n ? cloneElement(child, {\n childIndex,\n addRef,\n onKeyDown,\n })\n : cloneElement(child, {\n childIndex,\n addRef,\n onKeyDown,\n trailingSlash,\n isTitle,\n }),\n )}\n </StyledList>\n </StyledContainer>\n );\n};\n\nDSBreadcrumb.Item = DSBreadcrumbItem;\n\nconst props = {\n /** props injected to breadcrumb wrapper */\n containerProps: PropTypes.object.description(\n 'props injected to breadcrumb wrapper',\n ),\n /**\n * Type of element you want the main container to be:\n * 'nav', 'div', 'header', 'footer', 'main'\n */\n as: PropTypes.string.description(\n \"Type of element you want the main container to be: 'nav', 'div', 'header', 'footer', 'main'\",\n ),\n /**\n * Whether to show the last element of the breadcrumb as a title\n * Also removes trailing slash to show last element as title\n */\n isTitle: PropTypes.bool.description(\n 'Whether to show the last element of the breadcrumb as a title. Also removes trailing slash to show last element as title',\n ),\n /** breadcrumb label */\n label: PropTypes.string.description('breadcrumb label'),\n /**\n * Container items to wrap\n */\n children: PropTypes.arrayOf(DSBreadcrumbItem).isRequired.description(\n 'Container items to wrap',\n ),\n};\n\nDSBreadcrumb.propTypes = props;\n\nconst DSBreadcrumbWithSchema = describe(DSBreadcrumb);\nDSBreadcrumbWithSchema.propTypes = props;\n\nexport { DSBreadcrumb, DSBreadcrumbWithSchema, htmlElements };\nexport default DSBreadcrumb;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA6C;AAC7C,wBAAoC;AACpC,8BAA6B;AAC7B,mCAAsC;AAEtC,oBAA4C;AAE5C,MAAM,eAAe,CAAC,OAAO,OAAO,UAAU,UAAU;AAExD,MAAM,eAAe,CAAC;AAAA,EACpB,iBAAiB;AAAA,EACjB,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,UAAU;AAAA,EACV;AAAA,EACA,gBAAgB;AAAA,KACb;AAAA,MACyC;AAC5C,QAAM,CAAC,QAAQ,aAAa;AAE5B,QAAM,cAAc,0BAClB,MAAO,aAAa,QAAQ,MAAM,KAAK,KAAK,OAC5C,CAAC;AAGH,SACE,mDAAC,+BAAD;AAAA,IACE,cAAY;AAAA,IACZ,eAAY;AAAA,OACR;AAAA,OACA;AAAA,IACJ,IAAI;AAAA,KAEJ,mDAAC,0BAAD;AAAA,IAAY,eAAY;AAAA,KACrB,qBAAM,SAAS,IAAI,UAAU,CAAC,OAA2B,eACxD,aAAa,SAAS,SAAS,IAC3B,+BAAa,OAAO;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,OAEF,+BAAa,OAAO;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA;AAQhB,aAAa,OAAO;AAEpB,MAAM,QAAQ;AAAA,EAEZ,gBAAgB,4BAAU,OAAO,YAC/B;AAAA,EAMF,IAAI,4BAAU,OAAO,YACnB;AAAA,EAMF,SAAS,4BAAU,KAAK,YACtB;AAAA,EAGF,OAAO,4BAAU,OAAO,YAAY;AAAA,EAIpC,UAAU,4BAAU,QAAQ,iCAAkB,WAAW,YACvD;AAAA;AAIJ,aAAa,YAAY;AAEzB,MAAM,yBAAyB,gCAAS;AACxC,uBAAuB,YAAY;AAGnC,IAAO,uBAAQ;",
6
- "names": []
7
- }
@@ -1,86 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
- }
18
- return target;
19
- };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var DSBreadcrumbItem_exports = {};
29
- __export(DSBreadcrumbItem_exports, {
30
- DSBreadcrumbItem: () => DSBreadcrumbItem,
31
- DSBreadcrumbItemWithSchema: () => DSBreadcrumbItemWithSchema,
32
- default: () => DSBreadcrumbItem_default
33
- });
34
- var React = __toESM(require("react"));
35
- var import_react = __toESM(require("react"));
36
- var import_react_desc = require("react-desc");
37
- var import_styles = require("./styles");
38
- function DSBreadcrumbItem({
39
- active = false,
40
- as = "a",
41
- href = void 0,
42
- isTitle,
43
- onClick = () => null,
44
- label = "",
45
- color = null,
46
- addRef,
47
- childIndex,
48
- trailingSlash,
49
- onKeyDown = () => null,
50
- ...rest
51
- }) {
52
- return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledCrumbWrapper, {
53
- "aria-current": active ? "page" : void 0,
54
- "data-testid": "breadcrumb-item-container",
55
- isTitle,
56
- trailingSlash,
57
- ...rest
58
- }, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledLink, {
59
- as,
60
- href,
61
- onClick,
62
- ref: addRef,
63
- tabIndex: 0,
64
- isActive: active,
65
- onKeyDown: (e) => onKeyDown(e, childIndex, onClick),
66
- isTitle,
67
- color
68
- }, label));
69
- }
70
- const props = {
71
- containerComponent: import_react_desc.PropTypes.string.description("inject props to wrapper"),
72
- as: import_react_desc.PropTypes.string.description("render as any html node"),
73
- active: import_react_desc.PropTypes.bool.description("active item"),
74
- href: import_react_desc.PropTypes.string.description("href link"),
75
- onClick: import_react_desc.PropTypes.func.description("on click handler"),
76
- isTitle: import_react_desc.PropTypes.bool.description("style item as title"),
77
- trailingSlash: import_react_desc.PropTypes.bool.description("add trailing slash"),
78
- label: import_react_desc.PropTypes.string.description("item label"),
79
- color: import_react_desc.PropTypes.string.description("link color")
80
- };
81
- DSBreadcrumbItem.propTypes = props;
82
- const DSBreadcrumbItemWithSchema = (0, import_react_desc.describe)(DSBreadcrumbItem);
83
- DSBreadcrumbItemWithSchema.propTypes = props;
84
- var DSBreadcrumbItem_default = DSBreadcrumbItem;
85
- module.exports = __toCommonJS(DSBreadcrumbItem_exports);
86
- //# sourceMappingURL=DSBreadcrumbItem.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/DSBreadcrumbItem.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React from 'react';\nimport { PropTypes, describe } from 'react-desc';\nimport type { DSBreadcrumbItemPropsT } from './index.d';\nimport { StyledLink, StyledCrumbWrapper } from './styles';\n\nfunction DSBreadcrumbItem({\n active = false,\n as = 'a',\n href = undefined,\n isTitle,\n onClick = () => null,\n label = '',\n color = null,\n addRef,\n childIndex,\n trailingSlash,\n onKeyDown = () => null,\n ...rest\n}: DSBreadcrumbItemPropsT): React.ReactElement {\n return (\n <StyledCrumbWrapper\n aria-current={active ? 'page' : undefined}\n data-testid=\"breadcrumb-item-container\"\n isTitle={isTitle}\n trailingSlash={trailingSlash}\n {...rest}\n >\n <StyledLink\n as={as}\n href={href}\n onClick={onClick}\n ref={addRef}\n tabIndex={0}\n isActive={active}\n onKeyDown={(e: React.KeyboardEvent) =>\n onKeyDown(e, childIndex, onClick)\n }\n isTitle={isTitle}\n color={color}\n >\n {label}\n </StyledLink>\n </StyledCrumbWrapper>\n );\n}\n\nconst props = {\n /** inject props to wrapper */\n containerComponent: PropTypes.string.description('inject props to wrapper'),\n /** render as any html node */\n as: PropTypes.string.description('render as any html node'),\n /** active item */\n active: PropTypes.bool.description('active item'),\n /** href link */\n href: PropTypes.string.description('href link'),\n /** on click handler */\n onClick: PropTypes.func.description('on click handler'),\n /** style item as title */\n isTitle: PropTypes.bool.description('style item as title'),\n /** add trailing slash */\n trailingSlash: PropTypes.bool.description('add trailing slash'),\n /** item label */\n label: PropTypes.string.description('item label'),\n /** link color */\n color: PropTypes.string.description('link color'),\n};\n\nDSBreadcrumbItem.propTypes = props;\n\nconst DSBreadcrumbItemWithSchema = describe(DSBreadcrumbItem);\nDSBreadcrumbItemWithSchema.propTypes = props;\n\nexport { DSBreadcrumbItem, DSBreadcrumbItemWithSchema };\nexport default DSBreadcrumbItem;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAClB,wBAAoC;AAEpC,oBAA+C;AAE/C,0BAA0B;AAAA,EACxB,SAAS;AAAA,EACT,KAAK;AAAA,EACL,OAAO;AAAA,EACP;AAAA,EACA,UAAU,MAAM;AAAA,EAChB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,MAAM;AAAA,KACf;AAAA,GAC0C;AAC7C,SACE,mDAAC,kCAAD;AAAA,IACE,gBAAc,SAAS,SAAS;AAAA,IAChC,eAAY;AAAA,IACZ;AAAA,IACA;AAAA,OACI;AAAA,KAEJ,mDAAC,0BAAD;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,WAAW,CAAC,MACV,UAAU,GAAG,YAAY;AAAA,IAE3B;AAAA,IACA;AAAA,KAEC;AAAA;AAMT,MAAM,QAAQ;AAAA,EAEZ,oBAAoB,4BAAU,OAAO,YAAY;AAAA,EAEjD,IAAI,4BAAU,OAAO,YAAY;AAAA,EAEjC,QAAQ,4BAAU,KAAK,YAAY;AAAA,EAEnC,MAAM,4BAAU,OAAO,YAAY;AAAA,EAEnC,SAAS,4BAAU,KAAK,YAAY;AAAA,EAEpC,SAAS,4BAAU,KAAK,YAAY;AAAA,EAEpC,eAAe,4BAAU,KAAK,YAAY;AAAA,EAE1C,OAAO,4BAAU,OAAO,YAAY;AAAA,EAEpC,OAAO,4BAAU,OAAO,YAAY;AAAA;AAGtC,iBAAiB,YAAY;AAE7B,MAAM,6BAA6B,gCAAS;AAC5C,2BAA2B,YAAY;AAGvC,IAAO,2BAAQ;",
6
- "names": []
7
- }
@@ -1,57 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
- }
18
- return target;
19
- };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var useKeyboardNavigation_exports = {};
29
- __export(useKeyboardNavigation_exports, {
30
- useKeyboardNavigation: () => useKeyboardNavigation
31
- });
32
- var React = __toESM(require("react"));
33
- var import_react = require("react");
34
- const useKeyboardNavigation = () => {
35
- const componentsRef = (0, import_react.useRef)([]);
36
- const addRef = (0, import_react.useCallback)((ref) => {
37
- if (ref && !componentsRef.current.includes(ref)) {
38
- componentsRef.current.push(ref);
39
- }
40
- }, []);
41
- const onKeyDown = (0, import_react.useCallback)((e, componentRefIndex, callback) => {
42
- if (e.key === "ArrowDown" && componentsRef.current[componentRefIndex + 1]) {
43
- componentsRef.current[componentRefIndex + 1].focus();
44
- e.preventDefault();
45
- } else if (e.key === "ArrowUp" && componentRefIndex !== 0) {
46
- componentsRef.current[componentRefIndex - 1].focus();
47
- e.preventDefault();
48
- } else if (e.key === "Enter") {
49
- callback();
50
- } else if (e.ctrlKey && e.altKey && e.key === " ") {
51
- componentsRef.current[componentRefIndex].click();
52
- }
53
- }, []);
54
- return [addRef, onKeyDown];
55
- };
56
- module.exports = __toCommonJS(useKeyboardNavigation_exports);
57
- //# sourceMappingURL=useKeyboardNavigation.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/hooks/useKeyboardNavigation.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useRef, useCallback } from 'react';\n\nexport const useKeyboardNavigation = () => {\n const componentsRef = useRef<HTMLAnchorElement[]>([]);\n\n const addRef = useCallback((ref: HTMLAnchorElement) => {\n if (ref && !componentsRef.current.includes(ref)) {\n componentsRef.current.push(ref);\n }\n }, []);\n\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent, componentRefIndex, callback) => {\n if (\n e.key === 'ArrowDown' &&\n componentsRef.current[componentRefIndex + 1]\n ) {\n componentsRef.current[componentRefIndex + 1].focus();\n e.preventDefault();\n } else if (e.key === 'ArrowUp' && componentRefIndex !== 0) {\n componentsRef.current[componentRefIndex - 1].focus();\n e.preventDefault();\n } else if (e.key === 'Enter') {\n callback();\n } else if (e.ctrlKey && e.altKey && e.key === ' ') {\n componentsRef.current[componentRefIndex].click();\n }\n },\n [],\n );\n\n return [addRef, onKeyDown];\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA2C;AAEpC,MAAM,wBAAwB,MAAM;AACzC,QAAM,gBAAgB,yBAA4B;AAElD,QAAM,SAAS,8BAAY,CAAC,QAA2B;AACrD,QAAI,OAAO,CAAC,cAAc,QAAQ,SAAS,MAAM;AAC/C,oBAAc,QAAQ,KAAK;AAAA;AAAA,KAE5B;AAEH,QAAM,YAAY,8BAChB,CAAC,GAAwB,mBAAmB,aAAa;AACvD,QACE,EAAE,QAAQ,eACV,cAAc,QAAQ,oBAAoB,IAC1C;AACA,oBAAc,QAAQ,oBAAoB,GAAG;AAC7C,QAAE;AAAA,eACO,EAAE,QAAQ,aAAa,sBAAsB,GAAG;AACzD,oBAAc,QAAQ,oBAAoB,GAAG;AAC7C,QAAE;AAAA,eACO,EAAE,QAAQ,SAAS;AAC5B;AAAA,eACS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,KAAK;AACjD,oBAAc,QAAQ,mBAAmB;AAAA;AAAA,KAG7C;AAGF,SAAO,CAAC,QAAQ;AAAA;",
6
- "names": []
7
- }
@@ -1,27 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __reExport = (target, module2, copyDefault, desc) => {
9
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
10
- for (let key of __getOwnPropNames(module2))
11
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
12
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
13
- }
14
- return target;
15
- };
16
- var __toESM = (module2, isNodeMode) => {
17
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
18
- };
19
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
20
- return (module2, temp) => {
21
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
22
- };
23
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
24
- var index_d_exports = {};
25
- var React = __toESM(require("react"));
26
- module.exports = __toCommonJS(index_d_exports);
27
- //# sourceMappingURL=index.d.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.d.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React from 'react';\nimport { htmlElements } from './DSBreadcrumb';\n\ntype SafeComponentsT = typeof htmlElements[number];\n\ntype SafeItemComponentT = 'a' | 'button' | 'div' | 'span' | 'p';\n\ninterface DSBreadcrumbPropsT {\n containerProps?: unknown;\n as?: SafeComponentsT;\n label?: string;\n isTitle?: boolean;\n trailingSlash?: boolean;\n children: React.ReactElement[];\n}\n\ninterface DSBreadcrumbItemPropsT {\n active?: boolean;\n isActive?: boolean;\n as?: SafeItemComponentT;\n href?: string;\n isTitle?: boolean;\n trailingSlash?: boolean;\n addRef: (ref: HTMLElement) => void;\n onKeyDown: (\n e: React.KeyboardEvent,\n componentRefIndex: number,\n onClick: () => void,\n ) => void;\n onClick?: () => void;\n label?: string;\n childIndex: number;\n color?: string | null;\n}\n\nexport {\n DSBreadcrumbPropsT,\n DSBreadcrumbItemPropsT,\n SafeComponentsT,\n SafeItemComponentT,\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;ACAA,YAAuB;",
6
- "names": []
7
- }
package/dist/cjs/index.js DELETED
@@ -1,37 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
- }
18
- return target;
19
- };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
- var src_exports = {};
29
- __export(src_exports, {
30
- default: () => import_DSBreadcrumb.default
31
- });
32
- var React = __toESM(require("react"));
33
- __reExport(src_exports, require("./DSBreadcrumb"));
34
- __reExport(src_exports, require("./DSBreadcrumbItem"));
35
- var import_DSBreadcrumb = __toESM(require("./DSBreadcrumb"));
36
- module.exports = __toCommonJS(src_exports);
37
- //# sourceMappingURL=index.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["export * from './DSBreadcrumb';\nexport * from './DSBreadcrumbItem';\nexport { default } from './DSBreadcrumb';\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAc;AACd,wBAAc;AACd,0BAAwB;",
6
- "names": []
7
- }