@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,14 +1,87 @@
1
- import { Thinking } from './chunk-W74TXYFB.js';
2
- import { Spinner } from './chunk-KQZ3GLHR.js';
1
+ import { IconTile } from './chunk-XBXUBBJZ.js';
2
+ import { Thinking } from './chunk-LUZFCCSD.js';
3
+ import { Button } from './chunk-5DTKORLI.js';
4
+ import { Spinner } from './chunk-G7H3NX3G.js';
5
+ import { stateLayout } from './chunk-TH4PW2WU.js';
3
6
  import { useLabels } from './chunk-APCWFOZW.js';
4
- import { Icon } from './chunk-UXGIW7OK.js';
7
+ import { Icon } from './chunk-PCEFCOLN.js';
5
8
  import { useResolvedMotion, springConfig } from './chunk-J64KGCGX.js';
6
9
  import * as React from 'react';
7
- import { StyleSheet, View, Text, Pressable, Animated } from 'react-native';
10
+ import { StyleSheet, View, Text, Pressable, Animated, AppState } from 'react-native';
8
11
  import { createStyleSheet, useStyles, useLoamTheme } from '@btndprojects/loam-theme-native';
9
12
  import { MOTION_MOVE } from '@btndprojects/loam-tokens';
10
13
  import { jsxs, jsx } from 'react/jsx-runtime';
11
14
 
15
+ function backoffDelay(n, base = 5e3, factor = 2, max = 6e4) {
16
+ return Math.min(max, base * factor ** n);
17
+ }
18
+ function useAutoRetry({
19
+ active,
20
+ onRetry,
21
+ baseDelay = 5e3,
22
+ maxDelay = 6e4,
23
+ factor = 2,
24
+ maxAttempts = Infinity,
25
+ retryOnForeground = true
26
+ }) {
27
+ const [attempt, setAttempt] = React.useState(0);
28
+ const [dueAt, setDueAt] = React.useState(null);
29
+ const [now, setNow] = React.useState(() => Date.now());
30
+ const [retrying, setRetrying] = React.useState(false);
31
+ const cb = React.useRef(onRetry);
32
+ cb.current = onRetry;
33
+ const run = React.useCallback(() => {
34
+ setDueAt(null);
35
+ setRetrying(true);
36
+ let result;
37
+ try {
38
+ result = cb.current();
39
+ } catch {
40
+ result = void 0;
41
+ }
42
+ const done = () => {
43
+ setRetrying(false);
44
+ setAttempt((a) => a + 1);
45
+ };
46
+ if (result && typeof result.then === "function") {
47
+ result.then(done, done);
48
+ } else {
49
+ done();
50
+ }
51
+ }, []);
52
+ React.useEffect(() => {
53
+ if (active) return;
54
+ setAttempt(0);
55
+ setDueAt(null);
56
+ setRetrying(false);
57
+ }, [active]);
58
+ React.useEffect(() => {
59
+ if (!active || retrying || attempt >= maxAttempts) return void 0;
60
+ const wait = backoffDelay(attempt, baseDelay, factor, maxDelay);
61
+ const due = Date.now() + wait;
62
+ setDueAt(due);
63
+ setNow(Date.now());
64
+ const fire = setTimeout(run, wait);
65
+ const tick = setInterval(() => setNow(Date.now()), 1e3);
66
+ return () => {
67
+ clearTimeout(fire);
68
+ clearInterval(tick);
69
+ };
70
+ }, [active, retrying, attempt, maxAttempts, baseDelay, factor, maxDelay, run]);
71
+ React.useEffect(() => {
72
+ if (!active || !retryOnForeground) return void 0;
73
+ const sub = AppState.addEventListener("change", (next) => {
74
+ if (next === "active") run();
75
+ });
76
+ return () => sub.remove();
77
+ }, [active, retryOnForeground, run]);
78
+ return {
79
+ secondsLeft: active && dueAt !== null ? Math.max(0, Math.ceil((dueAt - now) / 1e3)) : null,
80
+ attempt,
81
+ retrying,
82
+ retryNow: run
83
+ };
84
+ }
12
85
  var SYSTEM_STATE_META = {
13
86
  "404": { tone: "muted", icon: "search", code: "404" },
14
87
  "403": { tone: "warn", icon: "lock", code: "403" },
@@ -21,6 +94,12 @@ var DEFAULT_LABELS = {
21
94
  soon: "Soon",
22
95
  offline: "Offline"
23
96
  };
97
+ var TONE_TILE = {
98
+ muted: "neutral",
99
+ danger: "danger",
100
+ warn: "warn",
101
+ info: "info"
102
+ };
24
103
  function useTone(tone) {
25
104
  const theme = useLoamTheme("system-state");
26
105
  switch (tone) {
@@ -46,61 +125,73 @@ function SystemState({
46
125
  onSecondary,
47
126
  errorId,
48
127
  onCopyErrorId,
128
+ layout = "fullScreen",
129
+ platform,
130
+ tone: toneProp,
131
+ size,
132
+ iconShape,
49
133
  labels: labelsProp
50
134
  }) {
51
135
  const labels = useLabels("systemState", DEFAULT_LABELS, labelsProp);
52
136
  const meta = SYSTEM_STATE_META[variant];
53
137
  const variantCode = variant === "maintenance" ? labels.soon : variant === "offline" ? labels.offline : meta.code;
54
- const { styles } = useStyles(sheet, { tone: meta.tone });
138
+ const { styles } = useStyles(sheet);
55
139
  const theme = useLoamTheme("system-state");
56
- const tone = useTone(meta.tone);
140
+ const resolvedTone = toneProp ?? meta.tone;
141
+ const tone = useTone(resolvedTone);
142
+ const geo = stateLayout(theme, layout, platform);
143
+ const full = layout === "fullScreen";
144
+ const chipHit = Math.max(0, Math.round((theme.tapMin - theme.ctl.sm) / 2));
57
145
  if (process.env.NODE_ENV !== "production" && !primaryLabel && !secondaryLabel) {
58
146
  console.warn(
59
147
  `[loam] <SystemState variant="${variant}"> has no action. Every system state must offer a route back to a working screen.`
60
148
  );
61
149
  }
62
- return /* @__PURE__ */ jsxs(View, { style: styles.base, accessibilityRole: "alert", children: [
63
- /* @__PURE__ */ jsxs(View, { style: styles.body, children: [
64
- /* @__PURE__ */ jsx(View, { style: styles.tile, children: /* @__PURE__ */ jsx(Icon, { name: icon ?? meta.icon, size: theme.icon.xl, color: tone }) }),
65
- /* @__PURE__ */ jsx(Text, { style: [styles.code, { color: tone }], children: code ?? variantCode }),
66
- /* @__PURE__ */ jsx(Text, { style: styles.title, children: title }),
67
- description ? /* @__PURE__ */ jsx(Text, { style: styles.description, children: description }) : null,
68
- errorId ? /* @__PURE__ */ jsxs(
69
- Pressable,
150
+ return /* @__PURE__ */ jsxs(View, { style: full ? styles.base : styles.inline, accessibilityRole: "alert", children: [
151
+ /* @__PURE__ */ jsxs(View, { style: full ? styles.body : styles.inlineBody, children: [
152
+ /* @__PURE__ */ jsx(
153
+ IconTile,
70
154
  {
71
- accessibilityRole: "button",
72
- accessibilityLabel: labels.copyErrorId(errorId),
73
- onPress: onCopyErrorId ? () => onCopyErrorId(errorId) : void 0,
74
- style: ({ pressed }) => [styles.errorChip, pressed && styles.pressed],
75
- children: [
76
- /* @__PURE__ */ jsx(Icon, { name: "copy", size: theme.icon.xs, color: theme.color.text2 }),
77
- /* @__PURE__ */ jsx(Text, { style: styles.errorId, children: errorId })
78
- ]
155
+ icon: icon ?? meta.icon,
156
+ tone: TONE_TILE[resolvedTone],
157
+ size: size ?? geo.tile,
158
+ shape: iconShape
79
159
  }
160
+ ),
161
+ /* @__PURE__ */ jsx(Text, { style: [styles.code, { color: tone }], children: code ?? variantCode }),
162
+ /* @__PURE__ */ jsx(Text, { style: [styles.title, geo.title], children: title }),
163
+ description ? /* @__PURE__ */ jsx(Text, { style: styles.description, children: description }) : null,
164
+ errorId ? (
165
+ // Final 03: the error code is an sm-tier chip — 30 high, r 8, px 10, mono.
166
+ /* @__PURE__ */ jsxs(
167
+ Pressable,
168
+ {
169
+ accessibilityRole: "button",
170
+ accessibilityLabel: labels.copyErrorId(errorId),
171
+ onPress: onCopyErrorId ? () => onCopyErrorId(errorId) : void 0,
172
+ hitSlop: chipHit,
173
+ style: ({ pressed }) => [styles.errorChip, pressed && styles.pressed],
174
+ children: [
175
+ /* @__PURE__ */ jsx(Icon, { name: "copy", size: theme.icon.xs, color: theme.color.text2 }),
176
+ /* @__PURE__ */ jsx(Text, { style: styles.errorId, children: errorId })
177
+ ]
178
+ }
179
+ )
80
180
  ) : null
81
181
  ] }),
82
- /* @__PURE__ */ jsxs(View, { style: styles.actions, children: [
83
- primaryLabel ? /* @__PURE__ */ jsx(
84
- Pressable,
85
- {
86
- accessibilityRole: "button",
87
- accessibilityLabel: primaryLabel,
88
- onPress: onPrimary,
89
- style: ({ pressed }) => [styles.primary, pressed && styles.pressed],
90
- children: /* @__PURE__ */ jsx(Text, { style: styles.primaryLabel, children: primaryLabel })
91
- }
92
- ) : null,
182
+ primaryLabel || secondaryLabel ? /* @__PURE__ */ jsxs(View, { style: full ? styles.actions : styles.inlineActions, children: [
183
+ primaryLabel ? /* @__PURE__ */ jsx(Button, { size: geo.button, onPress: onPrimary, accessibilityLabel: primaryLabel, children: primaryLabel }) : null,
93
184
  secondaryLabel ? /* @__PURE__ */ jsx(
94
- Pressable,
185
+ Button,
95
186
  {
96
- accessibilityRole: "button",
97
- accessibilityLabel: secondaryLabel,
187
+ variant: "ghost",
188
+ size: geo.button,
98
189
  onPress: onSecondary,
99
- style: ({ pressed }) => [styles.secondary, pressed && styles.pressed],
100
- children: /* @__PURE__ */ jsx(Text, { style: styles.secondaryLabel, children: secondaryLabel })
190
+ accessibilityLabel: secondaryLabel,
191
+ children: secondaryLabel
101
192
  }
102
193
  ) : null
103
- ] })
194
+ ] }) : null
104
195
  ] });
105
196
  }
106
197
  var sheet = createStyleSheet((theme) => ({
@@ -117,42 +208,32 @@ var sheet = createStyleSheet((theme) => ({
117
208
  justifyContent: "center",
118
209
  gap: theme.space.s3
119
210
  },
120
- // The tone tile: a soft tint plus an `edge` outline. At normal contrast the
121
- // edge is transparent; under high contrast the tint collapses to the surface
122
- // and the outline is what carries the meaning.
123
- tile: {
124
- width: theme.space.s8 + theme.space.s3,
125
- height: theme.space.s8 + theme.space.s3,
126
- borderRadius: theme.radius.full,
211
+ // Inline: the empty-state rhythm — gap 12, padding 40 / 32, min-h 240.
212
+ inline: {
127
213
  alignItems: "center",
128
214
  justifyContent: "center",
129
- borderWidth: theme.borderWidth.base,
130
- variants: {
131
- tone: {
132
- muted: { backgroundColor: theme.color.surface2, borderColor: theme.edge.neutral },
133
- danger: { backgroundColor: theme.color.dangerSoft, borderColor: theme.edge.danger },
134
- warn: { backgroundColor: theme.color.warnSoft, borderColor: theme.edge.warn },
135
- info: { backgroundColor: theme.color.infoSoft, borderColor: theme.edge.info }
136
- }
137
- }
215
+ gap: theme.space.s3,
216
+ minHeight: theme.space[120] * 2,
217
+ paddingVertical: theme.space[40],
218
+ paddingHorizontal: theme.space[32]
219
+ },
220
+ inlineBody: { alignItems: "center", gap: theme.space.s3 },
221
+ inlineActions: {
222
+ flexDirection: "row",
223
+ flexWrap: "wrap",
224
+ justifyContent: "center",
225
+ gap: theme.space.s2,
226
+ marginTop: theme.space.s2
138
227
  },
139
228
  code: {
140
- fontFamily: theme.font.mono,
141
- fontSize: theme.type.caption2.fontSize,
142
- lineHeight: theme.type.caption2.lineHeight,
229
+ ...theme.type.overline,
230
+ fontFamily: theme.font.mono
143
231
  // `tracking` steps are `em` multiples, so they have to be multiplied by the
144
232
  // size — the previous literal was the same value written out by hand.
145
- letterSpacing: theme.type.caption2.fontSize * theme.tracking.caps,
146
- textTransform: "uppercase"
147
233
  },
148
- // `type.title2`, not a hand-written 24/1.15: 24 is not a step on either ramp
149
- // and the ratio was a raw multiplier rather than a `lineHeight` token.
234
+ // Size, line height and weight come from `stateLayout` (the OS ramp, R14).
150
235
  title: {
151
- fontFamily: theme.font.display,
152
- fontWeight: theme.font.displayWeight,
153
- fontSize: theme.type.title2.fontSize,
154
- lineHeight: theme.type.title2.lineHeight,
155
- letterSpacing: theme.type.title2.letterSpacing,
236
+ fontFamily: theme.font.sans,
156
237
  color: theme.color.text,
157
238
  textAlign: "center"
158
239
  },
@@ -167,9 +248,9 @@ var sheet = createStyleSheet((theme) => ({
167
248
  flexDirection: "row",
168
249
  alignItems: "center",
169
250
  gap: theme.space.s2,
170
- minHeight: theme.tapMin,
171
- paddingHorizontal: theme.space.s3,
172
- borderRadius: theme.radius.md,
251
+ height: theme.ctl.sm,
252
+ paddingHorizontal: theme.space[10],
253
+ borderRadius: theme.radius.sm,
173
254
  borderWidth: theme.borderWidth.base,
174
255
  borderColor: theme.color.border,
175
256
  backgroundColor: theme.color.surface2
@@ -180,38 +261,7 @@ var sheet = createStyleSheet((theme) => ({
180
261
  lineHeight: theme.type.footnote.lineHeight,
181
262
  color: theme.color.text2
182
263
  },
183
- actions: { gap: theme.space.s3 },
184
- primary: {
185
- minHeight: theme.tapMin,
186
- alignItems: "center",
187
- justifyContent: "center",
188
- borderRadius: theme.radius.md,
189
- backgroundColor: theme.color.accent,
190
- paddingHorizontal: theme.space.s4
191
- },
192
- primaryLabel: {
193
- fontFamily: theme.font.sans,
194
- fontWeight: theme.fontWeight.bold,
195
- fontSize: theme.type.subheadline.fontSize,
196
- lineHeight: theme.type.subheadline.lineHeight,
197
- color: theme.color.accentInk
198
- },
199
- secondary: {
200
- minHeight: theme.tapMin,
201
- alignItems: "center",
202
- justifyContent: "center",
203
- borderRadius: theme.radius.md,
204
- borderWidth: theme.borderWidth.strong,
205
- borderColor: theme.color.borderStrong,
206
- paddingHorizontal: theme.space.s4
207
- },
208
- secondaryLabel: {
209
- fontFamily: theme.font.sans,
210
- fontWeight: theme.fontWeight.semibold,
211
- fontSize: theme.type.subheadline.fontSize,
212
- lineHeight: theme.type.subheadline.lineHeight,
213
- color: theme.color.text
214
- },
264
+ actions: { gap: theme.space.s2 },
215
265
  pressed: { opacity: theme.state.pressedOpacity }
216
266
  }));
217
267
  function useLoadingFloor(active, floor) {
@@ -260,6 +310,8 @@ var AREA_DEFAULT_LABELS = {
260
310
  late: "Still working\u2026",
261
311
  errorTitle: "Couldn\u2019t load this",
262
312
  retry: "Try again",
313
+ retryNow: "Retry now",
314
+ retryingIn: (seconds) => `Retrying in ${seconds}s`,
263
315
  refresh: "Refresh",
264
316
  refreshing: (refresh) => `${refresh}\u2026`,
265
317
  empty: "Nothing here yet."
@@ -267,7 +319,7 @@ var AREA_DEFAULT_LABELS = {
267
319
  function AreaState({
268
320
  state = "idle",
269
321
  children,
270
- minHeight = 160,
322
+ minHeight: minHeightProp,
271
323
  loadingContent,
272
324
  loadingLabel: loadingLabelProp,
273
325
  lateLabel: lateLabelProp,
@@ -279,12 +331,18 @@ function AreaState({
279
331
  errorDescription,
280
332
  retryLabel: retryLabelProp,
281
333
  onRetry,
334
+ autoRetry = false,
282
335
  staleLabel,
283
336
  refreshLabel: refreshLabelProp,
284
337
  onRefresh,
285
338
  refreshing = false,
286
339
  idle,
287
340
  motion = "full",
341
+ tone: toneProp,
342
+ icon: iconProp,
343
+ size,
344
+ variant = "plain",
345
+ label,
288
346
  labels: labelsProp
289
347
  }) {
290
348
  const theme = useLoamTheme("system-state");
@@ -295,6 +353,13 @@ function AreaState({
295
353
  const retryLabel = retryLabelProp ?? labels.retry;
296
354
  const refreshLabel = refreshLabelProp ?? labels.refresh;
297
355
  const { styles } = useStyles(areaSheet);
356
+ const minHeight = minHeightProp ?? (size === "sm" ? theme.space[120] : size === "lg" ? theme.space[120] * 2 : 160);
357
+ const customTile = toneProp !== void 0 || iconProp !== void 0 || size !== void 0;
358
+ const retry = useAutoRetry({
359
+ active: autoRetry && state === "error" && Boolean(onRetry),
360
+ onRetry: onRetry ?? (() => {
361
+ })
362
+ });
298
363
  const floor = loadingFloor ?? theme.timing.loadingFloor;
299
364
  const lateMs = lateAfter ?? theme.timing.lateAfter;
300
365
  const isLoading = state === "loading";
@@ -337,22 +402,30 @@ function AreaState({
337
402
  ) : null
338
403
  ] });
339
404
  const errorView = error ?? /* @__PURE__ */ jsxs(View, { accessibilityRole: "alert", style: styles.center, children: [
340
- /* @__PURE__ */ jsx(View, { style: styles.errorTile, children: /* @__PURE__ */ jsx(Icon, { name: "alert-triangle", size: theme.icon.lg, color: theme.color.dangerOnSoft }) }),
405
+ customTile ? /* @__PURE__ */ jsx(
406
+ IconTile,
407
+ {
408
+ icon: iconProp ?? "alert-triangle",
409
+ tone: TONE_TILE[toneProp ?? "danger"],
410
+ size: size === "sm" ? "md" : size === "lg" ? "xl" : "lg"
411
+ }
412
+ ) : /* @__PURE__ */ jsx(View, { style: styles.errorTile, children: /* @__PURE__ */ jsx(Icon, { name: "alert-triangle", size: theme.icon.lg, color: theme.color.dangerOnSoft }) }),
341
413
  /* @__PURE__ */ jsx(Text, { style: styles.errorTitle, children: errorTitle }),
342
414
  errorDescription ? /* @__PURE__ */ jsx(Text, { style: styles.errorBody, children: errorDescription }) : null,
343
415
  onRetry ? /* @__PURE__ */ jsxs(
344
416
  Pressable,
345
417
  {
346
418
  accessibilityRole: "button",
347
- accessibilityLabel: retryLabel,
348
- onPress: onRetry,
419
+ accessibilityLabel: autoRetry ? labels.retryNow : retryLabel,
420
+ onPress: autoRetry ? retry.retryNow : () => void onRetry(),
349
421
  style: ({ pressed }) => [styles.retry, pressed && styles.pressed],
350
422
  children: [
351
423
  /* @__PURE__ */ jsx(Icon, { name: "refresh", size: theme.icon.sm, color: theme.color.accentInk }),
352
- /* @__PURE__ */ jsx(Text, { style: styles.retryLabel, children: retryLabel })
424
+ /* @__PURE__ */ jsx(Text, { style: styles.retryLabel, children: autoRetry ? labels.retryNow : retryLabel })
353
425
  ]
354
426
  }
355
- ) : null
427
+ ) : null,
428
+ autoRetry && onRetry && retry.secondsLeft !== null ? /* @__PURE__ */ jsx(Text, { style: [styles.errorBody, styles.retryCountdown], children: labels.retryingIn(retry.secondsLeft) }) : null
356
429
  ] });
357
430
  let body;
358
431
  if (showLoading) {
@@ -412,7 +485,13 @@ function AreaState({
412
485
  return /* @__PURE__ */ jsx(
413
486
  View,
414
487
  {
415
- style: [styles.base, { minHeight }],
488
+ style: [
489
+ styles.base,
490
+ variant === "outline" && styles.outline,
491
+ variant === "filled" && styles.filled,
492
+ { minHeight }
493
+ ],
494
+ accessibilityLabel: label,
416
495
  accessibilityLiveRegion: "polite",
417
496
  "aria-busy": busy,
418
497
  accessibilityState: { busy },
@@ -427,6 +506,8 @@ var areaSheet = createStyleSheet((theme) => ({
427
506
  backgroundColor: theme.color.surface,
428
507
  borderRadius: theme.radius.lg
429
508
  },
509
+ outline: { borderWidth: theme.borderWidth.base, borderColor: theme.color.border },
510
+ filled: { backgroundColor: theme.color.surface2 },
430
511
  fill: { flex: 1 },
431
512
  center: {
432
513
  flex: 1,
@@ -488,6 +569,7 @@ var areaSheet = createStyleSheet((theme) => ({
488
569
  borderRadius: theme.radius.md,
489
570
  backgroundColor: theme.color.accent
490
571
  },
572
+ retryCountdown: { fontVariant: ["tabular-nums"], color: theme.color.text3 },
491
573
  retryLabel: {
492
574
  fontFamily: theme.font.sans,
493
575
  fontWeight: theme.fontWeight.bold,