@btndprojects/loam-ui-native 0.2.1 → 0.3.1

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 (365) hide show
  1. package/dist/accordion/index.js +4 -2
  2. package/dist/adaptive/index.js +12 -2
  3. package/dist/address-block/index.js +23 -0
  4. package/dist/alert/index.js +5 -2
  5. package/dist/analyzer/index.js +13 -5
  6. package/dist/announcement/index.js +15 -5
  7. package/dist/appearance-picker/index.js +15 -0
  8. package/dist/audio-player/index.js +26 -2
  9. package/dist/avatar/index.js +2 -2
  10. package/dist/avatar-group/index.js +5 -3
  11. package/dist/badge/index.js +6 -3
  12. package/dist/banner/index.js +3 -2
  13. package/dist/board/index.js +13 -6
  14. package/dist/button/index.js +6 -3
  15. package/dist/camera-permission/index.js +19 -11
  16. package/dist/capture-result/index.js +26 -16
  17. package/dist/card/index.js +7 -3
  18. package/dist/card-form/index.js +15 -9
  19. package/dist/carousel/index.js +3 -1
  20. package/dist/chart/index.js +15 -5
  21. package/dist/charts/index.js +18 -5
  22. package/dist/chat/index.js +35 -10
  23. package/dist/checkbox/index.js +6 -4
  24. package/dist/checklist/index.js +16 -7
  25. package/dist/checkout/index.js +25 -12
  26. package/dist/chip/index.js +7 -4
  27. package/dist/chunk-2BZD3NAP.js +1110 -0
  28. package/dist/chunk-2YKVID2V.js +35 -0
  29. package/dist/{chunk-H7DWSL4O.js → chunk-36DA3IPO.js} +115 -27
  30. package/dist/chunk-3A56MIAN.js +599 -0
  31. package/dist/{chunk-AEB7KCHQ.js → chunk-3SCKCWF5.js} +39 -28
  32. package/dist/chunk-3TZNDHKO.js +187 -0
  33. package/dist/chunk-43K3BLXV.js +9 -0
  34. package/dist/chunk-46ZJIQ2Z.js +208 -0
  35. package/dist/{chunk-PMMTGBBS.js → chunk-4CZMQDQL.js} +75 -22
  36. package/dist/chunk-4QCR3K2J.js +1 -0
  37. package/dist/{chunk-E2E3I5W2.js → chunk-5DTKORLI.js} +54 -45
  38. package/dist/{chunk-5VFZRGVD.js → chunk-5J4WFXFA.js} +32 -15
  39. package/dist/{chunk-JBMLWFSJ.js → chunk-5KJ7TEQ6.js} +83 -48
  40. package/dist/chunk-5NU33TXK.js +529 -0
  41. package/dist/chunk-6KSUS7DF.js +690 -0
  42. package/dist/{chunk-3WEZCGHX.js → chunk-6RV6UW2J.js} +140 -56
  43. package/dist/chunk-6RZM7RP2.js +520 -0
  44. package/dist/{chunk-JJLPBRVZ.js → chunk-75BDCC7K.js} +2 -0
  45. package/dist/{chunk-U5NLHYV6.js → chunk-7CGJBQUA.js} +333 -22
  46. package/dist/{chunk-I4FHVKEC.js → chunk-7IVF6JLJ.js} +16 -5
  47. package/dist/chunk-7IWCGXYA.js +143 -0
  48. package/dist/chunk-7LM4ASFH.js +172 -0
  49. package/dist/chunk-7MCEJFWV.js +341 -0
  50. package/dist/{chunk-2SY63FCH.js → chunk-7NGMUVNU.js} +66 -30
  51. package/dist/chunk-7PBSIXT7.js +355 -0
  52. package/dist/chunk-7QOYGENL.js +443 -0
  53. package/dist/{chunk-TDMG26JI.js → chunk-A7SWYDE5.js} +40 -9
  54. package/dist/chunk-ADHPJALR.js +3051 -0
  55. package/dist/{chunk-ZLTO5VQI.js → chunk-ALJYZLNQ.js} +131 -61
  56. package/dist/{chunk-GDKVKNR2.js → chunk-AQ5FIG74.js} +110 -30
  57. package/dist/chunk-B2MMZZQB.js +426 -0
  58. package/dist/{chunk-QYPE5JX3.js → chunk-B7JZ3N5G.js} +142 -105
  59. package/dist/{chunk-QHTVYA65.js → chunk-BL37SW6G.js} +388 -102
  60. package/dist/chunk-BTRMA7GC.js +21 -0
  61. package/dist/{chunk-FUMHAAF3.js → chunk-C7IUWIUZ.js} +243 -92
  62. package/dist/chunk-CA3DUVYD.js +10 -0
  63. package/dist/{chunk-FYWNRX4F.js → chunk-CBCJSO2B.js} +143 -13
  64. package/dist/chunk-CHPX4MFI.js +239 -0
  65. package/dist/chunk-CLGAMIOT.js +648 -0
  66. package/dist/chunk-CUE7VML6.js +1141 -0
  67. package/dist/{chunk-D5N5QWI7.js → chunk-CVU6S2E5.js} +497 -235
  68. package/dist/{chunk-U23FYWME.js → chunk-CXPQMA6Z.js} +101 -34
  69. package/dist/{chunk-36EC2T6P.js → chunk-D2LN4I7I.js} +1 -1
  70. package/dist/{chunk-TLCIR6RG.js → chunk-D34LNBO5.js} +411 -155
  71. package/dist/{chunk-FV6HMP7W.js → chunk-D4BCQICM.js} +207 -65
  72. package/dist/chunk-EABKIIA4.js +1 -0
  73. package/dist/chunk-EICSYRAG.js +341 -0
  74. package/dist/chunk-EMWAJMAS.js +83 -0
  75. package/dist/chunk-EOLZWRV6.js +149 -0
  76. package/dist/chunk-EOQVTGB6.js +350 -0
  77. package/dist/{chunk-ZVATDZOM.js → chunk-ESGUHNB2.js} +106 -28
  78. package/dist/{chunk-46MMSDGL.js → chunk-F2KNBPKY.js} +104 -73
  79. package/dist/{chunk-KQZ3GLHR.js → chunk-G7H3NX3G.js} +40 -17
  80. package/dist/{chunk-3QMEOFW5.js → chunk-GM7YIPB7.js} +421 -207
  81. package/dist/{chunk-QHAITQIF.js → chunk-GVQQG435.js} +256 -86
  82. package/dist/chunk-HE43OMEL.js +1056 -0
  83. package/dist/{chunk-XIDTBCBA.js → chunk-HHOMFQ7R.js} +1049 -207
  84. package/dist/chunk-HNAKS4Z3.js +207 -0
  85. package/dist/chunk-HP6ST2OW.js +352 -0
  86. package/dist/chunk-HW3OWDTU.js +1 -0
  87. package/dist/{chunk-QP3KMOVF.js → chunk-HZDB44K4.js} +24 -14
  88. package/dist/chunk-I6CUP2LW.js +1155 -0
  89. package/dist/chunk-ICV4Y2WY.js +27 -0
  90. package/dist/chunk-IHSIENOE.js +3950 -0
  91. package/dist/{chunk-T5LTPKX6.js → chunk-IMMALLRU.js} +53 -25
  92. package/dist/{chunk-C4GTDLRC.js → chunk-JA6TK7H2.js} +154 -67
  93. package/dist/{chunk-EVOIGUBI.js → chunk-JAVZ5JPV.js} +43 -13
  94. package/dist/{chunk-CPTOADB2.js → chunk-JCMTP3E4.js} +527 -201
  95. package/dist/{chunk-OJQUBQWA.js → chunk-JCXFFK64.js} +73 -16
  96. package/dist/{chunk-V2OEB75Z.js → chunk-JWCVBFDU.js} +75 -35
  97. package/dist/chunk-JXRTD5RI.js +414 -0
  98. package/dist/chunk-JYIUZUIQ.js +1567 -0
  99. package/dist/chunk-K3TK3GIV.js +219 -0
  100. package/dist/chunk-KEVZIHM2.js +1511 -0
  101. package/dist/{chunk-VAOAKWUK.js → chunk-KHZDNQQD.js} +42 -8
  102. package/dist/chunk-KL4GDV4V.js +131 -0
  103. package/dist/{chunk-Q6NKEPRE.js → chunk-KNILMM4H.js} +73 -28
  104. package/dist/chunk-KRBUZV45.js +25 -0
  105. package/dist/{chunk-7BUIKDD6.js → chunk-KXLDK6HB.js} +91 -30
  106. package/dist/chunk-KZ3X7TSL.js +196 -0
  107. package/dist/{chunk-5UTRIXQ6.js → chunk-L2WMOA2V.js} +187 -43
  108. package/dist/chunk-L4D5LHCH.js +109 -0
  109. package/dist/{chunk-W63AJTM7.js → chunk-LAUJPLDB.js} +236 -71
  110. package/dist/{chunk-TN2ZNJUI.js → chunk-LGNTP5XA.js} +47 -13
  111. package/dist/chunk-LUZFCCSD.js +271 -0
  112. package/dist/{chunk-XTORZWRF.js → chunk-LXJCP4PL.js} +111 -30
  113. package/dist/chunk-MCOZJWPU.js +731 -0
  114. package/dist/{chunk-SATMR6SG.js → chunk-MG4SKWLL.js} +780 -142
  115. package/dist/{chunk-JUYWSSKW.js → chunk-MPEPTSER.js} +95 -16
  116. package/dist/chunk-MWPJ4YGP.js +1 -0
  117. package/dist/{chunk-LUMVGO2K.js → chunk-N7AX4OA4.js} +80 -29
  118. package/dist/chunk-NHSLM6SE.js +523 -0
  119. package/dist/{chunk-IT6FUXXG.js → chunk-NNJLVA7M.js} +43 -11
  120. package/dist/{chunk-TQVAIKFD.js → chunk-NZG75DGA.js} +102 -62
  121. package/dist/chunk-O76QXRBV.js +431 -0
  122. package/dist/chunk-OANH27AK.js +223 -0
  123. package/dist/chunk-OCHPK5YV.js +609 -0
  124. package/dist/chunk-OMHVEVX4.js +436 -0
  125. package/dist/{chunk-SWS5JQIF.js → chunk-ONKQUJWD.js} +187 -60
  126. package/dist/chunk-OVTK7A6T.js +615 -0
  127. package/dist/{chunk-UXGIW7OK.js → chunk-PCEFCOLN.js} +5 -1
  128. package/dist/{chunk-QIKT7LIB.js → chunk-PFLNFIVB.js} +91 -23
  129. package/dist/chunk-PHSZY37H.js +300 -0
  130. package/dist/chunk-PJLTKDVY.js +18 -0
  131. package/dist/{chunk-SHHY5OMK.js → chunk-PK7BN3MI.js} +83 -15
  132. package/dist/{chunk-YXOAPXMU.js → chunk-PWFRDRGS.js} +101 -14
  133. package/dist/{chunk-TY4MTKQJ.js → chunk-PYPMD46W.js} +332 -66
  134. package/dist/chunk-Q6CCHDI7.js +331 -0
  135. package/dist/chunk-QFA5WS2A.js +750 -0
  136. package/dist/chunk-QJMMM4RC.js +124 -0
  137. package/dist/chunk-QYWEVAM6.js +407 -0
  138. package/dist/chunk-R5T4VZ7Z.js +126 -0
  139. package/dist/chunk-R77HFLZD.js +1 -0
  140. package/dist/{chunk-LMPHCVJJ.js → chunk-RAESDNU5.js} +162 -68
  141. package/dist/chunk-RBYQUXNL.js +1 -0
  142. package/dist/chunk-RCM3DT5E.js +1 -0
  143. package/dist/chunk-RGNY56L7.js +282 -0
  144. package/dist/chunk-RIK6UX2K.js +344 -0
  145. package/dist/{chunk-5LAAAXFP.js → chunk-RJA3RXO3.js} +63 -54
  146. package/dist/chunk-RJYRJ3LD.js +1 -0
  147. package/dist/chunk-RMA3NOY4.js +599 -0
  148. package/dist/{chunk-VDPK5CY4.js → chunk-RSWKKAHK.js} +143 -61
  149. package/dist/{chunk-B7N4ASYE.js → chunk-RVOIIX3V.js} +17 -45
  150. package/dist/chunk-SA2RRBGT.js +1077 -0
  151. package/dist/{chunk-7OVVSVEZ.js → chunk-SG3J4R45.js} +440 -169
  152. package/dist/chunk-SPUK7JD4.js +238 -0
  153. package/dist/chunk-SWXV2K5N.js +434 -0
  154. package/dist/chunk-SYJEPXP6.js +1303 -0
  155. package/dist/{chunk-LKFC4CS7.js → chunk-SZLI34TA.js} +18 -9
  156. package/dist/{chunk-NBEF4EPJ.js → chunk-T77WJA74.js} +131 -16
  157. package/dist/chunk-TDWWVJA4.js +630 -0
  158. package/dist/chunk-TFHI5XDR.js +610 -0
  159. package/dist/chunk-TH4PW2WU.js +17 -0
  160. package/dist/chunk-TTQ24HQX.js +12 -0
  161. package/dist/chunk-TUACVJNG.js +12 -0
  162. package/dist/{chunk-F5B3UINI.js → chunk-TUL5RUIA.js} +171 -62
  163. package/dist/{chunk-C6APNDVA.js → chunk-TYOSA7JG.js} +63 -34
  164. package/dist/chunk-TYQTMMEV.js +1 -0
  165. package/dist/{chunk-DW3L54DQ.js → chunk-TZO6YDS7.js} +53 -12
  166. package/dist/{chunk-67IZZ2MJ.js → chunk-U3ETF22F.js} +75 -30
  167. package/dist/{chunk-EDCBJV7J.js → chunk-U6BYHD2N.js} +87 -31
  168. package/dist/{chunk-ENP3BMZU.js → chunk-UF6EJXPQ.js} +16 -1
  169. package/dist/{chunk-IPUNJMAQ.js → chunk-UNNQIPGK.js} +304 -68
  170. package/dist/chunk-UQVO6AJV.js +171 -0
  171. package/dist/{chunk-FZGAAOKS.js → chunk-VFDQAAIW.js} +138 -32
  172. package/dist/chunk-VIUE3VQT.js +1 -0
  173. package/dist/{chunk-5RENVKBQ.js → chunk-VJLSSSGC.js} +126 -30
  174. package/dist/chunk-VLMT6KYT.js +350 -0
  175. package/dist/chunk-VMHGBUGS.js +35 -0
  176. package/dist/{chunk-4IZXHVFJ.js → chunk-VQKPBYW6.js} +228 -172
  177. package/dist/{chunk-G6UESEVN.js → chunk-VSSTWLC5.js} +49 -11
  178. package/dist/{chunk-TRGFFU6A.js → chunk-VZYYZRPN.js} +866 -330
  179. package/dist/{chunk-JLC6PM5S.js → chunk-WAIJCD2V.js} +128 -54
  180. package/dist/chunk-WFMQ3WKM.js +378 -0
  181. package/dist/chunk-WJ2KDRMY.js +66 -0
  182. package/dist/chunk-WKFZJO54.js +437 -0
  183. package/dist/{chunk-QEYFDRHR.js → chunk-WVVD3XOV.js} +146 -84
  184. package/dist/chunk-XAIWMSLB.js +1 -0
  185. package/dist/chunk-XBXUBBJZ.js +98 -0
  186. package/dist/chunk-XCU7MYBJ.js +1 -0
  187. package/dist/chunk-XHE4PGCI.js +717 -0
  188. package/dist/chunk-XRSJ32M3.js +331 -0
  189. package/dist/chunk-XTCVOEAW.js +1 -0
  190. package/dist/chunk-XWGXVQF6.js +58 -0
  191. package/dist/{chunk-MKSNFG7H.js → chunk-Y3XKKO5K.js} +191 -109
  192. package/dist/chunk-Y4QNMBLO.js +533 -0
  193. package/dist/chunk-Y5H4CTKO.js +1 -0
  194. package/dist/chunk-YBQIN75A.js +403 -0
  195. package/dist/{chunk-PNF3NKB5.js → chunk-YJ5PXOX3.js} +28 -11
  196. package/dist/{chunk-M656FYNH.js → chunk-YLRSRUPS.js} +63 -49
  197. package/dist/chunk-YM6MPJ4A.js +1 -0
  198. package/dist/chunk-YV7KZENV.js +200 -0
  199. package/dist/chunk-Z7I4ZSO6.js +316 -0
  200. package/dist/{chunk-EY4DD67D.js → chunk-ZIRMWD2B.js} +199 -126
  201. package/dist/chunk-ZPMG3FWU.js +75 -0
  202. package/dist/{chunk-QRUMA22E.js → chunk-ZTXMK2G7.js} +92 -43
  203. package/dist/{chunk-2OLKPG4E.js → chunk-ZVJCWXAL.js} +189 -87
  204. package/dist/{chunk-YAAHPATV.js → chunk-ZYQ23DPT.js} +49 -34
  205. package/dist/coachmark/index.js +7 -3
  206. package/dist/code-block/index.js +4 -3
  207. package/dist/color-field/index.js +12 -4
  208. package/dist/color-picker/index.js +23 -0
  209. package/dist/commerce/index.js +27 -16
  210. package/dist/confirm/index.js +31 -0
  211. package/dist/connection-card/index.js +34 -0
  212. package/dist/connectivity/index.js +3 -2
  213. package/dist/context-menu/index.js +10 -2
  214. package/dist/copy-button/index.js +3 -2
  215. package/dist/data-grid/index.js +30 -17
  216. package/dist/date-range-picker/index.js +19 -9
  217. package/dist/description-list/index.js +4 -1
  218. package/dist/device-frame/index.js +30 -0
  219. package/dist/dialog/index.js +8 -2
  220. package/dist/divider/index.js +2 -0
  221. package/dist/empty-state/index.js +13 -2
  222. package/dist/error-summary/index.js +7 -2
  223. package/dist/fab/index.js +4 -2
  224. package/dist/file-manager/index.js +33 -17
  225. package/dist/file-upload/index.js +12 -6
  226. package/dist/filter-bar/index.js +10 -6
  227. package/dist/flow-run/index.js +19 -12
  228. package/dist/form/index.js +30 -3
  229. package/dist/gallery/index.js +5 -2
  230. package/dist/hold-to-confirm/index.js +4 -2
  231. package/dist/hover-card/index.js +18 -0
  232. package/dist/icon-tile/index.js +10 -0
  233. package/dist/image/index.js +9 -0
  234. package/dist/index.d.ts +29826 -17941
  235. package/dist/index.js +197 -141
  236. package/dist/infinite-list/index.js +4 -2
  237. package/dist/inline-edit/index.js +5 -4
  238. package/dist/input/index.js +4 -3
  239. package/dist/interactions/index.js +4 -1
  240. package/dist/invoice/index.js +18 -9
  241. package/dist/job-row/index.js +22 -0
  242. package/dist/json-inspector/index.js +20 -0
  243. package/dist/kbd/index.js +2 -2
  244. package/dist/keyboard/index.js +7 -2
  245. package/dist/level-meter/index.js +9 -0
  246. package/dist/list-row/index.js +11 -3
  247. package/dist/log-viewer/index.js +9 -2
  248. package/dist/map-view/index.js +13 -2
  249. package/dist/markdown/index.js +8 -5
  250. package/dist/metric/index.js +6 -3
  251. package/dist/metric-strip/index.js +12 -0
  252. package/dist/money/index.js +11 -4
  253. package/dist/nav-drawer/index.js +6 -2
  254. package/dist/nav-header/index.js +10 -4
  255. package/dist/navigation/index.js +29 -2
  256. package/dist/notification-center/index.js +24 -10
  257. package/dist/number-roll/index.js +3 -1
  258. package/dist/onboarding-pager/index.js +22 -0
  259. package/dist/one-handed/index.js +2 -2
  260. package/dist/os-surfaces/index.js +6 -3
  261. package/dist/otp/index.js +5 -4
  262. package/dist/page-header/index.js +2 -1
  263. package/dist/pagination/index.js +4 -2
  264. package/dist/payment-method/index.js +17 -11
  265. package/dist/payment-status/index.js +22 -14
  266. package/dist/permission/index.js +18 -2
  267. package/dist/picker/index.js +17 -6
  268. package/dist/progress/index.js +7 -2
  269. package/dist/provenance/index.js +16 -0
  270. package/dist/pull-to-refresh/index.js +2 -2
  271. package/dist/qr-code/index.js +16 -0
  272. package/dist/query-builder/index.js +30 -0
  273. package/dist/radio-group/index.js +6 -4
  274. package/dist/rating/index.js +7 -2
  275. package/dist/receivables/index.js +31 -18
  276. package/dist/recording-indicator/index.js +21 -0
  277. package/dist/refund/index.js +24 -15
  278. package/dist/repeatable-rows/index.js +19 -0
  279. package/dist/save-status/index.js +5 -3
  280. package/dist/screen/index.js +3 -0
  281. package/dist/scroll-area/index.js +1 -1
  282. package/dist/search-field/index.js +8 -3
  283. package/dist/secret-field/index.js +19 -0
  284. package/dist/section-header/index.js +4 -0
  285. package/dist/segmented-control/index.js +2 -2
  286. package/dist/sheet/index.js +9 -3
  287. package/dist/shortcuts-sheet/index.js +2 -0
  288. package/dist/sign-in-screen/index.js +25 -0
  289. package/dist/skeleton/index.js +3 -1
  290. package/dist/slider/index.js +2 -1
  291. package/dist/sortable/index.js +4 -3
  292. package/dist/spinner/index.js +2 -1
  293. package/dist/split-button/index.js +17 -5
  294. package/dist/spotlight/index.js +7 -1
  295. package/dist/stack/index.js +2 -0
  296. package/dist/stage-timeline/index.js +6 -3
  297. package/dist/status-dot/index.js +6 -2
  298. package/dist/stepper/index.js +7 -3
  299. package/dist/streaming-text/index.js +2 -1
  300. package/dist/survey/index.js +24 -14
  301. package/dist/switch/index.js +6 -2
  302. package/dist/system-state/index.js +12 -4
  303. package/dist/tab-bar/index.js +10 -2
  304. package/dist/tabs/index.js +10 -2
  305. package/dist/tags-input/index.js +8 -5
  306. package/dist/text/index.js +4 -0
  307. package/dist/textarea/index.js +5 -4
  308. package/dist/thinking/index.js +4 -1
  309. package/dist/tile-rail/index.js +10 -0
  310. package/dist/time-field/index.js +15 -7
  311. package/dist/time-range-control/index.js +26 -12
  312. package/dist/timeline/index.js +2 -2
  313. package/dist/toast/index.js +4 -2
  314. package/dist/toolbar/index.js +3 -2
  315. package/dist/tour/index.js +12 -10
  316. package/dist/transcript/index.js +28 -0
  317. package/dist/truncation-notice/index.js +2 -2
  318. package/dist/update-notice/index.js +15 -8
  319. package/dist/video-player/index.js +26 -2
  320. package/dist/viewfinder/index.js +12 -4
  321. package/dist/widget/index.js +11 -4
  322. package/dist/wizard/index.js +7 -4
  323. package/package.json +13 -13
  324. package/dist/chunk-2PKYGLQ6.js +0 -268
  325. package/dist/chunk-2SWKL3AJ.js +0 -466
  326. package/dist/chunk-2TXERVVA.js +0 -1081
  327. package/dist/chunk-3DUWIYV5.js +0 -437
  328. package/dist/chunk-3NMD74ZU.js +0 -4
  329. package/dist/chunk-4DS5ZWVC.js +0 -83
  330. package/dist/chunk-6YAQBXB3.js +0 -93
  331. package/dist/chunk-74FLKD24.js +0 -237
  332. package/dist/chunk-CMTVNF3D.js +0 -104
  333. package/dist/chunk-DN7MNQIP.js +0 -799
  334. package/dist/chunk-DVGBZ3TX.js +0 -455
  335. package/dist/chunk-F3H33DQX.js +0 -300
  336. package/dist/chunk-FAJI7BSC.js +0 -443
  337. package/dist/chunk-G3AFC24V.js +0 -60
  338. package/dist/chunk-HJLPZA4X.js +0 -369
  339. package/dist/chunk-HYEOQWT7.js +0 -647
  340. package/dist/chunk-IDM7JJMO.js +0 -110
  341. package/dist/chunk-IVKMZ7BB.js +0 -326
  342. package/dist/chunk-IXKWIFWZ.js +0 -334
  343. package/dist/chunk-JV5YOTOB.js +0 -164
  344. package/dist/chunk-KFJGFLMW.js +0 -158
  345. package/dist/chunk-LQP4KEXZ.js +0 -214
  346. package/dist/chunk-NTQ2F3AU.js +0 -257
  347. package/dist/chunk-O5V4TG3V.js +0 -329
  348. package/dist/chunk-OWAMM2DK.js +0 -280
  349. package/dist/chunk-PID3NJB7.js +0 -405
  350. package/dist/chunk-QDZGFXQD.js +0 -176
  351. package/dist/chunk-QPWDDJJ4.js +0 -385
  352. package/dist/chunk-ROCUG24E.js +0 -416
  353. package/dist/chunk-RU3ZPNL6.js +0 -1986
  354. package/dist/chunk-RXSCIO6W.js +0 -153
  355. package/dist/chunk-SKWO3SZF.js +0 -2284
  356. package/dist/chunk-UQGBTPXH.js +0 -218
  357. package/dist/chunk-UYGDJWMN.js +0 -273
  358. package/dist/chunk-W74TXYFB.js +0 -107
  359. package/dist/chunk-WRDSPUE7.js +0 -417
  360. package/dist/chunk-XBZGDDMR.js +0 -105
  361. package/dist/chunk-XN4KG3P4.js +0 -1040
  362. package/dist/chunk-XQXMLMH3.js +0 -211
  363. package/dist/chunk-ZECZOOSB.js +0 -245
  364. /package/dist/{chunk-VFCUIDRT.js → chunk-3BKLBYPK.js} +0 -0
  365. /package/dist/{chunk-GEIGMWNF.js → chunk-QNZII37O.js} +0 -0
@@ -1,8 +1,9 @@
1
- import { useColorTransition } from './chunk-7BUIKDD6.js';
2
1
  import { announce } from './chunk-W23G6JLF.js';
2
+ import { useInputPlatform, useColorTransition } from './chunk-KXLDK6HB.js';
3
+ import { fieldSurfaceFill } from './chunk-43K3BLXV.js';
3
4
  import { haptics } from './chunk-NY2U3PBI.js';
4
5
  import { useLabels } from './chunk-APCWFOZW.js';
5
- import { Icon } from './chunk-UXGIW7OK.js';
6
+ import { Icon } from './chunk-PCEFCOLN.js';
6
7
  import { springConfig } from './chunk-J64KGCGX.js';
7
8
  import * as React from 'react';
8
9
  import { Animated, Easing, View, Pressable, TextInput, Platform, Text } from 'react-native';
@@ -11,7 +12,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
11
12
 
12
13
  var DEFAULT_LABELS = {
13
14
  field: "One-time code",
14
- incorrect: "Incorrect code",
15
+ clear: "Clear code",
15
16
  errorAnnouncement: (field, message) => `${field}: ${message}`
16
17
  };
17
18
  var MASK = "\u2022";
@@ -24,10 +25,12 @@ function OTPBox({
24
25
  borderTarget,
25
26
  fillTarget,
26
27
  caret,
27
- pop
28
+ pop,
29
+ size
28
30
  }) {
29
31
  const theme = useLoamTheme("otp");
30
- const { styles } = useStyles(sheet, { disabled: false });
32
+ const os = useInputPlatform();
33
+ const { styles } = useStyles(sheet, { disabled: false, os });
31
34
  const easing = React.useMemo(() => Easing.bezier(...theme.easing.base), [theme.easing.base]);
32
35
  const borderColor = useColorTransition(borderTarget, theme.duration.base, easing);
33
36
  const backgroundColor = useColorTransition(fillTarget, theme.duration.base, easing);
@@ -35,28 +38,37 @@ function OTPBox({
35
38
  Animated.View,
36
39
  {
37
40
  testID: "otp-box",
38
- style: [styles.box, { borderColor, backgroundColor, transform: [{ scale: pop }] }],
41
+ style: [styles.box, size !== "lg" && { width: size === "md" ? theme.space[32] : theme.space[28], height: theme.ctl[size], borderRadius: theme.ctl.r[size] }, { borderColor, backgroundColor, transform: [{ scale: pop }] }],
39
42
  children: char ? /* @__PURE__ */ jsx(Text, { style: styles.digit, children: secure ? MASK : char }) : active ? /* @__PURE__ */ jsx(Animated.View, { style: [styles.caret, { opacity: caret }] }) : null
40
43
  }
41
44
  );
42
45
  }
43
46
  function OTP({
44
47
  length = 6,
48
+ surface = "filled",
45
49
  value,
46
50
  defaultValue = "",
47
51
  onChangeText,
48
52
  onComplete,
49
53
  disabled = false,
50
- error = false,
51
- errorMessage: errorMessageProp,
54
+ error: errorMessage,
55
+ success = false,
56
+ loading = false,
57
+ readOnly = false,
52
58
  secure = false,
53
59
  keyboardType = "number-pad",
60
+ size = "lg",
61
+ motion = "full",
62
+ clearable = false,
63
+ leading,
64
+ trailing,
54
65
  accessibilityLabel: accessibilityLabelProp,
55
66
  labels: labelsProp,
56
67
  style
57
68
  }) {
58
69
  const labels = useLabels("otp", DEFAULT_LABELS, labelsProp);
59
- const errorMessage = errorMessageProp ?? labels.incorrect;
70
+ const error = !!errorMessage;
71
+ const isLoading = loading && !disabled;
60
72
  const accessibilityLabel = accessibilityLabelProp ?? labels.field;
61
73
  const isControlled = value !== void 0;
62
74
  const [internal, setInternal] = React.useState(() => defaultValue.slice(0, length));
@@ -65,6 +77,7 @@ function OTP({
65
77
  const inputRef = React.useRef(null);
66
78
  const { styles } = useStyles(sheet, { disabled });
67
79
  const theme = useLoamTheme("otp");
80
+ const os = useInputPlatform();
68
81
  const caret = React.useRef(new Animated.Value(1)).current;
69
82
  React.useEffect(() => {
70
83
  if (!focused || disabled || theme.reduceMotion) {
@@ -94,7 +107,7 @@ function OTP({
94
107
  }
95
108
  };
96
109
  const focus = () => {
97
- if (!disabled) inputRef.current?.focus();
110
+ if (!disabled && !readOnly) inputRef.current?.focus();
98
111
  };
99
112
  const activeIndex = current.length;
100
113
  const isComplete = length > 0 && current.length === length;
@@ -104,7 +117,7 @@ function OTP({
104
117
  }
105
118
  const pops = popsRef.current;
106
119
  React.useEffect(() => {
107
- if (!isComplete || disabled) return;
120
+ if (!isComplete || disabled || motion !== "full") return;
108
121
  const easing = Easing.bezier(...theme.easing.base);
109
122
  const anim = Animated.stagger(
110
123
  COMPLETE_STAGGER,
@@ -127,14 +140,14 @@ function OTP({
127
140
  );
128
141
  anim.start();
129
142
  return () => anim.stop();
130
- }, [isComplete, disabled, pops, theme.duration.base, theme.easing.base]);
143
+ }, [isComplete, disabled, motion, pops, theme.duration.base, theme.easing.base]);
131
144
  const kick = React.useRef(new Animated.Value(0)).current;
132
145
  const wasError = React.useRef(error);
133
146
  React.useEffect(() => {
134
147
  if (error && !wasError.current) {
135
148
  haptics.notify("error");
136
- announce(labels.errorAnnouncement(accessibilityLabel, errorMessage), "assertive");
137
- if (!theme.reduceMotion) {
149
+ announce(labels.errorAnnouncement(accessibilityLabel, errorMessage ?? ""), "assertive");
150
+ if (!theme.reduceMotion && motion === "full") {
138
151
  kick.setValue(theme.space[4]);
139
152
  Animated.spring(kick, {
140
153
  ...springConfig(theme, "fs", { thrown: true }),
@@ -144,11 +157,12 @@ function OTP({
144
157
  }
145
158
  }
146
159
  wasError.current = error;
147
- }, [error, kick, theme, accessibilityLabel, errorMessage, labels]);
160
+ }, [error, kick, motion, theme, accessibilityLabel, errorMessage, labels]);
148
161
  const errorId = React.useId();
149
- const showError = error && !!errorMessage;
162
+ const showError = error;
150
163
  return /* @__PURE__ */ jsxs(View, { style: [styles.root, style], children: [
151
164
  /* @__PURE__ */ jsxs(Pressable, { onPress: focus, disabled, accessibilityRole: "none", style: styles.row, children: [
165
+ leading ? /* @__PURE__ */ jsx(Icon, { name: leading, size: theme.icon.md, color: theme.color.text3 }) : null,
152
166
  /* @__PURE__ */ jsx(
153
167
  Animated.View,
154
168
  {
@@ -158,7 +172,7 @@ function OTP({
158
172
  children: Array.from({ length }).map((_, i) => {
159
173
  const char = current[i];
160
174
  const isActive = focused && !disabled && !error && i === activeIndex && i < length;
161
- const borderTarget = error ? theme.color.danger : isComplete ? theme.color.good : char || isActive ? theme.color.accent : theme.color.borderStrong;
175
+ const borderTarget = error ? theme.color.danger : isComplete || success ? theme.color.good : isLoading ? theme.focus.ringColor : char || isActive ? theme.color.accent : theme.color.borderStrong;
162
176
  return /* @__PURE__ */ jsx(
163
177
  OTPBox,
164
178
  {
@@ -166,15 +180,31 @@ function OTP({
166
180
  secure,
167
181
  active: isActive,
168
182
  borderTarget,
169
- fillTarget: isActive ? theme.color.surface : theme.color.surface2,
183
+ fillTarget: isActive ? theme.color.surface : fieldSurfaceFill(theme, surface),
170
184
  caret,
171
- pop: pops[i]
185
+ pop: pops[i],
186
+ size
172
187
  },
173
188
  i
174
189
  );
175
190
  })
176
191
  }
177
192
  ),
193
+ trailing ? /* @__PURE__ */ jsx(Icon, { name: trailing, size: theme.icon.md, color: theme.color.text3 }) : null,
194
+ clearable && current.length > 0 && !disabled && !readOnly ? /* @__PURE__ */ jsx(
195
+ Pressable,
196
+ {
197
+ accessibilityRole: "button",
198
+ accessibilityLabel: labels.clear,
199
+ hitSlop: theme.space.s2,
200
+ onPress: () => {
201
+ if (!isControlled) setInternal("");
202
+ onChangeText?.("");
203
+ inputRef.current?.focus();
204
+ },
205
+ children: /* @__PURE__ */ jsx(Icon, { name: "x", size: theme.icon.md, color: theme.color.text3 })
206
+ }
207
+ ) : null,
178
208
  /* @__PURE__ */ jsx(
179
209
  TextInput,
180
210
  {
@@ -183,10 +213,11 @@ function OTP({
183
213
  onChangeText: handleChange,
184
214
  onFocus: () => setFocused(true),
185
215
  onBlur: () => setFocused(false),
186
- editable: !disabled,
216
+ editable: !disabled && !readOnly,
217
+ "aria-busy": isLoading || void 0,
187
218
  keyboardType,
188
219
  textContentType: "oneTimeCode",
189
- autoComplete: "one-time-code",
220
+ autoComplete: os === "android" ? "sms-otp" : "one-time-code",
190
221
  maxLength: length,
191
222
  caretHidden: true,
192
223
  accessibilityLabel,
@@ -221,15 +252,19 @@ function OTP({
221
252
  var sheet = createStyleSheet((theme) => ({
222
253
  root: { alignSelf: "flex-start", gap: theme.space.s2 },
223
254
  errorRow: { flexDirection: "row", alignItems: "center", gap: theme.space.s1 },
255
+ // Field helper / error: 12, the same step as Input's hint and error.
224
256
  errorText: {
225
257
  fontFamily: theme.font.sans,
226
- fontSize: theme.type.footnote.fontSize,
227
- lineHeight: theme.type.footnote.lineHeight,
258
+ fontSize: theme.type.caption1.fontSize,
259
+ lineHeight: theme.type.caption1.lineHeight,
228
260
  color: theme.color.danger
229
261
  },
230
262
  row: {
231
263
  position: "relative",
232
264
  alignSelf: "flex-start",
265
+ flexDirection: "row",
266
+ alignItems: "center",
267
+ gap: theme.space.s2,
233
268
  variants: {
234
269
  disabled: {
235
270
  true: { opacity: theme.state.disabledOpacity },
@@ -244,26 +279,36 @@ var sheet = createStyleSheet((theme) => ({
244
279
  // `borderColor` / `backgroundColor` are supplied at the use site as animated
245
280
  // values so a box can travel between states over `duration.base`.
246
281
  box: {
247
- width: theme.space[48],
248
- height: theme.space[58],
282
+ // The lg field shell: 40 × 44 (F68; was 48 × 58).
283
+ width: theme.space[40],
284
+ height: theme.ctl.lg,
249
285
  alignItems: "center",
250
286
  justifyContent: "center",
251
287
  // The reference draws a `1.5px` cell edge — the static `w2` weight.
252
288
  borderWidth: theme.borderWidth.thick,
253
- borderRadius: theme.radius.md,
289
+ borderRadius: theme.ctl.r.lg,
254
290
  variants: {
255
291
  disabled: { true: {}, false: {} }
256
292
  }
257
293
  },
294
+ // 22 tabular at the label weight in the system face: 600 on iOS, 500 on
295
+ // Android (F68; was 26 bold).
258
296
  digit: {
259
297
  fontFamily: theme.font.sans,
260
- fontWeight: theme.fontWeight.bold,
261
- fontSize: theme.fontSize[26],
262
- color: theme.color.text
298
+ fontSize: theme.fontSize[22],
299
+ fontVariant: ["tabular-nums"],
300
+ color: theme.color.text,
301
+ variants: {
302
+ os: {
303
+ ios: { fontWeight: theme.fontWeight.semibold },
304
+ android: { fontWeight: theme.fontWeight.medium }
305
+ }
306
+ }
263
307
  },
308
+ // 2 × 22, accent.
264
309
  caret: {
265
310
  width: theme.space[2],
266
- height: theme.space[24],
311
+ height: theme.space[22],
267
312
  borderRadius: theme.radius.sm,
268
313
  backgroundColor: theme.color.accent
269
314
  },
@@ -1,5 +1,7 @@
1
+ import { Avatar } from './chunk-JWCVBFDU.js';
2
+ import { softToneSkin } from './chunk-PJLTKDVY.js';
1
3
  import { NAMED_ROLE } from './chunk-W23G6JLF.js';
2
- import { Avatar } from './chunk-V2OEB75Z.js';
4
+ import { isAndroidIdiom } from './chunk-TH4PW2WU.js';
3
5
  import { useLabels } from './chunk-APCWFOZW.js';
4
6
  import { springConfig } from './chunk-J64KGCGX.js';
5
7
  import * as React from 'react';
@@ -7,7 +9,7 @@ import { Animated, Easing, View, Text, Pressable } from 'react-native';
7
9
  import { createStyleSheet, useStyles, useLoamTheme } from '@btndprojects/loam-theme-native';
8
10
  import { jsx, jsxs } from 'react/jsx-runtime';
9
11
 
10
- var SIZE_PX = { xs: 28, sm: 36, md: 48, lg: 60, xl: 76 };
12
+ var SIZE_PX = { xs: 24, sm: 30, md: 36, lg: 48, xl: 60 };
11
13
  var DEFAULT_LABELS = {
12
14
  none: "No people",
13
15
  summary: (total, names, hidden) => {
@@ -25,23 +27,39 @@ function AvatarGroup({
25
27
  avatars,
26
28
  children,
27
29
  max = 3,
28
- size = "md",
30
+ size = "sm",
31
+ shape,
29
32
  onPress,
30
33
  ring = true,
31
34
  motion = "reduced",
32
35
  label,
33
- labels: labelsProp
36
+ labels: labelsProp,
37
+ platform,
38
+ tone,
39
+ status
34
40
  }) {
35
41
  const labels = useLabels("avatarGroup", DEFAULT_LABELS, labelsProp);
36
42
  const { styles } = useStyles(sheet, { size });
37
43
  const theme = useLoamTheme("avatar-group");
44
+ const android = isAndroidIdiom(theme, platform);
38
45
  const dim = SIZE_PX[size];
39
46
  const overlap = Math.round(dim * 0.3);
40
- const ringWidth = theme.borderWidth.thick;
41
- const cells = avatars ? avatars.map((a) => ({ key: a.id, name: a.name, node: /* @__PURE__ */ jsx(Avatar, { name: a.name, src: a.src, size }) })) : React.Children.toArray(children).filter(React.isValidElement).map((child, i) => ({
47
+ const ringWidth = theme.borderWidth.heavy;
48
+ const cornerOf = (s) => s === "circle" ? theme.radius.full : s === "rounded" ? dim < theme.space[48] ? theme.radius.sm : theme.radius.md : Math.round(dim * 0.32);
49
+ const chipRadius = cornerOf(shape ?? "circle");
50
+ const skin = tone ? softToneSkin(theme, tone) : null;
51
+ const cells = avatars ? avatars.map((a) => ({
52
+ key: a.id,
53
+ name: a.name,
54
+ node: /* @__PURE__ */ jsx(Avatar, { name: a.name, src: a.src, size, shape, status: a.status ?? status })
55
+ })) : React.Children.toArray(children).filter(React.isValidElement).map((child, i) => ({
42
56
  key: child.key ?? i,
43
57
  name: child.props.name ?? "",
44
- node: React.cloneElement(child, { size })
58
+ node: React.cloneElement(child, {
59
+ size,
60
+ ...shape ? { shape } : null,
61
+ ...status && !child.props.status ? { status } : null
62
+ })
45
63
  }));
46
64
  const visible = cells.slice(0, Math.max(0, max));
47
65
  const hidden = cells.length - visible.length;
@@ -53,7 +71,11 @@ function AvatarGroup({
53
71
  const cellCount = visible.length + (hidden > 0 ? 1 : 0);
54
72
  const pressAnimated = Boolean(onPress) && motion !== "none" && !theme.reduceMotion;
55
73
  const scale = React.useRef(new Animated.Value(1)).current;
56
- const springTo = (to) => Animated.spring(scale, { ...springConfig(theme, "fs"), toValue: to, useNativeDriver: true }).start();
74
+ const springTo = (to) => Animated.spring(scale, {
75
+ ...springConfig(theme, "fs"),
76
+ toValue: to,
77
+ useNativeDriver: true
78
+ }).start();
57
79
  const staggerAnimated = motion === "full" && !theme.reduceMotion;
58
80
  const enter = React.useMemo(
59
81
  () => Array.from({ length: cellCount }, () => new Animated.Value(staggerAnimated ? 0 : 1)),
@@ -80,8 +102,8 @@ function AvatarGroup({
80
102
  const cellStyle = (index) => ({
81
103
  marginStart: index === 0 ? 0 : -overlap,
82
104
  ...ring ? {
83
- backgroundColor: theme.color.surface,
84
- borderRadius: theme.radius.full,
105
+ backgroundColor: skin ? skin.edge : theme.color.surface,
106
+ borderRadius: shape && shape !== "circle" ? chipRadius + ringWidth : theme.radius.full,
85
107
  padding: ringWidth
86
108
  } : null
87
109
  });
@@ -95,10 +117,30 @@ function AvatarGroup({
95
117
  };
96
118
  const content = /* @__PURE__ */ jsxs(Animated.View, { style: [styles.row, pressAnimated ? { transform: [{ scale }] } : null], children: [
97
119
  visible.map((c, i) => /* @__PURE__ */ jsx(Animated.View, { style: [cellStyle(i), enterStyle(i)], children: c.node }, c.key)),
98
- hidden > 0 ? /* @__PURE__ */ jsx(Animated.View, { style: [cellStyle(visible.length), enterStyle(visible.length)], children: /* @__PURE__ */ jsx(View, { style: styles.chip, children: /* @__PURE__ */ jsxs(Text, { style: styles.chipText, children: [
99
- "+",
100
- hidden
101
- ] }) }) }) : null
120
+ hidden > 0 ? /* @__PURE__ */ jsx(Animated.View, { style: [cellStyle(visible.length), enterStyle(visible.length)], children: /* @__PURE__ */ jsx(
121
+ View,
122
+ {
123
+ style: [
124
+ styles.chip,
125
+ shape ? { borderRadius: chipRadius } : null,
126
+ skin ? { backgroundColor: skin.fill } : null
127
+ ],
128
+ children: /* @__PURE__ */ jsxs(
129
+ Text,
130
+ {
131
+ style: [
132
+ styles.chipText,
133
+ skin ? { color: skin.ink } : null,
134
+ { fontWeight: android ? theme.fontWeight.medium : theme.fontWeight.semibold }
135
+ ],
136
+ children: [
137
+ "+",
138
+ hidden
139
+ ]
140
+ }
141
+ )
142
+ }
143
+ ) }) : null
102
144
  ] });
103
145
  if (onPress) {
104
146
  return /* @__PURE__ */ jsx(
@@ -109,46 +151,60 @@ function AvatarGroup({
109
151
  onPress,
110
152
  onPressIn: pressAnimated ? () => springTo(0.97) : void 0,
111
153
  onPressOut: pressAnimated ? () => springTo(1) : void 0,
112
- style: styles.pressable,
154
+ style: ({ pressed }) => [
155
+ styles.pressable,
156
+ pressed ? { backgroundColor: theme.state.pressed } : null
157
+ ],
113
158
  children: content
114
159
  }
115
160
  );
116
161
  }
117
- return /* @__PURE__ */ jsx(View, { accessible: true, accessibilityRole: NAMED_ROLE, accessibilityLabel: summary, style: styles.pressable, children: content });
162
+ return /* @__PURE__ */ jsx(
163
+ View,
164
+ {
165
+ accessible: true,
166
+ accessibilityRole: NAMED_ROLE,
167
+ accessibilityLabel: summary,
168
+ style: styles.pressable,
169
+ children: content
170
+ }
171
+ );
118
172
  }
119
173
  var sheet = createStyleSheet((theme) => ({
120
174
  // `alignSelf: 'flex-start'` so the stack hugs its avatars instead of stretching
121
175
  // across the parent and letting taps land on empty space.
122
- pressable: { alignSelf: "flex-start" },
176
+ pressable: { alignSelf: "flex-start", borderRadius: theme.radius.full },
123
177
  row: { flexDirection: "row", alignItems: "center" },
124
- // The `+N` chip: a same-sized circle in the neutral surface-2 fill.
178
+ // The `+N` chip: a same-sized circle on surface-3.
125
179
  chip: {
126
180
  alignItems: "center",
127
181
  justifyContent: "center",
128
182
  overflow: "hidden",
129
183
  borderRadius: theme.radius.full,
130
- backgroundColor: theme.color.surface2,
184
+ backgroundColor: theme.color.surface3,
131
185
  variants: {
132
186
  size: {
133
- xs: { width: theme.space[28], height: theme.space[28] },
134
- sm: { width: theme.space[36], height: theme.space[36] },
135
- md: { width: theme.space[48], height: theme.space[48] },
136
- lg: { width: theme.space[60], height: theme.space[60] },
137
- xl: { width: theme.space[76], height: theme.space[76] }
187
+ xs: { width: theme.space[24], height: theme.space[24] },
188
+ sm: { width: theme.space[30], height: theme.space[30] },
189
+ md: { width: theme.space[36], height: theme.space[36] },
190
+ lg: { width: theme.space[48], height: theme.space[48] },
191
+ xl: { width: theme.space[60], height: theme.space[60] }
138
192
  }
139
193
  }
140
194
  },
141
195
  chipText: {
142
196
  fontFamily: theme.font.sans,
143
- fontWeight: theme.fontWeight.bold,
144
- color: theme.color.text2,
197
+ // Label weight, 12, tabular, at every size (Final 06); the weight is set per OS.
198
+ fontSize: theme.fontSize[12],
199
+ fontVariant: ["tabular-nums"],
200
+ color: theme.color.text,
145
201
  variants: {
146
202
  size: {
147
- xs: { fontSize: theme.fontSize[9] },
148
- sm: { fontSize: theme.fontSize[12] },
149
- md: { fontSize: theme.fontSize[16] },
150
- lg: { fontSize: theme.fontSize[20] },
151
- xl: { fontSize: theme.fontSize[25] }
203
+ xs: { fontSize: theme.fontSize[10] },
204
+ sm: {},
205
+ md: {},
206
+ lg: {},
207
+ xl: {}
152
208
  }
153
209
  }
154
210
  }
@@ -1,3 +1,4 @@
1
+ import { softToneSkin } from './chunk-PJLTKDVY.js';
1
2
  import { useResolvedMotion } from './chunk-J64KGCGX.js';
2
3
  import * as React from 'react';
3
4
  import { Animated, Easing, Text } from 'react-native';
@@ -60,9 +61,13 @@ function StreamingText({
60
61
  children,
61
62
  streaming = false,
62
63
  motion = "full",
64
+ size = "md",
65
+ tone = "default",
66
+ variant = "plain",
63
67
  style
64
68
  }) {
65
69
  const { styles } = useStyles(sheet);
70
+ const theme = useLoamTheme("streaming-text");
66
71
  const resolved = useResolvedMotion(motion, "streaming-text");
67
72
  const animate = resolved === "full";
68
73
  const content = text ?? (typeof children === "string" ? children : void 0);
@@ -70,7 +75,17 @@ function StreamingText({
70
75
  React.useEffect(() => {
71
76
  if (content !== void 0) prevRef.current = content;
72
77
  });
73
- const rootStyle = [styles.root, style];
78
+ const softTone = tone === "default" || tone === "working" || tone === "neutral" ? "accent" : tone;
79
+ const skin = tone === "default" && variant === "plain" ? null : softToneSkin(theme, softTone);
80
+ const toneInk = tone === "working" ? theme.color.text : tone === "neutral" ? theme.color.text2 : skin?.ink;
81
+ const t = size === "sm" ? theme.type.footnote : size === "lg" ? theme.type.title3 : null;
82
+ const rootStyle = [
83
+ styles.root,
84
+ t && { fontSize: t.fontSize, lineHeight: t.lineHeight, letterSpacing: t.letterSpacing },
85
+ tone !== "default" && toneInk ? { color: toneInk } : null,
86
+ variant === "soft" && skin && { backgroundColor: skin.fill },
87
+ style
88
+ ];
74
89
  if (!animate || content === void 0) {
75
90
  return /* @__PURE__ */ jsx(Text, { style: rootStyle, "aria-busy": streaming || void 0, children: content ?? children });
76
91
  }