adverich-kun-ui 0.1.569 → 0.1.571
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/AGENTS.md +434 -0
- package/README.md +119 -10
- package/dist/adverich-kun-ui.css +1 -1
- package/dist/components/KunAlert/src/components/KunAlert.vue.js +71 -147
- package/dist/components/KunAlert/src/composables/kunAlertProps.js +42 -0
- package/dist/components/KunAppbar/src/components/KunAppbar.vue.js +72 -105
- package/dist/components/KunAppbar/src/composables/kunAppbarProps.js +38 -0
- package/dist/components/KunAppbarTitle/src/components/KunAppbarTitle.vue.js +13 -27
- package/dist/components/KunAppbarTitle/src/composables/kunAppbarTitleProps.js +19 -0
- package/dist/components/KunAvatar/src/components/KunAvatar.vue.js +27 -42
- package/dist/components/KunAvatar/src/composables/kunAvatarProps.js +20 -0
- package/dist/components/KunBadge/src/components/KunBadge.vue.js +24 -55
- package/dist/components/KunBadge/src/composables/kunBadgeProps.js +31 -0
- package/dist/components/KunBtn/src/components/KunBtn.vue.js +58 -90
- package/dist/components/KunBtn/src/composables/kunBtnProps.js +37 -0
- package/dist/components/KunCheckbox/src/components/KunCheckbox.vue.js +70 -110
- package/dist/components/KunCheckbox/src/composables/kunCheckboxProps.js +44 -0
- package/dist/components/KunClock/src/components/KunClock.vue.js +17 -29
- package/dist/components/KunClock/src/composables/kunClockProps.js +17 -0
- package/dist/components/KunCurrency/src/components/KunCurrency.vue.js +49 -80
- package/dist/components/KunCurrency/src/composables/kunCurrencyProps.js +36 -0
- package/dist/components/KunDatePicker/src/components/KunDatePicker.vue.js +593 -4
- package/dist/components/KunDatePicker/src/composables/kunDatePickerProps.js +33 -0
- package/dist/components/KunDialog/src/components/KunDialog.vue.js +34 -60
- package/dist/components/KunDialog/src/components/KunDialogContent.vue.js +11 -20
- package/dist/components/KunDialog/src/components/KunDialogOverlay.vue.js +17 -2
- package/dist/components/KunDialog/src/composables/kunDialogContentProps.js +14 -0
- package/dist/components/KunDialog/src/composables/kunDialogOverlayProps.js +6 -0
- package/dist/components/KunDialog/src/composables/kunDialogProps.js +29 -0
- package/dist/components/KunDrawer/src/components/KunDrawer.vue.js +82 -114
- package/dist/components/KunDrawer/src/composables/kunDrawerProps.js +34 -0
- package/dist/components/KunFileInput/src/components/KunFileInput.vue.js +85 -110
- package/dist/components/KunFileInput/src/composables/kunFileInputProps.js +30 -0
- package/dist/components/KunForm/src/components/KunForm.vue.js +31 -53
- package/dist/components/KunForm/src/composables/kunFormProps.js +25 -0
- package/dist/components/KunIcon/src/components/KunIcon.vue.js +28 -49
- package/dist/components/KunIcon/src/composables/kunIconProps.js +26 -0
- package/dist/components/KunInfiniteScroll/src/components/KunInfiniteScroll.vue.js +40 -70
- package/dist/components/KunInfiniteScroll/src/composables/kunInfiniteScrollProps.js +35 -0
- package/dist/components/KunList/src/components/KunList.vue.js +55 -66
- package/dist/components/KunList/src/composables/kunListProps.js +16 -0
- package/dist/components/KunListGroup/src/components/KunListGroup.vue.js +45 -50
- package/dist/components/KunListGroup/src/composables/kunListGroupProps.js +10 -0
- package/dist/components/KunListImg/src/components/KunListImg.vue.js +13 -25
- package/dist/components/KunListImg/src/composables/kunListImgProps.js +17 -0
- package/dist/components/KunListItem/src/components/KunListItem.vue.js +135 -167
- package/dist/components/KunListItem/src/composables/kunListItemProps.js +37 -0
- package/dist/components/KunListItemAction/src/components/KunListItemAction.vue.js +12 -28
- package/dist/components/KunListItemAction/src/composables/kunListItemActionProps.js +21 -0
- package/dist/components/KunListItemAvatar/src/components/KunListItemAvatar.vue.js +16 -41
- package/dist/components/KunListItemAvatar/src/composables/kunListItemAvatarProps.js +29 -0
- package/dist/components/KunListItemSubtitle/src/components/KunListItemSubtitle.vue.js +8 -24
- package/dist/components/KunListItemSubtitle/src/composables/kunListItemSubtitleProps.js +21 -0
- package/dist/components/KunListItemText/src/components/KunListItemText.vue.js +12 -28
- package/dist/components/KunListItemText/src/composables/kunListItemTextProps.js +21 -0
- package/dist/components/KunListItemTitle/src/components/KunListItemTitle.vue.js +12 -28
- package/dist/components/KunListItemTitle/src/composables/kunListItemTitleProps.js +21 -0
- package/dist/components/KunListSubheader/src/components/KunListSubheader.vue.js +12 -28
- package/dist/components/KunListSubheader/src/composables/kunListSubheaderProps.js +21 -0
- package/dist/components/KunLoaderCircular/src/components/KunLoaderCircular.vue.js +18 -36
- package/dist/components/KunLoaderCircular/src/composables/kunLoaderCircularProps.js +21 -0
- package/dist/components/KunModalFooter/src/components/KunModalFooter.vue.js +14 -45
- package/dist/components/KunModalFooter/src/components/KunMultipleModalFooter.vue.js +20 -41
- package/dist/components/KunModalFooter/src/composables/kunModalFooterProps.js +32 -0
- package/dist/components/KunModalFooter/src/composables/kunMultipleModalFooterProps.js +25 -0
- package/dist/components/KunNumberField/src/components/KunNumberField.vue.js +44 -45
- package/dist/components/KunRadio/src/components/KunRadio.vue.js +34 -48
- package/dist/components/KunRadio/src/composables/kunRadioProps.js +19 -0
- package/dist/components/KunRadioGroup/src/components/KunRadioGroup.vue.js +18 -31
- package/dist/components/KunRadioGroup/src/composables/kunRadioGroupProps.js +17 -0
- package/dist/components/KunRelationMatrix/src/components/KunRelationMatrix.vue.js +54 -70
- package/dist/components/KunRelationMatrix/src/composables/kunRelationMatrixProps.js +21 -0
- package/dist/components/KunSkeleton/src/components/KunSkeleton.vue.js +14 -29
- package/dist/components/KunSkeleton/src/composables/kunSkeletonProps.js +16 -0
- package/dist/components/KunSlider/src/components/KunThumb.vue.js +19 -38
- package/dist/components/KunSlider/src/composables/kunThumbProps.js +24 -0
- package/dist/components/KunSwitch/src/components/KunSwitch.vue.js +51 -68
- package/dist/components/KunSwitch/src/composables/kunSwitchProps.js +21 -0
- package/dist/components/KunTable/src/components/KunTableFilter.vue.js +26 -32
- package/dist/components/KunTable/src/components/KunTableFooter.vue.js +67 -75
- package/dist/components/KunTable/src/components/KunTableHeaders.vue.js +63 -91
- package/dist/components/KunTable/src/components/KunTableIterator.vue.js +43 -57
- package/dist/components/KunTable/src/components/KunTableIterators.vue.js +35 -52
- package/dist/components/KunTable/src/components/KunTableRow.vue.js +44 -79
- package/dist/components/KunTable/src/components/KunTableRows.vue.js +37 -66
- package/dist/components/KunTable/src/composables/kunTableFilterProps.js +8 -0
- package/dist/components/KunTable/src/composables/kunTableFooterProps.js +9 -0
- package/dist/components/KunTable/src/composables/kunTableHeadersProps.js +19 -0
- package/dist/components/KunTable/src/composables/kunTableIteratorProps.js +19 -0
- package/dist/components/KunTable/src/composables/kunTableIteratorsProps.js +18 -0
- package/dist/components/KunTable/src/composables/kunTableRowProps.js +22 -0
- package/dist/components/KunTable/src/composables/kunTableRowsProps.js +26 -0
- package/dist/components/KunTabs/src/components/KunTab.vue.js +24 -47
- package/dist/components/KunTabs/src/components/KunTabWindow.vue.js +25 -51
- package/dist/components/KunTabs/src/components/KunTabs.vue.js +38 -59
- package/dist/components/KunTabs/src/composables/kunTabProps.js +28 -0
- package/dist/components/KunTabs/src/composables/kunTabWindowProps.js +30 -0
- package/dist/components/KunTabs/src/composables/kunTabsProps.js +26 -0
- package/dist/components/KunTextField/src/components/KunTextField.vue.js +34 -34
- package/dist/components/KunToolbar/src/components/KunToolbar.vue.js +49 -74
- package/dist/components/KunToolbar/src/components/KunToolbarItems.vue.js +11 -17
- package/dist/components/KunToolbar/src/components/KunToolbarTitle.vue.js +10 -18
- package/dist/components/KunToolbar/src/composables/kunToolbarItemsProps.js +11 -0
- package/dist/components/KunToolbar/src/composables/kunToolbarProps.js +30 -0
- package/dist/components/KunToolbar/src/composables/kunToolbarTitleProps.js +13 -0
- package/dist/components/KunTooltip/src/components/KunTooltip.vue.js +53 -66
- package/dist/components/KunTooltip/src/composables/kunTooltipProps.js +18 -0
- package/dist/components/KunVirtualScroller/src/components/KunVirtualScroller.vue.js +25 -41
- package/dist/components/KunVirtualScroller/src/composables/kunVirtualScrollerProps.js +21 -0
- package/package.json +4 -2
- package/dist/components/KunDatePicker/src/components/KunDatePicker.vue2.js +0 -630
- package/dist/components/KunDialog/src/components/KunDialogOverlay.vue2.js +0 -20
package/AGENTS.md
ADDED
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
# KunUI - Documentación para Agentes de IA
|
|
2
|
+
|
|
3
|
+
KunUI es una librería de componentes Vue.js 3 con Tailwind CSS.
|
|
4
|
+
|
|
5
|
+
## Instalación
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install adverich-kun-ui
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
```javascript
|
|
12
|
+
import { createApp } from 'vue'
|
|
13
|
+
import KunUI from 'adverich-kun-ui'
|
|
14
|
+
import 'adverich-kun-ui/dist/adverich-kun-ui.css'
|
|
15
|
+
|
|
16
|
+
const app = createApp(App)
|
|
17
|
+
app.use(KunUI)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Componentes
|
|
23
|
+
|
|
24
|
+
### KunBtn
|
|
25
|
+
|
|
26
|
+
Botón con múltiples variantes y tamaños.
|
|
27
|
+
|
|
28
|
+
```vue
|
|
29
|
+
<KunBtn text="Click me" variant="default" size="md" @click="handleClick" />
|
|
30
|
+
<KunBtn icon="mdi-plus" variant="tonal" />
|
|
31
|
+
<KunBtn text="Link" to="/path" />
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
| Prop | Tipo | Default | Descripción |
|
|
35
|
+
|------|------|---------|-------------|
|
|
36
|
+
| text | String | - | Texto del botón |
|
|
37
|
+
| size | String | 'md' | Tamaño: 'xxs', 'xs', 'sm', 'md', 'lg', 'xl', 'xxl' |
|
|
38
|
+
| variant | String | 'default' | Variante: 'default', 'tonal', 'plain', 'outlined', 'soft', 'text' |
|
|
39
|
+
| disabled | Boolean | false | Deshabilita el botón |
|
|
40
|
+
| loading | Boolean | false | Muestra estado de carga |
|
|
41
|
+
| bgColor | String | 'bg-button' | Color de fondo (clase Tailwind) |
|
|
42
|
+
| textColor | String | 'text-slate-800 dark:text-slate-200' | Color de texto |
|
|
43
|
+
| icon | String/Object/Function/Array | - | Ícono del botón |
|
|
44
|
+
| prependIcon | String/Object/Function/Array | - | Ícono al inicio |
|
|
45
|
+
| appendIcon | String/Object/Function/Array | - | Ícono al final |
|
|
46
|
+
| to | String/Object | - | Ruta Vue Router (convierte a router-link) |
|
|
47
|
+
| href | String | - | URL externa (convierte a <a>) |
|
|
48
|
+
| target | String | - | Target del enlace |
|
|
49
|
+
| rounded | String | 'rounded-lg' | Clase de borde redondeado |
|
|
50
|
+
| ring | Boolean | false | Añade ring al focus |
|
|
51
|
+
|
|
52
|
+
**Eventos:** click, keydown, keyup, keypress
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
### KunTextField
|
|
57
|
+
|
|
58
|
+
Campo de texto con validación y decoradores.
|
|
59
|
+
|
|
60
|
+
```vue
|
|
61
|
+
<KunTextField v-model="value" label="Nombre" :rules="[v => !!v || 'Requerido']" />
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
| Prop | Tipo | Default | Descripción |
|
|
65
|
+
|------|------|---------|-------------|
|
|
66
|
+
| modelValue | String/Number | '' | Valor del campo |
|
|
67
|
+
| label | String | '' | Etiqueta flotante |
|
|
68
|
+
| placeholder | String | '' | Placeholder |
|
|
69
|
+
| type | String | 'text' | Tipo: text, password, email, etc. |
|
|
70
|
+
| disabled | Boolean | false | Deshabilita el campo |
|
|
71
|
+
| readonly | Boolean | false | Solo lectura |
|
|
72
|
+
| error | Boolean | false | Muestra estado de error |
|
|
73
|
+
| errorMessage | String | '' | Mensaje de error |
|
|
74
|
+
| rules | Array | [] | Array de funciones de validación |
|
|
75
|
+
| clearable | Boolean | false | Muestra botón de limpiar |
|
|
76
|
+
| hint | String | '' | Texto de ayuda |
|
|
77
|
+
| persistentHint | Boolean | false | Muestra hint siempre |
|
|
78
|
+
| hideDetails | Boolean | false | Oculta área de detalles |
|
|
79
|
+
| density | String | 'default' | Densidad: 'default', 'comfortable', 'compact' |
|
|
80
|
+
| prefix | String | '' | Prefijo |
|
|
81
|
+
| suffix | String | '' | Sufijo |
|
|
82
|
+
| prependIcon | String | - | Ícono al inicio |
|
|
83
|
+
| appendIcon | String | - | Ícono al final |
|
|
84
|
+
| maxlength | Number/String | null | Longitud máxima |
|
|
85
|
+
| counter | Boolean | false | Muestra contador |
|
|
86
|
+
| debounce | Number | 300 | Debounce en ms |
|
|
87
|
+
|
|
88
|
+
**Eventos:** update:modelValue, focus, blur, enter
|
|
89
|
+
|
|
90
|
+
**Métodos expuestos:** validate(), reset(), resetValidation(), focus()
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
### KunAutocomplete
|
|
95
|
+
|
|
96
|
+
Selector con autocompletado y búsqueda.
|
|
97
|
+
|
|
98
|
+
```vue
|
|
99
|
+
<KunAutocomplete
|
|
100
|
+
v-model="selected"
|
|
101
|
+
v-model:items="items"
|
|
102
|
+
label="Seleccionar"
|
|
103
|
+
item-value="id"
|
|
104
|
+
item-title="name"
|
|
105
|
+
:rules="[v => !!v || 'Requerido']"
|
|
106
|
+
/>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
| Prop | Tipo | Default | Descripción |
|
|
110
|
+
|------|------|---------|-------------|
|
|
111
|
+
| modelValue | Any | null | Valor seleccionado |
|
|
112
|
+
| items | Array | [] | Lista de items (v-model:items) |
|
|
113
|
+
| label | String | - | Etiqueta |
|
|
114
|
+
| itemValue | String | null | Campo para el valor |
|
|
115
|
+
| itemTitle | String/Array | null | Campo(s) para mostrar |
|
|
116
|
+
| itemSubtitle | String/Array | null | Campo(s) para subtítulo |
|
|
117
|
+
| returnObject | Boolean | false | Retorna objeto completo |
|
|
118
|
+
| multiple | Boolean | false | Selección múltiple |
|
|
119
|
+
| clearable | Boolean | false | Botón de limpiar |
|
|
120
|
+
| searchableKeys | Array | [] | Campos para búsqueda |
|
|
121
|
+
| hasCreateItem | Boolean | false | Muestra botón de crear |
|
|
122
|
+
| density | String | 'default' | Densidad |
|
|
123
|
+
| hideDetails | Boolean | true | Oculta detalles |
|
|
124
|
+
| zIndex | String | 'z-250' | Z-index del menú |
|
|
125
|
+
| rules | Array | [] | Reglas de validación |
|
|
126
|
+
|
|
127
|
+
**Eventos:** update:modelValue, selectedItem, createItem, search, notFound, cleared
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
### KunDialog
|
|
132
|
+
|
|
133
|
+
Diálogo modal con posicionamiento flexible.
|
|
134
|
+
|
|
135
|
+
```vue
|
|
136
|
+
<KunDialog v-model="show" persistent>
|
|
137
|
+
<template #default>
|
|
138
|
+
<p>Contenido del diálogo</p>
|
|
139
|
+
</template>
|
|
140
|
+
</KunDialog>
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
| Prop | Tipo | Default | Descripción |
|
|
144
|
+
|------|------|---------|-------------|
|
|
145
|
+
| modelValue | Boolean | - | Controla visibilidad |
|
|
146
|
+
| overlay | Boolean | true | Muestra overlay oscuro |
|
|
147
|
+
| fullscreen | Boolean | false | Pantalla completa |
|
|
148
|
+
| scrollable | Boolean | false | Contenido scrollable |
|
|
149
|
+
| persistent | Boolean | false | No cierra al clickear fuera |
|
|
150
|
+
| xPosition | String | 'center' | Posición X: 'start', 'center', 'end' |
|
|
151
|
+
| yPosition | String | 'center' | Posición Y: 'top', 'center', 'bottom' |
|
|
152
|
+
| bgColor | String | 'bg-surface-dark' | Color de fondo |
|
|
153
|
+
| width | String | 'w-full' | Ancho |
|
|
154
|
+
| maxWidth | String | 'max-w-full' | Ancho máximo |
|
|
155
|
+
| height | String | 'h-fit' | Alto |
|
|
156
|
+
| maxHeight | String | 'max-h-dvh' | Alto máximo |
|
|
157
|
+
|
|
158
|
+
**Eventos:** update:modelValue
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
### KunCheckbox
|
|
163
|
+
|
|
164
|
+
Checkbox con soporte para múltiples valores.
|
|
165
|
+
|
|
166
|
+
```vue
|
|
167
|
+
<KunCheckbox v-model="checked" label="Acepto términos" />
|
|
168
|
+
<KunCheckbox v-model="selected" value="option1" label="Opción 1" multiple />
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
| Prop | Tipo | Default | Descripción |
|
|
172
|
+
|------|------|---------|-------------|
|
|
173
|
+
| modelValue | Boolean/Array/String/Number/Object | - | Valor |
|
|
174
|
+
| trueValue | Any | true | Valor cuando está activo |
|
|
175
|
+
| falseValue | Any | false | Valor cuando está inactivo |
|
|
176
|
+
| value | Any | - | Valor del checkbox (para grupos) |
|
|
177
|
+
| label | String | - | Etiqueta |
|
|
178
|
+
| disabled | Boolean | false | Deshabilitado |
|
|
179
|
+
| readonly | Boolean | false | Solo lectura |
|
|
180
|
+
| indeterminate | Boolean | false | Estado indeterminado |
|
|
181
|
+
| color | String | - | Color |
|
|
182
|
+
| size | String | 'md' | Tamaño: 'sm', 'md', 'lg' |
|
|
183
|
+
| rules | Array | [] | Reglas de validación |
|
|
184
|
+
| hideDetails | Boolean/String | false | Oculta detalles |
|
|
185
|
+
|
|
186
|
+
**Eventos:** update:modelValue, update:focused
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
### KunSwitch
|
|
191
|
+
|
|
192
|
+
Switch/Toggle para valores booleanos.
|
|
193
|
+
|
|
194
|
+
```vue
|
|
195
|
+
<KunSwitch v-model="enabled" label="Activar" />
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
| Prop | Tipo | Default | Descripción |
|
|
199
|
+
|------|------|---------|-------------|
|
|
200
|
+
| modelValue | Boolean/String/Number | false | Valor |
|
|
201
|
+
| trueValue | Boolean/String/Number | true | Valor activo |
|
|
202
|
+
| falseValue | Boolean/String/Number | false | Valor inactivo |
|
|
203
|
+
| label | String | - | Etiqueta |
|
|
204
|
+
| labelPosition | String | 'right' | Posición: 'top', 'bottom', 'left', 'right' |
|
|
205
|
+
| disabled | Boolean | false | Deshabilitado |
|
|
206
|
+
| onColor | String | 'bg-green-600' | Color activo |
|
|
207
|
+
| offColor | String | 'bg-surface-light' | Color inactivo |
|
|
208
|
+
| size | String | 'md' | Tamaño: 'xxs', 'xs', 'sm', 'md', 'lg', 'xl', 'xxl' |
|
|
209
|
+
| hideDetails | Boolean | false | Oculta detalles |
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
### KunSelect
|
|
214
|
+
|
|
215
|
+
Selector desplegable.
|
|
216
|
+
|
|
217
|
+
```vue
|
|
218
|
+
<KunSelect v-model="selected" :items="options" label="Seleccionar" />
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
### KunRadio y KunRadioGroup
|
|
224
|
+
|
|
225
|
+
Botones de radio.
|
|
226
|
+
|
|
227
|
+
```vue
|
|
228
|
+
<KunRadioGroup v-model="selected" label="Opciones">
|
|
229
|
+
<KunRadio value="opt1" label="Opción 1" />
|
|
230
|
+
<KunRadio value="opt2" label="Opción 2" />
|
|
231
|
+
</KunRadioGroup>
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
### KunTable
|
|
237
|
+
|
|
238
|
+
Tabla con ordenamiento, paginación y selección.
|
|
239
|
+
|
|
240
|
+
```vue
|
|
241
|
+
<KunTable
|
|
242
|
+
:items="data"
|
|
243
|
+
:headers="headers"
|
|
244
|
+
:searchable="true"
|
|
245
|
+
:show-select="true"
|
|
246
|
+
v-model:selectedItems="selected"
|
|
247
|
+
/>
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
| Prop | Tipo | Default | Descripción |
|
|
251
|
+
|------|------|---------|-------------|
|
|
252
|
+
| items | Array | [] | Datos a mostrar |
|
|
253
|
+
| headers | Array | [] | Configuración de columnas |
|
|
254
|
+
| searchable | Boolean | false | Habilita búsqueda |
|
|
255
|
+
| showSelect | Boolean | false | Muestra checkboxes |
|
|
256
|
+
| showExpand | Boolean | false | Habilita expansión de filas |
|
|
257
|
+
| itemsPerPage | Number | 10 | Items por página |
|
|
258
|
+
| sortBy | Array/String | [] | Ordenamiento |
|
|
259
|
+
| hasActions | Boolean | false | Columna de acciones |
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
### KunList y KunListItem
|
|
264
|
+
|
|
265
|
+
Listas y items de lista.
|
|
266
|
+
|
|
267
|
+
```vue
|
|
268
|
+
<KunList selectable>
|
|
269
|
+
<KunListItem title="Item 1" subtitle="Descripción" prepend-icon="mdi-home" />
|
|
270
|
+
</KunList>
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
### KunTabs
|
|
276
|
+
|
|
277
|
+
Sistema de pestañas.
|
|
278
|
+
|
|
279
|
+
```vue
|
|
280
|
+
<KunTabs v-model="tab">
|
|
281
|
+
<KunTab value="tab1" text="Pestaña 1" />
|
|
282
|
+
<KunTab value="tab2" text="Pestaña 2" />
|
|
283
|
+
</KunTabs>
|
|
284
|
+
<KunTabWindow v-model="tab">
|
|
285
|
+
<template #item.tab1>Contenido 1</template>
|
|
286
|
+
<template #item.tab2>Contenido 2</template>
|
|
287
|
+
</KunTabWindow>
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
### KunTooltip
|
|
293
|
+
|
|
294
|
+
Tooltip informativo.
|
|
295
|
+
|
|
296
|
+
```vue
|
|
297
|
+
<KunTooltip text="Información adicional" location="top">
|
|
298
|
+
<template #activator>
|
|
299
|
+
<KunBtn icon="mdi-information" />
|
|
300
|
+
</template>
|
|
301
|
+
</KunTooltip>
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
### KunAlert
|
|
307
|
+
|
|
308
|
+
Alerta/notificación flotante.
|
|
309
|
+
|
|
310
|
+
```vue
|
|
311
|
+
<KunAlert v-model="show" title="Éxito" message="Operación completada" />
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
### KunDrawer
|
|
317
|
+
|
|
318
|
+
Panel lateral de navegación.
|
|
319
|
+
|
|
320
|
+
```vue
|
|
321
|
+
<KunDrawer v-model="open" location="start" :swipeable="true" />
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
### KunForm
|
|
327
|
+
|
|
328
|
+
Contenedor de formulario con validación.
|
|
329
|
+
|
|
330
|
+
```vue
|
|
331
|
+
<KunForm ref="formRef" v-model="isValid" @submit="handleSubmit">
|
|
332
|
+
<KunTextField v-model="data.name" :rules="[required]" />
|
|
333
|
+
</KunForm>
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
**Métodos expuestos:** validate(), reset(), resetValidation()
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
### KunFileInput
|
|
341
|
+
|
|
342
|
+
Input de archivos.
|
|
343
|
+
|
|
344
|
+
```vue
|
|
345
|
+
<KunFileInput v-model="files" label="Subir archivo" multiple clearable />
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
350
|
+
### KunDatePicker
|
|
351
|
+
|
|
352
|
+
Selector de fecha y hora.
|
|
353
|
+
|
|
354
|
+
```vue
|
|
355
|
+
<KunDatePicker v-model="date" label="Fecha" mode="date" />
|
|
356
|
+
<KunDatePicker v-model="datetime" mode="datetime" :enable-time="true" />
|
|
357
|
+
<KunDatePicker v-model="range" :range="true" />
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
---
|
|
361
|
+
|
|
362
|
+
### KunCard y subcomponentes
|
|
363
|
+
|
|
364
|
+
Sistema de tarjetas.
|
|
365
|
+
|
|
366
|
+
```vue
|
|
367
|
+
<KunCard>
|
|
368
|
+
<KunCardTitle>Título</KunCardTitle>
|
|
369
|
+
<KunCardSubtitle>Subtítulo</KunCardSubtitle>
|
|
370
|
+
<KunCardText>Contenido</KunCardText>
|
|
371
|
+
<KunCardActions>
|
|
372
|
+
<KunBtn text="Acción" />
|
|
373
|
+
</KunCardActions>
|
|
374
|
+
</KunCard>
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
---
|
|
378
|
+
|
|
379
|
+
### Otros componentes
|
|
380
|
+
|
|
381
|
+
| Componente | Descripción |
|
|
382
|
+
|------------|-------------|
|
|
383
|
+
| KunAvatar | Avatar con imagen, ícono o texto |
|
|
384
|
+
| KunBadge | Badge/insignia |
|
|
385
|
+
| KunChip | Chip/etiqueta |
|
|
386
|
+
| KunDivider | Divisor |
|
|
387
|
+
| KunIcon | Ícono |
|
|
388
|
+
| KunLoaderCircular | Loader circular |
|
|
389
|
+
| KunSkeleton | Skeleton loader |
|
|
390
|
+
| KunSpacer | Espaciador flexible |
|
|
391
|
+
| KunContainer, KunRow, KunCol | Sistema de grid |
|
|
392
|
+
| KunAppbar, KunAppbarTitle | Barra de aplicación |
|
|
393
|
+
| KunToolbar, KunToolbarTitle, KunToolbarItems | Barra de herramientas |
|
|
394
|
+
| KunMenu | Menú desplegable |
|
|
395
|
+
| KunVirtualScroller | Scroll virtualizado |
|
|
396
|
+
| KunInfiniteScroll | Scroll infinito |
|
|
397
|
+
| KunTextarea | Área de texto |
|
|
398
|
+
| KunNumberField | Campo numérico |
|
|
399
|
+
| KunCurrency | Campo de moneda |
|
|
400
|
+
| KunSlider | Slider/rango |
|
|
401
|
+
| KunClock | Reloj |
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## Patrones comunes
|
|
406
|
+
|
|
407
|
+
### Validación de formularios
|
|
408
|
+
|
|
409
|
+
```javascript
|
|
410
|
+
const required = v => !!v || 'Este campo es requerido'
|
|
411
|
+
const email = v => /.+@.+\..+/.test(v) || 'Email inválido'
|
|
412
|
+
const min = min => v => v?.length >= min || `Mínimo ${min} caracteres`
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
### Configuración global
|
|
416
|
+
|
|
417
|
+
```javascript
|
|
418
|
+
import { kunConfig } from 'adverich-kun-ui'
|
|
419
|
+
|
|
420
|
+
kunConfig.configure({
|
|
421
|
+
locale: 'es-AR',
|
|
422
|
+
currency: { value: 'ARS', name: 'Pesos', symbol: '$' }
|
|
423
|
+
})
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
---
|
|
427
|
+
|
|
428
|
+
## Convenciones
|
|
429
|
+
|
|
430
|
+
- **Props de estilo**: Usan clases Tailwind (bg-color, text-color, rounded, etc.)
|
|
431
|
+
- **Tamaños**: 'xxs', 'xs', 'sm', 'md', 'lg', 'xl', 'xxl'
|
|
432
|
+
- **Densidad**: 'default', 'comfortable', 'compact'
|
|
433
|
+
- **v-model**: La mayoría de inputs usan v-model para two-way binding
|
|
434
|
+
- **Slots**: Nombre de slot = nombre del prop sin "Icon" (prependIcon -> #prepend)
|
package/README.md
CHANGED
|
@@ -1,10 +1,119 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
# KunUI
|
|
2
|
+
|
|
3
|
+
Una librería de componentes Vue.js 3 con Tailwind CSS, ligera y fácil de usar.
|
|
4
|
+
|
|
5
|
+
## Instalación
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install adverich-kun-ui
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Uso
|
|
12
|
+
|
|
13
|
+
### Importación global
|
|
14
|
+
|
|
15
|
+
```javascript
|
|
16
|
+
// main.js
|
|
17
|
+
import { createApp } from 'vue'
|
|
18
|
+
import KunUI from 'adverich-kun-ui'
|
|
19
|
+
import 'adverich-kun-ui/dist/adverich-kun-ui.css'
|
|
20
|
+
|
|
21
|
+
const app = createApp(App)
|
|
22
|
+
app.use(KunUI)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Importación individual
|
|
26
|
+
|
|
27
|
+
```javascript
|
|
28
|
+
import { KunBtn, KunTextField, KunDialog } from 'adverich-kun-ui'
|
|
29
|
+
import 'adverich-kun-ui/dist/adverich-kun-ui.css'
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Componentes disponibles
|
|
33
|
+
|
|
34
|
+
### Formularios
|
|
35
|
+
- `KunBtn` - Botón con múltiples variantes
|
|
36
|
+
- `KunTextField` - Campo de texto
|
|
37
|
+
- `KunTextarea` - Área de texto
|
|
38
|
+
- `KunNumberField` - Campo numérico
|
|
39
|
+
- `KunCheckbox` - Checkbox
|
|
40
|
+
- `KunSwitch` - Switch/Toggle
|
|
41
|
+
- `KunRadio` - Radio button
|
|
42
|
+
- `KunRadioGroup` - Grupo de radio buttons
|
|
43
|
+
- `KunSelect` - Selector
|
|
44
|
+
- `KunAutocomplete` - Autocompletado
|
|
45
|
+
- `KunFileInput` - Input de archivos
|
|
46
|
+
- `KunCurrency` - Campo de moneda
|
|
47
|
+
- `KunDatePicker` - Selector de fecha
|
|
48
|
+
- `KunSlider` - Slider/Rango
|
|
49
|
+
- `KunForm` - Contenedor de formulario
|
|
50
|
+
|
|
51
|
+
### Layout
|
|
52
|
+
- `KunContainer` - Contenedor
|
|
53
|
+
- `KunRow` - Fila (grid)
|
|
54
|
+
- `KunCol` - Columna (grid)
|
|
55
|
+
- `KunDivider` - Divisor
|
|
56
|
+
- `KunSpacer` - Espaciador
|
|
57
|
+
|
|
58
|
+
### Navegación
|
|
59
|
+
- `KunAppbar` - Barra de aplicación
|
|
60
|
+
- `KunAppbarTitle` - Título de appbar
|
|
61
|
+
- `KunDrawer` - Drawer/Panel lateral
|
|
62
|
+
- `KunToolbar` - Barra de herramientas
|
|
63
|
+
- `KunToolbarTitle` - Título de toolbar
|
|
64
|
+
- `KunToolbarItems` - Items de toolbar
|
|
65
|
+
- `KunTabs` - Pestañas
|
|
66
|
+
- `KunTab` - Pestaña individual
|
|
67
|
+
- `KunTabWindow` - Ventana de pestaña
|
|
68
|
+
- `KunMenu` - Menú desplegable
|
|
69
|
+
|
|
70
|
+
### Superposición
|
|
71
|
+
- `KunDialog` - Diálogo modal
|
|
72
|
+
- `KunTooltip` - Tooltip
|
|
73
|
+
- `KunAlert` - Alerta/Notificación
|
|
74
|
+
|
|
75
|
+
### Datos
|
|
76
|
+
- `KunTable` - Tabla con funcionalidades avanzadas
|
|
77
|
+
- `KunVirtualScroller` - Scroll virtualizado
|
|
78
|
+
- `KunInfiniteScroll` - Scroll infinito
|
|
79
|
+
- `KunRelationMatrix` - Matriz de relaciones
|
|
80
|
+
|
|
81
|
+
### Listas
|
|
82
|
+
- `KunList` - Lista
|
|
83
|
+
- `KunListItem` - Item de lista
|
|
84
|
+
- `KunListGroup` - Grupo de lista colapsable
|
|
85
|
+
- `KunListSubheader` - Subtítulo de lista
|
|
86
|
+
- `KunListImg` - Imagen de lista
|
|
87
|
+
- `KunListItemTitle` - Título de item
|
|
88
|
+
- `KunListItemText` - Texto de item
|
|
89
|
+
- `KunListItemSubtitle` - Subtítulo de item
|
|
90
|
+
- `KunListItemAvatar` - Avatar de item
|
|
91
|
+
- `KunListItemAction` - Acción de item
|
|
92
|
+
|
|
93
|
+
### Visualización
|
|
94
|
+
- `KunCard` - Tarjeta
|
|
95
|
+
- `KunCardTitle` - Título de tarjeta
|
|
96
|
+
- `KunCardSubtitle` - Subtítulo de tarjeta
|
|
97
|
+
- `KunCardText` - Texto de tarjeta
|
|
98
|
+
- `KunCardActions` - Acciones de tarjeta
|
|
99
|
+
- `KunCardItem` - Item de tarjeta
|
|
100
|
+
- `KunAvatar` - Avatar
|
|
101
|
+
- `KunBadge` - Badge/Insignia
|
|
102
|
+
- `KunIcon` - Ícono
|
|
103
|
+
- `KunChip` - Chip/Etiqueta
|
|
104
|
+
- `KunClock` - Reloj
|
|
105
|
+
- `KunSkeleton` - Skeleton loader
|
|
106
|
+
- `KunLoaderCircular` - Loader circular
|
|
107
|
+
|
|
108
|
+
### Utilidades
|
|
109
|
+
- `KunModalFooter` - Pie de modal
|
|
110
|
+
- `KunMultipleModalFooter` - Múltiples pies de modal
|
|
111
|
+
|
|
112
|
+
## Requisitos
|
|
113
|
+
|
|
114
|
+
- Vue 3.5+
|
|
115
|
+
- Tailwind CSS 4.0+
|
|
116
|
+
|
|
117
|
+
## Licencia
|
|
118
|
+
|
|
119
|
+
MIT
|