@apple-pie/slice 0.1.31 → 0.1.33

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 (293) hide show
  1. package/README.md +35 -284
  2. package/dist/cjs/chunks/{AudioBubble-k7qS53g6.js → AudioBubble-_eYM1QMu.js} +4 -3
  3. package/dist/cjs/chunks/{Avatar-hP8GuwvD.js → Avatar-DTro_MXZ.js} +1 -1
  4. package/dist/cjs/chunks/{AvatarGroup-DMy34q7_.js → AvatarGroup-OPJJ_Te5.js} +1 -1
  5. package/dist/cjs/chunks/{Badge-D2TbyfJS.js → Badge-DWUeXxm2.js} +1 -1
  6. package/dist/cjs/chunks/{Button-CTsHZBEB.js → Button-CuGvPAkH.js} +1 -1
  7. package/dist/cjs/chunks/{ButtonBar-BRb1PTmw.js → ButtonBar-CbXToyfD.js} +1 -1
  8. package/dist/cjs/chunks/{Camera-CKv087kr.js → Camera-DjENiyud.js} +5 -4
  9. package/dist/cjs/chunks/{CheckBox-VRIL1FHh.js → CheckBox-DiJpbdy5.js} +1 -1
  10. package/dist/cjs/chunks/{Chip-Dr3vKvRY.js → Chip-kzOvEo0P.js} +1 -1
  11. package/dist/cjs/chunks/{DivInput-Ci0gaCWL.js → DivInput-B917fKB9.js} +1 -1
  12. package/dist/cjs/chunks/{Dot-C0MvSJOl.js → Dot-DaRF2JyO.js} +1 -1
  13. package/dist/cjs/chunks/{DrggablePanel-DflouLUs.js → DrggablePanel-CJTEmYW6.js} +4 -3
  14. package/dist/cjs/chunks/{DropDown-BS1H62yj.js → DropDown-DRSQvXCC.js} +1 -1
  15. package/dist/cjs/chunks/{ErrorSummary-B3tof7ir.js → ErrorSummary-ltiIsgJ6.js} +4 -3
  16. package/dist/cjs/chunks/{FileIcon-Te8MaqTs.js → FileIcon-WIVOTJLa.js} +5 -3
  17. package/dist/cjs/chunks/{FileList-CDcfKIV6.js → FileList-CzQZZErI.js} +1 -1
  18. package/dist/cjs/chunks/{FlexDiv-wO8IY0Zf.js → FlexDiv-CBENyLT4.js} +1 -1
  19. package/dist/cjs/chunks/{Grouper-DyGkzdvz.js → Grouper-Cd3AJEFv.js} +4 -3
  20. package/dist/cjs/chunks/{Icon-BFZ_5Qv3.js → Icon-DjvProjz.js} +4 -3
  21. package/dist/cjs/chunks/{IconButton-CgsuJIuF.js → IconButton-BuwQLUuj.js} +1 -1
  22. package/dist/cjs/chunks/{IndexedDB-Dgwal8na.js → IndexedDB-Ddhq6Gjd.js} +1 -1
  23. package/dist/cjs/chunks/{Label-BuyhcJbF.js → Label-d32ENzwL.js} +1 -1
  24. package/dist/cjs/chunks/Level-B8eT8XyV.js +58 -0
  25. package/dist/cjs/chunks/{MdStreamBuffer-CbG_VeRI.js → MdStreamBuffer-Chwibu07.js} +38 -16
  26. package/dist/cjs/chunks/{Modal-ByRyv3wy.js → Modal-CUAj4e6x.js} +34 -8
  27. package/dist/cjs/chunks/ModalController-BwFAVI5G.js +80 -0
  28. package/dist/cjs/chunks/{Overlay-FooE9M_s.js → Overlay-CaAA3ey5.js} +1 -1
  29. package/dist/cjs/chunks/{Pager-B-cuwffo.js → Pager-uExZ5E3x.js} +1 -1
  30. package/dist/cjs/chunks/{ProgressIndicator-ByZ_aYAZ.js → ProgressIndicator-DwqslY4o.js} +4 -3
  31. package/dist/cjs/chunks/{PromptInput--grtHPvy.js → PromptInput-Dl8l8cZv.js} +34 -30
  32. package/dist/cjs/chunks/{RadioButton-DP2X1dA_.js → RadioButton-DPpAOFQt.js} +1 -1
  33. package/dist/cjs/chunks/{RadioButtonList-COGNW5y3.js → RadioButtonList-IbPA6A3y.js} +1 -1
  34. package/dist/cjs/chunks/{Slider-G1a8UKef.js → Slider-D5oa7NGy.js} +1 -1
  35. package/dist/cjs/chunks/{Spacer-CsRCleXv.js → Spacer-DtUh2VLv.js} +1 -1
  36. package/dist/cjs/chunks/{Switch-OBVHKn_D.js → Switch-Bs0r5va5.js} +1 -1
  37. package/dist/cjs/chunks/{TabBar-C1HkBaxE.js → TabBar-BCSTg_Uc.js} +4 -3
  38. package/dist/cjs/chunks/{TextArea-BEmNI_HZ.js → TextArea-Dj7jsvVr.js} +1 -1
  39. package/dist/cjs/chunks/{TextField-D9_COA9H.js → TextField-DNP0wJla.js} +5 -4
  40. package/dist/cjs/chunks/{Tip-2W0u_oQN.js → Tip-awq6PDZa.js} +1 -1
  41. package/dist/cjs/chunks/{Toast-B9jX6ioq.js → Toast-xS1TC3Ba.js} +7 -6
  42. package/dist/cjs/chunks/{ToggleButton-C_Gu5dYR.js → ToggleButton-CqD5c6JA.js} +4 -3
  43. package/dist/cjs/chunks/{UploadArea-ENFAf4tE.js → UploadArea-CvWqk8YK.js} +1 -1
  44. package/dist/cjs/chunks/{WSConnection-CZ22tcLz.js → WSConnection-BACWw4TS.js} +1 -1
  45. package/dist/cjs/chunks/WebRTCConnection-DBeyg4j9.js +252 -0
  46. package/dist/cjs/chunks/{localDBStore-Ca73jeFf.js → localDBStore-wgCc1SmV.js} +1 -1
  47. package/dist/cjs/chunks/{microphoneStore-lxYIvhN8.js → microphoneStore-Dy5TwE2I.js} +27 -4
  48. package/dist/cjs/chunks/{misc-DZAbObFp.js → misc-BwQIEIuF.js} +1 -1
  49. package/dist/cjs/chunks/{sseStore-Bq7sVvyA.js → sseStore-CFFaYonG.js} +2 -2
  50. package/dist/cjs/chunks/{uploads-worker-CD-annza.js → uploads-worker-DWvOe9F8.js} +1 -1
  51. package/dist/cjs/chunks/{uploadsStore-CUeB10zx.js → uploadsStore-BCmts7Ie.js} +2 -2
  52. package/dist/cjs/chunks/{volumeStore-roYTyKJ2.js → volumeStore-BXFAQhvS.js} +5 -4
  53. package/dist/cjs/chunks/webRTCStore-DRjvbnve.js +55 -0
  54. package/dist/cjs/chunks/{windowStore-BdJv-RF0.js → windowStore-C4Bg6I9i.js} +1 -1
  55. package/dist/cjs/components/AudioBubble/index.js +6 -4
  56. package/dist/cjs/components/Avatar/index.js +3 -3
  57. package/dist/cjs/components/AvatarGroup/index.js +3 -3
  58. package/dist/cjs/components/Badge/index.js +2 -2
  59. package/dist/cjs/components/Button/index.js +9 -7
  60. package/dist/cjs/components/ButtonBar/index.js +6 -4
  61. package/dist/cjs/components/Camera/index.js +7 -5
  62. package/dist/cjs/components/CheckBox/index.js +6 -4
  63. package/dist/cjs/components/Chip/index.js +7 -5
  64. package/dist/cjs/components/DivInput/index.js +3 -3
  65. package/dist/cjs/components/Dot/index.js +2 -2
  66. package/dist/cjs/components/DraggablePanel/index.js +5 -3
  67. package/dist/cjs/components/DropDown/index.js +6 -4
  68. package/dist/cjs/components/ErrorSummary/index.js +5 -3
  69. package/dist/cjs/components/FileIcon/index.js +5 -3
  70. package/dist/cjs/components/FileList/index.js +7 -5
  71. package/dist/cjs/components/FlexDiv/index.js +2 -2
  72. package/dist/cjs/components/Grouper/index.js +7 -5
  73. package/dist/cjs/components/Icon/index.js +5 -3
  74. package/dist/cjs/components/IconButton/index.js +8 -6
  75. package/dist/cjs/components/Label/index.js +3 -3
  76. package/dist/cjs/components/Level/index.js +7 -0
  77. package/dist/cjs/components/Modal/index.js +10 -8
  78. package/dist/cjs/components/ModalController/index.js +6 -4
  79. package/dist/cjs/components/Overlay/index.js +2 -2
  80. package/dist/cjs/components/Pager/index.js +3 -3
  81. package/dist/cjs/components/Progress/index.js +5 -3
  82. package/dist/cjs/components/PromptInput/index.js +9 -7
  83. package/dist/cjs/components/RadioButton/index.js +6 -4
  84. package/dist/cjs/components/RadioButtonList/index.js +7 -5
  85. package/dist/cjs/components/Slider/index.js +4 -4
  86. package/dist/cjs/components/Spacer/index.js +2 -2
  87. package/dist/cjs/components/Switch/index.js +2 -2
  88. package/dist/cjs/components/TabBar/index.js +8 -6
  89. package/dist/cjs/components/TextArea/index.js +9 -7
  90. package/dist/cjs/components/Textfield/index.js +9 -7
  91. package/dist/cjs/components/Tip/index.js +3 -3
  92. package/dist/cjs/components/Toast/index.js +6 -4
  93. package/dist/cjs/components/ToggleButton/index.js +9 -7
  94. package/dist/cjs/components/UploadArea/index.js +11 -10
  95. package/dist/cjs/hooks/useAudioRecorder.js +1 -1
  96. package/dist/cjs/hooks/useBindWebRTC.js +60 -0
  97. package/dist/cjs/hooks/useLocalStore.js +3 -3
  98. package/dist/cjs/hooks/useMdStreamBuffer.js +55 -30
  99. package/dist/cjs/hooks/useMicrophone.js +1 -1
  100. package/dist/cjs/hooks/useTrackRenders.js +2 -2
  101. package/dist/cjs/hooks.js +7 -4
  102. package/dist/cjs/index.js +19 -18
  103. package/dist/cjs/providers/ThemeProvider.js +5 -4
  104. package/dist/cjs/providers/themeServer.js +15 -9
  105. package/dist/cjs/stores/LocalDB.js +3 -3
  106. package/dist/cjs/stores/SSE.js +2 -2
  107. package/dist/cjs/stores/WS.js +2 -2
  108. package/dist/cjs/stores/WebRTC.js +9 -0
  109. package/dist/cjs/stores/microphone.js +5 -4
  110. package/dist/cjs/stores/modal.js +1 -1
  111. package/dist/cjs/stores/tip.js +1 -1
  112. package/dist/cjs/stores/toast.js +1 -1
  113. package/dist/cjs/stores/uploads.js +2 -2
  114. package/dist/cjs/stores/volume.js +2 -2
  115. package/dist/cjs/stores/window.js +2 -2
  116. package/dist/cjs/stores.js +24 -19
  117. package/dist/cjs/utils/index.js +4 -3
  118. package/dist/cjs/utils/objects/index.js +4 -3
  119. package/dist/cjs/workers/uploads/uploads.js +2 -2
  120. package/dist/esm/chunks/{AudioBubble-DfrxyTX_.mjs → AudioBubble-SB1LCBlJ.mjs} +9 -3
  121. package/dist/esm/chunks/{Avatar-pA41Pcyl.mjs → Avatar-B6PcVOmT.mjs} +2 -2
  122. package/dist/esm/chunks/{AvatarGroup-CZBtWjnj.mjs → AvatarGroup-DEb3j2IZ.mjs} +2 -2
  123. package/dist/esm/chunks/{Badge-pLwG0zm7.mjs → Badge-bh5UVUnt.mjs} +1 -1
  124. package/dist/esm/chunks/{Button-BJoMLZIs.mjs → Button-CWKs3uAV.mjs} +6 -6
  125. package/dist/esm/chunks/{ButtonBar-BO2RUJ8R.mjs → ButtonBar-CWeMhkSb.mjs} +3 -3
  126. package/dist/esm/chunks/{Camera-4MNA52HG.mjs → Camera-BmuMA9xY.mjs} +11 -5
  127. package/dist/esm/chunks/{CheckBox-7KAsvZld.mjs → CheckBox-BR6a2n0j.mjs} +3 -3
  128. package/dist/esm/chunks/{Chip-BuGvCLLU.mjs → Chip-DXW0jxKf.mjs} +4 -4
  129. package/dist/esm/chunks/{DivInput-D0YzSWjJ.mjs → DivInput-BWO1EJXA.mjs} +2 -2
  130. package/dist/esm/chunks/{Dot-h26m47Z-.mjs → Dot-DMst-5Q2.mjs} +1 -1
  131. package/dist/esm/chunks/{DrggablePanel-Bh6HLPMX.mjs → DrggablePanel-qxrCS7Ot.mjs} +8 -2
  132. package/dist/esm/chunks/{DropDown-NgMYjjXn.mjs → DropDown-DlO2J4QP.mjs} +3 -3
  133. package/dist/esm/chunks/{ErrorSummary-nNm9qymE.mjs → ErrorSummary-BplQFunJ.mjs} +8 -2
  134. package/dist/esm/chunks/{FileIcon-BqyV1wut.mjs → FileIcon-iFmAF7_a.mjs} +8 -2
  135. package/dist/esm/chunks/{FileList-C1tOvoc0.mjs → FileList-CztHFCJe.mjs} +5 -5
  136. package/dist/esm/chunks/{FlexDiv-CkK-DAyg.mjs → FlexDiv-DGmDZL7M.mjs} +1 -1
  137. package/dist/esm/chunks/{Grouper-CyrOkuu2.mjs → Grouper-DxOISLzH.mjs} +9 -3
  138. package/dist/esm/chunks/{Icon-DjW0Krm8.mjs → Icon-L8B35JN1.mjs} +8 -2
  139. package/dist/esm/chunks/{IconButton-DdLhTUl0.mjs → IconButton-DxwJemEK.mjs} +5 -5
  140. package/dist/esm/chunks/{IndexedDB-DVoDikoA.mjs → IndexedDB-DA5oZXju.mjs} +1 -1
  141. package/dist/esm/chunks/{Label-DhmJ_Sln.mjs → Label-wDPtyK4h.mjs} +2 -2
  142. package/dist/esm/chunks/Level-B9JayinM.mjs +63 -0
  143. package/dist/esm/chunks/{MdStreamBuffer-4AJH8WaN.mjs → MdStreamBuffer-Cyon3ytf.mjs} +38 -16
  144. package/dist/esm/chunks/{Modal-FztrJsQo.mjs → Modal-C-Q2A_RY.mjs} +39 -13
  145. package/dist/esm/chunks/ModalController-ClAjHLPb.mjs +91 -0
  146. package/dist/esm/chunks/{Overlay-Dsy55Bxm.mjs → Overlay-Dr9YYxJ6.mjs} +1 -1
  147. package/dist/esm/chunks/{Pager-BqSdwL0L.mjs → Pager-DPbTCMNe.mjs} +2 -2
  148. package/dist/esm/chunks/{ProgressIndicator-BnqZFATV.mjs → ProgressIndicator-HaJJDZ-m.mjs} +8 -2
  149. package/dist/esm/chunks/{PromptInput-CRkcPXJu.mjs → PromptInput-wGhpXw-h.mjs} +38 -31
  150. package/dist/esm/chunks/{RadioButton-DXq3yniV.mjs → RadioButton-oOGgTDhg.mjs} +3 -3
  151. package/dist/esm/chunks/{RadioButtonList-BgOskHCP.mjs → RadioButtonList-CDWKVvyL.mjs} +3 -3
  152. package/dist/esm/chunks/{Slider-DPOy9uNI.mjs → Slider-ioPGftDY.mjs} +3 -3
  153. package/dist/esm/chunks/{Spacer-BJd_D0Fn.mjs → Spacer-VJBjxVlr.mjs} +1 -1
  154. package/dist/esm/chunks/{Switch-DHqlyizo.mjs → Switch-BCk2sTh3.mjs} +1 -1
  155. package/dist/esm/chunks/{TabBar-RBXExqMK.mjs → TabBar-C1DYnCRx.mjs} +11 -5
  156. package/dist/esm/chunks/{TextArea-CIlx_P26.mjs → TextArea-CF3r5m2G.mjs} +2 -2
  157. package/dist/esm/chunks/{TextField-CX72ybwH.mjs → TextField-BNfTj9v2.mjs} +11 -5
  158. package/dist/esm/chunks/{Tip-COBSyEjm.mjs → Tip-DIKQvxxO.mjs} +2 -2
  159. package/dist/esm/chunks/{Toast-BTm3HxDD.mjs → Toast-CkXPrDpp.mjs} +12 -6
  160. package/dist/esm/chunks/{ToggleButton-DujsCKF3.mjs → ToggleButton-Dvy8fc4t.mjs} +5 -4
  161. package/dist/esm/chunks/{UploadArea-D--Nt8Ed.mjs → UploadArea-D_xGzR2e.mjs} +4 -4
  162. package/dist/esm/chunks/{WSConnection-BMXcuW3f.mjs → WSConnection-TiYLENWB.mjs} +1 -1
  163. package/dist/esm/chunks/WebRTCConnection-d0Yvd66q.mjs +252 -0
  164. package/dist/esm/chunks/{localDBStore-36E3160Z.mjs → localDBStore-C-5y16uv.mjs} +2 -2
  165. package/dist/esm/chunks/{microphoneStore-Cexu82zH.mjs → microphoneStore-Cbx9nV4R.mjs} +26 -3
  166. package/dist/esm/chunks/{misc-CTGTuM2J.mjs → misc-zecH7-IH.mjs} +1 -1
  167. package/dist/esm/chunks/{sseStore-Dow4NXkZ.mjs → sseStore-DIquUNpm.mjs} +2 -2
  168. package/dist/esm/chunks/{tslib.es6-BX2F90pK.mjs → tslib.es6-CVvvNSPr.mjs} +1 -1
  169. package/dist/esm/chunks/{uploads-worker-Dhyp4ot3.mjs → uploads-worker-CUggKU9b.mjs} +1 -1
  170. package/dist/esm/chunks/{uploadsStore-DT4lFybE.mjs → uploadsStore-9QngohOe.mjs} +1 -1
  171. package/dist/esm/chunks/{volumeStore-RAxdmQ60.mjs → volumeStore-BrgZCRKF.mjs} +5 -4
  172. package/dist/esm/chunks/webRTCStore-DhFE9-bb.mjs +57 -0
  173. package/dist/esm/chunks/{windowStore-C4AZexIa.mjs → windowStore-BKW7HyoD.mjs} +1 -1
  174. package/dist/esm/components/AudioBubble/index.mjs +14 -4
  175. package/dist/esm/components/Avatar/index.mjs +3 -3
  176. package/dist/esm/components/AvatarGroup/index.mjs +4 -4
  177. package/dist/esm/components/Badge/index.mjs +2 -2
  178. package/dist/esm/components/Button/index.mjs +18 -8
  179. package/dist/esm/components/ButtonBar/index.mjs +14 -4
  180. package/dist/esm/components/Camera/index.mjs +16 -6
  181. package/dist/esm/components/CheckBox/index.mjs +14 -4
  182. package/dist/esm/components/Chip/index.mjs +15 -5
  183. package/dist/esm/components/DivInput/index.mjs +3 -3
  184. package/dist/esm/components/Dot/index.mjs +2 -2
  185. package/dist/esm/components/DraggablePanel/index.mjs +13 -3
  186. package/dist/esm/components/DropDown/index.mjs +14 -4
  187. package/dist/esm/components/ErrorSummary/index.mjs +13 -3
  188. package/dist/esm/components/FileIcon/index.mjs +13 -3
  189. package/dist/esm/components/FileList/index.mjs +16 -6
  190. package/dist/esm/components/FlexDiv/index.mjs +2 -2
  191. package/dist/esm/components/Grouper/index.mjs +15 -5
  192. package/dist/esm/components/Icon/index.mjs +14 -4
  193. package/dist/esm/components/IconButton/index.mjs +17 -7
  194. package/dist/esm/components/Label/index.mjs +3 -3
  195. package/dist/esm/components/Level/index.mjs +11 -0
  196. package/dist/esm/components/Modal/index.mjs +20 -10
  197. package/dist/esm/components/ModalController/index.mjs +14 -6
  198. package/dist/esm/components/Overlay/index.mjs +2 -2
  199. package/dist/esm/components/Pager/index.mjs +3 -3
  200. package/dist/esm/components/Progress/index.mjs +14 -4
  201. package/dist/esm/components/PromptInput/index.mjs +22 -12
  202. package/dist/esm/components/RadioButton/index.mjs +14 -4
  203. package/dist/esm/components/RadioButtonList/index.mjs +15 -5
  204. package/dist/esm/components/Slider/index.mjs +4 -4
  205. package/dist/esm/components/Spacer/index.mjs +2 -2
  206. package/dist/esm/components/Switch/index.mjs +2 -2
  207. package/dist/esm/components/TabBar/index.mjs +18 -8
  208. package/dist/esm/components/TextArea/index.mjs +19 -9
  209. package/dist/esm/components/Textfield/index.mjs +20 -10
  210. package/dist/esm/components/Tip/index.mjs +3 -3
  211. package/dist/esm/components/Toast/index.mjs +15 -5
  212. package/dist/esm/components/ToggleButton/index.mjs +19 -9
  213. package/dist/esm/components/UploadArea/index.mjs +19 -9
  214. package/dist/esm/hooks/useAudioRecorder.mjs +1 -1
  215. package/dist/esm/hooks/useBindWebRTC.mjs +72 -0
  216. package/dist/esm/hooks/useLocalStore.mjs +3 -3
  217. package/dist/esm/hooks/useMdStreamBuffer.mjs +56 -28
  218. package/dist/esm/hooks/useMicrophone.mjs +1 -1
  219. package/dist/esm/hooks/useTrackRenders.mjs +2 -2
  220. package/dist/esm/hooks.mjs +14 -2
  221. package/dist/esm/index.mjs +62 -50
  222. package/dist/esm/providers/ThemeProvider.mjs +6 -5
  223. package/dist/esm/providers/themeServer.mjs +11 -6
  224. package/dist/esm/stores/LocalDB.mjs +3 -3
  225. package/dist/esm/stores/SSE.mjs +3 -3
  226. package/dist/esm/stores/WS.mjs +2 -2
  227. package/dist/esm/stores/WebRTC.mjs +7 -0
  228. package/dist/esm/stores/microphone.mjs +2 -2
  229. package/dist/esm/stores/modal.mjs +1 -1
  230. package/dist/esm/stores/tip.mjs +1 -1
  231. package/dist/esm/stores/toast.mjs +1 -1
  232. package/dist/esm/stores/uploads.mjs +3 -3
  233. package/dist/esm/stores/volume.mjs +2 -2
  234. package/dist/esm/stores/window.mjs +2 -2
  235. package/dist/esm/stores.mjs +18 -14
  236. package/dist/esm/utils/index.mjs +11 -9
  237. package/dist/esm/utils/objects/index.mjs +8 -6
  238. package/dist/esm/workers/uploads/uploads.mjs +2 -2
  239. package/dist/styles.css +76 -13
  240. package/dist/types/components/Level/Level.d.ts +5 -0
  241. package/dist/types/components/Level/_types.d.ts +21 -0
  242. package/dist/types/components/Level/index.d.ts +2 -0
  243. package/dist/types/components/Modal/_types.d.ts +3 -0
  244. package/dist/types/components/PromptInput/PromptInput.d.ts +10 -2
  245. package/dist/types/components/PromptInput/_types.d.ts +5 -1
  246. package/dist/types/components/Toast/_types.d.ts +1 -0
  247. package/dist/types/components/ToggleButton/_types.d.ts +1 -0
  248. package/dist/types/hooks/index.d.ts +2 -0
  249. package/dist/types/hooks/useBindWebRTC/index.d.ts +1 -0
  250. package/dist/types/hooks/useBindWebRTC/useBindWebRTC.d.ts +15 -0
  251. package/dist/types/hooks/useLocalStore/useLocalStore.d.ts +1 -1
  252. package/dist/types/hooks/useMdStreamBuffer/useMdStreamBuffer.d.ts +6 -1
  253. package/dist/types/index.d.ts +3 -1
  254. package/dist/types/providers/ThemeProvider.d.ts +1 -0
  255. package/dist/types/providers/themeServer.d.ts +7 -3
  256. package/dist/types/stores/WebRTC/_types.d.ts +16 -0
  257. package/dist/types/stores/WebRTC/index.d.ts +2 -0
  258. package/dist/types/stores/WebRTC/webRTCStore.d.ts +21 -0
  259. package/dist/types/stores/index.d.ts +1 -0
  260. package/dist/types/stores/microphone/index.d.ts +1 -1
  261. package/dist/types/stores/microphone/microphoneStore.d.ts +14 -1
  262. package/dist/types/stores/toast/_types.d.ts +1 -0
  263. package/dist/types/stores/volume/_types.d.ts +3 -1
  264. package/dist/types/stores/volume/volumeStore.d.ts +6 -2
  265. package/dist/types/utils/functions/files.d.ts +1 -1
  266. package/dist/types/utils/index.d.ts +2 -2
  267. package/dist/types/utils/objects/MDStreamBuffer/MdStreamBuffer.d.ts +10 -0
  268. package/dist/types/utils/objects/MDStreamBuffer/_types.d.ts +2 -0
  269. package/dist/types/utils/objects/WebRTCConnection/WebRTCConnection.d.ts +37 -3
  270. package/dist/types/utils/objects/WebRTCConnection/_types.d.ts +13 -4
  271. package/dist/types/utils/objects/index.d.ts +2 -0
  272. package/package.json +1 -1
  273. package/dist/cjs/chunks/ModalController-xjflFsjF.js +0 -68
  274. package/dist/esm/chunks/ModalController-C1BnM5Dz.mjs +0 -76
  275. /package/dist/cjs/chunks/{SSEConnection-ACoOeeTO.js → SSEConnection-CF5WZG9b.js} +0 -0
  276. /package/dist/cjs/chunks/{_types-k-3V1fz_.js → _types-BTdDWVYI.js} +0 -0
  277. /package/dist/cjs/chunks/{audioVisualizer-MOSbvvnZ.js → audioVisualizer-C7fMG0WH.js} +0 -0
  278. /package/dist/cjs/chunks/{colors-B0_3srZN.js → colors-CmOkcjB3.js} +0 -0
  279. /package/dist/cjs/chunks/{debounce-CaoYvh12.js → debounce-BtCCTkbG.js} +0 -0
  280. /package/dist/cjs/chunks/{modalStore-D4bOjuWd.js → modalStore-CaQkdY5_.js} +0 -0
  281. /package/dist/cjs/chunks/{sharedTypes-CthHPjrO.js → sharedTypes-BOieqpQy.js} +0 -0
  282. /package/dist/cjs/chunks/{tipStore-CPB7RHKY.js → tipStore-4Bs9v2sg.js} +0 -0
  283. /package/dist/cjs/chunks/{toastStore-6eHe6esp.js → toastStore-CyCE9-lr.js} +0 -0
  284. /package/dist/cjs/chunks/{tslib.es6-CzpRaW14.js → tslib.es6-DqjaJVC3.js} +0 -0
  285. /package/dist/esm/chunks/{SSEConnection-qNnkZUOe.mjs → SSEConnection-g0GBGAqe.mjs} +0 -0
  286. /package/dist/esm/chunks/{_types-CEStVWlB.mjs → _types-9ekyeJYl.mjs} +0 -0
  287. /package/dist/esm/chunks/{audioVisualizer-BUNbarKP.mjs → audioVisualizer-nMo67yOW.mjs} +0 -0
  288. /package/dist/esm/chunks/{colors-D-qeA9gU.mjs → colors-v5b8_oYV.mjs} +0 -0
  289. /package/dist/esm/chunks/{debounce-D5b6tZ5a.mjs → debounce-DFxAyrPi.mjs} +0 -0
  290. /package/dist/esm/chunks/{modalStore-Crg_QmSJ.mjs → modalStore-D6_oc47l.mjs} +0 -0
  291. /package/dist/esm/chunks/{sharedTypes-U5H1I85x.mjs → sharedTypes-CdmzhKXN.mjs} +0 -0
  292. /package/dist/esm/chunks/{tipStore-pvswaezx.mjs → tipStore-C2M6zBzd.mjs} +0 -0
  293. /package/dist/esm/chunks/{toastStore-80oOTYsj.mjs → toastStore-B-6kdNHw.mjs} +0 -0
@@ -1,13 +1,14 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var tslib_es6 = require("./tslib.es6-CzpRaW14.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), hooks_useTheme = require("../hooks/useTheme.js");
4
+ var tslib_es6 = require("./tslib.es6-DqjaJVC3.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), hooks_useTheme = require("../hooks/useTheme.js");
5
5
 
6
6
  require("../theme/colors.js");
7
7
 
8
- var misc = require("./misc-DZAbObFp.js");
8
+ var misc = require("./misc-BwQIEIuF.js");
9
9
 
10
- require("../hooks/useWindow.js");
10
+ require("./webRTCStore-DRjvbnve.js"), require("./microphoneStore-Dy5TwE2I.js"),
11
+ require("./volumeStore-BXFAQhvS.js"), require("../hooks/useWindow.js");
11
12
 
12
13
  var css_icon = "Icon-module_icon__szG-X";
13
14
 
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var tslib_es6 = require("./tslib.es6-CzpRaW14.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), Badge = require("./Badge-D2TbyfJS.js"), Dot = require("./Dot-C0MvSJOl.js"), Icon = require("./Icon-BFZ_5Qv3.js"), sharedTypes = require("./sharedTypes-CthHPjrO.js"), css_button = "IconButton-module_button__rziqa flexBox-module_row__z24tF", css_label = "IconButton-module_label__qWGFD flexBox-module_row__z24tF type-module_body-l-regular__lOYbg", css_icon = "IconButton-module_icon__2DDWy flexBox-module_row__z24tF", css_count = "IconButton-module_count__6r373 flexBox-module_row__z24tF";
4
+ var tslib_es6 = require("./tslib.es6-DqjaJVC3.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), Badge = require("./Badge-DWUeXxm2.js"), Dot = require("./Dot-DaRF2JyO.js"), Icon = require("./Icon-DjvProjz.js"), sharedTypes = require("./sharedTypes-BOieqpQy.js"), css_button = "IconButton-module_button__rziqa flexBox-module_row__z24tF", css_label = "IconButton-module_label__qWGFD flexBox-module_row__z24tF type-module_body-l-regular__lOYbg", css_icon = "IconButton-module_icon__2DDWy flexBox-module_row__z24tF", css_count = "IconButton-module_count__6r373 flexBox-module_row__z24tF";
5
5
 
6
6
  const IconButton = React.memo(props => {
7
7
  const {frameSize: frameSize = 36, iconSize: iconSize = 20, round: round = !0, icon: icon = "more", borderRadius: borderRadius = 4, border: border = !1, tooltip: tooltip, color: color, colorOn: colorOn, iconFill: iconFill = !1, bgColor: bgColor = "var(--core-surface-secondary)", bgColorHover: bgColorHover = "var(--core-outline-primary)", bgColorOn: bgColorOn = "var(--core-outline-primary)", iconColor: iconColor = "var(--core-text-primary)", iconColorOn: iconColorOn = "var(--core-text-primary)", iconColorHover: iconColorHover = "var(--core-text-primary)", transition: transition, variants: variants, initial: initial, animate: animate, exit: exit, fillColor: fillColor, label: label, hover: hover = !0, count: count = 0, toggle: toggle = !1, toggleIcon: toggleIcon = !1, isToggled: isToggled = !1, disabled: disabled = !1, showDot: showDot = !1, buttonSize: buttonSize = "m", onClick: onClick = () => null, onToolTip: onToolTip = () => null} = props, divAttributes = tslib_es6.__rest(props, [ "frameSize", "iconSize", "round", "icon", "borderRadius", "border", "tooltip", "color", "colorOn", "iconFill", "bgColor", "bgColorHover", "bgColorOn", "iconColor", "iconColorOn", "iconColorHover", "transition", "variants", "initial", "animate", "exit", "fillColor", "label", "hover", "count", "toggle", "toggleIcon", "isToggled", "disabled", "showDot", "buttonSize", "onClick", "onToolTip" ]), {id: divId, className: className, style: style} = divAttributes, rest = tslib_es6.__rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", ref = React.useRef(null), [on, setOn] = React.useState(isToggled), [hovered, setHovered] = React.useState(!1);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var tslib_es6 = require("./tslib.es6-CzpRaW14.js");
3
+ var tslib_es6 = require("./tslib.es6-DqjaJVC3.js");
4
4
 
5
5
  exports.IndexedDB = class {
6
6
  constructor(storeName, options = {}) {
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var LabelBackground, tslib_es6 = require("./tslib.es6-CzpRaW14.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-DZAbObFp.js"), css = {
4
+ var LabelBackground, tslib_es6 = require("./tslib.es6-DqjaJVC3.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-BwQIEIuF.js"), css = {
5
5
  label: "Label-module_label__RaRvM",
6
6
  button: "Label-module_button__N8bcQ type-module_body-m-regular__LuQBA",
7
7
  xs: "Label-module_xs__K9Ai6 type-module_body-xs-regular__ZAFft",
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var tslib_es6 = require("./tslib.es6-DqjaJVC3.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-BwQIEIuF.js"), audioVisualizer = require("./audioVisualizer-C7fMG0WH.js"), css_wrapper = "Level-module_wrapper__yOfXw", css_barContainer = "Level-module_barContainer__QMUdv", css_bar = "Level-module_bar__MnApX";
4
+
5
+ const Level = React.memo(function(props) {
6
+ const {width: width = 100, height: height = 4, gap: gap = 0, audioStream: audioStream, playing: playing = !1, minIntensity: minIntensity = 0, maxIntensity: maxIntensity = 5, intensity: intensity = 3.5, peakIntensity: peakIntensity = .5, risePerSeconds: risePerSeconds = 4, releasePerSeconds: releasePerSeconds, ReleasePerSeconds: ReleasePerSeconds = 1.5, borderRadius: borderRadius = 4, borderColor: borderColor = "transparent", borderWidth: borderWidth = 0, colorActive: colorActive = "var(--feedback-positive)", backgroundColor: backgroundColor = "var(--core-surface-primary-tint)"} = props, divAttributes = tslib_es6.__rest(props, [ "width", "height", "gap", "audioStream", "playing", "minIntensity", "maxIntensity", "intensity", "peakIntensity", "risePerSeconds", "releasePerSeconds", "ReleasePerSeconds", "borderRadius", "borderColor", "borderWidth", "colorActive", "backgroundColor" ]), {id: divId, className: className, style: style} = divAttributes, rest = tslib_es6.__rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", visualizerRef = React.useRef(null), [normalizedIntensity, setNormalizedIntensity] = React.useState(0), totalBars = Math.max(1, Math.floor(maxIntensity)), minBars = Math.max(0, Math.min(Math.floor(minIntensity), totalBars)), releaseRate = null != releasePerSeconds ? releasePerSeconds : ReleasePerSeconds, intensityIntervals = React.useMemo(() => new Array(totalBars).fill(0).map((_, index) => index), [ totalBars ]), activeBars = React.useMemo(() => {
7
+ const scaledBars = Math.round(minBars + normalizedIntensity * (totalBars - minBars));
8
+ return Math.max(minBars, Math.min(scaledBars, totalBars));
9
+ }, [ minBars, normalizedIntensity, totalBars ]), visualizerSettings = React.useMemo(() => ({
10
+ intensityMultiplier: intensity,
11
+ peakIntensity: peakIntensity,
12
+ risePerSecond: risePerSeconds,
13
+ releasePerSecond: releaseRate,
14
+ onUpdate: ({intensity: nextIntensity}) => setNormalizedIntensity(nextIntensity)
15
+ }), [ intensity, peakIntensity, releaseRate, risePerSeconds ]);
16
+ React.useEffect(() => {
17
+ var _a;
18
+ if (null === (_a = visualizerRef.current) || void 0 === _a || _a.dispose(), visualizerRef.current = null,
19
+ !audioStream) return void setNormalizedIntensity(0);
20
+ const visualizer = new audioVisualizer.AudioVisualizer(audioStream, visualizerSettings);
21
+ return visualizerRef.current = visualizer, playing && visualizer.start(), () => {
22
+ visualizer.dispose(), visualizerRef.current === visualizer && (visualizerRef.current = null);
23
+ };
24
+ }, [ audioStream, playing, visualizerSettings ]), React.useEffect(() => {
25
+ visualizerRef.current && (playing ? visualizerRef.current.start() : (visualizerRef.current.stop(),
26
+ setNormalizedIntensity(0)));
27
+ }, [ playing ]);
28
+ const cssVars = React.useMemo(() => ({
29
+ "--level-width": misc.setStyle(width),
30
+ "--level-height": misc.setStyle(height),
31
+ "--level-gap": misc.setStyle(gap),
32
+ "--level-bar-border-radius": misc.setStyle(borderRadius),
33
+ "--level-border-color": borderColor,
34
+ "--level-border-width": misc.setStyle(borderWidth),
35
+ "--level-color": colorActive,
36
+ "--level-bg-color": backgroundColor
37
+ }), [ width, height, gap, borderRadius, borderColor, borderWidth, colorActive, backgroundColor ]);
38
+ return jsxRuntime.jsx("div", Object.assign({
39
+ id: divId,
40
+ className: `${css_wrapper}${divClass}`,
41
+ style: Object.assign(Object.assign({}, cssVars), divStyle)
42
+ }, rest, {
43
+ children: intensityIntervals.map(barIndex => {
44
+ const isActive = barIndex < activeBars;
45
+ return jsxRuntime.jsx("div", {
46
+ className: css_barContainer,
47
+ children: jsxRuntime.jsx("div", {
48
+ className: css_bar,
49
+ style: {
50
+ opacity: isActive ? 1 : 0
51
+ }
52
+ })
53
+ }, barIndex);
54
+ })
55
+ }));
56
+ });
57
+
58
+ exports.Level = Level;
@@ -134,18 +134,19 @@ function hasMeaningfulInlineContent(value, repeatedCharacter) {
134
134
 
135
135
  exports.MdBuffer = class {
136
136
  constructor(options) {
137
- var _a, _b, _c, _d, _e, rules;
138
- this.committedRaw = "", this.activeRaw = "", this.frameHandle = null, this.completeSignal = !1,
139
- this.endOfStreamToken = null == options ? void 0 : options.endOfStreamToken, this.healthyEndMarker = null == options ? void 0 : options.healthyEndMarker,
140
- this.htmlHandling = null !== (_a = null == options ? void 0 : options.htmlHandling) && void 0 !== _a ? _a : "ignore",
137
+ var _a, _b, _c, _d, _e, _f, rules;
138
+ this.committedRaw = "", this.activeRaw = "", this.frameHandle = null, this.flushTimer = null,
139
+ this.lastFlushAt = 0, this.lastFlushedRawLength = 0, this.completeSignal = !1, this.endOfStreamToken = null == options ? void 0 : options.endOfStreamToken,
140
+ this.healthyEndMarker = null == options ? void 0 : options.healthyEndMarker, this.htmlHandling = null !== (_a = null == options ? void 0 : options.htmlHandling) && void 0 !== _a ? _a : "ignore",
141
141
  this.includeLinksAndImages = null !== (_b = null == options ? void 0 : options.includeLinksAndImages) && void 0 !== _b && _b,
142
- this.onFlush = null == options ? void 0 : options.onFlush, this.requestFrame = null !== (_c = null == options ? void 0 : options.requestFrame) && void 0 !== _c ? _c : function() {
142
+ this.flushDelayMs = Math.max(0, null !== (_c = null == options ? void 0 : options.flushDelayMs) && void 0 !== _c ? _c : 0),
143
+ this.onFlush = null == options ? void 0 : options.onFlush, this.requestFrame = null !== (_d = null == options ? void 0 : options.requestFrame) && void 0 !== _d ? _d : function() {
143
144
  if ("undefined" != typeof globalThis && "function" == typeof globalThis.requestAnimationFrame) return globalThis.requestAnimationFrame.bind(globalThis);
144
145
  return callback => globalThis.setTimeout(() => callback(Date.now()), 16);
145
- }(), this.cancelFrame = null !== (_d = null == options ? void 0 : options.cancelFrame) && void 0 !== _d ? _d : function() {
146
+ }(), this.cancelFrame = null !== (_e = null == options ? void 0 : options.cancelFrame) && void 0 !== _e ? _e : function() {
146
147
  if ("undefined" != typeof globalThis && "function" == typeof globalThis.cancelAnimationFrame) return globalThis.cancelAnimationFrame.bind(globalThis);
147
148
  return handle => globalThis.clearTimeout(handle);
148
- }(), this.watchedMarkers = (rules = null !== (_e = null == options ? void 0 : options.watchedMarkers) && void 0 !== _e ? _e : DEFAULT_WATCHED_MARKERS,
149
+ }(), this.watchedMarkers = (rules = null !== (_f = null == options ? void 0 : options.watchedMarkers) && void 0 !== _f ? _f : DEFAULT_WATCHED_MARKERS,
149
150
  [ ...rules ].sort((left, right) => right.open.length - left.open.length));
150
151
  }
151
152
  /**
@@ -158,6 +159,11 @@ exports.MdBuffer = class {
158
159
  */ get healthy() {
159
160
  return this.buildHealthyOutput();
160
161
  }
162
+ /**
163
+ * Characters appended since the last emitted snapshot.
164
+ */ get pendingCharacters() {
165
+ return Math.max(0, this.raw.length - this.lastFlushedRawLength);
166
+ }
161
167
  /**
162
168
  * Append a streamed Markdown token and schedule a frame flush.
163
169
  */ append(chunk) {
@@ -169,11 +175,15 @@ exports.MdBuffer = class {
169
175
  * Emit the current snapshot immediately.
170
176
  */ flush(reason = "manual") {
171
177
  var _a;
178
+ this.clearScheduledFlush();
179
+ const raw = this.committedRaw + this.activeRaw, healthy = this.buildHealthyOutput();
180
+ this.lastFlushAt = Date.now(), this.lastFlushedRawLength = raw.length;
172
181
  const snapshot = {
173
- raw: this.committedRaw + this.activeRaw,
174
- healthy: this.buildHealthyOutput(),
182
+ raw: raw,
183
+ healthy: healthy,
175
184
  reason: reason,
176
- isComplete: this.completeSignal
185
+ isComplete: this.completeSignal,
186
+ pendingCharacters: this.pendingCharacters
177
187
  };
178
188
  return null === (_a = this.onFlush) || void 0 === _a || _a.call(this, snapshot),
179
189
  snapshot;
@@ -181,14 +191,13 @@ exports.MdBuffer = class {
181
191
  /**
182
192
  * Mark the stream as complete and flush one final snapshot.
183
193
  */ complete() {
184
- return null !== this.frameHandle && (this.cancelFrame(this.frameHandle), this.frameHandle = null),
185
- this.completeSignal = !0, this.flush("complete");
194
+ return this.clearScheduledFlush(), this.completeSignal = !0, this.flush("complete");
186
195
  }
187
196
  /**
188
197
  * Clear the buffered state and cancel any pending frame.
189
198
  */ reset() {
190
- null !== this.frameHandle && (this.cancelFrame(this.frameHandle), this.frameHandle = null),
191
- this.committedRaw = "", this.activeRaw = "", this.completeSignal = !1;
199
+ this.clearScheduledFlush(), this.committedRaw = "", this.activeRaw = "", this.lastFlushAt = 0,
200
+ this.lastFlushedRawLength = 0, this.completeSignal = !1;
192
201
  }
193
202
  /**
194
203
  * Cancel future work and release the retained state.
@@ -204,10 +213,23 @@ exports.MdBuffer = class {
204
213
  return this.dispose(), snapshot;
205
214
  }
206
215
  scheduleFlush() {
207
- null === this.frameHandle && (this.frameHandle = this.requestFrame(() => {
208
- this.frameHandle = null, this.flush("raf");
216
+ null === this.frameHandle && null === this.flushTimer && (this.frameHandle = this.requestFrame(() => {
217
+ this.frameHandle = null;
218
+ const remainingDelay = this.getRemainingFlushDelay();
219
+ remainingDelay <= 0 ? this.flush("raf") : this.flushTimer = setTimeout(() => {
220
+ this.flushTimer = null, this.flush("raf");
221
+ }, remainingDelay);
209
222
  }));
210
223
  }
224
+ getRemainingFlushDelay() {
225
+ if (this.flushDelayMs <= 0) return 0;
226
+ const elapsed = Date.now() - this.lastFlushAt;
227
+ return Math.max(0, this.flushDelayMs - elapsed);
228
+ }
229
+ clearScheduledFlush() {
230
+ null !== this.frameHandle && (this.cancelFrame(this.frameHandle), this.frameHandle = null),
231
+ null !== this.flushTimer && (clearTimeout(this.flushTimer), this.flushTimer = null);
232
+ }
211
233
  commitStableLines() {
212
234
  if (this.buildHealthyTail(this.activeRaw) !== this.activeRaw) return;
213
235
  const lastNewlineIndex = this.activeRaw.lastIndexOf("\n");
@@ -1,10 +1,12 @@
1
+ 'use client';
1
2
  "use strict";
2
3
 
3
- var tslib_es6 = require("./tslib.es6-CzpRaW14.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-DZAbObFp.js"), Button = require("./Button-CTsHZBEB.js"), Icon = require("./Icon-BFZ_5Qv3.js"), IconButton = require("./IconButton-CgsuJIuF.js"), css = {
4
+ var tslib_es6 = require("./tslib.es6-DqjaJVC3.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-BwQIEIuF.js"), Button = require("./Button-CuGvPAkH.js"), Icon = require("./Icon-DjvProjz.js"), IconButton = require("./IconButton-BuwQLUuj.js"), css = {
4
5
  wrapper: "Modal-module_wrapper__34Hds flexBox-module_columnBetween__ERfp7",
5
6
  title: "Modal-module_title__A5OeE flexBox-module_rowBetween__5FEvi",
6
7
  titleBlock: "Modal-module_titleBlock__HUepX flexBox-module_rowStart__4tcxS",
7
8
  titleIcon: "Modal-module_titleIcon__xJYzy flexBox-module_row__z24tF",
9
+ contentWrapper: "Modal-module_contentWrapper__Swyjx flexBox-module_columnStart__C7P44",
8
10
  content: "Modal-module_content__dWO-B flexBox-module_columnStart__C7P44",
9
11
  actions: "Modal-module_actions__hY6zi flexBox-module_rowBetween__5FEvi",
10
12
  leftActions: "Modal-module_leftActions__-M-DM flexBox-module_rowStart__4tcxS",
@@ -17,7 +19,19 @@ var tslib_es6 = require("./tslib.es6-CzpRaW14.js"), jsxRuntime = require("react/
17
19
  };
18
20
 
19
21
  const Modal = React.memo(props => {
20
- const {children: children, id: id, className: className, style: style, minWidth: minWidth = 300, minHeight: minHeight = 200, maxHeight: maxHeight = 400, maxWidth: maxWidth = 400, padding: padding, close: close = !0, title: title, titleSize: titleSize = "l", contentSize: contentSize = "m", actions: actions, titleIcon: titleIcon, titleIconFill: titleIconFill = !0, titleBorderColor: titleBorderColor = "var(--core-outline-primary)", titleBorderWidth: titleBorderWidth = 0, actionsBorderColor: actionsBorderColor = "var(--core-outline-primary)", actionsBorderWidth: actionsBorderWidth = 0, onAction: onAction, onReject: onReject, onResolve: onResolve, onClose: onClose, onToolTip: onToolTip, onDragPointerDown: onDragPointerDown, backgroundColor: backgroundColor = "var(--core-surface-secondary)", titleColor: titleColor = "var(--core-text-special)", borderColor: borderColor = "var(--core-outline-primary)", borderRadius: borderRadius = 8, borderWidth: borderWidth = 1} = props, rest = tslib_es6.__rest(props, [ "children", "id", "className", "style", "minWidth", "minHeight", "maxHeight", "maxWidth", "padding", "close", "title", "titleSize", "contentSize", "actions", "titleIcon", "titleIconFill", "titleBorderColor", "titleBorderWidth", "actionsBorderColor", "actionsBorderWidth", "onAction", "onReject", "onResolve", "onClose", "onToolTip", "onDragPointerDown", "backgroundColor", "titleColor", "borderColor", "borderRadius", "borderWidth" ]), modalStyle = null != style ? style : {}, modalClass = className ? ` ${className}` : "", cssVars = React.useMemo(() => ({
22
+ const {children: children, id: id, className: className, style: style, minWidth: minWidth = 300, minHeight: minHeight = 200, maxHeight: maxHeight = 400, maxWidth: maxWidth = 400, padding: padding, close: close = !0, title: title, titleSize: titleSize = "l", contentSize: contentSize = "m", actions: actions, titleIcon: titleIcon, titleIconFill: titleIconFill = !0, titleBorderColor: titleBorderColor = "var(--core-outline-primary)", titleBorderWidth: titleBorderWidth = 0, actionsBorderColor: actionsBorderColor = "var(--core-outline-primary)", actionsBorderWidth: actionsBorderWidth = 0, autoBorderBottom: autoBorderBottom = !0, onAction: onAction, onReject: onReject, onResolve: onResolve, onClose: onClose, onToolTip: onToolTip, onDragPointerDown: onDragPointerDown, backgroundColor: backgroundColor = "var(--core-surface-secondary)", scrollHandleColor: scrollHandleColor = "var(--core-text-disabled)", scrollHandleColorHover: scrollHandleColorHover = "var(--core-text-disabled)", titleColor: titleColor = "var(--core-text-special)", borderColor: borderColor = "var(--core-outline-primary)", borderRadius: borderRadius = 8, borderWidth: borderWidth = 1} = props, rest = tslib_es6.__rest(props, [ "children", "id", "className", "style", "minWidth", "minHeight", "maxHeight", "maxWidth", "padding", "close", "title", "titleSize", "contentSize", "actions", "titleIcon", "titleIconFill", "titleBorderColor", "titleBorderWidth", "actionsBorderColor", "actionsBorderWidth", "autoBorderBottom", "onAction", "onReject", "onResolve", "onClose", "onToolTip", "onDragPointerDown", "backgroundColor", "scrollHandleColor", "scrollHandleColorHover", "titleColor", "borderColor", "borderRadius", "borderWidth" ]), contentWrapperRef = React.useRef(null), modalStyle = null != style ? style : {}, modalClass = className ? ` ${className}` : "", [scrolls, setScrolls] = React.useState(!1), getScrolls = React.useCallback(() => {
23
+ var _a, _b;
24
+ const height = null === (_a = contentWrapperRef.current) || void 0 === _a ? void 0 : _a.offsetHeight, scrollHeight = null === (_b = contentWrapperRef.current) || void 0 === _b ? void 0 : _b.scrollHeight;
25
+ return !(!height || !scrollHeight) && height < scrollHeight;
26
+ }, []), setActionBorderWidth = React.useMemo(() => scrolls && 0 === actionsBorderWidth && autoBorderBottom ? "1px" : misc.setStyle(actionsBorderWidth), [ actionsBorderWidth, scrolls, autoBorderBottom ]), setContentPaddingTops = React.useMemo(() => {
27
+ if (scrolls && autoBorderBottom) {
28
+ if ("string" == typeof padding) {
29
+ return padding.split(" ")[0];
30
+ }
31
+ return misc.setStyle(padding, "16px");
32
+ }
33
+ return "0";
34
+ }, [ scrolls, padding, autoBorderBottom ]), cssVars = React.useMemo(() => ({
21
35
  "--modal-min-width": misc.setStyle(minWidth),
22
36
  "--modal-min-height": misc.setStyle(minHeight),
23
37
  "--modal-max-height": misc.setStyle(maxHeight),
@@ -26,13 +40,20 @@ const Modal = React.memo(props => {
26
40
  "--modal-title-color": titleColor,
27
41
  "--modal-border-radius": misc.setStyle(borderRadius),
28
42
  "--modal-border-width": misc.setStyle(borderWidth),
29
- "--modal-padding": misc.setStyle(padding, 16),
43
+ "--modal-padding": misc.setStyle(padding, "16px 24px"),
30
44
  "--modal-background-color": backgroundColor,
31
45
  "--modal-title-border-color": titleBorderColor,
32
46
  "--modal-title-border-width": misc.setStyle(titleBorderWidth),
33
47
  "--modal-actions-border-color": actionsBorderColor,
34
- "--modal-actions-border-width": misc.setStyle(actionsBorderWidth)
35
- }), [ minWidth, minHeight, maxHeight, maxWidth, borderColor, titleColor, borderRadius, borderWidth, padding, titleBorderWidth, titleBorderColor, actionsBorderWidth, actionsBorderColor, backgroundColor ]), renderActions = position => null == actions ? void 0 : actions.map((action, index) => action.position || "left" !== position ? action.position && position !== action.position ? null : jsxRuntime.jsx(Button.Button, {
48
+ "--modal-scroll-handle": misc.setStyle(scrollHandleColor),
49
+ "--modal-scroll-handle-hover": misc.setStyle(scrollHandleColorHover),
50
+ "--modal-actions-border-width": setActionBorderWidth,
51
+ "--modal-content-padding-tops": setContentPaddingTops
52
+ }), [ minWidth, minHeight, maxHeight, maxWidth, borderColor, titleColor, borderRadius, borderWidth, padding, titleBorderWidth, titleBorderColor, actionsBorderColor, backgroundColor, scrollHandleColor, scrollHandleColorHover, setContentPaddingTops, setActionBorderWidth ]);
53
+ React.useEffect(() => {
54
+ children && maxHeight && setScrolls(getScrolls());
55
+ }, [ children, maxHeight, getScrolls ]);
56
+ const renderActions = position => null == actions ? void 0 : actions.map((action, index) => action.position || "left" !== position ? action.position && position !== action.position ? null : jsxRuntime.jsx(Button.Button, {
36
57
  variant: action.primary ? "solid" : "outline",
37
58
  label: action.label,
38
59
  onClick: e => (action => {
@@ -55,9 +76,9 @@ const Modal = React.memo(props => {
55
76
  }, rest, {
56
77
  children: [ (title || close) && jsxRuntime.jsxs("div", {
57
78
  className: `${css.title} ${css[titleSize]}`,
79
+ onPointerDown: onDragPointerDown,
58
80
  children: [ jsxRuntime.jsxs("div", {
59
81
  className: css.titleBlock,
60
- onPointerDown: onDragPointerDown,
61
82
  children: [ titleIcon && jsxRuntime.jsx("div", {
62
83
  className: css.titleIcon,
63
84
  children: jsxRuntime.jsx(Icon.Icon, {
@@ -83,10 +104,15 @@ const Modal = React.memo(props => {
83
104
  })
84
105
  }) ]
85
106
  }), jsxRuntime.jsx("div", {
86
- className: `${css.content} ${css[contentSize]}`,
87
- children: children
107
+ className: css.contentWrapper,
108
+ ref: contentWrapperRef,
109
+ children: jsxRuntime.jsx("div", {
110
+ className: `${css.content} ${css[contentSize]}`,
111
+ children: children
112
+ })
88
113
  }), actions && actions.length > 0 && jsxRuntime.jsxs("div", {
89
114
  className: css.actions,
115
+ onPointerDown: onDragPointerDown,
90
116
  children: [ jsxRuntime.jsx("div", {
91
117
  className: css.leftActions,
92
118
  children: renderActions("left")
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ var jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react");
4
+
5
+ require("./microphoneStore-Dy5TwE2I.js"), require("./volumeStore-BXFAQhvS.js"),
6
+ require("./webRTCStore-DRjvbnve.js");
7
+
8
+ var Overlay = require("./Overlay-CaAA3ey5.js"), modalStore = require("./modalStore-CaQkdY5_.js"), css_container = "ModalController-module_container__3cSaO", css_box = "ModalController-module_box__cPzOz", css_wrapper = "ModalController-module_wrapper__HkOoX flexBox-module_row__z24tF";
9
+
10
+ const defaultTransition = {
11
+ ease: "easeOut",
12
+ duration: .25,
13
+ delay: .1
14
+ }, defaultVariants = {
15
+ initial: {
16
+ opacity: 0,
17
+ y: 20
18
+ },
19
+ animate: {
20
+ opacity: 1,
21
+ y: 0
22
+ },
23
+ exit: {
24
+ opacity: 0,
25
+ y: 20
26
+ }
27
+ };
28
+
29
+ exports.ModalController = function(props) {
30
+ const {dragConstraintsRef: dragConstraintsRef, transition: transition = defaultTransition, variants: variants = defaultVariants, initial: initial = "initial", animate: animate = "animate", exit: exit = "exit", draggable: draggable = !0, overlayOpacity: overlayOpacity = .7, overlayColor: overlayColor = "rgb(0,0,0)"} = props, controls = react.useDragControls(), modal = modalStore.useModal(), resolve = modalStore.useModalActions().resolve, reject = modalStore.useModalActions().reject, hide = modalStore.useModalActions().hide, ModalComponent = null == modal ? void 0 : modal.component, modalProps = null == modal ? void 0 : modal.props, ref = React.useRef(null), constraints = null != dragConstraintsRef ? dragConstraintsRef : ref;
31
+ return jsxRuntime.jsxs(jsxRuntime.Fragment, {
32
+ children: [ jsxRuntime.jsx(Overlay.Overlay, {
33
+ show: !!modal,
34
+ type: "dark",
35
+ opacity: overlayOpacity,
36
+ color: overlayColor,
37
+ onClick: () => hide()
38
+ }), jsxRuntime.jsx(react.AnimatePresence, {
39
+ children: modal && ModalComponent && jsxRuntime.jsx("div", {
40
+ className: css_container,
41
+ ref: ref,
42
+ children: jsxRuntime.jsx("div", {
43
+ className: css_box,
44
+ children: jsxRuntime.jsx(react.motion.div, {
45
+ className: css_wrapper,
46
+ variants: variants,
47
+ initial: initial,
48
+ animate: animate,
49
+ exit: exit,
50
+ transition: transition,
51
+ drag: draggable,
52
+ dragListener: !draggable && void 0,
53
+ dragControls: draggable ? controls : void 0,
54
+ dragConstraints: draggable ? constraints : void 0,
55
+ dragElastic: draggable ? 0 : void 0,
56
+ dragMomentum: !draggable && void 0,
57
+ children: jsxRuntime.jsx(ModalComponent, Object.assign({}, modalProps, {
58
+ onResolve: value => {
59
+ "function" == typeof (null == modalProps ? void 0 : modalProps.onResolve) && modalProps.onResolve(value),
60
+ resolve(value);
61
+ },
62
+ onReject: error => {
63
+ "function" == typeof (null == modalProps ? void 0 : modalProps.onReject) && modalProps.onReject(error),
64
+ reject(error);
65
+ },
66
+ onClose: () => {
67
+ "function" == typeof (null == modalProps ? void 0 : modalProps.onClose) && modalProps.onClose(),
68
+ hide();
69
+ },
70
+ onDragPointerDown: e => {
71
+ "function" == typeof (null == modalProps ? void 0 : modalProps.onDragPointerDown) && (null == modalProps || modalProps.onDragPointerDown(e)),
72
+ controls.start(e);
73
+ }
74
+ }))
75
+ })
76
+ })
77
+ })
78
+ }) ]
79
+ });
80
+ };
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var tslib_es6 = require("./tslib.es6-CzpRaW14.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), css_overlay = "Overlay-module_overlay__EkbfA";
4
+ var tslib_es6 = require("./tslib.es6-DqjaJVC3.js"), jsxRuntime = require("react/jsx-runtime"), react = require("motion/react"), React = require("react"), css_overlay = "Overlay-module_overlay__EkbfA";
5
5
 
6
6
  const defaultTransition = {
7
7
  ease: "easeOut",
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var tslib_es6 = require("./tslib.es6-CzpRaW14.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-DZAbObFp.js"), css_wrapper = "Pager-module_wrapper__eutVg flexBox-module_row__z24tF", css_bullet = "Pager-module_bullet__TxyR5 flexBox-module_row__z24tF", css_selected = "Pager-module_selected__C6xbR";
4
+ var tslib_es6 = require("./tslib.es6-DqjaJVC3.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-BwQIEIuF.js"), css_wrapper = "Pager-module_wrapper__eutVg flexBox-module_row__z24tF", css_bullet = "Pager-module_bullet__TxyR5 flexBox-module_row__z24tF", css_selected = "Pager-module_selected__C6xbR";
5
5
 
6
6
  const Pager = React.memo(props => {
7
7
  const {size: size = 8, index: index = 0, color: color, colorHover: colorHover, colorOn: colorOn, pages: pages = 2, gap: gap = 4, onChange: onChange = () => null} = props, divAttributes = tslib_es6.__rest(props, [ "size", "index", "color", "colorHover", "colorOn", "pages", "gap", "onChange" ]), {id: divId, className: className, style: style} = divAttributes, rest = tslib_es6.__rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", [selected, setSelected] = React.useState(index), bullets = React.useMemo(() => Array.from({
@@ -5,11 +5,12 @@ var jsxRuntime = require("react/jsx-runtime"), React = require("react"), hooks_u
5
5
 
6
6
  require("../theme/colors.js");
7
7
 
8
- var tslib_es6 = require("./tslib.es6-CzpRaW14.js");
8
+ var tslib_es6 = require("./tslib.es6-DqjaJVC3.js");
9
9
 
10
- require("../hooks/useWindow.js");
10
+ require("./webRTCStore-DRjvbnve.js"), require("./microphoneStore-Dy5TwE2I.js"),
11
+ require("./volumeStore-BXFAQhvS.js"), require("../hooks/useWindow.js");
11
12
 
12
- var Icon = require("./Icon-BFZ_5Qv3.js"), react = require("motion/react"), css$1_wrapper = "DoneCheck-module_wrapper__AlISD flexBox-module_row__z24tF", css$1_icon = "DoneCheck-module_icon__bKaFp flexBox-module_row__z24tF";
13
+ var Icon = require("./Icon-DjvProjz.js"), react = require("motion/react"), css$1_wrapper = "DoneCheck-module_wrapper__AlISD flexBox-module_row__z24tF", css$1_icon = "DoneCheck-module_icon__bKaFp flexBox-module_row__z24tF";
13
14
 
14
15
  const DoneCheck = React.memo(props => {
15
16
  const theme = hooks_useTheme.useTheme(), {size: size = 88, stroke: stroke = 1.5, color: color = theme.current.colors["feedback-positive"], play: play = !0, delay: delay = 5, duration: duration = 1, didStart: didStart, didEnd: didEnd} = props, [playing, setPlaying] = React.useState(!play);
@@ -3,9 +3,14 @@
3
3
 
4
4
  var jsxRuntime = require("react/jsx-runtime"), React = require("react"), hooks_useTheme = require("../hooks/useTheme.js");
5
5
 
6
- require("../theme/colors.js"), require("./tslib.es6-CzpRaW14.js"), require("../hooks/useWindow.js");
6
+ require("../theme/colors.js"), require("./tslib.es6-DqjaJVC3.js");
7
7
 
8
- var Button = require("./Button-CTsHZBEB.js"), FileList = require("./FileList-CDcfKIV6.js"), css = {
8
+ var misc = require("./misc-BwQIEIuF.js");
9
+
10
+ require("./webRTCStore-DRjvbnve.js"), require("./microphoneStore-Dy5TwE2I.js"),
11
+ require("./volumeStore-BXFAQhvS.js"), require("../hooks/useWindow.js");
12
+
13
+ var Button = require("./Button-CuGvPAkH.js"), FileList = require("./FileList-CzQZZErI.js"), css = {
9
14
  wrapperBg: "PromptInput-module_wrapperBg__zabZq flexBox-module_columnStart__C7P44",
10
15
  bgRotate: "PromptInput-module_bgRotate__Um720",
11
16
  textareaWrapper: "PromptInput-module_textareaWrapper__KusiV flexBox-module_columnStart__C7P44",
@@ -20,7 +25,7 @@ var Button = require("./Button-CTsHZBEB.js"), FileList = require("./FileList-CDc
20
25
  };
21
26
 
22
27
  const PromptInputBase = React.forwardRef((props, ref) => {
23
- const {children: children, attachments: attachments = [], value: value = "", working: working = !1, maxHeight: maxHeight, borderStyle: borderStyle = "gradient", borderColor: borderColor, borderColorOn: borderColorOn, borderAnimate: borderAnimate = !0, borderWidth: borderWidth = 1, borderRadius: borderRadius = 8, focused: focused = !1, placeholder: placeholder = "Ask me anything ...", placeholderWorking: placeholderWorking = "Working ...", submitClears: submitClears = !0, submitEnablesStop: submitEnablesStop = !0, enterSubmits: enterSubmits = !0, attachButton: attachButton = !0, sendButton: sendButton = !0, stopEnabled: stopEnabled = !1, textSize: textSize = "m", maxLength: maxLength, toolbarGap: toolbarGap = 8, onChange: onChange, onBlur: onBlur, onFocus: onFocus, onSubmit: onSubmit, onStop: onStop, onAttachmentsChange: onAttachmentsChange} = props, {isDark: isDark} = hooks_useTheme.useTheme(), [isFocused, setIsFocused] = React.useState(null != focused && focused), [isWorking, setIsWorking] = React.useState(null != working && working), [isStopEnabled, setIsStopEnabled] = React.useState(stopEnabled), [textValue, setTextValue] = React.useState(value), textAreaRef = React.useRef(null), handleFocus = React.useCallback(() => {
28
+ const {children: children, attachments: attachments = [], value: value = "", width: width = "100%", maxWidth: maxWidth, minWidth: minWidth, working: working = !1, maxHeight: maxHeight, attachmentsDisabled: attachmentsDisabled = !1, submitWorking: submitWorking = !1, borderStyle: borderStyle = "gradient", borderColor: borderColor, borderColorOn: borderColorOn, borderAnimate: borderAnimate = !0, borderWidth: borderWidth = 1, borderRadius: borderRadius = 8, focused: focused = !1, placeholder: placeholder = "Ask me anything ...", placeholderWorking: placeholderWorking = "Working ...", submitClears: submitClears = !0, enterSubmits: enterSubmits = !0, attachButton: attachButton = !0, sendButton: sendButton = !0, stopEnabled: stopEnabled = !1, textSize: textSize = "m", maxLength: maxLength, toolbarGap: toolbarGap = 8, onChange: onChange, onBlur: onBlur, onFocus: onFocus, onSubmit: onSubmit, onStop: onStop, onAttachmentsChange: onAttachmentsChange} = props, {isDark: isDark} = hooks_useTheme.useTheme(), [isFocused, setIsFocused] = React.useState(null != focused && focused), [textValue, setTextValue] = React.useState(value), textAreaRef = React.useRef(null), handleFocus = React.useCallback(() => {
24
29
  var _a, _b;
25
30
  setIsFocused(!0), null === (_a = null == textAreaRef ? void 0 : textAreaRef.current) || void 0 === _a || _a.focus(),
26
31
  null == onFocus || onFocus(null === (_b = textAreaRef.current) || void 0 === _b ? void 0 : _b.value, attachments);
@@ -36,47 +41,46 @@ const PromptInputBase = React.forwardRef((props, ref) => {
36
41
  setTextValue(newValue), null == onChange || onChange(newValue, attachments);
37
42
  }, [ onChange, attachments ]), handleSubmit = React.useCallback(() => {
38
43
  var _a;
39
- if (isWorking || isStopEnabled) return;
44
+ if (stopEnabled) return;
45
+ if (working && submitWorking) return;
40
46
  const currentValue = null === (_a = textAreaRef.current) || void 0 === _a ? void 0 : _a.value;
41
- currentValue && (null == onSubmit || onSubmit(currentValue, attachments), setIsWorking(!0),
42
- submitClears && setTextValue(""), submitEnablesStop && setIsStopEnabled(!0), handleBlur());
43
- }, [ submitClears, onSubmit, handleBlur, submitEnablesStop, isWorking, isStopEnabled, attachments ]), handleStop = React.useCallback(() => {
44
- setIsWorking(!1), setIsStopEnabled(!1), null == onStop || onStop(), handleFocus();
47
+ currentValue && (null == onSubmit || onSubmit(currentValue, attachments), submitClears && setTextValue(""),
48
+ handleBlur());
49
+ }, [ stopEnabled, submitClears, onSubmit, handleBlur, attachments, working, submitWorking ]), handleStop = React.useCallback(() => {
50
+ null == onStop || onStop(), handleFocus();
45
51
  }, [ onStop, handleFocus ]), handleKeyDown = React.useCallback(e => {
46
- if ("Enter" === e.key && enterSubmits) {
47
- if (e.preventDefault(), isWorking) return;
48
- handleSubmit();
49
- }
50
- }, [ handleSubmit, isWorking, enterSubmits ]), handleClickSend = React.useCallback(e => {
51
- e.preventDefault(), e.stopPropagation(), isWorking && !isStopEnabled || (isStopEnabled ? handleStop() : handleSubmit());
52
- }, [ handleSubmit, handleStop, isStopEnabled, isWorking ]), handleClickAttach = React.useCallback(e => {
52
+ "Enter" === e.key && enterSubmits && (e.preventDefault(), handleSubmit());
53
+ }, [ handleSubmit, enterSubmits ]), handleClickSend = React.useCallback(e => {
54
+ e.preventDefault(), e.stopPropagation(), stopEnabled ? handleStop() : handleSubmit();
55
+ }, [ handleSubmit, handleStop, stopEnabled ]), handleClickAttach = React.useCallback(e => {
53
56
  e.preventDefault(), e.stopPropagation();
54
57
  }, []), handleClickButtonBar = React.useCallback(e => {
55
- e.preventDefault(), isWorking || handleFocus();
56
- }, [ handleFocus, isWorking ]), setBorderColor = React.useMemo(() => {
58
+ e.preventDefault(), handleFocus();
59
+ }, [ handleFocus ]), setBorderColor = React.useMemo(() => {
57
60
  if ("gradient" === borderStyle) {
58
61
  const radial = isDark ? "var(--conic-gradient-dark)" : "var(--conic-gradient-light)";
59
- return isWorking && borderAnimate ? radial : isFocused ? null != borderColorOn ? borderColorOn : radial : null != borderColor ? borderColor : radial;
62
+ return working && borderAnimate ? radial : isFocused ? null != borderColorOn ? borderColorOn : radial : null != borderColor ? borderColor : radial;
60
63
  }
61
- return "solid" === borderStyle ? isWorking || isFocused ? null != borderColorOn ? borderColorOn : "var(--core-outline-special)" : null != borderColor ? borderColor : "transparent" : "transparent";
62
- }, [ borderStyle, isFocused, borderColorOn, borderColor, isWorking, borderAnimate, isDark ]), setPlaceholder = React.useMemo(() => isWorking && placeholderWorking ? placeholderWorking : placeholder, [ isWorking, placeholder, placeholderWorking ]), setSendIconColor = React.useMemo(() => isStopEnabled || isWorking ? "var(--core-text-primary)" : "" !== textValue ? "var(--core-text-light)" : "var(--core-text-disabled)", [ textValue, isWorking, isStopEnabled ]), sendButtonState = React.useMemo(() => isStopEnabled || "" !== textValue || isWorking ? "normal" : "disabled", [ textValue, isStopEnabled, isWorking ]), attachState = React.useMemo(() => isWorking ? "disabled" : "normal", [ isWorking ]);
64
+ return "solid" === borderStyle ? working || isFocused ? null != borderColorOn ? borderColorOn : "var(--core-outline-special)" : null != borderColor ? borderColor : "transparent" : "transparent";
65
+ }, [ borderStyle, isFocused, borderColorOn, borderColor, working, borderAnimate, isDark ]), setPlaceholder = React.useMemo(() => working && placeholderWorking ? placeholderWorking : placeholder, [ working, placeholder, placeholderWorking ]), setSendIconColor = React.useMemo(() => stopEnabled ? "var(--core-text-primary)" : "" !== textValue ? "var(--core-text-light)" : "var(--core-text-disabled)", [ textValue, stopEnabled ]), sendButtonState = React.useMemo(() => working && submitWorking || stopEnabled ? "normal" : "" === textValue ? "disabled" : "normal", [ textValue, stopEnabled, working, submitWorking ]), attachState = React.useMemo(() => attachmentsDisabled ? "disabled" : "normal", [ attachmentsDisabled ]);
63
66
  React.useEffect(() => {
64
67
  var _a, _b;
65
68
  focused ? null === (_a = textAreaRef.current) || void 0 === _a || _a.focus() : null === (_b = textAreaRef.current) || void 0 === _b || _b.blur();
66
69
  }, [ focused ]), React.useEffect(() => {
67
70
  var _a;
68
71
  (null === (_a = textAreaRef.current) || void 0 === _a ? void 0 : _a.value) !== value && setTextValue(value);
69
- }, [ value ]), React.useEffect(() => {
70
- void 0 !== working && setIsWorking(working);
71
- }, [ working ]), React.useEffect(() => setIsStopEnabled(stopEnabled), [ stopEnabled ]);
72
+ }, [ value ]);
72
73
  const cssVars = React.useMemo(() => ({
74
+ "--prompt-width": misc.setStyle(width),
75
+ "--prompt-min-width": misc.setStyle(minWidth, "unset"),
76
+ "--prompt-max-width": misc.setStyle(maxWidth, "unset"),
73
77
  "--prompt-border-color": setBorderColor,
74
78
  "--prompt-max-height": maxHeight ? `${maxHeight}px` : "unset",
75
79
  "--prompt-border-width": borderWidth ? `${borderWidth}px` : "0",
76
- "--prompt-state": isWorking && borderAnimate ? "running" : "paused",
80
+ "--prompt-state": working && borderAnimate ? "running" : "paused",
77
81
  "--prompt-border-radius": borderRadius ? `${borderRadius}px` : "8px",
78
82
  "--prompt-inner-border-radius": borderRadius ? borderRadius - 1 + "px" : "7px"
79
- }), [ isWorking, borderAnimate, setBorderColor, borderWidth, borderRadius, maxHeight ]);
83
+ }), [ working, borderAnimate, setBorderColor, borderWidth, borderRadius, maxHeight, width, maxWidth, minWidth ]);
80
84
  return jsxRuntime.jsx("div", {
81
85
  className: css.wrapperBg,
82
86
  ref: ref,
@@ -127,13 +131,13 @@ const PromptInputBase = React.forwardRef((props, ref) => {
127
131
  }), sendButton && jsxRuntime.jsx(Button.Button, {
128
132
  round: !0,
129
133
  label: void 0,
130
- variant: isStopEnabled ? "outline" : "solid",
131
- iconLeft: isStopEnabled ? "stop" : "arrow up",
132
- iconSize: isStopEnabled ? 16 : 20,
134
+ variant: stopEnabled ? "outline" : "solid",
135
+ iconLeft: stopEnabled ? "stop" : "arrow up",
136
+ iconSize: stopEnabled ? 16 : 20,
133
137
  state: sendButtonState,
134
138
  bgColorDisabled: "var(--core-outline-primary)",
135
- progress: !isStopEnabled,
136
- working: !isStopEnabled && isWorking,
139
+ progress: !stopEnabled,
140
+ working: submitWorking && working,
137
141
  onMouseDown: handleClickSend,
138
142
  iconColor: setSendIconColor
139
143
  }) ]
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var tslib_es6 = require("./tslib.es6-CzpRaW14.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-DZAbObFp.js"), Icon = require("./Icon-BFZ_5Qv3.js"), css_wrapper = "RadioButton-module_wrapper__-pWRe flexBox-module_row__z24tF", css_radioIcon = "RadioButton-module_radioIcon__I27Xv flexBox-module_column__ezvMq", css_radioTitle = "RadioButton-module_radioTitle__zCQII flexBox-module_rowStart__4tcxS type-module_body-m-regular__LuQBA", css_radioContent = "RadioButton-module_radioContent__38xVx flexBox-module_columnStart__C7P44";
4
+ var tslib_es6 = require("./tslib.es6-DqjaJVC3.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-BwQIEIuF.js"), Icon = require("./Icon-DjvProjz.js"), css_wrapper = "RadioButton-module_wrapper__-pWRe flexBox-module_row__z24tF", css_radioIcon = "RadioButton-module_radioIcon__I27Xv flexBox-module_column__ezvMq", css_radioTitle = "RadioButton-module_radioTitle__zCQII flexBox-module_rowStart__4tcxS type-module_body-m-regular__LuQBA", css_radioContent = "RadioButton-module_radioContent__38xVx flexBox-module_columnStart__C7P44";
5
5
 
6
6
  function RadioButtonComponent(props) {
7
7
  const {label: label, children: children, fieldName: fieldName, value: value, selected: selected = !1, controlType: controlType = "radio", deselect: deselect = !0, tabIndex: tabIndex = 0, wrap: wrap = !1, list: list = !1, hideRadio: hideRadio = !1, noFrame: noFrame = !0, icon: icon = "circle", checkedIcon: checkedIcon = "check circle", iconColor: iconColor, gap: gap = 6, onChange: onChange = () => null} = props, divAttributes = tslib_es6.__rest(props, [ "label", "children", "fieldName", "value", "selected", "controlType", "deselect", "tabIndex", "wrap", "list", "hideRadio", "noFrame", "icon", "checkedIcon", "iconColor", "gap", "onChange" ]), {id: divId, className: className, style: style} = divAttributes, rest = tslib_es6.__rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", [isSelected, setIsSelected] = React.useState(selected);
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var tslib_es6 = require("./tslib.es6-CzpRaW14.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-DZAbObFp.js"), RadioButton = require("./RadioButton-DP2X1dA_.js"), css_wrapper = "RadioButtonList-module_wrapper__wnq1-", css_column = "RadioButtonList-module_column__Bq16e flexBox-module_columnStart__C7P44", css_row = "RadioButtonList-module_row__D3szq flexBox-module_rowStart__4tcxS";
4
+ var tslib_es6 = require("./tslib.es6-DqjaJVC3.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), misc = require("./misc-BwQIEIuF.js"), RadioButton = require("./RadioButton-DPpAOFQt.js"), css_wrapper = "RadioButtonList-module_wrapper__wnq1-", css_column = "RadioButtonList-module_column__Bq16e flexBox-module_columnStart__C7P44", css_row = "RadioButtonList-module_row__D3szq flexBox-module_rowStart__4tcxS";
5
5
 
6
6
  function RadioButtonListComponent(props) {
7
7
  const {width: width = "min-content", options: options = [], selectedIndexes: selectedIndexes = null, selectedOptions: selectedOptions = null, label: label = null, deselect: deselect = !1, multiSelect: multiSelect = !1, wrap: wrap = !1, tabIndexSeed: tabIndexSeed = 0, spacer: spacer = "none", custom: custom = 0, gap: gap = 16, hideRadio: hideRadio = !1, noFrame: noFrame = !0, toggleIcon: toggleIcon = !0, iconColor: iconColor, icon: icon = "circle", checkedIcon: checkedIcon = "check circle", iconSelectedColor: iconSelectedColor, onChange: onChange = () => null} = props, divAttributes = tslib_es6.__rest(props, [ "width", "options", "selectedIndexes", "selectedOptions", "label", "deselect", "multiSelect", "wrap", "tabIndexSeed", "spacer", "custom", "gap", "hideRadio", "noFrame", "toggleIcon", "iconColor", "icon", "checkedIcon", "iconSelectedColor", "onChange" ]), {id: divId, className: className, style: style} = divAttributes, rest = tslib_es6.__rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", labelId = React.useId(), [selected, setSelected] = React.useState(selectedIndexes);
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var tslib_es6 = require("./tslib.es6-CzpRaW14.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), hooks_useObserveResize = require("../hooks/useObserveResize.js"), misc = require("./misc-DZAbObFp.js"), debounce = require("./debounce-CaoYvh12.js"), css_wrapper = "Slider-module_wrapper__KCCs1", css_trackBg = "Slider-module_trackBg__7zfqm flexBox-module_rowStart__4tcxS", css_track = "Slider-module_track__kaJkL flexBox-module_rowStart__4tcxS", css_trackHead = "Slider-module_trackHead__W-UdG", css_trackWrapper = "Slider-module_trackWrapper__Ot0Wh flexBox-module_rowStart__4tcxS";
4
+ var tslib_es6 = require("./tslib.es6-DqjaJVC3.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react"), hooks_useObserveResize = require("../hooks/useObserveResize.js"), misc = require("./misc-BwQIEIuF.js"), debounce = require("./debounce-BtCCTkbG.js"), css_wrapper = "Slider-module_wrapper__KCCs1", css_trackBg = "Slider-module_trackBg__7zfqm flexBox-module_rowStart__4tcxS", css_track = "Slider-module_track__kaJkL flexBox-module_rowStart__4tcxS", css_trackHead = "Slider-module_trackHead__W-UdG", css_trackWrapper = "Slider-module_trackWrapper__Ot0Wh flexBox-module_rowStart__4tcxS";
5
5
 
6
6
  const Slider = React.memo(props => {
7
7
  const {value: value = 25, scaleMin: scaleMin = 0, scaleMax: scaleMax = 100, width: width, height: height = 2, touchHeight: touchHeight = 24, trackHeadSize: trackHeadSize = 7, step: step, disabled: disabled = !1, disabledOpacity: disabledOpacity = .5, cursor: cursor = "default", headColor: headColor = "var(--core-text-light)", trackColor: trackColor = "var(--core-surface-secondary)", progressColor: progressColor = "var(--core-text-tertiary)", trackHeadBorderSize: trackHeadBorderSize = 1, trackHeadBorderColor: trackHeadBorderColor = "var(--core-outline-secondary)", onChange: onChange = () => null, onDragChange: onDragChange = () => null} = props, divAttributes = tslib_es6.__rest(props, [ "value", "scaleMin", "scaleMax", "width", "height", "touchHeight", "trackHeadSize", "step", "disabled", "disabledOpacity", "cursor", "headColor", "trackColor", "progressColor", "trackHeadBorderSize", "trackHeadBorderColor", "onChange", "onDragChange" ]), {id: divId, className: className, style: style} = divAttributes, rest = tslib_es6.__rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", ref = React.useRef(null), track = React.useRef(null), head = React.useRef(null), [currentValue, setCurrentValue] = React.useState(value), absProgressRef = React.useRef(value), relativeProgressRef = React.useRef(0), didMount = React.useRef(!1), size = hooks_useObserveResize.useObserveResize(ref, {
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var tslib_es6 = require("./tslib.es6-CzpRaW14.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react");
4
+ var tslib_es6 = require("./tslib.es6-DqjaJVC3.js"), jsxRuntime = require("react/jsx-runtime"), React = require("react");
5
5
 
6
6
  const Spacer = React.memo(props => {
7
7
  const {size: size = 8} = props, divAttributes = tslib_es6.__rest(props, [ "size" ]), {id: divId, className: className, style: style} = divAttributes, rest = tslib_es6.__rest(divAttributes, [ "id", "className", "style" ]), spacerStyle = React.useMemo(() => ({