@object-ui/plugin-list 3.0.3 → 3.1.1

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.
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { GalleryConfig } from '../../types/src';
2
+ import { GalleryConfig, ViewNavigationConfig, GroupingConfig } from '../../types/src';
3
3
  export interface ObjectGalleryProps {
4
4
  schema: {
5
5
  objectName?: string;
@@ -8,6 +8,10 @@ export interface ObjectGalleryProps {
8
8
  data?: Record<string, unknown>[];
9
9
  className?: string;
10
10
  gallery?: GalleryConfig;
11
+ /** Navigation config for item click behavior */
12
+ navigation?: ViewNavigationConfig;
13
+ /** Grouping configuration for sectioned display */
14
+ grouping?: GroupingConfig;
11
15
  /** @deprecated Use gallery.coverField instead */
12
16
  imageField?: string;
13
17
  /** @deprecated Use gallery.titleField instead */
@@ -19,6 +23,8 @@ export interface ObjectGalleryProps {
19
23
  find: (name: string, query: unknown) => Promise<unknown>;
20
24
  };
21
25
  onCardClick?: (record: Record<string, unknown>) => void;
26
+ /** Callback when a row/item is clicked (overrides NavigationConfig) */
27
+ onRowClick?: (record: Record<string, unknown>) => void;
22
28
  }
23
29
  export declare const ObjectGallery: React.FC<ObjectGalleryProps>;
24
30
  //# sourceMappingURL=ObjectGallery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectGallery.d.ts","sourceRoot":"","sources":["../../src/ObjectGallery.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,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,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;CAC3D;AAcD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAgItD,CAAC"}
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;AAG5F,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;AAcD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyPtD,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { ListViewSchema } from '../../types/src';
2
+ export interface UserFiltersProps {
3
+ config: NonNullable<ListViewSchema['userFilters']>;
4
+ /** Object definition for auto-deriving field options */
5
+ objectDef?: any;
6
+ /** Current data for computing counts */
7
+ data?: any[];
8
+ /** Callback when filter state changes */
9
+ onFilterChange: (filters: any[]) => void;
10
+ /** Maximum visible filter badges before collapsing into "More" dropdown (dropdown mode only) */
11
+ maxVisible?: number;
12
+ className?: string;
13
+ }
14
+ /**
15
+ * UserFilters — Airtable Interfaces-style filter bar.
16
+ *
17
+ * Renders one of three modes based on `config.element`:
18
+ * - **dropdown**: field-level dropdown selector badges
19
+ * - **tabs**: named filter preset tab bar
20
+ * - **toggle**: on/off toggle buttons per field
21
+ */
22
+ export declare function UserFilters({ config, objectDef, data, onFilterChange, maxVisible, className, }: UserFiltersProps): import("react/jsx-runtime").JSX.Element | null;
23
+ //# sourceMappingURL=UserFilters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserFilters.d.ts","sourceRoot":"","sources":["../../src/UserFilters.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAoBvD,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;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,SAAS,EACT,IAAS,EACT,cAAc,EACd,UAAU,EACV,SAAS,GACV,EAAE,gBAAgB,kDAkClB"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ import * as React from 'react';
9
+ export interface ViewTab {
10
+ name: string;
11
+ label: string;
12
+ icon?: string;
13
+ view?: string;
14
+ filter?: any;
15
+ order?: number;
16
+ pinned?: boolean;
17
+ isDefault?: boolean;
18
+ visible?: string | boolean;
19
+ }
20
+ export interface TabBarProps {
21
+ tabs: ViewTab[];
22
+ activeTab?: string;
23
+ onTabChange?: (tab: ViewTab) => void;
24
+ className?: string;
25
+ }
26
+ /**
27
+ * TabBar renders a row of view tabs above the ListView toolbar.
28
+ * Supports icons (resolved via Lucide), pinned tabs, isDefault selection,
29
+ * and emits tab changes with filter/sort configuration.
30
+ */
31
+ export declare const TabBar: React.FC<TabBarProps>;
32
+ //# sourceMappingURL=TabBar.d.ts.map
@@ -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;AAI/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"}
@@ -2,6 +2,11 @@ import { ListView } from './ListView';
2
2
  import { ViewSwitcher } from './ViewSwitcher';
3
3
  import { ObjectGallery } from './ObjectGallery';
4
4
  export { ListView, ViewSwitcher, ObjectGallery };
5
+ export { TabBar } from './components/TabBar';
6
+ export type { TabBarProps, ViewTab } from './components/TabBar';
7
+ export { UserFilters } from './UserFilters';
8
+ export type { UserFiltersProps } from './UserFilters';
9
+ export { evaluateConditionalFormatting, normalizeFilterCondition, normalizeFilters } from './ListView';
5
10
  export type { ListViewProps } from './ListView';
6
11
  export type { ObjectGalleryProps } from './ObjectGallery';
7
12
  export type { ViewSwitcherProps, ViewType } from './ViewSwitcher';
@@ -1 +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,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
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,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,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,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@object-ui/plugin-list",
3
- "version": "3.0.3",
3
+ "version": "3.1.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "ListView plugin for Object UI - unified view component with view type switching",
@@ -24,19 +24,20 @@
24
24
  }
25
25
  },
26
26
  "dependencies": {
27
- "lucide-react": "^0.563.0",
28
- "@object-ui/components": "3.0.3",
29
- "@object-ui/core": "3.0.3",
30
- "@object-ui/mobile": "3.0.3",
31
- "@object-ui/react": "3.0.3",
32
- "@object-ui/types": "3.0.3"
27
+ "lucide-react": "^0.576.0",
28
+ "@object-ui/components": "3.1.1",
29
+ "@object-ui/core": "3.1.1",
30
+ "@object-ui/i18n": "3.1.1",
31
+ "@object-ui/mobile": "3.1.1",
32
+ "@object-ui/react": "3.1.1",
33
+ "@object-ui/types": "3.1.1"
33
34
  },
34
35
  "peerDependencies": {
35
36
  "react": "^18.0.0 || ^19.0.0",
36
37
  "react-dom": "^18.0.0 || ^19.0.0"
37
38
  },
38
39
  "devDependencies": {
39
- "@types/react": "19.2.13",
40
+ "@types/react": "19.2.14",
40
41
  "@types/react-dom": "19.2.3",
41
42
  "@vitejs/plugin-react": "^5.1.4",
42
43
  "typescript": "^5.9.3",