@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,12 @@
1
- import { StreamFade } from './chunk-ENP3BMZU.js';
2
- import { CodeBlock } from './chunk-RXSCIO6W.js';
1
+ import { StreamFade } from './chunk-UF6EJXPQ.js';
2
+ import { CodeBlock } from './chunk-O76QXRBV.js';
3
+ import { resolveTextRole } from './chunk-L4D5LHCH.js';
4
+ import { isAndroidIdiom } from './chunk-TH4PW2WU.js';
5
+ import { useLabels } from './chunk-APCWFOZW.js';
6
+ import { Icon } from './chunk-PCEFCOLN.js';
3
7
  import * as React from 'react';
4
- import { View, Text, Linking } from 'react-native';
5
- import { createStyleSheet, useStyles } from '@btndprojects/loam-theme-native';
8
+ import { View, Text, Linking, Pressable } from 'react-native';
9
+ import { createStyleSheet, useStyles, useLoamTheme } from '@btndprojects/loam-theme-native';
6
10
  import { jsx, jsxs } from 'react/jsx-runtime';
7
11
 
8
12
  // src/markdown/parse.ts
@@ -55,6 +59,15 @@ function parseInline(src) {
55
59
  }
56
60
  if (c === "[") {
57
61
  const close = src.indexOf("]", i + 1);
62
+ if (close > i + 2 && src[i + 1] === "^" && src[close + 1] !== "(") {
63
+ const ref = src.slice(i + 2, close);
64
+ if (/^[\w-]+$/.test(ref)) {
65
+ flush();
66
+ nodes.push({ type: "cite", ref });
67
+ i = close + 1;
68
+ continue;
69
+ }
70
+ }
58
71
  if (close !== -1 && src[close + 1] === "(") {
59
72
  const paren = src.indexOf(")", close + 2);
60
73
  if (paren !== -1) {
@@ -164,15 +177,40 @@ function parseMarkdown(content) {
164
177
  }
165
178
  return blocks;
166
179
  }
180
+ function inlineText(nodes) {
181
+ return nodes.map(
182
+ (n) => n.type === "text" || n.type === "code" ? n.value : n.type === "br" ? " " : "children" in n ? inlineText(n.children) : ""
183
+ ).join("");
184
+ }
185
+ function slugify(text, seen) {
186
+ const base = text.toLowerCase().normalize("NFKD").replace(/\p{M}/gu, "").replace(/[^\p{L}\p{N}\s-]/gu, "").trim().replace(/\s+/g, "-") || "section";
187
+ const count = seen.get(base) ?? 0;
188
+ seen.set(base, count + 1);
189
+ return count === 0 ? base : `${base}-${count}`;
190
+ }
191
+ var DEFAULT_LABELS = {
192
+ copyLink: (heading) => `Copy link to ${heading}`,
193
+ linkCopied: (heading) => `Link to ${heading} copied`
194
+ };
167
195
  var HEADING_ROLE = {
168
- 1: "largeTitle",
169
- 2: "title1",
170
- 3: "title2",
171
- 4: "title3",
172
- 5: "headline",
173
- 6: "subheadline"
196
+ ios: {
197
+ 1: ["title1", "700"],
198
+ 2: ["title2", "700"],
199
+ 3: ["title3", "600"],
200
+ 4: ["headline", "600"],
201
+ 5: ["subheadline", "600"],
202
+ 6: ["footnote", "600"]
203
+ },
204
+ android: {
205
+ 1: ["headlineSmall", "400"],
206
+ 2: ["titleLarge", "400"],
207
+ 3: ["titleMedium", "500"],
208
+ 4: ["titleSmall", "500"],
209
+ 5: ["labelLarge", "500"],
210
+ 6: ["labelMedium", "500"]
211
+ }
174
212
  };
175
- function useInlineRenderer(onLinkPress) {
213
+ function useInlineRenderer(onLinkPress, renderCitation, linkColor) {
176
214
  const { styles } = useStyles(sheet);
177
215
  const render = React.useCallback(
178
216
  (nodes, keyPrefix) => nodes.map((node, i) => {
@@ -182,6 +220,8 @@ function useInlineRenderer(onLinkPress) {
182
220
  return /* @__PURE__ */ jsx(Text, { children: node.value }, key);
183
221
  case "br":
184
222
  return /* @__PURE__ */ jsx(Text, { children: "\n" }, key);
223
+ case "cite":
224
+ return renderCitation ? /* @__PURE__ */ jsx(React.Fragment, { children: renderCitation(node.ref) }, key) : /* @__PURE__ */ jsx(Text, { style: styles.cite, children: node.ref }, key);
185
225
  case "strong":
186
226
  return /* @__PURE__ */ jsx(Text, { style: styles.strong, children: render(node.children, key) }, key);
187
227
  case "em":
@@ -196,7 +236,7 @@ function useInlineRenderer(onLinkPress) {
196
236
  return /* @__PURE__ */ jsx(
197
237
  Text,
198
238
  {
199
- style: styles.link,
239
+ style: [styles.link, linkColor ? { color: linkColor } : null],
200
240
  accessibilityRole: "link",
201
241
  onPress: () => {
202
242
  if (onLinkPress) onLinkPress(href);
@@ -209,7 +249,7 @@ function useInlineRenderer(onLinkPress) {
209
249
  }
210
250
  }
211
251
  }),
212
- [styles, onLinkPress]
252
+ [styles, onLinkPress, renderCitation, linkColor]
213
253
  );
214
254
  return render;
215
255
  }
@@ -217,11 +257,61 @@ function Markdown({
217
257
  content,
218
258
  streaming = false,
219
259
  motion = "none",
220
- onLinkPress
260
+ onLinkPress,
261
+ renderCitation,
262
+ platform,
263
+ size = "md",
264
+ variant = "default",
265
+ ink = "default",
266
+ headingAnchors = false,
267
+ onCopyHeadingLink,
268
+ labels: labelsProp,
269
+ tone = "accent"
221
270
  }) {
222
271
  const { styles } = useStyles(sheet);
223
- const renderInline = useInlineRenderer(onLinkPress);
272
+ const theme = useLoamTheme("markdown");
273
+ const android = isAndroidIdiom(theme, platform);
274
+ const toneColor = {
275
+ accent: void 0,
276
+ neutral: theme.color.text,
277
+ good: theme.color.goodOnSoft,
278
+ warn: theme.color.warnOnSoft,
279
+ danger: theme.color.dangerOnSoft,
280
+ info: theme.color.infoOnSoft
281
+ }[tone];
282
+ const barColor = {
283
+ accent: void 0,
284
+ neutral: theme.color.borderStrong,
285
+ good: theme.color.good,
286
+ warn: theme.color.warn,
287
+ danger: theme.color.danger,
288
+ info: theme.color.info
289
+ }[tone];
290
+ const renderInline = useInlineRenderer(onLinkPress, renderCitation, toneColor);
291
+ const bodyText = [
292
+ size === "sm" ? {
293
+ fontSize: theme.type.subheadline.fontSize,
294
+ lineHeight: theme.type.subheadline.lineHeight,
295
+ letterSpacing: theme.type.subheadline.letterSpacing
296
+ } : null,
297
+ ink === "strong" ? { color: theme.color.text } : null
298
+ ];
299
+ const labels = useLabels("markdown", DEFAULT_LABELS, labelsProp);
224
300
  const blocks = React.useMemo(() => parseMarkdown(content), [content]);
301
+ const anchorIds = React.useMemo(() => {
302
+ if (!headingAnchors) return null;
303
+ const seen = /* @__PURE__ */ new Map();
304
+ return blocks.map((b) => b.type === "heading" ? slugify(inlineText(b.children), seen) : "");
305
+ }, [blocks, headingAnchors]);
306
+ const [copiedId, setCopiedId] = React.useState(null);
307
+ const copyTimer = React.useRef();
308
+ React.useEffect(() => () => clearTimeout(copyTimer.current), []);
309
+ const copyHeading = (id) => {
310
+ onCopyHeadingLink?.(`#${id}`);
311
+ setCopiedId(id);
312
+ clearTimeout(copyTimer.current);
313
+ copyTimer.current = setTimeout(() => setCopiedId(null), 1500);
314
+ };
225
315
  const animate = streaming && motion === "full";
226
316
  const prevCount = React.useRef(0);
227
317
  const firstRender = React.useRef(true);
@@ -233,17 +323,36 @@ function Markdown({
233
323
  const renderBlock = (block, index) => {
234
324
  switch (block.type) {
235
325
  case "heading":
236
- return /* @__PURE__ */ jsx(
326
+ return /* @__PURE__ */ jsxs(
237
327
  Text,
238
328
  {
239
329
  accessibilityRole: "header",
240
330
  "aria-level": block.level,
241
- style: [styles.heading, styles[`h${block.level}`]],
242
- children: renderInline(block.children, `h${index}`)
331
+ style: [
332
+ styles.heading,
333
+ resolveTextRole(
334
+ theme,
335
+ HEADING_ROLE[android ? "android" : "ios"][block.level][0],
336
+ android
337
+ ),
338
+ { fontWeight: HEADING_ROLE[android ? "android" : "ios"][block.level][1] }
339
+ ],
340
+ children: [
341
+ renderInline(block.children, `h${index}`),
342
+ anchorIds?.[index] ? /* @__PURE__ */ jsx(
343
+ HeadingAnchor,
344
+ {
345
+ copied: copiedId === anchorIds[index],
346
+ label: inlineText(block.children),
347
+ labels,
348
+ onPress: () => copyHeading(anchorIds[index])
349
+ }
350
+ ) : null
351
+ ]
243
352
  }
244
353
  );
245
354
  case "paragraph":
246
- return /* @__PURE__ */ jsx(Text, { style: styles.paragraph, children: renderInline(block.children, `p${index}`) });
355
+ return /* @__PURE__ */ jsx(Text, { style: [styles.paragraph, bodyText], children: renderInline(block.children, `p${index}`) });
247
356
  case "hr":
248
357
  return /* @__PURE__ */ jsx(View, { style: styles.hr, accessibilityRole: "none" });
249
358
  case "code":
@@ -264,7 +373,7 @@ function Markdown({
264
373
  accessibilityElementsHidden: true,
265
374
  importantForAccessibility: "no-hide-descendants",
266
375
  "aria-hidden": true,
267
- style: styles.blockquoteBar
376
+ style: [styles.blockquoteBar, barColor ? { backgroundColor: barColor } : null]
268
377
  }
269
378
  ),
270
379
  /* @__PURE__ */ jsx(Text, { style: styles.blockquoteText, children: renderInline(block.children, `q${index}`) })
@@ -281,55 +390,68 @@ function Markdown({
281
390
  children: block.ordered ? `${block.start + j}.` : "\u2022"
282
391
  }
283
392
  ),
284
- /* @__PURE__ */ jsx(Text, { style: styles.listItemText, children: renderInline(item, `l${index}-${j}`) })
393
+ /* @__PURE__ */ jsx(Text, { style: [styles.listItemText, bodyText], children: renderInline(item, `l${index}-${j}`) })
285
394
  ] }, j)) });
286
395
  }
287
396
  };
288
- return /* @__PURE__ */ jsx(View, { style: styles.root, "aria-busy": streaming || void 0, children: blocks.map((block, i) => {
289
- const el = renderBlock(block, i);
290
- if (animate && i >= baseline) {
291
- return /* @__PURE__ */ jsx(StreamFade, { children: el }, i);
397
+ return /* @__PURE__ */ jsx(
398
+ View,
399
+ {
400
+ style: [styles.root, variant === "card" ? styles.card : null, variant === "soft" ? styles.soft : null],
401
+ "aria-busy": streaming || void 0,
402
+ children: blocks.map((block, i) => {
403
+ const el = renderBlock(block, i);
404
+ if (animate && i >= baseline) {
405
+ return /* @__PURE__ */ jsx(StreamFade, { children: el }, i);
406
+ }
407
+ return /* @__PURE__ */ jsx(React.Fragment, { children: el }, i);
408
+ })
409
+ }
410
+ );
411
+ }
412
+ function HeadingAnchor({
413
+ copied,
414
+ label,
415
+ labels,
416
+ onPress
417
+ }) {
418
+ const theme = useLoamTheme("markdown");
419
+ return /* @__PURE__ */ jsx(
420
+ Pressable,
421
+ {
422
+ accessibilityRole: "button",
423
+ accessibilityLabel: copied ? labels.linkCopied(label) : labels.copyLink(label),
424
+ hitSlop: theme.space.s2,
425
+ onPress,
426
+ children: /* @__PURE__ */ jsx(
427
+ Icon,
428
+ {
429
+ name: copied ? "check" : "link",
430
+ size: theme.icon.sm,
431
+ color: copied ? theme.color.accentStrong : theme.color.text3
432
+ }
433
+ )
292
434
  }
293
- return /* @__PURE__ */ jsx(React.Fragment, { children: el }, i);
294
- }) });
435
+ );
295
436
  }
296
437
  var sheet = createStyleSheet((theme) => ({
297
438
  root: { gap: theme.space.s3 },
298
- // Headings: the mobile type ramp carries the level; ink stays full.
299
- heading: {
300
- fontFamily: theme.font.display,
301
- fontWeight: theme.font.displayWeight,
302
- color: theme.color.text
303
- },
304
- h1: {
305
- fontSize: theme.type[HEADING_ROLE[1]].fontSize,
306
- lineHeight: theme.type[HEADING_ROLE[1]].lineHeight,
307
- letterSpacing: theme.type[HEADING_ROLE[1]].letterSpacing
308
- },
309
- h2: {
310
- fontSize: theme.type[HEADING_ROLE[2]].fontSize,
311
- lineHeight: theme.type[HEADING_ROLE[2]].lineHeight,
312
- letterSpacing: theme.type[HEADING_ROLE[2]].letterSpacing
313
- },
314
- h3: {
315
- fontSize: theme.type[HEADING_ROLE[3]].fontSize,
316
- lineHeight: theme.type[HEADING_ROLE[3]].lineHeight,
317
- letterSpacing: theme.type[HEADING_ROLE[3]].letterSpacing
439
+ card: {
440
+ padding: theme.space.s4,
441
+ borderRadius: theme.radius.lg,
442
+ borderWidth: theme.borderWidth.thin,
443
+ borderColor: theme.color.border,
444
+ backgroundColor: theme.color.surface
318
445
  },
319
- h4: {
320
- fontSize: theme.type[HEADING_ROLE[4]].fontSize,
321
- lineHeight: theme.type[HEADING_ROLE[4]].lineHeight,
322
- letterSpacing: theme.type[HEADING_ROLE[4]].letterSpacing
323
- },
324
- h5: {
325
- fontSize: theme.type[HEADING_ROLE[5]].fontSize,
326
- lineHeight: theme.type[HEADING_ROLE[5]].lineHeight,
327
- letterSpacing: theme.type[HEADING_ROLE[5]].letterSpacing
446
+ soft: {
447
+ padding: theme.space.s3,
448
+ borderRadius: theme.radius.lg,
449
+ backgroundColor: theme.color.surface2
328
450
  },
329
- h6: {
330
- fontSize: theme.type[HEADING_ROLE[6]].fontSize,
331
- lineHeight: theme.type[HEADING_ROLE[6]].lineHeight,
332
- letterSpacing: theme.type[HEADING_ROLE[6]].letterSpacing
451
+ // Headings: the OS title roles in the system face carry the level.
452
+ heading: {
453
+ fontFamily: theme.font.sans,
454
+ color: theme.color.text
333
455
  },
334
456
  // Body copy — secondary ink, the AA-safe muted foreground on a surface.
335
457
  paragraph: {
@@ -352,6 +474,11 @@ var sheet = createStyleSheet((theme) => ({
352
474
  // Links use accent-strong (AA against the surface) plus an underline, so the
353
475
  // affordance survives greyscale — colour alone is not enough.
354
476
  link: { color: theme.color.accentStrong, textDecorationLine: "underline" },
477
+ cite: {
478
+ fontFamily: theme.font.mono,
479
+ fontSize: theme.type.caption2.fontSize,
480
+ color: theme.color.text2
481
+ },
355
482
  list: { gap: theme.space.s2 },
356
483
  listItem: { flexDirection: "row", alignItems: "flex-start", gap: theme.space.s2 },
357
484
  marker: {