@btndprojects/loam-ui-native 0.1.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 (412) hide show
  1. package/dist/accordion/index.js +7 -3
  2. package/dist/adaptive/index.js +16 -2
  3. package/dist/address-block/index.js +23 -0
  4. package/dist/alert/index.js +8 -2
  5. package/dist/analyzer/index.js +17 -6
  6. package/dist/announcement/index.js +18 -5
  7. package/dist/appearance-picker/index.js +15 -0
  8. package/dist/audio-player/index.js +29 -3
  9. package/dist/avatar/index.js +5 -2
  10. package/dist/avatar-group/index.js +9 -3
  11. package/dist/badge/index.js +10 -4
  12. package/dist/banner/index.js +6 -2
  13. package/dist/board/index.js +18 -6
  14. package/dist/button/index.js +9 -3
  15. package/dist/camera-permission/index.js +23 -12
  16. package/dist/capture-result/index.js +30 -17
  17. package/dist/card/index.js +10 -3
  18. package/dist/card-form/index.js +19 -9
  19. package/dist/carousel/index.js +6 -2
  20. package/dist/chart/index.js +18 -5
  21. package/dist/charts/index.js +21 -6
  22. package/dist/chat/index.js +41 -0
  23. package/dist/checkbox/index.js +9 -5
  24. package/dist/checklist/index.js +20 -8
  25. package/dist/checkout/index.js +30 -12
  26. package/dist/chip/index.js +11 -5
  27. package/dist/chunk-2BZD3NAP.js +1110 -0
  28. package/dist/chunk-2YKVID2V.js +35 -0
  29. package/dist/{chunk-JUAMLEHX.js → chunk-36DA3IPO.js} +137 -37
  30. package/dist/chunk-3A56MIAN.js +599 -0
  31. package/dist/chunk-3SCKCWF5.js +298 -0
  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-4CZMQDQL.js +192 -0
  36. package/dist/chunk-5DTKORLI.js +255 -0
  37. package/dist/{chunk-LOE5YNN3.js → chunk-5J4WFXFA.js} +68 -24
  38. package/dist/chunk-5KJ7TEQ6.js +305 -0
  39. package/dist/chunk-5NU33TXK.js +529 -0
  40. package/dist/chunk-5Z5ZYMOJ.js +1 -0
  41. package/dist/chunk-6KSUS7DF.js +690 -0
  42. package/dist/chunk-6RV6UW2J.js +349 -0
  43. package/dist/chunk-6RZM7RP2.js +520 -0
  44. package/dist/{chunk-4BXMXBJO.js → chunk-75BDCC7K.js} +24 -11
  45. package/dist/{chunk-PZXZJBMP.js → chunk-7CGJBQUA.js} +357 -32
  46. package/dist/{chunk-CJ5EOYZE.js → chunk-7IVF6JLJ.js} +24 -7
  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-7NGMUVNU.js +245 -0
  51. package/dist/chunk-7PBSIXT7.js +355 -0
  52. package/dist/chunk-7QOYGENL.js +443 -0
  53. package/dist/{chunk-H6NIOQHK.js → chunk-A7SWYDE5.js} +66 -15
  54. package/dist/chunk-ADHPJALR.js +3051 -0
  55. package/dist/chunk-ALJYZLNQ.js +509 -0
  56. package/dist/chunk-APCWFOZW.js +28 -0
  57. package/dist/chunk-AQ5FIG74.js +419 -0
  58. package/dist/chunk-AWKQIE5I.js +139 -0
  59. package/dist/chunk-B2MMZZQB.js +426 -0
  60. package/dist/{chunk-ZVFE5QGU.js → chunk-B7JZ3N5G.js} +174 -97
  61. package/dist/chunk-BL37SW6G.js +1314 -0
  62. package/dist/chunk-BTRMA7GC.js +21 -0
  63. package/dist/chunk-C7IUWIUZ.js +643 -0
  64. package/dist/chunk-CA3DUVYD.js +10 -0
  65. package/dist/{chunk-S7F6XLTK.js → chunk-CBCJSO2B.js} +213 -54
  66. package/dist/chunk-CHPX4MFI.js +239 -0
  67. package/dist/chunk-CLGAMIOT.js +648 -0
  68. package/dist/chunk-CUE7VML6.js +1141 -0
  69. package/dist/chunk-CVU6S2E5.js +1587 -0
  70. package/dist/{chunk-AZRX6SAC.js → chunk-CXPQMA6Z.js} +112 -37
  71. package/dist/chunk-D2LN4I7I.js +581 -0
  72. package/dist/{chunk-UWFLYMAR.js → chunk-D34LNBO5.js} +635 -238
  73. package/dist/chunk-D4BCQICM.js +765 -0
  74. package/dist/chunk-EABKIIA4.js +1 -0
  75. package/dist/chunk-EICSYRAG.js +341 -0
  76. package/dist/chunk-EMWAJMAS.js +83 -0
  77. package/dist/chunk-EOLZWRV6.js +149 -0
  78. package/dist/chunk-EOQVTGB6.js +350 -0
  79. package/dist/{chunk-BEDBFJND.js → chunk-ESGUHNB2.js} +119 -43
  80. package/dist/{chunk-Q72LJOVE.js → chunk-F2KNBPKY.js} +74 -18
  81. package/dist/{chunk-O7AE6DAF.js → chunk-G7H3NX3G.js} +57 -24
  82. package/dist/chunk-GM7YIPB7.js +1052 -0
  83. package/dist/chunk-GVQQG435.js +581 -0
  84. package/dist/chunk-HE43OMEL.js +1056 -0
  85. package/dist/chunk-HHOMFQ7R.js +2535 -0
  86. package/dist/chunk-HJFFOOJ4.js +1 -0
  87. package/dist/chunk-HNAKS4Z3.js +207 -0
  88. package/dist/chunk-HP6ST2OW.js +352 -0
  89. package/dist/chunk-HW3OWDTU.js +1 -0
  90. package/dist/{chunk-3ENTMPQY.js → chunk-HZDB44K4.js} +102 -52
  91. package/dist/chunk-I2KLQ2HA.js +19 -0
  92. package/dist/chunk-I6CUP2LW.js +1155 -0
  93. package/dist/chunk-ICV4Y2WY.js +27 -0
  94. package/dist/chunk-IHSIENOE.js +3950 -0
  95. package/dist/{chunk-CUMUNPXY.js → chunk-IMMALLRU.js} +68 -32
  96. package/dist/chunk-J64KGCGX.js +55 -0
  97. package/dist/{chunk-IVNRBPGC.js → chunk-JA6TK7H2.js} +255 -84
  98. package/dist/{chunk-OOPPQH27.js → chunk-JAVZ5JPV.js} +83 -29
  99. package/dist/chunk-JCMTP3E4.js +1251 -0
  100. package/dist/{chunk-U7TFM2JA.js → chunk-JCXFFK64.js} +75 -18
  101. package/dist/chunk-JWCVBFDU.js +236 -0
  102. package/dist/chunk-JXRTD5RI.js +414 -0
  103. package/dist/chunk-JYIUZUIQ.js +1567 -0
  104. package/dist/chunk-K3TK3GIV.js +219 -0
  105. package/dist/chunk-KEVZIHM2.js +1511 -0
  106. package/dist/chunk-KHZDNQQD.js +171 -0
  107. package/dist/chunk-KL4GDV4V.js +131 -0
  108. package/dist/chunk-KNILMM4H.js +225 -0
  109. package/dist/chunk-KRBUZV45.js +25 -0
  110. package/dist/{chunk-ITTYJZWX.js → chunk-KXLDK6HB.js} +161 -45
  111. package/dist/chunk-KZ3X7TSL.js +196 -0
  112. package/dist/chunk-L2WMOA2V.js +474 -0
  113. package/dist/chunk-L4D5LHCH.js +109 -0
  114. package/dist/chunk-LAUJPLDB.js +853 -0
  115. package/dist/{chunk-SBMNWWBV.js → chunk-LGNTP5XA.js} +89 -17
  116. package/dist/chunk-LUZFCCSD.js +271 -0
  117. package/dist/{chunk-HPPW424V.js → chunk-LXJCP4PL.js} +129 -37
  118. package/dist/chunk-MCOZJWPU.js +731 -0
  119. package/dist/chunk-MG4SKWLL.js +2587 -0
  120. package/dist/chunk-MPEPTSER.js +414 -0
  121. package/dist/chunk-MWPJ4YGP.js +1 -0
  122. package/dist/{chunk-TKQYWZ5V.js → chunk-N7AX4OA4.js} +108 -41
  123. package/dist/chunk-NHSLM6SE.js +523 -0
  124. package/dist/chunk-NNCOFLNE.js +24 -0
  125. package/dist/{chunk-J7Q7VCVC.js → chunk-NNJLVA7M.js} +54 -15
  126. package/dist/chunk-NZG75DGA.js +282 -0
  127. package/dist/chunk-O76QXRBV.js +431 -0
  128. package/dist/chunk-OANH27AK.js +223 -0
  129. package/dist/chunk-OCHPK5YV.js +609 -0
  130. package/dist/chunk-OMHVEVX4.js +436 -0
  131. package/dist/{chunk-YF4NSSMT.js → chunk-ONKQUJWD.js} +220 -65
  132. package/dist/chunk-OVTK7A6T.js +615 -0
  133. package/dist/chunk-PCEFCOLN.js +120 -0
  134. package/dist/chunk-PFLNFIVB.js +186 -0
  135. package/dist/chunk-PHSZY37H.js +300 -0
  136. package/dist/chunk-PJLTKDVY.js +18 -0
  137. package/dist/{chunk-4YIP3CWS.js → chunk-PK7BN3MI.js} +89 -19
  138. package/dist/{chunk-KMI5ML5I.js → chunk-PWFRDRGS.js} +155 -29
  139. package/dist/chunk-PYPMD46W.js +707 -0
  140. package/dist/chunk-Q6CCHDI7.js +331 -0
  141. package/dist/chunk-QFA5WS2A.js +750 -0
  142. package/dist/chunk-QJMMM4RC.js +124 -0
  143. package/dist/chunk-QNZII37O.js +10 -0
  144. package/dist/chunk-QYWEVAM6.js +407 -0
  145. package/dist/chunk-R5T4VZ7Z.js +126 -0
  146. package/dist/chunk-R77HFLZD.js +1 -0
  147. package/dist/{chunk-YC6WORFL.js → chunk-RAESDNU5.js} +228 -102
  148. package/dist/chunk-RBYQUXNL.js +1 -0
  149. package/dist/chunk-RCM3DT5E.js +1 -0
  150. package/dist/chunk-RGNY56L7.js +282 -0
  151. package/dist/chunk-RIK6UX2K.js +344 -0
  152. package/dist/{chunk-LAECSR4H.js → chunk-RJA3RXO3.js} +75 -60
  153. package/dist/chunk-RJYRJ3LD.js +1 -0
  154. package/dist/chunk-RMA3NOY4.js +599 -0
  155. package/dist/{chunk-DM5QUKKO.js → chunk-RSWKKAHK.js} +160 -66
  156. package/dist/chunk-RVOIIX3V.js +204 -0
  157. package/dist/chunk-SA2RRBGT.js +1077 -0
  158. package/dist/chunk-SG3J4R45.js +1428 -0
  159. package/dist/chunk-SPUK7JD4.js +238 -0
  160. package/dist/chunk-SWXV2K5N.js +434 -0
  161. package/dist/chunk-SYJEPXP6.js +1303 -0
  162. package/dist/{chunk-N32RGOA5.js → chunk-SZLI34TA.js} +93 -28
  163. package/dist/{chunk-4GBOGOTV.js → chunk-T77WJA74.js} +143 -18
  164. package/dist/chunk-TDWWVJA4.js +630 -0
  165. package/dist/chunk-TFHI5XDR.js +610 -0
  166. package/dist/chunk-TH4PW2WU.js +17 -0
  167. package/dist/chunk-TTQ24HQX.js +12 -0
  168. package/dist/chunk-TUACVJNG.js +12 -0
  169. package/dist/{chunk-CYRBHQQZ.js → chunk-TUL5RUIA.js} +201 -59
  170. package/dist/{chunk-4ZAHCY44.js → chunk-TYOSA7JG.js} +74 -38
  171. package/dist/chunk-TYQTMMEV.js +1 -0
  172. package/dist/chunk-TZO6YDS7.js +346 -0
  173. package/dist/chunk-U3ETF22F.js +328 -0
  174. package/dist/chunk-U6BYHD2N.js +213 -0
  175. package/dist/{chunk-WSW6ZFAQ.js → chunk-UF6EJXPQ.js} +20 -5
  176. package/dist/chunk-UNNQIPGK.js +792 -0
  177. package/dist/chunk-UQEN55EY.js +1 -0
  178. package/dist/chunk-UQVO6AJV.js +171 -0
  179. package/dist/chunk-VFDQAAIW.js +351 -0
  180. package/dist/chunk-VIUE3VQT.js +1 -0
  181. package/dist/chunk-VJLSSSGC.js +438 -0
  182. package/dist/chunk-VLMT6KYT.js +350 -0
  183. package/dist/chunk-VMHGBUGS.js +35 -0
  184. package/dist/{chunk-7O2FMUPT.js → chunk-VQKPBYW6.js} +400 -139
  185. package/dist/{chunk-EJBDRVIH.js → chunk-VSSTWLC5.js} +61 -16
  186. package/dist/chunk-VZYYZRPN.js +1992 -0
  187. package/dist/chunk-W23G6JLF.js +37 -0
  188. package/dist/chunk-WAIJCD2V.js +480 -0
  189. package/dist/chunk-WFMQ3WKM.js +378 -0
  190. package/dist/chunk-WJ2KDRMY.js +66 -0
  191. package/dist/chunk-WKFZJO54.js +437 -0
  192. package/dist/{chunk-SYNOJOQO.js → chunk-WVVD3XOV.js} +189 -93
  193. package/dist/chunk-XAIWMSLB.js +1 -0
  194. package/dist/chunk-XBXUBBJZ.js +98 -0
  195. package/dist/chunk-XCU7MYBJ.js +1 -0
  196. package/dist/chunk-XHE4PGCI.js +717 -0
  197. package/dist/chunk-XRSJ32M3.js +331 -0
  198. package/dist/chunk-XTCVOEAW.js +1 -0
  199. package/dist/chunk-XWGXVQF6.js +58 -0
  200. package/dist/{chunk-35OFI3JG.js → chunk-Y3XKKO5K.js} +258 -123
  201. package/dist/chunk-Y4QNMBLO.js +533 -0
  202. package/dist/chunk-Y5H4CTKO.js +1 -0
  203. package/dist/chunk-YBQIN75A.js +403 -0
  204. package/dist/chunk-YJ5PXOX3.js +158 -0
  205. package/dist/{chunk-AWJOCGFZ.js → chunk-YLRSRUPS.js} +81 -55
  206. package/dist/chunk-YM6MPJ4A.js +1 -0
  207. package/dist/chunk-YV7KZENV.js +200 -0
  208. package/dist/chunk-Z7I4ZSO6.js +316 -0
  209. package/dist/chunk-ZIRMWD2B.js +555 -0
  210. package/dist/chunk-ZPMG3FWU.js +75 -0
  211. package/dist/{chunk-QWCMU5B2.js → chunk-ZTXMK2G7.js} +289 -115
  212. package/dist/chunk-ZVJCWXAL.js +541 -0
  213. package/dist/{chunk-P23EQNRQ.js → chunk-ZYQ23DPT.js} +215 -49
  214. package/dist/coachmark/index.js +10 -3
  215. package/dist/code-block/index.js +6 -3
  216. package/dist/color-field/index.js +15 -5
  217. package/dist/color-picker/index.js +23 -0
  218. package/dist/commerce/index.js +31 -17
  219. package/dist/confirm/index.js +31 -0
  220. package/dist/connection-card/index.js +34 -0
  221. package/dist/connectivity/index.js +6 -2
  222. package/dist/context-menu/index.js +13 -3
  223. package/dist/copy-button/index.js +5 -2
  224. package/dist/data-grid/index.js +35 -17
  225. package/dist/date-range-picker/index.js +22 -9
  226. package/dist/description-list/index.js +6 -1
  227. package/dist/device-frame/index.js +30 -0
  228. package/dist/dialog/index.js +10 -2
  229. package/dist/divider/index.js +2 -0
  230. package/dist/empty-state/index.js +15 -2
  231. package/dist/error-summary/index.js +9 -2
  232. package/dist/fab/index.js +7 -2
  233. package/dist/file-manager/index.js +44 -0
  234. package/dist/file-upload/index.js +16 -7
  235. package/dist/filter-bar/index.js +14 -7
  236. package/dist/flow-run/index.js +23 -13
  237. package/dist/form/index.js +32 -3
  238. package/dist/gallery/index.js +8 -2
  239. package/dist/hold-to-confirm/index.js +6 -2
  240. package/dist/hover-card/index.js +18 -0
  241. package/dist/icon-tile/index.js +10 -0
  242. package/dist/image/index.js +9 -0
  243. package/dist/index.d.ts +30789 -12332
  244. package/dist/index.js +424 -135
  245. package/dist/infinite-list/index.js +6 -2
  246. package/dist/inline-edit/index.js +8 -5
  247. package/dist/input/index.js +7 -4
  248. package/dist/interactions/index.js +5 -1
  249. package/dist/invoice/index.js +22 -9
  250. package/dist/job-row/index.js +22 -0
  251. package/dist/json-inspector/index.js +20 -0
  252. package/dist/kbd/index.js +5 -1
  253. package/dist/keyboard/index.js +9 -2
  254. package/dist/level-meter/index.js +9 -0
  255. package/dist/list-row/index.js +14 -4
  256. package/dist/log-viewer/index.js +11 -2
  257. package/dist/map-view/index.js +16 -3
  258. package/dist/markdown/index.js +12 -6
  259. package/dist/metric/index.js +10 -4
  260. package/dist/metric-strip/index.js +12 -0
  261. package/dist/money/index.js +16 -3
  262. package/dist/nav-drawer/index.js +8 -2
  263. package/dist/nav-header/index.js +15 -0
  264. package/dist/navigation/index.js +32 -2
  265. package/dist/notification-center/index.js +28 -12
  266. package/dist/number-roll/index.js +7 -2
  267. package/dist/onboarding-pager/index.js +22 -0
  268. package/dist/one-handed/index.js +5 -3
  269. package/dist/os-surfaces/index.js +9 -3
  270. package/dist/otp/index.js +9 -5
  271. package/dist/page-header/index.js +3 -1
  272. package/dist/pagination/index.js +8 -0
  273. package/dist/payment-method/index.js +21 -11
  274. package/dist/payment-status/index.js +26 -15
  275. package/dist/permission/index.js +21 -2
  276. package/dist/picker/index.js +22 -6
  277. package/dist/progress/index.js +11 -3
  278. package/dist/provenance/index.js +16 -0
  279. package/dist/pull-to-refresh/index.js +4 -2
  280. package/dist/qr-code/index.js +16 -0
  281. package/dist/query-builder/index.js +30 -0
  282. package/dist/radio-group/index.js +9 -5
  283. package/dist/rating/index.js +10 -2
  284. package/dist/receivables/index.js +35 -17
  285. package/dist/recording-indicator/index.js +21 -0
  286. package/dist/refund/index.js +28 -15
  287. package/dist/repeatable-rows/index.js +19 -0
  288. package/dist/save-status/index.js +7 -3
  289. package/dist/screen/index.js +3 -0
  290. package/dist/scroll-area/index.js +3 -1
  291. package/dist/search-field/index.js +13 -0
  292. package/dist/secret-field/index.js +19 -0
  293. package/dist/section-header/index.js +4 -0
  294. package/dist/segmented-control/index.js +4 -3
  295. package/dist/sheet/index.js +11 -3
  296. package/dist/shortcuts-sheet/index.js +2 -0
  297. package/dist/sign-in-screen/index.js +25 -0
  298. package/dist/skeleton/index.js +5 -1
  299. package/dist/slider/index.js +5 -2
  300. package/dist/sortable/index.js +8 -0
  301. package/dist/spinner/index.js +4 -1
  302. package/dist/split-button/index.js +21 -6
  303. package/dist/spotlight/index.js +9 -1
  304. package/dist/stack/index.js +2 -0
  305. package/dist/stage-timeline/index.js +8 -3
  306. package/dist/status-dot/index.js +8 -2
  307. package/dist/stepper/index.js +11 -4
  308. package/dist/streaming-text/index.js +4 -2
  309. package/dist/survey/index.js +29 -16
  310. package/dist/switch/index.js +9 -3
  311. package/dist/system-state/index.js +15 -4
  312. package/dist/tab-bar/index.js +13 -2
  313. package/dist/tabs/index.js +12 -2
  314. package/dist/tags-input/index.js +13 -0
  315. package/dist/text/index.js +4 -0
  316. package/dist/textarea/index.js +8 -5
  317. package/dist/thinking/index.js +6 -1
  318. package/dist/tile-rail/index.js +10 -0
  319. package/dist/time-field/index.js +20 -0
  320. package/dist/time-range-control/index.js +36 -0
  321. package/dist/timeline/index.js +4 -2
  322. package/dist/toast/index.js +6 -2
  323. package/dist/toolbar/index.js +5 -2
  324. package/dist/tour/index.js +15 -10
  325. package/dist/transcript/index.js +28 -0
  326. package/dist/truncation-notice/index.js +5 -2
  327. package/dist/update-notice/index.js +19 -9
  328. package/dist/video-player/index.js +29 -2
  329. package/dist/viewfinder/index.js +15 -5
  330. package/dist/widget/index.js +14 -4
  331. package/dist/wizard/index.js +10 -4
  332. package/package.json +13 -12
  333. package/dist/chunk-223Q2T2Q.js +0 -229
  334. package/dist/chunk-2A5NIQAK.js +0 -254
  335. package/dist/chunk-2GK6PHGE.js +0 -363
  336. package/dist/chunk-2ZZ7TDJ4.js +0 -324
  337. package/dist/chunk-3ARE4TES.js +0 -195
  338. package/dist/chunk-3NMD74ZU.js +0 -4
  339. package/dist/chunk-3WPW4KUN.js +0 -182
  340. package/dist/chunk-423B7SPN.js +0 -993
  341. package/dist/chunk-47FWHGUN.js +0 -394
  342. package/dist/chunk-4DS5ZWVC.js +0 -83
  343. package/dist/chunk-4SZYY6AN.js +0 -99
  344. package/dist/chunk-4YQOR7JM.js +0 -204
  345. package/dist/chunk-52X2VYTD.js +0 -228
  346. package/dist/chunk-5YNTNN5A.js +0 -177
  347. package/dist/chunk-6HT2LP62.js +0 -504
  348. package/dist/chunk-6N33LFQA.js +0 -35
  349. package/dist/chunk-6X6PQ443.js +0 -432
  350. package/dist/chunk-7CFF4HXS.js +0 -126
  351. package/dist/chunk-AI4DWZCD.js +0 -162
  352. package/dist/chunk-BTTFCMKG.js +0 -166
  353. package/dist/chunk-BV3B2HYZ.js +0 -1635
  354. package/dist/chunk-C2NTXVWM.js +0 -98
  355. package/dist/chunk-CDRZHT42.js +0 -424
  356. package/dist/chunk-DHWADYZX.js +0 -144
  357. package/dist/chunk-F5XNPWS7.js +0 -1024
  358. package/dist/chunk-FMYDDECK.js +0 -1521
  359. package/dist/chunk-GDKZTW34.js +0 -395
  360. package/dist/chunk-GL7B2DOW.js +0 -134
  361. package/dist/chunk-GNNJ4GCC.js +0 -471
  362. package/dist/chunk-HET4LLMX.js +0 -129
  363. package/dist/chunk-HZ6CNMAF.js +0 -870
  364. package/dist/chunk-IIQTAY3J.js +0 -715
  365. package/dist/chunk-JNH2TYIN.js +0 -96
  366. package/dist/chunk-JNY4ZHAR.js +0 -634
  367. package/dist/chunk-JXJB2X6M.js +0 -131
  368. package/dist/chunk-LRJNDEIA.js +0 -302
  369. package/dist/chunk-LSS54GLJ.js +0 -116
  370. package/dist/chunk-LZLHELAG.js +0 -137
  371. package/dist/chunk-MOUJOP55.js +0 -425
  372. package/dist/chunk-NKB7BZYK.js +0 -167
  373. package/dist/chunk-NQYBUO3K.js +0 -1795
  374. package/dist/chunk-O4AEHWII.js +0 -464
  375. package/dist/chunk-OETCUXQP.js +0 -134
  376. package/dist/chunk-OPXFZ4Y5.js +0 -204
  377. package/dist/chunk-PJXUJYS6.js +0 -248
  378. package/dist/chunk-PUPM2YGF.js +0 -376
  379. package/dist/chunk-QCDXZBC5.js +0 -247
  380. package/dist/chunk-QDYDBCFP.js +0 -197
  381. package/dist/chunk-QJJ6MADV.js +0 -274
  382. package/dist/chunk-QKXCPTFS.js +0 -349
  383. package/dist/chunk-RIBDXGUG.js +0 -108
  384. package/dist/chunk-RJQOOHT2.js +0 -214
  385. package/dist/chunk-RNGLIHFA.js +0 -191
  386. package/dist/chunk-RQ3HASCC.js +0 -6
  387. package/dist/chunk-RSOJT5YW.js +0 -124
  388. package/dist/chunk-RUZHTGKB.js +0 -237
  389. package/dist/chunk-RW6ZL2FQ.js +0 -284
  390. package/dist/chunk-TKVFVF5D.js +0 -95
  391. package/dist/chunk-TOXAGRDQ.js +0 -144
  392. package/dist/chunk-TUTI5HOZ.js +0 -112
  393. package/dist/chunk-UC2WGUP3.js +0 -627
  394. package/dist/chunk-UYG5L34B.js +0 -87
  395. package/dist/chunk-VBOXAEPI.js +0 -336
  396. package/dist/chunk-VCDBXW5H.js +0 -188
  397. package/dist/chunk-VEAYTRPX.js +0 -414
  398. package/dist/chunk-VQHPQEUH.js +0 -273
  399. package/dist/chunk-VXDZFJGP.js +0 -874
  400. package/dist/chunk-XNUVB5OL.js +0 -375
  401. package/dist/chunk-XOSCY2CW.js +0 -242
  402. package/dist/chunk-XXXEFXY5.js +0 -99
  403. package/dist/chunk-YDGVJETP.js +0 -60
  404. package/dist/chunk-YG3ZJHGU.js +0 -223
  405. package/dist/chunk-YTFKPRUK.js +0 -845
  406. package/dist/chunk-Z7H7VSFZ.js +0 -323
  407. package/dist/header/index.js +0 -5
  408. package/dist/search-bar/index.js +0 -5
  409. /package/dist/{chunk-3ECPOSKO.js → chunk-3BKLBYPK.js} +0 -0
  410. /package/dist/{chunk-JRLTGLN4.js → chunk-3UG6JUCV.js} +0 -0
  411. /package/dist/{chunk-RTIKSY6A.js → chunk-4QCR3K2J.js} +0 -0
  412. /package/dist/{chunk-VFCUIDRT.js → chunk-5WWRTEPS.js} +0 -0
@@ -1,6 +1,7 @@
1
1
  import { MAX_OVERSCROLL_PX, REFRESH_ARM_PX, SCROLL_TOP_SLOP_PX, overscrollOffset, overscrollIntent } from './chunk-HU2EQNRZ.js';
2
2
  import { haptics } from './chunk-NY2U3PBI.js';
3
- import { Icon } from './chunk-TKVFVF5D.js';
3
+ import { useLabels } from './chunk-APCWFOZW.js';
4
+ import { Icon } from './chunk-PCEFCOLN.js';
4
5
  import * as React from 'react';
5
6
  import { Animated, Easing, View, Text, Pressable, ScrollView } from 'react-native';
6
7
  import { createStyleSheet, useStyles, useLoamTheme } from '@btndprojects/loam-theme-native';
@@ -12,26 +13,50 @@ function touchPageY(e) {
12
13
  const touch = ne.touches?.[0] ?? ne.changedTouches?.[0];
13
14
  return typeof touch?.pageY === "number" ? touch.pageY : null;
14
15
  }
16
+ function touchPageX(e) {
17
+ const ne = e.nativeEvent;
18
+ if (typeof ne.pageX === "number") return ne.pageX;
19
+ const touch = ne.touches?.[0] ?? ne.changedTouches?.[0];
20
+ return typeof touch?.pageX === "number" ? touch.pageX : null;
21
+ }
15
22
  function isThenable(v) {
16
23
  return typeof v?.then === "function";
17
24
  }
25
+ var TICK_COUNT = 12;
26
+ var TICK_INDEX = Array.from({ length: TICK_COUNT }, (_, i) => i);
27
+ var DEFAULT_LABELS = {
28
+ arm: "Release to refresh",
29
+ refreshing: "Refreshing",
30
+ refresh: "Refresh",
31
+ refreshBusy: (refresh, refreshing) => `${refresh}, ${refreshing}`
32
+ };
18
33
  function PullToRefresh({
19
34
  onRefresh,
20
35
  onArm,
21
36
  refreshing,
22
37
  phase,
23
38
  indicator,
24
- armLabel = "Release to refresh",
25
- refreshingLabel = "Refreshing",
26
- refreshAccessibilityLabel = "Refresh",
39
+ spinner = "ticks",
40
+ align = "center",
41
+ orientation = "vertical",
42
+ armLabel: armLabelProp,
43
+ refreshingLabel: refreshingLabelProp,
44
+ refreshAccessibilityLabel: refreshAccessibilityLabelProp,
45
+ labels: labelsProp,
27
46
  children,
28
47
  ...rest
29
48
  }) {
30
49
  const { styles } = useStyles(sheet);
31
- const theme = useLoamTheme();
50
+ const theme = useLoamTheme("pull-to-refresh");
51
+ const dim = theme.state.disabledOpacity;
52
+ const labels = useLabels("pullToRefresh", DEFAULT_LABELS, labelsProp);
53
+ const armLabel = armLabelProp ?? labels.arm;
54
+ const refreshingLabel = refreshingLabelProp ?? labels.refreshing;
55
+ const refreshAccessibilityLabel = refreshAccessibilityLabelProp ?? labels.refresh;
32
56
  const isAndroid = (indicator ?? (theme.platform === "Android" ? "android" : "ios")) === "android";
33
57
  const reduce = theme.reduceMotion;
34
58
  const controlled = phase != null;
59
+ const horizontal = orientation === "horizontal";
35
60
  const [ownRefreshing, setOwnRefreshing] = React.useState(false);
36
61
  const isRefreshing = refreshing ?? ownRefreshing;
37
62
  const [armed, setArmed] = React.useState(false);
@@ -42,11 +67,9 @@ function PullToRefresh({
42
67
  const showText = statusText !== "";
43
68
  const ringSize = theme.icon.lg;
44
69
  const clearance = theme.space.s3;
45
- const spinnerBox = isAndroid ? ringSize + clearance * 2 : ringSize;
46
- const gap = theme.space.s2;
47
- const textBlockH = theme.icon.md + theme.space.s1 * 2;
48
- const chromeH = spinnerBox + (showText ? gap + textBlockH : 0);
49
- const holdOffset = Math.min(spinnerBox + gap + textBlockH + clearance * 2, MAX_OVERSCROLL_PX);
70
+ const spinnerBox = isAndroid ? theme.space[40] : ringSize;
71
+ const chromeH = spinnerBox;
72
+ const holdOffset = Math.min(spinnerBox + clearance * 2, MAX_OVERSCROLL_PX);
50
73
  const offset = React.useRef(new Animated.Value(0)).current;
51
74
  const spin = React.useRef(new Animated.Value(0)).current;
52
75
  const scrollTop = React.useRef(0);
@@ -114,12 +137,12 @@ function PullToRefresh({
114
137
  }, [onRefresh, refreshing, holdOffset, settle]);
115
138
  const onTouchStart = (e) => {
116
139
  if (controlled) return;
117
- const y = touchPageY(e);
140
+ const y = horizontal ? touchPageX(e) : touchPageY(e);
118
141
  if (y != null && scrollTop.current <= SCROLL_TOP_SLOP_PX && !isRefreshing) startY.current = y;
119
142
  };
120
143
  const onTouchMove = (e) => {
121
144
  if (controlled || startY.current == null) return;
122
- const y = touchPageY(e);
145
+ const y = horizontal ? touchPageX(e) : touchPageY(e);
123
146
  if (y == null) return;
124
147
  band.current = overscrollOffset(y - startY.current);
125
148
  setArmedState(band.current > REFRESH_ARM_PX);
@@ -138,6 +161,7 @@ function PullToRefresh({
138
161
  beginRefresh();
139
162
  };
140
163
  const chromeY = reduce ? 0 : Animated.subtract(Animated.multiply(offset, 0.5), chromeH / 2);
164
+ const chromeShift = horizontal ? { translateX: chromeY } : { translateY: chromeY };
141
165
  const revealIn = Math.max(1, chromeH * 0.6);
142
166
  const revealFull = Math.max(revealIn + 1, chromeH + clearance);
143
167
  const reveal = offset.interpolate({
@@ -161,7 +185,16 @@ function PullToRefresh({
161
185
  {
162
186
  style: [
163
187
  styles.chrome,
164
- { opacity: reveal, transform: [{ translateY: chromeY }, { scale: chromeScale }] }
188
+ horizontal ? [
189
+ styles.chromeHorizontal,
190
+ align === "start" && { top: theme.space.s4 },
191
+ align === "end" && { top: void 0, bottom: theme.space.s4 },
192
+ align === "center" && { top: "50%", marginTop: -chromeH / 2 }
193
+ ] : align !== "center" && {
194
+ alignSelf: align === "start" ? "flex-start" : "flex-end",
195
+ [align === "start" ? "start" : "end"]: theme.space.s4
196
+ },
197
+ { opacity: reveal, transform: [chromeShift, { scale: chromeScale }] }
165
198
  ],
166
199
  children: [
167
200
  /* @__PURE__ */ jsx(
@@ -175,7 +208,7 @@ function PullToRefresh({
175
208
  isAndroid ? styles.spinnerBoxAndroid : null,
176
209
  { width: spinnerBox, height: spinnerBox }
177
210
  ],
178
- children: /* @__PURE__ */ jsx(
211
+ children: isAndroid ? /* @__PURE__ */ jsx(
179
212
  Animated.View,
180
213
  {
181
214
  style: [
@@ -188,6 +221,54 @@ function PullToRefresh({
188
221
  }
189
222
  ]
190
223
  }
224
+ ) : spinner === "arc" ? /* @__PURE__ */ jsx(
225
+ Animated.View,
226
+ {
227
+ style: [
228
+ styles.arc,
229
+ {
230
+ width: ringSize,
231
+ height: ringSize,
232
+ borderWidth: theme.icon.strokeBold,
233
+ transform: [{ rotate }]
234
+ }
235
+ ]
236
+ }
237
+ ) : (
238
+ // iOS: the bare activity indicator — text-2 ticks, no disc. Pulling
239
+ // fills the ticks with the drag; refreshing spins them as a fading tail.
240
+ /* @__PURE__ */ jsx(
241
+ Animated.View,
242
+ {
243
+ style: {
244
+ width: ringSize,
245
+ height: ringSize,
246
+ transform: [{ rotate: displayRefreshing ? rotate : "0deg" }]
247
+ },
248
+ children: TICK_INDEX.map((i) => /* @__PURE__ */ jsx(
249
+ Animated.View,
250
+ {
251
+ style: [
252
+ styles.tickHolder,
253
+ {
254
+ transform: [{ rotate: `${i * (360 / TICK_COUNT)}deg` }],
255
+ opacity: displayRefreshing ? dim + (1 - dim) * (i + 1) / TICK_COUNT : offset.interpolate({
256
+ inputRange: [
257
+ 0,
258
+ revealIn + (revealFull - revealIn) * i / TICK_COUNT,
259
+ revealIn + (revealFull - revealIn) * (i + 1) / TICK_COUNT
260
+ ],
261
+ outputRange: [dim, dim, 1],
262
+ extrapolate: "clamp"
263
+ })
264
+ }
265
+ ],
266
+ children: /* @__PURE__ */ jsx(View, { style: styles.tick })
267
+ },
268
+ i
269
+ ))
270
+ }
271
+ )
191
272
  )
192
273
  }
193
274
  ),
@@ -198,7 +279,7 @@ function PullToRefresh({
198
279
  role: "status",
199
280
  accessibilityLiveRegion: "polite",
200
281
  accessibilityState: { busy: displayRefreshing },
201
- style: showText ? [styles.status, { marginTop: gap }] : styles.statusHidden,
282
+ style: styles.statusHidden,
202
283
  children: showText ? /* @__PURE__ */ jsx(Text, { style: styles.statusText, children: statusText }) : null
203
284
  }
204
285
  )
@@ -210,47 +291,59 @@ function PullToRefresh({
210
291
  {
211
292
  onPress: isRefreshing ? void 0 : beginRefresh,
212
293
  accessibilityRole: "button",
213
- accessibilityLabel: refreshAccessibilityLabel,
294
+ accessibilityLabel: displayRefreshing ? labels.refreshBusy(refreshAccessibilityLabel, refreshingLabel) : refreshAccessibilityLabel,
214
295
  accessibilityState: { busy: isRefreshing, disabled: isRefreshing },
215
296
  "aria-busy": isRefreshing || void 0,
216
- hitSlop: theme.space.s2,
217
- style: styles.refreshButton,
297
+ style: ({ pressed }) => [
298
+ styles.refreshButton,
299
+ pressed ? { backgroundColor: theme.state.pressed } : null
300
+ ],
218
301
  children: /* @__PURE__ */ jsx(Icon, { name: "refresh", size: theme.icon.sm, color: theme.color.text })
219
302
  }
220
303
  ),
221
- /* @__PURE__ */ jsx(Animated.View, { style: [styles.content, { transform: [{ translateY: offset }] }], children: /* @__PURE__ */ jsx(
222
- ScrollView,
304
+ /* @__PURE__ */ jsx(
305
+ Animated.View,
223
306
  {
224
- ...rest,
225
- focusable: true,
226
- scrollEventThrottle: 16,
227
- contentContainerStyle: [
228
- rest.contentContainerStyle,
229
- displayRefreshing ? { paddingBottom: holdOffset } : null
307
+ style: [
308
+ styles.content,
309
+ { transform: [horizontal ? { translateX: offset } : { translateY: offset }] }
230
310
  ],
231
- onScroll: (e) => {
232
- scrollTop.current = e.nativeEvent.contentOffset.y;
233
- rest.onScroll?.(e);
234
- },
235
- onTouchStart: (e) => {
236
- onTouchStart(e);
237
- rest.onTouchStart?.(e);
238
- },
239
- onTouchMove: (e) => {
240
- onTouchMove(e);
241
- rest.onTouchMove?.(e);
242
- },
243
- onTouchEnd: (e) => {
244
- onTouchEnd();
245
- rest.onTouchEnd?.(e);
246
- },
247
- onTouchCancel: (e) => {
248
- onTouchEnd();
249
- rest.onTouchCancel?.(e);
250
- },
251
- children
311
+ children: /* @__PURE__ */ jsx(
312
+ ScrollView,
313
+ {
314
+ ...rest,
315
+ focusable: true,
316
+ horizontal: horizontal || rest.horizontal,
317
+ scrollEventThrottle: 16,
318
+ contentContainerStyle: [
319
+ rest.contentContainerStyle,
320
+ displayRefreshing ? horizontal ? { paddingStart: holdOffset } : { paddingBottom: holdOffset } : null
321
+ ],
322
+ onScroll: (e) => {
323
+ scrollTop.current = horizontal ? e.nativeEvent.contentOffset.x : e.nativeEvent.contentOffset.y;
324
+ rest.onScroll?.(e);
325
+ },
326
+ onTouchStart: (e) => {
327
+ onTouchStart(e);
328
+ rest.onTouchStart?.(e);
329
+ },
330
+ onTouchMove: (e) => {
331
+ onTouchMove(e);
332
+ rest.onTouchMove?.(e);
333
+ },
334
+ onTouchEnd: (e) => {
335
+ onTouchEnd();
336
+ rest.onTouchEnd?.(e);
337
+ },
338
+ onTouchCancel: (e) => {
339
+ onTouchEnd();
340
+ rest.onTouchCancel?.(e);
341
+ },
342
+ children
343
+ }
344
+ )
252
345
  }
253
- ) })
346
+ )
254
347
  ] });
255
348
  }
256
349
  var sheet = createStyleSheet((theme) => ({
@@ -267,6 +360,8 @@ var sheet = createStyleSheet((theme) => ({
267
360
  // Decorative — the gesture lives on the scroller underneath.
268
361
  pointerEvents: "none"
269
362
  },
363
+ // Horizontal: pinned to the start edge instead of the top.
364
+ chromeHorizontal: { top: 0, start: 0, alignSelf: void 0 },
270
365
  spinnerBox: {
271
366
  alignItems: "center",
272
367
  justifyContent: "center"
@@ -284,22 +379,24 @@ var sheet = createStyleSheet((theme) => ({
284
379
  borderColor: theme.edge.neutral,
285
380
  ...theme.shadow.md
286
381
  },
382
+ tickHolder: { position: "absolute", top: 0, left: 0, right: 0, bottom: 0, alignItems: "center" },
383
+ tick: {
384
+ width: theme.borderWidth.heavy,
385
+ height: theme.space[6],
386
+ borderRadius: theme.radius.full,
387
+ backgroundColor: theme.color.text2
388
+ },
389
+ arc: {
390
+ borderRadius: theme.radius.full,
391
+ borderColor: theme.color.text2,
392
+ borderRightColor: "transparent"
393
+ },
287
394
  ring: {
288
395
  borderRadius: theme.radius.full,
289
396
  borderColor: theme.color.surface3,
290
397
  borderTopColor: theme.color.accent
291
398
  },
292
- // The status copy sits on a surface pill so `theme.color.text` clears AA in
293
- // both modes regardless of what the freed band reveals behind it.
294
- status: {
295
- paddingVertical: theme.space.s1,
296
- paddingHorizontal: theme.space.s3,
297
- borderRadius: theme.radius.full,
298
- backgroundColor: theme.color.surface,
299
- borderWidth: theme.borderWidth.base,
300
- borderColor: theme.edge.neutral,
301
- ...theme.shadow.sm
302
- },
399
+ // Announced only: the live region keeps its copy but takes no space.
303
400
  statusHidden: { width: 0, height: 0, overflow: "hidden" },
304
401
  statusText: {
305
402
  color: theme.color.text,
@@ -311,15 +408,12 @@ var sheet = createStyleSheet((theme) => ({
311
408
  top: theme.space.s2,
312
409
  end: theme.space.s2,
313
410
  zIndex: theme.z.sticky,
314
- width: theme.tapMin,
315
- height: theme.tapMin,
411
+ // A ghost icon Button lg: 44 square, no fill at rest.
412
+ width: theme.ctl.lg,
413
+ height: theme.ctl.lg,
316
414
  alignItems: "center",
317
415
  justifyContent: "center",
318
- borderRadius: theme.radius.full,
319
- backgroundColor: theme.color.surface,
320
- borderWidth: theme.borderWidth.base,
321
- borderColor: theme.edge.neutral,
322
- ...theme.shadow.sm
416
+ borderRadius: theme.radius.md
323
417
  }
324
418
  }));
325
419
 
@@ -0,0 +1,204 @@
1
+ import { Skeleton } from './chunk-YJ5PXOX3.js';
2
+ import { useLabels } from './chunk-APCWFOZW.js';
3
+ import { useResolvedMotion, useReducedMotion } from './chunk-J64KGCGX.js';
4
+ import * as React from 'react';
5
+ import { Platform, View, ScrollView } from 'react-native';
6
+ import { createStyleSheet, useStyles, useLoamTheme } from '@btndprojects/loam-theme-native';
7
+ import { jsx, jsxs } from 'react/jsx-runtime';
8
+
9
+ var DEFAULT_LABELS = {
10
+ carousel: "Carousel",
11
+ nextSlide: "Next slide",
12
+ previousSlide: "Previous slide",
13
+ slide: (n, count) => `Slide ${n} of ${count}`
14
+ };
15
+ var DOT_SIZE = { sm: 6, md: 7, lg: 8 };
16
+ function Dot({ active, size }) {
17
+ const theme = useLoamTheme("carousel");
18
+ const { styles } = useStyles(sheet);
19
+ return /* @__PURE__ */ jsx(
20
+ View,
21
+ {
22
+ testID: "carousel-dot",
23
+ style: [
24
+ styles.dot,
25
+ {
26
+ width: theme.space[DOT_SIZE[size]],
27
+ height: theme.space[DOT_SIZE[size]],
28
+ backgroundColor: active ? theme.color.accent : theme.color.text3
29
+ }
30
+ ]
31
+ }
32
+ );
33
+ }
34
+ var webSnapStop = Platform.OS === "web" ? { scrollSnapStop: "always" } : null;
35
+ function Carousel({
36
+ items,
37
+ renderItem,
38
+ children,
39
+ activeIndex,
40
+ onIndexChange,
41
+ showDots = true,
42
+ autoPlay = false,
43
+ interval = 4e3,
44
+ loop = false,
45
+ accessibilityLabel,
46
+ motion = "full",
47
+ size = "md",
48
+ loading = false,
49
+ labels: labelsProp
50
+ }) {
51
+ const labels = useLabels("carousel", DEFAULT_LABELS, labelsProp);
52
+ const { styles } = useStyles(sheet);
53
+ const theme = useLoamTheme("carousel");
54
+ const resolvedMotion = useResolvedMotion(motion, "carousel");
55
+ const osReduced = useReducedMotion();
56
+ const [userTookOver, setUserTookOver] = React.useState(false);
57
+ const slides = items && renderItem ? items.map((item, index) => renderItem(item, index)) : React.Children.toArray(children);
58
+ const count = slides.length;
59
+ const isControlled = activeIndex !== void 0;
60
+ const [internal, setInternal] = React.useState(0);
61
+ const active = Math.min(
62
+ count - 1,
63
+ Math.max(0, isControlled ? activeIndex : internal)
64
+ );
65
+ const [width, setWidth] = React.useState(0);
66
+ const scrollRef = React.useRef(null);
67
+ const onLayout = (e) => {
68
+ const next = e.nativeEvent.layout.width;
69
+ setWidth((prev) => prev === next ? prev : next);
70
+ };
71
+ const goTo = React.useCallback(
72
+ (index) => {
73
+ const clamped = Math.min(count - 1, Math.max(0, index));
74
+ if (clamped === active) return;
75
+ if (!isControlled) setInternal(clamped);
76
+ onIndexChange?.(clamped);
77
+ },
78
+ [active, count, isControlled, onIndexChange]
79
+ );
80
+ const onMomentumScrollEnd = (e) => {
81
+ if (width <= 0) return;
82
+ goTo(Math.round(e.nativeEvent.contentOffset.x / width));
83
+ };
84
+ const settle = React.useRef(null);
85
+ React.useEffect(
86
+ () => () => {
87
+ if (settle.current) clearTimeout(settle.current);
88
+ },
89
+ []
90
+ );
91
+ const onScroll = Platform.OS === "web" ? (e) => {
92
+ const x = e.nativeEvent.contentOffset.x;
93
+ if (settle.current) clearTimeout(settle.current);
94
+ settle.current = setTimeout(() => {
95
+ if (width > 0) goTo(Math.round(x / width));
96
+ }, 120);
97
+ } : void 0;
98
+ React.useEffect(() => {
99
+ if (width <= 0) return;
100
+ scrollRef.current?.scrollTo({ x: active * width, animated: resolvedMotion === "full" });
101
+ }, [active, width, resolvedMotion]);
102
+ React.useEffect(() => {
103
+ if (!autoPlay || count <= 1 || userTookOver || osReduced) return;
104
+ const id = setInterval(() => {
105
+ const next = active + 1;
106
+ if (next >= count) {
107
+ if (loop) goTo(0);
108
+ } else {
109
+ goTo(next);
110
+ }
111
+ }, interval);
112
+ return () => clearInterval(id);
113
+ }, [autoPlay, interval, loop, active, count, goTo, userTookOver, osReduced]);
114
+ if (loading) {
115
+ return /* @__PURE__ */ jsx(View, { style: styles.container, testID: "carousel-loading", "aria-busy": true, children: /* @__PURE__ */ jsx(Skeleton, { variant: "rect", height: theme.space[80] * 2, decorative: true, motion }) });
116
+ }
117
+ return /* @__PURE__ */ jsxs(
118
+ View,
119
+ {
120
+ style: styles.container,
121
+ role: "group",
122
+ accessibilityLabel: accessibilityLabel ?? labels.carousel,
123
+ accessibilityActions: count > 1 ? [
124
+ { name: "increment", label: labels.nextSlide },
125
+ { name: "decrement", label: labels.previousSlide }
126
+ ] : void 0,
127
+ onAccessibilityAction: (e) => {
128
+ if (e.nativeEvent.actionName === "increment") goTo(Math.min(count - 1, active + 1));
129
+ else if (e.nativeEvent.actionName === "decrement") goTo(Math.max(0, active - 1));
130
+ },
131
+ children: [
132
+ /* @__PURE__ */ jsx(
133
+ ScrollView,
134
+ {
135
+ ref: scrollRef,
136
+ horizontal: true,
137
+ pagingEnabled: true,
138
+ focusable: true,
139
+ showsHorizontalScrollIndicator: false,
140
+ onLayout,
141
+ onMomentumScrollEnd,
142
+ onScrollBeginDrag: () => setUserTookOver(true),
143
+ onScroll,
144
+ scrollEventThrottle: 16,
145
+ style: styles.scroll,
146
+ children: slides.map((slide, index) => /* @__PURE__ */ jsx(
147
+ View,
148
+ {
149
+ style: [styles.page, width > 0 ? { width } : styles.pageFallback, webSnapStop],
150
+ accessible: true,
151
+ role: "group",
152
+ accessibilityLabel: labels.slide(index + 1, count),
153
+ children: slide
154
+ },
155
+ index
156
+ ))
157
+ }
158
+ ),
159
+ showDots && count > 1 ? /* @__PURE__ */ jsx(
160
+ View,
161
+ {
162
+ style: styles.dots,
163
+ accessible: false,
164
+ importantForAccessibility: "no-hide-descendants",
165
+ children: slides.map((_, index) => /* @__PURE__ */ jsx(Dot, { active: index === active, size }, index))
166
+ }
167
+ ) : null
168
+ ]
169
+ }
170
+ );
171
+ }
172
+ var sheet = createStyleSheet((theme) => ({
173
+ container: {
174
+ position: "relative",
175
+ alignSelf: "stretch",
176
+ width: "100%"
177
+ },
178
+ scroll: {
179
+ alignSelf: "stretch"
180
+ },
181
+ page: {
182
+ alignSelf: "stretch"
183
+ },
184
+ // Before the container has measured itself (e.g. first render / jsdom), fall
185
+ // back to a full-width page so content still lays out.
186
+ pageFallback: {
187
+ width: "100%"
188
+ },
189
+ dots: {
190
+ flexDirection: "row",
191
+ justifyContent: "center",
192
+ alignItems: "center",
193
+ gap: theme.space.s2,
194
+ paddingTop: theme.space.s3,
195
+ pointerEvents: "none"
196
+ },
197
+ dot: {
198
+ width: theme.space[DOT_SIZE.md],
199
+ height: theme.space[DOT_SIZE.md],
200
+ borderRadius: theme.radius.full
201
+ }
202
+ }));
203
+
204
+ export { Carousel };