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.
Files changed (57) hide show
  1. package/README.md +33 -31
  2. package/app/app.config.ts +2 -1
  3. package/app/app.vue +21 -3
  4. package/app/assets/css/settings/base.css +33 -33
  5. package/app/assets/css/themes/components/badge.js +7 -0
  6. package/app/assets/css/themes/components/input.js +5 -0
  7. package/app/assets/css/themes/index.js +2 -1
  8. package/app/components/BaseButton.vue +3 -0
  9. package/app/components/Colors.mdx +42 -0
  10. package/app/components/Indroduction.mdx +100 -0
  11. package/app/components/a/button/a-button-avatar-dropdown.stories.ts +83 -0
  12. package/app/components/a/button/a-button-avatar-dropdown.vue +41 -17
  13. package/app/components/a/button/a-button-navigation.stories.ts +66 -0
  14. package/app/components/a/button/a-button-navigation.vue +57 -0
  15. package/app/components/a/card/a-card-inner.stories.ts +89 -0
  16. package/app/components/a/card/a-card-inner.vue +38 -0
  17. package/app/components/a/dropdown/a-dropdown-avatar.stories.ts +160 -0
  18. package/app/components/a/dropdown/a-dropdown-avatar.vue +75 -33
  19. package/app/components/a/pill/a-pill.stories.ts +91 -0
  20. package/app/components/a/pill/a-pill.vue +63 -42
  21. package/app/components/b/badge/b-badge.stories.ts +77 -0
  22. package/app/components/b/badge/b-badge.vue +55 -0
  23. package/app/components/b/card/b-card.stories.ts +120 -0
  24. package/app/components/b/card/b-card.vue +49 -32
  25. package/app/components/b/modal/b-modal.stories.ts +210 -0
  26. package/app/components/b/modal/b-modal.vue +125 -81
  27. package/app/components/c/badge/c-badge-status.stories.ts +72 -0
  28. package/app/components/c/badge/c-badge-status.vue +60 -0
  29. package/app/components/c/modal/c-modal-danger.stories.ts +112 -0
  30. package/app/components/c/modal/c-modal-danger.vue +60 -41
  31. package/app/components/d/action-buttons/d-action-buttons.stories.ts +90 -0
  32. package/app/components/d/action-buttons/d-action-buttons.vue +121 -0
  33. package/app/components/d/card/d-card-header.stories.ts +123 -0
  34. package/app/components/{b/card/b-card-header.vue → d/card/d-card-header.vue} +62 -44
  35. package/app/components/d/upload/d-upload-avatar.stories.ts +66 -0
  36. package/app/components/d/upload/d-upload-avatar.vue +95 -0
  37. package/app/pages/test.vue +27 -16
  38. package/app/types/index.ts +1 -0
  39. package/app/types/semantic-colors.type.ts +3 -0
  40. package/app/utils/util-get-colors-from-css.ts +53 -0
  41. package/nuxt.config.ts +11 -16
  42. package/package.json +84 -68
  43. package/.editorconfig +0 -13
  44. package/.github/workflows/release.yml +0 -36
  45. package/.husky/commit-msg +0 -1
  46. package/.husky/pre-commit +0 -0
  47. package/.prettierrc +0 -24
  48. package/.storybook/main.js +0 -25
  49. package/.storybook/preview.js +0 -13
  50. package/.vscode/settings.json +0 -28
  51. package/CHANGELOG.md +0 -46
  52. package/app/Introduction.mdx +0 -44
  53. package/app/components/a/button/a-button-back.vue +0 -33
  54. package/app/components/b/card/b-card-inner.vue +0 -25
  55. package/app/components/d/d-action-buttons.vue +0 -99
  56. package/commitlint.config.js +0 -8
  57. package/tsconfig.json +0 -8
@@ -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
- <BCardInner class="h-full">
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
- </BCardInner>
26
+ </ACardInner>
27
27
 
28
28
  <hr class="my-6" />
29
29
 
30
30
  <BCard>
31
31
  <template #header>
32
- <BCardHeader title="Crear una nueva actividad" subtitle="Subtitle" has-left-button-icon>
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
- </BCardHeader>
41
+ </DCardHeader>
42
42
  </template>
43
43
 
44
- <BCardInner>
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
- </BCardInner>
48
+ </ACardInner>
49
49
 
50
- <BCardHeader
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
- </BCardHeader>
60
+ </DCardHeader>
61
61
 
62
- <BCardInner class="space-y-2">
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
- </BCardInner>
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
- <!-- <APillAvatar text="test 1" /> -->
143
+ <!-- <APill text="test 1" /> -->
144
144
  <p>
145
- <APillAvatar label="xs" size="xs" />
146
- <APillAvatar label="sm" size="sm" color="warning" variant="subtle" />
147
- <APillAvatar label="md" size="md" color="error" />
148
- <APillAvatar label="lg" size="lg" color="success" />
149
- <APillAvatar label="xl" size="xl" />
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,3 @@
1
+ import appConfig from '@/app.config'
2
+
3
+ export type SemanticColors = keyof typeof appConfig.ui.colors
@@ -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 "@tailwindcss/vite";
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: ['@nuxt/ui', '@nuxtjs/storybook'],
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
- // ui: {
14
- // theme: {
15
- // colors: [
16
- // 'primary',
17
- // 'secondary',
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
- "name": "design-system-dashboard-devmunity",
3
- "type": "module",
4
- "version": "0.3.0",
5
- "scripts": {
6
- "build": "nuxt build",
7
- "dev": "nuxt dev",
8
- "generate": "nuxt generate",
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
- "plugins": [
21
- "@semantic-release/commit-analyzer",
22
- "@semantic-release/release-notes-generator",
23
- [
24
- "@semantic-release/changelog",
25
- {
26
- "changelogFile": "CHANGELOG.md"
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,13 +0,0 @@
1
- # editorconfig.org
2
- root = true
3
-
4
- [*]
5
- indent_size = 4
6
- indent_style = space
7
- end_of_line = lf
8
- charset = utf-8
9
- trim_trailing_whitespace = true
10
- insert_final_newline = true
11
-
12
- [*.md]
13
- trim_trailing_whitespace = false
@@ -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
- }
@@ -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
@@ -1,13 +0,0 @@
1
- import '../app/assets/css/main.css'
2
- const preview = {
3
- parameters: {
4
- controls: {
5
- matchers: {
6
- color: /(background|color)$/i,
7
- date: /Date$/i,
8
- },
9
- },
10
- },
11
- }
12
-
13
- export default preview
@@ -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))
@@ -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>