neogestify-ui-components 2.0.0 → 2.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 +42 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -491,17 +491,53 @@ Los elementos que aparecen en la paleta del editor se definen en archivos JSON q
|
|
|
491
491
|
}
|
|
492
492
|
```
|
|
493
493
|
|
|
494
|
+
#### Formas personalizadas SVG (`shape: "path"`)
|
|
495
|
+
|
|
496
|
+
Ahora puedes definir cualquier figura SVG usando un path:
|
|
497
|
+
|
|
498
|
+
```json
|
|
499
|
+
{
|
|
500
|
+
"mi_libreria": {
|
|
501
|
+
"name": "Mi librería",
|
|
502
|
+
"objects": [
|
|
503
|
+
{
|
|
504
|
+
"id": "STAR",
|
|
505
|
+
"label": "Estrella",
|
|
506
|
+
"shape": "path",
|
|
507
|
+
"svgPath": "M50 5 L61 35 L95 35 L68 57 L79 91 L50 70 L21 91 L32 57 L5 35 L39 35 Z",
|
|
508
|
+
"viewBox": "0 0 100 100",
|
|
509
|
+
"defaultWidth": 60,
|
|
510
|
+
"defaultHeight": 60,
|
|
511
|
+
"color": "#facc15",
|
|
512
|
+
"strokeColor": "#ca8a04"
|
|
513
|
+
}
|
|
514
|
+
]
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
**Propiedades para `shape: "path"`:**
|
|
520
|
+
|
|
521
|
+
| Campo | Tipo | Default | Descripción |
|
|
522
|
+
|-------|------|---------|-------------|
|
|
523
|
+
| `svgPath` | `string` | **requerido** | El atributo `d` del elemento `<path>` SVG |
|
|
524
|
+
| `viewBox` | `string` | `"0 0 100 100"` | Espacio de coordenadas del path (formato: `"minX minY width height"`) |
|
|
525
|
+
|
|
526
|
+
> **Nota:** El path se escala automáticamente para llenar el bounding box `width × height` del elemento. El `strokeWidth` se compensa por el factor de escala para que sea visualmente consistente con los otros shapes.
|
|
527
|
+
|
|
494
528
|
#### Propiedades de cada objeto
|
|
495
529
|
|
|
496
530
|
| Campo | Tipo | Descripción |
|
|
497
531
|
|-------|------|-------------|
|
|
498
532
|
| `id` | `string` | Identificador único del tipo. Debe ser **único en toda la librería**. Se usa como key en `onElementTypeClick`. |
|
|
499
533
|
| `label` | `string` | Nombre visible en la paleta. |
|
|
500
|
-
| `shape` | `"rect" \| "circle" \| "arrow"` | Forma del objeto en el canvas. |
|
|
534
|
+
| `shape` | `"rect" \| "circle" \| "arrow" \| "path"` | Forma del objeto en el canvas. |
|
|
501
535
|
| `defaultWidth` | `number` | Ancho inicial al colocar el elemento (unidades de canvas ≈ píxeles a zoom 1×). |
|
|
502
536
|
| `defaultHeight` | `number` | Alto inicial. |
|
|
503
537
|
| `color` | `string` | Color de relleno (cualquier valor CSS: `#hex`, `rgb()`, `hsl()`, etc.). |
|
|
504
538
|
| `strokeColor` | `string` | Color del borde. |
|
|
539
|
+
| `svgPath` | `string` | **Requerido si `shape="path"`**. Atributo `d` del path SVG. |
|
|
540
|
+
| `viewBox` | `string` | **Opcional si `shape="path"`**. ViewBox del path (default: `"0 0 100 100"`). |
|
|
505
541
|
|
|
506
542
|
#### Formas disponibles
|
|
507
543
|
|
|
@@ -510,6 +546,11 @@ Los elementos que aparecen en la paleta del editor se definen en archivos JSON q
|
|
|
510
546
|
| `rect` | Rectángulo | Mesas, espacios de parqueo, habitaciones |
|
|
511
547
|
| `circle` | Elipse (círculo si `width === height`) | Mesas redondas, columnas, plantas |
|
|
512
548
|
| `arrow` | Flecha apuntando a la derecha | Entradas, salidas, sentidos de circulación |
|
|
549
|
+
| `path` | Forma SVG personalizada | Logos, iconos, estrellas, formas complejas |
|
|
550
|
+
|
|
551
|
+
#### Colisión con el piso
|
|
552
|
+
|
|
553
|
+
La detección de colisión con el piso usa un **cuadrado de lado `min(width, height)` centrado en el elemento**, en vez del bounding box completo. Esto evita que formas que no llenan su bounding box (estrellas, iconos, logos) queden excesivamente restringidas al moverse cerca del borde del piso.
|
|
513
554
|
|
|
514
555
|
#### Varios grupos en un archivo
|
|
515
556
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "neogestify-ui-components",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "Biblioteca de componentes UI reutilizables con React, Tailwind y SweetAlert, con VenueMapEditor o editor de mapas basico",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|