@axos-web-dev/shared-components 1.0.100-dev.3 → 1.0.100-feature-buydown.1

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 (83) hide show
  1. package/dist/ATMLocator/ATMLocator.js +1 -7
  2. package/dist/ArticlesSet/ArticlesSet.js +2 -2
  3. package/dist/Auth/ErrorAlert.js +1 -7
  4. package/dist/Button/Button.js +1 -7
  5. package/dist/Calculators/BuyDownCalculator/index.d.ts +1 -0
  6. package/dist/Calculators/BuyDownCalculator/index.js +161 -71
  7. package/dist/Calculators/Calculator.js +1 -7
  8. package/dist/Carousel/index.js +1 -7
  9. package/dist/Chevron/index.js +1 -7
  10. package/dist/Comparison/Comparison.js +1 -7
  11. package/dist/ExecutiveBio/ExecutiveBio.js +1 -7
  12. package/dist/FaqAccordion/index.js +1 -7
  13. package/dist/FooterSiteMap/AxosBank/FooterSiteMap.js +1 -7
  14. package/dist/Forms/ApplyNow.js +1 -7
  15. package/dist/Forms/ContactUsBusiness.js +1 -7
  16. package/dist/Forms/ContactUsBusinessNameEmail.js +1 -7
  17. package/dist/Forms/ContactUsNMLSId.js +1 -7
  18. package/dist/Forms/CraPublicFile.js +1 -7
  19. package/dist/Forms/EmailOnly.js +1 -7
  20. package/dist/Forms/MortgageRate/MortgageRateForm.js +1 -7
  21. package/dist/Forms/MortgageRate/MortgageRateWatch.js +1 -7
  22. package/dist/Forms/MortgageWarehouseLending.js +1 -7
  23. package/dist/Forms/QuickPricer/QuickPricerForm.js +1 -1
  24. package/dist/Forms/SalesforceFieldsForm.d.ts +5 -0
  25. package/dist/Forms/SalesforceFieldsForm.js +11 -1
  26. package/dist/Forms/SuccesForm.js +1 -7
  27. package/dist/Hyperlink/index.js +1 -7
  28. package/dist/ImageLink/ImageLink.js +1 -7
  29. package/dist/ImageLink/ImageLinkSet.js +1 -7
  30. package/dist/ImageLink/index.js +1 -7
  31. package/dist/Input/Dropdown.js +1 -0
  32. package/dist/Insight/Featured/CategorySelector.js +1 -7
  33. package/dist/Insight/Featured/Featured.js +1 -7
  34. package/dist/Insight/Featured/Header.js +1 -7
  35. package/dist/Modal/Modal.js +1 -7
  36. package/dist/NavigationMenu/AxosALTS/NavData.js +1 -7
  37. package/dist/NavigationMenu/AxosALTS/index.js +1 -7
  38. package/dist/NavigationMenu/AxosBank/MobileMenu/MobileNavData.js +1 -7
  39. package/dist/NavigationMenu/AxosBank/NavData.js +1 -7
  40. package/dist/NavigationMenu/AxosBank/SubNavBar.js +1 -7
  41. package/dist/NavigationMenu/AxosBank/index.js +1 -7
  42. package/dist/NavigationMenu/LaVictoire/NavData.js +1 -7
  43. package/dist/NavigationMenu/LaVictoire/index.js +1 -7
  44. package/dist/NavigationMenu/NavDataJson.js +1 -7
  45. package/dist/NavigationMenu/Navbar.js +1 -7
  46. package/dist/NavigationMenu/SignInNavButton.js +1 -7
  47. package/dist/SetContainer/SetContainer.js +1 -7
  48. package/dist/SocialMediaBar/iconsRepository.js +1 -7
  49. package/dist/Table/Table.d.ts +1 -1
  50. package/dist/VideoTile/VideoTile.js +1 -7
  51. package/dist/VideoWrapper/index.js +1 -7
  52. package/dist/WalnutIframe/wrapper.module.js +3 -3
  53. package/dist/assets/WalnutIframe/wrapper.css.css +49 -49
  54. package/dist/main.d.ts +0 -1
  55. package/dist/main.js +0 -33
  56. package/package.json +133 -136
  57. package/dist/Chatbot/Bubble.css.d.ts +0 -2
  58. package/dist/Chatbot/Bubble.css.js +0 -7
  59. package/dist/Chatbot/Bubble.d.ts +0 -3
  60. package/dist/Chatbot/Bubble.js +0 -100
  61. package/dist/Chatbot/Chat.d.ts +0 -1
  62. package/dist/Chatbot/Chat.js +0 -165
  63. package/dist/Chatbot/ChatWindow.css.d.ts +0 -14
  64. package/dist/Chatbot/ChatWindow.css.js +0 -31
  65. package/dist/Chatbot/ChatWindow.d.ts +0 -23
  66. package/dist/Chatbot/ChatWindow.js +0 -208
  67. package/dist/Chatbot/Chatbot.css.d.ts +0 -2
  68. package/dist/Chatbot/Chatbot.css.js +0 -7
  69. package/dist/Chatbot/Chatbot.css.ts.vanilla.css.js +0 -1
  70. package/dist/Chatbot/Chatbot.d.ts +0 -5
  71. package/dist/Chatbot/Chatbot.js +0 -39
  72. package/dist/Chatbot/authenticate.d.ts +0 -3
  73. package/dist/Chatbot/authenticate.js +0 -16
  74. package/dist/Chatbot/index.d.ts +0 -9
  75. package/dist/Chatbot/index.js +0 -36
  76. package/dist/Chatbot/store/chat.d.ts +0 -9
  77. package/dist/Chatbot/store/chat.js +0 -11
  78. package/dist/Chatbot/store/messages.d.ts +0 -14
  79. package/dist/Chatbot/store/messages.js +0 -12
  80. package/dist/Chatbot/useHeadlessChat.d.ts +0 -22
  81. package/dist/Chatbot/useHeadlessChat.js +0 -157
  82. package/dist/assets/Chatbot/Bubble.css +0 -51
  83. package/dist/assets/Chatbot/ChatWindow.css +0 -157
package/package.json CHANGED
@@ -1,136 +1,133 @@
1
- {
2
- "name": "@axos-web-dev/shared-components",
3
- "description": "Axos shared components library for web.",
4
- "version": "1.0.100-dev.3",
5
- "type": "module",
6
- "module": "dist/main.js",
7
- "types": "dist/main.d.ts",
8
- "files": [
9
- "dist"
10
- ],
11
- "sideEffects": [
12
- "dist/assets/**/*.css"
13
- ],
14
- "scripts": {
15
- "dev": "vite",
16
- "build": "tsc --p ./tsconfig.build.json && vite build",
17
- "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
18
- "preview": "vite preview",
19
- "prepublishOnly": "npm run build",
20
- "check-types": "tsc --pretty --noEmit",
21
- "check-format": "prettier --check .",
22
- "check-lint": "eslint . --ext ts --ext tsx --ext js",
23
- "format": "prettier --write .",
24
- "test-all": "npm run check-format && npm run check-lint && npm run check-types && npm run build",
25
- "prepare": "husky",
26
- "storybook": "storybook dev -p 6006",
27
- "build-storybook": "storybook build",
28
- "npm:link": "npm run build && npm link"
29
- },
30
- "dependencies": {
31
- "@headlessui/react": "^2.2.0",
32
- "@hookform/resolvers": "^3.10.0",
33
- "@next-safe-action/adapter-react-hook-form": "^2.0.0",
34
- "@react-input/mask": "^1.2.15",
35
- "@react-input/number-format": "^1.1.3",
36
- "@storybook/icons": "^1.3.0",
37
- "@storybook/preview-api": "^8.4.7",
38
- "@ts-stack/markdown": "^1.5.0",
39
- "@types/iframe-resizer": "3.5.13",
40
- "@ujet/websdk-headless": "^3.41.4",
41
- "@vanilla-extract/css": "^1.16.1",
42
- "@vanilla-extract/recipes": "^0.5.1",
43
- "antd": "^5.22.5",
44
- "clsx": "^2.1.1",
45
- "framer-motion": "^12.9.2",
46
- "iframe-resizer": "^3.6.6",
47
- "lodash": "^4.17.21",
48
- "moment": "^2.30.1",
49
- "next-safe-action": "^8.0.2",
50
- "react-date-picker": "^11.0.0",
51
- "react-date-range": "^2.0.1",
52
- "react-hook-form": "^7.54.2",
53
- "react-markdown": "^9.1.0",
54
- "react-popper": "^2.3.0",
55
- "react-slick": "^0.30.2",
56
- "react-use": "^17.6.0",
57
- "react-wrap-balancer": "^1.1.1",
58
- "remark-gfm": "^4.0.1",
59
- "rsuite": "^5.75.0",
60
- "slick-carousel": "^1.8.1",
61
- "typed-css-modules": "^0.9.1",
62
- "vite-plugin-svgr": "^4.3.0",
63
- "zod": "^3.24.1",
64
- "zustand": "^4.5.5"
65
- },
66
- "peerDependencies": {
67
- "@vanilla-extract/css-utils": "^0.1.3",
68
- "@vanilla-extract/recipes": "^0.5.1",
69
- "@vanilla-extract/vite-plugin": "^4.0.3",
70
- "next": "^14.1.4",
71
- "react": "^18.2.0",
72
- "react-date-range": "^2.0.1",
73
- "react-dom": "^18.2.0",
74
- "react-popper": "^2.3.0",
75
- "react-slick": "^0.30.2",
76
- "slick-carousel": "^1.8.1"
77
- },
78
- "devDependencies": {
79
- "@chromatic-com/storybook": "^1.9.0",
80
- "@rollup/plugin-alias": "^5.1.1",
81
- "@storybook/addon-essentials": "^8.4.7",
82
- "@storybook/addon-interactions": "^8.4.7",
83
- "@storybook/addon-links": "^8.4.7",
84
- "@storybook/addon-mdx-gfm": "^8.4.7",
85
- "@storybook/addon-onboarding": "^8.4.7",
86
- "@storybook/addon-themes": "^8.4.7",
87
- "@storybook/blocks": "^8.4.7",
88
- "@storybook/react": "^8.6.14",
89
- "@storybook/react-vite": "^8.4.7",
90
- "@storybook/test": "^8.6.14",
91
- "@svgr/core": "^8.1.0",
92
- "@svgr/plugin-prettier": "^8.1.0",
93
- "@svgr/plugin-svgo": "^8.1.0",
94
- "@types/lodash": "^4.17.17",
95
- "@types/node": "^20.19.0",
96
- "@types/react": "^18.3.23",
97
- "@types/react-date-range": "^1.4.9",
98
- "@types/react-datepicker": "^6.2.0",
99
- "@types/react-dom": "^18.3.7",
100
- "@types/react-slick": "^0.23.13",
101
- "@typescript-eslint/eslint-plugin": "^7.18.0",
102
- "@typescript-eslint/parser": "^7.18.0",
103
- "@vanilla-extract/css-utils": "^0.1.4",
104
- "@vanilla-extract/recipes": "^0.5.5",
105
- "@vanilla-extract/vite-plugin": "^4.0.18",
106
- "@vitejs/plugin-react-swc": "^3.7.2",
107
- "esbuild-vanilla-image-loader": "^0.1.3",
108
- "eslint": "^8.57.1",
109
- "eslint-plugin-react-hooks": "^4.6.2",
110
- "eslint-plugin-react-refresh": "^0.4.16",
111
- "eslint-plugin-storybook": "^0.8.0",
112
- "glob": "^10.4.5",
113
- "husky": "^9.1.7",
114
- "next": "^14.1.4",
115
- "prettier": "3.2.5",
116
- "react": "^18.3.1",
117
- "react-dom": "^18.3.1",
118
- "rollup-plugin-preserve-directives": "^0.4.0",
119
- "rollup-plugin-svg-import": "^3.0.0",
120
- "rollup-plugin-svgo": "^2.0.0",
121
- "storybook": "^8.4.7",
122
- "typescript": "^5.7.2",
123
- "typescript-plugin-css-modules": "^5.1.0",
124
- "vite": "^5.4.11",
125
- "vite-plugin-dts": "^3.9.1",
126
- "vite-plugin-lib-inject-css": "^2.1.1",
127
- "vite-plugin-setting-css-module": "^1.1.4",
128
- "vite-tsconfig-paths": "^4.3.2"
129
- },
130
- "main": "index.js",
131
- "directories": {
132
- "lib": "lib"
133
- },
134
- "author": "axos-web-dev",
135
- "license": "ISC"
136
- }
1
+ {
2
+ "name": "@axos-web-dev/shared-components",
3
+ "description": "Axos shared components library for web.",
4
+ "version": "1.0.100-feature-buydown.1",
5
+ "type": "module",
6
+ "module": "dist/main.js",
7
+ "types": "dist/main.d.ts",
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "sideEffects": [
12
+ "dist/assets/**/*.css"
13
+ ],
14
+ "scripts": {
15
+ "dev": "vite",
16
+ "build": "tsc --p ./tsconfig.build.json && vite build",
17
+ "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
18
+ "preview": "vite preview",
19
+ "prepublishOnly": "npm run build",
20
+ "check-types": "tsc --pretty --noEmit",
21
+ "check-format": "prettier --check .",
22
+ "check-lint": "eslint . --ext ts --ext tsx --ext js",
23
+ "format": "prettier --write .",
24
+ "test-all": "npm run check-format && npm run check-lint && npm run check-types && npm run build",
25
+ "prepare": "husky",
26
+ "storybook": "storybook dev -p 6006",
27
+ "build-storybook": "storybook build",
28
+ "npm:link": "npm run build && npm link"
29
+ },
30
+ "dependencies": {
31
+ "@headlessui/react": "^2.2.0",
32
+ "@hookform/resolvers": "^3.10.0",
33
+ "@next-safe-action/adapter-react-hook-form": "^2.0.0",
34
+ "@react-input/mask": "^1.2.15",
35
+ "@react-input/number-format": "^1.1.3",
36
+ "@storybook/icons": "^1.3.0",
37
+ "@storybook/preview-api": "^8.4.7",
38
+ "@types/iframe-resizer": "3.5.13",
39
+ "@vanilla-extract/css": "^1.16.1",
40
+ "@vanilla-extract/recipes": "^0.5.1",
41
+ "antd": "^5.22.5",
42
+ "clsx": "^2.1.1",
43
+ "framer-motion": "^12.9.2",
44
+ "iframe-resizer": "^3.6.6",
45
+ "lodash": "^4.17.21",
46
+ "moment": "^2.30.1",
47
+ "next-safe-action": "^8.0.2",
48
+ "react-date-picker": "^11.0.0",
49
+ "react-date-range": "^2.0.1",
50
+ "react-hook-form": "^7.54.2",
51
+ "react-markdown": "^9.0.1",
52
+ "react-popper": "^2.3.0",
53
+ "react-slick": "^0.30.2",
54
+ "react-use": "^17.6.0",
55
+ "react-wrap-balancer": "^1.1.1",
56
+ "rsuite": "^5.75.0",
57
+ "slick-carousel": "^1.8.1",
58
+ "typed-css-modules": "^0.9.1",
59
+ "vite-plugin-svgr": "^4.3.0",
60
+ "zod": "^3.24.1",
61
+ "zustand": "^4.5.5"
62
+ },
63
+ "peerDependencies": {
64
+ "@vanilla-extract/css-utils": "^0.1.3",
65
+ "@vanilla-extract/recipes": "^0.5.1",
66
+ "@vanilla-extract/vite-plugin": "^4.0.3",
67
+ "next": "^14.1.4",
68
+ "react": "^18.2.0",
69
+ "react-date-range": "^2.0.1",
70
+ "react-dom": "^18.2.0",
71
+ "react-popper": "^2.3.0",
72
+ "react-slick": "^0.30.2",
73
+ "slick-carousel": "^1.8.1"
74
+ },
75
+ "devDependencies": {
76
+ "@chromatic-com/storybook": "^1.9.0",
77
+ "@rollup/plugin-alias": "^5.1.1",
78
+ "@storybook/addon-essentials": "^8.4.7",
79
+ "@storybook/addon-interactions": "^8.4.7",
80
+ "@storybook/addon-links": "^8.4.7",
81
+ "@storybook/addon-mdx-gfm": "^8.4.7",
82
+ "@storybook/addon-onboarding": "^8.4.7",
83
+ "@storybook/addon-themes": "^8.4.7",
84
+ "@storybook/blocks": "^8.4.7",
85
+ "@storybook/react": "^8.6.14",
86
+ "@storybook/react-vite": "^8.4.7",
87
+ "@storybook/test": "^8.6.14",
88
+ "@svgr/core": "^8.1.0",
89
+ "@svgr/plugin-prettier": "^8.1.0",
90
+ "@svgr/plugin-svgo": "^8.1.0",
91
+ "@types/lodash": "^4.17.17",
92
+ "@types/node": "^20.19.0",
93
+ "@types/react": "^18.3.23",
94
+ "@types/react-date-range": "^1.4.9",
95
+ "@types/react-datepicker": "^6.2.0",
96
+ "@types/react-dom": "^18.3.7",
97
+ "@types/react-slick": "^0.23.13",
98
+ "@typescript-eslint/eslint-plugin": "^7.18.0",
99
+ "@typescript-eslint/parser": "^7.18.0",
100
+ "@vanilla-extract/css-utils": "^0.1.4",
101
+ "@vanilla-extract/recipes": "^0.5.5",
102
+ "@vanilla-extract/vite-plugin": "^4.0.18",
103
+ "@vitejs/plugin-react-swc": "^3.7.2",
104
+ "esbuild-vanilla-image-loader": "^0.1.3",
105
+ "eslint": "^8.57.1",
106
+ "eslint-plugin-react-hooks": "^4.6.2",
107
+ "eslint-plugin-react-refresh": "^0.4.16",
108
+ "eslint-plugin-storybook": "^0.8.0",
109
+ "glob": "^10.4.5",
110
+ "husky": "^9.1.7",
111
+ "next": "^14.1.4",
112
+ "prettier": "3.2.5",
113
+ "react": "^18.3.1",
114
+ "react-dom": "^18.3.1",
115
+ "rollup-plugin-preserve-directives": "^0.4.0",
116
+ "rollup-plugin-svg-import": "^3.0.0",
117
+ "rollup-plugin-svgo": "^2.0.0",
118
+ "storybook": "^8.4.7",
119
+ "typescript": "^5.7.2",
120
+ "typescript-plugin-css-modules": "^5.1.0",
121
+ "vite": "^5.4.11",
122
+ "vite-plugin-dts": "^3.9.1",
123
+ "vite-plugin-lib-inject-css": "^2.1.1",
124
+ "vite-plugin-setting-css-module": "^1.1.4",
125
+ "vite-tsconfig-paths": "^4.3.2"
126
+ },
127
+ "main": "index.js",
128
+ "directories": {
129
+ "lib": "lib"
130
+ },
131
+ "author": "axos-web-dev",
132
+ "license": "ISC"
133
+ }
@@ -1,2 +0,0 @@
1
- export declare const bubbleWrapper: string;
2
- export declare const svgFill: string;
@@ -1,7 +0,0 @@
1
- import '../assets/Chatbot/Bubble.css';/* empty css */
2
- var bubbleWrapper = "_7u9pv30";
3
- var svgFill = "_7u9pv31";
4
- export {
5
- bubbleWrapper,
6
- svgFill
7
- };
@@ -1,3 +0,0 @@
1
- import { PropsWithChildren } from 'react';
2
-
3
- export declare const Bubble: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
@@ -1,100 +0,0 @@
1
- "use client";
2
- import { jsxs, jsx } from "react/jsx-runtime";
3
- import { bubbleWrapper, svgFill } from "./Bubble.css.js";
4
- import { useOpenChat } from "./store/chat.js";
5
- import { AnimatePresence, motion } from "framer-motion";
6
- const Bubble = ({ children }) => {
7
- const isOpen = useOpenChat((state) => state.isOpen);
8
- const toggle = useOpenChat((state) => state.toggle);
9
- return /* @__PURE__ */ jsxs("div", { className: bubbleWrapper, onClick: toggle, children: [
10
- /* @__PURE__ */ jsx("div", { className: "bubble-circle flex", children: /* @__PURE__ */ jsx(AnimatePresence, { children: !isOpen ? /* @__PURE__ */ jsxs(
11
- motion.svg,
12
- {
13
- xmlns: "http://www.w3.org/2000/svg",
14
- width: "39",
15
- height: "39",
16
- viewBox: "0 0 39 39",
17
- fill: "none",
18
- initial: { scale: 0.1, opacity: 0 },
19
- animate: {
20
- scale: 1,
21
- opacity: 1,
22
- transition: {
23
- default: { type: "spring" },
24
- opacity: { ease: [0, 0.71, 0.2, 1.01] }
25
- }
26
- },
27
- children: [
28
- /* @__PURE__ */ jsx(
29
- "path",
30
- {
31
- className: svgFill,
32
- d: "M3 7.5C3 5.01472 5.01472 3 7.5 3H22.5V0H7.5C3.35786 0 0 3.35786 0 7.5V16.5H3V7.5Z",
33
- fill: "#98DDFF"
34
- }
35
- ),
36
- /* @__PURE__ */ jsx(
37
- "path",
38
- {
39
- className: svgFill,
40
- "fill-rule": "evenodd",
41
- "clip-rule": "evenodd",
42
- d: "M13.5 30H12C8.68629 30 6 27.3137 6 24V12C6 8.68629 8.68629 6 12 6H33C36.3137 6 39 8.68629 39 12V24C39 27.3137 36.3137 30 33 30H26.25L18.6213 37.6287C16.7314 39.5186 13.5 38.1801 13.5 35.5074V30ZM16.5 35.5074V27H12C10.3431 27 9 25.6569 9 24V12C9 10.3431 10.3431 9 12 9H33C34.6569 9 36 10.3431 36 12V24C36 25.6569 34.6569 27 33 27H25.0074L16.5 35.5074Z",
43
- fill: "#98DDFF"
44
- }
45
- )
46
- ]
47
- }
48
- ) : /* @__PURE__ */ jsx("span", { className: "close-icon", children: /* @__PURE__ */ jsxs(
49
- motion.svg,
50
- {
51
- xmlns: "http://www.w3.org/2000/svg",
52
- width: "24",
53
- height: "24",
54
- viewBox: "0 0 24 24",
55
- fill: "none",
56
- initial: { opacity: 0, rotate: 0, scale: 0.1 },
57
- animate: {
58
- opacity: 1,
59
- rotate: -360,
60
- scale: 1,
61
- transition: {
62
- default: { type: "spring" },
63
- opacity: { ease: "linear" },
64
- scale: { ease: "linear" }
65
- }
66
- },
67
- children: [
68
- /* @__PURE__ */ jsx(
69
- "path",
70
- {
71
- className: svgFill,
72
- d: "M23.7096 0.892655L23.1073 0.290383C22.7202 -0.0967942 22.0749 -0.0967942 21.6447 0.290383L13.6 8.33506L15.6649 10.4L23.7096 2.35533C24.0968 1.92513 24.0968 1.27983 23.7096 0.892655Z",
73
- fill: "#98DDFF"
74
- }
75
- ),
76
- /* @__PURE__ */ jsx(
77
- "path",
78
- {
79
- className: svgFill,
80
- d: "M2.44278 0.293744C2.04123 -0.0979148 1.37197 -0.0979148 0.925804 0.293744L0.301162 0.902989C-0.100387 1.29465 -0.100387 1.94742 0.301162 2.38259L10.1168 12L0.301162 21.6174C-0.100387 22.0091 -0.100387 22.6618 0.301162 23.097L0.925804 23.7063C1.32735 24.0979 1.99661 24.0979 2.44278 23.7063L14.4 12.0435L2.44278 0.293744Z",
81
- fill: "#98DDFF"
82
- }
83
- ),
84
- /* @__PURE__ */ jsx(
85
- "path",
86
- {
87
- className: svgFill,
88
- d: "M23.7096 23.1073L23.1073 23.7096C22.7202 24.0968 22.0749 24.0968 21.6447 23.7096L13.6 15.6649L15.6649 13.6L23.7096 21.6446C24.0968 22.0748 24.0968 22.7201 23.7096 23.1073Z",
89
- fill: "#98DDFF"
90
- }
91
- )
92
- ]
93
- }
94
- ) }) }) }),
95
- children
96
- ] });
97
- };
98
- export {
99
- Bubble
100
- };
@@ -1 +0,0 @@
1
- export default function Chat(): import("react/jsx-runtime").JSX.Element;
@@ -1,165 +0,0 @@
1
- "use client";
2
- import { jsxs, jsx } from "react/jsx-runtime";
3
- import { useRef, useEffect } from "react";
4
- import { authenticate } from "./authenticate.js";
5
- import { useMessages } from "./store/messages.js";
6
- const companyId = process.env.CCAI_COMPANY_ID || "";
7
- const tenant = process.env.CCAI_TENANT_NAME || "";
8
- const host = process.env.CCAI_HOST || "";
9
- const COBROWSE_CONSENT_TEMPLATE = `
10
- <script class="cobrowse-template" type="text/template">
11
- <div class="cobrowse">
12
- <div class="cobrowse-title">$title</div>
13
- <div class="cobrowse-content">$content</div>
14
- <div class="cobrowse-footer">
15
- <button class="cobrowse-deny js-cobrowse-deny">$deny</button>
16
- <button class="cobrowse-allow js-cobrowse-allow">$allow</button>
17
- </div>
18
- </div>
19
- <\/script>
20
- `;
21
- function Chat() {
22
- const clientRef = useRef(null);
23
- const hasLoadedBefore = useRef(true);
24
- const addMessages = useMessages((state) => state.addMessages);
25
- const addMessage = useMessages((state) => state.addMessage);
26
- const chatRef = useRef(null);
27
- const isMounted = useRef(true);
28
- useEffect(() => {
29
- let messageHandler;
30
- let identityHandler;
31
- let chatUpdatedHandler;
32
- let memberJoinedHandler;
33
- let chatConnectedHandler;
34
- async function initChat() {
35
- const { Client, consoleLoggerHandler, Logger } = await import("@ujet/websdk-headless");
36
- console.log("this", isMounted);
37
- Logger.addHandler(consoleLoggerHandler);
38
- clientRef.current = new Client({
39
- companyId,
40
- tenant,
41
- cobrowse: {
42
- enabled: true,
43
- template: COBROWSE_CONSENT_TEMPLATE,
44
- messages: {
45
- confirmSessionTitle: "...",
46
- confirmSessionContent: "...",
47
- endSessionText: "...",
48
- confirmRemoteControlTitle: "...",
49
- confirmRemoteControlContent: "...",
50
- confirmFullDeviceTitle: "...",
51
- confirmFullDeviceContent: "...",
52
- allowText: "...",
53
- denyText: "..."
54
- }
55
- },
56
- host,
57
- authenticate
58
- });
59
- const menus = await clientRef.current?.getMenus();
60
- try {
61
- chatRef.current = await clientRef.current?.loadOngoingChat();
62
- console.log("chat:", chatRef.current);
63
- if (!chatRef.current) {
64
- chatRef.current = await clientRef.current?.createChat(
65
- menus?.menus[5].id
66
- );
67
- }
68
- } catch (error) {
69
- console.error("Error creating chat:", error);
70
- chatRef.current = await clientRef.current?.createChat(
71
- menus?.menus[5].id
72
- );
73
- }
74
- console.log("this");
75
- identityHandler = (identity) => {
76
- if (!isMounted.current) return;
77
- console.log("identity:", identity);
78
- };
79
- messageHandler = (msg) => {
80
- console.log("new message:", msg);
81
- console.log("addMessage:", msg);
82
- addMessage(msg);
83
- };
84
- chatUpdatedHandler = (chat) => {
85
- console.log("chat updated:", chat);
86
- };
87
- chatConnectedHandler = async () => {
88
- console.log("connected");
89
- const messagesFetched = await clientRef.current?.fetchMessages();
90
- console.log("[messages]:", messagesFetched);
91
- addMessages(messagesFetched || []);
92
- };
93
- memberJoinedHandler = (identity) => {
94
- console.log("member joined:", identity);
95
- };
96
- console.log(isMounted.current);
97
- clientRef.current?.on("authenticated", () => {
98
- console.log("authenticated");
99
- });
100
- clientRef.current?.on("chat.ongoing", (chat) => {
101
- if (!isMounted.current) return;
102
- console.log("chat:", chat);
103
- });
104
- clientRef.current?.on("chat.connected", chatConnectedHandler);
105
- clientRef.current?.on("chat.updated", chatUpdatedHandler);
106
- clientRef.current?.on("chat.identity", identityHandler);
107
- clientRef.current?.on("chat.message", messageHandler);
108
- clientRef.current?.on("cobrowse.request", ({ from }) => {
109
- console.log("request by", from);
110
- });
111
- clientRef.current?.on("chat.memberJoined", memberJoinedHandler);
112
- }
113
- if (hasLoadedBefore.current) {
114
- console.log("Initial setup");
115
- initChat();
116
- hasLoadedBefore.current = false;
117
- }
118
- return () => {
119
- isMounted.current = false;
120
- console.log("Component unmounted. Cancelling pending async operations.");
121
- if (clientRef.current) {
122
- if (messageHandler)
123
- clientRef.current.off("chat.message", messageHandler);
124
- if (identityHandler)
125
- clientRef.current.off("chat.identity", identityHandler);
126
- clientRef.current.off("chat.connected", chatConnectedHandler);
127
- clientRef.current.off("chat.updated", chatUpdatedHandler);
128
- clientRef.current.off("chat.memberJoined", memberJoinedHandler);
129
- if (typeof clientRef.current.destroyChat === "function") {
130
- console.log("Destroying chat:", chatRef.current);
131
- clientRef.current.destroyChat();
132
- }
133
- }
134
- };
135
- }, [addMessage, addMessages]);
136
- return /* @__PURE__ */ jsxs("div", { children: [
137
- /* @__PURE__ */ jsx("h2", { children: "Chat" }),
138
- /* @__PURE__ */ jsxs(
139
- "form",
140
- {
141
- style: { marginTop: "1rem", display: "flex", gap: "0.5rem" },
142
- onSubmit: async (e) => {
143
- e.preventDefault();
144
- const form = e.target;
145
- const input = form.elements[0];
146
- const message = input.value;
147
- console.log("Sending message:", message);
148
- try {
149
- await clientRef.current?.sendTextMessage(message);
150
- input.value = "";
151
- } catch (error) {
152
- console.error("Error sending message:", error);
153
- }
154
- },
155
- children: [
156
- /* @__PURE__ */ jsx("input", { type: "text", name: "message", placeholder: "Type a message..." }),
157
- /* @__PURE__ */ jsx("button", { type: "submit", children: "Send" })
158
- ]
159
- }
160
- )
161
- ] });
162
- }
163
- export {
164
- Chat as default
165
- };
@@ -1,14 +0,0 @@
1
- export declare const windowStyle: string;
2
- export declare const windowOpenStyle: string;
3
- export declare const windowBarStyle: string;
4
- export declare const chat_title: string;
5
- export declare const button_reset: string;
6
- export declare const arrowFill: string;
7
- export declare const inputStyle: string;
8
- export declare const sendButtonStyle: string;
9
- export declare const messagesContainerStyle: string;
10
- export declare const notificationStyle: string;
11
- export declare const messageStyle: string;
12
- export declare const inline_button_wrapper: string;
13
- export declare const inline_button: string;
14
- export declare const endChatButtonStyle: string;
@@ -1,31 +0,0 @@
1
- import '../assets/Chatbot/ChatWindow.css';/* empty css */
2
- var windowStyle = "_13n1jqk0";
3
- var windowOpenStyle = "_13n1jqk1";
4
- var windowBarStyle = "_13n1jqk2";
5
- var chat_title = "_13n1jqk3";
6
- var button_reset = "_13n1jqk4";
7
- var arrowFill = "_13n1jqk5";
8
- var inputStyle = "_13n1jqk6";
9
- var sendButtonStyle = "_13n1jqk7";
10
- var messagesContainerStyle = "_13n1jqk8";
11
- var notificationStyle = "_13n1jqk9";
12
- var messageStyle = "_13n1jqka";
13
- var inline_button_wrapper = "_13n1jqkb";
14
- var inline_button = "_13n1jqkc";
15
- var endChatButtonStyle = "_13n1jqkd";
16
- export {
17
- arrowFill,
18
- button_reset,
19
- chat_title,
20
- endChatButtonStyle,
21
- inline_button,
22
- inline_button_wrapper,
23
- inputStyle,
24
- messageStyle,
25
- messagesContainerStyle,
26
- notificationStyle,
27
- sendButtonStyle,
28
- windowBarStyle,
29
- windowOpenStyle,
30
- windowStyle
31
- };
@@ -1,23 +0,0 @@
1
- import { MessageResponse as BaseMessageResponse, HumanAgent } from '@ujet/websdk-headless';
2
- import { default as React } from 'react';
3
-
4
- interface MessageResponse extends BaseMessageResponse {
5
- to_agent?: HumanAgent;
6
- }
7
- export interface ChatBubble {
8
- id: string | number;
9
- body: string;
10
- sender?: string;
11
- timestamp?: string;
12
- isOwn?: boolean;
13
- }
14
- interface ChatWindowProps {
15
- messages: MessageResponse[];
16
- status?: string;
17
- onSend: (msg: string) => void;
18
- inputDisabled?: boolean;
19
- onClose?: () => void;
20
- endChat?: () => void;
21
- }
22
- export declare const ChatWindow: React.FC<ChatWindowProps>;
23
- export {};