@byyuurin/ui 0.0.6 → 0.0.8

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 (198) hide show
  1. package/README.md +4 -5
  2. package/dist/module.cjs +5 -0
  3. package/dist/module.json +12 -0
  4. package/dist/{nuxt.mjs → module.mjs} +8 -8
  5. package/dist/module.mjs.map +1 -0
  6. package/dist/runtime/app/injections.d.ts +16 -0
  7. package/dist/runtime/app/injections.js +31 -0
  8. package/dist/runtime/components/Accordion.vue +27 -38
  9. package/dist/runtime/components/Alert.vue +23 -16
  10. package/dist/runtime/components/App.vue +15 -15
  11. package/dist/runtime/components/Avatar.vue +73 -0
  12. package/dist/runtime/components/AvatarGroup.vue +90 -0
  13. package/dist/runtime/components/Badge.vue +15 -10
  14. package/dist/runtime/components/Breadcrumb.vue +105 -0
  15. package/dist/runtime/components/Button.vue +22 -23
  16. package/dist/runtime/components/ButtonGroup.vue +12 -10
  17. package/dist/runtime/components/Card.vue +16 -8
  18. package/dist/runtime/components/Carousel.vue +19 -12
  19. package/dist/runtime/components/Checkbox.vue +16 -12
  20. package/dist/runtime/components/Chip.vue +17 -12
  21. package/dist/runtime/components/Collapsible.vue +56 -0
  22. package/dist/runtime/components/Drawer.vue +18 -17
  23. package/dist/runtime/components/Input.vue +28 -28
  24. package/dist/runtime/components/InputNumber.vue +169 -0
  25. package/dist/runtime/components/Kbd.vue +51 -0
  26. package/dist/runtime/components/Link.vue +301 -72
  27. package/dist/runtime/components/LinkBase.vue +88 -0
  28. package/dist/runtime/components/Modal.vue +11 -9
  29. package/dist/runtime/components/ModalProvider.vue +2 -1
  30. package/dist/runtime/components/Pagination.vue +30 -30
  31. package/dist/runtime/components/PinInput.vue +7 -7
  32. package/dist/runtime/components/Popover.vue +7 -7
  33. package/dist/runtime/components/Progress.vue +165 -0
  34. package/dist/runtime/components/RadioGroup.vue +33 -29
  35. package/dist/runtime/components/Select.vue +40 -40
  36. package/dist/runtime/components/Separator.vue +63 -0
  37. package/dist/runtime/components/Skeleton.vue +33 -0
  38. package/dist/runtime/components/Slider.vue +6 -6
  39. package/dist/runtime/components/Switch.vue +14 -15
  40. package/dist/runtime/components/Table.vue +300 -0
  41. package/dist/runtime/components/Tabs.vue +25 -21
  42. package/dist/runtime/components/Textarea.vue +11 -11
  43. package/dist/runtime/components/Toast.vue +15 -14
  44. package/dist/runtime/components/Toaster.vue +5 -39
  45. package/dist/runtime/components/Tooltip.vue +7 -7
  46. package/dist/runtime/composables/useAvatarGroup.d.ts +4 -0
  47. package/dist/runtime/composables/useAvatarGroup.js +8 -0
  48. package/dist/runtime/composables/useButtonGroup.d.ts +4 -12
  49. package/dist/runtime/composables/{useButtonGroup.mjs → useButtonGroup.js} +1 -6
  50. package/dist/runtime/composables/useComponentIcons.d.ts +9 -9
  51. package/dist/runtime/composables/useComponentIcons.js +24 -0
  52. package/dist/runtime/composables/useKbd.d.ts +35 -0
  53. package/dist/runtime/composables/useKbd.js +49 -0
  54. package/dist/runtime/composables/useLocale.d.ts +8 -0
  55. package/dist/runtime/composables/useLocale.js +22 -0
  56. package/dist/runtime/composables/useModal.d.ts +2 -7
  57. package/dist/runtime/composables/{useModal.mjs → useModal.js} +1 -6
  58. package/dist/runtime/composables/useTheme.d.ts +2 -6
  59. package/dist/runtime/composables/useTheme.js +16 -0
  60. package/dist/runtime/composables/useToast.d.ts +1 -1
  61. package/dist/runtime/index.d.ts +40 -0
  62. package/dist/runtime/index.js +40 -0
  63. package/dist/runtime/locale/en.d.ts +2 -0
  64. package/dist/runtime/locale/en.js +28 -0
  65. package/dist/runtime/locale/index.d.ts +2 -0
  66. package/dist/runtime/locale/index.js +2 -0
  67. package/dist/runtime/locale/zh-tw.d.ts +2 -0
  68. package/dist/runtime/locale/zh-tw.js +28 -0
  69. package/dist/runtime/theme/accordion.d.ts +5 -5
  70. package/dist/runtime/theme/{accordion.mjs → accordion.js} +2 -2
  71. package/dist/runtime/theme/alert.d.ts +2 -2
  72. package/dist/runtime/theme/{alert.mjs → alert.js} +4 -4
  73. package/dist/runtime/theme/app.d.ts +8 -5
  74. package/dist/runtime/theme/app.js +18 -0
  75. package/dist/runtime/theme/avatar-group.d.ts +52 -0
  76. package/dist/runtime/theme/avatar-group.js +32 -0
  77. package/dist/runtime/theme/avatar.d.ts +56 -0
  78. package/dist/runtime/theme/avatar.js +34 -0
  79. package/dist/runtime/theme/badge.d.ts +45 -21
  80. package/dist/runtime/theme/{badge.mjs → badge.js} +2 -2
  81. package/dist/runtime/theme/breadcrumb.d.ts +67 -0
  82. package/dist/runtime/theme/breadcrumb.js +44 -0
  83. package/dist/runtime/theme/button-group.d.ts +2 -2
  84. package/dist/runtime/theme/button.d.ts +61 -115
  85. package/dist/runtime/theme/button.js +164 -0
  86. package/dist/runtime/theme/card.d.ts +38 -38
  87. package/dist/runtime/theme/card.js +37 -0
  88. package/dist/runtime/theme/carousel.d.ts +2 -2
  89. package/dist/runtime/theme/{carousel.mjs → carousel.js} +2 -2
  90. package/dist/runtime/theme/checkbox.d.ts +1 -1
  91. package/dist/runtime/theme/{checkbox.mjs → checkbox.js} +3 -3
  92. package/dist/runtime/theme/chip.d.ts +47 -14
  93. package/dist/runtime/theme/{chip.mjs → chip.js} +7 -9
  94. package/dist/runtime/theme/collapsible.d.ts +38 -0
  95. package/dist/runtime/theme/collapsible.js +10 -0
  96. package/dist/runtime/theme/drawer.d.ts +43 -43
  97. package/dist/runtime/theme/{drawer.mjs → drawer.js} +33 -22
  98. package/dist/runtime/theme/index.d.ts +37 -27
  99. package/dist/runtime/theme/index.js +37 -0
  100. package/dist/runtime/theme/input-number.d.ts +141 -0
  101. package/dist/runtime/theme/input-number.js +95 -0
  102. package/dist/runtime/theme/input.d.ts +77 -105
  103. package/dist/runtime/theme/{input.mjs → input.js} +25 -25
  104. package/dist/runtime/theme/kbd.d.ts +39 -0
  105. package/dist/runtime/theme/kbd.js +26 -0
  106. package/dist/runtime/theme/link.d.ts +2 -2
  107. package/dist/runtime/theme/{link.mjs → link.js} +1 -1
  108. package/dist/runtime/theme/modal.d.ts +31 -8
  109. package/dist/runtime/theme/{modal.mjs → modal.js} +4 -9
  110. package/dist/runtime/theme/pagination.d.ts +17 -17
  111. package/dist/runtime/theme/pinInput.d.ts +42 -42
  112. package/dist/runtime/theme/{pinInput.mjs → pinInput.js} +10 -10
  113. package/dist/runtime/theme/popover.d.ts +8 -8
  114. package/dist/runtime/theme/{popover.mjs → popover.js} +1 -1
  115. package/dist/runtime/theme/progress.d.ts +122 -0
  116. package/dist/runtime/theme/progress.js +95 -0
  117. package/dist/runtime/theme/radio-group.d.ts +1 -1
  118. package/dist/runtime/theme/{radio-group.mjs → radio-group.js} +1 -1
  119. package/dist/runtime/theme/scroll-area.d.ts +17 -17
  120. package/dist/runtime/theme/{scroll-area.mjs → scroll-area.js} +2 -2
  121. package/dist/runtime/theme/select.d.ts +93 -108
  122. package/dist/runtime/theme/{select.mjs → select.js} +31 -31
  123. package/dist/runtime/theme/separator.d.ts +95 -0
  124. package/dist/runtime/theme/separator.js +53 -0
  125. package/dist/runtime/theme/skeleton.d.ts +8 -0
  126. package/dist/runtime/theme/skeleton.js +7 -0
  127. package/dist/runtime/theme/slider.d.ts +1 -1
  128. package/dist/runtime/theme/{slider.mjs → slider.js} +3 -3
  129. package/dist/runtime/theme/switch.d.ts +1 -1
  130. package/dist/runtime/theme/{switch.mjs → switch.js} +3 -3
  131. package/dist/runtime/theme/table.d.ts +89 -0
  132. package/dist/runtime/theme/table.js +35 -0
  133. package/dist/runtime/theme/tabs.d.ts +70 -53
  134. package/dist/runtime/theme/{tabs.mjs → tabs.js} +12 -12
  135. package/dist/runtime/theme/textarea.d.ts +43 -37
  136. package/dist/runtime/theme/{textarea.mjs → textarea.js} +10 -10
  137. package/dist/runtime/theme/toast.d.ts +2 -2
  138. package/dist/runtime/theme/{toast.mjs → toast.js} +3 -3
  139. package/dist/runtime/theme/toaster.d.ts +42 -27
  140. package/dist/runtime/theme/tooltip.d.ts +11 -11
  141. package/dist/runtime/theme/tooltip.js +11 -0
  142. package/dist/runtime/types/components.d.ts +37 -27
  143. package/dist/runtime/types/index.d.ts +5 -4
  144. package/dist/runtime/types/index.js +3 -0
  145. package/dist/runtime/types/locale.d.ts +23 -0
  146. package/dist/runtime/types/locale.js +0 -0
  147. package/dist/runtime/types/utils.d.ts +1 -1
  148. package/dist/runtime/types/utils.js +0 -0
  149. package/dist/runtime/utils/index.d.ts +9 -4
  150. package/dist/runtime/utils/{index.mjs → index.js} +9 -7
  151. package/dist/runtime/utils/link.d.ts +22 -7
  152. package/dist/runtime/utils/link.js +30 -0
  153. package/dist/runtime/utils/styler.d.ts +1 -1
  154. package/dist/runtime/utils/translator.d.ts +18 -0
  155. package/dist/runtime/utils/translator.js +8 -0
  156. package/dist/runtime/vue/stubs.d.ts +9 -0
  157. package/dist/runtime/vue/stubs.js +16 -0
  158. package/dist/shared/ui.ba24b380.mjs +4 -0
  159. package/dist/shared/ui.ba24b380.mjs.map +1 -0
  160. package/dist/types.d.mts +1 -0
  161. package/dist/types.d.ts +1 -0
  162. package/dist/unocss.d.mts +6 -11
  163. package/dist/unocss.d.ts +6 -11
  164. package/dist/unocss.mjs +40 -21
  165. package/dist/unocss.mjs.map +1 -1
  166. package/dist/unplugin.mjs +35 -8
  167. package/dist/unplugin.mjs.map +1 -1
  168. package/dist/vite.d.mts +0 -1
  169. package/dist/vite.d.ts +0 -1
  170. package/dist/vite.mjs +3 -1
  171. package/dist/vite.mjs.map +1 -1
  172. package/package.json +50 -38
  173. package/dist/index.d.ts +0 -29
  174. package/dist/index.mjs +0 -29
  175. package/dist/nuxt.mjs.map +0 -1
  176. package/dist/runtime/composables/useComponentIcons.mjs +0 -24
  177. package/dist/runtime/composables/useTheme.mjs +0 -26
  178. package/dist/runtime/theme/app.mjs +0 -15
  179. package/dist/runtime/theme/button.mjs +0 -148
  180. package/dist/runtime/theme/card.mjs +0 -14
  181. package/dist/runtime/theme/index.mjs +0 -27
  182. package/dist/runtime/theme/tooltip.mjs +0 -11
  183. package/dist/runtime/types/components.mjs +0 -27
  184. package/dist/runtime/types/index.mjs +0 -2
  185. package/dist/runtime/utils/link.mjs +0 -4
  186. package/dist/shared/ui.D4zm1r0C.mjs +0 -4
  187. package/dist/shared/ui.D4zm1r0C.mjs.map +0 -1
  188. /package/dist/{nuxt.d.mts → module.d.mts} +0 -0
  189. /package/dist/{nuxt.d.ts → module.d.ts} +0 -0
  190. /package/dist/runtime/composables/{useToast.mjs → useToast.js} +0 -0
  191. /package/dist/runtime/theme/{button-group.mjs → button-group.js} +0 -0
  192. /package/dist/runtime/theme/{pagination.mjs → pagination.js} +0 -0
  193. /package/dist/runtime/theme/{toaster.mjs → toaster.js} +0 -0
  194. /package/dist/runtime/types/{utils.mjs → components.js} +0 -0
  195. /package/dist/runtime/utils/{extend-theme.mjs → extend-theme.js} +0 -0
  196. /package/dist/runtime/utils/{styler.mjs → styler.js} +0 -0
  197. /package/dist/runtime/{composables/defineInjection.d.ts → utils/vue.d.ts} +0 -0
  198. /package/dist/runtime/{composables/defineInjection.mjs → utils/vue.js} +0 -0
package/dist/unplugin.mjs CHANGED
@@ -5,7 +5,9 @@ import { defu } from 'defu';
5
5
  import AutoImport from 'unplugin-auto-import';
6
6
  import { globSync } from 'tinyglobby';
7
7
  import AutoImportComponents from 'unplugin-vue-components';
8
- import { p as packageName } from './shared/ui.D4zm1r0C.mjs';
8
+ import MagicString from 'magic-string';
9
+ import { resolvePathSync } from 'mlly';
10
+ import { n as name } from './shared/ui.ba24b380.mjs';
9
11
 
10
12
  function AutoImportPlugin(options, meta) {
11
13
  const pluginOptions = defu(options.autoImport, {
@@ -21,11 +23,6 @@ function ComponentImportPlugin(options, meta) {
21
23
  const componentNames = new Set(components.map((c) => `${prefix}${c.replace(/\.vue$/, "")}`));
22
24
  const pluginOptions = defu(options.components, {
23
25
  dts: options.dts ?? true,
24
- exclude: [
25
- /[\\/]node_modules[\\/](?!\.pnpm|@byyuurin\/ui)/,
26
- /[\\/]\.git[\\/]/,
27
- /[\\/]\.nuxt[\\/]/
28
- ],
29
26
  resolvers: [
30
27
  (componentName) => {
31
28
  if (componentNames.has(componentName))
@@ -36,9 +33,39 @@ function ComponentImportPlugin(options, meta) {
36
33
  return AutoImportComponents.raw(pluginOptions, meta);
37
34
  }
38
35
 
36
+ function NuxtEnvironmentPlugin() {
37
+ const stubPath = resolvePathSync("../runtime/vue/stubs", { extensions: [".ts", ".mjs", ".js"], url: import.meta.url });
38
+ const name = "byyuurin:ui";
39
+ const resolveId = "#imports";
40
+ return {
41
+ name,
42
+ enforce: "pre",
43
+ resolveId(id) {
44
+ if (id === resolveId)
45
+ return stubPath;
46
+ },
47
+ transformInclude(id) {
48
+ return normalize(id).includes(runtimeDir);
49
+ },
50
+ transform(code) {
51
+ if (code.includes("import.meta.client")) {
52
+ const s = new MagicString(code);
53
+ s.replaceAll("import.meta.client", "true");
54
+ if (s.hasChanged()) {
55
+ return {
56
+ code: s.toString(),
57
+ map: s.generateMap({ hires: true })
58
+ };
59
+ }
60
+ }
61
+ }
62
+ };
63
+ }
64
+
39
65
  const runtimeDir = normalize(fileURLToPath(new URL("runtime", import.meta.url)));
40
66
  const unplugin = createUnplugin((options = {}, meta) => {
41
67
  return [
68
+ NuxtEnvironmentPlugin(),
42
69
  ComponentImportPlugin(options, meta),
43
70
  AutoImportPlugin(options, meta),
44
71
  {
@@ -47,7 +74,7 @@ const unplugin = createUnplugin((options = {}, meta) => {
47
74
  config() {
48
75
  return {
49
76
  optimizeDeps: {
50
- include: [`${packageName}/unocss`]
77
+ include: [`${name}/unocss`]
51
78
  }
52
79
  };
53
80
  },
@@ -57,7 +84,7 @@ const unplugin = createUnplugin((options = {}, meta) => {
57
84
  "unplugin-vue-components"
58
85
  ];
59
86
  const plugins = config.plugins || [];
60
- const makeMessage = (pluginName) => `[${packageName}] Multiple instances of \`${pluginName}\` detected. ${packageName} includes \`${pluginName}\` already, and you can configure it using \`${pluginName}\` option in ${packageName} module options.`;
87
+ const makeMessage = (pluginName) => `[${name}] Multiple instances of \`${pluginName}\` detected. ${name} includes \`${pluginName}\` already, and you can configure it using \`${pluginName}\` option in ${name} module options.`;
61
88
  for (const pluginName of checkPluginNames) {
62
89
  if (plugins.filter((i) => i.name === pluginName).length > 1)
63
90
  throw new Error(makeMessage(pluginName));
@@ -1 +1 @@
1
- {"version":3,"file":"unplugin.mjs","sources":["../src/_unplugin/auto-import.ts","../src/_unplugin/components.ts","../src/unplugin.ts"],"sourcesContent":["import { defu } from 'defu'\nimport { join } from 'pathe'\nimport type { UnpluginContextMeta, UnpluginOptions } from 'unplugin'\nimport AutoImport from 'unplugin-auto-import'\nimport type { Options as AutoImportOptions } from 'unplugin-auto-import/types'\nimport type { UIOptions } from '../unplugin'\nimport { runtimeDir } from '../unplugin'\n\n/** This plugin adds all the UI composables as auto-imports. */\n// ref: https://github.com/nuxt/ui/blob/6c20f8a9ea03273a795c5f88c071830decd54c1e/src/plugins/auto-import.ts\nexport default function AutoImportPlugin(options: UIOptions, meta: UnpluginContextMeta): UnpluginOptions {\n const pluginOptions = defu(options.autoImport, <AutoImportOptions>{\n dts: options.dts ?? true,\n dirs: [join(runtimeDir, 'composables')],\n })\n\n return AutoImport.raw(pluginOptions, meta) as UnpluginOptions\n}\n","import { defu } from 'defu'\r\nimport { join } from 'pathe'\r\nimport { globSync } from 'tinyglobby'\r\nimport type { UnpluginContextMeta, UnpluginOptions } from 'unplugin'\r\nimport AutoImportComponents from 'unplugin-vue-components'\r\nimport type { Options as ComponentsOptions } from 'unplugin-vue-components/types'\r\nimport type { UIOptions } from '../unplugin'\r\nimport { runtimeDir } from '../unplugin'\r\n\r\n/** This plugin adds all the Nuxt UI components as auto-imports. */\r\n// ref: https://github.com/nuxt/ui/tree/6c20f8a9ea03273a795c5f88c071830decd54c1e/src/plugins/components.ts\r\nexport default function ComponentImportPlugin(options: UIOptions, meta: UnpluginContextMeta) {\r\n const { prefix = 'U' } = options\r\n const components = globSync('**/*.vue', { cwd: join(runtimeDir, 'components') })\r\n const componentNames = new Set(components.map((c) => `${prefix}${c.replace(/\\.vue$/, '')}`))\r\n\r\n const pluginOptions = defu(options.components, <ComponentsOptions>{\r\n dts: options.dts ?? true,\r\n exclude: [\r\n /[\\\\/]node_modules[\\\\/](?!\\.pnpm|@byyuurin\\/ui)/,\r\n /[\\\\/]\\.git[\\\\/]/,\r\n /[\\\\/]\\.nuxt[\\\\/]/,\r\n ],\r\n resolvers: [\r\n (componentName) => {\r\n if (componentNames.has(componentName))\r\n return { name: 'default', from: join(runtimeDir, 'components', `${componentName.slice(prefix.length)}.vue`) }\r\n },\r\n ],\r\n })\r\n\r\n return AutoImportComponents.raw(pluginOptions, meta) as UnpluginOptions\r\n}\r\n","import { fileURLToPath } from 'node:url'\r\nimport { normalize } from 'pathe'\r\nimport type { UnpluginOptions } from 'unplugin'\r\nimport { createUnplugin } from 'unplugin'\r\nimport type { Options as AutoImportOptions } from 'unplugin-auto-import/types'\r\nimport type { Options as ComponentsOptions } from 'unplugin-vue-components/types'\r\nimport AutoImportPlugin from './_unplugin/auto-import'\r\nimport ComponentImportPlugin from './_unplugin/components'\r\nimport { packageName } from './shared'\r\n\r\nexport const runtimeDir = normalize(fileURLToPath(new URL('runtime', import.meta.url)))\r\n\r\nexport interface UIOptions {\r\n /**\r\n * prefix for components used in templates\r\n *\r\n * @default \"U\"\r\n */\r\n prefix?: string\r\n /** Whether to generate declaration files for auto-imported components. */\r\n dts?: boolean\r\n /**\r\n * Override options for `unplugin-auto-import`\r\n */\r\n autoImport?: Partial<AutoImportOptions>\r\n /**\r\n * Override options for `unplugin-vue-components`\r\n */\r\n components?: Partial<ComponentsOptions>\r\n}\r\n\r\nexport const unplugin = createUnplugin<UIOptions | undefined>((options: UIOptions = {}, meta) => {\r\n return [\r\n ComponentImportPlugin(options, meta),\r\n AutoImportPlugin(options, meta),\r\n <UnpluginOptions>{\r\n name: 'byyuurin:ui:plugins-duplication-detection',\r\n vite: {\r\n config() {\r\n return {\r\n optimizeDeps: {\r\n include: [`${packageName}/unocss`],\r\n },\r\n }\r\n },\r\n configResolved(config) {\r\n const checkPluginNames = [\r\n 'unplugin-auto-import',\r\n 'unplugin-vue-components',\r\n ]\r\n const plugins = config.plugins || []\r\n\r\n const makeMessage = (pluginName: string) => `[${packageName}] Multiple instances of \\`${pluginName}\\` detected. ${packageName} includes \\`${pluginName}\\` already, and you can configure it using \\`${pluginName}\\` option in ${packageName} module options.`\r\n\r\n for (const pluginName of checkPluginNames) {\r\n if (plugins.filter((i) => i.name === pluginName).length > 1)\r\n throw new Error(makeMessage(pluginName))\r\n }\r\n },\r\n },\r\n },\r\n ]\r\n})\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unplugin.mjs","sources":["../src/_unplugin/auto-import.ts","../src/_unplugin/components.ts","../src/_unplugin/nuxt-environment.ts","../src/unplugin.ts"],"sourcesContent":["import { defu } from 'defu'\nimport { join } from 'pathe'\nimport type { UnpluginContextMeta, UnpluginOptions } from 'unplugin'\nimport AutoImport from 'unplugin-auto-import'\nimport type { Options as AutoImportOptions } from 'unplugin-auto-import/types'\nimport type { UIOptions } from '../unplugin'\nimport { runtimeDir } from '../unplugin'\n\n/** This plugin adds all the UI composables as auto-imports. */\n// ref: https://github.com/nuxt/ui/blob/6c20f8a9ea03273a795c5f88c071830decd54c1e/src/plugins/auto-import.ts\nexport default function AutoImportPlugin(options: UIOptions, meta: UnpluginContextMeta): UnpluginOptions {\n const pluginOptions = defu(options.autoImport, <AutoImportOptions>{\n dts: options.dts ?? true,\n dirs: [join(runtimeDir, 'composables')],\n })\n\n return AutoImport.raw(pluginOptions, meta) as UnpluginOptions\n}\n","import { defu } from 'defu'\r\nimport { join } from 'pathe'\r\nimport { globSync } from 'tinyglobby'\r\nimport type { UnpluginContextMeta, UnpluginOptions } from 'unplugin'\r\nimport AutoImportComponents from 'unplugin-vue-components'\r\nimport type { Options as ComponentsOptions } from 'unplugin-vue-components/types'\r\nimport type { UIOptions } from '../unplugin'\r\nimport { runtimeDir } from '../unplugin'\r\n\r\n/** This plugin adds all the Nuxt UI components as auto-imports. */\r\n// ref: https://github.com/nuxt/ui/tree/6c20f8a9ea03273a795c5f88c071830decd54c1e/src/plugins/components.ts\r\nexport default function ComponentImportPlugin(options: UIOptions, meta: UnpluginContextMeta) {\r\n const { prefix = 'U' } = options\r\n const components = globSync('**/*.vue', { cwd: join(runtimeDir, 'components') })\r\n const componentNames = new Set(components.map((c) => `${prefix}${c.replace(/\\.vue$/, '')}`))\r\n\r\n const pluginOptions = defu(options.components, <ComponentsOptions>{\r\n dts: options.dts ?? true,\r\n resolvers: [\r\n (componentName) => {\r\n if (componentNames.has(componentName))\r\n return { name: 'default', from: join(runtimeDir, 'components', `${componentName.slice(prefix.length)}.vue`) }\r\n },\r\n ],\r\n })\r\n\r\n return AutoImportComponents.raw(pluginOptions, meta) as UnpluginOptions\r\n}\r\n","import MagicString from 'magic-string'\nimport { resolvePathSync } from 'mlly'\nimport { normalize } from 'pathe'\nimport type { UnpluginOptions } from 'unplugin'\nimport { runtimeDir } from '../unplugin'\n\n/**\n * This plugin normalises Nuxt environment (#imports) and `import.meta.client` within the UI components.\n */\n// ref: https://github.com/nuxt/ui/blob/0f99a4cdbcbca3090ef0a58f475be46de4eeb9ff/src/plugins/nuxt-environment.ts\nexport default function NuxtEnvironmentPlugin(): UnpluginOptions {\n const stubPath = resolvePathSync('../runtime/vue/stubs', { extensions: ['.ts', '.mjs', '.js'], url: import.meta.url })\n const name = 'byyuurin:ui'\n const resolveId = '#imports'\n\n return {\n name,\n enforce: 'pre',\n resolveId(id) {\n // this is implemented here rather than in a vite `config` hook for cross-builder support\n if (id === resolveId)\n return stubPath\n },\n transformInclude(id) {\n return normalize(id).includes(runtimeDir)\n },\n transform(code) {\n if (code.includes('import.meta.client')) {\n const s = new MagicString(code)\n s.replaceAll('import.meta.client', 'true')\n\n if (s.hasChanged()) {\n return {\n code: s.toString(),\n map: s.generateMap({ hires: true }),\n }\n }\n }\n },\n }\n}\n","import { fileURLToPath } from 'node:url'\r\nimport { normalize } from 'pathe'\r\nimport type { UnpluginOptions } from 'unplugin'\r\nimport { createUnplugin } from 'unplugin'\r\nimport type { Options as AutoImportOptions } from 'unplugin-auto-import/types'\r\nimport type { Options as ComponentsOptions } from 'unplugin-vue-components/types'\r\nimport AutoImportPlugin from './_unplugin/auto-import'\r\nimport ComponentImportPlugin from './_unplugin/components'\r\nimport NuxtEnvironmentPlugin from './_unplugin/nuxt-environment'\r\nimport { packageName } from './shared'\r\n\r\nexport const runtimeDir = normalize(fileURLToPath(new URL('runtime', import.meta.url)))\r\n\r\nexport interface UIOptions {\r\n /**\r\n * prefix for components used in templates\r\n *\r\n * @default \"U\"\r\n */\r\n prefix?: string\r\n /** Whether to generate declaration files for auto-imported components. */\r\n dts?: boolean\r\n /**\r\n * Override options for `unplugin-auto-import`\r\n */\r\n autoImport?: Partial<AutoImportOptions>\r\n /**\r\n * Override options for `unplugin-vue-components`\r\n */\r\n components?: Partial<ComponentsOptions>\r\n}\r\n\r\nexport const unplugin = createUnplugin<UIOptions | undefined>((options: UIOptions = {}, meta) => {\r\n return [\r\n NuxtEnvironmentPlugin(),\r\n ComponentImportPlugin(options, meta),\r\n AutoImportPlugin(options, meta),\r\n <UnpluginOptions>{\r\n name: 'byyuurin:ui:plugins-duplication-detection',\r\n vite: {\r\n config() {\r\n return {\r\n optimizeDeps: {\r\n include: [`${packageName}/unocss`],\r\n },\r\n }\r\n },\r\n configResolved(config) {\r\n const checkPluginNames = [\r\n 'unplugin-auto-import',\r\n 'unplugin-vue-components',\r\n ]\r\n const plugins = config.plugins || []\r\n\r\n const makeMessage = (pluginName: string) => `[${packageName}] Multiple instances of \\`${pluginName}\\` detected. ${packageName} includes \\`${pluginName}\\` already, and you can configure it using \\`${pluginName}\\` option in ${packageName} module options.`\r\n\r\n for (const pluginName of checkPluginNames) {\r\n if (plugins.filter((i) => i.name === pluginName).length > 1)\r\n throw new Error(makeMessage(pluginName))\r\n }\r\n },\r\n },\r\n },\r\n ]\r\n})\r\n"],"names":["packageName"],"mappings":"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"}
package/dist/vite.d.mts CHANGED
@@ -1,6 +1,5 @@
1
1
  import * as vite from 'vite';
2
2
  import { UIOptions } from './unplugin.mjs';
3
- export { runtimeDir, unplugin } from './unplugin.mjs';
4
3
  import 'unplugin';
5
4
  import 'unplugin-auto-import/types';
6
5
  import 'unplugin-vue-components/types';
package/dist/vite.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import * as vite from 'vite';
2
2
  import { UIOptions } from './unplugin.js';
3
- export { runtimeDir, unplugin } from './unplugin.js';
4
3
  import 'unplugin';
5
4
  import 'unplugin-auto-import/types';
6
5
  import 'unplugin-vue-components/types';
package/dist/vite.mjs CHANGED
@@ -6,7 +6,9 @@ import 'defu';
6
6
  import 'unplugin-auto-import';
7
7
  import 'tinyglobby';
8
8
  import 'unplugin-vue-components';
9
- import './shared/ui.D4zm1r0C.mjs';
9
+ import 'magic-string';
10
+ import 'mlly';
11
+ import './shared/ui.ba24b380.mjs';
10
12
 
11
13
  const vite = unplugin.vite;
12
14
 
package/dist/vite.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vite.mjs","sources":["../src/vite.ts"],"sourcesContent":["import { unplugin } from './unplugin'\r\n\r\nexport type * from './unplugin'\r\n\r\nexport default unplugin.vite\r\n"],"names":[],"mappings":";;;;;;;;;;AAIA,aAAe,QAAS,CAAA,IAAA;;;;"}
1
+ {"version":3,"file":"vite.mjs","sources":["../src/vite.ts"],"sourcesContent":["import { unplugin } from './unplugin'\r\n\r\nexport type { UIOptions } from './unplugin'\r\n\r\nexport default unplugin.vite\r\n"],"names":[],"mappings":";;;;;;;;;;;;AAIA,aAAe,QAAS,CAAA,IAAA;;;;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@byyuurin/ui",
3
3
  "type": "module",
4
- "version": "0.0.6",
4
+ "version": "0.0.8",
5
5
  "description": "",
6
6
  "author": "Yuurin <byyuurin@gmail.com>",
7
7
  "license": "MIT",
@@ -15,8 +15,8 @@
15
15
  "sideEffects": false,
16
16
  "exports": {
17
17
  ".": {
18
- "types": "./dist/index.d.ts",
19
- "default": "./dist/index.mjs"
18
+ "types": "./dist/runtime/index.d.ts",
19
+ "default": "./dist/runtime/index.js"
20
20
  },
21
21
  "./unplugin": {
22
22
  "types": "./dist/unplugin.d.ts",
@@ -27,26 +27,30 @@
27
27
  "default": "./dist/vite.mjs"
28
28
  },
29
29
  "./nuxt": {
30
- "types": "./dist/nuxt.d.ts",
31
- "default": "./dist/nuxt.mjs"
30
+ "types": "./dist/module.d.ts",
31
+ "default": "./dist/module.mjs"
32
32
  },
33
33
  "./unocss": {
34
34
  "types": "./dist/unocss.d.ts",
35
35
  "default": "./dist/unocss.mjs"
36
36
  },
37
- "./runtime/*": "./dist/runtime/*"
38
- },
39
- "main": "dist/index.mjs",
40
- "module": "dist/index.mjs",
41
- "types": "dist/index.d.ts",
42
- "typesVersions": {
43
- "*": {
44
- "*": [
45
- "./dist/*",
46
- "./dist/index.d.ts"
47
- ]
37
+ "./runtime/index": {
38
+ "types": "./dist/runtime/index.d.ts",
39
+ "default": "./dist/runtime/index.js"
40
+ },
41
+ "./runtime/*": "./dist/runtime/*",
42
+ "./utils/*": {
43
+ "types": "./dist/runtime/utils/*.d.ts",
44
+ "default": "./dist/runtime/utils/*.js"
45
+ },
46
+ "./locale": {
47
+ "types": "./dist/runtime/locale/index.d.ts",
48
+ "default": "./dist/runtime/locale/index.js"
48
49
  }
49
50
  },
51
+ "main": "dist/runtime/index.js",
52
+ "module": "dist/runtime/index.js",
53
+ "types": "dist/runtime/index.d.ts",
50
54
  "files": [
51
55
  "*.d.ts",
52
56
  "dist"
@@ -62,12 +66,14 @@
62
66
  }
63
67
  },
64
68
  "dependencies": {
65
- "@byyuurin/ui-kit": "^0.4.1",
69
+ "@byyuurin/ui-kit": "^0.4.3",
66
70
  "@nuxt/kit": "^3.15.4",
71
+ "@tanstack/vue-table": "^8.21.2",
67
72
  "@unocss/core": "^65.5.0",
68
73
  "@unocss/preset-mini": "^65.5.0",
69
74
  "@unocss/preset-uno": "^65.5.0",
70
- "@vueuse/core": "^12.7.0",
75
+ "@vue/shared": "^3.5.13",
76
+ "@vueuse/core": "^13.0.0",
71
77
  "defu": "^6.1.4",
72
78
  "embla-carousel": "^8.5.2",
73
79
  "embla-carousel-auto-height": "^8.5.2",
@@ -79,41 +85,47 @@
79
85
  "embla-carousel-wheel-gestures": "^8.0.1",
80
86
  "magic-string": "^0.30.17",
81
87
  "mlly": "^1.7.4",
82
- "ohash": "^1.1.4",
88
+ "ohash": "^1.1.6",
83
89
  "pathe": "^2.0.3",
84
- "reka-ui": "^2.0.0",
90
+ "reka-ui": "^2.0.2",
85
91
  "scule": "^1.3.0",
86
92
  "tinyglobby": "^0.2.12",
93
+ "ufo": "^1.5.4",
87
94
  "unplugin": "^2.2.0",
88
- "unplugin-auto-import": "^19.1.0",
89
- "unplugin-vue-components": "^28.4.0",
95
+ "unplugin-auto-import": "^19.1.1",
96
+ "unplugin-vue-components": "^28.4.1",
90
97
  "vaul-vue": "^0.3.0",
91
- "vue-component-type-helpers": "^2.2.2"
98
+ "vue-component-type-helpers": "^2.2.8",
99
+ "vue-router": "^4.5.0"
92
100
  },
93
101
  "devDependencies": {
94
- "@antfu/ni": "^23.3.1",
95
- "@byyuurin/eslint-config": "^1.7.1",
102
+ "@antfu/ni": "^24.1.0",
103
+ "@byyuurin/eslint-config": "^1.7.2",
104
+ "@nuxt/eslint-config": "^1.2.0",
105
+ "@nuxt/module-builder": "^0.8.4",
96
106
  "@nuxt/schema": "^3.15.4",
97
- "@types/node": "^22.13.1",
107
+ "@nuxt/test-utils": "^3.17.2",
108
+ "@types/node": "^22.13.10",
98
109
  "@unocss/reset": "^65.5.0",
99
110
  "@vitejs/plugin-vue": "^5.2.1",
100
111
  "bumpp": "^10.0.3",
101
- "eslint": "^9.20.1",
112
+ "eslint": "^9.22.0",
102
113
  "eslint-plugin-format": "1.0.1",
103
114
  "esno": "^4.8.0",
104
115
  "lint-staged": "^15.4.3",
116
+ "nuxt": "^3.15.4",
105
117
  "simple-git-hooks": "^2.11.1",
106
- "typescript": "^5.7.3",
107
- "unbuild": "^3.3.1",
118
+ "typescript": "~5.6.3",
108
119
  "unocss": "^65.5.0",
109
- "vite": "^6.0.11",
110
- "vite-plugin-inspect": "^10.2.1",
111
- "vitest": "^3.0.6",
120
+ "vite": "^6.2.1",
121
+ "vite-plugin-inspect": "^11.0.0",
122
+ "vitest": "^3.0.8",
112
123
  "vue": "^3.5.13",
113
- "vue-tsc": "^2.2.2"
124
+ "vue-tsc": "^2.2.8"
114
125
  },
115
126
  "resolutions": {
116
- "@byyuurin/ui": "workspace:*"
127
+ "@byyuurin/ui": "workspace:*",
128
+ "vue-tsc": "2.2.0"
117
129
  },
118
130
  "simple-git-hooks": {
119
131
  "pre-commit": "pnpm lint-staged"
@@ -122,14 +134,14 @@
122
134
  "*": "eslint --fix"
123
135
  },
124
136
  "scripts": {
125
- "build": "unbuild",
126
- "stub": "unbuild --stub",
137
+ "dev": "nuxi dev playground/nuxt",
138
+ "dev:build": "nuxi build playground/nuxt",
139
+ "dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground/nuxt",
127
140
  "dev:vue": "pnpm --filter \"./playground/vue\" run dev",
128
- "dev:nuxt": "pnpm --filter \"./playground/nuxt\" run dev",
129
141
  "lint": "eslint .",
130
142
  "release": "bumpp && pnpm publish",
131
143
  "start": "esno src/index.ts",
132
144
  "test": "vitest",
133
- "typecheck": "tsc --noEmit"
145
+ "test:types": "vue-tsc --noEmit && nuxi typecheck playground/nuxt"
134
146
  }
135
147
  }
package/dist/index.d.ts DELETED
@@ -1,29 +0,0 @@
1
- export { default as Accordion } from './runtime/components/Accordion.vue';
2
- export { default as Alert } from './runtime/components/Alert.vue';
3
- export { default as App } from './runtime/components/App.vue';
4
- export { default as Badge } from './runtime/components/Badge.vue';
5
- export { default as Button } from './runtime/components/Button.vue';
6
- export { default as ButtonGroup } from './runtime/components/ButtonGroup.vue';
7
- export { default as Card } from './runtime/components/Card.vue';
8
- export { default as Carousel } from './runtime/components/Carousel.vue';
9
- export { default as Checkbox } from './runtime/components/Checkbox.vue';
10
- export { default as Chip } from './runtime/components/Chip.vue';
11
- export { default as Drawer } from './runtime/components/Drawer.vue';
12
- export { default as Input } from './runtime/components/Input.vue';
13
- export { default as Link } from './runtime/components/Link.vue';
14
- export { default as Modal } from './runtime/components/Modal.vue';
15
- export { default as ModalProvider } from './runtime/components/ModalProvider.vue';
16
- export { default as Pagination } from './runtime/components/Pagination.vue';
17
- export { default as PinInput } from './runtime/components/PinInput.vue';
18
- export { default as Popover } from './runtime/components/Popover.vue';
19
- export { default as RadioGroup } from './runtime/components/RadioGroup.vue';
20
- export { default as ScrollArea } from './runtime/components/ScrollArea.vue';
21
- export { default as Select } from './runtime/components/Select.vue';
22
- export { default as Slider } from './runtime/components/Slider.vue';
23
- export { default as Switch } from './runtime/components/Switch.vue';
24
- export { default as Tabs } from './runtime/components/Tabs.vue';
25
- export { default as Textarea } from './runtime/components/Textarea.vue';
26
- export { default as Toast } from './runtime/components/Toast.vue';
27
- export { default as Toaster } from './runtime/components/Toaster.vue';
28
- export { default as Tooltip } from './runtime/components/Tooltip.vue';
29
- export * from './runtime/types';
package/dist/index.mjs DELETED
@@ -1,29 +0,0 @@
1
- export { default as Accordion } from "./runtime/components/Accordion.vue";
2
- export { default as Alert } from "./runtime/components/Alert.vue";
3
- export { default as App } from "./runtime/components/App.vue";
4
- export { default as Badge } from "./runtime/components/Badge.vue";
5
- export { default as Button } from "./runtime/components/Button.vue";
6
- export { default as ButtonGroup } from "./runtime/components/ButtonGroup.vue";
7
- export { default as Card } from "./runtime/components/Card.vue";
8
- export { default as Carousel } from "./runtime/components/Carousel.vue";
9
- export { default as Checkbox } from "./runtime/components/Checkbox.vue";
10
- export { default as Chip } from "./runtime/components/Chip.vue";
11
- export { default as Drawer } from "./runtime/components/Drawer.vue";
12
- export { default as Input } from "./runtime/components/Input.vue";
13
- export { default as Link } from "./runtime/components/Link.vue";
14
- export { default as Modal } from "./runtime/components/Modal.vue";
15
- export { default as ModalProvider } from "./runtime/components/ModalProvider.vue";
16
- export { default as Pagination } from "./runtime/components/Pagination.vue";
17
- export { default as PinInput } from "./runtime/components/PinInput.vue";
18
- export { default as Popover } from "./runtime/components/Popover.vue";
19
- export { default as RadioGroup } from "./runtime/components/RadioGroup.vue";
20
- export { default as ScrollArea } from "./runtime/components/ScrollArea.vue";
21
- export { default as Select } from "./runtime/components/Select.vue";
22
- export { default as Slider } from "./runtime/components/Slider.vue";
23
- export { default as Switch } from "./runtime/components/Switch.vue";
24
- export { default as Tabs } from "./runtime/components/Tabs.vue";
25
- export { default as Textarea } from "./runtime/components/Textarea.vue";
26
- export { default as Toast } from "./runtime/components/Toast.vue";
27
- export { default as Toaster } from "./runtime/components/Toaster.vue";
28
- export { default as Tooltip } from "./runtime/components/Tooltip.vue";
29
- export * from "./runtime/types/index.mjs";
package/dist/nuxt.mjs.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"nuxt.mjs","sources":["../src/nuxt.ts"],"sourcesContent":["import { addComponentsDir, addImportsDir, createResolver, defineNuxtModule, useLogger } from '@nuxt/kit'\r\nimport type {} from '@nuxt/schema' // Mandatory to avoid a bug when building\r\nimport { packageName } from './shared'\r\n\r\nexport interface ModuleOptions {\r\n /**\r\n * prefix for components used in templates\r\n *\r\n * @default \"U\"\r\n */\r\n prefix?: string\r\n}\r\n\r\nexport default defineNuxtModule<ModuleOptions>({\r\n meta: {\r\n name: packageName,\r\n configKey: 'ui',\r\n compatibility: {\r\n nuxt: '>=3.13.1',\r\n },\r\n },\r\n defaults: {\r\n prefix: 'U',\r\n },\r\n setup(options, nuxt) {\r\n const logger = useLogger(packageName)\r\n const { resolve } = createResolver(import.meta.url)\r\n\r\n // Make sure the UnoCSS Nuxt module is installed\r\n if (!nuxt.options.modules.includes('@unocss/nuxt')) {\r\n logger.error(`\\`${packageName}\\` requires the \\`@unocss/nuxt\\` module to be installed.`)\r\n return\r\n }\r\n\r\n nuxt.options.vite.optimizeDeps ??= {}\r\n nuxt.options.vite.optimizeDeps.include ??= []\r\n nuxt.options.vite.optimizeDeps.include.push(`${packageName}/unocss`)\r\n\r\n nuxt.options.alias['#ui'] = resolve('./runtime')\r\n\r\n addComponentsDir({\r\n path: resolve('./runtime/components'),\r\n prefix: options.prefix,\r\n pathPrefix: false,\r\n })\r\n\r\n addImportsDir(resolve('./runtime/composables'))\r\n },\r\n})\r\n"],"names":[],"mappings":";;;AAaA,aAAe,gBAAgC,CAAA;AAAA,EAC7C,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,WAAA;AAAA,IACN,SAAW,EAAA,IAAA;AAAA,IACX,aAAe,EAAA;AAAA,MACb,IAAM,EAAA;AAAA;AACR,GACF;AAAA,EACA,QAAU,EAAA;AAAA,IACR,MAAQ,EAAA;AAAA,GACV;AAAA,EACA,KAAA,CAAM,SAAS,IAAM,EAAA;AACnB,IAAM,MAAA,MAAA,GAAS,UAAU,WAAW,CAAA;AACpC,IAAA,MAAM,EAAE,OAAA,EAAY,GAAA,cAAA,CAAe,YAAY,GAAG,CAAA;AAGlD,IAAA,IAAI,CAAC,IAAK,CAAA,OAAA,CAAQ,OAAQ,CAAA,QAAA,CAAS,cAAc,CAAG,EAAA;AAClD,MAAO,MAAA,CAAA,KAAA,CAAM,CAAK,EAAA,EAAA,WAAW,CAA0D,wDAAA,CAAA,CAAA;AACvF,MAAA;AAAA;AAGF,IAAK,IAAA,CAAA,OAAA,CAAQ,IAAK,CAAA,YAAA,KAAiB,EAAC;AACpC,IAAA,IAAA,CAAK,OAAQ,CAAA,IAAA,CAAK,YAAa,CAAA,OAAA,KAAY,EAAC;AAC5C,IAAA,IAAA,CAAK,QAAQ,IAAK,CAAA,YAAA,CAAa,QAAQ,IAAK,CAAA,CAAA,EAAG,WAAW,CAAS,OAAA,CAAA,CAAA;AAEnE,IAAA,IAAA,CAAK,OAAQ,CAAA,KAAA,CAAM,KAAK,CAAA,GAAI,QAAQ,WAAW,CAAA;AAE/C,IAAiB,gBAAA,CAAA;AAAA,MACf,IAAA,EAAM,QAAQ,sBAAsB,CAAA;AAAA,MACpC,QAAQ,OAAQ,CAAA,MAAA;AAAA,MAChB,UAAY,EAAA;AAAA,KACb,CAAA;AAED,IAAc,aAAA,CAAA,OAAA,CAAQ,uBAAuB,CAAC,CAAA;AAAA;AAElD,CAAC,CAAA;;;;"}
@@ -1,24 +0,0 @@
1
- import { computed, toValue } from "vue";
2
- import { useTheme } from "./useTheme.mjs";
3
- export function useComponentIcons(componentProps) {
4
- const { theme } = useTheme();
5
- const props = computed(() => toValue(componentProps));
6
- const isPrefix = computed(() => props.value.icon && props.value.prefix || props.value.icon && !props.value.suffix || props.value.loading && !props.value.suffix || !!props.value.prefixIcon);
7
- const isSuffix = computed(() => props.value.icon && props.value.suffix || props.value.loading && props.value.suffix || !!props.value.suffixIcon);
8
- const prefixIconName = computed(() => {
9
- if (props.value.loading)
10
- return props.value.loadingIcon || theme.value.app.icons.loading;
11
- return props.value.prefixIcon || props.value.icon;
12
- });
13
- const suffixIconName = computed(() => {
14
- if (props.value.loading && !isPrefix.value)
15
- return props.value.loadingIcon || theme.value.app.icons.loading;
16
- return props.value.suffixIcon || props.value.icon;
17
- });
18
- return {
19
- isPrefix,
20
- isSuffix,
21
- prefixIconName,
22
- suffixIconName
23
- };
24
- }
@@ -1,26 +0,0 @@
1
- import { transformUnoRules } from "@byyuurin/ui/unocss";
2
- import { createSharedComposable } from "@vueuse/core";
3
- import { computed, toValue } from "vue";
4
- import * as theme from "../theme/index.mjs";
5
- import { extendTheme, prepareStyler } from "../utils/index.mjs";
6
- import { defineInjection } from "./defineInjection.mjs";
7
- export const {
8
- InjectionKey: InjectionKeyThemeExtension,
9
- provide: provideThemeExtension,
10
- inject: injectThemeExtension
11
- } = defineInjection("ui.themeExtension", {});
12
- export const {
13
- InjectionKey: InjectionKeyUnoConfig,
14
- provide: provideUnoConfig,
15
- inject: injectUnoConfig
16
- } = defineInjection("ui.unoConfig", {});
17
- export const useTheme = createSharedComposable(() => {
18
- const themeExtension = injectThemeExtension();
19
- const unoConfig = injectUnoConfig();
20
- const mergeRules = transformUnoRules(unoConfig);
21
- const { createStyler } = prepareStyler(mergeRules);
22
- return {
23
- theme: computed(() => extendTheme(toValue(themeExtension), theme)),
24
- createStyler
25
- };
26
- });
@@ -1,15 +0,0 @@
1
- export default {
2
- /* @unocss-include */
3
- icons: {
4
- close: "i-mdi-close-thick",
5
- loading: "i-mdi-loading",
6
- check: "i-mdi-check-bold",
7
- indeterminate: "i-mdi-minus-thick",
8
- down: "i-mdi-chevron-down",
9
- arrowLeft: "i-mdi-chevron-left",
10
- arrowRight: "i-mdi-chevron-right",
11
- doubleLeft: "i-mdi-chevron-double-left",
12
- doubleRight: "i-mdi-chevron-double-right",
13
- ellipsis: "i-mdi-dots-horizontal"
14
- }
15
- };
@@ -1,148 +0,0 @@
1
- import { ct } from "@byyuurin/ui-kit";
2
- import { buttonGroupVariant } from "./button-group.mjs";
3
- export default ct(
4
- /* @unocss-include */
5
- {
6
- slots: {
7
- base: [
8
- "inline-flex items-center rounded-ui-button leading-normal transition-colors",
9
- "outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ui-cb/80",
10
- "disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-50 aria-disabled:opacity-50"
11
- ],
12
- label: "color-inherit",
13
- prefixIcon: "shrink-0 size-1.5em not-only-child:ml-0.5",
14
- suffixIcon: "shrink-0 size-1.5em not-only-child:mr-0.5"
15
- },
16
- variants: {
17
- ...buttonGroupVariant,
18
- variant: {
19
- "solid": {
20
- base: [
21
- "color-ui-c1 bg-solid-ui-fill/90",
22
- "hover:bg-solid-ui-fill/80 active:bg-solid-ui-fill",
23
- "disabled:bg-solid-ui-fill/90 aria-disabled:bg-solid-ui-fill/90"
24
- ]
25
- },
26
- "outline": {
27
- base: [
28
- "color-ui-fill bg-solid-ui-c1 ring ring-inset ring-ui-fill",
29
- "hover:bg-solid-ui-fill/5 active:bg-solid-ui-fill/10",
30
- "disabled:bg-solid-ui-c1 aria-disabled:bg-solid-ui-c1"
31
- ]
32
- },
33
- "soft": {
34
- base: [
35
- "color-ui-content/80 bg-solid-ui-fill/10",
36
- "hover:bg-solid-ui-fill/15 hover:color-ui-content/80 active:bg-solid-ui-fill/20 active:color-ui-content/90",
37
- "disabled:bg-solid-ui-fill/10 aria-disabled:bg-solid-ui-fill/10 disabled:color-ui-content/80 aria-disabled:color-ui-content/80"
38
- ]
39
- },
40
- "soft-outline": {
41
- base: [
42
- "color-ui-content/80 bg-solid-ui-fill/10 ring ring-inset ring-ui-fill/40",
43
- "hover:bg-solid-ui-fill/15 hover:color-ui-content/80 active:bg-solid-ui-fill/20 active:color-ui-content/90",
44
- "disabled:bg-solid-ui-fill/10 aria-disabled:bg-solid-ui-fill/10 disabled:color-ui-content/80 aria-disabled:color-ui-content/80"
45
- ]
46
- },
47
- "ghost": {
48
- base: [
49
- "color-ui-fill/80 bg-transparent",
50
- "hover:bg-solid-ui-fill/10 hover:color-ui-fill/80 active:bg-solid-ui-fill/20 active:color-ui-fill/90",
51
- "disabled:bg-transparent aria-disabled:bg-transparent disabled:color-ui-fill/80 aria-disabled:color-ui-fill/80"
52
- ]
53
- },
54
- "link": {
55
- base: [
56
- "color-ui-fill/80 bg-transparent",
57
- "hover:color-ui-fill/60 active:color-ui-fill",
58
- "disabled:color-ui-fill aria-disabled:color-ui-fill"
59
- ]
60
- }
61
- },
62
- size: {
63
- xs: {
64
- base: "text-xs"
65
- },
66
- sm: {
67
- base: "text-sm"
68
- },
69
- md: {
70
- base: "text-base"
71
- },
72
- lg: {
73
- base: "text-lg"
74
- },
75
- xl: {
76
- base: "text-xl"
77
- }
78
- },
79
- active: {
80
- true: ""
81
- },
82
- prefix: {
83
- true: ""
84
- },
85
- suffix: {
86
- true: ""
87
- },
88
- loading: {
89
- true: ""
90
- }
91
- },
92
- compoundVariants: [
93
- {
94
- size: ["xs", "sm", "md"],
95
- class: {
96
- base: "p-1.5",
97
- label: "px-1"
98
- }
99
- },
100
- {
101
- size: ["lg", "xl"],
102
- class: {
103
- base: "p-2.5",
104
- label: "px-2"
105
- }
106
- },
107
- {
108
- active: true,
109
- variant: "solid",
110
- class: { base: "bg-solid-ui-fill hover:bg-solid-ui-fill" }
111
- },
112
- {
113
- active: true,
114
- variant: "outline",
115
- class: { base: "bg-solid-ui-fill/10 hover:bg-solid-ui-fill/10" }
116
- },
117
- {
118
- active: true,
119
- variant: ["soft", "soft-outline"],
120
- class: { base: "color-ui-content/90 bg-solid-ui-fill/20 hover:color-ui-content/90 hover:bg-solid-ui-fill/20" }
121
- },
122
- {
123
- active: true,
124
- variant: "ghost",
125
- class: { base: "color-ui-fill/90 bg-solid-ui-fill/20 hover:color-ui-fill/90 hover:bg-solid-ui-fill/20" }
126
- },
127
- {
128
- active: true,
129
- variant: "link",
130
- class: { base: "color-ui-fill/90 hover:color-ui-fill/90" }
131
- },
132
- {
133
- loading: true,
134
- prefix: true,
135
- class: { prefixIcon: "animate-spin" }
136
- },
137
- {
138
- loading: true,
139
- prefix: false,
140
- suffix: true,
141
- class: { suffixIcon: "animate-spin" }
142
- }
143
- ],
144
- defaultVariants: {
145
- size: "md"
146
- }
147
- }
148
- );
@@ -1,14 +0,0 @@
1
- import { ct } from "@byyuurin/ui-kit";
2
- export default ct(
3
- /* @unocss-include */
4
- {
5
- slots: {
6
- root: "color-ui-cb bg-solid-ui-c1 ring ring-ui-cb/10 divide-y divide-ui-cb/10 rounded-ui-box shadow-sm shadow-ui-cb/10",
7
- header: "flex flex-wrap items-center gap-1 px-4 py-5 sm:px-6",
8
- body: "flex-1 overflow-y-auto p-4 sm:p-6 empty:hidden",
9
- footer: "flex items-center gap-1.5 p-4 sm:px-6",
10
- title: "flex-grow color-ui-cb text-xl font-semibold",
11
- description: "w-full color-ui-cb/80"
12
- }
13
- }
14
- );