@v-miniapp/ui-react 1.0.45 → 1.0.59

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 (255) hide show
  1. package/dist/components/app/app.d.ts +17 -0
  2. package/dist/components/app/bottom-tab-bar-layout/hook.d.ts +21 -0
  3. package/dist/components/app/bottom-tab-bar-layout/store.d.ts +13 -0
  4. package/dist/components/app/bottom-tab-bar-layout/type.d.ts +13 -0
  5. package/dist/components/app/data-theme.d.ts +8 -0
  6. package/dist/components/app/index.d.ts +9 -18
  7. package/dist/components/app/navigation-bar-layout/hook.d.ts +17 -0
  8. package/dist/components/app/navigation-bar-layout/store.d.ts +13 -0
  9. package/dist/components/app/navigation-bar-layout/type.d.ts +7 -0
  10. package/dist/components/app/page-layout/hook.d.ts +21 -0
  11. package/dist/components/app/page-layout/store.d.ts +13 -0
  12. package/dist/components/app/page-layout/type.d.ts +8 -0
  13. package/dist/components/app/type.d.ts +27 -0
  14. package/dist/components/calendar/default-render.d.ts +1 -1
  15. package/dist/components/calendar/utils.d.ts +1 -1
  16. package/dist/components/carousel/index.d.ts +1 -0
  17. package/dist/components/input-wrapper/input-wrapper.d.ts +2 -2
  18. package/dist/components/layout/page.d.ts +8 -1
  19. package/dist/external/index.js +11344 -7959
  20. package/dist/external/styles.css +1 -1
  21. package/dist/index.d.ts +4 -1
  22. package/dist/index.js +4194 -4376
  23. package/dist/styles.css +1 -1
  24. package/dist/utils/event-emitter.d.ts +4 -0
  25. package/dist-storybook/assets/App-Dp1UG-xp.js +93 -0
  26. package/dist-storybook/assets/{Color-AVL7NMMY-1_8XTICv.js → Color-AVL7NMMY-XA8cFKdV.js} +1 -1
  27. package/dist-storybook/assets/DEEPLINK-cjgFMuRJ.js +33 -0
  28. package/dist-storybook/assets/{DocsRenderer-PQXLIZUC-BO86igwd.js → DocsRenderer-PQXLIZUC-D10-0Yfb.js} +2 -2
  29. package/dist-storybook/assets/EVENTS-BY66PjI7.js +65 -0
  30. package/dist-storybook/assets/GETTING_STARTED-580o-9Mx.js +64 -0
  31. package/dist-storybook/assets/GETTING_STARTED-BiQMvjvo.js +62 -0
  32. package/dist-storybook/assets/GETTING_STARTED-CIVMqKZW.js +80 -0
  33. package/dist-storybook/assets/{INFINITE_SCROLL-BtM3uoX0.js → INFINITE_SCROLL-BbeR5HeP.js} +1 -1
  34. package/dist-storybook/assets/LocalesProvider-CMlmwAyY.js +53 -0
  35. package/dist-storybook/assets/MIGRATE_DARKMODE_TO_THEME-CBDyZyg2.js +107 -0
  36. package/dist-storybook/assets/{MIGRATION_GUIDE-2LONslE4.js → MIGRATION_GUIDE-FZyRWI-B.js} +3 -3
  37. package/dist-storybook/assets/OVERVIEW-C9_6gX5Q.js +51 -0
  38. package/dist-storybook/assets/Router-B5U8bubH.js +71 -0
  39. package/dist-storybook/assets/{TAILWIND_INTEGRATION-_T-VfvkM.js → TAILWIND_INTEGRATION-BJdy5DAv.js} +1 -1
  40. package/dist-storybook/assets/THEME-CRbvH7KT.js +103 -0
  41. package/dist-storybook/assets/_baseClone-DQVxEhny.js +1 -0
  42. package/dist-storybook/assets/alert-CKwsuaPI.js +1 -0
  43. package/dist-storybook/assets/{alert.stories-B-vuojPh.js → alert.stories-D0X5wUHk.js} +3 -3
  44. package/dist-storybook/assets/app-CTv8lFU3.js +1 -0
  45. package/dist-storybook/assets/avatar-rWcYGe6j.js +1 -0
  46. package/dist-storybook/assets/{avatar.stories-KYFztAc8.js → avatar.stories-8lrbhMma.js} +6 -6
  47. package/dist-storybook/assets/{axe-CmvD4WV5.js → axe-BHGdSCoA.js} +1 -1
  48. package/dist-storybook/assets/badge-VcjGVEum.js +1 -0
  49. package/dist-storybook/assets/{badge.stories-Be2ItCmQ.js → badge.stories-BEFNaUA1.js} +3 -3
  50. package/dist-storybook/assets/{blocks-BuaOUtiH.js → blocks-DKR3P4qW.js} +3 -3
  51. package/dist-storybook/assets/{bottom-tab-bar-CtcTAxuI.js → bottom-tab-bar-B6IAoRwz.js} +1 -1
  52. package/dist-storybook/assets/{bottom-tab-bar.stories-CDmEve6z.js → bottom-tab-bar.stories-DXzLlO5o.js} +3 -3
  53. package/dist-storybook/assets/button-DJH3RlJl.js +1 -0
  54. package/dist-storybook/assets/{button.stories-CaqLWQiY.js → button.stories-DgYDJ6x7.js} +3 -3
  55. package/dist-storybook/assets/calendar-C4Xe_TW2.js +1 -0
  56. package/dist-storybook/assets/{calendar.stories-DLWZldet.js → calendar.stories-IVvRAjWN.js} +3 -3
  57. package/dist-storybook/assets/carousel-DJlgMyS5.js +37 -0
  58. package/dist-storybook/assets/{carousel.stories-B8YbGOOr.js → carousel.stories-3rA3nxdL.js} +3 -3
  59. package/dist-storybook/assets/checkbox-JOxcmyCZ.js +1 -0
  60. package/dist-storybook/assets/{checkbox.stories-CLvfZPiw.js → checkbox.stories-ge3pgfBb.js} +3 -3
  61. package/dist-storybook/assets/chip-Crt60rph.js +1 -0
  62. package/dist-storybook/assets/{chip.stories-BbwJb5eD.js → chip.stories-D7E6fdiV.js} +3 -3
  63. package/dist-storybook/assets/{date-Cg-Uk_pp.js → date-B3PFMb6s.js} +1 -1
  64. package/dist-storybook/assets/date-field-range-B-sv9nbW.js +1 -0
  65. package/dist-storybook/assets/date-field.stories-B9G2heHt.js +129 -0
  66. package/dist-storybook/assets/date-picker-BPzKPdhO.js +1 -0
  67. package/dist-storybook/assets/{date-picker.stories-BuGWvzFL.js → date-picker.stories-CIFgk4q_.js} +3 -3
  68. package/dist-storybook/assets/dialog-BAfGQzk5.js +1 -0
  69. package/dist-storybook/assets/{dialog.stories-DJ0WsSkA.js → dialog.stories-vDMKz9Tw.js} +3 -3
  70. package/dist-storybook/assets/{chip-kG4p82WT.js → dropdown-Dtomaqpw.js} +2 -2
  71. package/dist-storybook/assets/{dropdown.stories-D6JUYP73.js → dropdown.stories-Cj0HM0VI.js} +3 -3
  72. package/dist-storybook/assets/{embla-carousel-react.esm-BYjpaHZ9.js → embla-carousel-react.esm-5D5fs7OQ.js} +1 -1
  73. package/dist-storybook/assets/icon-CdiFzFyf.js +1 -0
  74. package/dist-storybook/assets/{icon.stories-B-ZvRzFf.js → icon.stories-DWwbUUY-.js} +3 -3
  75. package/dist-storybook/assets/iframe-BHaCv4dM.css +1 -0
  76. package/dist-storybook/assets/{iframe-CQAwSt4E.js → iframe-DfPay7Zl.js} +42 -42
  77. package/dist-storybook/assets/image-CMKb-R3x.js +9 -0
  78. package/dist-storybook/assets/{image.stories-C4l8D3ju.js → image.stories-BhZU057W.js} +3 -3
  79. package/dist-storybook/assets/index-BWpuenI4.js +1 -0
  80. package/dist-storybook/assets/{index-CgMRTj-o.js → index-DqZh6B0b.js} +1 -1
  81. package/dist-storybook/assets/{index-BV0AJWP6.js → index-EGt7xBnA.js} +1 -1
  82. package/dist-storybook/assets/{index-DHiZ-gXR.js → index-cMNObl2z.js} +1 -1
  83. package/dist-storybook/assets/input-wrapper-CgaUwbbE.js +1 -0
  84. package/dist-storybook/assets/{label-DV2iCDmN.js → label-D44azUgi.js} +1 -1
  85. package/dist-storybook/assets/{label.stories-BwTIPFXX.js → label.stories-CXJjdYf_.js} +3 -3
  86. package/dist-storybook/assets/{navigation-bar-vI-FPasP.js → navigation-bar-DK3TxcTu.js} +2 -2
  87. package/dist-storybook/assets/{navigation-bar.stories-DYuFaJFD.js → navigation-bar.stories-CB3Kg-sH.js} +3 -3
  88. package/dist-storybook/assets/number-field-Bz7su9S1.js +1 -0
  89. package/dist-storybook/assets/{number-field.stories--fn26TJu.js → number-field.stories-DSxPSzLv.js} +3 -3
  90. package/dist-storybook/assets/omit-BWHsnDSR.js +1 -0
  91. package/dist-storybook/assets/option-item-CpeNcb5w.js +1 -0
  92. package/dist-storybook/assets/{option-item.stories-snjAvgay.js → option-item.stories-BvXoc8WX.js} +3 -3
  93. package/dist-storybook/assets/pagination-Cp-DHO4Q.js +1 -0
  94. package/dist-storybook/assets/{pagination.stories-BoEs0jzS.js → pagination.stories-_5qj2nTS.js} +4 -4
  95. package/dist-storybook/assets/proxy-B4G9nIBd.js +1 -0
  96. package/dist-storybook/assets/radio-D0aV0RIg.js +1 -0
  97. package/dist-storybook/assets/{radio.stories-DuN-Awi_.js → radio.stories-BNR-wwuw.js} +3 -3
  98. package/dist-storybook/assets/rating-D2e8RTGl.js +1 -0
  99. package/dist-storybook/assets/{rating.stories-BCcQjMEx.js → rating.stories-CI0LG0Qq.js} +3 -3
  100. package/dist-storybook/assets/{react-18-CNyWQ7je.js → react-18-C7pDmBBf.js} +1 -1
  101. package/dist-storybook/assets/{react-hufnxGVs.js → react-I9jCW2VV.js} +1 -1
  102. package/dist-storybook/assets/search-field-DINESW8Y.js +1 -0
  103. package/dist-storybook/assets/{search-field.stories-DiCZbhng.js → search-field.stories-CKXC6-Za.js} +3 -3
  104. package/dist-storybook/assets/section-content-D49PabBW.js +1 -0
  105. package/dist-storybook/assets/{section.stories-C2I_kKhu.js → section.stories-9vd48AgB.js} +3 -3
  106. package/dist-storybook/assets/sheet-footer-nEdxsYan.js +1 -0
  107. package/dist-storybook/assets/{sheet.stories-wk1JaKU5.js → sheet.stories-C3gLIQsn.js} +3 -3
  108. package/dist-storybook/assets/skeleton-B12XbNAJ.js +1 -0
  109. package/dist-storybook/assets/{skeleton.stories-BCmX-VNr.js → skeleton.stories-C0y1o1Y_.js} +3 -3
  110. package/dist-storybook/assets/{store-D2RudmNr.js → store-Ce3Ikv5g.js} +5 -5
  111. package/dist-storybook/assets/switch-D0Z9tWin.js +1 -0
  112. package/dist-storybook/assets/{switch.stories-BqPLNKB9.js → switch.stories-BdWFln-M.js} +3 -3
  113. package/dist-storybook/assets/{tab-bar-CSeCmtIZ.js → tab-bar-kExoGg5P.js} +1 -1
  114. package/dist-storybook/assets/{tab-bar.stories-Cb6v8H2w.js → tab-bar.stories-BgDXX0of.js} +3 -3
  115. package/dist-storybook/assets/text-area-GKy5HL12.js +1 -0
  116. package/dist-storybook/assets/{text-area.stories-By8bCfgc.js → text-area.stories-DCt3RB3A.js} +3 -3
  117. package/dist-storybook/assets/text-field-CGWNqitB.js +1 -0
  118. package/dist-storybook/assets/{text-field.stories-CrWBAhvI.js → text-field.stories-Bqv7f948.js} +3 -3
  119. package/dist-storybook/assets/toast-provider-DKSrfhJD.js +9 -0
  120. package/dist-storybook/assets/{toast.stories-iWAToAZA.js → toast.stories-CcFzS6QI.js} +1 -1
  121. package/dist-storybook/assets/tooltip-B9rDI6z9.js +1 -0
  122. package/dist-storybook/assets/{tooltip.stories-RC6SuPPD.js → tooltip.stories-DDdsuU3U.js} +3 -3
  123. package/dist-storybook/assets/typography-CB8hPDyK.js +1 -0
  124. package/dist-storybook/assets/{typography.stories-Bu8qFugR.js → typography.stories-BzCxaZQU.js} +3 -3
  125. package/dist-storybook/assets/{uploader.stories-B2wW9qVy.js → uploader.stories-izVumFqZ.js} +3 -3
  126. package/dist-storybook/assets/use-app-pause-ClsUnndr.js +21 -0
  127. package/dist-storybook/assets/use-app-resume-D_EcIvMd.js +21 -0
  128. package/dist-storybook/assets/use-bottom-tab-bar-BC1cz2uE.js +49 -0
  129. package/dist-storybook/assets/use-custom-icon-event-cUk4Md0Y.js +26 -0
  130. package/dist-storybook/assets/use-did-hide-BmABiaUE.js +30 -0
  131. package/dist-storybook/assets/use-did-show-CQuySkkT.js +30 -0
  132. package/dist-storybook/assets/use-histories-CBm09Lno.js +30 -0
  133. package/dist-storybook/assets/use-history-7yguNz6O.js +33 -0
  134. package/dist-storybook/assets/use-language-DPyWMce2.js +46 -0
  135. package/dist-storybook/assets/use-load-more-KlDJZhj2.js +42 -0
  136. package/dist-storybook/assets/use-location-C7kE1yla.js +39 -0
  137. package/dist-storybook/assets/use-navigate-BpIyvtwc.js +36 -0
  138. package/dist-storybook/assets/use-navigation-bar-guzwhM_u.js +42 -0
  139. package/dist-storybook/assets/use-navigation-type-DOndDqQH.js +27 -0
  140. package/dist-storybook/assets/use-page-layout-dO6ylI1b.js +37 -0
  141. package/dist-storybook/assets/use-page-scroll-CCG2d2Gb.js +42 -0
  142. package/dist-storybook/assets/use-pull-to-refresh-lhumDu1H.js +38 -0
  143. package/dist-storybook/assets/use-settings-changed-Bt58DJ-c.js +30 -0
  144. package/dist-storybook/assets/use-translate-Jhz6jTXo.js +59 -0
  145. package/dist-storybook/assets/{visibility-sensor-CwrzJO06.js → visibility-sensor-Jf-Nmil6.js} +1 -1
  146. package/dist-storybook/iframe.html +2 -2
  147. package/dist-storybook/index.json +1 -1
  148. package/dist-storybook/project.json +1 -1
  149. package/dist-storybook/sb-addons/a11y-2/manager-bundle.js +2 -2
  150. package/dist-storybook/sb-addons/docs-1/manager-bundle.js +2 -2
  151. package/dist-storybook/sb-addons/storybook-build-3/manager-bundle.js +1 -1
  152. package/dist-storybook/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +4 -4
  153. package/dist-storybook/stories-data.json +152 -122
  154. package/package.json +3 -1
  155. package/dist/components/app/components/app.d.ts +0 -13
  156. package/dist/components/app/components/link.d.ts +0 -8
  157. package/dist/components/app/components/navigation-analytic.d.ts +0 -2
  158. package/dist/components/app/components/pages-render.d.ts +0 -2
  159. package/dist/components/app/context/location-key.d.ts +0 -4
  160. package/dist/components/app/hooks/use-app-pause.d.ts +0 -1
  161. package/dist/components/app/hooks/use-app-resume.d.ts +0 -1
  162. package/dist/components/app/hooks/use-app-state.d.ts +0 -7
  163. package/dist/components/app/hooks/use-bottom-tab-bar.d.ts +0 -13
  164. package/dist/components/app/hooks/use-did-hide.d.ts +0 -1
  165. package/dist/components/app/hooks/use-did-show.d.ts +0 -1
  166. package/dist/components/app/hooks/use-history.d.ts +0 -2
  167. package/dist/components/app/hooks/use-location.d.ts +0 -1
  168. package/dist/components/app/hooks/use-navigate.d.ts +0 -1
  169. package/dist/components/app/hooks/use-navigation-bar.d.ts +0 -12
  170. package/dist/components/app/hooks/use-navigation-type.d.ts +0 -1
  171. package/dist/components/app/hooks/use-page-config.d.ts +0 -1
  172. package/dist/components/app/hooks/use-page-layout.d.ts +0 -14
  173. package/dist/components/app/hooks/use-page-scroll.d.ts +0 -5
  174. package/dist/components/app/hooks/use-page-state.d.ts +0 -6
  175. package/dist/components/app/stores/app.d.ts +0 -24
  176. package/dist/components/app/stores/app.selector.d.ts +0 -11
  177. package/dist/components/app/types/app.d.ts +0 -55
  178. package/dist/components/app/types/navigation.d.ts +0 -30
  179. package/dist/components/app/utils/animation.d.ts +0 -2
  180. package/dist/components/app/utils/data-theme.d.ts +0 -5
  181. package/dist/components/app/utils/history.d.ts +0 -7
  182. package/dist/hooks/use-analytic.d.ts +0 -1
  183. package/dist/hooks/use-is-using-app.d.ts +0 -1
  184. package/dist/hooks/use-is-using-locales.d.ts +0 -1
  185. package/dist/locales/defaultResources/en.d.ts +0 -27
  186. package/dist/locales/defaultResources/vi.d.ts +0 -27
  187. package/dist/locales/fns.d.ts +0 -6
  188. package/dist/locales/hooks.d.ts +0 -9
  189. package/dist/locales/index.d.ts +0 -4
  190. package/dist/locales/provider.d.ts +0 -6
  191. package/dist/locales/store.d.ts +0 -13
  192. package/dist/locales/types.d.ts +0 -37
  193. package/dist/locales/utils.d.ts +0 -2
  194. package/dist-storybook/assets/ANIMATION-CUdn1GTK.js +0 -99
  195. package/dist-storybook/assets/APP_FRAMEWORK-ljbIOHYd.js +0 -197
  196. package/dist-storybook/assets/BOTTOM_TAB_BAR-DxCwCfBK.js +0 -175
  197. package/dist-storybook/assets/CUSTOM_ERROR_BOUNDARY-B4wTQNZc.js +0 -250
  198. package/dist-storybook/assets/DARK_MODE-CoHseCDO.js +0 -57
  199. package/dist-storybook/assets/GETTING_STARTED-H_vVi5cv.js +0 -77
  200. package/dist-storybook/assets/KEEP_ALIVE-CL2au0al.js +0 -126
  201. package/dist-storybook/assets/LOCALE-XTCey55y.js +0 -465
  202. package/dist-storybook/assets/MOBILE_BEHAVIOURS-DZ6alKTX.js +0 -177
  203. package/dist-storybook/assets/PAGE_LAYOUT-BuOpN-1Y.js +0 -192
  204. package/dist-storybook/assets/ROUTING_NAVIGATION-BCPHXNto.js +0 -335
  205. package/dist-storybook/assets/_setToString-CbM921C9.js +0 -1
  206. package/dist-storybook/assets/alert-DLW8CoyB.js +0 -1
  207. package/dist-storybook/assets/avatar-GxcYPA1p.js +0 -1
  208. package/dist-storybook/assets/badge-D_LzMVtw.js +0 -1
  209. package/dist-storybook/assets/button-CL7GeC23.js +0 -1
  210. package/dist-storybook/assets/calendar-dOCsjhVU.js +0 -1
  211. package/dist-storybook/assets/carousel-1Kww3hIz.js +0 -37
  212. package/dist-storybook/assets/checkbox-MGytNNRt.js +0 -1
  213. package/dist-storybook/assets/classname-CUR_zgkh.js +0 -1
  214. package/dist-storybook/assets/date-field.stories-Diptwqfv.js +0 -129
  215. package/dist-storybook/assets/date-picker-Dnq_-0Md.js +0 -1
  216. package/dist-storybook/assets/icon-DdQsMyRa.js +0 -1
  217. package/dist-storybook/assets/iframe-yMKl6hJA.css +0 -1
  218. package/dist-storybook/assets/image-C3EsNRhz.js +0 -9
  219. package/dist-storybook/assets/input-wrapper-BKHgnPy6.js +0 -1
  220. package/dist-storybook/assets/number-field-CXKmnfKe.js +0 -1
  221. package/dist-storybook/assets/omit-Bsx5nTI0.js +0 -1
  222. package/dist-storybook/assets/option-item-LRh_OyV4.js +0 -1
  223. package/dist-storybook/assets/pagination-DZHoBs_4.js +0 -1
  224. package/dist-storybook/assets/pick-BhmhLmLe.js +0 -1
  225. package/dist-storybook/assets/radio-B5NJxG_l.js +0 -1
  226. package/dist-storybook/assets/rating-BdXViYBv.js +0 -1
  227. package/dist-storybook/assets/search-field-CQqgFbfg.js +0 -1
  228. package/dist-storybook/assets/section-content-DGNB4eLN.js +0 -1
  229. package/dist-storybook/assets/skeleton-C91JgehG.js +0 -1
  230. package/dist-storybook/assets/store-CPumdfcU.js +0 -1
  231. package/dist-storybook/assets/switch-p-aXI-ev.js +0 -1
  232. package/dist-storybook/assets/text-area-DwSXyqOe.js +0 -1
  233. package/dist-storybook/assets/text-field-jK6rpOo2.js +0 -1
  234. package/dist-storybook/assets/toast-provider-DurnMJhd.js +0 -9
  235. package/dist-storybook/assets/tooltip-QDdel5My.js +0 -1
  236. package/dist-storybook/assets/typography-DEpAJl_i.js +0 -1
  237. package/dist-storybook/assets/use-app-pause-B_tWHKJK.js +0 -29
  238. package/dist-storybook/assets/use-app-resume--900G-dV.js +0 -29
  239. package/dist-storybook/assets/use-custom-icon-event-3VExRzvC.js +0 -29
  240. package/dist-storybook/assets/use-did-hide-BUsL73ab.js +0 -48
  241. package/dist-storybook/assets/use-did-show-C1-VLDxi.js +0 -49
  242. package/dist-storybook/assets/use-histories-E4E2jJEY.js +0 -50
  243. package/dist-storybook/assets/use-history-o1im8IDj.js +0 -67
  244. package/dist-storybook/assets/use-location-CUEaBO4P.js +0 -56
  245. package/dist-storybook/assets/use-navigate-C4CTuFSZ.js +0 -84
  246. package/dist-storybook/assets/use-navigation-type-Dcz4hgKo.js +0 -44
  247. package/dist-storybook/assets/use-page-config-DSJBVQbq.js +0 -48
  248. package/dist-storybook/assets/use-page-scroll-dY-U1Vv4.js +0 -69
  249. package/dist-storybook/assets/use-page-state-CtNpwGPN.js +0 -79
  250. package/dist-storybook/assets/use-settings-changed-BBJwIHTE.js +0 -29
  251. /package/dist/components/app/{components/bottom-tab-bar.d.ts → bottom-tab-bar-layout/index.d.ts} +0 -0
  252. /package/dist/components/app/{components/navigation-bar.d.ts → navigation-bar-layout/index.d.ts} +0 -0
  253. /package/dist/components/app/{components/page-layout.d.ts → page-layout/index.d.ts} +0 -0
  254. /package/dist/{components/app/hooks → hooks}/use-custom-icon-event.d.ts +0 -0
  255. /package/dist/{components/app/hooks → hooks}/use-settings-changed.d.ts +0 -0
@@ -0,0 +1,80 @@
1
+ import{j as n}from"./iframe-DfPay7Zl.js";import{useMDXComponents as a}from"./index-DqZh6B0b.js";import{b as r}from"./blocks-DKR3P4qW.js";import"./preload-helper-PPVm8Dsz.js";import"./index-cMNObl2z.js";function t(e){const i={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...a(),...e.components};return n.jsxs(n.Fragment,{children:[`
2
+ `,`
3
+ `,n.jsx(r,{title:"UI React/Getting Started"}),`
4
+ `,n.jsx(i.h1,{id:"getting-started",children:"Getting Started"}),`
5
+ `,n.jsxs(i.p,{children:[n.jsx(i.strong,{children:"@v-miniapp/ui-react"})," là bộ thư viện component React để phát triển V-MiniApp: tích hợp ",n.jsx(i.strong,{children:"Router"}),", ",n.jsx(i.strong,{children:"Locale"}),", ",n.jsx(i.strong,{children:"App"})," framework, UI components (NavigationBar, BottomTabBar, Toast, …), theme, pull-to-refresh, swipe navigation và keep-alive."]}),`
6
+ `,n.jsxs(i.blockquote,{children:[`
7
+ `,n.jsxs(i.p,{children:[n.jsx(i.strong,{children:"Ghi chú"}),": ",n.jsx(i.strong,{children:"@v-miniapp/ui-react"})," sử dụng ",n.jsx(i.strong,{children:"@v-miniapp/router"})," và ",n.jsx(i.strong,{children:"@v-miniapp/locale"}),". Khi cài ",n.jsx(i.strong,{children:"@v-miniapp/ui-react"})," bạn đã có sẵn router và locale; có thể import từ ",n.jsx(i.strong,{children:"@v-miniapp/ui-react"})," hoặc từ từng package tương ứng."]}),`
8
+ `]}),`
9
+ `,n.jsx(i.h2,{id:"cài-đặt",children:"Cài đặt"}),`
10
+ `,n.jsx(i.pre,{children:n.jsx(i.code,{className:"language-bash",children:`npm install @v-miniapp/ui-react
11
+ # hoặc
12
+ pnpm add @v-miniapp/ui-react
13
+ # hoặc
14
+ yarn add @v-miniapp/ui-react
15
+ `})}),`
16
+ `,n.jsx(i.h2,{id:"import-styles",children:"Import styles"}),`
17
+ `,n.jsx(i.h3,{id:"tailwind-css",children:"Tailwind CSS"}),`
18
+ `,n.jsx(i.p,{children:"Nếu dùng Tailwind, có thể dùng preset của thư viện:"}),`
19
+ `,n.jsx(i.pre,{children:n.jsx(i.code,{className:"language-css",children:`/* tailwind.css hoặc file CSS chính */
20
+ @import '@v-miniapp/ui-react/tailwind';
21
+ `})}),`
22
+ `,n.jsxs(i.p,{children:["Khi dùng Tailwind thì ",n.jsx(i.strong,{children:"không"})," cần import ",n.jsx(i.code,{children:"@v-miniapp/ui-react/styles.css"})," nữa."]}),`
23
+ `,n.jsx(i.h3,{id:"css-chuẩn",children:"CSS chuẩn"}),`
24
+ `,n.jsx(i.p,{children:"Đảm bảo import CSS để UI (NavigationBar, BottomTabBar, form controls, …) hiển thị đúng:"}),`
25
+ `,n.jsx(i.pre,{children:n.jsx(i.code,{className:"language-tsx",children:`import '@v-miniapp/ui-react/styles.css'
26
+ `})}),`
27
+ `,n.jsx(i.h2,{id:"ví-dụ-bắt-đầu",children:"Ví dụ bắt đầu"}),`
28
+ `,n.jsxs(i.p,{children:["Tạo config với danh sách ",n.jsx(i.strong,{children:"pages"})," (pathname, Component, navigationBar). Dùng component ",n.jsx(i.strong,{children:"App"})," làm entry:"]}),`
29
+ `,n.jsx(i.pre,{children:n.jsx(i.code,{className:"language-tsx",children:`import { App, type IAppConfig } from '@v-miniapp/ui-react'
30
+ import '@v-miniapp/ui-react/styles.css'
31
+
32
+ const HomePage = () => <div>Trang chủ</div>
33
+ const SettingsPage = () => <div>Cài đặt</div>
34
+
35
+ const appConfig: IAppConfig = {
36
+ animation: { type: 'slide_left' },
37
+ keepAlive: { enable: true },
38
+ pages: [
39
+ {
40
+ pathname: '/home',
41
+ Component: HomePage,
42
+ navigationBar: { title: 'Trang chủ' },
43
+ },
44
+ {
45
+ pathname: '/settings',
46
+ Component: SettingsPage,
47
+ navigationBar: { title: 'Cài đặt' },
48
+ },
49
+ ],
50
+ }
51
+
52
+ export const MiniApp = () => <App config={appConfig} />
53
+ `})}),`
54
+ `,n.jsx(i.h2,{id:"navigate-trong-page",children:"Navigate trong page"}),`
55
+ `,n.jsxs(i.p,{children:["Điều hướng bằng hook ",n.jsx(i.strong,{children:"useNavigate"})," (từ router, re-export qua ui-react):"]}),`
56
+ `,n.jsx(i.pre,{children:n.jsx(i.code,{className:"language-tsx",children:`import { useNavigate } from '@v-miniapp/ui-react'
57
+
58
+ const HomePage = () => {
59
+ const navigate = useNavigate()
60
+ return (
61
+ <div>
62
+ <button onClick={() => navigate('/settings')}>Đi tới Cài đặt</button>
63
+ <button onClick={() => navigate(-1)}>Quay lại</button>
64
+ </div>
65
+ )
66
+ }
67
+ `})}),`
68
+ `,n.jsxs(i.ul,{children:[`
69
+ `,n.jsxs(i.li,{children:[n.jsx(i.strong,{children:"pathname:"})," ",n.jsx(i.code,{children:"navigate('/pathname', { params, state, replace, ... })"})]}),`
70
+ `,n.jsxs(i.li,{children:[n.jsx(i.strong,{children:"back/forward:"})," ",n.jsx(i.code,{children:"navigate(-1)"})," hoặc ",n.jsx(i.code,{children:"navigate(1)"})]}),`
71
+ `]}),`
72
+ `,n.jsx(i.h2,{id:"lưu-ý-navigationbar-và-native-title-bar",children:"Lưu ý (NavigationBar và native title bar)"}),`
73
+ `,n.jsxs(i.p,{children:["Khi dùng ",n.jsx(i.strong,{children:"NavigationBar"})," của ui-react, nên cấu hình app (ví dụ ",n.jsx(i.code,{children:"app-config.json"}),") để ",n.jsx(i.strong,{children:"ẩn title bar native"}),", tránh trùng hai thanh tiêu đề:"]}),`
74
+ `,n.jsx(i.pre,{children:n.jsx(i.code,{className:"language-json",children:`{
75
+ "window": {
76
+ "defaultTitle": "",
77
+ "transparentTitle": "always"
78
+ }
79
+ }
80
+ `})})]})}function h(e={}){const{wrapper:i}={...a(),...e.components};return i?n.jsx(i,{...e,children:n.jsx(t,{...e})}):t(e)}export{h as default};
@@ -1,4 +1,4 @@
1
- import{j as n}from"./iframe-CQAwSt4E.js";import{useMDXComponents as i}from"./index-CgMRTj-o.js";import{b as o}from"./blocks-BuaOUtiH.js";import"./preload-helper-PPVm8Dsz.js";import"./index-DHiZ-gXR.js";function s(t){const e={code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...i(),...t.components};return n.jsxs(n.Fragment,{children:[`
1
+ import{j as n}from"./iframe-DfPay7Zl.js";import{useMDXComponents as i}from"./index-DqZh6B0b.js";import{b as o}from"./blocks-DKR3P4qW.js";import"./preload-helper-PPVm8Dsz.js";import"./index-cMNObl2z.js";function s(t){const e={code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...i(),...t.components};return n.jsxs(n.Fragment,{children:[`
2
2
  `,`
3
3
  `,n.jsx(o,{title:"Use Cases/Infinite Scroll"}),`
4
4
  `,n.jsx(e.h1,{id:"infinite-scroll--load-more",children:"Infinite Scroll / Load More"}),`
@@ -0,0 +1,53 @@
1
+ import{j as n}from"./iframe-DfPay7Zl.js";import{useMDXComponents as i}from"./index-DqZh6B0b.js";import{b as c,M as s}from"./blocks-DKR3P4qW.js";import"./preload-helper-PPVm8Dsz.js";import"./index-cMNObl2z.js";function r(o){const e={code:"code",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...i(),...o.components};return n.jsxs(n.Fragment,{children:[`
2
+ `,`
3
+ `,n.jsx(c,{title:"Locale/LocalesProvider"}),`
4
+ `,n.jsx(e.h1,{id:"localesprovider",children:"LocalesProvider"}),`
5
+ `,n.jsxs(e.p,{children:["Component ",n.jsx(e.strong,{children:"provider"})," khởi tạo Locale module cho ứng dụng. Khi mount, nó gọi init với ",n.jsx(e.code,{children:"config.resources"})," và merge vào store; toàn bộ component con có thể dùng ",n.jsx(e.code,{children:"useTranslate"}),", ",n.jsx(e.code,{children:"useLanguage"}),", ",n.jsx(e.code,{children:"t"}),", ",n.jsx(e.code,{children:"setLanguage"}),", v.v."]}),`
6
+ `,n.jsx(e.h2,{id:"import",children:"Import"}),`
7
+ `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-typescript",children:`import { LocalesProvider, type ILocalesConfig } from '@v-miniapp/ui-react'
8
+ `})}),`
9
+ `,n.jsx(e.h2,{id:"sử-dụng",children:"Sử dụng"}),`
10
+ `,n.jsx(e.p,{children:"Đặt ở top-level, bọc toàn bộ phần cần dùng Locale:"}),`
11
+ `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-tsx",children:`import { LocalesProvider, type ILocalesConfig } from '@v-miniapp/ui-react'
12
+
13
+ const localesConfig: ILocalesConfig = {
14
+ defaultLanguage: 'vi',
15
+ resources: {
16
+ vi: {
17
+ 'app.title': 'Ứng dụng của tôi',
18
+ 'user.greeting': 'Xin chào {name}!',
19
+ },
20
+ en: {
21
+ 'app.title': 'My Application',
22
+ 'user.greeting': 'Hello {name}!',
23
+ },
24
+ },
25
+ }
26
+
27
+ function Root() {
28
+ return (
29
+ <LocalesProvider config={localesConfig}>
30
+ <AppContent />
31
+ </LocalesProvider>
32
+ )
33
+ }
34
+ `})}),`
35
+ `,n.jsx(e.h2,{id:"lưu-ý",children:"Lưu ý"}),`
36
+ `,n.jsxs(e.ol,{children:[`
37
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Vị trí"}),": Luôn đặt ở ",n.jsx(e.strong,{children:"top-level"})," (root hoặc ngay dưới router) để mọi màn hình đều nằm trong provider."]}),`
38
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Một provider"}),": Chỉ cần một ",n.jsx(e.code,{children:"LocalesProvider"})," cho toàn app; nested provider không re-init store."]}),`
39
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Type safety"}),": Truyền ",n.jsx(e.code,{children:"config.resources"})," đúng cấu trúc (theo ",n.jsx(e.code,{children:"ILang"}),"); nếu đã declare ",n.jsx(e.code,{children:"ICustomLocales"}),", TypeScript sẽ kiểm tra key và language."]}),`
40
+ `]}),`
41
+ `,n.jsx(e.h2,{id:"props",children:"Props"}),`
42
+ `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-typescript",children:`type LocalesProviderProps = {
43
+ config?: ILocalesConfig
44
+ children: ReactNode
45
+ }
46
+ `})}),`
47
+ `,n.jsx(s,{children:"\n| Prop | Kiểu | Bắt buộc | Mô tả |\n| :--- | :--- | :--- | :--- |\n| `config` | `ILocalesConfig` | No | Cấu hình locale: `resources` (bản dịch theo ngôn ngữ), `defaultLanguage` (khi dùng với App). Provider chỉ dùng `config.resources` để init store. |\n| `children` | `ReactNode` | ✓ | Cây component cần dùng Locale (hooks, `t`, `setLanguage`). |\n"}),`
48
+ `,n.jsx(e.h2,{id:"lưu-ý-1",children:"Lưu ý"}),`
49
+ `,n.jsxs(e.ul,{children:[`
50
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Init một lần"}),": Chỉ gọi ",n.jsx(e.code,{children:"init"})," lần đầu khi component mount (dùng ref để tránh gọi lại khi re-render)."]}),`
51
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Merge resources"}),": ",n.jsx(e.code,{children:"config.resources"})," được merge với resources mặc định (vi, en); có thể override hoặc thêm key."]}),`
52
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Không re-init"}),": Khi ",n.jsx(e.code,{children:"config"})," thay đổi sau mount, provider ",n.jsx(e.strong,{children:"không"})," gọi init lại; cấu hình có hiệu lực từ lúc mount."]}),`
53
+ `]})]})}function g(o={}){const{wrapper:e}={...i(),...o.components};return e?n.jsx(e,{...o,children:n.jsx(r,{...o})}):r(o)}export{g as default};
@@ -0,0 +1,107 @@
1
+ import{j as n}from"./iframe-DfPay7Zl.js";import{useMDXComponents as t}from"./index-DqZh6B0b.js";import{b as c}from"./blocks-DKR3P4qW.js";import"./preload-helper-PPVm8Dsz.js";import"./index-cMNObl2z.js";function d(i){const e={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...t(),...i.components};return n.jsxs(n.Fragment,{children:[`
2
+ `,`
3
+ `,n.jsx(c,{title:"Use Cases/Migrate darkMode to theme"}),`
4
+ `,n.jsx(e.h1,{id:"migrate-từ-darkmode-sang-theme",children:"Migrate từ darkMode sang theme"}),`
5
+ `,n.jsxs(e.p,{children:[n.jsx(e.code,{children:"darkMode"})," đã được đánh dấu ",n.jsx(e.strong,{children:"deprecated"})," và sẽ bị xóa trong tương lai. Bạn cần migrate sang ",n.jsx(e.code,{children:"theme.mode"})," mới."]}),`
6
+ `,n.jsx(e.h2,{id:"tại-sao-cần-migrate",children:"Tại sao cần migrate?"}),`
7
+ `,n.jsxs(e.ul,{children:[`
8
+ `,n.jsxs(e.li,{children:[n.jsx(e.code,{children:"darkMode"})," chỉ hỗ trợ 2 chế độ: light và dark"]}),`
9
+ `,n.jsxs(e.li,{children:[n.jsx(e.code,{children:"theme.mode"})," hỗ trợ thêm chế độ ",n.jsx(e.code,{children:"'system'"})," (theo thiết bị)"]}),`
10
+ `,n.jsx(e.li,{children:"API nhất quán hơn với các config khác"}),`
11
+ `,n.jsxs(e.li,{children:[n.jsx(e.code,{children:"darkMode"})," sẽ bị xóa trong các phiên bản tương lai"]}),`
12
+ `]}),`
13
+ `,n.jsx(e.h2,{id:"cách-migrate",children:"Cách migrate"}),`
14
+ `,n.jsx(e.h3,{id:"trước-deprecated",children:"Trước (deprecated)"}),`
15
+ `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-tsx",children:`import { App, type IAppConfig } from '@v-miniapp/ui-react'
16
+
17
+ const appConfig: IAppConfig = {
18
+ darkMode: {
19
+ defaultEnabled: true, // hoặc false
20
+ },
21
+ pages: [
22
+ // ...
23
+ ],
24
+ }
25
+
26
+ export const MiniApp = () => <App config={appConfig} />
27
+ `})}),`
28
+ `,n.jsx(e.h3,{id:"sau-mới",children:"Sau (mới)"}),`
29
+ `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-tsx",children:`import { App, type IAppConfig } from '@v-miniapp/ui-react'
30
+
31
+ const appConfig: IAppConfig = {
32
+ theme: {
33
+ mode: 'dark', // 'light' | 'dark' | 'system'
34
+ },
35
+ pages: [
36
+ // ...
37
+ ],
38
+ }
39
+
40
+ export const MiniApp = () => <App config={appConfig} />
41
+ `})}),`
42
+ `,n.jsx(e.h2,{id:"ví-dụ-cụ-thể",children:"Ví dụ cụ thể"}),`
43
+ `,n.jsx(e.h3,{id:"ví-dụ-1-dark-mode-enabled",children:"Ví dụ 1: Dark mode enabled"}),`
44
+ `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-tsx",children:`// ❌ Cũ
45
+ const appConfig: IAppConfig = {
46
+ darkMode: {
47
+ defaultEnabled: true,
48
+ },
49
+ pages: [...],
50
+ }
51
+
52
+ // ✅ Mới
53
+ const appConfig: IAppConfig = {
54
+ theme: {
55
+ mode: 'dark',
56
+ },
57
+ pages: [...],
58
+ }
59
+ `})}),`
60
+ `,n.jsx(e.h3,{id:"ví-dụ-2-light-mode-mặc-định",children:"Ví dụ 2: Light mode (mặc định)"}),`
61
+ `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-tsx",children:`// ❌ Cũ
62
+ const appConfig: IAppConfig = {
63
+ darkMode: {
64
+ defaultEnabled: false,
65
+ },
66
+ pages: [...],
67
+ }
68
+
69
+ // ✅ Mới - Cách 1: Explicit
70
+ const appConfig: IAppConfig = {
71
+ theme: {
72
+ mode: 'light',
73
+ },
74
+ pages: [...],
75
+ }
76
+
77
+ // ✅ Mới - Cách 2: Omit (mặc định là light)
78
+ const appConfig: IAppConfig = {
79
+ pages: [...],
80
+ }
81
+ `})}),`
82
+ `,n.jsx(e.h3,{id:"ví-dụ-3-system-mode-mới",children:"Ví dụ 3: System mode (mới)"}),`
83
+ `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-tsx",children:`// ✅ Mới - Theo thiết bị
84
+ const appConfig: IAppConfig = {
85
+ theme: {
86
+ mode: 'system', // Tự động theo prefers-color-scheme
87
+ },
88
+ pages: [...],
89
+ }
90
+ `})}),`
91
+ `,n.jsx(e.h2,{id:"tương-thích-ngược",children:"Tương thích ngược"}),`
92
+ `,n.jsxs(e.p,{children:["Hiện tại, ",n.jsx(e.code,{children:"darkMode"})," vẫn hoạt động để đảm bảo tương thích ngược, nhưng sẽ bị xóa trong tương lai. Nếu bạn sử dụng cả ",n.jsx(e.code,{children:"darkMode"})," và ",n.jsx(e.code,{children:"theme"}),", ",n.jsx(e.code,{children:"theme"})," sẽ được ưu tiên."]}),`
93
+ `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-tsx",children:`// ⚠️ Vẫn hoạt động nhưng deprecated
94
+ const appConfig: IAppConfig = {
95
+ darkMode: {
96
+ defaultEnabled: true,
97
+ },
98
+ theme: {
99
+ mode: 'light', // theme được ưu tiên
100
+ },
101
+ pages: [...],
102
+ }
103
+ `})}),`
104
+ `,n.jsx(e.h2,{id:"xem-thêm",children:"Xem thêm"}),`
105
+ `,n.jsxs(e.ul,{children:[`
106
+ `,n.jsxs(e.li,{children:[n.jsx(e.a,{href:"?path=/docs/ui-react-theme--docs",children:"Theme Documentation"})," - Hướng dẫn đầy đủ về theme"]}),`
107
+ `]})]})}function p(i={}){const{wrapper:e}={...t(),...i.components};return e?n.jsx(e,{...i,children:n.jsx(d,{...i})}):d(i)}export{p as default};
@@ -1,6 +1,6 @@
1
- import{j as n}from"./iframe-CQAwSt4E.js";import{useMDXComponents as o}from"./index-CgMRTj-o.js";import{b as s}from"./blocks-BuaOUtiH.js";import"./preload-helper-PPVm8Dsz.js";import"./index-DHiZ-gXR.js";function a(i){const e={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...o(),...i.components};return n.jsxs(n.Fragment,{children:[`
1
+ import{j as n}from"./iframe-DfPay7Zl.js";import{useMDXComponents as o}from"./index-DqZh6B0b.js";import{b as s}from"./blocks-DKR3P4qW.js";import"./preload-helper-PPVm8Dsz.js";import"./index-cMNObl2z.js";function a(i){const e={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...o(),...i.components};return n.jsxs(n.Fragment,{children:[`
2
2
  `,`
3
- `,n.jsx(s,{title:"Migration Guide"}),`
3
+ `,n.jsx(s,{title:"UI React/Migration Guide"}),`
4
4
  `,n.jsx(e.h1,{id:"migration-guide-từ-vsf-miniappui-react-sang-v-miniappui-react",children:"Migration Guide: từ @vsf-miniapp/ui-react sang @v-miniapp/ui-react"}),`
5
5
  `,n.jsxs(e.p,{children:["Hướng dẫn này giúp bạn migrate từ phiên bản cũ ",n.jsx(e.code,{children:"@vsf-miniapp/ui-react"})," sang phiên bản mới ",n.jsx(e.code,{children:"@v-miniapp/ui-react"})," với nhiều tính năng và cải tiến hơn."]}),`
6
6
  `,n.jsx(e.h2,{id:"tổng-quan",children:"Tổng quan"}),`
@@ -152,7 +152,7 @@ function MyApp() {
152
152
  `,n.jsxs(e.ul,{children:[`
153
153
  `,n.jsxs(e.li,{children:["❌ ",n.jsx(e.code,{children:"App"})," không còn là layout wrapper đơn giản"]}),`
154
154
  `,n.jsxs(e.li,{children:[n.jsx(e.code,{children:"App"})," là framework với nhiều tính năng tích hợp"]}),`
155
- `,n.jsx(e.li,{children:"Theme được quản lý qua CSS variables và dark mode config"}),`
155
+ `,n.jsx(e.li,{children:"Theme được quản lý qua CSS variables và theme mode config"}),`
156
156
  `]}),`
157
157
  `,n.jsx(e.hr,{}),`
158
158
  `,n.jsx(e.h2,{id:"6-components-mới",children:"6. Components mới"}),`
@@ -0,0 +1,51 @@
1
+ import{j as n}from"./iframe-DfPay7Zl.js";import{useMDXComponents as r}from"./index-DqZh6B0b.js";import{b as c}from"./blocks-DKR3P4qW.js";import"./preload-helper-PPVm8Dsz.js";import"./index-cMNObl2z.js";function s(i){const e={a:"a",blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",hr:"hr",li:"li",p:"p",strong:"strong",ul:"ul",...r(),...i.components};return n.jsxs(n.Fragment,{children:[`
2
+ `,`
3
+ `,n.jsx(c,{title:"Overview",parameters:{options:{nav:{icon:""}}}}),`
4
+ `,n.jsx(e.h1,{id:"overview",children:"Overview"}),`
5
+ `,n.jsxs(e.p,{children:[n.jsx(e.strong,{children:"@v-miniapp/*"})," là bộ thư viện được thiết kế cho việc phát triển ",n.jsx(e.strong,{children:"V-MiniApp"})," — ứng dụng mini chạy trong môi trường V-App. Các package trong bộ thư viện cung cấp:"]}),`
6
+ `,n.jsxs(e.ul,{children:[`
7
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"@v-miniapp/ui-react"})," Component UI và App Framework để xây dựng giao diện và luồng ứng dụng"]}),`
8
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"@v-miniapp/router"})," Routing & Navigation với history stack, lifecycle, keep-alive"]}),`
9
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"@v-miniapp/locale"})," Đa ngôn ngữ (i18n) với TypeScript type safety"]}),`
10
+ `]}),`
11
+ `,n.jsx(e.hr,{}),`
12
+ `,n.jsx(e.h2,{id:"v-miniappui-react",children:"@v-miniapp/ui-react"}),`
13
+ `,n.jsxs(e.p,{children:[n.jsx(e.strong,{children:"@v-miniapp/ui-react"})," là thư viện chính để phát triển V-MiniApp cung cấp component UI. ",n.jsx(e.strong,{children:"@v-miniapp/ui-react"})," đã được tích hợp sẵn thư viện ",n.jsx(e.strong,{children:"@v-miniapp/router"})," và ",n.jsx(e.strong,{children:"@v-miniapp/locale"}),"."]}),`
14
+ `,n.jsxs(e.blockquote,{children:[`
15
+ `,n.jsx(e.p,{children:n.jsxs(e.a,{href:"?path=/docs/ui-react-getting-started--docs",children:["Chi tiết ",n.jsx(e.strong,{children:"@v-miniapp/ui-react"})]})}),`
16
+ `]}),`
17
+ `,n.jsx(e.p,{children:n.jsx(e.strong,{children:"Chức năng chính:"})}),`
18
+ `,n.jsxs(e.ul,{children:[`
19
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"App Framework"}),": Component ",n.jsx(e.code,{children:"App"})," với cấu hình ",n.jsx(e.code,{children:"IAppConfig"})," — định nghĩa pages, animation, navigation bar, bottom tab bar, keep-alive, page layout, theme."]}),`
20
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"UI Components"}),": NavigationBar, BottomTabBar, Toast, các form controls (TextField, DateField, …), và nhiều component khác."]}),`
21
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Routing & Navigation"}),": Re-export và tích hợp router từ ",n.jsx(e.code,{children:"@v-miniapp/router"})," — hooks ",n.jsx(e.code,{children:"useNavigate"}),", ",n.jsx(e.code,{children:"useLocation"}),", ",n.jsx(e.code,{children:"useHistory"}),", ",n.jsx(e.code,{children:"useDidShow"}),", ",n.jsx(e.code,{children:"useDidHide"}),", v.v."]}),`
22
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Locale"}),": Tích hợp locale từ ",n.jsx(e.code,{children:"@v-miniapp/locale"})," — ",n.jsx(e.code,{children:"LocalesProvider"}),", ",n.jsx(e.code,{children:"useTranslate"}),", ",n.jsx(e.code,{children:"useLanguage"}),", cấu hình qua ",n.jsx(e.code,{children:"localesConfig"})," trên ",n.jsx(e.code,{children:"App"}),"."]}),`
23
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Tính năng global"}),": Error Boundary, Toast Provider."]}),`
24
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Mobile behaviours"}),": Pull-to-refresh, swipe navigation, page stacking với keep-alive."]}),`
25
+ `]}),`
26
+ `,n.jsx(e.hr,{}),`
27
+ `,n.jsx(e.h2,{id:"v-miniapprouter",children:"@v-miniapp/router"}),`
28
+ `,n.jsxs(e.p,{children:[n.jsx(e.strong,{children:"@v-miniapp/router"})," là thư viện ",n.jsx(e.strong,{children:"routing"})," cho V-MiniApp: quản lý history stack, chuyển trang và lifecycle của từng page."]}),`
29
+ `,n.jsxs(e.blockquote,{children:[`
30
+ `,n.jsx(e.p,{children:n.jsxs(e.a,{href:"?path=/docs/router-getting-started--docs",children:["Chi tiết ",n.jsx(e.strong,{children:"@v-miniapp/router"})]})}),`
31
+ `]}),`
32
+ `,n.jsx(e.p,{children:n.jsx(e.strong,{children:"Chức năng chính:"})}),`
33
+ `,n.jsxs(e.ul,{children:[`
34
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Router component"}),": ",n.jsx(e.code,{children:"Router"})," với config ",n.jsx(e.code,{children:"IRouterConfig"})," — danh sách pages (pathname + Component), animation, keep-alive."]}),`
35
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Exact path matching"}),": Mỗi page có ",n.jsx(e.code,{children:"pathname"})," cố định; không hỗ trợ dynamic segment (ví dụ ",n.jsx(e.code,{children:"/:id"}),") hay nested routes; hỗ trợ query qua ",n.jsx(e.code,{children:"params"})," và state qua ",n.jsx(e.code,{children:"state"}),"."]}),`
36
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Navigation"}),": ",n.jsx(e.code,{children:"navigate(pathname, options)"})," hoặc ",n.jsx(e.code,{children:"navigate(delta)"})," để back/forward trong history."]}),`
37
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Hooks"}),": ",n.jsx(e.code,{children:"useNavigate"}),", ",n.jsx(e.code,{children:"useLocation"}),", ",n.jsx(e.code,{children:"useHistory"}),", ",n.jsx(e.code,{children:"useHistories"}),", ",n.jsx(e.code,{children:"usePageConfig"}),", ",n.jsx(e.code,{children:"useNavigationType"}),", ",n.jsx(e.code,{children:"useDidShow"}),", ",n.jsx(e.code,{children:"useDidHide"}),", ",n.jsx(e.code,{children:"useAppPause"}),", ",n.jsx(e.code,{children:"useAppResume"}),", v.v."]}),`
38
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Keep-alive"}),": Giữ state và instance của page khi navigate đi rồi quay lại."]}),`
39
+ `]}),`
40
+ `,n.jsx(e.hr,{}),`
41
+ `,n.jsx(e.h2,{id:"v-miniapplocale",children:"@v-miniapp/locale"}),`
42
+ `,n.jsxs(e.p,{children:[n.jsx(e.strong,{children:"@v-miniapp/locale"})," là một thư viện hỗ trợ ",n.jsx(e.strong,{children:"đa ngôn ngữ (i18n)"})," với tính an toàn kiểu dữ liệu TypeScript, cho phép tùy chỉnh khóa ngôn ngữ (locale keys) và mã ngôn ngữ (language codes) thông qua module augmentation."]}),`
43
+ `,n.jsxs(e.blockquote,{children:[`
44
+ `,n.jsx(e.p,{children:n.jsxs(e.a,{href:"?path=/docs/locale-getting-started--docs",children:["Chi tiết ",n.jsx(e.strong,{children:"@v-miniapp/locale"})]})}),`
45
+ `]}),`
46
+ `,n.jsx(e.p,{children:n.jsx(e.strong,{children:"Chức năng chính:"})}),`
47
+ `,n.jsxs(e.ul,{children:[`
48
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Template parameters"}),": Chuỗi dạng ",n.jsx(e.code,{children:"{name}"}),", ",n.jsx(e.code,{children:"{month}"}),", … trong bản dịch và truyền params khi gọi ",n.jsx(e.code,{children:"t()"}),"."]}),`
49
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Provider & hooks"}),": ",n.jsx(e.code,{children:"LocalesProvider"})," (config ",n.jsx(e.code,{children:"ILocalesConfig"}),"), hooks ",n.jsx(e.code,{children:"useTranslate"}),", ",n.jsx(e.code,{children:"useLanguage"})," (reactive); hàm ",n.jsx(e.code,{children:"t"}),", ",n.jsx(e.code,{children:"getLanguage"}),", ",n.jsx(e.code,{children:"setLanguage"})," (standalone)."]}),`
50
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Quản lý ngôn ngữ"}),": Mặc định hỗ trợ ",n.jsx(e.code,{children:"vi"}),", ",n.jsx(e.code,{children:"en"}),"; mở rộng thêm ngôn ngữ (vd. ",n.jsx(e.code,{children:"jp"}),", ",n.jsx(e.code,{children:"ko"}),") qua ",n.jsx(e.code,{children:"ICustomLocales"}),"."]}),`
51
+ `]})]})}function a(i={}){const{wrapper:e}={...r(),...i.components};return e?n.jsx(e,{...i,children:n.jsx(s,{...i})}):s(i)}export{a as default};
@@ -0,0 +1,71 @@
1
+ import{j as n}from"./iframe-DfPay7Zl.js";import{useMDXComponents as r}from"./index-DqZh6B0b.js";import{b as a,M as i}from"./blocks-DKR3P4qW.js";import"./preload-helper-PPVm8Dsz.js";import"./index-cMNObl2z.js";function o(t){const e={code:"code",h1:"h1",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...r(),...t.components};return n.jsxs(n.Fragment,{children:[`
2
+ `,`
3
+ `,n.jsx(a,{title:"Router/Router"}),`
4
+ `,n.jsx(e.h1,{id:"router",children:"Router"}),`
5
+ `,n.jsxs(e.p,{children:["Component gốc của ",n.jsx(e.strong,{children:"@v-miniapp/router"}),". Nhận cấu hình routing (pages, animation, keep-alive) và render page hiện tại theo history."]}),`
6
+ `,n.jsx(e.h2,{id:"import",children:"Import"}),`
7
+ `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-typescript",children:`import { Router, type IRouterConfig } from '@v-miniapp/router'
8
+ `})}),`
9
+ `,n.jsx(e.h2,{id:"sử-dụng",children:"Sử dụng"}),`
10
+ `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-tsx",children:`import { Router, type IRouterConfig } from '@v-miniapp/router'
11
+ import '@v-miniapp/router/styles.css'
12
+
13
+ const config: IRouterConfig = {
14
+ pages: [
15
+ { pathname: '/', Component: HomePage },
16
+ { pathname: '/settings', Component: SettingsPage },
17
+ ],
18
+ animation: { type: 'slide_left' },
19
+ keepAlive: { enable: true },
20
+ NotFoundPage: NotFoundScreen,
21
+ ErrorPage: ErrorScreen,
22
+ }
23
+
24
+ export const App = () => <Router config={config} />
25
+ `})}),`
26
+ `,n.jsx(e.h2,{id:"props",children:"Props"}),`
27
+ `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-typescript",children:`type IRouterProps = {
28
+ config: IRouterConfig | (() => IRouterConfig)
29
+ }
30
+ `})}),`
31
+ `,n.jsx(i,{children:"\n| Prop | Kiểu | Bắt buộc | Mô tả |\n| :--- | :--- | :--- | :--- |\n| `config` | `IRouterConfig` hoặc `() => IRouterConfig` | ✓ | Cấu hình routing. Chỉ được đọc **một lần** khi mount; thay đổi sau đó không áp dụng (có warning trong console). |\n"}),`
32
+ `,n.jsx(e.h2,{id:"irouterconfig",children:"IRouterConfig"}),`
33
+ `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-typescript",children:`type IRouterConfig = {
34
+ pages: IRouterPageConfig[]
35
+ animation?: IAnimationConfig
36
+ keepAlive?: IKeepAliveState
37
+ Layouts?: ILayout[]
38
+ NotFoundPage?: ComponentType
39
+ ErrorPage?: ComponentType
40
+ }
41
+ `})}),`
42
+ `,n.jsx(i,{children:"\n| Thuộc tính | Kiểu | Bắt buộc | Mô tả |\n| :--- | :--- | :--- |\n| `pages` | `IRouterPageConfig[]` | ✓ | Danh sách page (pathname + Component). Bắt buộc. |\n| `animation` | `IAnimationConfig` | | Animation chuyển trang: `type` (`'none'`, `'slide_up'`, `'slide_left'`, `'fade_in'`), `mode` (`'view-transition'`, `'style-transition'`). |\n| `keepAlive` | `IKeepAliveState` | | Giữ state/instance page khi navigate: `enable`, `maxStack`, `freeze`, `freezeDelay`. |\n| `Layouts` | `ILayout[]` | | Layout wrappers áp dụng cho toàn app. |\n| `NotFoundPage` | `ComponentType` | | Component hiển thị khi không match pathname nào. |\n| `ErrorPage` | `ComponentType` | | Component hiển thị khi có lỗi (ErrorBoundary). |\n"}),`
43
+ `,n.jsx(e.h2,{id:"irouterpageconfig",children:"IRouterPageConfig"}),`
44
+ `,n.jsxs(e.p,{children:["Cấu hình từng page trong mảng ",n.jsx(e.code,{children:"pages"}),". Mỗi page có pathname exact và Component bắt buộc; các thuộc tính còn lại (animation, keepAlive, Layouts, freeze, freezeDelay) override cấu hình app-level trong ",n.jsx(e.code,{children:"IRouterConfig"})," cho riêng page đó. Page không khai báo thuộc tính thì dùng giá trị mặc định từ app."]}),`
45
+ `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-typescript",children:`type IRouterPageConfig = {
46
+ title?: string
47
+ pathname: string
48
+ Component: ComponentType
49
+ Layouts?: ILayout[]
50
+ bottomTabBarId?: string
51
+ animation?: IAnimationConfig
52
+ keepAlive?: boolean
53
+ freeze?: boolean
54
+ freezeDelay?: number
55
+ }
56
+ `})}),`
57
+ `,n.jsx(i,{children:"\n| Thuộc tính | Kiểu | Bắt buộc | Mô tả |\n| :--- | :--- | :--- | :--- |\n| `title` | `string` | | Tiêu đề page (metadata). Nên cấu hình để hỗ trợ page report. |\n| `pathname` | `string` | ✓ | Đường dẫn exact (không hỗ trợ `/:id` hoặc nested routes). |\n| `Component` | `ComponentType` | ✓ | React component của page. |\n| `Layouts` | `ILayout[]` | | Layout wrappers áp dụng riêng cho page này. |\n| `bottomTabBarId` | `string` | | ID tab tương ứng (dùng với bottom tab bar). |\n| `animation` | `IAnimationConfig` | | Override animation chuyển trang cho page này. |\n| `keepAlive` | `boolean` | | Override keep-alive: `true`/`false` cho page này. |\n| `freeze` | `boolean` | | Freeze component khi không hiển thị (react-freeze). |\n| `freezeDelay` | `number` | | Delay (ms) trước khi freeze. |\n"}),`
58
+ `,n.jsx(e.h2,{id:"ianimationconfig",children:"IAnimationConfig"}),`
59
+ `,n.jsxs(e.p,{children:["Cấu hình animation khi chuyển trang. Dùng trong ",n.jsx(e.code,{children:"IRouterConfig.animation"})," và ",n.jsx(e.code,{children:"IRouterPageConfig.animation"})," (page override app)."]}),`
60
+ `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-typescript",children:`type IAnimationConfig = {
61
+ type?: INavigationAnimationType // 'none' | 'slide_up' | 'slide_left' | 'fade_in'
62
+ mode?: INavigationAnimationMode // 'view-transition' | 'style-transition'
63
+ }
64
+ `})}),`
65
+ `,n.jsx(i,{children:"\n| Thuộc tính | Kiểu | Bắt buộc | Mô tả |\n| :--- | :--- | :--- | :--- |\n| `type` | `INavigationAnimationType` | | Kiểu animation: `'none'` (không animation), `'slide_up'` (trượt từ dưới lên), `'slide_left'` (trượt từ phải sang trái), `'fade_in'` (fade in/out). |\n| `mode` | `INavigationAnimationMode` | | Cách render: `'view-transition'` (dùng View Transitions API), `'style-transition'` (dùng CSS transform). `'style-transition'` có thể ảnh hưởng element `position: fixed`. |\n"}),`
66
+ `,n.jsx(e.h2,{id:"hành-vi",children:"Hành vi"}),`
67
+ `,n.jsxs(e.ul,{children:[`
68
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Init một lần"}),": ",n.jsx(e.code,{children:"config"})," được lưu khi mount; không re-init khi prop ",n.jsx(e.code,{children:"config"})," thay đổi (có cảnh báo)."]}),`
69
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"ErrorBoundary"}),": Toàn bộ cây render được bọc bởi ErrorBoundary; khi lỗi sẽ render ",n.jsx(e.code,{children:"ErrorPage"})," nếu được truyền."]}),`
70
+ `,n.jsxs(e.li,{children:[n.jsx(e.strong,{children:"Render mode"}),": Theo `animation.mode` — `view-transition` hoặc `style-transition` — chọn cách render pages (View Transitions API hoặc style-based)."]}),`
71
+ `]})]})}function d(t={}){const{wrapper:e}={...r(),...t.components};return e?n.jsx(e,{...t,children:n.jsx(o,{...t})}):o(t)}export{d as default};
@@ -1,4 +1,4 @@
1
- import{j as n}from"./iframe-CQAwSt4E.js";import{useMDXComponents as c}from"./index-CgMRTj-o.js";import{b as t}from"./blocks-BuaOUtiH.js";import"./preload-helper-PPVm8Dsz.js";import"./index-DHiZ-gXR.js";function e(s){const i={code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...c(),...s.components};return n.jsxs(n.Fragment,{children:[`
1
+ import{j as n}from"./iframe-DfPay7Zl.js";import{useMDXComponents as c}from"./index-DqZh6B0b.js";import{b as t}from"./blocks-DKR3P4qW.js";import"./preload-helper-PPVm8Dsz.js";import"./index-cMNObl2z.js";function e(s){const i={code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...c(),...s.components};return n.jsxs(n.Fragment,{children:[`
2
2
  `,`
3
3
  `,n.jsx(t,{title:"Use Cases/Tailwind Integration"}),`
4
4
  `,n.jsx(i.h1,{id:"tích-hợp-với-tailwind-css",children:"Tích hợp với Tailwind CSS"}),`
@@ -0,0 +1,103 @@
1
+ import{j as e}from"./iframe-DfPay7Zl.js";import{useMDXComponents as i}from"./index-DqZh6B0b.js";import{b as c,M as r}from"./blocks-DKR3P4qW.js";import"./preload-helper-PPVm8Dsz.js";import"./index-cMNObl2z.js";function h(t){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...i(),...t.components};return e.jsxs(e.Fragment,{children:[`
2
+ `,`
3
+ `,e.jsx(c,{title:"UI React/Theme"}),`
4
+ `,e.jsx(n.h1,{id:"theme",children:"Theme"}),`
5
+ `,e.jsxs(n.p,{children:[e.jsx(n.strong,{children:"@v-miniapp/ui-react"})," hỗ trợ theme với 3 chế độ: ",e.jsx(n.strong,{children:"light"}),", ",e.jsx(n.strong,{children:"dark"}),", và ",e.jsx(n.strong,{children:"system"})," (theo thiết lập của thiết bị). Theme được áp dụng thông qua attribute ",e.jsx(n.code,{children:"data-theme"})," trên ",e.jsx(n.code,{children:"document.documentElement"})," và tự động cập nhật các component UI."]}),`
6
+ `,e.jsx(n.h2,{id:"tổng-quan",children:"Tổng quan"}),`
7
+ `,e.jsxs(n.p,{children:["Theme trong ",e.jsx(n.strong,{children:"@v-miniapp/ui-react"})," hoạt động dựa trên:"]}),`
8
+ `,e.jsxs(n.ul,{children:[`
9
+ `,e.jsxs(n.li,{children:[e.jsx(n.strong,{children:"CSS Variables"}),": Các màu sắc được định nghĩa qua CSS variables và tự động thay đổi theo theme"]}),`
10
+ `,e.jsxs(n.li,{children:[e.jsx(n.strong,{children:"data-theme attribute"}),": Được set trên ",e.jsx(n.code,{children:"document.documentElement"})," (",e.jsx(n.code,{children:"<html>"}),")",`
11
+ `,e.jsxs(n.ul,{children:[`
12
+ `,e.jsxs(n.li,{children:[e.jsx(n.code,{children:'data-theme="dark"'}),": Dark mode"]}),`
13
+ `,e.jsxs(n.li,{children:["Không có attribute hoặc ",e.jsx(n.code,{children:"data-theme"})," không phải ",e.jsx(n.code,{children:'"dark"'}),": Light mode"]}),`
14
+ `]}),`
15
+ `]}),`
16
+ `]}),`
17
+ `,e.jsx(n.h2,{id:"cấu-hình-theme",children:"Cấu hình Theme"}),`
18
+ `,e.jsx(n.h3,{id:"trong-iappconfig",children:"Trong IAppConfig"}),`
19
+ `,e.jsxs(n.p,{children:["Cấu hình theme mặc định cho toàn bộ app thông qua ",e.jsx(n.code,{children:"IAppConfig.theme"}),":"]}),`
20
+ `,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-tsx",children:`import { App, type IAppConfig } from '@v-miniapp/ui-react'
21
+
22
+ const appConfig: IAppConfig = {
23
+ theme: {
24
+ mode: 'dark', // 'light' | 'dark' | 'system'
25
+ },
26
+ pages: [
27
+ // ...
28
+ ],
29
+ }
30
+
31
+ export const MiniApp = () => <App config={appConfig} />
32
+ `})}),`
33
+ `,e.jsx(n.h3,{id:"các-chế-độ-theme",children:"Các chế độ Theme"}),`
34
+ `,e.jsx(r,{children:"\n| Chế độ | Mô tả | Giá trị |\n| :--- | :--- | :--- |\n| `'light'` | Chế độ sáng (mặc định) | Áp dụng light theme |\n| `'dark'` | Chế độ tối | Áp dụng dark theme |\n| `'system'` | Theo thiết bị | Tự động theo `prefers-color-scheme` của hệ thống |\n"}),`
35
+ `,e.jsx(n.p,{children:e.jsx(n.strong,{children:"Ví dụ:"})}),`
36
+ `,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-tsx",children:`// Light mode (mặc định)
37
+ const appConfig: IAppConfig = {
38
+ theme: { mode: 'light' },
39
+ pages: [...],
40
+ }
41
+
42
+ // Dark mode
43
+ const appConfig: IAppConfig = {
44
+ theme: { mode: 'dark' },
45
+ pages: [...],
46
+ }
47
+
48
+ // System mode - tự động theo thiết bị
49
+ const appConfig: IAppConfig = {
50
+ theme: { mode: 'system' },
51
+ pages: [...],
52
+ }
53
+
54
+ // Không cấu hình - mặc định là light
55
+ const appConfig: IAppConfig = {
56
+ pages: [...],
57
+ }
58
+ `})}),`
59
+ `,e.jsx(n.h2,{id:"api-functions",children:"API Functions"}),`
60
+ `,e.jsxs(n.p,{children:["Các hàm sau đây được export từ ",e.jsx(n.code,{children:"@v-miniapp/ui-react"})," để làm việc với theme:"]}),`
61
+ `,e.jsx(n.h3,{id:"getdatatheme",children:"getDataTheme"}),`
62
+ `,e.jsxs(n.p,{children:["Lấy theme hiện tại đang được áp dụng (chỉ trả về ",e.jsx(n.code,{children:"'light'"})," hoặc ",e.jsx(n.code,{children:"'dark'"}),", không trả về ",e.jsx(n.code,{children:"'system'"}),")."]}),`
63
+ `,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-typescript",children:`import { getDataTheme } from '@v-miniapp/ui-react'
64
+
65
+ const currentTheme = getDataTheme() // 'light' | 'dark'
66
+ `})}),`
67
+ `,e.jsx(n.p,{children:e.jsx(n.strong,{children:"Signature:"})}),`
68
+ `,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-typescript",children:`getDataTheme(): 'light' | 'dark'
69
+ `})}),`
70
+ `,e.jsx(n.p,{children:e.jsx(n.strong,{children:"Returns:"})}),`
71
+ `,e.jsxs(n.ul,{children:[`
72
+ `,e.jsxs(n.li,{children:[e.jsx(n.code,{children:"'dark'"}),": Nếu ",e.jsx(n.code,{children:'data-theme="dark"'})," được set trên ",e.jsx(n.code,{children:"documentElement"})]}),`
73
+ `,e.jsxs(n.li,{children:[e.jsx(n.code,{children:"'light'"}),": Trong các trường hợp khác (mặc định)"]}),`
74
+ `]}),`
75
+ `,e.jsx(n.h3,{id:"setdatatheme",children:"setDataTheme"}),`
76
+ `,e.jsxs(n.p,{children:["Set theme trực tiếp (chỉ nhận ",e.jsx(n.code,{children:"'light'"})," hoặc ",e.jsx(n.code,{children:"'dark'"}),")."]}),`
77
+ `,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-typescript",children:`import { setDataTheme } from '@v-miniapp/ui-react'
78
+
79
+ setDataTheme('dark') // Set dark mode
80
+ setDataTheme('light') // Set light mode
81
+ `})}),`
82
+ `,e.jsx(n.p,{children:e.jsx(n.strong,{children:"Signature:"})}),`
83
+ `,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-typescript",children:`setDataTheme(theme: 'light' | 'dark'): void
84
+ `})}),`
85
+ `,e.jsx(n.p,{children:e.jsx(n.strong,{children:"Behavior:"})}),`
86
+ `,e.jsxs(n.ul,{children:[`
87
+ `,e.jsxs(n.li,{children:[e.jsx(n.code,{children:"'dark'"}),": Set ",e.jsx(n.code,{children:'data-theme="dark"'})," trên ",e.jsx(n.code,{children:"documentElement"})]}),`
88
+ `,e.jsxs(n.li,{children:[e.jsx(n.code,{children:"'light'"}),": Remove ",e.jsx(n.code,{children:"data-theme"})," attribute (hoặc set giá trị khác ",e.jsx(n.code,{children:"'dark'"}),")"]}),`
89
+ `]}),`
90
+ `,e.jsx(n.h3,{id:"toggledatatheme",children:"toggleDataTheme"}),`
91
+ `,e.jsx(n.p,{children:"Chuyển đổi giữa light và dark mode."}),`
92
+ `,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-typescript",children:`import { toggleDataTheme } from '@v-miniapp/ui-react'
93
+
94
+ toggleDataTheme()
95
+ `})}),`
96
+ `,e.jsx(n.p,{children:e.jsx(n.strong,{children:"Signature:"})}),`
97
+ `,e.jsx(n.pre,{children:e.jsx(n.code,{className:"language-typescript",children:`toggleDataTheme(): void
98
+ `})}),`
99
+ `,e.jsx(n.p,{children:e.jsx(n.strong,{children:"Behavior:"})}),`
100
+ `,e.jsxs(n.ul,{children:[`
101
+ `,e.jsxs(n.li,{children:["Nếu hiện tại là ",e.jsx(n.code,{children:"'dark'"})," → chuyển sang ",e.jsx(n.code,{children:"'light'"})]}),`
102
+ `,e.jsxs(n.li,{children:["Nếu hiện tại là ",e.jsx(n.code,{children:"'light'"})," → chuyển sang ",e.jsx(n.code,{children:"'dark'"})]}),`
103
+ `]})]})}function m(t={}){const{wrapper:n}={...i(),...t.components};return n?e.jsx(n,{...t,children:e.jsx(h,{...t})}):h(t)}export{m as default};
@@ -0,0 +1 @@
1
+ import{c as $}from"./iframe-DfPay7Zl.js";var ar,Rt;function z(){if(Rt)return ar;Rt=1;function e(r){var t=typeof r;return r!=null&&(t=="object"||t=="function")}return ar=e,ar}var nr,mt;function Gn(){if(mt)return nr;mt=1;var e=typeof $=="object"&&$&&$.Object===Object&&$;return nr=e,nr}var ir,It;function S(){if(It)return ir;It=1;var e=Gn(),r=typeof self=="object"&&self&&self.Object===Object&&self,t=e||r||Function("return this")();return ir=t,ir}var ur,Ot;function ot(){if(Ot)return ur;Ot=1;var e=S(),r=e.Symbol;return ur=r,ur}var sr,wt;function di(){if(wt)return sr;wt=1;var e=ot(),r=Object.prototype,t=r.hasOwnProperty,a=r.toString,n=e?e.toStringTag:void 0;function i(u){var s=t.call(u,n),o=u[n];try{u[n]=void 0;var c=!0}catch{}var f=a.call(u);return c&&(s?u[n]=o:delete u[n]),f}return sr=i,sr}var or,Pt;function qi(){if(Pt)return or;Pt=1;var e=Object.prototype,r=e.toString;function t(a){return r.call(a)}return or=t,or}var cr,xt;function L(){if(xt)return cr;xt=1;var e=ot(),r=di(),t=qi(),a="[object Null]",n="[object Undefined]",i=e?e.toStringTag:void 0;function u(s){return s==null?s===void 0?n:a:i&&i in Object(s)?r(s):t(s)}return cr=u,cr}var fr,Mt;function M(){if(Mt)return fr;Mt=1;function e(r){return r!=null&&typeof r=="object"}return fr=e,fr}var vr,Dt;function Fu(){if(Dt)return vr;Dt=1;var e=L(),r=M(),t="[object Symbol]";function a(n){return typeof n=="symbol"||r(n)&&e(n)==t}return vr=a,vr}var lr,Gt;function Kn(){if(Gt)return lr;Gt=1;function e(r,t){return function(a){return r(t(a))}}return lr=e,lr}var _r,Kt;function ct(){if(Kt)return _r;Kt=1;var e=Kn(),r=e(Object.getPrototypeOf,Object);return _r=r,_r}var hr,Et;function ku(){if(Et)return hr;Et=1;var e=L(),r=ct(),t=M(),a="[object Object]",n=Function.prototype,i=Object.prototype,u=n.toString,s=i.hasOwnProperty,o=u.call(Object);function c(f){if(!t(f)||e(f)!=a)return!1;var _=r(f);if(_===null)return!0;var y=s.call(_,"constructor")&&_.constructor;return typeof y=="function"&&y instanceof y&&u.call(y)==o}return hr=c,hr}var yr,Lt;function Ti(){if(Lt)return yr;Lt=1;function e(){this.__data__=[],this.size=0}return yr=e,yr}var pr,Ft;function En(){if(Ft)return pr;Ft=1;function e(r,t){return r===t||r!==r&&t!==t}return pr=e,pr}var br,kt;function Z(){if(kt)return br;kt=1;var e=En();function r(t,a){for(var n=t.length;n--;)if(e(t[n][0],a))return n;return-1}return br=r,br}var gr,Bt;function Ai(){if(Bt)return gr;Bt=1;var e=Z(),r=Array.prototype,t=r.splice;function a(n){var i=this.__data__,u=e(i,n);if(u<0)return!1;var s=i.length-1;return u==s?i.pop():t.call(i,u,1),--this.size,!0}return gr=a,gr}var dr,Ut;function Si(){if(Ut)return dr;Ut=1;var e=Z();function r(t){var a=this.__data__,n=e(a,t);return n<0?void 0:a[n][1]}return dr=r,dr}var qr,Nt;function ji(){if(Nt)return qr;Nt=1;var e=Z();function r(t){return e(this.__data__,t)>-1}return qr=r,qr}var Tr,Ht;function Ci(){if(Ht)return Tr;Ht=1;var e=Z();function r(t,a){var n=this.__data__,i=e(n,t);return i<0?(++this.size,n.push([t,a])):n[i][1]=a,this}return Tr=r,Tr}var Ar,Vt;function Q(){if(Vt)return Ar;Vt=1;var e=Ti(),r=Ai(),t=Si(),a=ji(),n=Ci();function i(u){var s=-1,o=u==null?0:u.length;for(this.clear();++s<o;){var c=u[s];this.set(c[0],c[1])}}return i.prototype.clear=e,i.prototype.delete=r,i.prototype.get=t,i.prototype.has=a,i.prototype.set=n,Ar=i,Ar}var Sr,zt;function Ri(){if(zt)return Sr;zt=1;var e=Q();function r(){this.__data__=new e,this.size=0}return Sr=r,Sr}var jr,Wt;function mi(){if(Wt)return jr;Wt=1;function e(r){var t=this.__data__,a=t.delete(r);return this.size=t.size,a}return jr=e,jr}var Cr,Jt;function Ii(){if(Jt)return Cr;Jt=1;function e(r){return this.__data__.get(r)}return Cr=e,Cr}var Rr,Xt;function Oi(){if(Xt)return Rr;Xt=1;function e(r){return this.__data__.has(r)}return Rr=e,Rr}var mr,Yt;function Ln(){if(Yt)return mr;Yt=1;var e=L(),r=z(),t="[object AsyncFunction]",a="[object Function]",n="[object GeneratorFunction]",i="[object Proxy]";function u(s){if(!r(s))return!1;var o=e(s);return o==a||o==n||o==t||o==i}return mr=u,mr}var Ir,$t;function wi(){if($t)return Ir;$t=1;var e=S(),r=e["__core-js_shared__"];return Ir=r,Ir}var Or,Zt;function Pi(){if(Zt)return Or;Zt=1;var e=wi(),r=(function(){var a=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return a?"Symbol(src)_1."+a:""})();function t(a){return!!r&&r in a}return Or=t,Or}var wr,Qt;function Fn(){if(Qt)return wr;Qt=1;var e=Function.prototype,r=e.toString;function t(a){if(a!=null){try{return r.call(a)}catch{}try{return a+""}catch{}}return""}return wr=t,wr}var Pr,ra;function xi(){if(ra)return Pr;ra=1;var e=Ln(),r=Pi(),t=z(),a=Fn(),n=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,u=Function.prototype,s=Object.prototype,o=u.toString,c=s.hasOwnProperty,f=RegExp("^"+o.call(c).replace(n,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function _(y){if(!t(y)||r(y))return!1;var g=e(y)?f:i;return g.test(a(y))}return Pr=_,Pr}var xr,ea;function Mi(){if(ea)return xr;ea=1;function e(r,t){return r?.[t]}return xr=e,xr}var Mr,ta;function D(){if(ta)return Mr;ta=1;var e=xi(),r=Mi();function t(a,n){var i=r(a,n);return e(i)?i:void 0}return Mr=t,Mr}var Dr,aa;function ft(){if(aa)return Dr;aa=1;var e=D(),r=S(),t=e(r,"Map");return Dr=t,Dr}var Gr,na;function rr(){if(na)return Gr;na=1;var e=D(),r=e(Object,"create");return Gr=r,Gr}var Kr,ia;function Di(){if(ia)return Kr;ia=1;var e=rr();function r(){this.__data__=e?e(null):{},this.size=0}return Kr=r,Kr}var Er,ua;function Gi(){if(ua)return Er;ua=1;function e(r){var t=this.has(r)&&delete this.__data__[r];return this.size-=t?1:0,t}return Er=e,Er}var Lr,sa;function Ki(){if(sa)return Lr;sa=1;var e=rr(),r="__lodash_hash_undefined__",t=Object.prototype,a=t.hasOwnProperty;function n(i){var u=this.__data__;if(e){var s=u[i];return s===r?void 0:s}return a.call(u,i)?u[i]:void 0}return Lr=n,Lr}var Fr,oa;function Ei(){if(oa)return Fr;oa=1;var e=rr(),r=Object.prototype,t=r.hasOwnProperty;function a(n){var i=this.__data__;return e?i[n]!==void 0:t.call(i,n)}return Fr=a,Fr}var kr,ca;function Li(){if(ca)return kr;ca=1;var e=rr(),r="__lodash_hash_undefined__";function t(a,n){var i=this.__data__;return this.size+=this.has(a)?0:1,i[a]=e&&n===void 0?r:n,this}return kr=t,kr}var Br,fa;function Fi(){if(fa)return Br;fa=1;var e=Di(),r=Gi(),t=Ki(),a=Ei(),n=Li();function i(u){var s=-1,o=u==null?0:u.length;for(this.clear();++s<o;){var c=u[s];this.set(c[0],c[1])}}return i.prototype.clear=e,i.prototype.delete=r,i.prototype.get=t,i.prototype.has=a,i.prototype.set=n,Br=i,Br}var Ur,va;function ki(){if(va)return Ur;va=1;var e=Fi(),r=Q(),t=ft();function a(){this.size=0,this.__data__={hash:new e,map:new(t||r),string:new e}}return Ur=a,Ur}var Nr,la;function Bi(){if(la)return Nr;la=1;function e(r){var t=typeof r;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?r!=="__proto__":r===null}return Nr=e,Nr}var Hr,_a;function er(){if(_a)return Hr;_a=1;var e=Bi();function r(t,a){var n=t.__data__;return e(a)?n[typeof a=="string"?"string":"hash"]:n.map}return Hr=r,Hr}var Vr,ha;function Ui(){if(ha)return Vr;ha=1;var e=er();function r(t){var a=e(this,t).delete(t);return this.size-=a?1:0,a}return Vr=r,Vr}var zr,ya;function Ni(){if(ya)return zr;ya=1;var e=er();function r(t){return e(this,t).get(t)}return zr=r,zr}var Wr,pa;function Hi(){if(pa)return Wr;pa=1;var e=er();function r(t){return e(this,t).has(t)}return Wr=r,Wr}var Jr,ba;function Vi(){if(ba)return Jr;ba=1;var e=er();function r(t,a){var n=e(this,t),i=n.size;return n.set(t,a),this.size+=n.size==i?0:1,this}return Jr=r,Jr}var Xr,ga;function zi(){if(ga)return Xr;ga=1;var e=ki(),r=Ui(),t=Ni(),a=Hi(),n=Vi();function i(u){var s=-1,o=u==null?0:u.length;for(this.clear();++s<o;){var c=u[s];this.set(c[0],c[1])}}return i.prototype.clear=e,i.prototype.delete=r,i.prototype.get=t,i.prototype.has=a,i.prototype.set=n,Xr=i,Xr}var Yr,da;function Wi(){if(da)return Yr;da=1;var e=Q(),r=ft(),t=zi(),a=200;function n(i,u){var s=this.__data__;if(s instanceof e){var o=s.__data__;if(!r||o.length<a-1)return o.push([i,u]),this.size=++s.size,this;s=this.__data__=new t(o)}return s.set(i,u),this.size=s.size,this}return Yr=n,Yr}var $r,qa;function Ji(){if(qa)return $r;qa=1;var e=Q(),r=Ri(),t=mi(),a=Ii(),n=Oi(),i=Wi();function u(s){var o=this.__data__=new e(s);this.size=o.size}return u.prototype.clear=r,u.prototype.delete=t,u.prototype.get=a,u.prototype.has=n,u.prototype.set=i,$r=u,$r}var Zr,Ta;function kn(){if(Ta)return Zr;Ta=1;var e=D(),r=(function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch{}})();return Zr=r,Zr}var Qr,Aa;function Bn(){if(Aa)return Qr;Aa=1;var e=kn();function r(t,a,n){a=="__proto__"&&e?e(t,a,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[a]=n}return Qr=r,Qr}var N={exports:{}};N.exports;var Sa;function Xi(){return Sa||(Sa=1,(function(e,r){var t=S(),a=r&&!r.nodeType&&r,n=a&&!0&&e&&!e.nodeType&&e,i=n&&n.exports===a,u=i?t.Buffer:void 0,s=u?u.allocUnsafe:void 0;function o(c,f){if(f)return c.slice();var _=c.length,y=s?s(_):new c.constructor(_);return c.copy(y),y}e.exports=o})(N,N.exports)),N.exports}var re,ja;function Yi(){if(ja)return re;ja=1;var e=S(),r=e.Uint8Array;return re=r,re}var ee,Ca;function vt(){if(Ca)return ee;Ca=1;var e=Yi();function r(t){var a=new t.constructor(t.byteLength);return new e(a).set(new e(t)),a}return ee=r,ee}var te,Ra;function $i(){if(Ra)return te;Ra=1;var e=vt();function r(t,a){var n=a?e(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}return te=r,te}var ae,ma;function Zi(){if(ma)return ae;ma=1;function e(r,t){var a=-1,n=r.length;for(t||(t=Array(n));++a<n;)t[a]=r[a];return t}return ae=e,ae}var ne,Ia;function Qi(){if(Ia)return ne;Ia=1;var e=z(),r=Object.create,t=(function(){function a(){}return function(n){if(!e(n))return{};if(r)return r(n);a.prototype=n;var i=new a;return a.prototype=void 0,i}})();return ne=t,ne}var ie,Oa;function lt(){if(Oa)return ie;Oa=1;var e=Object.prototype;function r(t){var a=t&&t.constructor,n=typeof a=="function"&&a.prototype||e;return t===n}return ie=r,ie}var ue,wa;function ru(){if(wa)return ue;wa=1;var e=Qi(),r=ct(),t=lt();function a(n){return typeof n.constructor=="function"&&!t(n)?e(r(n)):{}}return ue=a,ue}var se,Pa;function eu(){if(Pa)return se;Pa=1;var e=L(),r=M(),t="[object Arguments]";function a(n){return r(n)&&e(n)==t}return se=a,se}var oe,xa;function tu(){if(xa)return oe;xa=1;var e=eu(),r=M(),t=Object.prototype,a=t.hasOwnProperty,n=t.propertyIsEnumerable,i=e((function(){return arguments})())?e:function(u){return r(u)&&a.call(u,"callee")&&!n.call(u,"callee")};return oe=i,oe}var ce,Ma;function _t(){if(Ma)return ce;Ma=1;var e=Array.isArray;return ce=e,ce}var fe,Da;function Un(){if(Da)return fe;Da=1;var e=9007199254740991;function r(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=e}return fe=r,fe}var ve,Ga;function Nn(){if(Ga)return ve;Ga=1;var e=Ln(),r=Un();function t(a){return a!=null&&r(a.length)&&!e(a)}return ve=t,ve}var H={exports:{}},le,Ka;function au(){if(Ka)return le;Ka=1;function e(){return!1}return le=e,le}H.exports;var Ea;function Hn(){return Ea||(Ea=1,(function(e,r){var t=S(),a=au(),n=r&&!r.nodeType&&r,i=n&&!0&&e&&!e.nodeType&&e,u=i&&i.exports===n,s=u?t.Buffer:void 0,o=s?s.isBuffer:void 0,c=o||a;e.exports=c})(H,H.exports)),H.exports}var _e,La;function nu(){if(La)return _e;La=1;var e=L(),r=Un(),t=M(),a="[object Arguments]",n="[object Array]",i="[object Boolean]",u="[object Date]",s="[object Error]",o="[object Function]",c="[object Map]",f="[object Number]",_="[object Object]",y="[object RegExp]",g="[object Set]",T="[object String]",A="[object WeakMap]",q="[object ArrayBuffer]",j="[object DataView]",p="[object Float32Array]",C="[object Float64Array]",R="[object Int8Array]",m="[object Int16Array]",I="[object Int32Array]",F="[object Uint8Array]",k="[object Uint8ClampedArray]",d="[object Uint16Array]",B="[object Uint32Array]",v={};v[p]=v[C]=v[R]=v[m]=v[I]=v[F]=v[k]=v[d]=v[B]=!0,v[a]=v[n]=v[q]=v[i]=v[j]=v[u]=v[s]=v[o]=v[c]=v[f]=v[_]=v[y]=v[g]=v[T]=v[A]=!1;function O(U){return t(U)&&r(U.length)&&!!v[e(U)]}return _e=O,_e}var he,Fa;function ht(){if(Fa)return he;Fa=1;function e(r){return function(t){return r(t)}}return he=e,he}var V={exports:{}};V.exports;var ka;function yt(){return ka||(ka=1,(function(e,r){var t=Gn(),a=r&&!r.nodeType&&r,n=a&&!0&&e&&!e.nodeType&&e,i=n&&n.exports===a,u=i&&t.process,s=(function(){try{var o=n&&n.require&&n.require("util").types;return o||u&&u.binding&&u.binding("util")}catch{}})();e.exports=s})(V,V.exports)),V.exports}var ye,Ba;function iu(){if(Ba)return ye;Ba=1;var e=nu(),r=ht(),t=yt(),a=t&&t.isTypedArray,n=a?r(a):e;return ye=n,ye}var pe,Ua;function Vn(){if(Ua)return pe;Ua=1;var e=Bn(),r=En(),t=Object.prototype,a=t.hasOwnProperty;function n(i,u,s){var o=i[u];(!(a.call(i,u)&&r(o,s))||s===void 0&&!(u in i))&&e(i,u,s)}return pe=n,pe}var be,Na;function tr(){if(Na)return be;Na=1;var e=Vn(),r=Bn();function t(a,n,i,u){var s=!i;i||(i={});for(var o=-1,c=n.length;++o<c;){var f=n[o],_=u?u(i[f],a[f],f,i,a):void 0;_===void 0&&(_=a[f]),s?r(i,f,_):e(i,f,_)}return i}return be=t,be}var ge,Ha;function uu(){if(Ha)return ge;Ha=1;function e(r,t){for(var a=-1,n=Array(r);++a<r;)n[a]=t(a);return n}return ge=e,ge}var de,Va;function su(){if(Va)return de;Va=1;var e=9007199254740991,r=/^(?:0|[1-9]\d*)$/;function t(a,n){var i=typeof a;return n=n??e,!!n&&(i=="number"||i!="symbol"&&r.test(a))&&a>-1&&a%1==0&&a<n}return de=t,de}var qe,za;function zn(){if(za)return qe;za=1;var e=uu(),r=tu(),t=_t(),a=Hn(),n=su(),i=iu(),u=Object.prototype,s=u.hasOwnProperty;function o(c,f){var _=t(c),y=!_&&r(c),g=!_&&!y&&a(c),T=!_&&!y&&!g&&i(c),A=_||y||g||T,q=A?e(c.length,String):[],j=q.length;for(var p in c)(f||s.call(c,p))&&!(A&&(p=="length"||g&&(p=="offset"||p=="parent")||T&&(p=="buffer"||p=="byteLength"||p=="byteOffset")||n(p,j)))&&q.push(p);return q}return qe=o,qe}var Te,Wa;function ou(){if(Wa)return Te;Wa=1;function e(r){var t=[];if(r!=null)for(var a in Object(r))t.push(a);return t}return Te=e,Te}var Ae,Ja;function cu(){if(Ja)return Ae;Ja=1;var e=z(),r=lt(),t=ou(),a=Object.prototype,n=a.hasOwnProperty;function i(u){if(!e(u))return t(u);var s=r(u),o=[];for(var c in u)c=="constructor"&&(s||!n.call(u,c))||o.push(c);return o}return Ae=i,Ae}var Se,Xa;function pt(){if(Xa)return Se;Xa=1;var e=zn(),r=cu(),t=Nn();function a(n){return t(n)?e(n,!0):r(n)}return Se=a,Se}var je,Ya;function fu(){if(Ya)return je;Ya=1;function e(r){return r}return je=e,je}var Ce,$a;function vu(){if($a)return Ce;$a=1;function e(r,t,a){switch(a.length){case 0:return r.call(t);case 1:return r.call(t,a[0]);case 2:return r.call(t,a[0],a[1]);case 3:return r.call(t,a[0],a[1],a[2])}return r.apply(t,a)}return Ce=e,Ce}var Re,Za;function Bu(){if(Za)return Re;Za=1;var e=vu(),r=Math.max;function t(a,n,i){return n=r(n===void 0?a.length-1:n,0),function(){for(var u=arguments,s=-1,o=r(u.length-n,0),c=Array(o);++s<o;)c[s]=u[n+s];s=-1;for(var f=Array(n+1);++s<n;)f[s]=u[s];return f[n]=i(c),e(a,this,f)}}return Re=t,Re}var me,Qa;function lu(){if(Qa)return me;Qa=1;function e(r){return function(){return r}}return me=e,me}var Ie,rn;function _u(){if(rn)return Ie;rn=1;var e=lu(),r=kn(),t=fu(),a=r?function(n,i){return r(n,"toString",{configurable:!0,enumerable:!1,value:e(i),writable:!0})}:t;return Ie=a,Ie}var Oe,en;function hu(){if(en)return Oe;en=1;var e=800,r=16,t=Date.now;function a(n){var i=0,u=0;return function(){var s=t(),o=r-(s-u);if(u=s,o>0){if(++i>=e)return arguments[0]}else i=0;return n.apply(void 0,arguments)}}return Oe=a,Oe}var we,tn;function Uu(){if(tn)return we;tn=1;var e=_u(),r=hu(),t=r(e);return we=t,we}var Pe,an;function yu(){if(an)return Pe;an=1;function e(r,t){for(var a=-1,n=r==null?0:r.length;++a<n&&t(r[a],a,r)!==!1;);return r}return Pe=e,Pe}var xe,nn;function pu(){if(nn)return xe;nn=1;var e=Kn(),r=e(Object.keys,Object);return xe=r,xe}var Me,un;function bu(){if(un)return Me;un=1;var e=lt(),r=pu(),t=Object.prototype,a=t.hasOwnProperty;function n(i){if(!e(i))return r(i);var u=[];for(var s in Object(i))a.call(i,s)&&s!="constructor"&&u.push(s);return u}return Me=n,Me}var De,sn;function bt(){if(sn)return De;sn=1;var e=zn(),r=bu(),t=Nn();function a(n){return t(n)?e(n):r(n)}return De=a,De}var Ge,on;function gu(){if(on)return Ge;on=1;var e=tr(),r=bt();function t(a,n){return a&&e(n,r(n),a)}return Ge=t,Ge}var Ke,cn;function du(){if(cn)return Ke;cn=1;var e=tr(),r=pt();function t(a,n){return a&&e(n,r(n),a)}return Ke=t,Ke}var Ee,fn;function qu(){if(fn)return Ee;fn=1;function e(r,t){for(var a=-1,n=r==null?0:r.length,i=0,u=[];++a<n;){var s=r[a];t(s,a,r)&&(u[i++]=s)}return u}return Ee=e,Ee}var Le,vn;function Wn(){if(vn)return Le;vn=1;function e(){return[]}return Le=e,Le}var Fe,ln;function gt(){if(ln)return Fe;ln=1;var e=qu(),r=Wn(),t=Object.prototype,a=t.propertyIsEnumerable,n=Object.getOwnPropertySymbols,i=n?function(u){return u==null?[]:(u=Object(u),e(n(u),function(s){return a.call(u,s)}))}:r;return Fe=i,Fe}var ke,_n;function Tu(){if(_n)return ke;_n=1;var e=tr(),r=gt();function t(a,n){return e(a,r(a),n)}return ke=t,ke}var Be,hn;function Jn(){if(hn)return Be;hn=1;function e(r,t){for(var a=-1,n=t.length,i=r.length;++a<n;)r[i+a]=t[a];return r}return Be=e,Be}var Ue,yn;function Xn(){if(yn)return Ue;yn=1;var e=Jn(),r=ct(),t=gt(),a=Wn(),n=Object.getOwnPropertySymbols,i=n?function(u){for(var s=[];u;)e(s,t(u)),u=r(u);return s}:a;return Ue=i,Ue}var Ne,pn;function Au(){if(pn)return Ne;pn=1;var e=tr(),r=Xn();function t(a,n){return e(a,r(a),n)}return Ne=t,Ne}var He,bn;function Yn(){if(bn)return He;bn=1;var e=Jn(),r=_t();function t(a,n,i){var u=n(a);return r(a)?u:e(u,i(a))}return He=t,He}var Ve,gn;function Su(){if(gn)return Ve;gn=1;var e=Yn(),r=gt(),t=bt();function a(n){return e(n,t,r)}return Ve=a,Ve}var ze,dn;function ju(){if(dn)return ze;dn=1;var e=Yn(),r=Xn(),t=pt();function a(n){return e(n,t,r)}return ze=a,ze}var We,qn;function Cu(){if(qn)return We;qn=1;var e=D(),r=S(),t=e(r,"DataView");return We=t,We}var Je,Tn;function Ru(){if(Tn)return Je;Tn=1;var e=D(),r=S(),t=e(r,"Promise");return Je=t,Je}var Xe,An;function mu(){if(An)return Xe;An=1;var e=D(),r=S(),t=e(r,"Set");return Xe=t,Xe}var Ye,Sn;function Iu(){if(Sn)return Ye;Sn=1;var e=D(),r=S(),t=e(r,"WeakMap");return Ye=t,Ye}var $e,jn;function dt(){if(jn)return $e;jn=1;var e=Cu(),r=ft(),t=Ru(),a=mu(),n=Iu(),i=L(),u=Fn(),s="[object Map]",o="[object Object]",c="[object Promise]",f="[object Set]",_="[object WeakMap]",y="[object DataView]",g=u(e),T=u(r),A=u(t),q=u(a),j=u(n),p=i;return(e&&p(new e(new ArrayBuffer(1)))!=y||r&&p(new r)!=s||t&&p(t.resolve())!=c||a&&p(new a)!=f||n&&p(new n)!=_)&&(p=function(C){var R=i(C),m=R==o?C.constructor:void 0,I=m?u(m):"";if(I)switch(I){case g:return y;case T:return s;case A:return c;case q:return f;case j:return _}return R}),$e=p,$e}var Ze,Cn;function Ou(){if(Cn)return Ze;Cn=1;var e=Object.prototype,r=e.hasOwnProperty;function t(a){var n=a.length,i=new a.constructor(n);return n&&typeof a[0]=="string"&&r.call(a,"index")&&(i.index=a.index,i.input=a.input),i}return Ze=t,Ze}var Qe,Rn;function wu(){if(Rn)return Qe;Rn=1;var e=vt();function r(t,a){var n=a?e(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}return Qe=r,Qe}var rt,mn;function Pu(){if(mn)return rt;mn=1;var e=/\w*$/;function r(t){var a=new t.constructor(t.source,e.exec(t));return a.lastIndex=t.lastIndex,a}return rt=r,rt}var et,In;function xu(){if(In)return et;In=1;var e=ot(),r=e?e.prototype:void 0,t=r?r.valueOf:void 0;function a(n){return t?Object(t.call(n)):{}}return et=a,et}var tt,On;function Mu(){if(On)return tt;On=1;var e=vt(),r=wu(),t=Pu(),a=xu(),n=$i(),i="[object Boolean]",u="[object Date]",s="[object Map]",o="[object Number]",c="[object RegExp]",f="[object Set]",_="[object String]",y="[object Symbol]",g="[object ArrayBuffer]",T="[object DataView]",A="[object Float32Array]",q="[object Float64Array]",j="[object Int8Array]",p="[object Int16Array]",C="[object Int32Array]",R="[object Uint8Array]",m="[object Uint8ClampedArray]",I="[object Uint16Array]",F="[object Uint32Array]";function k(d,B,v){var O=d.constructor;switch(B){case g:return e(d);case i:case u:return new O(+d);case T:return r(d,v);case A:case q:case j:case p:case C:case R:case m:case I:case F:return n(d,v);case s:return new O;case o:case _:return new O(d);case c:return t(d);case f:return new O;case y:return a(d)}}return tt=k,tt}var at,wn;function Du(){if(wn)return at;wn=1;var e=dt(),r=M(),t="[object Map]";function a(n){return r(n)&&e(n)==t}return at=a,at}var nt,Pn;function Gu(){if(Pn)return nt;Pn=1;var e=Du(),r=ht(),t=yt(),a=t&&t.isMap,n=a?r(a):e;return nt=n,nt}var it,xn;function Ku(){if(xn)return it;xn=1;var e=dt(),r=M(),t="[object Set]";function a(n){return r(n)&&e(n)==t}return it=a,it}var ut,Mn;function Eu(){if(Mn)return ut;Mn=1;var e=Ku(),r=ht(),t=yt(),a=t&&t.isSet,n=a?r(a):e;return ut=n,ut}var st,Dn;function Nu(){if(Dn)return st;Dn=1;var e=Ji(),r=yu(),t=Vn(),a=gu(),n=du(),i=Xi(),u=Zi(),s=Tu(),o=Au(),c=Su(),f=ju(),_=dt(),y=Ou(),g=Mu(),T=ru(),A=_t(),q=Hn(),j=Gu(),p=z(),C=Eu(),R=bt(),m=pt(),I=1,F=2,k=4,d="[object Arguments]",B="[object Array]",v="[object Boolean]",O="[object Date]",U="[object Error]",qt="[object Function]",$n="[object GeneratorFunction]",Zn="[object Map]",Qn="[object Number]",Tt="[object Object]",ri="[object RegExp]",ei="[object Set]",ti="[object String]",ai="[object Symbol]",ni="[object WeakMap]",ii="[object ArrayBuffer]",ui="[object DataView]",si="[object Float32Array]",oi="[object Float64Array]",ci="[object Int8Array]",fi="[object Int16Array]",vi="[object Int32Array]",li="[object Uint8Array]",_i="[object Uint8ClampedArray]",hi="[object Uint16Array]",yi="[object Uint32Array]",h={};h[d]=h[B]=h[ii]=h[ui]=h[v]=h[O]=h[si]=h[oi]=h[ci]=h[fi]=h[vi]=h[Zn]=h[Qn]=h[Tt]=h[ri]=h[ei]=h[ti]=h[ai]=h[li]=h[_i]=h[hi]=h[yi]=!0,h[U]=h[qt]=h[ni]=!1;function W(l,G,K,pi,J,w){var b,X=G&I,Y=G&F,bi=G&k;if(K&&(b=J?K(l,pi,J,w):K(l)),b!==void 0)return b;if(!p(l))return l;var At=A(l);if(At){if(b=y(l),!X)return u(l,b)}else{var E=_(l),St=E==qt||E==$n;if(q(l))return i(l,X);if(E==Tt||E==d||St&&!J){if(b=Y||St?{}:T(l),!X)return Y?o(l,n(b,l)):s(l,a(b,l))}else{if(!h[E])return J?l:{};b=g(l,E,X)}}w||(w=new e);var jt=w.get(l);if(jt)return jt;w.set(l,b),C(l)?l.forEach(function(P){b.add(W(P,G,K,P,l,w))}):j(l)&&l.forEach(function(P,x){b.set(x,W(P,G,K,x,l,w))});var gi=bi?Y?f:c:Y?m:R,Ct=At?void 0:gi(l);return r(Ct||l,function(P,x){Ct&&(x=P,P=l[x]),t(b,x,W(P,G,K,x,l,w))}),b}return st=W,st}export{Ln as A,iu as B,Zi as C,Ji as D,fu as E,z as a,su as b,tu as c,_t as d,Un as e,Fu as f,zi as g,ot as h,Jn as i,Uu as j,Bu as k,ku as l,Nu as m,tr as n,ju as o,S as p,Bn as q,Vn as r,En as s,Nn as t,M as u,pt as v,Xi as w,$i as x,ru as y,Hn as z};
@@ -0,0 +1 @@
1
+ import{j as e}from"./iframe-DfPay7Zl.js";import{I as a}from"./icon-CdiFzFyf.js";import{c as p,g as d}from"./store-Ce3Ikv5g.js";import{T as t}from"./typography-CB8hPDyK.js";const s=d("alert"),f=({type:i="informative",title:r,message:l,closeable:c,action:o,className:n,...m})=>e.jsxs("div",{className:p(s,`${s}--${i}`,n),...m,children:[e.jsxs("div",{className:`${s}__icon`,children:[i==="informative"&&e.jsx(a,{name:"circle-info",type:"fill",size:20,color:"alias-object-secondary"}),i==="positive"&&e.jsx(a,{name:"circle-check",type:"fill",size:20,color:"alias-support-positive"}),i==="negative"&&e.jsx(a,{name:"triangle-warning",type:"fill",size:20,color:"alias-support-negative"})]}),e.jsxs("div",{className:`${s}__content`,children:[!!r&&e.jsx(t,{size:"small",weight:"bold",color:{informative:"alias-object-primary",positive:"alias-support-positive",negative:"alias-support-negative"}[i],children:r}),!!l&&e.jsx(t,{size:"small",children:l})]}),!!o&&e.jsx("div",{className:`${s}__action`,children:o}),c&&e.jsx("div",{className:`${s}__close`,children:e.jsx(a,{name:"xmark",size:20})})]});f.__docgenInfo={description:"",methods:[],displayName:"Alert",props:{type:{defaultValue:{value:"'informative'",computed:!1},required:!1}}};export{f as A};