@segha/catalog 0.1.0 → 1.1.0

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 (48) hide show
  1. package/CHANGELOG.md +28 -11
  2. package/README.md +42 -40
  3. package/es/Clothing/Colors.ts +14 -0
  4. package/es/Clothing/Fit.ts +3 -1
  5. package/es/Clothing/Garment.ts +43 -7
  6. package/es/Clothing/{use_cases.ts → UseCases.ts} +4 -0
  7. package/es/Clothing/index.ts +10 -9
  8. package/es/Clothing/materials.ts +10 -0
  9. package/es/Clothing/variants.ts +25 -2
  10. package/json-schemas/CatalogClothingSchema.json +74 -8
  11. package/json-schemas/ClothingSchema.json +74 -8
  12. package/json-schemas/es/CatalogClothingSchema.json +74 -8
  13. package/json-schemas/es/Clothing/Accessories.json +7 -2
  14. package/json-schemas/es/Clothing/AdditionalFeatures.json +9 -0
  15. package/json-schemas/es/Clothing/Bottom.json +2 -1
  16. package/json-schemas/es/Clothing/CatalogClothingSchema.json +74 -8
  17. package/json-schemas/es/Clothing/Closures.json +11 -0
  18. package/json-schemas/es/Clothing/ClothingSchema.json +74 -8
  19. package/json-schemas/es/Clothing/Color.json +4 -1
  20. package/json-schemas/es/Clothing/CommonFabric.json +7 -1
  21. package/json-schemas/es/Clothing/Dress.json +2 -1
  22. package/json-schemas/es/Clothing/Fit.json +3 -1
  23. package/json-schemas/es/Clothing/Garment.json +19 -1
  24. package/json-schemas/es/Clothing/Home.json +9 -0
  25. package/json-schemas/es/Clothing/Material.json +11 -1
  26. package/json-schemas/es/Clothing/Materials.json +11 -1
  27. package/json-schemas/es/Clothing/MetallicColor.json +9 -0
  28. package/json-schemas/es/Clothing/NaturalMaterial.json +3 -1
  29. package/json-schemas/es/Clothing/Necks.json +6 -1
  30. package/json-schemas/es/Clothing/Pants.json +2 -1
  31. package/json-schemas/es/Clothing/Pattern.json +8 -1
  32. package/json-schemas/es/Clothing/PrimaryColor.json +4 -1
  33. package/json-schemas/es/Clothing/SecondaryColor.json +4 -1
  34. package/json-schemas/es/Clothing/Shoes.json +2 -1
  35. package/json-schemas/es/Clothing/Sportswear.json +11 -0
  36. package/json-schemas/es/Clothing/Swimsuits.json +9 -0
  37. package/json-schemas/es/Clothing/SyntheticMaterial.json +3 -1
  38. package/json-schemas/es/Clothing/Top.json +2 -1
  39. package/json-schemas/es/Clothing/Underwear.json +12 -0
  40. package/json-schemas/es/Clothing/UseCase.json +5 -1
  41. package/json-schemas/es/Clothing/UseCases.json +5 -1
  42. package/json-schemas/es/Clothing/Variant.json +15 -1
  43. package/json-schemas/es/Clothing/Variants.json +15 -1
  44. package/json-schemas/es/Clothing/index.json +225 -704
  45. package/json-schemas/es/ClothingSchema.json +74 -8
  46. package/json-schemas/es/index.json +148 -16
  47. package/json-schemas/index.json +148 -16
  48. package/package.json +21 -3
package/CHANGELOG.md CHANGED
@@ -1,20 +1,37 @@
1
- # @segha/catalog
1
+ # Changelog
2
2
 
3
+ All notable changes to @segha/catalog will be documented in this file.
3
4
 
4
- ## 0.1.0
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
7
 
6
- ### Minor Changes
8
+ ## [1.1.0] - 2026-02-05
7
9
 
8
- - Schema CatalogClothingSchema was added
9
- - Schema ClothingSchema was added
10
- - Schema DetailedClothingSchema was added
11
- - Schema MetaClothingSchema was added
10
+ ### Added
12
11
 
13
- ## 0.0.1
12
+ - **BREAKING** Required property `name` was added to `CatalogClothingSchema`
13
+ - **BREAKING** Required property `name` was added to `ClothingSchema`
14
14
 
15
- ### Initial Release
15
+ ## [1.0.0] - 2025-02-04
16
16
 
17
- - Schemas for Clothing
18
- - Colors, Materials, Sizes, Measurements...
17
+ ### Removed
18
+
19
+ - **BREAKING** Enum values removed: Oversize
20
+
21
+ ## [0.1.0] - 2025-02-03
22
+
23
+ ### Added
24
+
25
+ - Schema `CatalogClothingSchema`
26
+ - Schema `ClothingSchema`
27
+ - Schema `DetailedClothingSchema`
28
+ - Schema `MetaClothingSchema`
29
+
30
+ ## [0.0.1] - 2025-02-02
31
+
32
+ ### Added
33
+
34
+ - Initial schemas for Clothing
35
+ - Colors, Materials, Sizes, Measurements
19
36
  - Garments, Layers and Use Cases
20
37
  - Variants and Status
package/README.md CHANGED
@@ -48,21 +48,22 @@ Prenda de ropa: Datos obtenibles de catalogación
48
48
 
49
49
  _Object containing the following properties:_
50
50
 
51
- | Property | Description | Type |
52
- | :----------------------- | :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
53
- | **`garment`** (\*) | Tipo de Prenda | `'Camisetas' \| 'Polos' \| 'Camisas' \| 'Blusas' \| 'Tops' \| 'Jerseys' \| 'Sudaderas' \| 'Cárdigans' \| 'Chaquetas' \| 'Pantalones' \| 'Vaqueros' \| 'Chinos' \| 'Faldas' \| 'Shorts' \| 'Abrigos' \| 'Gabardinas' \| 'Parkas' \| 'Cazadoras' \| 'Chalecos' \| 'Vestidos' \| ...` |
54
- | **`slot`** (\*) | Parte del outfit | `'Superior' \| 'Inferior' \| 'Cuerpo Completo' \| 'Exterior' \| 'Calzado' \| 'Accesorios'` |
55
- | `variants` | Detalles Estructurales | `Array<'Sin Mangas' \| 'Mangas Cortas' \| 'Mangas Largas' \| 'Cuello Redondo' \| 'Cuello Pico' \| 'Cuello Alto' \| 'Cuello Camisa' \| 'Overshirt' \| 'Cropped' \| 'Larga' \| 'Pierna Recta' \| 'Pitillo' \| 'Ancha' \| 'Cargo' \| 'Trench' \| 'Plumífero' \| 'Doble botonadura'>` |
56
- | `fit` | Ajuste | `'Entallado' \| 'Regular' \| 'Relajado' \| 'Oversize'` |
57
- | **`primary_color`** (\*) | Color principal | `'Blanco' \| 'Negro' \| 'Gris' \| 'Beige' \| 'Marrón' \| 'Azul' \| 'Verde' \| 'Rojo' \| 'Burdeos' \| 'Rosa' \| 'Amarillo' \| 'Naranja' \| 'Morado' \| 'Camel' \| 'Caqui' \| 'Marino' \| 'Crema'` |
58
- | `secondary_color` | Color secundario | `'Blanco' \| 'Negro' \| 'Gris' \| 'Beige' \| 'Marrón' \| 'Azul' \| 'Verde' \| 'Rojo' \| 'Burdeos' \| 'Rosa' \| 'Amarillo' \| 'Naranja' \| 'Morado' \| 'Camel' \| 'Caqui' \| 'Marino' \| 'Crema'` |
59
- | `pattern` | Estampado | `'Liso' \| 'Rayas' \| 'Cuadros'` |
60
- | `materials` | Materiales | `Array<'Algodón' \| 'Lino' \| 'Lana' \| 'Seda' \| 'Cuero' \| 'Poliéster' \| 'Nylon' \| 'Elastano' \| 'Viscosa' \| 'Denim' \| 'Punto' \| 'Felpa'>` |
61
- | **`layer`** (\*) | Capa Térmica | `'Base' \| 'Intermedia' \| 'Exterior'` |
62
- | `season` | Estaciones | `'Invierno' \| 'Verano' \| 'Entretiempo' \| 'Todo el año'` |
63
- | `use_case` | Casos de uso | `Array<'Capsula' \| 'Favorita' \| 'Básico' \| 'Deporte' \| 'Trabajo' \| 'Evento' \| 'Viaje' \| 'Casa'>` |
64
- | `formality` | Formalidad | `'Muy Informal' \| 'Casual' \| 'Arreglado' \| 'Formal' \| 'Etiqueta'` |
65
- | `brand` | The brand of the clothing | `string` |
51
+ | Property | Description | Type |
52
+ | :----------------------- | :-------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
53
+ | **`name`** (\*) | Nombre descriptivo de la prenda de ropa | `string` |
54
+ | **`garment`** (\*) | Tipo de Prenda | `'Camisetas Interiores' \| 'Calzoncillos' \| 'Bragas' \| 'Sujetadores' \| 'Calcetines' \| 'Camisetas' \| 'Polos' \| 'Camisas' \| 'Blusas' \| 'Tops' \| 'Jerseys' \| 'Sudaderas' \| 'Cárdigans' \| 'Chaquetas' \| 'Pantalones' \| 'Vaqueros' \| 'Chinos' \| 'Faldas' \| 'Shorts' \| 'Americanas' \| ...` |
55
+ | **`slot`** (\*) | Parte del outfit | `'Superior' \| 'Inferior' \| 'Cuerpo Completo' \| 'Exterior' \| 'Calzado' \| 'Accesorios'` |
56
+ | `variants` | Detalles Estructurales | `Array<'Sin Mangas' \| 'Mangas Cortas' \| 'Mangas Largas' \| 'Cuello Redondo' \| 'Cuello Pico' \| 'Cuello Alto' \| 'Cuello Camisa' \| 'Cuello Polo' \| 'Cuello Panadero' \| 'Cuello Mao' \| 'Cuello Chimenea' \| 'Capucha' \| 'Overshirt' \| 'Cropped' \| 'Larga' \| 'Pierna Recta' \| 'Pitillo' \| 'Ancha' \| 'Cargo' \| 'Acampanado' \| ...>` |
57
+ | `fit` | Ajuste | `'Entallado' \| 'Ajustado' \| 'Regular' \| 'Relajado' \| 'Holgado' \| 'Extragrande'` |
58
+ | **`primary_color`** (\*) | Color principal | `'Blanco' \| 'Negro' \| 'Gris' \| 'Beige' \| 'Marrón' \| 'Azul' \| 'Verde' \| 'Rojo' \| 'Burdeos' \| 'Rosa' \| 'Amarillo' \| 'Naranja' \| 'Morado' \| 'Camel' \| 'Caqui' \| 'Marino' \| 'Crema' \| 'Oro' \| 'Plata' \| 'Bronce'` |
59
+ | `secondary_color` | Color secundario | `'Blanco' \| 'Negro' \| 'Gris' \| 'Beige' \| 'Marrón' \| 'Azul' \| 'Verde' \| 'Rojo' \| 'Burdeos' \| 'Rosa' \| 'Amarillo' \| 'Naranja' \| 'Morado' \| 'Camel' \| 'Caqui' \| 'Marino' \| 'Crema' \| 'Oro' \| 'Plata' \| 'Bronce'` |
60
+ | `pattern` | Estampado | `'Liso' \| 'Rayas' \| 'Cuadros' \| 'Lunares' \| 'Animal Print' \| 'Floral' \| 'Geométrico' \| 'Camuflaje' \| 'EstampadoGráfico' \| 'Degradado'` |
61
+ | `materials` | Materiales | `Array<'Algodón' \| 'Lino' \| 'Lana' \| 'Seda' \| 'Cuero' \| 'Cachemir' \| 'Ante' \| 'Poliéster' \| 'Nylon' \| 'Elastano' \| 'Viscosa' \| 'Piel Sintética' \| 'Gore-Tex' \| 'Denim' \| 'Punto' \| 'Felpa' \| 'Tweed' \| 'Satén' \| 'Terciopelo' \| 'Jacquard' \| ...>` |
62
+ | **`layer`** (\*) | Capa Térmica | `'Base' \| 'Intermedia' \| 'Exterior'` |
63
+ | `season` | Estaciones | `'Invierno' \| 'Verano' \| 'Entretiempo' \| 'Todo el año'` |
64
+ | `use_case` | Casos de uso | `Array<'Capsula' \| 'Favorita' \| 'Básico' \| 'Deporte' \| 'Trabajo' \| 'Evento' \| 'Viaje' \| 'Casa' \| 'Fiesta' \| 'Playa' \| 'Lluvia' \| 'Frío Extremo'>` |
65
+ | `formality` | Formalidad | `'Muy Informal' \| 'Casual' \| 'Arreglado' \| 'Formal' \| 'Etiqueta'` |
66
+ | `brand` | The brand of the clothing | `string` |
66
67
 
67
68
  _(\*) Required._
68
69
 
@@ -72,31 +73,32 @@ Prenda de ropa
72
73
 
73
74
  _Object containing the following properties:_
74
75
 
75
- | Property | Description | Type | Default |
76
- | :----------------------- | :------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |
77
- | **`garment`** (\*) | Tipo de Prenda | `'Camisetas' \| 'Polos' \| 'Camisas' \| 'Blusas' \| 'Tops' \| 'Jerseys' \| 'Sudaderas' \| 'Cárdigans' \| 'Chaquetas' \| 'Pantalones' \| 'Vaqueros' \| 'Chinos' \| 'Faldas' \| 'Shorts' \| 'Abrigos' \| 'Gabardinas' \| 'Parkas' \| 'Cazadoras' \| 'Chalecos' \| 'Vestidos' \| ...` | |
78
- | **`slot`** (\*) | Parte del outfit | `'Superior' \| 'Inferior' \| 'Cuerpo Completo' \| 'Exterior' \| 'Calzado' \| 'Accesorios'` | |
79
- | `variants` | Detalles Estructurales | `Array<'Sin Mangas' \| 'Mangas Cortas' \| 'Mangas Largas' \| 'Cuello Redondo' \| 'Cuello Pico' \| 'Cuello Alto' \| 'Cuello Camisa' \| 'Overshirt' \| 'Cropped' \| 'Larga' \| 'Pierna Recta' \| 'Pitillo' \| 'Ancha' \| 'Cargo' \| 'Trench' \| 'Plumífero' \| 'Doble botonadura'>` | |
80
- | `fit` | Ajuste | `'Entallado' \| 'Regular' \| 'Relajado' \| 'Oversize'` | |
81
- | **`primary_color`** (\*) | Color principal | `'Blanco' \| 'Negro' \| 'Gris' \| 'Beige' \| 'Marrón' \| 'Azul' \| 'Verde' \| 'Rojo' \| 'Burdeos' \| 'Rosa' \| 'Amarillo' \| 'Naranja' \| 'Morado' \| 'Camel' \| 'Caqui' \| 'Marino' \| 'Crema'` | |
82
- | `secondary_color` | Color secundario | `'Blanco' \| 'Negro' \| 'Gris' \| 'Beige' \| 'Marrón' \| 'Azul' \| 'Verde' \| 'Rojo' \| 'Burdeos' \| 'Rosa' \| 'Amarillo' \| 'Naranja' \| 'Morado' \| 'Camel' \| 'Caqui' \| 'Marino' \| 'Crema'` | |
83
- | `pattern` | Estampado | `'Liso' \| 'Rayas' \| 'Cuadros'` | |
84
- | `materials` | Materiales | `Array<'Algodón' \| 'Lino' \| 'Lana' \| 'Seda' \| 'Cuero' \| 'Poliéster' \| 'Nylon' \| 'Elastano' \| 'Viscosa' \| 'Denim' \| 'Punto' \| 'Felpa'>` | |
85
- | **`layer`** (\*) | Capa Térmica | `'Base' \| 'Intermedia' \| 'Exterior'` | |
86
- | `season` | Estaciones | `'Invierno' \| 'Verano' \| 'Entretiempo' \| 'Todo el año'` | |
87
- | `use_case` | Casos de uso | `Array<'Capsula' \| 'Favorita' \| 'Básico' \| 'Deporte' \| 'Trabajo' \| 'Evento' \| 'Viaje' \| 'Casa'>` | |
88
- | `formality` | Formalidad | `'Muy Informal' \| 'Casual' \| 'Arreglado' \| 'Formal' \| 'Etiqueta'` | |
89
- | `brand` | The brand of the clothing | `string` | |
90
- | `cares` | Cuidados | `Array<'Lavado a mano' \| 'Lavado a máquina' \| 'Lavado en seco' \| 'Frio' \| 'Caliente' \| 'Planchado' \| 'Planchado a vapor'>` | |
91
- | `status` | Estado | `'Nuevo' \| 'Bien' \| 'Gastado' \| 'Dañado' \| 'Retirar'` | `'Bien'` |
92
- | **`size`** (\*) | | `'28' \| '30' \| '32' \| '34' \| '36' \| '37' \| '38' \| '39' \| '40' \| '41' \| '42' \| '43' \| '44' \| '45' \| '46' \| '48' \| 'XS' \| 'S' \| 'M' \| 'L' \| ...` | |
93
- | `measurements` | Medidas | `Array<number>` | |
94
- | **`type`** (\*) | | `'[[Recursos]]'` | |
95
- | **`subtype`** (\*) | | `'[[Prendas]]'` | |
96
- | **`areas`** (\*) | | `Array<'[[Hogar]]'>` | |
97
- | **`color`** (\*) | | `'#CB6120'` | |
98
- | **`icon`** (\*) | | `'shirt'` | |
99
- | `cover` | | `string` | |
76
+ | Property | Description | Type | Default |
77
+ | :----------------------- | :-------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------- |
78
+ | **`name`** (\*) | Nombre descriptivo de la prenda de ropa | `string` | |
79
+ | **`garment`** (\*) | Tipo de Prenda | `'Camisetas Interiores' \| 'Calzoncillos' \| 'Bragas' \| 'Sujetadores' \| 'Calcetines' \| 'Camisetas' \| 'Polos' \| 'Camisas' \| 'Blusas' \| 'Tops' \| 'Jerseys' \| 'Sudaderas' \| 'Cárdigans' \| 'Chaquetas' \| 'Pantalones' \| 'Vaqueros' \| 'Chinos' \| 'Faldas' \| 'Shorts' \| 'Americanas' \| ...` | |
80
+ | **`slot`** (\*) | Parte del outfit | `'Superior' \| 'Inferior' \| 'Cuerpo Completo' \| 'Exterior' \| 'Calzado' \| 'Accesorios'` | |
81
+ | `variants` | Detalles Estructurales | `Array<'Sin Mangas' \| 'Mangas Cortas' \| 'Mangas Largas' \| 'Cuello Redondo' \| 'Cuello Pico' \| 'Cuello Alto' \| 'Cuello Camisa' \| 'Cuello Polo' \| 'Cuello Panadero' \| 'Cuello Mao' \| 'Cuello Chimenea' \| 'Capucha' \| 'Overshirt' \| 'Cropped' \| 'Larga' \| 'Pierna Recta' \| 'Pitillo' \| 'Ancha' \| 'Cargo' \| 'Acampanado' \| ...>` | |
82
+ | `fit` | Ajuste | `'Entallado' \| 'Ajustado' \| 'Regular' \| 'Relajado' \| 'Holgado' \| 'Extragrande'` | |
83
+ | **`primary_color`** (\*) | Color principal | `'Blanco' \| 'Negro' \| 'Gris' \| 'Beige' \| 'Marrón' \| 'Azul' \| 'Verde' \| 'Rojo' \| 'Burdeos' \| 'Rosa' \| 'Amarillo' \| 'Naranja' \| 'Morado' \| 'Camel' \| 'Caqui' \| 'Marino' \| 'Crema' \| 'Oro' \| 'Plata' \| 'Bronce'` | |
84
+ | `secondary_color` | Color secundario | `'Blanco' \| 'Negro' \| 'Gris' \| 'Beige' \| 'Marrón' \| 'Azul' \| 'Verde' \| 'Rojo' \| 'Burdeos' \| 'Rosa' \| 'Amarillo' \| 'Naranja' \| 'Morado' \| 'Camel' \| 'Caqui' \| 'Marino' \| 'Crema' \| 'Oro' \| 'Plata' \| 'Bronce'` | |
85
+ | `pattern` | Estampado | `'Liso' \| 'Rayas' \| 'Cuadros' \| 'Lunares' \| 'Animal Print' \| 'Floral' \| 'Geométrico' \| 'Camuflaje' \| 'EstampadoGráfico' \| 'Degradado'` | |
86
+ | `materials` | Materiales | `Array<'Algodón' \| 'Lino' \| 'Lana' \| 'Seda' \| 'Cuero' \| 'Cachemir' \| 'Ante' \| 'Poliéster' \| 'Nylon' \| 'Elastano' \| 'Viscosa' \| 'Piel Sintética' \| 'Gore-Tex' \| 'Denim' \| 'Punto' \| 'Felpa' \| 'Tweed' \| 'Satén' \| 'Terciopelo' \| 'Jacquard' \| ...>` | |
87
+ | **`layer`** (\*) | Capa Térmica | `'Base' \| 'Intermedia' \| 'Exterior'` | |
88
+ | `season` | Estaciones | `'Invierno' \| 'Verano' \| 'Entretiempo' \| 'Todo el año'` | |
89
+ | `use_case` | Casos de uso | `Array<'Capsula' \| 'Favorita' \| 'Básico' \| 'Deporte' \| 'Trabajo' \| 'Evento' \| 'Viaje' \| 'Casa' \| 'Fiesta' \| 'Playa' \| 'Lluvia' \| 'Frío Extremo'>` | |
90
+ | `formality` | Formalidad | `'Muy Informal' \| 'Casual' \| 'Arreglado' \| 'Formal' \| 'Etiqueta'` | |
91
+ | `brand` | The brand of the clothing | `string` | |
92
+ | `cares` | Cuidados | `Array<'Lavado a mano' \| 'Lavado a máquina' \| 'Lavado en seco' \| 'Frio' \| 'Caliente' \| 'Planchado' \| 'Planchado a vapor'>` | |
93
+ | `status` | Estado | `'Nuevo' \| 'Bien' \| 'Gastado' \| 'Dañado' \| 'Retirar'` | `'Bien'` |
94
+ | **`size`** (\*) | | `'28' \| '30' \| '32' \| '34' \| '36' \| '37' \| '38' \| '39' \| '40' \| '41' \| '42' \| '43' \| '44' \| '45' \| '46' \| '48' \| 'XS' \| 'S' \| 'M' \| 'L' \| ...` | |
95
+ | `measurements` | Medidas | `Array<number>` | |
96
+ | **`type`** (\*) | | `'[[Recursos]]'` | |
97
+ | **`subtype`** (\*) | | `'[[Prendas]]'` | |
98
+ | **`areas`** (\*) | | `Array<'[[Hogar]]'>` | |
99
+ | **`color`** (\*) | | `'#CB6120'` | |
100
+ | **`icon`** (\*) | | `'shirt'` | |
101
+ | `cover` | | `string` | |
100
102
 
101
103
  _(\*) Required._
102
104
 
@@ -25,9 +25,16 @@ export const SpecialColor = z.enum([
25
25
  'Crema'
26
26
  ]);
27
27
 
28
+ export const MetallicColor = z.enum([
29
+ 'Oro',
30
+ 'Plata',
31
+ 'Bronce',
32
+ ]);
33
+
28
34
  export const Color = z.enum([
29
35
  ...BaseColor.options,
30
36
  ...SpecialColor.options,
37
+ ...MetallicColor.options,
31
38
  ]);
32
39
 
33
40
  export const PrimaryColor = Color.describe('Color principal');
@@ -37,4 +44,11 @@ export const Pattern = z.enum([
37
44
  'Liso',
38
45
  'Rayas',
39
46
  'Cuadros',
47
+ 'Lunares',
48
+ 'Animal Print',
49
+ 'Floral',
50
+ 'Geométrico',
51
+ 'Camuflaje',
52
+ 'EstampadoGráfico',
53
+ 'Degradado'
40
54
  ]).optional().describe('Estampado');
@@ -2,7 +2,9 @@ import z from "zod";
2
2
 
3
3
  export const Fit = z.enum([
4
4
  'Entallado',
5
+ 'Ajustado',
5
6
  'Regular',
6
7
  'Relajado',
7
- 'Oversize',
8
+ 'Holgado',
9
+ 'Extragrande',
8
10
  ]).optional().describe('Ajuste');
@@ -1,5 +1,14 @@
1
1
  import z from "zod";
2
2
 
3
+ // Ropa Interior
4
+ export const Underwear = z.enum([
5
+ 'Camisetas Interiores',
6
+ 'Calzoncillos',
7
+ 'Bragas',
8
+ 'Sujetadores',
9
+ 'Calcetines',
10
+ ]).describe('Ropa Interior');
11
+
3
12
  // Superiores
4
13
  export const Top = z.enum([
5
14
  'Camisetas',
@@ -11,7 +20,7 @@ export const Top = z.enum([
11
20
  'Sudaderas',
12
21
  'Cárdigans',
13
22
  'Chaquetas',
14
- ]);
23
+ ]).describe('Ropa Superior');
15
24
 
16
25
  export const Bottom = z.enum([
17
26
  'Pantalones',
@@ -19,27 +28,41 @@ export const Bottom = z.enum([
19
28
  'Chinos',
20
29
  'Faldas',
21
30
  'Shorts',
22
- ]);
31
+ ]).describe('Ropa Inferior');
23
32
 
24
33
  export const Outerwear = z.enum([
34
+ 'Americanas',
25
35
  'Abrigos',
26
36
  'Gabardinas',
27
37
  'Parkas',
28
38
  'Cazadoras',
29
39
  'Chalecos',
30
- ]);
40
+ ]).describe('Ropa Exterior');
41
+
42
+ // Deportivas
43
+ export const Sportswear = z.enum([
44
+ 'Mallas',
45
+ 'Ropa Técnica',
46
+ 'Shorts Deportivos',
47
+ 'Camisetas Técnicas',
48
+ ]).describe('Ropa Deportiva');
31
49
 
32
50
  export const Dress = z.enum([
33
51
  'Vestidos',
34
52
  'Monos',
35
- ]);
53
+ ]).describe('Pieza única');
36
54
 
37
55
  export const Shoes = z.enum([
38
56
  'Zapatillas',
39
57
  'Zapatos',
40
58
  'Botas',
41
59
  'Sandalias',
42
- ]);
60
+ ]).describe('Calzado');
61
+
62
+ export const Home = z.enum([
63
+ 'Pijamas',
64
+ 'Batas'
65
+ ]).describe('Ropa de Casa');
43
66
 
44
67
  export const Accessories = z.enum([
45
68
  'Cinturones',
@@ -48,14 +71,27 @@ export const Accessories = z.enum([
48
71
  'Bufandas',
49
72
  'Guantes',
50
73
  'Bolsos',
51
- 'Mochilas'
52
- ])
74
+ 'Mochilas',
75
+ 'Gafas de Sol',
76
+ 'Pañuelos',
77
+ 'Relojes',
78
+ 'Joyas',
79
+ ]).describe('Accesorios');
80
+
81
+ export const Swimsuits = z.enum([
82
+ 'Bañadores',
83
+ 'Bikinis',
84
+ ]).describe('Trajes de baño');
53
85
 
54
86
  export const Garment = z.enum([
87
+ ...Underwear.options,
55
88
  ...Top.options,
56
89
  ...Bottom.options,
57
90
  ...Outerwear.options,
91
+ ...Sportswear.options,
58
92
  ...Dress.options,
59
93
  ...Shoes.options,
60
94
  ...Accessories.options,
95
+ ...Home.options,
96
+ ...Swimsuits.options,
61
97
  ]).describe('Tipo de Prenda');
@@ -9,6 +9,10 @@ export const UseCase = z.enum([
9
9
  'Evento',
10
10
  'Viaje',
11
11
  'Casa',
12
+ 'Fiesta',
13
+ 'Playa',
14
+ 'Lluvia',
15
+ 'Frío Extremo',
12
16
  ])
13
17
 
14
18
  export const UseCases = z.array(UseCase)
@@ -5,17 +5,18 @@ import { Pattern, PrimaryColor, SecondaryColor } from "./Colors";
5
5
  import { Fit } from "./Fit";
6
6
  import { Formality } from "./Formality";
7
7
  import { Garment } from "./Garment";
8
- import { Layer } from "./layer";
9
- import { Materials } from "./materials";
10
- import { Season } from "./season";
11
- import { Size } from "./size";
12
- import { Slot } from "./slot";
13
- import { Status } from "./status";
14
- import { UseCases } from "./use_cases";
15
- import { Variants } from "./variants";
16
- import { Measurements } from "./measurements";
8
+ import { Layer } from "./Layer";
9
+ import { Materials } from "./Materials";
10
+ import { Measurements } from "./Measurements";
11
+ import { Season } from "./Season";
12
+ import { Size } from "./Size";
13
+ import { Slot } from "./Slot";
14
+ import { Status } from "./Status";
15
+ import { UseCases } from "./UseCases";
16
+ import { Variants } from "./Variants";
17
17
 
18
18
  export const CatalogClothingSchema = z.object({
19
+ name: z.string().describe('Nombre descriptivo de la prenda de ropa'),
19
20
  garment: Garment,
20
21
  slot: Slot,
21
22
  variants: Variants,
@@ -7,6 +7,8 @@ export const NaturalMaterial = z.enum([
7
7
  'Lana',
8
8
  'Seda',
9
9
  'Cuero',
10
+ 'Cachemir',
11
+ 'Ante',
10
12
  ]);
11
13
 
12
14
  // Sintéticos
@@ -15,6 +17,8 @@ export const SyntheticMaterial = z.enum([
15
17
  'Nylon',
16
18
  'Elastano',
17
19
  'Viscosa',
20
+ 'Piel Sintética',
21
+ 'Gore-Tex',
18
22
  ]);
19
23
 
20
24
  // Tejidos Comunes
@@ -22,6 +26,12 @@ export const CommonFabric = z.enum([
22
26
  'Denim',
23
27
  'Punto',
24
28
  'Felpa',
29
+ 'Tweed',
30
+ 'Satén',
31
+ 'Terciopelo',
32
+ 'Jacquard',
33
+ 'Franela',
34
+ 'Gabardina',
25
35
  ]);
26
36
 
27
37
  export const Material = z.enum([
@@ -12,7 +12,21 @@ export const Necks = z.enum([
12
12
  'Cuello Redondo',
13
13
  'Cuello Pico',
14
14
  'Cuello Alto',
15
- 'Cuello Camisa'
15
+ 'Cuello Camisa',
16
+ 'Cuello Polo',
17
+ 'Cuello Panadero',
18
+ 'Cuello Mao',
19
+ 'Cuello Chimenea',
20
+ 'Capucha',
21
+ ]);
22
+
23
+ // Cierres
24
+ export const Closures = z.enum([
25
+ 'Botones',
26
+ 'Cremallera',
27
+ 'Velcro',
28
+ 'Cordones',
29
+ 'Broches',
16
30
  ]);
17
31
 
18
32
  // Cortes especiales
@@ -27,7 +41,8 @@ export const Pants = z.enum([
27
41
  'Pierna Recta',
28
42
  'Pitillo',
29
43
  'Ancha',
30
- 'Cargo'
44
+ 'Cargo',
45
+ 'Acampanado',
31
46
  ]);
32
47
 
33
48
  // Abrigos
@@ -37,12 +52,20 @@ export const Outerwear = z.enum([
37
52
  'Doble botonadura'
38
53
  ]);
39
54
 
55
+ export const AdditionalFeatures = z.enum([
56
+ 'Bolsillos',
57
+ 'Sin Bolsillos',
58
+ 'Reversible',
59
+ ]);
60
+
40
61
  export const Variant = z.enum([
41
62
  ...Sleeves.options,
42
63
  ...Necks.options,
43
64
  ...SpecialCuts.options,
44
65
  ...Pants.options,
45
66
  ...Outerwear.options,
67
+ ...Closures.options,
68
+ ...AdditionalFeatures.options,
46
69
  ]);
47
70
 
48
71
  export const Variants = z.array(Variant)
@@ -2,9 +2,18 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "type": "object",
4
4
  "properties": {
5
+ "name": {
6
+ "type": "string",
7
+ "description": "Nombre descriptivo de la prenda de ropa"
8
+ },
5
9
  "garment": {
6
10
  "type": "string",
7
11
  "enum": [
12
+ "Camisetas Interiores",
13
+ "Calzoncillos",
14
+ "Bragas",
15
+ "Sujetadores",
16
+ "Calcetines",
8
17
  "Camisetas",
9
18
  "Polos",
10
19
  "Camisas",
@@ -19,11 +28,16 @@
19
28
  "Chinos",
20
29
  "Faldas",
21
30
  "Shorts",
31
+ "Americanas",
22
32
  "Abrigos",
23
33
  "Gabardinas",
24
34
  "Parkas",
25
35
  "Cazadoras",
26
36
  "Chalecos",
37
+ "Mallas",
38
+ "Ropa Técnica",
39
+ "Shorts Deportivos",
40
+ "Camisetas Técnicas",
27
41
  "Vestidos",
28
42
  "Monos",
29
43
  "Zapatillas",
@@ -36,7 +50,15 @@
36
50
  "Bufandas",
37
51
  "Guantes",
38
52
  "Bolsos",
39
- "Mochilas"
53
+ "Mochilas",
54
+ "Gafas de Sol",
55
+ "Pañuelos",
56
+ "Relojes",
57
+ "Joyas",
58
+ "Pijamas",
59
+ "Batas",
60
+ "Bañadores",
61
+ "Bikinis"
40
62
  ],
41
63
  "description": "Tipo de Prenda"
42
64
  },
@@ -65,6 +87,11 @@
65
87
  "Cuello Pico",
66
88
  "Cuello Alto",
67
89
  "Cuello Camisa",
90
+ "Cuello Polo",
91
+ "Cuello Panadero",
92
+ "Cuello Mao",
93
+ "Cuello Chimenea",
94
+ "Capucha",
68
95
  "Overshirt",
69
96
  "Cropped",
70
97
  "Larga",
@@ -72,9 +99,18 @@
72
99
  "Pitillo",
73
100
  "Ancha",
74
101
  "Cargo",
102
+ "Acampanado",
75
103
  "Trench",
76
104
  "Plumífero",
77
- "Doble botonadura"
105
+ "Doble botonadura",
106
+ "Botones",
107
+ "Cremallera",
108
+ "Velcro",
109
+ "Cordones",
110
+ "Broches",
111
+ "Bolsillos",
112
+ "Sin Bolsillos",
113
+ "Reversible"
78
114
  ]
79
115
  }
80
116
  },
@@ -83,9 +119,11 @@
83
119
  "type": "string",
84
120
  "enum": [
85
121
  "Entallado",
122
+ "Ajustado",
86
123
  "Regular",
87
124
  "Relajado",
88
- "Oversize"
125
+ "Holgado",
126
+ "Extragrande"
89
127
  ]
90
128
  },
91
129
  "primary_color": {
@@ -107,7 +145,10 @@
107
145
  "Camel",
108
146
  "Caqui",
109
147
  "Marino",
110
- "Crema"
148
+ "Crema",
149
+ "Oro",
150
+ "Plata",
151
+ "Bronce"
111
152
  ],
112
153
  "description": "Color principal"
113
154
  },
@@ -131,7 +172,10 @@
131
172
  "Camel",
132
173
  "Caqui",
133
174
  "Marino",
134
- "Crema"
175
+ "Crema",
176
+ "Oro",
177
+ "Plata",
178
+ "Bronce"
135
179
  ]
136
180
  },
137
181
  "pattern": {
@@ -140,7 +184,14 @@
140
184
  "enum": [
141
185
  "Liso",
142
186
  "Rayas",
143
- "Cuadros"
187
+ "Cuadros",
188
+ "Lunares",
189
+ "Animal Print",
190
+ "Floral",
191
+ "Geométrico",
192
+ "Camuflaje",
193
+ "EstampadoGráfico",
194
+ "Degradado"
144
195
  ]
145
196
  },
146
197
  "materials": {
@@ -154,13 +205,23 @@
154
205
  "Lana",
155
206
  "Seda",
156
207
  "Cuero",
208
+ "Cachemir",
209
+ "Ante",
157
210
  "Poliéster",
158
211
  "Nylon",
159
212
  "Elastano",
160
213
  "Viscosa",
214
+ "Piel Sintética",
215
+ "Gore-Tex",
161
216
  "Denim",
162
217
  "Punto",
163
- "Felpa"
218
+ "Felpa",
219
+ "Tweed",
220
+ "Satén",
221
+ "Terciopelo",
222
+ "Jacquard",
223
+ "Franela",
224
+ "Gabardina"
164
225
  ]
165
226
  }
166
227
  },
@@ -196,7 +257,11 @@
196
257
  "Trabajo",
197
258
  "Evento",
198
259
  "Viaje",
199
- "Casa"
260
+ "Casa",
261
+ "Fiesta",
262
+ "Playa",
263
+ "Lluvia",
264
+ "Frío Extremo"
200
265
  ]
201
266
  }
202
267
  },
@@ -217,6 +282,7 @@
217
282
  }
218
283
  },
219
284
  "required": [
285
+ "name",
220
286
  "garment",
221
287
  "slot",
222
288
  "primary_color",