@consilioweb/payload-support 0.6.2 → 0.6.4

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 (94) hide show
  1. package/dist/components/TicketConversation/components/AISummaryPanel.cjs +77 -0
  2. package/dist/components/TicketConversation/components/AISummaryPanel.js +76 -0
  3. package/dist/components/TicketConversation/components/ActionPanels.cjs +121 -0
  4. package/dist/components/TicketConversation/components/ActionPanels.js +118 -0
  5. package/dist/components/TicketConversation/components/ActivityLog.cjs +24 -0
  6. package/dist/components/TicketConversation/components/ActivityLog.js +23 -0
  7. package/dist/components/TicketConversation/components/ClientBar.cjs +43 -0
  8. package/dist/components/TicketConversation/components/ClientBar.js +42 -0
  9. package/dist/components/TicketConversation/components/ClientHistory.cjs +138 -0
  10. package/dist/components/TicketConversation/components/ClientHistory.js +137 -0
  11. package/dist/components/TicketConversation/components/CodeBlock.cjs +154 -0
  12. package/dist/components/TicketConversation/components/CodeBlock.js +152 -0
  13. package/dist/components/TicketConversation/components/CodeBlockInserter.cjs +156 -0
  14. package/dist/components/TicketConversation/components/CodeBlockInserter.js +155 -0
  15. package/dist/components/TicketConversation/components/QuickActions.cjs +66 -0
  16. package/dist/components/TicketConversation/components/QuickActions.js +65 -0
  17. package/dist/components/TicketConversation/components/TicketHeader.cjs +93 -0
  18. package/dist/components/TicketConversation/components/TicketHeader.js +92 -0
  19. package/dist/components/TicketConversation/components/TimeTrackingPanel.cjs +134 -0
  20. package/dist/components/TicketConversation/components/TimeTrackingPanel.js +133 -0
  21. package/dist/components/TicketConversation/config.cjs +44 -0
  22. package/dist/components/TicketConversation/config.js +41 -0
  23. package/dist/components/TicketConversation/constants.cjs +100 -0
  24. package/dist/components/TicketConversation/constants.js +96 -0
  25. package/dist/components/TicketConversation/context.cjs +13 -0
  26. package/dist/components/TicketConversation/context.js +11 -0
  27. package/dist/components/TicketConversation/hooks/useAI.cjs +177 -0
  28. package/dist/components/TicketConversation/hooks/useAI.js +176 -0
  29. package/dist/components/TicketConversation/hooks/useMessageActions.cjs +136 -0
  30. package/dist/components/TicketConversation/hooks/useMessageActions.js +135 -0
  31. package/dist/components/TicketConversation/hooks/useReply.cjs +188 -0
  32. package/dist/components/TicketConversation/hooks/useReply.js +187 -0
  33. package/dist/components/TicketConversation/hooks/useTicketActions.cjs +231 -0
  34. package/dist/components/TicketConversation/hooks/useTicketActions.js +230 -0
  35. package/dist/components/TicketConversation/hooks/useTimeTracking.cjs +123 -0
  36. package/dist/components/TicketConversation/hooks/useTimeTracking.js +122 -0
  37. package/dist/components/TicketConversation/hooks/useTranslation.cjs +78 -0
  38. package/dist/components/TicketConversation/hooks/useTranslation.js +70 -0
  39. package/dist/components/TicketConversation/index.cjs +1128 -0
  40. package/dist/components/TicketConversation/index.js +1123 -0
  41. package/dist/components/TicketConversation/locales/en.json +878 -0
  42. package/dist/components/TicketConversation/locales/fr.json +878 -0
  43. package/dist/components/TicketConversation/types.cjs +2 -0
  44. package/dist/components/TicketConversation/types.js +2 -0
  45. package/dist/components/TicketConversation/utils.cjs +27 -0
  46. package/dist/components/TicketConversation/utils.js +25 -0
  47. package/dist/styles/BillingView.module.scss +311 -0
  48. package/dist/styles/ChatView.module.scss +438 -0
  49. package/dist/styles/CommandPalette.module.scss +160 -0
  50. package/dist/styles/CrmView.module.scss +554 -0
  51. package/dist/styles/EmailTracking.module.scss +238 -0
  52. package/dist/styles/ImportConversation.module.scss +267 -0
  53. package/dist/styles/Layout.module.scss +55 -0
  54. package/dist/styles/Logs.module.scss +164 -0
  55. package/dist/styles/NewTicket.module.scss +143 -0
  56. package/dist/styles/PendingEmails.module.scss +629 -0
  57. package/dist/styles/SupportDashboard.module.scss +649 -0
  58. package/dist/styles/TicketDetail.module.scss +1050 -0
  59. package/dist/styles/TicketInbox.module.scss +296 -0
  60. package/dist/styles/TicketingSettings.module.scss +358 -0
  61. package/dist/styles/TimeDashboard.module.scss +287 -0
  62. package/dist/styles/_tokens.scss +78 -0
  63. package/dist/{components/TicketConversation.css → styles/theme.css} +326 -13
  64. package/dist/views/BillingView/client.js +1 -1
  65. package/dist/views/BillingView/index.js +2 -2
  66. package/dist/views/ChatView/client.js +1 -1
  67. package/dist/views/ChatView/index.js +2 -2
  68. package/dist/views/CrmView/client.js +1 -1
  69. package/dist/views/CrmView/index.js +2 -2
  70. package/dist/views/EmailTrackingView/client.js +1 -1
  71. package/dist/views/EmailTrackingView/index.js +2 -2
  72. package/dist/views/ImportConversationView/client.js +1 -1
  73. package/dist/views/ImportConversationView/index.js +2 -2
  74. package/dist/views/LogsView/client.js +1 -1
  75. package/dist/views/LogsView/index.js +2 -2
  76. package/dist/views/NewTicketView/client.js +1 -1
  77. package/dist/views/NewTicketView/index.js +2 -2
  78. package/dist/views/PendingEmailsView/client.js +1 -1
  79. package/dist/views/PendingEmailsView/index.js +2 -2
  80. package/dist/views/SupportDashboardView/client.js +1 -1
  81. package/dist/views/SupportDashboardView/index.js +2 -2
  82. package/dist/views/TicketDetailView/client.js +2 -2
  83. package/dist/views/TicketDetailView/index.js +2 -2
  84. package/dist/views/TicketInboxView/client.js +1 -1
  85. package/dist/views/TicketInboxView/index.js +2 -2
  86. package/dist/views/TicketingSettingsView/client.js +3 -3
  87. package/dist/views/TicketingSettingsView/index.js +2 -2
  88. package/dist/views/TimeDashboardView/client.js +1 -1
  89. package/dist/views/TimeDashboardView/index.js +2 -2
  90. package/dist/views/shared/AdminViewHeader.js +1 -1
  91. package/dist/views/shared/index.js +5 -5
  92. package/dist/views.js +13 -13
  93. package/package.json +2 -2
  94. package/dist/components/TicketConversation.js +0 -3004
@@ -1,8 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { DefaultTemplate } from '@payloadcms/next/templates';
3
3
  import { redirect } from 'next/navigation';
4
- import { AdminErrorBoundary } from '../shared/ErrorBoundary';
5
- import { CrmClient } from './client';
4
+ import { AdminErrorBoundary } from '../shared/ErrorBoundary.js';
5
+ import { CrmClient } from './client.js';
6
6
 
7
7
  const CrmView = ({ initPageResult }) => {
8
8
  const { req, visibleEntities } = initPageResult;
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import React, { useState, useCallback, useEffect } from 'react';
4
- import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation';
4
+ import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation.js';
5
5
 
6
6
  const STATUS_CFG = {
7
7
  success: { key: "emailTracking.status.success", bg: "#dcfce7", color: "#16a34a" },
@@ -1,8 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { DefaultTemplate } from '@payloadcms/next/templates';
3
3
  import { redirect } from 'next/navigation';
4
- import { AdminErrorBoundary } from '../shared/ErrorBoundary';
5
- import { EmailTrackingClient } from './client';
4
+ import { AdminErrorBoundary } from '../shared/ErrorBoundary.js';
5
+ import { EmailTrackingClient } from './client.js';
6
6
 
7
7
  const EmailTrackingView = ({ initPageResult }) => {
8
8
  const { req, visibleEntities } = initPageResult;
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
3
  import { useState, useRef, useCallback } from 'react';
4
- import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation';
4
+ import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation.js';
5
5
 
6
6
  function ImportConversationClient() {
7
7
  const { t } = useTranslation();
@@ -1,8 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { DefaultTemplate } from '@payloadcms/next/templates';
3
3
  import { redirect } from 'next/navigation';
4
- import { AdminErrorBoundary } from '../shared/ErrorBoundary';
5
- import { ImportConversationClient } from './client';
4
+ import { AdminErrorBoundary } from '../shared/ErrorBoundary.js';
5
+ import { ImportConversationClient } from './client.js';
6
6
 
7
7
  const ImportConversationView = ({ initPageResult }) => {
8
8
  const { req, visibleEntities } = initPageResult;
@@ -2,7 +2,7 @@
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useState, useCallback, useEffect } from 'react';
4
4
  import { useSearchParams } from 'next/navigation';
5
- import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation';
5
+ import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation.js';
6
6
 
7
7
  function fmtDate(d) {
8
8
  return new Date(d).toLocaleDateString("fr-FR", { day: "2-digit", month: "2-digit", year: "2-digit", hour: "2-digit", minute: "2-digit" });
@@ -1,8 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { DefaultTemplate } from '@payloadcms/next/templates';
3
3
  import { redirect } from 'next/navigation';
4
- import { AdminErrorBoundary } from '../shared/ErrorBoundary';
5
- import { LogsClient } from './client';
4
+ import { AdminErrorBoundary } from '../shared/ErrorBoundary.js';
5
+ import { LogsClient } from './client.js';
6
6
 
7
7
  const LogsView = ({ initPageResult }) => {
8
8
  const { req, visibleEntities } = initPageResult;
@@ -3,7 +3,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useState, useEffect } from 'react';
4
4
  import Link from 'next/link';
5
5
  import { useRouter } from 'next/navigation';
6
- import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation';
6
+ import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation.js';
7
7
 
8
8
  const CATEGORY_KEYS = [
9
9
  { value: "", key: "ticket.category.select" },
@@ -1,8 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { DefaultTemplate } from '@payloadcms/next/templates';
3
3
  import { redirect } from 'next/navigation';
4
- import { AdminErrorBoundary } from '../shared/ErrorBoundary';
5
- import { NewTicketClient } from './client';
4
+ import { AdminErrorBoundary } from '../shared/ErrorBoundary.js';
5
+ import { NewTicketClient } from './client.js';
6
6
 
7
7
  const NewTicketView = ({ initPageResult }) => {
8
8
  const { req, visibleEntities } = initPageResult;
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useState, useCallback, useEffect } from 'react';
4
- import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation';
4
+ import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation.js';
5
5
 
6
6
  function timeAgo(dateStr) {
7
7
  const diff = Date.now() - new Date(dateStr).getTime();
@@ -1,8 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { DefaultTemplate } from '@payloadcms/next/templates';
3
3
  import { redirect } from 'next/navigation';
4
- import { AdminErrorBoundary } from '../shared/ErrorBoundary';
5
- import { PendingEmailsClient } from './client';
4
+ import { AdminErrorBoundary } from '../shared/ErrorBoundary.js';
5
+ import { PendingEmailsClient } from './client.js';
6
6
 
7
7
  const PendingEmailsView = ({ initPageResult }) => {
8
8
  const { req, visibleEntities } = initPageResult;
@@ -2,7 +2,7 @@
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useState, useCallback, useEffect, useMemo } from 'react';
4
4
  import Link from 'next/link';
5
- import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation';
5
+ import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation.js';
6
6
 
7
7
  function formatResponseTime(hours) {
8
8
  if (hours == null) return "--";
@@ -1,8 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { DefaultTemplate } from '@payloadcms/next/templates';
3
3
  import { redirect } from 'next/navigation';
4
- import { AdminErrorBoundary } from '../shared/ErrorBoundary';
5
- import { SupportDashboardClient } from './client';
4
+ import { AdminErrorBoundary } from '../shared/ErrorBoundary.js';
5
+ import { SupportDashboardClient } from './client.js';
6
6
 
7
7
  const SupportDashboardView = ({ initPageResult }) => {
8
8
  const { req, visibleEntities } = initPageResult;
@@ -3,8 +3,8 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
3
  import React, { useRef, useState, useCallback, useEffect } from 'react';
4
4
  import { useSearchParams } from 'next/navigation';
5
5
  import Link from 'next/link';
6
- import { getFeatures } from '../shared/config';
7
- import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation';
6
+ import { getFeatures } from '../shared/config.js';
7
+ import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation.js';
8
8
 
9
9
  const STATUS = {
10
10
  open: { label: "Ouvert", bg: "#dbeafe", color: "#1e40af" },
@@ -1,8 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { DefaultTemplate } from '@payloadcms/next/templates';
3
3
  import { redirect } from 'next/navigation';
4
- import { AdminErrorBoundary } from '../shared/ErrorBoundary';
5
- import { TicketDetailClient } from './client';
4
+ import { AdminErrorBoundary } from '../shared/ErrorBoundary.js';
5
+ import { TicketDetailClient } from './client.js';
6
6
 
7
7
  const TicketDetailView = ({ initPageResult }) => {
8
8
  const { req, visibleEntities } = initPageResult;
@@ -3,7 +3,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useState, useCallback, useEffect } from 'react';
4
4
  import { useSearchParams } from 'next/navigation';
5
5
  import Link from 'next/link';
6
- import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation';
6
+ import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation.js';
7
7
 
8
8
  const STATUS_DOTS = {
9
9
  open: "#22c55e",
@@ -1,8 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { DefaultTemplate } from '@payloadcms/next/templates';
3
3
  import { redirect } from 'next/navigation';
4
- import { AdminErrorBoundary } from '../shared/ErrorBoundary';
5
- import { TicketInboxClient } from './client';
4
+ import { AdminErrorBoundary } from '../shared/ErrorBoundary.js';
5
+ import { TicketInboxClient } from './client.js';
6
6
 
7
7
  const TicketInboxView = ({ initPageResult }) => {
8
8
  const { req, visibleEntities } = initPageResult;
@@ -2,9 +2,9 @@
2
2
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
3
  import { useState, useEffect } from 'react';
4
4
  import { Settings, Mail, Bot, Clock, Timer, Globe, FileSignature } from 'lucide-react';
5
- import { V, btnStyle } from '../shared/adminTokens';
6
- import { AdminViewHeader } from '../shared/AdminViewHeader';
7
- import { getFeatures, saveFeatures, DEFAULT_FEATURES } from '../../components/TicketConversation/config';
5
+ import { V, btnStyle } from '../shared/adminTokens.js';
6
+ import { AdminViewHeader } from '../shared/AdminViewHeader.js';
7
+ import { getFeatures, saveFeatures, DEFAULT_FEATURES } from '../../components/TicketConversation/config.js';
8
8
  import ts from './TicketingSettings.module.scss';
9
9
 
10
10
  const DEFAULT_SETTINGS = {
@@ -1,8 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { DefaultTemplate } from '@payloadcms/next/templates';
3
3
  import { redirect } from 'next/navigation';
4
- import { AdminErrorBoundary } from '../shared/ErrorBoundary';
5
- import { TicketingSettingsClient } from './client';
4
+ import { AdminErrorBoundary } from '../shared/ErrorBoundary.js';
5
+ import { TicketingSettingsClient } from './client.js';
6
6
 
7
7
  const TicketingSettingsView = ({ initPageResult }) => {
8
8
  const { req, visibleEntities } = initPageResult;
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
3
  import React, { useState, useCallback, useEffect } from 'react';
4
- import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation';
4
+ import { useTranslation } from '../../components/TicketConversation/hooks/useTranslation.js';
5
5
 
6
6
  function formatDuration(minutes) {
7
7
  const h = Math.floor(minutes / 60);
@@ -1,8 +1,8 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { DefaultTemplate } from '@payloadcms/next/templates';
3
3
  import { redirect } from 'next/navigation';
4
- import { AdminErrorBoundary } from '../shared/ErrorBoundary';
5
- import { TimeDashboardClient } from './client';
4
+ import { AdminErrorBoundary } from '../shared/ErrorBoundary.js';
5
+ import { TimeDashboardClient } from './client.js';
6
6
 
7
7
  const TimeDashboardView = ({ initPageResult }) => {
8
8
  const { req, visibleEntities } = initPageResult;
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
- import { V } from './adminTokens';
3
+ import { V } from './adminTokens.js';
4
4
 
5
5
  const AdminViewHeader = ({
6
6
  icon,
@@ -1,5 +1,5 @@
1
- export { AdminErrorBoundary } from './ErrorBoundary';
2
- export { V, btnStyle } from './adminTokens';
3
- export { AdminViewHeader } from './AdminViewHeader';
4
- export { Skeleton, SkeletonCard, SkeletonDashboard, SkeletonTable, SkeletonText } from './Skeleton';
5
- export { DEFAULT_FEATURES, getFeatures, saveFeatures } from './config';
1
+ export { AdminErrorBoundary } from './ErrorBoundary.js';
2
+ export { V, btnStyle } from './adminTokens.js';
3
+ export { AdminViewHeader } from './AdminViewHeader.js';
4
+ export { Skeleton, SkeletonCard, SkeletonDashboard, SkeletonTable, SkeletonText } from './Skeleton.js';
5
+ export { DEFAULT_FEATURES, getFeatures, saveFeatures } from './config.js';
package/dist/views.js CHANGED
@@ -1,13 +1,13 @@
1
- export { default as TicketInboxView } from './views/TicketInboxView/index';
2
- export { default as TicketDetailView } from './views/TicketDetailView/index';
3
- export { default as SupportDashboardView } from './views/SupportDashboardView/index';
4
- export { default as NewTicketView } from './views/NewTicketView/index';
5
- export { default as TicketingSettingsView } from './views/TicketingSettingsView/index';
6
- export { default as LogsView } from './views/LogsView/index';
7
- export { default as ChatView } from './views/ChatView/index';
8
- export { default as CrmView } from './views/CrmView/index';
9
- export { default as PendingEmailsView } from './views/PendingEmailsView/index';
10
- export { default as EmailTrackingView } from './views/EmailTrackingView/index';
11
- export { default as BillingView } from './views/BillingView/index';
12
- export { default as TimeDashboardView } from './views/TimeDashboardView/index';
13
- export { default as ImportConversationView } from './views/ImportConversationView/index';
1
+ export { default as TicketInboxView } from './views/TicketInboxView/index.js';
2
+ export { default as TicketDetailView } from './views/TicketDetailView/index.js';
3
+ export { default as SupportDashboardView } from './views/SupportDashboardView/index.js';
4
+ export { default as NewTicketView } from './views/NewTicketView/index.js';
5
+ export { default as TicketingSettingsView } from './views/TicketingSettingsView/index.js';
6
+ export { default as LogsView } from './views/LogsView/index.js';
7
+ export { default as ChatView } from './views/ChatView/index.js';
8
+ export { default as CrmView } from './views/CrmView/index.js';
9
+ export { default as PendingEmailsView } from './views/PendingEmailsView/index.js';
10
+ export { default as EmailTrackingView } from './views/EmailTrackingView/index.js';
11
+ export { default as BillingView } from './views/BillingView/index.js';
12
+ export { default as TimeDashboardView } from './views/TimeDashboardView/index.js';
13
+ export { default as ImportConversationView } from './views/ImportConversationView/index.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@consilioweb/payload-support",
3
- "version": "0.6.2",
3
+ "version": "0.6.4",
4
4
  "description": "Payload CMS plugin — professional support & ticketing system with AI, SLA, time tracking, live chat, and more",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "./components/TicketConversation": {
41
41
  "import": {
42
- "default": "./dist/components/TicketConversation.js"
42
+ "default": "./dist/components/TicketConversation/index.js"
43
43
  }
44
44
  }
45
45
  },