pixelize-design-library 1.0.23 → 1.0.25
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/dist/Components/Apexcharts/ApexPieChart/ApexPieChart.d.ts +1 -1
- package/dist/Components/Breadcrumbs/Breadcrumbs.d.ts +2 -2
- package/dist/Components/Breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/Components/Button/Button.d.ts +1 -1
- package/dist/Components/Button/Button.js +8 -2
- package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.d.ts +2 -2
- package/dist/Components/ButtonGroupIcon/ButtonGroupIcon.js +2 -2
- package/dist/Components/Input/TextInput.d.ts +3 -1
- package/dist/Components/Input/TextInput.js +12 -9
- package/dist/Components/Input/TextInput.stories.d.ts +2 -2
- package/dist/Components/Input/TextInput.stories.js +6 -6
- package/dist/Components/InputTextArea/InputTextArea.stories.js +4 -3
- package/dist/Components/Loading/Loading.d.ts +1 -1
- package/dist/Components/Modal/Modal.d.ts +1 -1
- package/dist/Components/Modal/Modal.js +5 -1
- package/dist/Components/NavigationBar/NavigationBar.d.ts +2 -2
- package/dist/Components/NavigationBar/NavigationBar.js +7 -7
- package/dist/Components/NumberInput/NumberInput.d.ts +2 -2
- package/dist/Components/PinInput/PinInput.d.ts +2 -2
- package/dist/Components/PinInput/PinInput.js +1 -1
- package/dist/Components/ProfileCard/ProfileCard.d.ts +1 -1
- package/dist/Components/ProfileCard/ProfileCard.js +3 -2
- package/dist/Components/ProfilePhotoViewer/ProfilePhotoViewer.d.ts +2 -2
- package/dist/Components/ProgressBar/ProgressBar.d.ts +1 -1
- package/dist/Components/RadioButton/RadioButton.js +1 -1
- package/dist/Components/RadioButton/RadioButton.stories.d.ts +1 -1
- package/dist/Components/RadioButton/RadioButton.stories.js +3 -3
- package/dist/Components/RadioButton/RadioButtonProps.d.ts +1 -1
- package/dist/Components/Select/Select.d.ts +1 -1
- package/dist/Components/Select/Select.js +3 -3
- package/dist/Components/Select/Select.stories.d.ts +3 -3
- package/dist/Components/Select/Select.stories.js +7 -7
- package/dist/Components/Skeletons/Skeletons.d.ts +2 -2
- package/dist/Components/Table/Table.d.ts +1 -1
- package/dist/Components/Table/Table.js +139 -46
- package/dist/Components/Table/TableProps.d.ts +1 -1
- package/dist/Components/Toaster/Toaster.js +1 -1
- package/dist/Components/ToolTip/ToolTip.d.ts +2 -2
- package/dist/Layout.js +12 -14
- package/dist/Theme/Default/theme.js +8 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +26 -2
- package/package.json +1 -1
- package/webpack.config.js +46 -46
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { BreadcrumbsProps } from "./BreadcrumbsProps";
|
|
3
|
-
export default function Breadcrumbs({ spacing, separator, fontWeight, fontSize, isCurrentPage, handleClick, items }: BreadcrumbsProps): React.JSX.Element;
|
|
3
|
+
export default function Breadcrumbs({ spacing, separator, fontWeight, fontSize, isCurrentPage, handleClick, items, }: BreadcrumbsProps): React.JSX.Element;
|
|
@@ -9,7 +9,7 @@ function Breadcrumbs(_a) {
|
|
|
9
9
|
var spacing = _a.spacing, separator = _a.separator, fontWeight = _a.fontWeight, fontSize = _a.fontSize, isCurrentPage = _a.isCurrentPage, handleClick = _a.handleClick, items = _a.items;
|
|
10
10
|
return (react_1.default.createElement(react_2.ChakraProvider, null,
|
|
11
11
|
react_1.default.createElement(react_2.Breadcrumb, { spacing: spacing, separator: separator, fontWeight: fontWeight, fontSize: fontSize }, items.map(function (item, index) { return (react_1.default.createElement(react_2.BreadcrumbItem, { key: index, isCurrentPage: isCurrentPage && index === items.length - 1 },
|
|
12
|
-
react_1.default.createElement(react_2.BreadcrumbLink, { href: item.path, sx: {
|
|
12
|
+
react_1.default.createElement(react_2.BreadcrumbLink, { href: item.path, sx: { "&:hover, &:active": { textDecoration: "none" } }, onClick: function (event) {
|
|
13
13
|
event.preventDefault();
|
|
14
14
|
handleClick(item.path);
|
|
15
15
|
} }, item.label))); }))));
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ButtonProps } from './ButtonProps';
|
|
3
|
-
export default function Button({ label, width, onClick, color, variant, leftIcon, rightIcon, size, isDisabled, isLoading, loadingText, type }: ButtonProps): React.JSX.Element;
|
|
3
|
+
export default function Button({ label, width, onClick, color, variant, leftIcon, rightIcon, size, isDisabled, isLoading, loadingText, type, }: ButtonProps): React.JSX.Element;
|
|
@@ -6,8 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
var react_1 = __importDefault(require("react"));
|
|
7
7
|
var react_2 = require("@chakra-ui/react");
|
|
8
8
|
function Button(_a) {
|
|
9
|
-
var label = _a.label, _b = _a.width, width = _b === void 0 ? "
|
|
9
|
+
var label = _a.label, _b = _a.width, width = _b === void 0 ? "100%" : _b, onClick = _a.onClick, color = _a.color, variant = _a.variant, leftIcon = _a.leftIcon, rightIcon = _a.rightIcon, size = _a.size, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isLoading, isLoading = _d === void 0 ? false : _d, _e = _a.loadingText, loadingText = _e === void 0 ? "Loading" : _e, type = _a.type;
|
|
10
10
|
return (react_1.default.createElement(react_2.ChakraProvider, null,
|
|
11
|
-
react_1.default.createElement(react_2.Button, { type: type, onClick: onClick, width: width, colorScheme: color, variant: variant, size: size, isLoading: isLoading, isDisabled: isDisabled, loadingText: loadingText, leftIcon: leftIcon, rightIcon: rightIcon },
|
|
11
|
+
react_1.default.createElement(react_2.Button, { type: type, onClick: onClick, width: width, colorScheme: color, variant: variant, size: size, isLoading: isLoading, isDisabled: isDisabled, loadingText: loadingText, leftIcon: leftIcon, rightIcon: rightIcon },
|
|
12
|
+
react_1.default.createElement(react_2.Box, { sx: {
|
|
13
|
+
overflow: 'hidden',
|
|
14
|
+
textOverflow: 'ellipsis',
|
|
15
|
+
whiteSpace: 'nowrap',
|
|
16
|
+
maxWidth: '100%',
|
|
17
|
+
} }, label))));
|
|
12
18
|
}
|
|
13
19
|
exports.default = Button;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { ButtonGroupIconProps } from "./ButtonGoupIconProps";
|
|
3
|
-
export default function ButtonGroupIcon({ leftIcon, rightIcon, onLeftIconClick, onRightIconClick, buttonText, onButtonClick, onButtongroupClick, size, variant, color }: ButtonGroupIconProps): React.JSX.Element;
|
|
3
|
+
export default function ButtonGroupIcon({ leftIcon, rightIcon, onLeftIconClick, onRightIconClick, buttonText, onButtonClick, onButtongroupClick, size, variant, color, }: ButtonGroupIconProps): React.JSX.Element;
|
|
@@ -9,8 +9,8 @@ function ButtonGroupIcon(_a) {
|
|
|
9
9
|
var leftIcon = _a.leftIcon, rightIcon = _a.rightIcon, onLeftIconClick = _a.onLeftIconClick, onRightIconClick = _a.onRightIconClick, buttonText = _a.buttonText, onButtonClick = _a.onButtonClick, onButtongroupClick = _a.onButtongroupClick, size = _a.size, variant = _a.variant, color = _a.color;
|
|
10
10
|
return (react_1.default.createElement(react_2.ChakraProvider, null,
|
|
11
11
|
react_1.default.createElement(react_2.ButtonGroup, { size: size, isAttached: true, variant: variant, onClick: onButtongroupClick, colorScheme: color },
|
|
12
|
-
leftIcon && react_1.default.createElement(react_2.IconButton, { "aria-label":
|
|
12
|
+
leftIcon && (react_1.default.createElement(react_2.IconButton, { "aria-label": "Left icon button", icon: leftIcon, onClick: onLeftIconClick })),
|
|
13
13
|
react_1.default.createElement(react_2.Button, { onClick: onButtonClick }, buttonText),
|
|
14
|
-
rightIcon && react_1.default.createElement(react_2.IconButton, { "aria-label":
|
|
14
|
+
rightIcon && (react_1.default.createElement(react_2.IconButton, { "aria-label": "Right icon button", icon: rightIcon, onClick: onRightIconClick })))));
|
|
15
15
|
}
|
|
16
16
|
exports.default = ButtonGroupIcon;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { TextInputProps } from "./TextInputProps";
|
|
2
2
|
import React from "react";
|
|
3
|
-
|
|
3
|
+
declare function TextInput({ label, type, id, name, onChange, onBlur, onFocus, isDisabled, isReadOnly, isRequired, value, placeholder, width, error, errorMessage, helperText, onRightIconclick, inputRightIcon, inputGroupStyle, inputStyle, }: TextInputProps): React.JSX.Element;
|
|
4
|
+
declare const _default: React.MemoExoticComponent<typeof TextInput>;
|
|
5
|
+
export default _default;
|
|
@@ -7,13 +7,16 @@ var react_1 = require("@chakra-ui/react");
|
|
|
7
7
|
var react_2 = __importDefault(require("react"));
|
|
8
8
|
function TextInput(_a) {
|
|
9
9
|
var label = _a.label, _b = _a.type, type = _b === void 0 ? "text" : _b, id = _a.id, name = _a.name, onChange = _a.onChange, onBlur = _a.onBlur, onFocus = _a.onFocus, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isReadOnly, isReadOnly = _d === void 0 ? false : _d, _e = _a.isRequired, isRequired = _e === void 0 ? false : _e, value = _a.value, _f = _a.placeholder, placeholder = _f === void 0 ? "Placeholder" : _f, _g = _a.width, width = _g === void 0 ? "250px" : _g, error = _a.error, errorMessage = _a.errorMessage, helperText = _a.helperText, onRightIconclick = _a.onRightIconclick, inputRightIcon = _a.inputRightIcon, inputGroupStyle = _a.inputGroupStyle, inputStyle = _a.inputStyle;
|
|
10
|
-
return (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
return (
|
|
11
|
+
// <ChakraProvider>
|
|
12
|
+
react_2.default.createElement(react_1.FormControl, { isRequired: isRequired, isInvalid: error },
|
|
13
|
+
label && react_2.default.createElement(react_1.FormLabel, { mb: "0.25rem" }, label),
|
|
14
|
+
react_2.default.createElement(react_1.InputGroup, { width: width, style: inputGroupStyle },
|
|
15
|
+
react_2.default.createElement(react_1.Input, { type: type, placeholder: placeholder, onChange: onChange, onBlur: onBlur, onFocus: onFocus, value: value, errorBorderColor: error ? "crimson" : "", isDisabled: isDisabled, isReadOnly: isReadOnly, id: id, name: name, style: inputStyle }),
|
|
16
|
+
inputRightIcon && (react_2.default.createElement(react_1.InputRightElement, { children: inputRightIcon, onClick: onRightIconclick }))),
|
|
17
|
+
error && react_2.default.createElement(react_1.FormErrorMessage, { pl: 4 }, errorMessage),
|
|
18
|
+
helperText && !error && (react_2.default.createElement(react_1.FormHelperText, { pl: 4 }, helperText)))
|
|
19
|
+
// </ChakraProvider>
|
|
20
|
+
);
|
|
18
21
|
}
|
|
19
|
-
exports.default = TextInput;
|
|
22
|
+
exports.default = react_2.default.memo(TextInput);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from
|
|
2
|
-
import TextInput from
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
+
import TextInput from "./TextInput";
|
|
3
3
|
declare const meta: Meta<typeof TextInput>;
|
|
4
4
|
export default meta;
|
|
5
5
|
type Story = StoryObj<typeof meta>;
|
|
@@ -20,12 +20,12 @@ var test_1 = require("@storybook/test");
|
|
|
20
20
|
var TextInput_1 = __importDefault(require("./TextInput"));
|
|
21
21
|
var react_2 = require("react");
|
|
22
22
|
var meta = {
|
|
23
|
-
title:
|
|
23
|
+
title: "Components/Input/TextInput",
|
|
24
24
|
component: TextInput_1.default,
|
|
25
25
|
parameters: {
|
|
26
|
-
layout:
|
|
26
|
+
layout: "centered",
|
|
27
27
|
},
|
|
28
|
-
tags: [
|
|
28
|
+
tags: ["autodocs"],
|
|
29
29
|
};
|
|
30
30
|
exports.default = meta;
|
|
31
31
|
var TextInputTemplate = function (args) {
|
|
@@ -37,7 +37,7 @@ var TextInputTemplate = function (args) {
|
|
|
37
37
|
};
|
|
38
38
|
exports.Primary = {
|
|
39
39
|
args: {
|
|
40
|
-
label:
|
|
40
|
+
label: "Button",
|
|
41
41
|
onChange: (0, test_1.fn)(),
|
|
42
42
|
onBlur: (0, test_1.fn)(),
|
|
43
43
|
onFocus: (0, test_1.fn)(),
|
|
@@ -49,7 +49,7 @@ exports.Primary = {
|
|
|
49
49
|
width: 500,
|
|
50
50
|
error: true,
|
|
51
51
|
errorMessage: "jhkjhkjh",
|
|
52
|
-
helperText: ""
|
|
52
|
+
helperText: "",
|
|
53
53
|
},
|
|
54
|
-
render: function (args) { return TextInputTemplate(args); }
|
|
54
|
+
render: function (args) { return TextInputTemplate(args); },
|
|
55
55
|
};
|
|
@@ -37,8 +37,8 @@ var TextAreaTemplate = function (args) {
|
|
|
37
37
|
exports.Primary = {
|
|
38
38
|
args: {
|
|
39
39
|
label: "hello",
|
|
40
|
-
helperText:
|
|
41
|
-
errorMessage:
|
|
40
|
+
helperText: "Hello",
|
|
41
|
+
errorMessage: "Required",
|
|
42
42
|
error: true,
|
|
43
43
|
rows: 5,
|
|
44
44
|
onChange: function () { },
|
|
@@ -53,5 +53,6 @@ exports.Primary = {
|
|
|
53
53
|
variant: "outline",
|
|
54
54
|
focusBorderColor: "blue.500",
|
|
55
55
|
errorBorderColor: "red.500",
|
|
56
|
-
},
|
|
56
|
+
},
|
|
57
|
+
render: function (args) { return TextAreaTemplate(args); },
|
|
57
58
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { ChakraModelProps } from "./ModalProps";
|
|
3
3
|
export default function Modal({ size, isOpen, onClose, title, footer, overlaybg, overlaybackdropFilter, overlaybackdropInvert, overlaybackdropBlur, isCentered, finalFocusRef, blockScrollOnMount, initialFocusRef, closeOnOverlayClick, motionPreset, scrollBehavior, children, }: ChakraModelProps): React.JSX.Element;
|
|
@@ -15,7 +15,11 @@ function Modal(_a) {
|
|
|
15
15
|
react_1.default.createElement(react_2.ModalContent, null,
|
|
16
16
|
react_1.default.createElement(react_2.ModalHeader, null, title),
|
|
17
17
|
react_1.default.createElement(react_2.ModalCloseButton, null),
|
|
18
|
-
react_1.default.createElement(react_2.ModalBody,
|
|
18
|
+
react_1.default.createElement(react_2.ModalBody, { sx: {
|
|
19
|
+
whiteSpace: "normal",
|
|
20
|
+
wordBreak: "break-word",
|
|
21
|
+
overflowWrap: "break-word",
|
|
22
|
+
} }, children),
|
|
19
23
|
react_1.default.createElement(react_2.ModalFooter, null, footer)))));
|
|
20
24
|
}
|
|
21
25
|
exports.default = Modal;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { NavbarProps } from "./NavigationBarProps";
|
|
3
|
-
export default function NavBar({ userAvathar, userName, navMenu, handleNavOnClick, handleLogout, logoutText }: NavbarProps): React.JSX.Element;
|
|
3
|
+
export default function NavBar({ userAvathar, userName, navMenu, handleNavOnClick, handleLogout, logoutText, }: NavbarProps): React.JSX.Element;
|
|
@@ -9,17 +9,17 @@ function NavBar(_a) {
|
|
|
9
9
|
var userAvathar = _a.userAvathar, userName = _a.userName, navMenu = _a.navMenu, handleNavOnClick = _a.handleNavOnClick, handleLogout = _a.handleLogout, logoutText = _a.logoutText;
|
|
10
10
|
return (react_1.default.createElement(react_2.ChakraProvider, null,
|
|
11
11
|
react_1.default.createElement(react_2.Box, { bg: "#ffffff", px: 4, boxShadow: "0 4px 12px 0 rgba(0, 0, 0, 0.05)" },
|
|
12
|
-
react_1.default.createElement(react_2.Flex, { h: 16, alignItems:
|
|
12
|
+
react_1.default.createElement(react_2.Flex, { h: 16, alignItems: "center", justifyContent: "space-between" },
|
|
13
13
|
react_1.default.createElement(react_2.Box, null),
|
|
14
|
-
react_1.default.createElement(react_2.Flex, { alignItems:
|
|
15
|
-
react_1.default.createElement(react_2.Stack, { direction:
|
|
14
|
+
react_1.default.createElement(react_2.Flex, { alignItems: "center" },
|
|
15
|
+
react_1.default.createElement(react_2.Stack, { direction: "row", spacing: 7 },
|
|
16
16
|
react_1.default.createElement(react_2.Menu, null,
|
|
17
|
-
react_1.default.createElement(react_2.MenuButton, { as: react_2.Button, rounded:
|
|
18
|
-
react_1.default.createElement(react_2.Avatar, { size:
|
|
19
|
-
react_1.default.createElement(react_2.MenuList, { alignItems:
|
|
17
|
+
react_1.default.createElement(react_2.MenuButton, { as: react_2.Button, rounded: "full", variant: "link", cursor: "pointer", minW: 0 },
|
|
18
|
+
react_1.default.createElement(react_2.Avatar, { size: "sm", src: userAvathar })),
|
|
19
|
+
react_1.default.createElement(react_2.MenuList, { alignItems: "center" },
|
|
20
20
|
react_1.default.createElement("br", null),
|
|
21
21
|
react_1.default.createElement(react_2.Center, null,
|
|
22
|
-
react_1.default.createElement(react_2.Avatar, { size:
|
|
22
|
+
react_1.default.createElement(react_2.Avatar, { size: "2xl", src: userAvathar })),
|
|
23
23
|
react_1.default.createElement("br", null),
|
|
24
24
|
react_1.default.createElement(react_2.Center, null,
|
|
25
25
|
react_1.default.createElement("p", null, userName)),
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { NumberInputProps } from "./NumberInputProps";
|
|
3
|
-
export default function NumberInput({ defaultValue, min, max, precision, step, clampValueOnBlur, keepWithinRange, value, onChange, size, maxW, allowMouseWheel, NumberIncrementStepperBg, NumberIncrementStepperActive, NumberIncrementStepperChildren, NumberDecrementStepperBg, NumberDecrementStepperChildren, NumberDecrementStepperActive }: NumberInputProps): React.JSX.Element;
|
|
3
|
+
export default function NumberInput({ defaultValue, min, max, precision, step, clampValueOnBlur, keepWithinRange, value, onChange, size, maxW, allowMouseWheel, NumberIncrementStepperBg, NumberIncrementStepperActive, NumberIncrementStepperChildren, NumberDecrementStepperBg, NumberDecrementStepperChildren, NumberDecrementStepperActive, }: NumberInputProps): React.JSX.Element;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { ChakraPinInputProps } from "./PinInputProps";
|
|
3
|
-
export default function PinInputs({ otp, mask, defaultValue, placeholder, manageFocus, errorBorderColor, focusBorderColor, onChange, onComplete, type, color, variant, pins, label }: ChakraPinInputProps): React.JSX.Element;
|
|
3
|
+
export default function PinInputs({ otp, mask, defaultValue, placeholder, manageFocus, errorBorderColor, focusBorderColor, onChange, onComplete, type, color, variant, pins, label, }: ChakraPinInputProps): React.JSX.Element;
|
|
@@ -8,7 +8,7 @@ var react_2 = require("@chakra-ui/react");
|
|
|
8
8
|
function PinInputs(_a) {
|
|
9
9
|
var otp = _a.otp, mask = _a.mask, defaultValue = _a.defaultValue, placeholder = _a.placeholder, manageFocus = _a.manageFocus, errorBorderColor = _a.errorBorderColor, focusBorderColor = _a.focusBorderColor, onChange = _a.onChange, onComplete = _a.onComplete, type = _a.type, color = _a.color, variant = _a.variant, _b = _a.pins, pins = _b === void 0 ? 3 : _b, label = _a.label;
|
|
10
10
|
return (react_1.default.createElement(react_2.ChakraProvider, null,
|
|
11
|
-
label && react_1.default.createElement(react_2.Text, { fontWeight: "bold", marginBottom: "8px" }, label),
|
|
11
|
+
label && (react_1.default.createElement(react_2.Text, { fontWeight: "bold", marginBottom: "8px" }, label)),
|
|
12
12
|
react_1.default.createElement(react_2.HStack, null,
|
|
13
13
|
react_1.default.createElement(react_2.PinInput, { otp: otp, mask: mask, defaultValue: defaultValue, placeholder: placeholder, manageFocus: manageFocus, errorBorderColor: errorBorderColor, focusBorderColor: focusBorderColor, onChange: onChange, onComplete: onComplete, type: type, colorScheme: color, variant: variant }, Array.from({ length: pins }).map(function (_, index) { return (react_1.default.createElement(react_2.PinInputField, { key: index })); })))));
|
|
14
14
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { ProfileCardProps } from "./ProfileCardProps";
|
|
3
3
|
export default function ProfileCard({ key, maxW, align, variant, direction, justify, header, footer, children, size, color, overflow, dividercolor, dividersize, dividervariant, }: ProfileCardProps): React.JSX.Element;
|
|
@@ -9,8 +9,9 @@ function ProfileCard(_a) {
|
|
|
9
9
|
var key = _a.key, maxW = _a.maxW, align = _a.align, variant = _a.variant, direction = _a.direction, justify = _a.justify, header = _a.header, footer = _a.footer, children = _a.children, size = _a.size, color = _a.color, overflow = _a.overflow, dividercolor = _a.dividercolor, dividersize = _a.dividersize, dividervariant = _a.dividervariant;
|
|
10
10
|
return (react_1.default.createElement(react_2.ChakraProvider, null,
|
|
11
11
|
react_1.default.createElement(react_2.Card, { key: key, maxW: maxW, align: align, variant: variant, direction: direction, justify: justify, size: size, overflow: overflow, colorScheme: color, mr: 10 },
|
|
12
|
-
react_1.default.createElement(
|
|
13
|
-
|
|
12
|
+
header && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
13
|
+
react_1.default.createElement(react_2.CardHeader, null, header),
|
|
14
|
+
react_1.default.createElement(react_2.Divider, { colorScheme: dividercolor, size: dividersize, variant: dividervariant }))),
|
|
14
15
|
react_1.default.createElement(react_2.CardBody, null, children),
|
|
15
16
|
react_1.default.createElement(react_2.CardFooter, null, footer))));
|
|
16
17
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { ProfilePhotoViewerProps } from "./ProfilePhotoViewerProps";
|
|
3
|
-
export default function ProfilePhotoViewer({ photoUrl, onPhotoChange, imageWidth, imageAlt, imageObjectFit, imageBorderRadius, editIconSize, editIconPositionRight, editIconPositionBottom, isRound, boxStyle }: ProfilePhotoViewerProps): React.JSX.Element;
|
|
3
|
+
export default function ProfilePhotoViewer({ photoUrl, onPhotoChange, imageWidth, imageAlt, imageObjectFit, imageBorderRadius, editIconSize, editIconPositionRight, editIconPositionBottom, isRound, boxStyle, }: ProfilePhotoViewerProps): React.JSX.Element;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { ProgressBarProps } from "./ProgressBarProps";
|
|
3
3
|
export default function ProgressBar({ size, isIndeterminate, color, hasStripe, height, value, isAnimated, max, min, variant, }: ProgressBarProps): React.JSX.Element;
|
|
@@ -17,6 +17,6 @@ var RadioButtonGroup = function (_a) {
|
|
|
17
17
|
var options = _a.options, onChange = _a.onChange, value = _a.value, defaultValue = _a.defaultValue, isDisabled = _a.isDisabled, size = _a.size, colorScheme = _a.colorScheme;
|
|
18
18
|
return (react_1.default.createElement(react_2.ChakraProvider, null,
|
|
19
19
|
react_1.default.createElement(react_2.RadioGroup, { onChange: onChange, value: value, defaultValue: defaultValue },
|
|
20
|
-
react_1.default.createElement(react_2.Stack, { direction: "row", spacing: 4 }, options.map(function (option) { return (react_1.default.createElement(RadioButton, { key: option.
|
|
20
|
+
react_1.default.createElement(react_2.Stack, { direction: "row", spacing: 4 }, options.map(function (option) { return (react_1.default.createElement(RadioButton, { key: option.id, label: option.label, value: option.id, isDisabled: isDisabled, size: size, colorScheme: colorScheme })); })))));
|
|
21
21
|
};
|
|
22
22
|
exports.RadioButtonGroup = RadioButtonGroup;
|
|
@@ -8,7 +8,7 @@ export declare const SingleRadioButton: import("@storybook/types").AnnotatedStor
|
|
|
8
8
|
export declare const RadioButtonGroupStory: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-bf5e6555").R, Pick<import("@chakra-ui/radio/dist/radio-group").RadioGroupProps, "isDisabled" | "colorScheme" | "value" | "defaultValue" | "size"> & {
|
|
9
9
|
options: {
|
|
10
10
|
label: string;
|
|
11
|
-
|
|
11
|
+
id: string;
|
|
12
12
|
}[];
|
|
13
13
|
onChange?: ((value: string) => void) | undefined;
|
|
14
14
|
}>;
|
|
@@ -65,9 +65,9 @@ var RadioButtonGroupTemplate = function (args) {
|
|
|
65
65
|
exports.RadioButtonGroupStory = RadioButtonGroupTemplate.bind({});
|
|
66
66
|
exports.RadioButtonGroupStory.args = {
|
|
67
67
|
options: [
|
|
68
|
-
{ label: 'Option 1',
|
|
69
|
-
{ label: 'Option 2',
|
|
70
|
-
{ label: 'Option 3',
|
|
68
|
+
{ label: 'Option 1', id: '1' },
|
|
69
|
+
{ label: 'Option 2', id: '2' },
|
|
70
|
+
{ label: 'Option 3', id: '3' },
|
|
71
71
|
],
|
|
72
72
|
value: '1',
|
|
73
73
|
colorScheme: 'blue',
|
|
@@ -5,7 +5,7 @@ export type ChakraRadioProps = Pick<RadioProps, "size" | "colorScheme" | "isChec
|
|
|
5
5
|
export type ChakraRadioGroupProps = Pick<RadioGroupProps, "size" | "colorScheme" | "isDisabled" | "defaultValue" | "value"> & {
|
|
6
6
|
options: {
|
|
7
7
|
label: string;
|
|
8
|
-
|
|
8
|
+
id: string;
|
|
9
9
|
}[];
|
|
10
10
|
onChange?: (value: string) => void;
|
|
11
11
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { chakraSelectProps } from "./SelectProps";
|
|
3
3
|
export default function Select({ placeholder, size, variant, icon, bg, borderColor, color, error, isRequired, label, errorMessage, helperText, options, value, onChange, width, }: chakraSelectProps): React.JSX.Element;
|
|
@@ -11,13 +11,13 @@ function Select(_a) {
|
|
|
11
11
|
var getOptionsList = (0, react_3.useCallback)(function () {
|
|
12
12
|
if (!options.length)
|
|
13
13
|
return react_1.default.createElement("option", { value: "" }, "No Options");
|
|
14
|
-
return options.map(function (option) { return react_1.default.createElement("option", { key: option.id, value: option.id }, option.label); });
|
|
14
|
+
return options.map(function (option) { return (react_1.default.createElement("option", { key: option.id, value: option.id }, option.label)); });
|
|
15
15
|
}, [options]);
|
|
16
16
|
return (react_1.default.createElement(react_2.ChakraProvider, null,
|
|
17
17
|
react_1.default.createElement(react_2.FormControl, { isRequired: isRequired, isInvalid: error },
|
|
18
18
|
label && react_1.default.createElement(react_2.FormLabel, { mb: "0.25rem" }, label),
|
|
19
19
|
react_1.default.createElement(react_2.Select, { placeholder: placeholder, size: size, variant: variant, icon: icon, bg: bg, borderColor: borderColor, color: color, isInvalid: error, value: value, onChange: onChange, width: width }, getOptionsList()),
|
|
20
|
-
error &&
|
|
21
|
-
helperText && !error && react_1.default.createElement(react_2.FormHelperText, { pl: 4 }, helperText))));
|
|
20
|
+
error && react_1.default.createElement(react_2.FormErrorMessage, { pl: 4 }, errorMessage),
|
|
21
|
+
helperText && !error && (react_1.default.createElement(react_2.FormHelperText, { pl: 4 }, helperText)))));
|
|
22
22
|
}
|
|
23
23
|
exports.default = Select;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Meta } from
|
|
2
|
-
import Select from
|
|
3
|
-
import { chakraSelectProps } from
|
|
1
|
+
import { Meta } from "@storybook/react";
|
|
2
|
+
import Select from "./Select";
|
|
3
|
+
import { chakraSelectProps } from "./SelectProps";
|
|
4
4
|
declare const meta: Meta<typeof Select>;
|
|
5
5
|
export default meta;
|
|
6
6
|
export declare const Primary: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-bf5e6555").R, chakraSelectProps>;
|
|
@@ -20,12 +20,12 @@ var react_2 = require("@chakra-ui/react");
|
|
|
20
20
|
var react_3 = require("react");
|
|
21
21
|
var Select_1 = __importDefault(require("./Select"));
|
|
22
22
|
var meta = {
|
|
23
|
-
title:
|
|
23
|
+
title: "Components/Input/Select",
|
|
24
24
|
component: Select_1.default,
|
|
25
25
|
parameters: {
|
|
26
|
-
layout:
|
|
26
|
+
layout: "centered",
|
|
27
27
|
},
|
|
28
|
-
tags: [
|
|
28
|
+
tags: ["autodocs"],
|
|
29
29
|
};
|
|
30
30
|
exports.default = meta;
|
|
31
31
|
var SelectTemplate = function (args) {
|
|
@@ -50,13 +50,13 @@ exports.Primary.args = {
|
|
|
50
50
|
color: undefined,
|
|
51
51
|
error: false,
|
|
52
52
|
isRequired: false,
|
|
53
|
-
label:
|
|
53
|
+
label: "Select Input",
|
|
54
54
|
errorMessage: "",
|
|
55
55
|
helperText: "",
|
|
56
56
|
options: [
|
|
57
|
-
{ id:
|
|
58
|
-
{ id:
|
|
59
|
-
{ id:
|
|
57
|
+
{ id: "1", label: "Option 1" },
|
|
58
|
+
{ id: "2", label: "Option 2" },
|
|
59
|
+
{ id: "3", label: "Option 3" },
|
|
60
60
|
],
|
|
61
61
|
value: "",
|
|
62
62
|
width: 500,
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { SkeletonProps } from "./SkeletonProps";
|
|
3
|
-
export default function Skeletons({ startColor, endColor, height, isLoaded, bg, color, fadeDuration, children, type, speed, size, mt, noOfLines, spacing, skeletonHeight, width }: SkeletonProps): React.JSX.Element;
|
|
3
|
+
export default function Skeletons({ startColor, endColor, height, isLoaded, bg, color, fadeDuration, children, type, speed, size, mt, noOfLines, spacing, skeletonHeight, width, }: SkeletonProps): React.JSX.Element;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { TableProps } from "./TableProps";
|
|
3
3
|
export default function Table({ data, headers, tableHeaderBgColor, tableHeaderColor, handleExportChange, exportOptions, exportLabel, isLoading, loadingContaxt, loadingBoxStyle, }: TableProps): React.JSX.Element;
|
|
@@ -46,14 +46,13 @@ function Table(_a) {
|
|
|
46
46
|
}, {})), visibleColumns = _p[0], setVisibleColumns = _p[1];
|
|
47
47
|
if (isLoading) {
|
|
48
48
|
return (react_1.default.createElement(react_2.ChakraProvider, null,
|
|
49
|
-
react_1.default.createElement(react_2.Box, { width: "full", overflowX: "auto", style: loadingBoxStyle }, loadingContaxt ? loadingContaxt :
|
|
50
|
-
react_1.default.createElement(react_2.Spinner, { thickness: '4px', speed: '0.65s', emptyColor: 'gray.200', color: 'blue.500', size: 'xl' }))));
|
|
49
|
+
react_1.default.createElement(react_2.Box, { width: "full", overflowX: "auto", style: loadingBoxStyle }, loadingContaxt ? (loadingContaxt) : (react_1.default.createElement(react_2.Spinner, { thickness: "4px", speed: "0.65s", emptyColor: "gray.200", color: "blue.500", size: "xl" })))));
|
|
51
50
|
}
|
|
52
51
|
var handlePageSizeChange = function (event) {
|
|
53
52
|
setRowsPerPage(Number(event.target.value));
|
|
54
53
|
setCurrentPage(0);
|
|
55
54
|
};
|
|
56
|
-
var pageSizeOptions = [5, 10, 20, 50, 100].filter(function (size) { return size <= data.length; });
|
|
55
|
+
var pageSizeOptions = [5, 10, 20, 30, 40, 50, 75, 100].filter(function (size) { return size <= data.length; });
|
|
57
56
|
var sortedData = __spreadArray([], data, true).sort(function (a, b) {
|
|
58
57
|
if (!sortField)
|
|
59
58
|
return 0;
|
|
@@ -63,7 +62,21 @@ function Table(_a) {
|
|
|
63
62
|
return sortDirection === "asc" ? 1 : -1;
|
|
64
63
|
return 0;
|
|
65
64
|
});
|
|
66
|
-
var
|
|
65
|
+
var getValue = function (header) {
|
|
66
|
+
var value = data.reduce(function (acc, item) {
|
|
67
|
+
var itemValue = item[header];
|
|
68
|
+
if (itemValue !== undefined &&
|
|
69
|
+
itemValue !== null &&
|
|
70
|
+
!acc.includes(itemValue)) {
|
|
71
|
+
acc.push(itemValue);
|
|
72
|
+
}
|
|
73
|
+
return acc;
|
|
74
|
+
}, []);
|
|
75
|
+
return value;
|
|
76
|
+
};
|
|
77
|
+
var handleSort = function (field, sort) {
|
|
78
|
+
if (!sort)
|
|
79
|
+
return;
|
|
67
80
|
setSortField(field);
|
|
68
81
|
setSortDirection(sortDirection === "asc" ? "desc" : "asc");
|
|
69
82
|
};
|
|
@@ -72,6 +85,33 @@ function Table(_a) {
|
|
|
72
85
|
var _a;
|
|
73
86
|
return (__assign(__assign({}, prev), (_a = {}, _a[header] = operation, _a)));
|
|
74
87
|
});
|
|
88
|
+
var list_ofdata = getValue(header);
|
|
89
|
+
if (operation === "between") {
|
|
90
|
+
var smallestValue_1 = String(Math.min.apply(Math, list_ofdata));
|
|
91
|
+
var highestValue_1 = String(Math.max.apply(Math, list_ofdata));
|
|
92
|
+
setBetweenValues(function (prev) {
|
|
93
|
+
var _a;
|
|
94
|
+
return (__assign(__assign({}, prev), (_a = {}, _a[header] = { min: smallestValue_1, max: highestValue_1 }, _a)));
|
|
95
|
+
});
|
|
96
|
+
setSearchTerms(function (prev) {
|
|
97
|
+
var _a;
|
|
98
|
+
return (__assign(__assign({}, prev), (_a = {}, _a[header] = "between", _a)));
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
if (operation === "blank" || operation === "notBlank") {
|
|
103
|
+
setSearchTerms(function (prev) {
|
|
104
|
+
var _a;
|
|
105
|
+
return (__assign(__assign({}, prev), (_a = {}, _a[header] = "", _a)));
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
setSearchTerms(function (prev) {
|
|
110
|
+
var _a;
|
|
111
|
+
return (__assign(__assign({}, prev), (_a = {}, _a[header] = list_ofdata[0], _a)));
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
75
115
|
};
|
|
76
116
|
var handleSearch = function (field, term) {
|
|
77
117
|
if (searchOperation[field] === "between") {
|
|
@@ -87,7 +127,10 @@ function Table(_a) {
|
|
|
87
127
|
});
|
|
88
128
|
}
|
|
89
129
|
};
|
|
90
|
-
var handleHeaderClick = function (header) {
|
|
130
|
+
var handleHeaderClick = function (header, search) {
|
|
131
|
+
if (!search) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
91
134
|
setActiveHeader(header);
|
|
92
135
|
setPopoverOpen(true);
|
|
93
136
|
};
|
|
@@ -96,9 +139,9 @@ function Table(_a) {
|
|
|
96
139
|
};
|
|
97
140
|
var filteredData = sortedData.filter(function (item) {
|
|
98
141
|
return Object.keys(searchTerms).every(function (key) {
|
|
99
|
-
var term = searchTerms[key].toLowerCase();
|
|
142
|
+
var term = String(searchTerms[key]).toLowerCase();
|
|
100
143
|
var value = String(item[key]).toLowerCase();
|
|
101
|
-
var operation = searchOperation[key] || "
|
|
144
|
+
var operation = searchOperation[key] || "notBlank";
|
|
102
145
|
switch (operation) {
|
|
103
146
|
case "contains":
|
|
104
147
|
return value.includes(term);
|
|
@@ -148,40 +191,53 @@ function Table(_a) {
|
|
|
148
191
|
var _a, _b;
|
|
149
192
|
var fieldType = getFieldType(header);
|
|
150
193
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
151
|
-
react_1.default.createElement(react_2.Select, { value: searchOperation[header] || "notBlank", onChange: function (e) { return handleSearchOperation(header, e.target.value); }, style: { background: "#3182ce", color: "white" } },
|
|
152
|
-
react_1.default.createElement("option", { value: "equals" }, "Equals"),
|
|
153
|
-
react_1.default.createElement("option", { value: "notEquals" }, "Does not equal"),
|
|
154
|
-
react_1.default.createElement("option", { value: "greaterThan" }, "Greater than"),
|
|
155
|
-
react_1.default.createElement("option", { value: "greaterThanOrEqual" }, "Greater than or equal to"),
|
|
156
|
-
react_1.default.createElement("option", { value: "lessThan" }, "Less than"),
|
|
157
|
-
react_1.default.createElement("option", { value: "lessThanOrEqual" }, "Less than or equal to"),
|
|
158
|
-
react_1.default.createElement("option", { value: "between" }, "Between"),
|
|
159
|
-
react_1.default.createElement("option", { value: "blank" }, "Blank"),
|
|
160
|
-
react_1.default.createElement("option", { value: "notBlank" }, "Not blank"))) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
161
|
-
react_1.default.createElement("option", { value: "contains" }, "Contains"),
|
|
162
|
-
react_1.default.createElement("option", { value: "notContains" }, "Does not contain"),
|
|
194
|
+
react_1.default.createElement(react_2.Select, { value: searchOperation[header] || "notBlank", onChange: function (e) { return handleSearchOperation(header, e.target.value); }, style: { background: "#3182ce", color: "white" } },
|
|
163
195
|
react_1.default.createElement("option", { value: "equals" }, "Equals"),
|
|
164
196
|
react_1.default.createElement("option", { value: "notEquals" }, "Does not equal"),
|
|
165
|
-
react_1.default.createElement(
|
|
166
|
-
|
|
197
|
+
fieldType === "number" ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
198
|
+
react_1.default.createElement("option", { value: "greaterThan" }, "Greater than"),
|
|
199
|
+
react_1.default.createElement("option", { value: "greaterThanOrEqual" }, "Greater than or equal to"),
|
|
200
|
+
react_1.default.createElement("option", { value: "lessThan" }, "Less than"),
|
|
201
|
+
react_1.default.createElement("option", { value: "lessThanOrEqual" }, "Less than or equal to"),
|
|
202
|
+
react_1.default.createElement("option", { value: "between" }, "Between"))) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
203
|
+
react_1.default.createElement("option", { value: "contains" }, "Contains"),
|
|
204
|
+
react_1.default.createElement("option", { value: "notContains" }, "Does not contain"),
|
|
205
|
+
react_1.default.createElement("option", { value: "beginsWith" }, "Begins with"),
|
|
206
|
+
react_1.default.createElement("option", { value: "endsWith" }, "Ends with"))),
|
|
167
207
|
react_1.default.createElement("option", { value: "blank" }, "Blank"),
|
|
168
|
-
react_1.default.createElement("option", { value: "notBlank" }, "Not blank"))
|
|
169
|
-
|
|
170
|
-
|
|
208
|
+
react_1.default.createElement("option", { value: "notBlank" }, "Not blank")),
|
|
209
|
+
searchOperation[header] !== undefined &&
|
|
210
|
+
searchOperation[header] === "between" &&
|
|
211
|
+
fieldType === "number" && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
212
|
+
react_1.default.createElement("br", null),
|
|
171
213
|
react_1.default.createElement(react_2.Input, { value: ((_a = betweenValues[header]) === null || _a === void 0 ? void 0 : _a.min) || "", onChange: function (e) {
|
|
172
|
-
|
|
214
|
+
setBetweenValues(function (prev) {
|
|
173
215
|
var _a;
|
|
174
216
|
return (__assign(__assign({}, prev), (_a = {}, _a[header] = __assign(__assign({}, prev[header]), { min: e.target.value }), _a)));
|
|
175
217
|
});
|
|
218
|
+
setSearchTerms(function (prev) {
|
|
219
|
+
var _a;
|
|
220
|
+
return (__assign(__assign({}, prev), (_a = {}, _a[header] = "between", _a)));
|
|
221
|
+
});
|
|
176
222
|
}, placeholder: "Min...", background: "white", color: "black" }),
|
|
177
223
|
react_1.default.createElement("br", null),
|
|
178
224
|
react_1.default.createElement("br", null),
|
|
179
225
|
react_1.default.createElement(react_2.Input, { value: ((_b = betweenValues[header]) === null || _b === void 0 ? void 0 : _b.max) || "", onChange: function (e) {
|
|
180
|
-
|
|
226
|
+
setBetweenValues(function (prev) {
|
|
181
227
|
var _a;
|
|
182
228
|
return (__assign(__assign({}, prev), (_a = {}, _a[header] = __assign(__assign({}, prev[header]), { max: e.target.value }), _a)));
|
|
183
229
|
});
|
|
184
|
-
|
|
230
|
+
setSearchTerms(function (prev) {
|
|
231
|
+
var _a;
|
|
232
|
+
return (__assign(__assign({}, prev), (_a = {}, _a[header] = "between", _a)));
|
|
233
|
+
});
|
|
234
|
+
}, placeholder: "Max...", background: "white", color: "black" }))),
|
|
235
|
+
searchOperation[header] !== undefined &&
|
|
236
|
+
searchOperation[header] !== "between" &&
|
|
237
|
+
searchOperation[header] !== "blank" &&
|
|
238
|
+
searchOperation[header] !== "notBlank" && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
239
|
+
react_1.default.createElement("br", null),
|
|
240
|
+
react_1.default.createElement(react_2.Input, { value: searchTerms[header] || "", onChange: function (e) { return handleSearch(header, e.target.value); }, placeholder: "Search...", background: "white", color: "black" })))));
|
|
185
241
|
};
|
|
186
242
|
var handleColumnVisibilityChange = function (header) {
|
|
187
243
|
setVisibleColumns(function (prev) {
|
|
@@ -203,19 +259,43 @@ function Table(_a) {
|
|
|
203
259
|
setHoveredHeaderIndex(null);
|
|
204
260
|
closePopover();
|
|
205
261
|
};
|
|
262
|
+
var removeSearchOptionTerm = function (key, index) {
|
|
263
|
+
var newSearchTerms = __assign({}, searchTerms);
|
|
264
|
+
var newSearchOperation = __assign({}, searchOperation);
|
|
265
|
+
var newBetweenValues = __assign({}, betweenValues);
|
|
266
|
+
delete newSearchTerms[key];
|
|
267
|
+
delete newSearchOperation[key];
|
|
268
|
+
delete newBetweenValues[key];
|
|
269
|
+
setSearchTerms(newSearchTerms);
|
|
270
|
+
setSearchOperation(newSearchOperation);
|
|
271
|
+
setBetweenValues(newBetweenValues);
|
|
272
|
+
};
|
|
206
273
|
return (react_1.default.createElement(react_2.ChakraProvider, null,
|
|
207
|
-
react_1.default.createElement("div",
|
|
274
|
+
react_1.default.createElement("div", null,
|
|
275
|
+
react_1.default.createElement(react_2.Wrap, null, searchOperation &&
|
|
276
|
+
Object.keys(searchOperation).map(function (key, index) {
|
|
277
|
+
var _a, _b;
|
|
278
|
+
return (react_1.default.createElement(react_2.Tag, { size: "sm", key: index, borderRadius: "full", variant: "solid", colorScheme: "gray", m: 1 },
|
|
279
|
+
react_1.default.createElement(react_2.Box, { display: "flex", alignItems: "center" },
|
|
280
|
+
react_1.default.createElement(react_2.TagLabel, null, key),
|
|
281
|
+
react_1.default.createElement(react_2.TagLabel, { mx: 2 }, searchOperation[key]),
|
|
282
|
+
searchOperation[key] === "between" ? (react_1.default.createElement(react_2.TagLabel, null, (_a = betweenValues[key]) === null || _a === void 0 ? void 0 :
|
|
283
|
+
_a.min,
|
|
284
|
+
" - ", (_b = betweenValues[key]) === null || _b === void 0 ? void 0 :
|
|
285
|
+
_b.max)) : (react_1.default.createElement(react_2.TagLabel, null, searchTerms[key]))),
|
|
286
|
+
react_1.default.createElement(react_2.TagCloseButton, { onClick: function () { return removeSearchOptionTerm(key, index); } })));
|
|
287
|
+
})),
|
|
208
288
|
react_1.default.createElement(react_2.Box, { display: "flex", justifyContent: "flex-end" }, exportOptions && exportOptions.length > 0 && (react_1.default.createElement(react_2.Select, { placeholder: "Exports", width: 160, onChange: function (e) {
|
|
209
289
|
handleExportChange && handleExportChange(e.target.value);
|
|
210
|
-
}, value: exportLabel }, exportOptions.map(function (option) { return (react_1.default.createElement("option", { key: option.
|
|
290
|
+
}, value: exportLabel, key: exportLabel }, exportOptions.map(function (option) { return (react_1.default.createElement("option", { key: option.id, value: option.id }, option.label)); })))),
|
|
211
291
|
react_1.default.createElement("br", null),
|
|
212
292
|
react_1.default.createElement(react_2.TableContainer, null,
|
|
213
|
-
react_1.default.createElement(react_3.Table, { variant: "simple", colorScheme: "teal", size: "md", overflowX: "scroll" },
|
|
293
|
+
react_1.default.createElement(react_3.Table, { variant: "simple", colorScheme: "teal", size: "md", overflowX: "scroll", minW: "100%" },
|
|
214
294
|
react_1.default.createElement(react_3.Thead, { background: tableHeaderBgColor },
|
|
215
295
|
react_1.default.createElement(react_3.Tr, null, headers.map(function (header, index) {
|
|
216
296
|
var isFrozen = header.columnFreeze;
|
|
217
297
|
var leftOffset = calculateLeftOffset(headers, index);
|
|
218
|
-
return (visibleColumns[header.label] && (react_1.default.createElement(react_3.Th, { key: index, style: {
|
|
298
|
+
return (visibleColumns[header.label] && (react_1.default.createElement(react_3.Th, { key: index + 1, style: {
|
|
219
299
|
textTransform: "capitalize",
|
|
220
300
|
color: tableHeaderColor,
|
|
221
301
|
fontSize: "medium",
|
|
@@ -227,32 +307,43 @@ function Table(_a) {
|
|
|
227
307
|
zIndex: isFrozen ? 2 : 1,
|
|
228
308
|
background: tableHeaderBgColor,
|
|
229
309
|
textAlign: "center",
|
|
310
|
+
width: "300px",
|
|
230
311
|
}, onMouseEnter: function () { return handleMouseEnter(index); }, onMouseLeave: handleMouseLeave },
|
|
231
|
-
|
|
312
|
+
react_1.default.createElement(react_2.Button, { onClick: function () {
|
|
313
|
+
return handleSort(header.label, header.sort ? header.sort : false);
|
|
314
|
+
}, style: {
|
|
232
315
|
textTransform: "capitalize",
|
|
233
316
|
color: "white",
|
|
234
317
|
background: "none",
|
|
318
|
+
paddingRight: "0px",
|
|
235
319
|
} },
|
|
236
320
|
header.label,
|
|
237
|
-
sortField === header.label &&
|
|
238
|
-
(sortDirection === "asc" ? (react_1.default.createElement(icons_1.ArrowUpIcon, { w: 15, h: 15 })) : (react_1.default.createElement(icons_1.ArrowDownIcon, { w: 15, h: 15 })))))
|
|
239
|
-
|
|
240
|
-
react_1.default.createElement(react_2.
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
321
|
+
react_1.default.createElement("span", { style: { width: "20px" } }, sortField === header.label &&
|
|
322
|
+
(sortDirection === "asc" ? (react_1.default.createElement(icons_1.ArrowUpIcon, { w: 15, h: 15 })) : (react_1.default.createElement(icons_1.ArrowDownIcon, { w: 15, h: 15 }))))),
|
|
323
|
+
react_1.default.createElement("div", { style: { display: "inline-block", width: "10px" } },
|
|
324
|
+
react_1.default.createElement(react_2.Popover, { isOpen: activeHeader === header.label &&
|
|
325
|
+
isPopoverOpen &&
|
|
326
|
+
header.search, onClose: closePopover, placement: "bottom-start", closeOnBlur: false },
|
|
327
|
+
react_1.default.createElement(react_2.PopoverTrigger, null,
|
|
328
|
+
react_1.default.createElement("span", null,
|
|
329
|
+
react_1.default.createElement(icons_1.HamburgerIcon, { w: 15, h: 15, onClick: function () {
|
|
330
|
+
return handleHeaderClick(header.label, header.search ? header.search : false);
|
|
331
|
+
}, style: {
|
|
332
|
+
cursor: "pointer",
|
|
333
|
+
display: hoveredHeaderIndex === index &&
|
|
334
|
+
header.search
|
|
335
|
+
? "inline"
|
|
336
|
+
: "none",
|
|
337
|
+
} }))),
|
|
338
|
+
react_1.default.createElement(react_2.PopoverContent, { width: 200, zIndex: 3 },
|
|
339
|
+
react_1.default.createElement(react_2.PopoverBody, { background: "#deeefd" }, searchFeatures(header.label))))))));
|
|
249
340
|
}))),
|
|
250
|
-
react_1.default.createElement(react_3.Tbody, null, filteredData.slice(startRow, endRow).map(function (row, index) { return (react_1.default.createElement(react_3.Tr, { key: index, style: {
|
|
341
|
+
react_1.default.createElement(react_3.Tbody, null, filteredData.slice(startRow, endRow).map(function (row, index) { return (react_1.default.createElement(react_3.Tr, { key: index + 1, style: {
|
|
251
342
|
backgroundColor: index % 2 === 0 ? "#f7f7f7" : "white",
|
|
252
343
|
}, border: "none" }, headers.map(function (header, headerIndex) {
|
|
253
344
|
var isFrozen = header.columnFreeze;
|
|
254
345
|
var leftOffset = calculateLeftOffset(headers, headerIndex);
|
|
255
|
-
return (visibleColumns[header.label] && (react_1.default.createElement(react_3.Td, { key: headerIndex, style: {
|
|
346
|
+
return (visibleColumns[header.label] && (react_1.default.createElement(react_3.Td, { key: headerIndex + 1, style: {
|
|
256
347
|
border: "none",
|
|
257
348
|
textAlign: "center",
|
|
258
349
|
position: isFrozen ? "sticky" : undefined,
|
|
@@ -261,6 +352,8 @@ function Table(_a) {
|
|
|
261
352
|
: undefined,
|
|
262
353
|
zIndex: isFrozen ? 1 : 0,
|
|
263
354
|
backgroundColor: index % 2 === 0 ? "#f7f7f7" : "white",
|
|
355
|
+
// overflow: "hidden",
|
|
356
|
+
textOverflow: "ellipsis",
|
|
264
357
|
} }, typeof header.accessor_function === "function" &&
|
|
265
358
|
header.accessor_key in row
|
|
266
359
|
? header.accessor_function(row[header.accessor_key])
|
|
@@ -31,7 +31,7 @@ function ToasterProvider(_a) {
|
|
|
31
31
|
var children = _a.children;
|
|
32
32
|
var toast = (0, react_2.useToast)();
|
|
33
33
|
var showToast = function (_a) {
|
|
34
|
-
var title = _a.title, description = _a.description, status = _a.status, _b = _a.duration, duration = _b === void 0 ? 5000 : _b, _c = _a.isClosable, isClosable = _c === void 0 ? true : _c,
|
|
34
|
+
var title = _a.title, description = _a.description, status = _a.status, _b = _a.duration, duration = _b === void 0 ? 5000 : _b, _c = _a.isClosable, isClosable = _c === void 0 ? true : _c, _d = _a.position, position = _d === void 0 ? "top-right" : _d, onClose = _a.onClose;
|
|
35
35
|
toast({
|
|
36
36
|
title: title,
|
|
37
37
|
description: description,
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { ToolTipProps } from "./ToolTipProps";
|
|
3
|
-
export default function ToolTip({ placement, label, children, hasArrow, fontSize, bg, color, isDisabled, isOpen, defaultIsOpen, openDelay, closeDelay, arrowSize, closeOnClick, size, width, height, arrowPadding, arrowShadowColor, direction, gutter, onClose, modifiers, closeOnPointerDown }: ToolTipProps): React.JSX.Element;
|
|
3
|
+
export default function ToolTip({ placement, label, children, hasArrow, fontSize, bg, color, isDisabled, isOpen, defaultIsOpen, openDelay, closeDelay, arrowSize, closeOnClick, size, width, height, arrowPadding, arrowShadowColor, direction, gutter, onClose, modifiers, closeOnPointerDown, }: ToolTipProps): React.JSX.Element;
|
package/dist/Layout.js
CHANGED
|
@@ -147,9 +147,9 @@ var Layout = function () {
|
|
|
147
147
|
};
|
|
148
148
|
var _e = (0, react_2.useState)("1"), selectedValue = _e[0], setSelectedValue = _e[1];
|
|
149
149
|
var radioOptions = [
|
|
150
|
-
{ label: "Option 1",
|
|
151
|
-
{ label: "Option 2",
|
|
152
|
-
{ label: "Option 3",
|
|
150
|
+
{ label: "Option 1", id: "1" },
|
|
151
|
+
{ label: "Option 2", id: "2" },
|
|
152
|
+
{ label: "Option 3", id: "3" },
|
|
153
153
|
];
|
|
154
154
|
var handleChange = function (value) {
|
|
155
155
|
setSelectedValue(value);
|
|
@@ -170,16 +170,15 @@ var Layout = function () {
|
|
|
170
170
|
{
|
|
171
171
|
label: "name",
|
|
172
172
|
accessor_key: "name",
|
|
173
|
-
sort:
|
|
173
|
+
sort: true,
|
|
174
174
|
search: false,
|
|
175
|
-
columnFreeze:
|
|
175
|
+
columnFreeze: false,
|
|
176
176
|
},
|
|
177
177
|
{
|
|
178
178
|
label: "email",
|
|
179
179
|
accessor_key: "email",
|
|
180
180
|
sort: true,
|
|
181
181
|
search: true,
|
|
182
|
-
columnFreeze: true,
|
|
183
182
|
},
|
|
184
183
|
{
|
|
185
184
|
label: "role",
|
|
@@ -190,7 +189,7 @@ var Layout = function () {
|
|
|
190
189
|
return react_2.default.createElement("div", { onClick: function () { return console.log("hello"); } }, value.toUpperCase());
|
|
191
190
|
},
|
|
192
191
|
},
|
|
193
|
-
{ label: "age", accessor_key: "age", sort:
|
|
192
|
+
{ label: "age", accessor_key: "age", sort: false, search: true },
|
|
194
193
|
{ label: "age1", accessor_key: "age1", sort: true, search: true },
|
|
195
194
|
{ label: "age2", accessor_key: "age2", sort: true, search: true },
|
|
196
195
|
{ label: "age3", accessor_key: "age3", sort: true, search: true },
|
|
@@ -202,7 +201,7 @@ var Layout = function () {
|
|
|
202
201
|
{ label: "age9", accessor_key: "age9", sort: true, search: true },
|
|
203
202
|
{ label: "age10", accessor_key: "age10", sort: true, search: true },
|
|
204
203
|
];
|
|
205
|
-
var tableData = Array.from({ length:
|
|
204
|
+
var tableData = Array.from({ length: 9 }, function (_, i) { return ({
|
|
206
205
|
id: i + 1,
|
|
207
206
|
name: "User ".concat(i + 1),
|
|
208
207
|
email: "user".concat(i + 1, "@example.com"),
|
|
@@ -238,10 +237,9 @@ var Layout = function () {
|
|
|
238
237
|
return windowSize;
|
|
239
238
|
}
|
|
240
239
|
var _g = useWindowSize(), width = _g.width, height = _g.height;
|
|
241
|
-
// console.log(width, height);
|
|
242
240
|
var exportOptions = [
|
|
243
|
-
{
|
|
244
|
-
{
|
|
241
|
+
{ id: "PDF", label: "Export as PDF" },
|
|
242
|
+
{ id: "XLS", label: "Export as XLS" },
|
|
245
243
|
];
|
|
246
244
|
var data = Array.from({ length: 10 }, function () {
|
|
247
245
|
return Math.floor(Math.random() * 100);
|
|
@@ -277,7 +275,7 @@ var Layout = function () {
|
|
|
277
275
|
console.log(e.target.files);
|
|
278
276
|
} }),
|
|
279
277
|
react_2.default.createElement("br", null),
|
|
280
|
-
react_2.default.createElement(Button_1.default, { label: "
|
|
278
|
+
react_2.default.createElement(Button_1.default, { label: "Tosterbuttonjhgbjhbjhbjhbjhbjhbjhbjhbkjhbkjbkjbkjbkjbkjbkjbkjbkjbkjbkjn", onClick: handleOnclick, variant: "solid", color: "blue", size: "md", width: 500 }),
|
|
281
279
|
react_2.default.createElement("br", null),
|
|
282
280
|
react_2.default.createElement("br", null),
|
|
283
281
|
react_2.default.createElement(Checkbox_1.default, { label: "hello world" }),
|
|
@@ -285,7 +283,7 @@ var Layout = function () {
|
|
|
285
283
|
react_2.default.createElement("br", null),
|
|
286
284
|
react_2.default.createElement(Button_1.default, { label: "ModelButton", onClick: handleOnclick2, width: 250, variant: "solid", color: "blue" }),
|
|
287
285
|
react_2.default.createElement("br", null),
|
|
288
|
-
react_2.default.createElement(Modal_1.default, { isOpen: isOpen, onClose: function () { return setIsOpen(false); }, overlaybg: "blackAlpha.300", overlaybackdropFilter: "blur(10px) hue-rotate(90deg)", size: "sm", isCentered: true }, "
|
|
286
|
+
react_2.default.createElement(Modal_1.default, { isOpen: isOpen, onClose: function () { return setIsOpen(false); }, overlaybg: "blackAlpha.300", overlaybackdropFilter: "blur(10px) hue-rotate(90deg)", size: "sm", isCentered: true }, "helldddddlokdfjsvhbsdflijvbsdfpijvbdfpsivb pdfisjbnvpdfjibnvpidfjbnvpidfjnbvpdfijnvpdifjnvpijdfbnvijdfnvpijdfbovu hbdsouhv bdsohu vbsdhv bskhj bsdkh"),
|
|
289
287
|
react_2.default.createElement("br", null),
|
|
290
288
|
react_2.default.createElement(Select_1.default, { options: [
|
|
291
289
|
{ id: 1, label: "mages" },
|
|
@@ -333,7 +331,7 @@ var Layout = function () {
|
|
|
333
331
|
// }}
|
|
334
332
|
exportOptions: exportOptions, handleExportChange: function (value) {
|
|
335
333
|
console.log("click label", value);
|
|
336
|
-
}, isLoading:
|
|
334
|
+
}, isLoading: false, loadingContaxt: react_2.default.createElement(react_1.Stack, { spacing: 4 },
|
|
337
335
|
react_2.default.createElement(react_1.Stack, { direction: "row", justifyContent: "space-between", paddingX: "4", paddingY: "2" },
|
|
338
336
|
react_2.default.createElement(react_1.Skeleton, { height: "20px", width: "10%" }),
|
|
339
337
|
react_2.default.createElement(react_1.Skeleton, { height: "20px", width: "20%" }),
|
|
@@ -283,7 +283,14 @@ var theme = (0, react_1.extendTheme)({
|
|
|
283
283
|
cssVarPrefix: 'ck',
|
|
284
284
|
},
|
|
285
285
|
components: {
|
|
286
|
-
|
|
286
|
+
Select: {
|
|
287
|
+
baseStyle: {
|
|
288
|
+
field: {
|
|
289
|
+
background: "#3182ce",
|
|
290
|
+
color: "white",
|
|
291
|
+
},
|
|
292
|
+
},
|
|
293
|
+
},
|
|
287
294
|
},
|
|
288
295
|
});
|
|
289
296
|
exports.default = theme;
|
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,6 @@ import Select from "./Components/Select/Select";
|
|
|
19
19
|
import SideBar from "./Components/SideBar/SideBar";
|
|
20
20
|
import Skeletons from "./Components/Skeletons/Skeletons";
|
|
21
21
|
import Table from "./Components/Table/Table";
|
|
22
|
-
import Toaster from "./Components/Toaster/Toaster";
|
|
22
|
+
import Toaster, { useToaster } from "./Components/Toaster/Toaster";
|
|
23
23
|
import ToolTip from "./Components/ToolTip/ToolTip";
|
|
24
|
-
export { ApexBarChart, ApexPieChart, Breadcrumbs, Button, Checkbox, ButtonGroupIcon, TextInput, InputTextArea, Loading, Modal, NavigationBar, NumberInput, PinInput, ProfileCard, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Select, SideBar, Skeletons, Table, Toaster, ToolTip };
|
|
24
|
+
export { ApexBarChart, ApexPieChart, Breadcrumbs, Button, Checkbox, ButtonGroupIcon, TextInput, InputTextArea, Loading, Modal, NavigationBar, NumberInput, PinInput, ProfileCard, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Select, SideBar, Skeletons, Table, Toaster, ToolTip, useToaster, };
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
27
|
};
|
|
5
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ToolTip = exports.Toaster = exports.Table = exports.Skeletons = exports.SideBar = exports.Select = exports.RadioButtonGroup = exports.RadioButton = exports.ProgressBar = exports.ProfilePhotoViewer = exports.ProfileCard = exports.PinInput = exports.NumberInput = exports.NavigationBar = exports.Modal = exports.Loading = exports.InputTextArea = exports.TextInput = exports.ButtonGroupIcon = exports.Checkbox = exports.Button = exports.Breadcrumbs = exports.ApexPieChart = exports.ApexBarChart = void 0;
|
|
29
|
+
exports.useToaster = exports.ToolTip = exports.Toaster = exports.Table = exports.Skeletons = exports.SideBar = exports.Select = exports.RadioButtonGroup = exports.RadioButton = exports.ProgressBar = exports.ProfilePhotoViewer = exports.ProfileCard = exports.PinInput = exports.NumberInput = exports.NavigationBar = exports.Modal = exports.Loading = exports.InputTextArea = exports.TextInput = exports.ButtonGroupIcon = exports.Checkbox = exports.Button = exports.Breadcrumbs = exports.ApexPieChart = exports.ApexBarChart = void 0;
|
|
7
30
|
var ApexBarChart_1 = __importDefault(require("./Components/Apexcharts/ApexBarChart/ApexBarChart"));
|
|
8
31
|
exports.ApexBarChart = ApexBarChart_1.default;
|
|
9
32
|
var ApexPieChart_1 = __importDefault(require("./Components/Apexcharts/ApexPieChart/ApexPieChart"));
|
|
@@ -47,7 +70,8 @@ var Skeletons_1 = __importDefault(require("./Components/Skeletons/Skeletons"));
|
|
|
47
70
|
exports.Skeletons = Skeletons_1.default;
|
|
48
71
|
var Table_1 = __importDefault(require("./Components/Table/Table"));
|
|
49
72
|
exports.Table = Table_1.default;
|
|
50
|
-
var Toaster_1 =
|
|
73
|
+
var Toaster_1 = __importStar(require("./Components/Toaster/Toaster"));
|
|
51
74
|
exports.Toaster = Toaster_1.default;
|
|
75
|
+
Object.defineProperty(exports, "useToaster", { enumerable: true, get: function () { return Toaster_1.useToaster; } });
|
|
52
76
|
var ToolTip_1 = __importDefault(require("./Components/ToolTip/ToolTip"));
|
|
53
77
|
exports.ToolTip = ToolTip_1.default;
|
package/package.json
CHANGED
package/webpack.config.js
CHANGED
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
const path = require("path");
|
|
3
3
|
module.exports = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
4
|
+
// Entry point of your application
|
|
5
|
+
entry: "./src/index.ts",
|
|
6
|
+
// Development mode for better debugging
|
|
7
|
+
mode: "development",
|
|
8
|
+
module: {
|
|
9
|
+
rules: [
|
|
10
|
+
// TypeScript loader
|
|
11
|
+
{
|
|
12
|
+
test: /\.tsx?$/,
|
|
13
|
+
use: "ts-loader",
|
|
14
|
+
exclude: /node_modules/,
|
|
15
|
+
},
|
|
16
|
+
// CSS loader
|
|
17
|
+
{
|
|
18
|
+
test: /\.css$/,
|
|
19
|
+
use: ["style-loader", "css-loader"],
|
|
20
|
+
},
|
|
21
|
+
// File loader for image assets
|
|
22
|
+
{
|
|
23
|
+
test: /\.(png|svg|jpg|jpeg|gif)$/i,
|
|
24
|
+
type: "asset/resource",
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
},
|
|
28
|
+
resolve: {
|
|
29
|
+
// Add `.ts` and `.tsx` as resolvable extensions.
|
|
30
|
+
extensions: [".tsx", ".ts", ".js"],
|
|
31
|
+
},
|
|
32
|
+
output: {
|
|
33
|
+
// Output directory
|
|
34
|
+
path: path.resolve(__dirname, "dist"),
|
|
35
|
+
// Output file name
|
|
36
|
+
filename: "bundle.js",
|
|
37
|
+
},
|
|
38
|
+
// Source maps for debugging
|
|
39
|
+
devtool: "inline-source-map",
|
|
40
|
+
// Dev server configuration
|
|
41
|
+
devServer: {
|
|
42
|
+
static: {
|
|
43
|
+
directory: path.join(__dirname, "public"),
|
|
27
44
|
},
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
output: {
|
|
33
|
-
// Output directory
|
|
34
|
-
path: path.resolve(__dirname, 'dist'),
|
|
35
|
-
// Output file name
|
|
36
|
-
filename: 'bundle.js',
|
|
37
|
-
},
|
|
38
|
-
// Source maps for debugging
|
|
39
|
-
devtool: 'inline-source-map',
|
|
40
|
-
// Dev server configuration
|
|
41
|
-
devServer: {
|
|
42
|
-
static: {
|
|
43
|
-
directory: path.join(__dirname, 'public'),
|
|
44
|
-
},
|
|
45
|
-
compress: true,
|
|
46
|
-
port: 9000,
|
|
47
|
-
},
|
|
48
|
-
};
|
|
45
|
+
compress: true,
|
|
46
|
+
port: 9000,
|
|
47
|
+
},
|
|
48
|
+
};
|