@12-apps/ui 6.27.2 → 6.29.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.
- package/dist/_internal/components/data-display/Avatar/Avatar.js +3 -3
- package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
- package/dist/_internal/components/data-display/Carousel/Carousel.js +2 -2
- package/dist/_internal/components/data-display/Chart/Chart.js +3 -3
- package/dist/_internal/components/data-display/Chart/SpecChart.js +6 -6
- package/dist/_internal/components/data-display/Chart/chart-renderers.js +2 -2
- package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
- package/dist/_internal/components/data-display/DataGrid/DataGrid.body.js +2 -2
- package/dist/_internal/components/data-display/DataGrid/DataGrid.cells.js +1 -1
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +3 -3
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +18 -17
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +19 -18
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +5 -4
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +17 -16
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-row-detail.js +8 -0
- package/dist/_internal/components/data-display/DataViews/data-views-row-detail.js.map +1 -0
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +2 -2
- package/dist/_internal/components/data-display/index.js +19 -19
- package/dist/_internal/components/index.js +19 -19
- package/dist/_internal/social-login-button/social-login-button.js +1 -1
- package/dist/_internal/user-avatar/user-avatar.js +4 -4
- package/dist/charts.js +11 -11
- package/dist/{chunk-EMNGIYH6.js → chunk-7TZ6OC5T.js} +5 -5
- package/dist/{chunk-FUT7HGWZ.js → chunk-ALAJBLBE.js} +2 -2
- package/dist/{chunk-E5LWJDI3.js → chunk-AROBXRC5.js} +11 -5
- package/dist/chunk-AROBXRC5.js.map +1 -0
- package/dist/{chunk-LQRJCEFO.js → chunk-DVE53B2L.js} +4 -4
- package/dist/chunk-DVE53B2L.js.map +1 -0
- package/dist/{chunk-WZUNBSS7.js → chunk-DVUPIVI2.js} +4 -4
- package/dist/{chunk-KCAGCDCQ.js → chunk-EYC6ERJJ.js} +2 -2
- package/dist/chunk-EYC6ERJJ.js.map +1 -0
- package/dist/{chunk-35UG2QDB.js → chunk-HS2OJI6L.js} +7 -7
- package/dist/{chunk-KZLLTOB2.js → chunk-HTZNB6IV.js} +2 -2
- package/dist/{chunk-FJQ5CH4Q.js → chunk-J2K65BQQ.js} +2 -2
- package/dist/{chunk-EZMCWRXO.js → chunk-MHSTG7FF.js} +2 -2
- package/dist/{chunk-BBYCZZBH.js → chunk-MRMNVGNX.js} +2 -2
- package/dist/{chunk-DACURY25.js → chunk-NY2Y2SHA.js} +3 -3
- package/dist/chunk-O5UGAL2V.js +15 -0
- package/dist/chunk-O5UGAL2V.js.map +1 -0
- package/dist/{chunk-SUWIHCD6.js → chunk-PVIAHB7D.js} +4 -4
- package/dist/{chunk-FJGHP2QW.js → chunk-QGAYEBMU.js} +8 -2
- package/dist/chunk-QGAYEBMU.js.map +1 -0
- package/dist/{chunk-DFLTUI7W.js → chunk-QZBUGUOY.js} +4 -4
- package/dist/{chunk-GOWBYHYW.js → chunk-R6SBP5M5.js} +4 -4
- package/dist/{chunk-Y6KPZQPI.js → chunk-SOCKK67R.js} +4 -4
- package/dist/{chunk-SOJQEJAE.js → chunk-THOPGHTY.js} +2 -2
- package/dist/{chunk-6R567DH4.js → chunk-TSFFZ3AH.js} +8 -7
- package/dist/chunk-TSFFZ3AH.js.map +1 -0
- package/dist/{chunk-EZ5Z5UFI.js → chunk-TTW4MAOJ.js} +5 -5
- package/dist/{chunk-S7HRED4D.js → chunk-VLHGBFR6.js} +3 -3
- package/dist/{chunk-MC2WCZK5.js → chunk-XBZ43VIV.js} +6 -6
- package/dist/{chunk-JLBHH2JU.js → chunk-XOCLWQON.js} +2 -2
- package/dist/{chunk-2WSU6OGE.js → chunk-YEWCIMPZ.js} +12 -3
- package/dist/chunk-YEWCIMPZ.js.map +1 -0
- package/dist/data-display/Avatar.js +3 -3
- package/dist/data-display/CardKit.js +3 -3
- package/dist/data-display/Carousel.js +2 -2
- package/dist/data-display/Chart.js +11 -11
- package/dist/data-display/DataGrid.js +3 -3
- package/dist/data-display/DataViews.js +22 -21
- package/dist/social-login-button.js +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.cells.d.ts.map +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts +10 -0
- package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/DataViewsGrid.d.ts +6 -0
- package/dist/types/components/data-display/DataViews/DataViewsGrid.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/DataViewsTableBase.d.ts +3 -0
- package/dist/types/components/data-display/DataViews/DataViewsTableBase.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-grid-bodies.d.ts +3 -0
- package/dist/types/components/data-display/DataViews/data-views-grid-bodies.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-grid-parts.d.ts +3 -0
- package/dist/types/components/data-display/DataViews/data-views-grid-parts.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-row-detail.d.ts +27 -0
- package/dist/types/components/data-display/DataViews/data-views-row-detail.d.ts.map +1 -0
- package/dist/types/components/data-display/DataViews/index.d.ts +1 -0
- package/dist/types/components/data-display/DataViews/index.d.ts.map +1 -1
- package/dist/types/social-login-button/social-login-button.d.ts +10 -0
- package/dist/types/social-login-button/social-login-button.d.ts.map +1 -1
- package/dist/user-avatar.js +4 -4
- package/package.json +1 -1
- package/src/components/data-display/DataGrid/DataGrid.cells.tsx +23 -9
- package/src/components/data-display/DataGrid/DataGrid.md +8 -0
- package/src/components/data-display/DataGrid/DataGrid.types.ts +10 -0
- package/src/components/data-display/DataViews/DataViewsGrid.tsx +6 -0
- package/src/components/data-display/DataViews/DataViewsTableBase.tsx +3 -0
- package/src/components/data-display/DataViews/data-views-grid-bodies.tsx +7 -0
- package/src/components/data-display/DataViews/data-views-grid-parts.tsx +4 -0
- package/src/components/data-display/DataViews/data-views-row-detail.ts +40 -0
- package/src/components/data-display/DataViews/index.ts +1 -0
- package/src/social-login-button/social-login-button.tsx +25 -1
- package/dist/chunk-2WSU6OGE.js.map +0 -1
- package/dist/chunk-6R567DH4.js.map +0 -1
- package/dist/chunk-E5LWJDI3.js.map +0 -1
- package/dist/chunk-FJGHP2QW.js.map +0 -1
- package/dist/chunk-KCAGCDCQ.js.map +0 -1
- package/dist/chunk-LQRJCEFO.js.map +0 -1
- /package/dist/{chunk-EMNGIYH6.js.map → chunk-7TZ6OC5T.js.map} +0 -0
- /package/dist/{chunk-FUT7HGWZ.js.map → chunk-ALAJBLBE.js.map} +0 -0
- /package/dist/{chunk-WZUNBSS7.js.map → chunk-DVUPIVI2.js.map} +0 -0
- /package/dist/{chunk-35UG2QDB.js.map → chunk-HS2OJI6L.js.map} +0 -0
- /package/dist/{chunk-KZLLTOB2.js.map → chunk-HTZNB6IV.js.map} +0 -0
- /package/dist/{chunk-FJQ5CH4Q.js.map → chunk-J2K65BQQ.js.map} +0 -0
- /package/dist/{chunk-EZMCWRXO.js.map → chunk-MHSTG7FF.js.map} +0 -0
- /package/dist/{chunk-BBYCZZBH.js.map → chunk-MRMNVGNX.js.map} +0 -0
- /package/dist/{chunk-DACURY25.js.map → chunk-NY2Y2SHA.js.map} +0 -0
- /package/dist/{chunk-SUWIHCD6.js.map → chunk-PVIAHB7D.js.map} +0 -0
- /package/dist/{chunk-DFLTUI7W.js.map → chunk-QZBUGUOY.js.map} +0 -0
- /package/dist/{chunk-GOWBYHYW.js.map → chunk-R6SBP5M5.js.map} +0 -0
- /package/dist/{chunk-Y6KPZQPI.js.map → chunk-SOCKK67R.js.map} +0 -0
- /package/dist/{chunk-SOJQEJAE.js.map → chunk-THOPGHTY.js.map} +0 -0
- /package/dist/{chunk-EZ5Z5UFI.js.map → chunk-TTW4MAOJ.js.map} +0 -0
- /package/dist/{chunk-S7HRED4D.js.map → chunk-VLHGBFR6.js.map} +0 -0
- /package/dist/{chunk-MC2WCZK5.js.map → chunk-XBZ43VIV.js.map} +0 -0
- /package/dist/{chunk-JLBHH2JU.js.map → chunk-XOCLWQON.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGrid.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataGrid/DataGrid.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AACjE,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;AAClD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC5D,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACjD,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC3C,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC7C,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAE/C,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrD,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,2CAA2C;IAC3C,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC;IAC3C,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IACpF,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,oEAAoE;IACpE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB;IACvB,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAClG,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACrD,uCAAuC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE;QACb,KAAK,EAAE,OAAO,CAAC;QACf,GAAG,EAAE,CAAC,CAAC;QACP,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,MAAM,EAAE,MAAM,IAAI,CAAC;QACnB,MAAM,EAAE,MAAM,IAAI,CAAC;KACpB,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE;QACtB,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;QAClC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;KACpB,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;IAC5E,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,aAAa,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,8BAA8B;IAC9B,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACtD,kCAAkC;IAClC,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACxC,4BAA4B;IAC5B,qBAAqB,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC/C,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"DataGrid.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataGrid/DataGrid.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import type { DataViewExport } from "./data-views-export";
|
|
|
7
7
|
import type { ScopeConfig } from "./data-views-scopes";
|
|
8
8
|
import type { DataViewCardSelection } from "./data-views-types";
|
|
9
9
|
import { type DataViewColumn, type DataViewsLayout, type DataViewServer, type DataViewState, type DataViewSyncState, type FilterFieldConfig, type RangeFieldConfig, type RowAction } from "./data-views-types";
|
|
10
|
+
import type { DataViewRowDetail } from "./data-views-row-detail";
|
|
10
11
|
interface DataViewsGridProps<T extends Record<string, unknown>> {
|
|
11
12
|
rows: T[];
|
|
12
13
|
columns: DataViewColumn<T>[];
|
|
@@ -99,6 +100,11 @@ interface DataViewsGridProps<T extends Record<string, unknown>> {
|
|
|
99
100
|
* `rowActions`/`bulkActions` still drive the multi-row bulk menu.
|
|
100
101
|
*/
|
|
101
102
|
renderRowMenu?: (row: T) => React.ReactNode;
|
|
103
|
+
/**
|
|
104
|
+
* Opt-in expandable rows (table layout only): a chevron in a leading column
|
|
105
|
+
* opens `render(row)` under the row. See {@link DataViewRowDetail}.
|
|
106
|
+
*/
|
|
107
|
+
rowDetail?: DataViewRowDetail<T>;
|
|
102
108
|
/**
|
|
103
109
|
* Opt-in "Grade" (cards) layout. When provided, a Grade/Tabela toggle appears in
|
|
104
110
|
* the toolbar and the cards body renders each visible row via this function
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataViewsGrid.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/DataViewsGrid.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"DataViewsGrid.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/DataViewsGrid.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import type { ListGroupConfig } from "./list-card-rails";
|
|
|
4
4
|
import type { BoardConfig } from "./DataViewsBoard";
|
|
5
5
|
import type { DataViewExport } from "./data-views-export";
|
|
6
6
|
import type { ScopeConfig } from "./data-views-scopes";
|
|
7
|
+
import type { DataViewRowDetail } from "./data-views-row-detail";
|
|
7
8
|
import { type DataViewColumn, type DataViewsLayout, type DataViewServer, type DataViewState, type DataViewPersistence, type DataViewRouter, type FilterFieldConfig, type RangeFieldConfig, type DataViewCardSelection, type RowAction, type SavedViewSummary } from "./data-views-types";
|
|
8
9
|
export interface DataViewsTableBaseProps<T extends Record<string, unknown>> {
|
|
9
10
|
/** The applied-view id read from the URL (`?view=`) on load, or null. */
|
|
@@ -54,6 +55,8 @@ export interface DataViewsTableBaseProps<T extends Record<string, unknown>> {
|
|
|
54
55
|
selectionExtra?: SelectionExtraRender<T>;
|
|
55
56
|
/** Bespoke per-row menu (an entity's self-contained 3-dots menu) instead of the auto kebab. */
|
|
56
57
|
renderRowMenu?: (row: T) => React.ReactNode;
|
|
58
|
+
/** Opt-in expandable rows (table layout only) — see {@link DataViewRowDetail}. */
|
|
59
|
+
rowDetail?: DataViewRowDetail<T>;
|
|
57
60
|
/** Opt-in "Grade" (cards) layout — a card renderer per row; adds a Grade/Tabela toggle. */
|
|
58
61
|
renderCard?: (row: T, selection: DataViewCardSelection) => React.ReactNode;
|
|
59
62
|
/** Opt-in "Quadro" (board) layout — the loaded page as columns of one field. Needs `renderCard`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataViewsTableBase.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/DataViewsTableBase.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAIvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"DataViewsTableBase.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/DataViewsTableBase.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import React from "react";
|
|
|
2
2
|
import { type BoardConfig } from "./DataViewsBoard";
|
|
3
3
|
import { type ListGroupConfig } from "./list-card-rails";
|
|
4
4
|
import type { DataViewCardSelection } from "./data-views-types";
|
|
5
|
+
import { type DataViewRowDetail } from "./data-views-row-detail";
|
|
5
6
|
import type { DataViewsController } from "./use-data-views-state";
|
|
6
7
|
interface GridMainProps<T extends Record<string, unknown>> {
|
|
7
8
|
c: DataViewsController<T>;
|
|
@@ -13,6 +14,8 @@ interface GridMainProps<T extends Record<string, unknown>> {
|
|
|
13
14
|
listGroup?: ListGroupConfig<T>;
|
|
14
15
|
/** Opt-in "Quadro" (board) layout — needs `renderCard`, since it reuses the card. */
|
|
15
16
|
board?: BoardConfig<T>;
|
|
17
|
+
/** Opt-in expandable rows — the TABLE only; the headerless layouts ignore it. */
|
|
18
|
+
rowDetail?: DataViewRowDetail<T>;
|
|
16
19
|
dataTestId?: string;
|
|
17
20
|
emptyState?: React.ReactNode;
|
|
18
21
|
testIdPrefix: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-views-grid-bodies.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-grid-bodies.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"data-views-grid-bodies.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-grid-bodies.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAc1B,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AA2OlE,UAAU,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvD,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC1B,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC3E,6DAA6D;IAC7D,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC9E,6EAA6E;IAC7E,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/B,qFAAqF;IACrF,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,iFAAiF;IACjF,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB;AAgGD,qFAAqF;AACrF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA2BtG"}
|
|
@@ -6,6 +6,7 @@ import type { DataViewExport } from "./data-views-export";
|
|
|
6
6
|
import type { BoardConfig } from "./DataViewsBoard";
|
|
7
7
|
import { type ScopeConfig } from "./data-views-scopes";
|
|
8
8
|
import type { DataViewCardSelection, FilterFieldConfig, RangeFieldConfig, RowAction } from "./data-views-types";
|
|
9
|
+
import type { DataViewRowDetail } from "./data-views-row-detail";
|
|
9
10
|
import type { DataViewsController } from "./use-data-views-state";
|
|
10
11
|
interface GridShellProps<T extends Record<string, unknown>> {
|
|
11
12
|
c: DataViewsController<T>;
|
|
@@ -34,6 +35,8 @@ interface GridShellProps<T extends Record<string, unknown>> {
|
|
|
34
35
|
renderListRow?: (row: T, selection: DataViewCardSelection) => React.ReactNode;
|
|
35
36
|
/** The Lista's shared columns, so its rows line up by construction. */
|
|
36
37
|
listGroup?: ListGroupConfig<T>;
|
|
38
|
+
/** Opt-in expandable rows, drawn by the table layout only. */
|
|
39
|
+
rowDetail?: DataViewRowDetail<T>;
|
|
37
40
|
/** The page-level partition rendered as tabs under the toolbar. */
|
|
38
41
|
scopes?: ScopeConfig[];
|
|
39
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-views-grid-parts.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-grid-parts.tsx"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEhG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAEhB,SAAS,EACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAwIlE,UAAU,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxD,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;IACjF,mFAAmF;IACnF,cAAc,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACzC;gDAC4C;IAC5C,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC3E;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC9E,uEAAuE;IACvE,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/B,mEAAmE;IACnE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,yDAAyD;IACzD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,qEAAqE;IACrE,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,8FAA8F;IAC9F,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"data-views-grid-parts.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-grid-parts.tsx"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEhG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAEhB,SAAS,EACV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAwIlE,UAAU,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxD,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;IACjF,mFAAmF;IACnF,cAAc,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACzC;gDAC4C;IAC5C,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC3E;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACvB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,qBAAqB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC9E,uEAAuE;IACvE,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/B,8DAA8D;IAC9D,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACjC,mEAAmE;IACnE,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,yDAAyD;IACzD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,qEAAqE;IACrE,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,8FAA8F;IAC9F,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAmFD,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsCxG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { GridRowExpansion } from "../DataGrid";
|
|
3
|
+
import type { DataViewsCopy } from "./data-views-copy";
|
|
4
|
+
/**
|
|
5
|
+
* A detail that opens UNDER a table row — a sub-table, say — behind a chevron
|
|
6
|
+
* in its own leading column.
|
|
7
|
+
*
|
|
8
|
+
* TABLE layout only. The cards, the list and the board draw no chevron: each is
|
|
9
|
+
* an entity-rendered surface with its own way of showing more, and a second
|
|
10
|
+
* disclosure beside that one would compete with it.
|
|
11
|
+
*/
|
|
12
|
+
export interface DataViewRowDetail<T> {
|
|
13
|
+
/** The detail for one row. Rendered only while that row is expanded. */
|
|
14
|
+
render: (row: T) => React.ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* Which rows HAVE a detail. Omitted, every row does. A refused row keeps an
|
|
17
|
+
* empty chevron cell, so the columns stay aligned, but offers nothing to open.
|
|
18
|
+
*/
|
|
19
|
+
isExpandable?: (row: T) => boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The DataGrid `expansion` a `rowDetail` becomes. The chevron speaks the SAME
|
|
23
|
+
* words the list card's disclosure does, so the two layouts name the one
|
|
24
|
+
* gesture identically in every locale.
|
|
25
|
+
*/
|
|
26
|
+
export declare function toGridExpansion<T extends Record<string, unknown>>(rowDetail: DataViewRowDetail<T> | undefined, copy: DataViewsCopy): GridRowExpansion<T> | undefined;
|
|
27
|
+
//# sourceMappingURL=data-views-row-detail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-views-row-detail.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-row-detail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,wEAAwE;IACxE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACpC;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS,EAC3C,IAAI,EAAE,aAAa,GAClB,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAQjC"}
|
|
@@ -23,4 +23,5 @@ export { DataViewsScopeTabs, resolveScope, assertNoScopePillOverlap, type ScopeC
|
|
|
23
23
|
export type { RowAction, DataViewCardSelection, CardAspectRatio, SavedViewSummary, DataViewState, DataViewSyncState, DataViewsLayout, DataViewColumn, FilterFieldConfig, RangeFieldConfig, RangeFieldKind, RangeValue, RangePreset, NumberRangeFieldConfig, DayRangeFieldConfig, DataViewPersistence, DataViewRouter, DataViewSaveInput, DataViewMutationResult, DataViewQuery, DataViewServer, } from "./data-views-types";
|
|
24
24
|
export { DataViewsCopyProvider, useDataViewsCopy } from "./data-views-copy-context";
|
|
25
25
|
export type { DataViewsCopy, DataViewsBoardCopy, DeleteViewCopy, ManageViewsCopy, SaveViewCopy, DataViewsColumnsCopy, DataViewsDisplayCopy, DataViewsExportCopy, DataViewsGridCopy, DataViewsFiltersCopy, DataViewsSelectionCopy, DataViewsNavCopy, DataViewsSearchCopy, } from "./data-views-copy";
|
|
26
|
+
export type { DataViewRowDetail } from "./data-views-row-detail";
|
|
26
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAMxE,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,KAAK,SAAS,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,kBAAkB,EACvB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAI3B,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrF,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,cAAc,GACf,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACpF,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAMxE,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,KAAK,SAAS,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,kBAAkB,EACvB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAI3B,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrF,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,cAAc,GACf,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACpF,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -36,6 +36,16 @@ export interface SocialLoginButtonProps {
|
|
|
36
36
|
* exactly the text a host is now expected to translate.
|
|
37
37
|
*/
|
|
38
38
|
dataTestId?: string;
|
|
39
|
+
/**
|
|
40
|
+
* The provider's logo alone, centred (FUT-2393).
|
|
41
|
+
*
|
|
42
|
+
* For a row of providers in a narrow block, where "Continuar com o Google"
|
|
43
|
+
* wraps to two lines at 320px and two providers cannot share a line. The
|
|
44
|
+
* label is not dropped: it stays the button's accessible name, so a screen
|
|
45
|
+
* reader still announces the provider, and its `title`, so a pointer
|
|
46
|
+
* hovering the logo reads it too.
|
|
47
|
+
*/
|
|
48
|
+
iconOnly?: boolean;
|
|
39
49
|
}
|
|
40
50
|
/**
|
|
41
51
|
* Social login button using UI package Button component
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"social-login-button.d.ts","sourceRoot":"","sources":["../../../src/social-login-button/social-login-button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE7D;;GAEG;AACH,QAAA,MAAM,UAAU,QAAO,KAAK,CAAC,YAmB5B,CAAC;AAEF,QAAA,MAAM,YAAY,QAAO,KAAK,CAAC,YAO9B,CAAC;AAEF,QAAA,MAAM,SAAS,QAAO,KAAK,CAAC,YAI3B,CAAC;AAkDF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"social-login-button.d.ts","sourceRoot":"","sources":["../../../src/social-login-button/social-login-button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE7D;;GAEG;AACH,QAAA,MAAM,UAAU,QAAO,KAAK,CAAC,YAmB5B,CAAC;AAEF,QAAA,MAAM,YAAY,QAAO,KAAK,CAAC,YAO9B,CAAC;AAEF,QAAA,MAAM,SAAS,QAAO,KAAK,CAAC,YAI3B,CAAC;AAkDF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAYD;;GAEG;AACH,eAAO,MAAM,iBAAiB,kGA0C7B,CAAC;AAIF;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,KAA6B,EAC7B,QAAQ,EACR,WAAmB,EACnB,WAAkB,EAClB,QAAc,GACf,EAAE,yBAAyB,GAAG,KAAK,CAAC,YAAY,CAyChD;AAED,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC"}
|
package/dist/user-avatar.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
UserAvatar,
|
|
3
3
|
UserMenu
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ALAJBLBE.js";
|
|
5
5
|
import "./chunk-UDQSIRAP.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-THOPGHTY.js";
|
|
7
7
|
import "./chunk-3ZVUNSFF.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-XRMZMBE3.js";
|
|
8
|
+
import "./chunk-HS2OJI6L.js";
|
|
10
9
|
import "./chunk-FAITHWIO.js";
|
|
10
|
+
import "./chunk-XRMZMBE3.js";
|
|
11
11
|
import "./chunk-VUHLNYAE.js";
|
|
12
12
|
import "./chunk-2GSIEDGN.js";
|
|
13
13
|
import "./chunk-AVI3XHRQ.js";
|
package/package.json
CHANGED
|
@@ -166,6 +166,7 @@ export interface GridRowProps<T extends Record<string, unknown>> {
|
|
|
166
166
|
|
|
167
167
|
/** The leading checkbox / chevron cells, which exist only for enabled features. */
|
|
168
168
|
function RowControls<T extends Record<string, unknown>>({
|
|
169
|
+
row,
|
|
169
170
|
index,
|
|
170
171
|
rowId,
|
|
171
172
|
isSelected,
|
|
@@ -187,13 +188,26 @@ function RowControls<T extends Record<string, unknown>>({
|
|
|
187
188
|
)}
|
|
188
189
|
{expansion && (
|
|
189
190
|
<TableCell padding="checkbox">
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
191
|
+
{expansion.isRowExpandable?.(row) === false ? null : (
|
|
192
|
+
<IconButton
|
|
193
|
+
size="small"
|
|
194
|
+
// Stopped so a host that opens the record on a row click does not
|
|
195
|
+
// ALSO open it here: the chevron is its own control.
|
|
196
|
+
onClick={(event) => {
|
|
197
|
+
event.stopPropagation();
|
|
198
|
+
model.onToggleExpansion(rowId);
|
|
199
|
+
}}
|
|
200
|
+
aria-expanded={isExpanded}
|
|
201
|
+
aria-label={
|
|
202
|
+
isExpanded
|
|
203
|
+
? (expansion.collapseLabel ?? 'Collapse row')
|
|
204
|
+
: (expansion.expandLabel ?? 'Expand row')
|
|
205
|
+
}
|
|
206
|
+
data-slot="expand-toggle"
|
|
207
|
+
>
|
|
208
|
+
{isExpanded ? <ExpandLess /> : <ExpandMore />}
|
|
209
|
+
</IconButton>
|
|
210
|
+
)}
|
|
197
211
|
</TableCell>
|
|
198
212
|
)}
|
|
199
213
|
</>
|
|
@@ -234,8 +248,8 @@ export function GridRow<T extends Record<string, unknown>>(
|
|
|
234
248
|
/>
|
|
235
249
|
))}
|
|
236
250
|
</TableRow>
|
|
237
|
-
{expansion && isExpanded && (
|
|
238
|
-
<TableRow>
|
|
251
|
+
{expansion && isExpanded && expansion.isRowExpandable?.(row) !== false && (
|
|
252
|
+
<TableRow data-slot="row-detail">
|
|
239
253
|
<TableCell colSpan={totalColumns}>{expansion.render(row, index)}</TableCell>
|
|
240
254
|
</TableRow>
|
|
241
255
|
)}
|
|
@@ -105,6 +105,11 @@ export interface GridRowExpansion<T = any> {
|
|
|
105
105
|
defaultExpandedRowIds?: Array<string | number>;
|
|
106
106
|
/** Row id equality uses `getRowId` */
|
|
107
107
|
onChangeExpanded?: (ids: Array<string | number>) => void;
|
|
108
|
+
/** Which rows have a detail; omitted, every row does. Refused rows keep an empty cell. */
|
|
109
|
+
isRowExpandable?: (row: T) => boolean;
|
|
110
|
+
/** Accessible names for the chevron (defaults "Expand row" / "Collapse row"). */
|
|
111
|
+
expandLabel?: string;
|
|
112
|
+
collapseLabel?: string;
|
|
108
113
|
}
|
|
109
114
|
|
|
110
115
|
export interface GridSelection {
|
|
@@ -254,6 +259,9 @@ export interface DataGridProps<T = any> extends React.HTMLAttributes<HTMLElement
|
|
|
254
259
|
|
|
255
260
|
- **Expansion**:
|
|
256
261
|
- Row expand/collapse before/after row; expanded region must be focusable and labelled.
|
|
262
|
+
- `isRowExpandable` withholds the chevron per row (the cell stays, so columns align).
|
|
263
|
+
- The chevron's click does not reach the row's cells, so it never also fires a cell's
|
|
264
|
+
`onClick` (a row-click that opens the record).
|
|
257
265
|
|
|
258
266
|
## 6) Styling Contract (data attributes & slots)
|
|
259
267
|
|
|
@@ -73,6 +73,16 @@ export interface GridRowExpansion<T = Record<string, unknown>> {
|
|
|
73
73
|
defaultExpandedRowIds?: Array<string | number>;
|
|
74
74
|
/** Row id equality uses `getRowId` */
|
|
75
75
|
onChangeExpanded?: (ids: Array<string | number>) => void;
|
|
76
|
+
/**
|
|
77
|
+
* Which rows HAVE a detail. Omitted, every row does. A row it refuses keeps
|
|
78
|
+
* the (empty) chevron cell, so the columns still line up, but offers no
|
|
79
|
+
* toggle — a chevron that opens onto nothing is a promise the row cannot keep.
|
|
80
|
+
*/
|
|
81
|
+
isRowExpandable?: (row: T) => boolean;
|
|
82
|
+
/** The chevron's accessible name while the row is collapsed. Default "Expand row". */
|
|
83
|
+
expandLabel?: string;
|
|
84
|
+
/** The chevron's accessible name while the row is expanded. Default "Collapse row". */
|
|
85
|
+
collapseLabel?: string;
|
|
76
86
|
}
|
|
77
87
|
|
|
78
88
|
export interface GridSelection {
|
|
@@ -22,6 +22,7 @@ import {
|
|
|
22
22
|
type RangeFieldConfig,
|
|
23
23
|
type RowAction,
|
|
24
24
|
} from "./data-views-types";
|
|
25
|
+
import type { DataViewRowDetail } from "./data-views-row-detail";
|
|
25
26
|
import { useDataViewsState } from "./use-data-views-state";
|
|
26
27
|
|
|
27
28
|
interface DataViewsGridProps<T extends Record<string, unknown>> {
|
|
@@ -116,6 +117,11 @@ interface DataViewsGridProps<T extends Record<string, unknown>> {
|
|
|
116
117
|
* `rowActions`/`bulkActions` still drive the multi-row bulk menu.
|
|
117
118
|
*/
|
|
118
119
|
renderRowMenu?: (row: T) => React.ReactNode;
|
|
120
|
+
/**
|
|
121
|
+
* Opt-in expandable rows (table layout only): a chevron in a leading column
|
|
122
|
+
* opens `render(row)` under the row. See {@link DataViewRowDetail}.
|
|
123
|
+
*/
|
|
124
|
+
rowDetail?: DataViewRowDetail<T>;
|
|
119
125
|
/**
|
|
120
126
|
* Opt-in "Grade" (cards) layout. When provided, a Grade/Tabela toggle appears in
|
|
121
127
|
* the toolbar and the cards body renders each visible row via this function
|
|
@@ -12,6 +12,7 @@ import { DeleteViewDialog } from "./DeleteViewDialog";
|
|
|
12
12
|
import type { BoardConfig } from "./DataViewsBoard";
|
|
13
13
|
import type { DataViewExport } from "./data-views-export";
|
|
14
14
|
import type { ScopeConfig } from "./data-views-scopes";
|
|
15
|
+
import type { DataViewRowDetail } from "./data-views-row-detail";
|
|
15
16
|
import { ViewDialogs, ViewMutationErrorAlert } from "./data-views-table-parts";
|
|
16
17
|
import {
|
|
17
18
|
useSavedViewsController,
|
|
@@ -81,6 +82,8 @@ export interface DataViewsTableBaseProps<T extends Record<string, unknown>> {
|
|
|
81
82
|
selectionExtra?: SelectionExtraRender<T>;
|
|
82
83
|
/** Bespoke per-row menu (an entity's self-contained 3-dots menu) instead of the auto kebab. */
|
|
83
84
|
renderRowMenu?: (row: T) => React.ReactNode;
|
|
85
|
+
/** Opt-in expandable rows (table layout only) — see {@link DataViewRowDetail}. */
|
|
86
|
+
rowDetail?: DataViewRowDetail<T>;
|
|
84
87
|
/** Opt-in "Grade" (cards) layout — a card renderer per row; adds a Grade/Tabela toggle. */
|
|
85
88
|
renderCard?: (row: T, selection: DataViewCardSelection) => React.ReactNode;
|
|
86
89
|
/** Opt-in "Quadro" (board) layout — the loaded page as columns of one field. Needs `renderCard`. */
|
|
@@ -18,6 +18,7 @@ import { DataViewsBoard, type BoardConfig } from "./DataViewsBoard";
|
|
|
18
18
|
import { SelectAllStrip } from "./data-views-select-all-strip";
|
|
19
19
|
import { ListCardGroup, type ListGroupConfig } from "./list-card-rails";
|
|
20
20
|
import type { DataViewCardSelection } from "./data-views-types";
|
|
21
|
+
import { toGridExpansion, type DataViewRowDetail } from "./data-views-row-detail";
|
|
21
22
|
import type { DataViewsController } from "./use-data-views-state";
|
|
22
23
|
import { useDataViewsCopy } from "./data-views-copy-context";
|
|
23
24
|
|
|
@@ -35,6 +36,7 @@ interface GridBodyProps<T extends Record<string, unknown>> {
|
|
|
35
36
|
sortMode: "client" | "server";
|
|
36
37
|
/** Vertical cell padding, from the density preference. */
|
|
37
38
|
rowPadding: number;
|
|
39
|
+
rowDetail?: DataViewRowDetail<T>;
|
|
38
40
|
dataTestId?: string;
|
|
39
41
|
emptyState?: React.ReactNode;
|
|
40
42
|
}
|
|
@@ -50,6 +52,7 @@ function GridBody<T extends Record<string, unknown>>({
|
|
|
50
52
|
onChangeSortBy,
|
|
51
53
|
sortMode,
|
|
52
54
|
rowPadding,
|
|
55
|
+
rowDetail,
|
|
53
56
|
dataTestId,
|
|
54
57
|
emptyState,
|
|
55
58
|
}: GridBodyProps<T>): React.JSX.Element {
|
|
@@ -77,6 +80,7 @@ function GridBody<T extends Record<string, unknown>>({
|
|
|
77
80
|
headerHeight={36}
|
|
78
81
|
selection={{ mode: "multi", selectedRowIds: selectedIds, onChangeSelected }}
|
|
79
82
|
sorting={{ mode: sortMode, sortBy, onChangeSortBy }}
|
|
83
|
+
expansion={toGridExpansion(rowDetail, copy)}
|
|
80
84
|
data-testid={dataTestId}
|
|
81
85
|
emptyState={emptyState}
|
|
82
86
|
emptyText={copy.grid.emptyFilteredTitle}
|
|
@@ -260,6 +264,8 @@ interface GridMainProps<T extends Record<string, unknown>> {
|
|
|
260
264
|
listGroup?: ListGroupConfig<T>;
|
|
261
265
|
/** Opt-in "Quadro" (board) layout — needs `renderCard`, since it reuses the card. */
|
|
262
266
|
board?: BoardConfig<T>;
|
|
267
|
+
/** Opt-in expandable rows — the TABLE only; the headerless layouts ignore it. */
|
|
268
|
+
rowDetail?: DataViewRowDetail<T>;
|
|
263
269
|
dataTestId?: string;
|
|
264
270
|
emptyState?: React.ReactNode;
|
|
265
271
|
testIdPrefix: string;
|
|
@@ -382,6 +388,7 @@ export function GridMain<T extends Record<string, unknown>>(props: GridMainProps
|
|
|
382
388
|
onChangeSortBy={(next: GridSort[]) => c.patch({ sortBy: next })}
|
|
383
389
|
sortMode={c.serverMode ? "server" : "client"}
|
|
384
390
|
rowPadding={DENSITY_ROW_PADDING[layoutState.density]}
|
|
391
|
+
rowDetail={props.rowDetail}
|
|
385
392
|
dataTestId={dataTestId}
|
|
386
393
|
emptyState={emptyState}
|
|
387
394
|
/>
|
|
@@ -34,6 +34,7 @@ import type {
|
|
|
34
34
|
RangeValue,
|
|
35
35
|
RowAction,
|
|
36
36
|
} from "./data-views-types";
|
|
37
|
+
import type { DataViewRowDetail } from "./data-views-row-detail";
|
|
37
38
|
import type { DataViewsController } from "./use-data-views-state";
|
|
38
39
|
|
|
39
40
|
/* ── Layout ⇄ view-state mirror ──────────────────────────────────────────── */
|
|
@@ -197,6 +198,8 @@ interface GridShellProps<T extends Record<string, unknown>> {
|
|
|
197
198
|
renderListRow?: (row: T, selection: DataViewCardSelection) => React.ReactNode;
|
|
198
199
|
/** The Lista's shared columns, so its rows line up by construction. */
|
|
199
200
|
listGroup?: ListGroupConfig<T>;
|
|
201
|
+
/** Opt-in expandable rows, drawn by the table layout only. */
|
|
202
|
+
rowDetail?: DataViewRowDetail<T>;
|
|
200
203
|
/** The page-level partition rendered as tabs under the toolbar. */
|
|
201
204
|
scopes?: ScopeConfig[];
|
|
202
205
|
/**
|
|
@@ -300,6 +303,7 @@ function ShellStack<T extends Record<string, unknown>>({
|
|
|
300
303
|
renderListRow={props.renderListRow}
|
|
301
304
|
listGroup={props.listGroup}
|
|
302
305
|
board={props.board}
|
|
306
|
+
rowDetail={props.rowDetail}
|
|
303
307
|
dataTestId={dataTestId}
|
|
304
308
|
testIdPrefix={testIdPrefix}
|
|
305
309
|
emptyState={body}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
|
|
3
|
+
import type { GridRowExpansion } from "../DataGrid";
|
|
4
|
+
import type { DataViewsCopy } from "./data-views-copy";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* A detail that opens UNDER a table row — a sub-table, say — behind a chevron
|
|
8
|
+
* in its own leading column.
|
|
9
|
+
*
|
|
10
|
+
* TABLE layout only. The cards, the list and the board draw no chevron: each is
|
|
11
|
+
* an entity-rendered surface with its own way of showing more, and a second
|
|
12
|
+
* disclosure beside that one would compete with it.
|
|
13
|
+
*/
|
|
14
|
+
export interface DataViewRowDetail<T> {
|
|
15
|
+
/** The detail for one row. Rendered only while that row is expanded. */
|
|
16
|
+
render: (row: T) => React.ReactNode;
|
|
17
|
+
/**
|
|
18
|
+
* Which rows HAVE a detail. Omitted, every row does. A refused row keeps an
|
|
19
|
+
* empty chevron cell, so the columns stay aligned, but offers nothing to open.
|
|
20
|
+
*/
|
|
21
|
+
isExpandable?: (row: T) => boolean;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The DataGrid `expansion` a `rowDetail` becomes. The chevron speaks the SAME
|
|
26
|
+
* words the list card's disclosure does, so the two layouts name the one
|
|
27
|
+
* gesture identically in every locale.
|
|
28
|
+
*/
|
|
29
|
+
export function toGridExpansion<T extends Record<string, unknown>>(
|
|
30
|
+
rowDetail: DataViewRowDetail<T> | undefined,
|
|
31
|
+
copy: DataViewsCopy,
|
|
32
|
+
): GridRowExpansion<T> | undefined {
|
|
33
|
+
if (!rowDetail) return undefined;
|
|
34
|
+
return {
|
|
35
|
+
render: (row) => rowDetail.render(row),
|
|
36
|
+
isRowExpandable: rowDetail.isExpandable,
|
|
37
|
+
expandLabel: copy.selection.expandRow,
|
|
38
|
+
collapseLabel: copy.selection.collapseRow,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
@@ -129,8 +129,28 @@ export interface SocialLoginButtonProps {
|
|
|
129
129
|
* exactly the text a host is now expected to translate.
|
|
130
130
|
*/
|
|
131
131
|
dataTestId?: string;
|
|
132
|
+
/**
|
|
133
|
+
* The provider's logo alone, centred (FUT-2393).
|
|
134
|
+
*
|
|
135
|
+
* For a row of providers in a narrow block, where "Continuar com o Google"
|
|
136
|
+
* wraps to two lines at 320px and two providers cannot share a line. The
|
|
137
|
+
* label is not dropped: it stays the button's accessible name, so a screen
|
|
138
|
+
* reader still announces the provider, and its `title`, so a pointer
|
|
139
|
+
* hovering the logo reads it too.
|
|
140
|
+
*/
|
|
141
|
+
iconOnly?: boolean;
|
|
132
142
|
}
|
|
133
143
|
|
|
144
|
+
/**
|
|
145
|
+
* What an icon-only social button changes: the logo centred, with no gap
|
|
146
|
+
* reserved for a label and no margin MUI keeps beside a start icon.
|
|
147
|
+
*/
|
|
148
|
+
const ICON_ONLY_SX = {
|
|
149
|
+
justifyContent: 'center',
|
|
150
|
+
gap: 0,
|
|
151
|
+
'& .MuiButton-startIcon': { margin: 0 },
|
|
152
|
+
} as const;
|
|
153
|
+
|
|
134
154
|
/**
|
|
135
155
|
* Social login button using UI package Button component
|
|
136
156
|
*/
|
|
@@ -144,10 +164,12 @@ export const SocialLoginButton = React.forwardRef<HTMLButtonElement, SocialLogin
|
|
|
144
164
|
fullWidth = true,
|
|
145
165
|
copy = EN_US_SOCIAL_LOGIN_COPY,
|
|
146
166
|
dataTestId,
|
|
167
|
+
iconOnly = false,
|
|
147
168
|
},
|
|
148
169
|
ref,
|
|
149
170
|
) => {
|
|
150
171
|
const config = providerConfig[provider];
|
|
172
|
+
const label = copy[provider];
|
|
151
173
|
|
|
152
174
|
return (
|
|
153
175
|
<Button
|
|
@@ -161,14 +183,16 @@ export const SocialLoginButton = React.forwardRef<HTMLButtonElement, SocialLogin
|
|
|
161
183
|
icon={<config.Icon />}
|
|
162
184
|
dataTestId={dataTestId}
|
|
163
185
|
fullWidth={fullWidth}
|
|
186
|
+
{...(iconOnly ? { 'aria-label': label, title: label } : {})}
|
|
164
187
|
sx={{
|
|
165
188
|
minHeight: 48,
|
|
166
189
|
justifyContent: 'flex-start',
|
|
167
190
|
gap: 2,
|
|
191
|
+
...(iconOnly ? ICON_ONLY_SX : {}),
|
|
168
192
|
...config.sx,
|
|
169
193
|
}}
|
|
170
194
|
>
|
|
171
|
-
{
|
|
195
|
+
{iconOnly ? undefined : label}
|
|
172
196
|
</Button>
|
|
173
197
|
);
|
|
174
198
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/social-login-button/social-login-button.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from 'react';\nimport Box from '@mui/material/Box/index.js';\nimport Stack from '@mui/material/Stack/index.js';\nimport { Button } from '../components/form/Button';\nimport { Card, CardContent } from '../components/layout/Card';\nimport { Heading } from '../components/typography/Heading';\nimport { Text } from '../components/typography/Text';\nimport { Separator } from '../components/layout/Separator';\nimport type { SocialLoginCopy } from '../copy/form';\nimport { EN_US_SOCIAL_LOGIN_COPY } from '../en-US.form';\n\nexport type SocialProvider = 'google' | 'facebook' | 'apple';\n\n/**\n * SVG Icons for social providers\n */\nconst GoogleIcon = (): React.ReactElement => (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z\"\n fill=\"#4285F4\"\n />\n <path\n d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\"\n fill=\"#34A853\"\n />\n <path\n d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\"\n fill=\"#FBBC05\"\n />\n <path\n d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\"\n fill=\"#EA4335\"\n />\n </svg>\n);\n\nconst FacebookIcon = (): React.ReactElement => (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M24 12c0-6.627-5.373-12-12-12S0 5.373 0 12c0 5.99 4.388 10.954 10.125 11.854V15.47H7.078V12h3.047V9.356c0-3.007 1.792-4.668 4.533-4.668 1.312 0 2.686.234 2.686.234v2.953H15.83c-1.491 0-1.956.925-1.956 1.874V12h3.328l-.532 3.469h-2.796v8.385C19.612 22.954 24 17.99 24 12z\"\n fill=\"#1877F2\"\n />\n </svg>\n);\n\nconst AppleIcon = (): React.ReactElement => (\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z\" />\n </svg>\n);\n\ninterface ProviderConfig {\n Icon: () => React.ReactElement;\n variant: 'solid' | 'outline' | 'ghost';\n color: 'primary' | 'secondary' | 'neutral';\n sx?: object;\n}\n\nconst providerConfig: Record<SocialProvider, ProviderConfig> = {\n google: {\n Icon: GoogleIcon,\n variant: 'outline',\n color: 'neutral',\n sx: {\n backgroundColor: '#ffffff',\n color: '#1f1f1f',\n borderColor: '#dadce0',\n '&:hover': {\n backgroundColor: '#f5f5f5',\n borderColor: '#dadce0',\n },\n },\n },\n facebook: {\n Icon: FacebookIcon,\n variant: 'solid',\n color: 'primary',\n sx: {\n backgroundColor: '#1877F2',\n color: '#ffffff',\n '&:hover': {\n backgroundColor: '#166fe5',\n },\n },\n },\n apple: {\n Icon: AppleIcon,\n variant: 'solid',\n color: 'neutral',\n sx: {\n backgroundColor: '#000000',\n color: '#ffffff',\n '&:hover': {\n backgroundColor: '#1a1a1a',\n },\n },\n },\n};\n\nexport interface SocialLoginButtonProps {\n provider: SocialProvider;\n onClick?: () => void;\n loading?: boolean;\n disabled?: boolean;\n fullWidth?: boolean;\n /**\n * The three provider labels (FUT-1263). `SOCIAL_LOGIN_COPY` ships both\n * languages, so a host passes `SOCIAL_LOGIN_COPY[\"pt-BR\"]` rather than\n * authoring a word.\n *\n * These used to be English string literals inside `providerConfig`, reachable\n * by nothing: a pt-BR storefront rendered \"Continue with Google\" on an\n * otherwise Portuguese sign-in screen and had no way to change it.\n *\n * OPTIONAL, unlike every other `copy` in this package, and defaulted to the\n * en-US pack. That is a deliberate exception so this ships as a MINOR: making\n * it required would break every existing caller on a routine update. The cost\n * is the one this package's convention exists to avoid — a host that says\n * nothing still renders English — so a consumer wanting Portuguese must pass\n * the pack, and FUT-1263 is not closed until it does.\n */\n copy?: SocialLoginCopy;\n /**\n * Per-provider test hook. Without one all three buttons render the same\n * `data-testid`, leaving their visible text as the only selector — which is\n * exactly the text a host is now expected to translate.\n */\n dataTestId?: string;\n}\n\n/**\n * Social login button using UI package Button component\n */\nexport const SocialLoginButton = React.forwardRef<HTMLButtonElement, SocialLoginButtonProps>(\n (\n {\n provider,\n onClick,\n loading = false,\n disabled = false,\n fullWidth = true,\n copy = EN_US_SOCIAL_LOGIN_COPY,\n dataTestId,\n },\n ref,\n ) => {\n const config = providerConfig[provider];\n\n return (\n <Button\n ref={ref}\n variant={config.variant}\n color={config.color}\n size=\"lg\"\n loading={loading}\n disabled={disabled}\n onClick={onClick}\n icon={<config.Icon />}\n dataTestId={dataTestId}\n fullWidth={fullWidth}\n sx={{\n minHeight: 48,\n justifyContent: 'flex-start',\n gap: 2,\n ...config.sx,\n }}\n >\n {copy[provider]}\n </Button>\n );\n }\n);\n\nSocialLoginButton.displayName = 'SocialLoginButton';\n\n/**\n * Container for social login buttons with optional divider\n */\nexport interface SocialLoginContainerProps {\n children: React.ReactNode;\n title?: string;\n subtitle?: string;\n showDivider?: boolean;\n dividerText?: string;\n /**\n * How wide the card is allowed to get. Defaults to the 400 it has always\n * intended, so nothing that does not ask for a width moves.\n *\n * Worth passing for a card holding a FORM rather than a row of provider\n * buttons: 400 was chosen for the latter, and an e-mail + password pair reads\n * cramped in it.\n */\n maxWidth?: number | string;\n}\n\nexport function SocialLoginContainer({\n children,\n title = \"Sign in to continue\",\n subtitle,\n showDivider = false,\n dividerText = \"or\",\n maxWidth = 400,\n}: SocialLoginContainerProps): React.ReactElement {\n return (\n // `width: 100%` is what makes the cap below mean anything. Every caller\n // centres this card in a flex column (`Container variant=\"centered\"` does),\n // and a flex item under `align-items: center` sizes to its CONTENT — so the\n // card sat at whatever the longest label happened to need, ~267px, at every\n // viewport from 390 to 1280. The 400 was never reached, which is why raising\n // it would have changed nothing; the card had no width to cap.\n <Card variant=\"elevated\" borderRadius=\"lg\" sx={{ width: '100%', maxWidth }}>\n <CardContent>\n <Stack spacing={3} sx={{ width: '100%' }}>\n {title && (\n <Box sx={{ textAlign: 'center' }}>\n <Heading level=\"h2\">\n {title}\n </Heading>\n {subtitle && (\n <Text color=\"secondary\" size=\"sm\">\n {subtitle}\n </Text>\n )}\n </Box>\n )}\n\n <Stack spacing={2}>\n {children}\n </Stack>\n\n {showDivider && (\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 2 }}>\n <Separator />\n <Text color=\"secondary\" size=\"sm\">\n {dividerText}\n </Text>\n <Separator />\n </Box>\n )}\n </Stack>\n </CardContent>\n </Card>\n );\n}\n\nexport { GoogleIcon, FacebookIcon, AppleIcon };\n"],"mappings":"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","names":[]}
|