@inorain_development/hotel-smarters-chat-ui 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/lib/commonjs/features/chat/components/common/clock-icon.js +32 -0
  2. package/lib/commonjs/features/chat/components/common/clock-icon.js.map +1 -0
  3. package/lib/commonjs/features/chat/components/common/clock-icon.native.js +32 -0
  4. package/lib/commonjs/features/chat/components/common/clock-icon.native.js.map +1 -0
  5. package/lib/commonjs/features/chat/components/event/event.js +97 -0
  6. package/lib/commonjs/features/chat/components/event/event.js.map +1 -0
  7. package/lib/commonjs/features/chat/components/event/event.model.js +6 -0
  8. package/lib/commonjs/features/chat/components/event/event.model.js.map +1 -0
  9. package/lib/commonjs/features/chat/components/event/event.native.js +107 -0
  10. package/lib/commonjs/features/chat/components/event/event.native.js.map +1 -0
  11. package/lib/commonjs/features/chat/components/event/index.js +13 -0
  12. package/lib/commonjs/features/chat/components/event/index.js.map +1 -0
  13. package/lib/commonjs/features/chat/components/info/index.js +13 -0
  14. package/lib/commonjs/features/chat/components/info/index.js.map +1 -0
  15. package/lib/commonjs/features/chat/components/info/info.js +32 -0
  16. package/lib/commonjs/features/chat/components/info/info.js.map +1 -0
  17. package/lib/commonjs/features/chat/components/info/info.model.js +6 -0
  18. package/lib/commonjs/features/chat/components/info/info.model.js.map +1 -0
  19. package/lib/commonjs/features/chat/components/info/info.native.js +33 -0
  20. package/lib/commonjs/features/chat/components/info/info.native.js.map +1 -0
  21. package/lib/commonjs/features/chat/message/index.js +20 -0
  22. package/lib/commonjs/features/chat/message/index.js.map +1 -0
  23. package/lib/commonjs/features/chat/message/message.js +49 -0
  24. package/lib/commonjs/features/chat/message/message.js.map +1 -0
  25. package/lib/commonjs/features/chat/message/message.logic.js +48 -0
  26. package/lib/commonjs/features/chat/message/message.logic.js.map +1 -0
  27. package/lib/commonjs/features/chat/message/message.model.js +6 -0
  28. package/lib/commonjs/features/chat/message/message.model.js.map +1 -0
  29. package/lib/commonjs/features/chat/message/message.native.js +50 -0
  30. package/lib/commonjs/features/chat/message/message.native.js.map +1 -0
  31. package/lib/commonjs/features/chat/model/chat.model.js +3 -0
  32. package/lib/commonjs/features/chat/model/chat.model.js.map +1 -1
  33. package/lib/commonjs/features/chat/renderer/renderer.js +13 -0
  34. package/lib/commonjs/features/chat/renderer/renderer.js.map +1 -1
  35. package/lib/commonjs/features/chat/renderer/renderer.native.js +13 -0
  36. package/lib/commonjs/features/chat/renderer/renderer.native.js.map +1 -1
  37. package/lib/commonjs/native.js +28 -0
  38. package/lib/commonjs/native.js.map +1 -1
  39. package/lib/commonjs/utils/price.utils.js +15 -0
  40. package/lib/commonjs/utils/price.utils.js.map +1 -0
  41. package/lib/commonjs/utils/theme.utils.js +2 -0
  42. package/lib/commonjs/utils/theme.utils.js.map +1 -1
  43. package/lib/commonjs/web.js +28 -0
  44. package/lib/commonjs/web.js.map +1 -1
  45. package/lib/module/features/chat/components/common/clock-icon.js +28 -0
  46. package/lib/module/features/chat/components/common/clock-icon.js.map +1 -0
  47. package/lib/module/features/chat/components/common/clock-icon.native.js +28 -0
  48. package/lib/module/features/chat/components/common/clock-icon.native.js.map +1 -0
  49. package/lib/module/features/chat/components/event/event.js +93 -0
  50. package/lib/module/features/chat/components/event/event.js.map +1 -0
  51. package/lib/module/features/chat/components/event/event.model.js +4 -0
  52. package/lib/module/features/chat/components/event/event.model.js.map +1 -0
  53. package/lib/module/features/chat/components/event/event.native.js +103 -0
  54. package/lib/module/features/chat/components/event/event.native.js.map +1 -0
  55. package/lib/module/features/chat/components/event/index.js +4 -0
  56. package/lib/module/features/chat/components/event/index.js.map +1 -0
  57. package/lib/module/features/chat/components/info/index.js +4 -0
  58. package/lib/module/features/chat/components/info/index.js.map +1 -0
  59. package/lib/module/features/chat/components/info/info.js +28 -0
  60. package/lib/module/features/chat/components/info/info.js.map +1 -0
  61. package/lib/module/features/chat/components/info/info.model.js +4 -0
  62. package/lib/module/features/chat/components/info/info.model.js.map +1 -0
  63. package/lib/module/features/chat/components/info/info.native.js +29 -0
  64. package/lib/module/features/chat/components/info/info.native.js.map +1 -0
  65. package/lib/module/features/chat/message/index.js +5 -0
  66. package/lib/module/features/chat/message/index.js.map +1 -0
  67. package/lib/module/features/chat/message/message.js +45 -0
  68. package/lib/module/features/chat/message/message.js.map +1 -0
  69. package/lib/module/features/chat/message/message.logic.js +44 -0
  70. package/lib/module/features/chat/message/message.logic.js.map +1 -0
  71. package/lib/module/features/chat/message/message.model.js +4 -0
  72. package/lib/module/features/chat/message/message.model.js.map +1 -0
  73. package/lib/module/features/chat/message/message.native.js +46 -0
  74. package/lib/module/features/chat/message/message.native.js.map +1 -0
  75. package/lib/module/features/chat/model/chat.model.js +3 -0
  76. package/lib/module/features/chat/model/chat.model.js.map +1 -1
  77. package/lib/module/features/chat/renderer/renderer.js +13 -0
  78. package/lib/module/features/chat/renderer/renderer.js.map +1 -1
  79. package/lib/module/features/chat/renderer/renderer.native.js +13 -0
  80. package/lib/module/features/chat/renderer/renderer.native.js.map +1 -1
  81. package/lib/module/native.js +4 -0
  82. package/lib/module/native.js.map +1 -1
  83. package/lib/module/utils/price.utils.js +11 -0
  84. package/lib/module/utils/price.utils.js.map +1 -0
  85. package/lib/module/utils/theme.utils.js +2 -0
  86. package/lib/module/utils/theme.utils.js.map +1 -1
  87. package/lib/module/web.js +4 -0
  88. package/lib/module/web.js.map +1 -1
  89. package/lib/typescript/commonjs/features/chat/components/common/clock-icon.d.ts +6 -0
  90. package/lib/typescript/commonjs/features/chat/components/common/clock-icon.d.ts.map +1 -0
  91. package/lib/typescript/commonjs/features/chat/components/common/clock-icon.native.d.ts +6 -0
  92. package/lib/typescript/commonjs/features/chat/components/common/clock-icon.native.d.ts.map +1 -0
  93. package/lib/typescript/commonjs/features/chat/components/event/event.d.ts +4 -0
  94. package/lib/typescript/commonjs/features/chat/components/event/event.d.ts.map +1 -0
  95. package/lib/typescript/commonjs/features/chat/components/event/event.model.d.ts +11 -0
  96. package/lib/typescript/commonjs/features/chat/components/event/event.model.d.ts.map +1 -0
  97. package/lib/typescript/commonjs/features/chat/components/event/event.native.d.ts +4 -0
  98. package/lib/typescript/commonjs/features/chat/components/event/event.native.d.ts.map +1 -0
  99. package/lib/typescript/commonjs/features/chat/components/event/index.d.ts +3 -0
  100. package/lib/typescript/commonjs/features/chat/components/event/index.d.ts.map +1 -0
  101. package/lib/typescript/commonjs/features/chat/components/info/index.d.ts +3 -0
  102. package/lib/typescript/commonjs/features/chat/components/info/index.d.ts.map +1 -0
  103. package/lib/typescript/commonjs/features/chat/components/info/info.d.ts +4 -0
  104. package/lib/typescript/commonjs/features/chat/components/info/info.d.ts.map +1 -0
  105. package/lib/typescript/commonjs/features/chat/components/info/info.model.d.ts +6 -0
  106. package/lib/typescript/commonjs/features/chat/components/info/info.model.d.ts.map +1 -0
  107. package/lib/typescript/commonjs/features/chat/components/info/info.native.d.ts +4 -0
  108. package/lib/typescript/commonjs/features/chat/components/info/info.native.d.ts.map +1 -0
  109. package/lib/typescript/commonjs/features/chat/message/index.d.ts +4 -0
  110. package/lib/typescript/commonjs/features/chat/message/index.d.ts.map +1 -0
  111. package/lib/typescript/commonjs/features/chat/message/message.d.ts +3 -0
  112. package/lib/typescript/commonjs/features/chat/message/message.d.ts.map +1 -0
  113. package/lib/typescript/commonjs/features/chat/message/message.logic.d.ts +3 -0
  114. package/lib/typescript/commonjs/features/chat/message/message.logic.d.ts.map +1 -0
  115. package/lib/typescript/commonjs/features/chat/message/message.model.d.ts +29 -0
  116. package/lib/typescript/commonjs/features/chat/message/message.model.d.ts.map +1 -0
  117. package/lib/typescript/commonjs/features/chat/message/message.native.d.ts +3 -0
  118. package/lib/typescript/commonjs/features/chat/message/message.native.d.ts.map +1 -0
  119. package/lib/typescript/commonjs/features/chat/model/chat.model.d.ts +4 -1
  120. package/lib/typescript/commonjs/features/chat/model/chat.model.d.ts.map +1 -1
  121. package/lib/typescript/commonjs/features/chat/renderer/renderer.d.ts +3 -1
  122. package/lib/typescript/commonjs/features/chat/renderer/renderer.d.ts.map +1 -1
  123. package/lib/typescript/commonjs/features/chat/renderer/renderer.native.d.ts +3 -1
  124. package/lib/typescript/commonjs/features/chat/renderer/renderer.native.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/native.d.ts +7 -0
  126. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  127. package/lib/typescript/commonjs/utils/price.utils.d.ts +2 -0
  128. package/lib/typescript/commonjs/utils/price.utils.d.ts.map +1 -0
  129. package/lib/typescript/commonjs/utils/theme.utils.d.ts +1 -0
  130. package/lib/typescript/commonjs/utils/theme.utils.d.ts.map +1 -1
  131. package/lib/typescript/commonjs/web.d.ts +7 -0
  132. package/lib/typescript/commonjs/web.d.ts.map +1 -1
  133. package/lib/typescript/module/features/chat/components/common/clock-icon.d.ts +6 -0
  134. package/lib/typescript/module/features/chat/components/common/clock-icon.d.ts.map +1 -0
  135. package/lib/typescript/module/features/chat/components/common/clock-icon.native.d.ts +6 -0
  136. package/lib/typescript/module/features/chat/components/common/clock-icon.native.d.ts.map +1 -0
  137. package/lib/typescript/module/features/chat/components/event/event.d.ts +4 -0
  138. package/lib/typescript/module/features/chat/components/event/event.d.ts.map +1 -0
  139. package/lib/typescript/module/features/chat/components/event/event.model.d.ts +11 -0
  140. package/lib/typescript/module/features/chat/components/event/event.model.d.ts.map +1 -0
  141. package/lib/typescript/module/features/chat/components/event/event.native.d.ts +4 -0
  142. package/lib/typescript/module/features/chat/components/event/event.native.d.ts.map +1 -0
  143. package/lib/typescript/module/features/chat/components/event/index.d.ts +3 -0
  144. package/lib/typescript/module/features/chat/components/event/index.d.ts.map +1 -0
  145. package/lib/typescript/module/features/chat/components/info/index.d.ts +3 -0
  146. package/lib/typescript/module/features/chat/components/info/index.d.ts.map +1 -0
  147. package/lib/typescript/module/features/chat/components/info/info.d.ts +4 -0
  148. package/lib/typescript/module/features/chat/components/info/info.d.ts.map +1 -0
  149. package/lib/typescript/module/features/chat/components/info/info.model.d.ts +6 -0
  150. package/lib/typescript/module/features/chat/components/info/info.model.d.ts.map +1 -0
  151. package/lib/typescript/module/features/chat/components/info/info.native.d.ts +4 -0
  152. package/lib/typescript/module/features/chat/components/info/info.native.d.ts.map +1 -0
  153. package/lib/typescript/module/features/chat/message/index.d.ts +4 -0
  154. package/lib/typescript/module/features/chat/message/index.d.ts.map +1 -0
  155. package/lib/typescript/module/features/chat/message/message.d.ts +3 -0
  156. package/lib/typescript/module/features/chat/message/message.d.ts.map +1 -0
  157. package/lib/typescript/module/features/chat/message/message.logic.d.ts +3 -0
  158. package/lib/typescript/module/features/chat/message/message.logic.d.ts.map +1 -0
  159. package/lib/typescript/module/features/chat/message/message.model.d.ts +29 -0
  160. package/lib/typescript/module/features/chat/message/message.model.d.ts.map +1 -0
  161. package/lib/typescript/module/features/chat/message/message.native.d.ts +3 -0
  162. package/lib/typescript/module/features/chat/message/message.native.d.ts.map +1 -0
  163. package/lib/typescript/module/features/chat/model/chat.model.d.ts +4 -1
  164. package/lib/typescript/module/features/chat/model/chat.model.d.ts.map +1 -1
  165. package/lib/typescript/module/features/chat/renderer/renderer.d.ts +3 -1
  166. package/lib/typescript/module/features/chat/renderer/renderer.d.ts.map +1 -1
  167. package/lib/typescript/module/features/chat/renderer/renderer.native.d.ts +3 -1
  168. package/lib/typescript/module/features/chat/renderer/renderer.native.d.ts.map +1 -1
  169. package/lib/typescript/module/native.d.ts +7 -0
  170. package/lib/typescript/module/native.d.ts.map +1 -1
  171. package/lib/typescript/module/utils/price.utils.d.ts +2 -0
  172. package/lib/typescript/module/utils/price.utils.d.ts.map +1 -0
  173. package/lib/typescript/module/utils/theme.utils.d.ts +1 -0
  174. package/lib/typescript/module/utils/theme.utils.d.ts.map +1 -1
  175. package/lib/typescript/module/web.d.ts +7 -0
  176. package/lib/typescript/module/web.d.ts.map +1 -1
  177. package/package.json +1 -1
  178. package/src/features/chat/components/common/clock-icon.native.tsx +19 -0
  179. package/src/features/chat/components/common/clock-icon.tsx +19 -0
  180. package/src/features/chat/components/event/event.model.ts +11 -0
  181. package/src/features/chat/components/event/event.native.tsx +101 -0
  182. package/src/features/chat/components/event/event.tsx +97 -0
  183. package/src/features/chat/components/event/index.ts +2 -0
  184. package/src/features/chat/components/info/index.ts +2 -0
  185. package/src/features/chat/components/info/info.model.ts +6 -0
  186. package/src/features/chat/components/info/info.native.tsx +24 -0
  187. package/src/features/chat/components/info/info.tsx +23 -0
  188. package/src/features/chat/message/index.ts +9 -0
  189. package/src/features/chat/message/message.logic.ts +37 -0
  190. package/src/features/chat/message/message.model.ts +34 -0
  191. package/src/features/chat/message/message.native.tsx +51 -0
  192. package/src/features/chat/message/message.tsx +50 -0
  193. package/src/features/chat/model/chat.model.ts +3 -0
  194. package/src/features/chat/renderer/renderer.native.tsx +14 -6
  195. package/src/features/chat/renderer/renderer.tsx +14 -6
  196. package/src/native.ts +13 -0
  197. package/src/utils/price.utils.ts +10 -0
  198. package/src/utils/theme.utils.ts +3 -0
  199. package/src/web.ts +13 -0
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ClockIcon = ClockIcon;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ function ClockIcon({
9
+ size = 16,
10
+ color = 'currentColor'
11
+ }) {
12
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", {
13
+ width: size,
14
+ height: size,
15
+ viewBox: "0 0 24 24",
16
+ fill: "none",
17
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
18
+ cx: "12",
19
+ cy: "12",
20
+ r: "9",
21
+ stroke: color,
22
+ strokeWidth: 1.8
23
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
24
+ d: "M12 7.5V12l3 1.8",
25
+ stroke: color,
26
+ strokeWidth: 1.8,
27
+ strokeLinecap: "round",
28
+ strokeLinejoin: "round"
29
+ })]
30
+ });
31
+ }
32
+ //# sourceMappingURL=clock-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ClockIcon","size","color","_jsxRuntime","jsxs","width","height","viewBox","fill","children","jsx","cx","cy","r","stroke","strokeWidth","d","strokeLinecap","strokeLinejoin"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/common/clock-icon.tsx"],"mappings":";;;;;;;AAKO,SAASA,SAASA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAG;AAA+B,CAAC,EAAE;EAC/E,oBACE,IAAAC,WAAA,CAAAC,IAAA;IAAKC,KAAK,EAAEJ,IAAK;IAACK,MAAM,EAAEL,IAAK;IAACM,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,gBAC7D,IAAAN,WAAA,CAAAO,GAAA;MAAQC,EAAE,EAAC,IAAI;MAACC,EAAE,EAAC,IAAI;MAACC,CAAC,EAAC,GAAG;MAACC,MAAM,EAAEZ,KAAM;MAACa,WAAW,EAAE;IAAI,CAAE,CAAC,eACjE,IAAAZ,WAAA,CAAAO,GAAA;MACEM,CAAC,EAAC,kBAAkB;MACpBF,MAAM,EAAEZ,KAAM;MACda,WAAW,EAAE,GAAI;MACjBE,aAAa,EAAC,OAAO;MACrBC,cAAc,EAAC;IAAO,CACvB,CAAC;EAAA,CACC,CAAC;AAEV","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ClockIcon = ClockIcon;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ function ClockIcon({
9
+ size = 16,
10
+ color = 'currentColor'
11
+ }) {
12
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("svg", {
13
+ width: size,
14
+ height: size,
15
+ viewBox: "0 0 24 24",
16
+ fill: "none",
17
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
18
+ cx: "12",
19
+ cy: "12",
20
+ r: "9",
21
+ stroke: color,
22
+ strokeWidth: 1.8
23
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
24
+ d: "M12 7.5V12l3 1.8",
25
+ stroke: color,
26
+ strokeWidth: 1.8,
27
+ strokeLinecap: "round",
28
+ strokeLinejoin: "round"
29
+ })]
30
+ });
31
+ }
32
+ //# sourceMappingURL=clock-icon.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ClockIcon","size","color","_jsxRuntime","jsxs","width","height","viewBox","fill","children","jsx","cx","cy","r","stroke","strokeWidth","d","strokeLinecap","strokeLinejoin"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/common/clock-icon.native.tsx"],"mappings":";;;;;;;AAKO,SAASA,SAASA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAG;AAA+B,CAAC,EAAE;EAC/E,oBACE,IAAAC,WAAA,CAAAC,IAAA;IAAKC,KAAK,EAAEJ,IAAK;IAACK,MAAM,EAAEL,IAAK;IAACM,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,gBAC7D,IAAAN,WAAA,CAAAO,GAAA;MAAQC,EAAE,EAAC,IAAI;MAACC,EAAE,EAAC,IAAI;MAACC,CAAC,EAAC,GAAG;MAACC,MAAM,EAAEZ,KAAM;MAACa,WAAW,EAAE;IAAI,CAAE,CAAC,eACjE,IAAAZ,WAAA,CAAAO,GAAA;MACEM,CAAC,EAAC,kBAAkB;MACpBF,MAAM,EAAEZ,KAAM;MACda,WAAW,EAAE,GAAI;MACjBE,aAAa,EAAC,OAAO;MACrBC,cAAc,EAAC;IAAO,CACvB,CAAC;EAAA,CACC,CAAC;AAEV","ignoreList":[]}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Event = Event;
7
+ var _themeUtils = require("../../../../utils/theme.utils.js");
8
+ var _i18nUtils = require("../../../../utils/i18n.utils.js");
9
+ var _priceUtils = require("../../../../utils/price.utils.js");
10
+ var _useExpandableList = require("../../../../utils/use-expandable-list.js");
11
+ var _collapsible = require("../common/collapsible");
12
+ var _clockIcon = require("../common/clock-icon");
13
+ var _chatModel = require("../../model/chat.model.js");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ const FREE_LABEL = 'Free';
16
+ function Event({
17
+ data,
18
+ theme = _chatModel.Theme.Dark,
19
+ language,
20
+ onSelect
21
+ }) {
22
+ const c = (0, _themeUtils.getThemeClasses)(theme);
23
+ const items = Array.isArray(data) ? data : [data];
24
+ const {
25
+ head,
26
+ rest,
27
+ expanded,
28
+ hasMore,
29
+ toggle
30
+ } = (0, _useExpandableList.useExpandableList)(items);
31
+ const renderCard = item => {
32
+ const name = (0, _i18nUtils.resolveText)(item.name, language);
33
+ const location = (0, _i18nUtils.resolveText)(item.location, language);
34
+ const description = item.description ? (0, _i18nUtils.resolveText)(item.description, language) : '';
35
+ const isFree = (0, _priceUtils.isFreePrice)(item.price);
36
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
37
+ className: `rounded-2xl border p-3 ${c.surface} ${c.border}`,
38
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
39
+ className: "flex gap-3",
40
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
41
+ src: item.image,
42
+ alt: name,
43
+ onClick: () => onSelect?.(item),
44
+ className: `h-16 w-16 shrink-0 cursor-pointer rounded-xl object-cover down-sm:h-14 down-sm:w-14 ${c.iconBg}`
45
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
46
+ className: "flex min-w-0 flex-1 cursor-pointer flex-col justify-center gap-1",
47
+ onClick: () => onSelect?.(item),
48
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
49
+ className: "flex items-start justify-between gap-2",
50
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
51
+ className: `flex-1 truncate text-lg font-bold down-sm:text-base ${c.title}`,
52
+ children: name
53
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
54
+ className: `shrink-0 text-lg font-bold down-sm:text-base ${isFree ? c.free : c.price}`,
55
+ children: isFree ? FREE_LABEL : item.price
56
+ })]
57
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
58
+ className: "flex items-center gap-1.5",
59
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_clockIcon.ClockIcon, {
60
+ size: 16,
61
+ color: c.iconColor
62
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
63
+ className: `truncate text-sm down-sm:text-xs ${c.subtitle}`,
64
+ children: [item.time, " \xB7 ", location]
65
+ })]
66
+ }), description ? /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
67
+ className: `line-clamp-2 text-sm down-sm:text-xs ${c.subtitle}`,
68
+ children: description
69
+ }) : null]
70
+ })]
71
+ })
72
+ });
73
+ };
74
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
75
+ children: [head.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
76
+ className: index > 0 ? 'mt-3' : undefined,
77
+ children: renderCard(item)
78
+ }, item.id)), hasMore ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
79
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_collapsible.Collapsible, {
80
+ expanded: expanded,
81
+ children: rest.map(item => /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
82
+ className: "mt-3",
83
+ children: renderCard(item)
84
+ }, item.id))
85
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
86
+ className: "mt-3 flex justify-center",
87
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
88
+ type: "button",
89
+ onClick: toggle,
90
+ className: `rounded-xl border px-4 py-1.5 text-sm font-medium ${c.actionBorder} ${c.actionText}`,
91
+ children: expanded ? 'Show less' : 'Show more'
92
+ })
93
+ })]
94
+ }) : null]
95
+ });
96
+ }
97
+ //# sourceMappingURL=event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_themeUtils","require","_i18nUtils","_priceUtils","_useExpandableList","_collapsible","_clockIcon","_chatModel","_jsxRuntime","FREE_LABEL","Event","data","theme","Theme","Dark","language","onSelect","c","getThemeClasses","items","Array","isArray","head","rest","expanded","hasMore","toggle","useExpandableList","renderCard","item","name","resolveText","location","description","isFree","isFreePrice","price","jsx","className","surface","border","children","jsxs","src","image","alt","onClick","iconBg","title","free","ClockIcon","size","color","iconColor","subtitle","time","map","index","undefined","id","Fragment","Collapsible","type","actionBorder","actionText"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/event/event.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=event.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["features/chat/components/event/event.model.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Event = Event;
7
+ var _reactNative = require("react-native");
8
+ var _themeUtils = require("../../../../utils/theme.utils.js");
9
+ var _i18nUtils = require("../../../../utils/i18n.utils.js");
10
+ var _priceUtils = require("../../../../utils/price.utils.js");
11
+ var _useExpandableList = require("../../../../utils/use-expandable-list.js");
12
+ var _collapsibleNative = require("../common/collapsible.native.js");
13
+ var _clockIconNative = require("../common/clock-icon.native.js");
14
+ var _chatModel = require("../../model/chat.model.js");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ const FREE_LABEL = 'Free';
17
+ function Event({
18
+ data,
19
+ theme = _chatModel.Theme.Dark,
20
+ language,
21
+ onSelect
22
+ }) {
23
+ const c = (0, _themeUtils.getThemeClasses)(theme);
24
+ const items = Array.isArray(data) ? data : [data];
25
+ const {
26
+ head,
27
+ rest,
28
+ expanded,
29
+ hasMore,
30
+ toggle
31
+ } = (0, _useExpandableList.useExpandableList)(items);
32
+ const renderCard = item => {
33
+ const name = (0, _i18nUtils.resolveText)(item.name, language);
34
+ const location = (0, _i18nUtils.resolveText)(item.location, language);
35
+ const description = item.description ? (0, _i18nUtils.resolveText)(item.description, language) : '';
36
+ const isFree = (0, _priceUtils.isFreePrice)(item.price);
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
38
+ className: `rounded-2xl border p-3 ${c.surface} ${c.border}`,
39
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
40
+ className: "flex-row gap-3",
41
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
42
+ onPress: () => onSelect?.(item),
43
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
44
+ accessibilityLabel: name,
45
+ source: {
46
+ uri: item.image
47
+ },
48
+ className: `h-16 w-16 rounded-xl down-sm:h-14 down-sm:w-14 ${c.iconBg}`
49
+ })
50
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
51
+ className: "flex-1 justify-center gap-1",
52
+ onPress: () => onSelect?.(item),
53
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
54
+ className: "flex-row items-start justify-between gap-2",
55
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
56
+ className: `flex-1 text-lg font-bold down-sm:text-base ${c.title}`,
57
+ numberOfLines: 1,
58
+ children: name
59
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
60
+ className: `text-lg font-bold down-sm:text-base ${isFree ? c.free : c.price}`,
61
+ children: isFree ? FREE_LABEL : item.price
62
+ })]
63
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
64
+ className: "flex-row items-center gap-1.5",
65
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_clockIconNative.ClockIcon, {
66
+ size: 16,
67
+ color: c.iconColor
68
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
69
+ className: `flex-1 text-sm down-sm:text-xs ${c.subtitle}`,
70
+ numberOfLines: 1,
71
+ children: [item.time, " \xB7 ", location]
72
+ })]
73
+ }), description ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
74
+ className: `text-sm down-sm:text-xs ${c.subtitle}`,
75
+ numberOfLines: 2,
76
+ children: description
77
+ }) : null]
78
+ })]
79
+ })
80
+ });
81
+ };
82
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
83
+ children: [head.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
84
+ className: index > 0 ? 'mt-3' : undefined,
85
+ children: renderCard(item)
86
+ }, item.id)), hasMore ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
87
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_collapsibleNative.Collapsible, {
88
+ expanded: expanded,
89
+ children: rest.map(item => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
90
+ className: "mt-3",
91
+ children: renderCard(item)
92
+ }, item.id))
93
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
94
+ className: "mt-3 items-center",
95
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
96
+ onPress: toggle,
97
+ className: `rounded-xl border px-4 py-1.5 ${c.actionBorder}`,
98
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
99
+ className: `text-sm font-medium ${c.actionText}`,
100
+ children: expanded ? 'Show less' : 'Show more'
101
+ })
102
+ })
103
+ })]
104
+ }) : null]
105
+ });
106
+ }
107
+ //# sourceMappingURL=event.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_themeUtils","_i18nUtils","_priceUtils","_useExpandableList","_collapsibleNative","_clockIconNative","_chatModel","_jsxRuntime","FREE_LABEL","Event","data","theme","Theme","Dark","language","onSelect","c","getThemeClasses","items","Array","isArray","head","rest","expanded","hasMore","toggle","useExpandableList","renderCard","item","name","resolveText","location","description","isFree","isFreePrice","price","jsx","View","className","surface","border","children","jsxs","Pressable","onPress","Image","accessibilityLabel","source","uri","image","iconBg","Text","title","numberOfLines","free","ClockIcon","size","color","iconColor","subtitle","time","map","index","undefined","id","Fragment","Collapsible","actionBorder","actionText"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/event/event.native.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Event", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _event.Event;
10
+ }
11
+ });
12
+ var _event = require("./event");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_event","require"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/event/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Info", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _info.Info;
10
+ }
11
+ });
12
+ var _info = require("./info");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_info","require"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/info/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Info = Info;
7
+ var _themeUtils = require("../../../../utils/theme.utils.js");
8
+ var _i18nUtils = require("../../../../utils/i18n.utils.js");
9
+ var _chatModel = require("../../model/chat.model.js");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function Info({
12
+ data,
13
+ theme = _chatModel.Theme.Dark,
14
+ language
15
+ }) {
16
+ const c = (0, _themeUtils.getThemeClasses)(theme);
17
+ const item = Array.isArray(data) ? data[0] : data;
18
+ if (!item) return null;
19
+ const name = (0, _i18nUtils.resolveText)(item.name, language);
20
+ const description = (0, _i18nUtils.resolveText)(item.description, language);
21
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
22
+ className: `rounded-2xl border p-4 ${c.surface} ${c.border}`,
23
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
24
+ className: `block text-base font-bold down-sm:text-sm ${c.title}`,
25
+ children: name
26
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
27
+ className: `mt-1 block text-sm leading-relaxed down-sm:text-xs ${c.subtitle}`,
28
+ children: description
29
+ })]
30
+ });
31
+ }
32
+ //# sourceMappingURL=info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_themeUtils","require","_i18nUtils","_chatModel","_jsxRuntime","Info","data","theme","Theme","Dark","language","c","getThemeClasses","item","Array","isArray","name","resolveText","description","jsxs","className","surface","border","children","jsx","title","subtitle"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/info/info.tsx"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAA+C,IAAAG,WAAA,GAAAH,OAAA;AAIxC,SAASI,IAAIA,CAAC;EAAEC,IAAI;EAAEC,KAAK,GAAGC,gBAAK,CAACC,IAAI;EAAEC;AAAuC,CAAC,EAAE;EACzF,MAAMC,CAAC,GAAG,IAAAC,2BAAe,EAACL,KAAK,CAAC;EAChC,MAAMM,IAAI,GAAGC,KAAK,CAACC,OAAO,CAACT,IAAI,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI;EACjD,IAAI,CAACO,IAAI,EAAE,OAAO,IAAI;EAEtB,MAAMG,IAAI,GAAG,IAAAC,sBAAW,EAACJ,IAAI,CAACG,IAAI,EAAEN,QAAQ,CAAC;EAC7C,MAAMQ,WAAW,GAAG,IAAAD,sBAAW,EAACJ,IAAI,CAACK,WAAW,EAAER,QAAQ,CAAC;EAE3D,oBACE,IAAAN,WAAA,CAAAe,IAAA;IAAKC,SAAS,EAAE,0BAA0BT,CAAC,CAACU,OAAO,IAAIV,CAAC,CAACW,MAAM,EAAG;IAAAC,QAAA,gBAChE,IAAAnB,WAAA,CAAAoB,GAAA;MAAMJ,SAAS,EAAE,6CAA6CT,CAAC,CAACc,KAAK,EAAG;MAAAF,QAAA,EAAEP;IAAI,CAAO,CAAC,eACtF,IAAAZ,WAAA,CAAAoB,GAAA;MAAMJ,SAAS,EAAE,sDAAsDT,CAAC,CAACe,QAAQ,EAAG;MAAAH,QAAA,EACjFL;IAAW,CACR,CAAC;EAAA,CACJ,CAAC;AAEV","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=info.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["features/chat/components/info/info.model.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Info = Info;
7
+ var _reactNative = require("react-native");
8
+ var _themeUtils = require("../../../../utils/theme.utils.js");
9
+ var _i18nUtils = require("../../../../utils/i18n.utils.js");
10
+ var _chatModel = require("../../model/chat.model.js");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function Info({
13
+ data,
14
+ theme = _chatModel.Theme.Dark,
15
+ language
16
+ }) {
17
+ const c = (0, _themeUtils.getThemeClasses)(theme);
18
+ const item = Array.isArray(data) ? data[0] : data;
19
+ if (!item) return null;
20
+ const name = (0, _i18nUtils.resolveText)(item.name, language);
21
+ const description = (0, _i18nUtils.resolveText)(item.description, language);
22
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
23
+ className: `rounded-2xl border p-4 ${c.surface} ${c.border}`,
24
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
25
+ className: `text-base font-bold down-sm:text-sm ${c.title}`,
26
+ children: name
27
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
28
+ className: `mt-1 text-sm leading-relaxed down-sm:text-xs ${c.subtitle}`,
29
+ children: description
30
+ })]
31
+ });
32
+ }
33
+ //# sourceMappingURL=info.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_themeUtils","_i18nUtils","_chatModel","_jsxRuntime","Info","data","theme","Theme","Dark","language","c","getThemeClasses","item","Array","isArray","name","resolveText","description","jsxs","View","className","surface","border","children","jsx","Text","title","subtitle"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/info/info.native.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAA+C,IAAAI,WAAA,GAAAJ,OAAA;AAIxC,SAASK,IAAIA,CAAC;EAAEC,IAAI;EAAEC,KAAK,GAAGC,gBAAK,CAACC,IAAI;EAAEC;AAAuC,CAAC,EAAE;EACzF,MAAMC,CAAC,GAAG,IAAAC,2BAAe,EAACL,KAAK,CAAC;EAChC,MAAMM,IAAI,GAAGC,KAAK,CAACC,OAAO,CAACT,IAAI,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI;EACjD,IAAI,CAACO,IAAI,EAAE,OAAO,IAAI;EAEtB,MAAMG,IAAI,GAAG,IAAAC,sBAAW,EAACJ,IAAI,CAACG,IAAI,EAAEN,QAAQ,CAAC;EAC7C,MAAMQ,WAAW,GAAG,IAAAD,sBAAW,EAACJ,IAAI,CAACK,WAAW,EAAER,QAAQ,CAAC;EAE3D,oBACE,IAAAN,WAAA,CAAAe,IAAA,EAACpB,YAAA,CAAAqB,IAAI;IAACC,SAAS,EAAE,0BAA0BV,CAAC,CAACW,OAAO,IAAIX,CAAC,CAACY,MAAM,EAAG;IAAAC,QAAA,gBACjE,IAAApB,WAAA,CAAAqB,GAAA,EAAC1B,YAAA,CAAA2B,IAAI;MAACL,SAAS,EAAE,uCAAuCV,CAAC,CAACgB,KAAK,EAAG;MAAAH,QAAA,EAAER;IAAI,CAAO,CAAC,eAChF,IAAAZ,WAAA,CAAAqB,GAAA,EAAC1B,YAAA,CAAA2B,IAAI;MAACL,SAAS,EAAE,gDAAgDV,CAAC,CAACiB,QAAQ,EAAG;MAAAJ,QAAA,EAC3EN;IAAW,CACR,CAAC;EAAA,CACH,CAAC;AAEX","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "ChatMessageRenderer", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _message.ChatMessageRenderer;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "parseMessage", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _messageLogic.parseMessage;
16
+ }
17
+ });
18
+ var _message = require("./message");
19
+ var _messageLogic = require("./message.logic.js");
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_message","require","_messageLogic"],"sourceRoot":"../../../../../src","sources":["features/chat/message/index.ts"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChatMessageRenderer = ChatMessageRenderer;
7
+ var _react = require("react");
8
+ var _themeUtils = require("../../../utils/theme.utils.js");
9
+ var _renderer = require("../renderer/renderer");
10
+ var _chatModel = require("../model/chat.model.js");
11
+ var _messageLogic = require("./message.logic.js");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function ChatMessageRenderer({
14
+ content,
15
+ blocks,
16
+ language,
17
+ theme = _chatModel.Theme.Dark,
18
+ onAction,
19
+ onSelect,
20
+ actionLabel,
21
+ counts
22
+ }) {
23
+ const c = (0, _themeUtils.getThemeClasses)(theme);
24
+ const segments = (0, _react.useMemo)(() => (0, _messageLogic.parseMessage)(content, blocks), [content, blocks]);
25
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
26
+ className: "flex flex-col gap-2",
27
+ children: segments.map((seg, i) => {
28
+ if (seg.kind === 'text') {
29
+ const text = seg.text.trim();
30
+ if (!text) return null;
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
32
+ className: `whitespace-pre-wrap text-sm leading-relaxed ${c.subtitle}`,
33
+ children: text
34
+ }, i);
35
+ }
36
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_renderer.ChatComponentRenderer, {
37
+ type: seg.block.type,
38
+ data: seg.block.data,
39
+ language: language,
40
+ theme: theme,
41
+ onAction: onAction,
42
+ onSelect: onSelect,
43
+ actionLabel: actionLabel,
44
+ counts: counts
45
+ }, i);
46
+ })
47
+ });
48
+ }
49
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_themeUtils","_renderer","_chatModel","_messageLogic","_jsxRuntime","ChatMessageRenderer","content","blocks","language","theme","Theme","Dark","onAction","onSelect","actionLabel","counts","c","getThemeClasses","segments","useMemo","parseMessage","jsx","className","children","map","seg","i","kind","text","trim","subtitle","ChatComponentRenderer","type","block","data"],"sourceRoot":"../../../../../src","sources":["features/chat/message/message.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAA+C,IAAAK,WAAA,GAAAL,OAAA;AAGxC,SAASM,mBAAmBA,CAAC;EAClCC,OAAO;EACPC,MAAM;EACNC,QAAQ;EACRC,KAAK,GAAGC,gBAAK,CAACC,IAAI;EAClBC,QAAQ;EACRC,QAAQ;EACRC,WAAW;EACXC;AACgB,CAAC,EAAE;EACnB,MAAMC,CAAC,GAAG,IAAAC,2BAAe,EAACR,KAAK,CAAC;EAChC,MAAMS,QAAQ,GAAG,IAAAC,cAAO,EAAC,MAAM,IAAAC,0BAAY,EAACd,OAAO,EAAEC,MAAM,CAAC,EAAE,CAACD,OAAO,EAAEC,MAAM,CAAC,CAAC;EAEhF,oBACE,IAAAH,WAAA,CAAAiB,GAAA;IAAKC,SAAS,EAAC,qBAAqB;IAAAC,QAAA,EACjCL,QAAQ,CAACM,GAAG,CAAC,CAACC,GAAG,EAAEC,CAAC,KAAK;MACxB,IAAID,GAAG,CAACE,IAAI,KAAK,MAAM,EAAE;QACvB,MAAMC,IAAI,GAAGH,GAAG,CAACG,IAAI,CAACC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAACD,IAAI,EAAE,OAAO,IAAI;QACtB,oBACE,IAAAxB,WAAA,CAAAiB,GAAA;UAAcC,SAAS,EAAE,+CAA+CN,CAAC,CAACc,QAAQ,EAAG;UAAAP,QAAA,EAClFK;QAAI,GADIF,CAEL,CAAC;MAEX;MAEA,oBACE,IAAAtB,WAAA,CAAAiB,GAAA,EAACpB,SAAA,CAAA8B,qBAAqB;QAEpBC,IAAI,EAAEP,GAAG,CAACQ,KAAK,CAACD,IAAK;QACrBE,IAAI,EAAET,GAAG,CAACQ,KAAK,CAACC,IAAc;QAC9B1B,QAAQ,EAAEA,QAAS;QACnBC,KAAK,EAAEA,KAAM;QACbG,QAAQ,EAAEA,QAAS;QACnBC,QAAQ,EAAEA,QAAS;QACnBC,WAAW,EAAEA,WAAY;QACzBC,MAAM,EAAEA;MAAO,GARVW,CASN,CAAC;IAEN,CAAC;EAAC,CACC,CAAC;AAEV","ignoreList":[]}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseMessage = parseMessage;
7
+ const PLACEHOLDER = /\[\[([^\]]+)\]\]/g;
8
+ function parseMessage(content, blocks = []) {
9
+ const byKey = new Map();
10
+ for (const block of blocks) {
11
+ for (const key of Object.keys(block)) byKey.set(key, block[key]);
12
+ }
13
+ const segments = [];
14
+ let lastIndex = 0;
15
+ let match;
16
+ PLACEHOLDER.lastIndex = 0;
17
+ while ((match = PLACEHOLDER.exec(content)) !== null) {
18
+ if (match.index > lastIndex) {
19
+ segments.push({
20
+ kind: 'text',
21
+ text: content.slice(lastIndex, match.index)
22
+ });
23
+ }
24
+ const key = match[1].trim();
25
+ const block = byKey.get(key);
26
+ if (block) {
27
+ segments.push({
28
+ kind: 'block',
29
+ key,
30
+ block
31
+ });
32
+ } else {
33
+ segments.push({
34
+ kind: 'text',
35
+ text: match[0]
36
+ });
37
+ }
38
+ lastIndex = PLACEHOLDER.lastIndex;
39
+ }
40
+ if (lastIndex < content.length) {
41
+ segments.push({
42
+ kind: 'text',
43
+ text: content.slice(lastIndex)
44
+ });
45
+ }
46
+ return segments;
47
+ }
48
+ //# sourceMappingURL=message.logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PLACEHOLDER","parseMessage","content","blocks","byKey","Map","block","key","Object","keys","set","segments","lastIndex","match","exec","index","push","kind","text","slice","trim","get","length"],"sourceRoot":"../../../../../src","sources":["features/chat/message/message.logic.ts"],"mappings":";;;;;;AAEA,MAAMA,WAAW,GAAG,mBAAmB;AAEhC,SAASC,YAAYA,CAACC,OAAe,EAAEC,MAAsB,GAAG,EAAE,EAAoB;EAC3F,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAA8B,CAAC;EACpD,KAAK,MAAMC,KAAK,IAAIH,MAAM,EAAE;IAC1B,KAAK,MAAMI,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC,EAAEF,KAAK,CAACM,GAAG,CAACH,GAAG,EAAED,KAAK,CAACC,GAAG,CAAC,CAAC;EAClE;EAEA,MAAMI,QAA0B,GAAG,EAAE;EACrC,IAAIC,SAAS,GAAG,CAAC;EACjB,IAAIC,KAA6B;EAEjCb,WAAW,CAACY,SAAS,GAAG,CAAC;EACzB,OAAO,CAACC,KAAK,GAAGb,WAAW,CAACc,IAAI,CAACZ,OAAO,CAAC,MAAM,IAAI,EAAE;IACnD,IAAIW,KAAK,CAACE,KAAK,GAAGH,SAAS,EAAE;MAC3BD,QAAQ,CAACK,IAAI,CAAC;QAAEC,IAAI,EAAE,MAAM;QAAEC,IAAI,EAAEhB,OAAO,CAACiB,KAAK,CAACP,SAAS,EAAEC,KAAK,CAACE,KAAK;MAAE,CAAC,CAAC;IAC9E;IAEA,MAAMR,GAAG,GAAGM,KAAK,CAAC,CAAC,CAAC,CAACO,IAAI,CAAC,CAAC;IAC3B,MAAMd,KAAK,GAAGF,KAAK,CAACiB,GAAG,CAACd,GAAG,CAAC;IAC5B,IAAID,KAAK,EAAE;MACTK,QAAQ,CAACK,IAAI,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEV,GAAG;QAAED;MAAM,CAAC,CAAC;IAC9C,CAAC,MAAM;MACLK,QAAQ,CAACK,IAAI,CAAC;QAAEC,IAAI,EAAE,MAAM;QAAEC,IAAI,EAAEL,KAAK,CAAC,CAAC;MAAE,CAAC,CAAC;IACjD;IAEAD,SAAS,GAAGZ,WAAW,CAACY,SAAS;EACnC;EAEA,IAAIA,SAAS,GAAGV,OAAO,CAACoB,MAAM,EAAE;IAC9BX,QAAQ,CAACK,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,IAAI,EAAEhB,OAAO,CAACiB,KAAK,CAACP,SAAS;IAAE,CAAC,CAAC;EACjE;EAEA,OAAOD,QAAQ;AACjB","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=message.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["features/chat/message/message.model.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChatMessageRenderer = ChatMessageRenderer;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _themeUtils = require("../../../utils/theme.utils.js");
10
+ var _rendererNative = require("../renderer/renderer.native.js");
11
+ var _chatModel = require("../model/chat.model.js");
12
+ var _messageLogic = require("./message.logic.js");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function ChatMessageRenderer({
15
+ content,
16
+ blocks,
17
+ language,
18
+ theme = _chatModel.Theme.Dark,
19
+ onAction,
20
+ onSelect,
21
+ actionLabel,
22
+ counts
23
+ }) {
24
+ const c = (0, _themeUtils.getThemeClasses)(theme);
25
+ const segments = (0, _react.useMemo)(() => (0, _messageLogic.parseMessage)(content, blocks), [content, blocks]);
26
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
27
+ className: "gap-2",
28
+ children: segments.map((seg, i) => {
29
+ if (seg.kind === 'text') {
30
+ const text = seg.text.trim();
31
+ if (!text) return null;
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
33
+ className: `text-sm leading-relaxed ${c.subtitle}`,
34
+ children: text
35
+ }, i);
36
+ }
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_rendererNative.ChatComponentRenderer, {
38
+ type: seg.block.type,
39
+ data: seg.block.data,
40
+ language: language,
41
+ theme: theme,
42
+ onAction: onAction,
43
+ onSelect: onSelect,
44
+ actionLabel: actionLabel,
45
+ counts: counts
46
+ }, i);
47
+ })
48
+ });
49
+ }
50
+ //# sourceMappingURL=message.native.js.map