Changelog

Historial de actualizaciones del design system, por sync desde el repo fuente.

Sync grande desde el 12 de octubre: consolida los cambios de paridad con CoreRH y Nómina, pasa a default las correcciones que antes eran opt-in y agrupa la configuración de componentes del host en una sola prop.

Lo más relevante

  • componentDefaults en WDSProvider. Una sola prop con una llave por componente (datePicker, fullTable, operationFeedback) reemplaza las props y contextos sueltos. Cada componente la lee con useComponentDefaults("<llave>") y la prop de la instancia sigue ganando. Ver Defaults de componentes.
  • Toasts de error de operación: 8000 ms por default. Antes eran persistentes. Se cambia con componentDefaults.operationFeedback.errorToastDuration; Infinity los deja persistentes. Ver Mensajería de feedback.
  • Correcciones que pasan a default para todos los hosts:
    • DatePicker lee y emite YYYY-MM-DD en hora local (antes UTC mostraba el día anterior en México) y trae selectores de mes y año (monthYearSelect={false} vuelve a la navegación mes a mes). minDate/maxDate reemplazan dateOnlyMode, captionLayout, startMonth y endMonth.
    • FullTable no recorta la página mientras carga; SchemaForm valida el formato de los campos email; DataGrid oculta «Guardar borrador» sin onSaveDraft; los inputs del panel de catálogo llevan aria-label.
    • Se retiran los opt-ins que quedaron redundantes (CatalogSidePanelDefaults, fullTableDefaults.stickyHeader, retainPageWhileLoading, advancedDateRangePresentation, validateEmailFormat, hideUnavailableSaveDraft, entre otros). Siguen como opt-in quickFilterSelectionMode, showRemoteReloadSkeleton y los defaults de DatePicker.
  • TonePill (nuevo): pill de estado de negocio por tono semántico, con icono o punto. Reemplaza los mapas locales de clases de paleta.
  • KpiCard clicable: con onClick (y ariaLabel) se pinta como botón con foco visible, para drill-down. PageHeader suma chipPlain y titleAs; PageSubHeader acepta icon y titleAs.
  • Permission sets (Cerbos): el endpoint por default es /api/v2/cerbos/{host}/permission-sets/{set}, configurable con env.securityPathTemplate (VITE_SECURITY_PATH_TEMPLATE); un set puede evaluarse contra un servidor de seguridad propio (resolveSecurityHost), y VITE_PERMISSION_DISABLED=true omite los sets sin apagar OIDC. Ver Permission sets.
  • Mega menú y AppSidebar: los ítems sin destino válido se ocultan o deshabilitan (una ruta vacía ya no enlaza a la raíz del sitio; la página principal se pide con /), y Admin Apps se muestra a todo rol asignado salvo empleado/norole.
  • Mapas: el proveedor de tiles se elige con VITE_MAP_TILE_URL y VITE_MAP_TILE_MAX_ZOOM (OSM estándar como respaldo); LeafletMap ya no recentra al hacer clic y suma focusZoom.
  • Correcciones: el chevron de fila de FullTable abre la fila; CatalogGrid sólo emite búsqueda, filtros y página remotos cuando cambian (y regresa a la página 1); countsPending ya no muestra conteos locales; VerticalTimeline puede expandir detalles al montar (opt-in).
  • Docs del DS como fuente única: las skills wds-* dejan de empaquetar copias y remiten a src/design-system/docs. Guías nuevas en el sitio: Tokens · referencia rápida y Mensajería de feedback.

Para hosts

  • Los genéricos de FieldDef, ColumnDef, ActionDef, TableDef y TableDataSource pasan de any a unknown: un validate o render que compara el valor sin estrecharlo deja de compilar.
  • osmStandardTileLayerOptions ya no se exporta; usa getOsmTileLayerConfig().
  • Un API de seguridad que siga en /api/cerbos/… declara VITE_SECURITY_PATH_TEMPLATE.

Sync de workbeat-ia-2.1@b7488b3 (anterior: 67f7d9b).

Commits del repo fuente

  • ecf39b3d fix(wds): iguala el espaciado de los filtros del mega menú
  • b06772a7 docs(wds): alinea wds-permission-sets y la doc 16 con las integraciones de los hosts
  • e71e165d chore(wds): quita espacios sobrantes del snapshot que marca git diff --check
  • d55c4c8a feat(wds): los toasts de error de operación duran 8000 ms por default
  • 76fc84d2 fix(wds): CatalogGrid sólo emite búsqueda, filtros y página remotos al cambiar
  • 73010945 fix(wds): corrige hallazgos de la revisión previa al merge
  • 571ff5b9 refactor(wds): agrupa los defaults de componentes en componentDefaults
  • 7cfa6bee fix(wds): preserve stored column selection through opt-in policy
  • d624d61a feat(wds): add opt-in discard and advanced filter editor
  • 3fec3979 fix(wds): el chevron de fila de FullTable abre la fila al hacer click
  • d2afd356 feat(wds): trae de CoreRH main la accesibilidad del panel de catálogo y el render por campo
  • ee89126d fix(wds): countsPending no muestra conteos locales de la página visible
  • 874e60ae refactor(wds): pasa a default las correcciones y retira opt-ins redundantes
  • e79c308a feat(ai): agrega MapInputField al formulario del canvas
  • ddb777bf feat(wds): opt-in para expandir detalles iniciales del timeline
  • 2990548b chore(wds): remove obsolete lint suppression
  • fd85a753 fix(wds): hide menu items without valid destinations
  • b75805dd fix(wds): disable empty menu routes and resolve reported lint
  • 706bea52 feat(wds): honor app error duration in CatalogGrid
  • 048a830a feat(wds): opt in to accessible catalog input names
  • 3415409f fix(wds): allow atomic in-memory catalog deactivation
  • c6bd05d1 feat(wds): opt in to native advanced date range inputs
  • 09e90247 feat(wds): support host-wide opt-in FullTable defaults
  • 18500559 feat(wds): allow opt-in multiple quick filters per table
  • 94784628 feat(wds): allow host-wide opt-in date picker defaults
  • 286048e8 feat(wds): expose opt-in catalog bounds and operation error timing
  • 26c34f29 feat(wds): preserve coreh form and grid behavior through opt-ins
  • 443abecb feat(wds): add opt-in parity controls for full hosts
  • d1f70a00 fix(wds): close PR integration review findings
  • 5c2939c0 feat(wds): replace PageHeader badge with plain chip option
  • 93ddd5c4 docs(wds): make DS skills portable after core sync
  • bcc859a7 feat(wds): add opt-in FullTable action context and CSV revoke delay
  • 693ebc48 cambio a regla de mostrar admin apps.
  • 47eff68e feat(wds): configure Cerbos security path template
  • 3694df24 fix(wds): use v2 Cerbos permission sets endpoint
  • a0083435 feat(wds): allow disabling permission checks via env
  • e6af3492 fix(design-system): el error del override de securityHost nombra el set, no VITE_SECURITY_HOST
  • a701f351 refactor(design-system): override de securityHost como 5.º parámetro posicional
  • 4ea880ac feat(design-system): permite evaluar un permission set contra un servidor de seguridad propio
  • 68cbcf4a error de formato de fechas en editar asistencia de kardex de mi equipo en empapp asi
  • bc4056be fix scroll excesivo
  • cff1f1ba busqueda de direcciones en mapa de cambiar ubicacion (asi-home office)
  • 8ea20a6b mapas asi y kardex mi equipo
  • 6bc609b7 feat(wds): TonePill, PageHeader.badge y KpiCard clicable (opt-in)
  • 249d2c5f docs(wds): docs del DS como fuente única y convención <DS> para las skills
  • b97460b0 fix(wds): import relativo de runtimeConfig en osmTiles
  • 190c529d feat(wds): icon y titleAs opt-in en PageSubHeader
  • b19df01a migracion de server de openstreetmap

Archivos del DS

Agregados (5)

  • components/ui/tone-pill.tsx
  • contexts/ComponentDefaults/ComponentDefaults.context.ts
  • docs/patterns/feedback-messaging.md
  • docs/patterns/tone-pill.md
  • docs/tokens-quickref.md

Modificados (91)

  • auth/claims.ts
  • components/config/shared/side-panel/fields/TextField.tsx
  • components/layout/AppSidebar.tsx
  • components/layout/MegaMenuModal.tsx
  • components/layout/PageHeader.tsx
  • components/layout/PageSubHeader.tsx
  • components/layout/SideCanvas.tsx
  • components/patterns/catalog-grid/CatalogGrid.tsx
  • components/patterns/catalog-grid/CatalogSidePanel.tsx
  • components/patterns/catalog-grid/fields/index.tsx
  • components/patterns/catalog-grid/index.ts
  • components/patterns/catalog-grid/makeGeneralCatalogDef.tsx
  • components/patterns/catalog-grid/types.ts
  • components/patterns/catalog-grid/useInMemoryCatalog.ts
  • components/patterns/charts/IndexBar.tsx
  • components/patterns/data-grid/DataGrid.tsx
  • components/patterns/form/SchemaForm.tsx
  • components/patterns/full-table/FullTableRow.tsx
  • components/patterns/full-table/FullTableToolbar.tsx
  • components/patterns/full-table/index.ts
  • components/patterns/full-table/types.ts
  • components/patterns/full-table/useFullTableState.ts
  • components/patterns/kpi-card/KpiCard.tsx
  • components/patterns/kpi-card/types.ts
  • components/patterns/searchable-catalog-select/SearchableCatalogSelect.tsx
  • components/patterns/searchable-table/exportCsv.ts
  • components/patterns/searchable-table/index.ts
  • components/patterns/side-panel/DynamicEditSidePanel.tsx
  • components/patterns/types.ts
  • components/ui/chart.tsx
  • components/ui/date-picker.tsx
  • components/ui/leaflet-map.tsx
  • components/ui/sonner.tsx
  • components/ui/vertical-timeline.tsx
  • contexts/Permissions/Permissions.provider.tsx
  • contexts/SideCanvas/SideCanvas.context.ts
  • contexts/SideCanvas/SideCanvas.provider.tsx
  • contexts/WDSProvider.tsx
  • docs/01-information-architecture-and-navigation.md
  • docs/02-layout-composition-rules.md
  • docs/03-pattern-inventory-and-usage.md
  • docs/04-page-blueprints.md
  • docs/05-interaction-states-and-feedback.md
  • docs/09-prompt-templates.md
  • docs/11-branding-rollout-checklist.md
  • docs/12-host-integration.md
  • docs/16-permission-sets.md
  • docs/patterns/advanced-filters.md
  • docs/patterns/catalog-grid.md
  • docs/patterns/config-loading.md
  • docs/patterns/dashboard.md
  • docs/patterns/data-grid.md
  • docs/patterns/dynamic-section-edit-sidepanel.md
  • docs/patterns/dynamic-side-panel.md
  • docs/patterns/effective-preview-panel.md
  • docs/patterns/expediente-catalog-fulltable.md
  • docs/patterns/expediente.md
  • docs/patterns/full-table.md
  • docs/patterns/grid-empty-state.md
  • docs/patterns/grid-toolbar-actions.md
  • docs/patterns/hierarchy-table.md
  • docs/patterns/kpi-card.md
  • docs/patterns/pattern-adoption.md
  • docs/patterns/section-table-card.md
  • docs/patterns/side-canvas-content-padding.md
  • docs/README.md
  • index.ts
  • lib/expedienteEntityLabels.ts
  • lib/mega-menu/selectors.ts
  • lib/mega-menu/urlResolver.ts
  • lib/operation-feedback.ts
  • lib/osmTiles.ts
  • services/permissionSets.service.ts
  • services/runtimeConfig.ts
  • wds-layouts/authorization.ts
  • wds-layouts/CardPageLayout.tsx
  • wds-layouts/cards/builtInCardRegistry.tsx
  • wds-layouts/cards/legacyDataSources.ts
  • wds-layouts/cards/legacyTableRenderer.tsx
  • wds-layouts/dynamicSections.ts
  • wds-layouts/editEntity.ts
  • wds-layouts/EditEntityLayout.tsx
  • wds-layouts/editEntitySubmit.ts
  • wds-layouts/endpoint.ts
  • wds-layouts/integration.ts
  • wds-layouts/layoutLoader.ts
  • wds-layouts/SearchableTableLayout.tsx
  • wds-layouts/types.ts
  • wds-layouts/unsupported.md
  • wds-layouts/validation.ts
  • wds-layouts/WdsActionButton.tsx

También cambiaron los grupos: skills.

Commit del host: ecb67b855 (chore(wds): sync design-system, skills from workbeat-ia-2.1@b7488b3).

Documentación afectada

Trazabilidad

Commit fuente
b7488b386d44bcd8a36a6d61b66943a2544a1bab
Sync anterior
67f7d9b8630c728bc86f5ea0691bef99d0aa8ab9
Archivo
src/docs/content/changelog/2026-10-28-b7488b3.md