pixelize-design-library 2.3.20 → 2.3.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Components/Toaster/Toaster.d.ts.map +1 -1
- package/dist/Components/Toaster/Toaster.js +54 -12
- package/dist/Components/Toaster/ToasterProps.d.ts +7 -0
- package/dist/Components/Toaster/ToasterProps.d.ts.map +1 -1
- package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.d.ts +16 -0
- package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.d.ts.map +1 -0
- package/dist/Components/WorkspaceWindow/WorkspaceTrayPreview.js +83 -0
- package/dist/Components/WorkspaceWindow/WorkspaceWindow.d.ts +15 -0
- package/dist/Components/WorkspaceWindow/WorkspaceWindow.d.ts.map +1 -0
- package/dist/Components/WorkspaceWindow/WorkspaceWindow.js +40 -0
- package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts +72 -0
- package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.d.ts.map +1 -0
- package/dist/Components/WorkspaceWindow/WorkspaceWindowProps.js +2 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/package.json +5 -1
- package/.cursor/TASK-SETUP.md +0 -43
- package/.cursor/agents/be-impl.md +0 -37
- package/.cursor/agents/fe-impl.md +0 -39
- package/.cursor/agents/task-plan.md +0 -56
- package/.cursor/agents/test-create.md +0 -31
- package/.cursor/agents/test-exec.md +0 -26
- package/.cursor/hooks/task-hint.env +0 -1
- package/.cursor/hooks/task-skill-nudge.sh +0 -71
- package/.cursor/hooks/task-slash-guard.sh +0 -31
- package/.cursor/hooks.json +0 -13
- package/.cursor/modules/account-management/MODULE.md +0 -16
- package/.cursor/modules/buttons/MODULE.md +0 -13
- package/.cursor/modules/cards/MODULE.md +0 -13
- package/.cursor/modules/charts/MODULE.md +0 -13
- package/.cursor/modules/common/MODULE.md +0 -13
- package/.cursor/modules/contact-auth/MODULE.md +0 -13
- package/.cursor/modules/data-display/MODULE.md +0 -20
- package/.cursor/modules/feedback/MODULE.md +0 -14
- package/.cursor/modules/form/MODULE.md +0 -13
- package/.cursor/modules/inputs-basic/MODULE.md +0 -13
- package/.cursor/modules/inputs-date-file/MODULE.md +0 -20
- package/.cursor/modules/inputs-select/MODULE.md +0 -15
- package/.cursor/modules/inputs-toggle/MODULE.md +0 -13
- package/.cursor/modules/kanban/MODULE.md +0 -14
- package/.cursor/modules/layout-navigation/MODULE.md +0 -103
- package/.cursor/modules/overlays/MODULE.md +0 -21
- package/.cursor/modules/playground/MODULE.md +0 -15
- package/.cursor/modules/table/MODULE.md +0 -15
- package/.cursor/modules/theme/MODULE.md +0 -15
- package/.cursor/modules/types-exports/MODULE.md +0 -17
- package/.cursor/modules/utility-ui/MODULE.md +0 -15
- package/.cursor/modules/utils-hooks/MODULE.md +0 -23
- package/.cursor/pixelize-task-statusline.sh +0 -64
- package/.cursor/plans/blocked/.gitkeep +0 -0
- package/.cursor/plans/current.md +0 -12
- package/.cursor/plans/done/.gitkeep +0 -0
- package/.cursor/rules +0 -31
- package/.cursor/skills/task/SKILL.md +0 -167
- package/CLAUDE.md +0 -122
- package/eslint.config.js +0 -48
- package/index.html +0 -13
- package/vite.config.ts +0 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toaster.d.ts","sourceRoot":"","sources":["../../../src/Components/Toaster/Toaster.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Toaster.d.ts","sourceRoot":"","sources":["../../../src/Components/Toaster/Toaster.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAqB,MAAM,gBAAgB,CAAC;AAyKxF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,2CAkEpE;AAED,eAAO,MAAM,UAAU,0BAMtB,CAAC"}
|
|
@@ -6,20 +6,68 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
6
6
|
const react_1 = require("react");
|
|
7
7
|
const react_2 = require("@chakra-ui/react");
|
|
8
8
|
const react_3 = require("@emotion/react");
|
|
9
|
+
const framer_motion_1 = require("framer-motion");
|
|
9
10
|
const lucide_react_1 = require("lucide-react");
|
|
10
11
|
const ToasterContext = (0, react_1.createContext)(undefined);
|
|
11
12
|
const shrink = (0, react_3.keyframes) `
|
|
12
13
|
from { transform: scaleX(1); }
|
|
13
14
|
to { transform: scaleX(0); }
|
|
14
15
|
`;
|
|
16
|
+
// One-shot ring pulse on the status icon — a subtle "just happened" beat.
|
|
17
|
+
const iconPulse = (0, react_3.keyframes) `
|
|
18
|
+
0% { box-shadow: 0 0 0 0 var(--toast-pulse-color); }
|
|
19
|
+
70% { box-shadow: 0 0 0 0.5rem transparent; }
|
|
20
|
+
100% { box-shadow: 0 0 0 0 transparent; }
|
|
21
|
+
`;
|
|
22
|
+
const MotionBox = (0, framer_motion_1.motion)(react_2.Box);
|
|
23
|
+
/**
|
|
24
|
+
* Presentational toast card. Owns hover state so the auto-dismiss countdown
|
|
25
|
+
* pauses while the pointer is over the toast — the user can read and click an
|
|
26
|
+
* action without the toast vanishing mid-reach.
|
|
27
|
+
*/
|
|
28
|
+
function ToastCard({ onClose, title, description, actions, isClosable, duration, meta, colors: c, shadowLg, }) {
|
|
29
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;
|
|
30
|
+
const [paused, setPaused] = (0, react_1.useState)(false);
|
|
31
|
+
const solid = (_d = (_b = (_a = meta.scale) === null || _a === void 0 ? void 0 : _a[500]) !== null && _b !== void 0 ? _b : (_c = c === null || c === void 0 ? void 0 : c.gray) === null || _c === void 0 ? void 0 : _c[500]) !== null && _d !== void 0 ? _d : "#718096";
|
|
32
|
+
const soft = (_h = (_f = (_e = meta.scale) === null || _e === void 0 ? void 0 : _e[50]) !== null && _f !== void 0 ? _f : (_g = c === null || c === void 0 ? void 0 : c.gray) === null || _g === void 0 ? void 0 : _g[50]) !== null && _h !== void 0 ? _h : "#f7fafc";
|
|
33
|
+
const accent = (_k = (_j = meta.scale) === null || _j === void 0 ? void 0 : _j[600]) !== null && _k !== void 0 ? _k : solid;
|
|
34
|
+
const ringTint = (_m = (_l = meta.scale) === null || _l === void 0 ? void 0 : _l[200]) !== null && _m !== void 0 ? _m : soft;
|
|
35
|
+
const showProgress = typeof duration === "number" && duration > 0;
|
|
36
|
+
return ((0, jsx_runtime_1.jsxs)(MotionBox
|
|
37
|
+
// Refined entrance — slides in from the right and settles, never a hard pop.
|
|
38
|
+
// framer owns ALL transform animation; the CSS transition below is limited to
|
|
39
|
+
// box-shadow so it never tweens the same `transform` framer is driving frame
|
|
40
|
+
// by frame (that double-drive is what caused the ~200ms entry flicker). A
|
|
41
|
+
// tween (not spring) lands on an exact end transform, so there's no residual
|
|
42
|
+
// sub-pixel settle to shimmer.
|
|
43
|
+
, {
|
|
44
|
+
// Refined entrance — slides in from the right and settles, never a hard pop.
|
|
45
|
+
// framer owns ALL transform animation; the CSS transition below is limited to
|
|
46
|
+
// box-shadow so it never tweens the same `transform` framer is driving frame
|
|
47
|
+
// by frame (that double-drive is what caused the ~200ms entry flicker). A
|
|
48
|
+
// tween (not spring) lands on an exact end transform, so there's no residual
|
|
49
|
+
// sub-pixel settle to shimmer.
|
|
50
|
+
initial: { opacity: 0, x: 24 }, animate: { opacity: 1, x: 0 }, exit: { opacity: 0, x: 24 }, transition: { duration: 0.24, ease: [0.22, 1, 0.36, 1] }, onHoverStart: () => setPaused(true), onHoverEnd: () => setPaused(false), position: "relative", bg: (_o = c === null || c === void 0 ? void 0 : c.white) !== null && _o !== void 0 ? _o : "#fff", border: `0.063rem solid ${(_s = (_q = (_p = c === null || c === void 0 ? void 0 : c.boxborder) === null || _p === void 0 ? void 0 : _p[300]) !== null && _q !== void 0 ? _q : (_r = c === null || c === void 0 ? void 0 : c.gray) === null || _r === void 0 ? void 0 : _r[200]) !== null && _s !== void 0 ? _s : "#e2e8f0"}`, boxShadow: shadowLg !== null && shadowLg !== void 0 ? shadowLg : "lg", borderRadius: "0.875rem", overflow: "hidden", minW: "22.5rem", maxW: "26rem", willChange: "transform, opacity", sx: {
|
|
51
|
+
transition: "box-shadow 0.18s ease",
|
|
52
|
+
_hover: { boxShadow: "xl" },
|
|
53
|
+
}, children: [(0, jsx_runtime_1.jsxs)(react_2.Flex, { p: 3.5, gap: 3, align: actions ? "flex-start" : "center", children: [(0, jsx_runtime_1.jsx)(react_2.Flex, { align: "center", justify: "center", boxSize: "2rem", minW: "2rem", borderRadius: "full", bg: soft, color: accent, sx: {
|
|
54
|
+
["--toast-pulse-color"]: ringTint,
|
|
55
|
+
animation: `${iconPulse} 900ms ease-out 1`,
|
|
56
|
+
}, children: meta.icon }), (0, jsx_runtime_1.jsxs)(react_2.Box, { flex: "1", minW: 0, children: [title && ((0, jsx_runtime_1.jsx)(react_2.Text, { fontWeight: 600, fontSize: "0.875rem", lineHeight: "1.3", color: (_w = (_u = (_t = c === null || c === void 0 ? void 0 : c.text) === null || _t === void 0 ? void 0 : _t[800]) !== null && _u !== void 0 ? _u : (_v = c === null || c === void 0 ? void 0 : c.gray) === null || _v === void 0 ? void 0 : _v[800]) !== null && _w !== void 0 ? _w : "#2d3748", children: title })), description && ((0, jsx_runtime_1.jsx)(react_2.Text, { fontSize: "0.8125rem", lineHeight: "1.45", color: (_0 = (_y = (_x = c === null || c === void 0 ? void 0 : c.gray) === null || _x === void 0 ? void 0 : _x[600]) !== null && _y !== void 0 ? _y : (_z = c === null || c === void 0 ? void 0 : c.text) === null || _z === void 0 ? void 0 : _z[600]) !== null && _0 !== void 0 ? _0 : "#718096", mt: title ? "0.125rem" : 0, children: description })), actions && ((0, jsx_runtime_1.jsx)(react_2.Flex, { gap: 2, mt: 2.5, align: "center", wrap: "wrap", children: actions(onClose) }))] }), isClosable && ((0, jsx_runtime_1.jsx)(react_2.CloseButton, { onClick: onClose, size: "sm", color: (_2 = (_1 = c === null || c === void 0 ? void 0 : c.gray) === null || _1 === void 0 ? void 0 : _1[400]) !== null && _2 !== void 0 ? _2 : "#a0aec0", borderRadius: "md", alignSelf: "flex-start", _hover: {
|
|
57
|
+
bg: (_4 = (_3 = c === null || c === void 0 ? void 0 : c.gray) === null || _3 === void 0 ? void 0 : _3[100]) !== null && _4 !== void 0 ? _4 : "#edf2f7",
|
|
58
|
+
color: (_6 = (_5 = c === null || c === void 0 ? void 0 : c.gray) === null || _5 === void 0 ? void 0 : _5[700]) !== null && _6 !== void 0 ? _6 : "#4a5568",
|
|
59
|
+
} }))] }), showProgress && ((0, jsx_runtime_1.jsx)(react_2.Box, { position: "absolute", bottom: 0, left: 0, right: 0, h: "0.1875rem", bg: solid, opacity: 0.85, transformOrigin: "left", sx: {
|
|
60
|
+
animation: `${shrink} ${duration}ms linear forwards`,
|
|
61
|
+
animationPlayState: paused ? "paused" : "running",
|
|
62
|
+
} }))] }));
|
|
63
|
+
}
|
|
15
64
|
function ToasterProvider({ children }) {
|
|
16
65
|
var _a;
|
|
17
66
|
const toast = (0, react_2.useToast)();
|
|
18
67
|
const theme = (0, react_2.useTheme)();
|
|
19
68
|
const c = (_a = theme.colors) !== null && _a !== void 0 ? _a : {};
|
|
20
|
-
const showToast = ({ title, description, status = "info", duration = 5000, isClosable = true, position = "top-right", onClose, }) => {
|
|
21
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l
|
|
22
|
-
// Status → semantic color scale + icon (falls back to legacy palettes).
|
|
69
|
+
const showToast = ({ title, description, status = "info", duration = 5000, isClosable = true, position = "top-right", onClose, actions, }) => {
|
|
70
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
23
71
|
const statusConfig = {
|
|
24
72
|
success: {
|
|
25
73
|
scale: (_b = (_a = c.semantic) === null || _a === void 0 ? void 0 : _a.success) !== null && _b !== void 0 ? _b : c.green,
|
|
@@ -42,21 +90,15 @@ function ToasterProvider({ children }) {
|
|
|
42
90
|
icon: (0, jsx_runtime_1.jsx)(react_2.Spinner, { size: "sm", thickness: "0.125rem", speed: "0.7s" }),
|
|
43
91
|
},
|
|
44
92
|
};
|
|
45
|
-
const
|
|
46
|
-
const solid = (_m = scale === null || scale === void 0 ? void 0 : scale[500]) !== null && _m !== void 0 ? _m : (_o = c.gray) === null || _o === void 0 ? void 0 : _o[500];
|
|
47
|
-
const soft = (_p = scale === null || scale === void 0 ? void 0 : scale[50]) !== null && _p !== void 0 ? _p : (_q = c.gray) === null || _q === void 0 ? void 0 : _q[50];
|
|
48
|
-
const accent = (_r = scale === null || scale === void 0 ? void 0 : scale[600]) !== null && _r !== void 0 ? _r : solid;
|
|
49
|
-
const showProgress = typeof duration === "number" && duration > 0;
|
|
93
|
+
const meta = (_l = statusConfig[status]) !== null && _l !== void 0 ? _l : statusConfig.info;
|
|
50
94
|
toast({
|
|
51
95
|
duration,
|
|
52
96
|
isClosable,
|
|
53
97
|
position,
|
|
54
98
|
onCloseComplete: onClose,
|
|
55
99
|
render: ({ onClose }) => {
|
|
56
|
-
var _a
|
|
57
|
-
return ((0, jsx_runtime_1.
|
|
58
|
-
animation: `${shrink} ${duration}ms linear forwards`,
|
|
59
|
-
} }))] }));
|
|
100
|
+
var _a;
|
|
101
|
+
return ((0, jsx_runtime_1.jsx)(ToastCard, { onClose: onClose, title: title, description: description, actions: actions, isClosable: isClosable, duration: duration, meta: meta, colors: c, shadowLg: (_a = theme.shadows) === null || _a === void 0 ? void 0 : _a.lg }));
|
|
60
102
|
},
|
|
61
103
|
});
|
|
62
104
|
};
|
|
@@ -3,6 +3,13 @@ import { ReactNode } from "react";
|
|
|
3
3
|
export type ToasterToastProps = Pick<ToastProps, 'description' | 'title' | 'isClosable' | 'duration' | 'children' | 'onClose'> & {
|
|
4
4
|
position?: "top" | "bottom" | "top-right" | "top-left" | "bottom-right" | "bottom-left";
|
|
5
5
|
status?: "success" | "error" | "warning" | "info" | "loading";
|
|
6
|
+
/**
|
|
7
|
+
* Optional action buttons rendered under the message (Jira-style "View" /
|
|
8
|
+
* "Copy link" affordances). Receives the toast's own `onClose` so an action
|
|
9
|
+
* can dismiss the toast. Kept a render-prop so callers style buttons with
|
|
10
|
+
* their app theme; the Toaster only positions them.
|
|
11
|
+
*/
|
|
12
|
+
actions?: (onClose: () => void) => ReactNode;
|
|
6
13
|
};
|
|
7
14
|
export interface ToasterContextType {
|
|
8
15
|
showToast: (children: ToasterToastProps) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToasterProps.d.ts","sourceRoot":"","sources":["../../../src/Components/Toaster/ToasterProps.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC,GAAG;IAC7H,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAA;IACvF,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"ToasterProps.d.ts","sourceRoot":"","sources":["../../../src/Components/Toaster/ToasterProps.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC,GAAG;IAC7H,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAA;IACvF,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;IAC7D;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,SAAS,CAAA;CAC/C,CAAA;AAED,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAA;CACnD;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,SAAS,CAAC;CACvB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { WorkspaceTrayPreviewProps } from "./WorkspaceWindowProps";
|
|
2
|
+
/**
|
|
3
|
+
* Presentational, app-agnostic hover-preview for a "workspace tray" pill (or any
|
|
4
|
+
* trigger). Headless of any data: the consumer passes the trigger as `children`
|
|
5
|
+
* and the card body as `preview` (node or render-prop receiving `close()`), so
|
|
6
|
+
* this can preview a ticket, a doc, a chat — anything — with the same intent-safe
|
|
7
|
+
* hover behavior.
|
|
8
|
+
*
|
|
9
|
+
* Intent-safe hover (hover-bridge): hovering the trigger opens the card after a
|
|
10
|
+
* short delay (anti-flash); a shared open/close timer + small gap let the cursor
|
|
11
|
+
* travel trigger ⇄ card without the card closing; leaving both (with a grace
|
|
12
|
+
* delay) closes it; Escape dismisses. Fetch/render the preview lazily via
|
|
13
|
+
* `onOpenChange`.
|
|
14
|
+
*/
|
|
15
|
+
export default function WorkspaceTrayPreview({ children, preview, enabled, openDelayMs, closeDelayMs, placement, onOpenChange, width, testId, }: WorkspaceTrayPreviewProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=WorkspaceTrayPreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkspaceTrayPreview.d.ts","sourceRoot":"","sources":["../../../src/Components/WorkspaceWindow/WorkspaceTrayPreview.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAcxE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,QAAQ,EACR,OAAO,EACP,OAAc,EACd,WAAiB,EACjB,YAAkB,EAClB,SAAqB,EACrB,YAAY,EACZ,KAAe,EACf,MAAiC,GAClC,EAAE,yBAAyB,2CAuG3B"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = WorkspaceTrayPreview;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const react_2 = require("@chakra-ui/react");
|
|
7
|
+
const PLACEMENT_STYLE = {
|
|
8
|
+
"top-end": { bottom: "100%", right: 0, marginBottom: "6px" },
|
|
9
|
+
"top-start": { bottom: "100%", left: 0, marginBottom: "6px" },
|
|
10
|
+
"bottom-end": { top: "100%", right: 0, marginTop: "6px" },
|
|
11
|
+
"bottom-start": { top: "100%", left: 0, marginTop: "6px" },
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Presentational, app-agnostic hover-preview for a "workspace tray" pill (or any
|
|
15
|
+
* trigger). Headless of any data: the consumer passes the trigger as `children`
|
|
16
|
+
* and the card body as `preview` (node or render-prop receiving `close()`), so
|
|
17
|
+
* this can preview a ticket, a doc, a chat — anything — with the same intent-safe
|
|
18
|
+
* hover behavior.
|
|
19
|
+
*
|
|
20
|
+
* Intent-safe hover (hover-bridge): hovering the trigger opens the card after a
|
|
21
|
+
* short delay (anti-flash); a shared open/close timer + small gap let the cursor
|
|
22
|
+
* travel trigger ⇄ card without the card closing; leaving both (with a grace
|
|
23
|
+
* delay) closes it; Escape dismisses. Fetch/render the preview lazily via
|
|
24
|
+
* `onOpenChange`.
|
|
25
|
+
*/
|
|
26
|
+
function WorkspaceTrayPreview({ children, preview, enabled = true, openDelayMs = 350, closeDelayMs = 200, placement = "top-end", onOpenChange, width = "340px", testId = "workspace-tray-preview", }) {
|
|
27
|
+
const [open, setOpen] = (0, react_1.useState)(false);
|
|
28
|
+
const openTimer = (0, react_1.useRef)(null);
|
|
29
|
+
const closeTimer = (0, react_1.useRef)(null);
|
|
30
|
+
const setOpenState = (0, react_1.useCallback)((next) => {
|
|
31
|
+
setOpen(next);
|
|
32
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(next);
|
|
33
|
+
}, [onOpenChange]);
|
|
34
|
+
const clearOpenTimer = (0, react_1.useCallback)(() => {
|
|
35
|
+
if (openTimer.current) {
|
|
36
|
+
clearTimeout(openTimer.current);
|
|
37
|
+
openTimer.current = null;
|
|
38
|
+
}
|
|
39
|
+
}, []);
|
|
40
|
+
const clearCloseTimer = (0, react_1.useCallback)(() => {
|
|
41
|
+
if (closeTimer.current) {
|
|
42
|
+
clearTimeout(closeTimer.current);
|
|
43
|
+
closeTimer.current = null;
|
|
44
|
+
}
|
|
45
|
+
}, []);
|
|
46
|
+
const scheduleOpen = (0, react_1.useCallback)(() => {
|
|
47
|
+
if (!enabled)
|
|
48
|
+
return;
|
|
49
|
+
clearCloseTimer();
|
|
50
|
+
if (open || openTimer.current)
|
|
51
|
+
return;
|
|
52
|
+
openTimer.current = setTimeout(() => {
|
|
53
|
+
openTimer.current = null;
|
|
54
|
+
setOpenState(true);
|
|
55
|
+
}, openDelayMs);
|
|
56
|
+
}, [enabled, clearCloseTimer, open, openDelayMs, setOpenState]);
|
|
57
|
+
const scheduleClose = (0, react_1.useCallback)(() => {
|
|
58
|
+
clearOpenTimer();
|
|
59
|
+
if (closeTimer.current)
|
|
60
|
+
return;
|
|
61
|
+
closeTimer.current = setTimeout(() => {
|
|
62
|
+
closeTimer.current = null;
|
|
63
|
+
setOpenState(false);
|
|
64
|
+
}, closeDelayMs);
|
|
65
|
+
}, [clearOpenTimer, closeDelayMs, setOpenState]);
|
|
66
|
+
const closeNow = (0, react_1.useCallback)(() => {
|
|
67
|
+
clearOpenTimer();
|
|
68
|
+
clearCloseTimer();
|
|
69
|
+
setOpenState(false);
|
|
70
|
+
}, [clearOpenTimer, clearCloseTimer, setOpenState]);
|
|
71
|
+
(0, react_1.useEffect)(() => () => {
|
|
72
|
+
clearOpenTimer();
|
|
73
|
+
clearCloseTimer();
|
|
74
|
+
}, [clearOpenTimer, clearCloseTimer]);
|
|
75
|
+
return ((0, jsx_runtime_1.jsxs)(react_2.Box, { position: "relative", onMouseEnter: scheduleOpen, onMouseLeave: scheduleClose, onFocus: scheduleOpen, onBlur: scheduleClose, onKeyDown: (e) => {
|
|
76
|
+
if (e.key === "Escape" && open) {
|
|
77
|
+
e.stopPropagation();
|
|
78
|
+
closeNow();
|
|
79
|
+
}
|
|
80
|
+
}, children: [children, open && ((0, jsx_runtime_1.jsx)(react_2.Box, { position: "absolute", ...PLACEMENT_STYLE[placement], w: typeof width === "number" ? `${width}px` : width, maxW: "min(360px, calc(100vw - 2rem))", bg: "white", borderWidth: "1px", borderColor: "gray.200", borderRadius: "lg", boxShadow: "xl", zIndex: 1500, pointerEvents: "auto", p: 3, textAlign: "left", color: "gray.800", cursor: "default", onMouseEnter: clearCloseTimer, onMouseLeave: scheduleClose, "data-testid": testId, children: typeof preview === "function"
|
|
81
|
+
? preview({ close: closeNow })
|
|
82
|
+
: preview }))] }));
|
|
83
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { WorkspaceTrayProps, WorkspaceWindowProps } from "./WorkspaceWindowProps";
|
|
2
|
+
/**
|
|
3
|
+
* Presentational floating "workspace window" — a Jira-style dialog with
|
|
4
|
+
* minimize / close controls and an optional "open full page" affordance, at a
|
|
5
|
+
* single fixed size (no maximize/restore toggle). Headless of any state
|
|
6
|
+
* management: the parent owns the window state and passes callbacks. Render
|
|
7
|
+
* minimized windows with the companion WorkspaceTray.
|
|
8
|
+
*/
|
|
9
|
+
export default function WorkspaceWindow({ title, state, children, onMinimize, onClose, onOpenFullPage, headerActions, testId, }: WorkspaceWindowProps): import("react/jsx-runtime").JSX.Element | null;
|
|
10
|
+
/**
|
|
11
|
+
* Bottom tray of restore pills for minimized WorkspaceWindows. Presentational —
|
|
12
|
+
* the parent supplies the minimized items and restore/close handlers.
|
|
13
|
+
*/
|
|
14
|
+
export declare function WorkspaceTray({ items, onRestore, onClose, testId, }: WorkspaceTrayProps): import("react/jsx-runtime").JSX.Element | null;
|
|
15
|
+
//# sourceMappingURL=WorkspaceWindow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkspaceWindow.d.ts","sourceRoot":"","sources":["../../../src/Components/WorkspaceWindow/WorkspaceWindow.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAOhC;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,KAAK,EACL,KAAK,EACL,QAAQ,EACR,UAAU,EACV,OAAO,EACP,cAAc,EACd,aAAa,EACb,MAA2B,GAC5B,EAAE,oBAAoB,kDAqGtB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,SAAS,EACT,OAAO,EACP,MAAyB,GAC1B,EAAE,kBAAkB,kDAkEpB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = WorkspaceWindow;
|
|
4
|
+
exports.WorkspaceTray = WorkspaceTray;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_1 = require("@chakra-ui/react");
|
|
7
|
+
const lucide_react_1 = require("lucide-react");
|
|
8
|
+
// One in-between windowed size — wider than a cramped dialog but not near-full
|
|
9
|
+
// screen. There is no maximize/restore toggle (removed by product decision); the
|
|
10
|
+
// `onMedium`/`onMaximize` props are kept optional for back-compat but unused.
|
|
11
|
+
const WINDOW_SIZE = { maxW: "88rem", h: "92vh" };
|
|
12
|
+
/**
|
|
13
|
+
* Presentational floating "workspace window" — a Jira-style dialog with
|
|
14
|
+
* minimize / close controls and an optional "open full page" affordance, at a
|
|
15
|
+
* single fixed size (no maximize/restore toggle). Headless of any state
|
|
16
|
+
* management: the parent owns the window state and passes callbacks. Render
|
|
17
|
+
* minimized windows with the companion WorkspaceTray.
|
|
18
|
+
*/
|
|
19
|
+
function WorkspaceWindow({ title, state, children, onMinimize, onClose, onOpenFullPage, headerActions, testId = "workspace-window", }) {
|
|
20
|
+
if (state === "minimized")
|
|
21
|
+
return null;
|
|
22
|
+
const size = WINDOW_SIZE;
|
|
23
|
+
return ((0, jsx_runtime_1.jsxs)(react_1.Modal, { isOpen: true, onClose: () => onClose === null || onClose === void 0 ? void 0 : onClose(), size: "full", isCentered: true, scrollBehavior: "inside",
|
|
24
|
+
// Don't discard unsaved work on an accidental overlay click / Esc — the
|
|
25
|
+
// parent decides via the explicit Close control.
|
|
26
|
+
closeOnOverlayClick: false, closeOnEsc: false, children: [(0, jsx_runtime_1.jsx)(react_1.ModalOverlay, { backdropFilter: "blur(3px)" }), (0, jsx_runtime_1.jsx)(react_1.ModalContent, { bg: "transparent", boxShadow: "none", m: 0, display: "flex", alignItems: "center", justifyContent: "center", children: (0, jsx_runtime_1.jsxs)(react_1.Box, { bg: "white", borderRadius: "0.75rem", boxShadow: "2xl", overflow: "hidden", w: "100%", maxW: size.maxW, h: size.h, display: "flex", flexDirection: "column", "data-testid": testId, "data-window-state": state, children: [(0, jsx_runtime_1.jsxs)(react_1.Flex, { align: "center", justify: "space-between", px: 3, py: 2, borderBottomWidth: "1px", borderColor: "gray.100", bg: "gray.50", flexShrink: 0, children: [(0, jsx_runtime_1.jsx)(react_1.Text, { fontSize: "sm", fontWeight: 600, color: "gray.700", noOfLines: 1, "data-testid": `${testId}-title`, children: title }), (0, jsx_runtime_1.jsxs)(react_1.HStack, { spacing: 1, children: [headerActions, onOpenFullPage ? ((0, jsx_runtime_1.jsx)(react_1.IconButton, { "aria-label": "Open full page", size: "xs", variant: "ghost", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ExternalLink, { size: 14 }), onClick: onOpenFullPage, "data-testid": `${testId}-fullpage` })) : null, onMinimize ? ((0, jsx_runtime_1.jsx)(react_1.IconButton, { "aria-label": "Minimize", size: "xs", variant: "ghost", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Minus, { size: 15 }), onClick: onMinimize, "data-testid": `${testId}-minimize` })) : null, onClose ? ((0, jsx_runtime_1.jsx)(react_1.IconButton, { "aria-label": "Close", size: "xs", variant: "ghost", colorScheme: "red", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 15 }), onClick: onClose, "data-testid": `${testId}-close` })) : null] })] }), (0, jsx_runtime_1.jsx)(react_1.Box, { flex: "1", overflow: "auto", px: { base: 3, md: 5 }, py: 4, children: children })] }) })] }));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Bottom tray of restore pills for minimized WorkspaceWindows. Presentational —
|
|
30
|
+
* the parent supplies the minimized items and restore/close handlers.
|
|
31
|
+
*/
|
|
32
|
+
function WorkspaceTray({ items, onRestore, onClose, testId = "workspace-tray", }) {
|
|
33
|
+
if (!items.length)
|
|
34
|
+
return null;
|
|
35
|
+
return (
|
|
36
|
+
// Floating bottom-right cluster (Gmail/Jira minimized-window pattern) rather
|
|
37
|
+
// than a full-width docked bar, so it never covers the bottom strip of page
|
|
38
|
+
// content and needs no reserved page gutter. Pills wrap upward.
|
|
39
|
+
(0, jsx_runtime_1.jsx)(react_1.Flex, { position: "fixed", bottom: 4, right: 4, zIndex: 1400, direction: "row-reverse", wrap: "wrap-reverse", justify: "flex-start", gap: 2, maxW: { base: "calc(100vw - 2rem)", md: "36rem" }, "data-testid": testId, children: items.map((item) => ((0, jsx_runtime_1.jsxs)(react_1.HStack, { spacing: 1, pl: 3, pr: 1, py: 1, borderRadius: "full", bg: "blue.100", color: "blue.700", boxShadow: "md", borderWidth: "1px", borderColor: "blue.200", "data-testid": `${testId}-pill`, children: [(0, jsx_runtime_1.jsx)(react_1.Box, { as: "button", type: "button", fontSize: "sm", onClick: () => onRestore === null || onRestore === void 0 ? void 0 : onRestore(item.id), "data-testid": `${testId}-restore`, maxW: "16rem", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", children: item.title }), onClose ? ((0, jsx_runtime_1.jsx)(react_1.IconButton, { "aria-label": "Close", size: "xs", variant: "ghost", borderRadius: "full", minW: "auto", h: "auto", p: 1, color: "inherit", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 13 }), onClick: () => onClose(item.id), "data-testid": `${testId}-close` })) : null] }, item.id))) }));
|
|
40
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Window state for a WorkspaceWindow.
|
|
4
|
+
* - "medium": default centered dialog (Jira-style)
|
|
5
|
+
* - "maximized": near-full-screen
|
|
6
|
+
* - "minimized": collapsed to a tray pill (rendered by WorkspaceTray, not the window)
|
|
7
|
+
*/
|
|
8
|
+
export type WorkspaceWindowState = "medium" | "maximized" | "minimized";
|
|
9
|
+
export interface WorkspaceWindowProps {
|
|
10
|
+
/** Title shown in the window's control bar. */
|
|
11
|
+
title: ReactNode;
|
|
12
|
+
/** Current window state. When "minimized", the window renders nothing. */
|
|
13
|
+
state: WorkspaceWindowState;
|
|
14
|
+
/** Window body. */
|
|
15
|
+
children: ReactNode;
|
|
16
|
+
onMinimize?: () => void;
|
|
17
|
+
onMedium?: () => void;
|
|
18
|
+
onMaximize?: () => void;
|
|
19
|
+
onClose?: () => void;
|
|
20
|
+
/** Optional "pop out to full page" affordance; hidden when omitted. */
|
|
21
|
+
onOpenFullPage?: () => void;
|
|
22
|
+
/** Extra controls rendered in the control bar, left of the window buttons. */
|
|
23
|
+
headerActions?: ReactNode;
|
|
24
|
+
/** data-testid for the window container. */
|
|
25
|
+
testId?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface WorkspaceTrayItem {
|
|
28
|
+
id: string;
|
|
29
|
+
title: ReactNode;
|
|
30
|
+
}
|
|
31
|
+
export interface WorkspaceTrayProps {
|
|
32
|
+
/** Minimized items rendered as restore pills along the bottom. */
|
|
33
|
+
items: WorkspaceTrayItem[];
|
|
34
|
+
onRestore?: (id: string) => void;
|
|
35
|
+
onClose?: (id: string) => void;
|
|
36
|
+
testId?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface WorkspaceTrayPreviewProps {
|
|
39
|
+
/**
|
|
40
|
+
* The trigger markup (typically a tray pill). The preview + trigger share one
|
|
41
|
+
* open/close timer so the cursor can travel pill ⇄ preview without the card
|
|
42
|
+
* closing (hover-bridge pattern).
|
|
43
|
+
*/
|
|
44
|
+
children: ReactNode;
|
|
45
|
+
/**
|
|
46
|
+
* The preview body, rendered inside the floating card. Headless: the consumer
|
|
47
|
+
* supplies whatever it wants to show (ticket summary, chips, actions, etc.).
|
|
48
|
+
* A render-prop form receives the card's own `close()` so an action inside
|
|
49
|
+
* the preview can dismiss it.
|
|
50
|
+
*/
|
|
51
|
+
preview: ReactNode | ((api: {
|
|
52
|
+
close: () => void;
|
|
53
|
+
}) => ReactNode);
|
|
54
|
+
/** Whether the preview is enabled at all (e.g. disable on touch devices). */
|
|
55
|
+
enabled?: boolean;
|
|
56
|
+
/** ms before the card opens on hover/focus (anti-flash). Default 350. */
|
|
57
|
+
openDelayMs?: number;
|
|
58
|
+
/** ms grace before the card closes on leave (bridge). Default 200. */
|
|
59
|
+
closeDelayMs?: number;
|
|
60
|
+
/**
|
|
61
|
+
* Where the card opens relative to the trigger. Default "top-end" (above,
|
|
62
|
+
* right-aligned) — matches a bottom-right tray.
|
|
63
|
+
*/
|
|
64
|
+
placement?: "top-start" | "top-end" | "bottom-start" | "bottom-end";
|
|
65
|
+
/** Fires when the card actually opens — use to lazy-load the preview data. */
|
|
66
|
+
onOpenChange?: (open: boolean) => void;
|
|
67
|
+
/** Card width. Default 340px, capped to the viewport on small screens. */
|
|
68
|
+
width?: string | number;
|
|
69
|
+
/** data-testid for the floating card. */
|
|
70
|
+
testId?: string;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=WorkspaceWindowProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkspaceWindowProps.d.ts","sourceRoot":"","sources":["../../../src/Components/WorkspaceWindow/WorkspaceWindowProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;AAExE,MAAM,WAAW,oBAAoB;IACnC,+CAA+C;IAC/C,KAAK,EAAE,SAAS,CAAC;IACjB,0EAA0E;IAC1E,KAAK,EAAE,oBAAoB,CAAC;IAC5B,mBAAmB;IACnB,QAAQ,EAAE,SAAS,CAAC;IAEpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAE5B,8EAA8E;IAC9E,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;;OAKG;IACH,OAAO,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,SAAS,CAAC,CAAC;IACjE,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,YAAY,CAAC;IACpE,8EAA8E;IAC9E,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -64,6 +64,8 @@ import Notification from "./Components/Notification/Notification";
|
|
|
64
64
|
import DatePicker from "./Components/DatePicker/ThemeDatePicker";
|
|
65
65
|
import FilterSidebar from "./Components/FilterSidebar/FilterSidebar";
|
|
66
66
|
import EmptyState from "./Components/EmptyState/EmptyState";
|
|
67
|
+
import WorkspaceWindow, { WorkspaceTray } from "./Components/WorkspaceWindow/WorkspaceWindow";
|
|
68
|
+
import WorkspaceTrayPreview from "./Components/WorkspaceWindow/WorkspaceTrayPreview";
|
|
67
69
|
import MoreItems from "./Components/MoreItems/MoreItems";
|
|
68
70
|
import ScrollToTop from "./Components/ScrollToTop/ScrollToTop";
|
|
69
71
|
import CopyButton from "./Components/CopyButton/CopyButton";
|
|
@@ -80,9 +82,10 @@ import RolesPermission from "./Components/RolesPermission/RolesPermission";
|
|
|
80
82
|
import CustomModulesTable from "./Components/CustomModulesTable/CustomModulesTable";
|
|
81
83
|
import SignInActivityTable from "./Components/SignInActivityTable/SignInActivityTable";
|
|
82
84
|
import OrganizationDetails from "./Components/OrganizationDetails/OrganizationDetails";
|
|
83
|
-
export { Accordian, AlertDialog, ApexBarChart, ApexPieChart, ApexPolarChart, ApexLineChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, ContactForm, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, EmptyState, FieldSelectModal, FilePreview, FilePreviewTrigger, FileUpload, FileUploader, FilterSidebar, FormWrapper, LazyWrapper, MoreItems, PdfViewer, ScrollToTop, CopyButton, StageProgress, StageItem, OrgSwitcher, UpgradeButton, UserDetails, RolesPermission, CustomModulesTable, SignInActivityTable, OrganizationDetails, Header, HeaderActions, InputTextArea, InputSwitch, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, Notification, NoteTextArea, MultiSelect, NumberInput, PaymentCard, PhoneNumberInput, PinInput, ProductCard, ProductDetails, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Reorder, Search, Select, SearchSelect, SelectSearch, SideBar, Slider, Skeletons, Switch, Table, TableToggle, Tag, TextInput, Timeline, Toaster, ToolTip, OverflowToolTip, useToaster, VerifyEmailOtp, useSidebarPrefs, useIsTruncated, useCustomTheme, ThemesList, debounce, };
|
|
85
|
+
export { Accordian, AlertDialog, ApexBarChart, ApexPieChart, ApexPolarChart, ApexLineChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, ContactForm, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, EmptyState, WorkspaceWindow, WorkspaceTray, WorkspaceTrayPreview, FieldSelectModal, FilePreview, FilePreviewTrigger, FileUpload, FileUploader, FilterSidebar, FormWrapper, LazyWrapper, MoreItems, PdfViewer, ScrollToTop, CopyButton, StageProgress, StageItem, OrgSwitcher, UpgradeButton, UserDetails, RolesPermission, CustomModulesTable, SignInActivityTable, OrganizationDetails, Header, HeaderActions, InputTextArea, InputSwitch, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, Notification, NoteTextArea, MultiSelect, NumberInput, PaymentCard, PhoneNumberInput, PinInput, ProductCard, ProductDetails, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Reorder, Search, Select, SearchSelect, SelectSearch, SideBar, Slider, Skeletons, Switch, Table, TableToggle, Tag, TextInput, Timeline, Toaster, ToolTip, OverflowToolTip, useToaster, VerifyEmailOtp, useSidebarPrefs, useIsTruncated, useCustomTheme, ThemesList, debounce, };
|
|
84
86
|
export default withTheme;
|
|
85
87
|
export type { UserDetailsProps, UserDetailsLabels, UserListItem, SelectedUserDetail, UserDetailRow, RoleOption, AddUserFormValues, ChangeRoleSubmitPayload, } from "./Components/UserDetails/UserDetailsProps";
|
|
88
|
+
export type { WorkspaceWindowProps, WorkspaceWindowState, WorkspaceTrayProps, WorkspaceTrayItem, WorkspaceTrayPreviewProps, } from "./Components/WorkspaceWindow/WorkspaceWindowProps";
|
|
86
89
|
export type { RolesPermissionProps, RolesPermissionLabels, RolesPermissionView, RolesPermissionMode, Permission, PermissionKey, RoleData, } from "./Components/RolesPermission/RolesPermissionProps";
|
|
87
90
|
export type { CustomModulesTableProps, CustomModulesTableLabels, ModuleItem, UpdateModulePayload, } from "./Components/CustomModulesTable/CustomModulesTableProps";
|
|
88
91
|
export type { SignInActivityTableProps, SignInActivityLabels, SignInDevice, } from "./Components/SignInActivityTable/SignInActivityTableProps";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -37,8 +37,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
38
|
};
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
exports.
|
|
41
|
-
exports.debounce = exports.ThemesList = exports.useCustomTheme = exports.useIsTruncated = exports.useSidebarPrefs = exports.VerifyEmailOtp = exports.useToaster = exports.OverflowToolTip = exports.ToolTip = exports.Toaster = exports.Timeline = exports.TextInput = exports.Tag = exports.TableToggle = exports.Table = exports.Switch = exports.Skeletons = exports.Slider = exports.SideBar = exports.SelectSearch = exports.SearchSelect = exports.Select = exports.Search = exports.Reorder = exports.RadioButtonGroup = exports.RadioButton = exports.ProgressBar = exports.ProfilePhotoViewer = exports.ProfileCardFooter = exports.ProfileCardBody = exports.ProfileCardHeader = exports.ProfileCard = exports.ProductDetails = exports.ProductCard = exports.PinInput = exports.PhoneNumberInput = exports.PaymentCard = exports.NumberInput = exports.MultiSelect = exports.NoteTextArea = exports.Notification = exports.NavigationBar = exports.ModalFooter = void 0;
|
|
40
|
+
exports.Loading = exports.KanbanBoard = exports.InputSwitch = exports.InputTextArea = exports.HeaderActions = exports.Header = exports.OrganizationDetails = exports.SignInActivityTable = exports.CustomModulesTable = exports.RolesPermission = exports.UserDetails = exports.UpgradeButton = exports.OrgSwitcher = exports.StageItem = exports.StageProgress = exports.CopyButton = exports.ScrollToTop = exports.PdfViewer = exports.MoreItems = exports.LazyWrapper = exports.FormWrapper = exports.FilterSidebar = exports.FileUploader = exports.FileUpload = exports.FilePreviewTrigger = exports.FilePreview = exports.FieldSelectModal = exports.WorkspaceTrayPreview = exports.WorkspaceTray = exports.WorkspaceWindow = exports.EmptyState = exports.Editor = exports.Dropdown = exports.DrawerFooter = exports.DrawerBody = exports.DrawerHeader = exports.Drawer = exports.DatePicker = exports.ContactForm = exports.Checkbox = exports.Card = exports.ButtonGroupIcon = exports.Button = exports.Breadcrumbs = exports.ApexLineChart = exports.ApexPolarChart = exports.ApexPieChart = exports.ApexBarChart = exports.AlertDialog = exports.Accordian = void 0;
|
|
41
|
+
exports.debounce = exports.ThemesList = exports.useCustomTheme = exports.useIsTruncated = exports.useSidebarPrefs = exports.VerifyEmailOtp = exports.useToaster = exports.OverflowToolTip = exports.ToolTip = exports.Toaster = exports.Timeline = exports.TextInput = exports.Tag = exports.TableToggle = exports.Table = exports.Switch = exports.Skeletons = exports.Slider = exports.SideBar = exports.SelectSearch = exports.SearchSelect = exports.Select = exports.Search = exports.Reorder = exports.RadioButtonGroup = exports.RadioButton = exports.ProgressBar = exports.ProfilePhotoViewer = exports.ProfileCardFooter = exports.ProfileCardBody = exports.ProfileCardHeader = exports.ProfileCard = exports.ProductDetails = exports.ProductCard = exports.PinInput = exports.PhoneNumberInput = exports.PaymentCard = exports.NumberInput = exports.MultiSelect = exports.NoteTextArea = exports.Notification = exports.NavigationBar = exports.ModalFooter = exports.ModalBody = exports.ModalHeader = exports.Modal = void 0;
|
|
42
42
|
const Accordion_1 = __importDefault(require("./Components/Accordion/Accordion"));
|
|
43
43
|
exports.Accordian = Accordion_1.default;
|
|
44
44
|
const AlertDialog_1 = __importDefault(require("./Components/AlertDialog/AlertDialog"));
|
|
@@ -182,6 +182,11 @@ const FilterSidebar_1 = __importDefault(require("./Components/FilterSidebar/Filt
|
|
|
182
182
|
exports.FilterSidebar = FilterSidebar_1.default;
|
|
183
183
|
const EmptyState_1 = __importDefault(require("./Components/EmptyState/EmptyState"));
|
|
184
184
|
exports.EmptyState = EmptyState_1.default;
|
|
185
|
+
const WorkspaceWindow_1 = __importStar(require("./Components/WorkspaceWindow/WorkspaceWindow"));
|
|
186
|
+
exports.WorkspaceWindow = WorkspaceWindow_1.default;
|
|
187
|
+
Object.defineProperty(exports, "WorkspaceTray", { enumerable: true, get: function () { return WorkspaceWindow_1.WorkspaceTray; } });
|
|
188
|
+
const WorkspaceTrayPreview_1 = __importDefault(require("./Components/WorkspaceWindow/WorkspaceTrayPreview"));
|
|
189
|
+
exports.WorkspaceTrayPreview = WorkspaceTrayPreview_1.default;
|
|
185
190
|
const MoreItems_1 = __importDefault(require("./Components/MoreItems/MoreItems"));
|
|
186
191
|
exports.MoreItems = MoreItems_1.default;
|
|
187
192
|
const ScrollToTop_1 = __importDefault(require("./Components/ScrollToTop/ScrollToTop"));
|
package/package.json
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pixelize-design-library",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.22",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist",
|
|
10
|
+
"README.md"
|
|
11
|
+
],
|
|
8
12
|
"dependencies": {
|
|
9
13
|
"@fontsource-variable/inter": "^5.2.8",
|
|
10
14
|
"@hello-pangea/dnd": "^18.0.1",
|
package/.cursor/TASK-SETUP.md
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# Task pipeline — one-time developer setup
|
|
2
|
-
|
|
3
|
-
Hooks in this repo work automatically after clone.
|
|
4
|
-
|
|
5
|
-
## Recommended (global skills + status line)
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
git clone git@github.com:pixelize-tech/pixelize-cursor-setup.git
|
|
9
|
-
cd pixelize-cursor-setup && ./install.sh
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
Installs all cross-repo `/` skills (`crm-task`, `social-task`, …), status line, and `cli-config.json`. Restart Cursor.
|
|
13
|
-
|
|
14
|
-
Repo: https://github.com/pixelize-tech/pixelize-cursor-setup
|
|
15
|
-
|
|
16
|
-
## Manual status line only
|
|
17
|
-
|
|
18
|
-
1. Copy the script to your user Cursor folder:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
cp .cursor/pixelize-task-statusline.sh ~/.cursor/pixelize-task-statusline.sh
|
|
22
|
-
chmod +x ~/.cursor/pixelize-task-statusline.sh
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
2. Add to `~/.cursor/cli-config.json` (merge if the file already exists):
|
|
26
|
-
|
|
27
|
-
```json
|
|
28
|
-
{
|
|
29
|
-
"statusLine": {
|
|
30
|
-
"type": "command",
|
|
31
|
-
"command": "~/.cursor/pixelize-task-statusline.sh",
|
|
32
|
-
"padding": 0
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
3. Restart Cursor or open a new Agent chat.
|
|
38
|
-
|
|
39
|
-
## Task skill (feature work)
|
|
40
|
-
|
|
41
|
-
- Pick **`task`** from the **`/`** menu, then describe your goal.
|
|
42
|
-
- Do **not** type `/task` in the message body — a hook will block it (zero tokens wasted).
|
|
43
|
-
- See repo `CLAUDE.md` for the cross-repo skill name if applicable.
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: be-impl
|
|
3
|
-
description: >-
|
|
4
|
-
Handles build, exports, and publish pipeline changes. Use in @task phase 2
|
|
5
|
-
when plan includes index.ts, tsc build, or npm publish steps.
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are the lib-impl (build/export) agent for **Pixelize Design Library** (Micro-Components).
|
|
9
|
-
|
|
10
|
-
Note: This repo has no backend API. This agent covers build pipeline, not crm-service.
|
|
11
|
-
|
|
12
|
-
## When invoked
|
|
13
|
-
|
|
14
|
-
1. Read CLAUDE.md and .cursor/rules
|
|
15
|
-
2. Read the plan from .cursor/plans/current.md
|
|
16
|
-
3. Read `.cursor/modules/types-exports/MODULE.md`
|
|
17
|
-
|
|
18
|
-
## Workflow
|
|
19
|
-
|
|
20
|
-
1. Work only inside Micro-Components
|
|
21
|
-
2. Update `src/index.ts` exports
|
|
22
|
-
3. Verify `tsconfig.json` and build output in `dist/`
|
|
23
|
-
4. Run `npm run build` to validate
|
|
24
|
-
5. Update MODULE.md if export surface changes
|
|
25
|
-
6. Do not run `npm publish` unless user explicitly requests
|
|
26
|
-
|
|
27
|
-
## Output
|
|
28
|
-
|
|
29
|
-
- Done / Blocked lists
|
|
30
|
-
- Files changed
|
|
31
|
-
- Build result (pass/fail)
|
|
32
|
-
|
|
33
|
-
## Rules
|
|
34
|
-
|
|
35
|
-
- Never edit `dist/` directly — change `src/` and rebuild
|
|
36
|
-
- Never commit without user confirmation
|
|
37
|
-
- Never break existing exports without noting semver impact
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: fe-impl
|
|
3
|
-
description: >-
|
|
4
|
-
Implements component changes from an approved plan. Use in @task phase 2
|
|
5
|
-
for UI components, theme, and playground pages.
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are the fe-impl (component implementation) agent for **Pixelize Design Library** (Micro-Components).
|
|
9
|
-
|
|
10
|
-
## When invoked
|
|
11
|
-
|
|
12
|
-
1. Read CLAUDE.md and .cursor/rules
|
|
13
|
-
2. Read the plan from .cursor/plans/current.md — do not replan
|
|
14
|
-
3. Read `.cursor/modules/<domain>/MODULE.md` for every domain you will touch
|
|
15
|
-
4. Read one existing similar component before starting
|
|
16
|
-
|
|
17
|
-
## Workflow
|
|
18
|
-
|
|
19
|
-
1. Work only inside Micro-Components
|
|
20
|
-
2. Implement in `src/Components/<Name>/`
|
|
21
|
-
3. Add/update demo in `src/Pages/` if needed for playground
|
|
22
|
-
4. Export from `src/index.ts` for public API
|
|
23
|
-
5. Use Chakra + theme tokens from `src/Theme/` — match existing patterns
|
|
24
|
-
6. Always handle null/undefined, loading, and error states
|
|
25
|
-
7. Update `.cursor/modules/<domain>/MODULE.md` after implementation
|
|
26
|
-
8. Keep changes minimal — no scope creep
|
|
27
|
-
|
|
28
|
-
## Output
|
|
29
|
-
|
|
30
|
-
- Done: bullet list of completed tasks
|
|
31
|
-
- Files changed: every file path with one-line description
|
|
32
|
-
- Blocked: anything not completed with exact reason
|
|
33
|
-
- Notes for test-create: what needs Jest coverage
|
|
34
|
-
|
|
35
|
-
## Rules
|
|
36
|
-
|
|
37
|
-
- Never add app-specific CRM/API logic to library components
|
|
38
|
-
- Never commit
|
|
39
|
-
- No placeholder files or fake demo data
|