@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.
- package/dist/accordion/index.js +7 -3
- package/dist/adaptive/index.js +16 -2
- package/dist/address-block/index.js +23 -0
- package/dist/alert/index.js +8 -2
- package/dist/analyzer/index.js +17 -6
- package/dist/announcement/index.js +18 -5
- package/dist/appearance-picker/index.js +15 -0
- package/dist/audio-player/index.js +29 -3
- package/dist/avatar/index.js +5 -2
- package/dist/avatar-group/index.js +9 -3
- package/dist/badge/index.js +10 -4
- package/dist/banner/index.js +6 -2
- package/dist/board/index.js +18 -6
- package/dist/button/index.js +9 -3
- package/dist/camera-permission/index.js +23 -12
- package/dist/capture-result/index.js +30 -17
- package/dist/card/index.js +10 -3
- package/dist/card-form/index.js +19 -9
- package/dist/carousel/index.js +6 -2
- package/dist/chart/index.js +18 -5
- package/dist/charts/index.js +21 -6
- package/dist/chat/index.js +41 -0
- package/dist/checkbox/index.js +9 -5
- package/dist/checklist/index.js +20 -8
- package/dist/checkout/index.js +30 -12
- package/dist/chip/index.js +11 -5
- package/dist/chunk-2BZD3NAP.js +1110 -0
- package/dist/chunk-2YKVID2V.js +35 -0
- package/dist/{chunk-JUAMLEHX.js → chunk-36DA3IPO.js} +137 -37
- package/dist/chunk-3A56MIAN.js +599 -0
- package/dist/chunk-3SCKCWF5.js +298 -0
- package/dist/chunk-3TZNDHKO.js +187 -0
- package/dist/chunk-43K3BLXV.js +9 -0
- package/dist/chunk-46ZJIQ2Z.js +208 -0
- package/dist/chunk-4CZMQDQL.js +192 -0
- package/dist/chunk-5DTKORLI.js +255 -0
- package/dist/{chunk-LOE5YNN3.js → chunk-5J4WFXFA.js} +68 -24
- package/dist/chunk-5KJ7TEQ6.js +305 -0
- package/dist/chunk-5NU33TXK.js +529 -0
- package/dist/chunk-5Z5ZYMOJ.js +1 -0
- package/dist/chunk-6KSUS7DF.js +690 -0
- package/dist/chunk-6RV6UW2J.js +349 -0
- package/dist/chunk-6RZM7RP2.js +520 -0
- package/dist/{chunk-4BXMXBJO.js → chunk-75BDCC7K.js} +24 -11
- package/dist/{chunk-PZXZJBMP.js → chunk-7CGJBQUA.js} +357 -32
- package/dist/{chunk-CJ5EOYZE.js → chunk-7IVF6JLJ.js} +24 -7
- package/dist/chunk-7IWCGXYA.js +143 -0
- package/dist/chunk-7LM4ASFH.js +172 -0
- package/dist/chunk-7MCEJFWV.js +341 -0
- package/dist/chunk-7NGMUVNU.js +245 -0
- package/dist/chunk-7PBSIXT7.js +355 -0
- package/dist/chunk-7QOYGENL.js +443 -0
- package/dist/{chunk-H6NIOQHK.js → chunk-A7SWYDE5.js} +66 -15
- package/dist/chunk-ADHPJALR.js +3051 -0
- package/dist/chunk-ALJYZLNQ.js +509 -0
- package/dist/chunk-APCWFOZW.js +28 -0
- package/dist/chunk-AQ5FIG74.js +419 -0
- package/dist/chunk-AWKQIE5I.js +139 -0
- package/dist/chunk-B2MMZZQB.js +426 -0
- package/dist/{chunk-ZVFE5QGU.js → chunk-B7JZ3N5G.js} +174 -97
- package/dist/chunk-BL37SW6G.js +1314 -0
- package/dist/chunk-BTRMA7GC.js +21 -0
- package/dist/chunk-C7IUWIUZ.js +643 -0
- package/dist/chunk-CA3DUVYD.js +10 -0
- package/dist/{chunk-S7F6XLTK.js → chunk-CBCJSO2B.js} +213 -54
- package/dist/chunk-CHPX4MFI.js +239 -0
- package/dist/chunk-CLGAMIOT.js +648 -0
- package/dist/chunk-CUE7VML6.js +1141 -0
- package/dist/chunk-CVU6S2E5.js +1587 -0
- package/dist/{chunk-AZRX6SAC.js → chunk-CXPQMA6Z.js} +112 -37
- package/dist/chunk-D2LN4I7I.js +581 -0
- package/dist/{chunk-UWFLYMAR.js → chunk-D34LNBO5.js} +635 -238
- package/dist/chunk-D4BCQICM.js +765 -0
- package/dist/chunk-EABKIIA4.js +1 -0
- package/dist/chunk-EICSYRAG.js +341 -0
- package/dist/chunk-EMWAJMAS.js +83 -0
- package/dist/chunk-EOLZWRV6.js +149 -0
- package/dist/chunk-EOQVTGB6.js +350 -0
- package/dist/{chunk-BEDBFJND.js → chunk-ESGUHNB2.js} +119 -43
- package/dist/{chunk-Q72LJOVE.js → chunk-F2KNBPKY.js} +74 -18
- package/dist/{chunk-O7AE6DAF.js → chunk-G7H3NX3G.js} +57 -24
- package/dist/chunk-GM7YIPB7.js +1052 -0
- package/dist/chunk-GVQQG435.js +581 -0
- package/dist/chunk-HE43OMEL.js +1056 -0
- package/dist/chunk-HHOMFQ7R.js +2535 -0
- package/dist/chunk-HJFFOOJ4.js +1 -0
- package/dist/chunk-HNAKS4Z3.js +207 -0
- package/dist/chunk-HP6ST2OW.js +352 -0
- package/dist/chunk-HW3OWDTU.js +1 -0
- package/dist/{chunk-3ENTMPQY.js → chunk-HZDB44K4.js} +102 -52
- package/dist/chunk-I2KLQ2HA.js +19 -0
- package/dist/chunk-I6CUP2LW.js +1155 -0
- package/dist/chunk-ICV4Y2WY.js +27 -0
- package/dist/chunk-IHSIENOE.js +3950 -0
- package/dist/{chunk-CUMUNPXY.js → chunk-IMMALLRU.js} +68 -32
- package/dist/chunk-J64KGCGX.js +55 -0
- package/dist/{chunk-IVNRBPGC.js → chunk-JA6TK7H2.js} +255 -84
- package/dist/{chunk-OOPPQH27.js → chunk-JAVZ5JPV.js} +83 -29
- package/dist/chunk-JCMTP3E4.js +1251 -0
- package/dist/{chunk-U7TFM2JA.js → chunk-JCXFFK64.js} +75 -18
- package/dist/chunk-JWCVBFDU.js +236 -0
- package/dist/chunk-JXRTD5RI.js +414 -0
- package/dist/chunk-JYIUZUIQ.js +1567 -0
- package/dist/chunk-K3TK3GIV.js +219 -0
- package/dist/chunk-KEVZIHM2.js +1511 -0
- package/dist/chunk-KHZDNQQD.js +171 -0
- package/dist/chunk-KL4GDV4V.js +131 -0
- package/dist/chunk-KNILMM4H.js +225 -0
- package/dist/chunk-KRBUZV45.js +25 -0
- package/dist/{chunk-ITTYJZWX.js → chunk-KXLDK6HB.js} +161 -45
- package/dist/chunk-KZ3X7TSL.js +196 -0
- package/dist/chunk-L2WMOA2V.js +474 -0
- package/dist/chunk-L4D5LHCH.js +109 -0
- package/dist/chunk-LAUJPLDB.js +853 -0
- package/dist/{chunk-SBMNWWBV.js → chunk-LGNTP5XA.js} +89 -17
- package/dist/chunk-LUZFCCSD.js +271 -0
- package/dist/{chunk-HPPW424V.js → chunk-LXJCP4PL.js} +129 -37
- package/dist/chunk-MCOZJWPU.js +731 -0
- package/dist/chunk-MG4SKWLL.js +2587 -0
- package/dist/chunk-MPEPTSER.js +414 -0
- package/dist/chunk-MWPJ4YGP.js +1 -0
- package/dist/{chunk-TKQYWZ5V.js → chunk-N7AX4OA4.js} +108 -41
- package/dist/chunk-NHSLM6SE.js +523 -0
- package/dist/chunk-NNCOFLNE.js +24 -0
- package/dist/{chunk-J7Q7VCVC.js → chunk-NNJLVA7M.js} +54 -15
- package/dist/chunk-NZG75DGA.js +282 -0
- package/dist/chunk-O76QXRBV.js +431 -0
- package/dist/chunk-OANH27AK.js +223 -0
- package/dist/chunk-OCHPK5YV.js +609 -0
- package/dist/chunk-OMHVEVX4.js +436 -0
- package/dist/{chunk-YF4NSSMT.js → chunk-ONKQUJWD.js} +220 -65
- package/dist/chunk-OVTK7A6T.js +615 -0
- package/dist/chunk-PCEFCOLN.js +120 -0
- package/dist/chunk-PFLNFIVB.js +186 -0
- package/dist/chunk-PHSZY37H.js +300 -0
- package/dist/chunk-PJLTKDVY.js +18 -0
- package/dist/{chunk-4YIP3CWS.js → chunk-PK7BN3MI.js} +89 -19
- package/dist/{chunk-KMI5ML5I.js → chunk-PWFRDRGS.js} +155 -29
- package/dist/chunk-PYPMD46W.js +707 -0
- package/dist/chunk-Q6CCHDI7.js +331 -0
- package/dist/chunk-QFA5WS2A.js +750 -0
- package/dist/chunk-QJMMM4RC.js +124 -0
- package/dist/chunk-QNZII37O.js +10 -0
- package/dist/chunk-QYWEVAM6.js +407 -0
- package/dist/chunk-R5T4VZ7Z.js +126 -0
- package/dist/chunk-R77HFLZD.js +1 -0
- package/dist/{chunk-YC6WORFL.js → chunk-RAESDNU5.js} +228 -102
- package/dist/chunk-RBYQUXNL.js +1 -0
- package/dist/chunk-RCM3DT5E.js +1 -0
- package/dist/chunk-RGNY56L7.js +282 -0
- package/dist/chunk-RIK6UX2K.js +344 -0
- package/dist/{chunk-LAECSR4H.js → chunk-RJA3RXO3.js} +75 -60
- package/dist/chunk-RJYRJ3LD.js +1 -0
- package/dist/chunk-RMA3NOY4.js +599 -0
- package/dist/{chunk-DM5QUKKO.js → chunk-RSWKKAHK.js} +160 -66
- package/dist/chunk-RVOIIX3V.js +204 -0
- package/dist/chunk-SA2RRBGT.js +1077 -0
- package/dist/chunk-SG3J4R45.js +1428 -0
- package/dist/chunk-SPUK7JD4.js +238 -0
- package/dist/chunk-SWXV2K5N.js +434 -0
- package/dist/chunk-SYJEPXP6.js +1303 -0
- package/dist/{chunk-N32RGOA5.js → chunk-SZLI34TA.js} +93 -28
- package/dist/{chunk-4GBOGOTV.js → chunk-T77WJA74.js} +143 -18
- package/dist/chunk-TDWWVJA4.js +630 -0
- package/dist/chunk-TFHI5XDR.js +610 -0
- package/dist/chunk-TH4PW2WU.js +17 -0
- package/dist/chunk-TTQ24HQX.js +12 -0
- package/dist/chunk-TUACVJNG.js +12 -0
- package/dist/{chunk-CYRBHQQZ.js → chunk-TUL5RUIA.js} +201 -59
- package/dist/{chunk-4ZAHCY44.js → chunk-TYOSA7JG.js} +74 -38
- package/dist/chunk-TYQTMMEV.js +1 -0
- package/dist/chunk-TZO6YDS7.js +346 -0
- package/dist/chunk-U3ETF22F.js +328 -0
- package/dist/chunk-U6BYHD2N.js +213 -0
- package/dist/{chunk-WSW6ZFAQ.js → chunk-UF6EJXPQ.js} +20 -5
- package/dist/chunk-UNNQIPGK.js +792 -0
- package/dist/chunk-UQEN55EY.js +1 -0
- package/dist/chunk-UQVO6AJV.js +171 -0
- package/dist/chunk-VFDQAAIW.js +351 -0
- package/dist/chunk-VIUE3VQT.js +1 -0
- package/dist/chunk-VJLSSSGC.js +438 -0
- package/dist/chunk-VLMT6KYT.js +350 -0
- package/dist/chunk-VMHGBUGS.js +35 -0
- package/dist/{chunk-7O2FMUPT.js → chunk-VQKPBYW6.js} +400 -139
- package/dist/{chunk-EJBDRVIH.js → chunk-VSSTWLC5.js} +61 -16
- package/dist/chunk-VZYYZRPN.js +1992 -0
- package/dist/chunk-W23G6JLF.js +37 -0
- package/dist/chunk-WAIJCD2V.js +480 -0
- package/dist/chunk-WFMQ3WKM.js +378 -0
- package/dist/chunk-WJ2KDRMY.js +66 -0
- package/dist/chunk-WKFZJO54.js +437 -0
- package/dist/{chunk-SYNOJOQO.js → chunk-WVVD3XOV.js} +189 -93
- package/dist/chunk-XAIWMSLB.js +1 -0
- package/dist/chunk-XBXUBBJZ.js +98 -0
- package/dist/chunk-XCU7MYBJ.js +1 -0
- package/dist/chunk-XHE4PGCI.js +717 -0
- package/dist/chunk-XRSJ32M3.js +331 -0
- package/dist/chunk-XTCVOEAW.js +1 -0
- package/dist/chunk-XWGXVQF6.js +58 -0
- package/dist/{chunk-35OFI3JG.js → chunk-Y3XKKO5K.js} +258 -123
- package/dist/chunk-Y4QNMBLO.js +533 -0
- package/dist/chunk-Y5H4CTKO.js +1 -0
- package/dist/chunk-YBQIN75A.js +403 -0
- package/dist/chunk-YJ5PXOX3.js +158 -0
- package/dist/{chunk-AWJOCGFZ.js → chunk-YLRSRUPS.js} +81 -55
- package/dist/chunk-YM6MPJ4A.js +1 -0
- package/dist/chunk-YV7KZENV.js +200 -0
- package/dist/chunk-Z7I4ZSO6.js +316 -0
- package/dist/chunk-ZIRMWD2B.js +555 -0
- package/dist/chunk-ZPMG3FWU.js +75 -0
- package/dist/{chunk-QWCMU5B2.js → chunk-ZTXMK2G7.js} +289 -115
- package/dist/chunk-ZVJCWXAL.js +541 -0
- package/dist/{chunk-P23EQNRQ.js → chunk-ZYQ23DPT.js} +215 -49
- package/dist/coachmark/index.js +10 -3
- package/dist/code-block/index.js +6 -3
- package/dist/color-field/index.js +15 -5
- package/dist/color-picker/index.js +23 -0
- package/dist/commerce/index.js +31 -17
- package/dist/confirm/index.js +31 -0
- package/dist/connection-card/index.js +34 -0
- package/dist/connectivity/index.js +6 -2
- package/dist/context-menu/index.js +13 -3
- package/dist/copy-button/index.js +5 -2
- package/dist/data-grid/index.js +35 -17
- package/dist/date-range-picker/index.js +22 -9
- package/dist/description-list/index.js +6 -1
- package/dist/device-frame/index.js +30 -0
- package/dist/dialog/index.js +10 -2
- package/dist/divider/index.js +2 -0
- package/dist/empty-state/index.js +15 -2
- package/dist/error-summary/index.js +9 -2
- package/dist/fab/index.js +7 -2
- package/dist/file-manager/index.js +44 -0
- package/dist/file-upload/index.js +16 -7
- package/dist/filter-bar/index.js +14 -7
- package/dist/flow-run/index.js +23 -13
- package/dist/form/index.js +32 -3
- package/dist/gallery/index.js +8 -2
- package/dist/hold-to-confirm/index.js +6 -2
- package/dist/hover-card/index.js +18 -0
- package/dist/icon-tile/index.js +10 -0
- package/dist/image/index.js +9 -0
- package/dist/index.d.ts +30789 -12332
- package/dist/index.js +424 -135
- package/dist/infinite-list/index.js +6 -2
- package/dist/inline-edit/index.js +8 -5
- package/dist/input/index.js +7 -4
- package/dist/interactions/index.js +5 -1
- package/dist/invoice/index.js +22 -9
- package/dist/job-row/index.js +22 -0
- package/dist/json-inspector/index.js +20 -0
- package/dist/kbd/index.js +5 -1
- package/dist/keyboard/index.js +9 -2
- package/dist/level-meter/index.js +9 -0
- package/dist/list-row/index.js +14 -4
- package/dist/log-viewer/index.js +11 -2
- package/dist/map-view/index.js +16 -3
- package/dist/markdown/index.js +12 -6
- package/dist/metric/index.js +10 -4
- package/dist/metric-strip/index.js +12 -0
- package/dist/money/index.js +16 -3
- package/dist/nav-drawer/index.js +8 -2
- package/dist/nav-header/index.js +15 -0
- package/dist/navigation/index.js +32 -2
- package/dist/notification-center/index.js +28 -12
- package/dist/number-roll/index.js +7 -2
- package/dist/onboarding-pager/index.js +22 -0
- package/dist/one-handed/index.js +5 -3
- package/dist/os-surfaces/index.js +9 -3
- package/dist/otp/index.js +9 -5
- package/dist/page-header/index.js +3 -1
- package/dist/pagination/index.js +8 -0
- package/dist/payment-method/index.js +21 -11
- package/dist/payment-status/index.js +26 -15
- package/dist/permission/index.js +21 -2
- package/dist/picker/index.js +22 -6
- package/dist/progress/index.js +11 -3
- package/dist/provenance/index.js +16 -0
- package/dist/pull-to-refresh/index.js +4 -2
- package/dist/qr-code/index.js +16 -0
- package/dist/query-builder/index.js +30 -0
- package/dist/radio-group/index.js +9 -5
- package/dist/rating/index.js +10 -2
- package/dist/receivables/index.js +35 -17
- package/dist/recording-indicator/index.js +21 -0
- package/dist/refund/index.js +28 -15
- package/dist/repeatable-rows/index.js +19 -0
- package/dist/save-status/index.js +7 -3
- package/dist/screen/index.js +3 -0
- package/dist/scroll-area/index.js +3 -1
- package/dist/search-field/index.js +13 -0
- package/dist/secret-field/index.js +19 -0
- package/dist/section-header/index.js +4 -0
- package/dist/segmented-control/index.js +4 -3
- package/dist/sheet/index.js +11 -3
- package/dist/shortcuts-sheet/index.js +2 -0
- package/dist/sign-in-screen/index.js +25 -0
- package/dist/skeleton/index.js +5 -1
- package/dist/slider/index.js +5 -2
- package/dist/sortable/index.js +8 -0
- package/dist/spinner/index.js +4 -1
- package/dist/split-button/index.js +21 -6
- package/dist/spotlight/index.js +9 -1
- package/dist/stack/index.js +2 -0
- package/dist/stage-timeline/index.js +8 -3
- package/dist/status-dot/index.js +8 -2
- package/dist/stepper/index.js +11 -4
- package/dist/streaming-text/index.js +4 -2
- package/dist/survey/index.js +29 -16
- package/dist/switch/index.js +9 -3
- package/dist/system-state/index.js +15 -4
- package/dist/tab-bar/index.js +13 -2
- package/dist/tabs/index.js +12 -2
- package/dist/tags-input/index.js +13 -0
- package/dist/text/index.js +4 -0
- package/dist/textarea/index.js +8 -5
- package/dist/thinking/index.js +6 -1
- package/dist/tile-rail/index.js +10 -0
- package/dist/time-field/index.js +20 -0
- package/dist/time-range-control/index.js +36 -0
- package/dist/timeline/index.js +4 -2
- package/dist/toast/index.js +6 -2
- package/dist/toolbar/index.js +5 -2
- package/dist/tour/index.js +15 -10
- package/dist/transcript/index.js +28 -0
- package/dist/truncation-notice/index.js +5 -2
- package/dist/update-notice/index.js +19 -9
- package/dist/video-player/index.js +29 -2
- package/dist/viewfinder/index.js +15 -5
- package/dist/widget/index.js +14 -4
- package/dist/wizard/index.js +10 -4
- package/package.json +13 -12
- package/dist/chunk-223Q2T2Q.js +0 -229
- package/dist/chunk-2A5NIQAK.js +0 -254
- package/dist/chunk-2GK6PHGE.js +0 -363
- package/dist/chunk-2ZZ7TDJ4.js +0 -324
- package/dist/chunk-3ARE4TES.js +0 -195
- package/dist/chunk-3NMD74ZU.js +0 -4
- package/dist/chunk-3WPW4KUN.js +0 -182
- package/dist/chunk-423B7SPN.js +0 -993
- package/dist/chunk-47FWHGUN.js +0 -394
- package/dist/chunk-4DS5ZWVC.js +0 -83
- package/dist/chunk-4SZYY6AN.js +0 -99
- package/dist/chunk-4YQOR7JM.js +0 -204
- package/dist/chunk-52X2VYTD.js +0 -228
- package/dist/chunk-5YNTNN5A.js +0 -177
- package/dist/chunk-6HT2LP62.js +0 -504
- package/dist/chunk-6N33LFQA.js +0 -35
- package/dist/chunk-6X6PQ443.js +0 -432
- package/dist/chunk-7CFF4HXS.js +0 -126
- package/dist/chunk-AI4DWZCD.js +0 -162
- package/dist/chunk-BTTFCMKG.js +0 -166
- package/dist/chunk-BV3B2HYZ.js +0 -1635
- package/dist/chunk-C2NTXVWM.js +0 -98
- package/dist/chunk-CDRZHT42.js +0 -424
- package/dist/chunk-DHWADYZX.js +0 -144
- package/dist/chunk-F5XNPWS7.js +0 -1024
- package/dist/chunk-FMYDDECK.js +0 -1521
- package/dist/chunk-GDKZTW34.js +0 -395
- package/dist/chunk-GL7B2DOW.js +0 -134
- package/dist/chunk-GNNJ4GCC.js +0 -471
- package/dist/chunk-HET4LLMX.js +0 -129
- package/dist/chunk-HZ6CNMAF.js +0 -870
- package/dist/chunk-IIQTAY3J.js +0 -715
- package/dist/chunk-JNH2TYIN.js +0 -96
- package/dist/chunk-JNY4ZHAR.js +0 -634
- package/dist/chunk-JXJB2X6M.js +0 -131
- package/dist/chunk-LRJNDEIA.js +0 -302
- package/dist/chunk-LSS54GLJ.js +0 -116
- package/dist/chunk-LZLHELAG.js +0 -137
- package/dist/chunk-MOUJOP55.js +0 -425
- package/dist/chunk-NKB7BZYK.js +0 -167
- package/dist/chunk-NQYBUO3K.js +0 -1795
- package/dist/chunk-O4AEHWII.js +0 -464
- package/dist/chunk-OETCUXQP.js +0 -134
- package/dist/chunk-OPXFZ4Y5.js +0 -204
- package/dist/chunk-PJXUJYS6.js +0 -248
- package/dist/chunk-PUPM2YGF.js +0 -376
- package/dist/chunk-QCDXZBC5.js +0 -247
- package/dist/chunk-QDYDBCFP.js +0 -197
- package/dist/chunk-QJJ6MADV.js +0 -274
- package/dist/chunk-QKXCPTFS.js +0 -349
- package/dist/chunk-RIBDXGUG.js +0 -108
- package/dist/chunk-RJQOOHT2.js +0 -214
- package/dist/chunk-RNGLIHFA.js +0 -191
- package/dist/chunk-RQ3HASCC.js +0 -6
- package/dist/chunk-RSOJT5YW.js +0 -124
- package/dist/chunk-RUZHTGKB.js +0 -237
- package/dist/chunk-RW6ZL2FQ.js +0 -284
- package/dist/chunk-TKVFVF5D.js +0 -95
- package/dist/chunk-TOXAGRDQ.js +0 -144
- package/dist/chunk-TUTI5HOZ.js +0 -112
- package/dist/chunk-UC2WGUP3.js +0 -627
- package/dist/chunk-UYG5L34B.js +0 -87
- package/dist/chunk-VBOXAEPI.js +0 -336
- package/dist/chunk-VCDBXW5H.js +0 -188
- package/dist/chunk-VEAYTRPX.js +0 -414
- package/dist/chunk-VQHPQEUH.js +0 -273
- package/dist/chunk-VXDZFJGP.js +0 -874
- package/dist/chunk-XNUVB5OL.js +0 -375
- package/dist/chunk-XOSCY2CW.js +0 -242
- package/dist/chunk-XXXEFXY5.js +0 -99
- package/dist/chunk-YDGVJETP.js +0 -60
- package/dist/chunk-YG3ZJHGU.js +0 -223
- package/dist/chunk-YTFKPRUK.js +0 -845
- package/dist/chunk-Z7H7VSFZ.js +0 -323
- package/dist/header/index.js +0 -5
- package/dist/search-bar/index.js +0 -5
- /package/dist/{chunk-3ECPOSKO.js → chunk-3BKLBYPK.js} +0 -0
- /package/dist/{chunk-JRLTGLN4.js → chunk-3UG6JUCV.js} +0 -0
- /package/dist/{chunk-RTIKSY6A.js → chunk-4QCR3K2J.js} +0 -0
- /package/dist/{chunk-VFCUIDRT.js → chunk-5WWRTEPS.js} +0 -0
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { ContextMenuOverlay, LONG_PRESS_DELAY_MS } from './chunk-
|
|
1
|
+
import { ContextMenuOverlay, LONG_PRESS_DELAY_MS } from './chunk-7CGJBQUA.js';
|
|
2
|
+
import { resolveTextRole } from './chunk-L4D5LHCH.js';
|
|
2
3
|
import { haptics } from './chunk-NY2U3PBI.js';
|
|
3
|
-
import {
|
|
4
|
+
import { isAndroidIdiom } from './chunk-TH4PW2WU.js';
|
|
5
|
+
import { useLabels } from './chunk-APCWFOZW.js';
|
|
6
|
+
import { Icon } from './chunk-PCEFCOLN.js';
|
|
4
7
|
import * as React from 'react';
|
|
5
|
-
import { Animated, Easing, PanResponder,
|
|
8
|
+
import { View, Animated, Easing, PanResponder, Pressable, StyleSheet, Text } from 'react-native';
|
|
6
9
|
import { createStyleSheet, useLoamTheme, useStyles } from '@btndprojects/loam-theme-native';
|
|
7
10
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
11
|
|
|
@@ -39,6 +42,8 @@ function activeSwipeSide(offset) {
|
|
|
39
42
|
if (offset < 0) return "trailing";
|
|
40
43
|
return null;
|
|
41
44
|
}
|
|
45
|
+
var SWIPE_PEEK_FRACTION = 0.4;
|
|
46
|
+
var swipePeekShown = false;
|
|
42
47
|
function swipeActionCollapses(action) {
|
|
43
48
|
return action.collapses ?? action.destructive === true;
|
|
44
49
|
}
|
|
@@ -115,6 +120,15 @@ function resolveSwipeAccessibilityAction(actions, name) {
|
|
|
115
120
|
if (name === "longpress") return "menu";
|
|
116
121
|
return actions.find((a) => a.key === name) ?? null;
|
|
117
122
|
}
|
|
123
|
+
var DEFAULT_LABELS = {
|
|
124
|
+
dragHandle: "Drag to reorder",
|
|
125
|
+
rowActions: "Row actions",
|
|
126
|
+
release: "Release",
|
|
127
|
+
swipeHint: "Long press for actions",
|
|
128
|
+
moveUp: "Move up",
|
|
129
|
+
moveDown: "Move down",
|
|
130
|
+
reorderHint: (handle) => `${handle}. Use the move up and move down actions to reorder.`
|
|
131
|
+
};
|
|
118
132
|
function resolveRowMotion(motion, osReduced) {
|
|
119
133
|
if (motion === "none") return "none";
|
|
120
134
|
if (motion === "reduced") return "reduced";
|
|
@@ -125,7 +139,7 @@ function line(value, style) {
|
|
|
125
139
|
return typeof value === "string" || typeof value === "number" ? /* @__PURE__ */ jsx(Text, { style, numberOfLines: 1, children: value }) : value;
|
|
126
140
|
}
|
|
127
141
|
function SelectionIndicator({ selected }) {
|
|
128
|
-
const theme = useLoamTheme();
|
|
142
|
+
const theme = useLoamTheme("list-row");
|
|
129
143
|
const { styles } = useStyles(sheet, { selectedBox: selected });
|
|
130
144
|
return /* @__PURE__ */ jsx(
|
|
131
145
|
View,
|
|
@@ -152,9 +166,11 @@ function RowBody({
|
|
|
152
166
|
trailing,
|
|
153
167
|
onPress,
|
|
154
168
|
divider = false,
|
|
155
|
-
|
|
169
|
+
chevron = false,
|
|
170
|
+
platform,
|
|
171
|
+
disabled: disabledProp,
|
|
156
172
|
accessibilityLabel,
|
|
157
|
-
density
|
|
173
|
+
density: densityProp,
|
|
158
174
|
selectable = false,
|
|
159
175
|
selected = false,
|
|
160
176
|
onToggleSelected,
|
|
@@ -166,19 +182,55 @@ function RowBody({
|
|
|
166
182
|
accessibilityHint,
|
|
167
183
|
dragHandle
|
|
168
184
|
}) {
|
|
169
|
-
const
|
|
185
|
+
const theme = useLoamTheme("list-row");
|
|
186
|
+
const group = React.useContext(ListGroupContext);
|
|
187
|
+
const android = isAndroidIdiom(theme, platform ?? group?.platform);
|
|
188
|
+
const density = densityProp ?? group?.density ?? "comfortable";
|
|
189
|
+
const disabled = disabledProp ?? group?.disabled ?? false;
|
|
190
|
+
const { styles } = useStyles(sheet, {
|
|
191
|
+
divider: divider && !group && !android,
|
|
192
|
+
disabled,
|
|
193
|
+
density
|
|
194
|
+
});
|
|
195
|
+
const [textStart, setTextStart] = React.useState();
|
|
196
|
+
const separator = !android && group?.separator === true;
|
|
197
|
+
const metrics = density === "compact" ? {} : {
|
|
198
|
+
minHeight: android ? subtitle != null ? theme.space[72] : theme.space[56] : subtitle != null ? theme.space[60] : theme.space[44],
|
|
199
|
+
paddingVertical: theme.space[android ? 8 : 6]
|
|
200
|
+
};
|
|
201
|
+
const titleRole = resolveTextRole(theme, "body", android);
|
|
202
|
+
const subtitleRole = resolveTextRole(theme, "subheadline", android);
|
|
203
|
+
const fill = selected ? { backgroundColor: theme.state.selected } : group && android ? { backgroundColor: theme.color.surface } : null;
|
|
170
204
|
const content = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
171
|
-
selectable && selected ? /* @__PURE__ */ jsx(View, { accessible: false, style: styles.selectBar }) : null,
|
|
172
205
|
selectable ? /* @__PURE__ */ jsx(View, { style: styles.slot, children: /* @__PURE__ */ jsx(SelectionIndicator, { selected }) }) : null,
|
|
173
206
|
leading != null ? /* @__PURE__ */ jsx(View, { style: styles.slot, children: leading }) : null,
|
|
174
|
-
/* @__PURE__ */ jsxs(
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
207
|
+
/* @__PURE__ */ jsxs(
|
|
208
|
+
View,
|
|
209
|
+
{
|
|
210
|
+
style: styles.main,
|
|
211
|
+
onLayout: separator ? (e) => setTextStart(e.nativeEvent.layout.x) : void 0,
|
|
212
|
+
children: [
|
|
213
|
+
line(title, [styles.title, titleRole]),
|
|
214
|
+
line(subtitle, [styles.subtitle, subtitleRole])
|
|
215
|
+
]
|
|
216
|
+
}
|
|
217
|
+
),
|
|
178
218
|
trailing != null ? /* @__PURE__ */ jsx(View, { style: styles.slot, children: trailing }) : null,
|
|
179
|
-
|
|
219
|
+
chevron ? /* @__PURE__ */ jsx(View, { style: styles.slot, children: /* @__PURE__ */ jsx(Icon, { name: "chevron-right", size: theme.icon.sm, color: theme.color.text3 }) }) : null,
|
|
220
|
+
dragHandle != null ? dragHandle : null,
|
|
221
|
+
separator ? /* @__PURE__ */ jsx(
|
|
222
|
+
View,
|
|
223
|
+
{
|
|
224
|
+
"aria-hidden": true,
|
|
225
|
+
accessibilityElementsHidden: true,
|
|
226
|
+
importantForAccessibility: "no-hide-descendants",
|
|
227
|
+
testID: "list-row-separator",
|
|
228
|
+
style: [styles.separator, { start: textStart ?? theme.space.s4 }]
|
|
229
|
+
}
|
|
230
|
+
) : null
|
|
180
231
|
] });
|
|
181
|
-
const
|
|
232
|
+
const readOnly = group?.interactive === false;
|
|
233
|
+
const primaryPress = readOnly ? void 0 : selectable ? onToggleSelected : onPress;
|
|
182
234
|
if (primaryPress || interactive) {
|
|
183
235
|
const label = accessibilityLabel ?? (typeof title === "string" ? title : void 0);
|
|
184
236
|
return /* @__PURE__ */ jsx(
|
|
@@ -195,21 +247,32 @@ function RowBody({
|
|
|
195
247
|
onPress: disabled ? void 0 : primaryPress,
|
|
196
248
|
onLongPress: disabled ? void 0 : onLongPress,
|
|
197
249
|
delayLongPress: LONG_PRESS_DELAY_MS,
|
|
198
|
-
|
|
250
|
+
android_ripple: android ? { color: theme.state.pressed, borderless: false } : void 0,
|
|
251
|
+
style: ({ pressed }) => [
|
|
252
|
+
styles.base,
|
|
253
|
+
metrics,
|
|
254
|
+
fill,
|
|
255
|
+
style,
|
|
256
|
+
pressed && !disabled && !android ? styles.pressed : null
|
|
257
|
+
],
|
|
199
258
|
children: content
|
|
200
259
|
}
|
|
201
260
|
);
|
|
202
261
|
}
|
|
203
|
-
return /* @__PURE__ */ jsx(View, { style: [styles.base, style], children: content });
|
|
262
|
+
return /* @__PURE__ */ jsx(View, { style: [styles.base, metrics, fill, style], children: content });
|
|
204
263
|
}
|
|
205
264
|
function ListRow(props) {
|
|
206
265
|
const {
|
|
207
266
|
swipeActions,
|
|
208
267
|
swipeReleaseLabel,
|
|
209
268
|
swipeMenuLabel,
|
|
269
|
+
menuItems,
|
|
210
270
|
swipeHint,
|
|
271
|
+
swipePeek = true,
|
|
272
|
+
onSwipePeek,
|
|
211
273
|
selectable = false,
|
|
212
274
|
selected,
|
|
275
|
+
value,
|
|
213
276
|
defaultSelected = false,
|
|
214
277
|
onSelectedChange,
|
|
215
278
|
draggable = false,
|
|
@@ -220,11 +283,15 @@ function ListRow(props) {
|
|
|
220
283
|
onMoveDown,
|
|
221
284
|
dragHandleLabel,
|
|
222
285
|
motion = "full",
|
|
286
|
+
labels: labelsProp,
|
|
223
287
|
...rest
|
|
224
288
|
} = props;
|
|
225
|
-
const
|
|
289
|
+
const labels = useLabels("listRow", DEFAULT_LABELS, labelsProp);
|
|
290
|
+
const groupSelected = React.useContext(ListGroupContext)?.selected;
|
|
291
|
+
const effectiveSelected = selected ?? (selectable && groupSelected && value !== void 0 ? groupSelected.includes(value) : void 0);
|
|
292
|
+
const isControlled = effectiveSelected !== void 0;
|
|
226
293
|
const [internalSelected, setInternalSelected] = React.useState(defaultSelected);
|
|
227
|
-
const isSelected =
|
|
294
|
+
const isSelected = effectiveSelected ?? internalSelected;
|
|
228
295
|
const toggleSelected = React.useCallback(() => {
|
|
229
296
|
const next = !isSelected;
|
|
230
297
|
if (!isControlled) setInternalSelected(next);
|
|
@@ -248,33 +315,83 @@ function ListRow(props) {
|
|
|
248
315
|
onDragEnd,
|
|
249
316
|
onMoveUp,
|
|
250
317
|
onMoveDown,
|
|
251
|
-
handleLabel: dragHandleLabel ??
|
|
318
|
+
handleLabel: dragHandleLabel ?? labels.dragHandle,
|
|
319
|
+
labels,
|
|
252
320
|
motion
|
|
253
321
|
}
|
|
254
322
|
);
|
|
255
323
|
}
|
|
256
|
-
if (sides.leading.length === 0 && sides.trailing.length === 0)
|
|
324
|
+
if (sides.leading.length === 0 && sides.trailing.length === 0) {
|
|
325
|
+
return menuItems && menuItems.length > 0 ? /* @__PURE__ */ jsx(MenuRow, { row, items: menuItems, menuLabel: swipeMenuLabel ?? labels.rowActions }) : /* @__PURE__ */ jsx(RowBody, { ...row });
|
|
326
|
+
}
|
|
257
327
|
return /* @__PURE__ */ jsx(
|
|
258
328
|
SwipeRow,
|
|
259
329
|
{
|
|
260
330
|
row,
|
|
261
331
|
sides,
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
332
|
+
menuItems,
|
|
333
|
+
releaseLabel: swipeReleaseLabel ?? labels.release,
|
|
334
|
+
menuLabel: swipeMenuLabel ?? labels.rowActions,
|
|
335
|
+
hint: swipeHint ?? labels.swipeHint,
|
|
336
|
+
motion,
|
|
337
|
+
peek: swipePeek,
|
|
338
|
+
onPeek: onSwipePeek
|
|
266
339
|
}
|
|
267
340
|
);
|
|
268
341
|
}
|
|
342
|
+
function MenuRow({
|
|
343
|
+
row,
|
|
344
|
+
items,
|
|
345
|
+
menuLabel
|
|
346
|
+
}) {
|
|
347
|
+
const [open, setOpen] = React.useState(false);
|
|
348
|
+
const [anchor, setAnchor] = React.useState(null);
|
|
349
|
+
const rootRef = React.useRef(null);
|
|
350
|
+
const openMenu = () => {
|
|
351
|
+
const node = rootRef.current;
|
|
352
|
+
if (node && typeof node.measureInWindow === "function") {
|
|
353
|
+
node.measureInWindow((mx, my, width, height) => setAnchor({ x: mx, y: my, width, height }));
|
|
354
|
+
}
|
|
355
|
+
haptics.impact("heavy");
|
|
356
|
+
setOpen(true);
|
|
357
|
+
};
|
|
358
|
+
return /* @__PURE__ */ jsxs(View, { ref: rootRef, collapsable: false, children: [
|
|
359
|
+
/* @__PURE__ */ jsx(
|
|
360
|
+
RowBody,
|
|
361
|
+
{
|
|
362
|
+
...row,
|
|
363
|
+
interactive: true,
|
|
364
|
+
onLongPress: openMenu,
|
|
365
|
+
accessibilityActions: [{ name: "longpress", label: menuLabel }],
|
|
366
|
+
onAccessibilityAction: (e) => {
|
|
367
|
+
if (e.nativeEvent.actionName === "longpress") openMenu();
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
),
|
|
371
|
+
/* @__PURE__ */ jsx(
|
|
372
|
+
ContextMenuOverlay,
|
|
373
|
+
{
|
|
374
|
+
open,
|
|
375
|
+
onClose: () => setOpen(false),
|
|
376
|
+
items,
|
|
377
|
+
anchor,
|
|
378
|
+
accessibilityLabel: menuLabel
|
|
379
|
+
}
|
|
380
|
+
)
|
|
381
|
+
] });
|
|
382
|
+
}
|
|
269
383
|
function SwipeRow({
|
|
270
384
|
row,
|
|
271
385
|
sides,
|
|
386
|
+
menuItems: menuOverride,
|
|
272
387
|
releaseLabel,
|
|
273
388
|
menuLabel,
|
|
274
389
|
hint,
|
|
275
|
-
motion
|
|
390
|
+
motion,
|
|
391
|
+
peek,
|
|
392
|
+
onPeek
|
|
276
393
|
}) {
|
|
277
|
-
const theme = useLoamTheme();
|
|
394
|
+
const theme = useLoamTheme("list-row");
|
|
278
395
|
const { styles } = useStyles(sheet, { divider: false, disabled: false });
|
|
279
396
|
const reducedMotion = resolveRowMotion(motion, theme.reduceMotion) !== "full";
|
|
280
397
|
const hasLeading = sides.leading.length > 0;
|
|
@@ -506,6 +623,31 @@ function SwipeRow({
|
|
|
506
623
|
rowWidth.current = e.nativeEvent.layout.width || FALLBACK_ROW_WIDTH;
|
|
507
624
|
rowHeight.current = e.nativeEvent.layout.height || rowHeight.current;
|
|
508
625
|
};
|
|
626
|
+
const peekRef = React.useRef({ peek, onPeek, rails, springTo, hasTrailing });
|
|
627
|
+
peekRef.current = { peek, onPeek, rails, springTo, hasTrailing };
|
|
628
|
+
React.useEffect(() => {
|
|
629
|
+
const cfg = peekRef.current;
|
|
630
|
+
if (!cfg.peek || swipePeekShown) return;
|
|
631
|
+
const side = cfg.hasTrailing ? "trailing" : "leading";
|
|
632
|
+
const open = cfg.rails[side].openOffset;
|
|
633
|
+
if (open === 0) return;
|
|
634
|
+
swipePeekShown = true;
|
|
635
|
+
let back = null;
|
|
636
|
+
const start = setTimeout(() => {
|
|
637
|
+
if (axis.current !== null || cur.current !== 0) return;
|
|
638
|
+
peekRef.current.onPeek?.();
|
|
639
|
+
peekRef.current.springTo(open * SWIPE_PEEK_FRACTION, 0, SWIPE_SPRING_SNAP);
|
|
640
|
+
back = setTimeout(() => {
|
|
641
|
+
if (axis.current === null && Math.abs(cur.current) < Math.abs(open)) {
|
|
642
|
+
peekRef.current.springTo(0, 0, SWIPE_SPRING_SNAP);
|
|
643
|
+
}
|
|
644
|
+
}, theme.duration.slow);
|
|
645
|
+
}, theme.duration.slow);
|
|
646
|
+
return () => {
|
|
647
|
+
clearTimeout(start);
|
|
648
|
+
if (back) clearTimeout(back);
|
|
649
|
+
};
|
|
650
|
+
}, []);
|
|
509
651
|
const openMenu = () => {
|
|
510
652
|
const node = rootRef.current;
|
|
511
653
|
if (node && typeof node.measureInWindow === "function") {
|
|
@@ -520,7 +662,7 @@ function SwipeRow({
|
|
|
520
662
|
if (target === "menu") openMenu();
|
|
521
663
|
else if (target) fire(target);
|
|
522
664
|
};
|
|
523
|
-
const menuItems = allActions.map((a) => ({
|
|
665
|
+
const menuItems = menuOverride ?? allActions.map((a) => ({
|
|
524
666
|
key: a.key,
|
|
525
667
|
label: a.label,
|
|
526
668
|
icon: a.icon ?? (a.destructive === true ? "trash" : "folder"),
|
|
@@ -627,7 +769,7 @@ function SwipeActionButton({
|
|
|
627
769
|
reduced,
|
|
628
770
|
onPress
|
|
629
771
|
}) {
|
|
630
|
-
const theme = useLoamTheme();
|
|
772
|
+
const theme = useLoamTheme("list-row");
|
|
631
773
|
const destructive = action.destructive === true;
|
|
632
774
|
const { styles } = useStyles(sheet, { destructive });
|
|
633
775
|
const p = side === "leading" ? x.interpolate({
|
|
@@ -671,10 +813,10 @@ function SwipeActionButton({
|
|
|
671
813
|
) }) })
|
|
672
814
|
);
|
|
673
815
|
}
|
|
674
|
-
function dragAccessibilityActions(canMoveUp, canMoveDown) {
|
|
816
|
+
function dragAccessibilityActions(canMoveUp, canMoveDown, labels = DEFAULT_LABELS) {
|
|
675
817
|
const actions = [];
|
|
676
|
-
if (canMoveUp) actions.push({ name: "moveUp", label:
|
|
677
|
-
if (canMoveDown) actions.push({ name: "moveDown", label:
|
|
818
|
+
if (canMoveUp) actions.push({ name: "moveUp", label: labels.moveUp });
|
|
819
|
+
if (canMoveDown) actions.push({ name: "moveDown", label: labels.moveDown });
|
|
678
820
|
return actions;
|
|
679
821
|
}
|
|
680
822
|
function DraggableRow({
|
|
@@ -685,9 +827,10 @@ function DraggableRow({
|
|
|
685
827
|
onMoveUp,
|
|
686
828
|
onMoveDown,
|
|
687
829
|
handleLabel,
|
|
830
|
+
labels,
|
|
688
831
|
motion
|
|
689
832
|
}) {
|
|
690
|
-
const theme = useLoamTheme();
|
|
833
|
+
const theme = useLoamTheme("list-row");
|
|
691
834
|
const { styles } = useStyles(sheet, { divider: false, disabled: false });
|
|
692
835
|
const reducedMotion = resolveRowMotion(motion, theme.reduceMotion) !== "full";
|
|
693
836
|
const noMotion = motion === "none";
|
|
@@ -750,7 +893,7 @@ function DraggableRow({
|
|
|
750
893
|
onPanResponderTerminate: () => settleRef.current()
|
|
751
894
|
})
|
|
752
895
|
).current;
|
|
753
|
-
const dragActions = dragAccessibilityActions(onMoveUp != null, onMoveDown != null);
|
|
896
|
+
const dragActions = dragAccessibilityActions(onMoveUp != null, onMoveDown != null, labels);
|
|
754
897
|
const onRowAction = (e) => {
|
|
755
898
|
if (e.nativeEvent.actionName === "moveUp") onMoveUp?.();
|
|
756
899
|
else if (e.nativeEvent.actionName === "moveDown") onMoveDown?.();
|
|
@@ -790,35 +933,73 @@ function DraggableRow({
|
|
|
790
933
|
dragHandle: handle,
|
|
791
934
|
accessibilityActions: dragActions.length > 0 ? dragActions : void 0,
|
|
792
935
|
onAccessibilityAction: dragActions.length > 0 ? onRowAction : void 0,
|
|
793
|
-
accessibilityHint:
|
|
936
|
+
accessibilityHint: labels.reorderHint(handleLabel)
|
|
794
937
|
}
|
|
795
938
|
)
|
|
796
939
|
}
|
|
797
940
|
);
|
|
798
941
|
}
|
|
799
|
-
|
|
942
|
+
var ListGroupContext = React.createContext(null);
|
|
943
|
+
function List({
|
|
944
|
+
children,
|
|
945
|
+
role,
|
|
946
|
+
platform,
|
|
947
|
+
density,
|
|
948
|
+
disabled,
|
|
949
|
+
interactive,
|
|
950
|
+
leading,
|
|
951
|
+
trailing,
|
|
952
|
+
tone,
|
|
953
|
+
selected
|
|
954
|
+
}) {
|
|
955
|
+
const theme = useLoamTheme("list-row");
|
|
800
956
|
const { styles } = useStyles(sheet, { divider: false, disabled: false });
|
|
957
|
+
const android = isAndroidIdiom(theme, platform);
|
|
801
958
|
const items = React.Children.toArray(children).filter(Boolean);
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
959
|
+
const isRow = (child) => React.isValidElement(child) && child.type === ListRow;
|
|
960
|
+
return /* @__PURE__ */ jsxs(
|
|
961
|
+
View,
|
|
962
|
+
{
|
|
963
|
+
role,
|
|
964
|
+
accessibilityRole: role,
|
|
965
|
+
style: [
|
|
966
|
+
styles.list,
|
|
967
|
+
android ? styles.listAndroid : null,
|
|
968
|
+
tone && { backgroundColor: theme.color[`${tone}Soft`], borderColor: theme.edge[tone] }
|
|
969
|
+
],
|
|
970
|
+
children: [
|
|
971
|
+
leading != null ? /* @__PURE__ */ jsx(View, { style: styles.listSlot, children: leading }) : null,
|
|
972
|
+
items.map((child, i) => /* @__PURE__ */ jsxs(
|
|
973
|
+
ListGroupContext.Provider,
|
|
974
|
+
{
|
|
975
|
+
value: { platform, separator: i < items.length - 1, density, disabled, interactive, selected },
|
|
976
|
+
children: [
|
|
977
|
+
child,
|
|
978
|
+
i < items.length - 1 && !isRow(child) && !android ? (
|
|
979
|
+
// Hidden, not just unlabelled. The dividers are interleaved between
|
|
980
|
+
// the children, so under `role="list"` they would be owned children
|
|
981
|
+
// of the list alongside the items — and a `list` may own only
|
|
982
|
+
// `listitem`s. Hiding them keeps `aria-required-children` satisfied
|
|
983
|
+
// while `role="list"` satisfies `aria-required-parent`, which is the
|
|
984
|
+
// trade the board and notification-center notes both warn about.
|
|
985
|
+
/* @__PURE__ */ jsx(
|
|
986
|
+
View,
|
|
987
|
+
{
|
|
988
|
+
"aria-hidden": true,
|
|
989
|
+
accessibilityElementsHidden: true,
|
|
990
|
+
importantForAccessibility: "no-hide-descendants",
|
|
991
|
+
style: styles.listDivider
|
|
992
|
+
}
|
|
993
|
+
)
|
|
994
|
+
) : null
|
|
995
|
+
]
|
|
996
|
+
},
|
|
997
|
+
i
|
|
998
|
+
)),
|
|
999
|
+
trailing != null ? /* @__PURE__ */ jsx(View, { style: styles.listSlot, children: trailing }) : null
|
|
1000
|
+
]
|
|
1001
|
+
}
|
|
1002
|
+
);
|
|
822
1003
|
}
|
|
823
1004
|
var sheet = createStyleSheet((theme) => ({
|
|
824
1005
|
base: {
|
|
@@ -836,14 +1017,6 @@ var sheet = createStyleSheet((theme) => ({
|
|
|
836
1017
|
comfortable: { minHeight: theme.layout.listRowH, paddingVertical: theme.space.s3 },
|
|
837
1018
|
compact: { minHeight: theme.ctl.lg, paddingVertical: theme.space.s2 }
|
|
838
1019
|
},
|
|
839
|
-
// A selected row is drawn on an opaque `surface` — not the translucent
|
|
840
|
-
// `selected` wash — so its `text2` subtitle keeps a full AA margin (5.65:1
|
|
841
|
-
// in light) instead of the 4.28:1 the wash would leave it with over the
|
|
842
|
-
// page background. The accent signal is the start-edge bar + filled check.
|
|
843
|
-
selected: {
|
|
844
|
-
true: { backgroundColor: theme.color.surface },
|
|
845
|
-
false: {}
|
|
846
|
-
},
|
|
847
1020
|
divider: {
|
|
848
1021
|
true: { borderBottomWidth: theme.borderWidth.thin, borderBottomColor: theme.color.border },
|
|
849
1022
|
false: {}
|
|
@@ -854,16 +1027,13 @@ var sheet = createStyleSheet((theme) => ({
|
|
|
854
1027
|
}
|
|
855
1028
|
}
|
|
856
1029
|
},
|
|
857
|
-
pressed: { backgroundColor: theme.
|
|
1030
|
+
pressed: { backgroundColor: theme.state.pressed },
|
|
858
1031
|
slot: { flexShrink: 0 },
|
|
859
1032
|
main: { flex: 1, minWidth: 0, gap: theme.space.s1 },
|
|
860
|
-
// Row title
|
|
1033
|
+
// Row title: the font family, ink and platform role come from resolveTextRole
|
|
1034
|
+
// at render (body 17 / 400 iOS, bodyLarge Android); only the ink is fixed here.
|
|
861
1035
|
title: {
|
|
862
1036
|
fontFamily: theme.font.sans,
|
|
863
|
-
fontWeight: theme.type.headline.fontWeight,
|
|
864
|
-
fontSize: theme.type.headline.fontSize,
|
|
865
|
-
lineHeight: theme.type.headline.lineHeight,
|
|
866
|
-
letterSpacing: theme.type.headline.letterSpacing,
|
|
867
1037
|
color: theme.color.text
|
|
868
1038
|
},
|
|
869
1039
|
// Row subtitle = the "Subheadline" role (supporting text under the title).
|
|
@@ -878,10 +1048,25 @@ var sheet = createStyleSheet((theme) => ({
|
|
|
878
1048
|
backgroundColor: theme.color.surface,
|
|
879
1049
|
borderWidth: theme.borderWidth.thin,
|
|
880
1050
|
borderColor: theme.color.border,
|
|
881
|
-
borderRadius: theme.radius.
|
|
1051
|
+
borderRadius: theme.radius.lg,
|
|
882
1052
|
overflow: "hidden"
|
|
883
1053
|
},
|
|
1054
|
+
listSlot: { paddingHorizontal: theme.space.s4, paddingVertical: theme.space.s2 },
|
|
884
1055
|
listDivider: { height: theme.space[1], backgroundColor: theme.color.border },
|
|
1056
|
+
// Android: no dividers — the rows sit on surface tiles separated by space.
|
|
1057
|
+
listAndroid: {
|
|
1058
|
+
backgroundColor: "transparent",
|
|
1059
|
+
borderWidth: 0,
|
|
1060
|
+
gap: theme.space[2]
|
|
1061
|
+
},
|
|
1062
|
+
separator: {
|
|
1063
|
+
position: "absolute",
|
|
1064
|
+
end: 0,
|
|
1065
|
+
bottom: 0,
|
|
1066
|
+
height: theme.borderWidth.thin,
|
|
1067
|
+
backgroundColor: theme.color.border,
|
|
1068
|
+
pointerEvents: "none"
|
|
1069
|
+
},
|
|
885
1070
|
/* ---- selection affordance ---- */
|
|
886
1071
|
/**
|
|
887
1072
|
* The leading selection circle. `w2` is the static ring weight (part of the
|
|
@@ -907,20 +1092,6 @@ var sheet = createStyleSheet((theme) => ({
|
|
|
907
1092
|
}
|
|
908
1093
|
}
|
|
909
1094
|
},
|
|
910
|
-
/**
|
|
911
|
-
* The start-edge accent bar marking a selected row. Absolutely positioned so
|
|
912
|
-
* it adds no layout shift between selected/unselected, and `accent` clears the
|
|
913
|
-
* 3:1 non-text-contrast bar against the surface in both modes.
|
|
914
|
-
*/
|
|
915
|
-
selectBar: {
|
|
916
|
-
position: "absolute",
|
|
917
|
-
top: 0,
|
|
918
|
-
bottom: 0,
|
|
919
|
-
start: 0,
|
|
920
|
-
width: theme.space.s1,
|
|
921
|
-
backgroundColor: theme.color.accent,
|
|
922
|
-
pointerEvents: "none"
|
|
923
|
-
},
|
|
924
1095
|
/* ---- drag layer ---- */
|
|
925
1096
|
/** The draggable root at rest — transparent, so a grouped List's surface shows. */
|
|
926
1097
|
dragRoot: { backgroundColor: "transparent" },
|