@xaui/native 0.9.1-alpha.90 → 0.9.1-alpha.92

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 (300) hide show
  1. package/dist/{chunk-XZ42OWKC.js → chunk-2AFA5HA2.js} +78 -74
  2. package/dist/{chunk-A2JNZMDJ.cjs → chunk-2B6PUYTP.cjs} +2 -2
  3. package/dist/chunk-3A5RK2R7.js +40 -0
  4. package/dist/{chunk-HQLJZ6C2.js → chunk-52XUGOLD.js} +3 -3
  5. package/dist/{chunk-TCDWDTSW.cjs → chunk-5E6SHYEQ.cjs} +3 -3
  6. package/dist/{chunk-Y36UGSTS.cjs → chunk-62AYYMZP.cjs} +3 -3
  7. package/dist/{chunk-BLGAFZRI.cjs → chunk-6GQ7UTJ7.cjs} +2 -2
  8. package/dist/chunk-6JAGPPZU.cjs +788 -0
  9. package/dist/{chunk-CVPBNJRG.js → chunk-6RU6GUJP.js} +1 -1
  10. package/dist/{chunk-XUF7K4WP.js → chunk-7EVW6O2Q.js} +1 -1
  11. package/dist/chunk-7NQL5DXY.js +302 -0
  12. package/dist/{chunk-ACWFIZKC.cjs → chunk-AR7667VN.cjs} +6 -6
  13. package/dist/{chunk-DSCZZZIG.cjs → chunk-B33OU34Z.cjs} +12 -12
  14. package/dist/{chunk-WGXOYMZM.cjs → chunk-BI5ME4QP.cjs} +5 -5
  15. package/dist/{chunk-IEEUSJBJ.js → chunk-BJVO7DWJ.js} +1 -1
  16. package/dist/{chunk-5YEMZL4C.cjs → chunk-CBRW53GN.cjs} +7 -7
  17. package/dist/{chunk-34UJTR37.cjs → chunk-CBXILKQZ.cjs} +3 -3
  18. package/dist/{chunk-FB4JF34M.cjs → chunk-CEPX7CKM.cjs} +16 -16
  19. package/dist/{chunk-377XFATD.cjs → chunk-CYOUOQXT.cjs} +5 -5
  20. package/dist/{chunk-AUYFPVLA.cjs → chunk-DYQB54JA.cjs} +2 -2
  21. package/dist/{chunk-3OQPAZTF.js → chunk-EBCAPIBD.js} +44 -44
  22. package/dist/{chunk-M5LTEKGJ.cjs → chunk-EDNCHCIN.cjs} +2 -2
  23. package/dist/{chunk-34KILEQD.js → chunk-FOOXBVOQ.js} +15 -15
  24. package/dist/{chunk-24WXPNIT.js → chunk-FRLWG5LM.js} +24 -24
  25. package/dist/chunk-FTPPUTWL.cjs +40 -0
  26. package/dist/{chunk-AAQIBMJI.js → chunk-FVEMTBU4.js} +2 -2
  27. package/dist/{chunk-54DVPCYB.cjs → chunk-FXN32S75.cjs} +3 -3
  28. package/dist/chunk-GGP2ERSV.js +487 -0
  29. package/dist/{chunk-6BB6YWEN.js → chunk-GYEQEF5H.js} +1 -1
  30. package/dist/{chunk-MTGUUW7F.cjs → chunk-GZAGWNQM.cjs} +3 -3
  31. package/dist/{chunk-OF3E7WVQ.cjs → chunk-ILXKBDC6.cjs} +10 -10
  32. package/dist/{chunk-D2UYBAGB.cjs → chunk-IPD3IUE2.cjs} +4 -4
  33. package/dist/{chunk-XLPOJTA2.cjs → chunk-JBZ7SBRV.cjs} +3 -3
  34. package/dist/{chunk-UMTVYPYK.js → chunk-JC4YCKKL.js} +15 -15
  35. package/dist/{chunk-GL46PQPW.js → chunk-JJYHW4PV.js} +1 -1
  36. package/dist/{chunk-2CTIZGMC.js → chunk-JKDWYNSG.js} +99 -99
  37. package/dist/chunk-KPKEZWZM.js +517 -0
  38. package/dist/{chunk-KTI3GCFM.js → chunk-LECYGVIH.js} +43 -43
  39. package/dist/chunk-LKRQUQZQ.cjs +487 -0
  40. package/dist/{chunk-SYVFU6O5.cjs → chunk-LPJ3UBSO.cjs} +4 -4
  41. package/dist/{chunk-RS2UWFEG.js → chunk-MMFIMQMQ.js} +2 -2
  42. package/dist/chunk-MSORLKO7.cjs +422 -0
  43. package/dist/{chunk-PKVKFZW7.js → chunk-O6B72H4B.js} +5 -5
  44. package/dist/{chunk-7KQG4JQ2.js → chunk-OD6H7ANY.js} +1 -1
  45. package/dist/{chunk-UXPBSREP.js → chunk-ODQHAPQW.js} +17 -17
  46. package/dist/{chunk-TB7V2DO3.cjs → chunk-ORXVXYKC.cjs} +11 -11
  47. package/dist/{chunk-PIU3JONR.cjs → chunk-OW4N2C3M.cjs} +64 -60
  48. package/dist/{chunk-NPY7I7JJ.js → chunk-P2CJNTAP.js} +15 -15
  49. package/dist/{chunk-AOXNVM55.cjs → chunk-P2V6PIM7.cjs} +2 -2
  50. package/dist/{chunk-CKADVFCH.js → chunk-P5M5URAB.js} +30 -127
  51. package/dist/{chunk-BPQWLUQU.js → chunk-P7OHZCU3.js} +2 -2
  52. package/dist/{chunk-DPW25YCM.cjs → chunk-PAQD6UUF.cjs} +3 -3
  53. package/dist/{chunk-LDFBDFIW.js → chunk-PAQZOD2L.js} +1 -1
  54. package/dist/{chunk-4TG2OLEM.cjs → chunk-PDSR42YC.cjs} +3 -3
  55. package/dist/{chunk-AXSY2KPT.cjs → chunk-PROLOLZ5.cjs} +2 -2
  56. package/dist/{chunk-4SPCZVR6.cjs → chunk-PYQ2P3M5.cjs} +58 -58
  57. package/dist/{chunk-ZZTUJELK.cjs → chunk-Q2BWXT55.cjs} +9 -9
  58. package/dist/{chunk-RD3ZUUBC.cjs → chunk-QCH7X7O2.cjs} +14 -14
  59. package/dist/{chunk-ZYN7XKF5.cjs → chunk-QELEKXN3.cjs} +5 -5
  60. package/dist/{chunk-ZN5P3VTI.js → chunk-QHXTO525.js} +1 -1
  61. package/dist/{chunk-EVSQ4CEI.cjs → chunk-QN2D5ZCS.cjs} +3 -3
  62. package/dist/{chunk-4XZWVJZL.cjs → chunk-QUSQEYLP.cjs} +25 -25
  63. package/dist/chunk-RCSEVEIR.js +422 -0
  64. package/dist/{chunk-GOKUBJIK.js → chunk-RLC3EXMV.js} +2 -2
  65. package/dist/{chunk-BLYKQD47.cjs → chunk-RREJUSAS.cjs} +3 -3
  66. package/dist/{chunk-BLDMKFIG.js → chunk-RSIWSVXI.js} +1 -1
  67. package/dist/{chunk-5VYB7F3H.js → chunk-RXEUKYM5.js} +1 -1
  68. package/dist/{chunk-WRW4JBB4.js → chunk-SUJLTC2K.js} +4 -4
  69. package/dist/{chunk-KBQT6MZ4.js → chunk-TCWW7JI2.js} +58 -58
  70. package/dist/{chunk-B2KUGQS5.js → chunk-TPYOQSKT.js} +1 -1
  71. package/dist/{chunk-SEYZGC4E.js → chunk-TRWZEOCO.js} +2 -2
  72. package/dist/{chunk-SDLDRTT7.cjs → chunk-UEW3GAP5.cjs} +5 -5
  73. package/dist/{chunk-WQZJ26SX.cjs → chunk-UFKSUELU.cjs} +2 -2
  74. package/dist/chunk-UR37LVPU.cjs +382 -0
  75. package/dist/{chunk-4BAKKBHJ.js → chunk-USIWPESU.js} +1 -1
  76. package/dist/{chunk-HM6M6SIP.js → chunk-UYQLW7OD.js} +1 -1
  77. package/dist/{chunk-NIEIDK5Z.js → chunk-V2CEKPJ6.js} +4 -4
  78. package/dist/{chunk-GPSVJ75L.js → chunk-VMPCXS4S.js} +15 -15
  79. package/dist/{chunk-W6TFYAEF.js → chunk-VQGNLX5C.js} +1 -1
  80. package/dist/{chunk-YSZ4K6L6.cjs → chunk-WIX4SYZI.cjs} +2 -2
  81. package/dist/{chunk-T3WEEHSB.js → chunk-WRZV6ORJ.js} +1 -1
  82. package/dist/{chunk-UDVKP3V2.cjs → chunk-X4CZYJZ6.cjs} +12 -12
  83. package/dist/chunk-XWIPLZTD.cjs +302 -0
  84. package/dist/{chunk-67WT74DY.cjs → chunk-ZE4IHUUO.cjs} +2 -2
  85. package/dist/{chunk-4JB7XQCJ.js → chunk-ZKGVOXLQ.js} +1 -1
  86. package/dist/{chunk-U32IGHJ6.js → chunk-ZWS3FQ3J.js} +57 -57
  87. package/dist/components/accordion/index.cjs +3 -3
  88. package/dist/components/accordion/index.js +2 -2
  89. package/dist/components/agenda-calendar/index.cjs +4 -4
  90. package/dist/components/agenda-calendar/index.js +3 -3
  91. package/dist/components/alert/index.cjs +4 -4
  92. package/dist/components/alert/index.js +3 -3
  93. package/dist/components/autocomplete/index.cjs +3 -3
  94. package/dist/components/autocomplete/index.js +2 -2
  95. package/dist/components/bottom-sheet/index.cjs +3 -3
  96. package/dist/components/bottom-sheet/index.js +2 -2
  97. package/dist/components/button/button.d.cts +1 -0
  98. package/dist/components/button/button.d.ts +1 -0
  99. package/dist/components/button/index.cjs +4 -4
  100. package/dist/components/button/index.d.cts +1 -0
  101. package/dist/components/button/index.d.ts +1 -0
  102. package/dist/components/button/index.js +3 -3
  103. package/dist/components/calendar/index.cjs +3 -3
  104. package/dist/components/calendar/index.js +2 -2
  105. package/dist/components/card/card.d.cts +1 -0
  106. package/dist/components/card/card.d.ts +1 -0
  107. package/dist/components/card/index.cjs +3 -3
  108. package/dist/components/card/index.d.cts +1 -0
  109. package/dist/components/card/index.d.ts +1 -0
  110. package/dist/components/card/index.js +2 -2
  111. package/dist/components/carousel/index.cjs +4 -3
  112. package/dist/components/carousel/index.js +3 -2
  113. package/dist/components/checkbox/checkbox.d.cts +1 -0
  114. package/dist/components/checkbox/checkbox.d.ts +1 -0
  115. package/dist/components/checkbox/index.cjs +3 -3
  116. package/dist/components/checkbox/index.d.cts +1 -0
  117. package/dist/components/checkbox/index.d.ts +1 -0
  118. package/dist/components/checkbox/index.js +2 -2
  119. package/dist/components/chip/chip.d.cts +1 -0
  120. package/dist/components/chip/chip.d.ts +1 -0
  121. package/dist/components/chip/index.cjs +4 -4
  122. package/dist/components/chip/index.d.cts +1 -0
  123. package/dist/components/chip/index.d.ts +1 -0
  124. package/dist/components/chip/index.js +3 -3
  125. package/dist/components/close-button/close-button.d.cts +1 -0
  126. package/dist/components/close-button/close-button.d.ts +1 -0
  127. package/dist/components/close-button/index.cjs +4 -4
  128. package/dist/components/close-button/index.js +3 -3
  129. package/dist/components/color-picker/color-picker.d.cts +1 -1
  130. package/dist/components/color-picker/color-picker.d.ts +1 -1
  131. package/dist/components/color-picker/index.cjs +6 -6
  132. package/dist/components/color-picker/index.d.cts +1 -1
  133. package/dist/components/color-picker/index.d.ts +1 -1
  134. package/dist/components/color-picker/index.js +5 -5
  135. package/dist/components/combobox/index.cjs +4 -4
  136. package/dist/components/combobox/index.js +3 -3
  137. package/dist/components/date-picker/index.cjs +4 -4
  138. package/dist/components/date-picker/index.js +3 -3
  139. package/dist/components/date-range-picker/index.cjs +6 -6
  140. package/dist/components/date-range-picker/index.js +5 -5
  141. package/dist/components/date-time-picker/index.cjs +7 -7
  142. package/dist/components/date-time-picker/index.js +6 -6
  143. package/dist/components/dialog/index.cjs +4 -4
  144. package/dist/components/dialog/index.js +3 -3
  145. package/dist/components/dummy-field/index.cjs +3 -3
  146. package/dist/components/dummy-field/index.js +2 -2
  147. package/dist/components/fab/index.cjs +4 -4
  148. package/dist/components/fab/index.js +3 -3
  149. package/dist/components/flip-card/index.cjs +3 -3
  150. package/dist/components/flip-card/index.js +2 -2
  151. package/dist/components/index.d.cts +4 -0
  152. package/dist/components/index.d.ts +4 -0
  153. package/dist/components/list-box/index.cjs +2 -2
  154. package/dist/components/list-box/index.js +1 -1
  155. package/dist/components/menu/index.cjs +3 -3
  156. package/dist/components/menu/index.js +2 -2
  157. package/dist/components/morph-button/index.cjs +39 -0
  158. package/dist/components/morph-button/index.d.cts +53 -0
  159. package/dist/components/morph-button/index.d.ts +53 -0
  160. package/dist/components/morph-button/index.js +39 -0
  161. package/dist/components/morph-button/morph-button-face.d.cts +9 -0
  162. package/dist/components/morph-button/morph-button-face.d.ts +9 -0
  163. package/dist/components/morph-button/morph-button-icon.d.cts +13 -0
  164. package/dist/components/morph-button/morph-button-icon.d.ts +13 -0
  165. package/dist/components/morph-button/morph-button-text.d.cts +16 -0
  166. package/dist/components/morph-button/morph-button-text.d.ts +16 -0
  167. package/dist/components/morph-button/morph-button.animation.d.cts +29 -0
  168. package/dist/components/morph-button/morph-button.animation.d.ts +29 -0
  169. package/dist/components/morph-button/morph-button.context.d.cts +7 -0
  170. package/dist/components/morph-button/morph-button.context.d.ts +7 -0
  171. package/dist/components/morph-button/morph-button.d.cts +61 -0
  172. package/dist/components/morph-button/morph-button.d.ts +61 -0
  173. package/dist/components/morph-button/morph-button.recipe.d.cts +11 -0
  174. package/dist/components/morph-button/morph-button.recipe.d.ts +11 -0
  175. package/dist/components/morph-button/morph-button.type.d.cts +99 -0
  176. package/dist/components/morph-button/morph-button.type.d.ts +99 -0
  177. package/dist/components/number-pad/index.cjs +40 -0
  178. package/dist/components/number-pad/index.d.cts +60 -0
  179. package/dist/components/number-pad/index.d.ts +60 -0
  180. package/dist/components/number-pad/index.js +40 -0
  181. package/dist/components/number-pad/number-pad-action.d.cts +24 -0
  182. package/dist/components/number-pad/number-pad-action.d.ts +24 -0
  183. package/dist/components/number-pad/number-pad-backspace.d.cts +18 -0
  184. package/dist/components/number-pad/number-pad-backspace.d.ts +18 -0
  185. package/dist/components/number-pad/number-pad-cell.d.cts +7 -0
  186. package/dist/components/number-pad/number-pad-cell.d.ts +7 -0
  187. package/dist/components/number-pad/number-pad-icon.d.cts +13 -0
  188. package/dist/components/number-pad/number-pad-icon.d.ts +13 -0
  189. package/dist/components/number-pad/number-pad-key.d.cts +24 -0
  190. package/dist/components/number-pad/number-pad-key.d.ts +24 -0
  191. package/dist/components/number-pad/number-pad-label.d.cts +14 -0
  192. package/dist/components/number-pad/number-pad-label.d.ts +14 -0
  193. package/dist/components/number-pad/number-pad.context.d.cts +18 -0
  194. package/dist/components/number-pad/number-pad.context.d.ts +18 -0
  195. package/dist/components/number-pad/number-pad.d.cts +57 -0
  196. package/dist/components/number-pad/number-pad.d.ts +57 -0
  197. package/dist/components/number-pad/number-pad.recipe.d.cts +11 -0
  198. package/dist/components/number-pad/number-pad.recipe.d.ts +11 -0
  199. package/dist/components/number-pad/number-pad.style.d.cts +13 -0
  200. package/dist/components/number-pad/number-pad.style.d.ts +13 -0
  201. package/dist/components/number-pad/number-pad.type.d.cts +135 -0
  202. package/dist/components/number-pad/number-pad.type.d.ts +135 -0
  203. package/dist/components/number-pad/number-pad.utils.d.cts +34 -0
  204. package/dist/components/number-pad/number-pad.utils.d.ts +34 -0
  205. package/dist/components/number-stepper/index.cjs +3 -3
  206. package/dist/components/number-stepper/index.js +2 -2
  207. package/dist/components/pager/index.cjs +31 -0
  208. package/dist/components/pager/index.d.cts +60 -0
  209. package/dist/components/pager/index.d.ts +60 -0
  210. package/dist/components/pager/index.js +31 -0
  211. package/dist/components/pager/pager-content.d.cts +24 -0
  212. package/dist/components/pager/pager-content.d.ts +24 -0
  213. package/dist/components/pager/pager-indicator.d.cts +47 -0
  214. package/dist/components/pager/pager-indicator.d.ts +47 -0
  215. package/dist/components/pager/pager-page.d.cts +16 -0
  216. package/dist/components/pager/pager-page.d.ts +16 -0
  217. package/dist/components/pager/pager.context.d.cts +7 -0
  218. package/dist/components/pager/pager.context.d.ts +7 -0
  219. package/dist/components/pager/pager.d.cts +71 -0
  220. package/dist/components/pager/pager.d.ts +71 -0
  221. package/dist/components/pager/pager.recipe.d.cts +15 -0
  222. package/dist/components/pager/pager.recipe.d.ts +15 -0
  223. package/dist/components/pager/pager.type.d.cts +108 -0
  224. package/dist/components/pager/pager.type.d.ts +108 -0
  225. package/dist/components/phone-number-field/index.cjs +15 -15
  226. package/dist/components/phone-number-field/index.js +4 -4
  227. package/dist/components/popover/index.cjs +3 -3
  228. package/dist/components/popover/index.js +2 -2
  229. package/dist/components/radio/index.cjs +3 -3
  230. package/dist/components/radio/index.d.cts +1 -0
  231. package/dist/components/radio/index.d.ts +1 -0
  232. package/dist/components/radio/index.js +2 -2
  233. package/dist/components/radio/radio.d.cts +1 -0
  234. package/dist/components/radio/radio.d.ts +1 -0
  235. package/dist/components/range-calendar/index.cjs +4 -4
  236. package/dist/components/range-calendar/index.js +3 -3
  237. package/dist/components/rating/index.cjs +30 -0
  238. package/dist/components/rating/index.d.cts +41 -0
  239. package/dist/components/rating/index.d.ts +41 -0
  240. package/dist/components/rating/index.js +30 -0
  241. package/dist/components/rating/rating-icon.d.cts +16 -0
  242. package/dist/components/rating/rating-icon.d.ts +16 -0
  243. package/dist/components/rating/rating-item.d.cts +23 -0
  244. package/dist/components/rating/rating-item.d.ts +23 -0
  245. package/dist/components/rating/rating-star.d.cts +19 -0
  246. package/dist/components/rating/rating-star.d.ts +19 -0
  247. package/dist/components/rating/rating.context.d.cts +16 -0
  248. package/dist/components/rating/rating.context.d.ts +16 -0
  249. package/dist/components/rating/rating.d.cts +59 -0
  250. package/dist/components/rating/rating.d.ts +59 -0
  251. package/dist/components/rating/rating.recipe.d.cts +11 -0
  252. package/dist/components/rating/rating.recipe.d.ts +11 -0
  253. package/dist/components/rating/rating.style.d.cts +24 -0
  254. package/dist/components/rating/rating.style.d.ts +24 -0
  255. package/dist/components/rating/rating.type.d.cts +108 -0
  256. package/dist/components/rating/rating.type.d.ts +108 -0
  257. package/dist/components/rating/rating.utils.d.cts +28 -0
  258. package/dist/components/rating/rating.utils.d.ts +28 -0
  259. package/dist/components/search-field/index.cjs +4 -4
  260. package/dist/components/search-field/index.js +3 -3
  261. package/dist/components/segment/index.cjs +2 -2
  262. package/dist/components/segment/index.js +1 -1
  263. package/dist/components/select/index.cjs +3 -3
  264. package/dist/components/select/index.js +2 -2
  265. package/dist/components/snackbar/index.cjs +3 -3
  266. package/dist/components/snackbar/index.js +2 -2
  267. package/dist/components/switch/index.cjs +3 -3
  268. package/dist/components/switch/index.d.cts +1 -0
  269. package/dist/components/switch/index.d.ts +1 -0
  270. package/dist/components/switch/index.js +2 -2
  271. package/dist/components/switch/switch.d.cts +1 -0
  272. package/dist/components/switch/switch.d.ts +1 -0
  273. package/dist/components/table/index.cjs +4 -4
  274. package/dist/components/table/index.js +3 -3
  275. package/dist/components/tabs/index.cjs +3 -3
  276. package/dist/components/tabs/index.js +2 -2
  277. package/dist/components/tag-group/index.cjs +4 -4
  278. package/dist/components/tag-group/index.js +3 -3
  279. package/dist/components/time-picker/index.cjs +4 -4
  280. package/dist/components/time-picker/index.js +3 -3
  281. package/dist/components/toast/index.cjs +3 -3
  282. package/dist/components/toast/index.js +2 -2
  283. package/dist/components/toggle-button/index.cjs +3 -3
  284. package/dist/components/toggle-button/index.d.cts +1 -0
  285. package/dist/components/toggle-button/index.d.ts +1 -0
  286. package/dist/components/toggle-button/index.js +2 -2
  287. package/dist/components/toggle-button/toggle-button.d.cts +1 -0
  288. package/dist/components/toggle-button/toggle-button.d.ts +1 -0
  289. package/dist/index.cjs +145 -60
  290. package/dist/index.js +243 -158
  291. package/dist/system/index.cjs +3 -3
  292. package/dist/system/index.js +2 -2
  293. package/dist/system/pressable-feedback/index.d.cts +1 -0
  294. package/dist/system/pressable-feedback/index.d.ts +1 -0
  295. package/dist/system/pressable-feedback/pressable-feedback.d.cts +1 -0
  296. package/dist/system/pressable-feedback/pressable-feedback.d.ts +1 -0
  297. package/dist/system/pressable-feedback/pressable-feedback.type.d.cts +13 -1
  298. package/dist/system/pressable-feedback/pressable-feedback.type.d.ts +13 -1
  299. package/package.json +41 -1
  300. package/dist/chunk-L5GB6G3L.cjs +0 -1007
@@ -1,19 +1,19 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
3
 
4
- var _chunk5YEMZL4Ccjs = require('./chunk-5YEMZL4C.cjs');
4
+ var _chunkCBRW53GNcjs = require('./chunk-CBRW53GN.cjs');
5
5
 
6
6
 
7
7
  var _chunkYSTLHVQVcjs = require('./chunk-YSTLHVQV.cjs');
8
8
 
9
9
 
10
- var _chunkA2JNZMDJcjs = require('./chunk-A2JNZMDJ.cjs');
10
+ var _chunk2B6PUYTPcjs = require('./chunk-2B6PUYTP.cjs');
11
11
 
12
12
 
13
- var _chunkD2UYBAGBcjs = require('./chunk-D2UYBAGB.cjs');
13
+ var _chunkIPD3IUE2cjs = require('./chunk-IPD3IUE2.cjs');
14
14
 
15
15
 
16
- var _chunkSDLDRTT7cjs = require('./chunk-SDLDRTT7.cjs');
16
+ var _chunkUEW3GAP5cjs = require('./chunk-UEW3GAP5.cjs');
17
17
 
18
18
 
19
19
  var _chunkISHMSP6Pcjs = require('./chunk-ISHMSP6P.cjs');
@@ -25,7 +25,7 @@ var _chunkJ5COSALOcjs = require('./chunk-J5COSALO.cjs');
25
25
  var _chunk7EIHHOHPcjs = require('./chunk-7EIHHOHP.cjs');
26
26
 
27
27
 
28
- var _chunkPIU3JONRcjs = require('./chunk-PIU3JONR.cjs');
28
+ var _chunkOW4N2C3Mcjs = require('./chunk-OW4N2C3M.cjs');
29
29
 
30
30
 
31
31
  var _chunk7DPL3ZDScjs = require('./chunk-7DPL3ZDS.cjs');
@@ -235,7 +235,7 @@ var DateTimePickerSteps = _react.forwardRef.call(void 0, function DateTimePicker
235
235
  time: timeText
236
236
  };
237
237
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
238
- _chunkA2JNZMDJcjs.Tabs,
238
+ _chunk2B6PUYTPcjs.Tabs,
239
239
  {
240
240
  ref,
241
241
  value: step,
@@ -243,9 +243,9 @@ var DateTimePickerSteps = _react.forwardRef.call(void 0, function DateTimePicker
243
243
  isDisabled,
244
244
  ...props,
245
245
  style: [{ marginBottom: theme.spacing(2) }, style],
246
- children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkA2JNZMDJcjs.Tabs.List, { style: { alignSelf: "center" }, children: [
247
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA2JNZMDJcjs.Tabs.Indicator, {}),
248
- STEPS.map((name) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA2JNZMDJcjs.Tabs.Trigger, { value: name, children: _nullishCoalesce(_nullishCoalesce(shown[name], () => ( _optionalChain([labels, 'optionalAccess', _4 => _4[name]]))), () => ( name)) }, name))
246
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk2B6PUYTPcjs.Tabs.List, { style: { alignSelf: "center" }, children: [
247
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2B6PUYTPcjs.Tabs.Indicator, {}),
248
+ STEPS.map((name) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2B6PUYTPcjs.Tabs.Trigger, { value: name, children: _nullishCoalesce(_nullishCoalesce(shown[name], () => ( _optionalChain([labels, 'optionalAccess', _4 => _4[name]]))), () => ( name)) }, name))
249
249
  ] })
250
250
  }
251
251
  );
@@ -262,10 +262,10 @@ function DateTimePickerSheet({
262
262
  ...props
263
263
  }) {
264
264
  const picker = useDateTimePicker();
265
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkD2UYBAGBcjs.BottomSheet2, { isOpen: picker.isOpen, onOpenChange: picker.setOpen, ...props, children: [
266
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkD2UYBAGBcjs.BottomSheet2.Overlay, {}),
267
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkD2UYBAGBcjs.BottomSheet2.Content, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DateTimePickerProvider, { value: picker, children: _nullishCoalesce(children, () => ( /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
268
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkD2UYBAGBcjs.BottomSheet2.Handle, {}),
265
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkIPD3IUE2cjs.BottomSheet2, { isOpen: picker.isOpen, onOpenChange: picker.setOpen, ...props, children: [
266
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIPD3IUE2cjs.BottomSheet2.Overlay, {}),
267
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIPD3IUE2cjs.BottomSheet2.Content, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DateTimePickerProvider, { value: picker, children: _nullishCoalesce(children, () => ( /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
268
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIPD3IUE2cjs.BottomSheet2.Handle, {}),
269
269
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DateTimePickerSteps, { labels: stepLabels }),
270
270
  picker.step === "date" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
271
271
  DateTimePickerCalendar,
@@ -285,7 +285,7 @@ function DateTimePickerCalendar({
285
285
  }) {
286
286
  const { value, onPickDate, calendar } = useDateTimePicker();
287
287
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
288
- _chunkSDLDRTT7cjs.Calendar,
288
+ _chunkUEW3GAP5cjs.Calendar,
289
289
  {
290
290
  size: calendar.size,
291
291
  color: calendar.color,
@@ -296,13 +296,13 @@ function DateTimePickerCalendar({
296
296
  onValueChange: onPickDate,
297
297
  ...props,
298
298
  children: [
299
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkSDLDRTT7cjs.Calendar.Header, { children: [
300
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSDLDRTT7cjs.Calendar.PreviousButton, { accessibilityLabel: previousLabel }),
301
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSDLDRTT7cjs.Calendar.Title, {}),
302
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSDLDRTT7cjs.Calendar.NextButton, { accessibilityLabel: nextLabel })
299
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkUEW3GAP5cjs.Calendar.Header, { children: [
300
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUEW3GAP5cjs.Calendar.PreviousButton, { accessibilityLabel: previousLabel }),
301
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUEW3GAP5cjs.Calendar.Title, {}),
302
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUEW3GAP5cjs.Calendar.NextButton, { accessibilityLabel: nextLabel })
303
303
  ] }),
304
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSDLDRTT7cjs.Calendar.Weekdays, {}),
305
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSDLDRTT7cjs.Calendar.Grid, {})
304
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUEW3GAP5cjs.Calendar.Weekdays, {}),
305
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUEW3GAP5cjs.Calendar.Grid, {})
306
306
  ]
307
307
  }
308
308
  );
@@ -311,7 +311,7 @@ DateTimePickerCalendar.displayName = "XAUI.DateTimePicker.Calendar";
311
311
  function DateTimePickerClock(props) {
312
312
  const { value, onPickTime, clock } = useDateTimePicker();
313
313
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
314
- _chunk5YEMZL4Ccjs.TimePicker2,
314
+ _chunkCBRW53GNcjs.TimePicker2,
315
315
  {
316
316
  size: clock.size,
317
317
  color: clock.color,
@@ -323,8 +323,8 @@ function DateTimePickerClock(props) {
323
323
  closeOnSelect: false,
324
324
  ...props,
325
325
  children: [
326
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5YEMZL4Ccjs.TimePicker2.Display, { style: { alignSelf: "center" } }),
327
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5YEMZL4Ccjs.TimePicker2.Clock, { style: { alignSelf: "center" } })
326
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCBRW53GNcjs.TimePicker2.Display, { style: { alignSelf: "center" } }),
327
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCBRW53GNcjs.TimePicker2.Clock, { style: { alignSelf: "center" } })
328
328
  ]
329
329
  }
330
330
  );
@@ -335,7 +335,7 @@ DateTimePickerClock.displayName = "XAUI.DateTimePicker.Clock";
335
335
 
336
336
  function DateTimePickerIndicator(props) {
337
337
  const { glyph } = useDateTimePicker();
338
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSZDN6EZcjs.IconContext.Provider, { value: glyph, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5YEMZL4Ccjs.TimePickerIndicator, { ...props }) });
338
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSZDN6EZcjs.IconContext.Provider, { value: glyph, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCBRW53GNcjs.TimePickerIndicator, { ...props }) });
339
339
  }
340
340
  DateTimePickerIndicator.displayName = "XAUI.DateTimePicker.Indicator";
341
341
 
@@ -366,7 +366,7 @@ var DateTimePickerTrigger = _react.forwardRef.call(void 0,
366
366
  const [styleProps, rest] = _chunkTK44VBIEcjs.useStyleProps.call(void 0, props);
367
367
  const [isPressed, press] = _chunk7DPL3ZDScjs.usePressState.call(void 0, { onPressIn, onPressOut });
368
368
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGSZDN6EZcjs.IconContext.Provider, { value: glyph, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
369
- _chunkPIU3JONRcjs.PressableFeedback,
369
+ _chunkOW4N2C3Mcjs.PressableFeedback,
370
370
  {
371
371
  ref,
372
372
  isPressed,
@@ -0,0 +1,422 @@
1
+ import {
2
+ containsElementOfType
3
+ } from "./chunk-7J3M62W5.js";
4
+ import {
5
+ useControllableState
6
+ } from "./chunk-F6W3JQ7K.js";
7
+ import {
8
+ PressableFeedback
9
+ } from "./chunk-2AFA5HA2.js";
10
+ import {
11
+ usePressState
12
+ } from "./chunk-423RQBOX.js";
13
+ import {
14
+ Icon
15
+ } from "./chunk-JN6IRT2M.js";
16
+ import {
17
+ createRecipe,
18
+ radiusAxis
19
+ } from "./chunk-DKVXTMIJ.js";
20
+ import {
21
+ createSlotContext
22
+ } from "./chunk-TTZOIXKE.js";
23
+ import {
24
+ warnDev
25
+ } from "./chunk-EGLLDKN6.js";
26
+ import {
27
+ useXAUITheme
28
+ } from "./chunk-Z6JBWRPL.js";
29
+ import {
30
+ useStyleProps
31
+ } from "./chunk-M63GFNKV.js";
32
+
33
+ // src/components/morph-button/morph-button-face.tsx
34
+ import { forwardRef } from "react";
35
+ import Animated from "react-native-reanimated";
36
+
37
+ // src/components/morph-button/morph-button.animation.ts
38
+ import { Easing, FadeIn, FadeOut, LinearTransition } from "react-native-reanimated";
39
+ var MORPH_SPRING = { stiffness: 1400, damping: 110, mass: 3 };
40
+ function morphTransition(spring) {
41
+ return LinearTransition.springify().stiffness(spring.stiffness).damping(spring.damping).mass(spring.mass);
42
+ }
43
+ var FACE_MS = 140;
44
+ var faceEntering = FadeIn.duration(FACE_MS).easing(Easing.out(Easing.ease));
45
+ var faceExiting = FadeOut.duration(FACE_MS).easing(Easing.in(Easing.ease));
46
+
47
+ // src/components/morph-button/morph-button.context.ts
48
+ var [MorphButtonProvider, useMorphButton] = createSlotContext("MorphButton");
49
+
50
+ // src/components/morph-button/morph-button-face.tsx
51
+ import { jsx } from "react/jsx-runtime";
52
+ function face(which, name) {
53
+ const Component = forwardRef(function MorphButtonFace({ children, style, ...props }, ref) {
54
+ const { isExpanded, collapsedStyle, expandedStyle, animation } = useMorphButton();
55
+ const [styleProps, rest] = useStyleProps(props);
56
+ if (isExpanded !== (which === "expanded")) return null;
57
+ return /* @__PURE__ */ jsx(
58
+ Animated.View,
59
+ {
60
+ ref,
61
+ entering: animation ? faceEntering : void 0,
62
+ exiting: animation ? faceExiting : void 0,
63
+ ...rest,
64
+ style: [
65
+ which === "expanded" ? expandedStyle : collapsedStyle,
66
+ styleProps,
67
+ style
68
+ ],
69
+ children
70
+ }
71
+ );
72
+ });
73
+ Component.displayName = name;
74
+ return Component;
75
+ }
76
+ var MorphButtonCollapsed = face("collapsed", "XAUI.MorphButton.Collapsed");
77
+ var MorphButtonExpanded = face("expanded", "XAUI.MorphButton.Expanded");
78
+
79
+ // src/components/morph-button/morph-button-icon.tsx
80
+ import { jsx as jsx2 } from "react/jsx-runtime";
81
+ function MorphButtonIcon({ size, color, ...rest }) {
82
+ const { icon } = useMorphButton();
83
+ return /* @__PURE__ */ jsx2(Icon, { size: size ?? icon.size, color: color ?? icon.color, ...rest });
84
+ }
85
+ MorphButtonIcon.displayName = "XAUI.MorphButton.Icon";
86
+
87
+ // src/components/morph-button/morph-button-text.tsx
88
+ import { forwardRef as forwardRef2 } from "react";
89
+ import { Text } from "react-native";
90
+ import { jsx as jsx3 } from "react/jsx-runtime";
91
+ function text(slot, lines, name) {
92
+ const Component = forwardRef2(function MorphButtonText({ children, style, numberOfLines = lines, ...props }, ref) {
93
+ const context = useMorphButton();
94
+ const [styleProps, rest] = useStyleProps(props);
95
+ return /* @__PURE__ */ jsx3(
96
+ Text,
97
+ {
98
+ ref,
99
+ numberOfLines,
100
+ style: [context[slot], styleProps, style],
101
+ ...rest,
102
+ children
103
+ }
104
+ );
105
+ });
106
+ Component.displayName = name;
107
+ return Component;
108
+ }
109
+ var MorphButtonLabel = text("labelStyle", 1, "XAUI.MorphButton.Label");
110
+ var MorphButtonTitle = text(
111
+ "titleStyle",
112
+ void 0,
113
+ "XAUI.MorphButton.Title"
114
+ );
115
+ var MorphButtonDescription = text(
116
+ "descriptionStyle",
117
+ void 0,
118
+ "XAUI.MorphButton.Description"
119
+ );
120
+
121
+ // src/components/morph-button/morph-button.tsx
122
+ import { forwardRef as forwardRef3, useCallback, useEffect, useMemo, useRef } from "react";
123
+ import { StyleSheet } from "react-native";
124
+
125
+ // src/components/morph-button/morph-button.recipe.ts
126
+ var SLOTS = [
127
+ "root",
128
+ "collapsed",
129
+ "expanded",
130
+ "label",
131
+ "title",
132
+ "description",
133
+ "icon"
134
+ ];
135
+ var VARIANT_TOKENS = {
136
+ primary: { bg: "accent", bgPressed: "accentPressed", fg: "accentForeground" },
137
+ secondary: {
138
+ bg: "accentSoft",
139
+ bgPressed: "accentSoftPressed",
140
+ fg: "accentSoftForeground"
141
+ },
142
+ default: { bg: "default", bgPressed: "defaultPressed", fg: "defaultForeground" },
143
+ tertiary: { border: "border", bgPressed: "defaultSoftPressed", fg: "foreground" },
144
+ ghost: { bgPressed: "defaultSoftPressed", fg: "foreground" },
145
+ danger: { bg: "danger", bgPressed: "dangerPressed", fg: "dangerForeground" },
146
+ "danger-soft": {
147
+ bg: "dangerSoft",
148
+ bgPressed: "dangerSoftPressed",
149
+ fg: "dangerSoftForeground"
150
+ }
151
+ };
152
+ var DESCRIPTION_OPACITY = 0.72;
153
+ function sharedCorner(theme, height) {
154
+ return theme.controlHeights[height] / 2;
155
+ }
156
+ function sizeAxis(step) {
157
+ const { height, inset, gap, padding, stack, label, title, description, glyph } = step;
158
+ return (theme) => ({
159
+ root: { borderRadius: sharedCorner(theme, height) },
160
+ collapsed: {
161
+ height: theme.controlHeights[height],
162
+ paddingHorizontal: theme.spacing(inset),
163
+ gap: theme.spacing(gap)
164
+ },
165
+ expanded: { padding: theme.spacing(padding), gap: theme.spacing(stack) },
166
+ label: {
167
+ fontSize: theme.fontSizes[label],
168
+ lineHeight: theme.lineHeights[label]
169
+ },
170
+ title: {
171
+ fontSize: theme.fontSizes[title],
172
+ lineHeight: theme.lineHeights[title]
173
+ },
174
+ description: {
175
+ fontSize: theme.fontSizes[description],
176
+ lineHeight: theme.lineHeights[description]
177
+ },
178
+ icon: { fontSize: theme.fontSizes[glyph] }
179
+ });
180
+ }
181
+ var SIZES = {
182
+ sm: {
183
+ height: "sm",
184
+ inset: 3.5,
185
+ gap: 1.5,
186
+ padding: 4,
187
+ stack: 1,
188
+ label: "sm",
189
+ title: "md",
190
+ description: "xs",
191
+ glyph: "md"
192
+ },
193
+ md: {
194
+ height: "md",
195
+ inset: 4,
196
+ gap: 2,
197
+ padding: 5,
198
+ stack: 1.5,
199
+ label: "md",
200
+ title: "lg",
201
+ description: "sm",
202
+ glyph: "lg"
203
+ },
204
+ lg: {
205
+ height: "lg",
206
+ inset: 5,
207
+ gap: 2.5,
208
+ padding: 6,
209
+ stack: 2,
210
+ label: "lg",
211
+ title: "xl",
212
+ description: "md",
213
+ glyph: "xl"
214
+ }
215
+ };
216
+ var morphButtonRecipe = createRecipe({
217
+ slots: SLOTS,
218
+ base: (theme) => ({
219
+ root: {
220
+ // No width and no height: the faces carry the measurements, so the box is the size of
221
+ // whichever one is mounted. RN's own `alignItems: 'stretch'` is what lets the card
222
+ // fill the box the pill's label sized.
223
+ borderWidth: 0,
224
+ // The entering face is at its final size while the box is still travelling, so
225
+ // without this the card's content is drawn outside the shape for the length of the
226
+ // spring. Clipped, the same frames read as the shape revealing it.
227
+ overflow: "hidden",
228
+ // iOS's squircle, and what keeps a corner this large reading as a shape rather than
229
+ // as two arcs meeting a straight edge.
230
+ borderCurve: "continuous"
231
+ },
232
+ collapsed: {
233
+ flexDirection: "row",
234
+ alignItems: "center",
235
+ justifyContent: "center"
236
+ },
237
+ label: {
238
+ fontFamily: theme.fontFamilies.body,
239
+ fontWeight: theme.fontWeights.medium
240
+ },
241
+ title: {
242
+ fontFamily: theme.fontFamilies.body,
243
+ fontWeight: theme.fontWeights.semibold
244
+ },
245
+ description: {
246
+ fontFamily: theme.fontFamilies.body,
247
+ opacity: DESCRIPTION_OPACITY
248
+ }
249
+ }),
250
+ variantTokens: VARIANT_TOKENS,
251
+ /**
252
+ * Where the variant's colours land, for every variant at once — the `Button`'s `paint`,
253
+ * with the card's two text slots reading the same foreground as the pill's label. The
254
+ * border width follows the *presence* of the border role rather than a per-variant flag.
255
+ */
256
+ paint: (theme, colors) => ({
257
+ root: {
258
+ backgroundColor: colors.bg,
259
+ borderColor: colors.border,
260
+ borderWidth: colors.border ? theme.borderWidth.default : 0
261
+ },
262
+ label: { color: colors.fg },
263
+ title: { color: colors.fg },
264
+ description: { color: colors.fg },
265
+ icon: { color: colors.fg }
266
+ }),
267
+ /** Declaration order is application order: `radius` overrides the corner `size` derived. */
268
+ variants: {
269
+ size: {
270
+ sm: sizeAxis(SIZES.sm),
271
+ md: sizeAxis(SIZES.md),
272
+ lg: sizeAxis(SIZES.lg)
273
+ },
274
+ radius: radiusAxis("root")
275
+ },
276
+ /**
277
+ * The pressed colour is the variant's own `…Pressed` token rather than a
278
+ * `PressableFeedback.Highlight`, exactly as on the `Button`: a control picks one
279
+ * treatment or the other, and both would darken it twice.
280
+ */
281
+ states: {
282
+ pressed: (_theme, colors) => ({ root: { backgroundColor: colors.bgPressed } }),
283
+ disabled: (theme) => ({ root: { opacity: theme.opacity.disabled } })
284
+ },
285
+ defaultVariants: { variant: "primary", size: "md" }
286
+ });
287
+
288
+ // src/components/morph-button/morph-button.tsx
289
+ import { jsx as jsx4 } from "react/jsx-runtime";
290
+ var MorphButtonRoot = forwardRef3(
291
+ function MorphButton({
292
+ children,
293
+ variant,
294
+ size,
295
+ radius,
296
+ color,
297
+ isExpanded: controlledExpanded,
298
+ defaultExpanded = false,
299
+ onExpandedChange,
300
+ animation = true,
301
+ isDisabled = false,
302
+ asChild = false,
303
+ accessibilityRole = "button",
304
+ accessibilityState,
305
+ style,
306
+ onPress,
307
+ onPressIn,
308
+ onPressOut,
309
+ ...props
310
+ }, ref) {
311
+ const theme = useXAUITheme();
312
+ const [styleProps, rest] = useStyleProps(props);
313
+ const [isPressed, press] = usePressState({ onPressIn, onPressOut });
314
+ const [isExpanded, setExpanded] = useControllableState({
315
+ value: controlledExpanded,
316
+ defaultValue: defaultExpanded,
317
+ onChange: onExpandedChange
318
+ });
319
+ const selection = { variant, size, radius };
320
+ const states = { pressed: isPressed, disabled: isDisabled };
321
+ const styles = morphButtonRecipe.resolve({ theme, selection, states });
322
+ const tint = color ? morphButtonRecipe.tint({ theme, color, selection, states }) : void 0;
323
+ const hasMorphed = useRef(false);
324
+ useEffect(() => {
325
+ hasMorphed.current = true;
326
+ }, [isExpanded]);
327
+ const toggle = useCallback(() => {
328
+ if (isDisabled) return;
329
+ setExpanded((current) => !current);
330
+ }, [isDisabled, setExpanded]);
331
+ const handlePress = useCallback(
332
+ (event) => {
333
+ onPress?.(event);
334
+ toggle();
335
+ },
336
+ [onPress, toggle]
337
+ );
338
+ const transition = useMemo(() => {
339
+ if (animation === false) return void 0;
340
+ const tuned = animation === true ? MORPH_SPRING : { ...MORPH_SPRING, ...animation };
341
+ return morphTransition(tuned);
342
+ }, [animation]);
343
+ const context = useMemo(() => {
344
+ const icon = StyleSheet.flatten([styles.icon, tint?.icon]);
345
+ return {
346
+ collapsedStyle: styles.collapsed,
347
+ expandedStyle: styles.expanded,
348
+ labelStyle: tint ? [styles.label, tint.label] : styles.label,
349
+ titleStyle: tint ? [styles.title, tint.title] : styles.title,
350
+ descriptionStyle: tint ? [styles.description, tint.description] : styles.description,
351
+ icon: {
352
+ size: icon.fontSize,
353
+ // `ColorValue` also covers the platform's opaque colours, which `Icon` cannot
354
+ // hand to a third-party component expecting a string.
355
+ color: typeof icon.color === "string" ? icon.color : void 0
356
+ },
357
+ isExpanded,
358
+ toggle,
359
+ isDisabled,
360
+ animation: animation !== false && hasMorphed.current
361
+ };
362
+ }, [styles, tint, isExpanded, toggle, isDisabled, animation]);
363
+ const rootStyle = [
364
+ styles.root,
365
+ tint?.root,
366
+ styleProps,
367
+ typeof style === "function" ? style({ pressed: isPressed }) : style
368
+ ];
369
+ if (!asChild && !containsElementOfType(children, MorphButtonCollapsed) && !containsElementOfType(children, MorphButtonExpanded)) {
370
+ warnDev(
371
+ "MorphButton: neither a `MorphButton.Collapsed` nor a `MorphButton.Expanded` is composed, so one of the two shapes is empty. The two faces are the API \u2014 a bare string cannot be auto-wrapped, because it could belong to either."
372
+ );
373
+ }
374
+ return /* @__PURE__ */ jsx4(MorphButtonProvider, { value: context, children: /* @__PURE__ */ jsx4(
375
+ PressableFeedback,
376
+ {
377
+ ref,
378
+ isPressed,
379
+ isDisabled,
380
+ asChild,
381
+ layout: transition,
382
+ accessibilityRole,
383
+ accessibilityState: {
384
+ expanded: isExpanded,
385
+ disabled: isDisabled,
386
+ ...accessibilityState
387
+ },
388
+ ...rest,
389
+ style: rootStyle,
390
+ onPress: handlePress,
391
+ onPressIn: press.onPressIn,
392
+ onPressOut: press.onPressOut,
393
+ children
394
+ }
395
+ ) });
396
+ }
397
+ );
398
+ MorphButtonRoot.displayName = "XAUI.MorphButton.Root";
399
+
400
+ // src/components/morph-button/index.ts
401
+ var MorphButton2 = Object.assign(MorphButtonRoot, {
402
+ Collapsed: MorphButtonCollapsed,
403
+ Expanded: MorphButtonExpanded,
404
+ Label: MorphButtonLabel,
405
+ Title: MorphButtonTitle,
406
+ Description: MorphButtonDescription,
407
+ Icon: MorphButtonIcon
408
+ });
409
+
410
+ export {
411
+ MORPH_SPRING,
412
+ useMorphButton,
413
+ MorphButtonCollapsed,
414
+ MorphButtonExpanded,
415
+ MorphButtonIcon,
416
+ MorphButtonLabel,
417
+ MorphButtonTitle,
418
+ MorphButtonDescription,
419
+ morphButtonRecipe,
420
+ MorphButtonRoot,
421
+ MorphButton2 as MorphButton
422
+ };
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  CloseButtonBase,
3
3
  closeButtonGeometry
4
- } from "./chunk-4BAKKBHJ.js";
4
+ } from "./chunk-USIWPESU.js";
5
5
  import {
6
6
  useControllableState
7
7
  } from "./chunk-F6W3JQ7K.js";
8
8
  import {
9
9
  PressableFeedback
10
- } from "./chunk-XZ42OWKC.js";
10
+ } from "./chunk-2AFA5HA2.js";
11
11
  import {
12
12
  usePressState
13
13
  } from "./chunk-423RQBOX.js";
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
3
 
4
- var _chunk67WT74DYcjs = require('./chunk-67WT74DY.cjs');
4
+ var _chunkZE4IHUUOcjs = require('./chunk-ZE4IHUUO.cjs');
5
5
 
6
6
 
7
7
  var _chunkGSZDN6EZcjs = require('./chunk-GSZDN6EZ.cjs');
@@ -34,7 +34,7 @@ var _jsxruntime = require('react/jsx-runtime');
34
34
  var AlertClose = _react.forwardRef.call(void 0, function AlertClose2({ isDisabled, ...props }, ref) {
35
35
  const { closeStyle, closeGlyphStyle, isDisabled: isAlertDisabled } = useAlert();
36
36
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
37
- _chunk67WT74DYcjs.CloseButtonBase,
37
+ _chunkZE4IHUUOcjs.CloseButtonBase,
38
38
  {
39
39
  ref,
40
40
  name: "Alert.Close",
@@ -196,7 +196,7 @@ var alertRecipe = _chunkSL3V7R2Ycjs.createRecipe.call(void 0, {
196
196
  // The cross's own geometry — thickness and centring — belongs to the shared
197
197
  // `CloseButtonBase`; what stays below is the box and bar size this component's scale sets.
198
198
  base: (theme) => ({
199
- ..._chunk67WT74DYcjs.closeButtonGeometry.call(void 0, theme),
199
+ ..._chunkZE4IHUUOcjs.closeButtonGeometry.call(void 0, theme),
200
200
  root: {
201
201
  flexDirection: "row",
202
202
  // Top-aligned, not centred: an alert's message can run to three lines, and an icon
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-F6W3JQ7K.js";
19
19
  import {
20
20
  PressableFeedback
21
- } from "./chunk-XZ42OWKC.js";
21
+ } from "./chunk-2AFA5HA2.js";
22
22
  import {
23
23
  usePressState
24
24
  } from "./chunk-423RQBOX.js";
@@ -21,7 +21,7 @@ import {
21
21
  } from "./chunk-F6W3JQ7K.js";
22
22
  import {
23
23
  PressableFeedback
24
- } from "./chunk-XZ42OWKC.js";
24
+ } from "./chunk-2AFA5HA2.js";
25
25
  import {
26
26
  usePressState
27
27
  } from "./chunk-423RQBOX.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  useAnchorRef
3
3
  } from "./chunk-734MFAX4.js";
4
- import {
5
- containsElementOfType
6
- } from "./chunk-7J3M62W5.js";
7
4
  import {
8
5
  useRotation
9
6
  } from "./chunk-3GFRSZYR.js";
7
+ import {
8
+ containsElementOfType
9
+ } from "./chunk-7J3M62W5.js";
10
10
  import {
11
11
  useAnchoredPosition
12
12
  } from "./chunk-Z6FRP4EV.js";
@@ -28,7 +28,7 @@ import {
28
28
  } from "./chunk-F6W3JQ7K.js";
29
29
  import {
30
30
  PressableFeedback
31
- } from "./chunk-XZ42OWKC.js";
31
+ } from "./chunk-2AFA5HA2.js";
32
32
  import {
33
33
  usePressState
34
34
  } from "./chunk-423RQBOX.js";