@12-apps/ui 6.66.1 → 6.67.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/AlertDialog/AlertDialog.js +2 -2
- package/dist/_internal/components/data-display/AlertDialog/AlertDialog.parts.js +1 -1
- package/dist/_internal/components/data-display/Avatar/Avatar.js +4 -4
- package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +7 -7
- package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +7 -7
- 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.js +2 -2
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +31 -28
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +41 -38
- package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +7 -7
- package/dist/_internal/components/data-display/DataViews/base-card.js +2 -2
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +5 -5
- package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +6 -6
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +4 -4
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +8 -8
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-empty.js +5 -3
- 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 +7 -6
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +28 -25
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +11 -5
- package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +8 -3
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +7 -4
- package/dist/_internal/components/data-display/DataViews/data-views-overflow-fields.js +18 -0
- package/dist/_internal/components/data-display/DataViews/data-views-overflow-fields.js.map +1 -0
- package/dist/_internal/components/data-display/DataViews/data-views-overflow.js +6 -2
- package/dist/_internal/components/data-display/DataViews/data-views-quick-chip.js +20 -0
- package/dist/_internal/components/data-display/DataViews/data-views-quick-chip.js.map +1 -0
- package/dist/_internal/components/data-display/DataViews/data-views-quick-types.js +1 -0
- package/dist/_internal/components/data-display/DataViews/data-views-quick-types.js.map +1 -0
- package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +8 -7
- package/dist/_internal/components/data-display/DataViews/data-views-sticky-head.js +21 -0
- package/dist/_internal/components/data-display/DataViews/data-views-sticky-head.js.map +1 -0
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +8 -8
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +7 -6
- package/dist/_internal/components/data-display/DataViews/data-views-types.js +1 -1
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +3 -3
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +3 -3
- package/dist/_internal/components/data-display/DataViews/use-saved-views-controller.js +2 -2
- package/dist/_internal/components/data-display/index.js +21 -21
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +4 -4
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +3 -3
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +5 -5
- package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +4 -4
- package/dist/_internal/components/feedback/index.js +6 -6
- package/dist/_internal/components/index.js +25 -25
- package/dist/_internal/user-avatar/user-avatar.js +5 -5
- package/dist/charts.js +11 -11
- package/dist/{chunk-35L5YMYQ.js → chunk-2QB4WIU5.js} +6 -6
- package/dist/chunk-4IE66GY2.js +89 -0
- package/dist/chunk-4IE66GY2.js.map +1 -0
- package/dist/{chunk-IPCRPGWU.js → chunk-4W6AQFMO.js} +2 -2
- package/dist/{chunk-JYMXYSDP.js → chunk-5CAWRMDX.js} +2 -2
- package/dist/{chunk-UD4R5HMI.js → chunk-5JRAQ4D5.js} +2 -2
- package/dist/{chunk-L7OWFJUU.js → chunk-5RC7WAHH.js} +40 -34
- package/dist/chunk-5RC7WAHH.js.map +1 -0
- package/dist/{chunk-647DEGIU.js → chunk-5WJFCQFN.js} +7 -7
- package/dist/{chunk-FTCJPTDA.js → chunk-62BY4ZUQ.js} +2 -2
- package/dist/{chunk-J4AHFEEV.js → chunk-6QOJEZDH.js} +2 -2
- package/dist/{chunk-K6KBASL2.js → chunk-72L5C74V.js} +2 -2
- package/dist/{chunk-TKLPPAS5.js → chunk-AHNEEFK6.js} +2 -2
- package/dist/chunk-AT6UKTH4.js +129 -0
- package/dist/chunk-AT6UKTH4.js.map +1 -0
- package/dist/{chunk-BI7YMVKZ.js → chunk-B2JSUFDX.js} +2 -2
- package/dist/{chunk-7J5JR33K.js → chunk-BBBHPK2Q.js} +2 -2
- package/dist/{chunk-IQQX3NDO.js → chunk-BGTG7G54.js} +5 -2
- package/dist/chunk-BGTG7G54.js.map +1 -0
- package/dist/{chunk-UZ2CEJOO.js → chunk-CSJ7WNXU.js} +2 -2
- package/dist/{chunk-6QYKZMEE.js → chunk-CSLBRJ7N.js} +40 -25
- package/dist/chunk-CSLBRJ7N.js.map +1 -0
- package/dist/{chunk-LMIOWP6H.js → chunk-D34PZJH3.js} +2 -2
- package/dist/{chunk-SUZLGB5I.js → chunk-E6K2UZGR.js} +3 -3
- package/dist/{chunk-7XSCEHGA.js → chunk-EOQ6EKTS.js} +7 -7
- package/dist/chunk-GCYGVWOI.js +59 -0
- package/dist/chunk-GCYGVWOI.js.map +1 -0
- package/dist/{chunk-7QRUGEGE.js → chunk-GICG3XJK.js} +2 -2
- package/dist/{chunk-AMLHEKSV.js → chunk-HI7JPDD6.js} +5 -5
- package/dist/{chunk-O2P2KTKN.js → chunk-HLYYB4O5.js} +1 -1
- package/dist/chunk-HLYYB4O5.js.map +1 -0
- package/dist/{chunk-KARMRTTM.js → chunk-J2RUDZVJ.js} +7 -7
- package/dist/{chunk-HQCZT6TO.js → chunk-JVOEVTCZ.js} +5 -5
- package/dist/{chunk-VJB63DUM.js → chunk-K3PMMW23.js} +2 -2
- package/dist/{chunk-J6DYHBID.js → chunk-LIN4A2BW.js} +7 -7
- package/dist/{chunk-FXZUVZON.js → chunk-LWZ2K225.js} +6 -6
- package/dist/{chunk-LGCZRKED.js → chunk-NJMAFII4.js} +2 -2
- package/dist/{chunk-FNFDXJWR.js → chunk-P3USTYIO.js} +4 -4
- package/dist/chunk-P3USTYIO.js.map +1 -0
- package/dist/{chunk-MJ6EAND6.js → chunk-Q7BGMLCX.js} +2 -2
- package/dist/{chunk-6ATXOJVQ.js → chunk-QADTI63U.js} +4 -4
- package/dist/{chunk-M6V7Y7CP.js → chunk-QAZLQYSD.js} +3 -3
- package/dist/chunk-QAZLQYSD.js.map +1 -0
- package/dist/{chunk-L6MGAPBX.js → chunk-RCZ4KL2H.js} +5 -3
- package/dist/chunk-RCZ4KL2H.js.map +1 -0
- package/dist/{chunk-SFZHGDRH.js → chunk-RX2XP7V5.js} +2 -2
- package/dist/{chunk-VI6HYB2W.js → chunk-RZCXYKY4.js} +5 -2
- package/dist/chunk-RZCXYKY4.js.map +1 -0
- package/dist/{chunk-YLSSQJZM.js → chunk-T7ZERP7A.js} +30 -2
- package/dist/chunk-T7ZERP7A.js.map +1 -0
- package/dist/{chunk-SB2SEGR6.js → chunk-TIM4PXWN.js} +3 -3
- package/dist/{chunk-Y7YKIIYS.js → chunk-TQXB2OHP.js} +28 -4
- package/dist/chunk-TQXB2OHP.js.map +1 -0
- package/dist/{chunk-3WLS7Z7D.js → chunk-UMOHHWXY.js} +3 -3
- package/dist/{chunk-S4JXSC4D.js → chunk-V6SRBQMN.js} +5 -5
- package/dist/{chunk-JY5YINUH.js → chunk-WQ32YFM5.js} +15 -7
- package/dist/chunk-WQ32YFM5.js.map +1 -0
- package/dist/{chunk-ERA3AEWU.js → chunk-WTGIW7LX.js} +12 -3
- package/dist/chunk-WTGIW7LX.js.map +1 -0
- package/dist/{chunk-2VMIHFMX.js → chunk-WVIJFS5Y.js} +9 -4
- package/dist/chunk-WVIJFS5Y.js.map +1 -0
- package/dist/{chunk-375HTCF2.js → chunk-Y2CCXB7R.js} +18 -2
- package/dist/chunk-Y2CCXB7R.js.map +1 -0
- package/dist/{chunk-33XGC4YU.js → chunk-YEGZIYVM.js} +2 -2
- package/dist/{chunk-TAUCPCNN.js → chunk-YNIOCELQ.js} +2 -2
- package/dist/data-display/AlertDialog.js +2 -2
- package/dist/data-display/Avatar.js +4 -4
- package/dist/data-display/CardKit.js +15 -15
- package/dist/data-display/Carousel.js +2 -2
- package/dist/data-display/Chart.js +11 -11
- package/dist/data-display/DataGrid.js +2 -2
- package/dist/data-display/DataViews.js +50 -47
- package/dist/feedback/ConfirmAction.js +6 -6
- package/dist/types/components/data-display/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/types/components/data-display/AlertDialog/AlertDialog.parts.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/DataViewsGrid.d.ts +15 -1
- package/dist/types/components/data-display/DataViews/DataViewsGrid.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/DataViewsTableBase.d.ts +5 -1
- package/dist/types/components/data-display/DataViews/DataViewsTableBase.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-empty.d.ts +10 -0
- package/dist/types/components/data-display/DataViews/data-views-empty.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-grid-bodies.d.ts +2 -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 +5 -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-inline-bar.d.ts +4 -1
- package/dist/types/components/data-display/DataViews/data-views-inline-bar.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-more-fields.d.ts +10 -1
- package/dist/types/components/data-display/DataViews/data-views-more-fields.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-more-filters.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-overflow-fields.d.ts +56 -0
- package/dist/types/components/data-display/DataViews/data-views-overflow-fields.d.ts.map +1 -0
- package/dist/types/components/data-display/DataViews/data-views-overflow.d.ts +7 -5
- package/dist/types/components/data-display/DataViews/data-views-overflow.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-quick-chip.d.ts +16 -0
- package/dist/types/components/data-display/DataViews/data-views-quick-chip.d.ts.map +1 -0
- package/dist/types/components/data-display/DataViews/data-views-quick-types.d.ts +33 -0
- package/dist/types/components/data-display/DataViews/data-views-quick-types.d.ts.map +1 -0
- package/dist/types/components/data-display/DataViews/data-views-range-types.d.ts +2 -0
- package/dist/types/components/data-display/DataViews/data-views-range-types.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-shell-toolbar.d.ts +11 -6
- 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-sticky-head.d.ts +45 -0
- package/dist/types/components/data-display/DataViews/data-views-sticky-head.d.ts.map +1 -0
- package/dist/types/components/data-display/DataViews/data-views-toolbar.d.ts +6 -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-types.d.ts +7 -4
- package/dist/types/components/data-display/DataViews/data-views-types.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/index.d.ts +1 -1
- package/dist/types/components/data-display/DataViews/index.d.ts.map +1 -1
- package/dist/user-avatar.js +5 -5
- package/package.json +1 -1
- package/src/components/data-display/AlertDialog/AlertDialog.parts.tsx +4 -1
- package/src/components/data-display/AlertDialog/AlertDialog.tsx +3 -0
- package/src/components/data-display/DataViews/DataViewsGrid.tsx +15 -0
- package/src/components/data-display/DataViews/DataViewsTableBase.tsx +5 -0
- package/src/components/data-display/DataViews/RESPONSIVE-BEHAVIOUR.md +50 -0
- package/src/components/data-display/DataViews/data-views-empty.tsx +25 -0
- package/src/components/data-display/DataViews/data-views-grid-bodies.tsx +11 -1
- package/src/components/data-display/DataViews/data-views-grid-parts.tsx +27 -15
- package/src/components/data-display/DataViews/data-views-inline-bar.tsx +24 -1
- package/src/components/data-display/DataViews/data-views-more-fields.tsx +34 -1
- package/src/components/data-display/DataViews/data-views-more-filters.tsx +20 -4
- package/src/components/data-display/DataViews/data-views-overflow-fields.ts +110 -0
- package/src/components/data-display/DataViews/data-views-overflow.ts +58 -36
- package/src/components/data-display/DataViews/data-views-quick-chip.tsx +143 -0
- package/src/components/data-display/DataViews/data-views-quick-types.ts +33 -0
- package/src/components/data-display/DataViews/data-views-range-types.ts +2 -0
- package/src/components/data-display/DataViews/data-views-shell-toolbar.tsx +31 -23
- package/src/components/data-display/DataViews/data-views-sticky-head.ts +132 -0
- package/src/components/data-display/DataViews/data-views-toolbar.tsx +9 -0
- package/src/components/data-display/DataViews/data-views-types.ts +7 -11
- package/src/components/data-display/DataViews/index.ts +1 -0
- package/dist/chunk-2VMIHFMX.js.map +0 -1
- package/dist/chunk-375HTCF2.js.map +0 -1
- package/dist/chunk-6QYKZMEE.js.map +0 -1
- package/dist/chunk-ERA3AEWU.js.map +0 -1
- package/dist/chunk-FNFDXJWR.js.map +0 -1
- package/dist/chunk-IQQX3NDO.js.map +0 -1
- package/dist/chunk-JY5YINUH.js.map +0 -1
- package/dist/chunk-L6MGAPBX.js.map +0 -1
- package/dist/chunk-L7OWFJUU.js.map +0 -1
- package/dist/chunk-M6V7Y7CP.js.map +0 -1
- package/dist/chunk-O2P2KTKN.js.map +0 -1
- package/dist/chunk-VI6HYB2W.js.map +0 -1
- package/dist/chunk-Y7YKIIYS.js.map +0 -1
- package/dist/chunk-YLSSQJZM.js.map +0 -1
- /package/dist/{chunk-35L5YMYQ.js.map → chunk-2QB4WIU5.js.map} +0 -0
- /package/dist/{chunk-IPCRPGWU.js.map → chunk-4W6AQFMO.js.map} +0 -0
- /package/dist/{chunk-JYMXYSDP.js.map → chunk-5CAWRMDX.js.map} +0 -0
- /package/dist/{chunk-UD4R5HMI.js.map → chunk-5JRAQ4D5.js.map} +0 -0
- /package/dist/{chunk-647DEGIU.js.map → chunk-5WJFCQFN.js.map} +0 -0
- /package/dist/{chunk-FTCJPTDA.js.map → chunk-62BY4ZUQ.js.map} +0 -0
- /package/dist/{chunk-J4AHFEEV.js.map → chunk-6QOJEZDH.js.map} +0 -0
- /package/dist/{chunk-K6KBASL2.js.map → chunk-72L5C74V.js.map} +0 -0
- /package/dist/{chunk-TKLPPAS5.js.map → chunk-AHNEEFK6.js.map} +0 -0
- /package/dist/{chunk-BI7YMVKZ.js.map → chunk-B2JSUFDX.js.map} +0 -0
- /package/dist/{chunk-7J5JR33K.js.map → chunk-BBBHPK2Q.js.map} +0 -0
- /package/dist/{chunk-UZ2CEJOO.js.map → chunk-CSJ7WNXU.js.map} +0 -0
- /package/dist/{chunk-LMIOWP6H.js.map → chunk-D34PZJH3.js.map} +0 -0
- /package/dist/{chunk-SUZLGB5I.js.map → chunk-E6K2UZGR.js.map} +0 -0
- /package/dist/{chunk-7XSCEHGA.js.map → chunk-EOQ6EKTS.js.map} +0 -0
- /package/dist/{chunk-7QRUGEGE.js.map → chunk-GICG3XJK.js.map} +0 -0
- /package/dist/{chunk-AMLHEKSV.js.map → chunk-HI7JPDD6.js.map} +0 -0
- /package/dist/{chunk-KARMRTTM.js.map → chunk-J2RUDZVJ.js.map} +0 -0
- /package/dist/{chunk-HQCZT6TO.js.map → chunk-JVOEVTCZ.js.map} +0 -0
- /package/dist/{chunk-VJB63DUM.js.map → chunk-K3PMMW23.js.map} +0 -0
- /package/dist/{chunk-J6DYHBID.js.map → chunk-LIN4A2BW.js.map} +0 -0
- /package/dist/{chunk-FXZUVZON.js.map → chunk-LWZ2K225.js.map} +0 -0
- /package/dist/{chunk-LGCZRKED.js.map → chunk-NJMAFII4.js.map} +0 -0
- /package/dist/{chunk-MJ6EAND6.js.map → chunk-Q7BGMLCX.js.map} +0 -0
- /package/dist/{chunk-6ATXOJVQ.js.map → chunk-QADTI63U.js.map} +0 -0
- /package/dist/{chunk-SFZHGDRH.js.map → chunk-RX2XP7V5.js.map} +0 -0
- /package/dist/{chunk-SB2SEGR6.js.map → chunk-TIM4PXWN.js.map} +0 -0
- /package/dist/{chunk-3WLS7Z7D.js.map → chunk-UMOHHWXY.js.map} +0 -0
- /package/dist/{chunk-S4JXSC4D.js.map → chunk-V6SRBQMN.js.map} +0 -0
- /package/dist/{chunk-33XGC4YU.js.map → chunk-YEGZIYVM.js.map} +0 -0
- /package/dist/{chunk-TAUCPCNN.js.map → chunk-YNIOCELQ.js.map} +0 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHICH CONTROLS THE BAR DECLARES — split from `data-views-overflow` at the
|
|
3
|
+
* file-size gate. That module decides where each control goes; this one only
|
|
4
|
+
* lists them, in the order the bar renders them.
|
|
5
|
+
*/
|
|
6
|
+
import type { OverflowField } from "./data-views-overflow";
|
|
7
|
+
import type { FilterFieldConfig, QuickFilterConfig, RangeFieldConfig, RangeValue } from "./data-views-types";
|
|
8
|
+
/**
|
|
9
|
+
* Every declared control in the order the bar renders them: quick chips first,
|
|
10
|
+
* then pills, then ranges.
|
|
11
|
+
*
|
|
12
|
+
* A pill field a quick chip writes to is NOT a control of its own — the chips
|
|
13
|
+
* stand in for it (see `QuickFilterConfig`) — so it is left out here, and only
|
|
14
|
+
* here: it stays in `fields`, where the active count and saved views read it.
|
|
15
|
+
*/
|
|
16
|
+
export declare function toOverflowFields<T extends Record<string, unknown>>(fields: FilterFieldConfig<T>[], rangeFields: RangeFieldConfig<T>[], quickFilters?: QuickFilterConfig[]): OverflowField<T>[];
|
|
17
|
+
/**
|
|
18
|
+
* Is this quick chip pressed — its one value the field's WHOLE selection?
|
|
19
|
+
*
|
|
20
|
+
* Exactly, not "includes": a field holding two values (from a saved view, the
|
|
21
|
+
* URL or the side panel) is not what either chip applies, and reading both as
|
|
22
|
+
* pressed made pressing one clear the other.
|
|
23
|
+
*/
|
|
24
|
+
export declare function isQuickActive(quick: QuickFilterConfig, pills: Record<string, string[]>): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Is any DECLARED filter applied — a pill value or a bounded range, wherever it
|
|
27
|
+
* is drawn (on the bar, in "Mais", or as a chip)? Only declared ids count: the
|
|
28
|
+
* bar draws "Limpar" on the active count, which ignores a stale key a saved view
|
|
29
|
+
* still carries for a field since removed.
|
|
30
|
+
*/
|
|
31
|
+
export declare function anyApplied<T extends Record<string, unknown>>(all: OverflowField<T>[], pills: Record<string, string[]>, ranges: Record<string, RangeValue>): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Quick chips stay a PREFIX of their declared order on the bar.
|
|
34
|
+
*
|
|
35
|
+
* The keep-what-fits loop skips a control that does not fit and tries the next,
|
|
36
|
+
* which for pills is right (any narrower one is worth the room) and for chips
|
|
37
|
+
* is not: "Zerado" alone on the bar, with "Estoque baixo" in "Mais", reads as a
|
|
38
|
+
* different bar from the one declared. So the first chip that went to "Mais"
|
|
39
|
+
* takes every later chip with it. Their room is NOT re-spent here — `used`
|
|
40
|
+
* drops, and the ladder's later passes can hand it to the furniture.
|
|
41
|
+
*/
|
|
42
|
+
export declare function keepChipsInOrder<T extends Record<string, unknown>>(split: {
|
|
43
|
+
inline: OverflowField<T>[];
|
|
44
|
+
overflow: OverflowField<T>[];
|
|
45
|
+
used: number;
|
|
46
|
+
}, chips: OverflowField<T>[], cost: (field: OverflowField<T>) => number): {
|
|
47
|
+
inline: OverflowField<T>[];
|
|
48
|
+
overflow: OverflowField<T>[];
|
|
49
|
+
used: number;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* A quick chip's press, as a pill write. Exclusive within the field: the chip's
|
|
53
|
+
* value REPLACES the selection, and pressing the pressed chip empties it.
|
|
54
|
+
*/
|
|
55
|
+
export declare function toggleQuick(pills: Record<string, string[]>, quick: QuickFilterConfig): Record<string, string[]>;
|
|
56
|
+
//# sourceMappingURL=data-views-overflow-fields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-views-overflow-fields.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-overflow-fields.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE7G;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAC9B,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAClC,YAAY,GAAE,iBAAiB,EAAO,GACrC,aAAa,CAAC,CAAC,CAAC,EAAE,CAoBpB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAGhG;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1D,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GACjC,OAAO,CAMT;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,KAAK,EAAE;IAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACjF,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EACzB,IAAI,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,GACxC;IAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAU5E;AAID;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAG/G"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { FilterFieldConfig, RangeFieldConfig, RangeValue } from "./data-views-types";
|
|
1
|
+
import type { FilterFieldConfig, QuickFilterConfig, RangeFieldConfig, RangeValue } from "./data-views-types";
|
|
2
|
+
export { isQuickActive, toOverflowFields } from "./data-views-overflow-fields";
|
|
2
3
|
/**
|
|
3
4
|
* PROGRESSIVE COLLAPSE — which filter controls fit on the toolbar, measured.
|
|
4
5
|
*
|
|
@@ -25,14 +26,17 @@ import type { FilterFieldConfig, RangeFieldConfig, RangeValue } from "./data-vie
|
|
|
25
26
|
* Collapsing is presentation only — nothing here emits a query, drops a filter
|
|
26
27
|
* or changes a rendered row.
|
|
27
28
|
*/
|
|
28
|
-
/** A filter control on the bar: a multi-select pill
|
|
29
|
+
/** A filter control on the bar: a multi-select pill, a min/max range or a quick chip. */
|
|
29
30
|
export interface OverflowField<T extends Record<string, unknown>> {
|
|
30
31
|
id: string;
|
|
31
32
|
label: string;
|
|
32
33
|
/** Which control it is — the caller renders the right one. */
|
|
33
|
-
group: "pill" | "range";
|
|
34
|
+
group: "pill" | "range" | "quick";
|
|
34
35
|
pill?: FilterFieldConfig<T>;
|
|
35
36
|
range?: RangeFieldConfig<T>;
|
|
37
|
+
quick?: QuickFilterConfig;
|
|
38
|
+
/** Declared `inMore`: never on the bar, always behind "Mais". */
|
|
39
|
+
pinned?: boolean;
|
|
36
40
|
}
|
|
37
41
|
/** What the caller renders inline, and what goes behind "Mais". */
|
|
38
42
|
export interface OverflowSplit<T extends Record<string, unknown>> {
|
|
@@ -77,8 +81,6 @@ export interface OverflowSplit<T extends Record<string, unknown>> {
|
|
|
77
81
|
/** Attach to the toolbar row being measured. */
|
|
78
82
|
barRef: React.RefObject<HTMLDivElement | null>;
|
|
79
83
|
}
|
|
80
|
-
/** Every declared control, pills first, in the order the bar renders them. */
|
|
81
|
-
export declare function toOverflowFields<T extends Record<string, unknown>>(fields: FilterFieldConfig<T>[], rangeFields: RangeFieldConfig<T>[]): OverflowField<T>[];
|
|
82
84
|
/**
|
|
83
85
|
* Split the declared filter controls into what fits and what goes behind
|
|
84
86
|
* "Mais", measured against the live toolbar width.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-views-overflow.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-overflow.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"data-views-overflow.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-overflow.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAI7G,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,yFAAyF;AACzF,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9D,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAClC,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,mEAAmE;AACnE,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9D,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7B;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;;;;;OAOG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;;;;;OAMG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,cAAc,EAAE,OAAO,CAAC;IACxB,gDAAgD;IAChD,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CAChD;AAoOD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;AAClC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAQ;AACd,iEAAiE;AACjE,SAAS,UAAO,GACf,aAAa,CAAC,CAAC,CAAC,CAmClB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { QuickFilterConfig } from "./data-views-types";
|
|
2
|
+
/** The chip on the toolbar: pressed reads as a filled, inverted pill. */
|
|
3
|
+
export declare function QuickChip({ quick, active, onToggle, testIdPrefix, }: {
|
|
4
|
+
quick: QuickFilterConfig;
|
|
5
|
+
active: boolean;
|
|
6
|
+
onToggle: () => void;
|
|
7
|
+
testIdPrefix: string;
|
|
8
|
+
}): React.JSX.Element;
|
|
9
|
+
/** The same chip inside "Mais": a toggle row, label and count. */
|
|
10
|
+
export declare function QuickRow({ quick, active, onToggle, testIdPrefix, }: {
|
|
11
|
+
quick: QuickFilterConfig;
|
|
12
|
+
active: boolean;
|
|
13
|
+
onToggle: () => void;
|
|
14
|
+
testIdPrefix: string;
|
|
15
|
+
}): React.JSX.Element;
|
|
16
|
+
//# sourceMappingURL=data-views-quick-chip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-views-quick-chip.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-quick-chip.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAO5D,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,YAAY,GACb,EAAE;IACD,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAoDpB;AAED,kEAAkE;AAClE,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,MAAM,EACN,QAAQ,EACR,YAAY,GACb,EAAE;IACD,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAmCpB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The quick-chip model, split from `data-views-types` at the file-size gate.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* A ONE-CLICK FILTER: a toggle chip on the toolbar that applies one value of a
|
|
6
|
+
* declared pill field.
|
|
7
|
+
*
|
|
8
|
+
* A pill is two clicks — open it, tick a value — which is right for a facet
|
|
9
|
+
* with many values and wrong for the one question a page exists to answer
|
|
10
|
+
* ("what is empty on the shelf?"). The chip writes the SAME state a pill would
|
|
11
|
+
* (`pills[fieldId] = [value]`), so the URL, saved views, the active count and
|
|
12
|
+
* "Limpar" treat it as the filter it is; the field it targets is not drawn as a
|
|
13
|
+
* pill anywhere, the chips stand in for it. Chips sharing a `fieldId` are
|
|
14
|
+
* mutually exclusive, and pressing the pressed chip clears it.
|
|
15
|
+
*
|
|
16
|
+
* Chips are on the overflow ladder like every control: they keep the bar ahead
|
|
17
|
+
* of idle pills, and on a row too narrow for them they move into "Mais" as a
|
|
18
|
+
* toggle rather than scrolling the bar sideways.
|
|
19
|
+
*/
|
|
20
|
+
export interface QuickFilterConfig {
|
|
21
|
+
/** Stable id, for the test id and the React key. */
|
|
22
|
+
id: string;
|
|
23
|
+
label: string;
|
|
24
|
+
/** The pill field this chip writes to. Declare it in `fields` too. */
|
|
25
|
+
fieldId: string;
|
|
26
|
+
/** The single value the chip applies. */
|
|
27
|
+
value: string;
|
|
28
|
+
/** How many rows the chip would show, when the host knows. */
|
|
29
|
+
count?: number;
|
|
30
|
+
/** Colours the count: what kind of attention the rows need. */
|
|
31
|
+
tone?: "error" | "warning" | "info" | "success";
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data-views-quick-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-views-quick-types.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-quick-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;CACjD"}
|
|
@@ -56,6 +56,8 @@ interface RangeFieldBase {
|
|
|
56
56
|
* field to suppress the defaults.
|
|
57
57
|
*/
|
|
58
58
|
presets?: RangePreset[];
|
|
59
|
+
/** Never on the bar — always behind "Mais". See `FilterFieldConfig.inMore`. */
|
|
60
|
+
inMore?: boolean;
|
|
59
61
|
}
|
|
60
62
|
/** "Filter by amount": price, stock, margin, order total. */
|
|
61
63
|
export interface NumberRangeFieldConfig<T extends Record<string, unknown>> extends RangeFieldBase {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-views-range-types.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-range-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,kFAAkF;AAClF,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE9C;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,CAAC;CACxC;AAED,UAAU,cAAc;IACtB,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"data-views-range-types.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-range-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,kFAAkF;AAClF,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE9C;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,CAAC;CACxC;AAED,UAAU,cAAc;IACtB,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,cAAc;IAC/F,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,oDAAoD;IACpD,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChD,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,cAAc;IAC5F,IAAI,EAAE,KAAK,CAAC;IACZ,uDAAuD;IACvD,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAC1D,sBAAsB,CAAC,CAAC,CAAC,GACzB,mBAAmB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -2,11 +2,10 @@ import type { DisplayPanelView } from "./data-views-display-panel";
|
|
|
2
2
|
import type { DataViewExport } from "./data-views-export";
|
|
3
3
|
import type { RowAction } from "./data-views-types";
|
|
4
4
|
import type { DataViewsController } from "./use-data-views-state";
|
|
5
|
-
/**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export declare function ShellToolbar<T extends Record<string, unknown>>({ c, rows, testIdPrefix, rowActions, bulkActions, selectionExtra, allOnPageSelected, toolbarRightSlot, showInline, compactControls, counterHidden, sortKinds, displayView, exportConfig, filterControls, barRef, }: {
|
|
5
|
+
/** What the shell hands the toolbar band. */
|
|
6
|
+
interface ShellToolbarProps<T extends Record<string, unknown>> {
|
|
7
|
+
/** Pin the band to the top of the page's scroll area. */
|
|
8
|
+
sticky?: boolean;
|
|
10
9
|
c: DataViewsController<T>;
|
|
11
10
|
rows: T[];
|
|
12
11
|
testIdPrefix: string;
|
|
@@ -28,6 +27,12 @@ export declare function ShellToolbar<T extends Record<string, unknown>>({ c, row
|
|
|
28
27
|
compactControls?: boolean;
|
|
29
28
|
/** Step 5, last resort: drop the counter so the row still fits one line. */
|
|
30
29
|
counterHidden?: boolean;
|
|
31
|
-
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The toolbar band, fed from the controller. Split out of `GridShell` for that
|
|
33
|
+
* function's size budget — it is ~25 props of pure forwarding and nothing else.
|
|
34
|
+
*/
|
|
35
|
+
export declare function ShellToolbar<T extends Record<string, unknown>>({ c, rows, testIdPrefix, rowActions, bulkActions, selectionExtra, allOnPageSelected, toolbarRightSlot, showInline, compactControls, counterHidden, sortKinds, displayView, exportConfig, filterControls, barRef, sticky, }: ShellToolbarProps<T>): React.JSX.Element;
|
|
36
|
+
export {};
|
|
32
37
|
/** Wires the controller into the shared toolbar + filter panel + grid/cards body. */
|
|
33
38
|
//# sourceMappingURL=data-views-shell-toolbar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-views-shell-toolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-shell-toolbar.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE
|
|
1
|
+
{"version":3,"file":"data-views-shell-toolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-shell-toolbar.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,6CAA6C;AAC7C,UAAU,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAE3D,yDAAyD;IACzD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,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,6EAA6E;IAC7E,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,0EAA0E;IAC1E,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4EAA4E;IAC5E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC9D,CAAC,EACD,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,aAAa,EACb,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,EACd,MAAM,EACN,MAAc,GACf,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAwC1C;;AAED,qFAAqF"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE TABLE HEADER THAT FOLLOWS THE PAGE — for `stickyToolbar`.
|
|
3
|
+
*
|
|
4
|
+
* `position: sticky` cannot do this job. A sticky cell sticks inside its
|
|
5
|
+
* nearest scroll container, and the table's is its own wrapper: it scrolls
|
|
6
|
+
* SIDEWAYS (`overflow-x: auto`, so a wide table is never squeezed), which
|
|
7
|
+
* makes it a scroll container on both axes, and it never scrolls vertically —
|
|
8
|
+
* the page does. So the header would stick to a box that never moves. Taking
|
|
9
|
+
* the sideways scroll away to let it stick would trade one defect for another:
|
|
10
|
+
* columns clipped or crushed on every narrow screen.
|
|
11
|
+
*
|
|
12
|
+
* Instead the header cells are TRANSLATED down by however far the page has
|
|
13
|
+
* scrolled the table's top past the sticky toolbar's bottom edge, clamped so
|
|
14
|
+
* the header never leaves its own table. The translation stays inside the
|
|
15
|
+
* table's box, so the wrapper's overflow clips nothing.
|
|
16
|
+
*
|
|
17
|
+
* Driven by the page's scroll (any scroller: a capturing listener on `window`
|
|
18
|
+
* hears every element's scroll event) and by resizes, one frame at a time.
|
|
19
|
+
*/
|
|
20
|
+
import { type RefObject } from "react";
|
|
21
|
+
/** The attribute the shell root carries, so the head can find its own toolbar. */
|
|
22
|
+
export declare const SHELL_ATTR = "data-dv-shell";
|
|
23
|
+
/** The attribute the sticky toolbar carries. */
|
|
24
|
+
export declare const STICKY_BAR_ATTR = "data-dv-sticky-bar";
|
|
25
|
+
/** Spread on the shell root. */
|
|
26
|
+
export declare const SHELL_PROPS: {
|
|
27
|
+
"data-dv-shell": string;
|
|
28
|
+
};
|
|
29
|
+
/** How far the header must move down to sit under `edge` (px), inside its table. */
|
|
30
|
+
export declare function headShift(tableTop: number, tableHeight: number, headHeight: number, edge: number): number;
|
|
31
|
+
/**
|
|
32
|
+
* Stick the toolbar to the VISIBLE top of its scroll area.
|
|
33
|
+
*
|
|
34
|
+
* `top: 0` sticks to the scroll container's content edge, which sits inside
|
|
35
|
+
* its padding: a main pane padded 24px held the bar 24px below the app bar,
|
|
36
|
+
* with rows showing through the gap above it. The bar's `top` is therefore
|
|
37
|
+
* the negative of that padding, read from the live layout (the shell does not
|
|
38
|
+
* know which pane it is in, nor what padding the host gave it).
|
|
39
|
+
*/
|
|
40
|
+
export declare function useStickyBarTop(ref: RefObject<HTMLElement | null>, enabled: boolean): void;
|
|
41
|
+
/** Move every header cell down by `shift` px (0 puts them back), above the rows they cover. */
|
|
42
|
+
export declare function paint(head: HTMLElement, shift: number): void;
|
|
43
|
+
/** Translate the header cells of the table inside `ref` so they follow the page. */
|
|
44
|
+
export declare function useStickyTableHead(ref: RefObject<HTMLElement | null>, enabled: boolean): void;
|
|
45
|
+
//# sourceMappingURL=data-views-sticky-head.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-views-sticky-head.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-sticky-head.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,kFAAkF;AAClF,eAAO,MAAM,UAAU,kBAAkB,CAAC;AAC1C,gDAAgD;AAChD,eAAO,MAAM,eAAe,uBAAuB,CAAC;AACpD,gCAAgC;AAChC,eAAO,MAAM,WAAW;;CAAuB,CAAC;AAEhD,oFAAoF;AACpF,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzG;AAiBD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAiB1F;AAED,+FAA+F;AAC/F,wBAAgB,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAY5D;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAqC7F"}
|
|
@@ -56,6 +56,12 @@ export interface GridToolbarProps<T extends Record<string, unknown>> {
|
|
|
56
56
|
* line instead of spilling outside the toolbar.
|
|
57
57
|
*/
|
|
58
58
|
counterHidden?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Pin the band to the top of the page's scroll area (`stickyToolbar`). It
|
|
61
|
+
* takes the page background so rows scrolling under it do not show through,
|
|
62
|
+
* and sits above the table header that follows it (`useStickyTableHead`).
|
|
63
|
+
*/
|
|
64
|
+
sticky?: boolean;
|
|
59
65
|
}
|
|
60
66
|
/**
|
|
61
67
|
* The bordered toolbar band: selection chrome + Sort By, the result counter, the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-views-toolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-toolbar.tsx"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"data-views-toolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-toolbar.tsx"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAIlE,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,CAAC,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,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,+EAA+E;IAC/E,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,KAAK,GAAG,MAAM,CAAC;IAChC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,aAAa,EAAE,sBAAsB,EAAE,CAAC;IACxC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,kFAAkF;IAClF,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnC,6EAA6E;IAC7E,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC1B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,kFAAkF;IAClF,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,qDAAqD;IACrD,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAgED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6C5G"}
|
|
@@ -113,13 +113,16 @@ export interface FilterFieldConfig<T extends Record<string, unknown>> {
|
|
|
113
113
|
* its values is selected. Defaults to `String(row[id])`.
|
|
114
114
|
*/
|
|
115
115
|
accessor?: (row: T) => string | string[];
|
|
116
|
+
/** Never on the bar, always behind "Mais" (beside quick chips); still counted, saved, cleared. */
|
|
117
|
+
inMore?: boolean;
|
|
116
118
|
}
|
|
117
119
|
/**
|
|
118
|
-
* The range types live in
|
|
119
|
-
* size gate);
|
|
120
|
-
* name every consumer imports the model from.
|
|
120
|
+
* The range and quick-chip types live in their own modules (this file outgrew
|
|
121
|
+
* the size gate); re-exported so `data-views-types` stays the one import.
|
|
121
122
|
*/
|
|
122
|
-
export type {
|
|
123
|
+
export type { QuickFilterConfig } from "./data-views-quick-types";
|
|
124
|
+
export type { DayRangeFieldConfig, NumberRangeFieldConfig, RangeFieldConfig } from "./data-views-range-types";
|
|
125
|
+
export type { RangeFieldKind, RangePreset, RangeValue } from "./data-views-range-types";
|
|
123
126
|
/** A grid column that can join the search scan and the column-visibility menu. */
|
|
124
127
|
export interface DataViewColumn<T extends Record<string, unknown>> extends GridColumn<T> {
|
|
125
128
|
/** Included in "search across all columns" (needs a resolvable value). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-views-types.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D;;;;;GAKG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1D,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClC;;;;OAIG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,kEAAkE;IAClE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wDAAwD;IACxD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,uEAAuE;IACvE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;CACjC;AAED,kFAAkF;AAClF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,gGAAgG;IAChG,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAE9E,yFAAyF;AACzF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAe9D,CAAC;AAEF,iDAAiD;AACjD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,qEAAqE;AACrE,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE,uEAAuE;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,UAAU,CAAC;IACpD;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"data-views-types.d.ts","sourceRoot":"","sources":["../../../../../src/components/data-display/DataViews/data-views-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ export { DataViewsBoard, type BoardConfig, type BoardGroup } from "./DataViewsBo
|
|
|
20
20
|
export type { DataViewExport, DataViewExportFormat, DataViewExportRequest, } from "./data-views-export";
|
|
21
21
|
export type { SelectionExtraContext, SelectionExtraRender } from "./data-views-selection-extra";
|
|
22
22
|
export { DataViewsScopeTabs, resolveScope, assertNoScopePillOverlap, type ScopeConfig, } from "./data-views-scopes";
|
|
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";
|
|
23
|
+
export type { RowAction, DataViewCardSelection, CardAspectRatio, SavedViewSummary, DataViewState, DataViewSyncState, DataViewsLayout, DataViewColumn, FilterFieldConfig, QuickFilterConfig, 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
26
|
export type { DataViewRowDetail } from "./data-views-row-detail";
|
|
@@ -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;AAC3B,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,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,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"}
|
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-Q7BGMLCX.js";
|
|
5
5
|
import "./chunk-UDQSIRAP.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-7XSCEHGA.js";
|
|
8
|
-
import "./chunk-MTEQEPNY.js";
|
|
9
|
-
import "./chunk-6ZZGK5DT.js";
|
|
6
|
+
import "./chunk-J2RUDZVJ.js";
|
|
10
7
|
import "./chunk-3ZVUNSFF.js";
|
|
8
|
+
import "./chunk-EOQ6EKTS.js";
|
|
9
|
+
import "./chunk-6ZZGK5DT.js";
|
|
10
|
+
import "./chunk-MTEQEPNY.js";
|
|
11
11
|
import "./chunk-VUHLNYAE.js";
|
|
12
12
|
import "./chunk-2GSIEDGN.js";
|
|
13
13
|
import "./chunk-W2RXXF7K.js";
|
package/package.json
CHANGED
|
@@ -39,7 +39,10 @@ const StyledDialogActions = styled(DialogActions, {
|
|
|
39
39
|
flexWrap: 'wrap-reverse',
|
|
40
40
|
columnGap: theme.spacing(2),
|
|
41
41
|
rowGap: theme.spacing(1),
|
|
42
|
-
|
|
42
|
+
// A 40px tap target, the floor the kit's own Button keeps (FUT-3269): MUI's
|
|
43
|
+
// medium button is 37px, short of it on a phone.
|
|
44
|
+
'& > .MuiButton-root': { minHeight: rem(theme, 40) },
|
|
45
|
+
...(fill && { '& > .MuiButton-root': { flexGrow: 1, minHeight: rem(theme, 40) } }),
|
|
43
46
|
}));
|
|
44
47
|
|
|
45
48
|
const confirmButtonColor = (variant: AlertDialogProps['variant']): 'error' | 'primary' =>
|
|
@@ -141,6 +141,9 @@ const CloseButton = styled(IconButton)(({ theme }) => ({
|
|
|
141
141
|
position: 'absolute',
|
|
142
142
|
right: theme.spacing(1),
|
|
143
143
|
top: theme.spacing(1),
|
|
144
|
+
// 40px, not the small IconButton's 34: the floor a phone's tap needs (FUT-3269).
|
|
145
|
+
width: rem(theme, 40),
|
|
146
|
+
height: rem(theme, 40),
|
|
144
147
|
color: neutralTones(theme).muted,
|
|
145
148
|
}));
|
|
146
149
|
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
type DataViewState,
|
|
20
20
|
type DataViewSyncState,
|
|
21
21
|
type FilterFieldConfig,
|
|
22
|
+
type QuickFilterConfig,
|
|
22
23
|
type RangeFieldConfig,
|
|
23
24
|
type RowAction,
|
|
24
25
|
} from "./data-views-types";
|
|
@@ -184,6 +185,20 @@ interface DataViewsGridProps<T extends Record<string, unknown>> {
|
|
|
184
185
|
inlineFilters?: boolean;
|
|
185
186
|
/** Keep the inline search visible with no filter fields and no active search. */
|
|
186
187
|
alwaysShowSearch?: boolean;
|
|
188
|
+
/**
|
|
189
|
+
* One-click filters drawn as toggle chips at the head of the toolbar, each
|
|
190
|
+
* applying one value of a declared pill field. See {@link QuickFilterConfig}.
|
|
191
|
+
*/
|
|
192
|
+
quickFilters?: QuickFilterConfig[];
|
|
193
|
+
/**
|
|
194
|
+
* Pin the toolbar to the top of the page's scroll area, and the table's
|
|
195
|
+
* header row right under it, while the rows scroll past. For a list that IS
|
|
196
|
+
* the page: what sits above the grid (title, summaries, notices) scrolls
|
|
197
|
+
* away, and the controls and column names stay in reach. The table keeps its
|
|
198
|
+
* own sideways scroll, which is why the header follows the page scroll
|
|
199
|
+
* rather than relying on `position: sticky` (see `useStickyTableHead`).
|
|
200
|
+
*/
|
|
201
|
+
stickyToolbar?: boolean;
|
|
187
202
|
/** Server-mode wiring; when set the grid is backend-driven (no client filter/sort/paginate). */
|
|
188
203
|
server?: DataViewServer;
|
|
189
204
|
}
|
|
@@ -27,6 +27,7 @@ import {
|
|
|
27
27
|
type DataViewPersistence,
|
|
28
28
|
type DataViewRouter,
|
|
29
29
|
type FilterFieldConfig,
|
|
30
|
+
type QuickFilterConfig,
|
|
30
31
|
type RangeFieldConfig,
|
|
31
32
|
type DataViewCardSelection,
|
|
32
33
|
type RowAction,
|
|
@@ -115,6 +116,10 @@ export interface DataViewsTableBaseProps<T extends Record<string, unknown>> {
|
|
|
115
116
|
inlineFilters?: boolean;
|
|
116
117
|
/** Keep the inline search visible with no filter fields and no active search. */
|
|
117
118
|
alwaysShowSearch?: boolean;
|
|
119
|
+
/** One-click toggle chips at the head of the toolbar — see `QuickFilterConfig`. */
|
|
120
|
+
quickFilters?: QuickFilterConfig[];
|
|
121
|
+
/** Pin the toolbar and the table header while the page scrolls — see `DataViewsGrid`. */
|
|
122
|
+
stickyToolbar?: boolean;
|
|
118
123
|
/** Server-mode wiring (FUT-180): backend-driven rows/total + re-fetch. Omit for client mode. */
|
|
119
124
|
server?: DataViewServer;
|
|
120
125
|
/** Seed the initial view state (search/pills/ranges/sort) from the URL when no saved view applies. */
|
|
@@ -284,3 +284,53 @@ overflow, and how anything looks. Those are verified in a real browser against
|
|
|
284
284
|
the running Storybook, at 1600 / 1280 / 1024 / 900 / 768 / 600 / 500 / 430 / 390
|
|
285
285
|
/ 360 / 320, measured on the toolbar row, the filter cluster's own scroll box,
|
|
286
286
|
and the document.
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## Quick chips and `inMore` fields
|
|
291
|
+
|
|
292
|
+
`quickFilters` puts one-click toggle chips at the head of the bar, each applying
|
|
293
|
+
ONE value of a declared pill field (`pills[fieldId] = [value]`). The field they
|
|
294
|
+
write to is not drawn as a pill: the chips stand in for it. Everything else —
|
|
295
|
+
the counter, "Limpar", saved views, the URL — treats a pressed chip as the
|
|
296
|
+
filter it is.
|
|
297
|
+
|
|
298
|
+
Chips are on the ladder like any control. They rank ahead of idle pills for the
|
|
299
|
+
bar's slots, and on a row with no room they move into "Mais" as a toggle row
|
|
300
|
+
with the same label and count — never a sideways-scrolling strip, which the one
|
|
301
|
+
rule above forbids. A pressed chip in "Mais" counts towards the trigger's
|
|
302
|
+
applied badge.
|
|
303
|
+
|
|
304
|
+
`inMore: true` on a pill or range field keeps it off the bar at every width: it
|
|
305
|
+
is behind "Mais" from the start, so "Mais" is always drawn. Use it beside quick
|
|
306
|
+
chips, so the daily question is not crowded by the facets that are not.
|
|
307
|
+
|
|
308
|
+
Chips keep their slots: they rank ahead of everything in their DECLARED order
|
|
309
|
+
whatever is pressed — ahead of APPLIED pills too, which reverses the "applied
|
|
310
|
+
first" rule for them: a chip is the page's fixed question, and an applied pill
|
|
311
|
+
in "Mais" still shows in the trigger's applied badge — stay a prefix of that order (never the second without the
|
|
312
|
+
first). Pressing one adds "Limpar", which can cost room: what leaves the bar is
|
|
313
|
+
an idle pill first, or the chips together — never one chip swapped for another
|
|
314
|
+
under the hand that pressed it. A chip reads as pressed
|
|
315
|
+
only when its value is the field's WHOLE selection.
|
|
316
|
+
|
|
317
|
+
Both are inline-bar features: in the classic slide-in panel (`inlineFilters`
|
|
318
|
+
off) there is no bar, and the chips' field is drawn as its ordinary pill.
|
|
319
|
+
|
|
320
|
+
`data-views-quick-filters.test.tsx` and `data-views-quick-filters-measured.test.tsx` pin both; **QuickFiltersSticky** in
|
|
321
|
+
`data-views-table.stories.tsx` shows them.
|
|
322
|
+
|
|
323
|
+
## The sticky toolbar
|
|
324
|
+
|
|
325
|
+
`stickyToolbar` pins the toolbar band to the visible top of the page's scroll
|
|
326
|
+
area, and the table's header row right under it, while what is above the grid
|
|
327
|
+
scrolls away. Two details make it work on a real page:
|
|
328
|
+
|
|
329
|
+
- **The bar's `top` is the negative of the scroll container's top padding**,
|
|
330
|
+
read from the live layout (`useStickyBarTop`). `top: 0` sticks to the content
|
|
331
|
+
edge, inside the padding, which left a padded pane showing rows above the bar.
|
|
332
|
+
- **The header is translated, not `position: sticky`** (`useStickyTableHead`).
|
|
333
|
+
The table keeps its own sideways scroll, which makes its wrapper a scroll
|
|
334
|
+
container that never scrolls vertically, so a sticky cell would stick to a box
|
|
335
|
+
that never moves. The cells follow the page by `translateY`, clamped inside
|
|
336
|
+
their own table.
|
|
@@ -9,6 +9,7 @@ import { sxRem } from "../../../tokens/relative";
|
|
|
9
9
|
import { Text } from "../../typography/Text";
|
|
10
10
|
|
|
11
11
|
import { useDataViewsCopy } from "./data-views-copy-context";
|
|
12
|
+
import type { DataViewsController } from "./use-data-views-state";
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* TWO EMPTY STATES, NOT ONE.
|
|
@@ -93,3 +94,27 @@ export function DataViewsEmpty({
|
|
|
93
94
|
</Box>
|
|
94
95
|
);
|
|
95
96
|
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* The grid renders the FILTERED empty state itself — it is the only party that
|
|
100
|
+
* knows a filter is applied. See {@link DataViewsEmpty}.
|
|
101
|
+
*/
|
|
102
|
+
export function ShellEmpty<T extends Record<string, unknown>>({
|
|
103
|
+
c,
|
|
104
|
+
emptyState,
|
|
105
|
+
testIdPrefix,
|
|
106
|
+
}: {
|
|
107
|
+
c: DataViewsController<T>;
|
|
108
|
+
emptyState?: React.ReactNode;
|
|
109
|
+
testIdPrefix: string;
|
|
110
|
+
}): React.JSX.Element {
|
|
111
|
+
return (
|
|
112
|
+
<DataViewsEmpty
|
|
113
|
+
filtered={c.activeFilterCount > 0 || c.state.search !== ""}
|
|
114
|
+
onClearFilters={() => c.patch({ search: "", pills: {}, ranges: {} })}
|
|
115
|
+
emptyState={emptyState}
|
|
116
|
+
testIdPrefix={testIdPrefix}
|
|
117
|
+
/>
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
|