@beweco/aurora-ui 1.0.0-beta.135 → 1.0.0-beta.136
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/dist/index.cjs.js
CHANGED
|
@@ -9316,6 +9316,37 @@ const Table = Object.assign(TableFacade, {
|
|
|
9316
9316
|
SortableColumnHeader: react.Table.SortableColumnHeader,
|
|
9317
9317
|
});
|
|
9318
9318
|
|
|
9319
|
+
/**
|
|
9320
|
+
* Clave de la columna que `AuraTable` marca como identificadora de la fila cuando la app no marca
|
|
9321
|
+
* ninguna — `undefined` si alguna ya lo pide (entonces manda la app) o si no hay columnas.
|
|
9322
|
+
*
|
|
9323
|
+
* EL DEFECTO QUE ESTO CIERRA (medido en `beweosagency`, pantalla `/centers`, 3 apariciones en una
|
|
9324
|
+
* sola carga): react-aria exige al menos una columna con `isRowHeader` y, si no la encuentra,
|
|
9325
|
+
* lanza `A table must have at least one Column with the isRowHeader prop set to true` al construir
|
|
9326
|
+
* la colección (`react-aria-components/dist/private/Table.mjs:145`). `AuraTable` no marcaba
|
|
9327
|
+
* ninguna, así que TODA tabla montada por la vía declarativa lo disparaba. React se recupera
|
|
9328
|
+
* —la guarda pone `columnsDirty = false` ANTES de lanzar, así que el reintento pasa— pero
|
|
9329
|
+
* descarta el render concurrente, repinta la raíz de forma síncrona y deja el error en consola.
|
|
9330
|
+
* La vía compuesta a mano (`Table.Content` + `Table.Column isRowHeader`) nunca estuvo afectada:
|
|
9331
|
+
* ahí la marca la app.
|
|
9332
|
+
*
|
|
9333
|
+
* Lo que se pierde mientras tanto no es solo ruido: sin columna identificadora, NINGUNA celda
|
|
9334
|
+
* recibe `role="rowheader"` (medido: las 3 celdas de la story `Default` salían `gridcell`), o sea
|
|
9335
|
+
* que un lector de pantalla recorre las filas sin poder decir de QUÉ fila habla.
|
|
9336
|
+
*
|
|
9337
|
+
* Por qué la PRIMERA: es lo que ya hace a mano la composición cruda de este repo
|
|
9338
|
+
* (`stories/Table.stories.tsx:123`, `isRowHeader={column.key === "name"}`, que es la primera
|
|
9339
|
+
* columna) y lo que hace la columna identificadora en las tablas de las apps. Una columna con
|
|
9340
|
+
* `isRowHeader: false` cuenta como "no lo pide": react-aria solo mira si el valor es truthy
|
|
9341
|
+
* (`if (node.props.isRowHeader)`, Table.mjs:136), así que `false` y ausente son indistinguibles
|
|
9342
|
+
* para él y tratarlos igual evita que un `false` escrito por costumbre deje la tabla otra vez
|
|
9343
|
+
* sin identificador.
|
|
9344
|
+
*/
|
|
9345
|
+
function defaultRowHeaderKey(columns) {
|
|
9346
|
+
return columns.some((column) => column.isRowHeader)
|
|
9347
|
+
? undefined
|
|
9348
|
+
: columns[0]?.key;
|
|
9349
|
+
}
|
|
9319
9350
|
/**
|
|
9320
9351
|
* AuraTable genérico reutilizable, migrado al `Table` compound de HeroUI v3 (el `Table` de v2 con
|
|
9321
9352
|
* `TableHeader`/`TableColumn`/`TableBody`/`TableRow`/`TableCell` sueltos se elimina).
|
|
@@ -9336,9 +9367,10 @@ const Table = Object.assign(TableFacade, {
|
|
|
9336
9367
|
* no tener la anatomía escrita en dos sitios.
|
|
9337
9368
|
*/
|
|
9338
9369
|
function AuraTable({ columns, items, renderCell, children, className, ...props }) {
|
|
9370
|
+
const rowHeaderKey = defaultRowHeaderKey(columns);
|
|
9339
9371
|
// `removeWrapper`/`radius="none"` de v2 no tienen prop equivalente en v3 (§ver
|
|
9340
9372
|
// AuraTable.types.ts): se aproxima con `rounded-none` directo en el `className` del root.
|
|
9341
|
-
return (jsxRuntime.jsx(Table, { className: `rounded-none ${className ?? ""}`.trim(), children: jsxRuntime.jsxs(Table.Content, { ...props, children: [jsxRuntime.jsx(Table.Header, { columns: columns, children: (column) => (jsxRuntime.jsx(Table.Column, { children: column.label }, column.key)) }), jsxRuntime.jsx(Table.Body, { items: items, children: (item) => (jsxRuntime.jsx(Table.Row, { columns: columns, children: (column) => (jsxRuntime.jsx(Table.Cell, { children: renderCell ? renderCell(item, column.key) : children })) }, item.id)) })] }) }));
|
|
9373
|
+
return (jsxRuntime.jsx(Table, { className: `rounded-none ${className ?? ""}`.trim(), children: jsxRuntime.jsxs(Table.Content, { ...props, children: [jsxRuntime.jsx(Table.Header, { columns: columns, children: (column) => (jsxRuntime.jsx(Table.Column, { isRowHeader: column.isRowHeader || column.key === rowHeaderKey, children: column.label }, column.key)) }), jsxRuntime.jsx(Table.Body, { items: items, children: (item) => (jsxRuntime.jsx(Table.Row, { columns: columns, children: (column) => (jsxRuntime.jsx(Table.Cell, { children: renderCell ? renderCell(item, column.key) : children })) }, item.id)) })] }) }));
|
|
9342
9374
|
}
|
|
9343
9375
|
|
|
9344
9376
|
// TECH-2459 · F3 · G1-forms — v3 divide el `Textarea` monolítico de v2 en `TextField` +
|
package/dist/index.esm.js
CHANGED
|
@@ -9316,6 +9316,37 @@ const Table = Object.assign(TableFacade, {
|
|
|
9316
9316
|
SortableColumnHeader: Table$1.SortableColumnHeader,
|
|
9317
9317
|
});
|
|
9318
9318
|
|
|
9319
|
+
/**
|
|
9320
|
+
* Clave de la columna que `AuraTable` marca como identificadora de la fila cuando la app no marca
|
|
9321
|
+
* ninguna — `undefined` si alguna ya lo pide (entonces manda la app) o si no hay columnas.
|
|
9322
|
+
*
|
|
9323
|
+
* EL DEFECTO QUE ESTO CIERRA (medido en `beweosagency`, pantalla `/centers`, 3 apariciones en una
|
|
9324
|
+
* sola carga): react-aria exige al menos una columna con `isRowHeader` y, si no la encuentra,
|
|
9325
|
+
* lanza `A table must have at least one Column with the isRowHeader prop set to true` al construir
|
|
9326
|
+
* la colección (`react-aria-components/dist/private/Table.mjs:145`). `AuraTable` no marcaba
|
|
9327
|
+
* ninguna, así que TODA tabla montada por la vía declarativa lo disparaba. React se recupera
|
|
9328
|
+
* —la guarda pone `columnsDirty = false` ANTES de lanzar, así que el reintento pasa— pero
|
|
9329
|
+
* descarta el render concurrente, repinta la raíz de forma síncrona y deja el error en consola.
|
|
9330
|
+
* La vía compuesta a mano (`Table.Content` + `Table.Column isRowHeader`) nunca estuvo afectada:
|
|
9331
|
+
* ahí la marca la app.
|
|
9332
|
+
*
|
|
9333
|
+
* Lo que se pierde mientras tanto no es solo ruido: sin columna identificadora, NINGUNA celda
|
|
9334
|
+
* recibe `role="rowheader"` (medido: las 3 celdas de la story `Default` salían `gridcell`), o sea
|
|
9335
|
+
* que un lector de pantalla recorre las filas sin poder decir de QUÉ fila habla.
|
|
9336
|
+
*
|
|
9337
|
+
* Por qué la PRIMERA: es lo que ya hace a mano la composición cruda de este repo
|
|
9338
|
+
* (`stories/Table.stories.tsx:123`, `isRowHeader={column.key === "name"}`, que es la primera
|
|
9339
|
+
* columna) y lo que hace la columna identificadora en las tablas de las apps. Una columna con
|
|
9340
|
+
* `isRowHeader: false` cuenta como "no lo pide": react-aria solo mira si el valor es truthy
|
|
9341
|
+
* (`if (node.props.isRowHeader)`, Table.mjs:136), así que `false` y ausente son indistinguibles
|
|
9342
|
+
* para él y tratarlos igual evita que un `false` escrito por costumbre deje la tabla otra vez
|
|
9343
|
+
* sin identificador.
|
|
9344
|
+
*/
|
|
9345
|
+
function defaultRowHeaderKey(columns) {
|
|
9346
|
+
return columns.some((column) => column.isRowHeader)
|
|
9347
|
+
? undefined
|
|
9348
|
+
: columns[0]?.key;
|
|
9349
|
+
}
|
|
9319
9350
|
/**
|
|
9320
9351
|
* AuraTable genérico reutilizable, migrado al `Table` compound de HeroUI v3 (el `Table` de v2 con
|
|
9321
9352
|
* `TableHeader`/`TableColumn`/`TableBody`/`TableRow`/`TableCell` sueltos se elimina).
|
|
@@ -9336,9 +9367,10 @@ const Table = Object.assign(TableFacade, {
|
|
|
9336
9367
|
* no tener la anatomía escrita en dos sitios.
|
|
9337
9368
|
*/
|
|
9338
9369
|
function AuraTable({ columns, items, renderCell, children, className, ...props }) {
|
|
9370
|
+
const rowHeaderKey = defaultRowHeaderKey(columns);
|
|
9339
9371
|
// `removeWrapper`/`radius="none"` de v2 no tienen prop equivalente en v3 (§ver
|
|
9340
9372
|
// AuraTable.types.ts): se aproxima con `rounded-none` directo en el `className` del root.
|
|
9341
|
-
return (jsx(Table, { className: `rounded-none ${className ?? ""}`.trim(), children: jsxs(Table.Content, { ...props, children: [jsx(Table.Header, { columns: columns, children: (column) => (jsx(Table.Column, { children: column.label }, column.key)) }), jsx(Table.Body, { items: items, children: (item) => (jsx(Table.Row, { columns: columns, children: (column) => (jsx(Table.Cell, { children: renderCell ? renderCell(item, column.key) : children })) }, item.id)) })] }) }));
|
|
9373
|
+
return (jsx(Table, { className: `rounded-none ${className ?? ""}`.trim(), children: jsxs(Table.Content, { ...props, children: [jsx(Table.Header, { columns: columns, children: (column) => (jsx(Table.Column, { isRowHeader: column.isRowHeader || column.key === rowHeaderKey, children: column.label }, column.key)) }), jsx(Table.Body, { items: items, children: (item) => (jsx(Table.Row, { columns: columns, children: (column) => (jsx(Table.Cell, { children: renderCell ? renderCell(item, column.key) : children })) }, item.id)) })] }) }));
|
|
9342
9374
|
}
|
|
9343
9375
|
|
|
9344
9376
|
// TECH-2459 · F3 · G1-forms — v3 divide el `Textarea` monolítico de v2 en `TextField` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuraTable.d.ts","sourceRoot":"","sources":["../../../../src/components/table/AuraTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"AuraTable.d.ts","sourceRoot":"","sources":["../../../../src/components/table/AuraTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAa,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK9E,KAAK,0BAA0B,CAAC,CAAC,SAAS,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG;IAC1E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACtE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAkCF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,EAC9C,OAAO,EACP,KAAK,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACR,EAAE,0BAA0B,CAAC,CAAC,CAAC,qBAgC/B"}
|
|
@@ -3,6 +3,18 @@ import type React from "react";
|
|
|
3
3
|
export interface ColumnDef {
|
|
4
4
|
key: string;
|
|
5
5
|
label: string;
|
|
6
|
+
/**
|
|
7
|
+
* Marca esta columna como la IDENTIFICADORA de la fila: su celda pasa de `role="gridcell"` a
|
|
8
|
+
* `role="rowheader"`, que es lo que un lector de pantalla anuncia al recorrer la tabla fila a
|
|
9
|
+
* fila. No cambia nada visual.
|
|
10
|
+
*
|
|
11
|
+
* React Aria EXIGE que haya al menos una por tabla y, si no la hay, lanza
|
|
12
|
+
* `A table must have at least one Column with the isRowHeader prop set to true` mientras
|
|
13
|
+
* construye la colección (`react-aria-components/dist/private/Table.mjs:145`). Por eso
|
|
14
|
+
* `AuraTable` marca la PRIMERA columna cuando ninguna lo pide — ver `AuraTable.tsx`. Declara
|
|
15
|
+
* esta prop solo cuando la columna identificadora no sea la primera.
|
|
16
|
+
*/
|
|
17
|
+
isRowHeader?: boolean;
|
|
6
18
|
}
|
|
7
19
|
export interface TableItem {
|
|
8
20
|
id: string | number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuraTable.types.d.ts","sourceRoot":"","sources":["../../../../src/components/table/AuraTable.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,SAAS;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"AuraTable.types.d.ts","sourceRoot":"","sources":["../../../../src/components/table/AuraTable.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,SAAS;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACzB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,IAAI,IAAI,CACrD,qBAAqB,EACrB,UAAU,CACV,GAAG;IACH,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,EAAE,CAAC,EAAE,CAAC;CACX,CAAC"}
|