@12-apps/ui 6.57.0 → 6.59.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 +2 -2
- package/dist/_internal/components/data-display/Badge/Badge.js +2 -2
- package/dist/_internal/components/data-display/Carousel/Carousel.js +2 -2
- package/dist/_internal/components/data-display/Chart/Chart.js +4 -4
- package/dist/_internal/components/data-display/Chart/SpecChart.js +7 -7
- package/dist/_internal/components/data-display/Chart/chart-context.js +2 -2
- package/dist/_internal/components/data-display/Chart/chart-format.js +5 -1
- package/dist/_internal/components/data-display/Chart/chart-renderers.js +3 -3
- package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +18 -18
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +20 -19
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +5 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +45 -0
- package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js.map +1 -0
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +2 -2
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +5 -4
- package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +17 -17
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-selection-extra.js +3 -1
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-url-echo.js +13 -0
- package/dist/_internal/components/data-display/DataViews/data-views-url-echo.js.map +1 -0
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +1 -1
- package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +1 -1
- package/dist/_internal/components/data-display/index.js +16 -16
- package/dist/_internal/components/index.js +24 -24
- package/dist/_internal/components/layout/ContentToolbar/ContentToolbar.js +1 -1
- package/dist/_internal/components/layout/index.js +1 -1
- package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +6 -6
- package/dist/_internal/components/navigation/SectionNav/SectionNav.js +9 -9
- package/dist/_internal/components/navigation/SectionNav/SectionNav.parts.js +3 -3
- package/dist/_internal/components/navigation/SectionNav/SectionNav.primary.js +4 -4
- package/dist/_internal/components/navigation/SectionNav/SectionNav.rail.js +5 -5
- package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js +4 -4
- package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +4 -4
- package/dist/_internal/components/navigation/index.js +9 -9
- package/dist/_internal/en-US.data-display.js +1 -1
- package/dist/_internal/pt-BR.data-display.js +1 -1
- package/dist/_internal/user-avatar/user-avatar.js +3 -3
- package/dist/charts.js +8 -8
- package/dist/{chunk-RBHBJDOZ.js → chunk-3FMWQQW6.js} +5 -5
- package/dist/chunk-3FMWQQW6.js.map +1 -0
- package/dist/{chunk-MKAA3YIJ.js → chunk-3K7WN2PO.js} +3 -3
- package/dist/{chunk-GI24X7XA.js → chunk-4PPNCZWY.js} +3 -3
- package/dist/{chunk-573XC4HK.js → chunk-4QKS5Y35.js} +2 -2
- package/dist/{chunk-KX75HM5U.js → chunk-5YDS6HO3.js} +7 -2
- package/dist/{chunk-KX75HM5U.js.map → chunk-5YDS6HO3.js.map} +1 -1
- package/dist/{chunk-N4MR4EMC.js → chunk-6D2PFC5C.js} +2 -2
- package/dist/{chunk-QVWNK4JO.js → chunk-6GPNZSAE.js} +19 -2
- package/dist/chunk-6GPNZSAE.js.map +1 -0
- package/dist/{chunk-LJKWWXZD.js → chunk-6OSUK2C7.js} +28 -22
- package/dist/chunk-6OSUK2C7.js.map +1 -0
- package/dist/{chunk-ICSXPZXT.js → chunk-6QBT5TPS.js} +2 -2
- package/dist/{chunk-A6EUQDRK.js → chunk-ARJIKW56.js} +4 -2
- package/dist/chunk-ARJIKW56.js.map +1 -0
- package/dist/{chunk-53ACGKBW.js → chunk-EDBP62WG.js} +3 -3
- package/dist/{chunk-YXIVQFNW.js → chunk-EWIKSTJV.js} +4 -4
- package/dist/{chunk-LWZ2K225.js → chunk-FXZUVZON.js} +6 -6
- package/dist/chunk-G6EJLEVV.js +75 -0
- package/dist/chunk-G6EJLEVV.js.map +1 -0
- package/dist/{chunk-IK2ZVV3M.js → chunk-GK7JNSMK.js} +2 -2
- package/dist/{chunk-HFBQCJNP.js → chunk-HCYRCU4W.js} +2 -2
- package/dist/{chunk-BJMNAPKH.js → chunk-HH7PM5HT.js} +10 -22
- package/dist/chunk-HH7PM5HT.js.map +1 -0
- package/dist/{chunk-7AAJYWC3.js → chunk-HPO7PB4F.js} +2 -2
- package/dist/{chunk-WF3P7GE5.js → chunk-I3CQBEKS.js} +2 -2
- package/dist/{chunk-RREWYOKS.js → chunk-IL4FCC54.js} +2 -2
- package/dist/{chunk-7M3DRP7Q.js → chunk-ILNO4ZJ6.js} +3 -3
- package/dist/{chunk-R6SBP5M5.js → chunk-JVOEVTCZ.js} +4 -2
- package/dist/chunk-JVOEVTCZ.js.map +1 -0
- package/dist/{chunk-2CJZLL5Y.js → chunk-NHVL2QPG.js} +2 -1
- package/dist/{chunk-2CJZLL5Y.js.map → chunk-NHVL2QPG.js.map} +1 -1
- package/dist/{chunk-45PGSVOH.js → chunk-NTJUAPJM.js} +10 -8
- package/dist/chunk-NTJUAPJM.js.map +1 -0
- package/dist/{chunk-EUPUEMFX.js → chunk-PC4H5LVB.js} +7 -7
- package/dist/{chunk-KEKOPD43.js → chunk-PQ7RWH7L.js} +4 -2
- package/dist/chunk-PQ7RWH7L.js.map +1 -0
- package/dist/{chunk-HRMB72E4.js → chunk-QHP5PZNC.js} +2 -1
- package/dist/{chunk-HRMB72E4.js.map → chunk-QHP5PZNC.js.map} +1 -1
- package/dist/{chunk-GNBCSTXF.js → chunk-QKAYXAQE.js} +6 -6
- package/dist/{chunk-GNBCSTXF.js.map → chunk-QKAYXAQE.js.map} +1 -1
- package/dist/{chunk-TZFBJ47T.js → chunk-SFLNHCA2.js} +39 -15
- package/dist/chunk-SFLNHCA2.js.map +1 -0
- package/dist/{chunk-OBMPE6PW.js → chunk-SSDYEOU4.js} +5 -5
- package/dist/{chunk-I6ESCBY3.js → chunk-TF27Z27K.js} +2 -2
- package/dist/{chunk-JF5LQOGB.js → chunk-U47KRLEW.js} +57 -45
- package/dist/chunk-U47KRLEW.js.map +1 -0
- package/dist/chunk-V4V2N6YJ.js +55 -0
- package/dist/chunk-V4V2N6YJ.js.map +1 -0
- package/dist/{chunk-C67FDYG7.js → chunk-W7N4ORCV.js} +16 -6
- package/dist/chunk-W7N4ORCV.js.map +1 -0
- package/dist/{chunk-JL77BSOL.js → chunk-WBDQSBLV.js} +2 -2
- package/dist/{chunk-G76BNXWE.js → chunk-XW5SEW3H.js} +6 -6
- package/dist/{chunk-46ZATLQV.js → chunk-YIKFYWKD.js} +3 -3
- package/dist/{chunk-4JBS6NOT.js → chunk-ZWBGQYVO.js} +35 -6
- package/dist/chunk-ZWBGQYVO.js.map +1 -0
- package/dist/{chunk-VWW2EXH7.js → chunk-ZYJZHXFU.js} +4 -4
- package/dist/data-display/Avatar.js +2 -2
- package/dist/data-display/Badge.js +2 -2
- package/dist/data-display/CardKit.js +10 -10
- package/dist/data-display/Carousel.js +2 -2
- package/dist/data-display/Chart.js +8 -8
- package/dist/data-display/DataGrid.js +2 -2
- package/dist/data-display/DataViews.js +25 -23
- package/dist/en-US.js +1 -1
- package/dist/layout/ContentToolbar.js +1 -1
- package/dist/locales.js +2 -2
- package/dist/navigation/SectionNav.js +9 -9
- package/dist/pt-BR.js +1 -1
- package/dist/types/components/data-display/Chart/Chart.types.d.ts +5 -0
- package/dist/types/components/data-display/Chart/Chart.types.d.ts.map +1 -1
- package/dist/types/components/data-display/Chart/chart-context.d.ts.map +1 -1
- package/dist/types/components/data-display/Chart/chart-format.d.ts +14 -0
- package/dist/types/components/data-display/Chart/chart-format.d.ts.map +1 -1
- package/dist/types/components/data-display/Chart/chart-spec.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/DataViewsTableBase.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/base-list-card-geometry.d.ts +29 -1
- package/dist/types/components/data-display/DataViews/base-list-card-geometry.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/base-list-card-layout.d.ts +46 -0
- package/dist/types/components/data-display/DataViews/base-list-card-layout.d.ts.map +1 -0
- package/dist/types/components/data-display/DataViews/base-list-card-slots.d.ts +5 -2
- package/dist/types/components/data-display/DataViews/base-list-card-slots.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/base-list-card.d.ts +10 -1
- package/dist/types/components/data-display/DataViews/base-list-card.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-copy.d.ts +7 -0
- package/dist/types/components/data-display/DataViews/data-views-copy.d.ts.map +1 -1
- 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-selection-extra.d.ts +2 -0
- package/dist/types/components/data-display/DataViews/data-views-selection-extra.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-shell-toolbar.d.ts +3 -1
- package/dist/types/components/data-display/DataViews/data-views-shell-toolbar.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-toolbar.d.ts +2 -0
- package/dist/types/components/data-display/DataViews/data-views-toolbar.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-url-echo.d.ts +47 -0
- package/dist/types/components/data-display/DataViews/data-views-url-echo.d.ts.map +1 -0
- package/dist/types/components/data-display/DataViews/list-card-rails.d.ts +17 -2
- package/dist/types/components/data-display/DataViews/list-card-rails.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/ContentToolbar.d.ts +3 -2
- package/dist/types/components/layout/ContentToolbar/ContentToolbar.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts +14 -0
- package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts.map +1 -1
- package/dist/types/en-US.data-display.d.ts.map +1 -1
- package/dist/types/pt-BR.data-display.d.ts.map +1 -1
- package/dist/user-avatar.js +3 -3
- package/package.json +1 -1
- package/src/components/data-display/Chart/Chart.md +5 -1
- package/src/components/data-display/Chart/Chart.types.ts +5 -0
- package/src/components/data-display/Chart/chart-context.ts +21 -1
- package/src/components/data-display/Chart/chart-format.ts +31 -0
- package/src/components/data-display/Chart/chart-renderers.tsx +1 -1
- package/src/components/data-display/Chart/chart-spec.ts +2 -1
- package/src/components/data-display/DataViews/DataViewsTableBase.tsx +7 -36
- package/src/components/data-display/DataViews/base-list-card-geometry.tsx +114 -40
- package/src/components/data-display/DataViews/base-list-card-layout.tsx +104 -0
- package/src/components/data-display/DataViews/base-list-card-slots.tsx +47 -3
- package/src/components/data-display/DataViews/base-list-card.tsx +65 -68
- package/src/components/data-display/DataViews/data-views-copy.ts +7 -0
- package/src/components/data-display/DataViews/data-views-grid-parts.tsx +2 -1
- package/src/components/data-display/DataViews/data-views-selection-extra.ts +10 -1
- package/src/components/data-display/DataViews/data-views-shell-toolbar.tsx +4 -0
- package/src/components/data-display/DataViews/data-views-toolbar.tsx +4 -0
- package/src/components/data-display/DataViews/data-views-url-echo.ts +134 -0
- package/src/components/data-display/DataViews/list-card-rails.tsx +22 -6
- package/src/components/layout/ContentToolbar/ContentToolbar.md +5 -2
- package/src/components/layout/ContentToolbar/ContentToolbar.tsx +51 -10
- package/src/components/layout/ContentToolbar/ContentToolbar.types.ts +14 -0
- package/src/en-US.data-display.ts +1 -0
- package/src/pt-BR.data-display.ts +1 -0
- package/dist/chunk-45PGSVOH.js.map +0 -1
- package/dist/chunk-4JBS6NOT.js.map +0 -1
- package/dist/chunk-A6EUQDRK.js.map +0 -1
- package/dist/chunk-BJMNAPKH.js.map +0 -1
- package/dist/chunk-C67FDYG7.js.map +0 -1
- package/dist/chunk-JF5LQOGB.js.map +0 -1
- package/dist/chunk-KEKOPD43.js.map +0 -1
- package/dist/chunk-LJKWWXZD.js.map +0 -1
- package/dist/chunk-QVWNK4JO.js.map +0 -1
- package/dist/chunk-R6SBP5M5.js.map +0 -1
- package/dist/chunk-RBHBJDOZ.js.map +0 -1
- package/dist/chunk-TZFBJ47T.js.map +0 -1
- /package/dist/{chunk-MKAA3YIJ.js.map → chunk-3K7WN2PO.js.map} +0 -0
- /package/dist/{chunk-GI24X7XA.js.map → chunk-4PPNCZWY.js.map} +0 -0
- /package/dist/{chunk-573XC4HK.js.map → chunk-4QKS5Y35.js.map} +0 -0
- /package/dist/{chunk-N4MR4EMC.js.map → chunk-6D2PFC5C.js.map} +0 -0
- /package/dist/{chunk-ICSXPZXT.js.map → chunk-6QBT5TPS.js.map} +0 -0
- /package/dist/{chunk-53ACGKBW.js.map → chunk-EDBP62WG.js.map} +0 -0
- /package/dist/{chunk-YXIVQFNW.js.map → chunk-EWIKSTJV.js.map} +0 -0
- /package/dist/{chunk-LWZ2K225.js.map → chunk-FXZUVZON.js.map} +0 -0
- /package/dist/{chunk-IK2ZVV3M.js.map → chunk-GK7JNSMK.js.map} +0 -0
- /package/dist/{chunk-HFBQCJNP.js.map → chunk-HCYRCU4W.js.map} +0 -0
- /package/dist/{chunk-7AAJYWC3.js.map → chunk-HPO7PB4F.js.map} +0 -0
- /package/dist/{chunk-WF3P7GE5.js.map → chunk-I3CQBEKS.js.map} +0 -0
- /package/dist/{chunk-RREWYOKS.js.map → chunk-IL4FCC54.js.map} +0 -0
- /package/dist/{chunk-7M3DRP7Q.js.map → chunk-ILNO4ZJ6.js.map} +0 -0
- /package/dist/{chunk-EUPUEMFX.js.map → chunk-PC4H5LVB.js.map} +0 -0
- /package/dist/{chunk-OBMPE6PW.js.map → chunk-SSDYEOU4.js.map} +0 -0
- /package/dist/{chunk-I6ESCBY3.js.map → chunk-TF27Z27K.js.map} +0 -0
- /package/dist/{chunk-JL77BSOL.js.map → chunk-WBDQSBLV.js.map} +0 -0
- /package/dist/{chunk-G76BNXWE.js.map → chunk-XW5SEW3H.js.map} +0 -0
- /package/dist/{chunk-46ZATLQV.js.map → chunk-YIKFYWKD.js.map} +0 -0
- /package/dist/{chunk-VWW2EXH7.js.map → chunk-ZYJZHXFU.js.map} +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { DataViewServer, DataViewState, DataViewSyncState } from "./data-views-types";
|
|
2
|
+
/**
|
|
3
|
+
* A server-mode grid's URL round trip, and the echo it must not re-apply.
|
|
4
|
+
*
|
|
5
|
+
* A server-mode host mirrors the grid's query into its URL and hands it back as
|
|
6
|
+
* `initialState`, which the base turns into `syncState` and MERGES over the live
|
|
7
|
+
* state, so browser back/forward moves the controls. But the browser shows the
|
|
8
|
+
* new URL before React renders it. An edit made in that window, such as
|
|
9
|
+
* clearing a date bound right after typing it, is overwritten when the render
|
|
10
|
+
* carrying the PREVIOUS query lands. The grid then re-emits that stale query,
|
|
11
|
+
* and the cleared filter comes back and sticks in the URL (FUT-3182, the
|
|
12
|
+
* audit trail's "De" bound).
|
|
13
|
+
*
|
|
14
|
+
* So the base records every query it emits. An `initialState` matching one
|
|
15
|
+
* still pending is the host echoing it back, not a navigation, and it is not
|
|
16
|
+
* merged. Anything else (back/forward, a deep link, a host-side reset) still is.
|
|
17
|
+
* A host whose round trip changes the slice's shape never matches, and keeps
|
|
18
|
+
* the old behaviour rather than losing a navigation.
|
|
19
|
+
*/
|
|
20
|
+
/** The URL-carried part of a grid state or query. */
|
|
21
|
+
type UrlSlice = Pick<DataViewState, "search" | "pills" | "ranges" | "sortBy" | "scope">;
|
|
22
|
+
/** One comparable string for a URL slice: empty pills and unbounded ranges left out. */
|
|
23
|
+
export declare function urlSliceKey(slice: UrlSlice): string;
|
|
24
|
+
/**
|
|
25
|
+
* Record what the grid emits, and recognise it coming back.
|
|
26
|
+
*
|
|
27
|
+
* `consumeEcho` answers whether a URL slice is one of the queries still in
|
|
28
|
+
* flight. A match drops it and every older one, since the host has caught up to
|
|
29
|
+
* at least that far; a miss is a navigation and clears the list.
|
|
30
|
+
*/
|
|
31
|
+
export declare function useUrlEchoGuard(server: DataViewServer | undefined): {
|
|
32
|
+
server: DataViewServer | undefined;
|
|
33
|
+
consumeEcho: (slice: UrlSlice) => boolean;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Derive the grid's reactive `syncState` from the URL-seeded `initialState` in
|
|
37
|
+
* server mode, so browser back/forward RE-APPLIES the search/pills/sort controls
|
|
38
|
+
* (merging over live state, preserving hidden columns — see
|
|
39
|
+
* {@link DataViewSyncState}). Client-mode tables (no `server`) get `undefined`.
|
|
40
|
+
*
|
|
41
|
+
* Seeded on the first render, so a deep link shows on mount. After that a new
|
|
42
|
+
* `initialState` reference is re-applied unless it is the grid's own query
|
|
43
|
+
* coming back (`consumeEcho`), which would overwrite an edit made since.
|
|
44
|
+
*/
|
|
45
|
+
export declare function useUrlSyncState(server: DataViewServer | undefined, initialState: DataViewState | undefined, consumeEcho: (slice: UrlSlice) => boolean): DataViewSyncState | undefined;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=data-views-url-echo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-views-url-echo.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-url-echo.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE3F;;;;;;;;;;;;;;;;;GAiBG;AAEH,qDAAqD;AACrD,KAAK,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;AAcxF,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAenD;AAKD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG;IACnE,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC;CAC3C,CAeA;AAkBD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,GAAG,SAAS,EAClC,YAAY,EAAE,aAAa,GAAG,SAAS,EACvC,WAAW,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,GACxC,iBAAiB,GAAG,SAAS,CAc/B"}
|
|
@@ -134,8 +134,23 @@ export declare function railsTemplateFor(gutters: {
|
|
|
134
134
|
}, metaColumns: number): string;
|
|
135
135
|
/** How many rails the named-slot layout has — the span such a card claims. */
|
|
136
136
|
export declare const RAIL_COUNT = 8;
|
|
137
|
-
/**
|
|
138
|
-
|
|
137
|
+
/**
|
|
138
|
+
* Tracks for a cell-configured row: gutters, leading, the cells, then the menu.
|
|
139
|
+
*
|
|
140
|
+
* `gutters` says which of the three head gutters RENDER. A group reserves all
|
|
141
|
+
* three (the default), so every row spans the same tracks. A standalone row
|
|
142
|
+
* renders a gutter only when it uses it, and a track whose slot renders nothing
|
|
143
|
+
* is not a reserved gap: grid auto-placement fills it with the NEXT slot. So the
|
|
144
|
+
* checkbox landed in the disclosure track, the glyph in the drag track, and
|
|
145
|
+
* every cell two tracks early, in a column sized for something else. The named-
|
|
146
|
+
* slot layout already drops absent gutters ({@link railsTemplateFor}); this is
|
|
147
|
+
* the same rule for configured cells.
|
|
148
|
+
*/
|
|
149
|
+
export declare function cellRailsTemplate(cells: readonly string[], gutters?: {
|
|
150
|
+
disclose: boolean;
|
|
151
|
+
drag: boolean;
|
|
152
|
+
select: boolean;
|
|
153
|
+
}): string;
|
|
139
154
|
/** How many tracks such a row spans — the fixed head/tail plus one per cell. */
|
|
140
155
|
export declare function cellRailCount(cells: number): number;
|
|
141
156
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-card-rails.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/list-card-rails.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlE,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACzF,OAAO,EAAkC,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5F;;;;;;;;;;;;;;;;;;GAkBG;AAEH,2EAA2E;AAC3E,MAAM,WAAW,SAAS;IACxB;;;;;;;OAOG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,CAIrF;AAED,eAAO,MAAM,aAAa,EAAE,SAc3B,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,yDAAyD;IACzD,cAAc,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,uDAAuD;AACvD,wBAAgB,YAAY,IAAI,cAAc,GAAG,IAAI,CAEpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAa1D;AAED,gFAAgF;AAChF,KAAK,aAAa,GAAG;KAAG,CAAC,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;CAAE,CAAC;AAErE,qDAAqD;AACrD,eAAO,MAAM,QAAQ,IAAI,CAAC;AAE1B,6DAA6D;AAC7D,eAAO,MAAM,WAAW,QAAe,CAAC;AAExC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,EAC9D,WAAW,EAAE,MAAM,GAClB,MAAM,CAUR;AAED,8EAA8E;AAC9E,eAAO,MAAM,UAAU,IAAI,CAAC;AAY5B
|
|
1
|
+
{"version":3,"file":"list-card-rails.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/list-card-rails.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import type { ContentToolbarProps } from './ContentToolbar.types';
|
|
|
3
3
|
/**
|
|
4
4
|
* Shared toolbar for content pages (Favorites, Personal Space, Recents, …). The
|
|
5
5
|
* left cluster owns selection chrome — **Select All**, and once items are
|
|
6
|
-
* selected, **Clear All** +
|
|
6
|
+
* selected, **Clear All** + the count (`selectedCountLabel`) + an optional `actions`
|
|
7
7
|
* slot. The right cluster is a free `rightControls` slot for page-specific
|
|
8
8
|
* controls (ViewSelector, SortByDropdown, MultiSelectDropdown, FilterTrigger).
|
|
9
9
|
*
|
|
@@ -16,6 +16,7 @@ import type { ContentToolbarProps } from './ContentToolbar.types';
|
|
|
16
16
|
* <ContentToolbar
|
|
17
17
|
* hasSelection={selected.size > 0}
|
|
18
18
|
* selectedCount={selected.size}
|
|
19
|
+
* selectedCountLabel={(n) => `${n} ${n === 1 ? 'selecionado' : 'selecionados'}`}
|
|
19
20
|
* selectAll={selectAll}
|
|
20
21
|
* clearSelection={clear}
|
|
21
22
|
* rightControls={
|
|
@@ -29,5 +30,5 @@ import type { ContentToolbarProps } from './ContentToolbar.types';
|
|
|
29
30
|
* />
|
|
30
31
|
* ```
|
|
31
32
|
*/
|
|
32
|
-
export declare function ContentToolbar({ hasSelection, selectedCount, selectAll, clearSelection, rightControls, leadingControls, actions, selectionExtra, selectAllTestId, clearAllTestId, edgeAlign, exclusiveSelection, selectAllLabel, selectAllText, clearAllText, }: ContentToolbarProps): React.JSX.Element;
|
|
33
|
+
export declare function ContentToolbar({ hasSelection, allSelected, selectedCount, selectedCountLabel, selectAll, clearSelection, rightControls, leadingControls, actions, selectionExtra, selectAllTestId, clearAllTestId, edgeAlign, exclusiveSelection, selectAllLabel, selectAllText, clearAllText, }: ContentToolbarProps): React.JSX.Element;
|
|
33
34
|
//# sourceMappingURL=ContentToolbar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/ContentToolbar/ContentToolbar.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ContentToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/ContentToolbar/ContentToolbar.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAgRlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,cAAc,CAAC,EAC7B,YAAY,EACZ,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,aAAa,EACb,eAAe,EACf,OAAO,EACP,cAAc,EACd,eAAe,EACf,cAAc,EACd,SAAiB,EACjB,kBAA0B,EAC1B,cAAc,EACd,aAAa,EACb,YAAY,GACb,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAoDzC"}
|
|
@@ -14,6 +14,20 @@ export interface ContentToolbarProps {
|
|
|
14
14
|
hasSelection: boolean;
|
|
15
15
|
/** Number of currently selected items. */
|
|
16
16
|
selectedCount: number;
|
|
17
|
+
/**
|
|
18
|
+
* The words for that count — "1 selecionado", "3 selecionados".
|
|
19
|
+
* A function because the noun agrees with the number. REQUIRED: this package
|
|
20
|
+
* ships no default copy, and the English it used to hardcode here was the one
|
|
21
|
+
* string on a pt-BR admin list a host could not replace (FUT-1443).
|
|
22
|
+
*/
|
|
23
|
+
selectedCountLabel: (count: number) => string;
|
|
24
|
+
/**
|
|
25
|
+
* Whether EVERYTHING the select-all box covers is selected. When given, the
|
|
26
|
+
* box reads checked only then, and partial (indeterminate) while just some
|
|
27
|
+
* rows are — as the table's own header checkbox does. Omitted, it keeps
|
|
28
|
+
* reading checked for any selection.
|
|
29
|
+
*/
|
|
30
|
+
allSelected?: boolean;
|
|
17
31
|
/** Select every item on the page. */
|
|
18
32
|
selectAll: () => void;
|
|
19
33
|
/** Clear the current selection. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentToolbar.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/ContentToolbar/ContentToolbar.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContentToolbar.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/layout/ContentToolbar/ContentToolbar.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en-US.data-display.d.ts","sourceRoot":"","sources":["../../src/en-US.data-display.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,iBAAiB,EAClB,MAAM,QAAQ,CAAC;AAQhB,eAAO,MAAM,mBAAmB,EAAE,YAcjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAOlC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,cAOpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAGjC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,iBAUvC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAMnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"en-US.data-display.d.ts","sourceRoot":"","sources":["../../src/en-US.data-display.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,iBAAiB,EAClB,MAAM,QAAQ,CAAC;AAQhB,eAAO,MAAM,mBAAmB,EAAE,YAcjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAOlC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,cAOpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAGjC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,iBAUvC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAMnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aA4LnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pt-BR.data-display.d.ts","sourceRoot":"","sources":["../../src/pt-BR.data-display.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,iBAAiB,EAClB,MAAM,QAAQ,CAAC;AAQhB,eAAO,MAAM,mBAAmB,EAAE,YAcjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAOlC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,cAOpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAGjC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,iBAUvC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAMnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"pt-BR.data-display.d.ts","sourceRoot":"","sources":["../../src/pt-BR.data-display.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,cAAc,EACd,iBAAiB,EAClB,MAAM,QAAQ,CAAC;AAQhB,eAAO,MAAM,mBAAmB,EAAE,YAcjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAOlC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,cAOpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAGjC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,iBAUvC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAMnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAoLnC,CAAC"}
|
package/dist/user-avatar.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
UserAvatar,
|
|
3
3
|
UserMenu
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-TF27Z27K.js";
|
|
5
5
|
import "./chunk-UDQSIRAP.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-3ZVUNSFF.js";
|
|
6
|
+
import "./chunk-XW5SEW3H.js";
|
|
8
7
|
import "./chunk-GYDUXL3D.js";
|
|
9
8
|
import "./chunk-6ZZGK5DT.js";
|
|
9
|
+
import "./chunk-3ZVUNSFF.js";
|
|
10
10
|
import "./chunk-MTEQEPNY.js";
|
|
11
11
|
import "./chunk-VUHLNYAE.js";
|
|
12
12
|
import "./chunk-2GSIEDGN.js";
|
package/package.json
CHANGED
|
@@ -68,6 +68,9 @@ import { Chart } from '@procurement/ui';
|
|
|
68
68
|
- `stacked` (boolean): Stack data series for bar/area charts
|
|
69
69
|
- `showValues` (boolean): Display data values on chart
|
|
70
70
|
- `valueFormatter` (function): Formats tooltip values and value-axis ticks
|
|
71
|
+
- `axisValueFormatter` (function): Formats the value-axis ticks only, when they should read
|
|
72
|
+
shorter than the tooltip; falls back to `valueFormatter`. `SpecChart` sets it, so a `brl`
|
|
73
|
+
axis reads "R$ 180" while the tooltip keeps "R$ 180,00"
|
|
71
74
|
- `allowDecimalTicks` (boolean): Allow half-steps on the value axis (default: true; set
|
|
72
75
|
false for a COUNT metric, or the axis repeats itself — `0, 1, 1, 2, 2`)
|
|
73
76
|
|
|
@@ -97,7 +100,8 @@ axis corner, at every viewport.
|
|
|
97
100
|
- `showLegend` (boolean): Show chart legend (default: true)
|
|
98
101
|
- `showTooltip` (boolean): Show hover tooltips (default: true)
|
|
99
102
|
- `showCartesianGrid` (boolean): Show grid lines (default: true)
|
|
100
|
-
- `margin` (object): Chart margins configuration
|
|
103
|
+
- `margin` (object): Chart margins configuration. A line, bar, area or composed chart
|
|
104
|
+
defaults to no left margin (its value axis sizes itself) unless it has a `yAxisLabel`
|
|
101
105
|
- `colors` (string[]): Custom color palette
|
|
102
106
|
- `responsive` (boolean): Enable responsive behavior (default: true)
|
|
103
107
|
|
|
@@ -64,6 +64,11 @@ export interface ChartProps {
|
|
|
64
64
|
centerLabel?: string | { label: string; value: string | number };
|
|
65
65
|
/** Formats numeric tooltip values and y-axis ticks (e.g. centavos → BRL). */
|
|
66
66
|
valueFormatter?: (value: number) => string;
|
|
67
|
+
/**
|
|
68
|
+
* Formats the value-axis ticks only, when they should read shorter than a
|
|
69
|
+
* tooltip (whole reais without ",00"). Falls back to `valueFormatter`.
|
|
70
|
+
*/
|
|
71
|
+
axisValueFormatter?: (value: number) => string;
|
|
67
72
|
/**
|
|
68
73
|
* Whether the value axis may place ticks between whole numbers. Default true.
|
|
69
74
|
*
|
|
@@ -40,6 +40,26 @@ export interface ChartRenderContext {
|
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
/**
|
|
44
|
+
* The chart types whose value axis sizes itself to its widest tick
|
|
45
|
+
* (`width="auto"`, `cartesianAxes`). Their left margin is only room for a
|
|
46
|
+
* rotated axis TITLE; without one it was 20px of nothing beside the ticks,
|
|
47
|
+
* taken out of the plot on a phone. Pie, radar and scatter keep it: a pie is
|
|
48
|
+
* centred between both margins, and scatter's axis is still fixed-width.
|
|
49
|
+
*/
|
|
50
|
+
const AUTO_WIDTH_VALUE_AXIS: ReadonlySet<NonNullable<ChartProps['type']>> = new Set([
|
|
51
|
+
'line',
|
|
52
|
+
'bar',
|
|
53
|
+
'area',
|
|
54
|
+
'composed',
|
|
55
|
+
]);
|
|
56
|
+
|
|
57
|
+
/** The default left margin in design px — see {@link AUTO_WIDTH_VALUE_AXIS}. */
|
|
58
|
+
function leftMarginDesignPx(props: ChartProps): number {
|
|
59
|
+
const autoWidthAxis = AUTO_WIDTH_VALUE_AXIS.has(props.type ?? 'line');
|
|
60
|
+
return autoWidthAxis && !props.yAxisLabel ? 0 : 20;
|
|
61
|
+
}
|
|
62
|
+
|
|
43
63
|
export function buildChartContext(props: ChartProps, theme: Theme): ChartRenderContext {
|
|
44
64
|
const sizeStyles = getSizeStyles(theme, props.size, props.height);
|
|
45
65
|
const chartColors = getDefaultColors(theme, props.variant ?? 'default', props.colors);
|
|
@@ -72,7 +92,7 @@ export function buildChartContext(props: ChartProps, theme: Theme): ChartRenderC
|
|
|
72
92
|
margin: {
|
|
73
93
|
top: remPx(theme, 20),
|
|
74
94
|
right: remPx(theme, 30),
|
|
75
|
-
left: remPx(theme,
|
|
95
|
+
left: remPx(theme, leftMarginDesignPx(props)),
|
|
76
96
|
bottom: remPx(theme, 20),
|
|
77
97
|
...marginPx(theme, props.margin),
|
|
78
98
|
},
|
|
@@ -24,3 +24,34 @@ export function formatChartValue(value: number, format: ChartNumberFormat = 'dec
|
|
|
24
24
|
export function chartValueFormatter(format?: ChartNumberFormat): (value: number) => string {
|
|
25
25
|
return (value: number) => formatChartValue(value, format);
|
|
26
26
|
}
|
|
27
|
+
|
|
28
|
+
/** Whole reais, for an axis tick that has no centavos to show. */
|
|
29
|
+
const brlWhole = new Intl.NumberFormat('pt-BR', {
|
|
30
|
+
style: 'currency',
|
|
31
|
+
currency: 'BRL',
|
|
32
|
+
minimumFractionDigits: 0,
|
|
33
|
+
maximumFractionDigits: 0,
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Format a value-AXIS tick: {@link formatChartValue}, except that a `brl` tick
|
|
38
|
+
* on a whole real drops its ",00".
|
|
39
|
+
*
|
|
40
|
+
* An axis tick is a gridline's name, not an amount anybody reads to the
|
|
41
|
+
* centavo. Recharts picks round ticks (R$ 45, R$ 90, R$ 135…), so on a phone
|
|
42
|
+
* "R$ 180,00" spent a fifth of the card on two zeros and squeezed the plot it
|
|
43
|
+
* labels to ~160px at 390. A tick that does fall between reais keeps its
|
|
44
|
+
* centavos, so no tick is ever rounded into a value it is not. Tooltips keep
|
|
45
|
+
* the full amount: they ARE read to the centavo.
|
|
46
|
+
*/
|
|
47
|
+
export function formatChartAxisValue(value: number, format: ChartNumberFormat = 'decimal'): string {
|
|
48
|
+
if (format === 'brl' && Number.isFinite(value) && value % 100 === 0) {
|
|
49
|
+
return brlWhole.format(value / 100);
|
|
50
|
+
}
|
|
51
|
+
return formatChartValue(value, format);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** Curried {@link formatChartAxisValue}, memo-friendly for the value axis. */
|
|
55
|
+
export function chartAxisValueFormatter(format?: ChartNumberFormat): (value: number) => string {
|
|
56
|
+
return (value: number) => formatChartAxisValue(value, format);
|
|
57
|
+
}
|
|
@@ -82,7 +82,7 @@ function cartesianAxes(ctx: ChartRenderContext): React.ReactNode[] {
|
|
|
82
82
|
// something.
|
|
83
83
|
width="auto"
|
|
84
84
|
tickMargin={axisConfig.tickMargin}
|
|
85
|
-
tickFormatter={props.valueFormatter}
|
|
85
|
+
tickFormatter={props.axisValueFormatter ?? props.valueFormatter}
|
|
86
86
|
allowDecimals={props.allowDecimalTicks !== false}
|
|
87
87
|
/>,
|
|
88
88
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ChartDataPoint, ChartProps } from './Chart.types';
|
|
2
2
|
import type { ChartSemanticColor, ChartSpec, ChartSpecSeries } from './ChartSpec.types';
|
|
3
|
-
import { chartValueFormatter } from './chart-format';
|
|
3
|
+
import { chartAxisValueFormatter, chartValueFormatter } from './chart-format';
|
|
4
4
|
import {
|
|
5
5
|
getChartSpecRenderer,
|
|
6
6
|
getRegisteredChartSpecTypes,
|
|
@@ -176,6 +176,7 @@ export function specToChartProps(
|
|
|
176
176
|
showTooltip: spec.tooltip ?? true,
|
|
177
177
|
height: spec.height,
|
|
178
178
|
valueFormatter: chartValueFormatter(spec.numberFormat),
|
|
179
|
+
axisValueFormatter: chartAxisValueFormatter(spec.numberFormat),
|
|
179
180
|
// An integer metric is a COUNT: half a row does not exist, so the axis must
|
|
180
181
|
// not offer half-steps it would then round into duplicates (FUT-755).
|
|
181
182
|
allowDecimalTicks: spec.numberFormat !== 'integer',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import type { SortFieldDefinition } from "../../layout/ContentToolbar";
|
|
4
|
-
import { useEffect,
|
|
4
|
+
import { useEffect, useRef, useState } from "react";
|
|
5
5
|
|
|
6
6
|
import { DataViewsGrid } from "./DataViewsGrid";
|
|
7
7
|
import type { SelectionExtraRender } from "./data-views-selection-extra";
|
|
@@ -14,6 +14,7 @@ import type { DataViewExport } from "./data-views-export";
|
|
|
14
14
|
import type { ScopeConfig } from "./data-views-scopes";
|
|
15
15
|
import type { DataViewRowDetail } from "./data-views-row-detail";
|
|
16
16
|
import { ViewDialogs, ViewMutationErrorAlert } from "./data-views-table-parts";
|
|
17
|
+
import { useUrlEchoGuard, useUrlSyncState } from "./data-views-url-echo";
|
|
17
18
|
import {
|
|
18
19
|
useSavedViewsController,
|
|
19
20
|
type SavedViewsController,
|
|
@@ -23,7 +24,6 @@ import {
|
|
|
23
24
|
type DataViewsLayout,
|
|
24
25
|
type DataViewServer,
|
|
25
26
|
type DataViewState,
|
|
26
|
-
type DataViewSyncState,
|
|
27
27
|
type DataViewPersistence,
|
|
28
28
|
type DataViewRouter,
|
|
29
29
|
type FilterFieldConfig,
|
|
@@ -114,38 +114,6 @@ export interface DataViewsTableBaseProps<T extends Record<string, unknown>> {
|
|
|
114
114
|
initialState?: DataViewState;
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
/**
|
|
118
|
-
* Derive the grid's reactive `syncState` from the URL-seeded `initialState` in
|
|
119
|
-
* server mode so browser back/forward RE-APPLIES the search/pills/sort controls
|
|
120
|
-
* (merging over live state, preserving hidden columns — see {@link DataViewSyncState}).
|
|
121
|
-
* Client-mode tables (no `server`) get `undefined`. Callers memoize `initialState`
|
|
122
|
-
* on the URL, so this reference only changes on genuine navigations.
|
|
123
|
-
*/
|
|
124
|
-
function useUrlSyncState(
|
|
125
|
-
server: DataViewServer | undefined,
|
|
126
|
-
initialState: DataViewState | undefined,
|
|
127
|
-
): DataViewSyncState | undefined {
|
|
128
|
-
const isServerMode = server !== undefined;
|
|
129
|
-
return useMemo<DataViewSyncState | undefined>(
|
|
130
|
-
() =>
|
|
131
|
-
isServerMode && initialState
|
|
132
|
-
? {
|
|
133
|
-
search: initialState.search,
|
|
134
|
-
pills: initialState.pills,
|
|
135
|
-
ranges: initialState.ranges,
|
|
136
|
-
sortBy: initialState.sortBy,
|
|
137
|
-
// The scope belongs in the URL-driven slice alongside them: a
|
|
138
|
-
// `?view=recusados`-style deep link and browser back/forward must
|
|
139
|
-
// move the tab strip, and they must do it WITHOUT resetting the
|
|
140
|
-
// user's hidden columns — which is the whole reason this is a
|
|
141
|
-
// merging `syncState` and not a replacing `appliedState`.
|
|
142
|
-
scope: initialState.scope,
|
|
143
|
-
}
|
|
144
|
-
: undefined,
|
|
145
|
-
[isServerMode, initialState],
|
|
146
|
-
);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
117
|
/**
|
|
150
118
|
* Resolve the initial applied view: a `?view=<id>` shortcut (FUT-90) wins, else
|
|
151
119
|
* the user's default view, else none. Drives the seed state + trigger label.
|
|
@@ -294,14 +262,17 @@ export function DataViewsTableBase<T extends Record<string, unknown>>(
|
|
|
294
262
|
dirty,
|
|
295
263
|
onRequestDelete: setPendingDelete,
|
|
296
264
|
});
|
|
297
|
-
// Server-mode lists re-apply URL-derived controls on back/forward (not just
|
|
298
|
-
|
|
265
|
+
// Server-mode lists re-apply URL-derived controls on back/forward (not just
|
|
266
|
+
// the mount seed), but never the grid's own query echoing back through the URL.
|
|
267
|
+
const echo = useUrlEchoGuard(server);
|
|
268
|
+
const syncState = useUrlSyncState(echo.server, initialState, echo.consumeEcho);
|
|
299
269
|
|
|
300
270
|
return (
|
|
301
271
|
<>
|
|
302
272
|
<ViewMutationErrorAlert error={ctl.mutationError} onClose={ctl.clearMutationError} testIdPrefix={testIdPrefix} />
|
|
303
273
|
<DataViewsGrid<T>
|
|
304
274
|
{...props}
|
|
275
|
+
server={echo.server}
|
|
305
276
|
testIdPrefix={testIdPrefix}
|
|
306
277
|
appliedState={ctl.applied}
|
|
307
278
|
syncState={syncState}
|
|
@@ -74,8 +74,90 @@ interface RowSxOptions {
|
|
|
74
74
|
divider: boolean;
|
|
75
75
|
interactive: boolean;
|
|
76
76
|
draggable: boolean;
|
|
77
|
+
/** What the two-line layout below `STACK_BREAK` has to place by name. */
|
|
78
|
+
stack: StackPlacement;
|
|
77
79
|
}
|
|
78
80
|
|
|
81
|
+
/**
|
|
82
|
+
* The slots the stacked row places that the named-slot rules cannot know about.
|
|
83
|
+
*
|
|
84
|
+
* For a CONFIGURED row, `firstCell` is the cell that takes the title's place and
|
|
85
|
+
* `valueCell` the one that takes the value's (null for a named-slot row, or for
|
|
86
|
+
* a one-cell row with no value to show). `expandable` decides whether the
|
|
87
|
+
* disclosure button gets a place or, when it is only a reserved empty gutter,
|
|
88
|
+
* none at all.
|
|
89
|
+
*/
|
|
90
|
+
export interface StackPlacement {
|
|
91
|
+
firstCell: string | null;
|
|
92
|
+
valueCell: string | null;
|
|
93
|
+
expandable: boolean;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/** A `[data-slot="cell-<id>"]` child selector, quoted so any id is safe. */
|
|
97
|
+
const cellSlot = (id: string): string => `& > [data-slot=${JSON.stringify(`cell-${id}`)}]`;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* A configured row, stacked, keeps the SAME two facts a named-slot row keeps:
|
|
101
|
+
* what the record is (the first cell, in the title's place on line 1) and the
|
|
102
|
+
* figure it is about (the value cell, on line 2 from under the title to the
|
|
103
|
+
* right edge, where an `end` cell sits flush right). Every other cell goes, as
|
|
104
|
+
* `meta` goes — a row is a fixed-height scanning unit, and what does not fit
|
|
105
|
+
* belongs in its expandable body.
|
|
106
|
+
*
|
|
107
|
+
* Left to auto-placement these cells had flowed into whatever track was free:
|
|
108
|
+
* a name squeezed beside the glyph, an amount clipped to "R$ …".
|
|
109
|
+
*
|
|
110
|
+
* The hide-all rule comes first and the two named cells after it: the
|
|
111
|
+
* selectors have equal specificity, so the later rule wins for those cells.
|
|
112
|
+
*/
|
|
113
|
+
function stackedCells(stack: StackPlacement): Record<string, unknown> {
|
|
114
|
+
if (stack.firstCell == null) return {};
|
|
115
|
+
return {
|
|
116
|
+
'& > [data-slot^="cell-"]': { display: "none" },
|
|
117
|
+
[cellSlot(stack.firstCell)]: { display: "flex", gridArea: "1 / 3" },
|
|
118
|
+
...(stack.valueCell == null ? {} : { [cellSlot(stack.valueCell)]: { display: "flex", gridArea: "2 / 3 / 3 / 5" } }),
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* TWO-LINE, below the point where the shared rails stop helping.
|
|
124
|
+
*
|
|
125
|
+
* The standard mobile transaction row: what the record IS on the first line,
|
|
126
|
+
* what it COSTS under it at the right edge. Better than
|
|
127
|
+
* truncating four columns into ellipses, and the reason each slot carries a
|
|
128
|
+
* `data-slot` — the placement is explicit rather than whatever order the
|
|
129
|
+
* children happen to be in.
|
|
130
|
+
*
|
|
131
|
+
* [ select ][ leading ][ title …………… ][ menu ]
|
|
132
|
+
* [ (disclose) ] [ (cells) …………… ][ value ]
|
|
133
|
+
*
|
|
134
|
+
* The MENU stays in the top-right corner at every width. It is the row's
|
|
135
|
+
* one fixed landmark — an overflow that moves to the second line on a phone
|
|
136
|
+
* is an overflow nobody finds twice.
|
|
137
|
+
*/
|
|
138
|
+
const stackedRowSx = (inGroup: boolean, railCount: number, stack: StackPlacement): Record<string, unknown> => ({
|
|
139
|
+
gridTemplateColumns: "auto auto minmax(0, 1fr) max-content",
|
|
140
|
+
// The GROUP's track count, which a configured list sets from its cells
|
|
141
|
+
// (`cellRailCount`) — not the named-slot RAIL_COUNT, which over-spans a
|
|
142
|
+
// configured group and adds an implicit track at its end.
|
|
143
|
+
...(inGroup ? { gridColumn: `span ${railCount}` } : {}),
|
|
144
|
+
rowGap: 0.75,
|
|
145
|
+
columnGap: 1,
|
|
146
|
+
'& > [data-slot="drag"]': { display: "none" },
|
|
147
|
+
// The disclosure button, when there is one, under the checkbox: the head of
|
|
148
|
+
// the row, where it sits at every other width — never beside the menu, where
|
|
149
|
+
// it read as an "open" arrow. A reserved empty gutter takes no place at all.
|
|
150
|
+
'& > [data-slot="disclose"]': stack.expandable ? { gridArea: "2 / 1", justifySelf: "center" } : { display: "none" },
|
|
151
|
+
'& > [data-slot="select"]': { gridArea: "1 / 1" },
|
|
152
|
+
'& > [data-slot="leading"]': { gridArea: "1 / 2" },
|
|
153
|
+
'& > [data-slot="caption"]': { gridArea: "1 / 3" },
|
|
154
|
+
'& > [data-slot="actions"]': { gridArea: "1 / 4", justifyContent: "flex-end" },
|
|
155
|
+
'& > [data-slot="meta"]': { display: "none" },
|
|
156
|
+
// Second line, starting under the title rather than under the checkbox.
|
|
157
|
+
'& > [data-slot="value"]': { gridArea: "2 / 4", textAlign: "right" },
|
|
158
|
+
...stackedCells(stack),
|
|
159
|
+
});
|
|
160
|
+
|
|
79
161
|
/**
|
|
80
162
|
* DIVIDER COMPOSES WITH THE VARIANT — it changes the row's SHAPE, not its
|
|
81
163
|
* surface.
|
|
@@ -91,7 +173,7 @@ interface RowSxOptions {
|
|
|
91
173
|
* {@link rowStyles}.
|
|
92
174
|
*/
|
|
93
175
|
export const rowSx = (theme: Theme, opts: RowSxOptions): Record<string, unknown> => {
|
|
94
|
-
const { inGroup, railCount, cellTemplate, gutters, metaColumns, pad, padY, scale, divider, interactive, draggable } = opts;
|
|
176
|
+
const { inGroup, railCount, cellTemplate, gutters, metaColumns, pad, padY, scale, divider, interactive, draggable, stack } = opts;
|
|
95
177
|
return {
|
|
96
178
|
position: "relative",
|
|
97
179
|
borderRadius: CARD_RADIUS,
|
|
@@ -103,13 +185,14 @@ export const rowSx = (theme: Theme, opts: RowSxOptions): Record<string, unknown>
|
|
|
103
185
|
// computed `grid-template-columns: 1222px` on a card asking for subgrid.)
|
|
104
186
|
//
|
|
105
187
|
// So inside a group the GROUP is the query container and the row is the
|
|
106
|
-
// subgrid
|
|
188
|
+
// subgrid. Standalone, the row is its own grid but NOT its own container:
|
|
189
|
+
// a container query matches an ANCESTOR, never the element itself, so a
|
|
190
|
+
// row that was its own container placed its children for two lines while
|
|
191
|
+
// its own template stayed wide. A standalone card renders inside a wrapper
|
|
192
|
+
// that is the container (`BaseListCard`).
|
|
107
193
|
...(inGroup
|
|
108
194
|
? { gridColumn: `span ${railCount}`, gridTemplateColumns: "subgrid" }
|
|
109
|
-
: {
|
|
110
|
-
containerType: "inline-size",
|
|
111
|
-
gridTemplateColumns: cellTemplate ?? railsTemplateFor(gutters, metaColumns),
|
|
112
|
-
}),
|
|
195
|
+
: { gridTemplateColumns: cellTemplate ?? railsTemplateFor(gutters, metaColumns) }),
|
|
113
196
|
alignItems: "center",
|
|
114
197
|
// Wide enough that the meta cluster, the value and the status read as three
|
|
115
198
|
// columns rather than one run of text — the complaint that started all this
|
|
@@ -128,34 +211,8 @@ export const rowSx = (theme: Theme, opts: RowSxOptions): Record<string, unknown>
|
|
|
128
211
|
outlineColor: "primary.main",
|
|
129
212
|
outlineOffset: rem(theme, 2),
|
|
130
213
|
},
|
|
131
|
-
// TWO-LINE
|
|
132
|
-
|
|
133
|
-
// The standard mobile transaction row: what the record IS and what it COST
|
|
134
|
-
// on the first line, the supporting detail on the second. Better than
|
|
135
|
-
// truncating four columns into ellipses, and the reason each slot carries a
|
|
136
|
-
// `data-slot` — the placement is explicit rather than whatever order the
|
|
137
|
-
// children happen to be in.
|
|
138
|
-
//
|
|
139
|
-
// [ select ][ leading ][ title …………… ][ menu ]
|
|
140
|
-
// [ (cells) …………… ][ value ]
|
|
141
|
-
//
|
|
142
|
-
// The MENU stays in the top-right corner at every width. It is the row's
|
|
143
|
-
// one fixed landmark — an overflow that moves to the second line on a phone
|
|
144
|
-
// is an overflow nobody finds twice.
|
|
145
|
-
[`@container (max-width: ${rem(theme, STACK_BREAK)})`]: {
|
|
146
|
-
gridTemplateColumns: "auto auto minmax(0, 1fr) max-content",
|
|
147
|
-
...(inGroup ? { gridColumn: `span ${RAIL_COUNT}` } : {}),
|
|
148
|
-
rowGap: 0.75,
|
|
149
|
-
columnGap: 1,
|
|
150
|
-
'& > [data-slot="drag"]': { display: "none" },
|
|
151
|
-
'& > [data-slot="select"]': { gridArea: "1 / 1" },
|
|
152
|
-
'& > [data-slot="leading"]': { gridArea: "1 / 2" },
|
|
153
|
-
'& > [data-slot="caption"]': { gridArea: "1 / 3" },
|
|
154
|
-
'& > [data-slot="actions"]': { gridArea: "1 / 4", justifyContent: "flex-end" },
|
|
155
|
-
'& > [data-slot="meta"]': { display: "none" },
|
|
156
|
-
// Second line, starting under the title rather than under the checkbox.
|
|
157
|
-
'& > [data-slot="value"]': { gridArea: "2 / 4", textAlign: "right" },
|
|
158
|
-
},
|
|
214
|
+
// TWO-LINE below STACK_BREAK: see {@link stackedRowSx}.
|
|
215
|
+
[`@container (max-width: ${rem(theme, STACK_BREAK)})`]: stackedRowSx(inGroup, railCount, stack),
|
|
159
216
|
...(divider
|
|
160
217
|
? { borderRadius: 0, borderWidth: 0, borderBottomWidth: 1, borderStyle: "solid" }
|
|
161
218
|
: {}),
|
|
@@ -262,23 +319,39 @@ function rowSurface(
|
|
|
262
319
|
return { ...surface, borderBottomColor: theme.palette.divider };
|
|
263
320
|
}
|
|
264
321
|
|
|
322
|
+
/**
|
|
323
|
+
* Which head gutters this row renders: the ones it uses, or all three when its
|
|
324
|
+
* group reserves them. The template is built from this; the three gutter slots
|
|
325
|
+
* (`base-list-card-gutters.tsx`) apply the SAME conditions on their own — keep
|
|
326
|
+
* the two in step, because a template that disagrees with the slots is exactly
|
|
327
|
+
* how cells slid two tracks.
|
|
328
|
+
*/
|
|
329
|
+
export function rowGutters(
|
|
330
|
+
props: BaseListCardProps,
|
|
331
|
+
shell: ReturnType<typeof useRowShell>,
|
|
332
|
+
): { disclose: boolean; drag: boolean; select: boolean } {
|
|
333
|
+
const { selectable, drag, reserve } = shell;
|
|
334
|
+
return {
|
|
335
|
+
disclose: reserve || props.children != null,
|
|
336
|
+
drag: reserve || drag.draggable,
|
|
337
|
+
select: reserve || selectable,
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
|
|
265
341
|
export function rowStyles(
|
|
266
342
|
props: BaseListCardProps,
|
|
267
343
|
shell: ReturnType<typeof useRowShell>,
|
|
268
344
|
cellTemplate: string | null,
|
|
345
|
+
stack: StackPlacement,
|
|
269
346
|
): Record<string, unknown> {
|
|
270
|
-
const { theme, group,
|
|
347
|
+
const { theme, group, drag, pad, padY, scale, acts } = shell;
|
|
271
348
|
return {
|
|
272
349
|
...rowSurface(props, shell),
|
|
273
350
|
...rowSx(theme, {
|
|
274
351
|
inGroup: group !== null,
|
|
275
352
|
railCount: group?.railCount ?? RAIL_COUNT,
|
|
276
353
|
cellTemplate,
|
|
277
|
-
gutters:
|
|
278
|
-
disclose: reserve || props.children != null,
|
|
279
|
-
drag: reserve || drag.draggable,
|
|
280
|
-
select: reserve || selectable,
|
|
281
|
-
},
|
|
354
|
+
gutters: rowGutters(props, shell),
|
|
282
355
|
metaColumns: metaShape(props).columns,
|
|
283
356
|
pad,
|
|
284
357
|
padY,
|
|
@@ -286,6 +359,7 @@ export function rowStyles(
|
|
|
286
359
|
divider: props.divider ?? false,
|
|
287
360
|
interactive: acts || props.href != null,
|
|
288
361
|
draggable: drag.draggable && drag.handleProps === undefined,
|
|
362
|
+
stack,
|
|
289
363
|
}),
|
|
290
364
|
};
|
|
291
365
|
}
|