@eslamdevui/ui 3.2.0-beta.2 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/.nuxt/ui/auth-form.ts +20 -0
  2. package/.nuxt/ui/banner.ts +105 -0
  3. package/.nuxt/ui/blog-post.ts +140 -0
  4. package/.nuxt/ui/blog-posts.ts +14 -0
  5. package/.nuxt/ui/changelog-version.ts +41 -0
  6. package/.nuxt/ui/changelog-versions.ts +8 -0
  7. package/.nuxt/ui/chat-palette.ts +8 -0
  8. package/.nuxt/ui/content/content-navigation.ts +6 -4
  9. package/.nuxt/ui/content-navigation.ts +6 -4
  10. package/.nuxt/ui/footer-columns.ts +28 -0
  11. package/.nuxt/ui/footer.ts +11 -0
  12. package/.nuxt/ui/header.ts +30 -0
  13. package/.nuxt/ui/index.ts +32 -1
  14. package/.nuxt/ui/main.ts +3 -0
  15. package/.nuxt/ui/page-accordion.ts +7 -0
  16. package/.nuxt/ui/page-anchors.ts +30 -0
  17. package/.nuxt/ui/page-aside.ts +10 -0
  18. package/.nuxt/ui/page-body.ts +3 -0
  19. package/.nuxt/ui/page-card.ts +276 -0
  20. package/.nuxt/ui/page-columns.ts +3 -0
  21. package/.nuxt/ui/page-cta.ts +72 -0
  22. package/.nuxt/ui/page-feature.ts +31 -0
  23. package/.nuxt/ui/page-grid.ts +3 -0
  24. package/.nuxt/ui/page-header.ts +18 -0
  25. package/.nuxt/ui/page-hero.ts +46 -0
  26. package/.nuxt/ui/page-links.ts +25 -0
  27. package/.nuxt/ui/page-list.ts +8 -0
  28. package/.nuxt/ui/page-logos.ts +15 -0
  29. package/.nuxt/ui/page-marquee.ts +66 -0
  30. package/.nuxt/ui/page-section.ts +88 -0
  31. package/.nuxt/ui/page.ts +32 -0
  32. package/.nuxt/ui/pricing-plan.ts +101 -0
  33. package/.nuxt/ui/pricing-plans.ts +27 -0
  34. package/.nuxt/ui/pricing-table.ts +51 -0
  35. package/.nuxt/ui/user.ts +106 -0
  36. package/LICENSE.md +9 -9
  37. package/README.md +147 -147
  38. package/cli/commands/make/component.mjs +95 -95
  39. package/cli/commands/make/index.mjs +14 -14
  40. package/cli/commands/make/locale.mjs +64 -64
  41. package/cli/index.mjs +15 -15
  42. package/cli/package.json +13 -13
  43. package/cli/templates.mjs +236 -236
  44. package/cli/utils.mjs +31 -31
  45. package/dist/module.json +1 -1
  46. package/dist/module.mjs +2 -2
  47. package/dist/runtime/components/Accordion.vue +36 -36
  48. package/dist/runtime/components/Alert.vue +46 -46
  49. package/dist/runtime/components/App.vue +10 -10
  50. package/dist/runtime/components/AuthForm.vue +195 -0
  51. package/dist/runtime/components/AuthForm.vue.d.ts +85 -0
  52. package/dist/runtime/components/Avatar.vue +27 -27
  53. package/dist/runtime/components/AvatarGroup.vue +4 -4
  54. package/dist/runtime/components/Badge.vue +16 -16
  55. package/dist/runtime/components/Banner.vue +113 -0
  56. package/dist/runtime/components/Banner.vue.d.ts +68 -0
  57. package/dist/runtime/components/BlogPost.vue +141 -0
  58. package/dist/runtime/components/BlogPost.vue.d.ts +59 -0
  59. package/dist/runtime/components/BlogPosts.vue +33 -0
  60. package/dist/runtime/components/BlogPosts.vue.d.ts +30 -0
  61. package/dist/runtime/components/Breadcrumb.vue +32 -32
  62. package/dist/runtime/components/Button.vue +28 -28
  63. package/dist/runtime/components/ButtonGroup.vue +3 -3
  64. package/dist/runtime/components/Calendar.vue +74 -74
  65. package/dist/runtime/components/Card.vue +13 -13
  66. package/dist/runtime/components/Carousel.vue +58 -58
  67. package/dist/runtime/components/ChangelogVersion.vue +165 -0
  68. package/dist/runtime/components/ChangelogVersion.vue.d.ts +58 -0
  69. package/dist/runtime/components/ChangelogVersions.vue +54 -0
  70. package/dist/runtime/components/ChangelogVersions.vue.d.ts +74 -0
  71. package/dist/runtime/components/ChatMessage.vue +35 -35
  72. package/dist/runtime/components/ChatMessages.vue +55 -55
  73. package/dist/runtime/components/ChatPalette.vue +32 -0
  74. package/dist/runtime/components/ChatPalette.vue.d.ts +24 -0
  75. package/dist/runtime/components/ChatPrompt.vue +26 -26
  76. package/dist/runtime/components/ChatPrompt.vue.d.ts +1 -1
  77. package/dist/runtime/components/ChatPromptSubmit.vue +10 -10
  78. package/dist/runtime/components/Checkbox.vue +33 -33
  79. package/dist/runtime/components/CheckboxGroup.vue +32 -32
  80. package/dist/runtime/components/Chip.vue +11 -11
  81. package/dist/runtime/components/Collapsible.vue +9 -9
  82. package/dist/runtime/components/ColorPicker.vue +30 -30
  83. package/dist/runtime/components/CommandPalette.vue +117 -117
  84. package/dist/runtime/components/CommandPalette.vue.d.ts +3 -3
  85. package/dist/runtime/components/Container.vue +3 -3
  86. package/dist/runtime/components/ContextMenu.vue +22 -22
  87. package/dist/runtime/components/ContextMenuContent.vue +105 -105
  88. package/dist/runtime/components/DashboardGroup.vue +3 -3
  89. package/dist/runtime/components/DashboardNavbar.vue +40 -40
  90. package/dist/runtime/components/DashboardPanel.vue +27 -27
  91. package/dist/runtime/components/DashboardResizeHandle.vue +7 -7
  92. package/dist/runtime/components/DashboardSearch.vue +20 -20
  93. package/dist/runtime/components/DashboardSearchButton.vue +43 -43
  94. package/dist/runtime/components/DashboardSidebar.vue +74 -74
  95. package/dist/runtime/components/DashboardSidebarCollapse.vue +7 -7
  96. package/dist/runtime/components/DashboardSidebarToggle.vue +7 -7
  97. package/dist/runtime/components/DashboardSidebarToggle.vue.d.ts +1 -1
  98. package/dist/runtime/components/Drawer.vue +55 -55
  99. package/dist/runtime/components/DropdownMenu.vue +24 -24
  100. package/dist/runtime/components/DropdownMenuContent.vue +107 -107
  101. package/dist/runtime/components/Error.vue +22 -22
  102. package/dist/runtime/components/Error.vue.d.ts +1 -1
  103. package/dist/runtime/components/Footer.vue +44 -0
  104. package/dist/runtime/components/Footer.vue.d.ts +29 -0
  105. package/dist/runtime/components/FooterColumns.vue +68 -0
  106. package/dist/runtime/components/FooterColumns.vue.d.ts +52 -0
  107. package/dist/runtime/components/Form.vue +8 -8
  108. package/dist/runtime/components/FormField.vue +37 -37
  109. package/dist/runtime/components/Header.vue +137 -0
  110. package/dist/runtime/components/Header.vue.d.ts +72 -0
  111. package/dist/runtime/components/Icon.vue +1 -1
  112. package/dist/runtime/components/Input.vue +34 -34
  113. package/dist/runtime/components/InputMenu.vue +163 -163
  114. package/dist/runtime/components/InputMenu.vue.d.ts +3 -3
  115. package/dist/runtime/components/InputNumber.vue +49 -49
  116. package/dist/runtime/components/InputTags.vue +55 -55
  117. package/dist/runtime/components/Kbd.vue +5 -5
  118. package/dist/runtime/components/Link.vue +14 -14
  119. package/dist/runtime/components/LinkBase.vue +8 -8
  120. package/dist/runtime/components/Main.vue +23 -0
  121. package/dist/runtime/components/Main.vue.d.ts +20 -0
  122. package/dist/runtime/components/Modal.vue +69 -69
  123. package/dist/runtime/components/NavigationMenu.vue +166 -166
  124. package/dist/runtime/components/OverlayProvider.vue +9 -9
  125. package/dist/runtime/components/Page.vue +37 -0
  126. package/dist/runtime/components/Page.vue.d.ts +25 -0
  127. package/dist/runtime/components/PageAccordion.vue +26 -0
  128. package/dist/runtime/components/PageAccordion.vue.d.ts +21 -0
  129. package/dist/runtime/components/PageAnchors.vue +50 -0
  130. package/dist/runtime/components/PageAnchors.vue.d.ts +42 -0
  131. package/dist/runtime/components/PageAside.vue +36 -0
  132. package/dist/runtime/components/PageAside.vue.d.ts +27 -0
  133. package/dist/runtime/components/PageBody.vue +23 -0
  134. package/dist/runtime/components/PageBody.vue.d.ts +18 -0
  135. package/dist/runtime/components/PageCTA.vue +58 -0
  136. package/dist/runtime/components/PageCTA.vue.d.ts +49 -0
  137. package/dist/runtime/components/PageCard.vue +121 -0
  138. package/dist/runtime/components/PageCard.vue.d.ts +71 -0
  139. package/dist/runtime/components/PageColumns.vue +23 -0
  140. package/dist/runtime/components/PageColumns.vue.d.ts +18 -0
  141. package/dist/runtime/components/PageFeature.vue +71 -0
  142. package/dist/runtime/components/PageFeature.vue.d.ts +43 -0
  143. package/dist/runtime/components/PageGrid.vue +23 -0
  144. package/dist/runtime/components/PageGrid.vue.d.ts +18 -0
  145. package/dist/runtime/components/PageHeader.vue +58 -0
  146. package/dist/runtime/components/PageHeader.vue.d.ts +35 -0
  147. package/dist/runtime/components/PageHero.vue +67 -0
  148. package/dist/runtime/components/PageHero.vue.d.ts +49 -0
  149. package/dist/runtime/components/PageLinks.vue +55 -0
  150. package/dist/runtime/components/PageLinks.vue.d.ts +44 -0
  151. package/dist/runtime/components/PageList.vue +24 -0
  152. package/dist/runtime/components/PageList.vue.d.ts +21 -0
  153. package/dist/runtime/components/PageLogos.vue +64 -0
  154. package/dist/runtime/components/PageLogos.vue.d.ts +32 -0
  155. package/dist/runtime/components/PageMarquee.vue +40 -0
  156. package/dist/runtime/components/PageMarquee.vue.d.ts +30 -0
  157. package/dist/runtime/components/PageSection.vue +88 -0
  158. package/dist/runtime/components/PageSection.vue.d.ts +64 -0
  159. package/dist/runtime/components/Pagination.vue +47 -47
  160. package/dist/runtime/components/PinInput.vue +20 -20
  161. package/dist/runtime/components/Popover.vue +17 -17
  162. package/dist/runtime/components/PricingPlan.vue +129 -0
  163. package/dist/runtime/components/PricingPlan.vue.d.ts +109 -0
  164. package/dist/runtime/components/PricingPlans.vue +45 -0
  165. package/dist/runtime/components/PricingPlans.vue.d.ts +41 -0
  166. package/dist/runtime/components/PricingTable.vue +235 -0
  167. package/dist/runtime/components/PricingTable.vue.d.ts +98 -0
  168. package/dist/runtime/components/Progress.vue +19 -19
  169. package/dist/runtime/components/RadioGroup.vue +43 -43
  170. package/dist/runtime/components/Select.vue +96 -96
  171. package/dist/runtime/components/SelectMenu.vue +130 -130
  172. package/dist/runtime/components/SelectMenu.vue.d.ts +3 -3
  173. package/dist/runtime/components/Separator.vue +15 -15
  174. package/dist/runtime/components/Skeleton.vue +10 -10
  175. package/dist/runtime/components/Slideover.vue +76 -76
  176. package/dist/runtime/components/Slider.vue +27 -27
  177. package/dist/runtime/components/Stepper.vue +51 -51
  178. package/dist/runtime/components/Switch.vue +33 -33
  179. package/dist/runtime/components/Table.vue +77 -77
  180. package/dist/runtime/components/Tabs.vue +38 -37
  181. package/dist/runtime/components/Textarea.vue +33 -33
  182. package/dist/runtime/components/Timeline.vue +38 -38
  183. package/dist/runtime/components/Toast.vue +69 -69
  184. package/dist/runtime/components/Toaster.vue +28 -28
  185. package/dist/runtime/components/Tooltip.vue +19 -19
  186. package/dist/runtime/components/Tree.vue +60 -60
  187. package/dist/runtime/components/User.vue +69 -0
  188. package/dist/runtime/components/User.vue.d.ts +46 -0
  189. package/dist/runtime/components/color-mode/ColorModeAvatar.vue +2 -2
  190. package/dist/runtime/components/color-mode/ColorModeButton.vue +16 -16
  191. package/dist/runtime/components/color-mode/ColorModeImage.vue +2 -2
  192. package/dist/runtime/components/color-mode/ColorModeSelect.vue +19 -19
  193. package/dist/runtime/components/color-mode/ColorModeSwitch.vue +19 -19
  194. package/dist/runtime/components/content/ContentNavigation.vue +109 -109
  195. package/dist/runtime/components/content/ContentSearch.vue +25 -25
  196. package/dist/runtime/components/content/ContentSearchButton.vue +38 -38
  197. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +58 -12
  198. package/dist/runtime/components/content/ContentSurround.vue +31 -31
  199. package/dist/runtime/components/content/ContentSurround.vue.d.ts +52 -59
  200. package/dist/runtime/components/content/ContentToc.vue +88 -76
  201. package/dist/runtime/components/content/ContentToc.vue.d.ts +86 -88
  202. package/dist/runtime/components/locale/LocaleSelect.vue +20 -20
  203. package/dist/runtime/components/prose/A.vue +3 -3
  204. package/dist/runtime/components/prose/Accordion.vue +5 -5
  205. package/dist/runtime/components/prose/AccordionItem.vue +5 -5
  206. package/dist/runtime/components/prose/Badge.vue +3 -3
  207. package/dist/runtime/components/prose/Blockquote.vue +3 -3
  208. package/dist/runtime/components/prose/Callout.vue +27 -27
  209. package/dist/runtime/components/prose/Card.vue +43 -43
  210. package/dist/runtime/components/prose/CardGroup.vue +3 -3
  211. package/dist/runtime/components/prose/Code.vue +3 -3
  212. package/dist/runtime/components/prose/CodeCollapse.vue +16 -16
  213. package/dist/runtime/components/prose/CodeGroup.vue +15 -15
  214. package/dist/runtime/components/prose/CodeIcon.vue +1 -1
  215. package/dist/runtime/components/prose/CodePreview.vue +9 -9
  216. package/dist/runtime/components/prose/CodeTree.vue +61 -61
  217. package/dist/runtime/components/prose/Collapsible.vue +15 -15
  218. package/dist/runtime/components/prose/Em.vue +1 -1
  219. package/dist/runtime/components/prose/Field.vue +23 -23
  220. package/dist/runtime/components/prose/FieldGroup.vue +3 -3
  221. package/dist/runtime/components/prose/H1.vue +6 -6
  222. package/dist/runtime/components/prose/H2.vue +10 -10
  223. package/dist/runtime/components/prose/H3.vue +10 -10
  224. package/dist/runtime/components/prose/H4.vue +6 -6
  225. package/dist/runtime/components/prose/Hr.vue +1 -1
  226. package/dist/runtime/components/prose/Icon.vue +1 -1
  227. package/dist/runtime/components/prose/Img.vue +8 -8
  228. package/dist/runtime/components/prose/Kbd.vue +1 -1
  229. package/dist/runtime/components/prose/Li.vue +3 -3
  230. package/dist/runtime/components/prose/Ol.vue +3 -3
  231. package/dist/runtime/components/prose/P.vue +3 -3
  232. package/dist/runtime/components/prose/Pre.vue +20 -20
  233. package/dist/runtime/components/prose/Script.vue +3 -3
  234. package/dist/runtime/components/prose/Steps.vue +3 -3
  235. package/dist/runtime/components/prose/Strong.vue +3 -3
  236. package/dist/runtime/components/prose/Table.vue +5 -5
  237. package/dist/runtime/components/prose/Tabs.vue +14 -14
  238. package/dist/runtime/components/prose/TabsItem.vue +5 -5
  239. package/dist/runtime/components/prose/Tbody.vue +3 -3
  240. package/dist/runtime/components/prose/Td.vue +3 -3
  241. package/dist/runtime/components/prose/Th.vue +3 -3
  242. package/dist/runtime/components/prose/Thead.vue +3 -3
  243. package/dist/runtime/components/prose/Tr.vue +3 -3
  244. package/dist/runtime/components/prose/Ul.vue +3 -3
  245. package/dist/runtime/components/prose/callout/Caution.vue +3 -3
  246. package/dist/runtime/components/prose/callout/Note.vue +3 -3
  247. package/dist/runtime/components/prose/callout/Tip.vue +3 -3
  248. package/dist/runtime/components/prose/callout/Warning.vue +3 -3
  249. package/dist/runtime/inertia/components/Link.vue +12 -12
  250. package/dist/runtime/inertia/components/LinkBase.vue +15 -15
  251. package/dist/runtime/types/app.config.d.ts +6 -6
  252. package/dist/runtime/types/index.d.ts +33 -0
  253. package/dist/runtime/types/index.js +33 -0
  254. package/dist/runtime/vue/components/Icon.vue +1 -1
  255. package/dist/runtime/vue/components/Link.vue +31 -31
  256. package/dist/runtime/vue/components/color-mode/ColorModeButton.vue +7 -7
  257. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +7 -7
  258. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +7 -7
  259. package/dist/shared/{ui.DQZ75GCP.mjs → ui.DErCA3YU.mjs} +1247 -50
  260. package/dist/unplugin.mjs +1 -1
  261. package/dist/vite.mjs +1 -1
  262. package/package.json +1 -1
  263. package/vue-plugin.d.ts +5 -5
  264. package/.nuxt/ui/prose.ts +0 -321
@@ -1,95 +1,95 @@
1
- import { existsSync, promises as fsp } from 'node:fs'
2
- import { resolve } from 'pathe'
3
- import { defineCommand } from 'citty'
4
- import { consola } from 'consola'
5
- import { splitByCase, upperFirst, camelCase, kebabCase } from 'scule'
6
- import { appendFile, sortFile } from '../../utils.mjs'
7
- import templates from '../../templates.mjs'
8
-
9
- export default defineCommand({
10
- meta: {
11
- name: 'component',
12
- description: 'Make a new component.'
13
- },
14
- args: {
15
- name: {
16
- type: 'positional',
17
- required: true,
18
- description: 'Name of the component.'
19
- },
20
- primitive: {
21
- type: 'boolean',
22
- description: 'Create a primitive component.'
23
- },
24
- pro: {
25
- type: 'boolean',
26
- description: 'Create a pro component.'
27
- },
28
- prose: {
29
- type: 'boolean',
30
- description: 'Create a prose component (with --pro).'
31
- },
32
- content: {
33
- type: 'boolean',
34
- description: 'Create a content component (with --pro).'
35
- },
36
- template: {
37
- type: 'string',
38
- description: 'Only generate template.'
39
- }
40
- },
41
- async setup({ args }) {
42
- const name = args.name
43
- if (!name) {
44
- consola.error('`name` argument is missing!')
45
- process.exit(1)
46
- }
47
-
48
- if (args.prose && !args.pro) {
49
- consola.error('`--prose` flag can only be used with `--pro` flag!')
50
- process.exit(1)
51
- }
52
- if (args.content && !args.pro) {
53
- consola.error('`--content` flag can only be used with `--pro` flag!')
54
- process.exit(1)
55
- }
56
-
57
- const path = resolve('.')
58
-
59
- for (const template of Object.keys(templates)) {
60
- if (args.template && template !== args.template) {
61
- continue
62
- }
63
-
64
- const { filename, contents } = templates[template](args)
65
- if (!contents) {
66
- continue
67
- }
68
-
69
- const filePath = resolve(path, filename)
70
-
71
- if (existsSync(filePath)) {
72
- consola.error(`🚨 ${filePath} already exists!`)
73
- continue
74
- }
75
-
76
- await fsp.writeFile(filePath, contents.trim() + '\n')
77
-
78
- consola.success(`🪄 Generated ${filePath}!`)
79
- }
80
-
81
- if (args.template) {
82
- return
83
- }
84
-
85
- const themePath = resolve(path, `src/theme/${args.prose ? 'prose/' : ''}${args.content ? 'content/' : ''}index.ts`)
86
- await appendFile(themePath, `export { default as ${camelCase(name)} } from './${kebabCase(name)}'`)
87
- await sortFile(themePath)
88
-
89
- if (!args.prose) {
90
- const typesPath = resolve(path, 'src/runtime/types/index.ts')
91
- await appendFile(typesPath, `export * from '../components/${args.content ? 'content/' : ''}${splitByCase(name).map(p => upperFirst(p)).join('')}.vue'`)
92
- await sortFile(typesPath)
93
- }
94
- }
95
- })
1
+ import { existsSync, promises as fsp } from 'node:fs'
2
+ import { resolve } from 'pathe'
3
+ import { defineCommand } from 'citty'
4
+ import { consola } from 'consola'
5
+ import { splitByCase, upperFirst, camelCase, kebabCase } from 'scule'
6
+ import { appendFile, sortFile } from '../../utils.mjs'
7
+ import templates from '../../templates.mjs'
8
+
9
+ export default defineCommand({
10
+ meta: {
11
+ name: 'component',
12
+ description: 'Make a new component.'
13
+ },
14
+ args: {
15
+ name: {
16
+ type: 'positional',
17
+ required: true,
18
+ description: 'Name of the component.'
19
+ },
20
+ primitive: {
21
+ type: 'boolean',
22
+ description: 'Create a primitive component.'
23
+ },
24
+ pro: {
25
+ type: 'boolean',
26
+ description: 'Create a pro component.'
27
+ },
28
+ prose: {
29
+ type: 'boolean',
30
+ description: 'Create a prose component (with --pro).'
31
+ },
32
+ content: {
33
+ type: 'boolean',
34
+ description: 'Create a content component (with --pro).'
35
+ },
36
+ template: {
37
+ type: 'string',
38
+ description: 'Only generate template.'
39
+ }
40
+ },
41
+ async setup({ args }) {
42
+ const name = args.name
43
+ if (!name) {
44
+ consola.error('`name` argument is missing!')
45
+ process.exit(1)
46
+ }
47
+
48
+ if (args.prose && !args.pro) {
49
+ consola.error('`--prose` flag can only be used with `--pro` flag!')
50
+ process.exit(1)
51
+ }
52
+ if (args.content && !args.pro) {
53
+ consola.error('`--content` flag can only be used with `--pro` flag!')
54
+ process.exit(1)
55
+ }
56
+
57
+ const path = resolve('.')
58
+
59
+ for (const template of Object.keys(templates)) {
60
+ if (args.template && template !== args.template) {
61
+ continue
62
+ }
63
+
64
+ const { filename, contents } = templates[template](args)
65
+ if (!contents) {
66
+ continue
67
+ }
68
+
69
+ const filePath = resolve(path, filename)
70
+
71
+ if (existsSync(filePath)) {
72
+ consola.error(`🚨 ${filePath} already exists!`)
73
+ continue
74
+ }
75
+
76
+ await fsp.writeFile(filePath, contents.trim() + '\n')
77
+
78
+ consola.success(`🪄 Generated ${filePath}!`)
79
+ }
80
+
81
+ if (args.template) {
82
+ return
83
+ }
84
+
85
+ const themePath = resolve(path, `src/theme/${args.prose ? 'prose/' : ''}${args.content ? 'content/' : ''}index.ts`)
86
+ await appendFile(themePath, `export { default as ${camelCase(name)} } from './${kebabCase(name)}'`)
87
+ await sortFile(themePath)
88
+
89
+ if (!args.prose) {
90
+ const typesPath = resolve(path, 'src/runtime/types/index.ts')
91
+ await appendFile(typesPath, `export * from '../components/${args.content ? 'content/' : ''}${splitByCase(name).map(p => upperFirst(p)).join('')}.vue'`)
92
+ await sortFile(typesPath)
93
+ }
94
+ }
95
+ })
@@ -1,14 +1,14 @@
1
- import { defineCommand } from 'citty'
2
- import component from './component.mjs'
3
- import locale from './locale.mjs'
4
-
5
- export default defineCommand({
6
- meta: {
7
- name: 'make',
8
- description: 'Commands to create new Nuxt UI entities.'
9
- },
10
- subCommands: {
11
- component,
12
- locale
13
- }
14
- })
1
+ import { defineCommand } from 'citty'
2
+ import component from './component.mjs'
3
+ import locale from './locale.mjs'
4
+
5
+ export default defineCommand({
6
+ meta: {
7
+ name: 'make',
8
+ description: 'Commands to create new Nuxt UI entities.'
9
+ },
10
+ subCommands: {
11
+ component,
12
+ locale
13
+ }
14
+ })
@@ -1,64 +1,64 @@
1
- import { existsSync, promises as fsp } from 'node:fs'
2
- import { resolve } from 'pathe'
3
- import { consola } from 'consola'
4
- import { appendFile, sortFile, normalizeLocale } from '../../utils.mjs'
5
- import { defineCommand } from 'citty'
6
-
7
- export default defineCommand({
8
- meta: {
9
- name: 'locale',
10
- description: 'Make a new locale.'
11
- },
12
- args: {
13
- code: {
14
- description: 'Locale code to create. For example: en.',
15
- required: true
16
- },
17
- name: {
18
- description: 'Locale name to create. For example: English.',
19
- required: true
20
- },
21
- dir: {
22
- description: 'Locale direction. For example: rtl.',
23
- default: 'ltr'
24
- }
25
- },
26
- async setup({ args }) {
27
- const path = resolve('.')
28
- const localePath = resolve(path, `src/runtime/locale`)
29
-
30
- const originLocaleFilePath = resolve(localePath, 'en.ts')
31
- const newLocaleFilePath = resolve(localePath, `${args.code}.ts`)
32
-
33
- // Validate locale code
34
- if (existsSync(newLocaleFilePath)) {
35
- consola.error(`🚨 ${args.code} already exists!`)
36
- process.exit(1)
37
- }
38
-
39
- if (!['ltr', 'rtl'].includes(args.dir)) {
40
- consola.error(`🚨 Direction ${args.dir} not supported!`)
41
- process.exit(1)
42
- }
43
-
44
- if (!args.code.match(/^[a-z]{2}(?:_[a-z]{2,4})?$/)) {
45
- consola.error(`🚨 ${args.code} is not a valid locale code!\nExample: en or en_us`)
46
- process.exit(1)
47
- }
48
-
49
- // Create new locale export
50
- const localeExportFile = resolve(localePath, `index.ts`)
51
- await appendFile(localeExportFile, `export { default as ${args.code} } from './${args.code}'`)
52
- await sortFile(localeExportFile)
53
-
54
- // Create new locale file
55
- await fsp.copyFile(originLocaleFilePath, newLocaleFilePath)
56
- const localeFile = await fsp.readFile(newLocaleFilePath, 'utf-8')
57
- const rewrittenLocaleFile = localeFile
58
- .replace(/name: '(.*)',/, `name: '${args.name}',`)
59
- .replace(/code: '(.*)',/, `code: '${normalizeLocale(args.code)}',${(args.dir && args.dir !== 'ltr') ? `\n dir: '${args.dir}',` : ''}`)
60
- await fsp.writeFile(newLocaleFilePath, rewrittenLocaleFile)
61
-
62
- consola.success(`🪄 Generated ${newLocaleFilePath}`)
63
- }
64
- })
1
+ import { existsSync, promises as fsp } from 'node:fs'
2
+ import { resolve } from 'pathe'
3
+ import { consola } from 'consola'
4
+ import { appendFile, sortFile, normalizeLocale } from '../../utils.mjs'
5
+ import { defineCommand } from 'citty'
6
+
7
+ export default defineCommand({
8
+ meta: {
9
+ name: 'locale',
10
+ description: 'Make a new locale.'
11
+ },
12
+ args: {
13
+ code: {
14
+ description: 'Locale code to create. For example: en.',
15
+ required: true
16
+ },
17
+ name: {
18
+ description: 'Locale name to create. For example: English.',
19
+ required: true
20
+ },
21
+ dir: {
22
+ description: 'Locale direction. For example: rtl.',
23
+ default: 'ltr'
24
+ }
25
+ },
26
+ async setup({ args }) {
27
+ const path = resolve('.')
28
+ const localePath = resolve(path, `src/runtime/locale`)
29
+
30
+ const originLocaleFilePath = resolve(localePath, 'en.ts')
31
+ const newLocaleFilePath = resolve(localePath, `${args.code}.ts`)
32
+
33
+ // Validate locale code
34
+ if (existsSync(newLocaleFilePath)) {
35
+ consola.error(`🚨 ${args.code} already exists!`)
36
+ process.exit(1)
37
+ }
38
+
39
+ if (!['ltr', 'rtl'].includes(args.dir)) {
40
+ consola.error(`🚨 Direction ${args.dir} not supported!`)
41
+ process.exit(1)
42
+ }
43
+
44
+ if (!args.code.match(/^[a-z]{2}(?:_[a-z]{2,4})?$/)) {
45
+ consola.error(`🚨 ${args.code} is not a valid locale code!\nExample: en or en_us`)
46
+ process.exit(1)
47
+ }
48
+
49
+ // Create new locale export
50
+ const localeExportFile = resolve(localePath, `index.ts`)
51
+ await appendFile(localeExportFile, `export { default as ${args.code} } from './${args.code}'`)
52
+ await sortFile(localeExportFile)
53
+
54
+ // Create new locale file
55
+ await fsp.copyFile(originLocaleFilePath, newLocaleFilePath)
56
+ const localeFile = await fsp.readFile(newLocaleFilePath, 'utf-8')
57
+ const rewrittenLocaleFile = localeFile
58
+ .replace(/name: '(.*)',/, `name: '${args.name}',`)
59
+ .replace(/code: '(.*)',/, `code: '${normalizeLocale(args.code)}',${(args.dir && args.dir !== 'ltr') ? `\n dir: '${args.dir}',` : ''}`)
60
+ await fsp.writeFile(newLocaleFilePath, rewrittenLocaleFile)
61
+
62
+ consola.success(`🪄 Generated ${newLocaleFilePath}`)
63
+ }
64
+ })
package/cli/index.mjs CHANGED
@@ -1,15 +1,15 @@
1
- #!/usr/bin/env node
2
- import { defineCommand, runMain } from 'citty'
3
- import make from './commands/make/index.mjs'
4
-
5
- const main = defineCommand({
6
- meta: {
7
- name: 'nuxt-ui',
8
- description: 'Nuxt UI CLI'
9
- },
10
- subCommands: {
11
- make
12
- }
13
- })
14
-
15
- runMain(main)
1
+ #!/usr/bin/env node
2
+ import { defineCommand, runMain } from 'citty'
3
+ import make from './commands/make/index.mjs'
4
+
5
+ const main = defineCommand({
6
+ meta: {
7
+ name: 'nuxt-ui',
8
+ description: 'Nuxt UI CLI'
9
+ },
10
+ subCommands: {
11
+ make
12
+ }
13
+ })
14
+
15
+ runMain(main)
package/cli/package.json CHANGED
@@ -1,13 +1,13 @@
1
- {
2
- "name": "@eslamdevui/ui-cli",
3
- "type": "module",
4
- "exports": {
5
- ".": "./index.mjs"
6
- },
7
- "dependencies": {
8
- "citty": "^0.1.6",
9
- "consola": "^3.4.2",
10
- "pathe": "^2.0.3",
11
- "scule": "^1.3.0"
12
- }
13
- }
1
+ {
2
+ "name": "@eslamdevui/ui-cli",
3
+ "type": "module",
4
+ "exports": {
5
+ ".": "./index.mjs"
6
+ },
7
+ "dependencies": {
8
+ "citty": "^0.1.6",
9
+ "consola": "^3.4.2",
10
+ "pathe": "^2.0.3",
11
+ "scule": "^1.3.0"
12
+ }
13
+ }