@oxyhq/bloom 0.1.32 → 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 (275) hide show
  1. package/lib/commonjs/admonition/index.js +7 -0
  2. package/lib/commonjs/admonition/index.js.map +1 -1
  3. package/lib/commonjs/avatar/Avatar.js +2 -18
  4. package/lib/commonjs/avatar/Avatar.js.map +1 -1
  5. package/lib/commonjs/bottom-sheet/index.js +16 -6
  6. package/lib/commonjs/bottom-sheet/index.js.map +1 -1
  7. package/lib/commonjs/button/Button.js +6 -18
  8. package/lib/commonjs/button/Button.js.map +1 -1
  9. package/lib/commonjs/chip/Chip.js +6 -16
  10. package/lib/commonjs/chip/Chip.js.map +1 -1
  11. package/lib/commonjs/collapsible/Collapsible.js +28 -20
  12. package/lib/commonjs/collapsible/Collapsible.js.map +1 -1
  13. package/lib/commonjs/fill/index.js +7 -5
  14. package/lib/commonjs/fill/index.js.map +1 -1
  15. package/lib/commonjs/grid/index.js +9 -6
  16. package/lib/commonjs/grid/index.js.map +1 -1
  17. package/lib/commonjs/grouped-buttons/GroupedButtons.js +76 -48
  18. package/lib/commonjs/grouped-buttons/GroupedButtons.js.map +1 -1
  19. package/lib/commonjs/hooks/index.js +13 -0
  20. package/lib/commonjs/hooks/index.js.map +1 -1
  21. package/lib/commonjs/hooks/useInteractionState.js +42 -0
  22. package/lib/commonjs/hooks/useInteractionState.js.map +1 -1
  23. package/lib/commonjs/hooks/usePressAnimation.js +44 -0
  24. package/lib/commonjs/hooks/usePressAnimation.js.map +1 -0
  25. package/lib/commonjs/icon-circle/index.js +7 -5
  26. package/lib/commonjs/icon-circle/index.js.map +1 -1
  27. package/lib/commonjs/icons/{EnveopeOpen.js → EnvelopeOpen.js} +1 -1
  28. package/lib/commonjs/icons/EnvelopeOpen.js.map +1 -0
  29. package/lib/commonjs/icons/TEMPLATE.js +3 -2
  30. package/lib/commonjs/icons/TEMPLATE.js.map +1 -1
  31. package/lib/commonjs/icons/VerifiedCheck.js +3 -2
  32. package/lib/commonjs/icons/VerifiedCheck.js.map +1 -1
  33. package/lib/commonjs/icons/VerifierCheck.js +3 -2
  34. package/lib/commonjs/icons/VerifierCheck.js.map +1 -1
  35. package/lib/commonjs/icons/index.js +4 -4
  36. package/lib/commonjs/icons/index.js.map +1 -1
  37. package/lib/commonjs/loading/Loading.js +2 -17
  38. package/lib/commonjs/loading/Loading.js.map +1 -1
  39. package/lib/commonjs/loading/SpinnerIcon.js +3 -34
  40. package/lib/commonjs/loading/SpinnerIcon.js.map +1 -1
  41. package/lib/commonjs/prompt-input/Actions.js +1 -0
  42. package/lib/commonjs/prompt-input/Actions.js.map +1 -1
  43. package/lib/commonjs/prompt-input/Attachments.js +1 -0
  44. package/lib/commonjs/prompt-input/Attachments.js.map +1 -1
  45. package/lib/commonjs/prompt-input/PromptInput.js +1 -0
  46. package/lib/commonjs/prompt-input/PromptInput.js.map +1 -1
  47. package/lib/commonjs/prompt-input/SubmitButton.js +1 -0
  48. package/lib/commonjs/prompt-input/SubmitButton.js.map +1 -1
  49. package/lib/commonjs/prompt-input/Textarea.js +1 -0
  50. package/lib/commonjs/prompt-input/Textarea.js.map +1 -1
  51. package/lib/commonjs/prompt-input/Textarea.web.js +1 -0
  52. package/lib/commonjs/prompt-input/Textarea.web.js.map +1 -1
  53. package/lib/commonjs/search-input/index.js +1 -0
  54. package/lib/commonjs/search-input/index.js.map +1 -1
  55. package/lib/commonjs/settings-list/SettingsList.js +10 -11
  56. package/lib/commonjs/settings-list/SettingsList.js.map +1 -1
  57. package/lib/commonjs/skeleton/index.js +5 -0
  58. package/lib/commonjs/skeleton/index.js.map +1 -1
  59. package/lib/commonjs/switch/Switch.js +43 -28
  60. package/lib/commonjs/switch/Switch.js.map +1 -1
  61. package/lib/commonjs/tabs/Tabs.js +6 -15
  62. package/lib/commonjs/tabs/Tabs.js.map +1 -1
  63. package/lib/commonjs/typography/index.js +14 -5
  64. package/lib/commonjs/typography/index.js.map +1 -1
  65. package/lib/commonjs/utils/lazy-require.js +37 -0
  66. package/lib/commonjs/utils/lazy-require.js.map +1 -0
  67. package/lib/module/admonition/index.js +7 -0
  68. package/lib/module/admonition/index.js.map +1 -1
  69. package/lib/module/avatar/Avatar.js +2 -18
  70. package/lib/module/avatar/Avatar.js.map +1 -1
  71. package/lib/module/bottom-sheet/index.js +16 -6
  72. package/lib/module/bottom-sheet/index.js.map +1 -1
  73. package/lib/module/button/Button.js +7 -19
  74. package/lib/module/button/Button.js.map +1 -1
  75. package/lib/module/chip/Chip.js +7 -17
  76. package/lib/module/chip/Chip.js.map +1 -1
  77. package/lib/module/collapsible/Collapsible.js +30 -22
  78. package/lib/module/collapsible/Collapsible.js.map +1 -1
  79. package/lib/module/fill/index.js +5 -3
  80. package/lib/module/fill/index.js.map +1 -1
  81. package/lib/module/grid/index.js +9 -5
  82. package/lib/module/grid/index.js.map +1 -1
  83. package/lib/module/grouped-buttons/GroupedButtons.js +77 -48
  84. package/lib/module/grouped-buttons/GroupedButtons.js.map +1 -1
  85. package/lib/module/hooks/index.js +2 -1
  86. package/lib/module/hooks/index.js.map +1 -1
  87. package/lib/module/hooks/useInteractionState.js +41 -0
  88. package/lib/module/hooks/useInteractionState.js.map +1 -1
  89. package/lib/module/hooks/usePressAnimation.js +41 -0
  90. package/lib/module/hooks/usePressAnimation.js.map +1 -0
  91. package/lib/module/icon-circle/index.js +5 -3
  92. package/lib/module/icon-circle/index.js.map +1 -1
  93. package/lib/module/icons/{EnveopeOpen.js → EnvelopeOpen.js} +1 -1
  94. package/lib/module/icons/EnvelopeOpen.js.map +1 -0
  95. package/lib/module/icons/TEMPLATE.js +3 -2
  96. package/lib/module/icons/TEMPLATE.js.map +1 -1
  97. package/lib/module/icons/VerifiedCheck.js +3 -2
  98. package/lib/module/icons/VerifiedCheck.js.map +1 -1
  99. package/lib/module/icons/VerifierCheck.js +3 -2
  100. package/lib/module/icons/VerifierCheck.js.map +1 -1
  101. package/lib/module/icons/index.js +1 -1
  102. package/lib/module/icons/index.js.map +1 -1
  103. package/lib/module/loading/Loading.js +2 -17
  104. package/lib/module/loading/Loading.js.map +1 -1
  105. package/lib/module/loading/SpinnerIcon.js +3 -34
  106. package/lib/module/loading/SpinnerIcon.js.map +1 -1
  107. package/lib/module/prompt-input/Actions.js +1 -0
  108. package/lib/module/prompt-input/Actions.js.map +1 -1
  109. package/lib/module/prompt-input/Attachments.js +1 -0
  110. package/lib/module/prompt-input/Attachments.js.map +1 -1
  111. package/lib/module/prompt-input/PromptInput.js +1 -0
  112. package/lib/module/prompt-input/PromptInput.js.map +1 -1
  113. package/lib/module/prompt-input/SubmitButton.js +1 -0
  114. package/lib/module/prompt-input/SubmitButton.js.map +1 -1
  115. package/lib/module/prompt-input/Textarea.js +1 -0
  116. package/lib/module/prompt-input/Textarea.js.map +1 -1
  117. package/lib/module/prompt-input/Textarea.web.js +1 -0
  118. package/lib/module/prompt-input/Textarea.web.js.map +1 -1
  119. package/lib/module/search-input/index.js +1 -0
  120. package/lib/module/search-input/index.js.map +1 -1
  121. package/lib/module/settings-list/SettingsList.js +10 -11
  122. package/lib/module/settings-list/SettingsList.js.map +1 -1
  123. package/lib/module/skeleton/index.js +5 -0
  124. package/lib/module/skeleton/index.js.map +1 -1
  125. package/lib/module/switch/Switch.js +45 -30
  126. package/lib/module/switch/Switch.js.map +1 -1
  127. package/lib/module/tabs/Tabs.js +8 -17
  128. package/lib/module/tabs/Tabs.js.map +1 -1
  129. package/lib/module/typography/index.js +12 -3
  130. package/lib/module/typography/index.js.map +1 -1
  131. package/lib/module/utils/lazy-require.js +33 -0
  132. package/lib/module/utils/lazy-require.js.map +1 -0
  133. package/lib/typescript/commonjs/admonition/index.d.ts +21 -0
  134. package/lib/typescript/commonjs/admonition/index.d.ts.map +1 -1
  135. package/lib/typescript/commonjs/avatar/Avatar.d.ts.map +1 -1
  136. package/lib/typescript/commonjs/bottom-sheet/index.d.ts.map +1 -1
  137. package/lib/typescript/commonjs/button/Button.d.ts.map +1 -1
  138. package/lib/typescript/commonjs/chip/Chip.d.ts.map +1 -1
  139. package/lib/typescript/commonjs/collapsible/Collapsible.d.ts.map +1 -1
  140. package/lib/typescript/commonjs/fill/index.d.ts +2 -2
  141. package/lib/typescript/commonjs/fill/index.d.ts.map +1 -1
  142. package/lib/typescript/commonjs/grid/index.d.ts +4 -4
  143. package/lib/typescript/commonjs/grid/index.d.ts.map +1 -1
  144. package/lib/typescript/commonjs/grouped-buttons/GroupedButtons.d.ts +9 -5
  145. package/lib/typescript/commonjs/grouped-buttons/GroupedButtons.d.ts.map +1 -1
  146. package/lib/typescript/commonjs/hooks/index.d.ts +2 -1
  147. package/lib/typescript/commonjs/hooks/index.d.ts.map +1 -1
  148. package/lib/typescript/commonjs/hooks/useInteractionState.d.ts +23 -0
  149. package/lib/typescript/commonjs/hooks/useInteractionState.d.ts.map +1 -1
  150. package/lib/typescript/commonjs/hooks/usePressAnimation.d.ts +16 -0
  151. package/lib/typescript/commonjs/hooks/usePressAnimation.d.ts.map +1 -0
  152. package/lib/typescript/commonjs/icon-circle/index.d.ts +4 -4
  153. package/lib/typescript/commonjs/icon-circle/index.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/icons/{EnveopeOpen.d.ts → EnvelopeOpen.d.ts} +1 -1
  155. package/lib/typescript/commonjs/icons/EnvelopeOpen.d.ts.map +1 -0
  156. package/lib/typescript/commonjs/icons/TEMPLATE.d.ts +2 -1
  157. package/lib/typescript/commonjs/icons/TEMPLATE.d.ts.map +1 -1
  158. package/lib/typescript/commonjs/icons/VerifiedCheck.d.ts.map +1 -1
  159. package/lib/typescript/commonjs/icons/VerifierCheck.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/icons/index.d.ts +1 -1
  161. package/lib/typescript/commonjs/icons/index.d.ts.map +1 -1
  162. package/lib/typescript/commonjs/loading/Loading.d.ts.map +1 -1
  163. package/lib/typescript/commonjs/loading/SpinnerIcon.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/prompt-input/Actions.d.ts +3 -0
  165. package/lib/typescript/commonjs/prompt-input/Actions.d.ts.map +1 -1
  166. package/lib/typescript/commonjs/prompt-input/Attachments.d.ts +3 -0
  167. package/lib/typescript/commonjs/prompt-input/Attachments.d.ts.map +1 -1
  168. package/lib/typescript/commonjs/prompt-input/PromptInput.d.ts +3 -0
  169. package/lib/typescript/commonjs/prompt-input/PromptInput.d.ts.map +1 -1
  170. package/lib/typescript/commonjs/prompt-input/SubmitButton.d.ts +3 -0
  171. package/lib/typescript/commonjs/prompt-input/SubmitButton.d.ts.map +1 -1
  172. package/lib/typescript/commonjs/prompt-input/Textarea.d.ts +3 -0
  173. package/lib/typescript/commonjs/prompt-input/Textarea.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/prompt-input/Textarea.web.d.ts +3 -0
  175. package/lib/typescript/commonjs/prompt-input/Textarea.web.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/settings-list/SettingsList.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/skeleton/index.d.ts +15 -0
  178. package/lib/typescript/commonjs/skeleton/index.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/switch/Switch.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/tabs/Tabs.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/typography/index.d.ts +11 -10
  182. package/lib/typescript/commonjs/typography/index.d.ts.map +1 -1
  183. package/lib/typescript/commonjs/utils/lazy-require.d.ts +15 -0
  184. package/lib/typescript/commonjs/utils/lazy-require.d.ts.map +1 -0
  185. package/lib/typescript/module/admonition/index.d.ts +21 -0
  186. package/lib/typescript/module/admonition/index.d.ts.map +1 -1
  187. package/lib/typescript/module/avatar/Avatar.d.ts.map +1 -1
  188. package/lib/typescript/module/bottom-sheet/index.d.ts.map +1 -1
  189. package/lib/typescript/module/button/Button.d.ts.map +1 -1
  190. package/lib/typescript/module/chip/Chip.d.ts.map +1 -1
  191. package/lib/typescript/module/collapsible/Collapsible.d.ts.map +1 -1
  192. package/lib/typescript/module/fill/index.d.ts +2 -2
  193. package/lib/typescript/module/fill/index.d.ts.map +1 -1
  194. package/lib/typescript/module/grid/index.d.ts +4 -4
  195. package/lib/typescript/module/grid/index.d.ts.map +1 -1
  196. package/lib/typescript/module/grouped-buttons/GroupedButtons.d.ts +9 -5
  197. package/lib/typescript/module/grouped-buttons/GroupedButtons.d.ts.map +1 -1
  198. package/lib/typescript/module/hooks/index.d.ts +2 -1
  199. package/lib/typescript/module/hooks/index.d.ts.map +1 -1
  200. package/lib/typescript/module/hooks/useInteractionState.d.ts +23 -0
  201. package/lib/typescript/module/hooks/useInteractionState.d.ts.map +1 -1
  202. package/lib/typescript/module/hooks/usePressAnimation.d.ts +16 -0
  203. package/lib/typescript/module/hooks/usePressAnimation.d.ts.map +1 -0
  204. package/lib/typescript/module/icon-circle/index.d.ts +4 -4
  205. package/lib/typescript/module/icon-circle/index.d.ts.map +1 -1
  206. package/lib/typescript/module/icons/{EnveopeOpen.d.ts → EnvelopeOpen.d.ts} +1 -1
  207. package/lib/typescript/module/icons/EnvelopeOpen.d.ts.map +1 -0
  208. package/lib/typescript/module/icons/TEMPLATE.d.ts +2 -1
  209. package/lib/typescript/module/icons/TEMPLATE.d.ts.map +1 -1
  210. package/lib/typescript/module/icons/VerifiedCheck.d.ts.map +1 -1
  211. package/lib/typescript/module/icons/VerifierCheck.d.ts.map +1 -1
  212. package/lib/typescript/module/icons/index.d.ts +1 -1
  213. package/lib/typescript/module/icons/index.d.ts.map +1 -1
  214. package/lib/typescript/module/loading/Loading.d.ts.map +1 -1
  215. package/lib/typescript/module/loading/SpinnerIcon.d.ts.map +1 -1
  216. package/lib/typescript/module/prompt-input/Actions.d.ts +3 -0
  217. package/lib/typescript/module/prompt-input/Actions.d.ts.map +1 -1
  218. package/lib/typescript/module/prompt-input/Attachments.d.ts +3 -0
  219. package/lib/typescript/module/prompt-input/Attachments.d.ts.map +1 -1
  220. package/lib/typescript/module/prompt-input/PromptInput.d.ts +3 -0
  221. package/lib/typescript/module/prompt-input/PromptInput.d.ts.map +1 -1
  222. package/lib/typescript/module/prompt-input/SubmitButton.d.ts +3 -0
  223. package/lib/typescript/module/prompt-input/SubmitButton.d.ts.map +1 -1
  224. package/lib/typescript/module/prompt-input/Textarea.d.ts +3 -0
  225. package/lib/typescript/module/prompt-input/Textarea.d.ts.map +1 -1
  226. package/lib/typescript/module/prompt-input/Textarea.web.d.ts +3 -0
  227. package/lib/typescript/module/prompt-input/Textarea.web.d.ts.map +1 -1
  228. package/lib/typescript/module/settings-list/SettingsList.d.ts.map +1 -1
  229. package/lib/typescript/module/skeleton/index.d.ts +15 -0
  230. package/lib/typescript/module/skeleton/index.d.ts.map +1 -1
  231. package/lib/typescript/module/switch/Switch.d.ts.map +1 -1
  232. package/lib/typescript/module/tabs/Tabs.d.ts.map +1 -1
  233. package/lib/typescript/module/typography/index.d.ts +11 -10
  234. package/lib/typescript/module/typography/index.d.ts.map +1 -1
  235. package/lib/typescript/module/utils/lazy-require.d.ts +15 -0
  236. package/lib/typescript/module/utils/lazy-require.d.ts.map +1 -0
  237. package/package.json +1 -1
  238. package/src/__tests__/BloomThemeProvider.test.tsx +3 -3
  239. package/src/admonition/index.tsx +7 -0
  240. package/src/avatar/Avatar.tsx +2 -19
  241. package/src/bottom-sheet/index.tsx +18 -6
  242. package/src/button/Button.tsx +6 -22
  243. package/src/chip/Chip.tsx +3 -19
  244. package/src/collapsible/Collapsible.tsx +34 -25
  245. package/src/fill/index.tsx +6 -3
  246. package/src/grid/index.tsx +11 -5
  247. package/src/grouped-buttons/GroupedButtons.tsx +79 -60
  248. package/src/hooks/index.ts +2 -1
  249. package/src/hooks/useInteractionState.ts +21 -0
  250. package/src/hooks/usePressAnimation.ts +37 -0
  251. package/src/icon-circle/index.tsx +6 -3
  252. package/src/icons/TEMPLATE.tsx +2 -2
  253. package/src/icons/VerifiedCheck.tsx +3 -2
  254. package/src/icons/VerifierCheck.tsx +3 -2
  255. package/src/icons/index.ts +1 -1
  256. package/src/loading/Loading.tsx +2 -18
  257. package/src/loading/SpinnerIcon.tsx +4 -36
  258. package/src/prompt-input/Actions.tsx +1 -0
  259. package/src/prompt-input/Attachments.tsx +1 -0
  260. package/src/prompt-input/PromptInput.tsx +1 -0
  261. package/src/prompt-input/SubmitButton.tsx +1 -0
  262. package/src/prompt-input/Textarea.tsx +1 -0
  263. package/src/prompt-input/Textarea.web.tsx +1 -0
  264. package/src/search-input/index.tsx +1 -0
  265. package/src/settings-list/SettingsList.tsx +12 -8
  266. package/src/skeleton/index.tsx +5 -0
  267. package/src/switch/Switch.tsx +45 -23
  268. package/src/tabs/Tabs.tsx +3 -21
  269. package/src/typography/index.tsx +14 -4
  270. package/src/utils/lazy-require.ts +31 -0
  271. package/lib/commonjs/icons/EnveopeOpen.js.map +0 -1
  272. package/lib/module/icons/EnveopeOpen.js.map +0 -1
  273. package/lib/typescript/commonjs/icons/EnveopeOpen.d.ts.map +0 -1
  274. package/lib/typescript/module/icons/EnveopeOpen.d.ts.map +0 -1
  275. /package/src/icons/{EnveopeOpen.tsx → EnvelopeOpen.tsx} +0 -0
@@ -58,7 +58,7 @@ export * from './Download';
58
58
  export * from './EditBig';
59
59
  export * from './Emoji';
60
60
  export * from './Envelope';
61
- export * from './EnveopeOpen';
61
+ export * from './EnvelopeOpen';
62
62
  export * from './Explosion';
63
63
  export * from './Eye';
64
64
  export * from './EyeSlash';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/icons/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/icons/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Loading.d.ts","sourceRoot":"","sources":["../../../../src/loading/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AAMxD,OAAO,KAAK,EACV,YAAY,EAKb,MAAM,SAAS,CAAC;AA4PjB,eAAO,MAAM,OAAO,0CAAyB,CAAC"}
1
+ {"version":3,"file":"Loading.d.ts","sourceRoot":"","sources":["../../../../src/loading/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AAOxD,OAAO,KAAK,EACV,YAAY,EAKb,MAAM,SAAS,CAAC;AA2OjB,eAAO,MAAM,OAAO,0CAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpinnerIcon.d.ts","sourceRoot":"","sources":["../../../../src/loading/SpinnerIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AA4CjE,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AA2ED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAuBlD,CAAC"}
1
+ {"version":3,"file":"SpinnerIcon.d.ts","sourceRoot":"","sources":["../../../../src/loading/SpinnerIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAYjE,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AA2ED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAuBlD,CAAC"}
@@ -1,3 +1,6 @@
1
1
  import type { PromptInputActionsProps } from './types';
2
2
  export declare function PromptInputActions({ children, style, testID, }: PromptInputActionsProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace PromptInputActions {
4
+ var displayName: string;
5
+ }
3
6
  //# sourceMappingURL=Actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.d.ts","sourceRoot":"","sources":["../../../../src/prompt-input/Actions.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,KAAK,EACL,MAAM,GACP,EAAE,uBAAuB,2CAiCzB"}
1
+ {"version":3,"file":"Actions.d.ts","sourceRoot":"","sources":["../../../../src/prompt-input/Actions.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAEvD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,KAAK,EACL,MAAM,GACP,EAAE,uBAAuB,2CAiCzB;yBArCe,kBAAkB"}
@@ -1,3 +1,6 @@
1
1
  import type { PromptInputAttachmentsProps } from './types';
2
2
  export declare function PromptInputAttachments({ removeIcon, renderDocumentIcon, style, testID, }: PromptInputAttachmentsProps): import("react/jsx-runtime").JSX.Element | null;
3
+ export declare namespace PromptInputAttachments {
4
+ var displayName: string;
5
+ }
3
6
  //# sourceMappingURL=Attachments.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Attachments.d.ts","sourceRoot":"","sources":["../../../../src/prompt-input/Attachments.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AA4N3D,wBAAgB,sBAAsB,CAAC,EACrC,UAAU,EACV,kBAAkB,EAClB,KAAK,EACL,MAAM,GACP,EAAE,2BAA2B,kDAiC7B"}
1
+ {"version":3,"file":"Attachments.d.ts","sourceRoot":"","sources":["../../../../src/prompt-input/Attachments.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AA4N3D,wBAAgB,sBAAsB,CAAC,EACrC,UAAU,EACV,kBAAkB,EAClB,KAAK,EACL,MAAM,GACP,EAAE,2BAA2B,kDAiC7B;yBAtCe,sBAAsB"}
@@ -1,3 +1,6 @@
1
1
  import type { PromptInputProps } from './types';
2
2
  export declare function PromptInput({ isLoading, maxHeight, value, onValueChange, onSubmit, children, style, disabled, onImagePaste, placeholder, actionsLeft, onStop, emptyAction, attachments: controlledAttachments, onAddAttachment, onRemoveAttachment, onUpdateAttachment, disableKeyboardAvoidance, expandIcon, collapseIcon, testID, }: PromptInputProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace PromptInput {
4
+ var displayName: string;
5
+ }
3
6
  //# sourceMappingURL=PromptInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PromptInput.d.ts","sourceRoot":"","sources":["../../../../src/prompt-input/PromptInput.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,wBAAgB,WAAW,CAAC,EAC1B,SAAiB,EACjB,SAAe,EACf,KAAK,EACL,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAgB,EAChB,YAAY,EACZ,WAAW,EACX,WAAW,EACX,MAAM,EACN,WAAW,EACX,WAAW,EAAE,qBAAqB,EAClC,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,wBAAgC,EAChC,UAAU,EACV,YAAY,EACZ,MAAM,GACP,EAAE,gBAAgB,2CA4NlB"}
1
+ {"version":3,"file":"PromptInput.d.ts","sourceRoot":"","sources":["../../../../src/prompt-input/PromptInput.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,wBAAgB,WAAW,CAAC,EAC1B,SAAiB,EACjB,SAAe,EACf,KAAK,EACL,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAgB,EAChB,YAAY,EACZ,WAAW,EACX,WAAW,EACX,MAAM,EACN,WAAW,EACX,WAAW,EAAE,qBAAqB,EAClC,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,wBAAgC,EAChC,UAAU,EACV,YAAY,EACZ,MAAM,GACP,EAAE,gBAAgB,2CA4NlB;yBAlPe,WAAW"}
@@ -1,3 +1,6 @@
1
1
  import type { PromptInputSubmitButtonProps } from './types';
2
2
  export declare function PromptInputSubmitButton({ isLoading, onStop, emptyAction, submitIcon, stopIcon, style, testID, }: PromptInputSubmitButtonProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace PromptInputSubmitButton {
4
+ var displayName: string;
5
+ }
3
6
  //# sourceMappingURL=SubmitButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubmitButton.d.ts","sourceRoot":"","sources":["../../../../src/prompt-input/SubmitButton.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAE5D,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,MAAM,EACN,WAAW,EACX,UAAU,EACV,QAAQ,EACR,KAAK,EACL,MAAM,GACP,EAAE,4BAA4B,2CA0D9B"}
1
+ {"version":3,"file":"SubmitButton.d.ts","sourceRoot":"","sources":["../../../../src/prompt-input/SubmitButton.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAE5D,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,MAAM,EACN,WAAW,EACX,UAAU,EACV,QAAQ,EACR,KAAK,EACL,MAAM,GACP,EAAE,4BAA4B,2CA0D9B;yBAlEe,uBAAuB"}
@@ -1,3 +1,6 @@
1
1
  import type { PromptInputTextareaProps } from './types';
2
2
  export declare function PromptInputTextarea({ placeholder, style, inputStyle, textInputProps, testID, }: PromptInputTextareaProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace PromptInputTextarea {
4
+ var displayName: string;
5
+ }
3
6
  //# sourceMappingURL=Textarea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../../src/prompt-input/Textarea.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAExD,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,KAAK,EACL,UAAU,EACV,cAAc,EACd,MAAM,GACP,EAAE,wBAAwB,2CAkF1B"}
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../../src/prompt-input/Textarea.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAExD,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,KAAK,EACL,UAAU,EACV,cAAc,EACd,MAAM,GACP,EAAE,wBAAwB,2CAkF1B;yBAxFe,mBAAmB"}
@@ -1,3 +1,6 @@
1
1
  import type { PromptInputTextareaProps } from './types';
2
2
  export declare function PromptInputTextarea({ placeholder, style, inputStyle, textInputProps, testID, }: PromptInputTextareaProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace PromptInputTextarea {
4
+ var displayName: string;
5
+ }
3
6
  //# sourceMappingURL=Textarea.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.web.d.ts","sourceRoot":"","sources":["../../../../src/prompt-input/Textarea.web.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAExD,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,KAAK,EACL,UAAU,EACV,cAAc,EACd,MAAM,GACP,EAAE,wBAAwB,2CAsI1B"}
1
+ {"version":3,"file":"Textarea.web.d.ts","sourceRoot":"","sources":["../../../../src/prompt-input/Textarea.web.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAExD,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,KAAK,EACL,UAAU,EACV,cAAc,EACd,MAAM,GACP,EAAE,wBAAwB,2CAsI1B;yBA5Ie,mBAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsList.d.ts","sourceRoot":"","sources":["../../../../src/settings-list/SettingsList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAKpC,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAejB,eAAO,MAAM,gBAAgB,mDAoG3B,CAAC;AAIH,eAAO,MAAM,iBAAiB,oDA6C5B,CAAC;AAIH,eAAO,MAAM,mBAAmB,sDAY/B,CAAC"}
1
+ {"version":3,"file":"SettingsList.d.ts","sourceRoot":"","sources":["../../../../src/settings-list/SettingsList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAIpC,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAoBjB,eAAO,MAAM,gBAAgB,mDAoG3B,CAAC;AAIH,eAAO,MAAM,iBAAiB,oDA6C5B,CAAC;AAIH,eAAO,MAAM,mBAAmB,sDAY/B,CAAC"}
@@ -4,23 +4,38 @@ export declare function Text({ blend, style, }: {
4
4
  style?: TextStyle | TextStyle[];
5
5
  blend?: boolean;
6
6
  }): import("react/jsx-runtime").JSX.Element;
7
+ export declare namespace Text {
8
+ var displayName: string;
9
+ }
7
10
  export declare function Circle({ children, size, blend, style, }: {
8
11
  children?: React.ReactNode;
9
12
  size: number;
10
13
  blend?: boolean;
11
14
  style?: ViewStyle | ViewStyle[];
12
15
  }): import("react/jsx-runtime").JSX.Element;
16
+ export declare namespace Circle {
17
+ var displayName: string;
18
+ }
13
19
  export declare function Pill({ size, blend, style, }: {
14
20
  size: number;
15
21
  blend?: boolean;
16
22
  style?: ViewStyle | ViewStyle[];
17
23
  }): import("react/jsx-runtime").JSX.Element;
24
+ export declare namespace Pill {
25
+ var displayName: string;
26
+ }
18
27
  export declare function Col({ children, style, }: {
19
28
  children?: React.ReactNode;
20
29
  style?: ViewStyle | ViewStyle[];
21
30
  }): import("react/jsx-runtime").JSX.Element;
31
+ export declare namespace Col {
32
+ var displayName: string;
33
+ }
22
34
  export declare function Row({ children, style, }: {
23
35
  children?: React.ReactNode;
24
36
  style?: ViewStyle | ViewStyle[];
25
37
  }): import("react/jsx-runtime").JSX.Element;
38
+ export declare namespace Row {
39
+ var displayName: string;
40
+ }
26
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/skeleton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAc,MAAM,cAAc,CAAC;AAiC1F,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,KAAK,GACN,EAAE;IACD,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CA0BA;AAED,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAmBA;AAED,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,KAAK,EACL,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAkBA;AAED,wBAAgB,GAAG,CAAC,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAEA;AAED,wBAAgB,GAAG,CAAC,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAEA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/skeleton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAc,MAAM,cAAc,CAAC;AAiC1F,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,KAAK,GACN,EAAE;IACD,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CA0BA;yBAhCe,IAAI;;;AAmCpB,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAmBA;yBA7Be,MAAM;;;AAgCtB,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,KAAK,EACL,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAkBA;yBA1Be,IAAI;;;AA6BpB,wBAAgB,GAAG,CAAC,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAEA;yBARe,GAAG;;;AAWnB,wBAAgB,GAAG,CAAC,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;CACjC,2CAEA;yBARe,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../src/switch/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAKvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA6G3C,eAAO,MAAM,MAAM,4FAAwB,CAAC"}
1
+ {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../src/switch/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAKzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAmH3C,eAAO,MAAM,MAAM,4FAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../../src/tabs/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAcf,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAe,MAAM,SAAS,CAAC;AA4L/E,eAAO,MAAM,OAAO,uCAAyB,CAAC;AAG9C,eAAO,MAAM,GAAG,sCAAqB,CAAC;AAGtC,eAAO,MAAM,QAAQ,2CAA0B,CAAC"}
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../../src/tabs/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAcf,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAe,MAAM,SAAS,CAAC;AA4K/E,eAAO,MAAM,OAAO,uCAAyB,CAAC;AAG9C,eAAO,MAAM,GAAG,sCAAqB,CAAC;AAGtC,eAAO,MAAM,QAAQ,2CAA0B,CAAC"}
@@ -1,15 +1,16 @@
1
+ import React from 'react';
1
2
  import { type TextProps as RNTextProps } from 'react-native';
2
3
  export type TextProps = RNTextProps;
3
- /**
4
- * Base text component with theme-aware default color.
5
- */
6
- export declare function Text({ children, style, ...rest }: TextProps): import("react/jsx-runtime").JSX.Element;
4
+ export declare const Text: React.MemoExoticComponent<({ children, style, ...rest }: TextProps) => import("react/jsx-runtime").JSX.Element>;
7
5
  export { Text as Span };
8
- export declare const H1: ({ style, ...rest }: TextProps) => import("react/jsx-runtime").JSX.Element;
9
- export declare const H2: ({ style, ...rest }: TextProps) => import("react/jsx-runtime").JSX.Element;
10
- export declare const H3: ({ style, ...rest }: TextProps) => import("react/jsx-runtime").JSX.Element;
11
- export declare const H4: ({ style, ...rest }: TextProps) => import("react/jsx-runtime").JSX.Element;
12
- export declare const H5: ({ style, ...rest }: TextProps) => import("react/jsx-runtime").JSX.Element;
13
- export declare const H6: ({ style, ...rest }: TextProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const H1: React.FC<RNTextProps>;
7
+ export declare const H2: React.FC<RNTextProps>;
8
+ export declare const H3: React.FC<RNTextProps>;
9
+ export declare const H4: React.FC<RNTextProps>;
10
+ export declare const H5: React.FC<RNTextProps>;
11
+ export declare const H6: React.FC<RNTextProps>;
14
12
  export declare function P({ style, ...rest }: TextProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare namespace P {
14
+ var displayName: string;
15
+ }
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/typography/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,SAAS,IAAI,WAAW,EAI9B,MAAM,cAAc,CAAC;AAItB,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC;AAEpC;;GAEG;AACH,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,2CAU3D;AAED,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;AAYxB,eAAO,MAAM,EAAE,uBATsC,SAAS,4CASV,CAAC;AACrD,eAAO,MAAM,EAAE,uBAVsC,SAAS,4CAUV,CAAC;AACrD,eAAO,MAAM,EAAE,uBAXsC,SAAS,4CAWV,CAAC;AACrD,eAAO,MAAM,EAAE,uBAZsC,SAAS,4CAYV,CAAC;AACrD,eAAO,MAAM,EAAE,uBAbsC,SAAS,4CAaV,CAAC;AACrD,eAAO,MAAM,EAAE,uBAdsC,SAAS,4CAcV,CAAC;AAErD,wBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,2CAU9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/typography/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAEL,KAAK,SAAS,IAAI,WAAW,EAI9B,MAAM,cAAc,CAAC;AAItB,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC;AAiBpC,eAAO,MAAM,IAAI,2DAZiD,SAAS,6CAYpC,CAAC;AAGxC,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;AAYxB,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAErD,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAErD,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAErD,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAErD,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAErD,eAAO,MAAM,EAAE,uBAAqC,CAAC;AAGrD,wBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,2CAU9C;yBAVe,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Creates a lazy-loaded module getter that caches the result.
3
+ *
4
+ * Safely handles environments where `require` is not defined (e.g. Vite/browser ESM)
5
+ * and returns `null` when the module is not installed. The result is cached after the
6
+ * first call so subsequent calls are zero-cost.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const getSvg = lazyRequire<typeof import('react-native-svg')>('react-native-svg');
11
+ * const svg = getSvg(); // SvgModuleType | null
12
+ * ```
13
+ */
14
+ export declare function lazyRequire<T>(moduleName: string): () => T | null;
15
+ //# sourceMappingURL=lazy-require.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lazy-require.d.ts","sourceRoot":"","sources":["../../../../src/utils/lazy-require.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,CAiBjE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/bloom",
3
- "version": "0.1.32",
3
+ "version": "0.1.33",
4
4
  "description": "Bloom UI — Oxy ecosystem component library for React Native + Expo + Web",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -72,8 +72,8 @@ describe('BloomThemeProvider', () => {
72
72
  <ThemeDisplay />
73
73
  </BloomThemeProvider>,
74
74
  );
75
- // Blue preset hex is #1d9bf0 (case may vary)
76
- expect(getByTestId('primary').props.children.toLowerCase()).toBe('#1d9bf0');
75
+ // Blue preset primary is HSL(205, 87%, 53%) derived from --primary CSS var
76
+ expect(getByTestId('primary').props.children).toBe('hsl(205, 87%, 53%)');
77
77
  });
78
78
 
79
79
  it('generates different background colors for light and dark modes', () => {
@@ -135,7 +135,7 @@ describe('useThemeColor', () => {
135
135
  <ColorDisplay colorKey="primary" />
136
136
  </BloomThemeProvider>,
137
137
  );
138
- expect(getByTestId('color').props.children).toBe('#005c67');
138
+ expect(getByTestId('color').props.children).toBe('hsl(185, 100%, 20%)');
139
139
  });
140
140
  });
141
141
 
@@ -44,6 +44,7 @@ export function Icon() {
44
44
 
45
45
  return <IconComponent fill={fillMap[type]} size="md" />;
46
46
  }
47
+ Icon.displayName = 'Admonition.Icon';
47
48
 
48
49
  export function Content({
49
50
  children,
@@ -58,6 +59,7 @@ export function Content({
58
59
  </View>
59
60
  );
60
61
  }
62
+ Content.displayName = 'Admonition.Content';
61
63
 
62
64
  export function Text({
63
65
  children,
@@ -72,6 +74,7 @@ export function Text({
72
74
  </BaseText>
73
75
  );
74
76
  }
77
+ Text.displayName = 'Admonition.Text';
75
78
 
76
79
  export function Button({
77
80
  children,
@@ -83,6 +86,7 @@ export function Button({
83
86
  </BaseButton>
84
87
  );
85
88
  }
89
+ Button.displayName = 'Admonition.Button';
86
90
 
87
91
  export function Row({
88
92
  children,
@@ -97,6 +101,7 @@ export function Row({
97
101
  </View>
98
102
  );
99
103
  }
104
+ Row.displayName = 'Admonition.Row';
100
105
 
101
106
  export function Outer({
102
107
  children,
@@ -134,6 +139,7 @@ export function Outer({
134
139
  </AdmonitionContext.Provider>
135
140
  );
136
141
  }
142
+ Outer.displayName = 'Admonition.Outer';
137
143
 
138
144
  /**
139
145
  * Simple all-in-one Admonition component for common use cases.
@@ -159,6 +165,7 @@ export function Admonition({
159
165
  </Outer>
160
166
  );
161
167
  }
168
+ Admonition.displayName = 'Admonition';
162
169
 
163
170
  const styles = StyleSheet.create({
164
171
  outer: {
@@ -3,6 +3,7 @@ import { View, Image, StyleSheet, TouchableOpacity } from 'react-native';
3
3
 
4
4
  import { useTheme } from '../theme/use-theme';
5
5
  import { useImageResolver } from '../image-resolver/context';
6
+ import { lazyRequire } from '../utils/lazy-require';
6
7
  import { useAvatarPlaceholder } from './placeholder-context';
7
8
  import type { AvatarProps } from './types';
8
9
 
@@ -22,25 +23,7 @@ let clipIdCounter = 0;
22
23
  // Lazy-loaded SVG components for squircle shape.
23
24
  // Returns null if react-native-svg is not installed.
24
25
  type SvgModuleType = typeof import('react-native-svg');
25
- let svgModule: SvgModuleType | null = null;
26
- let svgModuleResolved = false;
27
-
28
- function getSvgModule(): SvgModuleType | null {
29
- if (!svgModuleResolved) {
30
- svgModuleResolved = true;
31
- try {
32
- // Guard for ESM environments (Vite/browser) where require is not defined.
33
- // In React Native (Metro), require is always available.
34
- if (typeof require !== 'undefined') {
35
- const moduleName = 'react-native-svg';
36
- svgModule = require(moduleName);
37
- }
38
- } catch {
39
- svgModule = null;
40
- }
41
- }
42
- return svgModule;
43
- }
26
+ const getSvgModule = lazyRequire<SvgModuleType>('react-native-svg');
44
27
 
45
28
  function SquircleImage({
46
29
  uri,
@@ -176,11 +176,14 @@ const BottomSheet = forwardRef((props: BottomSheetProps, ref: React.ForwardedRef
176
176
  }
177
177
  }, []);
178
178
 
179
- // Apply web scrollbar styles when colors change
179
+ // Apply web scrollbar styles when colors change; clean up on unmount
180
180
  useEffect(() => {
181
181
  if (Platform.OS === 'web') {
182
182
  createWebScrollbarStyle(colors.border);
183
183
  }
184
+ return () => {
185
+ removeWebScrollbarStyle();
186
+ };
184
187
  }, [colors.border]);
185
188
 
186
189
  const present = useCallback(() => {
@@ -448,18 +451,19 @@ const styles = StyleSheet.create({
448
451
  const createWebScrollbarStyle = (borderColor: string) => {
449
452
  if (Platform.OS !== 'web' || typeof document === 'undefined') return;
450
453
 
451
- const styleId = 'bottom-sheet-scrollbar-style';
452
- let styleElement = document.getElementById(styleId) as HTMLStyleElement;
454
+ let styleElement = document.getElementById(SCROLLBAR_STYLE_ID) as HTMLStyleElement | null;
453
455
 
454
456
  if (!styleElement) {
455
457
  styleElement = document.createElement('style');
456
- styleElement.id = styleId;
458
+ styleElement.id = SCROLLBAR_STYLE_ID;
457
459
  document.head.appendChild(styleElement);
458
460
  }
459
461
 
460
- // Use theme border color for scrollbar
462
+ // Derive a slightly darker scrollbar hover color from the border color
461
463
  const scrollbarColor = borderColor;
462
- const scrollbarHoverColor = borderColor === '#E5E5EA' ? '#C7C7CC' : '#555';
464
+ const scrollbarHoverColor = borderColor.startsWith('hsl')
465
+ ? borderColor.replace(/\)$/, ' / 0.7)') // add alpha for hover
466
+ : '#888';
463
467
 
464
468
  styleElement.textContent = `
465
469
  .bottom-sheet-scrollview::-webkit-scrollbar {
@@ -479,5 +483,13 @@ const createWebScrollbarStyle = (borderColor: string) => {
479
483
  `;
480
484
  };
481
485
 
486
+ const SCROLLBAR_STYLE_ID = 'bottom-sheet-scrollbar-style';
487
+
488
+ /** Remove the injected scrollbar <style> tag on unmount. */
489
+ const removeWebScrollbarStyle = () => {
490
+ if (Platform.OS !== 'web' || typeof document === 'undefined') return;
491
+ document.getElementById(SCROLLBAR_STYLE_ID)?.remove();
492
+ };
493
+
482
494
  export default BottomSheet;
483
495
  export { BottomSheet };
@@ -1,8 +1,8 @@
1
- import React, { useCallback, useMemo, useRef, memo } from 'react';
1
+ import React, { useMemo, memo } from 'react';
2
2
  import { Pressable, Text, Platform, Animated, type ViewStyle, type TextStyle } from 'react-native';
3
3
 
4
4
  import { useTheme } from '../theme/use-theme';
5
- import { animation } from '../styles/tokens';
5
+ import { usePressAnimation } from '../hooks/usePressAnimation';
6
6
  import type { ButtonProps } from './types';
7
7
 
8
8
  export type { ButtonProps, ButtonVariant, ButtonSize } from './types';
@@ -51,26 +51,10 @@ const ButtonComponent: React.FC<ButtonProps> = ({
51
51
  className,
52
52
  }) => {
53
53
  const theme = useTheme();
54
- const scaleAnim = useRef(new Animated.Value(1)).current;
55
54
  const hasScaleFeedback = SCALE_VARIANTS.has(variant);
56
-
57
- const onPressIn = useCallback(() => {
58
- if (!hasScaleFeedback) return;
59
- Animated.spring(scaleAnim, {
60
- toValue: PRESS_SCALE,
61
- useNativeDriver: true,
62
- ...animation.spring.snappy,
63
- }).start();
64
- }, [scaleAnim, hasScaleFeedback]);
65
-
66
- const onPressOut = useCallback(() => {
67
- if (!hasScaleFeedback) return;
68
- Animated.spring(scaleAnim, {
69
- toValue: 1,
70
- useNativeDriver: true,
71
- ...animation.spring.gentle,
72
- }).start();
73
- }, [scaleAnim, hasScaleFeedback]);
55
+ const { scaleAnim, onPressIn, onPressOut } = usePressAnimation(
56
+ hasScaleFeedback ? PRESS_SCALE : undefined,
57
+ );
74
58
 
75
59
  const baseStyles = useMemo((): ViewStyle => {
76
60
  const sizeConfig = SIZE_CONFIG[size];
@@ -155,7 +139,7 @@ const ButtonComponent: React.FC<ButtonProps> = ({
155
139
  return (
156
140
  <Animated.View style={hasScaleFeedback ? { transform: [{ scale: scaleAnim }] } : undefined}>
157
141
  <Pressable
158
- {...(resolvedClassName ? { className: resolvedClassName } as any : {})}
142
+ {...(resolvedClassName ? { className: resolvedClassName } as Record<string, string> : {})}
159
143
  style={({ pressed }) => [
160
144
  baseStyles,
161
145
  disabled && { opacity: 0.5 },
package/src/chip/Chip.tsx CHANGED
@@ -1,8 +1,8 @@
1
- import React, { memo, useMemo, useRef, useCallback } from 'react';
1
+ import React, { memo, useMemo } from 'react';
2
2
  import { View, Text, Pressable, Animated, type ViewStyle, type TextStyle } from 'react-native';
3
3
 
4
4
  import { useTheme } from '../theme/use-theme';
5
- import { animation, borderRadius, space } from '../styles/tokens';
5
+ import { usePressAnimation } from '../hooks/usePressAnimation';
6
6
  import type { ChipProps, ChipColor, ChipVariant } from './types';
7
7
 
8
8
  const SIZE_CONFIG = {
@@ -56,26 +56,10 @@ const ChipComponent: React.FC<ChipProps> = ({
56
56
  testID,
57
57
  }) => {
58
58
  const theme = useTheme();
59
- const scaleAnim = useRef(new Animated.Value(1)).current;
59
+ const { scaleAnim, onPressIn, onPressOut } = usePressAnimation(PRESS_SCALE);
60
60
  const colors = useChipColors(color, variant, selected, theme);
61
61
  const sizeConfig = SIZE_CONFIG[size];
62
62
 
63
- const onPressIn = useCallback(() => {
64
- Animated.spring(scaleAnim, {
65
- toValue: PRESS_SCALE,
66
- useNativeDriver: true,
67
- ...animation.spring.snappy,
68
- }).start();
69
- }, [scaleAnim]);
70
-
71
- const onPressOut = useCallback(() => {
72
- Animated.spring(scaleAnim, {
73
- toValue: 1,
74
- useNativeDriver: true,
75
- ...animation.spring.gentle,
76
- }).start();
77
- }, [scaleAnim]);
78
-
79
63
  const containerStyle = useMemo((): ViewStyle => ({
80
64
  height: sizeConfig.height,
81
65
  borderRadius: sizeConfig.height / 2,
@@ -1,5 +1,5 @@
1
- import React, { memo, useCallback, useEffect, useRef, useState } from 'react';
2
- import { View, Text, TouchableOpacity, Animated, LayoutAnimation, Platform, UIManager } from 'react-native';
1
+ import React, { memo, useCallback, useRef, useState } from 'react';
2
+ import { View, Text, TouchableOpacity, Animated, LayoutAnimation, Platform, UIManager, StyleSheet } from 'react-native';
3
3
 
4
4
  import { useTheme } from '../theme/use-theme';
5
5
  import { animation } from '../styles/tokens';
@@ -25,23 +25,25 @@ const CollapsibleComponent: React.FC<CollapsibleProps> = ({
25
25
  const theme = useTheme();
26
26
  const chevronAnim = useRef(new Animated.Value(defaultOpen ? 1 : 0)).current;
27
27
 
28
- useEffect(() => {
28
+ const handleToggle = useCallback(() => {
29
+ const nextOpen = !isOpen;
30
+
31
+ // Animate chevron rotation in the event handler, not via useEffect
29
32
  Animated.spring(chevronAnim, {
30
- toValue: isOpen ? 1 : 0,
33
+ toValue: nextOpen ? 1 : 0,
31
34
  useNativeDriver: true,
32
35
  ...animation.spring.gentle,
33
36
  }).start();
34
- }, [isOpen, chevronAnim]);
35
37
 
36
- const handleToggle = useCallback(() => {
37
38
  LayoutAnimation.configureNext({
38
39
  duration: animation.duration.normal,
39
40
  update: { type: LayoutAnimation.Types.easeInEaseOut },
40
41
  create: { type: LayoutAnimation.Types.easeInEaseOut, property: LayoutAnimation.Properties.opacity },
41
42
  delete: { type: LayoutAnimation.Types.easeInEaseOut, property: LayoutAnimation.Properties.opacity },
42
43
  });
43
- setIsOpen((prev) => !prev);
44
- }, []);
44
+
45
+ setIsOpen(nextOpen);
46
+ }, [isOpen, chevronAnim]);
45
47
 
46
48
  const chevronRotation = chevronAnim.interpolate({
47
49
  inputRange: [0, 1],
@@ -55,32 +57,22 @@ const CollapsibleComponent: React.FC<CollapsibleProps> = ({
55
57
  activeOpacity={0.7}
56
58
  accessibilityRole="button"
57
59
  accessibilityState={{ expanded: isOpen }}
58
- style={{
59
- flexDirection: 'row',
60
- alignItems: 'center',
61
- paddingVertical: 12,
62
- gap: 8,
63
- }}
60
+ style={styles.trigger}
64
61
  >
65
62
  {chevronIcon ?? (
66
63
  <Animated.Text
67
- style={{
68
- fontSize: 16,
69
- color: theme.colors.textSecondary,
70
- transform: [{ rotate: chevronRotation }],
71
- }}
64
+ style={[
65
+ styles.chevron,
66
+ { color: theme.colors.textSecondary, transform: [{ rotate: chevronRotation }] },
67
+ ]}
72
68
  >
73
69
 
74
70
  </Animated.Text>
75
71
  )}
76
72
  <Text
77
73
  style={[
78
- {
79
- fontSize: 16,
80
- fontWeight: '600',
81
- color: theme.colors.text,
82
- flex: 1,
83
- },
74
+ styles.title,
75
+ { color: theme.colors.text },
84
76
  titleStyle,
85
77
  ]}
86
78
  >
@@ -94,3 +86,20 @@ const CollapsibleComponent: React.FC<CollapsibleProps> = ({
94
86
 
95
87
  export const Collapsible = memo(CollapsibleComponent);
96
88
  Collapsible.displayName = 'Collapsible';
89
+
90
+ const styles = StyleSheet.create({
91
+ trigger: {
92
+ flexDirection: 'row',
93
+ alignItems: 'center',
94
+ paddingVertical: 12,
95
+ gap: 8,
96
+ },
97
+ chevron: {
98
+ fontSize: 16,
99
+ },
100
+ title: {
101
+ fontSize: 16,
102
+ fontWeight: '600',
103
+ flex: 1,
104
+ },
105
+ });
@@ -1,7 +1,7 @@
1
- import React from 'react';
1
+ import React, { memo } from 'react';
2
2
  import { StyleSheet, View, type ViewStyle } from 'react-native';
3
3
 
4
- export function Fill({
4
+ const FillComponent = function Fill({
5
5
  children,
6
6
  style,
7
7
  }: {
@@ -13,7 +13,10 @@ export function Fill({
13
13
  {children}
14
14
  </View>
15
15
  );
16
- }
16
+ };
17
+
18
+ export const Fill = memo(FillComponent);
19
+ Fill.displayName = 'Fill';
17
20
 
18
21
  const fillStyles = StyleSheet.create({
19
22
  base: {