@indusaction/cms-design-system 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/dist/index.cjs +76 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +50 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.js +67 -0
- package/dist/index.js.map +1 -0
- package/package.json +50 -0
package/README.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# @indusaction/cms-design-system
|
|
2
|
+
|
|
3
|
+
Shared UI components for IndusAction CMS applications. Built on [Ant Design](https://ant.design/).
|
|
4
|
+
|
|
5
|
+
This package lives in the `cms-design-system` monorepo under `packages/ui`. Companion package: [`@indusaction/cms-auth`](../auth).
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @indusaction/cms-design-system antd react react-dom
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
import { Button, ThemeProvider, colors } from "@indusaction/cms-design-system";
|
|
17
|
+
|
|
18
|
+
export function Example() {
|
|
19
|
+
return (
|
|
20
|
+
<ThemeProvider>
|
|
21
|
+
<Button variant="primary">Save</Button>
|
|
22
|
+
</ThemeProvider>
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
```
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var antd = require('antd');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
+
|
|
9
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
10
|
+
|
|
11
|
+
// src/components/Button/Button.tsx
|
|
12
|
+
var Button = React__default.default.forwardRef(
|
|
13
|
+
function Button2({ variant = "default", size = "middle", children, ...rest }, ref) {
|
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsx(antd.Button, { ref, type: variant, size, ...rest, children });
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
Button.displayName = "Button";
|
|
18
|
+
|
|
19
|
+
// src/theme/colors.ts
|
|
20
|
+
var colors = {
|
|
21
|
+
brand: {
|
|
22
|
+
primary: "#596993",
|
|
23
|
+
primaryHover: "#6B7BA5",
|
|
24
|
+
primaryActive: "#4A587C",
|
|
25
|
+
primaryLight: "#E8EBF2"
|
|
26
|
+
},
|
|
27
|
+
neutral: {
|
|
28
|
+
white: "#FFFFFF",
|
|
29
|
+
black: "#000000",
|
|
30
|
+
gray50: "#FAFAFA",
|
|
31
|
+
gray100: "#F5F5F5",
|
|
32
|
+
gray200: "#E8E8E8",
|
|
33
|
+
gray300: "#D9D9D9",
|
|
34
|
+
gray400: "#BFBFBF",
|
|
35
|
+
gray500: "#8C8C8C",
|
|
36
|
+
gray600: "#595959",
|
|
37
|
+
gray700: "#434343",
|
|
38
|
+
gray800: "#262626",
|
|
39
|
+
gray900: "#1F1F1F"
|
|
40
|
+
},
|
|
41
|
+
semantic: {
|
|
42
|
+
success: "#52C41A",
|
|
43
|
+
warning: "#FAAD14",
|
|
44
|
+
error: "#FF4D4F",
|
|
45
|
+
info: "#596993"
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
// src/theme/theme.ts
|
|
50
|
+
var theme = {
|
|
51
|
+
token: {
|
|
52
|
+
colorPrimary: colors.brand.primary,
|
|
53
|
+
colorInfo: colors.semantic.info,
|
|
54
|
+
colorSuccess: colors.semantic.success,
|
|
55
|
+
colorWarning: colors.semantic.warning,
|
|
56
|
+
colorError: colors.semantic.error,
|
|
57
|
+
colorLink: colors.brand.primary
|
|
58
|
+
},
|
|
59
|
+
components: {
|
|
60
|
+
Button: {
|
|
61
|
+
colorPrimary: colors.brand.primary,
|
|
62
|
+
colorPrimaryHover: colors.brand.primaryHover,
|
|
63
|
+
colorPrimaryActive: colors.brand.primaryActive
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
function ThemeProvider({ children }) {
|
|
68
|
+
return /* @__PURE__ */ jsxRuntime.jsx(antd.ConfigProvider, { theme, children });
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
exports.Button = Button;
|
|
72
|
+
exports.ThemeProvider = ThemeProvider;
|
|
73
|
+
exports.colors = colors;
|
|
74
|
+
exports.theme = theme;
|
|
75
|
+
//# sourceMappingURL=index.cjs.map
|
|
76
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Button/Button.tsx","../src/theme/colors.ts","../src/theme/theme.ts","../src/theme/ThemeProvider.tsx"],"names":["React","Button","jsx","AntButton","ConfigProvider"],"mappings":";;;;;;;;;;;AAcO,IAAM,SAASA,sBAAA,CAAM,UAAA;AAAA,EAC1B,SAASC,OAAAA,CACP,EAAE,OAAA,GAAU,SAAA,EAAW,IAAA,GAAO,QAAA,EAAU,QAAA,EAAU,GAAG,IAAA,EAAK,EAC1D,GAAA,EACA;AACA,IAAA,uBACEC,cAAA,CAACC,eAAU,GAAA,EAAU,IAAA,EAAM,SAAS,IAAA,EAAa,GAAG,MACjD,QAAA,EACH,CAAA;AAAA,EAEJ;AACF;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA;;;AC3Bd,IAAM,MAAA,GAAS;AAAA,EACpB,KAAA,EAAO;AAAA,IACL,OAAA,EAAS,SAAA;AAAA,IACT,YAAA,EAAc,SAAA;AAAA,IACd,aAAA,EAAe,SAAA;AAAA,IACf,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA,IACR,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM;AAAA;AAEV;;;ACxBO,IAAM,KAAA,GAAqB;AAAA,EAChC,KAAA,EAAO;AAAA,IACL,YAAA,EAAc,OAAO,KAAA,CAAM,OAAA;AAAA,IAC3B,SAAA,EAAW,OAAO,QAAA,CAAS,IAAA;AAAA,IAC3B,YAAA,EAAc,OAAO,QAAA,CAAS,OAAA;AAAA,IAC9B,YAAA,EAAc,OAAO,QAAA,CAAS,OAAA;AAAA,IAC9B,UAAA,EAAY,OAAO,QAAA,CAAS,KAAA;AAAA,IAC5B,SAAA,EAAW,OAAO,KAAA,CAAM;AAAA,GAC1B;AAAA,EACA,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA,MACN,YAAA,EAAc,OAAO,KAAA,CAAM,OAAA;AAAA,MAC3B,iBAAA,EAAmB,OAAO,KAAA,CAAM,YAAA;AAAA,MAChC,kBAAA,EAAoB,OAAO,KAAA,CAAM;AAAA;AACnC;AAEJ;ACXO,SAAS,aAAA,CAAc,EAAE,QAAA,EAAS,EAAuB;AAC9D,EAAA,uBAAOD,cAAAA,CAACE,mBAAA,EAAA,EAAe,KAAA,EAAe,QAAA,EAAS,CAAA;AACjD","file":"index.cjs","sourcesContent":["import React from \"react\";\nimport { Button as AntButton } from \"antd\";\nimport type { ButtonProps as AntButtonProps } from \"antd\";\n\nexport type ButtonVariant = \"primary\" | \"default\" | \"dashed\" | \"link\" | \"text\";\nexport type ButtonSize = \"large\" | \"middle\" | \"small\";\n\nexport interface ButtonProps\n extends Omit<AntButtonProps, \"type\" | \"variant\" | \"size\" | \"children\"> {\n variant?: ButtonVariant;\n size?: ButtonSize;\n children?: React.ReactNode;\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(\n { variant = \"default\", size = \"middle\", children, ...rest },\n ref\n ) {\n return (\n <AntButton ref={ref} type={variant} size={size} {...rest}>\n {children}\n </AntButton>\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nexport default Button;\n","export const colors = {\n brand: {\n primary: \"#596993\",\n primaryHover: \"#6B7BA5\",\n primaryActive: \"#4A587C\",\n primaryLight: \"#E8EBF2\",\n },\n neutral: {\n white: \"#FFFFFF\",\n black: \"#000000\",\n gray50: \"#FAFAFA\",\n gray100: \"#F5F5F5\",\n gray200: \"#E8E8E8\",\n gray300: \"#D9D9D9\",\n gray400: \"#BFBFBF\",\n gray500: \"#8C8C8C\",\n gray600: \"#595959\",\n gray700: \"#434343\",\n gray800: \"#262626\",\n gray900: \"#1F1F1F\",\n },\n semantic: {\n success: \"#52C41A\",\n warning: \"#FAAD14\",\n error: \"#FF4D4F\",\n info: \"#596993\",\n },\n} as const;\n\nexport type Colors = typeof colors;\n","import type { ThemeConfig } from \"antd\";\nimport { colors } from \"./colors\";\n\nexport const theme: ThemeConfig = {\n token: {\n colorPrimary: colors.brand.primary,\n colorInfo: colors.semantic.info,\n colorSuccess: colors.semantic.success,\n colorWarning: colors.semantic.warning,\n colorError: colors.semantic.error,\n colorLink: colors.brand.primary,\n },\n components: {\n Button: {\n colorPrimary: colors.brand.primary,\n colorPrimaryHover: colors.brand.primaryHover,\n colorPrimaryActive: colors.brand.primaryActive,\n },\n },\n};\n","import React from \"react\";\nimport { ConfigProvider } from \"antd\";\nimport { theme } from \"./theme\";\n\nexport interface ThemeProviderProps {\n children: React.ReactNode;\n}\n\nexport function ThemeProvider({ children }: ThemeProviderProps) {\n return <ConfigProvider theme={theme}>{children}</ConfigProvider>;\n}\n"]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ButtonProps as ButtonProps$1, ThemeConfig } from 'antd';
|
|
3
|
+
|
|
4
|
+
type ButtonVariant = "primary" | "default" | "dashed" | "link" | "text";
|
|
5
|
+
type ButtonSize = "large" | "middle" | "small";
|
|
6
|
+
interface ButtonProps extends Omit<ButtonProps$1, "type" | "variant" | "size" | "children"> {
|
|
7
|
+
variant?: ButtonVariant;
|
|
8
|
+
size?: ButtonSize;
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
12
|
+
|
|
13
|
+
declare const colors: {
|
|
14
|
+
readonly brand: {
|
|
15
|
+
readonly primary: "#596993";
|
|
16
|
+
readonly primaryHover: "#6B7BA5";
|
|
17
|
+
readonly primaryActive: "#4A587C";
|
|
18
|
+
readonly primaryLight: "#E8EBF2";
|
|
19
|
+
};
|
|
20
|
+
readonly neutral: {
|
|
21
|
+
readonly white: "#FFFFFF";
|
|
22
|
+
readonly black: "#000000";
|
|
23
|
+
readonly gray50: "#FAFAFA";
|
|
24
|
+
readonly gray100: "#F5F5F5";
|
|
25
|
+
readonly gray200: "#E8E8E8";
|
|
26
|
+
readonly gray300: "#D9D9D9";
|
|
27
|
+
readonly gray400: "#BFBFBF";
|
|
28
|
+
readonly gray500: "#8C8C8C";
|
|
29
|
+
readonly gray600: "#595959";
|
|
30
|
+
readonly gray700: "#434343";
|
|
31
|
+
readonly gray800: "#262626";
|
|
32
|
+
readonly gray900: "#1F1F1F";
|
|
33
|
+
};
|
|
34
|
+
readonly semantic: {
|
|
35
|
+
readonly success: "#52C41A";
|
|
36
|
+
readonly warning: "#FAAD14";
|
|
37
|
+
readonly error: "#FF4D4F";
|
|
38
|
+
readonly info: "#596993";
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
type Colors = typeof colors;
|
|
42
|
+
|
|
43
|
+
declare const theme: ThemeConfig;
|
|
44
|
+
|
|
45
|
+
interface ThemeProviderProps {
|
|
46
|
+
children: React.ReactNode;
|
|
47
|
+
}
|
|
48
|
+
declare function ThemeProvider({ children }: ThemeProviderProps): React.JSX.Element;
|
|
49
|
+
|
|
50
|
+
export { Button, type ButtonProps, type ButtonSize, type ButtonVariant, type Colors, ThemeProvider, type ThemeProviderProps, colors, theme };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ButtonProps as ButtonProps$1, ThemeConfig } from 'antd';
|
|
3
|
+
|
|
4
|
+
type ButtonVariant = "primary" | "default" | "dashed" | "link" | "text";
|
|
5
|
+
type ButtonSize = "large" | "middle" | "small";
|
|
6
|
+
interface ButtonProps extends Omit<ButtonProps$1, "type" | "variant" | "size" | "children"> {
|
|
7
|
+
variant?: ButtonVariant;
|
|
8
|
+
size?: ButtonSize;
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
12
|
+
|
|
13
|
+
declare const colors: {
|
|
14
|
+
readonly brand: {
|
|
15
|
+
readonly primary: "#596993";
|
|
16
|
+
readonly primaryHover: "#6B7BA5";
|
|
17
|
+
readonly primaryActive: "#4A587C";
|
|
18
|
+
readonly primaryLight: "#E8EBF2";
|
|
19
|
+
};
|
|
20
|
+
readonly neutral: {
|
|
21
|
+
readonly white: "#FFFFFF";
|
|
22
|
+
readonly black: "#000000";
|
|
23
|
+
readonly gray50: "#FAFAFA";
|
|
24
|
+
readonly gray100: "#F5F5F5";
|
|
25
|
+
readonly gray200: "#E8E8E8";
|
|
26
|
+
readonly gray300: "#D9D9D9";
|
|
27
|
+
readonly gray400: "#BFBFBF";
|
|
28
|
+
readonly gray500: "#8C8C8C";
|
|
29
|
+
readonly gray600: "#595959";
|
|
30
|
+
readonly gray700: "#434343";
|
|
31
|
+
readonly gray800: "#262626";
|
|
32
|
+
readonly gray900: "#1F1F1F";
|
|
33
|
+
};
|
|
34
|
+
readonly semantic: {
|
|
35
|
+
readonly success: "#52C41A";
|
|
36
|
+
readonly warning: "#FAAD14";
|
|
37
|
+
readonly error: "#FF4D4F";
|
|
38
|
+
readonly info: "#596993";
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
type Colors = typeof colors;
|
|
42
|
+
|
|
43
|
+
declare const theme: ThemeConfig;
|
|
44
|
+
|
|
45
|
+
interface ThemeProviderProps {
|
|
46
|
+
children: React.ReactNode;
|
|
47
|
+
}
|
|
48
|
+
declare function ThemeProvider({ children }: ThemeProviderProps): React.JSX.Element;
|
|
49
|
+
|
|
50
|
+
export { Button, type ButtonProps, type ButtonSize, type ButtonVariant, type Colors, ThemeProvider, type ThemeProviderProps, colors, theme };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Button as Button$1, ConfigProvider } from 'antd';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
// src/components/Button/Button.tsx
|
|
6
|
+
var Button = React.forwardRef(
|
|
7
|
+
function Button2({ variant = "default", size = "middle", children, ...rest }, ref) {
|
|
8
|
+
return /* @__PURE__ */ jsx(Button$1, { ref, type: variant, size, ...rest, children });
|
|
9
|
+
}
|
|
10
|
+
);
|
|
11
|
+
Button.displayName = "Button";
|
|
12
|
+
|
|
13
|
+
// src/theme/colors.ts
|
|
14
|
+
var colors = {
|
|
15
|
+
brand: {
|
|
16
|
+
primary: "#596993",
|
|
17
|
+
primaryHover: "#6B7BA5",
|
|
18
|
+
primaryActive: "#4A587C",
|
|
19
|
+
primaryLight: "#E8EBF2"
|
|
20
|
+
},
|
|
21
|
+
neutral: {
|
|
22
|
+
white: "#FFFFFF",
|
|
23
|
+
black: "#000000",
|
|
24
|
+
gray50: "#FAFAFA",
|
|
25
|
+
gray100: "#F5F5F5",
|
|
26
|
+
gray200: "#E8E8E8",
|
|
27
|
+
gray300: "#D9D9D9",
|
|
28
|
+
gray400: "#BFBFBF",
|
|
29
|
+
gray500: "#8C8C8C",
|
|
30
|
+
gray600: "#595959",
|
|
31
|
+
gray700: "#434343",
|
|
32
|
+
gray800: "#262626",
|
|
33
|
+
gray900: "#1F1F1F"
|
|
34
|
+
},
|
|
35
|
+
semantic: {
|
|
36
|
+
success: "#52C41A",
|
|
37
|
+
warning: "#FAAD14",
|
|
38
|
+
error: "#FF4D4F",
|
|
39
|
+
info: "#596993"
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
// src/theme/theme.ts
|
|
44
|
+
var theme = {
|
|
45
|
+
token: {
|
|
46
|
+
colorPrimary: colors.brand.primary,
|
|
47
|
+
colorInfo: colors.semantic.info,
|
|
48
|
+
colorSuccess: colors.semantic.success,
|
|
49
|
+
colorWarning: colors.semantic.warning,
|
|
50
|
+
colorError: colors.semantic.error,
|
|
51
|
+
colorLink: colors.brand.primary
|
|
52
|
+
},
|
|
53
|
+
components: {
|
|
54
|
+
Button: {
|
|
55
|
+
colorPrimary: colors.brand.primary,
|
|
56
|
+
colorPrimaryHover: colors.brand.primaryHover,
|
|
57
|
+
colorPrimaryActive: colors.brand.primaryActive
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
function ThemeProvider({ children }) {
|
|
62
|
+
return /* @__PURE__ */ jsx(ConfigProvider, { theme, children });
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export { Button, ThemeProvider, colors, theme };
|
|
66
|
+
//# sourceMappingURL=index.js.map
|
|
67
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Button/Button.tsx","../src/theme/colors.ts","../src/theme/theme.ts","../src/theme/ThemeProvider.tsx"],"names":["Button","AntButton","jsx"],"mappings":";;;;;AAcO,IAAM,SAAS,KAAA,CAAM,UAAA;AAAA,EAC1B,SAASA,OAAAA,CACP,EAAE,OAAA,GAAU,SAAA,EAAW,IAAA,GAAO,QAAA,EAAU,QAAA,EAAU,GAAG,IAAA,EAAK,EAC1D,GAAA,EACA;AACA,IAAA,uBACE,GAAA,CAACC,YAAU,GAAA,EAAU,IAAA,EAAM,SAAS,IAAA,EAAa,GAAG,MACjD,QAAA,EACH,CAAA;AAAA,EAEJ;AACF;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA;;;AC3Bd,IAAM,MAAA,GAAS;AAAA,EACpB,KAAA,EAAO;AAAA,IACL,OAAA,EAAS,SAAA;AAAA,IACT,YAAA,EAAc,SAAA;AAAA,IACd,aAAA,EAAe,SAAA;AAAA,IACf,YAAA,EAAc;AAAA,GAChB;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQ,SAAA;AAAA,IACR,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM;AAAA;AAEV;;;ACxBO,IAAM,KAAA,GAAqB;AAAA,EAChC,KAAA,EAAO;AAAA,IACL,YAAA,EAAc,OAAO,KAAA,CAAM,OAAA;AAAA,IAC3B,SAAA,EAAW,OAAO,QAAA,CAAS,IAAA;AAAA,IAC3B,YAAA,EAAc,OAAO,QAAA,CAAS,OAAA;AAAA,IAC9B,YAAA,EAAc,OAAO,QAAA,CAAS,OAAA;AAAA,IAC9B,UAAA,EAAY,OAAO,QAAA,CAAS,KAAA;AAAA,IAC5B,SAAA,EAAW,OAAO,KAAA,CAAM;AAAA,GAC1B;AAAA,EACA,UAAA,EAAY;AAAA,IACV,MAAA,EAAQ;AAAA,MACN,YAAA,EAAc,OAAO,KAAA,CAAM,OAAA;AAAA,MAC3B,iBAAA,EAAmB,OAAO,KAAA,CAAM,YAAA;AAAA,MAChC,kBAAA,EAAoB,OAAO,KAAA,CAAM;AAAA;AACnC;AAEJ;ACXO,SAAS,aAAA,CAAc,EAAE,QAAA,EAAS,EAAuB;AAC9D,EAAA,uBAAOC,GAAAA,CAAC,cAAA,EAAA,EAAe,KAAA,EAAe,QAAA,EAAS,CAAA;AACjD","file":"index.js","sourcesContent":["import React from \"react\";\nimport { Button as AntButton } from \"antd\";\nimport type { ButtonProps as AntButtonProps } from \"antd\";\n\nexport type ButtonVariant = \"primary\" | \"default\" | \"dashed\" | \"link\" | \"text\";\nexport type ButtonSize = \"large\" | \"middle\" | \"small\";\n\nexport interface ButtonProps\n extends Omit<AntButtonProps, \"type\" | \"variant\" | \"size\" | \"children\"> {\n variant?: ButtonVariant;\n size?: ButtonSize;\n children?: React.ReactNode;\n}\n\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(\n { variant = \"default\", size = \"middle\", children, ...rest },\n ref\n ) {\n return (\n <AntButton ref={ref} type={variant} size={size} {...rest}>\n {children}\n </AntButton>\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nexport default Button;\n","export const colors = {\n brand: {\n primary: \"#596993\",\n primaryHover: \"#6B7BA5\",\n primaryActive: \"#4A587C\",\n primaryLight: \"#E8EBF2\",\n },\n neutral: {\n white: \"#FFFFFF\",\n black: \"#000000\",\n gray50: \"#FAFAFA\",\n gray100: \"#F5F5F5\",\n gray200: \"#E8E8E8\",\n gray300: \"#D9D9D9\",\n gray400: \"#BFBFBF\",\n gray500: \"#8C8C8C\",\n gray600: \"#595959\",\n gray700: \"#434343\",\n gray800: \"#262626\",\n gray900: \"#1F1F1F\",\n },\n semantic: {\n success: \"#52C41A\",\n warning: \"#FAAD14\",\n error: \"#FF4D4F\",\n info: \"#596993\",\n },\n} as const;\n\nexport type Colors = typeof colors;\n","import type { ThemeConfig } from \"antd\";\nimport { colors } from \"./colors\";\n\nexport const theme: ThemeConfig = {\n token: {\n colorPrimary: colors.brand.primary,\n colorInfo: colors.semantic.info,\n colorSuccess: colors.semantic.success,\n colorWarning: colors.semantic.warning,\n colorError: colors.semantic.error,\n colorLink: colors.brand.primary,\n },\n components: {\n Button: {\n colorPrimary: colors.brand.primary,\n colorPrimaryHover: colors.brand.primaryHover,\n colorPrimaryActive: colors.brand.primaryActive,\n },\n },\n};\n","import React from \"react\";\nimport { ConfigProvider } from \"antd\";\nimport { theme } from \"./theme\";\n\nexport interface ThemeProviderProps {\n children: React.ReactNode;\n}\n\nexport function ThemeProvider({ children }: ThemeProviderProps) {\n return <ConfigProvider theme={theme}>{children}</ConfigProvider>;\n}\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@indusaction/cms-design-system",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Shared UI components for IndusAction CMS applications, built on Ant Design",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./dist/index.cjs",
|
|
8
|
+
"module": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js",
|
|
14
|
+
"require": "./dist/index.cjs"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"sideEffects": false,
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "git+https://github.com/Indus-Action-Initiatives/cms-ui-core.git",
|
|
24
|
+
"directory": "packages/ui"
|
|
25
|
+
},
|
|
26
|
+
"homepage": "https://github.com/Indus-Action-Initiatives/cms-ui-core/tree/main/packages/ui",
|
|
27
|
+
"bugs": {
|
|
28
|
+
"url": "https://github.com/Indus-Action-Initiatives/cms-ui-core/issues"
|
|
29
|
+
},
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build": "tsup",
|
|
32
|
+
"watch": "tsup --watch",
|
|
33
|
+
"typecheck": "tsc --noEmit",
|
|
34
|
+
"clean": "rm -rf dist",
|
|
35
|
+
"prepublishOnly": "npm run build"
|
|
36
|
+
},
|
|
37
|
+
"peerDependencies": {
|
|
38
|
+
"antd": "^5.0.0",
|
|
39
|
+
"react": ">=17.0.0",
|
|
40
|
+
"react-dom": ">=17.0.0"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"tsup": "^8.3.5",
|
|
44
|
+
"typescript": "^5.7.2"
|
|
45
|
+
},
|
|
46
|
+
"publishConfig": {
|
|
47
|
+
"access": "public",
|
|
48
|
+
"registry": "https://registry.npmjs.org/"
|
|
49
|
+
}
|
|
50
|
+
}
|