@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,10 +1,13 @@
1
- import { useReorder, ROOT_SCROLLER } from './chunk-36EC2T6P.js';
2
- import { Card, CardContent } from './chunk-YXOAPXMU.js';
1
+ import { useReorder, ROOT_SCROLLER } from './chunk-D2LN4I7I.js';
2
+ import { Card, CardContent } from './chunk-PWFRDRGS.js';
3
+ import { Badge } from './chunk-LGNTP5XA.js';
4
+ import { softToneSkin } from './chunk-PJLTKDVY.js';
3
5
  import { expandedProps } from './chunk-W23G6JLF.js';
6
+ import { isAndroidIdiom } from './chunk-TH4PW2WU.js';
4
7
  import { useLabels } from './chunk-APCWFOZW.js';
5
- import { Icon } from './chunk-UXGIW7OK.js';
8
+ import { Icon } from './chunk-PCEFCOLN.js';
6
9
  import * as React from 'react';
7
- import { View, ScrollView, Text, Pressable, Animated } from 'react-native';
10
+ import { View, ScrollView, Text, Pressable, ActivityIndicator, Animated } from 'react-native';
8
11
  import { createStyleSheet, useStyles, useLoamTheme } from '@btndprojects/loam-theme-native';
9
12
  import { jsx, jsxs } from 'react/jsx-runtime';
10
13
 
@@ -37,6 +40,14 @@ function Board({
37
40
  onToggleColumn,
38
41
  label: labelProp,
39
42
  motion = "full",
43
+ disabled = false,
44
+ variant = "default",
45
+ elevation = "flat",
46
+ padding = "md",
47
+ interactive = true,
48
+ tone = "default",
49
+ loading = false,
50
+ density = "comfortable",
40
51
  onNotify,
41
52
  style,
42
53
  labels: labelsProp
@@ -62,6 +73,8 @@ function Board({
62
73
  const w = event.nativeEvent.layout.width;
63
74
  if (w > 0) setPageW(w);
64
75
  };
76
+ const colW = Math.max(0, pageW - theme.space[32]);
77
+ const snap = colW + theme.space.s3;
65
78
  const [message, setMessage] = React.useState("");
66
79
  const locate = (cardId) => {
67
80
  for (let c = 0; c < cols.length; c += 1) {
@@ -87,9 +100,7 @@ function Board({
87
100
  onMoveCard?.(cardId, fromColumnId, toColumnId, target);
88
101
  const destCol = next[toCol];
89
102
  const over = destCol.wipLimit !== void 0 && destCol.items.length > destCol.wipLimit ? labels.overLimit(destCol.title, destCol.items.length, destCol.wipLimit) : "";
90
- setMessage(
91
- labels.moved(card.title, destCol.title, target + 1, destCol.items.length) + over
92
- );
103
+ setMessage(labels.moved(card.title, destCol.title, target + 1, destCol.items.length) + over);
93
104
  if (onNotify) {
94
105
  const before = cols;
95
106
  onNotify({
@@ -109,8 +120,10 @@ function Board({
109
120
  const reorder = useReorder({
110
121
  motion,
111
122
  tilt: false,
112
- // The default face is a `Card`, cornered at `radius.xl`.
113
- radius: theme.radius.xl,
123
+ // The default face is a `Card`, cornered at `radius.lg` (Final 09).
124
+ radius: theme.radius.lg,
125
+ // iOS lifts with a light tap (F35).
126
+ liftHaptic: "light",
114
127
  renderGhost: (cardId) => {
115
128
  const found = findCard(cardId);
116
129
  if (!found) return null;
@@ -129,6 +142,7 @@ function Board({
129
142
  }
130
143
  });
131
144
  const step = (cardId, dir) => {
145
+ if (disabled || !interactive || loading) return false;
132
146
  const at = locate(cardId);
133
147
  if (!at) return false;
134
148
  const { col, row } = at;
@@ -162,52 +176,84 @@ function Board({
162
176
  const dir = event.key === "ArrowUp" ? "up" : event.key === "ArrowDown" ? "down" : event.key === "ArrowLeft" || event.key === "ArrowRight" ? event.key === "ArrowLeft" !== theme.rtl ? "prev" : "next" : null;
163
177
  if (dir && step(cardId, dir)) event.preventDefault?.();
164
178
  };
165
- return /* @__PURE__ */ jsxs(View, { role: "group", accessibilityLabel: label, onLayout, style: [styles.root, style], children: [
166
- /* @__PURE__ */ jsx(
167
- ScrollView,
168
- {
169
- ...reorder.scroller(ROOT_SCROLLER, { horizontal: true, page: pageW + theme.space.s3 }),
170
- horizontal: true,
171
- pagingEnabled: true,
172
- showsHorizontalScrollIndicator: false,
173
- snapToInterval: pageW,
174
- decelerationRate: "fast",
175
- contentContainerStyle: styles.track,
176
- children: cols.map((column) => /* @__PURE__ */ jsx(
177
- Column,
179
+ const look = React.useMemo(
180
+ () => ({
181
+ variant,
182
+ elevation,
183
+ padding,
184
+ tone,
185
+ loading,
186
+ density,
187
+ locked: !interactive || loading
188
+ }),
189
+ [variant, elevation, padding, tone, loading, density, interactive]
190
+ );
191
+ return /* @__PURE__ */ jsx(BoardLookContext.Provider, { value: look, children: /* @__PURE__ */ jsxs(
192
+ View,
193
+ {
194
+ role: "group",
195
+ accessibilityLabel: label,
196
+ "aria-busy": loading || void 0,
197
+ onLayout,
198
+ style: [styles.root, style],
199
+ children: [
200
+ /* @__PURE__ */ jsx(
201
+ ScrollView,
178
202
  {
179
- column,
180
- width: pageW,
181
- collapsed: collapsed[column.id] ?? false,
182
- reorder,
183
- renderCard,
184
- onToggle: () => toggleCollapsed(column.id),
185
- onCardKey: handleCardKey,
186
- onStep: step,
187
- labels: labelsProp
188
- },
189
- column.id
190
- ))
191
- }
192
- ),
193
- reorder.overlay,
194
- /* @__PURE__ */ jsx(
195
- View,
196
- {
197
- role: "status",
198
- style: styles.srOnly,
199
- accessibilityLabel: message,
200
- ...{ "aria-live": "polite" },
201
- children: /* @__PURE__ */ jsx(Text, { style: styles.srOnly, children: message })
202
- }
203
- )
204
- ] });
203
+ ...reorder.scroller(ROOT_SCROLLER, { horizontal: true, page: snap }),
204
+ horizontal: true,
205
+ showsHorizontalScrollIndicator: false,
206
+ snapToInterval: snap,
207
+ decelerationRate: "fast",
208
+ contentContainerStyle: styles.track,
209
+ children: cols.map((column) => /* @__PURE__ */ jsx(
210
+ Column,
211
+ {
212
+ column,
213
+ width: colW,
214
+ collapsed: collapsed[column.id] ?? false,
215
+ reorder,
216
+ disabled,
217
+ renderCard,
218
+ onToggle: () => toggleCollapsed(column.id),
219
+ onCardKey: handleCardKey,
220
+ onStep: step,
221
+ labels: labelsProp
222
+ },
223
+ column.id
224
+ ))
225
+ }
226
+ ),
227
+ reorder.overlay,
228
+ /* @__PURE__ */ jsx(
229
+ View,
230
+ {
231
+ role: "status",
232
+ style: styles.srOnly,
233
+ accessibilityLabel: message,
234
+ ...{ "aria-live": "polite" },
235
+ children: /* @__PURE__ */ jsx(Text, { style: styles.srOnly, children: message })
236
+ }
237
+ )
238
+ ]
239
+ }
240
+ ) });
205
241
  }
242
+ var BoardLookContext = React.createContext({
243
+ variant: "default",
244
+ elevation: "flat",
245
+ padding: "md",
246
+ tone: "default",
247
+ loading: false,
248
+ density: "comfortable",
249
+ locked: false
250
+ });
206
251
  function Column({
207
252
  column,
208
253
  width,
209
254
  collapsed,
210
255
  reorder,
256
+ disabled,
211
257
  renderCard,
212
258
  onToggle,
213
259
  onCardKey,
@@ -220,6 +266,19 @@ function Column({
220
266
  const count = column.items.length;
221
267
  const over = column.wipLimit !== void 0 && count > column.wipLimit;
222
268
  const countLabel = column.wipLimit !== void 0 ? `${count} / ${column.wipLimit}` : `${count}`;
269
+ const android = isAndroidIdiom(theme);
270
+ const ios = theme.platform === "iOS";
271
+ const look = React.useContext(BoardLookContext);
272
+ const compact = look.density === "compact";
273
+ const pad = { sm: theme.space.s2, md: theme.space.s3, lg: theme.space.s4 }[look.padding];
274
+ const skin = look.tone === "default" ? null : softToneSkin(theme, look.tone);
275
+ const skinStyle = skin ? { backgroundColor: skin.fill, borderColor: skin.edge } : null;
276
+ const columnStyle = [
277
+ styles.column,
278
+ skinStyle,
279
+ look.elevation === "flat" ? null : theme.shadow[look.elevation === "raised" ? "md" : "sm"],
280
+ { padding: compact && look.padding === "md" ? theme.space.s2 : pad }
281
+ ];
223
282
  if (collapsed) {
224
283
  return /* @__PURE__ */ jsx(View, { style: [styles.page, { width }], children: /* @__PURE__ */ jsxs(
225
284
  Pressable,
@@ -231,12 +290,13 @@ function Column({
231
290
  onPress: onToggle,
232
291
  style: ({ pressed }) => [
233
292
  styles.rail,
293
+ skinStyle,
234
294
  pressed && { backgroundColor: theme.state.pressed }
235
295
  ],
236
296
  children: [
237
297
  /* @__PURE__ */ jsx(Icon, { name: "chevron-right", size: theme.icon.sm, color: theme.color.text3 }),
238
298
  /* @__PURE__ */ jsx(Text, { style: styles.railTitle, children: column.title }),
239
- /* @__PURE__ */ jsx(View, { style: styles.countNeutral, children: /* @__PURE__ */ jsx(Text, { style: styles.countNeutralText, children: count }) })
299
+ /* @__PURE__ */ jsx(Badge, { size: "sm", children: `${count}` })
240
300
  ]
241
301
  }
242
302
  ) });
@@ -246,7 +306,7 @@ function Column({
246
306
  {
247
307
  role: "group",
248
308
  accessibilityLabel: labels.columnName(column.title, count),
249
- style: styles.column,
309
+ style: columnStyle,
250
310
  children: [
251
311
  /* @__PURE__ */ jsxs(View, { style: styles.header, children: [
252
312
  /* @__PURE__ */ jsx(
@@ -257,19 +317,18 @@ function Column({
257
317
  accessibilityState: { expanded: true },
258
318
  ...expandedProps(true),
259
319
  onPress: onToggle,
260
- hitSlop: 8,
320
+ hitSlop: (theme.hit.xs - theme.ctl.xs) / 2,
321
+ android_ripple: android ? { color: theme.state.pressed, borderless: false } : void 0,
261
322
  style: ({ pressed }) => [
262
323
  styles.toggle,
263
- pressed && { backgroundColor: theme.state.pressed }
324
+ pressed && !android && { backgroundColor: theme.state.pressed }
264
325
  ],
265
- children: /* @__PURE__ */ jsx(Icon, { name: "chevron-down", size: theme.icon.sm, color: theme.color.text2 })
326
+ children: /* @__PURE__ */ jsx(Icon, { name: "chevron-down", size: theme.ctl.icon.xs, color: theme.color.text2 })
266
327
  }
267
328
  ),
268
- /* @__PURE__ */ jsx(Text, { style: styles.headerTitle, numberOfLines: 1, children: column.title }),
269
- over ? /* @__PURE__ */ jsxs(View, { style: styles.countWarn, children: [
270
- /* @__PURE__ */ jsx(Icon, { name: "alert-triangle", size: theme.icon.xs, color: theme.color.warnOnSoft }),
271
- /* @__PURE__ */ jsx(Text, { style: styles.countWarnText, children: countLabel })
272
- ] }) : /* @__PURE__ */ jsx(View, { style: styles.countNeutral, children: /* @__PURE__ */ jsx(Text, { style: styles.countNeutralText, children: countLabel }) })
329
+ /* @__PURE__ */ jsx(Text, { style: [styles.headerTitle, ios && styles.headerTitleIos], numberOfLines: 1, children: column.title }),
330
+ look.loading ? /* @__PURE__ */ jsx(ActivityIndicator, { "aria-hidden": true, size: "small", color: theme.color.text3, testID: "board-loading" }) : null,
331
+ over ? /* @__PURE__ */ jsx(Badge, { size: "sm", variant: "warn", leadingIcon: "alert-triangle", children: countLabel }) : /* @__PURE__ */ jsx(Badge, { size: "sm", children: countLabel })
273
332
  ] }),
274
333
  /* @__PURE__ */ jsx(
275
334
  ScrollView,
@@ -280,33 +339,41 @@ function Column({
280
339
  contentContainerStyle: styles.listPad,
281
340
  showsVerticalScrollIndicator: false,
282
341
  ...{ "aria-label": labels.cardList(column.title) },
283
- children: /* @__PURE__ */ jsx(View, { ...reorder.group(column.id), style: styles.list, children: count === 0 ? (
284
- // The empty placeholder is the sole item of the `role="list"`, so it
285
- // is a `listitem` too (a list may contain only listitems). While a
286
- // card hovers this column the slot takes its place.
287
- /* @__PURE__ */ jsx(
288
- View,
289
- {
290
- role: "listitem",
291
- style: [styles.empty, reorder.over === column.id && styles.emptyHidden],
292
- children: /* @__PURE__ */ jsx(Text, { style: styles.emptyText, children: labels.noCards })
293
- }
294
- )
295
- ) : column.items.map((card, row) => /* @__PURE__ */ jsx(
296
- CardCell,
342
+ children: /* @__PURE__ */ jsx(
343
+ View,
297
344
  {
298
- card,
299
- column,
300
- index: row,
301
- total: count,
302
- reorder,
303
- renderCard,
304
- onCardKey,
305
- onStep,
306
- labels: labelsProp
307
- },
308
- card.id
309
- )) })
345
+ ...reorder.group(column.id),
346
+ style: [styles.list, compact ? { gap: theme.space.s1 } : null],
347
+ children: count === 0 ? (
348
+ // The empty placeholder is the sole item of the `role="list"`, so it
349
+ // is a `listitem` too (a list may contain only listitems). While a
350
+ // card hovers this column the slot takes its place.
351
+ /* @__PURE__ */ jsx(
352
+ View,
353
+ {
354
+ role: "listitem",
355
+ style: [styles.empty, reorder.over === column.id && styles.emptyHidden],
356
+ children: /* @__PURE__ */ jsx(Text, { style: styles.emptyText, children: labels.noCards })
357
+ }
358
+ )
359
+ ) : column.items.map((card, row) => /* @__PURE__ */ jsx(
360
+ CardCell,
361
+ {
362
+ card,
363
+ column,
364
+ index: row,
365
+ total: count,
366
+ reorder,
367
+ disabled,
368
+ renderCard,
369
+ onCardKey,
370
+ onStep,
371
+ labels: labelsProp
372
+ },
373
+ card.id
374
+ ))
375
+ }
376
+ )
310
377
  }
311
378
  )
312
379
  ]
@@ -320,10 +387,27 @@ function CardBody({
320
387
  lifted = false
321
388
  }) {
322
389
  const { styles } = useStyles(sheet);
323
- return /* @__PURE__ */ jsx(Card, { variant: "default", dragging: lifted, motion: "none", children: /* @__PURE__ */ jsxs(CardContent, { style: styles.cardBody, children: [
324
- /* @__PURE__ */ jsx(Text, { style: styles.cardTitle, children: card.title }),
325
- card.description ? /* @__PURE__ */ jsx(Text, { style: styles.cardDesc, children: card.description }) : null
326
- ] }) });
390
+ const look = React.useContext(BoardLookContext);
391
+ return /* @__PURE__ */ jsx(
392
+ Card,
393
+ {
394
+ variant: look.variant,
395
+ dragging: lifted,
396
+ selected: card.selected,
397
+ motion: "none",
398
+ style: styles.card,
399
+ children: /* @__PURE__ */ jsxs(
400
+ CardContent,
401
+ {
402
+ style: [styles.cardBody, look.density === "compact" ? styles.cardBodyCompact : null],
403
+ children: [
404
+ /* @__PURE__ */ jsx(Text, { style: styles.cardTitle, children: card.title }),
405
+ card.description ? /* @__PURE__ */ jsx(Text, { style: styles.cardDesc, children: card.description }) : null
406
+ ]
407
+ }
408
+ )
409
+ }
410
+ );
327
411
  }
328
412
  function CardCell({
329
413
  card,
@@ -331,6 +415,7 @@ function CardCell({
331
415
  index,
332
416
  total,
333
417
  reorder,
418
+ disabled,
334
419
  renderCard,
335
420
  onCardKey,
336
421
  onStep,
@@ -339,6 +424,7 @@ function CardCell({
339
424
  const { styles } = useStyles(sheet);
340
425
  const theme = useLoamTheme("board");
341
426
  const labels = useLabels("board", DEFAULT_LABELS, labelsProp);
427
+ const { locked } = React.useContext(BoardLookContext);
342
428
  const cardActions = CARD_ACTION_NAMES.map((name) => ({ name, label: labels[name] }));
343
429
  const keyProps = {
344
430
  onKeyDown: (event) => onCardKey(event, card.id)
@@ -353,14 +439,20 @@ function CardCell({
353
439
  /* @__PURE__ */ jsx(Animated.View, { role: "listitem", ...reorder.item(card.id, column.id, index), children: /* @__PURE__ */ jsx(
354
440
  Pressable,
355
441
  {
356
- ...reorder.press(card.id),
357
- accessibilityRole: "button",
442
+ ...disabled || locked ? {} : reorder.press(card.id),
443
+ disabled: disabled || locked,
444
+ accessibilityRole: locked ? void 0 : "button",
358
445
  accessibilityLabel: card.title,
359
- accessibilityHint: labels.cardHint(index + 1, total, column.title),
360
- accessibilityActions: cardActions,
361
- onAccessibilityAction: onAction,
362
- style: ({ pressed }) => [styles.card, pressed && { opacity: theme.state.pressedOpacity }],
363
- ...keyProps,
446
+ accessibilityState: disabled ? { disabled: true } : void 0,
447
+ accessibilityHint: disabled || locked ? void 0 : labels.cardHint(index + 1, total, column.title),
448
+ accessibilityActions: disabled || locked ? void 0 : cardActions,
449
+ onAccessibilityAction: disabled || locked ? void 0 : onAction,
450
+ style: ({ pressed }) => [
451
+ styles.card,
452
+ pressed && !disabled && { opacity: theme.state.pressedOpacity },
453
+ disabled && { opacity: theme.state.disabledOpacity }
454
+ ],
455
+ ...disabled || locked ? {} : keyProps,
364
456
  children: renderCard ? renderCard(card, column) : /* @__PURE__ */ jsx(CardBody, { card })
365
457
  }
366
458
  ) })
@@ -380,7 +472,14 @@ var sheet = createStyleSheet((theme) => ({
380
472
  gap: theme.space.s3
381
473
  },
382
474
  header: { flexDirection: "row", alignItems: "center", gap: theme.space.s2 },
383
- toggle: { borderRadius: theme.radius.sm, padding: theme.space.s1 },
475
+ toggle: {
476
+ width: theme.ctl.xs,
477
+ height: theme.ctl.xs,
478
+ borderRadius: theme.ctl.r.xs,
479
+ alignItems: "center",
480
+ justifyContent: "center",
481
+ overflow: "hidden"
482
+ },
384
483
  headerTitle: {
385
484
  flex: 1,
386
485
  fontFamily: theme.font.sans,
@@ -389,35 +488,8 @@ var sheet = createStyleSheet((theme) => ({
389
488
  lineHeight: theme.type.subheadline.lineHeight,
390
489
  color: theme.color.text
391
490
  },
392
- countNeutral: {
393
- borderRadius: theme.radius.full,
394
- backgroundColor: theme.color.surface3,
395
- paddingHorizontal: theme.space.s2,
396
- paddingVertical: theme.space[2]
397
- },
398
- countNeutralText: {
399
- fontFamily: theme.font.mono,
400
- fontSize: theme.type.caption1.fontSize,
401
- // Primary ink: `text2` is only ~4.4:1 on the pill's surface-3 fill, short of
402
- // AA; primary `text` clears it (~12.7:1 light / ~11.6:1 dark).
403
- color: theme.color.text
404
- },
405
- countWarn: {
406
- flexDirection: "row",
407
- alignItems: "center",
408
- gap: theme.space.s1,
409
- borderRadius: theme.radius.full,
410
- borderWidth: theme.borderWidth.base,
411
- borderColor: theme.edge.warn,
412
- backgroundColor: theme.color.warnSoft,
413
- paddingHorizontal: theme.space.s2,
414
- paddingVertical: theme.space[2]
415
- },
416
- countWarnText: {
417
- fontFamily: theme.font.mono,
418
- fontSize: theme.type.caption1.fontSize,
419
- color: theme.color.warnOnSoft
420
- },
491
+ // iOS headers carry the system's semibold label weight (F35).
492
+ headerTitleIos: { fontWeight: theme.fontWeight.semibold },
421
493
  // A scroller clips its content, and a card's shadow reaches ~14px past it.
422
494
  // Bleed the scroller out over the column's padding (and the header gap) and
423
495
  // pad it back in, so the shadows fade out inside the clip instead of being
@@ -439,8 +511,9 @@ var sheet = createStyleSheet((theme) => ({
439
511
  fontSize: theme.type.footnote.fontSize,
440
512
  color: theme.color.text3
441
513
  },
442
- card: { borderRadius: theme.radius.xl },
514
+ card: { borderRadius: theme.radius.lg },
443
515
  cardBody: { padding: theme.space.s3, gap: theme.space.s1 },
516
+ cardBodyCompact: { padding: theme.space.s2 },
444
517
  cardTitle: {
445
518
  fontFamily: theme.font.sans,
446
519
  fontWeight: theme.fontWeight.bold,
@@ -0,0 +1,75 @@
1
+ import { Text } from './chunk-L4D5LHCH.js';
2
+ import { isAndroidIdiom } from './chunk-TH4PW2WU.js';
3
+ import 'react';
4
+ import { View, Pressable } from 'react-native';
5
+ import { useLoamTheme } from '@btndprojects/loam-theme-native';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+
8
+ function SectionHeader({
9
+ title,
10
+ variant = "list",
11
+ action,
12
+ density = "comfortable",
13
+ size,
14
+ platform,
15
+ style,
16
+ testID
17
+ }) {
18
+ const theme = useLoamTheme("section-header");
19
+ const android = isAndroidIdiom(theme, platform);
20
+ const prominent = !android && variant === "prominent";
21
+ const ladder = android ? ["labelMedium", "titleSmall", "titleMedium"] : prominent ? ["title3", "title2", "title1"] : ["caption1", "footnote", "subheadline"];
22
+ const titleVariant = ladder[size === "sm" ? 0 : size === "lg" ? 2 : 1];
23
+ const linkLadder = android ? ["labelMedium", "labelLarge", "titleSmall"] : prominent ? ["subheadline", "body", "headline"] : ["caption1", "footnote", "subheadline"];
24
+ const linkVariant = linkLadder[size === "sm" ? 0 : size === "lg" ? 2 : 1];
25
+ return /* @__PURE__ */ jsxs(
26
+ View,
27
+ {
28
+ testID,
29
+ style: [
30
+ {
31
+ flexDirection: "row",
32
+ alignItems: prominent ? "baseline" : "center",
33
+ justifyContent: "space-between",
34
+ gap: theme.space[8],
35
+ paddingHorizontal: theme.space[16],
36
+ paddingTop: density === "compact" ? prominent ? theme.space[12] : theme.space[8] : prominent ? theme.space[20] : theme.space[16],
37
+ paddingBottom: density === "compact" ? prominent ? theme.space[4] : theme.space[2] : prominent ? theme.space[8] : theme.space[6]
38
+ },
39
+ style
40
+ ],
41
+ children: [
42
+ /* @__PURE__ */ jsx(
43
+ Text,
44
+ {
45
+ accessibilityRole: "header",
46
+ platform: android ? "android" : "ios",
47
+ numberOfLines: 1,
48
+ variant: titleVariant,
49
+ tone: android ? "accent" : prominent ? "default" : "secondary",
50
+ style: [
51
+ { flexShrink: 1 },
52
+ prominent ? { fontWeight: theme.fontWeight.bold } : null,
53
+ !android && !prominent ? { textTransform: "uppercase" } : null
54
+ ],
55
+ children: title
56
+ }
57
+ ),
58
+ action ? /* @__PURE__ */ jsx(
59
+ Pressable,
60
+ {
61
+ accessibilityRole: "button",
62
+ accessibilityLabel: action.label,
63
+ onPress: action.onPress,
64
+ hitSlop: theme.space[8],
65
+ android_ripple: android ? { color: theme.state.pressed, borderless: true } : void 0,
66
+ style: ({ pressed }) => pressed && !android ? { opacity: theme.state.pressedOpacity } : null,
67
+ children: /* @__PURE__ */ jsx(Text, { platform: android ? "android" : "ios", variant: linkVariant, tone: "accent", children: action.label })
68
+ }
69
+ ) : null
70
+ ]
71
+ }
72
+ );
73
+ }
74
+
75
+ export { SectionHeader };