@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
@@ -0,0 +1,21 @@
1
+ import { Icon } from './chunk-PCEFCOLN.js';
2
+ import 'react';
3
+ import { View, Text } from 'react-native';
4
+ import { createStyleSheet, useLoamTheme, useStyles } from '@btndprojects/loam-theme-native';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+
7
+ function FieldMessage({ children, invalid = false, testID }) {
8
+ const theme = useLoamTheme("field-message");
9
+ const { styles } = useStyles(sheet);
10
+ return /* @__PURE__ */ jsxs(View, { style: styles.row, testID, children: [
11
+ invalid ? /* @__PURE__ */ jsx(Icon, { name: "alert-circle", size: theme.icon.sm, color: theme.color.dangerOnSoft }) : null,
12
+ /* @__PURE__ */ jsx(Text, { style: invalid ? styles.error : styles.hint, children })
13
+ ] });
14
+ }
15
+ var sheet = createStyleSheet((theme) => ({
16
+ row: { flexDirection: "row", alignItems: "flex-start", gap: theme.space.s1 },
17
+ hint: { fontFamily: theme.font.sans, fontSize: theme.fontSize[12], color: theme.color.text3 },
18
+ error: { fontFamily: theme.font.sans, fontSize: theme.fontSize[12], color: theme.color.dangerOnSoft }
19
+ }));
20
+
21
+ export { FieldMessage };
@@ -1,11 +1,14 @@
1
- import { ListRow } from './chunk-C4GTDLRC.js';
2
- import { EmptyState } from './chunk-KFJGFLMW.js';
3
- import { Badge } from './chunk-TN2ZNJUI.js';
4
- import { Avatar } from './chunk-V2OEB75Z.js';
1
+ import { ListRow } from './chunk-JA6TK7H2.js';
2
+ import { EmptyState } from './chunk-QJMMM4RC.js';
3
+ import { Avatar } from './chunk-JWCVBFDU.js';
4
+ import { resolveTextRole } from './chunk-L4D5LHCH.js';
5
+ import { Badge } from './chunk-LGNTP5XA.js';
6
+ import { softToneSkin } from './chunk-PJLTKDVY.js';
7
+ import { isAndroidIdiom } from './chunk-TH4PW2WU.js';
5
8
  import { useLabels, useLoamLocale } from './chunk-APCWFOZW.js';
6
- import { Icon } from './chunk-UXGIW7OK.js';
9
+ import { Icon } from './chunk-PCEFCOLN.js';
7
10
  import * as React from 'react';
8
- import { Animated, Easing, View, Text, AccessibilityInfo, ScrollView, Pressable } from 'react-native';
11
+ import { Animated, Easing, View, Text, Pressable, AccessibilityInfo, ScrollView } from 'react-native';
9
12
  import { useLoamTheme, useStyles, createStyleSheet } from '@btndprojects/loam-theme-native';
10
13
  import { jsx, jsxs } from 'react/jsx-runtime';
11
14
 
@@ -78,7 +81,14 @@ var NotificationRow = React.memo(function NotificationRow2({
78
81
  archiveLabel,
79
82
  unreadLabel,
80
83
  readLabel,
81
- onActivate
84
+ onActivate,
85
+ android,
86
+ size,
87
+ density,
88
+ tone,
89
+ icon,
90
+ action,
91
+ disabled
82
92
  }) {
83
93
  const theme = useLoamTheme("notification-center");
84
94
  const { styles } = useStyles(sheet);
@@ -114,46 +124,106 @@ var NotificationRow = React.memo(function NotificationRow2({
114
124
  }).start();
115
125
  }, []);
116
126
  const translateY = enter.interpolate({ inputRange: [0, 1], outputRange: [8, 0] });
117
- const leading = item.avatar ? /* @__PURE__ */ jsx(Avatar, { src: item.avatar.src, name: item.avatar.name, size: "sm" }) : /* @__PURE__ */ jsx(View, { style: styles.iconTile, children: /* @__PURE__ */ jsx(Icon, { name: item.icon ?? "bell", size: theme.icon.sm, color: theme.color.text2 }) });
127
+ const skin = tone ? softToneSkin(theme, tone) : null;
128
+ const tile = size === "sm" ? theme.space[32] : size === "lg" ? theme.space[44] : theme.space[36];
129
+ const leading = item.avatar ? /* @__PURE__ */ jsx(Avatar, { src: item.avatar.src, name: item.avatar.name, size }) : /* @__PURE__ */ jsx(
130
+ View,
131
+ {
132
+ style: [
133
+ styles.iconTile,
134
+ { width: tile, height: tile },
135
+ skin ? { backgroundColor: skin.fill } : null
136
+ ],
137
+ children: /* @__PURE__ */ jsx(
138
+ Icon,
139
+ {
140
+ name: item.icon ?? icon,
141
+ size: theme.icon.sm,
142
+ color: skin ? skin.ink : theme.color.text2
143
+ }
144
+ )
145
+ }
146
+ );
118
147
  const trailing = /* @__PURE__ */ jsxs(View, { style: styles.trailing, children: [
119
- /* @__PURE__ */ jsx(Text, { style: styles.time, children: item.time }),
120
148
  /* @__PURE__ */ jsx(
121
- Animated.View,
149
+ Text,
122
150
  {
123
- importantForAccessibility: "no-hide-descendants",
124
- style: [styles.dot, { opacity: unreadOpacity, pointerEvents: "none" }]
151
+ style: [
152
+ styles.time,
153
+ resolveTextRole(theme, android ? "bodySmall" : "footnote", android),
154
+ { fontWeight: theme.fontWeight.regular }
155
+ ],
156
+ children: item.time
125
157
  }
126
- )
158
+ ),
159
+ action ? /* @__PURE__ */ jsx(
160
+ Pressable,
161
+ {
162
+ accessibilityRole: "button",
163
+ accessibilityLabel: action.label,
164
+ disabled,
165
+ onPress: () => action.onPress(item),
166
+ hitSlop: theme.space[8],
167
+ children: /* @__PURE__ */ jsx(
168
+ Text,
169
+ {
170
+ style: [
171
+ resolveTextRole(theme, android ? "labelMedium" : "footnote", android),
172
+ { color: disabled ? theme.color.text3 : theme.color.accentStrong }
173
+ ],
174
+ children: action.label
175
+ }
176
+ )
177
+ }
178
+ ) : null
127
179
  ] });
128
180
  const label = notificationAccessibilityLabel(item, read, unreadLabel, readLabel);
129
181
  return /* @__PURE__ */ jsxs(Animated.View, { style: [styles.rowWrap, { opacity: enter, transform: [{ translateY }] }], children: [
130
- /* @__PURE__ */ jsx(
182
+ /* @__PURE__ */ jsx(View, { style: styles.gutter, pointerEvents: "none", children: /* @__PURE__ */ jsx(
131
183
  Animated.View,
132
184
  {
133
185
  importantForAccessibility: "no-hide-descendants",
134
- style: [styles.accentBar, { opacity: unreadOpacity, pointerEvents: "none" }]
186
+ style: [
187
+ android ? styles.dot : styles.leadDot,
188
+ skin ? { backgroundColor: skin.edge, borderColor: skin.edge } : null,
189
+ { opacity: unreadOpacity }
190
+ ]
135
191
  }
136
- ),
192
+ ) }),
137
193
  /* @__PURE__ */ jsx(
138
194
  ListRow,
139
195
  {
196
+ platform: android ? "android" : "ios",
197
+ density,
198
+ disabled,
140
199
  leading,
141
200
  title: /* @__PURE__ */ jsx(
142
201
  Text,
143
202
  {
144
203
  style: [
145
204
  styles.title,
146
- // An unread title is one ramp step heavier than a read one, not
147
- // two hand-typed CSS weights.
148
- { fontWeight: unread ? theme.fontWeight.bold : theme.fontWeight.semibold }
205
+ // Unread steps to 600 (iOS 17) or 500 (Android 16); read is 400.
206
+ resolveTextRole(theme, android ? "bodyLarge" : "headline", android),
207
+ {
208
+ fontWeight: unread ? android ? theme.fontWeight.medium : theme.fontWeight.semibold : theme.fontWeight.regular
209
+ }
149
210
  ],
150
211
  numberOfLines: 2,
151
212
  children: item.title
152
213
  }
153
214
  ),
154
- subtitle: item.body ? /* @__PURE__ */ jsx(Text, { style: styles.body, numberOfLines: 2, children: item.body }) : void 0,
215
+ subtitle: item.body ? /* @__PURE__ */ jsx(
216
+ Text,
217
+ {
218
+ style: [
219
+ styles.body,
220
+ resolveTextRole(theme, android ? "bodyMedium" : "subheadline", android)
221
+ ],
222
+ numberOfLines: 2,
223
+ children: item.body
224
+ }
225
+ ) : void 0,
155
226
  trailing,
156
- divider,
157
227
  onPress: () => onActivate(item),
158
228
  accessibilityLabel: label,
159
229
  swipeActions: onArchive ? {
@@ -168,7 +238,8 @@ var NotificationRow = React.memo(function NotificationRow2({
168
238
  ]
169
239
  } : void 0
170
240
  }
171
- )
241
+ ),
242
+ divider && !android ? /* @__PURE__ */ jsx(View, { style: styles.separator, pointerEvents: "none" }) : null
172
243
  ] });
173
244
  });
174
245
  function NotificationCenter({
@@ -180,12 +251,21 @@ function NotificationCenter({
180
251
  archiveLabel: archiveLabelProp,
181
252
  emptyLabel: emptyLabelProp,
182
253
  title: titleProp,
254
+ titleFace = "system",
183
255
  markAllReadLabel: markAllReadLabelProp,
184
256
  unreadLabel: unreadLabelProp,
185
257
  readLabel: readLabelProp,
186
258
  motion = "reduced",
187
259
  now,
188
- labels: labelsProp
260
+ platform,
261
+ labels: labelsProp,
262
+ size = "md",
263
+ variant = "plain",
264
+ density,
265
+ tone,
266
+ icon = "bell",
267
+ action,
268
+ disabled = false
189
269
  }) {
190
270
  const labels = useLabels("notificationCenter", DEFAULT_LABELS, labelsProp);
191
271
  const locale = useLoamLocale();
@@ -197,6 +277,7 @@ function NotificationCenter({
197
277
  const readLabel = readLabelProp ?? labels.read;
198
278
  const { styles } = useStyles(sheet);
199
279
  const theme = useLoamTheme("notification-center");
280
+ const android = isAndroidIdiom(theme, platform);
200
281
  const [locallyRead, setLocallyRead] = React.useState({});
201
282
  const isRead = React.useCallback(
202
283
  (item) => item.read === true || locallyRead[item.id] === true,
@@ -254,7 +335,13 @@ function NotificationCenter({
254
335
  if (groupByDay && section.title) {
255
336
  stickyIndices.push(children.length);
256
337
  children.push(
257
- /* @__PURE__ */ jsx(View, { style: styles.sectionHeader, accessibilityRole: "header", children: /* @__PURE__ */ jsx(Text, { style: styles.sectionHeaderText, children: section.title }) }, `h-${section.key}`)
338
+ /* @__PURE__ */ jsx(View, { style: styles.sectionHeader, accessibilityRole: "header", children: /* @__PURE__ */ jsx(
339
+ Text,
340
+ {
341
+ style: android ? [resolveTextRole(theme, "titleSmall", true), styles.sectionHeaderAndroid] : styles.sectionHeaderText,
342
+ children: section.title
343
+ }
344
+ ) }, `h-${section.key}`)
258
345
  );
259
346
  }
260
347
  section.data.forEach((item, i) => {
@@ -273,7 +360,14 @@ function NotificationCenter({
273
360
  archiveLabel,
274
361
  unreadLabel,
275
362
  readLabel,
276
- onActivate: activate
363
+ onActivate: activate,
364
+ android,
365
+ size,
366
+ density,
367
+ tone,
368
+ icon,
369
+ action,
370
+ disabled
277
371
  },
278
372
  item.id
279
373
  )
@@ -281,62 +375,89 @@ function NotificationCenter({
281
375
  });
282
376
  }
283
377
  const empty = notifications.length === 0;
284
- return /* @__PURE__ */ jsxs(View, { style: styles.root, children: [
285
- /* @__PURE__ */ jsxs(View, { style: styles.header, children: [
286
- /* @__PURE__ */ jsxs(View, { style: styles.headerTitleWrap, children: [
287
- /* @__PURE__ */ jsx(Text, { accessibilityRole: "header", style: styles.headerTitle, children: title }),
288
- unreadCount > 0 ? /* @__PURE__ */ jsx(
289
- Badge,
378
+ return /* @__PURE__ */ jsxs(
379
+ View,
380
+ {
381
+ style: [
382
+ styles.root,
383
+ variant === "tonal" ? { backgroundColor: theme.color.surface } : null,
384
+ variant === "bordered" ? styles.rootBordered : null
385
+ ],
386
+ children: [
387
+ /* @__PURE__ */ jsxs(View, { style: styles.header, children: [
388
+ /* @__PURE__ */ jsxs(View, { style: styles.headerTitleWrap, children: [
389
+ /* @__PURE__ */ jsx(
390
+ Text,
391
+ {
392
+ accessibilityRole: "header",
393
+ style: [
394
+ styles.headerTitle,
395
+ android ? resolveTextRole(theme, "headlineSmall", true) : resolveTextRole(theme, "largeTitle", false),
396
+ // Android: the OS headline-small 24 / 400 in the system face, not the display face.
397
+ android ? { fontFamily: theme.font.sans, fontWeight: theme.fontWeight.regular } : {
398
+ fontWeight: theme.fontWeight.bold,
399
+ ...titleFace === "system" ? { fontFamily: theme.font.sans } : null
400
+ }
401
+ ],
402
+ children: title
403
+ }
404
+ ),
405
+ unreadCount > 0 ? /* @__PURE__ */ jsx(
406
+ Badge,
407
+ {
408
+ style: styles.rowBadge,
409
+ variant: "accent",
410
+ size: "sm",
411
+ accessibilityLabel: labels.unreadCount(unreadCount),
412
+ children: String(unreadCount)
413
+ }
414
+ ) : null
415
+ ] }),
416
+ onMarkAllRead ? /* @__PURE__ */ jsx(
417
+ MarkAllReadButton,
418
+ {
419
+ label: markAllReadLabel,
420
+ disabled: disabled || unreadCount === 0,
421
+ onPress: markAll,
422
+ android
423
+ }
424
+ ) : null
425
+ ] }),
426
+ empty ? /* @__PURE__ */ jsx(View, { style: styles.emptyWrap, children: /* @__PURE__ */ jsx(
427
+ EmptyState,
290
428
  {
291
- style: styles.rowBadge,
292
- variant: "accent",
293
- size: "sm",
294
- accessibilityLabel: labels.unreadCount(unreadCount),
295
- children: String(unreadCount)
429
+ variant: "empty",
430
+ icon: "bell",
431
+ title: emptyLabel,
432
+ description: labels.emptyDescription
296
433
  }
297
- ) : null
298
- ] }),
299
- onMarkAllRead ? /* @__PURE__ */ jsx(
300
- MarkAllReadButton,
301
- {
302
- label: markAllReadLabel,
303
- disabled: unreadCount === 0,
304
- onPress: markAll
305
- }
306
- ) : null
307
- ] }),
308
- empty ? /* @__PURE__ */ jsx(View, { style: styles.emptyWrap, children: /* @__PURE__ */ jsx(
309
- EmptyState,
310
- {
311
- variant: "empty",
312
- icon: "bell",
313
- title: emptyLabel,
314
- description: labels.emptyDescription
315
- }
316
- ) }) : (
317
- // No `role="list"`: sticky day headers are flattened in as direct children
318
- // for `stickyHeaderIndices`, and a `list` may contain only `listitem`s
319
- // (axe aria-required-children). A labelled scroll region of heading-
320
- // separated button rows is the accessible shape here.
321
- /* @__PURE__ */ jsx(
322
- ScrollView,
323
- {
324
- role: "region",
325
- accessibilityLabel: title,
326
- style: styles.scroll,
327
- contentContainerStyle: styles.scrollContent,
328
- stickyHeaderIndices: stickyIndices,
329
- indicatorStyle: theme.dark ? "white" : "black",
330
- children
331
- }
332
- )
333
- )
334
- ] });
434
+ ) }) : (
435
+ // No `role="list"`: sticky day headers are flattened in as direct children
436
+ // for `stickyHeaderIndices`, and a `list` may contain only `listitem`s
437
+ // (axe aria-required-children). A labelled scroll region of heading-
438
+ // separated button rows is the accessible shape here.
439
+ /* @__PURE__ */ jsx(
440
+ ScrollView,
441
+ {
442
+ role: "region",
443
+ accessibilityLabel: title,
444
+ style: styles.scroll,
445
+ contentContainerStyle: styles.scrollContent,
446
+ stickyHeaderIndices: stickyIndices,
447
+ indicatorStyle: theme.dark ? "white" : "black",
448
+ children
449
+ }
450
+ )
451
+ )
452
+ ]
453
+ }
454
+ );
335
455
  }
336
456
  function MarkAllReadButton({
337
457
  label,
338
458
  disabled,
339
- onPress
459
+ onPress,
460
+ android
340
461
  }) {
341
462
  const { styles } = useStyles(sheet);
342
463
  const theme = useLoamTheme("notification-center");
@@ -349,14 +470,16 @@ function MarkAllReadButton({
349
470
  accessibilityState: { disabled },
350
471
  disabled,
351
472
  onPress: disabled ? void 0 : onPress,
473
+ hitSlop: android ? void 0 : (theme.tapMin - theme.ctl.sm) / 2,
352
474
  style: ({ pressed }) => [
353
475
  styles.markAll,
476
+ android ? null : styles.markAllLink,
354
477
  disabled ? styles.markAllDisabled : null,
355
- pressed && !disabled ? styles.markAllPressed : null
478
+ pressed && !disabled ? android ? styles.markAllPressed : { opacity: theme.opacity[38] } : null
356
479
  ],
357
480
  children: [
358
- /* @__PURE__ */ jsx(Icon, { name: "check", size: theme.icon.sm, color: ink }),
359
- /* @__PURE__ */ jsx(Text, { style: [styles.markAllLabel, { color: ink }], children: label })
481
+ android ? /* @__PURE__ */ jsx(Icon, { name: "check", size: theme.icon.sm, color: ink }) : null,
482
+ /* @__PURE__ */ jsx(Text, { style: [styles.markAllLabel, android ? null : styles.markAllLinkLabel, { color: ink }], children: label })
360
483
  ]
361
484
  }
362
485
  );
@@ -367,6 +490,12 @@ var sheet = createStyleSheet((theme) => ({
367
490
  alignSelf: "stretch",
368
491
  backgroundColor: theme.color.bg
369
492
  },
493
+ rootBordered: {
494
+ borderWidth: theme.borderWidth.base,
495
+ borderColor: theme.color.border,
496
+ borderRadius: theme.radius.md,
497
+ overflow: "hidden"
498
+ },
370
499
  header: {
371
500
  flexDirection: "row",
372
501
  alignItems: "center",
@@ -397,6 +526,11 @@ var sheet = createStyleSheet((theme) => ({
397
526
  paddingHorizontal: theme.space.s3,
398
527
  borderRadius: theme.radius.full
399
528
  },
529
+ markAllLink: { minHeight: theme.ctl.sm, paddingHorizontal: 0 },
530
+ markAllLinkLabel: {
531
+ fontWeight: theme.fontWeight.regular,
532
+ fontSize: theme.type.callout.fontSize
533
+ },
400
534
  markAllDisabled: { opacity: theme.state.disabledOpacity },
401
535
  markAllPressed: { backgroundColor: theme.state.pressed },
402
536
  markAllLabel: {
@@ -421,21 +555,36 @@ var sheet = createStyleSheet((theme) => ({
421
555
  textTransform: "uppercase",
422
556
  letterSpacing: 1
423
557
  },
558
+ sectionHeaderAndroid: { fontFamily: theme.font.sans, color: theme.color.accentStrong },
424
559
  rowWrap: { position: "relative" },
425
- // The start-edge accent bar — the non-colour-independent half of the unread
426
- // signal, sitting in the row's start gutter. `edge.accent` gives it a visible
427
- // border under `prefers-contrast: more`, where the accent fill flattens.
428
- accentBar: {
560
+ // The iOS unread dot: 10, centred in the 16 leading gutter, with
561
+ // `edge.accent` so it keeps an edge under increased contrast.
562
+ gutter: {
429
563
  position: "absolute",
430
- top: theme.space.s3,
431
- bottom: theme.space.s3,
564
+ top: 0,
565
+ bottom: 0,
432
566
  start: 0,
433
- width: theme.space[3],
567
+ width: theme.space[16],
568
+ alignItems: "center",
569
+ justifyContent: "center",
570
+ zIndex: 1
571
+ },
572
+ leadDot: {
573
+ width: theme.space[10],
574
+ height: theme.space[10],
434
575
  borderRadius: theme.radius.full,
435
576
  backgroundColor: theme.color.accent,
436
577
  borderWidth: theme.borderWidth.hair,
437
- borderColor: theme.edge.accent,
438
- zIndex: 1
578
+ borderColor: theme.edge.accent
579
+ },
580
+ // iOS separators inset to 72, past the leading visual.
581
+ separator: {
582
+ position: "absolute",
583
+ bottom: 0,
584
+ start: theme.space[72],
585
+ end: 0,
586
+ height: theme.borderWidth.hair,
587
+ backgroundColor: theme.color.border
439
588
  },
440
589
  iconTile: {
441
590
  width: theme.space[36],
@@ -461,15 +610,17 @@ var sheet = createStyleSheet((theme) => ({
461
610
  },
462
611
  trailing: {
463
612
  alignItems: "flex-end",
464
- justifyContent: "center",
613
+ alignSelf: "flex-start",
614
+ justifyContent: "flex-start",
465
615
  gap: theme.space.s2,
466
616
  minWidth: theme.space[44]
467
617
  },
468
618
  time: {
469
- fontFamily: theme.font.mono,
470
- fontSize: theme.type.caption1.fontSize,
471
- lineHeight: theme.type.caption1.lineHeight,
472
- color: theme.color.text3
619
+ fontFamily: theme.font.sans,
620
+ fontSize: theme.type.footnote.fontSize,
621
+ lineHeight: theme.type.footnote.lineHeight,
622
+ fontVariant: ["tabular-nums"],
623
+ color: theme.color.text2
473
624
  },
474
625
  dot: {
475
626
  width: theme.space[8],
@@ -0,0 +1,10 @@
1
+ // src/lib/format-time.ts
2
+ function formatTime(seconds) {
3
+ const s = Number.isFinite(seconds) && seconds > 0 ? Math.floor(seconds) : 0;
4
+ const h = Math.floor(s / 3600);
5
+ const m = Math.floor(s % 3600 / 60);
6
+ const sec = String(s % 60).padStart(2, "0");
7
+ return h > 0 ? `${h}:${String(m).padStart(2, "0")}:${sec}` : `${m}:${sec}`;
8
+ }
9
+
10
+ export { formatTime };