@inorain_development/hotel-smarters-chat-ui 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 (241) hide show
  1. package/README.md +110 -0
  2. package/lib/commonjs/features/chat/components/common/cart-icon.native.js +36 -0
  3. package/lib/commonjs/features/chat/components/common/cart-icon.native.js.map +1 -0
  4. package/lib/commonjs/features/chat/components/common/collapsible.js +20 -0
  5. package/lib/commonjs/features/chat/components/common/collapsible.js.map +1 -0
  6. package/lib/commonjs/features/chat/components/common/collapsible.native.js +38 -0
  7. package/lib/commonjs/features/chat/components/common/collapsible.native.js.map +1 -0
  8. package/lib/commonjs/features/chat/components/product/index.js +13 -0
  9. package/lib/commonjs/features/chat/components/product/index.js.map +1 -0
  10. package/lib/commonjs/features/chat/components/product/product.js +83 -0
  11. package/lib/commonjs/features/chat/components/product/product.js.map +1 -0
  12. package/lib/commonjs/features/chat/components/product/product.model.js +6 -0
  13. package/lib/commonjs/features/chat/components/product/product.model.js.map +1 -0
  14. package/lib/commonjs/features/chat/components/product/product.native.js +125 -0
  15. package/lib/commonjs/features/chat/components/product/product.native.js.map +1 -0
  16. package/lib/commonjs/features/chat/components/service/index.js +13 -0
  17. package/lib/commonjs/features/chat/components/service/index.js.map +1 -0
  18. package/lib/commonjs/features/chat/components/service/service.js +83 -0
  19. package/lib/commonjs/features/chat/components/service/service.js.map +1 -0
  20. package/lib/commonjs/features/chat/components/service/service.model.js +6 -0
  21. package/lib/commonjs/features/chat/components/service/service.model.js.map +1 -0
  22. package/lib/commonjs/features/chat/components/service/service.native.js +106 -0
  23. package/lib/commonjs/features/chat/components/service/service.native.js.map +1 -0
  24. package/lib/commonjs/features/chat/index.d.js +6 -0
  25. package/lib/commonjs/features/chat/index.d.js.map +1 -0
  26. package/lib/commonjs/features/chat/index.d.ts.map +1 -0
  27. package/lib/commonjs/features/chat/index.js +46 -0
  28. package/lib/commonjs/features/chat/index.js.map +1 -0
  29. package/lib/commonjs/features/chat/model/chat.model.js +23 -0
  30. package/lib/commonjs/features/chat/model/chat.model.js.map +1 -0
  31. package/lib/commonjs/features/chat/renderer/index.js +13 -0
  32. package/lib/commonjs/features/chat/renderer/index.js.map +1 -0
  33. package/lib/commonjs/features/chat/renderer/renderer.js +32 -0
  34. package/lib/commonjs/features/chat/renderer/renderer.js.map +1 -0
  35. package/lib/commonjs/features/chat/renderer/renderer.native.js +32 -0
  36. package/lib/commonjs/features/chat/renderer/renderer.native.js.map +1 -0
  37. package/lib/commonjs/index.d.js +17 -0
  38. package/lib/commonjs/index.d.js.map +1 -0
  39. package/lib/commonjs/index.d.ts.map +1 -0
  40. package/lib/commonjs/index.js +17 -0
  41. package/lib/commonjs/index.js.map +1 -0
  42. package/lib/commonjs/native.d.js +6 -0
  43. package/lib/commonjs/native.d.js.map +1 -0
  44. package/lib/commonjs/native.d.ts.map +1 -0
  45. package/lib/commonjs/native.js +46 -0
  46. package/lib/commonjs/native.js.map +1 -0
  47. package/lib/commonjs/package.json +1 -0
  48. package/lib/commonjs/styles/global.css +3 -0
  49. package/lib/commonjs/utils/i18n.utils.js +12 -0
  50. package/lib/commonjs/utils/i18n.utils.js.map +1 -0
  51. package/lib/commonjs/utils/theme.utils.js +37 -0
  52. package/lib/commonjs/utils/theme.utils.js.map +1 -0
  53. package/lib/commonjs/utils/use-expandable-list.js +23 -0
  54. package/lib/commonjs/utils/use-expandable-list.js.map +1 -0
  55. package/lib/commonjs/web.d.js +6 -0
  56. package/lib/commonjs/web.d.js.map +1 -0
  57. package/lib/commonjs/web.d.ts.map +1 -0
  58. package/lib/commonjs/web.js +46 -0
  59. package/lib/commonjs/web.js.map +1 -0
  60. package/lib/module/features/chat/components/common/cart-icon.native.js +32 -0
  61. package/lib/module/features/chat/components/common/cart-icon.native.js.map +1 -0
  62. package/lib/module/features/chat/components/common/collapsible.js +16 -0
  63. package/lib/module/features/chat/components/common/collapsible.js.map +1 -0
  64. package/lib/module/features/chat/components/common/collapsible.native.js +34 -0
  65. package/lib/module/features/chat/components/common/collapsible.native.js.map +1 -0
  66. package/lib/module/features/chat/components/product/index.js +4 -0
  67. package/lib/module/features/chat/components/product/index.js.map +1 -0
  68. package/lib/module/features/chat/components/product/product.js +79 -0
  69. package/lib/module/features/chat/components/product/product.js.map +1 -0
  70. package/lib/module/features/chat/components/product/product.model.js +4 -0
  71. package/lib/module/features/chat/components/product/product.model.js.map +1 -0
  72. package/lib/module/features/chat/components/product/product.native.js +121 -0
  73. package/lib/module/features/chat/components/product/product.native.js.map +1 -0
  74. package/lib/module/features/chat/components/service/index.js +4 -0
  75. package/lib/module/features/chat/components/service/index.js.map +1 -0
  76. package/lib/module/features/chat/components/service/service.js +79 -0
  77. package/lib/module/features/chat/components/service/service.js.map +1 -0
  78. package/lib/module/features/chat/components/service/service.model.js +4 -0
  79. package/lib/module/features/chat/components/service/service.model.js.map +1 -0
  80. package/lib/module/features/chat/components/service/service.native.js +102 -0
  81. package/lib/module/features/chat/components/service/service.native.js.map +1 -0
  82. package/lib/module/features/chat/index.d.js +10 -0
  83. package/lib/module/features/chat/index.d.js.map +1 -0
  84. package/lib/module/features/chat/index.d.ts.map +1 -0
  85. package/lib/module/features/chat/index.js +7 -0
  86. package/lib/module/features/chat/index.js.map +1 -0
  87. package/lib/module/features/chat/model/chat.model.js +19 -0
  88. package/lib/module/features/chat/model/chat.model.js.map +1 -0
  89. package/lib/module/features/chat/renderer/index.js +4 -0
  90. package/lib/module/features/chat/renderer/index.js.map +1 -0
  91. package/lib/module/features/chat/renderer/renderer.js +28 -0
  92. package/lib/module/features/chat/renderer/renderer.js.map +1 -0
  93. package/lib/module/features/chat/renderer/renderer.native.js +28 -0
  94. package/lib/module/features/chat/renderer/renderer.native.js.map +1 -0
  95. package/lib/module/index.d.js +13 -0
  96. package/lib/module/index.d.js.map +1 -0
  97. package/lib/module/index.d.ts.map +1 -0
  98. package/lib/module/index.js +13 -0
  99. package/lib/module/index.js.map +1 -0
  100. package/lib/module/native.d.js +11 -0
  101. package/lib/module/native.d.js.map +1 -0
  102. package/lib/module/native.d.ts.map +1 -0
  103. package/lib/module/native.js +7 -0
  104. package/lib/module/native.js.map +1 -0
  105. package/lib/module/package.json +1 -0
  106. package/lib/module/styles/global.css +3 -0
  107. package/lib/module/utils/i18n.utils.js +8 -0
  108. package/lib/module/utils/i18n.utils.js.map +1 -0
  109. package/lib/module/utils/theme.utils.js +33 -0
  110. package/lib/module/utils/theme.utils.js.map +1 -0
  111. package/lib/module/utils/use-expandable-list.js +19 -0
  112. package/lib/module/utils/use-expandable-list.js.map +1 -0
  113. package/lib/module/web.d.js +10 -0
  114. package/lib/module/web.d.js.map +1 -0
  115. package/lib/module/web.d.ts.map +1 -0
  116. package/lib/module/web.js +7 -0
  117. package/lib/module/web.js.map +1 -0
  118. package/lib/typescript/commonjs/features/chat/components/common/cart-icon.native.d.ts +6 -0
  119. package/lib/typescript/commonjs/features/chat/components/common/cart-icon.native.d.ts.map +1 -0
  120. package/lib/typescript/commonjs/features/chat/components/common/collapsible.d.ts +6 -0
  121. package/lib/typescript/commonjs/features/chat/components/common/collapsible.d.ts.map +1 -0
  122. package/lib/typescript/commonjs/features/chat/components/common/collapsible.native.d.ts +6 -0
  123. package/lib/typescript/commonjs/features/chat/components/common/collapsible.native.d.ts.map +1 -0
  124. package/lib/typescript/commonjs/features/chat/components/product/index.d.ts +3 -0
  125. package/lib/typescript/commonjs/features/chat/components/product/index.d.ts.map +1 -0
  126. package/lib/typescript/commonjs/features/chat/components/product/product.d.ts +4 -0
  127. package/lib/typescript/commonjs/features/chat/components/product/product.d.ts.map +1 -0
  128. package/lib/typescript/commonjs/features/chat/components/product/product.model.d.ts +10 -0
  129. package/lib/typescript/commonjs/features/chat/components/product/product.model.d.ts.map +1 -0
  130. package/lib/typescript/commonjs/features/chat/components/product/product.native.d.ts +4 -0
  131. package/lib/typescript/commonjs/features/chat/components/product/product.native.d.ts.map +1 -0
  132. package/lib/typescript/commonjs/features/chat/components/service/index.d.ts +3 -0
  133. package/lib/typescript/commonjs/features/chat/components/service/index.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/features/chat/components/service/service.d.ts +4 -0
  135. package/lib/typescript/commonjs/features/chat/components/service/service.d.ts.map +1 -0
  136. package/lib/typescript/commonjs/features/chat/components/service/service.model.d.ts +10 -0
  137. package/lib/typescript/commonjs/features/chat/components/service/service.model.d.ts.map +1 -0
  138. package/lib/typescript/commonjs/features/chat/components/service/service.native.d.ts +4 -0
  139. package/lib/typescript/commonjs/features/chat/components/service/service.native.d.ts.map +1 -0
  140. package/lib/typescript/commonjs/features/chat/index.d.ts +8 -0
  141. package/lib/typescript/commonjs/features/chat/index.d.ts.map +1 -0
  142. package/lib/typescript/commonjs/features/chat/model/chat.model.d.ts +31 -0
  143. package/lib/typescript/commonjs/features/chat/model/chat.model.d.ts.map +1 -0
  144. package/lib/typescript/commonjs/features/chat/renderer/index.d.ts +2 -0
  145. package/lib/typescript/commonjs/features/chat/renderer/index.d.ts.map +1 -0
  146. package/lib/typescript/commonjs/features/chat/renderer/renderer.d.ts +5 -0
  147. package/lib/typescript/commonjs/features/chat/renderer/renderer.d.ts.map +1 -0
  148. package/lib/typescript/commonjs/features/chat/renderer/renderer.native.d.ts +5 -0
  149. package/lib/typescript/commonjs/features/chat/renderer/renderer.native.d.ts.map +1 -0
  150. package/lib/typescript/commonjs/index.d.ts +11 -0
  151. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  152. package/lib/typescript/commonjs/native.d.ts +8 -0
  153. package/lib/typescript/commonjs/native.d.ts.map +1 -0
  154. package/lib/typescript/commonjs/package.json +1 -0
  155. package/lib/typescript/commonjs/utils/i18n.utils.d.ts +3 -0
  156. package/lib/typescript/commonjs/utils/i18n.utils.d.ts.map +1 -0
  157. package/lib/typescript/commonjs/utils/theme.utils.d.ts +16 -0
  158. package/lib/typescript/commonjs/utils/theme.utils.d.ts.map +1 -0
  159. package/lib/typescript/commonjs/utils/use-expandable-list.d.ts +8 -0
  160. package/lib/typescript/commonjs/utils/use-expandable-list.d.ts.map +1 -0
  161. package/lib/typescript/commonjs/web.d.ts +8 -0
  162. package/lib/typescript/commonjs/web.d.ts.map +1 -0
  163. package/lib/typescript/module/features/chat/components/common/cart-icon.native.d.ts +6 -0
  164. package/lib/typescript/module/features/chat/components/common/cart-icon.native.d.ts.map +1 -0
  165. package/lib/typescript/module/features/chat/components/common/collapsible.d.ts +6 -0
  166. package/lib/typescript/module/features/chat/components/common/collapsible.d.ts.map +1 -0
  167. package/lib/typescript/module/features/chat/components/common/collapsible.native.d.ts +6 -0
  168. package/lib/typescript/module/features/chat/components/common/collapsible.native.d.ts.map +1 -0
  169. package/lib/typescript/module/features/chat/components/product/index.d.ts +3 -0
  170. package/lib/typescript/module/features/chat/components/product/index.d.ts.map +1 -0
  171. package/lib/typescript/module/features/chat/components/product/product.d.ts +4 -0
  172. package/lib/typescript/module/features/chat/components/product/product.d.ts.map +1 -0
  173. package/lib/typescript/module/features/chat/components/product/product.model.d.ts +10 -0
  174. package/lib/typescript/module/features/chat/components/product/product.model.d.ts.map +1 -0
  175. package/lib/typescript/module/features/chat/components/product/product.native.d.ts +4 -0
  176. package/lib/typescript/module/features/chat/components/product/product.native.d.ts.map +1 -0
  177. package/lib/typescript/module/features/chat/components/service/index.d.ts +3 -0
  178. package/lib/typescript/module/features/chat/components/service/index.d.ts.map +1 -0
  179. package/lib/typescript/module/features/chat/components/service/service.d.ts +4 -0
  180. package/lib/typescript/module/features/chat/components/service/service.d.ts.map +1 -0
  181. package/lib/typescript/module/features/chat/components/service/service.model.d.ts +10 -0
  182. package/lib/typescript/module/features/chat/components/service/service.model.d.ts.map +1 -0
  183. package/lib/typescript/module/features/chat/components/service/service.native.d.ts +4 -0
  184. package/lib/typescript/module/features/chat/components/service/service.native.d.ts.map +1 -0
  185. package/lib/typescript/module/features/chat/index.d.ts +8 -0
  186. package/lib/typescript/module/features/chat/index.d.ts.map +1 -0
  187. package/lib/typescript/module/features/chat/model/chat.model.d.ts +31 -0
  188. package/lib/typescript/module/features/chat/model/chat.model.d.ts.map +1 -0
  189. package/lib/typescript/module/features/chat/renderer/index.d.ts +2 -0
  190. package/lib/typescript/module/features/chat/renderer/index.d.ts.map +1 -0
  191. package/lib/typescript/module/features/chat/renderer/renderer.d.ts +5 -0
  192. package/lib/typescript/module/features/chat/renderer/renderer.d.ts.map +1 -0
  193. package/lib/typescript/module/features/chat/renderer/renderer.native.d.ts +5 -0
  194. package/lib/typescript/module/features/chat/renderer/renderer.native.d.ts.map +1 -0
  195. package/lib/typescript/module/index.d.ts +11 -0
  196. package/lib/typescript/module/index.d.ts.map +1 -0
  197. package/lib/typescript/module/native.d.ts +8 -0
  198. package/lib/typescript/module/native.d.ts.map +1 -0
  199. package/lib/typescript/module/package.json +1 -0
  200. package/lib/typescript/module/utils/i18n.utils.d.ts +3 -0
  201. package/lib/typescript/module/utils/i18n.utils.d.ts.map +1 -0
  202. package/lib/typescript/module/utils/theme.utils.d.ts +16 -0
  203. package/lib/typescript/module/utils/theme.utils.d.ts.map +1 -0
  204. package/lib/typescript/module/utils/use-expandable-list.d.ts +8 -0
  205. package/lib/typescript/module/utils/use-expandable-list.d.ts.map +1 -0
  206. package/lib/typescript/module/web.d.ts +8 -0
  207. package/lib/typescript/module/web.d.ts.map +1 -0
  208. package/nativewind-env.d.ts +1 -0
  209. package/package.json +142 -0
  210. package/src/features/chat/components/common/cart-icon.native.tsx +20 -0
  211. package/src/features/chat/components/common/collapsible.native.tsx +28 -0
  212. package/src/features/chat/components/common/collapsible.tsx +13 -0
  213. package/src/features/chat/components/product/index.ts +2 -0
  214. package/src/features/chat/components/product/product.model.ts +10 -0
  215. package/src/features/chat/components/product/product.native.tsx +117 -0
  216. package/src/features/chat/components/product/product.tsx +80 -0
  217. package/src/features/chat/components/service/index.ts +2 -0
  218. package/src/features/chat/components/service/service.model.ts +10 -0
  219. package/src/features/chat/components/service/service.native.tsx +96 -0
  220. package/src/features/chat/components/service/service.tsx +80 -0
  221. package/src/features/chat/index.d.ts +8 -0
  222. package/src/features/chat/index.d.ts.map +1 -0
  223. package/src/features/chat/index.ts +13 -0
  224. package/src/features/chat/model/chat.model.ts +36 -0
  225. package/src/features/chat/renderer/index.ts +1 -0
  226. package/src/features/chat/renderer/renderer.native.tsx +22 -0
  227. package/src/features/chat/renderer/renderer.tsx +22 -0
  228. package/src/index.d.ts +11 -0
  229. package/src/index.d.ts.map +1 -0
  230. package/src/index.ts +10 -0
  231. package/src/native.d.ts +9 -0
  232. package/src/native.d.ts.map +1 -0
  233. package/src/native.ts +13 -0
  234. package/src/styles/global.css +3 -0
  235. package/src/utils/i18n.utils.ts +7 -0
  236. package/src/utils/theme.utils.ts +47 -0
  237. package/src/utils/use-expandable-list.ts +12 -0
  238. package/src/web.d.ts +8 -0
  239. package/src/web.d.ts.map +1 -0
  240. package/src/web.ts +13 -0
  241. package/tailwind.config.js +43 -0
package/README.md ADDED
@@ -0,0 +1,110 @@
1
+ # @inorain_development/hotel-smarters-chat-ui
2
+
3
+ Cross-platform chat UI component library for **React (DOM / admin)** and **React Native
4
+ (mobile + web via `react-native-web`)**, published as an npm module.
5
+
6
+ The chat AI returns a `{ type, data }` payload, and this library renders the matching
7
+ component for that `type` (e.g. `products`, `event`, `event-list`, `location`, order/reservation
8
+ status, hotel event, …). One library, three consumers:
9
+
10
+ | Consumer | Runtime | Imports from | Implementation served |
11
+ | ----------- | -------------------- | ----------------------------- | --------------------- |
12
+ | mobile | React Native (Metro) | `@inorain_development/hotel-smarters-chat-ui/native` | RN (`*.native.tsx`) |
13
+ | web client | React Native Web | `@inorain_development/hotel-smarters-chat-ui/native` | RN (`*.native.tsx`) |
14
+ | admin | React DOM | `@inorain_development/hotel-smarters-chat-ui/web` | DOM (`*.tsx`) |
15
+
16
+ > Why two entry points instead of just `.tsx` / `.native.tsx` extensions: both the web client
17
+ > (react-native-web) and the admin are "web" to a bundler, so both resolve `.tsx`. They need
18
+ > *different* implementations, so the RN vs DOM boundary is drawn by **explicit subpath exports**
19
+ > (`/native` vs `/web`), not by file extensions.
20
+
21
+ ## Status
22
+
23
+ Initial setup only — tooling, configuration and the Feature-Based + Component-Based folder
24
+ structure. **No domain components or dynamic renderer yet** (added once the data models are ready).
25
+
26
+ ## Styling
27
+
28
+ Tailwind on both platforms:
29
+
30
+ - **Web (admin):** `tailwindcss`.
31
+ - **React Native (mobile / web client):** [NativeWind](https://www.nativewind.dev/) v4 — same
32
+ `className="..."` API, compiled to native styles (and to CSS on web).
33
+
34
+ Both share `tailwind.config.js` (exported from the package) so design tokens stay in sync.
35
+
36
+ ## Project structure
37
+
38
+ ```
39
+ src/
40
+ index.ts # root aggregator (defaults to the web/DOM build)
41
+ native.ts # entry for mobile + web client (re-exports *.native impls)
42
+ web.ts # entry for admin (re-exports DOM impls)
43
+ components/ # shared cross-platform UI primitives (Card, Badge, Row, …)
44
+ features/
45
+ chat/
46
+ components/ # domain chat components (Event, Location, ProductList, …)
47
+ renderer/ # LATER: type -> component registry + ChatComponentRenderer
48
+ model/ # feature types (ChatComponentType enum, base payload)
49
+ index.ts
50
+ utils/
51
+ styles/
52
+ global.css # @tailwind directives (imported by web consumers)
53
+ ```
54
+
55
+ ### Component convention
56
+
57
+ Each domain component is a folder with **two `.tsx` files and one model file**:
58
+
59
+ ```
60
+ Event/
61
+ Event.tsx # DOM implementation (admin): div/span + Tailwind
62
+ Event.native.tsx # RN implementation (mobile + web client): View/Text + NativeWind
63
+ Event.model.ts # single model file: prop types + shape of `data` (shared by both)
64
+ Event.logic.ts # optional: shared platform-agnostic logic/helpers
65
+ index.ts # re-export
66
+ ```
67
+
68
+ `web.ts` pulls in `Event.tsx`; `native.ts` pulls in `Event.native.tsx`.
69
+
70
+ ## Consumer setup
71
+
72
+ ### Mobile / web client (React Native)
73
+
74
+ Configure NativeWind per its docs (Metro preset, `jsxImportSource: "nativewind"`, a
75
+ `tailwind.config.js`, and a `global.css` with the `@tailwind` directives), then:
76
+
77
+ ```ts
78
+ import { /* components */ } from '@inorain_development/hotel-smarters-chat-ui/native';
79
+ ```
80
+
81
+ ### Admin (React DOM, Vite / webpack)
82
+
83
+ ```bash
84
+ npm i @inorain_development/hotel-smarters-chat-ui react-native-web nativewind
85
+ npm i -D tailwindcss react-native
86
+ ```
87
+
88
+ 1. Alias `react-native` → `react-native-web` in the bundler; add `.web.tsx`/`.web.js` to resolve
89
+ extensions; define `__DEV__`.
90
+ 2. NativeWind for web: `tailwind.config.js` using `nativewind/preset` with the package added to
91
+ `content` (`./node_modules/@inorain_development/hotel-smarters-chat-ui/**/*.{js,jsx}`); set babel
92
+ `jsxImportSource: "nativewind"`; configure PostCSS + Tailwind; import the global CSS at app entry.
93
+
94
+ ```ts
95
+ import { /* components */ } from '@inorain_development/hotel-smarters-chat-ui/web';
96
+ ```
97
+
98
+ ## Development
99
+
100
+ ```bash
101
+ npm install # install dependencies
102
+ npm run typecheck # tsc --noEmit
103
+ npm run build # react-native-builder-bob -> lib/{commonjs,module,typescript}
104
+ ```
105
+
106
+ ## Publishing (later)
107
+
108
+ ```bash
109
+ npm publish --access public # scoped org package; runs the bob build via prepack
110
+ ```
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CartIcon = CartIcon;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ function CartIcon({
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)("path", {
18
+ d: "M3 4h2l2.4 11.2a1.5 1.5 0 0 0 1.47 1.18h7.86a1.5 1.5 0 0 0 1.47-1.18L21 8H6",
19
+ stroke: color,
20
+ strokeWidth: 1.8,
21
+ strokeLinecap: "round",
22
+ strokeLinejoin: "round"
23
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
24
+ cx: "9.5",
25
+ cy: "20",
26
+ r: "1.4",
27
+ fill: color
28
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", {
29
+ cx: "17",
30
+ cy: "20",
31
+ r: "1.4",
32
+ fill: color
33
+ })]
34
+ });
35
+ }
36
+ //# sourceMappingURL=cart-icon.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CartIcon","size","color","_jsxRuntime","jsxs","width","height","viewBox","fill","children","jsx","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","cx","cy","r"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/common/cart-icon.native.tsx"],"mappings":";;;;;;;AAKO,SAASA,QAAQA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAG;AAA8B,CAAC,EAAE;EAC7E,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;MACEC,CAAC,EAAC,6EAA6E;MAC/EC,MAAM,EAAEV,KAAM;MACdW,WAAW,EAAE,GAAI;MACjBC,aAAa,EAAC,OAAO;MACrBC,cAAc,EAAC;IAAO,CACvB,CAAC,eACF,IAAAZ,WAAA,CAAAO,GAAA;MAAQM,EAAE,EAAC,KAAK;MAACC,EAAE,EAAC,IAAI;MAACC,CAAC,EAAC,KAAK;MAACV,IAAI,EAAEN;IAAM,CAAE,CAAC,eAChD,IAAAC,WAAA,CAAAO,GAAA;MAAQM,EAAE,EAAC,IAAI;MAACC,EAAE,EAAC,IAAI;MAACC,CAAC,EAAC,KAAK;MAACV,IAAI,EAAEN;IAAM,CAAE,CAAC;EAAA,CAC5C,CAAC;AAEV","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Collapsible = Collapsible;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ function Collapsible({
9
+ expanded,
10
+ children
11
+ }) {
12
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
13
+ className: `grid transition-[grid-template-rows] duration-300 ease-in-out ${expanded ? 'grid-rows-[1fr]' : 'grid-rows-[0fr]'}`,
14
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
15
+ className: "min-h-0 overflow-hidden",
16
+ children: children
17
+ })
18
+ });
19
+ }
20
+ //# sourceMappingURL=collapsible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Collapsible","expanded","children","_jsxRuntime","jsx","className"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/common/collapsible.tsx"],"mappings":";;;;;;;AAEO,SAASA,WAAWA,CAAC;EAAEC,QAAQ;EAAEC;AAAqD,CAAC,EAAE;EAC9F,oBACE,IAAAC,WAAA,CAAAC,GAAA;IACEC,SAAS,EAAE,iEACTJ,QAAQ,GAAG,iBAAiB,GAAG,iBAAiB,EAC/C;IAAAC,QAAA,eAEH,IAAAC,WAAA,CAAAC,GAAA;MAAKC,SAAS,EAAC,yBAAyB;MAAAH,QAAA,EAAEA;IAAQ,CAAM;EAAC,CACtD,CAAC;AAEV","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Collapsible = Collapsible;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function Collapsible({
11
+ expanded,
12
+ children
13
+ }) {
14
+ const [height, setHeight] = (0, _react.useState)(0);
15
+ const anim = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
16
+ (0, _react.useEffect)(() => {
17
+ _reactNative.Animated.timing(anim, {
18
+ toValue: expanded ? height : 0,
19
+ duration: 250,
20
+ useNativeDriver: false
21
+ }).start();
22
+ }, [expanded, height, anim]);
23
+ const onLayout = e => {
24
+ const next = e.nativeEvent.layout.height;
25
+ if (next > 0 && next !== height) setHeight(next);
26
+ };
27
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
28
+ style: {
29
+ height: anim,
30
+ overflow: 'hidden'
31
+ },
32
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
33
+ onLayout: onLayout,
34
+ children: children
35
+ })
36
+ });
37
+ }
38
+ //# sourceMappingURL=collapsible.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_jsxRuntime","Collapsible","expanded","children","height","setHeight","useState","anim","useRef","Animated","Value","current","useEffect","timing","toValue","duration","useNativeDriver","start","onLayout","e","next","nativeEvent","layout","jsx","View","style","overflow"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/common/collapsible.native.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAA8C,IAAAE,WAAA,GAAAF,OAAA;AAGvC,SAASG,WAAWA,CAAC;EAAEC,QAAQ;EAAEC;AAAqD,CAAC,EAAE;EAC9F,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC,CAAC;EACvC,MAAMC,IAAI,GAAG,IAAAC,aAAM,EAAC,IAAIC,qBAAQ,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EAElD,IAAAC,gBAAS,EAAC,MAAM;IACdH,qBAAQ,CAACI,MAAM,CAACN,IAAI,EAAE;MACpBO,OAAO,EAAEZ,QAAQ,GAAGE,MAAM,GAAG,CAAC;MAC9BW,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EACZ,CAAC,EAAE,CAACf,QAAQ,EAAEE,MAAM,EAAEG,IAAI,CAAC,CAAC;EAE5B,MAAMW,QAAQ,GAAIC,CAAoB,IAAK;IACzC,MAAMC,IAAI,GAAGD,CAAC,CAACE,WAAW,CAACC,MAAM,CAAClB,MAAM;IACxC,IAAIgB,IAAI,GAAG,CAAC,IAAIA,IAAI,KAAKhB,MAAM,EAAEC,SAAS,CAACe,IAAI,CAAC;EAClD,CAAC;EAED,oBACE,IAAApB,WAAA,CAAAuB,GAAA,EAACxB,YAAA,CAAAU,QAAQ,CAACe,IAAI;IAACC,KAAK,EAAE;MAAErB,MAAM,EAAEG,IAAI;MAAEmB,QAAQ,EAAE;IAAS,CAAE;IAAAvB,QAAA,eACzD,IAAAH,WAAA,CAAAuB,GAAA,EAACxB,YAAA,CAAAyB,IAAI;MAACN,QAAQ,EAAEA,QAAS;MAAAf,QAAA,EAAEA;IAAQ,CAAO;EAAC,CAC9B,CAAC;AAEpB","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Product", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _product.Product;
10
+ }
11
+ });
12
+ var _product = require("./product");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_product","require"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/product/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Product = Product;
7
+ var _react = require("react");
8
+ var _themeUtils = require("../../../../utils/theme.utils.js");
9
+ var _i18nUtils = require("../../../../utils/i18n.utils.js");
10
+ var _useExpandableList = require("../../../../utils/use-expandable-list.js");
11
+ var _collapsible = require("../common/collapsible");
12
+ var _chatModel = require("../../model/chat.model.js");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function Product({
15
+ data,
16
+ theme = _chatModel.Theme.Dark,
17
+ language,
18
+ onSelect
19
+ }) {
20
+ const c = (0, _themeUtils.getThemeClasses)(theme);
21
+ const items = Array.isArray(data) ? data : [data];
22
+ const {
23
+ head,
24
+ rest,
25
+ expanded,
26
+ hasMore,
27
+ toggle
28
+ } = (0, _useExpandableList.useExpandableList)(items);
29
+ const renderRow = item => {
30
+ const name = (0, _i18nUtils.resolveText)(item.name, language);
31
+ const description = (0, _i18nUtils.resolveText)(item.description, language);
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
33
+ className: "flex cursor-pointer items-center gap-3",
34
+ onClick: () => onSelect?.(item),
35
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
36
+ src: item.image,
37
+ alt: name,
38
+ className: `h-14 w-14 rounded-lg object-cover down-sm:h-12 down-sm:w-12 ${c.iconBg}`
39
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
40
+ className: "flex min-w-0 flex-1 flex-col gap-1",
41
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
42
+ className: "flex items-center justify-between gap-2",
43
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
44
+ className: `flex-1 truncate text-base font-bold down-sm:text-sm ${c.title}`,
45
+ children: name
46
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
47
+ className: `shrink-0 text-base font-bold down-sm:text-sm ${c.price}`,
48
+ children: item.price
49
+ })]
50
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
51
+ className: `line-clamp-2 text-sm down-sm:text-xs ${c.subtitle}`,
52
+ children: description
53
+ })]
54
+ })]
55
+ });
56
+ };
57
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
58
+ className: `rounded-2xl border px-3 py-2 ${c.surface} ${c.border}`,
59
+ children: [head.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
60
+ children: [index > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
61
+ className: `my-2.5 h-px ${c.divider}`
62
+ }) : null, renderRow(item)]
63
+ }, item.id)), hasMore ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
64
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_collapsible.Collapsible, {
65
+ expanded: expanded,
66
+ children: rest.map(item => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
67
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
68
+ className: `my-2.5 h-px ${c.divider}`
69
+ }), renderRow(item)]
70
+ }, item.id))
71
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
72
+ className: "mt-2 flex justify-center",
73
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
74
+ type: "button",
75
+ onClick: toggle,
76
+ className: `rounded-xl border px-4 py-1.5 text-sm font-medium ${c.actionBorder} ${c.actionText}`,
77
+ children: expanded ? 'Show less' : 'Show more'
78
+ })
79
+ })]
80
+ }) : null]
81
+ });
82
+ }
83
+ //# sourceMappingURL=product.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_themeUtils","_i18nUtils","_useExpandableList","_collapsible","_chatModel","_jsxRuntime","Product","data","theme","Theme","Dark","language","onSelect","c","getThemeClasses","items","Array","isArray","head","rest","expanded","hasMore","toggle","useExpandableList","renderRow","item","name","resolveText","description","jsxs","className","onClick","children","jsx","src","image","alt","iconBg","title","price","subtitle","surface","border","map","index","Fragment","divider","id","Collapsible","type","actionBorder","actionText"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/product/product.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=product.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["features/chat/components/product/product.model.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Product = Product;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _themeUtils = require("../../../../utils/theme.utils.js");
10
+ var _i18nUtils = require("../../../../utils/i18n.utils.js");
11
+ var _useExpandableList = require("../../../../utils/use-expandable-list.js");
12
+ var _collapsibleNative = require("../common/collapsible.native.js");
13
+ var _cartIconNative = require("../common/cart-icon.native.js");
14
+ var _chatModel = require("../../model/chat.model.js");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ function Product({
17
+ data,
18
+ theme = _chatModel.Theme.Dark,
19
+ language,
20
+ actionLabel = 'Add to cart',
21
+ counts,
22
+ onAction,
23
+ onSelect
24
+ }) {
25
+ const c = (0, _themeUtils.getThemeClasses)(theme);
26
+ const items = Array.isArray(data) ? data : [data];
27
+ const {
28
+ head,
29
+ rest,
30
+ expanded,
31
+ hasMore,
32
+ toggle
33
+ } = (0, _useExpandableList.useExpandableList)(items);
34
+
35
+ // Build an id -> count lookup once so each row stays O(1).
36
+ const countById = (0, _react.useMemo)(() => {
37
+ const map = new Map();
38
+ for (const entry of counts ?? []) map.set(entry.id, entry.count);
39
+ return map;
40
+ }, [counts]);
41
+ const renderRow = item => {
42
+ const name = (0, _i18nUtils.resolveText)(item.name, language);
43
+ const description = (0, _i18nUtils.resolveText)(item.description, language);
44
+ const count = countById.get(item.id) ?? 0;
45
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
46
+ className: "flex-row items-center gap-3",
47
+ onPress: () => onSelect?.(item),
48
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
49
+ accessibilityLabel: name,
50
+ source: {
51
+ uri: item.image
52
+ },
53
+ className: `h-14 w-14 rounded-lg down-sm:h-12 down-sm:w-12 ${c.iconBg}`
54
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
55
+ className: "flex-1 gap-1",
56
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
57
+ className: "flex-row items-center justify-between gap-2",
58
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
59
+ className: `flex-1 text-base font-bold down-sm:text-sm ${c.title}`,
60
+ numberOfLines: 1,
61
+ children: name
62
+ }), count > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
63
+ className: `flex-row items-center gap-1 rounded-full px-2 py-0.5 ${c.iconBg}`,
64
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_cartIconNative.CartIcon, {
65
+ size: 14,
66
+ color: c.iconColor
67
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
68
+ className: `text-xs font-semibold ${c.iconText}`,
69
+ children: count
70
+ })]
71
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
72
+ className: `text-base font-bold down-sm:text-sm ${c.price}`,
73
+ children: item.price
74
+ })]
75
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
76
+ className: "flex-row items-center justify-between gap-2",
77
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
78
+ className: `flex-1 text-sm down-sm:text-xs ${c.subtitle}`,
79
+ numberOfLines: 2,
80
+ children: description
81
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
82
+ accessibilityRole: "button",
83
+ onPress: () => onAction?.(item, _chatModel.ItemAction.Add),
84
+ className: `rounded-xl border px-3 py-1.5 ${c.actionBorder}`,
85
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
86
+ className: `text-sm font-medium ${c.actionText}`,
87
+ children: actionLabel
88
+ })
89
+ })]
90
+ })]
91
+ })]
92
+ });
93
+ };
94
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
95
+ className: "gap-2",
96
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
97
+ className: `rounded-2xl border px-3 py-2 ${c.surface} ${c.border}`,
98
+ children: [head.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
99
+ children: [index > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
100
+ className: `my-2.5 h-px ${c.divider}`
101
+ }) : null, renderRow(item)]
102
+ }, item.id)), hasMore ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
103
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_collapsibleNative.Collapsible, {
104
+ expanded: expanded,
105
+ children: rest.map(item => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
106
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
107
+ className: `my-2.5 h-px ${c.divider}`
108
+ }), renderRow(item)]
109
+ }, item.id))
110
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
111
+ className: "mt-2 items-center",
112
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
113
+ onPress: toggle,
114
+ className: `rounded-xl border px-4 py-1.5 ${c.actionBorder}`,
115
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
116
+ className: `text-sm font-medium ${c.actionText}`,
117
+ children: expanded ? 'Show less' : 'Show more'
118
+ })
119
+ })
120
+ })]
121
+ }) : null]
122
+ })
123
+ });
124
+ }
125
+ //# sourceMappingURL=product.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_themeUtils","_i18nUtils","_useExpandableList","_collapsibleNative","_cartIconNative","_chatModel","_jsxRuntime","Product","data","theme","Theme","Dark","language","actionLabel","counts","onAction","onSelect","c","getThemeClasses","items","Array","isArray","head","rest","expanded","hasMore","toggle","useExpandableList","countById","useMemo","map","Map","entry","set","id","count","renderRow","item","name","resolveText","description","get","jsxs","Pressable","className","onPress","children","jsx","Image","accessibilityLabel","source","uri","image","iconBg","View","Text","title","numberOfLines","CartIcon","size","color","iconColor","iconText","price","subtitle","accessibilityRole","ItemAction","Add","actionBorder","actionText","surface","border","index","Fragment","divider","Collapsible"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/product/product.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, "Service", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _service.Service;
10
+ }
11
+ });
12
+ var _service = require("./service");
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_service","require"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/service/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Service = Service;
7
+ var _react = require("react");
8
+ var _themeUtils = require("../../../../utils/theme.utils.js");
9
+ var _i18nUtils = require("../../../../utils/i18n.utils.js");
10
+ var _useExpandableList = require("../../../../utils/use-expandable-list.js");
11
+ var _collapsible = require("../common/collapsible");
12
+ var _chatModel = require("../../model/chat.model.js");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function Service({
15
+ data,
16
+ theme = _chatModel.Theme.Dark,
17
+ language,
18
+ onSelect
19
+ }) {
20
+ const c = (0, _themeUtils.getThemeClasses)(theme);
21
+ const items = Array.isArray(data) ? data : [data];
22
+ const {
23
+ head,
24
+ rest,
25
+ expanded,
26
+ hasMore,
27
+ toggle
28
+ } = (0, _useExpandableList.useExpandableList)(items);
29
+ const renderRow = item => {
30
+ const name = (0, _i18nUtils.resolveText)(item.name, language);
31
+ const description = (0, _i18nUtils.resolveText)(item.description, language);
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
33
+ className: "flex cursor-pointer items-center gap-3",
34
+ onClick: () => onSelect?.(item),
35
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
36
+ src: item.image,
37
+ alt: name,
38
+ className: `h-14 w-14 rounded-lg object-cover down-sm:h-12 down-sm:w-12 ${c.iconBg}`
39
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
40
+ className: "flex min-w-0 flex-1 flex-col gap-1",
41
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
42
+ className: "flex items-center justify-between gap-2",
43
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
44
+ className: `flex-1 truncate text-base font-bold down-sm:text-sm ${c.title}`,
45
+ children: name
46
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
47
+ className: `shrink-0 text-base font-bold down-sm:text-sm ${c.price}`,
48
+ children: item.price
49
+ })]
50
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
51
+ className: `line-clamp-2 text-sm down-sm:text-xs ${c.subtitle}`,
52
+ children: description
53
+ })]
54
+ })]
55
+ });
56
+ };
57
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
58
+ className: `rounded-2xl border px-3 py-2 ${c.surface} ${c.border}`,
59
+ children: [head.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
60
+ children: [index > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
61
+ className: `my-2.5 h-px ${c.divider}`
62
+ }) : null, renderRow(item)]
63
+ }, item.id)), hasMore ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
64
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_collapsible.Collapsible, {
65
+ expanded: expanded,
66
+ children: rest.map(item => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
67
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
68
+ className: `my-2.5 h-px ${c.divider}`
69
+ }), renderRow(item)]
70
+ }, item.id))
71
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
72
+ className: "mt-2 flex justify-center",
73
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
74
+ type: "button",
75
+ onClick: toggle,
76
+ className: `rounded-xl border px-4 py-1.5 text-sm font-medium ${c.actionBorder} ${c.actionText}`,
77
+ children: expanded ? 'Show less' : 'Show more'
78
+ })
79
+ })]
80
+ }) : null]
81
+ });
82
+ }
83
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_themeUtils","_i18nUtils","_useExpandableList","_collapsible","_chatModel","_jsxRuntime","Service","data","theme","Theme","Dark","language","onSelect","c","getThemeClasses","items","Array","isArray","head","rest","expanded","hasMore","toggle","useExpandableList","renderRow","item","name","resolveText","description","jsxs","className","onClick","children","jsx","src","image","alt","iconBg","title","price","subtitle","surface","border","map","index","Fragment","divider","id","Collapsible","type","actionBorder","actionText"],"sourceRoot":"../../../../../../src","sources":["features/chat/components/service/service.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=service.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["features/chat/components/service/service.model.ts"],"mappings":"","ignoreList":[]}