@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,443 +0,0 @@
1
- import { useLabels } from './chunk-APCWFOZW.js';
2
- import { Icon } from './chunk-UXGIW7OK.js';
3
- import { useResolvedMotion } from './chunk-J64KGCGX.js';
4
- import * as React from 'react';
5
- import { Animated, PanResponder, Pressable, View, Text, Easing } from 'react-native';
6
- import { createStyleSheet, useStyles, useLoamTheme } from '@btndprojects/loam-theme-native';
7
- import { jsx, jsxs } from 'react/jsx-runtime';
8
-
9
- var SPEC = {
10
- /** Attribution inset from the trailing edge. */
11
- attributionEnd: 8,
12
- /**
13
- * Attribution inset from the bottom. v2 lifted this from 4px to clear the
14
- * bottom place card, which the old value sat underneath.
15
- */
16
- attributionBottom: 88,
17
- /** Attribution size. */
18
- attributionSize: 8.5,
19
- /** Gap between the card's thumbnail, copy and action. */
20
- cardGap: 9,
21
- /** Thumbnail edge. */
22
- thumb: 36,
23
- /** Place-name size. */
24
- nameSize: 14,
25
- /** Place-meta size. */
26
- metaSize: 11.5,
27
- /** Base-layer grid pitch — vertical then horizontal, from `buildMapScreen`. */
28
- gridX: 48,
29
- gridY: 64,
30
- /** Grid-line thickness. */
31
- gridW: 4
32
- };
33
- var ZOOM = {
34
- min: 1,
35
- max: 3,
36
- /** Multiplier per press of the zoom-in / zoom-out control. */
37
- step: 1.5,
38
- /**
39
- * Wheel delta that doubles (or halves) the zoom, via `exp(-delta / decay)`.
40
- * A trackpad pinch reaches the browser as a wheel event too.
41
- */
42
- decay: 320
43
- };
44
- function clamp(value, min, max) {
45
- return Math.min(max, Math.max(min, value));
46
- }
47
- function touchDistance(e) {
48
- const touches = e.nativeEvent.touches;
49
- const a = touches[0];
50
- const b = touches[1];
51
- if (!a || !b) return 0;
52
- return Math.hypot(a.pageX - b.pageX, a.pageY - b.pageY);
53
- }
54
- var DEFAULT_LABELS = {
55
- zoomIn: "Zoom in",
56
- zoomOut: "Zoom out",
57
- recenter: "Recenter",
58
- attribution: "\xA9 map data",
59
- placeAction: (action, name) => `${action}, ${name}`
60
- };
61
- function BaseLayer({ width, height }) {
62
- const { styles } = useStyles(sheet);
63
- const columns = width > 0 ? Math.floor((width - SPEC.gridW) / SPEC.gridX) : 6;
64
- const rows = height > 0 ? Math.floor((height - SPEC.gridW) / SPEC.gridY) : 6;
65
- return /* @__PURE__ */ jsxs(View, { style: styles.base, children: [
66
- Array.from({ length: columns }, (_, i) => /* @__PURE__ */ jsx(View, { style: [styles.gridV, { left: (i + 1) * SPEC.gridX }] }, `v${i}`)),
67
- Array.from({ length: rows }, (_, i) => /* @__PURE__ */ jsx(View, { style: [styles.gridH, { top: (i + 1) * SPEC.gridY }] }, `h${i}`)),
68
- /* @__PURE__ */ jsx(View, { style: styles.river }),
69
- /* @__PURE__ */ jsx(View, { style: styles.park })
70
- ] });
71
- }
72
- function MapView({
73
- pins = [],
74
- activePinId,
75
- onSelectPin,
76
- place,
77
- attribution: attributionProp,
78
- labels: labelsProp,
79
- onZoomIn,
80
- onZoomOut,
81
- onRecenter,
82
- pannable = true,
83
- zoomable = true,
84
- minZoom = ZOOM.min,
85
- maxZoom = ZOOM.max,
86
- motion = "full",
87
- children
88
- }) {
89
- const labels = useLabels("mapView", DEFAULT_LABELS, labelsProp);
90
- const attribution = attributionProp ?? labels.attribution;
91
- const { styles } = useStyles(sheet);
92
- const theme = useLoamTheme("map-view");
93
- const animateZoom = useResolvedMotion(motion, "map-view") === "full";
94
- const animateZoomRef = React.useRef(animateZoom);
95
- animateZoomRef.current = animateZoom;
96
- const [viewport, setViewport] = React.useState({ width: 0, height: 0 });
97
- const viewportRef = React.useRef(viewport);
98
- const onRootLayout = (e) => {
99
- const { width, height } = e.nativeEvent.layout;
100
- viewportRef.current = { width, height };
101
- setViewport(
102
- (prev) => prev.width === width && prev.height === height ? prev : { width, height }
103
- );
104
- };
105
- const pan = React.useRef(new Animated.ValueXY({ x: 0, y: 0 })).current;
106
- const scale = React.useRef(new Animated.Value(1)).current;
107
- const offset = React.useRef({ x: 0, y: 0 });
108
- const gestureStart = React.useRef({ x: 0, y: 0 });
109
- const zoom = React.useRef(1);
110
- const pinch = React.useRef(null);
111
- const bounds = () => {
112
- const { width, height } = viewportRef.current;
113
- return {
114
- x: Math.max(0, (width * zoom.current - width) / 2),
115
- y: Math.max(0, (height * zoom.current - height) / 2)
116
- };
117
- };
118
- const panTo = (x, y) => {
119
- const max = bounds();
120
- const next = { x: clamp(x, -max.x, max.x), y: clamp(y, -max.y, max.y) };
121
- offset.current = next;
122
- pan.setValue(next);
123
- };
124
- const zoomTo = (next, animate) => {
125
- zoom.current = clamp(next, minZoom, maxZoom);
126
- if (animate && animateZoomRef.current) {
127
- Animated.timing(scale, {
128
- toValue: zoom.current,
129
- duration: theme.motion.expand.duration,
130
- easing: Easing.bezier(...theme.motion.expand.easing),
131
- // The pan on the same layer is gesture-driven, so this transform stays
132
- // on the JS driver too — the two cannot mix drivers on one node.
133
- useNativeDriver: false
134
- }).start();
135
- } else {
136
- scale.setValue(zoom.current);
137
- }
138
- panTo(offset.current.x, offset.current.y);
139
- };
140
- const responder = React.useMemo(
141
- () => PanResponder.create({
142
- // Never claim the touch on start: a tap belongs to the pin (or the card)
143
- // underneath. Only a real drag takes over.
144
- onStartShouldSetPanResponder: () => false,
145
- onMoveShouldSetPanResponder: (e, g) => pannable && (Math.abs(g.dx) > 2 || Math.abs(g.dy) > 2) || zoomable && e.nativeEvent.touches.length > 1,
146
- onPanResponderGrant: () => {
147
- gestureStart.current = { ...offset.current };
148
- pinch.current = null;
149
- },
150
- onPanResponderMove: (e, g) => {
151
- const distance = zoomable ? touchDistance(e) : 0;
152
- if (distance > 0) {
153
- pinch.current ??= { distance, zoom: zoom.current };
154
- zoomTo(pinch.current.zoom * distance / pinch.current.distance, false);
155
- return;
156
- }
157
- if (!pannable) return;
158
- panTo(gestureStart.current.x + g.dx, gestureStart.current.y + g.dy);
159
- },
160
- onPanResponderRelease: () => {
161
- pinch.current = null;
162
- },
163
- onPanResponderTerminate: () => {
164
- pinch.current = null;
165
- }
166
- }),
167
- // `panTo`/`zoomTo` read refs, so the responder never needs rebuilding for them.
168
- // eslint-disable-next-line react-hooks/exhaustive-deps
169
- [pannable, zoomable, minZoom, maxZoom]
170
- );
171
- const rootRef = React.useRef(null);
172
- React.useEffect(() => {
173
- if (!zoomable) return;
174
- const node = rootRef.current;
175
- if (!node?.addEventListener || !node.removeEventListener) return;
176
- const onWheel = (e) => {
177
- const wheel = e;
178
- wheel.preventDefault?.();
179
- zoomTo(zoom.current * Math.exp(-wheel.deltaY / ZOOM.decay), false);
180
- };
181
- node.addEventListener("wheel", onWheel, { passive: false });
182
- return () => node.removeEventListener?.("wheel", onWheel);
183
- }, [zoomable, minZoom, maxZoom]);
184
- const recenter = () => {
185
- zoomTo(minZoom, true);
186
- panTo(0, 0);
187
- onRecenter?.();
188
- };
189
- const controls = [
190
- {
191
- icon: "plus",
192
- label: labels.zoomIn,
193
- handler: onZoomIn,
194
- onPress: () => {
195
- zoomTo(zoom.current * ZOOM.step, true);
196
- onZoomIn?.();
197
- }
198
- },
199
- {
200
- icon: "minus",
201
- label: labels.zoomOut,
202
- handler: onZoomOut,
203
- onPress: () => {
204
- zoomTo(zoom.current / ZOOM.step, true);
205
- onZoomOut?.();
206
- }
207
- },
208
- {
209
- icon: "navigation",
210
- label: labels.recenter,
211
- handler: onRecenter,
212
- onPress: recenter
213
- }
214
- ].filter((c) => c.handler);
215
- const pinNodes = pins.map((pin) => {
216
- const active = pin.id === activePinId;
217
- return /* @__PURE__ */ jsx(
218
- Pressable,
219
- {
220
- accessibilityRole: "button",
221
- accessibilityLabel: pin.label,
222
- "aria-pressed": active,
223
- onPress: onSelectPin ? () => onSelectPin(pin.id) : void 0,
224
- style: [
225
- styles.pin,
226
- active ? styles.pinActive : styles.pinIdle,
227
- { left: `${pin.x}%`, top: `${pin.y}%` }
228
- ],
229
- children: /* @__PURE__ */ jsx(
230
- Icon,
231
- {
232
- name: pin.icon ?? "map-pin",
233
- size: active ? 17 : 13,
234
- color: active ? theme.color.accentInk : theme.color.text
235
- }
236
- )
237
- },
238
- pin.id
239
- );
240
- });
241
- return /* @__PURE__ */ jsxs(View, { ref: rootRef, style: styles.root, onLayout: onRootLayout, children: [
242
- /* @__PURE__ */ jsxs(
243
- Animated.View,
244
- {
245
- testID: "map-pan-layer",
246
- style: [
247
- styles.world,
248
- { transform: [{ translateX: pan.x }, { translateY: pan.y }, { scale }] }
249
- ],
250
- ...responder.panHandlers,
251
- children: [
252
- children ?? /* @__PURE__ */ jsx(BaseLayer, { width: viewport.width, height: viewport.height }),
253
- pinNodes
254
- ]
255
- }
256
- ),
257
- controls.length > 0 ? /* @__PURE__ */ jsx(View, { style: styles.controls, children: controls.map((c) => /* @__PURE__ */ jsx(
258
- Pressable,
259
- {
260
- accessibilityRole: "button",
261
- accessibilityLabel: c.label,
262
- onPress: c.onPress,
263
- style: styles.control,
264
- children: /* @__PURE__ */ jsx(Icon, { name: c.icon, size: 17, color: theme.color.text })
265
- },
266
- c.label
267
- )) }) : null,
268
- /* @__PURE__ */ jsx(Text, { style: styles.attribution, children: attribution }),
269
- place ? /* @__PURE__ */ jsxs(View, { style: styles.card, children: [
270
- /* @__PURE__ */ jsx(View, { style: styles.cardThumb }),
271
- /* @__PURE__ */ jsxs(View, { style: styles.cardText, children: [
272
- /* @__PURE__ */ jsx(Text, { style: styles.cardName, numberOfLines: 1, ellipsizeMode: "tail", children: place.name }),
273
- place.meta ? /* @__PURE__ */ jsx(Text, { style: styles.cardMeta, numberOfLines: 1, ellipsizeMode: "tail", children: place.meta }) : null
274
- ] }),
275
- place.actionLabel ? /* @__PURE__ */ jsx(
276
- Pressable,
277
- {
278
- accessibilityRole: "button",
279
- accessibilityLabel: labels.placeAction(place.actionLabel, place.name),
280
- onPress: place.onAction,
281
- hitSlop: Math.max(0, (theme.hit.md - theme.ctl.md) / 2),
282
- style: styles.cardAction,
283
- children: /* @__PURE__ */ jsx(Text, { style: styles.cardActionLabel, children: place.actionLabel })
284
- }
285
- ) : null
286
- ] }) : null
287
- ] });
288
- }
289
- var sheet = createStyleSheet((theme) => ({
290
- root: { flex: 1, backgroundColor: theme.color.surface2, overflow: "hidden" },
291
- // The panning layer is the viewport. Travel comes from the zoom scaling it up,
292
- // so nothing is laid out beyond the map's own edges at rest.
293
- world: { position: "absolute", left: 0, right: 0, top: 0, bottom: 0 },
294
- base: { position: "absolute", left: 0, right: 0, top: 0, bottom: 0 },
295
- gridV: {
296
- position: "absolute",
297
- top: 0,
298
- bottom: 0,
299
- width: SPEC.gridW,
300
- backgroundColor: theme.color.surface3
301
- },
302
- gridH: {
303
- position: "absolute",
304
- left: 0,
305
- right: 0,
306
- height: SPEC.gridW,
307
- backgroundColor: theme.color.surface3
308
- },
309
- // Edge to edge: the -12° rotation pulls the ends ~1dp inside the map, which is
310
- // cheaper than the 30% of extra width it would take to bleed past them.
311
- //
312
- // loam-contrast-ignore — the river and the park are base-layer texture, not
313
- // information: they exist so the muted palette reads as a map. Every pin,
314
- // route and label that *does* mean something is drawn over them with its own
315
- // edge, and outlining a decorative river under high contrast would read as a
316
- // defect rather than as help.
317
- river: {
318
- position: "absolute",
319
- left: 0,
320
- right: 0,
321
- top: "30%",
322
- height: theme.space[26],
323
- backgroundColor: theme.color.infoSoft,
324
- transform: [{ rotate: "-12deg" }]
325
- },
326
- // loam-contrast-ignore — decorative, as the river above.
327
- park: {
328
- position: "absolute",
329
- left: "8%",
330
- top: "8%",
331
- width: "44%",
332
- height: "22%",
333
- borderRadius: theme.radius.md,
334
- backgroundColor: theme.color.goodSoft
335
- },
336
- pin: {
337
- position: "absolute",
338
- alignItems: "center",
339
- justifyContent: "center",
340
- borderRadius: theme.radius.full,
341
- borderWidth: theme.borderWidth.heavy,
342
- ...theme.shadow.md
343
- },
344
- // The raw accent stays here, unlike the accent *edges* elsewhere in the kit
345
- // (see `focusRingColor()`): border and fill are the same colour, so this pin
346
- // has no independent edge to measure — the boundary that matters is the filled
347
- // disc against the map, and the glyph inside it rides `accentInk`. Lifting the
348
- // border would either do nothing visible or split it from its own fill.
349
- pinActive: {
350
- width: theme.space[34],
351
- height: theme.space[34],
352
- marginLeft: -theme.space[17],
353
- marginTop: -theme.space[34],
354
- backgroundColor: theme.color.accent,
355
- borderColor: theme.color.accent
356
- },
357
- pinIdle: {
358
- width: theme.space[26],
359
- height: theme.space[26],
360
- marginLeft: -theme.space[13],
361
- marginTop: -theme.space[26],
362
- backgroundColor: theme.color.surface,
363
- borderColor: theme.color.borderStrong
364
- },
365
- controls: {
366
- position: "absolute",
367
- right: theme.space.s3,
368
- top: theme.space[14],
369
- gap: theme.space.s2
370
- },
371
- control: {
372
- width: theme.tapMin,
373
- height: theme.tapMin,
374
- borderRadius: theme.radius.md,
375
- borderWidth: theme.borderWidth.base,
376
- borderColor: theme.color.border,
377
- backgroundColor: theme.color.surface,
378
- alignItems: "center",
379
- justifyContent: "center",
380
- ...theme.shadow.sm
381
- },
382
- // Lifted clear of the bottom place card — the licence text has to stay legible.
383
- attribution: {
384
- position: "absolute",
385
- right: SPEC.attributionEnd,
386
- bottom: SPEC.attributionBottom,
387
- fontFamily: theme.font.mono,
388
- fontSize: SPEC.attributionSize,
389
- color: theme.color.text3
390
- },
391
- card: {
392
- position: "absolute",
393
- left: theme.space[10],
394
- right: theme.space[10],
395
- bottom: theme.space[10],
396
- flexDirection: "row",
397
- alignItems: "center",
398
- gap: SPEC.cardGap,
399
- padding: theme.space.s3,
400
- borderRadius: theme.radius.lg,
401
- borderWidth: theme.borderWidth.base,
402
- borderColor: theme.color.border,
403
- backgroundColor: theme.color.surface,
404
- ...theme.shadow.lg
405
- },
406
- cardThumb: {
407
- width: SPEC.thumb,
408
- height: SPEC.thumb,
409
- borderRadius: theme.radius.md,
410
- backgroundColor: theme.color.surface3
411
- },
412
- // `minWidth: 0` lets a long place name truncate instead of shoving the action out.
413
- cardText: { flex: 1, minWidth: 0, gap: theme.space[2] },
414
- cardName: {
415
- fontFamily: theme.font.sans,
416
- fontWeight: theme.fontWeight.bold,
417
- fontSize: SPEC.nameSize,
418
- lineHeight: SPEC.nameSize * theme.lineHeight.snug,
419
- color: theme.color.text
420
- },
421
- cardMeta: {
422
- fontFamily: theme.font.sans,
423
- fontSize: SPEC.metaSize,
424
- color: theme.color.text3
425
- },
426
- cardAction: {
427
- minHeight: theme.ctl.md,
428
- paddingHorizontal: theme.space.s3,
429
- paddingVertical: theme.space[8],
430
- borderRadius: theme.radius.md,
431
- backgroundColor: theme.color.accent,
432
- alignItems: "center",
433
- justifyContent: "center"
434
- },
435
- cardActionLabel: {
436
- fontFamily: theme.font.sans,
437
- fontWeight: theme.fontWeight.bold,
438
- fontSize: theme.type.caption1.fontSize,
439
- color: theme.color.accentInk
440
- }
441
- }));
442
-
443
- export { MapView };
@@ -1,60 +0,0 @@
1
- import { ErrorSummary } from './chunk-XBZGDDMR.js';
2
- import * as React from 'react';
3
- import { View } from 'react-native';
4
- import { createStyleSheet, useStyles } from '@btndprojects/loam-theme-native';
5
- import { jsx, jsxs } from 'react/jsx-runtime';
6
-
7
- var FormContext = React.createContext(null);
8
- function useFormContext() {
9
- const ctx = React.useContext(FormContext);
10
- if (!ctx) throw new Error("useFormContext must be used inside a <Form>");
11
- return ctx;
12
- }
13
- function Form({
14
- onSubmit,
15
- onValidate,
16
- onFocusField,
17
- submitting = false,
18
- motion = "full",
19
- children
20
- }) {
21
- const { styles } = useStyles(sheet);
22
- const [errors, setErrors] = React.useState([]);
23
- const submit = React.useCallback(async () => {
24
- if (submitting) return;
25
- if (onValidate) {
26
- const found = await onValidate();
27
- if (found.length > 0) {
28
- setErrors(found);
29
- const first = found[0];
30
- if (first) onFocusField?.(first.fieldId);
31
- return;
32
- }
33
- }
34
- setErrors([]);
35
- await onSubmit();
36
- }, [submitting, onValidate, onFocusField, onSubmit]);
37
- const ctx = React.useMemo(() => ({ submit, submitting }), [submit, submitting]);
38
- return /* @__PURE__ */ jsx(FormContext.Provider, { value: ctx, children: /* @__PURE__ */ jsxs(View, { style: styles.form, children: [
39
- /* @__PURE__ */ jsx(ErrorSummary, { errors, motion, onFocusField }),
40
- children
41
- ] }) });
42
- }
43
- function FormActions({ children }) {
44
- const { styles } = useStyles(sheet);
45
- return /* @__PURE__ */ jsx(View, { style: styles.actions, children });
46
- }
47
- var sheet = createStyleSheet((theme) => ({
48
- form: {
49
- gap: theme.space.s5
50
- },
51
- actions: {
52
- flexDirection: "row",
53
- flexWrap: "wrap",
54
- alignItems: "center",
55
- gap: theme.space.s3,
56
- paddingTop: theme.space.s1
57
- }
58
- }));
59
-
60
- export { Form, FormActions, useFormContext };