@dktunited-techoff/techoff-suite-ui 0.9.6 → 0.9.8
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/components/Select/Select.js +2 -4
- package/esm/components/Select/Select.js.map +1 -1
- package/esm/layouts/Header/Header.js +1 -2
- package/esm/layouts/Header/Header.js.map +1 -1
- package/esm/layouts/Header/Header.types.d.ts +1 -1
- package/esm/layouts/Header/__stories__/Header.stories.mdx +6 -4
- package/esm/layouts/Navigation/Navigation.d.ts +1 -0
- package/esm/layouts/Navigation/Navigation.js +8 -6
- package/esm/layouts/Navigation/Navigation.js.map +1 -1
- package/esm/layouts/Navigation/Navigation.types.d.ts +2 -2
- package/esm/layouts/Navigation/__stories__/Navigation.stories.mdx +19 -13
- package/lib/components/Select/Select.js +2 -4
- package/lib/components/Select/Select.js.map +1 -1
- package/lib/layouts/Header/Header.js +1 -2
- package/lib/layouts/Header/Header.js.map +1 -1
- package/lib/layouts/Header/Header.types.d.ts +1 -1
- package/lib/layouts/Header/__stories__/Header.stories.mdx +6 -4
- package/lib/layouts/Navigation/Navigation.d.ts +1 -0
- package/lib/layouts/Navigation/Navigation.js +10 -7
- package/lib/layouts/Navigation/Navigation.js.map +1 -1
- package/lib/layouts/Navigation/Navigation.types.d.ts +2 -2
- package/lib/layouts/Navigation/__stories__/Navigation.stories.mdx +19 -13
- package/package.json +1 -1
- package/src/components/Select/Select.tsx +2 -5
- package/src/layouts/Header/Header.tsx +1 -4
- package/src/layouts/Header/Header.types.ts +1 -1
- package/src/layouts/Header/__stories__/Header.stories.mdx +6 -4
- package/src/layouts/Navigation/Navigation.tsx +13 -17
- package/src/layouts/Navigation/Navigation.types.ts +1 -1
- package/src/layouts/Navigation/__stories__/Navigation.stories.mdx +19 -13
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { cloneElement } from 'react';
|
|
2
3
|
import './Select.css';
|
|
3
4
|
export const Select = ({ label, value, options, onChange }) => {
|
|
4
5
|
// ########
|
|
@@ -8,9 +9,6 @@ export const Select = ({ label, value, options, onChange }) => {
|
|
|
8
9
|
// Rendering
|
|
9
10
|
return (React.createElement("div", { className: "select-container" },
|
|
10
11
|
label && React.createElement("label", null, label),
|
|
11
|
-
React.createElement("select", { value: value, onChange: handleChange },
|
|
12
|
-
React.createElement(React.Fragment, null,
|
|
13
|
-
React.createElement("option", null, "-"),
|
|
14
|
-
options))));
|
|
12
|
+
React.createElement("select", { value: value, onChange: handleChange }, options.map((option, index) => cloneElement(option, { key: index, ...option.props })))));
|
|
15
13
|
};
|
|
16
14
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAe,YAAY,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAe,EAAE,EAAE;IACzE,WAAW;IACX,WAAW;IACX,MAAM,YAAY,GAAG,CAAC,CAAiC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAErF,YAAY;IACZ,YAAY;IACZ,OAAO,CACL,6BAAK,SAAS,EAAC,kBAAkB;QAC9B,KAAK,IAAI,mCAAQ,KAAK,CAAS;QAChC,gCAAQ,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,IACzC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAC/E,CACL,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { cloneElement } from 'react';
|
|
3
2
|
import { icons } from '../../components/Icon/icons';
|
|
4
3
|
import './Header.css';
|
|
5
4
|
export const Header = ({ actions, appName }) => {
|
|
@@ -9,6 +8,6 @@ export const Header = ({ actions, appName }) => {
|
|
|
9
8
|
React.createElement("div", { className: "header-left-side" },
|
|
10
9
|
React.createElement("div", { className: "header-techoff", dangerouslySetInnerHTML: { __html: icons[`header-${appName}`] } })),
|
|
11
10
|
React.createElement("div", null,
|
|
12
|
-
React.createElement("div", { className: "header-actions" }, actions
|
|
11
|
+
React.createElement("div", { className: "header-actions" }, actions))));
|
|
13
12
|
};
|
|
14
13
|
//# sourceMappingURL=Header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/layouts/Header/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/layouts/Header/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEpD,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAe,EAAE,EAAE;IAC1D,YAAY;IACZ,YAAY;IACZ,OAAO,CACL;QACE,6BAAK,SAAS,EAAC,kBAAkB;YAC/B,6BAAK,SAAS,EAAC,gBAAgB,EAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,OAAO,EAAE,CAAC,EAAE,GAAI,CAC/F;QACN;YACE,6BAAK,SAAS,EAAC,gBAAgB,IAAE,OAAO,CAAO,CAC3C,CACC,CACV,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -24,10 +24,12 @@ The header will allow users to quickly find the information they need at a glanc
|
|
|
24
24
|
<Story
|
|
25
25
|
name="Overview"
|
|
26
26
|
args={{
|
|
27
|
-
actions:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
actions: (
|
|
28
|
+
<>
|
|
29
|
+
<Button icon="add" size="lg" variant="shadow" rounded />
|
|
30
|
+
<HeaderProfile firstname="John" lastname="Doe" />
|
|
31
|
+
</>
|
|
32
|
+
),
|
|
31
33
|
appName: 'repairability',
|
|
32
34
|
}}
|
|
33
35
|
argTypes={headerArgTypes}
|
|
@@ -2,5 +2,6 @@ import * as React from 'react';
|
|
|
2
2
|
import { PropsWithChildren } from 'react';
|
|
3
3
|
import { NavigationBreadcrumbItemProps, NavigationProps } from './Navigation.types';
|
|
4
4
|
import './Navigation.css';
|
|
5
|
+
export declare const NavigationBreadcrumbDivider: () => React.JSX.Element;
|
|
5
6
|
export declare const NavigationBreadcrumbItem: ({ children, icon, highlight, onClick, }: PropsWithChildren<NavigationBreadcrumbItemProps>) => React.JSX.Element;
|
|
6
7
|
export declare const Navigation: ({ actions, breadcrumbs }: NavigationProps) => React.JSX.Element;
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { cloneElement } from 'react';
|
|
3
2
|
import { Icon } from '../../components/Icon/Icon';
|
|
4
3
|
import './Navigation.css';
|
|
4
|
+
export const NavigationBreadcrumbDivider = () => {
|
|
5
|
+
// #########
|
|
6
|
+
// Rendering
|
|
7
|
+
return (React.createElement("div", { className: "breadcrumb-chevron" },
|
|
8
|
+
React.createElement(Icon, { name: "chevron-right" })));
|
|
9
|
+
};
|
|
5
10
|
export const NavigationBreadcrumbItem = ({ children, icon, highlight, onClick, }) => {
|
|
6
11
|
// #########
|
|
7
12
|
// Rendering
|
|
@@ -17,11 +22,8 @@ export const Navigation = ({ actions, breadcrumbs }) => {
|
|
|
17
22
|
// #########
|
|
18
23
|
// Rendering
|
|
19
24
|
return (React.createElement("div", { className: "navigation" },
|
|
20
|
-
React.createElement("div", { className: "breadcrumb" }, breadcrumbs
|
|
21
|
-
breadcrumb,
|
|
22
|
-
index !== breadcrumbs.length - 1 && (React.createElement("div", { className: "breadcrumb-chevron" },
|
|
23
|
-
React.createElement(Icon, { name: "chevron-right" }))))))),
|
|
25
|
+
React.createElement("div", { className: "breadcrumb" }, breadcrumbs),
|
|
24
26
|
React.createElement("div", { className: "navigation-divider" }),
|
|
25
|
-
React.createElement("div", { className: "navigation-actions" }, actions
|
|
27
|
+
React.createElement("div", { className: "navigation-actions" }, actions)));
|
|
26
28
|
};
|
|
27
29
|
//# sourceMappingURL=Navigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.js","sourceRoot":"","sources":["../../../src/layouts/Navigation/Navigation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Navigation.js","sourceRoot":"","sources":["../../../src/layouts/Navigation/Navigation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD,OAAO,kBAAkB,CAAC;AAE1B,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,YAAY;IACZ,YAAY;IACZ,OAAO,CACL,6BAAK,SAAS,EAAC,oBAAoB;QACjC,oBAAC,IAAI,IAAC,IAAI,EAAC,eAAe,GAAG,CACzB,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACvC,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,GAC0C,EAAE,EAAE;IACrD,YAAY;IACZ,YAAY;IACZ,OAAO,CACL,6BACE,SAAS,EAAE;;UAEP,SAAS,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE;OAC1F,EACD,OAAO,EAAE,OAAO;QAEf,IAAI,IAAI,CACP,6BAAK,SAAS,EAAC,uBAAuB;YACpC,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,IAAI,GAAG,CAC1B,CACP;QAEA,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAmB,EAAE,EAAE;IACtE,YAAY;IACZ,YAAY;IACZ,OAAO,CACL,6BAAK,SAAS,EAAC,YAAY;QACzB,6BAAK,SAAS,EAAC,YAAY,IAAE,WAAW,CAAO;QAC/C,6BAAK,SAAS,EAAC,oBAAoB,GAAG;QACtC,6BAAK,SAAS,EAAC,oBAAoB,IAAE,OAAO,CAAO,CAC/C,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ArgsTable, Canvas, Meta, Story } from '@storybook/blocks';
|
|
3
|
-
import { Navigation, NavigationBreadcrumbItem } from '../Navigation';
|
|
3
|
+
import { Navigation, NavigationBreadcrumbItem, NavigationBreadcrumbDivider } from '../Navigation';
|
|
4
4
|
import { Button } from '../../../components/Button/Button';
|
|
5
5
|
import { icons } from '../../../components/Icon/icons';
|
|
6
6
|
|
|
@@ -16,21 +16,27 @@ Breadcrumbs are an important navigation component that shows content hierarchy.
|
|
|
16
16
|
<Story
|
|
17
17
|
name="Overview"
|
|
18
18
|
args={{
|
|
19
|
-
actions:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
actions: (
|
|
20
|
+
<>
|
|
21
|
+
<Button icon="check" onClick={() => {}}>
|
|
22
|
+
Action 1
|
|
23
|
+
</Button>
|
|
24
|
+
<Button icon="add" onClick={() => {}}>
|
|
25
|
+
Action 2
|
|
26
|
+
</Button>
|
|
27
|
+
</>
|
|
28
|
+
),
|
|
29
|
+
breadcrumbs: (
|
|
30
|
+
<>
|
|
28
31
|
<NavigationBreadcrumbItem icon="home" onClick={() => {}}>
|
|
29
32
|
Home
|
|
30
|
-
</NavigationBreadcrumbItem
|
|
31
|
-
<
|
|
33
|
+
</NavigationBreadcrumbItem>
|
|
34
|
+
<NavigationBreadcrumbDivider />
|
|
35
|
+
<NavigationBreadcrumbItem onClick={() => {}}>Menu Item 1</NavigationBreadcrumbItem>
|
|
36
|
+
<NavigationBreadcrumbDivider />
|
|
32
37
|
<NavigationBreadcrumbItem highlight>Menu Item 2</NavigationBreadcrumbItem>
|
|
33
|
-
|
|
38
|
+
</>
|
|
39
|
+
)
|
|
34
40
|
}}
|
|
35
41
|
|
|
36
42
|
>
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Select = void 0;
|
|
4
4
|
const React = require("react");
|
|
5
|
+
const react_1 = require("react");
|
|
5
6
|
require("./Select.css");
|
|
6
7
|
const Select = ({ label, value, options, onChange }) => {
|
|
7
8
|
// ########
|
|
@@ -11,10 +12,7 @@ const Select = ({ label, value, options, onChange }) => {
|
|
|
11
12
|
// Rendering
|
|
12
13
|
return (React.createElement("div", { className: "select-container" },
|
|
13
14
|
label && React.createElement("label", null, label),
|
|
14
|
-
React.createElement("select", { value: value, onChange: handleChange },
|
|
15
|
-
React.createElement(React.Fragment, null,
|
|
16
|
-
React.createElement("option", null, "-"),
|
|
17
|
-
options))));
|
|
15
|
+
React.createElement("select", { value: value, onChange: handleChange }, options.map((option, index) => (0, react_1.cloneElement)(option, { key: index, ...option.props })))));
|
|
18
16
|
};
|
|
19
17
|
exports.Select = Select;
|
|
20
18
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,iCAAkD;AAElD,wBAAsB;AAEf,MAAM,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAe,EAAE,EAAE;IACzE,WAAW;IACX,WAAW;IACX,MAAM,YAAY,GAAG,CAAC,CAAiC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAErF,YAAY;IACZ,YAAY;IACZ,OAAO,CACL,6BAAK,SAAS,EAAC,kBAAkB;QAC9B,KAAK,IAAI,mCAAQ,KAAK,CAAS;QAChC,gCAAQ,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,IACzC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAC/E,CACL,CACP,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,MAAM,UAejB"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Header = void 0;
|
|
4
4
|
const React = require("react");
|
|
5
|
-
const react_1 = require("react");
|
|
6
5
|
const icons_1 = require("../../components/Icon/icons");
|
|
7
6
|
require("./Header.css");
|
|
8
7
|
const Header = ({ actions, appName }) => {
|
|
@@ -12,7 +11,7 @@ const Header = ({ actions, appName }) => {
|
|
|
12
11
|
React.createElement("div", { className: "header-left-side" },
|
|
13
12
|
React.createElement("div", { className: "header-techoff", dangerouslySetInnerHTML: { __html: icons_1.icons[`header-${appName}`] } })),
|
|
14
13
|
React.createElement("div", null,
|
|
15
|
-
React.createElement("div", { className: "header-actions" }, actions
|
|
14
|
+
React.createElement("div", { className: "header-actions" }, actions))));
|
|
16
15
|
};
|
|
17
16
|
exports.Header = Header;
|
|
18
17
|
//# sourceMappingURL=Header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/layouts/Header/Header.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/layouts/Header/Header.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,uDAAoD;AAEpD,wBAAsB;AAEf,MAAM,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAe,EAAE,EAAE;IAC1D,YAAY;IACZ,YAAY;IACZ,OAAO,CACL;QACE,6BAAK,SAAS,EAAC,kBAAkB;YAC/B,6BAAK,SAAS,EAAC,gBAAgB,EAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,aAAK,CAAC,UAAU,OAAO,EAAE,CAAC,EAAE,GAAI,CAC/F;QACN;YACE,6BAAK,SAAS,EAAC,gBAAgB,IAAE,OAAO,CAAO,CAC3C,CACC,CACV,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,MAAM,UAajB"}
|
|
@@ -24,10 +24,12 @@ The header will allow users to quickly find the information they need at a glanc
|
|
|
24
24
|
<Story
|
|
25
25
|
name="Overview"
|
|
26
26
|
args={{
|
|
27
|
-
actions:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
actions: (
|
|
28
|
+
<>
|
|
29
|
+
<Button icon="add" size="lg" variant="shadow" rounded />
|
|
30
|
+
<HeaderProfile firstname="John" lastname="Doe" />
|
|
31
|
+
</>
|
|
32
|
+
),
|
|
31
33
|
appName: 'repairability',
|
|
32
34
|
}}
|
|
33
35
|
argTypes={headerArgTypes}
|
|
@@ -2,5 +2,6 @@ import * as React from 'react';
|
|
|
2
2
|
import { PropsWithChildren } from 'react';
|
|
3
3
|
import { NavigationBreadcrumbItemProps, NavigationProps } from './Navigation.types';
|
|
4
4
|
import './Navigation.css';
|
|
5
|
+
export declare const NavigationBreadcrumbDivider: () => React.JSX.Element;
|
|
5
6
|
export declare const NavigationBreadcrumbItem: ({ children, icon, highlight, onClick, }: PropsWithChildren<NavigationBreadcrumbItemProps>) => React.JSX.Element;
|
|
6
7
|
export declare const Navigation: ({ actions, breadcrumbs }: NavigationProps) => React.JSX.Element;
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Navigation = exports.NavigationBreadcrumbItem = void 0;
|
|
3
|
+
exports.Navigation = exports.NavigationBreadcrumbItem = exports.NavigationBreadcrumbDivider = void 0;
|
|
4
4
|
const React = require("react");
|
|
5
|
-
const react_1 = require("react");
|
|
6
5
|
const Icon_1 = require("../../components/Icon/Icon");
|
|
7
6
|
require("./Navigation.css");
|
|
7
|
+
const NavigationBreadcrumbDivider = () => {
|
|
8
|
+
// #########
|
|
9
|
+
// Rendering
|
|
10
|
+
return (React.createElement("div", { className: "breadcrumb-chevron" },
|
|
11
|
+
React.createElement(Icon_1.Icon, { name: "chevron-right" })));
|
|
12
|
+
};
|
|
13
|
+
exports.NavigationBreadcrumbDivider = NavigationBreadcrumbDivider;
|
|
8
14
|
const NavigationBreadcrumbItem = ({ children, icon, highlight, onClick, }) => {
|
|
9
15
|
// #########
|
|
10
16
|
// Rendering
|
|
@@ -21,12 +27,9 @@ const Navigation = ({ actions, breadcrumbs }) => {
|
|
|
21
27
|
// #########
|
|
22
28
|
// Rendering
|
|
23
29
|
return (React.createElement("div", { className: "navigation" },
|
|
24
|
-
React.createElement("div", { className: "breadcrumb" }, breadcrumbs
|
|
25
|
-
breadcrumb,
|
|
26
|
-
index !== breadcrumbs.length - 1 && (React.createElement("div", { className: "breadcrumb-chevron" },
|
|
27
|
-
React.createElement(Icon_1.Icon, { name: "chevron-right" }))))))),
|
|
30
|
+
React.createElement("div", { className: "breadcrumb" }, breadcrumbs),
|
|
28
31
|
React.createElement("div", { className: "navigation-divider" }),
|
|
29
|
-
React.createElement("div", { className: "navigation-actions" }, actions
|
|
32
|
+
React.createElement("div", { className: "navigation-actions" }, actions)));
|
|
30
33
|
};
|
|
31
34
|
exports.Navigation = Navigation;
|
|
32
35
|
//# sourceMappingURL=Navigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.js","sourceRoot":"","sources":["../../../src/layouts/Navigation/Navigation.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;
|
|
1
|
+
{"version":3,"file":"Navigation.js","sourceRoot":"","sources":["../../../src/layouts/Navigation/Navigation.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAE/B,qDAAkD;AAElD,4BAA0B;AAEnB,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,YAAY;IACZ,YAAY;IACZ,OAAO,CACL,6BAAK,SAAS,EAAC,oBAAoB;QACjC,oBAAC,WAAI,IAAC,IAAI,EAAC,eAAe,GAAG,CACzB,CACP,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,2BAA2B,+BAQtC;AAEK,MAAM,wBAAwB,GAAG,CAAC,EACvC,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,GAC0C,EAAE,EAAE;IACrD,YAAY;IACZ,YAAY;IACZ,OAAO,CACL,6BACE,SAAS,EAAE;;UAEP,SAAS,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE;OAC1F,EACD,OAAO,EAAE,OAAO;QAEf,IAAI,IAAI,CACP,6BAAK,SAAS,EAAC,uBAAuB;YACpC,oBAAC,WAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,IAAI,GAAG,CAC1B,CACP;QAEA,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC;AAzBW,QAAA,wBAAwB,4BAyBnC;AAEK,MAAM,UAAU,GAAG,CAAC,EAAE,OAAO,EAAE,WAAW,EAAmB,EAAE,EAAE;IACtE,YAAY;IACZ,YAAY;IACZ,OAAO,CACL,6BAAK,SAAS,EAAC,YAAY;QACzB,6BAAK,SAAS,EAAC,YAAY,IAAE,WAAW,CAAO;QAC/C,6BAAK,SAAS,EAAC,oBAAoB,GAAG;QACtC,6BAAK,SAAS,EAAC,oBAAoB,IAAE,OAAO,CAAO,CAC/C,CACP,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,UAAU,cAUrB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ArgsTable, Canvas, Meta, Story } from '@storybook/blocks';
|
|
3
|
-
import { Navigation, NavigationBreadcrumbItem } from '../Navigation';
|
|
3
|
+
import { Navigation, NavigationBreadcrumbItem, NavigationBreadcrumbDivider } from '../Navigation';
|
|
4
4
|
import { Button } from '../../../components/Button/Button';
|
|
5
5
|
import { icons } from '../../../components/Icon/icons';
|
|
6
6
|
|
|
@@ -16,21 +16,27 @@ Breadcrumbs are an important navigation component that shows content hierarchy.
|
|
|
16
16
|
<Story
|
|
17
17
|
name="Overview"
|
|
18
18
|
args={{
|
|
19
|
-
actions:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
actions: (
|
|
20
|
+
<>
|
|
21
|
+
<Button icon="check" onClick={() => {}}>
|
|
22
|
+
Action 1
|
|
23
|
+
</Button>
|
|
24
|
+
<Button icon="add" onClick={() => {}}>
|
|
25
|
+
Action 2
|
|
26
|
+
</Button>
|
|
27
|
+
</>
|
|
28
|
+
),
|
|
29
|
+
breadcrumbs: (
|
|
30
|
+
<>
|
|
28
31
|
<NavigationBreadcrumbItem icon="home" onClick={() => {}}>
|
|
29
32
|
Home
|
|
30
|
-
</NavigationBreadcrumbItem
|
|
31
|
-
<
|
|
33
|
+
</NavigationBreadcrumbItem>
|
|
34
|
+
<NavigationBreadcrumbDivider />
|
|
35
|
+
<NavigationBreadcrumbItem onClick={() => {}}>Menu Item 1</NavigationBreadcrumbItem>
|
|
36
|
+
<NavigationBreadcrumbDivider />
|
|
32
37
|
<NavigationBreadcrumbItem highlight>Menu Item 2</NavigationBreadcrumbItem>
|
|
33
|
-
|
|
38
|
+
</>
|
|
39
|
+
)
|
|
34
40
|
}}
|
|
35
41
|
|
|
36
42
|
>
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { ChangeEvent } from 'react';
|
|
2
|
+
import { ChangeEvent, cloneElement } from 'react';
|
|
3
3
|
import { SelectProps } from './Select.types';
|
|
4
4
|
import './Select.css';
|
|
5
5
|
|
|
@@ -14,10 +14,7 @@ export const Select = ({ label, value, options, onChange }: SelectProps) => {
|
|
|
14
14
|
<div className="select-container">
|
|
15
15
|
{label && <label>{label}</label>}
|
|
16
16
|
<select value={value} onChange={handleChange}>
|
|
17
|
-
|
|
18
|
-
<option>-</option>
|
|
19
|
-
{options}
|
|
20
|
-
</>
|
|
17
|
+
{options.map((option, index) => cloneElement(option, { key: index, ...option.props }))}
|
|
21
18
|
</select>
|
|
22
19
|
</div>
|
|
23
20
|
);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { cloneElement } from 'react';
|
|
3
2
|
import { icons } from '../../components/Icon/icons';
|
|
4
3
|
import { HeaderProps } from './Header.types';
|
|
5
4
|
import './Header.css';
|
|
@@ -13,9 +12,7 @@ export const Header = ({ actions, appName }: HeaderProps) => {
|
|
|
13
12
|
<div className="header-techoff" dangerouslySetInnerHTML={{ __html: icons[`header-${appName}`] }} />
|
|
14
13
|
</div>
|
|
15
14
|
<div>
|
|
16
|
-
<div className="header-actions">
|
|
17
|
-
{actions.map((action, index) => cloneElement(action, { key: index, ...action.props }))}
|
|
18
|
-
</div>
|
|
15
|
+
<div className="header-actions">{actions}</div>
|
|
19
16
|
</div>
|
|
20
17
|
</header>
|
|
21
18
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
2
|
|
|
3
3
|
export type HeaderProps = {
|
|
4
|
-
actions: ReactElement
|
|
4
|
+
actions: ReactElement;
|
|
5
5
|
appName: 'bikestudio' | 'nsc-helmet' | 'opticost' | 'repairability';
|
|
6
6
|
};
|
|
7
7
|
export type HeaderProfileProps = { firstname: string; lastname: string; supportLink?: string };
|
|
@@ -24,10 +24,12 @@ The header will allow users to quickly find the information they need at a glanc
|
|
|
24
24
|
<Story
|
|
25
25
|
name="Overview"
|
|
26
26
|
args={{
|
|
27
|
-
actions:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
actions: (
|
|
28
|
+
<>
|
|
29
|
+
<Button icon="add" size="lg" variant="shadow" rounded />
|
|
30
|
+
<HeaderProfile firstname="John" lastname="Doe" />
|
|
31
|
+
</>
|
|
32
|
+
),
|
|
31
33
|
appName: 'repairability',
|
|
32
34
|
}}
|
|
33
35
|
argTypes={headerArgTypes}
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { PropsWithChildren } from 'react';
|
|
3
3
|
import { Icon } from '../../components/Icon/Icon';
|
|
4
4
|
import { NavigationBreadcrumbItemProps, NavigationProps } from './Navigation.types';
|
|
5
5
|
import './Navigation.css';
|
|
6
6
|
|
|
7
|
+
export const NavigationBreadcrumbDivider = () => {
|
|
8
|
+
// #########
|
|
9
|
+
// Rendering
|
|
10
|
+
return (
|
|
11
|
+
<div className="breadcrumb-chevron">
|
|
12
|
+
<Icon name="chevron-right" />
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
15
|
+
};
|
|
16
|
+
|
|
7
17
|
export const NavigationBreadcrumbItem = ({
|
|
8
18
|
children,
|
|
9
19
|
icon,
|
|
@@ -36,23 +46,9 @@ export const Navigation = ({ actions, breadcrumbs }: NavigationProps) => {
|
|
|
36
46
|
// Rendering
|
|
37
47
|
return (
|
|
38
48
|
<div className="navigation">
|
|
39
|
-
<div className="breadcrumb">
|
|
40
|
-
{breadcrumbs.map((breadcrumb, index) => (
|
|
41
|
-
<div key={index} className="breadcrumb-container">
|
|
42
|
-
{breadcrumb}
|
|
43
|
-
|
|
44
|
-
{index !== breadcrumbs.length - 1 && (
|
|
45
|
-
<div className="breadcrumb-chevron">
|
|
46
|
-
<Icon name="chevron-right" />
|
|
47
|
-
</div>
|
|
48
|
-
)}
|
|
49
|
-
</div>
|
|
50
|
-
))}
|
|
51
|
-
</div>
|
|
49
|
+
<div className="breadcrumb">{breadcrumbs}</div>
|
|
52
50
|
<div className="navigation-divider" />
|
|
53
|
-
<div className="navigation-actions">
|
|
54
|
-
{actions?.map((action, index) => cloneElement(action, { key: index, ...action.props }))}
|
|
55
|
-
</div>
|
|
51
|
+
<div className="navigation-actions">{actions}</div>
|
|
56
52
|
</div>
|
|
57
53
|
);
|
|
58
54
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
2
|
|
|
3
|
-
export type NavigationProps = { actions?: ReactElement
|
|
3
|
+
export type NavigationProps = { actions?: ReactElement; breadcrumbs: ReactElement };
|
|
4
4
|
export type NavigationBreadcrumbItemProps = { icon?: string; highlight?: boolean; onClick?: () => void };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ArgsTable, Canvas, Meta, Story } from '@storybook/blocks';
|
|
3
|
-
import { Navigation, NavigationBreadcrumbItem } from '../Navigation';
|
|
3
|
+
import { Navigation, NavigationBreadcrumbItem, NavigationBreadcrumbDivider } from '../Navigation';
|
|
4
4
|
import { Button } from '../../../components/Button/Button';
|
|
5
5
|
import { icons } from '../../../components/Icon/icons';
|
|
6
6
|
|
|
@@ -16,21 +16,27 @@ Breadcrumbs are an important navigation component that shows content hierarchy.
|
|
|
16
16
|
<Story
|
|
17
17
|
name="Overview"
|
|
18
18
|
args={{
|
|
19
|
-
actions:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
actions: (
|
|
20
|
+
<>
|
|
21
|
+
<Button icon="check" onClick={() => {}}>
|
|
22
|
+
Action 1
|
|
23
|
+
</Button>
|
|
24
|
+
<Button icon="add" onClick={() => {}}>
|
|
25
|
+
Action 2
|
|
26
|
+
</Button>
|
|
27
|
+
</>
|
|
28
|
+
),
|
|
29
|
+
breadcrumbs: (
|
|
30
|
+
<>
|
|
28
31
|
<NavigationBreadcrumbItem icon="home" onClick={() => {}}>
|
|
29
32
|
Home
|
|
30
|
-
</NavigationBreadcrumbItem
|
|
31
|
-
<
|
|
33
|
+
</NavigationBreadcrumbItem>
|
|
34
|
+
<NavigationBreadcrumbDivider />
|
|
35
|
+
<NavigationBreadcrumbItem onClick={() => {}}>Menu Item 1</NavigationBreadcrumbItem>
|
|
36
|
+
<NavigationBreadcrumbDivider />
|
|
32
37
|
<NavigationBreadcrumbItem highlight>Menu Item 2</NavigationBreadcrumbItem>
|
|
33
|
-
|
|
38
|
+
</>
|
|
39
|
+
)
|
|
34
40
|
}}
|
|
35
41
|
|
|
36
42
|
>
|