@v-miniapp/ui-react 1.0.45 → 1.0.47

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 (121) hide show
  1. package/dist/components/app/types/app.d.ts +10 -0
  2. package/dist/components/app/utils/data-theme.d.ts +1 -2
  3. package/dist/components/carousel/index.d.ts +1 -0
  4. package/dist/external/index.js +3128 -3106
  5. package/dist/index.js +2438 -2416
  6. package/dist-storybook/assets/{ANIMATION-CUdn1GTK.js → ANIMATION-DLCDVwPI.js} +1 -1
  7. package/dist-storybook/assets/{APP_FRAMEWORK-ljbIOHYd.js → APP_FRAMEWORK-B9Mrudgl.js} +8 -8
  8. package/dist-storybook/assets/{BOTTOM_TAB_BAR-DxCwCfBK.js → BOTTOM_TAB_BAR-Bgfy-nnv.js} +1 -1
  9. package/dist-storybook/assets/{CUSTOM_ERROR_BOUNDARY-B4wTQNZc.js → CUSTOM_ERROR_BOUNDARY-G_i_6aho.js} +1 -1
  10. package/dist-storybook/assets/{Color-AVL7NMMY-1_8XTICv.js → Color-AVL7NMMY-OD8SQvXt.js} +1 -1
  11. package/dist-storybook/assets/{DocsRenderer-PQXLIZUC-BO86igwd.js → DocsRenderer-PQXLIZUC-D8kbgtPd.js} +2 -2
  12. package/dist-storybook/assets/{GETTING_STARTED-H_vVi5cv.js → GETTING_STARTED-Bf6ENjZo.js} +1 -1
  13. package/dist-storybook/assets/{INFINITE_SCROLL-BtM3uoX0.js → INFINITE_SCROLL-O36i5W8i.js} +1 -1
  14. package/dist-storybook/assets/{KEEP_ALIVE-CL2au0al.js → KEEP_ALIVE-CicDtVw6.js} +1 -1
  15. package/dist-storybook/assets/{LOCALE-XTCey55y.js → LOCALE-D_43J3RD.js} +1 -1
  16. package/dist-storybook/assets/{MIGRATION_GUIDE-2LONslE4.js → MIGRATION_GUIDE-Dn2gFk5v.js} +3 -3
  17. package/dist-storybook/assets/{MOBILE_BEHAVIOURS-DZ6alKTX.js → MOBILE_BEHAVIOURS-D5jOxNiz.js} +1 -1
  18. package/dist-storybook/assets/{PAGE_LAYOUT-BuOpN-1Y.js → PAGE_LAYOUT-C0sW9iZo.js} +1 -1
  19. package/dist-storybook/assets/{ROUTING_NAVIGATION-BCPHXNto.js → ROUTING_NAVIGATION-Bpj_mu5r.js} +1 -1
  20. package/dist-storybook/assets/{TAILWIND_INTEGRATION-_T-VfvkM.js → TAILWIND_INTEGRATION-CVrohRXO.js} +1 -1
  21. package/dist-storybook/assets/THEME_MODE-Sc8cgznR.js +111 -0
  22. package/dist-storybook/assets/{_setToString-CbM921C9.js → _setToString-CjYxL0rS.js} +1 -1
  23. package/dist-storybook/assets/{alert-DLW8CoyB.js → alert-abKmNYys.js} +1 -1
  24. package/dist-storybook/assets/{alert.stories-B-vuojPh.js → alert.stories-XyvS4WTm.js} +1 -1
  25. package/dist-storybook/assets/{avatar-GxcYPA1p.js → avatar-B-jvPnzm.js} +1 -1
  26. package/dist-storybook/assets/{avatar.stories-KYFztAc8.js → avatar.stories-glTjw5Kd.js} +1 -1
  27. package/dist-storybook/assets/{axe-CmvD4WV5.js → axe-B8nlqekz.js} +1 -1
  28. package/dist-storybook/assets/{badge-D_LzMVtw.js → badge-Cc9u7jBX.js} +1 -1
  29. package/dist-storybook/assets/{badge.stories-Be2ItCmQ.js → badge.stories-CeNmmdtv.js} +1 -1
  30. package/dist-storybook/assets/{blocks-BuaOUtiH.js → blocks-CpOj9FQ_.js} +3 -3
  31. package/dist-storybook/assets/{bottom-tab-bar-CtcTAxuI.js → bottom-tab-bar-BsPd0FD7.js} +1 -1
  32. package/dist-storybook/assets/{bottom-tab-bar.stories-CDmEve6z.js → bottom-tab-bar.stories-BG1ee2eN.js} +1 -1
  33. package/dist-storybook/assets/{button-CL7GeC23.js → button-GtWXUngt.js} +1 -1
  34. package/dist-storybook/assets/{button.stories-CaqLWQiY.js → button.stories-3d_T0h_Z.js} +1 -1
  35. package/dist-storybook/assets/{calendar-dOCsjhVU.js → calendar-CJ5_NxYx.js} +1 -1
  36. package/dist-storybook/assets/{calendar.stories-DLWZldet.js → calendar.stories-DEleEKoa.js} +1 -1
  37. package/dist-storybook/assets/{carousel-1Kww3hIz.js → carousel-sbzGq2WF.js} +1 -1
  38. package/dist-storybook/assets/{carousel.stories-B8YbGOOr.js → carousel.stories-DY9nDa3M.js} +1 -1
  39. package/dist-storybook/assets/{checkbox-MGytNNRt.js → checkbox-CMpJJxvm.js} +1 -1
  40. package/dist-storybook/assets/{checkbox.stories-CLvfZPiw.js → checkbox.stories-BY8W9TRC.js} +1 -1
  41. package/dist-storybook/assets/{chip-kG4p82WT.js → chip-zY6gJxDk.js} +1 -1
  42. package/dist-storybook/assets/{chip.stories-BbwJb5eD.js → chip.stories-CXh30Tdq.js} +1 -1
  43. package/dist-storybook/assets/{classname-CUR_zgkh.js → classname-DoNrELT0.js} +1 -1
  44. package/dist-storybook/assets/{date-Cg-Uk_pp.js → date-Ci5dIit0.js} +1 -1
  45. package/dist-storybook/assets/{date-field.stories-Diptwqfv.js → date-field.stories-CerGwXZy.js} +1 -1
  46. package/dist-storybook/assets/{date-picker-Dnq_-0Md.js → date-picker-BCIW_1-h.js} +1 -1
  47. package/dist-storybook/assets/{date-picker.stories-BuGWvzFL.js → date-picker.stories-DUaL7sft.js} +1 -1
  48. package/dist-storybook/assets/{dialog.stories-DJ0WsSkA.js → dialog.stories-BtQMDA-1.js} +1 -1
  49. package/dist-storybook/assets/{dropdown.stories-D6JUYP73.js → dropdown.stories-DF69os0J.js} +1 -1
  50. package/dist-storybook/assets/{embla-carousel-react.esm-BYjpaHZ9.js → embla-carousel-react.esm-CCQjHA-d.js} +1 -1
  51. package/dist-storybook/assets/{icon-DdQsMyRa.js → icon-TJ3FHxUI.js} +1 -1
  52. package/dist-storybook/assets/{icon.stories-B-ZvRzFf.js → icon.stories-Ch36FMIn.js} +1 -1
  53. package/dist-storybook/assets/{iframe-CQAwSt4E.js → iframe-CLEfhyJc.js} +3 -3
  54. package/dist-storybook/assets/{image-C3EsNRhz.js → image-D6Yo4ht9.js} +1 -1
  55. package/dist-storybook/assets/{image.stories-C4l8D3ju.js → image.stories-CJPB43ys.js} +1 -1
  56. package/dist-storybook/assets/{index-CgMRTj-o.js → index-7xlKHfV2.js} +1 -1
  57. package/dist-storybook/assets/{index-DHiZ-gXR.js → index-CaMbLGUB.js} +1 -1
  58. package/dist-storybook/assets/{index-BV0AJWP6.js → index-DRIh_SUo.js} +1 -1
  59. package/dist-storybook/assets/{input-wrapper-BKHgnPy6.js → input-wrapper-D_9hAdHZ.js} +1 -1
  60. package/dist-storybook/assets/{label-DV2iCDmN.js → label-fI1oWVKU.js} +1 -1
  61. package/dist-storybook/assets/{label.stories-BwTIPFXX.js → label.stories-C3xDUHd-.js} +1 -1
  62. package/dist-storybook/assets/{navigation-bar-vI-FPasP.js → navigation-bar-CiGSH7u8.js} +2 -2
  63. package/dist-storybook/assets/{navigation-bar.stories-DYuFaJFD.js → navigation-bar.stories-BvGp7uJf.js} +1 -1
  64. package/dist-storybook/assets/{number-field-CXKmnfKe.js → number-field-DNj4myBV.js} +1 -1
  65. package/dist-storybook/assets/{number-field.stories--fn26TJu.js → number-field.stories-B_Bj8RqE.js} +1 -1
  66. package/dist-storybook/assets/{omit-Bsx5nTI0.js → omit-CStFhbPt.js} +1 -1
  67. package/dist-storybook/assets/{option-item-LRh_OyV4.js → option-item-BloohEvW.js} +1 -1
  68. package/dist-storybook/assets/{option-item.stories-snjAvgay.js → option-item.stories-BjtolfPz.js} +1 -1
  69. package/dist-storybook/assets/{pagination-DZHoBs_4.js → pagination-Dcazh6R_.js} +1 -1
  70. package/dist-storybook/assets/{pagination.stories-BoEs0jzS.js → pagination.stories-CrGsYeRw.js} +1 -1
  71. package/dist-storybook/assets/{pick-BhmhLmLe.js → pick-DbIUGM9R.js} +1 -1
  72. package/dist-storybook/assets/{radio-B5NJxG_l.js → radio-t2E8E0Oc.js} +1 -1
  73. package/dist-storybook/assets/{radio.stories-DuN-Awi_.js → radio.stories-BEG-zTwI.js} +1 -1
  74. package/dist-storybook/assets/{rating-BdXViYBv.js → rating-DsULci27.js} +1 -1
  75. package/dist-storybook/assets/{rating.stories-BCcQjMEx.js → rating.stories-Dwk8Ov3Q.js} +1 -1
  76. package/dist-storybook/assets/{react-18-CNyWQ7je.js → react-18-4mLDkQmf.js} +1 -1
  77. package/dist-storybook/assets/{react-hufnxGVs.js → react-mAVd1wAc.js} +1 -1
  78. package/dist-storybook/assets/{search-field-CQqgFbfg.js → search-field-CuiHMy7j.js} +1 -1
  79. package/dist-storybook/assets/{search-field.stories-DiCZbhng.js → search-field.stories-BnsT36yY.js} +1 -1
  80. package/dist-storybook/assets/{section-content-DGNB4eLN.js → section-content-pkGNuEs6.js} +1 -1
  81. package/dist-storybook/assets/{section.stories-C2I_kKhu.js → section.stories-B5IhLkbG.js} +1 -1
  82. package/dist-storybook/assets/{sheet.stories-wk1JaKU5.js → sheet.stories-COzxyiqj.js} +1 -1
  83. package/dist-storybook/assets/{skeleton-C91JgehG.js → skeleton-Dn8rwbgX.js} +1 -1
  84. package/dist-storybook/assets/{skeleton.stories-BCmX-VNr.js → skeleton.stories-B71MlMyi.js} +1 -1
  85. package/dist-storybook/assets/{store-CPumdfcU.js → store-DxAqU1JB.js} +1 -1
  86. package/dist-storybook/assets/{switch-p-aXI-ev.js → switch-BziC1t_8.js} +1 -1
  87. package/dist-storybook/assets/{switch.stories-BqPLNKB9.js → switch.stories-DMBBwZef.js} +1 -1
  88. package/dist-storybook/assets/{tab-bar-CSeCmtIZ.js → tab-bar-DZ3oOU50.js} +1 -1
  89. package/dist-storybook/assets/{tab-bar.stories-Cb6v8H2w.js → tab-bar.stories-Bp9w6nc3.js} +1 -1
  90. package/dist-storybook/assets/{text-area-DwSXyqOe.js → text-area-CAmJ2yms.js} +1 -1
  91. package/dist-storybook/assets/{text-area.stories-By8bCfgc.js → text-area.stories-BZ3HXtij.js} +1 -1
  92. package/dist-storybook/assets/{text-field-jK6rpOo2.js → text-field-CjrgfYOZ.js} +1 -1
  93. package/dist-storybook/assets/{text-field.stories-CrWBAhvI.js → text-field.stories-vSXYvs0U.js} +1 -1
  94. package/dist-storybook/assets/{toast-provider-DurnMJhd.js → toast-provider-B9k1NBG6.js} +1 -1
  95. package/dist-storybook/assets/{toast.stories-iWAToAZA.js → toast.stories-DQKbk7dO.js} +1 -1
  96. package/dist-storybook/assets/{tooltip-QDdel5My.js → tooltip-VnA8Hy0S.js} +1 -1
  97. package/dist-storybook/assets/{tooltip.stories-RC6SuPPD.js → tooltip.stories-wuthZ3Sv.js} +1 -1
  98. package/dist-storybook/assets/{typography-DEpAJl_i.js → typography-DoV67nnS.js} +1 -1
  99. package/dist-storybook/assets/{typography.stories-Bu8qFugR.js → typography.stories-DD9HLY16.js} +1 -1
  100. package/dist-storybook/assets/{uploader.stories-B2wW9qVy.js → uploader.stories-sModULvT.js} +1 -1
  101. package/dist-storybook/assets/{use-app-pause-B_tWHKJK.js → use-app-pause-BQYQ2_kc.js} +1 -1
  102. package/dist-storybook/assets/{use-app-resume--900G-dV.js → use-app-resume-BHDCAORn.js} +1 -1
  103. package/dist-storybook/assets/{use-custom-icon-event-3VExRzvC.js → use-custom-icon-event-BCGSFwaE.js} +1 -1
  104. package/dist-storybook/assets/{use-did-hide-BUsL73ab.js → use-did-hide-Cosc0Bts.js} +1 -1
  105. package/dist-storybook/assets/{use-did-show-C1-VLDxi.js → use-did-show-CTWe5NYk.js} +1 -1
  106. package/dist-storybook/assets/{use-histories-E4E2jJEY.js → use-histories-CAcE6nVz.js} +1 -1
  107. package/dist-storybook/assets/{use-history-o1im8IDj.js → use-history-FuEbPpap.js} +1 -1
  108. package/dist-storybook/assets/{use-location-CUEaBO4P.js → use-location-CdUC1tic.js} +1 -1
  109. package/dist-storybook/assets/{use-navigate-C4CTuFSZ.js → use-navigate-DP9paY1K.js} +1 -1
  110. package/dist-storybook/assets/{use-navigation-type-Dcz4hgKo.js → use-navigation-type-BWVxMUtZ.js} +1 -1
  111. package/dist-storybook/assets/{use-page-config-DSJBVQbq.js → use-page-config-5u8OF-8L.js} +1 -1
  112. package/dist-storybook/assets/{use-page-scroll-dY-U1Vv4.js → use-page-scroll-nPQcBn5B.js} +1 -1
  113. package/dist-storybook/assets/{use-page-state-CtNpwGPN.js → use-page-state-CULl52gw.js} +1 -1
  114. package/dist-storybook/assets/{use-settings-changed-BBJwIHTE.js → use-settings-changed-2GP5ZsJS.js} +1 -1
  115. package/dist-storybook/assets/{visibility-sensor-CwrzJO06.js → visibility-sensor-huP-8j4n.js} +1 -1
  116. package/dist-storybook/iframe.html +1 -1
  117. package/dist-storybook/index.json +1 -1
  118. package/dist-storybook/project.json +1 -1
  119. package/dist-storybook/stories-data.json +6 -6
  120. package/package.json +1 -1
  121. package/dist-storybook/assets/DARK_MODE-CoHseCDO.js +0 -57
@@ -1 +1 @@
1
- {"generatedAt":1770018362811,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":true,"refCount":0,"testPackages":{"@storybook/addon-vitest":"9.1.16","@vitest/browser":"3.2.4","@vitest/coverage-v8":"3.2.4","playwright":"1.57.0","vitest":"3.2.4"},"hasRouterPackage":false,"packageManager":{"type":"pnpm","version":"10.20.0","agent":"pnpm","nodeLinker":"undefined"},"preview":{"usesGlobals":true},"framework":{"name":"@storybook/react-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/react","portableStoriesFileCount":0,"applicationFileCount":57,"storybookVersion":"9.1.17","language":"typescript","storybookPackages":{"@storybook/addon-vitest":{"version":"9.1.16"},"@storybook/react-vite":{"version":"9.1.16"},"eslint-plugin-storybook":{"version":"9.1.16"},"storybook":{"version":"9.1.17"}},"addons":{"@storybook/addon-docs":{"version":"9.1.16"},"@storybook/addon-a11y":{"version":"9.1.16"}}}
1
+ {"generatedAt":1770364548615,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":true,"refCount":0,"testPackages":{"@storybook/addon-vitest":"9.1.16","@vitest/browser":"3.2.4","@vitest/coverage-v8":"3.2.4","playwright":"1.57.0","vitest":"3.2.4"},"hasRouterPackage":false,"packageManager":{"type":"pnpm","version":"10.20.0","agent":"pnpm","nodeLinker":"undefined"},"preview":{"usesGlobals":true},"framework":{"name":"@storybook/react-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/react","portableStoriesFileCount":0,"applicationFileCount":57,"storybookVersion":"9.1.17","language":"typescript","storybookPackages":{"@storybook/addon-vitest":{"version":"9.1.16"},"@storybook/react-vite":{"version":"9.1.16"},"eslint-plugin-storybook":{"version":"9.1.16"},"storybook":{"version":"9.1.17"}},"addons":{"@storybook/addon-docs":{"version":"9.1.16"},"@storybook/addon-a11y":{"version":"9.1.16"}}}
@@ -11,12 +11,6 @@
11
11
  "subtitle": "Cấu hình bottom tab bar cho ứng dụng Mini App.",
12
12
  "content": "Bottom Tab Bar Config cho phép cấu hình bottom tab bar với các items, styling và behavior. IAppBottomTabBarState extends IBottomTabBarProps và thêm items với path và hidden property."
13
13
  },
14
- {
15
- "id": "app-framework-dark-mode--docs",
16
- "title": "App Framework/Dark Mode",
17
- "subtitle": "Cấu hình dark mode cho ứng dụng Mini App.",
18
- "content": "Dark Mode Config cho phép cấu hình dark mode mặc định cho ứng dụng. IDarkModeConfig có defaultEnabled để bật/tắt dark mode mặc định."
19
- },
20
14
  {
21
15
  "id": "app-framework-general--docs",
22
16
  "title": "App Framework/General",
@@ -53,6 +47,12 @@
53
47
  "subtitle": "Hệ thống routing và navigation cung cấp các hooks và utilities để quản lý navigation và lifecycle events.",
54
48
  "content": "Routing & Navigation sử dụng exact path matching. Navigation được thực hiện qua function navigate từ hook useNavigate. Có thể navigate bằng pathname hoặc delta. Các hooks bao gồm useNavigate, useLocation, useHistory, useHistories, usePageState, usePageConfig, usePageScroll, useNavigationType, useDidShow, useDidHide, useAppPause, useAppResume, useCustomIconEvent và useSettingsChanged."
55
49
  },
50
+ {
51
+ "id": "app-framework-theme-mode--docs",
52
+ "title": "App Framework/Theme Mode",
53
+ "subtitle": "Cấu hình theme cho ứng dụng Mini App.",
54
+ "content": "Theme Config cho phép cấu hình theme mặc định cho ứng dụng. IThemeConfig có defaultMode để thiết lập theme mặc định (light, dark, hoặc system)."
55
+ },
56
56
  {
57
57
  "id": "components-alert--docs",
58
58
  "title": "Components/Alert",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@v-miniapp/ui-react",
3
- "version": "1.0.45",
3
+ "version": "1.0.47",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",
@@ -1,57 +0,0 @@
1
- import{j as n}from"./iframe-CQAwSt4E.js";import{useMDXComponents as h}from"./index-CgMRTj-o.js";import{b as c,M as o}from"./blocks-BuaOUtiH.js";import"./preload-helper-PPVm8Dsz.js";import"./index-DHiZ-gXR.js";function t(d){const e={code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...h(),...d.components};return n.jsxs(n.Fragment,{children:[`
2
- `,`
3
- `,n.jsx(c,{title:"App Framework/Dark Mode"}),`
4
- `,n.jsx(e.h1,{id:"dark-mode",children:"Dark Mode"}),`
5
- `,n.jsx(e.p,{children:"Dark Mode config cho phép bạn cấu hình dark mode mặc định cho ứng dụng."}),`
6
- `,n.jsx(e.h2,{id:"cấu-trúc",children:"Cấu trúc"}),`
7
- `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-typescript",children:`type IDarkModeConfig = {
8
- defaultEnabled?: boolean
9
- }
10
- `})}),`
11
- `,n.jsx(e.h2,{id:"thuộc-tính",children:"Thuộc tính"}),`
12
- `,n.jsx(o,{children:"\n| Thuộc tính | Kiểu dữ liệu | Mặc định | Mô tả |\n| :--- | :--- | :--- | :--- |\n| `defaultEnabled` | `boolean` | `false` | Bật dark mode mặc định khi khởi động ứng dụng |\n"}),`
13
- `,n.jsx(e.h2,{id:"cách-hoạt-động",children:"Cách hoạt động"}),`
14
- `,n.jsxs(e.p,{children:["Khi ",n.jsx(e.code,{children:"defaultEnabled: true"}),", ứng dụng sẽ tự động set ",n.jsx(e.code,{children:'data-theme="dark"'})," trên ",n.jsx(e.code,{children:"document.documentElement"})," khi khởi động, áp dụng dark mode cho toàn bộ ứng dụng."]}),`
15
- `,n.jsx(e.h2,{id:"cấu-hình",children:"Cấu hình"}),`
16
- `,n.jsx(e.h3,{id:"app-level-config",children:"App-level Config"}),`
17
- `,n.jsx(e.p,{children:"Cấu hình dark mode mặc định:"}),`
18
- `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-tsx",children:`const appConfig: IAppConfig = {
19
- darkMode: {
20
- defaultEnabled: true, // Bật dark mode mặc định
21
- },
22
- pages: [
23
- // Tất cả pages sẽ hiển thị dark mode
24
- ],
25
- }
26
- `})}),`
27
- `,n.jsx(e.h3,{id:"ví-dụ",children:"Ví dụ"}),`
28
- `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-tsx",children:`const appConfig: IAppConfig = {
29
- // Bật dark mode mặc định
30
- darkMode: {
31
- defaultEnabled: true,
32
- },
33
- pages: [
34
- {
35
- pathname: '/home',
36
- Component: HomePage,
37
- },
38
- {
39
- pathname: '/settings',
40
- Component: SettingsPage,
41
- },
42
- ],
43
- }
44
- `})}),`
45
- `,n.jsx(e.h2,{id:"lưu-ý",children:"Lưu ý"}),`
46
- `,n.jsxs(e.ul,{children:[`
47
- `,n.jsxs(e.li,{children:["Dark mode config chỉ có ở ",n.jsx(e.strong,{children:"app-level"}),", không có ở page-level"]}),`
48
- `,n.jsxs(e.li,{children:["Khi ",n.jsx(e.code,{children:"defaultEnabled: true"}),", dark mode sẽ được áp dụng ngay khi ứng dụng khởi động"]}),`
49
- `,n.jsxs(e.li,{children:["Dark mode sử dụng CSS variables và ",n.jsx(e.code,{children:"data-theme"})," attribute để thay đổi theme"]}),`
50
- `,n.jsxs(e.li,{children:["Bạn có thể toggle dark mode động bằng cách thay đổi ",n.jsx(e.code,{children:"data-theme"})," attribute trên ",n.jsx(e.code,{children:"document.documentElement"}),":",`
51
- `,n.jsx(e.pre,{children:n.jsx(e.code,{className:"language-tsx",children:`// Toggle dark mode
52
- document.documentElement.setAttribute('data-theme', 'dark')
53
- // hoặc
54
- document.documentElement.setAttribute('data-theme', 'light')
55
- `})}),`
56
- `]}),`
57
- `]})]})}function m(d={}){const{wrapper:e}={...h(),...d.components};return e?n.jsx(e,{...d,children:n.jsx(t,{...d})}):t(d)}export{m as default};