srs-heritage-chatbot 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 (187) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +194 -0
  3. package/lib/commonjs/assets/chat-icon-mobile.svg +1 -0
  4. package/lib/commonjs/assets/heritage.png +0 -0
  5. package/lib/commonjs/assets/posiden.svg +51 -0
  6. package/lib/commonjs/components/LoadingTips.js +104 -0
  7. package/lib/commonjs/components/LoadingTips.js.map +1 -0
  8. package/lib/commonjs/components/email.js +461 -0
  9. package/lib/commonjs/components/email.js.map +1 -0
  10. package/lib/commonjs/components/feedback.js +114 -0
  11. package/lib/commonjs/components/feedback.js.map +1 -0
  12. package/lib/commonjs/components/header.js +126 -0
  13. package/lib/commonjs/components/header.js.map +1 -0
  14. package/lib/commonjs/components/input.js +144 -0
  15. package/lib/commonjs/components/input.js.map +1 -0
  16. package/lib/commonjs/components/productCard.js +688 -0
  17. package/lib/commonjs/components/productCard.js.map +1 -0
  18. package/lib/commonjs/components/progressCircle.js +99 -0
  19. package/lib/commonjs/components/progressCircle.js.map +1 -0
  20. package/lib/commonjs/components/testing.js +74 -0
  21. package/lib/commonjs/components/testing.js.map +1 -0
  22. package/lib/commonjs/components/voice.js +184 -0
  23. package/lib/commonjs/components/voice.js.map +1 -0
  24. package/lib/commonjs/components/welcomeButton.js +149 -0
  25. package/lib/commonjs/components/welcomeButton.js.map +1 -0
  26. package/lib/commonjs/components/welcomeInput.js +137 -0
  27. package/lib/commonjs/components/welcomeInput.js.map +1 -0
  28. package/lib/commonjs/contexts/AppContext.js +552 -0
  29. package/lib/commonjs/contexts/AppContext.js.map +1 -0
  30. package/lib/commonjs/hooks/Stream.js +599 -0
  31. package/lib/commonjs/hooks/Stream.js.map +1 -0
  32. package/lib/commonjs/hooks/useAsyncStorage.js +36 -0
  33. package/lib/commonjs/hooks/useAsyncStorage.js.map +1 -0
  34. package/lib/commonjs/index.js +44 -0
  35. package/lib/commonjs/index.js.map +1 -0
  36. package/lib/commonjs/layout/disclaimer.js +208 -0
  37. package/lib/commonjs/layout/disclaimer.js.map +1 -0
  38. package/lib/commonjs/layout/ex.js +254 -0
  39. package/lib/commonjs/layout/ex.js.map +1 -0
  40. package/lib/commonjs/layout/icon.js +118 -0
  41. package/lib/commonjs/layout/icon.js.map +1 -0
  42. package/lib/commonjs/layout/layout.js +168 -0
  43. package/lib/commonjs/layout/layout.js.map +1 -0
  44. package/lib/commonjs/layout/welcome.js +160 -0
  45. package/lib/commonjs/layout/welcome.js.map +1 -0
  46. package/lib/commonjs/layout/window.js +396 -0
  47. package/lib/commonjs/layout/window.js.map +1 -0
  48. package/lib/commonjs/utils/audioRecorder.js +412 -0
  49. package/lib/commonjs/utils/audioRecorder.js.map +1 -0
  50. package/lib/commonjs/utils/cloudinary.js +69 -0
  51. package/lib/commonjs/utils/cloudinary.js.map +1 -0
  52. package/lib/commonjs/utils/storage.js +76 -0
  53. package/lib/commonjs/utils/storage.js.map +1 -0
  54. package/lib/commonjs/utils/textToSpeech.js +53 -0
  55. package/lib/commonjs/utils/textToSpeech.js.map +1 -0
  56. package/lib/module/assets/chat-icon-mobile.svg +1 -0
  57. package/lib/module/assets/heritage.png +0 -0
  58. package/lib/module/assets/posiden.svg +51 -0
  59. package/lib/module/components/LoadingTips.js +95 -0
  60. package/lib/module/components/LoadingTips.js.map +1 -0
  61. package/lib/module/components/email.js +452 -0
  62. package/lib/module/components/email.js.map +1 -0
  63. package/lib/module/components/feedback.js +105 -0
  64. package/lib/module/components/feedback.js.map +1 -0
  65. package/lib/module/components/header.js +117 -0
  66. package/lib/module/components/header.js.map +1 -0
  67. package/lib/module/components/input.js +135 -0
  68. package/lib/module/components/input.js.map +1 -0
  69. package/lib/module/components/productCard.js +679 -0
  70. package/lib/module/components/productCard.js.map +1 -0
  71. package/lib/module/components/progressCircle.js +91 -0
  72. package/lib/module/components/progressCircle.js.map +1 -0
  73. package/lib/module/components/testing.js +66 -0
  74. package/lib/module/components/testing.js.map +1 -0
  75. package/lib/module/components/voice.js +175 -0
  76. package/lib/module/components/voice.js.map +1 -0
  77. package/lib/module/components/welcomeButton.js +140 -0
  78. package/lib/module/components/welcomeButton.js.map +1 -0
  79. package/lib/module/components/welcomeInput.js +128 -0
  80. package/lib/module/components/welcomeInput.js.map +1 -0
  81. package/lib/module/contexts/AppContext.js +542 -0
  82. package/lib/module/contexts/AppContext.js.map +1 -0
  83. package/lib/module/hooks/Stream.js +592 -0
  84. package/lib/module/hooks/Stream.js.map +1 -0
  85. package/lib/module/hooks/useAsyncStorage.js +29 -0
  86. package/lib/module/hooks/useAsyncStorage.js.map +1 -0
  87. package/lib/module/index.js +36 -0
  88. package/lib/module/index.js.map +1 -0
  89. package/lib/module/layout/disclaimer.js +199 -0
  90. package/lib/module/layout/disclaimer.js.map +1 -0
  91. package/lib/module/layout/ex.js +253 -0
  92. package/lib/module/layout/ex.js.map +1 -0
  93. package/lib/module/layout/icon.js +108 -0
  94. package/lib/module/layout/icon.js.map +1 -0
  95. package/lib/module/layout/layout.js +160 -0
  96. package/lib/module/layout/layout.js.map +1 -0
  97. package/lib/module/layout/welcome.js +150 -0
  98. package/lib/module/layout/welcome.js.map +1 -0
  99. package/lib/module/layout/window.js +387 -0
  100. package/lib/module/layout/window.js.map +1 -0
  101. package/lib/module/utils/audioRecorder.js +398 -0
  102. package/lib/module/utils/audioRecorder.js.map +1 -0
  103. package/lib/module/utils/cloudinary.js +61 -0
  104. package/lib/module/utils/cloudinary.js.map +1 -0
  105. package/lib/module/utils/storage.js +67 -0
  106. package/lib/module/utils/storage.js.map +1 -0
  107. package/lib/module/utils/textToSpeech.js +43 -0
  108. package/lib/module/utils/textToSpeech.js.map +1 -0
  109. package/lib/typescript/components/LoadingTips.d.ts +3 -0
  110. package/lib/typescript/components/LoadingTips.d.ts.map +1 -0
  111. package/lib/typescript/components/email.d.ts +6 -0
  112. package/lib/typescript/components/email.d.ts.map +1 -0
  113. package/lib/typescript/components/feedback.d.ts +6 -0
  114. package/lib/typescript/components/feedback.d.ts.map +1 -0
  115. package/lib/typescript/components/header.d.ts +3 -0
  116. package/lib/typescript/components/header.d.ts.map +1 -0
  117. package/lib/typescript/components/input.d.ts +6 -0
  118. package/lib/typescript/components/input.d.ts.map +1 -0
  119. package/lib/typescript/components/productCard.d.ts +7 -0
  120. package/lib/typescript/components/productCard.d.ts.map +1 -0
  121. package/lib/typescript/components/progressCircle.d.ts +3 -0
  122. package/lib/typescript/components/progressCircle.d.ts.map +1 -0
  123. package/lib/typescript/components/testing.d.ts +6 -0
  124. package/lib/typescript/components/testing.d.ts.map +1 -0
  125. package/lib/typescript/components/voice.d.ts +5 -0
  126. package/lib/typescript/components/voice.d.ts.map +1 -0
  127. package/lib/typescript/components/welcomeButton.d.ts +4 -0
  128. package/lib/typescript/components/welcomeButton.d.ts.map +1 -0
  129. package/lib/typescript/components/welcomeInput.d.ts +6 -0
  130. package/lib/typescript/components/welcomeInput.d.ts.map +1 -0
  131. package/lib/typescript/contexts/AppContext.d.ts +10 -0
  132. package/lib/typescript/contexts/AppContext.d.ts.map +1 -0
  133. package/lib/typescript/hooks/Stream.d.ts +2 -0
  134. package/lib/typescript/hooks/Stream.d.ts.map +1 -0
  135. package/lib/typescript/hooks/useAsyncStorage.d.ts +2 -0
  136. package/lib/typescript/hooks/useAsyncStorage.d.ts.map +1 -0
  137. package/lib/typescript/index.d.ts +8 -0
  138. package/lib/typescript/index.d.ts.map +1 -0
  139. package/lib/typescript/layout/disclaimer.d.ts +5 -0
  140. package/lib/typescript/layout/disclaimer.d.ts.map +1 -0
  141. package/lib/typescript/layout/ex.d.ts +1 -0
  142. package/lib/typescript/layout/ex.d.ts.map +1 -0
  143. package/lib/typescript/layout/icon.d.ts +3 -0
  144. package/lib/typescript/layout/icon.d.ts.map +1 -0
  145. package/lib/typescript/layout/layout.d.ts +3 -0
  146. package/lib/typescript/layout/layout.d.ts.map +1 -0
  147. package/lib/typescript/layout/welcome.d.ts +6 -0
  148. package/lib/typescript/layout/welcome.d.ts.map +1 -0
  149. package/lib/typescript/layout/window.d.ts +5 -0
  150. package/lib/typescript/layout/window.d.ts.map +1 -0
  151. package/lib/typescript/utils/audioRecorder.d.ts +9 -0
  152. package/lib/typescript/utils/audioRecorder.d.ts.map +1 -0
  153. package/lib/typescript/utils/cloudinary.d.ts +17 -0
  154. package/lib/typescript/utils/cloudinary.d.ts.map +1 -0
  155. package/lib/typescript/utils/storage.d.ts +29 -0
  156. package/lib/typescript/utils/storage.d.ts.map +1 -0
  157. package/lib/typescript/utils/textToSpeech.d.ts +2 -0
  158. package/lib/typescript/utils/textToSpeech.d.ts.map +1 -0
  159. package/package.json +109 -0
  160. package/src/assets/chat-icon-mobile.svg +1 -0
  161. package/src/assets/heritage.png +0 -0
  162. package/src/assets/posiden.svg +51 -0
  163. package/src/components/LoadingTips.js +99 -0
  164. package/src/components/email.js +467 -0
  165. package/src/components/feedback.js +114 -0
  166. package/src/components/header.js +119 -0
  167. package/src/components/input.js +133 -0
  168. package/src/components/productCard.js +815 -0
  169. package/src/components/progressCircle.js +88 -0
  170. package/src/components/testing.js +60 -0
  171. package/src/components/voice.js +228 -0
  172. package/src/components/welcomeButton.js +161 -0
  173. package/src/components/welcomeInput.js +133 -0
  174. package/src/contexts/AppContext.js +678 -0
  175. package/src/hooks/Stream.js +655 -0
  176. package/src/hooks/useAsyncStorage.js +33 -0
  177. package/src/index.js +30 -0
  178. package/src/layout/disclaimer.js +231 -0
  179. package/src/layout/ex.js +252 -0
  180. package/src/layout/icon.js +105 -0
  181. package/src/layout/layout.js +160 -0
  182. package/src/layout/welcome.js +172 -0
  183. package/src/layout/window.js +476 -0
  184. package/src/utils/audioRecorder.js +445 -0
  185. package/src/utils/cloudinary.js +61 -0
  186. package/src/utils/storage.ts +89 -0
  187. package/src/utils/textToSpeech.js +49 -0
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Chat = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _AppContext = require("./contexts/AppContext");
10
+ var _layout = require("./layout/layout");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const Chat = ({
13
+ data,
14
+ onProductCardClick,
15
+ onAddToCartClick,
16
+ uiConfig
17
+ }) => {
18
+ return /*#__PURE__*/_react.default.createElement(_AppContext.AppProvider, {
19
+ data: data,
20
+ onProductCardClick: onProductCardClick,
21
+ onAddToCartClick: onAddToCartClick,
22
+ uiConfig: uiConfig
23
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
24
+ style: styles.container,
25
+ pointerEvents: "box-none"
26
+ }, /*#__PURE__*/_react.default.createElement(_layout.Layout, null)));
27
+ };
28
+ exports.Chat = Chat;
29
+ const styles = _reactNative.StyleSheet.create({
30
+ container: {
31
+ flex: 1,
32
+ position: 'absolute',
33
+ top: 0,
34
+ left: 0,
35
+ right: 0,
36
+ bottom: 0,
37
+ zIndex: 1000
38
+ },
39
+ text: {
40
+ fontFamily: "Helvetica Neue" || "sans-serif",
41
+ fontSize: 16
42
+ }
43
+ });
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_AppContext","_layout","e","__esModule","default","Chat","data","onProductCardClick","onAddToCartClick","uiConfig","createElement","AppProvider","View","style","styles","container","pointerEvents","Layout","exports","StyleSheet","create","flex","position","top","left","right","bottom","zIndex","text","fontFamily","fontSize"],"sourceRoot":"../../src","sources":["index.js"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAAyC,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElC,MAAMG,IAAI,GAAGA,CAAC;EAAEC,IAAI;EAAEC,kBAAkB;EAAEC,gBAAgB;EAAEC;AAAS,CAAC,KAAK;EAChF,oBACEb,MAAA,CAAAQ,OAAA,CAAAM,aAAA,CAACV,WAAA,CAAAW,WAAW;IAACL,IAAI,EAAEA,IAAK;IAACC,kBAAkB,EAAEA,kBAAmB;IAACC,gBAAgB,EAAEA,gBAAiB;IAACC,QAAQ,EAAEA;EAAS,gBACtHb,MAAA,CAAAQ,OAAA,CAAAM,aAAA,CAACX,YAAA,CAAAa,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;IAACC,aAAa,EAAC;EAAU,gBACrDpB,MAAA,CAAAQ,OAAA,CAAAM,aAAA,CAACT,OAAA,CAAAgB,MAAM,MAAC,CACJ,CACK,CAAC;AAElB,CAAC;AAACC,OAAA,CAAAb,IAAA,GAAAA,IAAA;AAEF,MAAMS,MAAM,GAAGK,uBAAU,CAACC,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE;IACJC,UAAU,EAAE,gBAAgB,IAAI,YAAY;IAC5CC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Disclaimer = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _AppContext = require("../contexts/AppContext");
10
+ var _Feather = _interopRequireDefault(require("react-native-vector-icons/Feather"));
11
+ var _header = require("../components/header");
12
+ var _testing = require("../components/testing");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
+ const Disclaimer = ({
16
+ panHandlers
17
+ }) => {
18
+ const {
19
+ version,
20
+ setShowModal,
21
+ confirmDisclaimer,
22
+ uiConfig,
23
+ onAddToCartClick,
24
+ onProductCardClick,
25
+ theme
26
+ } = (0, _react.useContext)(_AppContext.AppContext);
27
+ const sections = [{
28
+ title: 'General Information',
29
+ details: 'The AI agent is an automated system powered by Instalily. It is designed to provide information and assistance based on HeritagePool+ Suppliers and documentation in product brand manuals. While we strive to provide accurate information through the AI agent, we cannot guarantee the accuracy, completeness, or up-to-date nature of the information provided. We recommend that you use responses as a starting point and verify the information in the linked public documentation sources.',
30
+ icon: 'file-text'
31
+ }, {
32
+ title: 'User Responsibility',
33
+ details: "Users of the AI agent bear sole responsibility for their interactions and reliance on the information provided. It is important to exercise caution and use your discretion while interpreting and acting upon the agent's responses. We cannot be held liable for any actions, losses, or damages resulting from the use of the agent.",
34
+ icon: 'thumbs-up'
35
+ }, {
36
+ title: 'Data Privacy and Security',
37
+ details: "We prioritize the privacy and security of our users' information. Be aware that agent conversations are recorded and stored for later review and quality monitoring by SRS Distribution and its contractors, including by SRS’ content team to improve results. While SRS and the vendor retain logs of these conversations, this data is not used to train their AI models.",
38
+ icon: 'lock'
39
+ }];
40
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
41
+ style: styles.container
42
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_header.Header, null)), /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
43
+ contentContainerStyle: styles.scrollContainer
44
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
45
+ style: styles.header
46
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
47
+ style: styles.welcomeTitle
48
+ }, "Welcome to your AI Agent"), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
49
+ style: styles.betaTag
50
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
51
+ style: styles.betaText
52
+ }, "BETA"))), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
53
+ style: styles.disclaimerText
54
+ }, "The following disclaimer is intended to inform users of the limitations and usage guidelines of the AI agent."), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
55
+ style: styles.disclaimerText
56
+ }, "Please read this disclaimer carefully before engaging with the agent."), sections.map((section, index) => /*#__PURE__*/_react.default.createElement(Paragraph, {
57
+ key: index,
58
+ title: section.title,
59
+ details: section.details,
60
+ icon: section.icon,
61
+ theme: theme
62
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
63
+ style: styles.disclaimerText
64
+ }, "Do not share any sensitive or personal information in your conversations."), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
65
+ style: styles.disclaimerText
66
+ }, "By using our AI agent, you indicate your acceptance and understanding of the above disclaimer. If you do not agree with any part of this disclaimer, we recommend refraining from using the agent. For further assistance or inquiries, please contact", ' ', /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
67
+ style: styles.boldText
68
+ }, "srs@instalily.ai"), ".")), uiConfig.testButtons && /*#__PURE__*/_react.default.createElement(_testing.Testing, {
69
+ onProductCardClick: onProductCardClick,
70
+ onAddToCartClick: onAddToCartClick
71
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
72
+ style: styles.confirmArea
73
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
74
+ style: [styles.button, {
75
+ backgroundColor: theme.primaryColor
76
+ }],
77
+ onPress: confirmDisclaimer
78
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
79
+ style: styles.buttonText
80
+ }, "Confirm")), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
81
+ style: styles.confirmText
82
+ }, `By clicking the "Confirm" button above, you understand and confirm
83
+ that your use of ${version === 'pool' ? 'HeritagePool+' : 'Heritage+'} AI Agent is subject to our current Terms of
84
+ Service and Privacy Policy, and you confirm your understanding of the
85
+ above.`)));
86
+ };
87
+ exports.Disclaimer = Disclaimer;
88
+ const Paragraph = ({
89
+ title,
90
+ details,
91
+ icon,
92
+ theme
93
+ }) => {
94
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
95
+ style: styles.sectionContainer
96
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
97
+ style: [styles.iconContainer, {
98
+ backgroundColor: `${theme.primaryColor}20`
99
+ }]
100
+ }, /*#__PURE__*/_react.default.createElement(_Feather.default, {
101
+ name: icon,
102
+ size: 18,
103
+ color: (theme === null || theme === void 0 ? void 0 : theme.primaryColor) || '#1976d2'
104
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
105
+ style: styles.textContainer
106
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
107
+ style: styles.sectionTitle
108
+ }, title), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
109
+ style: styles.sectionDetails
110
+ }, details)));
111
+ };
112
+ const styles = _reactNative.StyleSheet.create({
113
+ container: {
114
+ flex: 1
115
+ },
116
+ scrollContainer: {
117
+ paddingBottom: 20,
118
+ padding: 20
119
+ },
120
+ header: {
121
+ flexDirection: 'row',
122
+ alignItems: 'center',
123
+ marginBottom: 10
124
+ },
125
+ welcomeTitle: {
126
+ fontSize: 18,
127
+ fontWeight: '500',
128
+ color: '#161616'
129
+ },
130
+ betaTag: {
131
+ backgroundColor: '#f6921e',
132
+ borderRadius: 8,
133
+ paddingHorizontal: 10,
134
+ paddingVertical: 4,
135
+ marginLeft: 10
136
+ },
137
+ betaText: {
138
+ color: '#ffffff',
139
+ fontSize: 11,
140
+ fontWeight: '500'
141
+ },
142
+ disclaimerText: {
143
+ fontSize: 13,
144
+ color: '#505050',
145
+ lineHeight: 18,
146
+ marginBottom: 8
147
+ },
148
+ boldText: {
149
+ fontWeight: 'bold'
150
+ },
151
+ sectionContainer: {
152
+ flexDirection: 'row',
153
+ alignItems: 'flex-start',
154
+ backgroundColor: '#fff',
155
+ padding: 12,
156
+ marginBottom: 10,
157
+ borderRadius: 10,
158
+ elevation: 1
159
+ },
160
+ iconContainer: {
161
+ borderRadius: 10,
162
+ padding: 10,
163
+ alignItems: 'center',
164
+ justifyContent: 'center',
165
+ marginRight: 10
166
+ },
167
+ textContainer: {
168
+ flex: 1
169
+ },
170
+ sectionTitle: {
171
+ fontSize: 14,
172
+ fontWeight: '500',
173
+ color: '#161616',
174
+ marginBottom: 3
175
+ },
176
+ sectionDetails: {
177
+ fontSize: 12,
178
+ color: '#505050',
179
+ lineHeight: 18
180
+ },
181
+ confirmArea: {
182
+ alignItems: 'center',
183
+ padding: 20,
184
+ backgroundColor: '#f6f6f6',
185
+ borderTopWidth: 1,
186
+ borderTopColor: 'rgba(0, 0, 0, 0.1)',
187
+ paddingBottom: 25
188
+ },
189
+ button: {
190
+ width: '100%',
191
+ paddingVertical: 12,
192
+ borderRadius: 5,
193
+ alignItems: 'center',
194
+ marginBottom: 10
195
+ },
196
+ buttonText: {
197
+ color: '#FFFFFF',
198
+ fontSize: 16,
199
+ fontWeight: '500'
200
+ },
201
+ confirmText: {
202
+ fontSize: 11,
203
+ color: 'gray',
204
+ lineHeight: 16,
205
+ paddingHorizontal: 10
206
+ }
207
+ });
208
+ //# sourceMappingURL=disclaimer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_AppContext","_Feather","_interopRequireDefault","_header","_testing","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Disclaimer","panHandlers","version","setShowModal","confirmDisclaimer","uiConfig","onAddToCartClick","onProductCardClick","theme","useContext","AppContext","sections","title","details","icon","createElement","View","style","styles","container","Header","ScrollView","contentContainerStyle","scrollContainer","header","Text","welcomeTitle","betaTag","betaText","disclaimerText","map","section","index","Paragraph","key","boldText","testButtons","Testing","confirmArea","TouchableOpacity","button","backgroundColor","primaryColor","onPress","buttonText","confirmText","exports","sectionContainer","iconContainer","name","size","color","textContainer","sectionTitle","sectionDetails","StyleSheet","create","flex","paddingBottom","padding","flexDirection","alignItems","marginBottom","fontSize","fontWeight","borderRadius","paddingHorizontal","paddingVertical","marginLeft","lineHeight","elevation","justifyContent","marginRight","borderTopWidth","borderTopColor","width"],"sourceRoot":"../../../src","sources":["layout/disclaimer.js"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,254 @@
1
+ // import React, { useState, useEffect, useContext, useRef } from 'react';
2
+ // import { Text, StyleSheet, View, TextInput, TouchableOpacity, Platform, KeyboardAvoidingView,
3
+ // Keyboard, Animated, PanResponder, Pressable } from 'react-native';
4
+ // import { Header } from '../components/header';
5
+ // import { AppContext } from '../contexts/AppContext';
6
+ // import Ionicons from 'react-native-vector-icons/Ionicons';
7
+ // import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view';
8
+ // import { Testing } from '../components/testing';
9
+ // import { ChatInput } from '../components/input';
10
+ // import { useWebSocketMessage } from '../hooks/Stream';
11
+ // import { ProductCard } from '../components/productCard'
12
+ // import Markdown from 'react-native-markdown-display';
13
+
14
+ // export const ChatWindow = () => {
15
+ // const { handleSend, messages, input, setInput, ghostMessage, handleButtonClick, setShowModal } = useContext(AppContext);
16
+
17
+ // const scrollViewRef = useRef(null);
18
+ // const fadeAnim = useRef(new Animated.Value(0.6)).current;
19
+ // const panY = useRef(new Animated.Value(0)).current;
20
+ // const isDragging = useRef(false);
21
+
22
+ // useEffect(() => {
23
+ // if (scrollViewRef.current) {
24
+ // setTimeout(() => {
25
+ // scrollViewRef.current.scrollToEnd({ animated: false });
26
+ // }, 100);
27
+ // }
28
+ // }, []);
29
+
30
+ // useEffect(() => {
31
+ // if (ghostMessage) {
32
+ // Animated.loop(
33
+ // Animated.sequence([
34
+ // Animated.timing(fadeAnim, { toValue: 1, duration: 500, useNativeDriver: false }),
35
+ // Animated.timing(fadeAnim, { toValue: 0.6, duration: 500, useNativeDriver: false }),
36
+ // ])
37
+ // ).start();
38
+ // }
39
+ // }, [ghostMessage]);
40
+
41
+ // useWebSocketMessage()
42
+
43
+ // const headerPanResponder = PanResponder.create({
44
+ // onStartShouldSetPanResponder: () => true,
45
+ // onMoveShouldSetPanResponder: () => true,
46
+ // onPanResponderGrant: () => {
47
+ // isDragging.current = true;
48
+ // },
49
+ // onPanResponderMove: (evt, gestureState) => {
50
+ // if (isDragging.current && gestureState.dy > 0) { // Downward swipe
51
+ // panY.setValue(gestureState.dy);
52
+ // }
53
+ // },
54
+ // onPanResponderRelease: (evt, gestureState) => {
55
+ // if (gestureState.dy > 100) { // Swiped down enough
56
+ // handleClick()
57
+ // } else {
58
+ // Animated.spring(panY, { toValue: 0, useNativeDriver: false }).start();
59
+ // }
60
+ // isDragging.current = false;
61
+ // },
62
+ // });
63
+
64
+ // const handleClick = () => {
65
+ // if ((uiConfig.showIcon ?? true) !== true) {
66
+ // setShowModal("Off");
67
+ // } else {
68
+ // setShowModal("Icon");
69
+ // }
70
+ // };
71
+
72
+ // return (
73
+ // <View style={styles.overlay}>
74
+ // {/* Click outside chat to close */}
75
+ // <Pressable style={styles.outsideTouchable} onPress={() => handleClick()} />
76
+
77
+ // <Animated.View style={[styles.container, { transform: [{ translateY: panY }] }]}>
78
+ // {/* Header - Only this section triggers drag-to-close */}
79
+ // <View style={styles.headerContainer} {...headerPanResponder.panHandlers}>
80
+ // <Header />
81
+ // </View>
82
+
83
+ // {/* Messages area */}
84
+ // <KeyboardAwareScrollView
85
+ // ref={scrollViewRef}
86
+ // contentContainerStyle={styles.messagesContent}
87
+ // enableOnAndroid
88
+ // contentInsetAdjustmentBehavior="never"
89
+ // automaticallyAdjustContentInsets={false}
90
+ // contentInset={{ bottom: 0 }}
91
+ // keyboardShouldPersistTaps="always"
92
+ // showsVerticalScrollIndicator={false}
93
+ // extraScrollHeight={0}
94
+ // onContentSizeChange={() => {
95
+ // scrollViewRef.current?.scrollToEnd({ animated: true });
96
+ // }}
97
+ // >
98
+ // {messages.map((msg, i) => (
99
+
100
+ // <View key={i} style={styles.messageWrapper}>
101
+ // {msg.type !== "middle" && (
102
+ // <View style={[ styles.messageBubble, msg.type === "user" ? styles.userMessage : styles.aiMessage,]}>
103
+ // <Markdown style={{ body: { color: msg.type === "user" ? "#ffffff" : "#161616",fontSize: 16, lineHeight: 22 }}}>
104
+ // {msg.text}
105
+ // </Markdown>
106
+ // </View>
107
+ // )}
108
+
109
+ // {msg.products && msg.products.length > 0 &&
110
+ // msg.products.map((prod, index) => (
111
+ // <View key={index} style={styles.productCardWrapper}>
112
+ // <ProductCard prod={prod} />
113
+ // </View>
114
+ // ))}
115
+
116
+ // {msg.suggested_questions && Array.isArray(msg.questions) && msg.questions.map((question, index) => (
117
+ // <TouchableOpacity key={index} style={styles.suggestedQuestionButton}
118
+ // onPress={() => handleButtonClick(question)}>
119
+ // <Text style={styles.suggestedQuestionText}>{question}</Text>
120
+ // </TouchableOpacity>
121
+ // ))}
122
+
123
+ // {ghostMessage && i === messages.length - 1 && (
124
+ // <View style={styles.ghostMessageContainer}>
125
+ // <Animated.View style={[styles.ghostBar, styles.ghostBarShort, { opacity: fadeAnim }]} />
126
+ // <Animated.View style={[styles.ghostBar, styles.ghostBarLong, { opacity: fadeAnim }]} />
127
+ // <Animated.View style={[styles.ghostBar, styles.ghostBarMedium, { opacity: fadeAnim }]} />
128
+ // </View>
129
+ // )}
130
+ // </View>
131
+ // ))}
132
+
133
+ // <KeyboardAvoidingView
134
+ // behavior={Platform.OS === 'ios' ? 'padding' : undefined}
135
+ // keyboardVerticalOffset={Platform.OS === 'ios' ? 120 : 60}
136
+ // >
137
+ // <ChatInput/>
138
+ // </KeyboardAvoidingView>
139
+ // </KeyboardAwareScrollView>
140
+
141
+ // </Animated.View>
142
+ // </View>
143
+ // );
144
+ // };
145
+
146
+ // const styles = StyleSheet.create({
147
+ // overlay: {
148
+ // flex: 1,
149
+ // position: 'absolute',
150
+ // left: 0,
151
+ // right: 0,
152
+ // top: 0,
153
+ // bottom: 0,
154
+ // backgroundColor: 'rgba(0, 0, 0, 0.3)',
155
+ // justifyContent: 'flex-end',
156
+ // },
157
+ // outsideTouchable: {
158
+ // flex: 1, // Takes up the space above the chat, allows clicking to close
159
+ // },
160
+ // container: {
161
+ // flex: 1,
162
+ // backgroundColor: '#f6f6f6',
163
+ // position: 'absolute',
164
+ // zIndex: 1000,
165
+ // left: 0,
166
+ // right: 0,
167
+ // bottom: 0,
168
+ // top: 140,
169
+ // pointerEvents: 'box-none',
170
+ // borderTopWidth: 1,
171
+ // borderTopColor: '#DDD',
172
+ // borderTopLeftRadius: 16,
173
+ // borderTopRightRadius: 16,
174
+ // overflow: 'hidden',
175
+ // },
176
+ // headerContainer: {
177
+ // alignItems: "center",
178
+ // backgroundColor: "#f6f6f6",
179
+ // borderTopLeftRadius: 16,
180
+ // borderTopRightRadius: 16,
181
+ // },
182
+ // messagesContent: {
183
+ // padding: 16,
184
+ // justifyContent: 'flex-end',
185
+ // },
186
+ // messageWrapper: {
187
+ // marginBottom: 0,
188
+ // },
189
+ // messageBubble: {
190
+ // padding: 6,
191
+ // paddingHorizontal: 16,
192
+ // borderRadius: 12,
193
+ // marginBottom: 5
194
+ // },
195
+ // userMessage: {
196
+ // alignSelf: 'flex-end',
197
+ // backgroundColor: "#003764",
198
+ // color: "#ffffff"
199
+ // },
200
+ // aiMessage: {
201
+ // alignSelf: 'flex-start',
202
+ // backgroundColor: '#FFFFFF',
203
+ // width: '100%',
204
+ // },
205
+ // productCardWrapper: {
206
+ // marginTop: 5,
207
+ // },
208
+ // suggestedQuestionButton: {
209
+ // backgroundColor: "white",
210
+ // borderWidth: 1,
211
+ // borderColor: "#437D3D",
212
+ // borderRadius: 18,
213
+ // paddingVertical: 10,
214
+ // paddingHorizontal: 16,
215
+ // marginBottom: 7,
216
+ // alignSelf: "flex-start",
217
+ // },
218
+ // suggestedQuestionText: {
219
+ // color: "#437D3D",
220
+ // fontSize: 13,
221
+ // textAlign: "left",
222
+ // },
223
+ // ghostMessageContainer: {
224
+ // alignSelf: 'flex-start',
225
+ // width: '100%',
226
+ // backgroundColor: "#FFFFFF",
227
+ // borderRadius: 10,
228
+ // borderTopLeftRadius: 0,
229
+ // padding: 14,
230
+ // marginVertical: 5,
231
+ // },
232
+ // ghostBar: {
233
+ // height: 20,
234
+ // borderRadius: 10,
235
+ // backgroundColor: "#ebebeb",
236
+ // marginVertical: 3,
237
+ // },
238
+ // ghostBarShort: {
239
+ // width: "50%",
240
+ // },
241
+ // ghostBarMedium: {
242
+ // width: "75%",
243
+ // },
244
+ // ghostBarLong: {
245
+ // width: "100%",
246
+ // },
247
+ // });
248
+
249
+ // {/* <Testing
250
+ // onProductCardClick={onProductCardClick}
251
+ // onAddToCartClick={onAddToCartClick}
252
+ // /> */}
253
+ "use strict";
254
+ //# sourceMappingURL=ex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["layout/ex.js"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAAA","ignoreList":[]}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChatIcon = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _AppContext = require("../contexts/AppContext");
10
+ var _Ionicons = _interopRequireDefault(require("react-native-vector-icons/Ionicons"));
11
+ var _cloudinary = _interopRequireDefault(require("../utils/cloudinary"));
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ // import { SvgCssUri } from 'react-native-svg/css';
15
+
16
+ const ChatIcon = () => {
17
+ var _uiConfig$iconPositio, _uiConfig$iconPositio2;
18
+ const {
19
+ setShowModal,
20
+ messages,
21
+ maintenance,
22
+ disclaimer,
23
+ uiConfig
24
+ } = (0, _react.useContext)(_AppContext.AppContext);
25
+
26
+ // Determine position from uiConfig or default
27
+ const iconPosition = {
28
+ top: (uiConfig === null || uiConfig === void 0 || (_uiConfig$iconPositio = uiConfig.iconPosition) === null || _uiConfig$iconPositio === void 0 ? void 0 : _uiConfig$iconPositio.top) ?? 50,
29
+ right: (uiConfig === null || uiConfig === void 0 || (_uiConfig$iconPositio2 = uiConfig.iconPosition) === null || _uiConfig$iconPositio2 === void 0 ? void 0 : _uiConfig$iconPositio2.right) ?? 20
30
+ };
31
+
32
+ // Determine icon type (bubble or tab)
33
+ const iconType = (uiConfig === null || uiConfig === void 0 ? void 0 : uiConfig.iconType) ?? 'bubble';
34
+ const handleClick = () => {
35
+ if (!disclaimer) {
36
+ setShowModal("Form");
37
+ } else {
38
+ if (messages.length > 1 || maintenance) {
39
+ // console.log("UI Config", uiConfig.showWelcome)
40
+ setShowModal("ChatWindow");
41
+ } else {
42
+ setShowModal("Welcome");
43
+ }
44
+ }
45
+ };
46
+
47
+ // Different styles for bubble and tab
48
+ const containerStyle = iconType === 'tab' ? [styles.tabContainer, iconPosition] : [styles.bubbleContainer, iconPosition];
49
+ return /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
50
+ style: containerStyle,
51
+ onPress: handleClick,
52
+ activeOpacity: 0.7
53
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
54
+ style: styles.iconContent
55
+ }, /*#__PURE__*/_react.default.createElement(_cloudinary.default, {
56
+ cldImg: "chat-icon-mobile",
57
+ imageStyle: {
58
+ width: 44,
59
+ height: 44
60
+ }
61
+ }), iconType === 'tab' && /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
62
+ style: styles.tabText
63
+ }, "Chat with Heritage")));
64
+ };
65
+ exports.ChatIcon = ChatIcon;
66
+ const styles = _reactNative.StyleSheet.create({
67
+ // Bubble Style
68
+ bubbleContainer: {
69
+ position: 'absolute',
70
+ width: 60,
71
+ height: 60,
72
+ borderRadius: 30,
73
+ alignItems: 'center',
74
+ justifyContent: 'center',
75
+ zIndex: 10,
76
+ shadowColor: '#000',
77
+ shadowOffset: {
78
+ width: 0,
79
+ height: 2
80
+ },
81
+ shadowOpacity: 0.2,
82
+ shadowRadius: 3,
83
+ elevation: 5
84
+ },
85
+ // Tab Style
86
+ tabContainer: {
87
+ position: 'absolute',
88
+ width: 130,
89
+ height: 50,
90
+ borderTopLeftRadius: 25,
91
+ borderBottomLeftRadius: 25,
92
+ backgroundColor: '#367CB6',
93
+ flexDirection: 'row',
94
+ alignItems: 'center',
95
+ paddingHorizontal: 15,
96
+ justifyContent: 'flex-start',
97
+ zIndex: 10,
98
+ shadowColor: '#000',
99
+ shadowOffset: {
100
+ width: 0,
101
+ height: 2
102
+ },
103
+ shadowOpacity: 0.2,
104
+ shadowRadius: 3,
105
+ elevation: 5
106
+ },
107
+ iconContent: {
108
+ flexDirection: 'row',
109
+ alignItems: 'center'
110
+ },
111
+ tabText: {
112
+ color: 'white',
113
+ fontSize: 14,
114
+ fontWeight: '500',
115
+ marginLeft: 8
116
+ }
117
+ });
118
+ //# sourceMappingURL=icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_AppContext","_Ionicons","_interopRequireDefault","_cloudinary","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ChatIcon","_uiConfig$iconPositio","_uiConfig$iconPositio2","setShowModal","messages","maintenance","disclaimer","uiConfig","useContext","AppContext","iconPosition","top","right","iconType","handleClick","length","containerStyle","styles","tabContainer","bubbleContainer","createElement","TouchableOpacity","style","onPress","activeOpacity","View","iconContent","cldImg","imageStyle","width","height","Text","tabText","exports","StyleSheet","create","position","borderRadius","alignItems","justifyContent","zIndex","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","borderTopLeftRadius","borderBottomLeftRadius","backgroundColor","flexDirection","paddingHorizontal","color","fontSize","fontWeight","marginLeft"],"sourceRoot":"../../../src","sources":["layout/icon.js"],"mappings":"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","ignoreList":[]}