@gobolt/genesis 0.3.21 → 0.3.23

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 (133) hide show
  1. package/dist/components/Button/components/Button/Button.d.ts +16 -0
  2. package/dist/components/Button/components/Button/Button.js +13 -0
  3. package/dist/components/Button/components/Button/styles.d.ts +1 -0
  4. package/dist/components/Button/components/Button/styles.js +118 -0
  5. package/dist/components/Button/constants/index.d.ts +163 -0
  6. package/dist/components/Button/constants/index.js +89 -0
  7. package/dist/components/Table/Table/Table.d.ts +51 -0
  8. package/dist/components/Table/Table/Table.js +14 -0
  9. package/dist/components/Table/Table/TableControls/CustomPagination.d.ts +13 -0
  10. package/dist/components/Table/Table/TableControls/CustomPagination.js +158 -0
  11. package/dist/components/Table/Table/TableControls/PaginationNumber.d.ts +7 -0
  12. package/dist/components/Table/Table/TableControls/PaginationNumber.js +30 -0
  13. package/dist/components/Table/Table/styles.d.ts +14 -0
  14. package/dist/components/Table/Table/styles.js +64 -0
  15. package/dist/components/Table/Table/useTable.d.ts +26 -0
  16. package/dist/components/Table/Table/useTable.js +141 -0
  17. package/dist/components/Table/Typography/Typography.d.ts +17 -0
  18. package/dist/components/Table/Typography/Typography.js +16 -0
  19. package/dist/components/Table/Typography/index.d.ts +2 -0
  20. package/dist/components/Table/Typography/index.js +1 -0
  21. package/dist/components/Table/Typography/styles.d.ts +3 -0
  22. package/dist/components/Table/Typography/styles.js +54 -0
  23. package/dist/components/TableWithControls/components/Badge/Badge.d.ts +16 -0
  24. package/dist/components/TableWithControls/components/Badge/Badge.js +28 -0
  25. package/dist/components/TableWithControls/components/Badge/index.d.ts +2 -0
  26. package/dist/components/TableWithControls/components/Badge/index.js +1 -0
  27. package/dist/components/TableWithControls/components/Badge/styles.d.ts +4 -0
  28. package/dist/components/TableWithControls/components/Badge/styles.js +46 -0
  29. package/dist/components/TableWithControls/components/Button/Button.d.ts +16 -0
  30. package/dist/components/TableWithControls/components/Button/Button.js +13 -0
  31. package/dist/components/TableWithControls/components/Button/IconButton.d.ts +8 -0
  32. package/dist/components/TableWithControls/components/Button/IconButton.js +9 -0
  33. package/dist/components/TableWithControls/components/Button/icon-button-styles.d.ts +1 -0
  34. package/dist/components/TableWithControls/components/Button/icon-button-styles.js +76 -0
  35. package/dist/components/TableWithControls/components/Button/index.d.ts +4 -0
  36. package/dist/components/TableWithControls/components/Button/index.js +2 -0
  37. package/dist/components/TableWithControls/components/Button/styles.d.ts +1 -0
  38. package/dist/components/TableWithControls/components/Button/styles.js +118 -0
  39. package/dist/components/TableWithControls/components/Input/Input.d.ts +13 -0
  40. package/dist/components/TableWithControls/components/Input/Input.js +34 -0
  41. package/dist/components/TableWithControls/components/Input/index.d.ts +2 -0
  42. package/dist/components/TableWithControls/components/Input/index.js +1 -0
  43. package/dist/components/TableWithControls/components/Input/styles.d.ts +1 -0
  44. package/dist/components/TableWithControls/components/Input/styles.js +180 -0
  45. package/dist/components/TableWithControls/components/Select/Select.d.ts +26 -0
  46. package/dist/components/TableWithControls/components/Select/Select.js +175 -0
  47. package/dist/components/TableWithControls/components/Select/SelectTrigger.d.ts +23 -0
  48. package/dist/components/TableWithControls/components/Select/SelectTrigger.js +103 -0
  49. package/dist/components/TableWithControls/components/Select/index.d.ts +2 -0
  50. package/dist/components/TableWithControls/components/Select/index.js +1 -0
  51. package/dist/components/TableWithControls/components/Table/Table.d.ts +51 -0
  52. package/dist/components/TableWithControls/components/Table/Table.js +14 -0
  53. package/dist/components/TableWithControls/components/Table/TableControls/CustomPagination.d.ts +13 -0
  54. package/dist/components/TableWithControls/components/Table/TableControls/CustomPagination.js +158 -0
  55. package/dist/components/TableWithControls/components/Table/TableControls/PaginationNumber.d.ts +7 -0
  56. package/dist/components/TableWithControls/components/Table/TableControls/PaginationNumber.js +30 -0
  57. package/dist/components/TableWithControls/components/Table/TableControls/PrimaryTableControlsRow.d.ts +18 -0
  58. package/dist/components/TableWithControls/components/Table/TableControls/PrimaryTableControlsRow.js +77 -0
  59. package/dist/components/TableWithControls/components/Table/TableControls/SecondaryTableControlsRow.d.ts +11 -0
  60. package/dist/components/TableWithControls/components/Table/TableControls/SecondaryTableControlsRow.js +43 -0
  61. package/dist/components/TableWithControls/components/Table/TableControls/TableControls.d.ts +14 -0
  62. package/dist/components/TableWithControls/components/Table/TableControls/TableControls.js +13 -0
  63. package/dist/components/TableWithControls/components/Table/TableControls/index.d.ts +2 -0
  64. package/dist/components/TableWithControls/components/Table/TableControls/index.js +1 -0
  65. package/dist/components/TableWithControls/components/Table/TablePagination.d.ts +13 -0
  66. package/dist/components/TableWithControls/components/Table/TablePagination.js +11 -0
  67. package/dist/components/TableWithControls/components/Table/__mocks__/table-mocks.d.ts +20 -0
  68. package/dist/components/TableWithControls/components/Table/__mocks__/table-mocks.js +301 -0
  69. package/dist/components/TableWithControls/components/Table/index.d.ts +6 -0
  70. package/dist/components/TableWithControls/components/Table/index.js +3 -0
  71. package/dist/components/TableWithControls/components/Table/styles.d.ts +14 -0
  72. package/dist/components/TableWithControls/components/Table/styles.js +64 -0
  73. package/dist/components/TableWithControls/components/Table/useTable.d.ts +26 -0
  74. package/dist/components/TableWithControls/components/Table/useTable.js +141 -0
  75. package/dist/components/TableWithControls/components/TableWithControls/TableWithControls.d.ts +12 -0
  76. package/dist/components/TableWithControls/components/TableWithControls/TableWithControls.js +20 -0
  77. package/dist/components/TableWithControls/components/TableWithControls/useTableWithControls.d.ts +29 -0
  78. package/dist/components/TableWithControls/components/TableWithControls/useTableWithControls.js +136 -0
  79. package/dist/components/TableWithControls/components/Tooltip/Tooltip.d.ts +7 -0
  80. package/dist/components/TableWithControls/components/Tooltip/Tooltip.js +8 -0
  81. package/dist/components/TableWithControls/components/Tooltip/index.d.ts +2 -0
  82. package/dist/components/TableWithControls/components/Tooltip/index.js +1 -0
  83. package/dist/components/TableWithControls/components/Tooltip/styles.d.ts +6 -0
  84. package/dist/components/TableWithControls/components/Tooltip/styles.js +26 -0
  85. package/dist/components/TableWithControls/components/Typography/Typography.d.ts +17 -0
  86. package/dist/components/TableWithControls/components/Typography/Typography.js +16 -0
  87. package/dist/components/TableWithControls/components/Typography/index.d.ts +2 -0
  88. package/dist/components/TableWithControls/components/Typography/index.js +1 -0
  89. package/dist/components/TableWithControls/components/Typography/styles.d.ts +3 -0
  90. package/dist/components/TableWithControls/components/Typography/styles.js +54 -0
  91. package/dist/components/TableWithControls/components/UtilityButton/UtilityButton.d.ts +5 -0
  92. package/dist/components/TableWithControls/components/UtilityButton/UtilityButton.js +9 -0
  93. package/dist/components/TableWithControls/components/UtilityButton/index.d.ts +2 -0
  94. package/dist/components/TableWithControls/components/UtilityButton/index.js +1 -0
  95. package/dist/components/TableWithControls/components/shared/DropdownChevron.d.ts +2 -0
  96. package/dist/components/TableWithControls/components/shared/DropdownChevron.js +7 -0
  97. package/dist/components/TableWithControls/constants/index.d.ts +163 -0
  98. package/dist/components/TableWithControls/constants/index.js +89 -0
  99. package/dist/components/TableWithControls/types/events.d.ts +22 -0
  100. package/dist/components/TableWithControls/types/events.js +1 -0
  101. package/dist/components/TableWithControls/utils/icon-util.d.ts +3 -0
  102. package/dist/components/TableWithControls/utils/icon-util.js +116 -0
  103. package/dist/components/UtilityButton/components/Button/Button.d.ts +16 -0
  104. package/dist/components/UtilityButton/components/Button/Button.js +13 -0
  105. package/dist/components/UtilityButton/components/Button/IconButton.d.ts +8 -0
  106. package/dist/components/UtilityButton/components/Button/IconButton.js +9 -0
  107. package/dist/components/UtilityButton/components/Button/icon-button-styles.d.ts +1 -0
  108. package/dist/components/UtilityButton/components/Button/icon-button-styles.js +76 -0
  109. package/dist/components/UtilityButton/components/Button/index.d.ts +4 -0
  110. package/dist/components/UtilityButton/components/Button/index.js +2 -0
  111. package/dist/components/UtilityButton/components/Button/styles.d.ts +1 -0
  112. package/dist/components/UtilityButton/components/Button/styles.js +118 -0
  113. package/dist/components/UtilityButton/components/UtilityButton/UtilityButton.d.ts +5 -0
  114. package/dist/components/UtilityButton/components/UtilityButton/UtilityButton.js +9 -0
  115. package/dist/components/UtilityButton/constants/index.d.ts +163 -0
  116. package/dist/components/UtilityButton/constants/index.js +89 -0
  117. package/dist/components/index.d.ts +6 -6
  118. package/dist/components/index.js +7 -0
  119. package/dist/components/index.ts +6 -6
  120. package/dist/constants/index.js +14 -14
  121. package/dist/index.d.ts +9 -9
  122. package/dist/index.js +10 -0
  123. package/dist/index.ts +9 -9
  124. package/package.json +1 -1
  125. package/dist/components/Button/Button.tsx +0 -59
  126. package/dist/components/Table/Table.tsx +0 -112
  127. package/dist/components/Table/useTable.ts +0 -194
  128. package/dist/components/TableWithControls/TableWithControls.tsx +0 -54
  129. package/dist/components/TableWithControls/useTableWithControls.tsx +0 -161
  130. package/dist/components/UtilityButton/UtilityButton.tsx +0 -36
  131. package/dist/constants/index.ts +0 -98
  132. package/dist/styles/theme/genesis-theme.types.ts +0 -297
  133. package/dist/utils/styled.ts +0 -52
@@ -0,0 +1,116 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { STATE } from "@gobolt/genesis/constants";
3
+ const iconSize = 18;
4
+ // check circle filled & outline
5
+ import { FaCircleCheck } from "react-icons/fa6";
6
+ import { HiOutlineCheckCircle } from "react-icons/hi";
7
+ // info circle filled & outline
8
+ import { PiInfoFill, PiInfo } from "react-icons/pi";
9
+ // error circle filled & outline
10
+ import { HiXCircle } from "react-icons/hi";
11
+ import { HiOutlineXCircle } from "react-icons/hi";
12
+ // warning circle filled & outline
13
+ import { HiExclamationCircle } from "react-icons/hi";
14
+ import { HiOutlineExclamationCircle } from "react-icons/hi";
15
+ // minus circle filled & outline
16
+ import { HiMinusCircle } from "react-icons/hi";
17
+ import { HiOutlineMinusCircle } from "react-icons/hi";
18
+ // clock circle filled & outline
19
+ import { HiClock } from "react-icons/hi";
20
+ import { HiOutlineClock } from "react-icons/hi";
21
+ import { HiOutlineGlobe } from "react-icons/hi";
22
+ import { TbFiles } from "react-icons/tb";
23
+ import { LuTag } from "react-icons/lu";
24
+ export const getIcon = (name) => {
25
+ switch (name.toLowerCase()) {
26
+ case "orders": {
27
+ return _jsx(LuTag, {});
28
+ }
29
+ case "warehouse": {
30
+ return _jsx(HiOutlineGlobe, {});
31
+ }
32
+ case "availability": {
33
+ return _jsx(TbFiles, {});
34
+ }
35
+ default: {
36
+ return null;
37
+ }
38
+ }
39
+ };
40
+ export const getIconColor = (state, theme) => {
41
+ switch (state) {
42
+ case STATE.error: {
43
+ return theme.colors.status.error.onsurface;
44
+ }
45
+ case STATE.success: {
46
+ return theme.colors.status.success.onsurface;
47
+ }
48
+ case STATE.warning: {
49
+ return theme.colors.status.warning.default;
50
+ }
51
+ case STATE.removed: {
52
+ return theme.colors.status.generic.default;
53
+ }
54
+ case STATE.progress: {
55
+ return theme.colors.timebox.evening.default;
56
+ }
57
+ case STATE.info:
58
+ default: {
59
+ return theme.colors.status.info.onsurface;
60
+ }
61
+ }
62
+ };
63
+ export const getBadgeStateIcon = (state, color, isFilled = true, hasIcon = true, customIcon = null) => {
64
+ if (!state || !hasIcon) {
65
+ return null;
66
+ }
67
+ if (customIcon) {
68
+ return customIcon;
69
+ }
70
+ if (!isFilled) {
71
+ switch (state) {
72
+ // isFilled is false
73
+ case STATE.warning: {
74
+ return _jsx(HiOutlineExclamationCircle, { size: iconSize, style: { color } });
75
+ }
76
+ case STATE.error: {
77
+ return _jsx(HiOutlineXCircle, { size: iconSize, style: { color } });
78
+ }
79
+ case STATE.success: {
80
+ return _jsx(HiOutlineCheckCircle, { size: iconSize, style: { color } });
81
+ }
82
+ case STATE.progress: {
83
+ return _jsx(HiOutlineClock, { size: iconSize, style: { color } });
84
+ }
85
+ case STATE.removed: {
86
+ return _jsx(HiOutlineMinusCircle, { size: iconSize, style: { color } });
87
+ }
88
+ case STATE.info:
89
+ default: {
90
+ return _jsx(PiInfo, { size: iconSize, style: { color } });
91
+ }
92
+ }
93
+ }
94
+ switch (state) {
95
+ // isFilled is true
96
+ case STATE.warning: {
97
+ return _jsx(HiExclamationCircle, { size: iconSize, style: { color } });
98
+ }
99
+ case STATE.error: {
100
+ return _jsx(HiXCircle, { size: iconSize, style: { color } });
101
+ }
102
+ case STATE.success: {
103
+ return _jsx(FaCircleCheck, { size: iconSize, style: { color } });
104
+ }
105
+ case STATE.progress: {
106
+ return _jsx(HiClock, { size: iconSize, style: { color } });
107
+ }
108
+ case STATE.removed: {
109
+ return _jsx(HiMinusCircle, { size: iconSize, style: { color } });
110
+ }
111
+ case STATE.info:
112
+ default: {
113
+ return _jsx(PiInfoFill, { size: iconSize, style: { color } });
114
+ }
115
+ }
116
+ };
@@ -0,0 +1,16 @@
1
+ import React, { MouseEvent } from "react";
2
+ import type { ButtonProps as AntButtonProperties } from "antd/es/button";
3
+ import { STATE } from "../../constants";
4
+ type ButtonThemeType = "primary" | "secondary" | "tertiary" | "destructive" | "utility" | "icon";
5
+ export interface ButtonProps extends Omit<AntButtonProperties, "type" | "size"> {
6
+ onClick?: (event: MouseEvent<HTMLButtonElement>) => void;
7
+ children?: React.ReactNode;
8
+ themeType?: ButtonThemeType;
9
+ state?: keyof typeof STATE;
10
+ isIconButton?: boolean;
11
+ size?: "small" | "normal" | "large";
12
+ isSelected?: boolean;
13
+ icon?: React.ReactNode;
14
+ }
15
+ declare const Button: React.FC<ButtonProps>;
16
+ export default Button;
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as S from "./styles";
3
+ const getState = (state, isSelected) => {
4
+ if (isSelected) {
5
+ return "selected";
6
+ }
7
+ return state === "active" || state === "disabled" ? state : "active";
8
+ };
9
+ const Button = ({ children, onClick, themeType = "primary", state = "active", isIconButton = false, size = "normal", isSelected, ...rest }) => {
10
+ const buttonState = getState(state, isSelected);
11
+ return (_jsx(S.Button, { onClick: onClick, "$themeType": themeType, "$state": buttonState, disabled: state === "disabled" || rest.disabled, "$isIconButton": isIconButton, size: size, ...rest, children: children }));
12
+ };
13
+ export default Button;
@@ -0,0 +1,8 @@
1
+ import type { ButtonProps } from "./Button";
2
+ export interface IconButtonProps extends Omit<ButtonProps, "themeType" | "size"> {
3
+ icon: React.ReactNode;
4
+ size?: "small" | "normal" | "large";
5
+ isSelected?: boolean;
6
+ }
7
+ declare const IconButton: ({ isSelected, state, onClick, icon, size, ...rest }: IconButtonProps) => import("react/jsx-runtime").JSX.Element;
8
+ export default IconButton;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as S from "./icon-button-styles";
3
+ import { TYPE } from "../../constants";
4
+ const IconButton = ({ isSelected = false, state = "active", onClick, icon, size = "small", ...rest }) => {
5
+ const buttonState = state === "active" || state === "disabled" ? state : "active";
6
+ const themeType = TYPE.icon;
7
+ return (_jsx(S.Button, { onClick: onClick, "$themeType": themeType, "$state": buttonState, disabled: state === "disabled" || rest.disabled, size: size, "$isSelected": isSelected, ...rest, children: icon }));
8
+ };
9
+ export default IconButton;
@@ -0,0 +1 @@
1
+ export declare const Button: any;
@@ -0,0 +1,76 @@
1
+ import styled from "@gobolt/genesis/utils/styled";
2
+ const getPadding = (size, sizing) => {
3
+ if (size === "small") {
4
+ return `${sizing.Size1}px ${sizing.Size1}px`;
5
+ }
6
+ return `${sizing.Size2}px ${sizing.Size2}px`;
7
+ };
8
+ const getVariant = ({ colors, sizing, borderRadius, components }, $themeType, $state, size, $isSelected) => {
9
+ return `
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ text-align: center;
14
+ color: ${colors[$themeType][$state].color};
15
+ font-size: ${sizing.Size4}px;
16
+ line-height: ${sizing.Size6}px;
17
+ letter-spacing: 0;
18
+ font-weight: 400;
19
+ border-width: 1px;
20
+ cursor: pointer;
21
+ width: auto; !important;
22
+ height: auto; !important;
23
+
24
+ background-color:${$isSelected
25
+ ? colors[$themeType].hover.backgroundColor
26
+ : colors[$themeType][$state].backgroundColor};
27
+ padding: ${getPadding(size, sizing)};
28
+
29
+ box-shadow: ${$themeType === "utility" ? "0px 1px 2px 0px #00000026" : "none"};
30
+
31
+ border-radius: ${borderRadius.BorderRadiusMd}px;
32
+ gap: ${components.button.gap}px;
33
+ border-style: solid;
34
+ border-color: ${colors[$themeType][$state].borderColor};
35
+
36
+ transition: all 0.2s ease-in-out;
37
+
38
+ &:hover {
39
+ color: ${colors[$themeType].hover.color};
40
+ background-color: ${colors[$themeType].hover.backgroundColor};
41
+ border-color: ${colors[$themeType].hover.borderColor};
42
+ }
43
+
44
+ &:active {
45
+ color: ${colors[$themeType].pressed.color};
46
+ background-color: ${colors[$themeType].pressed.backgroundColor};
47
+ border-color: ${colors[$themeType].pressed.borderColor};
48
+ }
49
+
50
+ &:focus-visible {
51
+ outline: none;
52
+ color: ${colors[$themeType].focussed.color};
53
+ background-color: ${colors[$themeType].focussed.backgroundColor};
54
+ box-shadow: 0 0 0 1px #fff, 0 0 0 4px ${colors[$themeType].focussed.ringColor};
55
+ border-radius: ${borderRadius.BorderRadiusMd}px;
56
+ border-color: ${colors[$themeType].focussed.borderColor};
57
+ transition: box-shadow 0.2s ease-in-out;
58
+ }
59
+
60
+ &:disabled {
61
+ color: ${colors[$themeType].disabled.color};
62
+ background-color: ${colors[$themeType].disabled.backgroundColor};
63
+ border-color: ${colors[$themeType].disabled.borderColor};
64
+ cursor: not-allowed;
65
+ }
66
+ `;
67
+ };
68
+ const getGenesisButtonClass = (theme, $themeType, $state, size, $isSelected) => `
69
+ font-family: 'Inter', sans-serif;
70
+ ${getVariant(theme, $themeType, $state, size, $isSelected)}
71
+ `;
72
+ export const Button = styled.button `
73
+ ${({ theme, $themeType, $state, size, $isSelected }) => {
74
+ return getGenesisButtonClass(theme, $themeType, $state, size, $isSelected);
75
+ }}
76
+ `;
@@ -0,0 +1,4 @@
1
+ export { default } from "./Button";
2
+ export type { ButtonProps } from "./Button";
3
+ export { default as IconButton } from "./IconButton";
4
+ export type { IconButtonProps } from "./IconButton";
@@ -0,0 +1,2 @@
1
+ export { default } from "./Button";
2
+ export { default as IconButton } from "./IconButton";
@@ -0,0 +1 @@
1
+ export declare const Button: any;
@@ -0,0 +1,118 @@
1
+ import styled from "@gobolt/genesis/utils/styled";
2
+ import { Button as AntButton } from "antd";
3
+ const getPadding = (size, $themeType, sizing, $isIconButton) => {
4
+ if ($isIconButton && (size === "normal" || size === "large")) {
5
+ return `${sizing.Size2}px ${sizing.Size2}px`;
6
+ }
7
+ if ($isIconButton && size === "small") {
8
+ return `${sizing.Size1}px ${sizing.Size1}px`;
9
+ }
10
+ // utility button padding is different from the main button
11
+ if ($themeType === "utility" && size === "small") {
12
+ return `${sizing.Size1_5}px ${sizing.Size2}px`;
13
+ }
14
+ if ($themeType === "utility" && (size === "normal" || size === "large")) {
15
+ return `${sizing.Size2_5}px ${sizing.Size3}px`;
16
+ }
17
+ if (size === "small") {
18
+ return `${sizing.Size1_5}px ${sizing.Size4}px`;
19
+ }
20
+ if (size === "normal" || size === "large") {
21
+ return `${sizing.Size2_5}px ${sizing.Size6}px`;
22
+ }
23
+ return `${sizing.Size2}px ${sizing.Size2}px`;
24
+ };
25
+ const getHeight = (size) => {
26
+ if (size === "normal" || size === "large") {
27
+ return `40px`;
28
+ }
29
+ if (size === "small") {
30
+ return `32px`;
31
+ }
32
+ return `40px`;
33
+ };
34
+ const getWidth = (size, $isIconButton) => {
35
+ if (!$isIconButton) {
36
+ return `auto`;
37
+ }
38
+ if (size === "normal" || size === "large") {
39
+ return `40px`;
40
+ }
41
+ if (size === "small") {
42
+ return `32px`;
43
+ }
44
+ return `40px`;
45
+ };
46
+ const getVariant = ({ colors, sizing, borderRadius, components }, $themeType, $state, size, $isIconButton) => {
47
+ const backgroundColor = colors[$themeType][$state].backgroundColor;
48
+ return `
49
+ &.ant-btn {
50
+
51
+ color: ${colors[$themeType][$state].color};
52
+ font-size: ${sizing.Size4}px;
53
+ line-height: ${sizing.Size6}px;
54
+ letter-spacing: 0;
55
+ font-weight: 400;
56
+ border-width: 1px;
57
+ line-height: 1 !important;
58
+
59
+ width: ${getWidth(size, $isIconButton)}; !important;
60
+ height: ${getHeight(size)}; !important;
61
+
62
+ background-color: ${colors[$themeType][$state].backgroundColor};
63
+ padding: ${getPadding(size, $themeType, sizing, $isIconButton)};
64
+
65
+ box-shadow: ${$themeType === "utility" ? "0px 1px 2px 0px #00000026" : "none"};
66
+
67
+ border-radius: ${borderRadius.BorderRadiusMd}px;
68
+ gap: ${components.button.gap}px;
69
+ border-style: solid;
70
+ border-color: ${colors[$themeType][$state].borderColor};
71
+
72
+ transition: all 0.2s ease-in-out;
73
+
74
+ &:hover {
75
+ color: ${colors[$themeType].hover.color};
76
+ background-color: ${colors[$themeType].hover.backgroundColor};
77
+ border-color: ${colors[$themeType].hover.borderColor};
78
+ }
79
+
80
+ &:active {
81
+ color: ${colors[$themeType].pressed.color};
82
+ background-color: ${colors[$themeType].pressed.backgroundColor};
83
+ border-color: ${colors[$themeType].pressed.borderColor};
84
+ }
85
+
86
+ &:focus-visible {
87
+ outline: none;
88
+ color: ${colors[$themeType].focussed.color};
89
+ background-color: ${colors[$themeType].focussed.backgroundColor};
90
+ box-shadow: 0 0 0 1px #fff, 0 0 0 4px ${colors[$themeType].focussed.ringColor};
91
+ border-radius: ${borderRadius.BorderRadiusMd}px;
92
+ border-color: ${colors[$themeType].focussed.borderColor};
93
+ transition: box-shadow 0.2s ease-in-out;
94
+ }
95
+
96
+ &:disabled {
97
+ color: ${colors[$themeType].disabled.color};
98
+ background-color: ${colors[$themeType].disabled.backgroundColor};
99
+ border-color: ${colors[$themeType].disabled.borderColor};
100
+ cursor: not-allowed;
101
+ }
102
+
103
+ }
104
+
105
+ `;
106
+ };
107
+ const getGenesisButtonClass = (theme, $themeType, $state, $isIconButton, size) => `
108
+ &.ant-btn {
109
+ font-family: 'Inter', sans-serif;
110
+
111
+ ${getVariant(theme, $themeType, $state, size, $isIconButton)}
112
+ }
113
+ `;
114
+ export const Button = styled(AntButton) `
115
+ ${({ theme, $themeType, $state, children, $isIconButton, size }) => {
116
+ return getGenesisButtonClass(theme, $themeType, $state, $isIconButton, size);
117
+ }}
118
+ `;
@@ -0,0 +1,5 @@
1
+ import type { ButtonProps } from "../Button";
2
+ export interface UtilityButtonProps extends Omit<ButtonProps, "themeType"> {
3
+ }
4
+ declare const UtilityButton: ({ children, onClick, state, isIconButton, size, ...rest }: UtilityButtonProps) => import("react/jsx-runtime").JSX.Element;
5
+ export default UtilityButton;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import Button from "../Button";
3
+ import { TYPE } from "../../constants";
4
+ const UtilityButton = ({ children, onClick, state = "active", isIconButton = false, size = "normal", ...rest }) => {
5
+ const buttonState = state === "active" || state === "disabled" ? state : "active";
6
+ const themeType = TYPE.utility;
7
+ return (_jsx(Button, { onClick: onClick, themeType: themeType, state: buttonState, disabled: state === "disabled" || rest.disabled, isIconButton: isIconButton, size: size, ...rest, children: children }));
8
+ };
9
+ export default UtilityButton;
@@ -0,0 +1,163 @@
1
+ export declare const TYPE: {
2
+ primary: string;
3
+ secondary: string;
4
+ tertiary: string;
5
+ destructive: string;
6
+ utility: string;
7
+ icon: string;
8
+ };
9
+ export declare const BREAKPOINTS: {
10
+ wide: string;
11
+ medium: string;
12
+ narrow: string;
13
+ };
14
+ export declare const STATE: {
15
+ active: string;
16
+ hover: string;
17
+ pressed: string;
18
+ focussed: string;
19
+ disabled: string;
20
+ error: string;
21
+ success: string;
22
+ warning: string;
23
+ progress: string;
24
+ info: string;
25
+ filled: string;
26
+ generic: string;
27
+ removed: string;
28
+ hollow: string;
29
+ };
30
+ export declare const TYPOGRAPHY_VARIANT: {
31
+ display1: string;
32
+ display2: string;
33
+ display3: string;
34
+ heading1: string;
35
+ heading2: string;
36
+ heading3: string;
37
+ subHeading1: string;
38
+ subHeading2: string;
39
+ subHeading3: string;
40
+ body1: string;
41
+ body2: string;
42
+ body3: string;
43
+ body4: string;
44
+ body5: string;
45
+ message: string;
46
+ overline1: string;
47
+ overline2: string;
48
+ overline3: string;
49
+ label1: string;
50
+ label2: string;
51
+ label3: string;
52
+ link1: string;
53
+ link2: string;
54
+ link3: string;
55
+ digits1: string;
56
+ digits2: string;
57
+ digits3: string;
58
+ };
59
+ export declare const BUTTON_VARIANT: {
60
+ primary: string;
61
+ secondary: string;
62
+ tertiary: string;
63
+ };
64
+ export declare const SIZE: {
65
+ small: string;
66
+ medium: string;
67
+ large: string;
68
+ standard: string;
69
+ };
70
+ export declare const BADGE: {
71
+ appointment: string;
72
+ asn: string;
73
+ inventory: string;
74
+ parcel: string;
75
+ product: string;
76
+ route: string;
77
+ shipment: string;
78
+ shoppingCart: string;
79
+ system: string;
80
+ };
81
+ declare const _default: {
82
+ TYPE: {
83
+ primary: string;
84
+ secondary: string;
85
+ tertiary: string;
86
+ destructive: string;
87
+ utility: string;
88
+ icon: string;
89
+ };
90
+ BREAKPOINTS: {
91
+ wide: string;
92
+ medium: string;
93
+ narrow: string;
94
+ };
95
+ STATE: {
96
+ active: string;
97
+ hover: string;
98
+ pressed: string;
99
+ focussed: string;
100
+ disabled: string;
101
+ error: string;
102
+ success: string;
103
+ warning: string;
104
+ progress: string;
105
+ info: string;
106
+ filled: string;
107
+ generic: string;
108
+ removed: string;
109
+ hollow: string;
110
+ };
111
+ TYPOGRAPHY_VARIANT: {
112
+ display1: string;
113
+ display2: string;
114
+ display3: string;
115
+ heading1: string;
116
+ heading2: string;
117
+ heading3: string;
118
+ subHeading1: string;
119
+ subHeading2: string;
120
+ subHeading3: string;
121
+ body1: string;
122
+ body2: string;
123
+ body3: string;
124
+ body4: string;
125
+ body5: string;
126
+ message: string;
127
+ overline1: string;
128
+ overline2: string;
129
+ overline3: string;
130
+ label1: string;
131
+ label2: string;
132
+ label3: string;
133
+ link1: string;
134
+ link2: string;
135
+ link3: string;
136
+ digits1: string;
137
+ digits2: string;
138
+ digits3: string;
139
+ };
140
+ BUTTON_VARIANT: {
141
+ primary: string;
142
+ secondary: string;
143
+ tertiary: string;
144
+ };
145
+ SIZE: {
146
+ small: string;
147
+ medium: string;
148
+ large: string;
149
+ standard: string;
150
+ };
151
+ BADGE: {
152
+ appointment: string;
153
+ asn: string;
154
+ inventory: string;
155
+ parcel: string;
156
+ product: string;
157
+ route: string;
158
+ shipment: string;
159
+ shoppingCart: string;
160
+ system: string;
161
+ };
162
+ };
163
+ export default _default;
@@ -0,0 +1,89 @@
1
+ export const TYPE = {
2
+ primary: "primary",
3
+ secondary: "secondary",
4
+ tertiary: "tertiary",
5
+ destructive: "destructive",
6
+ utility: "utility",
7
+ icon: "icon",
8
+ };
9
+ export const BREAKPOINTS = {
10
+ wide: "wide",
11
+ medium: "medium",
12
+ narrow: "narrow",
13
+ };
14
+ export const STATE = {
15
+ active: "active",
16
+ hover: "hover",
17
+ pressed: "pressed",
18
+ focussed: "focus",
19
+ disabled: "disabled",
20
+ error: "error",
21
+ success: "success",
22
+ warning: "warning",
23
+ progress: "progress",
24
+ info: "info",
25
+ filled: "filled",
26
+ generic: "generic",
27
+ removed: "removed",
28
+ hollow: "hollow",
29
+ };
30
+ export const TYPOGRAPHY_VARIANT = {
31
+ display1: "display1",
32
+ display2: "display2",
33
+ display3: "display3",
34
+ heading1: "heading1",
35
+ heading2: "heading2",
36
+ heading3: "heading3",
37
+ subHeading1: "subHeading1",
38
+ subHeading2: "subHeading2",
39
+ subHeading3: "subHeading3",
40
+ body1: "body1",
41
+ body2: "body2",
42
+ body3: "body3",
43
+ body4: "body4",
44
+ body5: "body5",
45
+ message: "message",
46
+ overline1: "overline1",
47
+ overline2: "overline2",
48
+ overline3: "overline3",
49
+ label1: "label1",
50
+ label2: "label2",
51
+ label3: "label3",
52
+ link1: "link1",
53
+ link2: "link2",
54
+ link3: "link3",
55
+ digits1: "digits1",
56
+ digits2: "digits2",
57
+ digits3: "digits3",
58
+ };
59
+ export const BUTTON_VARIANT = {
60
+ primary: "primary",
61
+ secondary: "secondary",
62
+ tertiary: "tertiary",
63
+ };
64
+ export const SIZE = {
65
+ small: "small",
66
+ medium: "medium",
67
+ large: "large",
68
+ standard: "standard",
69
+ };
70
+ export const BADGE = {
71
+ appointment: "appointment",
72
+ asn: "asn",
73
+ inventory: "inventory",
74
+ parcel: "parcel",
75
+ product: "product",
76
+ route: "route",
77
+ shipment: "shipment",
78
+ shoppingCart: "shopping cart",
79
+ system: "system",
80
+ };
81
+ export default {
82
+ TYPE,
83
+ BREAKPOINTS,
84
+ STATE,
85
+ TYPOGRAPHY_VARIANT,
86
+ BUTTON_VARIANT,
87
+ SIZE,
88
+ BADGE,
89
+ };
@@ -1,7 +1,7 @@
1
1
 
2
- export { default as Button } from './Button/Button';
3
- export { default as UtilityButton } from './UtilityButton/UtilityButton';
4
- export { default as TableWithControls } from './TableWithControls/TableWithControls';
5
- export { useTableWithControls } from './TableWithControls/useTableWithControls';
6
- export { default as Table } from './Table/Table';
7
- export { useTable } from './Table/useTable';
2
+ export { default as Button } from './Button/Button.js';
3
+ export { default as UtilityButton } from './UtilityButton/UtilityButton.js';
4
+ export { default as TableWithControls } from './TableWithControls/TableWithControls.js';
5
+ export { useTableWithControls } from './TableWithControls/useTableWithControls.js';
6
+ export { default as Table } from './Table/Table.js';
7
+ export { useTable } from './Table/useTable.js';
@@ -0,0 +1,7 @@
1
+
2
+ export { default as Button } from './Button/Button.js';
3
+ export { default as UtilityButton } from './UtilityButton/UtilityButton.js';
4
+ export { default as TableWithControls } from './TableWithControls/TableWithControls.js';
5
+ export { useTableWithControls } from './TableWithControls/useTableWithControls.js';
6
+ export { default as Table } from './Table/Table.js';
7
+ export { useTable } from './Table/useTable.js';