create-tauri-ui 0.1.0

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 (448) hide show
  1. package/README.md +41 -0
  2. package/dist/index.mjs +53 -0
  3. package/index.js +3 -0
  4. package/package.json +62 -0
  5. package/templates/next/.env +1 -0
  6. package/templates/next/.github/workflows/release.yml +108 -0
  7. package/templates/next/.vscode/extensions.json +3 -0
  8. package/templates/next/LICENSE +21 -0
  9. package/templates/next/README.md +82 -0
  10. package/templates/next/app-icon.png +0 -0
  11. package/templates/next/next-env.d.ts +5 -0
  12. package/templates/next/next.config.js +17 -0
  13. package/templates/next/package.json +82 -0
  14. package/templates/next/pnpm-lock.yaml +4318 -0
  15. package/templates/next/postcss.config.js +6 -0
  16. package/templates/next/prettier.config.js +35 -0
  17. package/templates/next/public/avatars/01.png +0 -0
  18. package/templates/next/public/avatars/02.png +0 -0
  19. package/templates/next/public/avatars/03.png +0 -0
  20. package/templates/next/public/avatars/04.png +0 -0
  21. package/templates/next/public/avatars/05.png +0 -0
  22. package/templates/next/src/app/examples/authentication/components/user-auth-form.tsx +71 -0
  23. package/templates/next/src/app/examples/authentication/page.tsx +80 -0
  24. package/templates/next/src/app/examples/cards/components/cookie-settings.tsx +60 -0
  25. package/templates/next/src/app/examples/cards/components/create-account.tsx +60 -0
  26. package/templates/next/src/app/examples/cards/components/date-picker.tsx +18 -0
  27. package/templates/next/src/app/examples/cards/components/github-card.tsx +81 -0
  28. package/templates/next/src/app/examples/cards/components/notifications.tsx +51 -0
  29. package/templates/next/src/app/examples/cards/components/payment-method.tsx +117 -0
  30. package/templates/next/src/app/examples/cards/components/report-an-issue.tsx +82 -0
  31. package/templates/next/src/app/examples/cards/components/share-document.tsx +116 -0
  32. package/templates/next/src/app/examples/cards/components/team-members.tsx +147 -0
  33. package/templates/next/src/app/examples/cards/page.tsx +75 -0
  34. package/templates/next/src/app/examples/cards/styles.css +63 -0
  35. package/templates/next/src/app/examples/dashboard/components/date-range-picker.tsx +66 -0
  36. package/templates/next/src/app/examples/dashboard/components/main-nav.tsx +38 -0
  37. package/templates/next/src/app/examples/dashboard/components/overview.tsx +78 -0
  38. package/templates/next/src/app/examples/dashboard/components/recent-sales.tsx +67 -0
  39. package/templates/next/src/app/examples/dashboard/components/search.tsx +13 -0
  40. package/templates/next/src/app/examples/dashboard/components/team-switcher.tsx +205 -0
  41. package/templates/next/src/app/examples/dashboard/components/user-nav.tsx +67 -0
  42. package/templates/next/src/app/examples/dashboard/page.tsx +147 -0
  43. package/templates/next/src/app/examples/forms/account/account-form.tsx +219 -0
  44. package/templates/next/src/app/examples/forms/account/page.tsx +18 -0
  45. package/templates/next/src/app/examples/forms/appearance/appearance-form.tsx +164 -0
  46. package/templates/next/src/app/examples/forms/appearance/page.tsx +18 -0
  47. package/templates/next/src/app/examples/forms/components/sidebar-nav.tsx +43 -0
  48. package/templates/next/src/app/examples/forms/display/display-form.tsx +132 -0
  49. package/templates/next/src/app/examples/forms/display/page.tsx +17 -0
  50. package/templates/next/src/app/examples/forms/layout.tsx +57 -0
  51. package/templates/next/src/app/examples/forms/notifications/notifications-form.tsx +221 -0
  52. package/templates/next/src/app/examples/forms/notifications/page.tsx +18 -0
  53. package/templates/next/src/app/examples/forms/page.tsx +17 -0
  54. package/templates/next/src/app/examples/forms/profile-form.tsx +190 -0
  55. package/templates/next/src/app/examples/layout.tsx +7 -0
  56. package/templates/next/src/app/examples/music/components/album-artwork.tsx +84 -0
  57. package/templates/next/src/app/examples/music/components/menu.tsx +178 -0
  58. package/templates/next/src/app/examples/music/components/podcast-empty-placeholder.tsx +53 -0
  59. package/templates/next/src/app/examples/music/components/sidebar.tsx +100 -0
  60. package/templates/next/src/app/examples/music/data/albums.ts +71 -0
  61. package/templates/next/src/app/examples/music/data/playlists.ts +16 -0
  62. package/templates/next/src/app/examples/music/page.tsx +134 -0
  63. package/templates/next/src/app/examples/music/styles.css +65 -0
  64. package/templates/next/src/app/examples/playground/components/code-viewer.tsx +89 -0
  65. package/templates/next/src/app/examples/playground/components/icons.tsx +153 -0
  66. package/templates/next/src/app/examples/playground/components/maxlength-selector.tsx +55 -0
  67. package/templates/next/src/app/examples/playground/components/model-selector.tsx +163 -0
  68. package/templates/next/src/app/examples/playground/components/preset-actions.tsx +124 -0
  69. package/templates/next/src/app/examples/playground/components/preset-save.tsx +44 -0
  70. package/templates/next/src/app/examples/playground/components/preset-selector.tsx +82 -0
  71. package/templates/next/src/app/examples/playground/components/preset-share.tsx +46 -0
  72. package/templates/next/src/app/examples/playground/components/temperature-selector.tsx +57 -0
  73. package/templates/next/src/app/examples/playground/components/top-p-selector.tsx +54 -0
  74. package/templates/next/src/app/examples/playground/data/models.ts +62 -0
  75. package/templates/next/src/app/examples/playground/data/presets.ts +47 -0
  76. package/templates/next/src/app/examples/playground/page.tsx +160 -0
  77. package/templates/next/src/app/examples/playground/styles.css +65 -0
  78. package/templates/next/src/app/examples/tasks/components/columns.tsx +120 -0
  79. package/templates/next/src/app/examples/tasks/components/data-table-column-header.tsx +66 -0
  80. package/templates/next/src/app/examples/tasks/components/data-table-faceted-filter.tsx +147 -0
  81. package/templates/next/src/app/examples/tasks/components/data-table-pagination.tsx +97 -0
  82. package/templates/next/src/app/examples/tasks/components/data-table-row-actions.tsx +82 -0
  83. package/templates/next/src/app/examples/tasks/components/data-table-toolbar.tsx +63 -0
  84. package/templates/next/src/app/examples/tasks/components/data-table-view-options.tsx +59 -0
  85. package/templates/next/src/app/examples/tasks/components/data-table.tsx +126 -0
  86. package/templates/next/src/app/examples/tasks/components/user-nav.tsx +67 -0
  87. package/templates/next/src/app/examples/tasks/data/data.tsx +71 -0
  88. package/templates/next/src/app/examples/tasks/data/schema.ts +13 -0
  89. package/templates/next/src/app/examples/tasks/data/seed.ts +20 -0
  90. package/templates/next/src/app/examples/tasks/data/tasks.json +702 -0
  91. package/templates/next/src/app/examples/tasks/page.tsx +47 -0
  92. package/templates/next/src/app/layout.tsx +43 -0
  93. package/templates/next/src/app/page.tsx +5 -0
  94. package/templates/next/src/assets/Inter.var.woff2 +0 -0
  95. package/templates/next/src/assets/logo.png +0 -0
  96. package/templates/next/src/components/examples/.eslintrc.json +6 -0
  97. package/templates/next/src/components/examples/accordion/demo.tsx +32 -0
  98. package/templates/next/src/components/examples/alert/demo.tsx +15 -0
  99. package/templates/next/src/components/examples/alert/destructive.tsx +15 -0
  100. package/templates/next/src/components/examples/alert-dialog/demo.tsx +35 -0
  101. package/templates/next/src/components/examples/aspect-ratio/demo.tsx +16 -0
  102. package/templates/next/src/components/examples/avatar/demo.tsx +10 -0
  103. package/templates/next/src/components/examples/badge/demo.tsx +5 -0
  104. package/templates/next/src/components/examples/badge/destructive.tsx +5 -0
  105. package/templates/next/src/components/examples/badge/outline.tsx +5 -0
  106. package/templates/next/src/components/examples/badge/secondary.tsx +5 -0
  107. package/templates/next/src/components/examples/button/as-child.tsx +10 -0
  108. package/templates/next/src/components/examples/button/demo.tsx +5 -0
  109. package/templates/next/src/components/examples/button/destructive.tsx +5 -0
  110. package/templates/next/src/components/examples/button/ghost.tsx +5 -0
  111. package/templates/next/src/components/examples/button/link.tsx +5 -0
  112. package/templates/next/src/components/examples/button/loading.tsx +12 -0
  113. package/templates/next/src/components/examples/button/outline.tsx +5 -0
  114. package/templates/next/src/components/examples/button/secondary.tsx +5 -0
  115. package/templates/next/src/components/examples/button/with-icon.tsx +11 -0
  116. package/templates/next/src/components/examples/calendar/date-picker.tsx +43 -0
  117. package/templates/next/src/components/examples/calendar/date-range-picker.tsx +65 -0
  118. package/templates/next/src/components/examples/calendar/demo.tsx +18 -0
  119. package/templates/next/src/components/examples/calendar/react-hook-form.tsx +101 -0
  120. package/templates/next/src/components/examples/calendar/with-presets.tsx +62 -0
  121. package/templates/next/src/components/examples/card/demo.tsx +79 -0
  122. package/templates/next/src/components/examples/card/with-form.tsx +59 -0
  123. package/templates/next/src/components/examples/checkbox/demo.tsx +17 -0
  124. package/templates/next/src/components/examples/checkbox/disabled.tsx +15 -0
  125. package/templates/next/src/components/examples/checkbox/react-hook-form-multiple.tsx +127 -0
  126. package/templates/next/src/components/examples/checkbox/react-hook-form-single.tsx +72 -0
  127. package/templates/next/src/components/examples/checkbox/with-text.tsx +22 -0
  128. package/templates/next/src/components/examples/collapsible/demo.tsx +46 -0
  129. package/templates/next/src/components/examples/combobox/demo.tsx +90 -0
  130. package/templates/next/src/components/examples/combobox/dropdown-menu.tsx +110 -0
  131. package/templates/next/src/components/examples/combobox/popover.tsx +124 -0
  132. package/templates/next/src/components/examples/combobox/react-hook-form.tsx +135 -0
  133. package/templates/next/src/components/examples/command/combobox.tsx +90 -0
  134. package/templates/next/src/components/examples/command/demo.tsx +62 -0
  135. package/templates/next/src/components/examples/command/dialog.tsx +86 -0
  136. package/templates/next/src/components/examples/command/dropdown-menu.tsx +110 -0
  137. package/templates/next/src/components/examples/command/popover.tsx +124 -0
  138. package/templates/next/src/components/examples/context-menu/demo.tsx +67 -0
  139. package/templates/next/src/components/examples/data-table/columns.tsx +110 -0
  140. package/templates/next/src/components/examples/data-table/data-table.tsx +185 -0
  141. package/templates/next/src/components/examples/data-table/demo.tsx +41 -0
  142. package/templates/next/src/components/examples/date-picker/demo.tsx +43 -0
  143. package/templates/next/src/components/examples/date-picker/react-hook-form.tsx +101 -0
  144. package/templates/next/src/components/examples/date-picker/with-presets.tsx +62 -0
  145. package/templates/next/src/components/examples/date-picker/with-range.tsx +65 -0
  146. package/templates/next/src/components/examples/dialog/demo.tsx +47 -0
  147. package/templates/next/src/components/examples/dropdown-menu/checkboxes.tsx +53 -0
  148. package/templates/next/src/components/examples/dropdown-menu/demo.tsx +122 -0
  149. package/templates/next/src/components/examples/dropdown-menu/radio-group.tsx +37 -0
  150. package/templates/next/src/components/examples/hover-card/demo.tsx +39 -0
  151. package/templates/next/src/components/examples/index.tsx +213 -0
  152. package/templates/next/src/components/examples/input/demo.tsx +5 -0
  153. package/templates/next/src/components/examples/input/disabled.tsx +5 -0
  154. package/templates/next/src/components/examples/input/file.tsx +11 -0
  155. package/templates/next/src/components/examples/input/react-hook-form.tsx +65 -0
  156. package/templates/next/src/components/examples/input/with-button.tsx +11 -0
  157. package/templates/next/src/components/examples/input/with-label.tsx +11 -0
  158. package/templates/next/src/components/examples/input/with-text.tsx +12 -0
  159. package/templates/next/src/components/examples/label/demo.tsx +13 -0
  160. package/templates/next/src/components/examples/menubar/demo.tsx +107 -0
  161. package/templates/next/src/components/examples/navigation-menu/demo.tsx +144 -0
  162. package/templates/next/src/components/examples/popover/demo.tsx +67 -0
  163. package/templates/next/src/components/examples/progress/demo.tsx +16 -0
  164. package/templates/next/src/components/examples/radio-group/demo.tsx +21 -0
  165. package/templates/next/src/components/examples/radio-group/react-hook-form.tsx +88 -0
  166. package/templates/next/src/components/examples/scroll-area/demo.tsx +26 -0
  167. package/templates/next/src/components/examples/select/demo.tsx +31 -0
  168. package/templates/next/src/components/examples/select/react-hook-form.tsx +83 -0
  169. package/templates/next/src/components/examples/separator/demo.tsx +22 -0
  170. package/templates/next/src/components/examples/sheet/demo.tsx +47 -0
  171. package/templates/next/src/components/examples/sheet/position.tsx +75 -0
  172. package/templates/next/src/components/examples/sheet/size.tsx +75 -0
  173. package/templates/next/src/components/examples/skeleton/demo.tsx +13 -0
  174. package/templates/next/src/components/examples/slider/demo.tsx +16 -0
  175. package/templates/next/src/components/examples/switch/demo.tsx +11 -0
  176. package/templates/next/src/components/examples/switch/react-hook-form.tsx +101 -0
  177. package/templates/next/src/components/examples/table/demo.tsx +80 -0
  178. package/templates/next/src/components/examples/tabs/demo.tsx +69 -0
  179. package/templates/next/src/components/examples/textarea/demo.tsx +5 -0
  180. package/templates/next/src/components/examples/textarea/disabled.tsx +5 -0
  181. package/templates/next/src/components/examples/textarea/react-hook-form.tsx +77 -0
  182. package/templates/next/src/components/examples/textarea/with-button.tsx +11 -0
  183. package/templates/next/src/components/examples/textarea/with-label.tsx +11 -0
  184. package/templates/next/src/components/examples/textarea/with-text.tsx +14 -0
  185. package/templates/next/src/components/examples/toast/demo.tsx +26 -0
  186. package/templates/next/src/components/examples/toast/destructive.tsx +25 -0
  187. package/templates/next/src/components/examples/toast/simple.tsx +21 -0
  188. package/templates/next/src/components/examples/toast/with-action.tsx +24 -0
  189. package/templates/next/src/components/examples/toast/with-title.tsx +22 -0
  190. package/templates/next/src/components/examples/toggle/demo.tsx +11 -0
  191. package/templates/next/src/components/examples/toggle/disabled.tsx +11 -0
  192. package/templates/next/src/components/examples/toggle/lg.tsx +11 -0
  193. package/templates/next/src/components/examples/toggle/outline.tsx +11 -0
  194. package/templates/next/src/components/examples/toggle/sm.tsx +11 -0
  195. package/templates/next/src/components/examples/toggle/with-text.tsx +12 -0
  196. package/templates/next/src/components/examples/tooltip/demo.tsx +27 -0
  197. package/templates/next/src/components/examples/typography/blockquote.tsx +8 -0
  198. package/templates/next/src/components/examples/typography/demo.tsx +119 -0
  199. package/templates/next/src/components/examples/typography/h1.tsx +7 -0
  200. package/templates/next/src/components/examples/typography/h2.tsx +7 -0
  201. package/templates/next/src/components/examples/typography/h3.tsx +7 -0
  202. package/templates/next/src/components/examples/typography/h4.tsx +7 -0
  203. package/templates/next/src/components/examples/typography/inline-code.tsx +7 -0
  204. package/templates/next/src/components/examples/typography/large.tsx +5 -0
  205. package/templates/next/src/components/examples/typography/lead.tsx +8 -0
  206. package/templates/next/src/components/examples/typography/list.tsx +9 -0
  207. package/templates/next/src/components/examples/typography/muted.tsx +5 -0
  208. package/templates/next/src/components/examples/typography/p.tsx +8 -0
  209. package/templates/next/src/components/examples/typography/small.tsx +5 -0
  210. package/templates/next/src/components/examples/typography/table.tsx +44 -0
  211. package/templates/next/src/components/examples-nav.tsx +70 -0
  212. package/templates/next/src/components/greeting.tsx +21 -0
  213. package/templates/next/src/components/icons.tsx +154 -0
  214. package/templates/next/src/components/menu-mode-toggle.tsx +46 -0
  215. package/templates/next/src/components/menu.tsx +268 -0
  216. package/templates/next/src/components/mode-toggle.tsx +43 -0
  217. package/templates/next/src/components/page-header.tsx +50 -0
  218. package/templates/next/src/components/react-hook-form/form.tsx +176 -0
  219. package/templates/next/src/components/style-switcher.tsx +19 -0
  220. package/templates/next/src/components/tailwind-indicator.tsx +18 -0
  221. package/templates/next/src/components/theme-provider.tsx +9 -0
  222. package/templates/next/src/components/ui/accordion.tsx +60 -0
  223. package/templates/next/src/components/ui/alert-dialog.tsx +150 -0
  224. package/templates/next/src/components/ui/alert.tsx +61 -0
  225. package/templates/next/src/components/ui/aspect-ratio.tsx +7 -0
  226. package/templates/next/src/components/ui/avatar.tsx +50 -0
  227. package/templates/next/src/components/ui/badge.tsx +36 -0
  228. package/templates/next/src/components/ui/button.tsx +51 -0
  229. package/templates/next/src/components/ui/calendar.tsx +64 -0
  230. package/templates/next/src/components/ui/card.tsx +81 -0
  231. package/templates/next/src/components/ui/checkbox.tsx +30 -0
  232. package/templates/next/src/components/ui/collapsible.tsx +11 -0
  233. package/templates/next/src/components/ui/command.tsx +155 -0
  234. package/templates/next/src/components/ui/context-menu.tsx +200 -0
  235. package/templates/next/src/components/ui/dialog.tsx +128 -0
  236. package/templates/next/src/components/ui/dropdown-menu.tsx +200 -0
  237. package/templates/next/src/components/ui/hover-card.tsx +29 -0
  238. package/templates/next/src/components/ui/input.tsx +27 -0
  239. package/templates/next/src/components/ui/label.tsx +26 -0
  240. package/templates/next/src/components/ui/menubar.tsx +236 -0
  241. package/templates/next/src/components/ui/navigation-menu.tsx +130 -0
  242. package/templates/next/src/components/ui/popover.tsx +31 -0
  243. package/templates/next/src/components/ui/progress.tsx +28 -0
  244. package/templates/next/src/components/ui/radio-group.tsx +44 -0
  245. package/templates/next/src/components/ui/scroll-area.tsx +48 -0
  246. package/templates/next/src/components/ui/select.tsx +120 -0
  247. package/templates/next/src/components/ui/separator.tsx +31 -0
  248. package/templates/next/src/components/ui/sheet.tsx +230 -0
  249. package/templates/next/src/components/ui/skeleton.tsx +17 -0
  250. package/templates/next/src/components/ui/slider.tsx +28 -0
  251. package/templates/next/src/components/ui/switch.tsx +29 -0
  252. package/templates/next/src/components/ui/table.tsx +114 -0
  253. package/templates/next/src/components/ui/tabs.tsx +55 -0
  254. package/templates/next/src/components/ui/textarea.tsx +26 -0
  255. package/templates/next/src/components/ui/toast.tsx +129 -0
  256. package/templates/next/src/components/ui/toaster.tsx +35 -0
  257. package/templates/next/src/components/ui/toggle.tsx +45 -0
  258. package/templates/next/src/components/ui/tooltip.tsx +30 -0
  259. package/templates/next/src/components/ui/use-toast.ts +191 -0
  260. package/templates/next/src/data/albums.ts +71 -0
  261. package/templates/next/src/data/playlists.ts +16 -0
  262. package/templates/next/src/hooks/use-lock-body.ts +12 -0
  263. package/templates/next/src/hooks/use-mounted.ts +11 -0
  264. package/templates/next/src/hooks/use-mutation-observer.ts +20 -0
  265. package/templates/next/src/lib/fonts.ts +11 -0
  266. package/templates/next/src/lib/utils.ts +19 -0
  267. package/templates/next/src/styles/globals.css +124 -0
  268. package/templates/next/src-tauri/Cargo.lock +3636 -0
  269. package/templates/next/src-tauri/Cargo.toml +36 -0
  270. package/templates/next/src-tauri/build.rs +3 -0
  271. package/templates/next/src-tauri/icons/128x128.png +0 -0
  272. package/templates/next/src-tauri/icons/128x128@2x.png +0 -0
  273. package/templates/next/src-tauri/icons/32x32.png +0 -0
  274. package/templates/next/src-tauri/icons/Square107x107Logo.png +0 -0
  275. package/templates/next/src-tauri/icons/Square142x142Logo.png +0 -0
  276. package/templates/next/src-tauri/icons/Square150x150Logo.png +0 -0
  277. package/templates/next/src-tauri/icons/Square284x284Logo.png +0 -0
  278. package/templates/next/src-tauri/icons/Square30x30Logo.png +0 -0
  279. package/templates/next/src-tauri/icons/Square310x310Logo.png +0 -0
  280. package/templates/next/src-tauri/icons/Square44x44Logo.png +0 -0
  281. package/templates/next/src-tauri/icons/Square71x71Logo.png +0 -0
  282. package/templates/next/src-tauri/icons/Square89x89Logo.png +0 -0
  283. package/templates/next/src-tauri/icons/StoreLogo.png +0 -0
  284. package/templates/next/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png +0 -0
  285. package/templates/next/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png +0 -0
  286. package/templates/next/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png +0 -0
  287. package/templates/next/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png +0 -0
  288. package/templates/next/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png +0 -0
  289. package/templates/next/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png +0 -0
  290. package/templates/next/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png +0 -0
  291. package/templates/next/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
  292. package/templates/next/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png +0 -0
  293. package/templates/next/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png +0 -0
  294. package/templates/next/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
  295. package/templates/next/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  296. package/templates/next/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png +0 -0
  297. package/templates/next/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
  298. package/templates/next/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  299. package/templates/next/src-tauri/icons/icon.icns +0 -0
  300. package/templates/next/src-tauri/icons/icon.ico +0 -0
  301. package/templates/next/src-tauri/icons/icon.png +0 -0
  302. package/templates/next/src-tauri/icons/ios/AppIcon-20x20@1x.png +0 -0
  303. package/templates/next/src-tauri/icons/ios/AppIcon-20x20@2x-1.png +0 -0
  304. package/templates/next/src-tauri/icons/ios/AppIcon-20x20@2x.png +0 -0
  305. package/templates/next/src-tauri/icons/ios/AppIcon-20x20@3x.png +0 -0
  306. package/templates/next/src-tauri/icons/ios/AppIcon-29x29@1x.png +0 -0
  307. package/templates/next/src-tauri/icons/ios/AppIcon-29x29@2x-1.png +0 -0
  308. package/templates/next/src-tauri/icons/ios/AppIcon-29x29@2x.png +0 -0
  309. package/templates/next/src-tauri/icons/ios/AppIcon-29x29@3x.png +0 -0
  310. package/templates/next/src-tauri/icons/ios/AppIcon-40x40@1x.png +0 -0
  311. package/templates/next/src-tauri/icons/ios/AppIcon-40x40@2x-1.png +0 -0
  312. package/templates/next/src-tauri/icons/ios/AppIcon-40x40@2x.png +0 -0
  313. package/templates/next/src-tauri/icons/ios/AppIcon-40x40@3x.png +0 -0
  314. package/templates/next/src-tauri/icons/ios/AppIcon-512@2x.png +0 -0
  315. package/templates/next/src-tauri/icons/ios/AppIcon-60x60@2x.png +0 -0
  316. package/templates/next/src-tauri/icons/ios/AppIcon-60x60@3x.png +0 -0
  317. package/templates/next/src-tauri/icons/ios/AppIcon-76x76@1x.png +0 -0
  318. package/templates/next/src-tauri/icons/ios/AppIcon-76x76@2x.png +0 -0
  319. package/templates/next/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png +0 -0
  320. package/templates/next/src-tauri/src/main.rs +19 -0
  321. package/templates/next/src-tauri/tauri.conf.json +63 -0
  322. package/templates/next/tailwind.config.js +80 -0
  323. package/templates/next/tsconfig.json +35 -0
  324. package/templates/vite/.github/workflows/release.yml +108 -0
  325. package/templates/vite/.vscode/extensions.json +3 -0
  326. package/templates/vite/README.md +7 -0
  327. package/templates/vite/app-icon.png +0 -0
  328. package/templates/vite/index.html +16 -0
  329. package/templates/vite/package.json +75 -0
  330. package/templates/vite/pnpm-lock.yaml +4569 -0
  331. package/templates/vite/postcss.config.js +6 -0
  332. package/templates/vite/prettier.config.cjs +35 -0
  333. package/templates/vite/src/App.tsx +39 -0
  334. package/templates/vite/src/aa +34 -0
  335. package/templates/vite/src/assets/Inter.var.woff2 +0 -0
  336. package/templates/vite/src/components/icons.tsx +154 -0
  337. package/templates/vite/src/components/menu-mode-toggle.tsx +46 -0
  338. package/templates/vite/src/components/menu.tsx +232 -0
  339. package/templates/vite/src/components/tailwind-indicator.tsx +18 -0
  340. package/templates/vite/src/components/theme-provider.tsx +9 -0
  341. package/templates/vite/src/components/ui/accordion.tsx +60 -0
  342. package/templates/vite/src/components/ui/alert-dialog.tsx +150 -0
  343. package/templates/vite/src/components/ui/alert.tsx +61 -0
  344. package/templates/vite/src/components/ui/aspect-ratio.tsx +7 -0
  345. package/templates/vite/src/components/ui/avatar.tsx +50 -0
  346. package/templates/vite/src/components/ui/badge.tsx +36 -0
  347. package/templates/vite/src/components/ui/button.tsx +51 -0
  348. package/templates/vite/src/components/ui/calendar.tsx +64 -0
  349. package/templates/vite/src/components/ui/card.tsx +81 -0
  350. package/templates/vite/src/components/ui/checkbox.tsx +30 -0
  351. package/templates/vite/src/components/ui/collapsible.tsx +11 -0
  352. package/templates/vite/src/components/ui/command.tsx +155 -0
  353. package/templates/vite/src/components/ui/context-menu.tsx +200 -0
  354. package/templates/vite/src/components/ui/dialog.tsx +128 -0
  355. package/templates/vite/src/components/ui/dropdown-menu.tsx +200 -0
  356. package/templates/vite/src/components/ui/hover-card.tsx +29 -0
  357. package/templates/vite/src/components/ui/input.tsx +27 -0
  358. package/templates/vite/src/components/ui/label.tsx +26 -0
  359. package/templates/vite/src/components/ui/menubar.tsx +236 -0
  360. package/templates/vite/src/components/ui/navigation-menu.tsx +130 -0
  361. package/templates/vite/src/components/ui/popover.tsx +31 -0
  362. package/templates/vite/src/components/ui/progress.tsx +28 -0
  363. package/templates/vite/src/components/ui/radio-group.tsx +44 -0
  364. package/templates/vite/src/components/ui/scroll-area.tsx +48 -0
  365. package/templates/vite/src/components/ui/select.tsx +120 -0
  366. package/templates/vite/src/components/ui/separator.tsx +31 -0
  367. package/templates/vite/src/components/ui/sheet.tsx +230 -0
  368. package/templates/vite/src/components/ui/skeleton.tsx +17 -0
  369. package/templates/vite/src/components/ui/slider.tsx +28 -0
  370. package/templates/vite/src/components/ui/switch.tsx +29 -0
  371. package/templates/vite/src/components/ui/table.tsx +114 -0
  372. package/templates/vite/src/components/ui/tabs.tsx +55 -0
  373. package/templates/vite/src/components/ui/textarea.tsx +26 -0
  374. package/templates/vite/src/components/ui/toast.tsx +129 -0
  375. package/templates/vite/src/components/ui/toaster.tsx +35 -0
  376. package/templates/vite/src/components/ui/toggle.tsx +45 -0
  377. package/templates/vite/src/components/ui/tooltip.tsx +30 -0
  378. package/templates/vite/src/components/ui/use-toast.ts +191 -0
  379. package/templates/vite/src/dashboard/components/date-range-picker.tsx +66 -0
  380. package/templates/vite/src/dashboard/components/main-nav.tsx +38 -0
  381. package/templates/vite/src/dashboard/components/overview.tsx +78 -0
  382. package/templates/vite/src/dashboard/components/recent-sales.tsx +67 -0
  383. package/templates/vite/src/dashboard/components/search.tsx +13 -0
  384. package/templates/vite/src/dashboard/components/team-switcher.tsx +205 -0
  385. package/templates/vite/src/dashboard/components/user-nav.tsx +67 -0
  386. package/templates/vite/src/dashboard/page.tsx +140 -0
  387. package/templates/vite/src/lib/utils.ts +19 -0
  388. package/templates/vite/src/main.tsx +10 -0
  389. package/templates/vite/src/styles/globals.css +124 -0
  390. package/templates/vite/src/vite-env.d.ts +1 -0
  391. package/templates/vite/src-tauri/Cargo.lock +3636 -0
  392. package/templates/vite/src-tauri/Cargo.toml +33 -0
  393. package/templates/vite/src-tauri/build.rs +3 -0
  394. package/templates/vite/src-tauri/icons/128x128.png +0 -0
  395. package/templates/vite/src-tauri/icons/128x128@2x.png +0 -0
  396. package/templates/vite/src-tauri/icons/32x32.png +0 -0
  397. package/templates/vite/src-tauri/icons/Square107x107Logo.png +0 -0
  398. package/templates/vite/src-tauri/icons/Square142x142Logo.png +0 -0
  399. package/templates/vite/src-tauri/icons/Square150x150Logo.png +0 -0
  400. package/templates/vite/src-tauri/icons/Square284x284Logo.png +0 -0
  401. package/templates/vite/src-tauri/icons/Square30x30Logo.png +0 -0
  402. package/templates/vite/src-tauri/icons/Square310x310Logo.png +0 -0
  403. package/templates/vite/src-tauri/icons/Square44x44Logo.png +0 -0
  404. package/templates/vite/src-tauri/icons/Square71x71Logo.png +0 -0
  405. package/templates/vite/src-tauri/icons/Square89x89Logo.png +0 -0
  406. package/templates/vite/src-tauri/icons/StoreLogo.png +0 -0
  407. package/templates/vite/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png +0 -0
  408. package/templates/vite/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png +0 -0
  409. package/templates/vite/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png +0 -0
  410. package/templates/vite/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png +0 -0
  411. package/templates/vite/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png +0 -0
  412. package/templates/vite/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png +0 -0
  413. package/templates/vite/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png +0 -0
  414. package/templates/vite/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
  415. package/templates/vite/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png +0 -0
  416. package/templates/vite/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png +0 -0
  417. package/templates/vite/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
  418. package/templates/vite/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  419. package/templates/vite/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png +0 -0
  420. package/templates/vite/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
  421. package/templates/vite/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  422. package/templates/vite/src-tauri/icons/icon.icns +0 -0
  423. package/templates/vite/src-tauri/icons/icon.ico +0 -0
  424. package/templates/vite/src-tauri/icons/icon.png +0 -0
  425. package/templates/vite/src-tauri/icons/ios/AppIcon-20x20@1x.png +0 -0
  426. package/templates/vite/src-tauri/icons/ios/AppIcon-20x20@2x-1.png +0 -0
  427. package/templates/vite/src-tauri/icons/ios/AppIcon-20x20@2x.png +0 -0
  428. package/templates/vite/src-tauri/icons/ios/AppIcon-20x20@3x.png +0 -0
  429. package/templates/vite/src-tauri/icons/ios/AppIcon-29x29@1x.png +0 -0
  430. package/templates/vite/src-tauri/icons/ios/AppIcon-29x29@2x-1.png +0 -0
  431. package/templates/vite/src-tauri/icons/ios/AppIcon-29x29@2x.png +0 -0
  432. package/templates/vite/src-tauri/icons/ios/AppIcon-29x29@3x.png +0 -0
  433. package/templates/vite/src-tauri/icons/ios/AppIcon-40x40@1x.png +0 -0
  434. package/templates/vite/src-tauri/icons/ios/AppIcon-40x40@2x-1.png +0 -0
  435. package/templates/vite/src-tauri/icons/ios/AppIcon-40x40@2x.png +0 -0
  436. package/templates/vite/src-tauri/icons/ios/AppIcon-40x40@3x.png +0 -0
  437. package/templates/vite/src-tauri/icons/ios/AppIcon-512@2x.png +0 -0
  438. package/templates/vite/src-tauri/icons/ios/AppIcon-60x60@2x.png +0 -0
  439. package/templates/vite/src-tauri/icons/ios/AppIcon-60x60@3x.png +0 -0
  440. package/templates/vite/src-tauri/icons/ios/AppIcon-76x76@1x.png +0 -0
  441. package/templates/vite/src-tauri/icons/ios/AppIcon-76x76@2x.png +0 -0
  442. package/templates/vite/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png +0 -0
  443. package/templates/vite/src-tauri/src/main.rs +16 -0
  444. package/templates/vite/src-tauri/tauri.conf.json +63 -0
  445. package/templates/vite/tailwind.config.js +78 -0
  446. package/templates/vite/tsconfig.json +26 -0
  447. package/templates/vite/tsconfig.node.json +9 -0
  448. package/templates/vite/vite.config.ts +33 -0
@@ -0,0 +1,77 @@
1
+ "use client"
2
+
3
+ import { zodResolver } from "@hookform/resolvers/zod"
4
+ import { useForm } from "react-hook-form"
5
+ import * as z from "zod"
6
+
7
+ import { Button } from "@/components/ui/button"
8
+ import { Checkbox } from "@/components/ui/checkbox"
9
+ import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"
10
+ import { Switch } from "@/components/ui/switch"
11
+ import { Textarea } from "@/components/ui/textarea"
12
+ import { toast } from "@/components/ui/use-toast"
13
+ import {
14
+ Form,
15
+ FormControl,
16
+ FormDescription,
17
+ FormField,
18
+ FormItem,
19
+ FormLabel,
20
+ FormMessage,
21
+ } from "@/components/react-hook-form/form"
22
+
23
+ const FormSchema = z.object({
24
+ bio: z
25
+ .string()
26
+ .min(10, {
27
+ message: "Bio must be at least 10 characters.",
28
+ })
29
+ .max(160, {
30
+ message: "Bio must not be longer than 30 characters.",
31
+ }),
32
+ })
33
+
34
+ export function TextareaReactHookForm() {
35
+ const form = useForm<z.infer<typeof FormSchema>>({
36
+ resolver: zodResolver(FormSchema),
37
+ })
38
+
39
+ function onSubmit(data: z.infer<typeof FormSchema>) {
40
+ toast({
41
+ title: "You submitted the following values:",
42
+ description: (
43
+ <pre className="mt-2 w-[340px] rounded-md bg-slate-950 p-4">
44
+ <code className="text-white">{JSON.stringify(data, null, 2)}</code>
45
+ </pre>
46
+ ),
47
+ })
48
+ }
49
+
50
+ return (
51
+ <Form {...form}>
52
+ <form onSubmit={form.handleSubmit(onSubmit)} className="w-2/3 space-y-6">
53
+ <FormField
54
+ control={form.control}
55
+ name="bio"
56
+ render={({ field }) => (
57
+ <FormItem>
58
+ <FormLabel>Bio</FormLabel>
59
+ <FormControl>
60
+ <Textarea
61
+ placeholder="Tell us a little bit about yourself"
62
+ className="resize-none"
63
+ {...field}
64
+ />
65
+ </FormControl>
66
+ <FormDescription>
67
+ You can <span>@mention</span> other users and organizations.
68
+ </FormDescription>
69
+ <FormMessage />
70
+ </FormItem>
71
+ )}
72
+ />
73
+ <Button type="submit">Submit</Button>
74
+ </form>
75
+ </Form>
76
+ )
77
+ }
@@ -0,0 +1,11 @@
1
+ import { Button } from "@/components/ui/button"
2
+ import { Textarea } from "@/components/ui/textarea"
3
+
4
+ export function TextareaWithButton() {
5
+ return (
6
+ <div className="grid w-full gap-2">
7
+ <Textarea placeholder="Type your message here." />
8
+ <Button>Send message</Button>
9
+ </div>
10
+ )
11
+ }
@@ -0,0 +1,11 @@
1
+ import { Label } from "@/components/ui/label"
2
+ import { Textarea } from "@/components/ui/textarea"
3
+
4
+ export function TextareaWithLabel() {
5
+ return (
6
+ <div className="grid w-full gap-1.5">
7
+ <Label htmlFor="message">Your message</Label>
8
+ <Textarea placeholder="Type your message here." id="message" />
9
+ </div>
10
+ )
11
+ }
@@ -0,0 +1,14 @@
1
+ import { Label } from "@/components/ui/label"
2
+ import { Textarea } from "@/components/ui/textarea"
3
+
4
+ export function TextareaWithText() {
5
+ return (
6
+ <div className="grid w-full gap-1.5">
7
+ <Label htmlFor="message-2">Your Message</Label>
8
+ <Textarea placeholder="Type your message here." id="message-2" />
9
+ <p className="text-sm text-muted-foreground">
10
+ Your message will be copied to the support team.
11
+ </p>
12
+ </div>
13
+ )
14
+ }
@@ -0,0 +1,26 @@
1
+ "use client"
2
+
3
+ import { Button } from "@/components/ui/button"
4
+ import { ToastAction } from "@/components/ui/toast"
5
+ import { useToast } from "@/components/ui/use-toast"
6
+
7
+ export function ToastDemo() {
8
+ const { toast } = useToast()
9
+
10
+ return (
11
+ <Button
12
+ variant="outline"
13
+ onClick={() => {
14
+ toast({
15
+ title: "Scheduled: Catch up ",
16
+ description: "Friday, February 10, 2023 at 5:57 PM",
17
+ action: (
18
+ <ToastAction altText="Goto schedule to undo">Undo</ToastAction>
19
+ ),
20
+ })
21
+ }}
22
+ >
23
+ Add to calendar
24
+ </Button>
25
+ )
26
+ }
@@ -0,0 +1,25 @@
1
+ "use client"
2
+
3
+ import { Button } from "@/components/ui/button"
4
+ import { ToastAction } from "@/components/ui/toast"
5
+ import { useToast } from "@/components/ui/use-toast"
6
+
7
+ export function ToastDestructive() {
8
+ const { toast } = useToast()
9
+
10
+ return (
11
+ <Button
12
+ variant="outline"
13
+ onClick={() => {
14
+ toast({
15
+ variant: "destructive",
16
+ title: "Uh oh! Something went wrong.",
17
+ description: "There was a problem with your request.",
18
+ action: <ToastAction altText="Try again">Try again</ToastAction>,
19
+ })
20
+ }}
21
+ >
22
+ Show Toast
23
+ </Button>
24
+ )
25
+ }
@@ -0,0 +1,21 @@
1
+ "use client"
2
+
3
+ import { Button } from "@/components/ui/button"
4
+ import { useToast } from "@/components/ui/use-toast"
5
+
6
+ export function ToastSimple() {
7
+ const { toast } = useToast()
8
+
9
+ return (
10
+ <Button
11
+ variant="outline"
12
+ onClick={() => {
13
+ toast({
14
+ description: "Your message has been sent.",
15
+ })
16
+ }}
17
+ >
18
+ Show Toast
19
+ </Button>
20
+ )
21
+ }
@@ -0,0 +1,24 @@
1
+ "use client"
2
+
3
+ import { Button } from "@/components/ui/button"
4
+ import { ToastAction } from "@/components/ui/toast"
5
+ import { useToast } from "@/components/ui/use-toast"
6
+
7
+ export function ToastWithAction() {
8
+ const { toast } = useToast()
9
+
10
+ return (
11
+ <Button
12
+ variant="outline"
13
+ onClick={() => {
14
+ toast({
15
+ title: "Uh oh! Something went wrong.",
16
+ description: "There was a problem with your request.",
17
+ action: <ToastAction altText="Try again">Try again</ToastAction>,
18
+ })
19
+ }}
20
+ >
21
+ Show Toast
22
+ </Button>
23
+ )
24
+ }
@@ -0,0 +1,22 @@
1
+ "use client"
2
+
3
+ import { Button } from "@/components/ui/button"
4
+ import { useToast } from "@/components/ui/use-toast"
5
+
6
+ export function ToastWithTitle() {
7
+ const { toast } = useToast()
8
+
9
+ return (
10
+ <Button
11
+ variant="outline"
12
+ onClick={() => {
13
+ toast({
14
+ title: "Uh oh! Something went wrong.",
15
+ description: "There was a problem with your request.",
16
+ })
17
+ }}
18
+ >
19
+ Show Toast
20
+ </Button>
21
+ )
22
+ }
@@ -0,0 +1,11 @@
1
+ import { Bold } from "lucide-react"
2
+
3
+ import { Toggle } from "@/components/ui/toggle"
4
+
5
+ export function ToggleDemo() {
6
+ return (
7
+ <Toggle aria-label="Toggle italic">
8
+ <Bold className="h-4 w-4" />
9
+ </Toggle>
10
+ )
11
+ }
@@ -0,0 +1,11 @@
1
+ import { Underline } from "lucide-react"
2
+
3
+ import { Toggle } from "@/components/ui/toggle"
4
+
5
+ export function ToggleDisabled() {
6
+ return (
7
+ <Toggle aria-label="Toggle italic" disabled>
8
+ <Underline className="h-4 w-4" />
9
+ </Toggle>
10
+ )
11
+ }
@@ -0,0 +1,11 @@
1
+ import { Italic } from "lucide-react"
2
+
3
+ import { Toggle } from "@/components/ui/toggle"
4
+
5
+ export function ToggleLg() {
6
+ return (
7
+ <Toggle size="lg" aria-label="Toggle italic">
8
+ <Italic className="h-4 w-4" />
9
+ </Toggle>
10
+ )
11
+ }
@@ -0,0 +1,11 @@
1
+ import { Italic } from "lucide-react"
2
+
3
+ import { Toggle } from "@/components/ui/toggle"
4
+
5
+ export function ToggleOutline() {
6
+ return (
7
+ <Toggle variant="outline" aria-label="Toggle italic">
8
+ <Italic className="h-4 w-4" />
9
+ </Toggle>
10
+ )
11
+ }
@@ -0,0 +1,11 @@
1
+ import { Italic } from "lucide-react"
2
+
3
+ import { Toggle } from "@/components/ui/toggle"
4
+
5
+ export function ToggleSm() {
6
+ return (
7
+ <Toggle size="sm" aria-label="Toggle italic">
8
+ <Italic className="h-4 w-4" />
9
+ </Toggle>
10
+ )
11
+ }
@@ -0,0 +1,12 @@
1
+ import { Italic } from "lucide-react"
2
+
3
+ import { Toggle } from "@/components/ui/toggle"
4
+
5
+ export function ToggleWithText() {
6
+ return (
7
+ <Toggle aria-label="Toggle italic">
8
+ <Italic className="mr-2 h-4 w-4" />
9
+ Italic
10
+ </Toggle>
11
+ )
12
+ }
@@ -0,0 +1,27 @@
1
+ import { Plus } from "lucide-react"
2
+
3
+ import { Button } from "@/components/ui/button"
4
+ import {
5
+ Tooltip,
6
+ TooltipContent,
7
+ TooltipProvider,
8
+ TooltipTrigger,
9
+ } from "@/components/ui/tooltip"
10
+
11
+ export function TooltipDemo() {
12
+ return (
13
+ <TooltipProvider>
14
+ <Tooltip>
15
+ <TooltipTrigger asChild>
16
+ <Button variant="outline" className="w-10 rounded-full p-0">
17
+ <Plus className="h-4 w-4" />
18
+ <span className="sr-only">Add</span>
19
+ </Button>
20
+ </TooltipTrigger>
21
+ <TooltipContent>
22
+ <p>Add to library</p>
23
+ </TooltipContent>
24
+ </Tooltip>
25
+ </TooltipProvider>
26
+ )
27
+ }
@@ -0,0 +1,8 @@
1
+ export function TypographyBlockquote() {
2
+ return (
3
+ <blockquote className="mt-6 border-l-2 pl-6 italic">
4
+ "After all," he said, "everyone enjoys a good joke, so it's only fair that
5
+ they should pay for the privilege."
6
+ </blockquote>
7
+ )
8
+ }
@@ -0,0 +1,119 @@
1
+ export function TypographyDemo() {
2
+ return (
3
+ <div>
4
+ <h1 className="scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl">
5
+ The Joke Tax Chronicles
6
+ </h1>
7
+ <p className="leading-7 [&:not(:first-child)]:mt-6">
8
+ Once upon a time, in a far-off land, there was a very lazy king who
9
+ spent all day lounging on his throne. One day, his advisors came to him
10
+ with a problem: the kingdom was running out of money.
11
+ </p>
12
+ <h2 className="mt-10 scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight transition-colors first:mt-0">
13
+ The King's Plan
14
+ </h2>
15
+ <p className="leading-7 [&:not(:first-child)]:mt-6">
16
+ The king thought long and hard, and finally came up with{" "}
17
+ <a
18
+ href="#"
19
+ className="font-medium text-primary underline underline-offset-4"
20
+ >
21
+ a brilliant plan
22
+ </a>
23
+ : he would tax the jokes in the kingdom.
24
+ </p>
25
+ <blockquote className="mt-6 border-l-2 pl-6 italic">
26
+ "After all," he said, "everyone enjoys a good joke, so it's only fair
27
+ that they should pay for the privilege."
28
+ </blockquote>
29
+ <h3 className="mt-8 scroll-m-20 text-2xl font-semibold tracking-tight">
30
+ The Joke Tax
31
+ </h3>
32
+ <p className="leading-7 [&:not(:first-child)]:mt-6">
33
+ The king's subjects were not amused. They grumbled and complained, but
34
+ the king was firm:
35
+ </p>
36
+ <ul className="my-6 ml-6 list-disc [&>li]:mt-2">
37
+ <li>1st level of puns: 5 gold coins</li>
38
+ <li>2nd level of jokes: 10 gold coins</li>
39
+ <li>3rd level of one-liners : 20 gold coins</li>
40
+ </ul>
41
+ <p className="leading-7 [&:not(:first-child)]:mt-6">
42
+ As a result, people stopped telling jokes, and the kingdom fell into a
43
+ gloom. But there was one person who refused to let the king's
44
+ foolishness get him down: a court jester named Jokester.
45
+ </p>
46
+ <h3 className="mt-8 scroll-m-20 text-2xl font-semibold tracking-tight">
47
+ Jokester's Revolt
48
+ </h3>
49
+ <p className="leading-7 [&:not(:first-child)]:mt-6">
50
+ Jokester began sneaking into the castle in the middle of the night and
51
+ leaving jokes all over the place: under the king's pillow, in his soup,
52
+ even in the royal toilet. The king was furious, but he couldn't seem to
53
+ stop Jokester.
54
+ </p>
55
+ <p className="leading-7 [&:not(:first-child)]:mt-6">
56
+ And then, one day, the people of the kingdom discovered that the jokes
57
+ left by Jokester were so funny that they couldn't help but laugh. And
58
+ once they started laughing, they couldn't stop.
59
+ </p>
60
+ <h3 className="mt-8 scroll-m-20 text-2xl font-semibold tracking-tight">
61
+ The People's Rebellion
62
+ </h3>
63
+ <p className="leading-7 [&:not(:first-child)]:mt-6">
64
+ The people of the kingdom, feeling uplifted by the laughter, started to
65
+ tell jokes and puns again, and soon the entire kingdom was in on the
66
+ joke.
67
+ </p>
68
+ <div className="my-6 w-full overflow-y-auto">
69
+ <table className="w-full">
70
+ <thead>
71
+ <tr className="m-0 border-t p-0 even:bg-muted">
72
+ <th className="border px-4 py-2 text-left font-bold [&[align=center]]:text-center [&[align=right]]:text-right">
73
+ King's Treasury
74
+ </th>
75
+ <th className="border px-4 py-2 text-left font-bold [&[align=center]]:text-center [&[align=right]]:text-right">
76
+ People's happiness
77
+ </th>
78
+ </tr>
79
+ </thead>
80
+ <tbody>
81
+ <tr className="m-0 border-t p-0 even:bg-muted">
82
+ <td className="border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right">
83
+ Empty
84
+ </td>
85
+ <td className="border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right">
86
+ Overflowing
87
+ </td>
88
+ </tr>
89
+ <tr className="m-0 border-t p-0 even:bg-muted">
90
+ <td className="border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right">
91
+ Modest
92
+ </td>
93
+ <td className="border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right">
94
+ Satisfied
95
+ </td>
96
+ </tr>
97
+ <tr className="m-0 border-t p-0 even:bg-muted">
98
+ <td className="border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right">
99
+ Full
100
+ </td>
101
+ <td className="border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right">
102
+ Ecstatic
103
+ </td>
104
+ </tr>
105
+ </tbody>
106
+ </table>
107
+ </div>
108
+ <p className="leading-7 [&:not(:first-child)]:mt-6">
109
+ The king, seeing how much happier his subjects were, realized the error
110
+ of his ways and repealed the joke tax. Jokester was declared a hero, and
111
+ the kingdom lived happily ever after.
112
+ </p>
113
+ <p className="leading-7 [&:not(:first-child)]:mt-6">
114
+ The moral of the story is: never underestimate the power of a good laugh
115
+ and always be careful of bad ideas.
116
+ </p>
117
+ </div>
118
+ )
119
+ }
@@ -0,0 +1,7 @@
1
+ export function TypographyH1() {
2
+ return (
3
+ <h1 className="scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl">
4
+ Taxing Laughter: The Joke Tax Chronicles
5
+ </h1>
6
+ )
7
+ }
@@ -0,0 +1,7 @@
1
+ export function TypographyH2() {
2
+ return (
3
+ <h2 className="scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight transition-colors first:mt-0">
4
+ The People of the Kingdom
5
+ </h2>
6
+ )
7
+ }
@@ -0,0 +1,7 @@
1
+ export function TypographyH3() {
2
+ return (
3
+ <h3 className="scroll-m-20 text-2xl font-semibold tracking-tight">
4
+ The Joke Tax
5
+ </h3>
6
+ )
7
+ }
@@ -0,0 +1,7 @@
1
+ export function TypographyH4() {
2
+ return (
3
+ <h4 className="scroll-m-20 text-xl font-semibold tracking-tight">
4
+ People stopped telling jokes
5
+ </h4>
6
+ )
7
+ }
@@ -0,0 +1,7 @@
1
+ export function TypographyInlineCode() {
2
+ return (
3
+ <code className="relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold">
4
+ @radix-ui/react-alert-dialog
5
+ </code>
6
+ )
7
+ }
@@ -0,0 +1,5 @@
1
+ export function TypographyLarge() {
2
+ return (
3
+ <div className="text-lg font-semibold">Are you sure absolutely sure?</div>
4
+ )
5
+ }
@@ -0,0 +1,8 @@
1
+ export function TypographyLead() {
2
+ return (
3
+ <p className="text-xl text-muted-foreground">
4
+ A modal dialog that interrupts the user with important content and expects
5
+ a response.
6
+ </p>
7
+ )
8
+ }
@@ -0,0 +1,9 @@
1
+ export function TypographyList() {
2
+ return (
3
+ <ul className="my-6 ml-6 list-disc [&>li]:mt-2">
4
+ <li>1st level of puns: 5 gold coins</li>
5
+ <li>2nd level of jokes: 10 gold coins</li>
6
+ <li>3rd level of one-liners : 20 gold coins</li>
7
+ </ul>
8
+ )
9
+ }
@@ -0,0 +1,5 @@
1
+ export function TypographyMuted() {
2
+ return (
3
+ <p className="text-sm text-muted-foreground">Enter your email address.</p>
4
+ )
5
+ }
@@ -0,0 +1,8 @@
1
+ export function TypographyP() {
2
+ return (
3
+ <p className="leading-7 [&:not(:first-child)]:mt-6">
4
+ The king, seeing how much happier his subjects were, realized the error of
5
+ his ways and repealed the joke tax.
6
+ </p>
7
+ )
8
+ }
@@ -0,0 +1,5 @@
1
+ export function TypographySmall() {
2
+ return (
3
+ <small className="text-sm font-medium leading-none">Email address</small>
4
+ )
5
+ }
@@ -0,0 +1,44 @@
1
+ export function TypographyTable() {
2
+ return (
3
+ <div className="my-6 w-full overflow-y-auto">
4
+ <table className="w-full">
5
+ <thead>
6
+ <tr className="m-0 border-t p-0 even:bg-muted">
7
+ <th className="border px-4 py-2 text-left font-bold [&[align=center]]:text-center [&[align=right]]:text-right">
8
+ King's Treasury
9
+ </th>
10
+ <th className="border px-4 py-2 text-left font-bold [&[align=center]]:text-center [&[align=right]]:text-right">
11
+ People's happiness
12
+ </th>
13
+ </tr>
14
+ </thead>
15
+ <tbody>
16
+ <tr className="m-0 border-t p-0 even:bg-muted">
17
+ <td className="border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right">
18
+ Empty
19
+ </td>
20
+ <td className="border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right">
21
+ Overflowing
22
+ </td>
23
+ </tr>
24
+ <tr className="m-0 border-t p-0 even:bg-muted">
25
+ <td className="border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right">
26
+ Modest
27
+ </td>
28
+ <td className="border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right">
29
+ Satisfied
30
+ </td>
31
+ </tr>
32
+ <tr className="m-0 border-t p-0 even:bg-muted">
33
+ <td className="border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right">
34
+ Full
35
+ </td>
36
+ <td className="border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right">
37
+ Ecstatic
38
+ </td>
39
+ </tr>
40
+ </tbody>
41
+ </table>
42
+ </div>
43
+ )
44
+ }