design-system-dashboard-devmunity 0.3.0 → 1.0.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.
- package/README.md +33 -31
- package/app/app.config.ts +2 -1
- package/app/app.vue +21 -3
- package/app/assets/css/settings/base.css +33 -33
- package/app/assets/css/themes/components/badge.js +7 -0
- package/app/assets/css/themes/components/input.js +5 -0
- package/app/assets/css/themes/index.js +2 -1
- package/app/components/BaseButton.vue +3 -0
- package/app/components/Colors.mdx +42 -0
- package/app/components/Indroduction.mdx +100 -0
- package/app/components/a/button/a-button-avatar-dropdown.stories.ts +83 -0
- package/app/components/a/button/a-button-avatar-dropdown.vue +41 -17
- package/app/components/a/button/a-button-navigation.stories.ts +66 -0
- package/app/components/a/button/a-button-navigation.vue +57 -0
- package/app/components/a/card/a-card-inner.stories.ts +89 -0
- package/app/components/a/card/a-card-inner.vue +38 -0
- package/app/components/a/dropdown/a-dropdown-avatar.stories.ts +160 -0
- package/app/components/a/dropdown/a-dropdown-avatar.vue +75 -33
- package/app/components/a/pill/a-pill.stories.ts +91 -0
- package/app/components/a/pill/a-pill.vue +63 -42
- package/app/components/b/badge/b-badge.stories.ts +77 -0
- package/app/components/b/badge/b-badge.vue +55 -0
- package/app/components/b/card/b-card.stories.ts +120 -0
- package/app/components/b/card/b-card.vue +49 -32
- package/app/components/b/modal/b-modal.stories.ts +210 -0
- package/app/components/b/modal/b-modal.vue +125 -81
- package/app/components/c/badge/c-badge-status.stories.ts +72 -0
- package/app/components/c/badge/c-badge-status.vue +60 -0
- package/app/components/c/modal/c-modal-danger.stories.ts +112 -0
- package/app/components/c/modal/c-modal-danger.vue +60 -41
- package/app/components/d/action-buttons/d-action-buttons.stories.ts +90 -0
- package/app/components/d/action-buttons/d-action-buttons.vue +121 -0
- package/app/components/d/card/d-card-header.stories.ts +123 -0
- package/app/components/{b/card/b-card-header.vue → d/card/d-card-header.vue} +62 -44
- package/app/components/d/upload/d-upload-avatar.stories.ts +66 -0
- package/app/components/d/upload/d-upload-avatar.vue +95 -0
- package/app/pages/test.vue +27 -16
- package/app/types/index.ts +1 -0
- package/app/types/semantic-colors.type.ts +3 -0
- package/app/utils/util-get-colors-from-css.ts +53 -0
- package/nuxt.config.ts +11 -16
- package/package.json +84 -68
- package/.editorconfig +0 -13
- package/.github/workflows/release.yml +0 -36
- package/.husky/commit-msg +0 -1
- package/.husky/pre-commit +0 -0
- package/.prettierrc +0 -24
- package/.storybook/main.js +0 -25
- package/.storybook/preview.js +0 -13
- package/.vscode/settings.json +0 -28
- package/CHANGELOG.md +0 -46
- package/app/Introduction.mdx +0 -44
- package/app/components/a/button/a-button-back.vue +0 -33
- package/app/components/b/card/b-card-inner.vue +0 -25
- package/app/components/d/d-action-buttons.vue +0 -99
- package/commitlint.config.js +0 -8
- package/tsconfig.json +0 -8
package/app/pages/test.vue
CHANGED
|
@@ -11,7 +11,7 @@ const modalDanger = overlay.create(CModalDanger)
|
|
|
11
11
|
<template>
|
|
12
12
|
<div class="mb-16 min-h-full">
|
|
13
13
|
<UContainer>
|
|
14
|
-
<
|
|
14
|
+
<ACardInner class="h-full">
|
|
15
15
|
<BCard :has-footer-divider="false">
|
|
16
16
|
<template #header>
|
|
17
17
|
<h1>Header</h1>
|
|
@@ -23,13 +23,13 @@ const modalDanger = overlay.create(CModalDanger)
|
|
|
23
23
|
</BCard>
|
|
24
24
|
<UCard variant="ghost"> oli </UCard>
|
|
25
25
|
<AButtonBack icon="heroicons:arrow-left-16-solid" is-back-action />
|
|
26
|
-
</
|
|
26
|
+
</ACardInner>
|
|
27
27
|
|
|
28
28
|
<hr class="my-6" />
|
|
29
29
|
|
|
30
30
|
<BCard>
|
|
31
31
|
<template #header>
|
|
32
|
-
<
|
|
32
|
+
<DCardHeader title="Crear una nueva actividad" subtitle="Subtitle" has-left-button-icon>
|
|
33
33
|
<template #actions>
|
|
34
34
|
<DActionButtons
|
|
35
35
|
primary-button-text="Guardar"
|
|
@@ -38,16 +38,16 @@ const modalDanger = overlay.create(CModalDanger)
|
|
|
38
38
|
is-block-buttons
|
|
39
39
|
/>
|
|
40
40
|
</template>
|
|
41
|
-
</
|
|
41
|
+
</DCardHeader>
|
|
42
42
|
</template>
|
|
43
43
|
|
|
44
|
-
<
|
|
44
|
+
<ACardInner>
|
|
45
45
|
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci eos perspiciatis
|
|
46
46
|
asperiores suscipit voluptate magni excepturi. Doloribus in fugit quam voluptatibus,
|
|
47
47
|
molestiae maxime illum explicabo ut corrupti, distinctio atque dolor.
|
|
48
|
-
</
|
|
48
|
+
</ACardInner>
|
|
49
49
|
|
|
50
|
-
<
|
|
50
|
+
<DCardHeader
|
|
51
51
|
title="Crear una nueva actividad"
|
|
52
52
|
subtitle="Subtitle"
|
|
53
53
|
variant="secondary"
|
|
@@ -57,9 +57,9 @@ const modalDanger = overlay.create(CModalDanger)
|
|
|
57
57
|
<template #actions>
|
|
58
58
|
<UButton label="Action" />
|
|
59
59
|
</template>
|
|
60
|
-
</
|
|
60
|
+
</DCardHeader>
|
|
61
61
|
|
|
62
|
-
<
|
|
62
|
+
<ACardInner class="space-y-2">
|
|
63
63
|
<p>
|
|
64
64
|
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci eos perspiciatis
|
|
65
65
|
asperiores suscipit voluptate magni excepturi. Doloribus in fugit quam voluptatibus,
|
|
@@ -73,7 +73,7 @@ const modalDanger = overlay.create(CModalDanger)
|
|
|
73
73
|
class-buttons="w-[200px]"
|
|
74
74
|
has-buttons-block
|
|
75
75
|
/>
|
|
76
|
-
</
|
|
76
|
+
</ACardInner>
|
|
77
77
|
</BCard>
|
|
78
78
|
|
|
79
79
|
<hr class="my-6" />
|
|
@@ -140,14 +140,25 @@ const modalDanger = overlay.create(CModalDanger)
|
|
|
140
140
|
|
|
141
141
|
<hr class="my-6" />
|
|
142
142
|
|
|
143
|
-
<!-- <
|
|
143
|
+
<!-- <APill text="test 1" /> -->
|
|
144
144
|
<p>
|
|
145
|
-
<
|
|
146
|
-
<
|
|
147
|
-
<
|
|
148
|
-
<
|
|
149
|
-
<
|
|
145
|
+
<APill label="xs" size="xs" />
|
|
146
|
+
<APill label="sm" size="sm" color="warning" variant="subtle" />
|
|
147
|
+
<APill label="md" size="md" color="error" />
|
|
148
|
+
<APill label="lg" size="lg" color="success" />
|
|
149
|
+
<APill label="xl" size="xl" />
|
|
150
150
|
</p>
|
|
151
|
+
|
|
152
|
+
<hr class="my-6" />
|
|
153
|
+
|
|
154
|
+
<DUploadAvatar button-size="xl" button-color="error" />
|
|
155
|
+
|
|
156
|
+
<hr class="my-6" />
|
|
157
|
+
|
|
158
|
+
<div class="flex gap-x-2">
|
|
159
|
+
<CBadgeStatus label="Urgente" value="CANCELLED" />
|
|
160
|
+
<CBadgeStatus label="Normal" value="normal" />
|
|
161
|
+
</div>
|
|
151
162
|
</UContainer>
|
|
152
163
|
</div>
|
|
153
164
|
</template>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './semantic-colors.type'
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import appConfig from '@/app.config'
|
|
2
|
+
|
|
3
|
+
export const semanticColors = appConfig.ui.colors
|
|
4
|
+
|
|
5
|
+
export type ColorMap = Record<string, string>
|
|
6
|
+
export type GroupedColors = Record<string, ColorMap>
|
|
7
|
+
|
|
8
|
+
export function getColorsFromCss(): GroupedColors {
|
|
9
|
+
if (typeof window === 'undefined') return {}
|
|
10
|
+
|
|
11
|
+
const styles = getComputedStyle(document.documentElement)
|
|
12
|
+
const colors: ColorMap = {}
|
|
13
|
+
for (let i = 0; i < styles.length; i++) {
|
|
14
|
+
const name = styles[i]
|
|
15
|
+
if (name && name.startsWith('--color-brand')) {
|
|
16
|
+
const key = name.replace('--color-', '')
|
|
17
|
+
colors[key] = styles.getPropertyValue(name).trim()
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return groupColorsByName(colors)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function groupColorsByName(colors: ColorMap): GroupedColors {
|
|
25
|
+
// 1. Convertimos el objeto en entradas y extraemos nombre + nivel
|
|
26
|
+
const parsed = Object.entries(colors)
|
|
27
|
+
.map(([key, value]) => {
|
|
28
|
+
const match = key.match(/^([a-z-]+)-(\d+)$/)
|
|
29
|
+
if (!match) return null
|
|
30
|
+
const [, name, level] = match
|
|
31
|
+
return { name, level, value }
|
|
32
|
+
})
|
|
33
|
+
.filter((item): item is { name: string; level: string; value: string } => item !== null)
|
|
34
|
+
|
|
35
|
+
// 2. Agrupamos por nombre
|
|
36
|
+
const grouped = parsed.reduce<Record<string, typeof parsed>>((acc, item) => {
|
|
37
|
+
if (!acc[item.name]) {
|
|
38
|
+
acc[item.name] = []
|
|
39
|
+
}
|
|
40
|
+
acc[item.name]!.push(item)
|
|
41
|
+
return acc
|
|
42
|
+
}, {})
|
|
43
|
+
|
|
44
|
+
// 3. Construimos el objeto final
|
|
45
|
+
return Object.fromEntries(
|
|
46
|
+
Object.entries(grouped).map(([name, items]) => [
|
|
47
|
+
name,
|
|
48
|
+
Object.fromEntries(items.map(({ level, value }) => [level, value])),
|
|
49
|
+
])
|
|
50
|
+
)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export const colorsFromCss = getColorsFromCss()
|
package/nuxt.config.ts
CHANGED
|
@@ -1,29 +1,24 @@
|
|
|
1
|
-
import tailwindcss from
|
|
1
|
+
import tailwindcss from '@tailwindcss/vite'
|
|
2
2
|
|
|
3
3
|
// https://nuxt.com/docs/api/configuration/nuxt-config
|
|
4
4
|
export default defineNuxtConfig({
|
|
5
5
|
devtools: { enabled: true },
|
|
6
|
-
modules: [
|
|
6
|
+
modules: [
|
|
7
|
+
'@nuxt/ui',
|
|
8
|
+
// Solo carga el módulo si la variable STORYBOOK es true
|
|
9
|
+
process.env.STORYBOOK === 'true' ? '@nuxtjs/storybook' : undefined,
|
|
10
|
+
].filter(Boolean), // Elimina los 'undefined' del array
|
|
7
11
|
css: ['~/assets/css/main.css'],
|
|
8
12
|
|
|
9
13
|
vite: {
|
|
10
14
|
plugins: [tailwindcss()],
|
|
11
15
|
},
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
// 'tertiary',
|
|
19
|
-
// 'info',
|
|
20
|
-
// 'success',
|
|
21
|
-
// 'warning',
|
|
22
|
-
// 'error',
|
|
23
|
-
// 'test'
|
|
24
|
-
// ]
|
|
25
|
-
// }
|
|
26
|
-
// },
|
|
17
|
+
ui: {
|
|
18
|
+
theme: {
|
|
19
|
+
colors: ['primary', 'secondary', 'accent', 'info', 'success', 'warning', 'error'],
|
|
20
|
+
},
|
|
21
|
+
},
|
|
27
22
|
|
|
28
23
|
// components: [
|
|
29
24
|
// {
|
package/package.json
CHANGED
|
@@ -1,73 +1,89 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"preview": "nuxt preview",
|
|
10
|
-
"storybook": "storybook dev -p 6006",
|
|
11
|
-
"build-storybook": "storybook build",
|
|
12
|
-
"commit": "cz",
|
|
13
|
-
"prepare": "husky"
|
|
14
|
-
},
|
|
15
|
-
"release": {
|
|
16
|
-
"branches": [
|
|
17
|
-
"main",
|
|
18
|
-
"next"
|
|
2
|
+
"name": "design-system-dashboard-devmunity",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"main": "./nuxt.config.ts",
|
|
5
|
+
"files": [
|
|
6
|
+
"app",
|
|
7
|
+
"public",
|
|
8
|
+
"nuxt.config.ts"
|
|
19
9
|
],
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
|
|
10
|
+
"type": "module",
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "nuxt build",
|
|
13
|
+
"dev": "nuxt dev",
|
|
14
|
+
"generate": "nuxt generate",
|
|
15
|
+
"preview": "nuxt preview",
|
|
16
|
+
"commit": "cz",
|
|
17
|
+
"prepare": "husky",
|
|
18
|
+
"storybook": "STORYBOOK=true storybook dev -p 6006",
|
|
19
|
+
"build-storybook": "nuxt prepare && STORYBOOK=true storybook build"
|
|
20
|
+
},
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "https://github.com/vicventum/design-system-dashboard-devmunity"
|
|
24
|
+
},
|
|
25
|
+
"release": {
|
|
26
|
+
"branches": [
|
|
27
|
+
"main",
|
|
28
|
+
"next"
|
|
29
|
+
],
|
|
30
|
+
"plugins": [
|
|
31
|
+
"@semantic-release/commit-analyzer",
|
|
32
|
+
"@semantic-release/release-notes-generator",
|
|
33
|
+
[
|
|
34
|
+
"@semantic-release/changelog",
|
|
35
|
+
{
|
|
36
|
+
"changelogFile": "CHANGELOG.md"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"@semantic-release/npm",
|
|
40
|
+
"@semantic-release/github",
|
|
41
|
+
[
|
|
42
|
+
"@semantic-release/git",
|
|
43
|
+
{
|
|
44
|
+
"assets": [
|
|
45
|
+
"package.json",
|
|
46
|
+
"CHANGELOG.md"
|
|
47
|
+
],
|
|
48
|
+
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"@iconify-json/lucide": "^1.2.72",
|
|
55
|
+
"@iconify-json/simple-icons": "^1.2.57",
|
|
56
|
+
"@nuxt/ui": "4.1.0",
|
|
57
|
+
"@tailwindcss/vite": "4.1.16",
|
|
58
|
+
"nuxt": "^4.2.0",
|
|
59
|
+
"tailwind-merge": "^3.4.0",
|
|
60
|
+
"tailwindcss": "4.1.16"
|
|
61
|
+
},
|
|
62
|
+
"devDependencies": {
|
|
63
|
+
"@chromatic-com/storybook": "3.2.7",
|
|
64
|
+
"@commitlint/cli": "^20.3.1",
|
|
65
|
+
"@commitlint/config-conventional": "^20.3.1",
|
|
66
|
+
"@nuxtjs/storybook": "8.2.0",
|
|
67
|
+
"@semantic-release/changelog": "^6.0.3",
|
|
68
|
+
"@semantic-release/git": "^10.0.1",
|
|
69
|
+
"@storybook/addon-essentials": "8.6.8",
|
|
70
|
+
"@storybook/blocks": "8.6.8",
|
|
71
|
+
"@storybook/experimental-addon-test": "8.6.8",
|
|
72
|
+
"@storybook/test": "8.6.8",
|
|
73
|
+
"@storybook/vue3": "8.6.8",
|
|
74
|
+
"@vitest/browser": "3.0.9",
|
|
75
|
+
"@vitest/coverage-v8": "3.0.9",
|
|
76
|
+
"commitizen": "^4.3.1",
|
|
77
|
+
"cz-conventional-changelog": "^3.3.0",
|
|
78
|
+
"husky": "^9.1.7",
|
|
79
|
+
"prettier": "3.6.2",
|
|
80
|
+
"prettier-plugin-tailwindcss": "0.7.1",
|
|
81
|
+
"semantic-release": "^25.0.1",
|
|
82
|
+
"storybook": "8.6.8"
|
|
83
|
+
},
|
|
84
|
+
"config": {
|
|
85
|
+
"commitizen": {
|
|
86
|
+
"path": "./node_modules/cz-conventional-changelog"
|
|
27
87
|
}
|
|
28
|
-
],
|
|
29
|
-
"@semantic-release/npm",
|
|
30
|
-
"@semantic-release/github",
|
|
31
|
-
[
|
|
32
|
-
"@semantic-release/git",
|
|
33
|
-
{
|
|
34
|
-
"assets": [
|
|
35
|
-
"package.json",
|
|
36
|
-
"CHANGELOG.md"
|
|
37
|
-
],
|
|
38
|
-
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
|
|
39
|
-
}
|
|
40
|
-
]
|
|
41
|
-
]
|
|
42
|
-
},
|
|
43
|
-
"dependencies": {
|
|
44
|
-
"@iconify-json/lucide": "^1.2.72",
|
|
45
|
-
"@iconify-json/simple-icons": "^1.2.57",
|
|
46
|
-
"@nuxt/ui": "4.1.0",
|
|
47
|
-
"@tailwindcss/vite": "4.1.16",
|
|
48
|
-
"nuxt": "^4.2.0",
|
|
49
|
-
"tailwindcss": "4.1.16"
|
|
50
|
-
},
|
|
51
|
-
"devDependencies": {
|
|
52
|
-
"@chromatic-com/storybook": "1.3.3",
|
|
53
|
-
"@commitlint/cli": "^20.1.0",
|
|
54
|
-
"@commitlint/config-conventional": "^20.0.0",
|
|
55
|
-
"@nuxtjs/storybook": "8.3.5",
|
|
56
|
-
"@semantic-release/changelog": "^6.0.3",
|
|
57
|
-
"@semantic-release/git": "^10.0.1",
|
|
58
|
-
"@storybook/addon-docs": "8.0.8",
|
|
59
|
-
"@storybook/addon-links": "8.0.8",
|
|
60
|
-
"commitizen": "^4.3.1",
|
|
61
|
-
"cz-conventional-changelog": "^3.3.0",
|
|
62
|
-
"husky": "^9.1.7",
|
|
63
|
-
"prettier": "3.6.2",
|
|
64
|
-
"prettier-plugin-tailwindcss": "0.7.1",
|
|
65
|
-
"semantic-release": "^25.0.1",
|
|
66
|
-
"storybook": "8.0.8"
|
|
67
|
-
},
|
|
68
|
-
"config": {
|
|
69
|
-
"commitizen": {
|
|
70
|
-
"path": "./node_modules/cz-conventional-changelog"
|
|
71
88
|
}
|
|
72
|
-
}
|
|
73
89
|
}
|
package/.editorconfig
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
name: Release
|
|
2
|
-
on:
|
|
3
|
-
push:
|
|
4
|
-
branches:
|
|
5
|
-
- main # or main
|
|
6
|
-
|
|
7
|
-
permissions:
|
|
8
|
-
contents: read # for checkout
|
|
9
|
-
|
|
10
|
-
jobs:
|
|
11
|
-
release:
|
|
12
|
-
name: Release
|
|
13
|
-
runs-on: ubuntu-latest
|
|
14
|
-
permissions:
|
|
15
|
-
contents: write # to be able to publish a GitHub release
|
|
16
|
-
issues: write # to be able to comment on released issues
|
|
17
|
-
pull-requests: write # to be able to comment on released pull requests
|
|
18
|
-
id-token: write # to enable use of OIDC for npm provenance
|
|
19
|
-
steps:
|
|
20
|
-
- name: Checkout
|
|
21
|
-
uses: actions/checkout@v4
|
|
22
|
-
with:
|
|
23
|
-
fetch-depth: 0
|
|
24
|
-
- name: Setup Node.js
|
|
25
|
-
uses: actions/setup-node@v4
|
|
26
|
-
with:
|
|
27
|
-
node-version: 'lts/*'
|
|
28
|
-
- name: Install dependencies
|
|
29
|
-
run: npm clean-install
|
|
30
|
-
- name: Verify the integrity of provenance attestations and registry signatures for installed dependencies
|
|
31
|
-
run: npm audit signatures
|
|
32
|
-
- name: Release
|
|
33
|
-
env:
|
|
34
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
35
|
-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
36
|
-
run: npx semantic-release
|
package/.husky/commit-msg
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
npx --no -- commitlint --edit
|
package/.husky/pre-commit
DELETED
|
File without changes
|
package/.prettierrc
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"arrowParens": "always",
|
|
3
|
-
"bracketSameLine": false,
|
|
4
|
-
"bracketSpacing": true,
|
|
5
|
-
"embeddedLanguageFormatting": "auto",
|
|
6
|
-
"endOfLine": "auto",
|
|
7
|
-
"htmlWhitespaceSensitivity": "css",
|
|
8
|
-
"insertPragma": false,
|
|
9
|
-
"jsxSingleQuote": true,
|
|
10
|
-
"printWidth": 110,
|
|
11
|
-
"proseWrap": "preserve",
|
|
12
|
-
"quoteProps": "as-needed",
|
|
13
|
-
"requirePragma": false,
|
|
14
|
-
"semi": false,
|
|
15
|
-
"singleAttributePerLine": false,
|
|
16
|
-
"singleQuote": true,
|
|
17
|
-
"tabWidth": 4,
|
|
18
|
-
"trailingComma": "es5",
|
|
19
|
-
"useTabs": false,
|
|
20
|
-
"vueIndentScriptAndStyle": false,
|
|
21
|
-
"plugins": [
|
|
22
|
-
"prettier-plugin-tailwindcss"
|
|
23
|
-
]
|
|
24
|
-
}
|
package/.storybook/main.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/** @type { import('storybook-vue').StorybookConfig } */
|
|
2
|
-
const config = {
|
|
3
|
-
stories: ['../app/components/**/*.mdx', '../app/components/**/*.stories.@(js|jsx|ts|tsx|mdx)'],
|
|
4
|
-
addons: ['@storybook/addon-links', '@storybook/addon-docs', '@chromatic-com/storybook'],
|
|
5
|
-
framework: {
|
|
6
|
-
name: '@storybook-vue/nuxt',
|
|
7
|
-
options: {},
|
|
8
|
-
},
|
|
9
|
-
docs: {
|
|
10
|
-
autodocs: 'tag',
|
|
11
|
-
},
|
|
12
|
-
typescript: {
|
|
13
|
-
check: false,
|
|
14
|
-
reactDocgen: false,
|
|
15
|
-
},
|
|
16
|
-
viteFinal: (config) => {
|
|
17
|
-
config.resolve.alias = {
|
|
18
|
-
...(config.resolve.alias || {}),
|
|
19
|
-
// Asegúrate de que @ apunte a la raíz del proyecto
|
|
20
|
-
'@': require('path').resolve(__dirname, '../'),
|
|
21
|
-
}
|
|
22
|
-
return config
|
|
23
|
-
},
|
|
24
|
-
}
|
|
25
|
-
export default config
|
package/.storybook/preview.js
DELETED
package/.vscode/settings.json
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"files.associations": {
|
|
3
|
-
"*.css": "tailwindcss"
|
|
4
|
-
},
|
|
5
|
-
"editor.quickSuggestions": {
|
|
6
|
-
"strings": "on"
|
|
7
|
-
},
|
|
8
|
-
"tailwindCSS.classAttributes": [
|
|
9
|
-
"class",
|
|
10
|
-
"ui",
|
|
11
|
-
".*Styles*",
|
|
12
|
-
".*Styles: .*", // <-- This should fix your issue.
|
|
13
|
-
],
|
|
14
|
-
"tailwindCSS.experimental.classRegex": [
|
|
15
|
-
[
|
|
16
|
-
"ui:\\s*{([^)]*)\\s*}",
|
|
17
|
-
"(?:'|\"|`)([^']*)(?:'|\"|`)"
|
|
18
|
-
]
|
|
19
|
-
],
|
|
20
|
-
"editor.tabSize": 4,
|
|
21
|
-
"editor.stickyTabStops": true,
|
|
22
|
-
"references.preferredLocation": "view",
|
|
23
|
-
"conventionalCommits.scopes": [
|
|
24
|
-
"dev-infra",
|
|
25
|
-
"vscode-extension",
|
|
26
|
-
"components"
|
|
27
|
-
]
|
|
28
|
-
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# [0.3.0](https://github.com/vicventum/design-system-dashboard-devmunity/compare/v0.2.0...v0.3.0) (2025-11-15)
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
### Features
|
|
5
|
-
|
|
6
|
-
* **components:** :sparkles: Crea componente `ADropdownAvatar` ([0aa9677](https://github.com/vicventum/design-system-dashboard-devmunity/commit/0aa96779530ed7c16389db6fb1ea9ead99e495ca))
|
|
7
|
-
* **components:** :sparkles: Crea componente `APill` ([5ed606e](https://github.com/vicventum/design-system-dashboard-devmunity/commit/5ed606e86f0e29d8c1d09e55d9e6d803e496bcd1))
|
|
8
|
-
* **components:** :sparkles: Crea componente AButtonAvatarDropdown ([d9e283d](https://github.com/vicventum/design-system-dashboard-devmunity/commit/d9e283dc20d3f70e214c56d9b26c55d688bec254))
|
|
9
|
-
|
|
10
|
-
# [0.2.0](https://github.com/vicventum/design-system-dashboard-devmunity/compare/v0.1.0...v0.2.0) (2025-11-14)
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
### Features
|
|
14
|
-
|
|
15
|
-
* **components:** :sparkles: Crea componente BModal ([6218f3a](https://github.com/vicventum/design-system-dashboard-devmunity/commit/6218f3aeeeb0695b05c00c64da6c3212b07afa08))
|
|
16
|
-
* **components:** :sparkles: Crea componente CModalDanger ([1e3f7bb](https://github.com/vicventum/design-system-dashboard-devmunity/commit/1e3f7bb8778f970268b08043d70fef0fb0e7b10e))
|
|
17
|
-
* **components:** :sparkles: Crea componente DActionButtons ([f7725cb](https://github.com/vicventum/design-system-dashboard-devmunity/commit/f7725cb5812b77628981abfb351b64e086e190c4))
|
|
18
|
-
|
|
19
|
-
# [0.1.0](https://github.com/vicventum/design-system-dashboard-devmunity/compare/v0.0.6...v0.1.0) (2025-11-12)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
### Features
|
|
23
|
-
|
|
24
|
-
* **components:** :sparkles: Cambia estructura de componentes y agrega nuevo componente AButtonBack ([c3ad2e9](https://github.com/vicventum/design-system-dashboard-devmunity/commit/c3ad2e9fe85f0aa97049ecb6cb2667f6dd1f9c20))
|
|
25
|
-
* **components:** :sparkles: Crea componente BCardHeader ([7e3292f](https://github.com/vicventum/design-system-dashboard-devmunity/commit/7e3292fd60f94b2cc83941f14c6a1b0795d46961))
|
|
26
|
-
|
|
27
|
-
## [0.0.6](https://github.com/vicventum/design-system-dashboard-devmunity/compare/v0.0.5...v0.0.6) (2025-11-06)
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
### Bug Fixes
|
|
31
|
-
|
|
32
|
-
* test 1 ([2a1248b](https://github.com/vicventum/design-system-dashboard-devmunity/commit/2a1248ba5b7b6ab724418cc14e2a654df5ae2e37))
|
|
33
|
-
|
|
34
|
-
## [0.0.5](https://github.com/vicventum/design-system-dashboard-devmunity/compare/v0.0.4...v0.0.5) (2025-11-05)
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
### Bug Fixes
|
|
38
|
-
|
|
39
|
-
* **dev-infra:** agrega el paquete commitizen ([5bd22df](https://github.com/vicventum/design-system-dashboard-devmunity/commit/5bd22df3a57fc583efbbfdb58f189e17052a7e61))
|
|
40
|
-
|
|
41
|
-
## [0.0.4](https://github.com/vicventum/design-system-dashboard-devmunity/compare/v0.0.3...v0.0.4) (2025-11-05)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
### Bug Fixes
|
|
45
|
-
|
|
46
|
-
* test ([ab4eba8](https://github.com/vicventum/design-system-dashboard-devmunity/commit/ab4eba858abe0f386faa39e3a4c0b0aee32d86ce))
|
package/app/Introduction.mdx
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Meta } from '@storybook/blocks'
|
|
2
|
-
|
|
3
|
-
<Meta title="Introduction" />
|
|
4
|
-
|
|
5
|
-
# Design System - Nuxt UI
|
|
6
|
-
|
|
7
|
-
Welcome to the Design System built with **Nuxt UI** and **Vue 3**.
|
|
8
|
-
|
|
9
|
-
## Overview
|
|
10
|
-
|
|
11
|
-
This Storybook contains all the components of our design system, built on top of Nuxt UI.
|
|
12
|
-
|
|
13
|
-
## Getting Started
|
|
14
|
-
|
|
15
|
-
Browse the components in the sidebar to see:
|
|
16
|
-
- **Interactive examples** of each component
|
|
17
|
-
- **Props documentation** with controls
|
|
18
|
-
- **Usage examples** and code snippets
|
|
19
|
-
|
|
20
|
-
## Components
|
|
21
|
-
|
|
22
|
-
All components are located in the `app/components` directory and follow the Nuxt auto-import convention.
|
|
23
|
-
|
|
24
|
-
## Tech Stack
|
|
25
|
-
|
|
26
|
-
- **Vue 3** - Progressive JavaScript framework
|
|
27
|
-
- **Nuxt 4** - The Intuitive Vue Framework
|
|
28
|
-
- **Nuxt UI** - Fully styled and customizable components
|
|
29
|
-
- **Tailwind CSS** - Utility-first CSS framework
|
|
30
|
-
- **Storybook 8** - UI component development tool
|
|
31
|
-
|
|
32
|
-
## Development
|
|
33
|
-
|
|
34
|
-
To run Storybook locally:
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
pnpm storybook
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
To build Storybook:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
pnpm build-storybook
|
|
44
|
-
```
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
const props = defineProps({
|
|
3
|
-
icon: {
|
|
4
|
-
type: String,
|
|
5
|
-
default: 'heroicons:arrow-left-16-solid',
|
|
6
|
-
required: false,
|
|
7
|
-
},
|
|
8
|
-
to: {
|
|
9
|
-
type: String,
|
|
10
|
-
default: '',
|
|
11
|
-
required: false,
|
|
12
|
-
},
|
|
13
|
-
hasBackAction: {
|
|
14
|
-
type: Boolean,
|
|
15
|
-
default: false,
|
|
16
|
-
required: false,
|
|
17
|
-
},
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
const emit = defineEmits(['on-click'])
|
|
21
|
-
const router = useRouter()
|
|
22
|
-
|
|
23
|
-
function handleClickLeftButtonIcon() {
|
|
24
|
-
emit('on-click')
|
|
25
|
-
if (props.hasBackAction && !props.to && props.icon.includes('arrow-left')) {
|
|
26
|
-
router.back()
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
</script>
|
|
30
|
-
|
|
31
|
-
<template>
|
|
32
|
-
<UButton :to="to" :icon="icon" variant="icon" color="neutral" @click="handleClickLeftButtonIcon" />
|
|
33
|
-
</template>
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
<script setup>
|
|
2
|
-
import { twMerge } from 'tailwind-merge'
|
|
3
|
-
import { card } from '~/assets/css/themes/index.js'
|
|
4
|
-
|
|
5
|
-
const props = defineProps({
|
|
6
|
-
class: {
|
|
7
|
-
type: [String, Object, Array],
|
|
8
|
-
default: '',
|
|
9
|
-
required: false,
|
|
10
|
-
},
|
|
11
|
-
as: {
|
|
12
|
-
type: String,
|
|
13
|
-
default: 'div',
|
|
14
|
-
required: false,
|
|
15
|
-
},
|
|
16
|
-
})
|
|
17
|
-
|
|
18
|
-
const cardClasses = computed(() => twMerge(card.slots.body, props.class))
|
|
19
|
-
</script>
|
|
20
|
-
|
|
21
|
-
<template>
|
|
22
|
-
<component :is="as" :class="cardClasses">
|
|
23
|
-
<slot />
|
|
24
|
-
</component>
|
|
25
|
-
</template>
|