ajaxter-chat 3.0.16 → 3.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 (147) hide show
  1. package/dist/components/BlockList/index.d.ts +1 -0
  2. package/dist/components/BlockList/index.d.ts.map +1 -0
  3. package/dist/components/BlockList/index.js +55 -28
  4. package/dist/components/BlockList/index.js.map +1 -0
  5. package/dist/components/CallScreen/index.d.ts +3 -0
  6. package/dist/components/CallScreen/index.d.ts.map +1 -0
  7. package/dist/components/CallScreen/index.js +107 -29
  8. package/dist/components/CallScreen/index.js.map +1 -0
  9. package/dist/components/ChatScreen/index.d.ts +1 -0
  10. package/dist/components/ChatScreen/index.d.ts.map +1 -0
  11. package/dist/components/ChatScreen/index.js +493 -294
  12. package/dist/components/ChatScreen/index.js.map +1 -0
  13. package/dist/components/ChatWidget.d.ts +1 -0
  14. package/dist/components/ChatWidget.d.ts.map +1 -0
  15. package/dist/components/ChatWidget.js +359 -250
  16. package/dist/components/ChatWidget.js.map +1 -0
  17. package/dist/components/EmojiPicker/index.d.ts +1 -0
  18. package/dist/components/EmojiPicker/index.d.ts.map +1 -0
  19. package/dist/components/EmojiPicker/index.js +19 -7
  20. package/dist/components/EmojiPicker/index.js.map +1 -0
  21. package/dist/components/ErrorBoundary/index.d.ts +20 -0
  22. package/dist/components/ErrorBoundary/index.d.ts.map +1 -0
  23. package/dist/components/ErrorBoundary/index.js +76 -0
  24. package/dist/components/ErrorBoundary/index.js.map +1 -0
  25. package/dist/components/HomeScreen/index.d.ts +1 -0
  26. package/dist/components/HomeScreen/index.d.ts.map +1 -0
  27. package/dist/components/HomeScreen/index.js +236 -158
  28. package/dist/components/HomeScreen/index.js.map +1 -0
  29. package/dist/components/MaintenanceView/index.d.ts +1 -0
  30. package/dist/components/MaintenanceView/index.d.ts.map +1 -0
  31. package/dist/components/MaintenanceView/index.js +28 -12
  32. package/dist/components/MaintenanceView/index.js.map +1 -0
  33. package/dist/components/MiniCallBar/index.d.ts +15 -0
  34. package/dist/components/MiniCallBar/index.d.ts.map +1 -0
  35. package/dist/components/MiniCallBar/index.js +116 -0
  36. package/dist/components/MiniCallBar/index.js.map +1 -0
  37. package/dist/components/PermissionsGateScreen/index.d.ts +1 -0
  38. package/dist/components/PermissionsGateScreen/index.d.ts.map +1 -0
  39. package/dist/components/PermissionsGateScreen/index.js +82 -28
  40. package/dist/components/PermissionsGateScreen/index.js.map +1 -0
  41. package/dist/components/RecentChatsScreen/index.d.ts +1 -0
  42. package/dist/components/RecentChatsScreen/index.d.ts.map +1 -0
  43. package/dist/components/RecentChatsScreen/index.js +79 -19
  44. package/dist/components/RecentChatsScreen/index.js.map +1 -0
  45. package/dist/components/SlideNavMenu.d.ts +1 -0
  46. package/dist/components/SlideNavMenu.d.ts.map +1 -0
  47. package/dist/components/SlideNavMenu.js +82 -63
  48. package/dist/components/SlideNavMenu.js.map +1 -0
  49. package/dist/components/Tabs/BottomTabs.d.ts +1 -0
  50. package/dist/components/Tabs/BottomTabs.d.ts.map +1 -0
  51. package/dist/components/Tabs/BottomTabs.js +34 -19
  52. package/dist/components/Tabs/BottomTabs.js.map +1 -0
  53. package/dist/components/TicketDetailScreen/index.d.ts +1 -0
  54. package/dist/components/TicketDetailScreen/index.d.ts.map +1 -0
  55. package/dist/components/TicketDetailScreen/index.js +66 -27
  56. package/dist/components/TicketDetailScreen/index.js.map +1 -0
  57. package/dist/components/TicketFormScreen/index.d.ts +1 -0
  58. package/dist/components/TicketFormScreen/index.d.ts.map +1 -0
  59. package/dist/components/TicketFormScreen/index.js +99 -49
  60. package/dist/components/TicketFormScreen/index.js.map +1 -0
  61. package/dist/components/TicketScreen/index.d.ts +1 -0
  62. package/dist/components/TicketScreen/index.d.ts.map +1 -0
  63. package/dist/components/TicketScreen/index.js +95 -26
  64. package/dist/components/TicketScreen/index.js.map +1 -0
  65. package/dist/components/UserListScreen/index.d.ts +1 -0
  66. package/dist/components/UserListScreen/index.d.ts.map +1 -0
  67. package/dist/components/UserListScreen/index.js +127 -53
  68. package/dist/components/UserListScreen/index.js.map +1 -0
  69. package/dist/components/ViewerBlockedScreen/index.d.ts +1 -0
  70. package/dist/components/ViewerBlockedScreen/index.d.ts.map +1 -0
  71. package/dist/components/ViewerBlockedScreen/index.js +113 -61
  72. package/dist/components/ViewerBlockedScreen/index.js.map +1 -0
  73. package/dist/config/index.d.ts +1 -0
  74. package/dist/config/index.d.ts.map +1 -0
  75. package/dist/config/index.js +7 -2
  76. package/dist/config/index.js.map +1 -0
  77. package/dist/hooks/useChat.d.ts +9 -1
  78. package/dist/hooks/useChat.d.ts.map +1 -0
  79. package/dist/hooks/useChat.js +60 -18
  80. package/dist/hooks/useChat.js.map +1 -0
  81. package/dist/hooks/useRemoteConfig.d.ts +1 -0
  82. package/dist/hooks/useRemoteConfig.d.ts.map +1 -0
  83. package/dist/hooks/useRemoteConfig.js +12 -8
  84. package/dist/hooks/useRemoteConfig.js.map +1 -0
  85. package/dist/hooks/useSocket.d.ts +40 -0
  86. package/dist/hooks/useSocket.d.ts.map +1 -0
  87. package/dist/hooks/useSocket.js +190 -0
  88. package/dist/hooks/useSocket.js.map +1 -0
  89. package/dist/hooks/useWebRTC.d.ts +10 -2
  90. package/dist/hooks/useWebRTC.d.ts.map +1 -0
  91. package/dist/hooks/useWebRTC.js +101 -69
  92. package/dist/hooks/useWebRTC.js.map +1 -0
  93. package/dist/index.d.ts +6 -0
  94. package/dist/index.d.ts.map +1 -0
  95. package/dist/index.js +67 -21
  96. package/dist/index.js.map +1 -0
  97. package/dist/types/index.d.ts +1 -0
  98. package/dist/types/index.d.ts.map +1 -0
  99. package/dist/types/index.js +3 -1
  100. package/dist/types/index.js.map +1 -0
  101. package/dist/utils/chat.d.ts +1 -0
  102. package/dist/utils/chat.d.ts.map +1 -0
  103. package/dist/utils/chat.js +17 -7
  104. package/dist/utils/chat.js.map +1 -0
  105. package/dist/utils/fileName.d.ts +1 -0
  106. package/dist/utils/fileName.d.ts.map +1 -0
  107. package/dist/utils/fileName.js +5 -1
  108. package/dist/utils/fileName.js.map +1 -0
  109. package/dist/utils/messageSound.d.ts +1 -0
  110. package/dist/utils/messageSound.d.ts.map +1 -0
  111. package/dist/utils/messageSound.js +9 -3
  112. package/dist/utils/messageSound.js.map +1 -0
  113. package/dist/utils/presenceStatus.d.ts +1 -0
  114. package/dist/utils/presenceStatus.d.ts.map +1 -0
  115. package/dist/utils/presenceStatus.js +11 -4
  116. package/dist/utils/presenceStatus.js.map +1 -0
  117. package/dist/utils/privacyConsent.d.ts +1 -0
  118. package/dist/utils/privacyConsent.d.ts.map +1 -0
  119. package/dist/utils/privacyConsent.js +9 -3
  120. package/dist/utils/privacyConsent.js.map +1 -0
  121. package/dist/utils/reenableRequest.d.ts +1 -0
  122. package/dist/utils/reenableRequest.d.ts.map +1 -0
  123. package/dist/utils/reenableRequest.js +5 -1
  124. package/dist/utils/reenableRequest.js.map +1 -0
  125. package/dist/utils/theme.d.ts +1 -0
  126. package/dist/utils/theme.d.ts.map +1 -0
  127. package/dist/utils/theme.js +10 -4
  128. package/dist/utils/theme.js.map +1 -0
  129. package/dist/utils/widgetPermissions.d.ts +1 -0
  130. package/dist/utils/widgetPermissions.d.ts.map +1 -0
  131. package/dist/utils/widgetPermissions.js +13 -5
  132. package/dist/utils/widgetPermissions.js.map +1 -0
  133. package/dist/utils/widgetSession.d.ts +1 -0
  134. package/dist/utils/widgetSession.d.ts.map +1 -0
  135. package/dist/utils/widgetSession.js +9 -3
  136. package/dist/utils/widgetSession.js.map +1 -0
  137. package/package.json +3 -3
  138. package/src/components/CallScreen/index.tsx +23 -1
  139. package/src/components/ChatScreen/index.tsx +2 -1
  140. package/src/components/ChatWidget.tsx +314 -263
  141. package/src/components/ErrorBoundary/index.tsx +62 -0
  142. package/src/components/HomeScreen/index.tsx +0 -3
  143. package/src/components/MiniCallBar/index.tsx +150 -0
  144. package/src/hooks/useChat.ts +59 -12
  145. package/src/hooks/useSocket.ts +228 -0
  146. package/src/hooks/useWebRTC.ts +99 -64
  147. package/src/index.ts +7 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomTabs.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs/BottomTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,UAAU,eAAe;IACvB,MAAM,EAAQ,SAAS,CAAC;IACxB,QAAQ,EAAM,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqChD,CAAC"}
@@ -1,27 +1,42 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- export const BottomTabs = ({ active, onChange, primaryColor }) => {
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BottomTabs = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const BottomTabs = ({ active, onChange, primaryColor }) => {
3
9
  const tabs = [
4
10
  { key: 'home', label: 'Home', Icon: HomeIcon },
5
11
  { key: 'chats', label: 'Chats', Icon: ChatsIcon },
6
12
  { key: 'tickets', label: 'Tickets', Icon: TicketsIcon },
7
13
  ];
8
- return (_jsx("div", { style: {
14
+ return (react_1.default.createElement("div", { style: {
9
15
  display: 'flex', borderTop: '1px solid #eef0f5',
10
16
  backgroundColor: '#fff', flexShrink: 0,
11
- }, children: tabs.map(tab => {
12
- const isActive = active === tab.key;
13
- return (_jsxs("button", { type: "button", onClick: () => onChange(tab.key), style: {
14
- flex: 1, padding: '10px 0 8px',
15
- display: 'flex', flexDirection: 'column', alignItems: 'center', gap: 3,
16
- background: 'transparent', border: 'none', cursor: 'pointer',
17
- fontSize: '10px', fontWeight: isActive ? 700 : 500,
18
- color: isActive ? primaryColor : '#9aa3af',
19
- borderTop: isActive ? `2px solid ${primaryColor}` : '2px solid transparent',
20
- transition: 'color 0.15s',
21
- fontFamily: 'inherit',
22
- }, children: [_jsx(tab.Icon, { a: isActive, c: isActive ? primaryColor : '#b0bec5' }), tab.label] }, tab.key));
23
- }) }));
17
+ } }, tabs.map(tab => {
18
+ const isActive = active === tab.key;
19
+ return (react_1.default.createElement("button", { key: tab.key, type: "button", onClick: () => onChange(tab.key), style: {
20
+ flex: 1, padding: '10px 0 8px',
21
+ display: 'flex', flexDirection: 'column', alignItems: 'center', gap: 3,
22
+ background: 'transparent', border: 'none', cursor: 'pointer',
23
+ fontSize: '10px', fontWeight: isActive ? 700 : 500,
24
+ color: isActive ? primaryColor : '#9aa3af',
25
+ borderTop: isActive ? `2px solid ${primaryColor}` : '2px solid transparent',
26
+ transition: 'color 0.15s',
27
+ fontFamily: 'inherit',
28
+ } },
29
+ react_1.default.createElement(tab.Icon, { a: isActive, c: isActive ? primaryColor : '#b0bec5' }),
30
+ tab.label));
31
+ })));
24
32
  };
25
- const HomeIcon = ({ a, c }) => (_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", children: [_jsx("path", { d: "M3 9.5L12 3l9 6.5V20a1 1 0 01-1 1H4a1 1 0 01-1-1V9.5z", stroke: c, strokeWidth: a ? 2.2 : 1.8, fill: a ? `${c}20` : 'none', strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M9 21V12h6v9", stroke: c, strokeWidth: a ? 2.2 : 1.8, strokeLinecap: "round", strokeLinejoin: "round" })] }));
26
- const ChatsIcon = ({ a, c }) => (_jsx("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z", stroke: c, strokeWidth: a ? 2.2 : 1.8, fill: a ? `${c}20` : 'none', strokeLinecap: "round", strokeLinejoin: "round" }) }));
27
- const TicketsIcon = ({ a, c }) => (_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", children: [_jsx("path", { d: "M15 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V9l-4-4z", stroke: c, strokeWidth: a ? 2.2 : 1.8, fill: a ? `${c}20` : 'none', strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M15 5v4h4M9 13h6M9 17h4", stroke: c, strokeWidth: a ? 2.2 : 1.8, strokeLinecap: "round" })] }));
33
+ exports.BottomTabs = BottomTabs;
34
+ const HomeIcon = ({ a, c }) => (react_1.default.createElement("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none" },
35
+ react_1.default.createElement("path", { d: "M3 9.5L12 3l9 6.5V20a1 1 0 01-1 1H4a1 1 0 01-1-1V9.5z", stroke: c, strokeWidth: a ? 2.2 : 1.8, fill: a ? `${c}20` : 'none', strokeLinecap: "round", strokeLinejoin: "round" }),
36
+ react_1.default.createElement("path", { d: "M9 21V12h6v9", stroke: c, strokeWidth: a ? 2.2 : 1.8, strokeLinecap: "round", strokeLinejoin: "round" })));
37
+ const ChatsIcon = ({ a, c }) => (react_1.default.createElement("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none" },
38
+ react_1.default.createElement("path", { d: "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z", stroke: c, strokeWidth: a ? 2.2 : 1.8, fill: a ? `${c}20` : 'none', strokeLinecap: "round", strokeLinejoin: "round" })));
39
+ const TicketsIcon = ({ a, c }) => (react_1.default.createElement("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none" },
40
+ react_1.default.createElement("path", { d: "M15 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V9l-4-4z", stroke: c, strokeWidth: a ? 2.2 : 1.8, fill: a ? `${c}20` : 'none', strokeLinecap: "round", strokeLinejoin: "round" }),
41
+ react_1.default.createElement("path", { d: "M15 5v4h4M9 13h6M9 17h4", stroke: c, strokeWidth: a ? 2.2 : 1.8, strokeLinecap: "round" })));
42
+ //# sourceMappingURL=BottomTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomTabs.js","sourceRoot":"","sources":["../../../src/components/Tabs/BottomTabs.tsx"],"names":[],"mappings":"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"}
@@ -7,3 +7,4 @@ interface TicketDetailScreenProps {
7
7
  }
8
8
  export declare const TicketDetailScreen: React.FC<TicketDetailScreenProps>;
9
9
  export {};
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TicketDetailScreen/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnD,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAeD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAwFhE,CAAC"}
@@ -1,4 +1,10 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TicketDetailScreen = void 0;
7
+ const react_1 = __importDefault(require("react"));
2
8
  const sm = {
3
9
  open: { label: 'Open', bg: '', color: '' },
4
10
  'in-progress': { label: 'In Progress', bg: '#fef3c7', color: '#d97706' },
@@ -10,37 +16,70 @@ const pm = {
10
16
  medium: { label: 'Medium', color: '#d97706' },
11
17
  high: { label: 'High', color: '#ef4444' },
12
18
  };
13
- export const TicketDetailScreen = ({ ticket, config, onBack }) => {
19
+ const TicketDetailScreen = ({ ticket, config, onBack }) => {
14
20
  const st = sm[ticket.status];
15
21
  const pr = pm[ticket.priority];
16
22
  const stBg = ticket.status === 'open' ? `${config.primaryColor}14` : st.bg;
17
23
  const stColor = ticket.status === 'open' ? config.primaryColor : st.color;
18
- return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', height: '100%', animation: 'cw-slideIn 0.22s ease' }, children: [_jsxs("div", { style: {
19
- background: `linear-gradient(135deg,${config.primaryColor},${config.primaryColor}cc)`,
20
- padding: '14px 18px',
24
+ return (react_1.default.createElement("div", { style: { display: 'flex', flexDirection: 'column', height: '100%', animation: 'cw-slideIn 0.22s ease' } },
25
+ react_1.default.createElement("div", { style: {
26
+ background: `linear-gradient(135deg,${config.primaryColor},${config.primaryColor}cc)`,
27
+ padding: '14px 18px',
28
+ display: 'flex',
29
+ alignItems: 'center',
30
+ gap: 12,
31
+ flexShrink: 0,
32
+ } },
33
+ react_1.default.createElement("button", { type: "button", onClick: onBack, style: {
34
+ background: 'rgba(255,255,255,0.22)',
35
+ border: 'none',
36
+ borderRadius: '50%',
37
+ width: 36,
38
+ height: 36,
21
39
  display: 'flex',
22
40
  alignItems: 'center',
23
- gap: 12,
41
+ justifyContent: 'center',
42
+ cursor: 'pointer',
24
43
  flexShrink: 0,
25
- }, children: [_jsx("button", { type: "button", onClick: onBack, style: {
26
- background: 'rgba(255,255,255,0.22)',
27
- border: 'none',
28
- borderRadius: '50%',
29
- width: 36,
30
- height: 36,
31
- display: 'flex',
32
- alignItems: 'center',
33
- justifyContent: 'center',
34
- cursor: 'pointer',
35
- flexShrink: 0,
36
- }, children: _jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M19 12H5M5 12L12 19M5 12L12 5", stroke: "#fff", strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round" }) }) }), _jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [_jsx("div", { style: { fontWeight: 800, fontSize: 16, color: '#fff', lineHeight: 1.25 }, children: ticket.title }), _jsxs("div", { style: { fontSize: 12, color: 'rgba(255,255,255,0.85)', marginTop: 2 }, children: ["#", ticket.id] })] })] }), _jsxs("div", { className: "cw-scroll", style: { flex: 1, overflowY: 'auto', padding: '20px 18px' }, children: [_jsxs("div", { style: { display: 'flex', flexWrap: 'wrap', gap: 8, marginBottom: 16 }, children: [_jsx("span", { style: {
37
- fontSize: 11,
38
- fontWeight: 700,
39
- padding: '5px 12px',
40
- borderRadius: 20,
41
- backgroundColor: stBg,
42
- color: stColor,
43
- textTransform: 'uppercase',
44
- letterSpacing: '0.04em',
45
- }, children: st.label }), _jsxs("span", { style: { fontSize: 11, fontWeight: 700, padding: '5px 12px', borderRadius: 20, color: pr.color, background: `${pr.color}15` }, children: ["\u25CF ", pr.label, " priority"] })] }), _jsx("h3", { style: { margin: '0 0 8px', fontSize: 13, fontWeight: 700, color: '#64748b', textTransform: 'uppercase', letterSpacing: '0.06em' }, children: "Description" }), _jsx("p", { style: { margin: '0 0 24px', fontSize: 15, color: '#1e293b', lineHeight: 1.65, whiteSpace: 'pre-wrap' }, children: ticket.description || '—' }), _jsxs("div", { style: { fontSize: 13, color: '#94a3b8', display: 'grid', gap: 8 }, children: [_jsxs("div", { children: [_jsx("strong", { style: { color: '#64748b' }, children: "Created" }), " \u00B7 ", new Date(ticket.createdAt).toLocaleString()] }), _jsxs("div", { children: [_jsx("strong", { style: { color: '#64748b' }, children: "Updated" }), " \u00B7 ", new Date(ticket.updatedAt).toLocaleString()] }), ticket.assignedTo && (_jsxs("div", { children: [_jsx("strong", { style: { color: '#64748b' }, children: "Assigned" }), " \u00B7 ", ticket.assignedTo] }))] })] })] }));
44
+ } },
45
+ react_1.default.createElement("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none" },
46
+ react_1.default.createElement("path", { d: "M19 12H5M5 12L12 19M5 12L12 5", stroke: "#fff", strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round" }))),
47
+ react_1.default.createElement("div", { style: { flex: 1, minWidth: 0 } },
48
+ react_1.default.createElement("div", { style: { fontWeight: 800, fontSize: 16, color: '#fff', lineHeight: 1.25 } }, ticket.title),
49
+ react_1.default.createElement("div", { style: { fontSize: 12, color: 'rgba(255,255,255,0.85)', marginTop: 2 } },
50
+ "#",
51
+ ticket.id))),
52
+ react_1.default.createElement("div", { className: "cw-scroll", style: { flex: 1, overflowY: 'auto', padding: '20px 18px' } },
53
+ react_1.default.createElement("div", { style: { display: 'flex', flexWrap: 'wrap', gap: 8, marginBottom: 16 } },
54
+ react_1.default.createElement("span", { style: {
55
+ fontSize: 11,
56
+ fontWeight: 700,
57
+ padding: '5px 12px',
58
+ borderRadius: 20,
59
+ backgroundColor: stBg,
60
+ color: stColor,
61
+ textTransform: 'uppercase',
62
+ letterSpacing: '0.04em',
63
+ } }, st.label),
64
+ react_1.default.createElement("span", { style: { fontSize: 11, fontWeight: 700, padding: '5px 12px', borderRadius: 20, color: pr.color, background: `${pr.color}15` } },
65
+ "\u25CF ",
66
+ pr.label,
67
+ " priority")),
68
+ react_1.default.createElement("h3", { style: { margin: '0 0 8px', fontSize: 13, fontWeight: 700, color: '#64748b', textTransform: 'uppercase', letterSpacing: '0.06em' } }, "Description"),
69
+ react_1.default.createElement("p", { style: { margin: '0 0 24px', fontSize: 15, color: '#1e293b', lineHeight: 1.65, whiteSpace: 'pre-wrap' } }, ticket.description || '—'),
70
+ react_1.default.createElement("div", { style: { fontSize: 13, color: '#94a3b8', display: 'grid', gap: 8 } },
71
+ react_1.default.createElement("div", null,
72
+ react_1.default.createElement("strong", { style: { color: '#64748b' } }, "Created"),
73
+ " \u00B7 ",
74
+ new Date(ticket.createdAt).toLocaleString()),
75
+ react_1.default.createElement("div", null,
76
+ react_1.default.createElement("strong", { style: { color: '#64748b' } }, "Updated"),
77
+ " \u00B7 ",
78
+ new Date(ticket.updatedAt).toLocaleString()),
79
+ ticket.assignedTo && (react_1.default.createElement("div", null,
80
+ react_1.default.createElement("strong", { style: { color: '#64748b' } }, "Assigned"),
81
+ " \u00B7 ",
82
+ ticket.assignedTo))))));
46
83
  };
84
+ exports.TicketDetailScreen = TicketDetailScreen;
85
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/TicketDetailScreen/index.tsx"],"names":[],"mappings":"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"}
@@ -7,3 +7,4 @@ interface TicketFormScreenProps {
7
7
  }
8
8
  export declare const TicketFormScreen: React.FC<TicketFormScreenProps>;
9
9
  export {};
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TicketFormScreen/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnD,UAAU,qBAAqB;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IAC9E,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAiBD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA8H5D,CAAC"}
@@ -1,5 +1,40 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from 'react';
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.TicketFormScreen = void 0;
37
+ const react_1 = __importStar(require("react"));
3
38
  function inputStyle(primaryColor) {
4
39
  return {
5
40
  width: '100%',
@@ -14,10 +49,10 @@ function inputStyle(primaryColor) {
14
49
  transition: 'border-color 0.2s',
15
50
  };
16
51
  }
17
- export const TicketFormScreen = ({ config, onSubmit, onCancel }) => {
18
- const [title, setTitle] = useState('');
19
- const [desc, setDesc] = useState('');
20
- const [priority, setPriority] = useState('medium');
52
+ const TicketFormScreen = ({ config, onSubmit, onCancel }) => {
53
+ const [title, setTitle] = (0, react_1.useState)('');
54
+ const [desc, setDesc] = (0, react_1.useState)('');
55
+ const [priority, setPriority] = (0, react_1.useState)('medium');
21
56
  const pm = {
22
57
  low: { label: 'Low', color: '#6b7280' },
23
58
  medium: { label: 'Medium', color: '#d97706' },
@@ -28,49 +63,64 @@ export const TicketFormScreen = ({ config, onSubmit, onCancel }) => {
28
63
  return;
29
64
  onSubmit(title.trim(), desc.trim(), priority);
30
65
  };
31
- return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', height: '100%', background: '#fff', minHeight: 0 }, children: [_jsxs("div", { style: {
32
- background: `linear-gradient(135deg,${config.primaryColor},${config.primaryColor}cc)`,
33
- padding: '14px 18px',
66
+ return (react_1.default.createElement("div", { style: { display: 'flex', flexDirection: 'column', height: '100%', background: '#fff', minHeight: 0 } },
67
+ react_1.default.createElement("div", { style: {
68
+ background: `linear-gradient(135deg,${config.primaryColor},${config.primaryColor}cc)`,
69
+ padding: '14px 18px',
70
+ display: 'flex',
71
+ alignItems: 'center',
72
+ gap: 12,
73
+ flexShrink: 0,
74
+ } },
75
+ react_1.default.createElement("button", { type: "button", onClick: onCancel, style: {
76
+ background: 'rgba(255,255,255,0.22)',
77
+ border: 'none',
78
+ borderRadius: '50%',
79
+ width: 36,
80
+ height: 36,
34
81
  display: 'flex',
35
82
  alignItems: 'center',
36
- gap: 12,
37
- flexShrink: 0,
38
- }, children: [_jsx("button", { type: "button", onClick: onCancel, style: {
39
- background: 'rgba(255,255,255,0.22)',
40
- border: 'none',
41
- borderRadius: '50%',
42
- width: 36,
43
- height: 36,
44
- display: 'flex',
45
- alignItems: 'center',
46
- justifyContent: 'center',
47
- cursor: 'pointer',
48
- }, children: _jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M19 12H5M5 12L12 19M5 12L12 5", stroke: "#fff", strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round" }) }) }), _jsxs("div", { children: [_jsx("h2", { style: { margin: 0, fontSize: 18, fontWeight: 800, color: '#fff' }, children: "Raise a ticket" }), _jsx("p", { style: { margin: '4px 0 0', fontSize: 12, color: 'rgba(255,255,255,0.85)' }, children: "Please fill out the ticket form below and we will get back to you as soon as possible." })] })] }), _jsxs("div", { className: "cw-scroll", style: { flex: 1, overflowY: 'auto', padding: '20px 18px', minHeight: 0 }, children: [_jsx("input", { placeholder: "Title *", value: title, onChange: e => setTitle(e.target.value), style: inputStyle(config.primaryColor), onFocus: e => (e.target.style.borderColor = config.primaryColor), onBlur: e => (e.target.style.borderColor = '#e5e7eb') }), _jsx("textarea", { placeholder: "Describe the issue\u2026", value: desc, onChange: e => setDesc(e.target.value), rows: 5, style: Object.assign(Object.assign({}, inputStyle(config.primaryColor)), { resize: 'none', marginTop: 12 }), onFocus: e => (e.target.style.borderColor = config.primaryColor), onBlur: e => (e.target.style.borderColor = '#e5e7eb') }), _jsx("div", { style: { display: 'flex', gap: 8, marginTop: 12, paddingBottom: 8 }, children: ['low', 'medium', 'high'].map(p => (_jsx("button", { type: "button", onClick: () => setPriority(p), style: {
49
- flex: 1,
50
- padding: '8px',
51
- border: `1.5px solid ${priority === p ? pm[p].color : '#e5e7eb'}`,
52
- borderRadius: 8,
53
- background: priority === p ? `${pm[p].color}15` : '#fff',
54
- color: pm[p].color,
55
- fontWeight: 700,
56
- fontSize: 12,
57
- cursor: 'pointer',
58
- textTransform: 'capitalize',
59
- }, children: pm[p].label }, p))) })] }), _jsx("div", { style: {
60
- flexShrink: 0,
61
- padding: '12px 18px 18px',
62
- borderTop: '1px solid #eef0f5',
63
- background: '#fff',
64
- boxShadow: '0 -4px 20px rgba(15,23,42,0.06)',
65
- }, children: _jsx("button", { type: "button", onClick: handleSubmit, disabled: !title.trim(), style: {
66
- width: '100%',
67
- padding: '14px',
68
- borderRadius: 10,
69
- border: 'none',
70
- background: title.trim() ? config.primaryColor : '#e5e7eb',
71
- color: title.trim() ? '#fff' : '#9ca3af',
72
- fontWeight: 700,
73
- fontSize: 15,
74
- cursor: title.trim() ? 'pointer' : 'not-allowed',
75
- }, children: "Submit ticket" }) })] }));
83
+ justifyContent: 'center',
84
+ cursor: 'pointer',
85
+ } },
86
+ react_1.default.createElement("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none" },
87
+ react_1.default.createElement("path", { d: "M19 12H5M5 12L12 19M5 12L12 5", stroke: "#fff", strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round" }))),
88
+ react_1.default.createElement("div", null,
89
+ react_1.default.createElement("h2", { style: { margin: 0, fontSize: 18, fontWeight: 800, color: '#fff' } }, "Raise a ticket"),
90
+ react_1.default.createElement("p", { style: { margin: '4px 0 0', fontSize: 12, color: 'rgba(255,255,255,0.85)' } }, "Please fill out the ticket form below and we will get back to you as soon as possible."))),
91
+ react_1.default.createElement("div", { className: "cw-scroll", style: { flex: 1, overflowY: 'auto', padding: '20px 18px', minHeight: 0 } },
92
+ react_1.default.createElement("input", { placeholder: "Title *", value: title, onChange: e => setTitle(e.target.value), style: inputStyle(config.primaryColor), onFocus: e => (e.target.style.borderColor = config.primaryColor), onBlur: e => (e.target.style.borderColor = '#e5e7eb') }),
93
+ react_1.default.createElement("textarea", { placeholder: "Describe the issue\u2026", value: desc, onChange: e => setDesc(e.target.value), rows: 5, style: Object.assign(Object.assign({}, inputStyle(config.primaryColor)), { resize: 'none', marginTop: 12 }), onFocus: e => (e.target.style.borderColor = config.primaryColor), onBlur: e => (e.target.style.borderColor = '#e5e7eb') }),
94
+ react_1.default.createElement("div", { style: { display: 'flex', gap: 8, marginTop: 12, paddingBottom: 8 } }, ['low', 'medium', 'high'].map(p => (react_1.default.createElement("button", { key: p, type: "button", onClick: () => setPriority(p), style: {
95
+ flex: 1,
96
+ padding: '8px',
97
+ border: `1.5px solid ${priority === p ? pm[p].color : '#e5e7eb'}`,
98
+ borderRadius: 8,
99
+ background: priority === p ? `${pm[p].color}15` : '#fff',
100
+ color: pm[p].color,
101
+ fontWeight: 700,
102
+ fontSize: 12,
103
+ cursor: 'pointer',
104
+ textTransform: 'capitalize',
105
+ } }, pm[p].label))))),
106
+ react_1.default.createElement("div", { style: {
107
+ flexShrink: 0,
108
+ padding: '12px 18px 18px',
109
+ borderTop: '1px solid #eef0f5',
110
+ background: '#fff',
111
+ boxShadow: '0 -4px 20px rgba(15,23,42,0.06)',
112
+ } },
113
+ react_1.default.createElement("button", { type: "button", onClick: handleSubmit, disabled: !title.trim(), style: {
114
+ width: '100%',
115
+ padding: '14px',
116
+ borderRadius: 10,
117
+ border: 'none',
118
+ background: title.trim() ? config.primaryColor : '#e5e7eb',
119
+ color: title.trim() ? '#fff' : '#9ca3af',
120
+ fontWeight: 700,
121
+ fontSize: 15,
122
+ cursor: title.trim() ? 'pointer' : 'not-allowed',
123
+ } }, "Submit ticket"))));
76
124
  };
125
+ exports.TicketFormScreen = TicketFormScreen;
126
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/TicketFormScreen/index.tsx"],"names":[],"mappings":"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"}
@@ -9,3 +9,4 @@ interface TicketScreenProps {
9
9
  }
10
10
  export declare const TicketScreen: React.FC<TicketScreenProps>;
11
11
  export {};
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TicketScreen/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnD,UAAU,iBAAiB;IACzB,OAAO,EAAQ,MAAM,EAAE,CAAC;IACxB,MAAM,EAAS,YAAY,CAAC;IAC5B,WAAW,EAAI,MAAM,IAAI,CAAC;IAC1B,cAAc,EAAC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAYD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkHpD,CAAC"}
@@ -1,5 +1,40 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useMemo, useRef, useEffect } from 'react';
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.TicketScreen = void 0;
37
+ const react_1 = __importStar(require("react"));
3
38
  function matchesTicket(t, q) {
4
39
  if (!q.trim())
5
40
  return true;
@@ -8,14 +43,14 @@ function matchesTicket(t, q) {
8
43
  t.description.toLowerCase().includes(s) ||
9
44
  t.id.toLowerCase().includes(s));
10
45
  }
11
- export const TicketScreen = ({ tickets, config, onNewTicket, onSelectTicket, animateEntrance = false, }) => {
12
- const [query, setQuery] = useState('');
13
- const searchRef = useRef(null);
14
- useEffect(() => {
46
+ const TicketScreen = ({ tickets, config, onNewTicket, onSelectTicket, animateEntrance = false, }) => {
47
+ const [query, setQuery] = (0, react_1.useState)('');
48
+ const searchRef = (0, react_1.useRef)(null);
49
+ (0, react_1.useEffect)(() => {
15
50
  var _a;
16
51
  (_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.focus();
17
52
  }, []);
18
- const filtered = useMemo(() => tickets.filter(t => matchesTicket(t, query)), [tickets, query]);
53
+ const filtered = (0, react_1.useMemo)(() => tickets.filter(t => matchesTicket(t, query)), [tickets, query]);
19
54
  const sm = {
20
55
  open: { label: 'Open', bg: `${config.primaryColor}14`, color: config.primaryColor },
21
56
  'in-progress': { label: 'In Progress', bg: '#fef3c7', color: '#d97706' },
@@ -27,23 +62,57 @@ export const TicketScreen = ({ tickets, config, onNewTicket, onSelectTicket, ani
27
62
  medium: { label: 'Medium', color: '#d97706' },
28
63
  high: { label: 'High', color: '#ef4444' },
29
64
  };
30
- return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', height: '100%' }, children: [_jsx("div", { style: {
31
- background: `linear-gradient(135deg,${config.primaryColor},${config.primaryColor}cc)`,
32
- padding: '18px 18px 14px', flexShrink: 0, position: 'relative',
33
- }, children: _jsxs("div", { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start', gap: 12 }, children: [_jsxs("div", { style: { minWidth: 0 }, children: [_jsx("h2", { style: { margin: 0, fontSize: 20, fontWeight: 800, color: '#fff', letterSpacing: '-0.02em' }, children: "Tickets" }), _jsxs("p", { style: { margin: '3px 0 0', fontSize: 12, color: 'rgba(255,255,255,0.8)' }, children: [tickets.length, " ticket", tickets.length !== 1 ? 's' : '', " raised"] })] }), _jsx("button", { type: "button", onClick: onNewTicket, style: {
34
- background: 'rgba(255,255,255,0.22)', border: 'none', borderRadius: 20,
35
- padding: '7px 14px', color: '#fff', fontWeight: 700, fontSize: 13,
36
- cursor: 'pointer', display: 'flex', alignItems: 'center', gap: 5,
37
- flexShrink: 0,
38
- }, children: "+ New" })] }) }), _jsx("div", { style: { padding: '10px 14px', background: '#fff', borderBottom: '1px solid #eef0f5', flexShrink: 0 }, children: _jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 8, padding: '0 12px', borderRadius: 10, border: '1.5px solid #e5e7eb', background: '#f8fafc' }, children: [_jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", style: { flexShrink: 0, opacity: 0.55 }, children: [_jsx("circle", { cx: "11", cy: "11", r: "7", stroke: "#64748b", strokeWidth: "2" }), _jsx("path", { d: "M20 20l-4-4", stroke: "#64748b", strokeWidth: "2", strokeLinecap: "round" })] }), _jsx("input", { ref: searchRef, type: "search", value: query, onChange: e => setQuery(e.target.value), placeholder: "Search tickets\u2026", autoComplete: "off", "aria-label": "Search tickets", style: {
39
- flex: 1,
40
- minWidth: 0,
41
- border: 'none',
42
- outline: 'none',
43
- background: 'transparent',
44
- fontSize: 14,
45
- padding: '10px 0',
46
- fontFamily: 'inherit',
47
- color: '#1a2332',
48
- } })] }) }), _jsx("div", { style: { flex: 1, overflowY: 'auto' }, children: filtered.length === 0 ? (_jsxs("div", { style: { padding: '50px 24px', textAlign: 'center' }, children: [_jsx("div", { style: { fontSize: 36, marginBottom: 10 }, children: query.trim() ? '🔍' : '🎫' }), _jsx("div", { style: { fontWeight: 700, color: '#1a2332', marginBottom: 6 }, children: query.trim() ? 'No matches' : 'No tickets yet' }), _jsx("div", { style: { fontSize: 13, color: '#7b8fa1' }, children: query.trim() ? 'Try a different search' : 'Raise a ticket for major issues' })] })) : filtered.map((t, i) => (_jsxs("button", { type: "button", onClick: () => onSelectTicket(t.id), style: Object.assign(Object.assign({ width: '100%', padding: '14px 16px', borderBottom: '1px solid #f0f2f5' }, (animateEntrance ? { animation: `cw-fadeUp 0.3s ease both`, animationDelay: `${i * 0.05}s` } : {})), { background: 'transparent', borderLeft: 'none', borderRight: 'none', borderTop: 'none', cursor: 'pointer', textAlign: 'left', fontFamily: 'inherit' }), children: [_jsxs("div", { style: { display: 'flex', alignItems: 'flex-start', justifyContent: 'space-between', marginBottom: 5 }, children: [_jsx("span", { style: { fontWeight: 700, fontSize: 14, color: '#1a2332', flex: 1, paddingRight: 10 }, children: t.title }), _jsx("span", { style: { fontSize: 10, fontWeight: 700, padding: '3px 9px', borderRadius: 20, backgroundColor: sm[t.status].bg, color: sm[t.status].color, whiteSpace: 'nowrap', textTransform: 'uppercase', letterSpacing: '0.04em', flexShrink: 0 }, children: sm[t.status].label })] }), t.description && _jsx("p", { style: { margin: '0 0 7px', fontSize: 13, color: '#7b8fa1', lineHeight: 1.5 }, children: t.description }), _jsxs("div", { style: { display: 'flex', gap: 10, fontSize: 11, color: '#b0bec5' }, children: [_jsxs("span", { style: { color: pm[t.priority].color, fontWeight: 700 }, children: ["\u25CF ", pm[t.priority].label] }), _jsxs("span", { children: ["#", t.id] }), _jsx("span", { children: new Date(t.createdAt).toLocaleDateString([], { month: 'short', day: 'numeric' }) })] })] }, t.id))) })] }));
65
+ return (react_1.default.createElement("div", { style: { display: 'flex', flexDirection: 'column', height: '100%' } },
66
+ react_1.default.createElement("div", { style: {
67
+ background: `linear-gradient(135deg,${config.primaryColor},${config.primaryColor}cc)`,
68
+ padding: '18px 18px 14px', flexShrink: 0, position: 'relative',
69
+ } },
70
+ react_1.default.createElement("div", { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start', gap: 12 } },
71
+ react_1.default.createElement("div", { style: { minWidth: 0 } },
72
+ react_1.default.createElement("h2", { style: { margin: 0, fontSize: 20, fontWeight: 800, color: '#fff', letterSpacing: '-0.02em' } }, "Tickets"),
73
+ react_1.default.createElement("p", { style: { margin: '3px 0 0', fontSize: 12, color: 'rgba(255,255,255,0.8)' } },
74
+ tickets.length,
75
+ " ticket",
76
+ tickets.length !== 1 ? 's' : '',
77
+ " raised")),
78
+ react_1.default.createElement("button", { type: "button", onClick: onNewTicket, style: {
79
+ background: 'rgba(255,255,255,0.22)', border: 'none', borderRadius: 20,
80
+ padding: '7px 14px', color: '#fff', fontWeight: 700, fontSize: 13,
81
+ cursor: 'pointer', display: 'flex', alignItems: 'center', gap: 5,
82
+ flexShrink: 0,
83
+ } }, "+ New"))),
84
+ react_1.default.createElement("div", { style: { padding: '10px 14px', background: '#fff', borderBottom: '1px solid #eef0f5', flexShrink: 0 } },
85
+ react_1.default.createElement("div", { style: { display: 'flex', alignItems: 'center', gap: 8, padding: '0 12px', borderRadius: 10, border: '1.5px solid #e5e7eb', background: '#f8fafc' } },
86
+ react_1.default.createElement("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", style: { flexShrink: 0, opacity: 0.55 } },
87
+ react_1.default.createElement("circle", { cx: "11", cy: "11", r: "7", stroke: "#64748b", strokeWidth: "2" }),
88
+ react_1.default.createElement("path", { d: "M20 20l-4-4", stroke: "#64748b", strokeWidth: "2", strokeLinecap: "round" })),
89
+ react_1.default.createElement("input", { ref: searchRef, type: "search", value: query, onChange: e => setQuery(e.target.value), placeholder: "Search tickets\u2026", autoComplete: "off", "aria-label": "Search tickets", style: {
90
+ flex: 1,
91
+ minWidth: 0,
92
+ border: 'none',
93
+ outline: 'none',
94
+ background: 'transparent',
95
+ fontSize: 14,
96
+ padding: '10px 0',
97
+ fontFamily: 'inherit',
98
+ color: '#1a2332',
99
+ } }))),
100
+ react_1.default.createElement("div", { style: { flex: 1, overflowY: 'auto' } }, filtered.length === 0 ? (react_1.default.createElement("div", { style: { padding: '50px 24px', textAlign: 'center' } },
101
+ react_1.default.createElement("div", { style: { fontSize: 36, marginBottom: 10 } }, query.trim() ? '🔍' : '🎫'),
102
+ react_1.default.createElement("div", { style: { fontWeight: 700, color: '#1a2332', marginBottom: 6 } }, query.trim() ? 'No matches' : 'No tickets yet'),
103
+ react_1.default.createElement("div", { style: { fontSize: 13, color: '#7b8fa1' } }, query.trim() ? 'Try a different search' : 'Raise a ticket for major issues'))) : filtered.map((t, i) => (react_1.default.createElement("button", { key: t.id, type: "button", onClick: () => onSelectTicket(t.id), style: Object.assign(Object.assign({ width: '100%', padding: '14px 16px', borderBottom: '1px solid #f0f2f5' }, (animateEntrance ? { animation: `cw-fadeUp 0.3s ease both`, animationDelay: `${i * 0.05}s` } : {})), { background: 'transparent', borderLeft: 'none', borderRight: 'none', borderTop: 'none', cursor: 'pointer', textAlign: 'left', fontFamily: 'inherit' }) },
104
+ react_1.default.createElement("div", { style: { display: 'flex', alignItems: 'flex-start', justifyContent: 'space-between', marginBottom: 5 } },
105
+ react_1.default.createElement("span", { style: { fontWeight: 700, fontSize: 14, color: '#1a2332', flex: 1, paddingRight: 10 } }, t.title),
106
+ react_1.default.createElement("span", { style: { fontSize: 10, fontWeight: 700, padding: '3px 9px', borderRadius: 20, backgroundColor: sm[t.status].bg, color: sm[t.status].color, whiteSpace: 'nowrap', textTransform: 'uppercase', letterSpacing: '0.04em', flexShrink: 0 } }, sm[t.status].label)),
107
+ t.description && react_1.default.createElement("p", { style: { margin: '0 0 7px', fontSize: 13, color: '#7b8fa1', lineHeight: 1.5 } }, t.description),
108
+ react_1.default.createElement("div", { style: { display: 'flex', gap: 10, fontSize: 11, color: '#b0bec5' } },
109
+ react_1.default.createElement("span", { style: { color: pm[t.priority].color, fontWeight: 700 } },
110
+ "\u25CF ",
111
+ pm[t.priority].label),
112
+ react_1.default.createElement("span", null,
113
+ "#",
114
+ t.id),
115
+ react_1.default.createElement("span", null, new Date(t.createdAt).toLocaleDateString([], { month: 'short', day: 'numeric' })))))))));
49
116
  };
117
+ exports.TicketScreen = TicketScreen;
118
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/TicketScreen/index.tsx"],"names":[],"mappings":"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"}
@@ -17,3 +17,4 @@ interface UserListScreenProps {
17
17
  }
18
18
  export declare const UserListScreen: React.FC<UserListScreenProps>;
19
19
  export {};
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/UserListScreen/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGxD,UAAU,mBAAmB;IAC3B,OAAO,EAAE,eAAe,CAAC;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAClC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAaD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAiJxD,CAAC"}