@qoretechnologies/reqraft 0.10.25 → 0.10.26

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 (310) hide show
  1. package/.claude/CLAUDE.md +52 -23
  2. package/design/COMPACT_ENGINE_REDESIGN.md +156 -0
  3. package/design/FORM_ENGINE_COMPACT_UX_PLAN.md +353 -0
  4. package/dist/components/FocusedEditing/index.d.ts +9 -1
  5. package/dist/components/FocusedEditing/index.d.ts.map +1 -1
  6. package/dist/components/FocusedEditing/index.js +2 -2
  7. package/dist/components/FocusedEditing/index.js.map +1 -1
  8. package/dist/components/composer/Composer.d.ts +108 -0
  9. package/dist/components/composer/Composer.d.ts.map +1 -0
  10. package/dist/components/composer/Composer.js +238 -0
  11. package/dist/components/composer/Composer.js.map +1 -0
  12. package/dist/components/composer/helpers.d.ts +21 -0
  13. package/dist/components/composer/helpers.d.ts.map +1 -0
  14. package/dist/components/composer/helpers.js +75 -0
  15. package/dist/components/composer/helpers.js.map +1 -0
  16. package/dist/components/composer/index.d.ts +3 -0
  17. package/dist/components/composer/index.d.ts.map +1 -0
  18. package/dist/components/composer/index.js +19 -0
  19. package/dist/components/composer/index.js.map +1 -0
  20. package/dist/components/form/engine/CompactRow.d.ts.map +1 -1
  21. package/dist/components/form/engine/CompactRow.js +307 -110
  22. package/dist/components/form/engine/CompactRow.js.map +1 -1
  23. package/dist/components/form/engine/CompactToolbar.d.ts.map +1 -1
  24. package/dist/components/form/engine/CompactToolbar.js +123 -106
  25. package/dist/components/form/engine/CompactToolbar.js.map +1 -1
  26. package/dist/components/form/engine/FormEngine.d.ts +107 -11
  27. package/dist/components/form/engine/FormEngine.d.ts.map +1 -1
  28. package/dist/components/form/engine/FormEngine.js +618 -179
  29. package/dist/components/form/engine/FormEngine.js.map +1 -1
  30. package/dist/components/form/engine/compactRowContext.d.ts +9 -0
  31. package/dist/components/form/engine/compactRowContext.d.ts.map +1 -1
  32. package/dist/components/form/engine/compactRowContext.js.map +1 -1
  33. package/dist/components/form/engine/compactRowStyles.d.ts +7 -3
  34. package/dist/components/form/engine/compactRowStyles.d.ts.map +1 -1
  35. package/dist/components/form/engine/compactRowStyles.js +88 -51
  36. package/dist/components/form/engine/compactRowStyles.js.map +1 -1
  37. package/dist/components/form/engine/compactToolbarContext.d.ts +1 -0
  38. package/dist/components/form/engine/compactToolbarContext.d.ts.map +1 -1
  39. package/dist/components/form/engine/compactToolbarContext.js.map +1 -1
  40. package/dist/components/form/engine/optionActions.d.ts +28 -0
  41. package/dist/components/form/engine/optionActions.d.ts.map +1 -0
  42. package/dist/components/form/engine/optionActions.js +18 -0
  43. package/dist/components/form/engine/optionActions.js.map +1 -0
  44. package/dist/components/form/engine/readFirst.d.ts +63 -2
  45. package/dist/components/form/engine/readFirst.d.ts.map +1 -1
  46. package/dist/components/form/engine/readFirst.js +121 -6
  47. package/dist/components/form/engine/readFirst.js.map +1 -1
  48. package/dist/components/form/engine/rendererTypes.d.ts +35 -0
  49. package/dist/components/form/engine/rendererTypes.d.ts.map +1 -0
  50. package/dist/components/form/engine/rendererTypes.js +63 -0
  51. package/dist/components/form/engine/rendererTypes.js.map +1 -0
  52. package/dist/components/form/engine/variants/VariantCalmTable.d.ts +6 -0
  53. package/dist/components/form/engine/variants/VariantCalmTable.d.ts.map +1 -0
  54. package/dist/components/form/engine/variants/VariantCalmTable.js +94 -0
  55. package/dist/components/form/engine/variants/VariantCalmTable.js.map +1 -0
  56. package/dist/components/form/engine/variants/VariantCards.d.ts +6 -0
  57. package/dist/components/form/engine/variants/VariantCards.d.ts.map +1 -0
  58. package/dist/components/form/engine/variants/VariantCards.js +80 -0
  59. package/dist/components/form/engine/variants/VariantCards.js.map +1 -0
  60. package/dist/components/form/engine/variants/VariantFocus.d.ts +7 -0
  61. package/dist/components/form/engine/variants/VariantFocus.d.ts.map +1 -0
  62. package/dist/components/form/engine/variants/VariantFocus.js +138 -0
  63. package/dist/components/form/engine/variants/VariantFocus.js.map +1 -0
  64. package/dist/components/form/engine/variants/VariantMinimal.d.ts +6 -0
  65. package/dist/components/form/engine/variants/VariantMinimal.d.ts.map +1 -0
  66. package/dist/components/form/engine/variants/VariantMinimal.js +73 -0
  67. package/dist/components/form/engine/variants/VariantMinimal.js.map +1 -0
  68. package/dist/components/form/engine/variants/focusDemo.d.ts +13 -0
  69. package/dist/components/form/engine/variants/focusDemo.d.ts.map +1 -0
  70. package/dist/components/form/engine/variants/focusDemo.js +139 -0
  71. package/dist/components/form/engine/variants/focusDemo.js.map +1 -0
  72. package/dist/components/form/engine/variants/variantModel.d.ts +70 -0
  73. package/dist/components/form/engine/variants/variantModel.d.ts.map +1 -0
  74. package/dist/components/form/engine/variants/variantModel.js +133 -0
  75. package/dist/components/form/engine/variants/variantModel.js.map +1 -0
  76. package/dist/components/form/engine/variants/variantParts.d.ts +79 -0
  77. package/dist/components/form/engine/variants/variantParts.d.ts.map +1 -0
  78. package/dist/components/form/engine/variants/variantParts.js +191 -0
  79. package/dist/components/form/engine/variants/variantParts.js.map +1 -0
  80. package/dist/components/form/expressions/builder/index.d.ts.map +1 -1
  81. package/dist/components/form/expressions/builder/index.js +13 -2
  82. package/dist/components/form/expressions/builder/index.js.map +1 -1
  83. package/dist/components/form/expressions/useExpressions.d.ts.map +1 -1
  84. package/dist/components/form/expressions/useExpressions.js +4 -1
  85. package/dist/components/form/expressions/useExpressions.js.map +1 -1
  86. package/dist/components/form/fields/Field.d.ts.map +1 -1
  87. package/dist/components/form/fields/Field.js +5 -3
  88. package/dist/components/form/fields/Field.js.map +1 -1
  89. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts +2 -1
  90. package/dist/components/form/fields/allowed-values/AllowedValues.d.ts.map +1 -1
  91. package/dist/components/form/fields/allowed-values/AllowedValues.js +8 -26
  92. package/dist/components/form/fields/allowed-values/AllowedValues.js.map +1 -1
  93. package/dist/components/form/fields/auto/AutoFormField.d.ts +3 -0
  94. package/dist/components/form/fields/auto/AutoFormField.d.ts.map +1 -1
  95. package/dist/components/form/fields/auto/AutoFormField.js +42 -8
  96. package/dist/components/form/fields/auto/AutoFormField.js.map +1 -1
  97. package/dist/components/form/fields/binary/Binary.d.ts +15 -0
  98. package/dist/components/form/fields/binary/Binary.d.ts.map +1 -0
  99. package/dist/components/form/fields/binary/Binary.js +74 -0
  100. package/dist/components/form/fields/binary/Binary.js.map +1 -0
  101. package/dist/components/form/fields/boolean/Boolean.js +1 -1
  102. package/dist/components/form/fields/boolean/Boolean.js.map +1 -1
  103. package/dist/components/form/fields/multi-select/MultiSelectFormField.d.ts.map +1 -1
  104. package/dist/components/form/fields/multi-select/MultiSelectFormField.js +5 -4
  105. package/dist/components/form/fields/multi-select/MultiSelectFormField.js.map +1 -1
  106. package/dist/components/form/fields/select/Select.d.ts.map +1 -1
  107. package/dist/components/form/fields/select/Select.js +29 -12
  108. package/dist/components/form/fields/select/Select.js.map +1 -1
  109. package/dist/components/form/fields/select/SelectCollection.d.ts +8 -2
  110. package/dist/components/form/fields/select/SelectCollection.d.ts.map +1 -1
  111. package/dist/components/form/fields/select/SelectCollection.js +52 -16
  112. package/dist/components/form/fields/select/SelectCollection.js.map +1 -1
  113. package/dist/components/form/index.d.ts +2 -0
  114. package/dist/components/form/index.d.ts.map +1 -1
  115. package/dist/components/form/index.js +2 -0
  116. package/dist/components/form/index.js.map +1 -1
  117. package/dist/components/imageLightbox/ImageLightbox.d.ts +21 -0
  118. package/dist/components/imageLightbox/ImageLightbox.d.ts.map +1 -0
  119. package/dist/components/imageLightbox/ImageLightbox.js +169 -0
  120. package/dist/components/imageLightbox/ImageLightbox.js.map +1 -0
  121. package/dist/components/imageLightbox/index.d.ts +2 -0
  122. package/dist/components/imageLightbox/index.d.ts.map +1 -0
  123. package/dist/components/imageLightbox/index.js +18 -0
  124. package/dist/components/imageLightbox/index.js.map +1 -0
  125. package/dist/components/searchFilterBar/SearchFilterBar.d.ts +33 -0
  126. package/dist/components/searchFilterBar/SearchFilterBar.d.ts.map +1 -0
  127. package/dist/components/searchFilterBar/SearchFilterBar.js +76 -0
  128. package/dist/components/searchFilterBar/SearchFilterBar.js.map +1 -0
  129. package/dist/components/searchFilterBar/index.d.ts +2 -0
  130. package/dist/components/searchFilterBar/index.d.ts.map +1 -0
  131. package/dist/components/searchFilterBar/index.js +18 -0
  132. package/dist/components/searchFilterBar/index.js.map +1 -0
  133. package/dist/components/supportTicket/AttachmentChips.d.ts +10 -0
  134. package/dist/components/supportTicket/AttachmentChips.d.ts.map +1 -0
  135. package/dist/components/supportTicket/AttachmentChips.js +122 -0
  136. package/dist/components/supportTicket/AttachmentChips.js.map +1 -0
  137. package/dist/components/supportTicket/InterfaceReferenceTags.d.ts +43 -0
  138. package/dist/components/supportTicket/InterfaceReferenceTags.d.ts.map +1 -0
  139. package/dist/components/supportTicket/InterfaceReferenceTags.js +31 -0
  140. package/dist/components/supportTicket/InterfaceReferenceTags.js.map +1 -0
  141. package/dist/components/supportTicket/ReferencePicker.d.ts +87 -0
  142. package/dist/components/supportTicket/ReferencePicker.d.ts.map +1 -0
  143. package/dist/components/supportTicket/ReferencePicker.js +295 -0
  144. package/dist/components/supportTicket/ReferencePicker.js.map +1 -0
  145. package/dist/components/supportTicket/TicketHeader.d.ts +86 -0
  146. package/dist/components/supportTicket/TicketHeader.d.ts.map +1 -0
  147. package/dist/components/supportTicket/TicketHeader.js +149 -0
  148. package/dist/components/supportTicket/TicketHeader.js.map +1 -0
  149. package/dist/components/supportTicket/TicketMetaTags.d.ts +32 -0
  150. package/dist/components/supportTicket/TicketMetaTags.d.ts.map +1 -0
  151. package/dist/components/supportTicket/TicketMetaTags.js +21 -0
  152. package/dist/components/supportTicket/TicketMetaTags.js.map +1 -0
  153. package/dist/components/supportTicket/TicketReplyBox.d.ts +63 -0
  154. package/dist/components/supportTicket/TicketReplyBox.d.ts.map +1 -0
  155. package/dist/components/supportTicket/TicketReplyBox.js +115 -0
  156. package/dist/components/supportTicket/TicketReplyBox.js.map +1 -0
  157. package/dist/components/supportTicket/attachmentAccess.d.ts +37 -0
  158. package/dist/components/supportTicket/attachmentAccess.d.ts.map +1 -0
  159. package/dist/components/supportTicket/attachmentAccess.js +132 -0
  160. package/dist/components/supportTicket/attachmentAccess.js.map +1 -0
  161. package/dist/components/supportTicket/fileToAttachment.d.ts +9 -0
  162. package/dist/components/supportTicket/fileToAttachment.d.ts.map +1 -0
  163. package/dist/components/supportTicket/fileToAttachment.js +28 -0
  164. package/dist/components/supportTicket/fileToAttachment.js.map +1 -0
  165. package/dist/components/supportTicket/index.d.ts +11 -0
  166. package/dist/components/supportTicket/index.d.ts.map +1 -0
  167. package/dist/components/supportTicket/index.js +27 -0
  168. package/dist/components/supportTicket/index.js.map +1 -0
  169. package/dist/components/supportTicket/meta.d.ts +71 -0
  170. package/dist/components/supportTicket/meta.d.ts.map +1 -0
  171. package/dist/components/supportTicket/meta.js +115 -0
  172. package/dist/components/supportTicket/meta.js.map +1 -0
  173. package/dist/components/supportTicket/ticketModel.d.ts +102 -0
  174. package/dist/components/supportTicket/ticketModel.d.ts.map +1 -0
  175. package/dist/components/supportTicket/ticketModel.js +3 -0
  176. package/dist/components/supportTicket/ticketModel.js.map +1 -0
  177. package/dist/components/ticketReferences/TicketReferences.d.ts +52 -0
  178. package/dist/components/ticketReferences/TicketReferences.d.ts.map +1 -0
  179. package/dist/components/ticketReferences/TicketReferences.js +492 -0
  180. package/dist/components/ticketReferences/TicketReferences.js.map +1 -0
  181. package/dist/components/ticketReferences/index.d.ts +3 -0
  182. package/dist/components/ticketReferences/index.d.ts.map +1 -0
  183. package/dist/components/ticketReferences/index.js +6 -0
  184. package/dist/components/ticketReferences/index.js.map +1 -0
  185. package/dist/components/ticketThread/TicketThread.d.ts +57 -0
  186. package/dist/components/ticketThread/TicketThread.d.ts.map +1 -0
  187. package/dist/components/ticketThread/TicketThread.js +299 -0
  188. package/dist/components/ticketThread/TicketThread.js.map +1 -0
  189. package/dist/components/ticketThread/index.d.ts +3 -0
  190. package/dist/components/ticketThread/index.d.ts.map +1 -0
  191. package/dist/components/ticketThread/index.js +7 -0
  192. package/dist/components/ticketThread/index.js.map +1 -0
  193. package/dist/helpers/common.d.ts +5 -0
  194. package/dist/helpers/common.d.ts.map +1 -1
  195. package/dist/helpers/common.js +20 -1
  196. package/dist/helpers/common.js.map +1 -1
  197. package/dist/helpers/scrollbar.d.ts +2 -0
  198. package/dist/helpers/scrollbar.d.ts.map +1 -0
  199. package/dist/helpers/scrollbar.js +25 -0
  200. package/dist/helpers/scrollbar.js.map +1 -0
  201. package/dist/index.d.ts +8 -1
  202. package/dist/index.d.ts.map +1 -1
  203. package/dist/index.js +10 -1
  204. package/dist/index.js.map +1 -1
  205. package/dist/providers/StorageProvider.d.ts +13 -0
  206. package/dist/providers/StorageProvider.d.ts.map +1 -1
  207. package/dist/providers/StorageProvider.js +29 -5
  208. package/dist/providers/StorageProvider.js.map +1 -1
  209. package/package.json +6 -5
  210. package/src/components/FocusedEditing/index.tsx +17 -2
  211. package/src/components/composer/Composer.stories.tsx +238 -0
  212. package/src/components/composer/Composer.tsx +545 -0
  213. package/src/components/composer/helpers.ts +74 -0
  214. package/src/components/composer/index.ts +2 -0
  215. package/src/components/dpqlEditor/DpqlEditor.stories.tsx +74 -2
  216. package/src/components/form/engine/CompactRow.tsx +561 -283
  217. package/src/components/form/engine/CompactToolbar.tsx +216 -182
  218. package/src/components/form/engine/FormEngine.stories.tsx +1736 -162
  219. package/src/components/form/engine/FormEngine.tsx +886 -170
  220. package/src/components/form/engine/FormEngineRemote.stories.tsx +377 -0
  221. package/src/components/form/engine/_structuredData/StructuredDataView.stories.tsx +8 -0
  222. package/src/components/form/engine/compactRowContext.ts +14 -0
  223. package/src/components/form/engine/compactRowStyles.ts +273 -146
  224. package/src/components/form/engine/compactToolbarContext.ts +1 -0
  225. package/src/components/form/engine/optionActions.ts +40 -0
  226. package/src/components/form/engine/readFirst.ts +169 -10
  227. package/src/components/form/engine/rendererTypes.ts +55 -0
  228. package/src/components/form/engine/variants/FormEngineVariants.stories.tsx +159 -0
  229. package/src/components/form/engine/variants/VariantCalmTable.tsx +242 -0
  230. package/src/components/form/engine/variants/VariantCards.tsx +212 -0
  231. package/src/components/form/engine/variants/VariantFocus.tsx +382 -0
  232. package/src/components/form/engine/variants/VariantMinimal.tsx +170 -0
  233. package/src/components/form/engine/variants/focusDemo.ts +145 -0
  234. package/src/components/form/engine/variants/variantModel.ts +216 -0
  235. package/src/components/form/engine/variants/variantParts.tsx +313 -0
  236. package/src/components/form/expressions/ExpressionField.stories.tsx +84 -2
  237. package/src/components/form/expressions/builder/ExpressionBuilder.stories.tsx +213 -19
  238. package/src/components/form/expressions/builder/index.tsx +12 -1
  239. package/src/components/form/expressions/useExpressions.ts +4 -1
  240. package/src/components/form/fields/Field.stories.tsx +40 -0
  241. package/src/components/form/fields/Field.tsx +10 -1
  242. package/src/components/form/fields/allowed-values/AllowedValues.tsx +13 -36
  243. package/src/components/form/fields/array/ArrayAutoField.stories.tsx +64 -0
  244. package/src/components/form/fields/auto/AutoFormField.stories.tsx +146 -2
  245. package/src/components/form/fields/auto/AutoFormField.tsx +42 -1
  246. package/src/components/form/fields/binary/Binary.stories.tsx +122 -0
  247. package/src/components/form/fields/binary/Binary.tsx +81 -0
  248. package/src/components/form/fields/boolean/Boolean.stories.tsx +58 -0
  249. package/src/components/form/fields/boolean/Boolean.tsx +1 -1
  250. package/src/components/form/fields/byte-size/ByteSize.stories.tsx +24 -0
  251. package/src/components/form/fields/color/Color.stories.tsx +30 -0
  252. package/src/components/form/fields/cron/Cron.stories.tsx +8 -0
  253. package/src/components/form/fields/date/Date.stories.tsx +22 -0
  254. package/src/components/form/fields/file/File.stories.tsx +48 -0
  255. package/src/components/form/fields/long-string/LongString.stories.tsx +24 -0
  256. package/src/components/form/fields/markdown/Markdown.stories.tsx +8 -0
  257. package/src/components/form/fields/multi-select/MultiSelectFormField.tsx +14 -10
  258. package/src/components/form/fields/number/Number.stories.tsx +31 -0
  259. package/src/components/form/fields/object/Object.stories.tsx +88 -0
  260. package/src/components/form/fields/radio-group/RadioGroup.stories.tsx +24 -0
  261. package/src/components/form/fields/rich-text/RichText.stories.tsx +23 -0
  262. package/src/components/form/fields/schema-definition/SchemaDefinitionField.stories.tsx +72 -0
  263. package/src/components/form/fields/select/Select.stories.tsx +108 -0
  264. package/src/components/form/fields/select/Select.tsx +38 -12
  265. package/src/components/form/fields/select/SelectCollection.tsx +78 -17
  266. package/src/components/form/fields/string/String.stories.tsx +16 -0
  267. package/src/components/form/fields/template/TemplateField.stories.tsx +160 -0
  268. package/src/components/form/fields/url/Url.stories.tsx +24 -0
  269. package/src/components/form/index.tsx +2 -0
  270. package/src/components/imageLightbox/ImageLightbox.stories.tsx +238 -0
  271. package/src/components/imageLightbox/ImageLightbox.tsx +236 -0
  272. package/src/components/imageLightbox/index.ts +1 -0
  273. package/src/components/log/Log.stories.tsx +96 -0
  274. package/src/components/menu/Menu.stories.tsx +54 -0
  275. package/src/components/qonsoleSmartInput/QonsoleSmartInput.stories.tsx +83 -37
  276. package/src/components/searchFilterBar/SearchFilterBar.tsx +131 -0
  277. package/src/components/searchFilterBar/index.ts +1 -0
  278. package/src/components/smartEditor/SmartEditor.stories.tsx +32 -0
  279. package/src/components/supportTicket/AttachmentChips.stories.tsx +171 -0
  280. package/src/components/supportTicket/AttachmentChips.tsx +147 -0
  281. package/src/components/supportTicket/InterfaceReferenceTags.stories.tsx +171 -0
  282. package/src/components/supportTicket/InterfaceReferenceTags.tsx +96 -0
  283. package/src/components/supportTicket/ReferencePicker.stories.tsx +519 -0
  284. package/src/components/supportTicket/ReferencePicker.tsx +563 -0
  285. package/src/components/supportTicket/TicketConversation.stories.tsx +121 -0
  286. package/src/components/supportTicket/TicketHeader.stories.tsx +183 -0
  287. package/src/components/supportTicket/TicketHeader.tsx +247 -0
  288. package/src/components/supportTicket/TicketMetaTags.stories.tsx +103 -0
  289. package/src/components/supportTicket/TicketMetaTags.tsx +85 -0
  290. package/src/components/supportTicket/TicketReplyBox.stories.tsx +351 -0
  291. package/src/components/supportTicket/TicketReplyBox.tsx +146 -0
  292. package/src/components/supportTicket/attachmentAccess.ts +97 -0
  293. package/src/components/supportTicket/fileToAttachment.ts +24 -0
  294. package/src/components/supportTicket/index.ts +10 -0
  295. package/src/components/supportTicket/meta.ts +185 -0
  296. package/src/components/supportTicket/ticketModel.ts +131 -0
  297. package/src/components/ticketReferences/TicketReferences.stories.tsx +315 -0
  298. package/src/components/ticketReferences/TicketReferences.tsx +886 -0
  299. package/src/components/ticketReferences/index.ts +2 -0
  300. package/src/components/ticketThread/TicketThread.stories.tsx +828 -0
  301. package/src/components/ticketThread/TicketThread.tsx +704 -0
  302. package/src/components/ticketThread/index.ts +6 -0
  303. package/src/helpers/common.ts +19 -0
  304. package/src/helpers/scrollbar.ts +32 -0
  305. package/src/hooks/useFetch/useFetch.stories.tsx +30 -0
  306. package/src/hooks/useStorage/useStorage.stories.tsx +82 -0
  307. package/src/hooks/useWebSocket/useWebsocket.stories.tsx +127 -1
  308. package/src/index.tsx +8 -1
  309. package/src/providers/StorageProvider.tsx +30 -4
  310. package/src/stores/currentUser/currentUser.stories.tsx +49 -0
@@ -0,0 +1,299 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
7
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
8
+ if (ar || !(i in from)) {
9
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
10
+ ar[i] = from[i];
11
+ }
12
+ }
13
+ return to.concat(ar || Array.prototype.slice.call(from));
14
+ };
15
+ var __importDefault = (this && this.__importDefault) || function (mod) {
16
+ return (mod && mod.__esModule) ? mod : { "default": mod };
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.TicketThread = exports.ticketMessageDomId = void 0;
20
+ var jsx_runtime_1 = require("react/jsx-runtime");
21
+ var reqore_1 = require("@qoretechnologies/reqore");
22
+ var colors_1 = require("@qoretechnologies/reqore/dist/helpers/colors");
23
+ var polished_1 = require("polished");
24
+ var react_1 = require("react");
25
+ var react_markdown_1 = __importDefault(require("react-markdown"));
26
+ var styled_components_1 = __importDefault(require("styled-components"));
27
+ var common_1 = require("../../helpers/common");
28
+ var imageLightbox_1 = require("../imageLightbox");
29
+ var supportTicket_1 = require("../supportTicket");
30
+ var AUTHOR_META = {
31
+ customer: { icon: 'User3Line' },
32
+ staff: { icon: 'CustomerService2Line' },
33
+ system: { icon: 'InformationLine' },
34
+ };
35
+ // Both sides share one accent: the side, the avatar and the author label already
36
+ // carry who is speaking, which frees colour to mean "internal note" and nothing
37
+ // else. `custom1` is a theme slot, so each host app supplies its own hue.
38
+ var ACCENT = { main: 'custom1' };
39
+ /** Avatar glyph; an internal note carries the "not visible to the customer" eye. */
40
+ var authorIcon = function (message) {
41
+ return message.internal ? 'EyeOffLine' : AUTHOR_META[message.author_type].icon;
42
+ };
43
+ /** The label above a message. The customer view masks staff identity as "Qorus
44
+ * Support"; the staff view shows the real author with a role prefix. Internal
45
+ * notes always label as "Internal note" regardless of viewer. */
46
+ var authorLabel = function (message, viewerRole) {
47
+ if (message.internal) {
48
+ return 'Internal note';
49
+ }
50
+ if (viewerRole === 'customer') {
51
+ return message.author_type === 'customer' ? 'You' : 'Qorus Support';
52
+ }
53
+ return "".concat(message.author_type === 'staff' ? 'Support' : 'Customer', " \u00B7 ").concat(message.author_id);
54
+ };
55
+ /**
56
+ * DOM id of a message in the rendered thread.
57
+ *
58
+ * Exported rather than inlined so that anything wanting to reveal a message — a
59
+ * "show in chat" action on a reference, a deep link — derives the id from the same
60
+ * function the thread renders with. Two copies of the same template string is exactly
61
+ * how that contract silently breaks when one side is renamed.
62
+ */
63
+ var ticketMessageDomId = function (messageId) { return "ticket-message-".concat(messageId); };
64
+ exports.ticketMessageDomId = ticketMessageDomId;
65
+ var StyledThread = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: 12px;\n width: 100%;\n\n /*\n * A thread too short to fill its scroller sits at the BOTTOM, against the\n * composer, the way every chat surface behaves \u2014 otherwise the first reply\n * floats at the top of a tall drawer with dead space beneath it, and each new\n * message appears further from the box you just typed in.\n *\n * The auto top margin does the pushing rather than 'justify-content: flex-end':\n * with flex-end, once the thread outgrows the scroller the overflow spills past\n * the top edge and those first messages cannot be scrolled back into view. An\n * auto margin only consumes FREE space, so it collapses to zero the moment the\n * content overflows and normal scrolling is preserved.\n *\n * min-height needs a definite height on the scroll parent to resolve; where a\n * consumer doesn't provide one it simply computes to auto and the thread keeps\n * its natural top-aligned flow.\n */\n min-height: 100%;\n\n > *:first-child {\n margin-top: auto;\n }\n"], ["\n display: flex;\n flex-direction: column;\n gap: 12px;\n width: 100%;\n\n /*\n * A thread too short to fill its scroller sits at the BOTTOM, against the\n * composer, the way every chat surface behaves \u2014 otherwise the first reply\n * floats at the top of a tall drawer with dead space beneath it, and each new\n * message appears further from the box you just typed in.\n *\n * The auto top margin does the pushing rather than 'justify-content: flex-end':\n * with flex-end, once the thread outgrows the scroller the overflow spills past\n * the top edge and those first messages cannot be scrolled back into view. An\n * auto margin only consumes FREE space, so it collapses to zero the moment the\n * content overflows and normal scrolling is preserved.\n *\n * min-height needs a definite height on the scroll parent to resolve; where a\n * consumer doesn't provide one it simply computes to auto and the thread keeps\n * its natural top-aligned flow.\n */\n min-height: 100%;\n\n > *:first-child {\n margin-top: auto;\n }\n"])));
66
+ // The loading placeholder: pulsing skeleton "bubbles" alternating sides, so the
67
+ // wait previews the thread it's about to become rather than a bare spinner. Built
68
+ // from reqore's `ReqoreSkeleton` — the shape (avatar circle + a short label line +
69
+ // N body lines) mirrors a real message. Sizes vary so it doesn't read as a grid.
70
+ var SKELETON_BUBBLES = [
71
+ { self: false, lines: 2, width: 58 },
72
+ { self: true, lines: 1, width: 42 },
73
+ { self: true, lines: 3, width: 64 },
74
+ { self: false, lines: 2, width: 50 },
75
+ { self: false, lines: 1, width: 46 },
76
+ { self: true, lines: 2, width: 60 },
77
+ { self: false, lines: 3, width: 54 },
78
+ ];
79
+ /*
80
+ * The skeleton fills the height from the TOP, unlike a real thread, which sits at the
81
+ * bottom against the composer. The bottom-pin is right for real messages — a short
82
+ * conversation belongs next to the box you type in — but a placeholder inheriting it
83
+ * clusters a few bubbles at the bottom under a large empty gap, which reads as a
84
+ * broken render rather than "loading". A loading skeleton grows top-down, the
85
+ * universal convention, so it occupies the space it's given no matter how tall.
86
+ */
87
+ var StyledSkeletonThread = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: 12px;\n width: 100%;\n min-height: 100%;\n"], ["\n display: flex;\n flex-direction: column;\n gap: 12px;\n width: 100%;\n min-height: 100%;\n"])));
88
+ var StyledSkeletonRow = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: flex;\n gap: 10px;\n align-items: flex-start;\n justify-content: ", ";\n"], ["\n display: flex;\n gap: 10px;\n align-items: flex-start;\n justify-content: ", ";\n"])), function (_a) {
89
+ var $self = _a.$self;
90
+ return ($self ? 'flex-end' : 'flex-start');
91
+ });
92
+ // Content stays left-aligned even on a right-side row — like a real bubble, where
93
+ // the label sits top-left however the bubble is aligned; the row positions the
94
+ // whole block, this just lays the lines out within it.
95
+ var StyledSkeletonLines = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: 6px;\n align-items: flex-start;\n"], ["\n display: flex;\n flex-direction: column;\n gap: 6px;\n align-items: flex-start;\n"])));
96
+ var ConversationSkeleton = function () { return ((0, jsx_runtime_1.jsx)(StyledSkeletonThread, { "aria-busy": 'true', "aria-label": 'Loading conversation', children: SKELETON_BUBBLES.map(function (bubble, index) {
97
+ var avatar = (0, jsx_runtime_1.jsx)(reqore_1.ReqoreSkeleton, { circle: true, width: '30px', height: '30px' });
98
+ return ((0, jsx_runtime_1.jsxs)(StyledSkeletonRow, { "$self": bubble.self, children: [!bubble.self && avatar, (0, jsx_runtime_1.jsxs)(StyledSkeletonLines, { style: { width: "".concat(bubble.width, "%") }, children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreSkeleton, { width: '38%', height: '10px' }), Array.from({ length: bubble.lines }).map(function (_, line) { return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreSkeleton, { width: line === bubble.lines - 1 ? '72%' : '100%', height: '8px' }, line)); })] }), bubble.self && avatar] }, index));
99
+ }) })); };
100
+ // Debosses the empty state: washes the icon + title back with opacity (kept
101
+ // theme-agnostic) and adds a faint light edge below, so "No messages yet" reads
102
+ // as pressed into the surface rather than announced.
103
+ var StyledEmpty = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n /*\n * Centre the placeholder in the space it's given rather than letting it sit at the\n * top. Like the thread, this fills its scroll parent (min-height: 100%, which needs a\n * definite height to resolve \u2014 the drawer body provides one; where a consumer doesn't,\n * it collapses to auto and the state keeps its natural top-aligned flow).\n */\n min-height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n .reqore-icon {\n opacity: 0.28;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n opacity: 0.4;\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.07);\n }\n"], ["\n /*\n * Centre the placeholder in the space it's given rather than letting it sit at the\n * top. Like the thread, this fills its scroll parent (min-height: 100%, which needs a\n * definite height to resolve \u2014 the drawer body provides one; where a consumer doesn't,\n * it collapses to auto and the state keeps its natural top-aligned flow).\n */\n min-height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n .reqore-icon {\n opacity: 0.28;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n opacity: 0.4;\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.07);\n }\n"])));
104
+ // System messages read as a centered muted note between cards; the nested rule
105
+ // flattens react-markdown's own <p> margins so it sits on one line.
106
+ var StyledSystemRow = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n font-size: 11px;\n opacity: 0.55;\n text-align: center;\n p {\n margin: 0;\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n font-size: 11px;\n opacity: 0.55;\n text-align: center;\n p {\n margin: 0;\n }\n"])));
107
+ // The message body, washed a step below the bright author name in the card's
108
+ // header so the two read as different things; in-body **bold** lifts back toward
109
+ // full strength as emphasis. Every colour derives from the active Reqore theme
110
+ // rather than a hardcoded hex, so the thread reads correctly on any host app.
111
+ var StyledMarkdown = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n color: ", ";\n word-break: break-word;\n\n > *:first-child {\n margin-top: 0;\n }\n > *:last-child {\n margin-bottom: 0;\n }\n\n p {\n margin: 0 0 6px;\n }\n strong {\n color: ", ";\n font-weight: 600;\n }\n ul,\n ol {\n margin: 4px 0;\n padding-left: 18px;\n }\n li {\n margin: 2px 0;\n }\n code {\n font-family: monospace;\n background: ", ";\n padding: 1px 5px;\n border-radius: 4px;\n }\n pre {\n margin: 6px 0;\n padding: 8px 10px;\n background: rgba(0, 0, 0, 0.35);\n border-radius: 4px;\n overflow-x: auto;\n }\n pre code {\n background: none;\n padding: 0;\n white-space: pre;\n }\n a {\n color: ", ";\n text-decoration: none;\n }\n a:hover {\n text-decoration: underline;\n }\n"], ["\n color: ", ";\n word-break: break-word;\n\n > *:first-child {\n margin-top: 0;\n }\n > *:last-child {\n margin-bottom: 0;\n }\n\n p {\n margin: 0 0 6px;\n }\n strong {\n color: ", ";\n font-weight: 600;\n }\n ul,\n ol {\n margin: 4px 0;\n padding-left: 18px;\n }\n li {\n margin: 2px 0;\n }\n code {\n font-family: monospace;\n background: ", ";\n padding: 1px 5px;\n border-radius: 4px;\n }\n pre {\n margin: 6px 0;\n padding: 8px 10px;\n background: rgba(0, 0, 0, 0.35);\n border-radius: 4px;\n overflow-x: auto;\n }\n pre code {\n background: none;\n padding: 0;\n white-space: pre;\n }\n a {\n color: ", ";\n text-decoration: none;\n }\n a:hover {\n text-decoration: underline;\n }\n"])), function (_a) {
112
+ var $color = _a.$color;
113
+ return $color;
114
+ }, function (_a) {
115
+ var $emphasis = _a.$emphasis;
116
+ return $emphasis;
117
+ }, function (_a) {
118
+ var $code = _a.$code;
119
+ return $code;
120
+ }, function (_a) {
121
+ var $link = _a.$link;
122
+ return $link;
123
+ });
124
+ /** A message body rendered as markdown, tinted from the active theme. */
125
+ var MessageBody = function (_a) {
126
+ var _b, _c;
127
+ var children = _a.children;
128
+ var theme = (0, reqore_1.useReqoreTheme)();
129
+ var readable = (0, colors_1.getReadableColor)(theme);
130
+ var link = (_c = (_b = theme.intents) === null || _b === void 0 ? void 0 : _b.info) !== null && _c !== void 0 ? _c : readable;
131
+ return ((0, jsx_runtime_1.jsx)(StyledMarkdown, { "$color": (0, polished_1.rgba)(readable, 0.72), "$emphasis": (0, polished_1.rgba)(readable, 0.95), "$code": (0, polished_1.rgba)(readable, 0.1), "$link": link, children: (0, jsx_runtime_1.jsx)(react_markdown_1.default, { children: children }) }));
132
+ };
133
+ /** A file attachment as a download chip — the fallback for every non-image, and for
134
+ * images when no `fetchAttachmentUrl` is wired. */
135
+ var AttachmentChip = function (_a) {
136
+ var attachment = _a.attachment, onDownloadAttachment = _a.onDownloadAttachment;
137
+ return ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreButton, { icon: 'Download2Line', size: 'small', flat: true, badge: (0, common_1.formatBytes)(attachment.size_bytes), tooltip: "".concat(attachment.content_type, " \u00B7 download"), onClick: function () { return onDownloadAttachment === null || onDownloadAttachment === void 0 ? void 0 : onDownloadAttachment(attachment.attachment_id, attachment.filename); }, children: attachment.filename }));
138
+ };
139
+ var StyledThumb = styled_components_1.default.button(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n appearance: none;\n padding: 0;\n border: 1px solid ", ";\n border-radius: 8px;\n overflow: hidden;\n background: ", ";\n cursor: zoom-in;\n line-height: 0;\n display: block;\n\n img {\n display: block;\n max-width: 240px;\n max-height: 200px;\n object-fit: cover;\n }\n"], ["\n appearance: none;\n padding: 0;\n border: 1px solid ", ";\n border-radius: 8px;\n overflow: hidden;\n background: ", ";\n cursor: zoom-in;\n line-height: 0;\n display: block;\n\n img {\n display: block;\n max-width: 240px;\n max-height: 200px;\n object-fit: cover;\n }\n"])), (0, polished_1.rgba)('#ffffff', 0.12), (0, polished_1.rgba)('#000000', 0.25));
140
+ /**
141
+ * An image attachment as a thumbnail; clicking it opens the shared `ImageLightbox`
142
+ * (owned by `AttachmentList`, which knows the whole image set for paging). The bytes
143
+ * come from `fetchAttachmentUrl`, so until they arrive a skeleton holds the space, and
144
+ * if the fetch fails the attachment degrades to the same download chip as any other
145
+ * file rather than showing a broken image.
146
+ */
147
+ var ImageThumb = function (_a) {
148
+ var attachment = _a.attachment, fetchAttachmentUrl = _a.fetchAttachmentUrl, onOpen = _a.onOpen, onDownloadAttachment = _a.onDownloadAttachment;
149
+ var _b = (0, react_1.useState)(null), url = _b[0], setUrl = _b[1];
150
+ var _c = (0, react_1.useState)(false), failed = _c[0], setFailed = _c[1];
151
+ (0, react_1.useEffect)(function () {
152
+ var alive = true;
153
+ fetchAttachmentUrl(attachment.attachment_id)
154
+ .then(function (resolved) { return alive && setUrl(resolved); })
155
+ .catch(function () { return alive && setFailed(true); });
156
+ return function () {
157
+ alive = false;
158
+ };
159
+ }, [attachment.attachment_id]);
160
+ if (failed) {
161
+ return (0, jsx_runtime_1.jsx)(AttachmentChip, { attachment: attachment, onDownloadAttachment: onDownloadAttachment });
162
+ }
163
+ if (!url) {
164
+ return (0, jsx_runtime_1.jsx)(reqore_1.ReqoreSkeleton, { width: '180px', height: '120px' });
165
+ }
166
+ return ((0, jsx_runtime_1.jsx)(StyledThumb, { type: 'button', title: "".concat(attachment.filename, " \u2014 click to enlarge"), onClick: onOpen, children: (0, jsx_runtime_1.jsx)("img", { src: url, alt: attachment.filename }) }));
167
+ };
168
+ /**
169
+ * A message's attachments, split into two rows: previewable images as a row of
170
+ * thumbnails, and everything else as a row of download chips beneath.
171
+ *
172
+ * They can't share one wrapping row — a thumbnail is ~120px tall and a chip ~26px, so
173
+ * mixed together the chips wrap raggedly around the image and the group reads as
174
+ * broken. Grouping by kind keeps each row uniform. Images only preview when a
175
+ * `fetchAttachmentUrl` is wired; without it they're files like any other and fall into
176
+ * the chip row.
177
+ */
178
+ var AttachmentList = function (_a) {
179
+ var attachments = _a.attachments, fetchAttachmentUrl = _a.fetchAttachmentUrl, onDownloadAttachment = _a.onDownloadAttachment;
180
+ var previewable = Boolean(fetchAttachmentUrl);
181
+ var images = previewable ? attachments.filter(function (a) { return (0, common_1.isImage)(a.content_type); }) : [];
182
+ var imageIds = new Set(images.map(function (a) { return a.attachment_id; }));
183
+ var files = attachments.filter(function (a) { return !imageIds.has(a.attachment_id); });
184
+ // which image the shared lightbox is showing; null = closed
185
+ var _b = (0, react_1.useState)(null), openIndex = _b[0], setOpenIndex = _b[1];
186
+ return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreControlGroup, { vertical: true, gapSize: 'small', style: { marginTop: 8 }, children: [images.length ? ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreControlGroup, { wrap: true, gapSize: 'small', verticalAlign: 'flex-start', children: images.map(function (attachment, index) { return ((0, jsx_runtime_1.jsx)(ImageThumb, { attachment: attachment, fetchAttachmentUrl: fetchAttachmentUrl, onOpen: function () { return setOpenIndex(index); }, onDownloadAttachment: onDownloadAttachment }, attachment.attachment_id)); }) })) : null, files.length ? ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreControlGroup, { wrap: true, gapSize: 'small', children: files.map(function (attachment) { return ((0, jsx_runtime_1.jsx)(AttachmentChip, { attachment: attachment, onDownloadAttachment: onDownloadAttachment }, attachment.attachment_id)); }) })) : null, openIndex !== null && fetchAttachmentUrl ? ((0, jsx_runtime_1.jsx)(imageLightbox_1.ImageLightbox, { images: images, index: openIndex, onIndex: setOpenIndex, onClose: function () { return setOpenIndex(null); }, fetchAttachmentUrl: fetchAttachmentUrl, onDownload: onDownloadAttachment })) : null] }));
187
+ };
188
+ /** Split the thread into centred system lines and runs of consecutive non-system
189
+ * messages — each run becomes one `ReqoreBubbleGroup`, which is what collapses a
190
+ * same-side burst onto a single timestamp. */
191
+ var toSegments = function (messages) {
192
+ var segments = [];
193
+ for (var _i = 0, messages_1 = messages; _i < messages_1.length; _i++) {
194
+ var message = messages_1[_i];
195
+ if (message.author_type === 'system') {
196
+ segments.push({ kind: 'system', message: message });
197
+ continue;
198
+ }
199
+ var last = segments[segments.length - 1];
200
+ if ((last === null || last === void 0 ? void 0 : last.kind) === 'bubbles') {
201
+ last.messages.push(message);
202
+ }
203
+ else {
204
+ segments.push({ kind: 'bubbles', messages: [message] });
205
+ }
206
+ }
207
+ return segments;
208
+ };
209
+ var TicketThread = function (_a) {
210
+ var messages = _a.messages, _b = _a.viewerRole, viewerRole = _b === void 0 ? 'customer' : _b, loading = _a.loading, onDownloadAttachment = _a.onDownloadAttachment, fetchAttachmentUrl = _a.fetchAttachmentUrl, resolveInterfaceIcon = _a.resolveInterfaceIcon, onInterfaceClick = _a.onInterfaceClick, ticketReferences = _a.ticketReferences;
211
+ // Open scrolled to the newest message, and follow new arrivals down — a thread is read
212
+ // from the bottom, like any chat. Keyed on the message COUNT so it fires on open and when
213
+ // a reply lands, not on every re-render (which would fight a user who has scrolled up to
214
+ // read history). Scrolls the nearest scrollable ancestor (the drawer body) straight to its
215
+ // end rather than scrollIntoView on a sentinel — scrollIntoView also drags any outer scroll
216
+ // container around and stops one bottom-padding short of the real end.
217
+ var threadRef = (0, react_1.useRef)(null);
218
+ (0, react_1.useEffect)(function () {
219
+ var _a, _b;
220
+ // Find the thread's OWN scroll container — the nearest ancestor that actually scrolls
221
+ // (overflow-y auto/scroll), not merely the first one that currently overflows. A short
222
+ // thread's container fits its content, so a "does it overflow?" test would walk straight
223
+ // past it and scroll the whole page/panel to the bottom instead.
224
+ var scroller = (_b = (_a = threadRef.current) === null || _a === void 0 ? void 0 : _a.parentElement) !== null && _b !== void 0 ? _b : null;
225
+ while (scroller) {
226
+ var overflowY = getComputedStyle(scroller).overflowY;
227
+ if (overflowY === 'auto' || overflowY === 'scroll') {
228
+ break;
229
+ }
230
+ scroller = scroller.parentElement;
231
+ }
232
+ if (scroller) {
233
+ scroller.scrollTop = scroller.scrollHeight;
234
+ }
235
+ }, [messages.length]);
236
+ // Segment the flat message list into system rows + author-grouped bubble runs once per
237
+ // message change — not on every re-render (scroll, hover and resize all re-render this).
238
+ var segments = (0, react_1.useMemo)(function () { return toSegments(messages); }, [messages]);
239
+ // The opening (description) message — the ticket's own references echo on it, deduped
240
+ // against any refs that message carries itself, so the intent still has ONE authoritative
241
+ // home (the References tab) but the conversation no longer reads as reference-free.
242
+ var openingMessageId = (0, react_1.useMemo)(function () { var _a; return (_a = messages.find(function (m) { return m.author_type !== 'system'; })) === null || _a === void 0 ? void 0 : _a.message_id; }, [messages]);
243
+ var openingRefs = (0, react_1.useMemo)(function () {
244
+ var _a;
245
+ if (!(ticketReferences === null || ticketReferences === void 0 ? void 0 : ticketReferences.length)) {
246
+ return undefined;
247
+ }
248
+ var opening = messages.find(function (m) { return m.message_id === openingMessageId; });
249
+ var seen = new Set();
250
+ return __spreadArray(__spreadArray([], ticketReferences, true), ((_a = opening === null || opening === void 0 ? void 0 : opening.referenced_interfaces) !== null && _a !== void 0 ? _a : []), true).filter(function (ref) {
251
+ var key = "".concat(ref.interface_kind, ":").concat(ref.interface_name);
252
+ if (seen.has(key)) {
253
+ return false;
254
+ }
255
+ seen.add(key);
256
+ return true;
257
+ });
258
+ }, [ticketReferences, messages, openingMessageId]);
259
+ var refsFor = function (message) {
260
+ return message.message_id === openingMessageId && openingRefs
261
+ ? openingRefs
262
+ : message.referenced_interfaces;
263
+ };
264
+ // Only the FIRST load gets the skeleton. A refetch while messages are already on
265
+ // screen must leave them there: every send triggers one (and, where the thread is
266
+ // live, so does the other party sending), and blanking a conversation you are
267
+ // reading — replacing it with pulsing placeholders — is the single worst moment to
268
+ // do it. The new message simply appears when the refetch resolves.
269
+ if (loading && !messages.length) {
270
+ return (0, jsx_runtime_1.jsx)(ConversationSkeleton, {});
271
+ }
272
+ if (!messages.length) {
273
+ return ((0, jsx_runtime_1.jsx)(StyledEmpty, { children: (0, jsx_runtime_1.jsx)(reqore_1.ReqoreEmptyState, { icon: 'Chat3Line', title: 'No messages yet', flat: true, transparent: true }) }));
274
+ }
275
+ return ((0, jsx_runtime_1.jsxs)(StyledThread, { ref: threadRef, children: [segments.map(function (segment, index) {
276
+ return segment.kind === 'system' ? ((0, jsx_runtime_1.jsxs)(StyledSystemRow, { id: (0, exports.ticketMessageDomId)(segment.message.message_id), children: [(0, jsx_runtime_1.jsx)(reqore_1.ReqoreIcon, { icon: 'InformationLine', size: 'tiny' }), (0, jsx_runtime_1.jsx)(react_markdown_1.default, { children: segment.message.body })] }, segment.message.message_id)) : ((0, jsx_runtime_1.jsx)(reqore_1.ReqoreBubbleGroup, { children: segment.messages.map(function (message) {
277
+ var _a, _b;
278
+ return ((0, jsx_runtime_1.jsxs)(reqore_1.ReqoreBubble, {
279
+ // anchor for "show in chat"; ReqoreBubble forwards unknown props to
280
+ // its DOM node, so this lands on the rendered element
281
+ id: (0, exports.ticketMessageDomId)(message.message_id), size: 'small', maxWidth: '76%', align: message.author_type === viewerRole ? 'right' : 'left', avatar: { icon: authorIcon(message) }, label: authorLabel(message, viewerRole), timestamp: message.created ? (0, jsx_runtime_1.jsx)(reqore_1.ReqoreTimeAgo, { time: message.created }) : undefined,
282
+ // Own messages read as info-blue, the other party's as the purple
283
+ // accent — so the two sides of the conversation are told apart by
284
+ // colour as well as by side, and "which of these did I write?" is
285
+ // answerable at a glance. Deliberately keyed off `viewerRole`, so it
286
+ // stays correct on the staff surface too (staff replies are the blue
287
+ // ones there). Internal notes keep their warning intent and are not
288
+ // re-tinted — they are neither side of the conversation.
289
+ intent: message.internal
290
+ ? 'warning'
291
+ : message.author_type === viewerRole
292
+ ? 'info'
293
+ : undefined, customTheme: message.internal || message.author_type === viewerRole ? undefined : ACCENT, flat: false, minimal: true, children: [(0, jsx_runtime_1.jsx)(MessageBody, { children: message.body }), ((_a = message.attachments) === null || _a === void 0 ? void 0 : _a.length) ? ((0, jsx_runtime_1.jsx)(AttachmentList, { attachments: message.attachments, fetchAttachmentUrl: fetchAttachmentUrl, onDownloadAttachment: onDownloadAttachment })) : null, ((_b = refsFor(message)) === null || _b === void 0 ? void 0 : _b.length) ? ((0, jsx_runtime_1.jsx)("div", { style: { marginTop: 8 }, children: (0, jsx_runtime_1.jsx)(supportTicket_1.InterfaceReferenceTags, { size: 'tiny', customTheme: ACCENT, references: refsFor(message), resolveInterfaceIcon: resolveInterfaceIcon, onInterfaceClick: onInterfaceClick }) })) : null] }, message.message_id));
294
+ }) }, "group-".concat(index)));
295
+ }), (0, jsx_runtime_1.jsxs)(reqore_1.ReqoreP, { size: 'tiny', effect: { opacity: 0.5, textAlign: 'center' }, children: [messages.length, " message", messages.length === 1 ? '' : 's'] })] }));
296
+ };
297
+ exports.TicketThread = TicketThread;
298
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;
299
+ //# sourceMappingURL=TicketThread.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TicketThread.js","sourceRoot":"","sources":["../../../src/components/ticketThread/TicketThread.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { TicketThread, ticketMessageDomId } from './TicketThread';
2
+ export type { ITicketThreadAttachment, ITicketThreadMessage, ITicketThreadProps, } from './TicketThread';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ticketThread/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClE,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ticketMessageDomId = exports.TicketThread = void 0;
4
+ var TicketThread_1 = require("./TicketThread");
5
+ Object.defineProperty(exports, "TicketThread", { enumerable: true, get: function () { return TicketThread_1.TicketThread; } });
6
+ Object.defineProperty(exports, "ticketMessageDomId", { enumerable: true, get: function () { return TicketThread_1.ticketMessageDomId; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ticketThread/index.ts"],"names":[],"mappings":";;;AAAA,+CAAkE;AAAzD,4GAAA,YAAY,OAAA;AAAE,kHAAA,kBAAkB,OAAA"}
@@ -26,6 +26,11 @@ export declare const richtextToSegments: (richtext: IReqoreRichTextEditorProps['
26
26
  export declare const insertAtIndex: (array: any[], index: number, value: any) => any[];
27
27
  /** Splits a byte-size string (e.g. `"10MiB"`) into `[amount, unit]`. */
28
28
  export declare const splitByteSize: (value?: string) => [number | undefined, string | undefined];
29
+ /** Human-readable file size, e.g. `"12.3 KB"` — whole bytes below 1 KiB, one
30
+ * decimal above. Shared by the ticket thread / references attachment rows. */
31
+ export declare const formatBytes: (bytes: number) => string;
32
+ /** True when a MIME content type is an image (`image/*`). */
33
+ export declare const isImage: (contentType: string) => boolean;
29
34
  export declare const getProtocol: (v?: string) => string;
30
35
  export declare const getAddress: (v?: string) => string;
31
36
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/helpers/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAKrE,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AACpD,KAAK,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AA4C1C,eAAO,MAAM,WAAW,eAAgB,MAAM,KAAG,UAOhD,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,UAAU,KAAG,MAQ/C,CAAC;AAEF,eAAO,MAAM,eAAe,WAAY,qBAAqB,KAAG,OAAO,GAAG,SAUzE,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAAc,0BAA0B,CAAC,OAAO,CAAC,KAAG,MA6BhF,CAAC;AAEF;;+EAE+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;sEAEsE;AACtE,eAAO,MAAM,kBAAkB,aACnB,0BAA0B,CAAC,OAAO,CAAC,KAC5C,gBAAgB,EAkClB,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,GAAG,EAAE,wBAAyB,GAAG,KAAG,GAAG,EAE3E,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,aAAa,WAAY,MAAM,KAAG,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,GAAG,SAAS,CAIrF,CAAC;AAKF,eAAO,MAAM,WAAW,OAAQ,MAAM,KAAG,MAQxC,CAAC;AAEF,eAAO,MAAM,UAAU,OAAQ,MAAM,KAAG,MAavC,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/helpers/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAC;AACrG,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAKrE,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AACpD,KAAK,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AA4C1C,eAAO,MAAM,WAAW,eAAgB,MAAM,KAAG,UAOhD,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,UAAU,KAAG,MAQ/C,CAAC;AAEF,eAAO,MAAM,eAAe,WAAY,qBAAqB,KAAG,OAAO,GAAG,SAUzE,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAAc,0BAA0B,CAAC,OAAO,CAAC,KAAG,MA6BhF,CAAC;AAEF;;+EAE+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;sEAEsE;AACtE,eAAO,MAAM,kBAAkB,aACnB,0BAA0B,CAAC,OAAO,CAAC,KAC5C,gBAAgB,EAkClB,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,GAAG,EAAE,wBAAyB,GAAG,KAAG,GAAG,EAE3E,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,aAAa,WAAY,MAAM,KAAG,CAAC,MAAM,GAAG,SAAS,EAAE,MAAM,GAAG,SAAS,CAIrF,CAAC;AAEF;+EAC+E;AAC/E,eAAO,MAAM,WAAW,UAAW,MAAM,KAAG,MAY3C,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,OAAO,gBAAiB,MAAM,KAAG,OAA2C,CAAC;AAK1F,eAAO,MAAM,WAAW,OAAQ,MAAM,KAAG,MAQxC,CAAC;AAEF,eAAO,MAAM,UAAU,OAAQ,MAAM,KAAG,MAavC,CAAC"}
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.getAddress = exports.getProtocol = exports.splitByteSize = exports.insertAtIndex = exports.richtextToSegments = exports.richtextToString = exports.getDefaultValue = exports.typedToYaml = exports.yamlToTyped = void 0;
15
+ exports.getAddress = exports.getProtocol = exports.isImage = exports.formatBytes = exports.splitByteSize = exports.insertAtIndex = exports.richtextToSegments = exports.richtextToString = exports.getDefaultValue = exports.typedToYaml = exports.yamlToTyped = void 0;
16
16
  var js_yaml_1 = __importDefault(require("js-yaml"));
17
17
  var inferTypedValue = function (raw) {
18
18
  if (raw === null || raw === undefined)
@@ -176,6 +176,25 @@ var splitByteSize = function (value) {
176
176
  return [(amount === null || amount === void 0 ? void 0 : amount[0]) ? Number(amount[0]) : undefined, unit === null || unit === void 0 ? void 0 : unit[0]];
177
177
  };
178
178
  exports.splitByteSize = splitByteSize;
179
+ /** Human-readable file size, e.g. `"12.3 KB"` — whole bytes below 1 KiB, one
180
+ * decimal above. Shared by the ticket thread / references attachment rows. */
181
+ var formatBytes = function (bytes) {
182
+ if (bytes < 1024) {
183
+ return "".concat(bytes, " B");
184
+ }
185
+ var units = ['KB', 'MB', 'GB'];
186
+ var value = bytes / 1024;
187
+ var unit = 0;
188
+ while (value >= 1024 && unit < units.length - 1) {
189
+ value /= 1024;
190
+ unit += 1;
191
+ }
192
+ return "".concat(value.toFixed(1), " ").concat(units[unit]);
193
+ };
194
+ exports.formatBytes = formatBytes;
195
+ /** True when a MIME content type is an image (`image/*`). */
196
+ var isImage = function (contentType) { return contentType.startsWith('image/'); };
197
+ exports.isImage = isImage;
179
198
  // URL value splitting (IDE `urlField.tsx` behavior). Lives here rather than
180
199
  // in the Url component so `validations.ts` can use it without pulling the
181
200
  // component chain into non-DOM consumers (jest).
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/helpers/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/helpers/common.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,oDAA2B;AAO3B,IAAM,eAAe,GAAG,UAAC,GAAY;IACnC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxD,IAAI,OAAO,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAClE,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACxH,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IACnE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,IAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,CAAC,GAAG,CAAC,UAAC,EAAM;gBAAL,CAAC,QAAA,EAAE,CAAC,QAAA;YAAM,OAAA,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;QAAvB,CAAuB,CAAC,CACxF,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAA,EAAE,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACrC,CAAC,CAAC;AAEF,IAAM,YAAY,GAAG,UAAC,KAAiB;IACrC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,8EAA8E;IAC9E,iFAAiF;IACjF,oEAAoE;IACpE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtC,IAAA,KAAkB,KAA2C,EAA3D,IAAI,UAAA,EAAE,KAAK,WAAgD,CAAC;IACpE,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,2EAA2E;QAC3E,wEAAwE;QACxE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAChE,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,KAAmC,CAAC,CAAC,GAAG,CAAC,UAAC,EAAM;oBAAL,CAAC,QAAA,EAAE,CAAC,QAAA;gBAAM,OAAA,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;YAApB,CAAoB,CAAC,CAC1F;YACH,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;IACD,qEAAqE;IACrE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEK,IAAM,WAAW,GAAG,UAAC,UAAkB;IAC5C,IAAI,CAAC;QACH,IAAM,GAAG,GAAG,iBAAI,CAAC,IAAI,CAAC,UAAU,CAAY,CAAC;QAC7C,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC;AAPW,QAAA,WAAW,eAOtB;AAEK,IAAM,WAAW,GAAG,UAAC,KAAiB;IAC3C,IAAI,OAAO,KAAK,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAC5C,IAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,iBAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AARW,QAAA,WAAW,eAQtB;AAEK,IAAM,eAAe,GAAG,UAAC,MAA6B;IAC3D,IAAI,eAAe,IAAI,MAAM,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC7E,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QACpC,CAAC;QAED,OAAO,MAAM,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAVW,QAAA,eAAe,mBAU1B;AAEK,IAAM,gBAAgB,GAAG,UAAC,QAA6C;IAC5E,uEAAuE;IACvE,4EAA4E;IAC5E,yDAAyD;IACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAED,IAAM,cAAc,GAAG,UAAC,OAA+B;;QACrD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,QAAQ,EAAE,KAAI,EAAE,CAAC;QACzC,CAAC;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AA7BW,QAAA,gBAAgB,oBA6B3B;AAaF;;sEAEsE;AAC/D,IAAM,kBAAkB,GAAG,UAChC,QAA6C;IAE7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,IAAM,IAAI,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,CAAC;IAED,IAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,IAAM,QAAQ,GAAG,UAAC,IAAY;QAC5B,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,MAAM;YAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;;YACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,IAAM,IAAI,GAAG,UAAC,OAAY;;QACxB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QACtD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3B,IAAM,KAAK,GAAG,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,QAAQ,EAAE,KAAI,EAAE,CAAC;YAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,OAAA,EAAE,IAAI,EAAE,CAAA,MAAA,CAAC,MAAA,OAAO,CAAC,KAAK,mCAAI,KAAK,CAAC,0CAAE,QAAQ,EAAE,KAAI,KAAK,EAAE,CAAC,CAAC;YAC3F,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AApCW,QAAA,kBAAkB,sBAoC7B;AAEK,IAAM,aAAa,GAAG,UAAC,KAAiB,EAAE,KAAS,EAAE,KAAU;IAAxC,sBAAA,EAAA,UAAiB;IAAE,sBAAA,EAAA,SAAS;IACxD,qDAAW,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,UAAE,KAAK,WAAK,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAE;AAClE,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEF,wEAAwE;AACjE,IAAM,aAAa,GAAG,UAAC,KAAc;IAC1C,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,IAAM,IAAI,GAAG,MAAM,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACrD,OAAO,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC;AAJW,QAAA,aAAa,iBAIxB;AAEF;+EAC+E;AACxE,IAAM,WAAW,GAAG,UAAC,KAAa;IACvC,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;QACjB,OAAO,UAAG,KAAK,OAAI,CAAC;IACtB,CAAC;IACD,IAAM,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IACzB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,KAAK,IAAI,IAAI,CAAC;QACd,IAAI,IAAI,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,UAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAI,KAAK,CAAC,IAAI,CAAC,CAAE,CAAC;AAC9C,CAAC,CAAC;AAZW,QAAA,WAAW,eAYtB;AAEF,6DAA6D;AACtD,IAAM,OAAO,GAAG,UAAC,WAAmB,IAAc,OAAA,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAhC,CAAgC,CAAC;AAA7E,QAAA,OAAO,WAAsE;AAE1F,4EAA4E;AAC5E,0EAA0E;AAC1E,iDAAiD;AAC1C,IAAM,WAAW,GAAG,UAAC,CAAU;IACpC,IAAM,SAAS,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAElC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC;AARW,QAAA,WAAW,eAQtB;AAEK,IAAM,UAAU,GAAG,UAAC,CAAU;IACnC,IAAM,SAAS,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAElC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,4EAA4E;IAC5E,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC,CAAC;AAbW,QAAA,UAAU,cAarB"}
@@ -0,0 +1,2 @@
1
+ export declare const thinScrollbar: any;
2
+ //# sourceMappingURL=scrollbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrollbar.d.ts","sourceRoot":"","sources":["../../src/helpers/scrollbar.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,aAAa,KAezB,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.thinScrollbar = void 0;
8
+ var styled_components_1 = require("styled-components");
9
+ /*
10
+ * The thin, unobtrusive scrollbar the Qorus surfaces use — a transparent track and a
11
+ * translucent rounded thumb — in place of the platform default, which reads as heavy
12
+ * chrome inside a dark panel. Drop it into any `styled` scroll container:
13
+ *
14
+ * const Scroll = styled.div`
15
+ * overflow-y: auto;
16
+ * ${thinScrollbar}
17
+ * `;
18
+ *
19
+ * webkit-only on purpose: setting `scrollbar-width` as well lets Chromium override this
20
+ * custom 6px with its own wider "thin", so the two disagree. Firefox keeps its native
21
+ * bar, which is already slim.
22
+ */
23
+ exports.thinScrollbar = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n &::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n &::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.15);\n border-radius: 3px;\n }\n &::-webkit-scrollbar-thumb:hover {\n background: rgba(255, 255, 255, 0.28);\n }\n"], ["\n &::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n &::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.15);\n border-radius: 3px;\n }\n &::-webkit-scrollbar-thumb:hover {\n background: rgba(255, 255, 255, 0.28);\n }\n"])));
24
+ var templateObject_1;
25
+ //# sourceMappingURL=scrollbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrollbar.js","sourceRoot":"","sources":["../../src/helpers/scrollbar.ts"],"names":[],"mappings":";;;;;;;AAAA,uDAAwC;AAExC;;;;;;;;;;;;;GAaG;AACU,QAAA,aAAa,OAAG,uBAAG,8YAAA,0UAe/B,KAAC"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,8 @@ export * from './components/form';
2
2
  export * from './components/log/Log';
3
3
  export { validateField, validateFieldWithResult, isValueSet, getTypeFromValue, maybeParseYaml, hasAllDependenciesFullfilled, validateOptionWithRequiredGroups, } from './helpers/validations';
4
4
  export type { IValidationResult } from './helpers/validations';
5
+ export { thinScrollbar } from './helpers/scrollbar';
6
+ export * from './components/imageLightbox';
5
7
  export { ReqraftMenu } from './components/menu/Menu';
6
8
  export type { IReqraftMenuItem, IReqraftMenuProps, TReqraftMenu, TReqraftMenuItem, } from './components/menu/Menu';
7
9
  export { useFetch } from './hooks/useFetch/useFetch';
@@ -12,12 +14,17 @@ export * from './hooks/useWebSocket/useWebSocket';
12
14
  export { initializeReqraft, ReqraftProvider, ReqraftQueryClient, } from './providers/ReqraftProvider';
13
15
  export { currentUserStore as ReqraftCurrentUserStore } from './stores/currentUser/currentUser';
14
16
  export type { ICurrentUser, ICurrentUserStore, } from './stores/currentUser/currentUser';
15
- export { query } from './utils/fetch';
17
+ export { fetchConfig, query } from './utils/fetch';
16
18
  export * from './utils/websocket';
17
19
  export { ReqraftLspClient } from './utils/lspClient';
18
20
  export type { IReqraftLspClientOptions } from './utils/lspClient';
19
21
  export type { ILspCompletionItem, ILspDiagnostic, ILspMarkupContent, ILspParameterInformation, ILspPosition, ILspRange, ILspSemanticToken, ILspSemanticTokensLegend, ILspServerCapabilities, ILspSignatureHelp, ILspSignatureInformation, ILspTextEdit, TLspDocumentText, } from './utils/lspClient.types';
22
+ export * from './components/composer';
20
23
  export * from './components/smartEditor';
21
24
  export * from './components/dpqlEditor';
22
25
  export * from './components/qonsoleSmartInput';
26
+ export * from './components/supportTicket';
27
+ export * from './components/ticketThread';
28
+ export * from './components/ticketReferences';
29
+ export * from './components/searchFilterBar';
23
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,cAAc,mCAAmC,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC/F,YAAY,EACV,YAAY,EACZ,iBAAiB,GAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,cAAc,mCAAmC,CAAC;AAClD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC/F,YAAY,EACV,YAAY,EACZ,iBAAiB,GAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClE,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,YAAY,EACZ,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC"}
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ReqraftLspClient = exports.query = exports.ReqraftCurrentUserStore = exports.ReqraftQueryClient = exports.ReqraftProvider = exports.initializeReqraft = exports.useReqraftStorage = exports.useFetch = exports.ReqraftMenu = exports.validateOptionWithRequiredGroups = exports.hasAllDependenciesFullfilled = exports.maybeParseYaml = exports.getTypeFromValue = exports.isValueSet = exports.validateFieldWithResult = exports.validateField = void 0;
17
+ exports.ReqraftLspClient = exports.query = exports.fetchConfig = exports.ReqraftCurrentUserStore = exports.ReqraftQueryClient = exports.ReqraftProvider = exports.initializeReqraft = exports.useReqraftStorage = exports.useFetch = exports.ReqraftMenu = exports.thinScrollbar = exports.validateOptionWithRequiredGroups = exports.hasAllDependenciesFullfilled = exports.maybeParseYaml = exports.getTypeFromValue = exports.isValueSet = exports.validateFieldWithResult = exports.validateField = void 0;
18
18
  __exportStar(require("./components/form"), exports);
19
19
  __exportStar(require("./components/log/Log"), exports);
20
20
  var validations_1 = require("./helpers/validations");
@@ -25,6 +25,9 @@ Object.defineProperty(exports, "getTypeFromValue", { enumerable: true, get: func
25
25
  Object.defineProperty(exports, "maybeParseYaml", { enumerable: true, get: function () { return validations_1.maybeParseYaml; } });
26
26
  Object.defineProperty(exports, "hasAllDependenciesFullfilled", { enumerable: true, get: function () { return validations_1.hasAllDependenciesFullfilled; } });
27
27
  Object.defineProperty(exports, "validateOptionWithRequiredGroups", { enumerable: true, get: function () { return validations_1.validateOptionWithRequiredGroups; } });
28
+ var scrollbar_1 = require("./helpers/scrollbar");
29
+ Object.defineProperty(exports, "thinScrollbar", { enumerable: true, get: function () { return scrollbar_1.thinScrollbar; } });
30
+ __exportStar(require("./components/imageLightbox"), exports);
28
31
  var Menu_1 = require("./components/menu/Menu");
29
32
  Object.defineProperty(exports, "ReqraftMenu", { enumerable: true, get: function () { return Menu_1.ReqraftMenu; } });
30
33
  var useFetch_1 = require("./hooks/useFetch/useFetch");
@@ -39,11 +42,17 @@ Object.defineProperty(exports, "ReqraftQueryClient", { enumerable: true, get: fu
39
42
  var currentUser_1 = require("./stores/currentUser/currentUser");
40
43
  Object.defineProperty(exports, "ReqraftCurrentUserStore", { enumerable: true, get: function () { return currentUser_1.currentUserStore; } });
41
44
  var fetch_1 = require("./utils/fetch");
45
+ Object.defineProperty(exports, "fetchConfig", { enumerable: true, get: function () { return fetch_1.fetchConfig; } });
42
46
  Object.defineProperty(exports, "query", { enumerable: true, get: function () { return fetch_1.query; } });
43
47
  __exportStar(require("./utils/websocket"), exports);
44
48
  var lspClient_1 = require("./utils/lspClient");
45
49
  Object.defineProperty(exports, "ReqraftLspClient", { enumerable: true, get: function () { return lspClient_1.ReqraftLspClient; } });
50
+ __exportStar(require("./components/composer"), exports);
46
51
  __exportStar(require("./components/smartEditor"), exports);
47
52
  __exportStar(require("./components/dpqlEditor"), exports);
48
53
  __exportStar(require("./components/qonsoleSmartInput"), exports);
54
+ __exportStar(require("./components/supportTicket"), exports);
55
+ __exportStar(require("./components/ticketThread"), exports);
56
+ __exportStar(require("./components/ticketReferences"), exports);
57
+ __exportStar(require("./components/searchFilterBar"), exports);
49
58
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,uDAAqC;AACrC,qDAQ+B;AAP7B,4GAAA,aAAa,OAAA;AACb,sHAAA,uBAAuB,OAAA;AACvB,yGAAA,UAAU,OAAA;AACV,+GAAA,gBAAgB,OAAA;AAChB,6GAAA,cAAc,OAAA;AACd,2HAAA,4BAA4B,OAAA;AAC5B,+HAAA,gCAAgC,OAAA;AAGlC,+CAAqD;AAA5C,mGAAA,WAAW,OAAA;AAQpB,sDAAqD;AAA5C,oGAAA,QAAQ,OAAA;AAEjB,4DAAkE;AAAzD,+GAAA,iBAAiB,OAAA;AAE1B,oEAAkD;AAClD,+DAIqC;AAHnC,oHAAA,iBAAiB,OAAA;AACjB,kHAAA,eAAe,OAAA;AACf,qHAAA,kBAAkB,OAAA;AAEpB,gEAA+F;AAAtF,sHAAA,gBAAgB,OAA2B;AAKpD,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,oDAAkC;AAClC,+CAAqD;AAA5C,6GAAA,gBAAgB,OAAA;AAiBzB,2DAAyC;AACzC,0DAAwC;AACxC,iEAA+C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,uDAAqC;AACrC,qDAQ+B;AAP7B,4GAAA,aAAa,OAAA;AACb,sHAAA,uBAAuB,OAAA;AACvB,yGAAA,UAAU,OAAA;AACV,+GAAA,gBAAgB,OAAA;AAChB,6GAAA,cAAc,OAAA;AACd,2HAAA,4BAA4B,OAAA;AAC5B,+HAAA,gCAAgC,OAAA;AAGlC,iDAAoD;AAA3C,0GAAA,aAAa,OAAA;AACtB,6DAA2C;AAC3C,+CAAqD;AAA5C,mGAAA,WAAW,OAAA;AAQpB,sDAAqD;AAA5C,oGAAA,QAAQ,OAAA;AAEjB,4DAAkE;AAAzD,+GAAA,iBAAiB,OAAA;AAE1B,oEAAkD;AAClD,+DAIqC;AAHnC,oHAAA,iBAAiB,OAAA;AACjB,kHAAA,eAAe,OAAA;AACf,qHAAA,kBAAkB,OAAA;AAEpB,gEAA+F;AAAtF,sHAAA,gBAAgB,OAA2B;AAKpD,uCAAmD;AAA1C,oGAAA,WAAW,OAAA;AAAE,8FAAA,KAAK,OAAA;AAC3B,oDAAkC;AAClC,+CAAqD;AAA5C,6GAAA,gBAAgB,OAAA;AAiBzB,wDAAsC;AACtC,2DAAyC;AACzC,0DAAwC;AACxC,iEAA+C;AAC/C,6DAA2C;AAC3C,4DAA0C;AAC1C,gEAA8C;AAC9C,+DAA6C"}
@@ -1,5 +1,18 @@
1
1
  import { ReactNode } from 'react';
2
+ import { TReqraftStorage } from '../contexts/StorageContext';
2
3
  import { IReqraftProviderProps } from './ReqraftProvider';
4
+ /**
5
+ * Apply a single path write onto the current storage blob, seeding a fresh object
6
+ * when the user has no storage yet.
7
+ *
8
+ * `?? {}` is load-bearing: a user who has never written storage has
9
+ * `storage === undefined | null`, and `set(cloneDeep(undefined), …)` returns
10
+ * `undefined` (lodash won't set on a nullish target). Without the seed the FIRST
11
+ * write for such a user — e.g. accepting the cookie-consent banner — persists an
12
+ * empty body and silently drops the value, so the flag stays unset forever and
13
+ * the banner never closes. Exported for testing.
14
+ */
15
+ export declare const applyStorageWrite: (storage: TReqraftStorage | undefined, path: string, value: unknown) => TReqraftStorage;
3
16
  export interface IReqraftStorageProviderProps extends Pick<IReqraftProviderProps, 'waitForStorage'> {
4
17
  children: ReactNode;
5
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StorageProvider.d.ts","sourceRoot":"","sources":["../../src/providers/StorageProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAwB,MAAM,OAAO,CAAC;AAQxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,4BACf,SAAQ,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;IACrD,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,iCAAkC,4BAA4B,4CAyE7F,CAAC"}
1
+ {"version":3,"file":"StorageProvider.d.ts","sourceRoot":"","sources":["../../src/providers/StorageProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAwB,MAAM,OAAO,CAAC;AAGxD,OAAO,EAAyB,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAKpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,YACnB,eAAe,GAAG,SAAS,QAC9B,MAAM,SACL,OAAO,KACb,eAA6D,CAAC;AAEjE,MAAM,WAAW,4BACf,SAAQ,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;IACrD,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,iCAAkC,4BAA4B,4CAkF7F,CAAC"}