@apple-pie/slice 0.0.4 → 0.0.6

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 (219) hide show
  1. package/README.md +13 -6
  2. package/dist/cjs/chunks/{Avatar-8-wPWe0V.js → Avatar-z2YcOAoP.js} +1 -1
  3. package/dist/cjs/chunks/{AvatarGroup-CVKmgBbD.js → AvatarGroup-Cz8369zI.js} +1 -1
  4. package/dist/cjs/chunks/{Badge-CMapJCij.js → Badge-COSg__VJ.js} +1 -1
  5. package/dist/cjs/chunks/{UIButton-W-WjUvVm.js → Button-BNXqiA13.js} +28 -33
  6. package/dist/cjs/chunks/{UIButtonBar-FvX4kB-s.js → ButtonBar-CeDdAOlH.js} +5 -5
  7. package/dist/cjs/chunks/{UICard-DBDSyT7E.js → Card-Cc_c-S7i.js} +5 -5
  8. package/dist/cjs/chunks/{CheckBox-7AACxrdZ.js → CheckBox-hTWIPqV_.js} +2 -2
  9. package/dist/cjs/chunks/{UIChip-kjhvRrOV.js → Chip-CLKVldi4.js} +5 -5
  10. package/dist/cjs/chunks/{DivInput-BKKJTFeV.js → DivInput-DnY2emt-.js} +2 -2
  11. package/dist/cjs/chunks/{DrggablePanel-C6TPsDB-.js → DrggablePanel-BtsURL9o.js} +1 -1
  12. package/dist/cjs/chunks/{DropDown-D9sf_m2I.js → DropDown-COr9u96t.js} +2 -2
  13. package/dist/cjs/chunks/{ErrorSummary-Dv44onsV.js → ErrorSummary-BrSHbGpk.js} +1 -1
  14. package/dist/cjs/chunks/FileIcon-CEMQK_Je.js +132 -0
  15. package/dist/cjs/chunks/FileList-BHMne9Mr.js +163 -0
  16. package/dist/cjs/chunks/{FlexDiv-DZBpswHV.js → FlexDiv-BHl29ywz.js} +1 -1
  17. package/dist/cjs/chunks/{Grouper-_kd2nU78.js → Grouper-EyHoeA8w.js} +3 -3
  18. package/dist/cjs/chunks/{IconButton-CjiNliPL.js → IconButton-9QZ4eKBZ.js} +3 -3
  19. package/dist/cjs/chunks/{UILabel-DpMIPlZO.js → Label-s1aCv2Y1.js} +17 -7
  20. package/dist/cjs/chunks/{Pager--55eRDdu.js → Pager-CRjpl1FZ.js} +1 -1
  21. package/dist/cjs/chunks/PromptInput-CfzofBTJ.js +212 -0
  22. package/dist/cjs/chunks/{RadioButton--k2YFFEG.js → RadioButton-DA9YUGEF.js} +2 -2
  23. package/dist/cjs/chunks/{RadioButtonList-D99mA5EZ.js → RadioButtonList-BtsT7GJc.js} +1 -1
  24. package/dist/cjs/chunks/{Slider-C-gn7Sby.js → Slider-CqrIwn-L.js} +1 -1
  25. package/dist/cjs/chunks/{TabBar-CqnPPTFy.js → TabBar-WsNlr-aZ.js} +4 -4
  26. package/dist/cjs/chunks/{TextArea-CWr6mi3Q.js → TextArea-BMJWUH2H.js} +3 -3
  27. package/dist/cjs/chunks/{TextField-BTyhrsbK.js → TextField-mfwz79cD.js} +5 -5
  28. package/dist/cjs/chunks/{Tip-DnLgI7WY.js → Tip-Af6FMEDi.js} +2 -2
  29. package/dist/cjs/chunks/{Toast-CTCc6Cyl.js → Toast-CxAEOW4z.js} +17 -4
  30. package/dist/cjs/chunks/UploadArea-DunGYE1_.js +155 -0
  31. package/dist/cjs/chunks/{_types-CoWzQFsT.js → _types-BNlHsGMQ.js} +2 -2
  32. package/dist/cjs/chunks/{utils-CbayehuI.js → utils-BwNacfBU.js} +2 -0
  33. package/dist/cjs/chunks/windowStore-CPcVHJq6.js +93 -0
  34. package/dist/cjs/hooks/useKeyboardShortcuts.js +3 -1
  35. package/dist/cjs/hooks/useObserveTheme.js +14 -8
  36. package/dist/cjs/hooks/useTrackRenders.js +2 -1
  37. package/dist/cjs/hooks/useWindow.js +29 -7
  38. package/dist/cjs/index.js +53 -38
  39. package/dist/cjs/providers/ThemeProvider.js +6 -3
  40. package/dist/cjs/stores/window.js +12 -0
  41. package/dist/cjs/stores.js +6 -0
  42. package/dist/cjs/theme/type.js +99 -18
  43. package/dist/cjs/uikit/Avatar.js +1 -1
  44. package/dist/cjs/uikit/AvatarGroup.js +2 -2
  45. package/dist/cjs/uikit/Badge.js +1 -1
  46. package/dist/cjs/uikit/{UIButton.js → Button.js} +7 -7
  47. package/dist/cjs/uikit/{UIButtonBar.js → ButtonBar.js} +6 -6
  48. package/dist/cjs/uikit/{UICard.js → Card.js} +4 -4
  49. package/dist/cjs/uikit/CheckBox.js +3 -3
  50. package/dist/cjs/uikit/{UIChip.js → Chip.js} +4 -4
  51. package/dist/cjs/uikit/DivInput.js +2 -2
  52. package/dist/cjs/uikit/DraggablePanel.js +2 -2
  53. package/dist/cjs/uikit/DropDown.js +3 -3
  54. package/dist/cjs/uikit/ErrorSummary.js +1 -1
  55. package/dist/cjs/uikit/{UIFileIcon.js → FileIcon.js} +7 -2
  56. package/dist/cjs/uikit/FileList.js +24 -0
  57. package/dist/cjs/uikit/FlexDiv.js +1 -1
  58. package/dist/cjs/uikit/Grouper.js +4 -4
  59. package/dist/cjs/uikit/Icon.js +2 -2
  60. package/dist/cjs/uikit/IconButton.js +4 -4
  61. package/dist/cjs/uikit/{UILabel.js → Label.js} +3 -3
  62. package/dist/cjs/uikit/Pager.js +2 -2
  63. package/dist/cjs/uikit/{MessageInput.js → PromptInput.js} +10 -11
  64. package/dist/cjs/uikit/RadioButton.js +5 -5
  65. package/dist/cjs/uikit/RadioButtonList.js +6 -6
  66. package/dist/cjs/uikit/Slider.js +2 -2
  67. package/dist/cjs/uikit/TabBar.js +5 -5
  68. package/dist/cjs/uikit/TextArea.js +7 -7
  69. package/dist/cjs/uikit/Textfield.js +7 -7
  70. package/dist/cjs/uikit/Tip.js +2 -2
  71. package/dist/cjs/uikit/Toast.js +3 -3
  72. package/dist/cjs/uikit/UploadArea.js +31 -0
  73. package/dist/css/type.module.css +55 -10
  74. package/dist/esm/chunks/{Avatar-D_muqPrW.js → Avatar-BtkvMV1v.js} +1 -1
  75. package/dist/esm/chunks/{AvatarGroup-D8Xmrn52.js → AvatarGroup-pbqdS56o.js} +1 -1
  76. package/dist/esm/chunks/{Badge-PPf5Uvw3.js → Badge-DtxDLSO0.js} +1 -1
  77. package/dist/esm/chunks/{UIButton-HssaFaip.js → Button-BUJkJqdO.js} +28 -33
  78. package/dist/esm/chunks/{UIButtonBar-CUat663I.js → ButtonBar-Bl0oCxd8.js} +5 -5
  79. package/dist/esm/chunks/{UICard-Dn5f3wg8.js → Card-Bjk0kgQh.js} +5 -5
  80. package/dist/esm/chunks/{CheckBox-CswFI0Xc.js → CheckBox-CvkZuSeB.js} +2 -2
  81. package/dist/esm/chunks/{UIChip-DqnGeVyR.js → Chip-o-YG_HAf.js} +5 -5
  82. package/dist/esm/chunks/{DivInput-iKFkeU2F.js → DivInput-D6ORPrkT.js} +2 -2
  83. package/dist/esm/chunks/{DrggablePanel-CYYwTmFd.js → DrggablePanel-DWrTjXvf.js} +1 -1
  84. package/dist/esm/chunks/{DropDown-D4t6EhKL.js → DropDown-BDIvYWI-.js} +2 -2
  85. package/dist/esm/chunks/{ErrorSummary-DhU5SKPt.js → ErrorSummary-DzDnacH0.js} +1 -1
  86. package/dist/esm/chunks/FileIcon-Cxh-QsYb.js +130 -0
  87. package/dist/esm/chunks/FileList-CdUgbpYF.js +161 -0
  88. package/dist/esm/chunks/{FlexDiv-CmMpORgn.js → FlexDiv-CFyndG99.js} +1 -1
  89. package/dist/esm/chunks/{Grouper-BbreOXI9.js → Grouper-NJbpaaQG.js} +3 -3
  90. package/dist/esm/chunks/{IconButton-hJDuWiDh.js → IconButton-3m9ugITV.js} +3 -3
  91. package/dist/esm/chunks/{UILabel-CpLi8OLx.js → Label-BRon-ejm.js} +17 -7
  92. package/dist/esm/chunks/{Pager-Beht2NyO.js → Pager-BHLyXq9p.js} +1 -1
  93. package/dist/esm/chunks/PromptInput-DodTBG82.js +210 -0
  94. package/dist/esm/chunks/{RadioButton-C4EhaRlp.js → RadioButton-D8otD_Jj.js} +2 -2
  95. package/dist/esm/chunks/{RadioButtonList-iVlML5jt.js → RadioButtonList-CtX1j7rO.js} +1 -1
  96. package/dist/esm/chunks/{Slider-C-PcWqTz.js → Slider-O6UelMjh.js} +1 -1
  97. package/dist/esm/chunks/{TabBar-CMfPQJj-.js → TabBar-C0NgwRa2.js} +4 -4
  98. package/dist/esm/chunks/{TextArea-CiHIh1P_.js → TextArea-DK0giDGR.js} +3 -3
  99. package/dist/esm/chunks/{TextField-6wse4On1.js → TextField-CQ4XYYNm.js} +5 -5
  100. package/dist/esm/chunks/{Tip-CeN0gy3B.js → Tip-iFECDhwN.js} +2 -2
  101. package/dist/esm/chunks/{Toast-C9P_ptX5.js → Toast-ZxMZtbd0.js} +17 -4
  102. package/dist/esm/chunks/UploadArea-C0YHy4Z9.js +147 -0
  103. package/dist/esm/chunks/{_types-BaYeLEWK.js → _types-RJ7q8S0B.js} +2 -2
  104. package/dist/esm/chunks/{utils-BRZK2Drn.js → utils-CZ1LWeN6.js} +2 -0
  105. package/dist/esm/chunks/windowStore-Cu4W4zJM.js +91 -0
  106. package/dist/esm/hooks/useKeyboardShortcuts.js +3 -1
  107. package/dist/esm/hooks/useObserveTheme.js +14 -8
  108. package/dist/esm/hooks/useTrackRenders.js +2 -1
  109. package/dist/esm/hooks/useWindow.js +30 -8
  110. package/dist/esm/index.js +31 -30
  111. package/dist/esm/providers/ThemeProvider.js +6 -3
  112. package/dist/esm/stores/window.js +2 -0
  113. package/dist/esm/stores.js +1 -0
  114. package/dist/esm/theme/type.js +99 -18
  115. package/dist/esm/uikit/Avatar.js +1 -1
  116. package/dist/esm/uikit/AvatarGroup.js +2 -2
  117. package/dist/esm/uikit/Badge.js +1 -1
  118. package/dist/esm/uikit/{UIButton.js → Button.js} +6 -6
  119. package/dist/esm/uikit/{UIButtonBar.js → ButtonBar.js} +5 -5
  120. package/dist/esm/uikit/{UICard.js → Card.js} +3 -3
  121. package/dist/esm/uikit/CheckBox.js +3 -3
  122. package/dist/esm/uikit/{UIChip.js → Chip.js} +3 -3
  123. package/dist/esm/uikit/DivInput.js +2 -2
  124. package/dist/esm/uikit/DraggablePanel.js +2 -2
  125. package/dist/esm/uikit/DropDown.js +3 -3
  126. package/dist/esm/uikit/ErrorSummary.js +1 -1
  127. package/dist/esm/uikit/{UIFileIcon.js → FileIcon.js} +2 -1
  128. package/dist/esm/uikit/FileList.js +18 -0
  129. package/dist/esm/uikit/FlexDiv.js +1 -1
  130. package/dist/esm/uikit/Grouper.js +4 -4
  131. package/dist/esm/uikit/Icon.js +2 -2
  132. package/dist/esm/uikit/IconButton.js +4 -4
  133. package/dist/esm/uikit/{UILabel.js → Label.js} +2 -2
  134. package/dist/esm/uikit/Pager.js +2 -2
  135. package/dist/esm/uikit/{MessageInput.js → PromptInput.js} +9 -10
  136. package/dist/esm/uikit/RadioButton.js +5 -5
  137. package/dist/esm/uikit/RadioButtonList.js +6 -6
  138. package/dist/esm/uikit/Slider.js +2 -2
  139. package/dist/esm/uikit/TabBar.js +5 -5
  140. package/dist/esm/uikit/TextArea.js +7 -7
  141. package/dist/esm/uikit/Textfield.js +7 -7
  142. package/dist/esm/uikit/Tip.js +2 -2
  143. package/dist/esm/uikit/Toast.js +3 -3
  144. package/dist/esm/uikit/{EditorButtonBar.js → UploadArea.js} +8 -11
  145. package/dist/types/hooks/index.d.ts +1 -1
  146. package/dist/types/hooks/useKeyboardShortcuts/useKeyboardShortcuts.d.ts +1 -0
  147. package/dist/types/hooks/useWindow/useWindow.d.ts +11 -2
  148. package/dist/types/index.d.ts +20 -21
  149. package/dist/types/providers/ThemeProvider.d.ts +1 -0
  150. package/dist/types/stores/index.d.ts +1 -0
  151. package/dist/types/stores/window/_types.d.ts +28 -0
  152. package/dist/types/stores/window/index.d.ts +2 -0
  153. package/dist/types/stores/window/windowStore.d.ts +17 -0
  154. package/dist/types/theme/type/types.d.ts +5 -0
  155. package/dist/types/uikit/{UIButton/UIButton.d.ts → Button/Button.d.ts} +3 -3
  156. package/dist/types/uikit/{UIButton → Button}/_types.d.ts +3 -3
  157. package/dist/types/uikit/Button/index.d.ts +2 -0
  158. package/dist/types/uikit/ButtonBar/ButtonBar.d.ts +2 -0
  159. package/dist/types/uikit/{UIButtonBar → ButtonBar}/_types.d.ts +2 -2
  160. package/dist/types/uikit/ButtonBar/index.d.ts +2 -0
  161. package/dist/types/uikit/Card/Card.d.ts +3 -0
  162. package/dist/types/uikit/{UICard → Card}/_types.d.ts +2 -2
  163. package/dist/types/uikit/Card/index.d.ts +2 -0
  164. package/dist/types/uikit/Chip/Chip.d.ts +3 -0
  165. package/dist/types/uikit/{UIChip → Chip}/_types.d.ts +2 -2
  166. package/dist/types/uikit/Chip/index.d.ts +3 -0
  167. package/dist/types/uikit/FileIcon/FileIcon.d.ts +3 -0
  168. package/dist/types/uikit/FileIcon/_types.d.ts +27 -0
  169. package/dist/types/uikit/FileIcon/fileIconRegistry.d.ts +4 -0
  170. package/dist/types/uikit/FileIcon/index.d.ts +3 -0
  171. package/dist/types/uikit/FileList/FileList.d.ts +3 -0
  172. package/dist/types/uikit/FileList/_types.d.ts +24 -0
  173. package/dist/types/uikit/FileList/index.d.ts +2 -0
  174. package/dist/types/uikit/Label/Label.d.ts +2 -0
  175. package/dist/types/uikit/{UILabel → Label}/_types.d.ts +3 -2
  176. package/dist/types/uikit/Label/index.d.ts +2 -0
  177. package/dist/types/uikit/PromptInput/PromptInput.d.ts +63 -0
  178. package/dist/types/uikit/PromptInput/_types.d.ts +35 -0
  179. package/dist/types/uikit/PromptInput/index.d.ts +2 -0
  180. package/dist/types/uikit/UploadArea/UploadArea.d.ts +54 -0
  181. package/dist/types/uikit/UploadArea/_types.d.ts +46 -0
  182. package/dist/types/uikit/UploadArea/index.d.ts +3 -0
  183. package/dist/types/util/files.d.ts +9 -0
  184. package/dist/types/util/utils.d.ts +8 -0
  185. package/package.json +5 -2
  186. package/dist/cjs/chunks/EditorButtonBar-Gaxq4gul.js +0 -244
  187. package/dist/cjs/chunks/MessageInput-YV8cqU8h.js +0 -399
  188. package/dist/cjs/chunks/UIFileIcon-ZrbDIeYz.js +0 -54
  189. package/dist/cjs/uikit/EditorButtonBar.js +0 -28
  190. package/dist/esm/chunks/EditorButtonBar-15cTeQ-H.js +0 -242
  191. package/dist/esm/chunks/MessageInput-DByI4x7h.js +0 -397
  192. package/dist/esm/chunks/UIFileIcon-qGxIPsJJ.js +0 -52
  193. package/dist/types/uikit/EditorButtonBar/EditorButtonBar.d.ts +0 -4
  194. package/dist/types/uikit/EditorButtonBar/_Data.d.ts +0 -12
  195. package/dist/types/uikit/EditorButtonBar/_types.d.ts +0 -61
  196. package/dist/types/uikit/EditorButtonBar/index.d.ts +0 -2
  197. package/dist/types/uikit/MessageInput/ExcerptList/ExcerptList.d.ts +0 -2
  198. package/dist/types/uikit/MessageInput/ExcerptList/_types.d.ts +0 -15
  199. package/dist/types/uikit/MessageInput/FileList/FileList.d.ts +0 -2
  200. package/dist/types/uikit/MessageInput/FileList/_types.d.ts +0 -6
  201. package/dist/types/uikit/MessageInput/InputField/MessageInput.d.ts +0 -2
  202. package/dist/types/uikit/MessageInput/InputField/_types.d.ts +0 -39
  203. package/dist/types/uikit/MessageInput/UserList/UserList.d.ts +0 -5
  204. package/dist/types/uikit/MessageInput/UserList/_types.d.ts +0 -40
  205. package/dist/types/uikit/MessageInput/_Data.d.ts +0 -6
  206. package/dist/types/uikit/MessageInput/_types.d.ts +0 -42
  207. package/dist/types/uikit/MessageInput/index.d.ts +0 -4
  208. package/dist/types/uikit/UIButton/index.d.ts +0 -2
  209. package/dist/types/uikit/UIButtonBar/UIButtonBar.d.ts +0 -2
  210. package/dist/types/uikit/UIButtonBar/index.d.ts +0 -2
  211. package/dist/types/uikit/UICard/UICard.d.ts +0 -3
  212. package/dist/types/uikit/UICard/index.d.ts +0 -2
  213. package/dist/types/uikit/UIChip/UIChip.d.ts +0 -3
  214. package/dist/types/uikit/UIChip/index.d.ts +0 -3
  215. package/dist/types/uikit/UIFileIcon/UIFileIcon.d.ts +0 -3
  216. package/dist/types/uikit/UIFileIcon/_types.d.ts +0 -19
  217. package/dist/types/uikit/UIFileIcon/index.d.ts +0 -2
  218. package/dist/types/uikit/UILabel/UILabel.d.ts +0 -2
  219. package/dist/types/uikit/UILabel/index.d.ts +0 -2
@@ -1,399 +0,0 @@
1
- 'use strict';
2
-
3
- var tslib_es6 = require('./tslib.es6-4H29ixHs.js');
4
- var jsxRuntime = require('react/jsx-runtime');
5
- var react = require('motion/react');
6
- var React = require('react');
7
- var hooks_useTheme = require('../hooks/useTheme.js');
8
- require('../theme/colors.js');
9
- require('../hooks/useWindow.js');
10
- var UIButton = require('./UIButton-W-WjUvVm.js');
11
- var _types = require('./_types-CoWzQFsT.js');
12
- var IconButton = require('./IconButton-CjiNliPL.js');
13
- var styleInject_es = require('./style-inject.es-XZHJH68X.js');
14
- var UIFileIcon = require('./UIFileIcon-ZrbDIeYz.js');
15
- var Avatar = require('./Avatar-8-wPWe0V.js');
16
-
17
- var css_248z$3 = ".flexBox-module_row__PWxbe {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowBetween__27lKK {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowStart__nJZnW {\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowEnd__dHcOU {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_column__MP2Xd {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStart__Kg8cV {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: flex-start;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStartCenter__zcmtk {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnBetween__157yI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnEnd__u2nwI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-end;\n\talign-items: flex-end;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.type-module_body-xs-regular__QWEzl {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-xs-medium__FxEAv {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-xs-bold__rf7AV {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.25px;\n}.type-module_body-s-regular__8-FO- {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-s-medium__qyYq- {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-s-bold__7GQ5Z {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-m-regular__Qtp5G {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-m-medium__Ieh9K {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-m-bold__0lZ3I {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-l-regular__Ar4d3 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-l-medium__6tV1n {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-l-bold__I8Q1v {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_heading-s-bold__QFgN8 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 650;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-s-medium__jGIb2 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-m-bold__tdBSi {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 650;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-m-medium__-7Uyu {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-l-medium__8hGYF {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\n\tfont-size: 28px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-l-bold__Cryjg {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 650;\n\tfont-size: 28px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n.ExcerptList-module_excerptList__1tvcr {\n\talign-items: flex-start;\n\twidth: 100%;\n\tflex-wrap: wrap;\n\tgap: 8px;\n}\n\n.ExcerptList-module_excerptButton__A3ZJh {\n\talign-items: flex-start;\n\tpadding: 10px 16px 14px 12px;\n\tbackground: var(--core-surface-primary);\n\tborder: 1px solid var(--core-outline-primary);\n\tborder-radius: 24px;\n\tmin-height: 48px;\n\tcursor: default;\n}\n\n.ExcerptList-module_icon__E8d4K {\n\theight: 20px;\n\twidth: 20px;\n}\n\n.ExcerptList-module_content__TBPjX {\n\tmax-width: 300px;\n\tpadding: 0px 16px 0px 8px;\n\tgap: 4px;\n}\n\n.ExcerptList-module_label__xv7up {\n\tcolor: var(--core-text-primary);\n\tmax-width: 300px;\n\tline-height: 1.5em;\n\toverflow: hidden;\n\tword-break: normal;\n\tdisplay: -webkit-box;\n\t-webkit-line-clamp: 3;\n\t-webkit-box-orient: vertical;\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n.ExcerptList-module_type__i9e14 {\n\tpadding-top: 4px;\n\tcolor: var(--core-text-disabled);\n\tgap: 4px;\n}\n\n.ExcerptList-module_typeIcon__WwWEY {\n\theight: 16px;\n\twidth: 16px;\n\toverflow: hidden;\n}\n";
18
- var css$3 = {"excerptList":"ExcerptList-module_excerptList__1tvcr flexBox-module_rowStart__nJZnW","excerptButton":"ExcerptList-module_excerptButton__A3ZJh flexBox-module_rowStart__nJZnW","icon":"ExcerptList-module_icon__E8d4K flexBox-module_row__PWxbe","content":"ExcerptList-module_content__TBPjX flexBox-module_columnStart__Kg8cV","label":"ExcerptList-module_label__xv7up type-module_body-m-regular__Qtp5G","type":"ExcerptList-module_type__i9e14 flexBox-module_rowStart__nJZnW type-module_body-xs-regular__QWEzl"};
19
- styleInject_es.styleInject(css_248z$3);
20
-
21
- const ExcerptList = React.memo(function ExcerptList(props) {
22
- const { excerpts = [], onChange = () => null, onToolTip = () => null, } = props;
23
- const theme = hooks_useTheme.useTheme();
24
- // memo remove file
25
- const handleRemoveFile = React.useCallback((content) => {
26
- const updatedList = excerpts.filter((excerpt) => {
27
- return content !== excerpt.content;
28
- });
29
- onChange(updatedList);
30
- }, [excerpts, onChange]);
31
- const excerptItems = React.useMemo(() => {
32
- return excerpts.map((excerpt, index) => {
33
- return (jsxRuntime.jsxs("div", { className: css$3.excerptButton, children: [jsxRuntime.jsxs("div", { className: css$3.content, children: [jsxRuntime.jsxs("div", { className: css$3.type, children: [jsxRuntime.jsx(_types.Icon, { name: "recent chats", size: 16, strokeColor: theme.current.colors['core-text-disabled'] }), excerpt.docTitle ? excerpt.docTitle : 'Document excerpt'] }), jsxRuntime.jsx("div", { className: css$3.label, children: excerpt.content })] }), jsxRuntime.jsx("div", { className: css$3.icon, children: jsxRuntime.jsx(IconButton.IconButton, { icon: 'x', hover: false, toggle: false, frameSize: 20, iconSize: 20, onClick: (e) => {
34
- e.stopPropagation();
35
- handleRemoveFile(excerpt.content);
36
- }, tooltip: 'remove excerpt', onToolTip: (tip) => onToolTip(tip) }) })] }, `${excerpt.content}-${index}`));
37
- });
38
- }, [excerpts, theme.current.colors, onToolTip, handleRemoveFile]);
39
- return (jsxRuntime.jsx("div", { className: css$3.excerptList, onKeyDown: (e) => e.stopPropagation(), onClick: (e) => e.stopPropagation(), children: excerptItems }));
40
- });
41
-
42
- var UIFileIcons;
43
- (function (UIFileIcons) {
44
- UIFileIcons["Pdf"] = "pdf";
45
- UIFileIcons["Document"] = "document";
46
- UIFileIcons["Spreadhseet"] = "spreadsheet";
47
- })(UIFileIcons || (UIFileIcons = {}));
48
-
49
- var css_248z$2 = ".flexBox-module_row__PWxbe {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowBetween__27lKK {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowStart__nJZnW {\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowEnd__dHcOU {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_column__MP2Xd {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStart__Kg8cV {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: flex-start;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStartCenter__zcmtk {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnBetween__157yI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnEnd__u2nwI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-end;\n\talign-items: flex-end;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.type-module_body-xs-regular__QWEzl {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-xs-medium__FxEAv {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-xs-bold__rf7AV {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.25px;\n}.type-module_body-s-regular__8-FO- {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-s-medium__qyYq- {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-s-bold__7GQ5Z {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-m-regular__Qtp5G {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-m-medium__Ieh9K {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-m-bold__0lZ3I {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-l-regular__Ar4d3 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-l-medium__6tV1n {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-l-bold__I8Q1v {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_heading-s-bold__QFgN8 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 650;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-s-medium__jGIb2 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-m-bold__tdBSi {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 650;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-m-medium__-7Uyu {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-l-medium__8hGYF {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\n\tfont-size: 28px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-l-bold__Cryjg {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 650;\n\tfont-size: 28px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n.FileList-module_fileList__uw9o6 {\n\talign-items: flex-start;\n\twidth: 100%;\n\tflex-wrap: wrap;\n\tgap: 8px;\n}\n\n.FileList-module_fileButton__XnXaN {\n\talign-items: flex-start;\n\tpadding: 10px 16px 14px 12px;\n\tbackground: var(--core-surface-primary);\n\tborder: 1px solid var(--core-outline-primary);\n\tborder-radius: 24px;\n\tmin-height: 48px;\n\tcursor: default;\n}\n\n.FileList-module_icon__fiu9M {\n\theight: 20px;\n\twidth: 20px;\n}\n\n.FileList-module_content__Kb8mh {\n\tmax-width: 300px;\n\tpadding: 0px 16px 0px 8px;\n\tgap: 4px;\n}\n\n.FileList-module_label__hoDXY {\n\tcolor: var(--core-text-primary);\n\tmax-width: 300px;\n\tline-height: 1.5em;\n\toverflow: hidden;\n\tword-break: normal;\n\tdisplay: -webkit-box;\n\t-webkit-line-clamp: 3;\n\t-webkit-box-orient: vertical;\n\tuser-select: none;\n\t-webkit-user-select: none;\n}\n\n.FileList-module_type__zOO2e {\n\tpadding-top: 4px;\n\tcolor: var(--core-text-disabled);\n\tgap: 4px;\n}\n\n.FileList-module_typeIcon__8SvkW {\n\theight: 16px;\n\twidth: 16px;\n\toverflow: hidden;\n}\n";
50
- var css$2 = {"fileList":"FileList-module_fileList__uw9o6 flexBox-module_rowStart__nJZnW","fileButton":"FileList-module_fileButton__XnXaN flexBox-module_rowStart__nJZnW","icon":"FileList-module_icon__fiu9M flexBox-module_row__PWxbe","content":"FileList-module_content__Kb8mh flexBox-module_columnStart__Kg8cV","label":"FileList-module_label__hoDXY type-module_body-m-regular__Qtp5G","type":"FileList-module_type__zOO2e flexBox-module_rowStart__nJZnW type-module_body-xs-regular__QWEzl"};
51
- styleInject_es.styleInject(css_248z$2);
52
-
53
- const FileList = React.memo(function FileList(props) {
54
- const { files = [], onChange = () => null, onToolTip = () => null } = props;
55
- const handleRemoveFile = React.useCallback((fileName) => {
56
- const updatedList = files.filter((file) => {
57
- return file.name !== fileName;
58
- });
59
- onChange(updatedList);
60
- }, [files, onChange]);
61
- const fileType = React.useCallback((file) => {
62
- switch (file.type) {
63
- case 'text/plain':
64
- return 'Text file';
65
- case 'text/html':
66
- return 'Web HTML file';
67
- case 'text/csv':
68
- return 'CSV spread shseet';
69
- case 'application/pdf':
70
- return 'PDF document';
71
- case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':
72
- case 'application/docx':
73
- return 'Word document';
74
- default:
75
- return 'Unknown file type';
76
- }
77
- }, []);
78
- const fileIcon = React.useCallback((file) => {
79
- switch (file.type) {
80
- case 'text/plain':
81
- case 'text/html':
82
- case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':
83
- return UIFileIcons.Document;
84
- case 'text/csv':
85
- return UIFileIcons.Spreadhseet;
86
- case 'application/pdf':
87
- return UIFileIcons.Pdf;
88
- default:
89
- return UIFileIcons.Document;
90
- }
91
- }, []);
92
- const handleRemoveClick = React.useCallback((e, fileName) => {
93
- e.stopPropagation();
94
- handleRemoveFile(fileName);
95
- }, [handleRemoveFile]);
96
- return (jsxRuntime.jsx("div", { className: css$2.fileList, children: files.map((file, index) => {
97
- return (jsxRuntime.jsxs("div", { className: css$2.fileButton, children: [jsxRuntime.jsxs("div", { className: css$2.content, children: [jsxRuntime.jsxs("div", { className: css$2.type, children: [jsxRuntime.jsx(UIFileIcon.UIFileIcon, { name: fileIcon(file), size: 18 }), fileType(file)] }), jsxRuntime.jsx("div", { className: css$2.label, children: file.name })] }), jsxRuntime.jsx("div", { className: css$2.icon, children: jsxRuntime.jsx(IconButton.IconButton, { icon: 'x', hover: false, toggle: false, frameSize: 20, iconSize: 20, onClick: (e) => handleRemoveClick(e, file.name), tooltip: 'remove file', onToolTip: (tip) => onToolTip(tip) }) })] }, `${file.name}-${index}`));
98
- }) }));
99
- });
100
-
101
- var css_248z$1 = ".flexBox-module_row__PWxbe {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowBetween__27lKK {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowStart__nJZnW {\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowEnd__dHcOU {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_column__MP2Xd {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStart__Kg8cV {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: flex-start;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStartCenter__zcmtk {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnBetween__157yI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnEnd__u2nwI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-end;\n\talign-items: flex-end;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.type-module_body-xs-regular__QWEzl {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-xs-medium__FxEAv {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-xs-bold__rf7AV {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.25px;\n}.type-module_body-s-regular__8-FO- {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-s-medium__qyYq- {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-s-bold__7GQ5Z {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-m-regular__Qtp5G {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-m-medium__Ieh9K {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-m-bold__0lZ3I {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-l-regular__Ar4d3 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-l-medium__6tV1n {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-l-bold__I8Q1v {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_heading-s-bold__QFgN8 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 650;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-s-medium__jGIb2 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-m-bold__tdBSi {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 650;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-m-medium__-7Uyu {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-l-medium__8hGYF {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\n\tfont-size: 28px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-l-bold__Cryjg {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 650;\n\tfont-size: 28px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n.UserList-module_promptList__M6-D9 {\n\twidth: 100%;\n\tgap: 8px;\n}\n\n@keyframes UserList-module_blink__695OA {\n\t0% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n\n.UserList-module_userPrompt__YyVU5 {\n\talign-items: flex-start;\n\tpadding: 10px 12px;\n\tborder-radius: 24px;\n\tbackground: var(--core-surface-primary);\n\tborder: 1px solid var(--core-outline-primary);\n\tcursor: default;\n}\n\n.UserList-module_avatar__WvAyh {\n\theight: 24px;\n\twidth: 24px;\n}\n\n.UserList-module_prompt__2on5a {\n\tflex: 1;\n\tpadding: 0px 16px 0px 8px;\n\tcolor: var(--core-text-tertiary);\n\tfont-weight: 380;\n\tline-height: 1.5em;\n\tmin-height: 24px;\n}\n\n.UserList-module_promptStrong__-2WPf {\n\tfont-size: inherit;\n\tfont-weight: inherit;\n\tline-height: inherit;\n\tcolor: var(--core-text-primary);\n}\n\n.UserList-module_promptParagraph__L6phk {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.UserList-module_control__iBmvg {\n\tborder-radius: 100%;\n\tborder: 1px solid var(--control-border-color);\n\theight: 24px;\n\twidth: 24px;\n\tcursor: pointer;\n}\n\n.UserList-module_cursor__xmRjh {\n\tdisplay: block;\n\tbackground: var(--cursor-background);\n\tmin-width: 0.5em;\n\tmin-height: 0.5em;\n\twidth: 0.5em;\n\theight: 0.5em;\n\tborder-radius: var(--cursor-border-radius);\n\tanimation: var(--cursor-animation);\n}\n";
102
- var css$1 = {"promptList":"UserList-module_promptList__M6-D9 flexBox-module_columnStart__Kg8cV","userPrompt":"UserList-module_userPrompt__YyVU5 flexBox-module_rowStart__nJZnW","avatar":"UserList-module_avatar__WvAyh flexBox-module_row__PWxbe","prompt":"UserList-module_prompt__2on5a flexBox-module_rowStart__nJZnW type-module_body-s-regular__8-FO-","promptStrong":"UserList-module_promptStrong__-2WPf","promptParagraph":"UserList-module_promptParagraph__L6phk","control":"UserList-module_control__iBmvg flexBox-module_row__PWxbe","cursor":"UserList-module_cursor__xmRjh"};
103
- styleInject_es.styleInject(css_248z$1);
104
-
105
- var PrompState;
106
- (function (PrompState) {
107
- PrompState["Idle"] = "idle";
108
- PrompState["Disabled"] = "disabled";
109
- PrompState["Enabled"] = "enabled";
110
- })(PrompState || (PrompState = {}));
111
- var Role$1;
112
- (function (Role) {
113
- Role["Owner"] = "owner";
114
- Role["Editor"] = "editor";
115
- Role["Viewer"] = "viewer";
116
- })(Role$1 || (Role$1 = {}));
117
-
118
- function UserListComponent(props) {
119
- const theme = hooks_useTheme.useTheme();
120
- const { userPresence = [], onTogglePrompt = () => null, owner = '', currentUser = '', presenceID = '', } = props;
121
- const [userList, setUserList] = React.useState(userPresence);
122
- React.useEffect(() => setUserList(userPresence), [userPresence]);
123
- const handleTogglePrompt = React.useCallback((user) => {
124
- if (currentUser !== owner)
125
- return;
126
- let promptState = PrompState.Disabled;
127
- if (user.promptState) {
128
- promptState =
129
- user.promptState === PrompState.Disabled
130
- ? PrompState.Enabled
131
- : PrompState.Disabled;
132
- }
133
- const presenceUpdate = Object.assign(Object.assign({}, user), { promptState });
134
- onTogglePrompt(presenceUpdate);
135
- }, [currentUser, owner, onTogglePrompt]);
136
- const getCssVars = React.useCallback((enabled) => ({
137
- '--control-border-color': enabled
138
- ? theme.current.colors['core-outline-primary']
139
- : theme.current.colors['feedback-warning'],
140
- '--cursor-background': enabled
141
- ? theme.current.colors['core-icon-primary']
142
- : theme.current.colors['feedback-warning'],
143
- '--cursor-border-radius': enabled ? '100px' : '2px',
144
- '--cursor-animation': enabled ? 'blink 2s infinite' : 'none',
145
- }), [theme.current.colors]);
146
- const renderedUserList = React.useMemo(() => userList.map((user, index) => {
147
- if (user.id === presenceID)
148
- return null;
149
- if (!user.promptContent || user.promptContent === '')
150
- return null;
151
- const enabled = user.promptState !== PrompState.Disabled;
152
- const cssVars = getCssVars(enabled);
153
- return (jsxRuntime.jsxs("div", { className: css$1.userPrompt, onClick: (e) => e.stopPropagation(), onKeyDown: (e) => e.stopPropagation(), children: [jsxRuntime.jsx("div", { className: css$1.avatar, children: jsxRuntime.jsx(Avatar.Avatar, { size: 20, first: user.first, last: user.last, image: user.avatar, bgColor: user.bgColor, color: user.color, border: 0 }) }), jsxRuntime.jsx("div", { className: css$1.prompt, children: jsxRuntime.jsxs("p", { className: css$1.promptParagraph, children: [jsxRuntime.jsxs("strong", { className: css$1.promptStrong, children: [user.first, ":"] }), ' ', user.promptContent] }) }), currentUser === owner &&
154
- currentUser !== user.email &&
155
- user.promptContent !== '' && (jsxRuntime.jsx("div", { className: css$1.control, style: cssVars, role: 'button', "aria-label": 'Stop/Play', onKeyDown: () => handleTogglePrompt(user), onClick: () => handleTogglePrompt(user), tabIndex: 0, children: jsxRuntime.jsx("span", { className: css$1.cursor }) }))] }, `${user.email}-${index}`));
156
- }), [userList, presenceID, currentUser, owner, getCssVars, handleTogglePrompt]);
157
- return jsxRuntime.jsx("div", { className: css$1.promptList, children: renderedUserList });
158
- }
159
- const UserList = React.memo(UserListComponent);
160
-
161
- var PromptType;
162
- (function (PromptType) {
163
- PromptType[PromptType["none"] = -1] = "none";
164
- PromptType[PromptType["text"] = 0] = "text";
165
- PromptType[PromptType["expand"] = 1] = "expand";
166
- PromptType[PromptType["summarize"] = 2] = "summarize";
167
- PromptType[PromptType["research"] = 3] = "research";
168
- PromptType[PromptType["translate"] = 4] = "translate";
169
- PromptType[PromptType["shorten"] = 5] = "shorten";
170
- PromptType[PromptType["file"] = 6] = "file";
171
- PromptType[PromptType["compliance"] = 7] = "compliance";
172
- })(PromptType || (PromptType = {}));
173
- var Role;
174
- (function (Role) {
175
- Role["USER"] = "user";
176
- Role["ASSISTANT"] = "assistant";
177
- Role["TOOL"] = "tool";
178
- Role["SYSTEM"] = "system";
179
- })(Role || (Role = {}));
180
-
181
- var css_248z = ".flexBox-module_row__PWxbe {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowBetween__27lKK {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowStart__nJZnW {\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowEnd__dHcOU {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_column__MP2Xd {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStart__Kg8cV {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: flex-start;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStartCenter__zcmtk {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnBetween__157yI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnEnd__u2nwI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-end;\n\talign-items: flex-end;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.type-module_body-xs-regular__QWEzl {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-xs-medium__FxEAv {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-xs-bold__rf7AV {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.25px;\n}.type-module_body-s-regular__8-FO- {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-s-medium__qyYq- {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-s-bold__7GQ5Z {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-m-regular__Qtp5G {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-m-medium__Ieh9K {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-m-bold__0lZ3I {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-l-regular__Ar4d3 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-l-medium__6tV1n {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-l-bold__I8Q1v {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_heading-s-bold__QFgN8 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 650;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-s-medium__jGIb2 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-m-bold__tdBSi {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 650;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-m-medium__-7Uyu {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-l-medium__8hGYF {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\n\tfont-size: 28px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-l-bold__Cryjg {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 650;\n\tfont-size: 28px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n.MessageInput-module_wrapper__CDukE {\n\talign-self: center;\n\twidth: 100%;\n\tmin-width: 300px;\n\toverflow: visible;\n\toverflow-y: hidden;\n\tpadding: var(--wrapper-padding);\n\tborder-radius: 16px;\n\tbackground: var(--core-surface-primary);\n\tbox-shadow: var(--wrapper-shadow);\n\toutline: none;\n\ttransition: all 0.3s ease-in-out 0s;\n}\n\n.MessageInput-module_wrapper__CDukE.MessageInput-module_focused__DTxPV {\n\tbox-shadow: var(--wrapper-shadow-focused);\n}\n\n.MessageInput-module_textarea__p5ot8 {\n\twidth: 100%;\n\toverflow-y: hidden;\n\tresize: none;\n\tborder: 0;\n\toutline: none;\n\tcolor: var(--core-text-primary);\n\tbackground: transparent;\n\tpadding: 0 0 5px;\n}\n\n.MessageInput-module_textarea__p5ot8::placeholder {\n\tcolor: var(--core-text-disabled);\n}\n\n.MessageInput-module_buttonRow__cbSNm {\n\twidth: 100%;\n\tpadding: 0;\n}\n\n.MessageInput-module_actionButtons__mtfoV {\n\tcolor: var(--core-text-disabled);\n\tz-index: 1;\n\tgap: 12px;\n}\n\n.MessageInput-module_send__UksvP {\n\tposition: relative;\n}\n\n.MessageInput-module_inputWrapper__sB-l0 {\n\talign-items: flex-end;\n\twidth: 100%;\n\tpadding: var(--input-wrapper-padding);\n}\n";
182
- var css = {"wrapper":"MessageInput-module_wrapper__CDukE flexBox-module_columnEnd__u2nwI","textarea":"MessageInput-module_textarea__p5ot8 type-module_body-m-regular__Qtp5G","buttonRow":"MessageInput-module_buttonRow__cbSNm flexBox-module_rowBetween__27lKK","actionButtons":"MessageInput-module_actionButtons__mtfoV flexBox-module_row__PWxbe type-module_body-m-regular__Qtp5G","send":"MessageInput-module_send__UksvP flexBox-module_row__PWxbe","inputWrapper":"MessageInput-module_inputWrapper__sB-l0 flexBox-module_columnEnd__u2nwI"};
183
- styleInject_es.styleInject(css_248z);
184
-
185
- function MessageInput(props) {
186
- var _a, _b, _c, _d;
187
- const { maxHeight = 300, focused = false, error = null, value = '', placeholder = 'Ask me anytning HR compliance', isStreaming = false, isFetching = false, isShort = true, jurisdiction = null, files = [], excerpts = [], users = [], currentUser, presenceID, owner, jurisdictionClick = () => null, attachClick = () => null, onChangeFiles = () => null, onChangeExcerpts = () => null, onTogglePrompt = () => null, onChange = () => null, onBlur = () => null, onFocus = () => null, onStop = () => null, onSend = () => null, onToolTip = () => null } = props, divAttributes = tslib_es6.__rest(props, ["maxHeight", "focused", "error", "value", "placeholder", "isStreaming", "isFetching", "isShort", "jurisdiction", "files", "excerpts", "users", "currentUser", "presenceID", "owner", "jurisdictionClick", "attachClick", "onChangeFiles", "onChangeExcerpts", "onTogglePrompt", "onChange", "onBlur", "onFocus", "onStop", "onSend", "onToolTip"]);
188
- const { id: divId, className, style } = divAttributes, rest = tslib_es6.__rest(divAttributes, ["id", "className", "style"]);
189
- const divStyle = style !== null && style !== void 0 ? style : {};
190
- const divClass = className ? ` ${className}` : '';
191
- const theme = hooks_useTheme.useTheme();
192
- const ref = React.useRef(null);
193
- const wrapperRef = React.useRef(null);
194
- const [message, setMessage] = React.useState(value);
195
- const [isFocused, setIsFocused] = React.useState(focused);
196
- const [promptType, setPromptType] = React.useState(PromptType.text);
197
- const [invalid, setInvalid] = React.useState(error);
198
- const [remoteDisabled, setRemoteDisabled] = React.useState(false);
199
- // reset size if the wrapper size changes
200
- React.useEffect(() => {
201
- if (ref === null || ref === void 0 ? void 0 : ref.current) {
202
- ref.current.style.height = '0px';
203
- ref.current.style.height = `${Math.min(ref.current.scrollHeight, maxHeight)}px`;
204
- }
205
- }, [maxHeight]);
206
- // reset the message text of the active document is changed
207
- React.useEffect(() => setMessage(value), [value]);
208
- // enable setting focus byt changing the focus prop
209
- React.useEffect(() => {
210
- if (ref === null || ref === void 0 ? void 0 : ref.current) {
211
- if (focused)
212
- ref.current.focus();
213
- else
214
- ref.current.blur();
215
- setIsFocused(focused);
216
- }
217
- }, [focused]);
218
- // disabled prompt if remote owner disabled the user
219
- React.useEffect(() => {
220
- if (users.length > 0) {
221
- const myPresensce = users.filter((user) => {
222
- return user.email === currentUser;
223
- });
224
- if (myPresensce && myPresensce.length > 0) {
225
- setRemoteDisabled(myPresensce[0].promptState === PrompState.Disabled);
226
- }
227
- return;
228
- }
229
- setRemoteDisabled(false);
230
- }, [users, currentUser]);
231
- // update error is prop changes
232
- React.useEffect(() => setInvalid(error), [error]);
233
- const resetHeight = React.useCallback(() => {
234
- if (ref === null || ref === void 0 ? void 0 : ref.current) {
235
- ref.current.style.height = '0px';
236
- ref.current.style.height = `${Math.min(ref.current.scrollHeight, maxHeight)}px`;
237
- }
238
- }, [maxHeight]);
239
- const doSubmit = React.useCallback((e) => {
240
- e === null || e === void 0 ? void 0 : e.preventDefault();
241
- e === null || e === void 0 ? void 0 : e.stopPropagation();
242
- onToolTip(null);
243
- if (message !== '' && ref.current) {
244
- const newMessage = {
245
- id: crypto.randomUUID(),
246
- content: message,
247
- timestamp: new Date().toISOString(),
248
- promptType,
249
- role: Role.USER,
250
- htmlContent: '',
251
- files,
252
- excerpts,
253
- done: false,
254
- };
255
- onSend(newMessage);
256
- setMessage('');
257
- onChange('');
258
- resetHeight();
259
- setIsFocused(false);
260
- ref.current.blur();
261
- ref.current.value = '';
262
- }
263
- }, [
264
- message,
265
- promptType,
266
- files,
267
- excerpts,
268
- onSend,
269
- onChange,
270
- resetHeight,
271
- onToolTip,
272
- ]);
273
- const handleKeyDown = React.useCallback((e) => {
274
- if (!e.shiftKey && e.key === 'Enter' && message !== '')
275
- doSubmit(e);
276
- else
277
- return;
278
- }, [message, doSubmit]);
279
- const setFocus = React.useCallback(() => {
280
- if (ref === null || ref === void 0 ? void 0 : ref.current) {
281
- ref.current.focus();
282
- setIsFocused(true);
283
- onFocus();
284
- }
285
- }, [onFocus]);
286
- const setBlur = React.useCallback(() => {
287
- if (ref === null || ref === void 0 ? void 0 : ref.current) {
288
- ref.current.blur();
289
- setIsFocused(false);
290
- onBlur();
291
- }
292
- }, [onBlur]);
293
- const setDisabled = React.useCallback(() => {
294
- if (remoteDisabled)
295
- return 'disabled';
296
- if (isStreaming)
297
- return 'normal';
298
- if (!isStreaming && files.length > 0)
299
- return 'normal';
300
- if (invalid && invalid !== '')
301
- return 'disabled';
302
- if (!isStreaming && isFetching)
303
- return 'disabled';
304
- if (!isStreaming && message === '')
305
- return 'disabled';
306
- return 'normal';
307
- }, [remoteDisabled, isStreaming, files.length, invalid, isFetching, message]);
308
- const iconColor = React.useCallback(() => {
309
- var _a, _b, _c, _d;
310
- if (isFetching || isStreaming) {
311
- if (theme.current.name === 'lightMode')
312
- return (_a = theme === null || theme === void 0 ? void 0 : theme.current.colors) === null || _a === void 0 ? void 0 : _a['core-text-light'];
313
- return (_b = theme === null || theme === void 0 ? void 0 : theme.current.colors) === null || _b === void 0 ? void 0 : _b['core-surface-primary'];
314
- }
315
- if (message === '') {
316
- return (_c = theme === null || theme === void 0 ? void 0 : theme.current.colors) === null || _c === void 0 ? void 0 : _c['core-surface-secondary'];
317
- }
318
- return (_d = theme === null || theme === void 0 ? void 0 : theme.current.colors) === null || _d === void 0 ? void 0 : _d['core-text-light'];
319
- }, [
320
- isFetching,
321
- isStreaming,
322
- theme.current.name,
323
- theme === null || theme === void 0 ? void 0 : theme.current.colors,
324
- message,
325
- ]);
326
- const handleUpload = React.useCallback((e, type) => {
327
- e === null || e === void 0 ? void 0 : e.preventDefault();
328
- e === null || e === void 0 ? void 0 : e.stopPropagation();
329
- setPromptType(type);
330
- attachClick(e);
331
- }, [attachClick]);
332
- const handleChange = React.useCallback((input) => {
333
- if (message !== input)
334
- onChange(input);
335
- setMessage(input);
336
- }, [message, onChange]);
337
- const handleStop = React.useCallback((e) => {
338
- e === null || e === void 0 ? void 0 : e.preventDefault();
339
- e === null || e === void 0 ? void 0 : e.stopPropagation();
340
- onToolTip(null);
341
- setBlur();
342
- onStop();
343
- }, [onToolTip, setBlur, onStop]);
344
- const working = React.useCallback(() => {
345
- if (isStreaming)
346
- return false;
347
- if (isFetching)
348
- return true;
349
- return false;
350
- }, [isStreaming, isFetching]);
351
- const toolTip = React.useCallback(() => {
352
- if (isStreaming)
353
- return 'Stop';
354
- if (isFetching)
355
- return 'Working ...';
356
- return 'Send';
357
- }, [isStreaming, isFetching]);
358
- const setJurisdiction = React.useCallback(() => {
359
- const country = jurisdiction === null || jurisdiction === void 0 ? void 0 : jurisdiction.country;
360
- const state = jurisdiction === null || jurisdiction === void 0 ? void 0 : jurisdiction.state;
361
- if (!country || country === 'None')
362
- return 'None';
363
- if (state !== 'None')
364
- return state;
365
- return country;
366
- }, [jurisdiction === null || jurisdiction === void 0 ? void 0 : jurisdiction.country, jurisdiction === null || jurisdiction === void 0 ? void 0 : jurisdiction.state]);
367
- // memo css vars
368
- const cssVars = React.useMemo(() => {
369
- const shadowValue = isShort ? 0 : 1;
370
- return {
371
- '--wrapper-padding': isShort
372
- ? '16px 12px 8px 16px'
373
- : '16px 12px 16px 16px',
374
- '--wrapper-shadow': `0 0 1px ${shadowValue}px transparent`,
375
- // biome-ignore lint/style/noUnusedTemplateLiteral: <explanation>
376
- '--wrapper-shadow-focused': `0 0 1px 2px var(--core-outline-special)`,
377
- '--input-wrapper-padding': isShort
378
- ? '4px 4px 0px 4px'
379
- : '4px 4px 16px 4px',
380
- };
381
- }, [isShort]);
382
- const wrapperClassName = [css.wrapper, isFocused ? 'focused' : '']
383
- .filter(Boolean)
384
- .join(' ');
385
- return (jsxRuntime.jsxs("div", Object.assign({ id: divId, className: `${wrapperClassName}${divClass}`, style: Object.assign(Object.assign({}, divStyle), cssVars), onKeyDown: () => null, onClick: () => {
386
- if (!isFocused)
387
- setFocus();
388
- }, ref: wrapperRef }, rest, { children: [jsxRuntime.jsx(react.AnimatePresence, { initial: false, children: excerpts.length > 0 && (jsxRuntime.jsx(ExcerptList, { excerpts: excerpts, onChange: (excerpts) => onChangeExcerpts(excerpts), onToolTip: (tip) => onToolTip(tip) })) }), jsxRuntime.jsx(react.AnimatePresence, { initial: false, children: files.length > 0 && (jsxRuntime.jsx(FileList, { files: files, onChange: (items) => onChangeFiles(items), onToolTip: (tip) => onToolTip(tip) })) }), jsxRuntime.jsx("div", { className: css.inputWrapper, style: cssVars, children: jsxRuntime.jsx("textarea", { id: 'messageInput', name: 'messageInput', className: css.textarea, ref: ref, value: message, onChange: ({ target }) => handleChange(target.value), onInput: () => resetHeight(), onKeyDown: (e) => handleKeyDown(e), placeholder: placeholder, disabled: isStreaming, onFocus: () => setFocus(), onBlur: () => setBlur(), rows: 1 }) }), jsxRuntime.jsx(react.AnimatePresence, { initial: false, children: users.length > 0 && (jsxRuntime.jsx(UserList, { userPresence: users, owner: owner, currentUser: currentUser, presenceID: presenceID, onTogglePrompt: (presence) => onTogglePrompt(presence), onToolTip: (tip) => onToolTip(tip) })) }), jsxRuntime.jsxs("div", { className: css.buttonRow, children: [jsxRuntime.jsxs("div", { className: css.actionButtons, children: [jsxRuntime.jsx(UIButton.UIButton, { variant: 'outline', iconLeft: 'plus', tooltip: 'Attach file', onClick: (e) => handleUpload(e, PromptType.file), size: 'medium', iconColor: theme.current.colors['core-icon-primary'], round: true, onToolTip: (tip) => onToolTip(tip) }), jsxRuntime.jsx(UIButton.UIButton, { paddingRight: 18, paddingLeft: 8, variant: 'outline', label: `Focus: ${setJurisdiction()}`, tooltip: 'Jurisdication Focus', onClick: (_e) => jurisdictionClick(), iconLeft: 'focus', size: 'medium', iconColor: theme.current.colors['core-icon-primary'], labelColor: (_a = theme === null || theme === void 0 ? void 0 : theme.current.colors) === null || _a === void 0 ? void 0 : _a['core-text-secondary'], onToolTip: (tip) => onToolTip(tip) })] }), jsxRuntime.jsx("div", { className: css.send, children: jsxRuntime.jsx(UIButton.UIButton, { variant: 'solid', iconLeft: isStreaming ? 'stop' : 'arrow up', bgColorDisabled: (_b = theme === null || theme === void 0 ? void 0 : theme.current.colors) === null || _b === void 0 ? void 0 : _b['core-badge-secondary'], bgColor: isFetching || isStreaming
389
- ? (_c = theme === null || theme === void 0 ? void 0 : theme.current.colors) === null || _c === void 0 ? void 0 : _c['core-text-primary']
390
- : (_d = theme === null || theme === void 0 ? void 0 : theme.current.colors) === null || _d === void 0 ? void 0 : _d['core-button-primary'], iconColor: iconColor(), state: setDisabled(), size: 'medium', progress: true, working: working(), round: true, onClick: (e) => {
391
- if (isStreaming)
392
- handleStop(e);
393
- if (isFetching)
394
- return;
395
- doSubmit(e);
396
- }, tooltip: toolTip(), onToolTip: (tip) => onToolTip(tip) }) })] })] })));
397
- }
398
-
399
- exports.MessageInput = MessageInput;
@@ -1,54 +0,0 @@
1
- 'use strict';
2
-
3
- var tslib_es6 = require('./tslib.es6-4H29ixHs.js');
4
- var jsxRuntime = require('react/jsx-runtime');
5
- var React = require('react');
6
- var hooks_useTheme = require('../hooks/useTheme.js');
7
- require('../theme/colors.js');
8
- require('../hooks/useWindow.js');
9
-
10
- const UIFileIcon = React.memo((props) => {
11
- var _a, _b;
12
- const { name = 'document', size = 20, pointer = false, disabled = false, onClick = () => null } = props, svgAttributes = tslib_es6.__rest(props, ["name", "size", "pointer", "disabled", "onClick"]);
13
- const { id: svgId, className, style } = svgAttributes, rest = tslib_es6.__rest(svgAttributes, ["id", "className", "style"]);
14
- const theme = hooks_useTheme.useTheme();
15
- const handleKeyDown = React.useCallback((e) => {
16
- if (e.key === 'Enter' || e.key === ' ') {
17
- e.preventDefault();
18
- onClick(e);
19
- }
20
- }, [onClick]);
21
- const FileIcon = React.useMemo(() => {
22
- return [
23
- {
24
- name: 'pdf',
25
- icon: (jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 20 20", style: {
26
- cursor: disabled ? 'default' : pointer ? 'pointer' : 'inherit',
27
- }, onClick: (e) => onClick(e), onKeyDown: handleKeyDown, tabIndex: pointer ? 0 : -1, fill: "none", role: "img", "aria-label": "PDF document icon", children: [jsxRuntime.jsx("title", { children: "PDF document" }), jsxRuntime.jsx("path", { d: "M 4.5 19 L 15.5 19 C 16.328 19 17 18.328 17 17.5 L 17 5 L 14.5 5 C 13.672 5 13 4.328 13 3.5 L 13 1 L 4.5 1 C 3.672 1 3 1.672 3 2.5 L 3 17.5 C 3 18.328 3.672 19 4.5 19 Z", fill: "rgb(250,15,0)" }), jsxRuntime.jsx("path", { d: "M 5.516 9.416 L 7.237 9.416 C 7.485 9.416 7.7 9.464 7.884 9.56 C 8.068 9.654 8.21 9.788 8.309 9.96 C 8.409 10.133 8.458 10.334 8.458 10.563 C 8.458 10.79 8.408 10.99 8.309 11.164 C 8.209 11.338 8.067 11.474 7.882 11.572 C 7.682 11.673 7.461 11.723 7.237 11.718 L 6.502 11.718 L 6.502 13 L 5.516 13 Z M 7.069 10.932 C 7.175 10.937 7.278 10.902 7.359 10.834 C 7.432 10.764 7.471 10.665 7.467 10.564 C 7.467 10.446 7.431 10.357 7.359 10.294 C 7.277 10.229 7.174 10.196 7.069 10.202 L 6.502 10.202 L 6.502 10.932 Z M 8.836 9.416 L 10.248 9.416 C 10.618 9.416 10.941 9.489 11.214 9.636 C 11.489 9.781 11.701 9.988 11.849 10.258 C 11.997 10.527 12.071 10.843 12.071 11.208 C 12.071 11.573 11.997 11.89 11.849 12.16 C 11.704 12.426 11.483 12.643 11.214 12.783 C 10.915 12.934 10.583 13.008 10.248 13 L 8.836 13 Z M 10.223 12.214 C 10.389 12.214 10.533 12.174 10.653 12.097 C 10.778 12.013 10.875 11.894 10.931 11.755 C 11 11.581 11.034 11.395 11.029 11.208 C 11.034 11.022 11.001 10.837 10.931 10.664 C 10.875 10.524 10.778 10.403 10.653 10.319 C 10.524 10.239 10.375 10.198 10.223 10.202 L 9.823 10.202 L 9.823 12.214 Z M 12.53 9.416 L 15.182 9.416 L 15.182 10.202 L 13.517 10.202 L 13.517 10.759 L 14.715 10.759 L 14.715 11.545 L 13.517 11.545 L 13.517 13 L 12.53 13 Z", fill: theme.current.colors['core-icon-light'] }), jsxRuntime.jsx("path", { d: "M 13 1 L 15 3 L 17 5 L 14 5 C 13.448 5 13 4.552 13 4 Z", fill: theme.current.coreColors['brand-purple-300'] })] })),
28
- },
29
- {
30
- name: 'spreadsheet',
31
- icon: (jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 20 20", style: {
32
- cursor: disabled ? 'default' : pointer ? 'pointer' : 'inherit',
33
- }, onClick: (e) => onClick(e), onKeyDown: handleKeyDown, tabIndex: pointer ? 0 : -1, fill: "none", role: "img", "aria-label": "Spreadsheet document icon", children: [jsxRuntime.jsx("title", { children: "Spreadsheet document" }), jsxRuntime.jsx("path", { d: "M 4.5 19 L 15.5 19 C 16.328 19 17 18.328 17 17.5 L 17 5 L 14.5 5 C 13.672 5 13 4.328 13 3.5 L 13 1 L 4.5 1 C 3.672 1 3 1.672 3 2.5 L 3 17.5 C 3 18.328 3.672 19 4.5 19 Z", fill: theme.current.coreColors['brand-land-700'] }), jsxRuntime.jsx("path", { d: "M 5 8 L 11 8 L 11 9.5 L 5 9.5 Z M 12 8 L 15 8 L 15 9.5 L 12 9.5 Z M 5 11 L 11 11 L 11 12.5 L 5 12.5 Z M 12 11 L 15 11 L 15 12.5 L 12 12.5 Z M 5 14 L 11 14 L 11 15.5 L 5 15.5 Z M 12 14 L 15 14 L 15 15.5 L 12 15.5 Z", fill: theme.current.colors['core-icon-light'] }), jsxRuntime.jsx("path", { d: "M 13 1 L 15 3 L 17 5 L 14 5 C 13.448 5 13 4.552 13 4 Z", fill: theme.current.coreColors['brand-purple-300'] })] })),
34
- },
35
- {
36
- name: 'document',
37
- icon: (jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 20 20", style: {
38
- cursor: disabled ? 'default' : pointer ? 'pointer' : 'inherit',
39
- }, onClick: (e) => onClick(e), onKeyDown: handleKeyDown, tabIndex: pointer ? 0 : -1, fill: "none", role: "img", "aria-label": "Document icon", children: [jsxRuntime.jsx("title", { children: "Document" }), jsxRuntime.jsx("path", { d: "M 4.5 19 L 15.5 19 C 16.328 19 17 18.328 17 17.5 L 17 5 L 14.5 5 C 13.672 5 13 4.328 13 3.5 L 13 1 L 4.5 1 C 3.672 1 3 1.672 3 2.5 L 3 17.5 C 3 18.328 3.672 19 4.5 19 Z", fill: theme.current.colors['core-badge-primary'] }), jsxRuntime.jsx("path", { d: "M 6 14 L 14 14 M 6 10 L 12 10", fill: "transparent", strokeWidth: "1.5", stroke: theme.current.colors['core-icon-light'], strokeMiterlimit: "10", strokeDasharray: "" }), jsxRuntime.jsx("path", { d: "M 13 1 L 15 3 L 17 5 L 14 5 C 13.448 5 13 4.552 13 4 Z", fill: theme.current.coreColors['brand-purple-300'] })] })),
40
- },
41
- ];
42
- }, [size, disabled, onClick, pointer, theme, handleKeyDown]);
43
- // get the right icon in the array
44
- const svgElement = FileIcon.filter((icon) => {
45
- return icon.name.toLowerCase() === name.toLowerCase();
46
- });
47
- if (svgElement.length > 0) {
48
- const iconNode = svgElement[0].icon;
49
- return React.cloneElement(iconNode, Object.assign({ id: svgId, className, style: Object.assign(Object.assign({}, (style !== null && style !== void 0 ? style : {})), ((_b = (_a = iconNode.props) === null || _a === void 0 ? void 0 : _a.style) !== null && _b !== void 0 ? _b : {})), onClick: (e) => onClick(e) }, rest));
50
- }
51
- return null;
52
- });
53
-
54
- exports.UIFileIcon = UIFileIcon;
@@ -1,28 +0,0 @@
1
- 'use strict';
2
-
3
- var EditorButtonBar = require('../chunks/EditorButtonBar-Gaxq4gul.js');
4
- require('../chunks/tslib.es6-4H29ixHs.js');
5
- require('react/jsx-runtime');
6
- require('react');
7
- require('../hooks/useTheme.js');
8
- require('../theme/themes.js');
9
- require('../theme/colors.js');
10
- require('../theme/corners.js');
11
- require('../theme/elevations.js');
12
- require('../theme/type.js');
13
- require('../hooks/useObserveTheme.js');
14
- require('../hooks/useWindow.js');
15
- require('../hooks/useObserveResize.js');
16
- require('../chunks/DropDown-D9sf_m2I.js');
17
- require('../chunks/_types-CoWzQFsT.js');
18
- require('../chunks/utils-CbayehuI.js');
19
- require('../chunks/style-inject.es-XZHJH68X.js');
20
- require('../chunks/IconButton-CjiNliPL.js');
21
- require('motion/react');
22
- require('../chunks/Badge-CMapJCij.js');
23
- require('../chunks/Dot-B5dO8kSS.js');
24
- require('../chunks/sharedTypes-BvTjh6M5.js');
25
-
26
-
27
-
28
- exports.EditorButtonBar = EditorButtonBar.EditorButtonBar;