@alaarab/ogrid-vue-vuetify 2.0.7 → 2.0.9

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,10 +1,9 @@
1
1
  import { defineComponent, computed, h, Teleport } from 'vue';
2
2
  import { VCheckbox, VProgressCircular, VBtn } from 'vuetify/components';
3
- import { useDataGridTableSetup, getHeaderFilterConfig, getCellRenderDescriptor, resolveCellDisplayContent, resolveCellStyle, buildInlineEditorProps, buildPopoverEditorProps, getCellInteractionProps, buildHeaderRows, CHECKBOX_COLUMN_WIDTH, ROW_NUMBER_COLUMN_WIDTH, DEFAULT_MIN_COLUMN_WIDTH, } from '@alaarab/ogrid-vue';
3
+ import { useDataGridTableSetup, getHeaderFilterConfig, getCellRenderDescriptor, resolveCellDisplayContent, resolveCellStyle, buildInlineEditorProps, buildPopoverEditorProps, getCellInteractionProps, buildHeaderRows, CHECKBOX_COLUMN_WIDTH, ROW_NUMBER_COLUMN_WIDTH, DEFAULT_MIN_COLUMN_WIDTH, StatusBar, } from '@alaarab/ogrid-vue';
4
4
  import { ColumnHeaderFilter } from '../ColumnHeaderFilter';
5
5
  import { ColumnHeaderMenu } from '../ColumnHeaderMenu/ColumnHeaderMenu';
6
6
  import { InlineCellEditor } from './InlineCellEditor';
7
- import { StatusBar } from './StatusBar';
8
7
  import { GridContextMenu } from './GridContextMenu';
9
8
  const NOOP = () => { };
10
9
  export const DataGridTable = defineComponent({
package/dist/esm/index.js CHANGED
@@ -7,3 +7,7 @@ export { ColumnHeaderFilter } from './ColumnHeaderFilter/ColumnHeaderFilter';
7
7
  export { ColumnChooser } from './ColumnChooser/ColumnChooser';
8
8
  export { PaginationControls } from './PaginationControls/PaginationControls';
9
9
  export { ColumnHeaderMenu } from './ColumnHeaderMenu/ColumnHeaderMenu';
10
+ // Re-export shared components from base
11
+ export { StatusBar, MarchingAntsOverlay } from '@alaarab/ogrid-vue';
12
+ export { GridContextMenu } from './DataGridTable/GridContextMenu';
13
+ export { InlineCellEditor } from './DataGridTable/InlineCellEditor';
@@ -9,3 +9,6 @@ export { PaginationControls } from './PaginationControls/PaginationControls';
9
9
  export type { IPaginationControlsProps } from './PaginationControls/PaginationControls';
10
10
  export { ColumnHeaderMenu } from './ColumnHeaderMenu/ColumnHeaderMenu';
11
11
  export type { ColumnHeaderMenuProps } from './ColumnHeaderMenu/ColumnHeaderMenu';
12
+ export { StatusBar, MarchingAntsOverlay } from '@alaarab/ogrid-vue';
13
+ export { GridContextMenu } from './DataGridTable/GridContextMenu';
14
+ export { InlineCellEditor } from './DataGridTable/InlineCellEditor';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alaarab/ogrid-vue-vuetify",
3
- "version": "2.0.7",
3
+ "version": "2.0.9",
4
4
  "description": "OGrid Vuetify – Vuetify-based data grid with sorting, filtering, pagination, column chooser, and CSV export.",
5
5
  "main": "dist/esm/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -14,28 +14,47 @@
14
14
  },
15
15
  "scripts": {
16
16
  "build": "rimraf dist && tsc -p tsconfig.build.json",
17
- "test": "jest --passWithNoTests"
17
+ "test": "jest --passWithNoTests",
18
+ "storybook": "storybook dev -p 6011 --no-open",
19
+ "build-storybook": "storybook build"
18
20
  },
19
- "keywords": ["ogrid", "vue", "vuetify", "datatable", "typescript", "grid"],
21
+ "keywords": [
22
+ "ogrid",
23
+ "vue",
24
+ "vuetify",
25
+ "datatable",
26
+ "typescript",
27
+ "grid"
28
+ ],
20
29
  "author": "Ala Arab",
21
30
  "license": "MIT",
22
- "files": ["dist", "README.md", "LICENSE"],
23
- "engines": { "node": ">=18" },
31
+ "files": [
32
+ "dist",
33
+ "README.md",
34
+ "LICENSE"
35
+ ],
36
+ "engines": {
37
+ "node": ">=18"
38
+ },
24
39
  "dependencies": {
25
- "@alaarab/ogrid-vue": "2.0.7"
40
+ "@alaarab/ogrid-vue": "2.0.9"
26
41
  },
27
42
  "peerDependencies": {
28
43
  "vue": "^3.3.0",
29
44
  "vuetify": "^3.0.0"
30
45
  },
31
46
  "devDependencies": {
32
- "vue": "^3.5.28",
33
- "vuetify": "^3.11.8",
47
+ "@storybook/vue3-vite": "^10.2.8",
34
48
  "@vitejs/plugin-vue": "^6.0.4",
49
+ "storybook": "^10.2.8",
50
+ "typescript": "^5.9.3",
35
51
  "vite": "^7.3.1",
36
52
  "vite-plugin-dts": "^4.5.4",
37
- "typescript": "^5.9.3"
53
+ "vue": "^3.5.28",
54
+ "vuetify": "^3.11.8"
38
55
  },
39
56
  "sideEffects": false,
40
- "publishConfig": { "access": "public" }
57
+ "publishConfig": {
58
+ "access": "public"
59
+ }
41
60
  }
@@ -1,45 +0,0 @@
1
- import { defineComponent, h } from 'vue';
2
- import { getStatusBarParts } from '@alaarab/ogrid-vue';
3
- export const StatusBar = defineComponent({
4
- name: 'StatusBar',
5
- props: {
6
- totalCount: { type: Number, required: true },
7
- filteredCount: { type: Number, default: undefined },
8
- selectedCount: { type: Number, default: undefined },
9
- selectedCellCount: { type: Number, default: undefined },
10
- aggregation: { type: Object, default: undefined },
11
- suppressRowCount: { type: Boolean, default: false },
12
- },
13
- setup(props) {
14
- return () => {
15
- const parts = getStatusBarParts(props);
16
- return h('div', {
17
- role: 'status',
18
- 'aria-live': 'polite',
19
- style: {
20
- marginTop: 'auto',
21
- padding: '6px 12px',
22
- borderTop: '1px solid rgba(0,0,0,0.12)',
23
- backgroundColor: 'rgba(0,0,0,0.04)',
24
- display: 'flex',
25
- alignItems: 'center',
26
- gap: '16px',
27
- fontSize: '0.875rem',
28
- },
29
- }, parts.map((p, i) => h('span', {
30
- key: p.key,
31
- style: {
32
- display: 'inline-flex',
33
- alignItems: 'center',
34
- gap: '4px',
35
- ...(i < parts.length - 1
36
- ? { marginRight: '16px', borderRight: '1px solid rgba(0,0,0,0.12)', paddingRight: '16px' }
37
- : {}),
38
- },
39
- }, [
40
- h('span', { style: { color: 'rgba(0,0,0,0.6)' } }, p.label),
41
- h('span', { style: { fontWeight: '600' } }, p.value.toLocaleString()),
42
- ])));
43
- };
44
- },
45
- });
@@ -1,80 +0,0 @@
1
- import { type PropType } from 'vue';
2
- export interface StatusBarProps {
3
- totalCount: number;
4
- filteredCount?: number;
5
- selectedCount?: number;
6
- selectedCellCount?: number;
7
- aggregation?: {
8
- sum: number;
9
- avg: number;
10
- min: number;
11
- max: number;
12
- count: number;
13
- } | null;
14
- suppressRowCount?: boolean;
15
- }
16
- export declare const StatusBar: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
17
- totalCount: {
18
- type: NumberConstructor;
19
- required: true;
20
- };
21
- filteredCount: {
22
- type: NumberConstructor;
23
- default: undefined;
24
- };
25
- selectedCount: {
26
- type: NumberConstructor;
27
- default: undefined;
28
- };
29
- selectedCellCount: {
30
- type: NumberConstructor;
31
- default: undefined;
32
- };
33
- aggregation: {
34
- type: PropType<StatusBarProps["aggregation"]>;
35
- default: undefined;
36
- };
37
- suppressRowCount: {
38
- type: BooleanConstructor;
39
- default: boolean;
40
- };
41
- }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
42
- [key: string]: any;
43
- }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
44
- totalCount: {
45
- type: NumberConstructor;
46
- required: true;
47
- };
48
- filteredCount: {
49
- type: NumberConstructor;
50
- default: undefined;
51
- };
52
- selectedCount: {
53
- type: NumberConstructor;
54
- default: undefined;
55
- };
56
- selectedCellCount: {
57
- type: NumberConstructor;
58
- default: undefined;
59
- };
60
- aggregation: {
61
- type: PropType<StatusBarProps["aggregation"]>;
62
- default: undefined;
63
- };
64
- suppressRowCount: {
65
- type: BooleanConstructor;
66
- default: boolean;
67
- };
68
- }>> & Readonly<{}>, {
69
- aggregation: {
70
- sum: number;
71
- avg: number;
72
- min: number;
73
- max: number;
74
- count: number;
75
- } | null | undefined;
76
- filteredCount: number;
77
- selectedCount: number;
78
- selectedCellCount: number;
79
- suppressRowCount: boolean;
80
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;