Workbeat Design System
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
componentDefaultsenWDSProvider. Una sola prop con una llave por componente (datePicker,fullTable,operationFeedback) reemplaza las props y contextos sueltos. Cada componente la lee conuseComponentDefaults("<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;Infinitylos deja persistentes. Ver Mensajería de feedback. - Correcciones que pasan a default para todos los hosts:
DatePickerlee y emiteYYYY-MM-DDen 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/maxDatereemplazandateOnlyMode,captionLayout,startMonthyendMonth.FullTableno recorta la página mientras carga;SchemaFormvalida el formato de los campos email;DataGridoculta «Guardar borrador» sinonSaveDraft; los inputs del panel de catálogo llevanaria-label.- Se retiran los opt-ins que quedaron redundantes (
CatalogSidePanelDefaults,fullTableDefaults.stickyHeader,retainPageWhileLoading,advancedDateRangePresentation,validateEmailFormat,hideUnavailableSaveDraft, entre otros). Siguen como opt-inquickFilterSelectionMode,showRemoteReloadSkeletony los defaults deDatePicker.
- 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(yariaLabel) se pinta como botón con foco visible, para drill-down. PageHeader sumachipPlainytitleAs;PageSubHeaderaceptaiconytitleAs. - Permission sets (Cerbos): el endpoint por default es
/api/v2/cerbos/{host}/permission-sets/{set}, configurable conenv.securityPathTemplate(VITE_SECURITY_PATH_TEMPLATE); un set puede evaluarse contra un servidor de seguridad propio (resolveSecurityHost), yVITE_PERMISSION_DISABLED=trueomite 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 salvoempleado/norole. - Mapas: el proveedor de tiles se elige con
VITE_MAP_TILE_URLyVITE_MAP_TILE_MAX_ZOOM(OSM estándar como respaldo);LeafletMapya no recentra al hacer clic y sumafocusZoom. - Correcciones: el chevron de fila de
FullTableabre la fila;CatalogGridsólo emite búsqueda, filtros y página remotos cuando cambian (y regresa a la página 1);countsPendingya no muestra conteos locales;VerticalTimelinepuede expandir detalles al montar (opt-in). - Docs del DS como fuente única: las skills
wds-*dejan de empaquetar copias y remiten asrc/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,TableDefyTableDataSourcepasan deanyaunknown: unvalidateorenderque compara el valor sin estrecharlo deja de compilar. osmStandardTileLayerOptionsya no se exporta; usagetOsmTileLayerConfig().- Un API de seguridad que siga en
/api/cerbos/…declaraVITE_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.tsxcontexts/ComponentDefaults/ComponentDefaults.context.tsdocs/patterns/feedback-messaging.mddocs/patterns/tone-pill.mddocs/tokens-quickref.md
Modificados (91)
auth/claims.tscomponents/config/shared/side-panel/fields/TextField.tsxcomponents/layout/AppSidebar.tsxcomponents/layout/MegaMenuModal.tsxcomponents/layout/PageHeader.tsxcomponents/layout/PageSubHeader.tsxcomponents/layout/SideCanvas.tsxcomponents/patterns/catalog-grid/CatalogGrid.tsxcomponents/patterns/catalog-grid/CatalogSidePanel.tsxcomponents/patterns/catalog-grid/fields/index.tsxcomponents/patterns/catalog-grid/index.tscomponents/patterns/catalog-grid/makeGeneralCatalogDef.tsxcomponents/patterns/catalog-grid/types.tscomponents/patterns/catalog-grid/useInMemoryCatalog.tscomponents/patterns/charts/IndexBar.tsxcomponents/patterns/data-grid/DataGrid.tsxcomponents/patterns/form/SchemaForm.tsxcomponents/patterns/full-table/FullTableRow.tsxcomponents/patterns/full-table/FullTableToolbar.tsxcomponents/patterns/full-table/index.tscomponents/patterns/full-table/types.tscomponents/patterns/full-table/useFullTableState.tscomponents/patterns/kpi-card/KpiCard.tsxcomponents/patterns/kpi-card/types.tscomponents/patterns/searchable-catalog-select/SearchableCatalogSelect.tsxcomponents/patterns/searchable-table/exportCsv.tscomponents/patterns/searchable-table/index.tscomponents/patterns/side-panel/DynamicEditSidePanel.tsxcomponents/patterns/types.tscomponents/ui/chart.tsxcomponents/ui/date-picker.tsxcomponents/ui/leaflet-map.tsxcomponents/ui/sonner.tsxcomponents/ui/vertical-timeline.tsxcontexts/Permissions/Permissions.provider.tsxcontexts/SideCanvas/SideCanvas.context.tscontexts/SideCanvas/SideCanvas.provider.tsxcontexts/WDSProvider.tsxdocs/01-information-architecture-and-navigation.mddocs/02-layout-composition-rules.mddocs/03-pattern-inventory-and-usage.mddocs/04-page-blueprints.mddocs/05-interaction-states-and-feedback.mddocs/09-prompt-templates.mddocs/11-branding-rollout-checklist.mddocs/12-host-integration.mddocs/16-permission-sets.mddocs/patterns/advanced-filters.mddocs/patterns/catalog-grid.mddocs/patterns/config-loading.mddocs/patterns/dashboard.mddocs/patterns/data-grid.mddocs/patterns/dynamic-section-edit-sidepanel.mddocs/patterns/dynamic-side-panel.mddocs/patterns/effective-preview-panel.mddocs/patterns/expediente-catalog-fulltable.mddocs/patterns/expediente.mddocs/patterns/full-table.mddocs/patterns/grid-empty-state.mddocs/patterns/grid-toolbar-actions.mddocs/patterns/hierarchy-table.mddocs/patterns/kpi-card.mddocs/patterns/pattern-adoption.mddocs/patterns/section-table-card.mddocs/patterns/side-canvas-content-padding.mddocs/README.mdindex.tslib/expedienteEntityLabels.tslib/mega-menu/selectors.tslib/mega-menu/urlResolver.tslib/operation-feedback.tslib/osmTiles.tsservices/permissionSets.service.tsservices/runtimeConfig.tswds-layouts/authorization.tswds-layouts/CardPageLayout.tsxwds-layouts/cards/builtInCardRegistry.tsxwds-layouts/cards/legacyDataSources.tswds-layouts/cards/legacyTableRenderer.tsxwds-layouts/dynamicSections.tswds-layouts/editEntity.tswds-layouts/EditEntityLayout.tsxwds-layouts/editEntitySubmit.tswds-layouts/endpoint.tswds-layouts/integration.tswds-layouts/layoutLoader.tswds-layouts/SearchableTableLayout.tsxwds-layouts/types.tswds-layouts/unsupported.mdwds-layouts/validation.tswds-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).
- ComponenteAppSidebar
- ComponenteChartContainer
- ComponenteDatePicker
- ComponenteLeafletMap
- ComponenteMegaMenuModal
- ComponentePageHeader
- ComponentePageSubHeader
- ComponenteSideCanvas
- ComponenteToaster
- ComponenteTonePill
- ComponenteVerticalTimeline
- ComponenteWDS Layouts
- GuíaChecklist de despliegue de branding
- GuíaMensajería de feedback
- GuíaIntegración en aplicaciones host
- GuíaArquitectura de información y navegación
- GuíaEstados de interacción y feedback
- GuíaReglas de composición de layout
- GuíaBlueprints de página
- GuíaProtocolo de adopción de patrones
- GuíaInventario y uso de patrones
- GuíaPermission sets
- GuíaPlantillas de prompt por tipo de pantalla
- GuíaTokens semánticos · referencia rápida
- PatrónAdvancedFiltersPopover
- PatrónCatalogGrid
- PatrónCharts
- PatrónCarga progresiva
- PatrónConfigSidePanel
- PatrónDashboard
- PatrónDataGrid
- PatrónEdición dinámica de sección
- PatrónDynamicSidePanel
- PatrónSectionEffectivePreviewPanel
- PatrónExpediente
- PatrónExpediente · catálogo FullTable
- PatrónSchemaForm
- PatrónFullTable
- PatrónFullTableWithSideNav
- PatrónGridEmptyState
- PatrónGridToolbarActions
- PatrónHierarchyTable
- PatrónKpiCard
- PatrónSearchableCatalogSelect
- PatrónSearchableTable
- PatrónSectionTableCard
- ReferenciaClaims de usuario
- ReferenciaDefaults de componentes
- ReferenciaContratos de patrones
- ReferenciaPermisos (Cerbos)
- ReferenciaSideCanvas (contexto)
- ReferenciaWDSProvider
- Commit fuente
b7488b386d44bcd8a36a6d61b66943a2544a1bab- Sync anterior
67f7d9b8630c728bc86f5ea0691bef99d0aa8ab9- Archivo
src/docs/content/changelog/2026-10-28-b7488b3.md