@object-ui/plugin-list 6.2.3 → 7.1.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/CHANGELOG.md +123 -0
- package/dist/{packages/plugin-list/src/ListView.d.ts → ListView.d.ts} +5 -1
- package/dist/ListView.d.ts.map +1 -0
- package/dist/{packages/plugin-list/src/ObjectGallery.d.ts → ObjectGallery.d.ts} +1 -1
- package/dist/ObjectGallery.d.ts.map +1 -0
- package/dist/UserFilters.d.ts +43 -0
- package/dist/UserFilters.d.ts.map +1 -0
- package/dist/{packages/plugin-list/src/ViewSwitcher.d.ts → ViewSwitcher.d.ts} +8 -1
- package/dist/ViewSwitcher.d.ts.map +1 -0
- package/dist/components/TabBar.d.ts.map +1 -0
- package/dist/{packages/plugin-list/src/components → components}/ViewSettingsPopover.d.ts +2 -1
- package/dist/components/ViewSettingsPopover.d.ts.map +1 -0
- package/dist/index.d.ts +14 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1253 -1052
- package/dist/index.umd.cjs +2 -2
- package/package.json +21 -21
- package/dist/packages/plugin-list/src/ListView.d.ts.map +0 -1
- package/dist/packages/plugin-list/src/ListView.stories.d.ts +0 -24
- package/dist/packages/plugin-list/src/ListView.stories.d.ts.map +0 -1
- package/dist/packages/plugin-list/src/ObjectGallery.d.ts.map +0 -1
- package/dist/packages/plugin-list/src/UserFilters.d.ts +0 -23
- package/dist/packages/plugin-list/src/UserFilters.d.ts.map +0 -1
- package/dist/packages/plugin-list/src/ViewSwitcher.d.ts.map +0 -1
- package/dist/packages/plugin-list/src/components/TabBar.d.ts.map +0 -1
- package/dist/packages/plugin-list/src/components/ViewSettingsPopover.d.ts.map +0 -1
- package/dist/packages/plugin-list/src/index.d.ts +0 -13
- package/dist/packages/plugin-list/src/index.d.ts.map +0 -1
- /package/dist/{packages/plugin-list/src/components → components}/TabBar.d.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,128 @@
|
|
|
1
1
|
# @object-ui/plugin-list
|
|
2
2
|
|
|
3
|
+
## 7.1.0
|
|
4
|
+
|
|
5
|
+
## 7.0.0
|
|
6
|
+
|
|
7
|
+
### Minor Changes
|
|
8
|
+
|
|
9
|
+
- 053c948: feat: ADR-0047 — interface pages, visualization switcher, and Airtable-parity filters
|
|
10
|
+
|
|
11
|
+
End-user interface/list pages reach full rendering and authoring parity:
|
|
12
|
+
|
|
13
|
+
- **Spec tabs + visualization switcher** — `ObjectView` now forwards
|
|
14
|
+
`viewDef.tabs` (stored/served but never rendered) and `viewDef.appearance`
|
|
15
|
+
(`allowedVisualizations` whitelist), turning on the dormant `ViewSwitcher` when
|
|
16
|
+
more than one type is whitelisted; effective options = author whitelist ∩
|
|
17
|
+
capability-resolvable types (kanban needs `groupBy`, calendar a date field, …).
|
|
18
|
+
`ListView` accepts the canonical `ViewFilterRule[]` tab-filter shape.
|
|
19
|
+
- **User filters** — render only when `userFilters` is explicitly configured;
|
|
20
|
+
selections (dropdown values + active tab) mirror into `uf_*` URL params and
|
|
21
|
+
restore on load, so filtered lists survive reload and are shareable.
|
|
22
|
+
- **Toolbar polish** — the visualization switcher becomes a compact right-side
|
|
23
|
+
"Grid ▾" dropdown inside the tool cluster (no extra row); filter tabs and
|
|
24
|
+
dropdown filters are mutually exclusive.
|
|
25
|
+
- **Studio authoring** — a usable, schema-driven interface-page inspector
|
|
26
|
+
(collapsible sections honoured, array-of-enum → multi-select, a None/Tabs/
|
|
27
|
+
Dropdown `filter-mode` selector where None maps to ABSENCE of `userFilters`),
|
|
28
|
+
and the Design/Preview tabs render the live list via `InterfaceListPage`
|
|
29
|
+
(including a non-empty grid when the source view is hollow).
|
|
30
|
+
|
|
31
|
+
- 4eb9cb6: feat(plugin-tree): add a `tree` / tree-grid object view type
|
|
32
|
+
|
|
33
|
+
Renders a self-referencing object as an indented, expand/collapse tree-grid —
|
|
34
|
+
the right view for arbitrary-depth hierarchies (business unit / org chart,
|
|
35
|
+
category trees, BOMs, nested comments) that fixed-depth grouping can't express.
|
|
36
|
+
New `@object-ui/plugin-tree` package (`object-tree`/`tree`), `tree` added to the
|
|
37
|
+
`ViewType` union, and dispatch wired through plugin-list `ListView` +
|
|
38
|
+
app-shell `ObjectView` (the console path).
|
|
39
|
+
|
|
40
|
+
### Patch Changes
|
|
41
|
+
|
|
42
|
+
- 053c948: fix(plugin-list): gate speculative `$select` fields by the object's real schema
|
|
43
|
+
|
|
44
|
+
A list view auto-includes view-binding fields (kanban `groupBy`, calendar/gantt/
|
|
45
|
+
timeline dates, gallery image, timeline status/priority) in `$select` so
|
|
46
|
+
alternate view modes render populated. These were added unconditionally on the
|
|
47
|
+
assumption that "the projection ignores unknown names" — but some backends
|
|
48
|
+
(notably the cloud multi-tenant runtime) reject an unknown `$select` column with
|
|
49
|
+
an EMPTY result set, so a single phantom field zeroed the whole list (an AI-built
|
|
50
|
+
`product` view requesting `status`/`due_date`/`image` showed "no data" though
|
|
51
|
+
rows existed). The speculative additions now go through `addSpeculative()`, which
|
|
52
|
+
keeps only fields present in the object schema; user-declared columns and expand
|
|
53
|
+
roots are untouched.
|
|
54
|
+
|
|
55
|
+
- db8cd00: feat(app-shell): global settle signal (window.\_\_objectui) + region aria-busy (ADR-0054 Phase 3)
|
|
56
|
+
|
|
57
|
+
Adds a single machine-readable "is the app idle?" predicate (ADR-0054 C5). The
|
|
58
|
+
data layer wraps the adapter's `fetch` to count in-flight requests, mirrored onto
|
|
59
|
+
`window.__objectui` with live `idle` / `pendingRequests` getters plus `whenIdle()`
|
|
60
|
+
and `subscribe()`. New `useSettleSignal()` React hook and lower-level exports
|
|
61
|
+
(`getPendingRequests`, `subscribeSettle`, `whenIdle`, `withSettleSignal`,
|
|
62
|
+
`installSettleSignalGlobal`). The list view and record-picker results regions now
|
|
63
|
+
set `aria-busy` while fetching and `data-state="loading|idle"` for region-level
|
|
64
|
+
waiting. Lets an automated (AI) driver wait for settle instead of hardcoding
|
|
65
|
+
timeouts.
|
|
66
|
+
|
|
67
|
+
- Updated dependencies [5976ba3]
|
|
68
|
+
- Updated dependencies [a00e16d]
|
|
69
|
+
- Updated dependencies [eaccefd]
|
|
70
|
+
- Updated dependencies [f7f325d]
|
|
71
|
+
- Updated dependencies [c12986e]
|
|
72
|
+
- Updated dependencies [71d7ce0]
|
|
73
|
+
- Updated dependencies [053c948]
|
|
74
|
+
- Updated dependencies [89e113c]
|
|
75
|
+
- Updated dependencies [ddbe4a2]
|
|
76
|
+
- Updated dependencies [2d47e94]
|
|
77
|
+
- Updated dependencies [9049bbe]
|
|
78
|
+
- Updated dependencies [77cc6bb]
|
|
79
|
+
- Updated dependencies [6c0c92c]
|
|
80
|
+
- Updated dependencies [97c6831]
|
|
81
|
+
- Updated dependencies [cb2fdb1]
|
|
82
|
+
- Updated dependencies [c3749eb]
|
|
83
|
+
- Updated dependencies [c09f44e]
|
|
84
|
+
- Updated dependencies [6cfa330]
|
|
85
|
+
- Updated dependencies [ad8ade6]
|
|
86
|
+
- Updated dependencies [d54346c]
|
|
87
|
+
- Updated dependencies [5332639]
|
|
88
|
+
- Updated dependencies [3870c20]
|
|
89
|
+
- Updated dependencies [2eb3096]
|
|
90
|
+
- Updated dependencies [b88c560]
|
|
91
|
+
- Updated dependencies [0ad72a6]
|
|
92
|
+
- Updated dependencies [bd398df]
|
|
93
|
+
- Updated dependencies [3fa23a7]
|
|
94
|
+
- Updated dependencies [18d0339]
|
|
95
|
+
- Updated dependencies [66ed3ad]
|
|
96
|
+
- Updated dependencies [c6445b6]
|
|
97
|
+
- Updated dependencies [80c133c]
|
|
98
|
+
- Updated dependencies [5e1b838]
|
|
99
|
+
- Updated dependencies [59b6bbb]
|
|
100
|
+
- Updated dependencies [d16566f]
|
|
101
|
+
- Updated dependencies [90acb7f]
|
|
102
|
+
- Updated dependencies [7913390]
|
|
103
|
+
- Updated dependencies [514f426]
|
|
104
|
+
- Updated dependencies [1394e34]
|
|
105
|
+
- Updated dependencies [e95cc25]
|
|
106
|
+
- Updated dependencies [abe8ebc]
|
|
107
|
+
- Updated dependencies [300d755]
|
|
108
|
+
- Updated dependencies [bd8b054]
|
|
109
|
+
- Updated dependencies [4eb9cb6]
|
|
110
|
+
- Updated dependencies [7c239fd]
|
|
111
|
+
- Updated dependencies [858ad94]
|
|
112
|
+
- Updated dependencies [2270239]
|
|
113
|
+
- Updated dependencies [db8cd00]
|
|
114
|
+
- Updated dependencies [2f31406]
|
|
115
|
+
- Updated dependencies [18728c1]
|
|
116
|
+
- Updated dependencies [8d1195d]
|
|
117
|
+
- @object-ui/core@7.0.0
|
|
118
|
+
- @object-ui/components@7.0.0
|
|
119
|
+
- @object-ui/react@7.0.0
|
|
120
|
+
- @object-ui/i18n@7.0.0
|
|
121
|
+
- @object-ui/types@7.0.0
|
|
122
|
+
- @object-ui/fields@7.0.0
|
|
123
|
+
- @object-ui/mobile@7.0.0
|
|
124
|
+
- @object-ui/permissions@7.0.0
|
|
125
|
+
|
|
3
126
|
## 6.2.3
|
|
4
127
|
|
|
5
128
|
## 6.2.2
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ViewType } from './ViewSwitcher';
|
|
2
|
-
import { ListViewSchema } from '
|
|
2
|
+
import { ListViewSchema } from '@object-ui/types';
|
|
3
3
|
/**
|
|
4
4
|
* ObjectUI
|
|
5
5
|
* Copyright (c) 2024-present ObjectStack Inc.
|
|
@@ -26,6 +26,10 @@ export interface ListViewProps {
|
|
|
26
26
|
onRowClick?: (record: Record<string, unknown>) => void;
|
|
27
27
|
/** Show view type switcher (Grid/Kanban/etc). Default: false (view type is fixed) */
|
|
28
28
|
showViewSwitcher?: boolean;
|
|
29
|
+
/** Initial user-filter selections to restore (field → values; `_tab` for the active preset). */
|
|
30
|
+
userFilterSelections?: Record<string, Array<string | number | boolean>>;
|
|
31
|
+
/** Fires with the raw user-filter selections whenever the user changes them. */
|
|
32
|
+
onUserFilterSelectionsChange?: (selections: Record<string, Array<string | number | boolean>>) => void;
|
|
29
33
|
[key: string]: any;
|
|
30
34
|
}
|
|
31
35
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../src/ListView.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAwB,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAKhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMvD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAClD,4EAA4E;IAC5E,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7F,uEAAuE;IACvE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACvD,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gGAAgG;IAChG,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IACxE,gFAAgF;IAChF,4BAA4B,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC;IACtG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAuBD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,CAyBhE;AAUD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,CAKtD;AAmBD;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,CAAC,EAAE,cAAc,CAAC,uBAAuB,CAAC,GAC9C,KAAK,CAAC,aAAa,CAoDrB;AAqGD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc;IAC7B,8DAA8D;IAC9D,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,eAAO,MAAM,QAAQ,mGAygEnB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import { GalleryConfig, ViewNavigationConfig, GroupingConfig } from '
|
|
2
|
+
import { GalleryConfig, ViewNavigationConfig, GroupingConfig } from '@object-ui/types';
|
|
3
3
|
export interface ObjectGalleryProps {
|
|
4
4
|
schema: {
|
|
5
5
|
objectName?: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObjectGallery.d.ts","sourceRoot":"","sources":["../src/ObjectGallery.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAgE,MAAM,OAAO,CAAC;AAIrF,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAI5F,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE;QACJ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,aAAa,CAAC;QACxB,gDAAgD;QAChD,UAAU,CAAC,EAAE,oBAAoB,CAAC;QAClC,mDAAmD;QACnD,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,iDAAiD;QACjD,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iDAAiD;QACjD,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;IAC1E,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxD,uEAAuE;IACvE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC1D;AAuJD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAgXtD,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ListViewSchema } from '@object-ui/types';
|
|
2
|
+
/**
|
|
3
|
+
* ObjectUI
|
|
4
|
+
* Copyright (c) 2024-present ObjectStack Inc.
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
import * as React from 'react';
|
|
10
|
+
export interface UserFiltersProps {
|
|
11
|
+
config: NonNullable<ListViewSchema['userFilters']>;
|
|
12
|
+
/** Object definition for auto-deriving field options */
|
|
13
|
+
objectDef?: any;
|
|
14
|
+
/** Current data for computing counts */
|
|
15
|
+
data?: any[];
|
|
16
|
+
/** Callback when filter state changes */
|
|
17
|
+
onFilterChange: (filters: any[]) => void;
|
|
18
|
+
/** Maximum visible filter badges before collapsing into "More" dropdown (dropdown mode only) */
|
|
19
|
+
maxVisible?: number;
|
|
20
|
+
className?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Initial selections to restore (e.g. from URL params). Keyed by field
|
|
23
|
+
* name → selected values; the active tab preset is carried under the
|
|
24
|
+
* reserved `_tab` key as a single-entry array.
|
|
25
|
+
*/
|
|
26
|
+
initialSelections?: Record<string, Array<string | number | boolean>>;
|
|
27
|
+
/**
|
|
28
|
+
* Fires with the raw selection state on every user change (same shape as
|
|
29
|
+
* `initialSelections`). Hosts use this to persist selections — e.g.
|
|
30
|
+
* ObjectView/InterfaceListPage mirror them into `uf_*` URL params.
|
|
31
|
+
*/
|
|
32
|
+
onSelectionsChange?: (selections: Record<string, Array<string | number | boolean>>) => void;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* UserFilters — Airtable Interfaces-style filter bar.
|
|
36
|
+
*
|
|
37
|
+
* Renders one of three modes based on `config.element`:
|
|
38
|
+
* - **dropdown**: field-level dropdown selector badges
|
|
39
|
+
* - **tabs**: named filter preset tab bar
|
|
40
|
+
* - **toggle**: on/off toggle buttons per field
|
|
41
|
+
*/
|
|
42
|
+
export declare function UserFilters({ config, objectDef, data, onFilterChange, maxVisible, className, initialSelections, onSelectionsChange, }: UserFiltersProps): React.JSX.Element | null;
|
|
43
|
+
//# sourceMappingURL=UserFilters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserFilters.d.ts","sourceRoot":"","sources":["../src/UserFilters.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAuCvD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IACnD,wDAAwD;IACxD,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,wCAAwC;IACxC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,yCAAyC;IACzC,cAAc,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACzC,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IACrE;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC;CAC7F;AAoCD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,SAAS,EACT,IAAS,EACT,cAAc,EACd,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,gBAAgB,4BA8BlB"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
8
|
import * as React from 'react';
|
|
9
|
-
export type ViewType = 'grid' | 'kanban' | 'gallery' | 'calendar' | 'timeline' | 'gantt' | 'map';
|
|
9
|
+
export type ViewType = 'grid' | 'kanban' | 'gallery' | 'calendar' | 'timeline' | 'gantt' | 'map' | 'chart' | 'tree';
|
|
10
10
|
export interface ViewSwitcherProps {
|
|
11
11
|
currentView: ViewType;
|
|
12
12
|
availableViews?: ViewType[];
|
|
@@ -15,5 +15,12 @@ export interface ViewSwitcherProps {
|
|
|
15
15
|
/** Enable animated transitions between views (default: true) */
|
|
16
16
|
animated?: boolean;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Compact dropdown form of the visualization switcher (Airtable-style):
|
|
20
|
+
* a single "List ▾" button in the toolbar's right cluster that opens a
|
|
21
|
+
* menu of the available visualizations. Replaces the full button row so
|
|
22
|
+
* the toolbar stays one line tall.
|
|
23
|
+
*/
|
|
24
|
+
export declare const ViewSwitcherDropdown: React.FC<ViewSwitcherProps>;
|
|
18
25
|
export declare const ViewSwitcher: React.FC<ViewSwitcherProps>;
|
|
19
26
|
//# sourceMappingURL=ViewSwitcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewSwitcher.d.ts","sourceRoot":"","sources":["../src/ViewSwitcher.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,QAAQ,GACR,SAAS,GACT,UAAU,GACV,UAAU,GACV,OAAO,GACP,KAAK,GACL,OAAO,GACP,MAAM,CAAC;AAEX,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,QAAQ,CAAC;IACtB,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC5B,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA0BD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyG5D,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAsDpD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../src/components/TabBar.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyBD;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA4DxC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAoE9C,CAAC"}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
*
|
|
22
22
|
* @module
|
|
23
23
|
*/
|
|
24
|
+
import * as React from 'react';
|
|
24
25
|
export interface ViewSettingsField {
|
|
25
26
|
name: string;
|
|
26
27
|
label?: string;
|
|
@@ -50,5 +51,5 @@ export interface ViewSettingsPopoverProps {
|
|
|
50
51
|
hiddenFields?: Set<string>;
|
|
51
52
|
updateHiddenFields?: (next: Set<string>) => void;
|
|
52
53
|
}
|
|
53
|
-
export declare function ViewSettingsPopover(props: ViewSettingsPopoverProps):
|
|
54
|
+
export declare function ViewSettingsPopover(props: ViewSettingsPopoverProps): React.JSX.Element;
|
|
54
55
|
//# sourceMappingURL=ViewSettingsPopover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewSettingsPopover.d.ts","sourceRoot":"","sources":["../../src/components/ViewSettingsPopover.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAoB/B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;IAC7C,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC;IACvC,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAE/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAExC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,SAAS,CAAC;IAChF,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,SAAS,KAAK,IAAI,CAAC;IAElG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAE9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;CAClD;AA8CD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,qBAwLlE"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { ListView } from './ListView';
|
|
2
|
+
import { ViewSwitcher } from './ViewSwitcher';
|
|
3
|
+
import { ObjectGallery } from './ObjectGallery';
|
|
4
|
+
export { ListView, ViewSwitcher, ObjectGallery };
|
|
5
|
+
export { ViewSwitcherDropdown } from './ViewSwitcher';
|
|
6
|
+
export { TabBar, TabBarSelect } from './components/TabBar';
|
|
7
|
+
export type { TabBarProps, ViewTab } from './components/TabBar';
|
|
8
|
+
export { UserFilters } from './UserFilters';
|
|
9
|
+
export type { UserFiltersProps } from './UserFilters';
|
|
10
|
+
export { evaluateConditionalFormatting, normalizeFilterCondition, normalizeFilters } from './ListView';
|
|
11
|
+
export type { ListViewProps, ListViewHandle } from './ListView';
|
|
12
|
+
export type { ObjectGalleryProps } from './ObjectGallery';
|
|
13
|
+
export type { ViewSwitcherProps, ViewType } from './ViewSwitcher';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACvG,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
|