@cere/cere-design-system 0.0.45 → 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.
Files changed (153) hide show
  1. package/dist/WorkflowNode-BnxXO6t_.d.mts +46 -0
  2. package/dist/WorkflowNode-BnxXO6t_.d.ts +46 -0
  3. package/dist/buttons.d.mts +114 -0
  4. package/dist/buttons.d.ts +114 -0
  5. package/dist/buttons.js +19 -0
  6. package/dist/buttons.js.map +1 -0
  7. package/dist/buttons.mjs +19 -0
  8. package/dist/buttons.mjs.map +1 -0
  9. package/dist/carousel.d.mts +51 -0
  10. package/dist/carousel.d.ts +51 -0
  11. package/dist/carousel.js +185 -0
  12. package/dist/carousel.js.map +1 -0
  13. package/dist/carousel.mjs +185 -0
  14. package/dist/carousel.mjs.map +1 -0
  15. package/dist/charts.d.mts +209 -0
  16. package/dist/charts.d.ts +209 -0
  17. package/dist/charts.js +20 -0
  18. package/dist/charts.js.map +1 -0
  19. package/dist/charts.mjs +20 -0
  20. package/dist/charts.mjs.map +1 -0
  21. package/dist/chunk-27JEWSWA.mjs +233 -0
  22. package/dist/chunk-27JEWSWA.mjs.map +1 -0
  23. package/dist/chunk-2EBCST6X.js +25 -0
  24. package/dist/chunk-2EBCST6X.js.map +1 -0
  25. package/dist/chunk-3WCMINE5.mjs +490 -0
  26. package/dist/chunk-3WCMINE5.mjs.map +1 -0
  27. package/dist/chunk-463SRKKD.js +111 -0
  28. package/dist/chunk-463SRKKD.js.map +1 -0
  29. package/dist/chunk-5ASG6G6U.mjs +40 -0
  30. package/dist/chunk-5ASG6G6U.mjs.map +1 -0
  31. package/dist/chunk-6EUAU67C.mjs +374 -0
  32. package/dist/chunk-6EUAU67C.mjs.map +1 -0
  33. package/dist/chunk-AIY6222Q.js +11 -0
  34. package/dist/chunk-AIY6222Q.js.map +1 -0
  35. package/dist/chunk-AJBM7IE6.mjs +2366 -0
  36. package/dist/chunk-AJBM7IE6.mjs.map +1 -0
  37. package/dist/chunk-ATIFLPH6.mjs +278 -0
  38. package/dist/chunk-ATIFLPH6.mjs.map +1 -0
  39. package/dist/chunk-BIZK6FUD.js +37 -0
  40. package/dist/chunk-BIZK6FUD.js.map +1 -0
  41. package/dist/chunk-CCN6M4LI.js +103 -0
  42. package/dist/chunk-CCN6M4LI.js.map +1 -0
  43. package/dist/chunk-CUCKULYC.mjs +2658 -0
  44. package/dist/chunk-CUCKULYC.mjs.map +1 -0
  45. package/dist/chunk-CWJ4OU6W.mjs +45 -0
  46. package/dist/chunk-CWJ4OU6W.mjs.map +1 -0
  47. package/dist/chunk-EOF3QNPF.js +2366 -0
  48. package/dist/chunk-EOF3QNPF.js.map +1 -0
  49. package/dist/chunk-FFZ5S7PQ.mjs +146 -0
  50. package/dist/chunk-FFZ5S7PQ.mjs.map +1 -0
  51. package/dist/chunk-FN5YL4BK.js +278 -0
  52. package/dist/chunk-FN5YL4BK.js.map +1 -0
  53. package/dist/chunk-HLH2VWXL.js +2658 -0
  54. package/dist/chunk-HLH2VWXL.js.map +1 -0
  55. package/dist/chunk-IE6GCHDI.mjs +530 -0
  56. package/dist/chunk-IE6GCHDI.mjs.map +1 -0
  57. package/dist/chunk-JBHRAAN3.js +31 -0
  58. package/dist/chunk-JBHRAAN3.js.map +1 -0
  59. package/dist/chunk-JS4IB5IU.mjs +162 -0
  60. package/dist/chunk-JS4IB5IU.mjs.map +1 -0
  61. package/dist/chunk-KF2Y7HO3.js +595 -0
  62. package/dist/chunk-KF2Y7HO3.js.map +1 -0
  63. package/dist/chunk-KPDYKK3V.js +162 -0
  64. package/dist/chunk-KPDYKK3V.js.map +1 -0
  65. package/dist/chunk-KVBMZNWT.mjs +103 -0
  66. package/dist/chunk-KVBMZNWT.mjs.map +1 -0
  67. package/dist/chunk-L2TIGA7I.js +530 -0
  68. package/dist/chunk-L2TIGA7I.js.map +1 -0
  69. package/dist/chunk-MNM6HE72.js +146 -0
  70. package/dist/chunk-MNM6HE72.js.map +1 -0
  71. package/dist/chunk-NXTVJ6PY.js +374 -0
  72. package/dist/chunk-NXTVJ6PY.js.map +1 -0
  73. package/dist/chunk-OWWDNDF4.js +40 -0
  74. package/dist/chunk-OWWDNDF4.js.map +1 -0
  75. package/dist/chunk-PHMNZK2R.mjs +18 -0
  76. package/dist/chunk-PHMNZK2R.mjs.map +1 -0
  77. package/dist/chunk-PWF2NJDB.mjs +377 -0
  78. package/dist/chunk-PWF2NJDB.mjs.map +1 -0
  79. package/dist/chunk-QBCRH7YF.mjs +37 -0
  80. package/dist/chunk-QBCRH7YF.mjs.map +1 -0
  81. package/dist/chunk-QD6RLAO2.mjs +11 -0
  82. package/dist/chunk-QD6RLAO2.mjs.map +1 -0
  83. package/dist/chunk-QY65OUAC.mjs +111 -0
  84. package/dist/chunk-QY65OUAC.mjs.map +1 -0
  85. package/dist/chunk-QYYQYZHV.js +45 -0
  86. package/dist/chunk-QYYQYZHV.js.map +1 -0
  87. package/dist/chunk-T7LPABOL.mjs +595 -0
  88. package/dist/chunk-T7LPABOL.mjs.map +1 -0
  89. package/dist/chunk-THQKYTQE.js +490 -0
  90. package/dist/chunk-THQKYTQE.js.map +1 -0
  91. package/dist/chunk-U2QHFISG.js +18 -0
  92. package/dist/chunk-U2QHFISG.js.map +1 -0
  93. package/dist/chunk-UPGFBPFX.mjs +25 -0
  94. package/dist/chunk-UPGFBPFX.mjs.map +1 -0
  95. package/dist/chunk-X7E6GMFL.js +233 -0
  96. package/dist/chunk-X7E6GMFL.js.map +1 -0
  97. package/dist/chunk-XF66WQZE.mjs +1535 -0
  98. package/dist/chunk-XF66WQZE.mjs.map +1 -0
  99. package/dist/chunk-YQOZPLTY.js +1535 -0
  100. package/dist/chunk-YQOZPLTY.js.map +1 -0
  101. package/dist/chunk-ZGCN5WCG.js +377 -0
  102. package/dist/chunk-ZGCN5WCG.js.map +1 -0
  103. package/dist/chunk-ZP26PGMS.mjs +31 -0
  104. package/dist/chunk-ZP26PGMS.mjs.map +1 -0
  105. package/dist/feedback.d.mts +356 -0
  106. package/dist/feedback.d.ts +356 -0
  107. package/dist/feedback.js +43 -0
  108. package/dist/feedback.js.map +1 -0
  109. package/dist/feedback.mjs +43 -0
  110. package/dist/feedback.mjs.map +1 -0
  111. package/dist/icons.d.mts +22 -0
  112. package/dist/icons.d.ts +22 -0
  113. package/dist/icons.js +23 -0
  114. package/dist/icons.js.map +1 -0
  115. package/dist/icons.mjs +23 -0
  116. package/dist/icons.mjs.map +1 -0
  117. package/dist/index.d.mts +165 -3080
  118. package/dist/index.d.ts +165 -3080
  119. package/dist/index.js +320 -10082
  120. package/dist/index.js.map +1 -1
  121. package/dist/index.mjs +262 -9983
  122. package/dist/index.mjs.map +1 -1
  123. package/dist/inputs.d.mts +109 -0
  124. package/dist/inputs.d.ts +109 -0
  125. package/dist/inputs.js +43 -0
  126. package/dist/inputs.js.map +1 -0
  127. package/dist/inputs.mjs +43 -0
  128. package/dist/inputs.mjs.map +1 -0
  129. package/dist/layout.d.mts +927 -0
  130. package/dist/layout.d.ts +927 -0
  131. package/dist/layout.js +122 -0
  132. package/dist/layout.js.map +1 -0
  133. package/dist/layout.mjs +122 -0
  134. package/dist/layout.mjs.map +1 -0
  135. package/dist/navigation.d.mts +716 -0
  136. package/dist/navigation.d.ts +716 -0
  137. package/dist/navigation.js +58 -0
  138. package/dist/navigation.js.map +1 -0
  139. package/dist/navigation.mjs +58 -0
  140. package/dist/navigation.mjs.map +1 -0
  141. package/dist/third-party.d.mts +637 -0
  142. package/dist/third-party.d.ts +637 -0
  143. package/dist/third-party.js +45 -0
  144. package/dist/third-party.js.map +1 -0
  145. package/dist/third-party.mjs +45 -0
  146. package/dist/third-party.mjs.map +1 -0
  147. package/dist/utilities.d.mts +39 -0
  148. package/dist/utilities.d.ts +39 -0
  149. package/dist/utilities.js +19 -0
  150. package/dist/utilities.js.map +1 -0
  151. package/dist/utilities.mjs +19 -0
  152. package/dist/utilities.mjs.map +1 -0
  153. package/package.json +55 -1
@@ -0,0 +1,162 @@
1
+ import {
2
+ deploymentSurfaceTokens
3
+ } from "./chunk-ATIFLPH6.mjs";
4
+
5
+ // src/components/feedback/RoleBadge.tsx
6
+ import MuiChip from "@mui/material/Chip";
7
+ import { styled } from "@mui/material/styles";
8
+ import { jsx } from "react/jsx-runtime";
9
+ var StyledRoleBadge = styled(MuiChip)(() => ({
10
+ // Pill shape - 100px border radius
11
+ borderRadius: "100px",
12
+ // Typography specifications from Figma
13
+ fontSize: "13px",
14
+ fontWeight: 400,
15
+ lineHeight: "18px",
16
+ letterSpacing: "0.16px",
17
+ // Padding specifications from Figma
18
+ padding: "3px 4px",
19
+ height: "auto",
20
+ // Outlined style (no background fill)
21
+ "& .MuiChip-label": {
22
+ padding: "0 8px"
23
+ }
24
+ }));
25
+ var RoleBadge = ({
26
+ label,
27
+ color = "primary",
28
+ size = "small",
29
+ ...props
30
+ }) => {
31
+ if (!label || label.trim() === "") {
32
+ return null;
33
+ }
34
+ return /* @__PURE__ */ jsx(
35
+ StyledRoleBadge,
36
+ {
37
+ label,
38
+ variant: "outlined",
39
+ color,
40
+ size,
41
+ ...props
42
+ }
43
+ );
44
+ };
45
+
46
+ // src/components/feedback/IDBlock.tsx
47
+ import { useState } from "react";
48
+ import Box from "@mui/material/Box";
49
+ import Typography from "@mui/material/Typography";
50
+ import IconButton from "@mui/material/IconButton";
51
+ import Snackbar from "@mui/material/Snackbar";
52
+ import Alert from "@mui/material/Alert";
53
+ import ContentCopyIcon from "@mui/icons-material/ContentCopy";
54
+ import { styled as styled2 } from "@mui/material/styles";
55
+ import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
56
+ var IDContainer = styled2(Box)(() => ({
57
+ display: "inline-flex",
58
+ alignItems: "center",
59
+ gap: "4px",
60
+ padding: "8px 16px",
61
+ backgroundColor: deploymentSurfaceTokens.surfaceHigh,
62
+ border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,
63
+ borderRadius: "8px"
64
+ }));
65
+ var IDBlock = ({
66
+ id,
67
+ label = "ID",
68
+ entityType = "entity",
69
+ onCopy
70
+ }) => {
71
+ const [snackbar, setSnackbar] = useState({
72
+ open: false,
73
+ message: "",
74
+ severity: "success"
75
+ });
76
+ if (!id || id.trim() === "") {
77
+ return null;
78
+ }
79
+ const handleCopy = async () => {
80
+ try {
81
+ await navigator.clipboard.writeText(id);
82
+ setSnackbar({ open: true, message: "ID copied to clipboard", severity: "success" });
83
+ onCopy?.();
84
+ } catch {
85
+ setSnackbar({ open: true, message: "Failed to copy ID", severity: "error" });
86
+ }
87
+ };
88
+ const handleSnackbarClose = () => {
89
+ setSnackbar((prev) => ({ ...prev, open: false }));
90
+ };
91
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
92
+ /* @__PURE__ */ jsxs(IDContainer, { children: [
93
+ /* @__PURE__ */ jsxs(
94
+ Typography,
95
+ {
96
+ variant: "body2",
97
+ sx: {
98
+ fontSize: "13px",
99
+ fontWeight: 500,
100
+ color: deploymentSurfaceTokens.textSecondary
101
+ },
102
+ children: [
103
+ label,
104
+ ":"
105
+ ]
106
+ }
107
+ ),
108
+ /* @__PURE__ */ jsx2(
109
+ Typography,
110
+ {
111
+ variant: "body2",
112
+ sx: {
113
+ fontSize: "13px",
114
+ fontWeight: 500,
115
+ color: deploymentSurfaceTokens.textPrimary,
116
+ userSelect: "all"
117
+ },
118
+ children: id
119
+ }
120
+ ),
121
+ /* @__PURE__ */ jsx2(
122
+ IconButton,
123
+ {
124
+ onClick: handleCopy,
125
+ size: "small",
126
+ "aria-label": `Copy ${entityType} ID ${id}`,
127
+ sx: {
128
+ padding: "4px",
129
+ "&:hover": {
130
+ backgroundColor: deploymentSurfaceTokens.hoverOverlay
131
+ }
132
+ },
133
+ children: /* @__PURE__ */ jsx2(
134
+ ContentCopyIcon,
135
+ {
136
+ sx: {
137
+ fontSize: "16px",
138
+ color: deploymentSurfaceTokens.textSecondary
139
+ }
140
+ }
141
+ )
142
+ }
143
+ )
144
+ ] }),
145
+ /* @__PURE__ */ jsx2(
146
+ Snackbar,
147
+ {
148
+ open: snackbar.open,
149
+ autoHideDuration: 3e3,
150
+ onClose: handleSnackbarClose,
151
+ anchorOrigin: { vertical: "top", horizontal: "center" },
152
+ children: /* @__PURE__ */ jsx2(Alert, { onClose: handleSnackbarClose, severity: snackbar.severity, children: snackbar.message })
153
+ }
154
+ )
155
+ ] });
156
+ };
157
+
158
+ export {
159
+ RoleBadge,
160
+ IDBlock
161
+ };
162
+ //# sourceMappingURL=chunk-JS4IB5IU.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/feedback/RoleBadge.tsx","../src/components/feedback/IDBlock.tsx"],"sourcesContent":["import React from 'react';\nimport MuiChip, { ChipProps as MuiChipProps } from '@mui/material/Chip';\nimport { styled } from '@mui/material/styles';\n\n/**\n * Color variants for the RoleBadge component\n */\nexport type RoleBadgeColor = 'primary' | 'secondary' | 'success' | 'error' | 'warning';\n\n/**\n * Size variants for the RoleBadge component\n */\nexport type RoleBadgeSize = 'small' | 'medium';\n\n/**\n * RoleBadge component props\n */\nexport interface RoleBadgeProps extends Omit<MuiChipProps, 'label' | 'variant' | 'color' | 'size'> {\n /**\n * The text content to display in the badge\n */\n label: string;\n /**\n * The color theme of the badge\n * @default 'primary'\n */\n color?: RoleBadgeColor;\n /**\n * The size of the badge\n * @default 'small'\n */\n size?: RoleBadgeSize;\n}\n\n/**\n * Styled MUI Chip with pill shape and outlined style\n * Matches Figma node 17-3595 specifications\n */\nconst StyledRoleBadge = styled(MuiChip)<MuiChipProps>(() => ({\n // Pill shape - 100px border radius\n borderRadius: '100px',\n // Typography specifications from Figma\n fontSize: '13px',\n fontWeight: 400,\n lineHeight: '18px',\n letterSpacing: '0.16px',\n // Padding specifications from Figma\n padding: '3px 4px',\n height: 'auto',\n // Outlined style (no background fill)\n '& .MuiChip-label': {\n padding: '0 8px',\n },\n}));\n\n/**\n * RoleBadge - Pill-shaped badge component for displaying roles or status labels\n *\n * A reusable badge component that extends MUI Chip with a pill-shaped outline style.\n * Designed for displaying user roles, status indicators, or categorization labels.\n *\n * @example\n * ```tsx\n * // Basic usage\n * <RoleBadge label=\"Manager\" />\n *\n * // With color variants\n * <RoleBadge label=\"Admin\" color=\"error\" />\n * <RoleBadge label=\"Active\" color=\"success\" />\n *\n * // With size variants\n * <RoleBadge label=\"Owner\" size=\"medium\" />\n * ```\n *\n * @see Figma node 17-3595 for design specifications\n */\nexport const RoleBadge: React.FC<RoleBadgeProps> = ({\n label,\n color = 'primary',\n size = 'small',\n ...props\n}) => {\n if (!label || label.trim() === '') {\n return null;\n }\n\n return (\n <StyledRoleBadge\n label={label}\n variant=\"outlined\"\n color={color}\n size={size}\n {...props}\n />\n );\n};\n","import React, { useState } from 'react';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport IconButton from '@mui/material/IconButton';\nimport Snackbar from '@mui/material/Snackbar';\nimport Alert from '@mui/material/Alert';\nimport ContentCopyIcon from '@mui/icons-material/ContentCopy';\nimport { styled } from '@mui/material/styles';\nimport type { AlertColor } from '@mui/material';\nimport { deploymentSurfaceTokens } from '../../theme';\n\n/**\n * IDBlock component props\n */\nexport interface IDBlockProps {\n /**\n * The identifier value to display and copy\n */\n id: string;\n /**\n * Label prefix text\n * @default 'ID'\n */\n label?: string;\n /**\n * Entity type for accessibility (used in aria-label)\n * @default 'entity'\n */\n entityType?: string;\n /**\n * Additional callback to execute after successful copy\n */\n onCopy?: () => void;\n}\n\n/**\n * Styled container for the ID block\n * Matches Figma node 17-3596 specifications\n */\nconst IDContainer = styled(Box)(() => ({\n display: 'inline-flex',\n alignItems: 'center',\n gap: '4px',\n padding: '8px 16px',\n backgroundColor: deploymentSurfaceTokens.surfaceHigh,\n border: `1px solid ${deploymentSurfaceTokens.strokeOutside}`,\n borderRadius: '8px',\n}));\n\n/**\n * IDBlock - Read-only identifier display with integrated copy-to-clipboard button\n *\n * A component that displays an identifier (ID, account number, etc.) with a copy button.\n * Provides user feedback via an inline Snackbar when copy succeeds or fails.\n *\n * @example\n * ```tsx\n * // Basic usage\n * <IDBlock id=\"W1234567890\" />\n *\n * // With custom label\n * <IDBlock id=\"ACC-9876543\" label=\"Account ID\" entityType=\"account\" />\n *\n * // With callback\n * <IDBlock\n * id=\"DEPLOY-12345\"\n * label=\"Deployment ID\"\n * entityType=\"deployment\"\n * onCopy={() => console.log('ID copied')}\n * />\n * ```\n *\n * @see Figma node 17-3596 for design specifications\n */\nexport const IDBlock: React.FC<IDBlockProps> = ({\n id,\n label = 'ID',\n entityType = 'entity',\n onCopy,\n}) => {\n const [snackbar, setSnackbar] = useState<{ open: boolean; message: string; severity: AlertColor }>({\n open: false,\n message: '',\n severity: 'success',\n });\n\n if (!id || id.trim() === '') {\n return null;\n }\n\n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(id);\n setSnackbar({ open: true, message: 'ID copied to clipboard', severity: 'success' });\n onCopy?.();\n } catch {\n setSnackbar({ open: true, message: 'Failed to copy ID', severity: 'error' });\n }\n };\n\n const handleSnackbarClose = () => {\n setSnackbar((prev) => ({ ...prev, open: false }));\n };\n\n return (\n <>\n <IDContainer>\n <Typography\n variant=\"body2\"\n sx={{\n fontSize: '13px',\n fontWeight: 500,\n color: deploymentSurfaceTokens.textSecondary,\n }}\n >\n {label}:\n </Typography>\n <Typography\n variant=\"body2\"\n sx={{\n fontSize: '13px',\n fontWeight: 500,\n color: deploymentSurfaceTokens.textPrimary,\n userSelect: 'all',\n }}\n >\n {id}\n </Typography>\n <IconButton\n onClick={handleCopy}\n size=\"small\"\n aria-label={`Copy ${entityType} ID ${id}`}\n sx={{\n padding: '4px',\n '&:hover': {\n backgroundColor: deploymentSurfaceTokens.hoverOverlay,\n },\n }}\n >\n <ContentCopyIcon\n sx={{\n fontSize: '16px',\n color: deploymentSurfaceTokens.textSecondary,\n }}\n />\n </IconButton>\n </IDContainer>\n <Snackbar\n open={snackbar.open}\n autoHideDuration={3000}\n onClose={handleSnackbarClose}\n anchorOrigin={{ vertical: 'top', horizontal: 'center' }}\n >\n <Alert onClose={handleSnackbarClose} severity={snackbar.severity}>\n {snackbar.message}\n </Alert>\n </Snackbar>\n </>\n );\n};\n"],"mappings":"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","names":["styled","jsx","styled"]}