@marketrix.ai/widget 1.0.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 (125) hide show
  1. package/README.md +600 -0
  2. package/dist/components/BrowserTools.d.ts +11 -0
  3. package/dist/components/BrowserTools.d.ts.map +1 -0
  4. package/dist/components/MarketrixWidget.d.ts +8 -0
  5. package/dist/components/MarketrixWidget.d.ts.map +1 -0
  6. package/dist/components/chat/ChatWindow.d.ts +26 -0
  7. package/dist/components/chat/ChatWindow.d.ts.map +1 -0
  8. package/dist/components/chat/MessageContent.d.ts +12 -0
  9. package/dist/components/chat/MessageContent.d.ts.map +1 -0
  10. package/dist/components/chat/MessageItem.d.ts +21 -0
  11. package/dist/components/chat/MessageItem.d.ts.map +1 -0
  12. package/dist/components/chat/MessageList.d.ts +16 -0
  13. package/dist/components/chat/MessageList.d.ts.map +1 -0
  14. package/dist/components/chat/ProgressLine.d.ts +13 -0
  15. package/dist/components/chat/ProgressLine.d.ts.map +1 -0
  16. package/dist/components/chat/SuggestedActions.d.ts +20 -0
  17. package/dist/components/chat/SuggestedActions.d.ts.map +1 -0
  18. package/dist/components/chat/TaskStatusIcon.d.ts +8 -0
  19. package/dist/components/chat/TaskStatusIcon.d.ts.map +1 -0
  20. package/dist/components/chat/ThinkingIndicator.d.ts +10 -0
  21. package/dist/components/chat/ThinkingIndicator.d.ts.map +1 -0
  22. package/dist/components/chat/VideoStreamDisplay.d.ts +8 -0
  23. package/dist/components/chat/VideoStreamDisplay.d.ts.map +1 -0
  24. package/dist/components/chat/WelcomeMessage.d.ts +30 -0
  25. package/dist/components/chat/WelcomeMessage.d.ts.map +1 -0
  26. package/dist/components/debug/DebugPanel.d.ts +17 -0
  27. package/dist/components/debug/DebugPanel.d.ts.map +1 -0
  28. package/dist/components/dev/DomTestPanel.d.ts +8 -0
  29. package/dist/components/dev/DomTestPanel.d.ts.map +1 -0
  30. package/dist/components/input/MessageInput.d.ts +15 -0
  31. package/dist/components/input/MessageInput.d.ts.map +1 -0
  32. package/dist/components/input/ModeSelector.d.ts +13 -0
  33. package/dist/components/input/ModeSelector.d.ts.map +1 -0
  34. package/dist/components/layout/WidgetButton.d.ts +12 -0
  35. package/dist/components/layout/WidgetButton.d.ts.map +1 -0
  36. package/dist/components/ui/DiagnosticModal.d.ts +16 -0
  37. package/dist/components/ui/DiagnosticModal.d.ts.map +1 -0
  38. package/dist/components/ui/ErrorDisplay.d.ts +9 -0
  39. package/dist/components/ui/ErrorDisplay.d.ts.map +1 -0
  40. package/dist/components/ui/ScreenAccessModal.d.ts +10 -0
  41. package/dist/components/ui/ScreenAccessModal.d.ts.map +1 -0
  42. package/dist/components/ui/WidgetSettingsLoader.d.ts +13 -0
  43. package/dist/components/ui/WidgetSettingsLoader.d.ts.map +1 -0
  44. package/dist/constants/config.d.ts +26 -0
  45. package/dist/constants/config.d.ts.map +1 -0
  46. package/dist/context/WidgetContext.d.ts +34 -0
  47. package/dist/context/WidgetContext.d.ts.map +1 -0
  48. package/dist/debug.d.ts +23 -0
  49. package/dist/debug.d.ts.map +1 -0
  50. package/dist/debug.js +22790 -0
  51. package/dist/debug.js.map +1 -0
  52. package/dist/hooks/usePageLifecycle.d.ts +12 -0
  53. package/dist/hooks/usePageLifecycle.d.ts.map +1 -0
  54. package/dist/hooks/useTaskState.d.ts +6 -0
  55. package/dist/hooks/useTaskState.d.ts.map +1 -0
  56. package/dist/hooks/useWidget.d.ts +67 -0
  57. package/dist/hooks/useWidget.d.ts.map +1 -0
  58. package/dist/index.d.ts +29 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.html +1464 -0
  61. package/dist/index.mjs +14660 -0
  62. package/dist/index.mjs.map +1 -0
  63. package/dist/sdk/index.d.ts +6330 -0
  64. package/dist/sdk/index.d.ts.map +1 -0
  65. package/dist/sdk/routes.d.ts +17972 -0
  66. package/dist/sdk/routes.d.ts.map +1 -0
  67. package/dist/sdk/schema.d.ts +9345 -0
  68. package/dist/sdk/schema.d.ts.map +1 -0
  69. package/dist/services/ApiService.d.ts +53 -0
  70. package/dist/services/ApiService.d.ts.map +1 -0
  71. package/dist/services/ChatService.d.ts +46 -0
  72. package/dist/services/ChatService.d.ts.map +1 -0
  73. package/dist/services/ConfigManager.d.ts +21 -0
  74. package/dist/services/ConfigManager.d.ts.map +1 -0
  75. package/dist/services/DevTestService.d.ts +172 -0
  76. package/dist/services/DevTestService.d.ts.map +1 -0
  77. package/dist/services/DomService.d.ts +145 -0
  78. package/dist/services/DomService.d.ts.map +1 -0
  79. package/dist/services/IntegrationService.d.ts +18 -0
  80. package/dist/services/IntegrationService.d.ts.map +1 -0
  81. package/dist/services/ScreenShareService.d.ts +25 -0
  82. package/dist/services/ScreenShareService.d.ts.map +1 -0
  83. package/dist/services/SessionManager.d.ts +68 -0
  84. package/dist/services/SessionManager.d.ts.map +1 -0
  85. package/dist/services/ShowModeService.d.ts +33 -0
  86. package/dist/services/ShowModeService.d.ts.map +1 -0
  87. package/dist/services/ToolService.d.ts +89 -0
  88. package/dist/services/ToolService.d.ts.map +1 -0
  89. package/dist/services/ValidationService.d.ts +34 -0
  90. package/dist/services/ValidationService.d.ts.map +1 -0
  91. package/dist/services/WebSocketClient.d.ts +53 -0
  92. package/dist/services/WebSocketClient.d.ts.map +1 -0
  93. package/dist/types/browserTools.d.ts +98 -0
  94. package/dist/types/browserTools.d.ts.map +1 -0
  95. package/dist/types/index.d.ts +128 -0
  96. package/dist/types/index.d.ts.map +1 -0
  97. package/dist/types/toolMessages.d.ts +78 -0
  98. package/dist/types/toolMessages.d.ts.map +1 -0
  99. package/dist/utils/apiUtils.d.ts +55 -0
  100. package/dist/utils/apiUtils.d.ts.map +1 -0
  101. package/dist/utils/bootstrap.d.ts +74 -0
  102. package/dist/utils/bootstrap.d.ts.map +1 -0
  103. package/dist/utils/chat.d.ts +97 -0
  104. package/dist/utils/chat.d.ts.map +1 -0
  105. package/dist/utils/cleanupUtils.d.ts +24 -0
  106. package/dist/utils/cleanupUtils.d.ts.map +1 -0
  107. package/dist/utils/common.d.ts +55 -0
  108. package/dist/utils/common.d.ts.map +1 -0
  109. package/dist/utils/config.d.ts +58 -0
  110. package/dist/utils/config.d.ts.map +1 -0
  111. package/dist/utils/devTools.d.ts +71 -0
  112. package/dist/utils/devTools.d.ts.map +1 -0
  113. package/dist/utils/dom.d.ts +66 -0
  114. package/dist/utils/dom.d.ts.map +1 -0
  115. package/dist/utils/format.d.ts +36 -0
  116. package/dist/utils/format.d.ts.map +1 -0
  117. package/dist/utils/persistence.d.ts +15 -0
  118. package/dist/utils/persistence.d.ts.map +1 -0
  119. package/dist/utils/stateUtils.d.ts +20 -0
  120. package/dist/utils/stateUtils.d.ts.map +1 -0
  121. package/dist/utils/validation.d.ts +130 -0
  122. package/dist/utils/validation.d.ts.map +1 -0
  123. package/dist/utils/widgetPositioning.d.ts +3 -0
  124. package/dist/utils/widgetPositioning.d.ts.map +1 -0
  125. package/package.json +87 -0
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Type Guard Utilities
3
+ *
4
+ * Generic type guard functions for data validation and type checking.
5
+ * These are shared utilities used across the codebase.
6
+ */
7
+ /**
8
+ * Check if an object has a specific property
9
+ */
10
+ export declare function hasProperty<K extends string>(obj: unknown, key: K): obj is Record<K, unknown>;
11
+ /**
12
+ * Check if a value is a non-null object
13
+ */
14
+ export declare function isNonNullObject(value: unknown): value is Record<string, unknown>;
15
+ /**
16
+ * Check if a value is an array
17
+ */
18
+ export declare function isArray<T>(value: unknown): value is T[];
19
+ /**
20
+ * Check if a value is a string
21
+ */
22
+ export declare function isString(value: unknown): value is string;
23
+ /**
24
+ * Check if a value is a number
25
+ */
26
+ export declare function isNumber(value: unknown): value is number;
27
+ /**
28
+ * Check if a value is a boolean
29
+ */
30
+ export declare function isBoolean(value: unknown): value is boolean;
31
+ /**
32
+ * Type guard for WidgetPosition
33
+ */
34
+ export declare function isWidgetPosition(value: unknown): value is 'bottom_left' | 'bottom_right';
35
+ /**
36
+ * Type guard for WidgetMode
37
+ */
38
+ export declare function isWidgetMode(value: unknown): value is 'ai' | 'live' | 'hybrid';
39
+ /**
40
+ * Check if a value is a plain object (not null, not array)
41
+ */
42
+ export declare function isObject(value: unknown): value is Record<string, unknown>;
43
+ import type { AgentData, ChatResponseData, ConnectionData, IntegrationData, TourData, TourStepData, WidgetSettingsData } from '../sdk';
44
+ /**
45
+ * Type guard for ConnectionData
46
+ */
47
+ export declare function isConnectionData(data: unknown): data is ConnectionData;
48
+ /**
49
+ * Type guard for IntegrationData
50
+ */
51
+ export declare function isIntegrationData(data: unknown): data is IntegrationData;
52
+ /**
53
+ * Type guard for AgentData
54
+ */
55
+ export declare function isAgentData(data: unknown): data is AgentData;
56
+ /**
57
+ * Type guard for WidgetSettingsData
58
+ */
59
+ export declare function isWidgetSettingsData(data: unknown): data is WidgetSettingsData;
60
+ /**
61
+ * Type guard for TourStepData
62
+ */
63
+ export declare function isTourStepData(data: unknown): data is TourStepData;
64
+ /**
65
+ * Type guard for array of IntegrationData
66
+ */
67
+ export declare function isIntegrationDataArray(data: unknown): data is IntegrationData[];
68
+ /**
69
+ * Type guard for array of TourStepData
70
+ */
71
+ export declare function isTourStepDataArray(data: unknown): data is TourStepData[];
72
+ /**
73
+ * Type guard for ChatResponseData
74
+ */
75
+ export declare function isChatResponseData(data: unknown): data is ChatResponseData;
76
+ /**
77
+ * Type guard for TourData
78
+ */
79
+ export declare function isTourData(data: unknown): data is TourData;
80
+ /**
81
+ * Type guard for array of TourData
82
+ */
83
+ export declare function isTourDataArray(data: unknown): data is TourData[];
84
+ /**
85
+ * Type guard for tour answer with steps property
86
+ */
87
+ export declare function isTourAnswerWithSteps(answer: unknown): answer is {
88
+ steps: unknown;
89
+ };
90
+ /**
91
+ * Type guard for error response body
92
+ */
93
+ export interface ErrorResponseBody {
94
+ error?: string;
95
+ message?: string;
96
+ }
97
+ export declare function isErrorResponseBody(body: unknown): body is ErrorResponseBody;
98
+ /**
99
+ * Type guard for HTMLElement
100
+ */
101
+ export declare function isHTMLElement(element: Element | null): element is HTMLElement;
102
+ /**
103
+ * Type guard for HTMLInputElement
104
+ */
105
+ export declare function isHTMLInputElement(element: Element | EventTarget | null): element is HTMLInputElement;
106
+ /**
107
+ * Type guard for HTMLTextAreaElement
108
+ */
109
+ export declare function isHTMLTextAreaElement(element: Element | EventTarget | null): element is HTMLTextAreaElement;
110
+ /**
111
+ * Type guard for HTMLButtonElement
112
+ */
113
+ export declare function isHTMLButtonElement(element: Element | null): element is HTMLButtonElement;
114
+ /**
115
+ * Type guard for HTMLSelectElement
116
+ */
117
+ export declare function isHTMLSelectElement(element: Element | null): element is HTMLSelectElement;
118
+ /**
119
+ * Type guard for HTMLScriptElement
120
+ */
121
+ export declare function isHTMLScriptElement(element: Element | null): element is HTMLScriptElement;
122
+ /**
123
+ * Type guard for EventTarget as HTMLElement
124
+ */
125
+ export declare function isHTMLElementEventTarget(target: EventTarget | null): target is HTMLElement;
126
+ /**
127
+ * Check if code is running in a browser environment
128
+ */
129
+ export declare function isBrowser(): boolean;
130
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { WidgetPosition } from '../types';
2
+ export declare const getPositionClasses: (position: WidgetPosition) => string;
3
+ //# sourceMappingURL=widgetPositioning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgetPositioning.d.ts","sourceRoot":"","sources":["../../src/utils/widgetPositioning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,eAAO,MAAM,kBAAkB,GAAI,UAAU,cAAc,KAAG,MAU7D,CAAC"}
package/package.json ADDED
@@ -0,0 +1,87 @@
1
+ {
2
+ "name": "@marketrix.ai/widget",
3
+ "version": "1.0.0",
4
+ "description": "Modern React-based In-App Support Widget",
5
+ "type": "module",
6
+ "main": "./dist/index.mjs",
7
+ "module": "./dist/index.mjs",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.mjs",
13
+ "default": "./dist/index.mjs"
14
+ },
15
+ "./package.json": "./package.json"
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "scripts": {
21
+ "start": "vite",
22
+ "build": "vite build",
23
+ "check": "tsc --noEmit",
24
+ "lint": "eslint . --ext .ts,.tsx --max-warnings 200 --fix",
25
+ "format": "prettier --write .",
26
+ "prepare": "husky"
27
+ },
28
+ "dependencies": {
29
+ "@ts-rest/core": "^3.52.1",
30
+ "axios": "^1.13.2",
31
+ "react": "^19.2.1",
32
+ "react-dom": "^19.2.1",
33
+ "react-icons": "^5.5.0",
34
+ "zod": "^3.25.76"
35
+ },
36
+ "devDependencies": {
37
+ "@tailwindcss/vite": "^4.1.17",
38
+ "@types/node": "^24.10.1",
39
+ "@types/react": "^19.2.7",
40
+ "@types/react-dom": "^19.2.3",
41
+ "@typescript-eslint/eslint-plugin": "^8.48.1",
42
+ "@typescript-eslint/parser": "^8.48.1",
43
+ "@vitejs/plugin-basic-ssl": "^2.1.0",
44
+ "@vitejs/plugin-react": "^4.7.0",
45
+ "autoprefixer": "^10.4.22",
46
+ "cssnano": "^7.1.2",
47
+ "eslint": "^9.39.1",
48
+ "eslint-config-prettier": "^10.1.8",
49
+ "eslint-plugin-import": "^2.32.0",
50
+ "eslint-plugin-prettier": "^5.5.4",
51
+ "eslint-plugin-simple-import-sort": "^12.1.1",
52
+ "eslint-plugin-unused-imports": "^4.3.0",
53
+ "husky": "^9.1.7",
54
+ "lint-staged": "^16.2.7",
55
+ "postcss": "^8.5.6",
56
+ "prettier": "^3.7.4",
57
+ "tailwindcss": "^4.1.17",
58
+ "terser": "^5.44.1",
59
+ "tsx": "^4.21.0",
60
+ "typescript": "^5.9.3",
61
+ "vite": "^6.4.1",
62
+ "vite-plugin-css-injected-by-js": "^3.5.2",
63
+ "vite-plugin-include-css": "^6.0.0"
64
+ },
65
+ "keywords": [
66
+ "react",
67
+ "widget",
68
+ "in-app-support",
69
+ "marketrix"
70
+ ],
71
+ "author": "Marketrix",
72
+ "license": "MIT",
73
+ "lint-staged": {
74
+ "*.{ts,tsx}": [
75
+ "eslint --fix --max-warnings 200",
76
+ "prettier --write"
77
+ ],
78
+ "*.{js,jsx}": [
79
+ "eslint --fix --max-warnings 200",
80
+ "prettier --write"
81
+ ],
82
+ "*.{json,md,yml,yaml,css,scss}": [
83
+ "prettier --write"
84
+ ],
85
+ "*.{png,jpg,jpeg,gif,svg,ico}": []
86
+ }
87
+ }