@hdb-c360/c360-shared-ui 0.1.0 → 0.1.2

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 (98) hide show
  1. package/dist/components/badge.d.ts +8 -7
  2. package/dist/components/badge.d.ts.map +1 -1
  3. package/dist/components/badge.js +11 -19
  4. package/dist/components/badge.js.map +1 -1
  5. package/dist/components/brand-card.d.ts +8 -0
  6. package/dist/components/brand-card.d.ts.map +1 -0
  7. package/dist/components/brand-card.js +6 -0
  8. package/dist/components/brand-card.js.map +1 -0
  9. package/dist/components/button.d.ts +6 -9
  10. package/dist/components/button.d.ts.map +1 -1
  11. package/dist/components/button.js +14 -30
  12. package/dist/components/button.js.map +1 -1
  13. package/dist/components/card.d.ts +7 -7
  14. package/dist/components/card.d.ts.map +1 -1
  15. package/dist/components/card.js +8 -8
  16. package/dist/components/card.js.map +1 -1
  17. package/dist/components/content-container.d.ts +3 -0
  18. package/dist/components/content-container.d.ts.map +1 -0
  19. package/dist/components/content-container.js +6 -0
  20. package/dist/components/content-container.js.map +1 -0
  21. package/dist/components/data-table-shell.d.ts +20 -0
  22. package/dist/components/data-table-shell.d.ts.map +1 -0
  23. package/dist/components/data-table-shell.js +9 -0
  24. package/dist/components/data-table-shell.js.map +1 -0
  25. package/dist/components/empty-state.d.ts +6 -5
  26. package/dist/components/empty-state.d.ts.map +1 -1
  27. package/dist/components/empty-state.js +3 -3
  28. package/dist/components/empty-state.js.map +1 -1
  29. package/dist/components/error-state.d.ts +14 -0
  30. package/dist/components/error-state.d.ts.map +1 -0
  31. package/dist/components/error-state.js +8 -0
  32. package/dist/components/error-state.js.map +1 -0
  33. package/dist/components/form-field-wrapper.d.ts +12 -0
  34. package/dist/components/form-field-wrapper.d.ts.map +1 -0
  35. package/dist/components/form-field-wrapper.js +6 -0
  36. package/dist/components/form-field-wrapper.js.map +1 -0
  37. package/dist/components/gradient-button.d.ts +3 -0
  38. package/dist/components/gradient-button.d.ts.map +1 -0
  39. package/dist/components/gradient-button.js +6 -0
  40. package/dist/components/gradient-button.js.map +1 -0
  41. package/dist/components/index.d.ts +10 -0
  42. package/dist/components/index.d.ts.map +1 -1
  43. package/dist/components/index.js +10 -0
  44. package/dist/components/index.js.map +1 -1
  45. package/dist/components/input.d.ts +4 -4
  46. package/dist/components/input.d.ts.map +1 -1
  47. package/dist/components/input.js +4 -4
  48. package/dist/components/input.js.map +1 -1
  49. package/dist/components/loading-state.d.ts +8 -0
  50. package/dist/components/loading-state.d.ts.map +1 -0
  51. package/dist/components/loading-state.js +6 -0
  52. package/dist/components/loading-state.js.map +1 -0
  53. package/dist/components/page-header.d.ts +5 -4
  54. package/dist/components/page-header.d.ts.map +1 -1
  55. package/dist/components/page-header.js +3 -3
  56. package/dist/components/page-header.js.map +1 -1
  57. package/dist/components/section-card.d.ts +12 -0
  58. package/dist/components/section-card.d.ts.map +1 -0
  59. package/dist/components/section-card.js +7 -0
  60. package/dist/components/section-card.js.map +1 -0
  61. package/dist/components/skeleton.d.ts +2 -2
  62. package/dist/components/skeleton.d.ts.map +1 -1
  63. package/dist/components/skeleton.js +3 -3
  64. package/dist/components/skeleton.js.map +1 -1
  65. package/dist/components/status-badge.d.ts +9 -0
  66. package/dist/components/status-badge.d.ts.map +1 -0
  67. package/dist/components/status-badge.js +37 -0
  68. package/dist/components/status-badge.js.map +1 -0
  69. package/dist/components/switch.d.ts +6 -0
  70. package/dist/components/switch.d.ts.map +1 -0
  71. package/dist/components/switch.js +9 -0
  72. package/dist/components/switch.js.map +1 -0
  73. package/dist/components/table.d.ts +7 -7
  74. package/dist/components/table.d.ts.map +1 -1
  75. package/dist/components/table.js +8 -8
  76. package/dist/components/table.js.map +1 -1
  77. package/dist/index.d.ts +2 -0
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +2 -0
  80. package/dist/index.js.map +1 -1
  81. package/dist/styles.css +26 -116
  82. package/dist/theme/c360-theme.d.ts +10 -0
  83. package/dist/theme/c360-theme.d.ts.map +1 -0
  84. package/dist/theme/c360-theme.js +90 -0
  85. package/dist/theme/c360-theme.js.map +1 -0
  86. package/dist/theme/colorData.d.ts +111 -0
  87. package/dist/theme/colorData.d.ts.map +1 -0
  88. package/dist/theme/colorData.js +151 -0
  89. package/dist/theme/colorData.js.map +1 -0
  90. package/dist/theme/index.d.ts +3 -0
  91. package/dist/theme/index.d.ts.map +1 -0
  92. package/dist/theme/index.js +3 -0
  93. package/dist/theme/index.js.map +1 -0
  94. package/dist/theme-augmentation.d.ts +34 -0
  95. package/dist/theme-augmentation.d.ts.map +1 -0
  96. package/dist/theme-augmentation.js +2 -0
  97. package/dist/theme-augmentation.js.map +1 -0
  98. package/package.json +13 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading-state.d.ts","sourceRoot":"","sources":["../../src/components/loading-state.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAEpF,UAAU,iBAAkB,SAAQ,UAAU;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE;AAEtF,wBAAgB,YAAY,CAAC,EAAE,IAAQ,EAAE,UAAiB,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,+BAOxF"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Card, CardContent, Skeleton, Stack } from "@mui/material";
3
+ export function LoadingState({ rows = 4, showHeader = true, ...props }) {
4
+ return (_jsxs(Stack, { spacing: 4, ...props, children: [showHeader ? _jsxs(Stack, { direction: "row", spacing: 4, sx: { alignItems: "center" }, children: [_jsx(Skeleton, { variant: "rounded", width: 40, height: 40 }), _jsxs(Stack, { spacing: 1, sx: { flex: 1 }, children: [_jsx(Skeleton, { width: 224 }), _jsx(Skeleton, { width: "40%" })] })] }) : null, _jsx(Card, { variant: "outlined", children: _jsx(CardContent, { children: _jsx(Stack, { spacing: 2, children: Array.from({ length: rows }).map((_, index) => _jsx(Skeleton, { variant: "rounded", height: 48 }, index)) }) }) })] }));
5
+ }
6
+ //# sourceMappingURL=loading-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading-state.js","sourceRoot":"","sources":["../../src/components/loading-state.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAmB,MAAM,eAAe,CAAC;AAIpF,MAAM,UAAU,YAAY,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,KAAK,EAAqB;IACvF,OAAO,CACL,MAAC,KAAK,IAAC,OAAO,EAAE,CAAC,KAAM,KAAK,aACzB,UAAU,CAAC,CAAC,CAAC,MAAC,KAAK,IAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAE,KAAC,QAAQ,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,EAAA,MAAC,KAAK,IAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,aAAE,KAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,GAAI,EAAA,KAAC,QAAQ,IAAC,KAAK,EAAC,KAAK,GAAG,IAAQ,IAAQ,CAAC,CAAC,CAAC,IAAI,EAC/O,KAAC,IAAI,IAAC,OAAO,EAAC,UAAU,YAAC,KAAC,WAAW,cAAC,KAAC,KAAK,IAAC,OAAO,EAAE,CAAC,YAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAC,QAAQ,IAAa,OAAO,EAAC,SAAS,EAAC,MAAM,EAAE,EAAE,IAAnC,KAAK,CAAkC,CAAC,GAAS,GAAc,GAAO,IACxL,CACT,CAAC;AACJ,CAAC"}
@@ -1,9 +1,10 @@
1
- import * as React from "react";
2
- interface PageHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
1
+ import { type BoxProps } from "@mui/material";
2
+ import type { ReactNode } from "react";
3
+ interface PageHeaderProps extends BoxProps {
3
4
  title: string;
4
5
  description?: string;
5
- actions?: React.ReactNode;
6
+ actions?: ReactNode;
6
7
  }
7
- export declare function PageHeader({ title, description, actions, className, ...props }: PageHeaderProps): React.JSX.Element;
8
+ export declare function PageHeader({ title, description, actions, sx, ...props }: PageHeaderProps): import("react").JSX.Element;
8
9
  export {};
9
10
  //# sourceMappingURL=page-header.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-header.d.ts","sourceRoot":"","sources":["../../src/components/page-header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,UAAU,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,qBAY/F"}
1
+ {"version":3,"file":"page-header.d.ts","sourceRoot":"","sources":["../../src/components/page-header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,UAAU,eAAgB,SAAQ,QAAQ;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,+BAUxF"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from "@hdb-c360/c360-shared-utils";
3
- export function PageHeader({ title, description, actions, className, ...props }) {
4
- return (_jsxs("div", { className: cn("flex flex-col gap-md md:flex-row md:items-start md:justify-between", className), ...props, children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h1", { className: "text-[24px] font-semibold leading-[1.3] text-text-primary", children: title }), description ? (_jsx("p", { className: "mt-xs max-w-3xl text-[14px] leading-[1.4] text-text-secondary", children: description })) : null] }), actions ? _jsx("div", { className: "flex shrink-0 items-center gap-sm", children: actions }) : null] }));
2
+ import { Box, Stack, Typography } from "@mui/material";
3
+ export function PageHeader({ title, description, actions, sx, ...props }) {
4
+ return (_jsxs(Box, { sx: { display: "flex", flexDirection: { xs: "column", md: "row" }, alignItems: { md: "flex-start" }, justifyContent: "space-between", gap: 4, ...sx }, ...props, children: [_jsxs(Box, { sx: { minWidth: 0 }, children: [_jsx(Typography, { component: "h1", variant: "h4", children: title }), description ? _jsx(Typography, { color: "text.secondary", sx: { mt: 1, maxWidth: 920 }, children: description }) : null] }), actions ? _jsx(Stack, { direction: "row", useFlexGap: true, spacing: 2, sx: { flexWrap: "wrap" }, children: actions }) : null] }));
5
5
  }
6
6
  //# sourceMappingURL=page-header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-header.js","sourceRoot":"","sources":["../../src/components/page-header.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAQjD,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,EAAmB;IAC9F,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,oEAAoE,EAAE,SAAS,CAAC,KAAM,KAAK,aAC5G,eAAK,SAAS,EAAC,SAAS,aACtB,aAAI,SAAS,EAAC,2DAA2D,YAAE,KAAK,GAAM,EACrF,WAAW,CAAC,CAAC,CAAC,CACb,YAAG,SAAS,EAAC,+DAA+D,YAAE,WAAW,GAAK,CAC/F,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,OAAO,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,mCAAmC,YAAE,OAAO,GAAO,CAAC,CAAC,CAAC,IAAI,IAChF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"page-header.js","sourceRoot":"","sources":["../../src/components/page-header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAiB,MAAM,eAAe,CAAC;AAStE,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,KAAK,EAAmB;IACvF,OAAO,CACL,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,KAAM,KAAK,aACnK,MAAC,GAAG,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,aACtB,KAAC,UAAU,IAAC,SAAS,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,YAAE,KAAK,GAAc,EAC3D,WAAW,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,KAAK,EAAC,gBAAgB,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAG,WAAW,GAAc,CAAC,CAAC,CAAC,IAAI,IAC7G,EACL,OAAO,CAAC,CAAC,CAAC,KAAC,KAAK,IAAC,SAAS,EAAC,KAAK,EAAC,UAAU,QAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAG,OAAO,GAAS,CAAC,CAAC,CAAC,IAAI,IACvG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type CardProps } from "@mui/material";
2
+ import type { ReactNode } from "react";
3
+ interface SectionCardProps extends CardProps {
4
+ title?: string;
5
+ description?: string;
6
+ actions?: ReactNode;
7
+ icon?: ReactNode;
8
+ padded?: boolean;
9
+ }
10
+ export declare function SectionCard({ title, description, actions, icon, children, padded, sx, ...props }: SectionCardProps): import("react").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=section-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-card.d.ts","sourceRoot":"","sources":["../../src/components/section-card.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,UAAU,gBAAiB,SAAQ,SAAS;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAa,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BAmBzH"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Box, Card, Divider, Stack, Typography } from "@mui/material";
3
+ export function SectionCard({ title, description, actions, icon, children, padded = true, sx, ...props }) {
4
+ const hasHeader = Boolean(title || description || actions);
5
+ return (_jsxs(Card, { variant: "outlined", sx: { borderRadius: 3, transition: "box-shadow 160ms ease", "&:hover": { boxShadow: 2 }, ...sx }, ...props, children: [hasHeader ? (_jsxs(_Fragment, { children: [_jsxs(Stack, { direction: { xs: "column", md: "row" }, spacing: 2, sx: { p: 4, justifyContent: "space-between", alignItems: { md: "flex-start" } }, children: [_jsxs(Box, { children: [title ? _jsxs(Stack, { direction: "row", spacing: 2, sx: { alignItems: "center" }, children: [_jsx(Box, { sx: { color: "text.secondary" }, children: icon }), _jsx(Typography, { variant: "h6", children: title })] }) : null, description ? _jsx(Typography, { variant: "body2", color: "text.secondary", sx: { mt: 1 }, children: description }) : null] }), actions] }), _jsx(Divider, {})] })) : null, _jsx(Box, { sx: padded ? { p: 4 } : undefined, children: children })] }));
6
+ }
7
+ //# sourceMappingURL=section-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-card.js","sourceRoot":"","sources":["../../src/components/section-card.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAkB,MAAM,eAAe,CAAC;AAWtF,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,EAAoB;IACxH,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,IAAI,OAAO,CAAC,CAAC;IAC3D,OAAO,CACL,MAAC,IAAI,IAAC,OAAO,EAAC,UAAU,EAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,uBAAuB,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,KAAM,KAAK,aACjI,SAAS,CAAC,CAAC,CAAC,CACX,8BACE,MAAC,KAAK,IAAC,SAAS,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,aACxI,MAAC,GAAG,eACD,KAAK,CAAC,CAAC,CAAC,MAAC,KAAK,IAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAE,KAAC,GAAG,IAAC,EAAE,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,YAAG,IAAI,GAAO,EAAA,KAAC,UAAU,IAAC,OAAO,EAAC,IAAI,YAAE,KAAK,GAAc,IAAQ,CAAC,CAAC,CAAC,IAAI,EACvL,WAAW,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,gBAAgB,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,YAAG,WAAW,GAAc,CAAC,CAAC,CAAC,IAAI,IAC9G,EACL,OAAO,IACF,EACR,KAAC,OAAO,KAAG,IACV,CACJ,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,GAAG,IAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,YAAG,QAAQ,GAAO,IACnD,CACR,CAAC;AACJ,CAAC"}
@@ -1,3 +1,3 @@
1
- import * as React from "react";
2
- export declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
1
+ import { type SkeletonProps } from "@mui/material";
2
+ export declare function Skeleton(props: SkeletonProps): import("react").JSX.Element;
3
3
  //# sourceMappingURL=skeleton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../src/components/skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,qBAOrF"}
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../src/components/skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAE5E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,+BAE5C"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from "@hdb-c360/c360-shared-utils";
3
- export function Skeleton({ className, ...props }) {
4
- return (_jsx("div", { className: cn("animate-pulse rounded-md bg-border-subtle", className), ...props }));
2
+ import { Skeleton as MuiSkeleton } from "@mui/material";
3
+ export function Skeleton(props) {
4
+ return _jsx(MuiSkeleton, { animation: "wave", variant: "rounded", ...props });
5
5
  }
6
6
  //# sourceMappingURL=skeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../src/components/skeleton.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAEjD,MAAM,UAAU,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAwC;IACpF,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CAAC,2CAA2C,EAAE,SAAS,CAAC,KACjE,KAAK,GACT,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../src/components/skeleton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAsB,MAAM,eAAe,CAAC;AAE5E,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,OAAO,KAAC,WAAW,IAAC,SAAS,EAAC,MAAM,EAAC,OAAO,EAAC,SAAS,KAAK,KAAK,GAAI,CAAC;AACvE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type BadgeProps } from "./badge";
2
+ export type StatusValue = "active" | "inactive" | "pending" | "success" | "error" | "warning" | "info" | string;
3
+ interface StatusBadgeProps extends Omit<BadgeProps, "children" | "variant"> {
4
+ status: StatusValue;
5
+ variant?: "default" | "success" | "destructive" | "warning" | "info" | "secondary";
6
+ }
7
+ export declare function StatusBadge({ status, variant, className, ...props }: StatusBadgeProps): import("react").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=status-badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-badge.d.ts","sourceRoot":"","sources":["../../src/components/status-badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,UAAU,GACV,SAAS,GACT,SAAS,GACT,OAAO,GACP,SAAS,GACT,MAAM,GACN,MAAM,CAAC;AAEX,UAAU,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACzE,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;CACpF;AAiCD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,+BASrF"}
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Badge } from "./badge";
3
+ const statusVariantMap = {
4
+ active: "success",
5
+ enabled: "success",
6
+ valid: "success",
7
+ operational: "success",
8
+ completed: "success",
9
+ approved: "success",
10
+ incoming: "info",
11
+ outgoing: "secondary",
12
+ following: "warning",
13
+ related: "default",
14
+ inactive: "default",
15
+ disabled: "default",
16
+ pending: "warning",
17
+ queued: "warning",
18
+ in_progress: "warning",
19
+ waiting: "warning",
20
+ error: "destructive",
21
+ failed: "destructive",
22
+ invalid: "destructive",
23
+ rejected: "destructive",
24
+ warning: "warning",
25
+ info: "info",
26
+ preview: "info",
27
+ draft: "secondary",
28
+ };
29
+ function normalizeStatus(status) {
30
+ return status.toLowerCase().replace(/\s+/g, "_");
31
+ }
32
+ export function StatusBadge({ status, variant, className, ...props }) {
33
+ const normalized = normalizeStatus(status);
34
+ const resolvedVariant = variant ?? statusVariantMap[normalized] ?? "default";
35
+ return (_jsx(Badge, { variant: resolvedVariant, shape: "pill", className: className, ...props, children: status }));
36
+ }
37
+ //# sourceMappingURL=status-badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-badge.js","sourceRoot":"","sources":["../../src/components/status-badge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAmB,MAAM,SAAS,CAAC;AAiBjD,MAAM,gBAAgB,GAA6F;IACjH,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;IAChB,WAAW,EAAE,SAAS;IACtB,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,SAAS;IACtB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,aAAa;IACpB,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,aAAa;IACvB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,WAAW;CACnB,CAAC;AAEF,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,EAAoB;IACpF,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,OAAO,IAAI,gBAAgB,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;IAE7E,OAAO,CACL,KAAC,KAAK,IAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAC,MAAM,EAAC,SAAS,EAAE,SAAS,KAAM,KAAK,YAC1E,MAAM,GACD,CACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type SwitchProps as MuiSwitchProps } from "@mui/material";
2
+ export interface SwitchProps extends MuiSwitchProps {
3
+ label?: string;
4
+ }
5
+ export declare const Switch: import("react").ForwardRefExoticComponent<Omit<SwitchProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
6
+ //# sourceMappingURL=switch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../src/components/switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,WAAW,IAAI,cAAc,EAAE,MAAM,eAAe,CAAC;AAG1G,MAAM,WAAW,WAAY,SAAQ,cAAc;IAAG,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AAEtE,eAAO,MAAM,MAAM,wHAGjB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { FormControlLabel, Switch as MuiSwitch } from "@mui/material";
3
+ import { forwardRef } from "react";
4
+ export const Switch = forwardRef(({ label, ...props }, ref) => {
5
+ const control = _jsx(MuiSwitch, { ref: ref, ...props });
6
+ return label ? _jsx(FormControlLabel, { control: control, label: label }) : control;
7
+ });
8
+ Switch.displayName = "Switch";
9
+ //# sourceMappingURL=switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../src/components/switch.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,IAAI,SAAS,EAAsC,MAAM,eAAe,CAAC;AAC1G,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAInC,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAiC,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC5F,MAAM,OAAO,GAAG,KAAC,SAAS,IAAC,GAAG,EAAE,GAAG,KAAM,KAAK,GAAI,CAAC;IACnD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAC,gBAAgB,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AAChF,CAAC,CAAC,CAAC;AACH,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
@@ -1,8 +1,8 @@
1
- import * as React from "react";
2
- export declare const Table: React.ForwardRefExoticComponent<React.TableHTMLAttributes<HTMLTableElement> & React.RefAttributes<HTMLTableElement>>;
3
- export declare const TableHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
4
- export declare const TableBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
5
- export declare const TableRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableRowElement> & React.RefAttributes<HTMLTableRowElement>>;
6
- export declare const TableHead: React.ForwardRefExoticComponent<React.ThHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
7
- export declare const TableCell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
1
+ import { type TableBodyProps, type TableCellProps, type TableHeadProps, type TableProps, type TableRowProps } from "@mui/material";
2
+ export declare const Table: import("react").ForwardRefExoticComponent<Omit<TableProps, "ref"> & import("react").RefAttributes<HTMLTableElement>>;
3
+ export declare const TableHeader: import("react").ForwardRefExoticComponent<Omit<TableHeadProps, "ref"> & import("react").RefAttributes<HTMLTableSectionElement>>;
4
+ export declare const TableBody: import("react").ForwardRefExoticComponent<Omit<TableBodyProps, "ref"> & import("react").RefAttributes<HTMLTableSectionElement>>;
5
+ export declare const TableRow: import("react").ForwardRefExoticComponent<Omit<TableRowProps, "ref"> & import("react").RefAttributes<HTMLTableRowElement>>;
6
+ export declare const TableHead: import("react").ForwardRefExoticComponent<Omit<TableCellProps, "ref"> & import("react").RefAttributes<HTMLTableCellElement>>;
7
+ export declare const TableCell: import("react").ForwardRefExoticComponent<Omit<TableCellProps, "ref"> & import("react").RefAttributes<HTMLTableCellElement>>;
8
8
  //# sourceMappingURL=table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,eAAO,MAAM,KAAK,sHAMjB,CAAC;AAGF,eAAO,MAAM,WAAW,+HAEvB,CAAC;AAGF,eAAO,MAAM,SAAS,+HAErB,CAAC;AAGF,eAAO,MAAM,QAAQ,uHAQpB,CAAC;AAGF,eAAO,MAAM,SAAS,2HAQrB,CAAC;AAGF,eAAO,MAAM,SAAS,2HAIrB,CAAC"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+I,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAGhR,eAAO,MAAM,KAAK,sHAIhB,CAAC;AAGH,eAAO,MAAM,WAAW,iIAA6G,CAAC;AAEtI,eAAO,MAAM,SAAS,iIAA6G,CAAC;AAEpI,eAAO,MAAM,QAAQ,4HAAgI,CAAC;AAEtJ,eAAO,MAAM,SAAS,8HAAuP,CAAC;AAE9Q,eAAO,MAAM,SAAS,8HAA0G,CAAC"}
@@ -1,16 +1,16 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import * as React from "react";
3
- import { cn } from "@hdb-c360/c360-shared-utils";
4
- export const Table = React.forwardRef(({ className, ...props }, ref) => (_jsx("div", { className: "w-full overflow-x-auto", children: _jsx("table", { ref: ref, className: cn("w-full caption-bottom text-[14px]", className), ...props }) })));
2
+ import { Table as MuiTable, TableBody as MuiTableBody, TableCell as MuiTableCell, TableContainer, TableHead as MuiTableHead, TableRow as MuiTableRow } from "@mui/material";
3
+ import { forwardRef } from "react";
4
+ export const Table = forwardRef((props, ref) => (_jsx(TableContainer, { sx: { border: 1, borderColor: "divider", borderRadius: 2 }, children: _jsx(MuiTable, { ref: ref, size: "small", ...props }) })));
5
5
  Table.displayName = "Table";
6
- export const TableHeader = React.forwardRef(({ className, ...props }, ref) => _jsx("thead", { ref: ref, className: cn("bg-background", className), ...props }));
6
+ export const TableHeader = forwardRef((props, ref) => _jsx(MuiTableHead, { ref: ref, ...props }));
7
7
  TableHeader.displayName = "TableHeader";
8
- export const TableBody = React.forwardRef(({ className, ...props }, ref) => _jsx("tbody", { ref: ref, className: cn("[&_tr:last-child]:border-0", className), ...props }));
8
+ export const TableBody = forwardRef((props, ref) => _jsx(MuiTableBody, { ref: ref, ...props }));
9
9
  TableBody.displayName = "TableBody";
10
- export const TableRow = React.forwardRef(({ className, ...props }, ref) => (_jsx("tr", { ref: ref, className: cn("border-b border-border-subtle transition-colors duration-150 hover:bg-background", className), ...props })));
10
+ export const TableRow = forwardRef(({ sx, ...props }, ref) => _jsx(MuiTableRow, { ref: ref, hover: true, sx: sx, ...props }));
11
11
  TableRow.displayName = "TableRow";
12
- export const TableHead = React.forwardRef(({ className, ...props }, ref) => (_jsx("th", { ref: ref, className: cn("h-control px-md text-left align-middle text-[12px] font-semibold text-text-secondary", className), ...props })));
12
+ export const TableHead = forwardRef(({ sx, ...props }, ref) => _jsx(MuiTableCell, { ref: ref, sx: { bgcolor: "background.default", color: "text.secondary", fontSize: 12, fontWeight: 700, textTransform: "uppercase", ...sx }, ...props }));
13
13
  TableHead.displayName = "TableHead";
14
- export const TableCell = React.forwardRef(({ className, ...props }, ref) => (_jsx("td", { ref: ref, className: cn("px-md py-2.5 align-middle text-text-secondary", className), ...props })));
14
+ export const TableCell = forwardRef((props, ref) => _jsx(MuiTableCell, { ref: ref, ...props }));
15
15
  TableCell.displayName = "TableCell";
16
16
  //# sourceMappingURL=table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAEjD,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CACnC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,cAAK,SAAS,EAAC,wBAAwB,YACrC,gBAAO,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,mCAAmC,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,GACzF,CACP,CACF,CAAC;AACF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAE5B,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CACzC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,gBAAO,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAC5G,CAAC;AACF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CACvC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,gBAAO,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACzH,CAAC;AACF,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAEpC,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CACtC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,aACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,kFAAkF,EAAE,SAAS,CAAC,KACxG,KAAK,GACT,CACH,CACF,CAAC;AACF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;AAElC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CACvC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,aACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,sFAAsF,EAAE,SAAS,CAAC,KAC5G,KAAK,GACT,CACH,CACF,CAAC;AACF,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAEpC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CACvC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,aAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,+CAA+C,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACvG,CACF,CAAC;AACF,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../src/components/table.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,SAAS,IAAI,YAAY,EAAE,SAAS,IAAI,YAAY,EAAE,cAAc,EAAE,SAAS,IAAI,YAAY,EAAE,QAAQ,IAAI,WAAW,EAAsG,MAAM,eAAe,CAAC;AAChR,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAC5E,KAAC,cAAc,IAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,EAAE,YACxE,KAAC,QAAQ,IAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,OAAO,KAAK,KAAK,GAAI,GAC/B,CAClB,CAAC,CAAC;AACH,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAE5B,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAA0C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAC,YAAY,IAAC,GAAG,EAAE,GAAG,KAAM,KAAK,GAAI,CAAC,CAAC;AACtI,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AACxC,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAA0C,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAC,YAAY,IAAC,GAAG,EAAE,GAAG,KAAM,KAAK,GAAI,CAAC,CAAC;AACpI,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AACpC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAqC,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,KAAC,WAAW,IAAC,GAAG,EAAE,GAAG,EAAE,KAAK,QAAC,EAAE,EAAE,EAAE,KAAM,KAAK,GAAI,CAAC,CAAC;AACtJ,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;AAClC,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAuC,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,KAAC,YAAY,IAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,KAAM,KAAK,GAAI,CAAC,CAAC;AAC9Q,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AACpC,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAuC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAC,YAAY,IAAC,GAAG,EAAE,GAAG,KAAM,KAAK,GAAI,CAAC,CAAC;AACjI,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,4 @@
1
+ import "./theme-augmentation";
1
2
  export * from "./components";
3
+ export * from "./theme";
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,4 @@
1
+ import "./theme-augmentation";
1
2
  export * from "./components";
3
+ export * from "./theme";
2
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
package/dist/styles.css CHANGED
@@ -1,123 +1,33 @@
1
- @import "tailwindcss";
2
-
3
- @source "./**/*.{js,jsx,ts,tsx}";
4
-
5
- @theme {
6
- --font-sans: "Be Vietnam Pro", "Inter", system-ui, sans-serif;
7
- --font-brand: "Myriad Pro", "Be Vietnam Pro", sans-serif;
8
-
9
- --color-primary: #DA2128;
10
- --color-primary-hover: #E14E53;
11
- --color-primary-active: #BE1128;
12
- --color-primary-foreground: #FFFFFF;
13
-
14
- --color-secondary: #FAA61A;
15
- --color-secondary-hover: #FFD080;
16
- --color-secondary-active: #DC8B05;
17
- --color-secondary-foreground: #333333;
18
-
19
- --color-background: #F8FAFC;
20
- --color-surface: #FFFFFF;
21
- --color-surface-glass: #FFFFFF66;
22
- --color-surface-elevated: #FFFFFFCC;
23
-
24
- --color-border: #D2D6DB;
25
- --color-border-subtle: #E5E7EB;
26
- --color-border-glass: #E1E2E4;
27
-
28
- --color-text-primary: #384250;
29
- --color-text-secondary: #4D5761;
30
- --color-text-muted: #9DA4AE;
31
- --color-text-brand-dark: #333333;
32
-
33
- --color-success: #6BB892;
34
- --color-success-strong: #73D13D;
35
- --color-warning: #F56600;
36
- --color-error: #DA2128;
37
- --color-error-soft: #FFF1F0;
38
- --color-info: #40A9FF;
39
- --color-purple: #8C68CD;
40
- --color-brand-grey: #58595B;
41
-
42
- --spacing-xs: 4px;
43
- --spacing-sm: 8px;
44
- --spacing-md: 16px;
45
- --spacing-lg: 24px;
46
- --spacing-xl: 32px;
47
- --spacing-2xl: 48px;
48
- --spacing-header: 84px;
49
- --spacing-header-visual: 80px;
50
- --spacing-brand-rule: 4px;
51
- --spacing-sidebar: 88px;
52
- --spacing-sidebar-icon: 56px;
53
- --spacing-control: 40px;
54
- --spacing-input: 48px;
55
- --spacing-app-card: 71px;
56
-
57
- --radius-sm: 4px;
58
- --radius-md: 8px;
59
- --radius-lg: 12px;
60
-
61
- --shadow-card: 0 1px 2px #2525270F, 0 1px 3px #2525271A;
62
- --shadow-elevated: 0 4px 6px -2px #2525270D, 0 12px 16px -4px #2525271A;
63
- --shadow-floating: 0 4px 4px -4px #0C0C0D0D, 0 16px 32px -4px #0C0C0D1A;
64
- }
65
-
66
1
  :root {
67
- --background: 248 250 252;
68
- --foreground: 56 66 80;
69
- --card: 255 255 255;
70
- --card-foreground: 56 66 80;
71
- --popover: 255 255 255;
72
- --popover-foreground: 56 66 80;
73
- --primary: 218 33 40;
74
- --primary-foreground: 255 255 255;
75
- --secondary: 250 166 26;
76
- --secondary-foreground: 51 51 51;
77
- --muted: 229 231 235;
78
- --muted-foreground: 157 164 174;
79
- --accent: 250 166 26;
80
- --accent-foreground: 51 51 51;
81
- --destructive: 218 33 40;
82
- --destructive-foreground: 255 255 255;
83
- --border: 210 214 219;
84
- --input: 210 214 219;
85
- --ring: 250 166 26;
86
- --radius: 8px;
2
+ color-scheme: light;
3
+ font-family: "Be Vietnam Pro", "Inter", "Noto Sans", Arial, sans-serif;
4
+ font-synthesis: none;
5
+ text-rendering: optimizeLegibility;
6
+ -webkit-font-smoothing: antialiased;
7
+ -moz-osx-font-smoothing: grayscale;
87
8
  }
88
9
 
89
- @layer base {
90
- * {
91
- border-color: var(--color-border-subtle);
92
- }
93
-
94
- html {
95
- font-family: var(--font-sans);
96
- background: var(--color-background);
97
- color: var(--color-text-primary);
98
- }
99
-
100
- body {
101
- min-width: 320px;
102
- min-height: 100vh;
103
- margin: 0;
104
- background: var(--color-background);
105
- color: var(--color-text-primary);
106
- letter-spacing: 0;
107
- text-rendering: optimizeLegibility;
108
- -webkit-font-smoothing: antialiased;
109
- -moz-osx-font-smoothing: grayscale;
110
- }
10
+ html,
11
+ body,
12
+ #root {
13
+ min-width: 320px;
14
+ min-height: 100%;
15
+ margin: 0;
16
+ }
111
17
 
112
- button,
113
- input,
114
- textarea,
115
- select {
116
- font: inherit;
117
- }
18
+ *,
19
+ *::before,
20
+ *::after {
21
+ box-sizing: border-box;
22
+ }
118
23
 
119
- :focus-visible {
120
- outline: 2px solid var(--color-secondary);
121
- outline-offset: 2px;
24
+ @media (prefers-reduced-motion: reduce) {
25
+ *,
26
+ *::before,
27
+ *::after {
28
+ scroll-behavior: auto !important;
29
+ animation-duration: 0.01ms !important;
30
+ animation-iteration-count: 1 !important;
31
+ transition-duration: 0.01ms !important;
122
32
  }
123
33
  }
@@ -0,0 +1,10 @@
1
+ import type { PropsWithChildren } from "react";
2
+ export declare const c360ThemeTokens: {
3
+ readonly headerHeight: 84;
4
+ readonly sidebarWidth: 88;
5
+ readonly primaryGradient: string;
6
+ readonly brandGradient: string;
7
+ };
8
+ export declare const c360Theme: import("@mui/material").Theme;
9
+ export declare function C360ThemeProvider({ children }: PropsWithChildren): import("react").JSX.Element;
10
+ //# sourceMappingURL=c360-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c360-theme.d.ts","sourceRoot":"","sources":["../../src/theme/c360-theme.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAK/C,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX,eAAO,MAAM,SAAS,+BA2EpB,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,+BAEhE"}
@@ -0,0 +1,90 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { CssBaseline, ThemeProvider, createTheme } from "@mui/material";
3
+ import colorData from "./colorData";
4
+ const primaryGradient = `linear-gradient(90deg, ${colorData.brandRed} 0%, ${colorData.brandYellow} 100%)`;
5
+ export const c360ThemeTokens = {
6
+ headerHeight: 84,
7
+ sidebarWidth: 88,
8
+ primaryGradient,
9
+ brandGradient: primaryGradient,
10
+ };
11
+ export const c360Theme = createTheme({
12
+ spacing: 4,
13
+ palette: {
14
+ mode: "light",
15
+ primary: { main: colorData.uiPrimary, light: colorData.uiPrimaryHover, dark: colorData.uiPrimaryActive, contrastText: colorData.uiPrimaryForeground, gradient: c360ThemeTokens.primaryGradient },
16
+ secondary: { main: colorData.uiSecondary, light: colorData.uiSecondaryHover, dark: colorData.uiSecondaryActive, contrastText: colorData.uiSecondaryForeground },
17
+ success: { main: colorData.green4, light: colorData.green0, dark: colorData.green5 },
18
+ warning: { main: colorData.orange4, light: colorData.orange0, dark: colorData.orange5 },
19
+ error: { main: colorData.red4, light: colorData.red1, dark: colorData.red5 },
20
+ info: { main: colorData.blue4, light: colorData.blue1, dark: colorData.blue5 },
21
+ background: { default: colorData.neutral0, paper: colorData.surface },
22
+ text: { primary: colorData.textPrimary, secondary: colorData.textSecondary, disabled: colorData.textMuted },
23
+ divider: colorData.borderSubtle,
24
+ brand: { red: colorData.brandRed, yellow: colorData.brandYellow, grey: colorData.brandGrey, gradient: c360ThemeTokens.brandGradient },
25
+ surface: { glass: colorData.surfaceGlass, elevated: colorData.surfaceElevated },
26
+ },
27
+ shape: { borderRadius: 8 },
28
+ typography: {
29
+ fontFamily: '"Be Vietnam Pro", "Inter", "Noto Sans", Arial, sans-serif',
30
+ h1: { fontSize: 32, lineHeight: 1.2, fontWeight: 650 },
31
+ h2: { fontSize: 24, lineHeight: 1.25, fontWeight: 650 },
32
+ h3: { fontSize: 20, lineHeight: 1.3, fontWeight: 650 },
33
+ h4: { fontSize: 24, lineHeight: 1.25, fontWeight: 650 },
34
+ h5: { fontSize: 20, lineHeight: 1.3, fontWeight: 650 },
35
+ h6: { fontSize: 16, lineHeight: 1.35, fontWeight: 650 },
36
+ body1: { fontSize: 16, lineHeight: 1.45 },
37
+ body2: { fontSize: 14, lineHeight: 1.45 },
38
+ caption: { fontSize: 12, lineHeight: 1.4 },
39
+ button: { fontSize: 14, lineHeight: 1.35, fontWeight: 650, textTransform: "none" },
40
+ },
41
+ components: {
42
+ MuiCssBaseline: {
43
+ styleOverrides: {
44
+ body: { minWidth: 320, minHeight: "100vh", backgroundColor: colorData.neutral0 },
45
+ "*:focus-visible": { outline: `2px solid ${colorData.uiSecondary}`, outlineOffset: 2 },
46
+ "@media (prefers-reduced-motion: reduce)": { "*, *::before, *::after": { animationDuration: "0.01ms !important", animationIterationCount: "1 !important", transitionDuration: "0.01ms !important" } },
47
+ },
48
+ },
49
+ MuiButton: {
50
+ defaultProps: { disableElevation: true },
51
+ styleOverrides: {
52
+ root: {
53
+ minHeight: 40,
54
+ borderRadius: 8,
55
+ paddingInline: 16,
56
+ "&.MuiButton-contained.MuiButton-colorPrimary": {
57
+ backgroundColor: colorData.brandRed,
58
+ backgroundImage: c360ThemeTokens.primaryGradient,
59
+ color: colorData.uiPrimaryForeground,
60
+ "&:hover": { backgroundImage: c360ThemeTokens.primaryGradient, filter: "brightness(1.04)" },
61
+ "&:active": { filter: "brightness(0.94)" },
62
+ "&.Mui-disabled": { backgroundImage: "none" },
63
+ },
64
+ },
65
+ sizeLarge: { minHeight: 48 },
66
+ },
67
+ },
68
+ MuiCard: { styleOverrides: { root: { backgroundImage: "none", borderColor: colorData.borderGlass } } },
69
+ MuiPaper: { styleOverrides: { rounded: { borderRadius: 12 } } },
70
+ MuiOutlinedInput: { styleOverrides: { root: { minHeight: 48, borderRadius: 8, backgroundColor: colorData.surface }, notchedOutline: { borderColor: colorData.border } } },
71
+ MuiTableCell: { styleOverrides: { root: { borderColor: colorData.borderSubtle, padding: "12px 16px" } } },
72
+ MuiChip: {
73
+ styleOverrides: {
74
+ root: {
75
+ minHeight: 24,
76
+ fontWeight: 650,
77
+ "&.MuiChip-filled.MuiChip-colorPrimary": {
78
+ backgroundColor: colorData.brandRed,
79
+ backgroundImage: c360ThemeTokens.primaryGradient,
80
+ color: colorData.uiPrimaryForeground,
81
+ },
82
+ },
83
+ },
84
+ },
85
+ },
86
+ });
87
+ export function C360ThemeProvider({ children }) {
88
+ return _jsxs(ThemeProvider, { theme: c360Theme, children: [_jsx(CssBaseline, {}), children] });
89
+ }
90
+ //# sourceMappingURL=c360-theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c360-theme.js","sourceRoot":"","sources":["../../src/theme/c360-theme.tsx"],"names":[],"mappings":"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"}