@oxyhq/bloom 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/README.md +295 -0
  2. package/lib/commonjs/avatar/Avatar.js +215 -0
  3. package/lib/commonjs/avatar/Avatar.js.map +1 -0
  4. package/lib/commonjs/avatar/index.js +13 -0
  5. package/lib/commonjs/avatar/index.js.map +1 -0
  6. package/lib/commonjs/avatar/types.js +6 -0
  7. package/lib/commonjs/avatar/types.js.map +1 -0
  8. package/lib/commonjs/button/Button.js +169 -0
  9. package/lib/commonjs/button/Button.js.map +1 -0
  10. package/lib/commonjs/button/index.js +43 -0
  11. package/lib/commonjs/button/index.js.map +1 -0
  12. package/lib/commonjs/button/types.js +6 -0
  13. package/lib/commonjs/button/types.js.map +1 -0
  14. package/lib/commonjs/collapsible/Collapsible.js +58 -0
  15. package/lib/commonjs/collapsible/Collapsible.js.map +1 -0
  16. package/lib/commonjs/collapsible/index.js +13 -0
  17. package/lib/commonjs/collapsible/index.js.map +1 -0
  18. package/lib/commonjs/collapsible/types.js +6 -0
  19. package/lib/commonjs/collapsible/types.js.map +1 -0
  20. package/lib/commonjs/dialog/Dialog.js +186 -0
  21. package/lib/commonjs/dialog/Dialog.js.map +1 -0
  22. package/lib/commonjs/dialog/Dialog.web.js +244 -0
  23. package/lib/commonjs/dialog/Dialog.web.js.map +1 -0
  24. package/lib/commonjs/dialog/context.js +35 -0
  25. package/lib/commonjs/dialog/context.js.map +1 -0
  26. package/lib/commonjs/dialog/index.js +56 -0
  27. package/lib/commonjs/dialog/index.js.map +1 -0
  28. package/lib/commonjs/dialog/types.js +6 -0
  29. package/lib/commonjs/dialog/types.js.map +1 -0
  30. package/lib/commonjs/divider/Divider.js +39 -0
  31. package/lib/commonjs/divider/Divider.js.map +1 -0
  32. package/lib/commonjs/divider/index.js +13 -0
  33. package/lib/commonjs/divider/index.js.map +1 -0
  34. package/lib/commonjs/divider/types.js +6 -0
  35. package/lib/commonjs/divider/types.js.map +1 -0
  36. package/lib/commonjs/error-boundary/ErrorBoundary.js +116 -0
  37. package/lib/commonjs/error-boundary/ErrorBoundary.js.map +1 -0
  38. package/lib/commonjs/error-boundary/index.js +13 -0
  39. package/lib/commonjs/error-boundary/index.js.map +1 -0
  40. package/lib/commonjs/error-boundary/types.js +6 -0
  41. package/lib/commonjs/error-boundary/types.js.map +1 -0
  42. package/lib/commonjs/grouped-buttons/GroupedButtons.js +86 -0
  43. package/lib/commonjs/grouped-buttons/GroupedButtons.js.map +1 -0
  44. package/lib/commonjs/grouped-buttons/index.js +19 -0
  45. package/lib/commonjs/grouped-buttons/index.js.map +1 -0
  46. package/lib/commonjs/grouped-buttons/types.js +6 -0
  47. package/lib/commonjs/grouped-buttons/types.js.map +1 -0
  48. package/lib/commonjs/index.js +136 -0
  49. package/lib/commonjs/index.js.map +1 -0
  50. package/lib/commonjs/loading/Loading.js +274 -0
  51. package/lib/commonjs/loading/Loading.js.map +1 -0
  52. package/lib/commonjs/loading/index.js +13 -0
  53. package/lib/commonjs/loading/index.js.map +1 -0
  54. package/lib/commonjs/loading/types.js +6 -0
  55. package/lib/commonjs/loading/types.js.map +1 -0
  56. package/lib/commonjs/package.json +1 -0
  57. package/lib/commonjs/portal/index.js +90 -0
  58. package/lib/commonjs/portal/index.js.map +1 -0
  59. package/lib/commonjs/prompt/Prompt.js +267 -0
  60. package/lib/commonjs/prompt/Prompt.js.map +1 -0
  61. package/lib/commonjs/prompt/index.js +61 -0
  62. package/lib/commonjs/prompt/index.js.map +1 -0
  63. package/lib/commonjs/prompt-input/Actions.js +45 -0
  64. package/lib/commonjs/prompt-input/Actions.js.map +1 -0
  65. package/lib/commonjs/prompt-input/Attachments.js +277 -0
  66. package/lib/commonjs/prompt-input/Attachments.js.map +1 -0
  67. package/lib/commonjs/prompt-input/PromptInput.js +226 -0
  68. package/lib/commonjs/prompt-input/PromptInput.js.map +1 -0
  69. package/lib/commonjs/prompt-input/SubmitButton.js +81 -0
  70. package/lib/commonjs/prompt-input/SubmitButton.js.map +1 -0
  71. package/lib/commonjs/prompt-input/Textarea.js +101 -0
  72. package/lib/commonjs/prompt-input/Textarea.js.map +1 -0
  73. package/lib/commonjs/prompt-input/Textarea.web.js +148 -0
  74. package/lib/commonjs/prompt-input/Textarea.web.js.map +1 -0
  75. package/lib/commonjs/prompt-input/context.js +35 -0
  76. package/lib/commonjs/prompt-input/context.js.map +1 -0
  77. package/lib/commonjs/prompt-input/index.js +54 -0
  78. package/lib/commonjs/prompt-input/index.js.map +1 -0
  79. package/lib/commonjs/prompt-input/types.js +6 -0
  80. package/lib/commonjs/prompt-input/types.js.map +1 -0
  81. package/lib/commonjs/radio-indicator/RadioIndicator.js +48 -0
  82. package/lib/commonjs/radio-indicator/RadioIndicator.js.map +1 -0
  83. package/lib/commonjs/radio-indicator/index.js +13 -0
  84. package/lib/commonjs/radio-indicator/index.js.map +1 -0
  85. package/lib/commonjs/radio-indicator/types.js +6 -0
  86. package/lib/commonjs/radio-indicator/types.js.map +1 -0
  87. package/lib/commonjs/theme/BloomThemeProvider.js +122 -0
  88. package/lib/commonjs/theme/BloomThemeProvider.js.map +1 -0
  89. package/lib/commonjs/theme/adaptive-colors.js +96 -0
  90. package/lib/commonjs/theme/adaptive-colors.js.map +1 -0
  91. package/lib/commonjs/theme/apply-dark-class.js +13 -0
  92. package/lib/commonjs/theme/apply-dark-class.js.map +1 -0
  93. package/lib/commonjs/theme/color-presets.js +486 -0
  94. package/lib/commonjs/theme/color-presets.js.map +1 -0
  95. package/lib/commonjs/theme/index.js +57 -0
  96. package/lib/commonjs/theme/index.js.map +1 -0
  97. package/lib/commonjs/theme/set-color-scheme-safe.js +23 -0
  98. package/lib/commonjs/theme/set-color-scheme-safe.js.map +1 -0
  99. package/lib/commonjs/theme/types.js +2 -0
  100. package/lib/commonjs/theme/types.js.map +1 -0
  101. package/lib/commonjs/theme/use-theme.js +29 -0
  102. package/lib/commonjs/theme/use-theme.js.map +1 -0
  103. package/lib/module/avatar/Avatar.js +210 -0
  104. package/lib/module/avatar/Avatar.js.map +1 -0
  105. package/lib/module/avatar/index.js +4 -0
  106. package/lib/module/avatar/index.js.map +1 -0
  107. package/lib/module/avatar/types.js +4 -0
  108. package/lib/module/avatar/types.js.map +1 -0
  109. package/lib/module/button/Button.js +164 -0
  110. package/lib/module/button/Button.js.map +1 -0
  111. package/lib/module/button/index.js +4 -0
  112. package/lib/module/button/index.js.map +1 -0
  113. package/lib/module/button/types.js +4 -0
  114. package/lib/module/button/types.js.map +1 -0
  115. package/lib/module/collapsible/Collapsible.js +53 -0
  116. package/lib/module/collapsible/Collapsible.js.map +1 -0
  117. package/lib/module/collapsible/index.js +4 -0
  118. package/lib/module/collapsible/index.js.map +1 -0
  119. package/lib/module/collapsible/types.js +4 -0
  120. package/lib/module/collapsible/types.js.map +1 -0
  121. package/lib/module/dialog/Dialog.js +165 -0
  122. package/lib/module/dialog/Dialog.js.map +1 -0
  123. package/lib/module/dialog/Dialog.web.js +222 -0
  124. package/lib/module/dialog/Dialog.web.js.map +1 -0
  125. package/lib/module/dialog/context.js +29 -0
  126. package/lib/module/dialog/context.js.map +1 -0
  127. package/lib/module/dialog/index.js +5 -0
  128. package/lib/module/dialog/index.js.map +1 -0
  129. package/lib/module/dialog/types.js +4 -0
  130. package/lib/module/dialog/types.js.map +1 -0
  131. package/lib/module/divider/Divider.js +34 -0
  132. package/lib/module/divider/Divider.js.map +1 -0
  133. package/lib/module/divider/index.js +4 -0
  134. package/lib/module/divider/index.js.map +1 -0
  135. package/lib/module/divider/types.js +4 -0
  136. package/lib/module/divider/types.js.map +1 -0
  137. package/lib/module/error-boundary/ErrorBoundary.js +110 -0
  138. package/lib/module/error-boundary/ErrorBoundary.js.map +1 -0
  139. package/lib/module/error-boundary/index.js +4 -0
  140. package/lib/module/error-boundary/index.js.map +1 -0
  141. package/lib/module/error-boundary/types.js +4 -0
  142. package/lib/module/error-boundary/types.js.map +1 -0
  143. package/lib/module/grouped-buttons/GroupedButtons.js +80 -0
  144. package/lib/module/grouped-buttons/GroupedButtons.js.map +1 -0
  145. package/lib/module/grouped-buttons/index.js +4 -0
  146. package/lib/module/grouped-buttons/index.js.map +1 -0
  147. package/lib/module/grouped-buttons/types.js +4 -0
  148. package/lib/module/grouped-buttons/types.js.map +1 -0
  149. package/lib/module/index.js +16 -0
  150. package/lib/module/index.js.map +1 -0
  151. package/lib/module/loading/Loading.js +269 -0
  152. package/lib/module/loading/Loading.js.map +1 -0
  153. package/lib/module/loading/index.js +4 -0
  154. package/lib/module/loading/index.js.map +1 -0
  155. package/lib/module/loading/types.js +4 -0
  156. package/lib/module/loading/types.js.map +1 -0
  157. package/lib/module/package.json +1 -0
  158. package/lib/module/portal/index.js +85 -0
  159. package/lib/module/portal/index.js.map +1 -0
  160. package/lib/module/prompt/Prompt.js +250 -0
  161. package/lib/module/prompt/Prompt.js.map +1 -0
  162. package/lib/module/prompt/index.js +4 -0
  163. package/lib/module/prompt/index.js.map +1 -0
  164. package/lib/module/prompt-input/Actions.js +40 -0
  165. package/lib/module/prompt-input/Actions.js.map +1 -0
  166. package/lib/module/prompt-input/Attachments.js +272 -0
  167. package/lib/module/prompt-input/Attachments.js.map +1 -0
  168. package/lib/module/prompt-input/PromptInput.js +221 -0
  169. package/lib/module/prompt-input/PromptInput.js.map +1 -0
  170. package/lib/module/prompt-input/SubmitButton.js +76 -0
  171. package/lib/module/prompt-input/SubmitButton.js.map +1 -0
  172. package/lib/module/prompt-input/Textarea.js +96 -0
  173. package/lib/module/prompt-input/Textarea.js.map +1 -0
  174. package/lib/module/prompt-input/Textarea.web.js +143 -0
  175. package/lib/module/prompt-input/Textarea.web.js.map +1 -0
  176. package/lib/module/prompt-input/context.js +28 -0
  177. package/lib/module/prompt-input/context.js.map +1 -0
  178. package/lib/module/prompt-input/index.js +9 -0
  179. package/lib/module/prompt-input/index.js.map +1 -0
  180. package/lib/module/prompt-input/types.js +4 -0
  181. package/lib/module/prompt-input/types.js.map +1 -0
  182. package/lib/module/radio-indicator/RadioIndicator.js +43 -0
  183. package/lib/module/radio-indicator/RadioIndicator.js.map +1 -0
  184. package/lib/module/radio-indicator/index.js +4 -0
  185. package/lib/module/radio-indicator/index.js.map +1 -0
  186. package/lib/module/radio-indicator/types.js +4 -0
  187. package/lib/module/radio-indicator/types.js.map +1 -0
  188. package/lib/module/theme/BloomThemeProvider.js +116 -0
  189. package/lib/module/theme/BloomThemeProvider.js.map +1 -0
  190. package/lib/module/theme/adaptive-colors.js +92 -0
  191. package/lib/module/theme/adaptive-colors.js.map +1 -0
  192. package/lib/module/theme/apply-dark-class.js +9 -0
  193. package/lib/module/theme/apply-dark-class.js.map +1 -0
  194. package/lib/module/theme/color-presets.js +481 -0
  195. package/lib/module/theme/color-presets.js.map +1 -0
  196. package/lib/module/theme/index.js +6 -0
  197. package/lib/module/theme/index.js.map +1 -0
  198. package/lib/module/theme/set-color-scheme-safe.js +19 -0
  199. package/lib/module/theme/set-color-scheme-safe.js.map +1 -0
  200. package/lib/module/theme/types.js +2 -0
  201. package/lib/module/theme/types.js.map +1 -0
  202. package/lib/module/theme/use-theme.js +23 -0
  203. package/lib/module/theme/use-theme.js.map +1 -0
  204. package/lib/typescript/commonjs/avatar/Avatar.d.ts +4 -0
  205. package/lib/typescript/commonjs/avatar/Avatar.d.ts.map +1 -0
  206. package/lib/typescript/commonjs/avatar/index.d.ts +3 -0
  207. package/lib/typescript/commonjs/avatar/index.d.ts.map +1 -0
  208. package/lib/typescript/commonjs/avatar/types.d.ts +31 -0
  209. package/lib/typescript/commonjs/avatar/types.d.ts.map +1 -0
  210. package/lib/typescript/commonjs/button/Button.d.ts +10 -0
  211. package/lib/typescript/commonjs/button/Button.d.ts.map +1 -0
  212. package/lib/typescript/commonjs/button/index.d.ts +3 -0
  213. package/lib/typescript/commonjs/button/index.d.ts.map +1 -0
  214. package/lib/typescript/commonjs/button/types.d.ts +25 -0
  215. package/lib/typescript/commonjs/button/types.d.ts.map +1 -0
  216. package/lib/typescript/commonjs/collapsible/Collapsible.d.ts +4 -0
  217. package/lib/typescript/commonjs/collapsible/Collapsible.d.ts.map +1 -0
  218. package/lib/typescript/commonjs/collapsible/index.d.ts +3 -0
  219. package/lib/typescript/commonjs/collapsible/index.d.ts.map +1 -0
  220. package/lib/typescript/commonjs/collapsible/types.d.ts +18 -0
  221. package/lib/typescript/commonjs/collapsible/types.d.ts.map +1 -0
  222. package/lib/typescript/commonjs/dialog/Dialog.d.ts +11 -0
  223. package/lib/typescript/commonjs/dialog/Dialog.d.ts.map +1 -0
  224. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts +23 -0
  225. package/lib/typescript/commonjs/dialog/Dialog.web.d.ts.map +1 -0
  226. package/lib/typescript/commonjs/dialog/context.d.ts +5 -0
  227. package/lib/typescript/commonjs/dialog/context.d.ts.map +1 -0
  228. package/lib/typescript/commonjs/dialog/index.d.ts +4 -0
  229. package/lib/typescript/commonjs/dialog/index.d.ts.map +1 -0
  230. package/lib/typescript/commonjs/dialog/types.d.ts +30 -0
  231. package/lib/typescript/commonjs/dialog/types.d.ts.map +1 -0
  232. package/lib/typescript/commonjs/divider/Divider.d.ts +4 -0
  233. package/lib/typescript/commonjs/divider/Divider.d.ts.map +1 -0
  234. package/lib/typescript/commonjs/divider/index.d.ts +3 -0
  235. package/lib/typescript/commonjs/divider/index.d.ts.map +1 -0
  236. package/lib/typescript/commonjs/divider/types.d.ts +15 -0
  237. package/lib/typescript/commonjs/divider/types.d.ts.map +1 -0
  238. package/lib/typescript/commonjs/error-boundary/ErrorBoundary.d.ts +16 -0
  239. package/lib/typescript/commonjs/error-boundary/ErrorBoundary.d.ts.map +1 -0
  240. package/lib/typescript/commonjs/error-boundary/index.d.ts +3 -0
  241. package/lib/typescript/commonjs/error-boundary/index.d.ts.map +1 -0
  242. package/lib/typescript/commonjs/error-boundary/types.d.ts +16 -0
  243. package/lib/typescript/commonjs/error-boundary/types.d.ts.map +1 -0
  244. package/lib/typescript/commonjs/grouped-buttons/GroupedButtons.d.ts +8 -0
  245. package/lib/typescript/commonjs/grouped-buttons/GroupedButtons.d.ts.map +1 -0
  246. package/lib/typescript/commonjs/grouped-buttons/index.d.ts +3 -0
  247. package/lib/typescript/commonjs/grouped-buttons/index.d.ts.map +1 -0
  248. package/lib/typescript/commonjs/grouped-buttons/types.d.ts +15 -0
  249. package/lib/typescript/commonjs/grouped-buttons/types.d.ts.map +1 -0
  250. package/lib/typescript/commonjs/index.d.ts +15 -0
  251. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  252. package/lib/typescript/commonjs/loading/Loading.d.ts +4 -0
  253. package/lib/typescript/commonjs/loading/Loading.d.ts.map +1 -0
  254. package/lib/typescript/commonjs/loading/index.d.ts +3 -0
  255. package/lib/typescript/commonjs/loading/index.d.ts.map +1 -0
  256. package/lib/typescript/commonjs/loading/types.d.ts +60 -0
  257. package/lib/typescript/commonjs/loading/types.d.ts.map +1 -0
  258. package/lib/typescript/commonjs/package.json +1 -0
  259. package/lib/typescript/commonjs/portal/index.d.ts +5 -0
  260. package/lib/typescript/commonjs/portal/index.d.ts.map +1 -0
  261. package/lib/typescript/commonjs/prompt/Prompt.d.ts +42 -0
  262. package/lib/typescript/commonjs/prompt/Prompt.d.ts.map +1 -0
  263. package/lib/typescript/commonjs/prompt/index.d.ts +3 -0
  264. package/lib/typescript/commonjs/prompt/index.d.ts.map +1 -0
  265. package/lib/typescript/commonjs/prompt-input/Actions.d.ts +3 -0
  266. package/lib/typescript/commonjs/prompt-input/Actions.d.ts.map +1 -0
  267. package/lib/typescript/commonjs/prompt-input/Attachments.d.ts +3 -0
  268. package/lib/typescript/commonjs/prompt-input/Attachments.d.ts.map +1 -0
  269. package/lib/typescript/commonjs/prompt-input/PromptInput.d.ts +3 -0
  270. package/lib/typescript/commonjs/prompt-input/PromptInput.d.ts.map +1 -0
  271. package/lib/typescript/commonjs/prompt-input/SubmitButton.d.ts +3 -0
  272. package/lib/typescript/commonjs/prompt-input/SubmitButton.d.ts.map +1 -0
  273. package/lib/typescript/commonjs/prompt-input/Textarea.d.ts +3 -0
  274. package/lib/typescript/commonjs/prompt-input/Textarea.d.ts.map +1 -0
  275. package/lib/typescript/commonjs/prompt-input/Textarea.web.d.ts +3 -0
  276. package/lib/typescript/commonjs/prompt-input/Textarea.web.d.ts.map +1 -0
  277. package/lib/typescript/commonjs/prompt-input/context.d.ts +34 -0
  278. package/lib/typescript/commonjs/prompt-input/context.d.ts.map +1 -0
  279. package/lib/typescript/commonjs/prompt-input/index.d.ts +8 -0
  280. package/lib/typescript/commonjs/prompt-input/index.d.ts.map +1 -0
  281. package/lib/typescript/commonjs/prompt-input/types.d.ts +88 -0
  282. package/lib/typescript/commonjs/prompt-input/types.d.ts.map +1 -0
  283. package/lib/typescript/commonjs/radio-indicator/RadioIndicator.d.ts +4 -0
  284. package/lib/typescript/commonjs/radio-indicator/RadioIndicator.d.ts.map +1 -0
  285. package/lib/typescript/commonjs/radio-indicator/index.d.ts +3 -0
  286. package/lib/typescript/commonjs/radio-indicator/index.d.ts.map +1 -0
  287. package/lib/typescript/commonjs/radio-indicator/types.d.ts +15 -0
  288. package/lib/typescript/commonjs/radio-indicator/types.d.ts.map +1 -0
  289. package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts +20 -0
  290. package/lib/typescript/commonjs/theme/BloomThemeProvider.d.ts.map +1 -0
  291. package/lib/typescript/commonjs/theme/adaptive-colors.d.ts +3 -0
  292. package/lib/typescript/commonjs/theme/adaptive-colors.d.ts.map +1 -0
  293. package/lib/typescript/commonjs/theme/apply-dark-class.d.ts +2 -0
  294. package/lib/typescript/commonjs/theme/apply-dark-class.d.ts.map +1 -0
  295. package/lib/typescript/commonjs/theme/color-presets.d.ts +12 -0
  296. package/lib/typescript/commonjs/theme/color-presets.d.ts.map +1 -0
  297. package/lib/typescript/commonjs/theme/index.d.ts +7 -0
  298. package/lib/typescript/commonjs/theme/index.d.ts.map +1 -0
  299. package/lib/typescript/commonjs/theme/set-color-scheme-safe.d.ts +9 -0
  300. package/lib/typescript/commonjs/theme/set-color-scheme-safe.d.ts.map +1 -0
  301. package/lib/typescript/commonjs/theme/types.d.ts +39 -0
  302. package/lib/typescript/commonjs/theme/types.d.ts.map +1 -0
  303. package/lib/typescript/commonjs/theme/use-theme.d.ts +5 -0
  304. package/lib/typescript/commonjs/theme/use-theme.d.ts.map +1 -0
  305. package/lib/typescript/module/avatar/Avatar.d.ts +4 -0
  306. package/lib/typescript/module/avatar/Avatar.d.ts.map +1 -0
  307. package/lib/typescript/module/avatar/index.d.ts +3 -0
  308. package/lib/typescript/module/avatar/index.d.ts.map +1 -0
  309. package/lib/typescript/module/avatar/types.d.ts +31 -0
  310. package/lib/typescript/module/avatar/types.d.ts.map +1 -0
  311. package/lib/typescript/module/button/Button.d.ts +10 -0
  312. package/lib/typescript/module/button/Button.d.ts.map +1 -0
  313. package/lib/typescript/module/button/index.d.ts +3 -0
  314. package/lib/typescript/module/button/index.d.ts.map +1 -0
  315. package/lib/typescript/module/button/types.d.ts +25 -0
  316. package/lib/typescript/module/button/types.d.ts.map +1 -0
  317. package/lib/typescript/module/collapsible/Collapsible.d.ts +4 -0
  318. package/lib/typescript/module/collapsible/Collapsible.d.ts.map +1 -0
  319. package/lib/typescript/module/collapsible/index.d.ts +3 -0
  320. package/lib/typescript/module/collapsible/index.d.ts.map +1 -0
  321. package/lib/typescript/module/collapsible/types.d.ts +18 -0
  322. package/lib/typescript/module/collapsible/types.d.ts.map +1 -0
  323. package/lib/typescript/module/dialog/Dialog.d.ts +11 -0
  324. package/lib/typescript/module/dialog/Dialog.d.ts.map +1 -0
  325. package/lib/typescript/module/dialog/Dialog.web.d.ts +23 -0
  326. package/lib/typescript/module/dialog/Dialog.web.d.ts.map +1 -0
  327. package/lib/typescript/module/dialog/context.d.ts +5 -0
  328. package/lib/typescript/module/dialog/context.d.ts.map +1 -0
  329. package/lib/typescript/module/dialog/index.d.ts +4 -0
  330. package/lib/typescript/module/dialog/index.d.ts.map +1 -0
  331. package/lib/typescript/module/dialog/types.d.ts +30 -0
  332. package/lib/typescript/module/dialog/types.d.ts.map +1 -0
  333. package/lib/typescript/module/divider/Divider.d.ts +4 -0
  334. package/lib/typescript/module/divider/Divider.d.ts.map +1 -0
  335. package/lib/typescript/module/divider/index.d.ts +3 -0
  336. package/lib/typescript/module/divider/index.d.ts.map +1 -0
  337. package/lib/typescript/module/divider/types.d.ts +15 -0
  338. package/lib/typescript/module/divider/types.d.ts.map +1 -0
  339. package/lib/typescript/module/error-boundary/ErrorBoundary.d.ts +16 -0
  340. package/lib/typescript/module/error-boundary/ErrorBoundary.d.ts.map +1 -0
  341. package/lib/typescript/module/error-boundary/index.d.ts +3 -0
  342. package/lib/typescript/module/error-boundary/index.d.ts.map +1 -0
  343. package/lib/typescript/module/error-boundary/types.d.ts +16 -0
  344. package/lib/typescript/module/error-boundary/types.d.ts.map +1 -0
  345. package/lib/typescript/module/grouped-buttons/GroupedButtons.d.ts +8 -0
  346. package/lib/typescript/module/grouped-buttons/GroupedButtons.d.ts.map +1 -0
  347. package/lib/typescript/module/grouped-buttons/index.d.ts +3 -0
  348. package/lib/typescript/module/grouped-buttons/index.d.ts.map +1 -0
  349. package/lib/typescript/module/grouped-buttons/types.d.ts +15 -0
  350. package/lib/typescript/module/grouped-buttons/types.d.ts.map +1 -0
  351. package/lib/typescript/module/index.d.ts +15 -0
  352. package/lib/typescript/module/index.d.ts.map +1 -0
  353. package/lib/typescript/module/loading/Loading.d.ts +4 -0
  354. package/lib/typescript/module/loading/Loading.d.ts.map +1 -0
  355. package/lib/typescript/module/loading/index.d.ts +3 -0
  356. package/lib/typescript/module/loading/index.d.ts.map +1 -0
  357. package/lib/typescript/module/loading/types.d.ts +60 -0
  358. package/lib/typescript/module/loading/types.d.ts.map +1 -0
  359. package/lib/typescript/module/package.json +1 -0
  360. package/lib/typescript/module/portal/index.d.ts +5 -0
  361. package/lib/typescript/module/portal/index.d.ts.map +1 -0
  362. package/lib/typescript/module/prompt/Prompt.d.ts +42 -0
  363. package/lib/typescript/module/prompt/Prompt.d.ts.map +1 -0
  364. package/lib/typescript/module/prompt/index.d.ts +3 -0
  365. package/lib/typescript/module/prompt/index.d.ts.map +1 -0
  366. package/lib/typescript/module/prompt-input/Actions.d.ts +3 -0
  367. package/lib/typescript/module/prompt-input/Actions.d.ts.map +1 -0
  368. package/lib/typescript/module/prompt-input/Attachments.d.ts +3 -0
  369. package/lib/typescript/module/prompt-input/Attachments.d.ts.map +1 -0
  370. package/lib/typescript/module/prompt-input/PromptInput.d.ts +3 -0
  371. package/lib/typescript/module/prompt-input/PromptInput.d.ts.map +1 -0
  372. package/lib/typescript/module/prompt-input/SubmitButton.d.ts +3 -0
  373. package/lib/typescript/module/prompt-input/SubmitButton.d.ts.map +1 -0
  374. package/lib/typescript/module/prompt-input/Textarea.d.ts +3 -0
  375. package/lib/typescript/module/prompt-input/Textarea.d.ts.map +1 -0
  376. package/lib/typescript/module/prompt-input/Textarea.web.d.ts +3 -0
  377. package/lib/typescript/module/prompt-input/Textarea.web.d.ts.map +1 -0
  378. package/lib/typescript/module/prompt-input/context.d.ts +34 -0
  379. package/lib/typescript/module/prompt-input/context.d.ts.map +1 -0
  380. package/lib/typescript/module/prompt-input/index.d.ts +8 -0
  381. package/lib/typescript/module/prompt-input/index.d.ts.map +1 -0
  382. package/lib/typescript/module/prompt-input/types.d.ts +88 -0
  383. package/lib/typescript/module/prompt-input/types.d.ts.map +1 -0
  384. package/lib/typescript/module/radio-indicator/RadioIndicator.d.ts +4 -0
  385. package/lib/typescript/module/radio-indicator/RadioIndicator.d.ts.map +1 -0
  386. package/lib/typescript/module/radio-indicator/index.d.ts +3 -0
  387. package/lib/typescript/module/radio-indicator/index.d.ts.map +1 -0
  388. package/lib/typescript/module/radio-indicator/types.d.ts +15 -0
  389. package/lib/typescript/module/radio-indicator/types.d.ts.map +1 -0
  390. package/lib/typescript/module/theme/BloomThemeProvider.d.ts +20 -0
  391. package/lib/typescript/module/theme/BloomThemeProvider.d.ts.map +1 -0
  392. package/lib/typescript/module/theme/adaptive-colors.d.ts +3 -0
  393. package/lib/typescript/module/theme/adaptive-colors.d.ts.map +1 -0
  394. package/lib/typescript/module/theme/apply-dark-class.d.ts +2 -0
  395. package/lib/typescript/module/theme/apply-dark-class.d.ts.map +1 -0
  396. package/lib/typescript/module/theme/color-presets.d.ts +12 -0
  397. package/lib/typescript/module/theme/color-presets.d.ts.map +1 -0
  398. package/lib/typescript/module/theme/index.d.ts +7 -0
  399. package/lib/typescript/module/theme/index.d.ts.map +1 -0
  400. package/lib/typescript/module/theme/set-color-scheme-safe.d.ts +9 -0
  401. package/lib/typescript/module/theme/set-color-scheme-safe.d.ts.map +1 -0
  402. package/lib/typescript/module/theme/types.d.ts +39 -0
  403. package/lib/typescript/module/theme/types.d.ts.map +1 -0
  404. package/lib/typescript/module/theme/use-theme.d.ts +5 -0
  405. package/lib/typescript/module/theme/use-theme.d.ts.map +1 -0
  406. package/package.json +260 -0
  407. package/src/avatar/Avatar.tsx +217 -0
  408. package/src/avatar/index.ts +2 -0
  409. package/src/avatar/types.ts +32 -0
  410. package/src/button/Button.tsx +172 -0
  411. package/src/button/index.ts +10 -0
  412. package/src/button/types.ts +25 -0
  413. package/src/collapsible/Collapsible.tsx +62 -0
  414. package/src/collapsible/index.ts +2 -0
  415. package/src/collapsible/types.ts +18 -0
  416. package/src/dialog/Dialog.tsx +160 -0
  417. package/src/dialog/Dialog.web.tsx +238 -0
  418. package/src/dialog/context.ts +34 -0
  419. package/src/dialog/index.ts +3 -0
  420. package/src/dialog/types.ts +34 -0
  421. package/src/divider/Divider.tsx +42 -0
  422. package/src/divider/index.ts +2 -0
  423. package/src/divider/types.ts +15 -0
  424. package/src/error-boundary/ErrorBoundary.tsx +112 -0
  425. package/src/error-boundary/index.ts +2 -0
  426. package/src/error-boundary/types.ts +16 -0
  427. package/src/grouped-buttons/GroupedButtons.tsx +94 -0
  428. package/src/grouped-buttons/index.ts +2 -0
  429. package/src/grouped-buttons/types.ts +16 -0
  430. package/src/index.ts +14 -0
  431. package/src/loading/Loading.tsx +258 -0
  432. package/src/loading/index.ts +10 -0
  433. package/src/loading/types.ts +69 -0
  434. package/src/portal/index.tsx +100 -0
  435. package/src/prompt/Prompt.tsx +248 -0
  436. package/src/prompt/index.ts +13 -0
  437. package/src/prompt-input/Actions.tsx +45 -0
  438. package/src/prompt-input/Attachments.tsx +264 -0
  439. package/src/prompt-input/PromptInput.tsx +263 -0
  440. package/src/prompt-input/SubmitButton.tsx +74 -0
  441. package/src/prompt-input/Textarea.tsx +102 -0
  442. package/src/prompt-input/Textarea.web.tsx +154 -0
  443. package/src/prompt-input/context.ts +59 -0
  444. package/src/prompt-input/index.ts +18 -0
  445. package/src/prompt-input/types.ts +92 -0
  446. package/src/radio-indicator/RadioIndicator.tsx +52 -0
  447. package/src/radio-indicator/index.ts +2 -0
  448. package/src/radio-indicator/types.ts +15 -0
  449. package/src/theme/BloomThemeProvider.tsx +160 -0
  450. package/src/theme/adaptive-colors.ts +90 -0
  451. package/src/theme/apply-dark-class.ts +7 -0
  452. package/src/theme/color-presets.ts +499 -0
  453. package/src/theme/index.ts +6 -0
  454. package/src/theme/set-color-scheme-safe.ts +19 -0
  455. package/src/theme/types.ts +48 -0
  456. package/src/theme/use-theme.ts +24 -0
@@ -0,0 +1,277 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PromptInputAttachments = PromptInputAttachments;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _useTheme = require("../theme/use-theme.js");
10
+ var _context = require("./context.js");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ function formatFileSize(bytes) {
14
+ if (bytes < 1024) return `${bytes} B`;
15
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
16
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
17
+ }
18
+ function truncateFilename(name, maxLength = 20) {
19
+ if (name.length <= maxLength) return name;
20
+ const lastDot = name.lastIndexOf('.');
21
+ if (lastDot < 0) return name.slice(0, maxLength - 3) + '...';
22
+ const ext = name.slice(lastDot);
23
+ const base = name.slice(0, lastDot);
24
+ const available = maxLength - ext.length - 3;
25
+ if (available <= 0) return name.slice(0, maxLength - 3) + '...';
26
+ return base.slice(0, available) + '...' + ext;
27
+ }
28
+ function getDocumentIconInfo(mimeType, name) {
29
+ const ext = name.split('.').pop()?.toLowerCase() ?? '';
30
+ if (mimeType === 'application/pdf' || ext === 'pdf') return {
31
+ label: 'PDF',
32
+ color: '#EF4444',
33
+ bgColor: '#EF444418'
34
+ };
35
+ if (mimeType.includes('word') || ['doc', 'docx'].includes(ext)) return {
36
+ label: 'DOC',
37
+ color: '#3B82F6',
38
+ bgColor: '#3B82F618'
39
+ };
40
+ if (mimeType.includes('spreadsheet') || mimeType.includes('excel') || ['xls', 'xlsx', 'csv'].includes(ext)) return {
41
+ label: 'XLS',
42
+ color: '#22C55E',
43
+ bgColor: '#22C55E18'
44
+ };
45
+ if (['js', 'ts', 'tsx', 'jsx', 'py', 'rb', 'go', 'rs', 'java', 'c', 'cpp', 'h', 'json', 'xml', 'yaml', 'yml', 'html', 'css', 'scss', 'sh', 'sql'].includes(ext)) return {
46
+ label: '</>',
47
+ color: '#8B5CF6',
48
+ bgColor: '#8B5CF618'
49
+ };
50
+ if (mimeType.includes('zip') || mimeType.includes('archive') || ['zip', 'rar', 'tar', 'gz', '7z'].includes(ext)) return {
51
+ label: 'ZIP',
52
+ color: '#EAB308',
53
+ bgColor: '#EAB30818'
54
+ };
55
+ if (mimeType.startsWith('audio/') || ['mp3', 'wav', 'ogg', 'flac', 'aac'].includes(ext)) return {
56
+ label: '♫',
57
+ color: '#EC4899',
58
+ bgColor: '#EC489918'
59
+ };
60
+ if (mimeType === 'text/plain' || ['txt', 'md', 'rtf'].includes(ext)) return {
61
+ label: 'TXT',
62
+ color: '#6B7280',
63
+ bgColor: '#6B728018'
64
+ };
65
+ return {
66
+ label: 'FILE',
67
+ color: '#9CA3AF',
68
+ bgColor: '#9CA3AF18'
69
+ };
70
+ }
71
+ function RemoveButton({
72
+ onPress,
73
+ size,
74
+ backgroundColor,
75
+ removeIcon,
76
+ label
77
+ }) {
78
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
79
+ onPress: onPress,
80
+ accessibilityRole: "button",
81
+ accessibilityLabel: `Remove ${label}`,
82
+ style: {
83
+ position: 'absolute',
84
+ top: 6,
85
+ right: 6,
86
+ width: size,
87
+ height: size,
88
+ borderRadius: size / 2,
89
+ backgroundColor,
90
+ alignItems: 'center',
91
+ justifyContent: 'center'
92
+ },
93
+ children: removeIcon ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
94
+ style: {
95
+ color: '#FFFFFF',
96
+ fontSize: size * 0.6,
97
+ fontWeight: '700',
98
+ lineHeight: size * 0.7
99
+ },
100
+ children: "\xD7"
101
+ })
102
+ });
103
+ }
104
+ function ImageAttachmentItem({
105
+ attachment,
106
+ onRemove,
107
+ removeIcon
108
+ }) {
109
+ const theme = (0, _useTheme.useTheme)();
110
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
111
+ style: {
112
+ width: 120,
113
+ height: 120,
114
+ borderRadius: 16,
115
+ overflow: 'hidden',
116
+ backgroundColor: theme.colors.backgroundSecondary,
117
+ borderWidth: 1,
118
+ borderColor: theme.colors.border
119
+ },
120
+ children: [!attachment.isLoading && attachment.uri ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
121
+ source: {
122
+ uri: attachment.uri
123
+ },
124
+ style: {
125
+ width: '100%',
126
+ height: '100%'
127
+ },
128
+ resizeMode: "cover"
129
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
130
+ style: {
131
+ flex: 1,
132
+ alignItems: 'center',
133
+ justifyContent: 'center'
134
+ },
135
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
136
+ size: "small"
137
+ })
138
+ }), attachment.name && !attachment.isLoading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
139
+ style: {
140
+ position: 'absolute',
141
+ bottom: 0,
142
+ left: 0,
143
+ right: 0,
144
+ paddingHorizontal: 8,
145
+ paddingVertical: 4,
146
+ backgroundColor: 'rgba(0,0,0,0.5)'
147
+ },
148
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
149
+ style: {
150
+ fontSize: 11,
151
+ color: '#FFFFFF'
152
+ },
153
+ numberOfLines: 1,
154
+ children: truncateFilename(attachment.name)
155
+ })
156
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(RemoveButton, {
157
+ onPress: onRemove,
158
+ size: 24,
159
+ backgroundColor: "rgba(0,0,0,0.6)",
160
+ removeIcon: removeIcon,
161
+ label: attachment.name || 'image'
162
+ })]
163
+ });
164
+ }
165
+ function DocumentAttachmentItem({
166
+ attachment,
167
+ onRemove,
168
+ removeIcon,
169
+ renderDocumentIcon
170
+ }) {
171
+ const theme = (0, _useTheme.useTheme)();
172
+ const iconInfo = getDocumentIconInfo(attachment.mimeType, attachment.name);
173
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
174
+ style: {
175
+ width: 180,
176
+ height: 80,
177
+ borderRadius: 16,
178
+ borderWidth: 1,
179
+ borderColor: theme.colors.border,
180
+ overflow: 'hidden',
181
+ backgroundColor: theme.colors.backgroundSecondary
182
+ },
183
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
184
+ style: {
185
+ flex: 1,
186
+ flexDirection: 'row',
187
+ alignItems: 'center',
188
+ paddingHorizontal: 12,
189
+ gap: 12
190
+ },
191
+ children: [renderDocumentIcon ? renderDocumentIcon(attachment.mimeType, attachment.name) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
192
+ style: {
193
+ width: 40,
194
+ height: 40,
195
+ borderRadius: 12,
196
+ alignItems: 'center',
197
+ justifyContent: 'center',
198
+ backgroundColor: iconInfo.bgColor
199
+ },
200
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
201
+ style: {
202
+ fontSize: 12,
203
+ fontWeight: '700',
204
+ color: iconInfo.color
205
+ },
206
+ children: iconInfo.label
207
+ })
208
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
209
+ style: {
210
+ flex: 1,
211
+ paddingRight: 16
212
+ },
213
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
214
+ style: {
215
+ fontSize: 12,
216
+ fontWeight: '500',
217
+ color: theme.colors.text
218
+ },
219
+ numberOfLines: 1,
220
+ children: truncateFilename(attachment.name)
221
+ }), attachment.size > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
222
+ style: {
223
+ fontSize: 11,
224
+ color: theme.colors.textSecondary,
225
+ marginTop: 2
226
+ },
227
+ children: formatFileSize(attachment.size)
228
+ })]
229
+ })]
230
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(RemoveButton, {
231
+ onPress: onRemove,
232
+ size: 20,
233
+ backgroundColor: theme.colors.backgroundTertiary,
234
+ removeIcon: removeIcon,
235
+ label: attachment.name || 'document'
236
+ })]
237
+ });
238
+ }
239
+ function PromptInputAttachments({
240
+ removeIcon,
241
+ renderDocumentIcon,
242
+ style,
243
+ testID
244
+ }) {
245
+ const {
246
+ attachments,
247
+ removeAttachment
248
+ } = (0, _context.usePromptInput)();
249
+ if (attachments.length === 0) return null;
250
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
251
+ horizontal: true,
252
+ showsHorizontalScrollIndicator: false,
253
+ style: [{
254
+ flexGrow: 0,
255
+ marginBottom: 8,
256
+ paddingTop: 8
257
+ }, style],
258
+ contentContainerStyle: {
259
+ gap: 10,
260
+ paddingHorizontal: 12
261
+ },
262
+ testID: testID,
263
+ children: attachments.map(attachment => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
264
+ children: attachment.type === 'image' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ImageAttachmentItem, {
265
+ attachment: attachment,
266
+ onRemove: () => removeAttachment(attachment.id),
267
+ removeIcon: removeIcon
268
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(DocumentAttachmentItem, {
269
+ attachment: attachment,
270
+ onRemove: () => removeAttachment(attachment.id),
271
+ removeIcon: removeIcon,
272
+ renderDocumentIcon: renderDocumentIcon
273
+ })
274
+ }, attachment.id))
275
+ });
276
+ }
277
+ //# sourceMappingURL=Attachments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_useTheme","_context","_jsxRuntime","e","__esModule","default","formatFileSize","bytes","toFixed","truncateFilename","name","maxLength","length","lastDot","lastIndexOf","slice","ext","base","available","getDocumentIconInfo","mimeType","split","pop","toLowerCase","label","color","bgColor","includes","startsWith","RemoveButton","onPress","size","backgroundColor","removeIcon","jsx","Pressable","accessibilityRole","accessibilityLabel","style","position","top","right","width","height","borderRadius","alignItems","justifyContent","children","Text","fontSize","fontWeight","lineHeight","ImageAttachmentItem","attachment","onRemove","theme","useTheme","jsxs","View","overflow","colors","backgroundSecondary","borderWidth","borderColor","border","isLoading","uri","Image","source","resizeMode","flex","ActivityIndicator","bottom","left","paddingHorizontal","paddingVertical","numberOfLines","DocumentAttachmentItem","renderDocumentIcon","iconInfo","flexDirection","gap","paddingRight","text","textSecondary","marginTop","backgroundTertiary","PromptInputAttachments","testID","attachments","removeAttachment","usePromptInput","ScrollView","horizontal","showsHorizontalScrollIndicator","flexGrow","marginBottom","paddingTop","contentContainerStyle","map","type","id"],"sourceRoot":"../../../src","sources":["prompt-input/Attachments.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PromptInput = PromptInput;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _useTheme = require("../theme/use-theme.js");
10
+ var _index = require("../portal/index.js");
11
+ var _context = require("./context.js");
12
+ var _Textarea = require("./Textarea");
13
+ var _Actions = require("./Actions.js");
14
+ var _Attachments = require("./Attachments.js");
15
+ var _SubmitButton = require("./SubmitButton.js");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
18
+ function PromptInput({
19
+ isLoading = false,
20
+ maxHeight = 240,
21
+ value,
22
+ onValueChange,
23
+ onSubmit,
24
+ children,
25
+ style,
26
+ disabled = false,
27
+ onImagePaste,
28
+ placeholder,
29
+ actionsLeft,
30
+ onStop,
31
+ emptyAction,
32
+ attachments: controlledAttachments,
33
+ onAddAttachment,
34
+ onRemoveAttachment,
35
+ onUpdateAttachment,
36
+ disableKeyboardAvoidance = false,
37
+ expandIcon,
38
+ collapseIcon,
39
+ testID
40
+ }) {
41
+ const [internalValue, setInternalValue] = (0, _react.useState)(value ?? '');
42
+ const [currentHeight, setCurrentHeight] = (0, _react.useState)(44);
43
+ const [showFullscreen, setShowFullscreen] = (0, _react.useState)(false);
44
+ const [handleCompletionKey, setHandleCompletionKey] = (0, _react.useState)(null);
45
+ const textareaRef = (0, _react.useRef)(null);
46
+ const theme = (0, _useTheme.useTheme)();
47
+
48
+ // Internal attachment state (used when no controlled props)
49
+ const [internalAttachments, setInternalAttachments] = (0, _react.useState)([]);
50
+ const attachments = controlledAttachments ?? internalAttachments;
51
+ const addAttachment = (0, _react.useCallback)(a => {
52
+ if (onAddAttachment) {
53
+ onAddAttachment(a);
54
+ } else {
55
+ setInternalAttachments(prev => [...prev, a]);
56
+ }
57
+ }, [onAddAttachment]);
58
+ const removeAttachment = (0, _react.useCallback)(id => {
59
+ if (onRemoveAttachment) {
60
+ onRemoveAttachment(id);
61
+ } else {
62
+ setInternalAttachments(prev => prev.filter(a => a.id !== id));
63
+ }
64
+ }, [onRemoveAttachment]);
65
+ const updateAttachment = (0, _react.useCallback)((id, updates) => {
66
+ if (onUpdateAttachment) {
67
+ onUpdateAttachment(id, updates);
68
+ } else {
69
+ setInternalAttachments(prev => prev.map(a => a.id === id ? {
70
+ ...a,
71
+ ...updates
72
+ } : a));
73
+ }
74
+ }, [onUpdateAttachment]);
75
+ const handleChange = (0, _react.useCallback)(newValue => {
76
+ setInternalValue(newValue);
77
+ onValueChange?.(newValue);
78
+ }, [onValueChange]);
79
+ const handleSubmit = (0, _react.useCallback)(() => {
80
+ onSubmit?.();
81
+ if (showFullscreen) setShowFullscreen(false);
82
+ }, [onSubmit, showFullscreen]);
83
+ (0, _react.useEffect)(() => {
84
+ if (!showFullscreen) setCurrentHeight(44);
85
+ }, [showFullscreen]);
86
+ const showExpandIcon = currentHeight > 100;
87
+ const isSimpleMode = !children;
88
+ const currentValue = value ?? internalValue;
89
+ const currentSetValue = onValueChange ?? handleChange;
90
+ const contextValue = (0, _react.useMemo)(() => ({
91
+ isLoading,
92
+ value: currentValue,
93
+ setValue: currentSetValue,
94
+ maxHeight,
95
+ onSubmit: handleSubmit,
96
+ disabled,
97
+ textareaRef,
98
+ currentHeight,
99
+ setCurrentHeight,
100
+ isFullscreen: showFullscreen,
101
+ onImagePaste,
102
+ attachments,
103
+ addAttachment,
104
+ removeAttachment,
105
+ updateAttachment,
106
+ handleCompletionKey,
107
+ setHandleCompletionKey
108
+ }), [isLoading, currentValue, currentSetValue, maxHeight, handleSubmit, disabled, currentHeight, showFullscreen, onImagePaste, attachments, addAttachment, removeAttachment, updateAttachment, handleCompletionKey]);
109
+ const content = isSimpleMode ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
110
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Attachments.PromptInputAttachments, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Textarea.PromptInputTextarea, {
111
+ placeholder: placeholder
112
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Actions.PromptInputActions, {
113
+ style: {
114
+ flexDirection: 'row',
115
+ alignItems: 'center',
116
+ justifyContent: 'space-between',
117
+ gap: 8,
118
+ marginTop: 6,
119
+ marginBottom: 12,
120
+ paddingHorizontal: 12
121
+ },
122
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
123
+ style: {
124
+ flexDirection: 'row',
125
+ alignItems: 'center',
126
+ gap: 6
127
+ },
128
+ children: actionsLeft
129
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
130
+ style: {
131
+ flexDirection: 'row',
132
+ alignItems: 'center',
133
+ gap: 6
134
+ },
135
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SubmitButton.PromptInputSubmitButton, {
136
+ isLoading: isLoading,
137
+ onStop: onStop,
138
+ emptyAction: emptyAction
139
+ })
140
+ })]
141
+ })]
142
+ }) : children;
143
+ const inputBox = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
144
+ onPress: () => {
145
+ if (!disabled) textareaRef.current?.focus();
146
+ },
147
+ disabled: disabled,
148
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
149
+ style: [{
150
+ borderRadius: 24,
151
+ borderWidth: 1,
152
+ borderColor: theme.colors.border,
153
+ backgroundColor: theme.colors.background,
154
+ overflow: 'hidden',
155
+ position: 'relative'
156
+ }, disabled && {
157
+ opacity: 0.6
158
+ }, style],
159
+ testID: testID,
160
+ children: [showExpandIcon && !disabled && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
161
+ onPress: () => setShowFullscreen(true),
162
+ style: {
163
+ position: 'absolute',
164
+ top: 8,
165
+ right: 8,
166
+ zIndex: 10,
167
+ backgroundColor: theme.colors.background,
168
+ borderRadius: 9999,
169
+ padding: 6,
170
+ borderWidth: 1,
171
+ borderColor: theme.colors.border
172
+ },
173
+ children: expandIcon ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
174
+ style: {
175
+ fontSize: 14,
176
+ color: theme.colors.textSecondary
177
+ },
178
+ children: "\u2922"
179
+ })
180
+ }), content]
181
+ })
182
+ });
183
+ const Wrapper = disableKeyboardAvoidance ? _reactNative.View : _reactNative.KeyboardAvoidingView;
184
+ const wrapperProps = disableKeyboardAvoidance ? {} : {
185
+ behavior: _reactNative.Platform.OS === 'ios' ? 'padding' : undefined
186
+ };
187
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_context.PromptInputContext.Provider, {
188
+ value: contextValue,
189
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapper, {
190
+ ...wrapperProps,
191
+ children: inputBox
192
+ }), showFullscreen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Portal, {
193
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
194
+ style: [_reactNative.StyleSheet.absoluteFillObject, {
195
+ zIndex: 9998,
196
+ backgroundColor: theme.colors.background
197
+ }],
198
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
199
+ onPress: () => setShowFullscreen(false),
200
+ style: {
201
+ position: 'absolute',
202
+ top: 16,
203
+ right: 16,
204
+ zIndex: 50,
205
+ padding: 8,
206
+ backgroundColor: theme.colors.background,
207
+ borderRadius: 9999
208
+ },
209
+ children: collapseIcon ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
210
+ style: {
211
+ fontSize: 18,
212
+ color: theme.colors.text
213
+ },
214
+ children: "\u2921"
215
+ })
216
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
217
+ style: {
218
+ flex: 1
219
+ },
220
+ children: content
221
+ })]
222
+ })
223
+ })]
224
+ });
225
+ }
226
+ //# sourceMappingURL=PromptInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_index","_context","_Textarea","_Actions","_Attachments","_SubmitButton","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PromptInput","isLoading","maxHeight","value","onValueChange","onSubmit","children","style","disabled","onImagePaste","placeholder","actionsLeft","onStop","emptyAction","attachments","controlledAttachments","onAddAttachment","onRemoveAttachment","onUpdateAttachment","disableKeyboardAvoidance","expandIcon","collapseIcon","testID","internalValue","setInternalValue","useState","currentHeight","setCurrentHeight","showFullscreen","setShowFullscreen","handleCompletionKey","setHandleCompletionKey","textareaRef","useRef","theme","useTheme","internalAttachments","setInternalAttachments","addAttachment","useCallback","a","prev","removeAttachment","id","filter","updateAttachment","updates","map","handleChange","newValue","handleSubmit","useEffect","showExpandIcon","isSimpleMode","currentValue","currentSetValue","contextValue","useMemo","setValue","isFullscreen","content","jsxs","Fragment","jsx","PromptInputAttachments","PromptInputTextarea","PromptInputActions","flexDirection","alignItems","justifyContent","gap","marginTop","marginBottom","paddingHorizontal","View","PromptInputSubmitButton","inputBox","Pressable","onPress","current","focus","borderRadius","borderWidth","borderColor","colors","border","backgroundColor","background","overflow","position","opacity","top","right","zIndex","padding","Text","fontSize","color","textSecondary","Wrapper","KeyboardAvoidingView","wrapperProps","behavior","Platform","OS","undefined","PromptInputContext","Provider","Portal","StyleSheet","absoluteFillObject","text","flex"],"sourceRoot":"../../../src","sources":["prompt-input/PromptInput.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PromptInputSubmitButton = PromptInputSubmitButton;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _useTheme = require("../theme/use-theme.js");
10
+ var _context = require("./context.js");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ function PromptInputSubmitButton({
14
+ isLoading,
15
+ onStop,
16
+ emptyAction,
17
+ submitIcon,
18
+ stopIcon,
19
+ style,
20
+ testID
21
+ }) {
22
+ const {
23
+ onSubmit,
24
+ value,
25
+ attachments
26
+ } = (0, _context.usePromptInput)();
27
+ const theme = (0, _useTheme.useTheme)();
28
+ const hasContent = value.trim().length > 0 || attachments.length > 0;
29
+ if (isLoading && onStop) {
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
31
+ onPress: onStop,
32
+ activeOpacity: 0.7,
33
+ style: [{
34
+ width: 32,
35
+ height: 32,
36
+ borderRadius: 16,
37
+ backgroundColor: theme.colors.primary,
38
+ alignItems: 'center',
39
+ justifyContent: 'center'
40
+ }, style],
41
+ testID: testID,
42
+ children: stopIcon ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
43
+ style: {
44
+ fontSize: 12,
45
+ color: '#FFFFFF',
46
+ fontWeight: '700'
47
+ },
48
+ children: "\u25A0"
49
+ })
50
+ });
51
+ }
52
+ if (!hasContent && emptyAction) {
53
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
54
+ children: emptyAction
55
+ });
56
+ }
57
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
58
+ onPress: onSubmit,
59
+ disabled: !hasContent,
60
+ activeOpacity: 0.7,
61
+ style: [{
62
+ width: 32,
63
+ height: 32,
64
+ borderRadius: 16,
65
+ backgroundColor: theme.colors.primary,
66
+ alignItems: 'center',
67
+ justifyContent: 'center',
68
+ opacity: hasContent ? 1 : 0.4
69
+ }, style],
70
+ testID: testID,
71
+ children: submitIcon ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
72
+ style: {
73
+ fontSize: 16,
74
+ color: '#FFFFFF',
75
+ fontWeight: '700'
76
+ },
77
+ children: "\u2191"
78
+ })
79
+ });
80
+ }
81
+ //# sourceMappingURL=SubmitButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_useTheme","_context","_jsxRuntime","e","__esModule","default","PromptInputSubmitButton","isLoading","onStop","emptyAction","submitIcon","stopIcon","style","testID","onSubmit","value","attachments","usePromptInput","theme","useTheme","hasContent","trim","length","jsx","TouchableOpacity","onPress","activeOpacity","width","height","borderRadius","backgroundColor","colors","primary","alignItems","justifyContent","children","Text","fontSize","color","fontWeight","Fragment","disabled","opacity"],"sourceRoot":"../../../src","sources":["prompt-input/SubmitButton.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAA2C,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGpC,SAASG,uBAAuBA,CAAC;EACtCC,SAAS;EACTC,MAAM;EACNC,WAAW;EACXC,UAAU;EACVC,QAAQ;EACRC,KAAK;EACLC;AAC4B,CAAC,EAAE;EAC/B,MAAM;IAAEC,QAAQ;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAG,IAAAC,uBAAc,EAAC,CAAC;EACzD,MAAMC,KAAK,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACxB,MAAMC,UAAU,GAAGL,KAAK,CAACM,IAAI,CAAC,CAAC,CAACC,MAAM,GAAG,CAAC,IAAIN,WAAW,CAACM,MAAM,GAAG,CAAC;EAEpE,IAAIf,SAAS,IAAIC,MAAM,EAAE;IACvB,oBACE,IAAAN,WAAA,CAAAqB,GAAA,EAACxB,YAAA,CAAAyB,gBAAgB;MACfC,OAAO,EAAEjB,MAAO;MAChBkB,aAAa,EAAE,GAAI;MACnBd,KAAK,EAAE,CACL;QACEe,KAAK,EAAE,EAAE;QACTC,MAAM,EAAE,EAAE;QACVC,YAAY,EAAE,EAAE;QAChBC,eAAe,EAAEZ,KAAK,CAACa,MAAM,CAACC,OAAO;QACrCC,UAAU,EAAE,QAAQ;QACpBC,cAAc,EAAE;MAClB,CAAC,EACDtB,KAAK,CACL;MACFC,MAAM,EAAEA,MAAO;MAAAsB,QAAA,EAEdxB,QAAQ,iBACP,IAAAT,WAAA,CAAAqB,GAAA,EAACxB,YAAA,CAAAqC,IAAI;QAACxB,KAAK,EAAE;UAAEyB,QAAQ,EAAE,EAAE;UAAEC,KAAK,EAAE,SAAS;UAAEC,UAAU,EAAE;QAAM,CAAE;QAAAJ,QAAA,EAAC;MAAC,CAAM;IAC5E,CACe,CAAC;EAEvB;EAEA,IAAI,CAACf,UAAU,IAAIX,WAAW,EAAE;IAC9B,oBAAO,IAAAP,WAAA,CAAAqB,GAAA,EAAArB,WAAA,CAAAsC,QAAA;MAAAL,QAAA,EAAG1B;IAAW,CAAG,CAAC;EAC3B;EAEA,oBACE,IAAAP,WAAA,CAAAqB,GAAA,EAACxB,YAAA,CAAAyB,gBAAgB;IACfC,OAAO,EAAEX,QAAS;IAClB2B,QAAQ,EAAE,CAACrB,UAAW;IACtBM,aAAa,EAAE,GAAI;IACnBd,KAAK,EAAE,CACL;MACEe,KAAK,EAAE,EAAE;MACTC,MAAM,EAAE,EAAE;MACVC,YAAY,EAAE,EAAE;MAChBC,eAAe,EAAEZ,KAAK,CAACa,MAAM,CAACC,OAAO;MACrCC,UAAU,EAAE,QAAQ;MACpBC,cAAc,EAAE,QAAQ;MACxBQ,OAAO,EAAEtB,UAAU,GAAG,CAAC,GAAG;IAC5B,CAAC,EACDR,KAAK,CACL;IACFC,MAAM,EAAEA,MAAO;IAAAsB,QAAA,EAEdzB,UAAU,iBACT,IAAAR,WAAA,CAAAqB,GAAA,EAACxB,YAAA,CAAAqC,IAAI;MAACxB,KAAK,EAAE;QAAEyB,QAAQ,EAAE,EAAE;QAAEC,KAAK,EAAE,SAAS;QAAEC,UAAU,EAAE;MAAM,CAAE;MAAAJ,QAAA,EAAC;IAAC,CAAM;EAC5E,CACe,CAAC;AAEvB","ignoreList":[]}