@cocoar/vue-data-grid 0.1.0-beta.24 → 0.1.0-beta.34

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.
Files changed (35) hide show
  1. package/dist/CoarDataGrid.vue.d.ts +25 -0
  2. package/dist/CoarDataGrid.vue.d.ts.map +1 -0
  3. package/dist/builders/coar-grid-builder.d.ts +145 -0
  4. package/dist/builders/coar-grid-builder.d.ts.map +1 -0
  5. package/dist/builders/coar-grid-column-builder.d.ts +81 -0
  6. package/dist/builders/coar-grid-column-builder.d.ts.map +1 -0
  7. package/dist/builders/coar-grid-column-factory.d.ts +72 -0
  8. package/dist/builders/coar-grid-column-factory.d.ts.map +1 -0
  9. package/dist/builders/index.d.ts +4 -0
  10. package/dist/builders/index.d.ts.map +1 -0
  11. package/dist/cell-renderers/DateCellRenderer.vue.d.ts +7 -0
  12. package/dist/cell-renderers/DateCellRenderer.vue.d.ts.map +1 -0
  13. package/dist/cell-renderers/IconCellRenderer.vue.d.ts +7 -0
  14. package/dist/cell-renderers/IconCellRenderer.vue.d.ts.map +1 -0
  15. package/dist/cell-renderers/TagCellRenderer.vue.d.ts +7 -0
  16. package/dist/cell-renderers/TagCellRenderer.vue.d.ts.map +1 -0
  17. package/dist/cell-renderers/date-cell-renderer.models.d.ts +7 -0
  18. package/dist/cell-renderers/date-cell-renderer.models.d.ts.map +1 -0
  19. package/dist/cell-renderers/icon-cell-renderer.models.d.ts +13 -0
  20. package/dist/cell-renderers/icon-cell-renderer.models.d.ts.map +1 -0
  21. package/dist/cell-renderers/index.d.ts +7 -0
  22. package/dist/cell-renderers/index.d.ts.map +1 -0
  23. package/dist/cell-renderers/tag-cell-renderer.models.d.ts +16 -0
  24. package/dist/cell-renderers/tag-cell-renderer.models.d.ts.map +1 -0
  25. package/dist/index.d.ts +10 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/models/index.d.ts +5 -0
  28. package/dist/models/index.d.ts.map +1 -0
  29. package/dist/theme/cocoar-theme.d.ts +27 -0
  30. package/dist/theme/cocoar-theme.d.ts.map +1 -0
  31. package/dist/theme/index.d.ts +2 -0
  32. package/dist/theme/index.d.ts.map +1 -0
  33. package/dist/useDataGrid.d.ts +25 -0
  34. package/dist/useDataGrid.d.ts.map +1 -0
  35. package/package.json +3 -3
@@ -0,0 +1,25 @@
1
+ import { Theme } from 'ag-grid-community';
2
+ import { CoarGridBuilder } from './builders';
3
+ declare const _default: <TData = unknown>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, never> & {
5
+ /** The grid builder configuration (required) */
6
+ builder: CoarGridBuilder<TData>;
7
+ /** AG Grid theme override (defaults to cocoarTheme) */
8
+ theme?: Theme;
9
+ /** Custom CSS class for the wrapper element */
10
+ class?: string;
11
+ /** Custom inline style for the wrapper element */
12
+ style?: string | Record<string, string>;
13
+ } & Partial<{}>> & import('vue').PublicProps;
14
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
15
+ attrs: any;
16
+ slots: {};
17
+ emit: {};
18
+ }>) => import('vue').VNode & {
19
+ __ctx?: Awaited<typeof __VLS_setup>;
20
+ };
21
+ export default _default;
22
+ type __VLS_PrettifyLocal<T> = {
23
+ [K in keyof T]: T[K];
24
+ } & {};
25
+ //# sourceMappingURL=CoarDataGrid.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoarDataGrid.vue.d.ts","sourceRoot":"","sources":["../src/CoarDataGrid.vue"],"names":[],"mappings":"AAiGA,OAAO,KAAK,EAAkB,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,6BAA6B,CAAC;yBAEpB,KAAK,GAAG,OAAO,EAC/B,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,eAAe,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EACjE;WAsJO,mBAAmB,CAAC;QA3IxB,gDAAgD;iBACvC,eAAe,CAAC,KAAK,CAAC;QAC/B,uDAAuD;gBAC/C,KAAK;QACb,+CAA+C;gBACvC,MAAM;QACd,kDAAkD;gBAC1C,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;mBAoImD,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;UAEJ,EAAE;EAEL,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE;AAjKzE,wBAiK4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
@@ -0,0 +1,145 @@
1
+ import { Ref, WatchSource } from 'vue';
2
+ import { ColDef, GridApi, GridOptions, GridReadyEvent, RowClickedEvent, RowDoubleClickedEvent, CellClickedEvent, CellDoubleClickedEvent, GetRowIdFunc, RowClassParams, IRowNode, IsExternalFilterPresentParams, GridSizeChangedEvent, CellContextMenuEvent, ColumnState, PostSortRowsParams } from 'ag-grid-community';
3
+ import { CoarGridColumnBuilder } from './coar-grid-column-builder';
4
+ import { CoarGridColumnFactory } from './coar-grid-column-factory';
5
+ type ColumnBuilderLike<TData> = {
6
+ build(): ColDef<TData>;
7
+ };
8
+ /** Column definition input - either a builder or a factory function */
9
+ export type ColumnDefinition<TData> = ColumnBuilderLike<TData> | ((factory: CoarGridColumnFactory<TData>) => ColumnBuilderLike<TData>);
10
+ /** Options for row selection */
11
+ export interface RowSelectionOptions {
12
+ /** Show a checkbox column for selection (default: false for 'single', true for 'multiple') */
13
+ checkboxes?: boolean;
14
+ /** Show a select-all checkbox in the header (only applies to 'multiple' mode, default: true when checkboxes is true) */
15
+ headerCheckbox?: boolean;
16
+ /** Allow clicking anywhere on a row to select it (default: true) */
17
+ enableClickSelection?: boolean;
18
+ }
19
+ /**
20
+ * Fluent builder for AG Grid configuration.
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * const gridBuilder = CoarGridBuilder.create<User>()
25
+ * .columns([
26
+ * col => col.field('name').header('Name').flex(1),
27
+ * col => col.field('email').header('Email').flex(1),
28
+ * col => col.field('role').header('Role').width(100),
29
+ * ])
30
+ * .rowData(users)
31
+ * .rowId(user => user.id)
32
+ * .onRowClicked(event => console.log(event.data));
33
+ * ```
34
+ */
35
+ export declare class CoarGridBuilder<TData = unknown> {
36
+ #private;
37
+ /** Reactive flag that becomes true when grid is ready */
38
+ readonly gridReady: Readonly<Ref<boolean>>;
39
+ private constructor();
40
+ /** Create a new grid builder */
41
+ static create<TData>(): CoarGridBuilder<TData>;
42
+ /** Get the AG Grid API (available after grid ready) */
43
+ get api(): GridApi<TData> | undefined;
44
+ /** Define columns using builders or factory functions */
45
+ columns(definitions: ColumnDefinition<TData>[]): this;
46
+ /** Set default column definition applied to all columns */
47
+ defaultColDef(definition: Partial<ColDef<TData>> | ((builder: CoarGridColumnBuilder<TData>) => CoarGridColumnBuilder<TData>)): this;
48
+ /** Set row data (static array) */
49
+ rowData(data: TData[] | null): this;
50
+ /** Set row data (reactive ref) */
51
+ rowDataRef(data: Ref<TData[] | null | undefined>): this;
52
+ /** Set row ID getter for immutable data updates */
53
+ rowId(getRowId: GetRowIdFunc<TData>): this;
54
+ /**
55
+ * Enable row selection.
56
+ *
57
+ * @param mode - `'single'` or `'multiple'`
58
+ * @param options - Optional configuration for checkboxes and click behavior
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * // Click to select, no checkboxes
63
+ * .rowSelection('single')
64
+ *
65
+ * // Checkboxes + click to select
66
+ * .rowSelection('multiple', { checkboxes: true })
67
+ *
68
+ * // Checkboxes only, no click selection
69
+ * .rowSelection('multiple', { checkboxes: true, enableClickSelection: false })
70
+ * ```
71
+ */
72
+ rowSelection(mode: 'single' | 'multiple', options?: RowSelectionOptions): this;
73
+ /** Set row class rules */
74
+ rowClassRules(rules: Record<string, ((params: RowClassParams<TData>) => boolean) | string>): this;
75
+ /** Set dynamic row class */
76
+ rowClass(fn: (params: RowClassParams<TData>) => string | string[] | undefined): this;
77
+ /** Set initial sort column and direction */
78
+ defaultSort(field: string, direction: 'asc' | 'desc'): this;
79
+ /** Set custom post-sort function to reorder rows after AG Grid sorts */
80
+ sortFunction(fn: (params: PostSortRowsParams<TData>) => void): this;
81
+ /** Re-trigger sort and filter when the given watch source changes */
82
+ updateSortAndFilterWhen(trigger: WatchSource): this;
83
+ /** Merge column state to restore column widths, order, visibility */
84
+ columnState(state: ColumnState[] | Ref<ColumnState[] | undefined>): this;
85
+ /** Set which parent rows are expanded (reactive ref of row IDs) */
86
+ openRows(openRows: Ref<string[]>): this;
87
+ /** Enable full-row editing mode */
88
+ fullRowEdit(value?: boolean): this;
89
+ /** Stop cell editing when cells lose focus */
90
+ stopEditingWhenCellsLoseFocus(value?: boolean): this;
91
+ /** Enable shift-key column resize mode */
92
+ shiftResizeMode(value?: boolean): this;
93
+ /** Handle grid ready event */
94
+ onGridReady(handler: (event: GridReadyEvent<TData>) => void): this;
95
+ /** Handle row click */
96
+ onRowClicked(handler: (event: RowClickedEvent<TData>) => void): this;
97
+ /** Handle row double-click */
98
+ onRowDoubleClicked(handler: (event: RowDoubleClickedEvent<TData>) => void): this;
99
+ /** Handle cell click */
100
+ onCellClicked(handler: (event: CellClickedEvent<TData>) => void): this;
101
+ /** Handle cell double-click */
102
+ onCellDoubleClicked(handler: (event: CellDoubleClickedEvent<TData>) => void): this;
103
+ /** Handle grid size changed event */
104
+ onGridSizeChanged(handler: (event: GridSizeChangedEvent<TData>) => void): this;
105
+ /** Handle cell context menu (right-click). Ctrl+click is passed through to the browser. */
106
+ onCellContextMenu(handler: (event: CellContextMenuEvent<TData>) => void): this;
107
+ /**
108
+ * Handle click on the grid viewport (empty area outside cells).
109
+ * Wired by the wrapper component.
110
+ */
111
+ onViewportClick(handler: ($event: MouseEvent, api: GridApi<TData>) => void): this;
112
+ /**
113
+ * Handle context menu on the grid viewport (empty area outside cells).
114
+ * Wired by the wrapper component.
115
+ */
116
+ onViewportContextMenu(handler: ($event: MouseEvent, api: GridApi<TData>) => void): this;
117
+ /** Set external filter */
118
+ externalFilter(doesFilterPass: (node: IRowNode<TData>) => boolean, isFilterPresent?: (params: IsExternalFilterPresentParams<TData>) => boolean): this;
119
+ /** Re-trigger external filter when the given watch source changes */
120
+ updateExternalFilterWhen(trigger: WatchSource): this;
121
+ /** Enable row animation */
122
+ animateRows(value?: boolean): this;
123
+ /** Set any AG Grid option directly */
124
+ option<K extends keyof GridOptions<TData>>(key: K, value: GridOptions<TData>[K]): this;
125
+ /** Merge additional grid options */
126
+ options(options: GridOptions<TData>): this;
127
+ /** @internal Called by the wrapper component to bind to AG Grid */
128
+ _bind(api: GridApi<TData>): void;
129
+ /** @internal Called by the wrapper component on unmount */
130
+ _destroy(): void;
131
+ /** @internal Get viewport click handler (for wrapper component) */
132
+ _getViewportClickHandler(): (($event: MouseEvent, api: GridApi<TData>) => void) | undefined;
133
+ /** @internal Get viewport context menu handler (for wrapper component) */
134
+ _getViewportContextMenuHandler(): (($event: MouseEvent, api: GridApi<TData>) => void) | undefined;
135
+ /** @internal Check if a cell context menu handler is registered (for wrapper component) */
136
+ _hasCellContextMenuHandler(): boolean;
137
+ /** Get column definitions (for wrapper component) */
138
+ _getColumnDefs(): ColDef<TData>[];
139
+ /** Get grid options (for wrapper component) */
140
+ _getGridOptions(): GridOptions<TData>;
141
+ /** Get static row data (for wrapper component) */
142
+ _getRowData(): TData[] | null;
143
+ }
144
+ export {};
145
+ //# sourceMappingURL=coar-grid-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coar-grid-builder.d.ts","sourceRoot":"","sources":["../../src/builders/coar-grid-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { Component } from 'vue';
2
+ import { ColDef, CellClassParams, CellStyle, ValueFormatterParams, ValueGetterFunc, CellDoubleClickedEvent, ITooltipParams, GetQuickFilterTextParams, RowDragCallback, IRowNode } from 'ag-grid-community';
3
+ /**
4
+ * Fluent builder for AG Grid column definitions.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const column = new CoarGridColumnBuilder<User>('name')
9
+ * .header('Full Name')
10
+ * .sortable()
11
+ * .flex(1)
12
+ * .build();
13
+ * ```
14
+ */
15
+ export declare class CoarGridColumnBuilder<TData = unknown, TValue = unknown> {
16
+ #private;
17
+ constructor(field?: keyof TData | string);
18
+ /** Set the field name (data property) */
19
+ field(value: keyof TData | string): this;
20
+ /** Set the column header text */
21
+ header(value: string): this;
22
+ /** Set header tooltip */
23
+ headerTooltip(value: string): this;
24
+ /** Set fixed width in pixels */
25
+ width(value: number, minWidth?: number, maxWidth?: number): this;
26
+ /** Set fixed width (min, max, and width all the same) */
27
+ fixedWidth(value: number): this;
28
+ /** Set minimum width */
29
+ minWidth(value: number): this;
30
+ /** Set maximum width */
31
+ maxWidth(value: number): this;
32
+ /** Set flex grow factor for fluid width */
33
+ flex(value?: number): this;
34
+ /** Enable/disable sorting */
35
+ sortable(value?: boolean): this;
36
+ /** Enable/disable resizing */
37
+ resizable(value?: boolean): this;
38
+ /** Hide/show column */
39
+ hidden(value?: boolean): this;
40
+ /** Pin column to left or right */
41
+ pinned(value: 'left' | 'right' | null): this;
42
+ /** Lock column position */
43
+ lockPosition(value?: boolean | 'left' | 'right'): this;
44
+ /** Set custom cell renderer component */
45
+ cellRenderer(component: Component, params?: Record<string, unknown>): this;
46
+ /** Set cell renderer parameters */
47
+ cellRendererParams(params: Record<string, unknown>): this;
48
+ /** Set value formatter for display */
49
+ valueFormatter(fn: (params: ValueFormatterParams<TData, TValue>) => string): this;
50
+ /** Set value getter to transform data before display */
51
+ valueGetter(fn: ValueGetterFunc<TData, TValue>): this;
52
+ /** Set CSS class for cells */
53
+ cellClass(value: string | string[] | ((params: CellClassParams<TData, TValue>) => string | string[])): this;
54
+ /** Set CSS style for cells */
55
+ cellStyle(value: CellStyle | ((params: CellClassParams<TData, TValue>) => CellStyle | null | undefined)): this;
56
+ /** Add a conditional CSS class rule */
57
+ classRule(className: string, condition: string | ((params: CellClassParams<TData, TValue>) => boolean)): this;
58
+ /** Show tooltip with field value or custom function */
59
+ tooltip(value?: string | ((params: ITooltipParams<TData, TValue>) => string)): this;
60
+ /** Handle cell double-click */
61
+ onCellDoubleClicked(handler: (event: CellDoubleClickedEvent<TData, TValue>) => void): this;
62
+ /** Enable/disable filtering */
63
+ filter(value?: boolean | string): this;
64
+ /** Set filter parameters */
65
+ filterParams(params: Record<string, unknown>): this;
66
+ /** Set quick filter text extractor or disable quick filtering for this column */
67
+ quickFilter(fn: boolean | ((params: GetQuickFilterTextParams<TData, TValue>) => string)): this;
68
+ /** Set custom sort comparator */
69
+ comparator(fn: (valueA: TValue, valueB: TValue, nodeA: IRowNode<TData>, nodeB: IRowNode<TData>, isDescending: boolean) => number): this;
70
+ /** Enable row drag on this column */
71
+ rowDrag(value?: boolean | RowDragCallback<TData, TValue>): this;
72
+ /** Set cell renderer with config object (params wrapped in `config` key) */
73
+ cellRendererConfig(component: Component, config: Record<string, unknown> | object): this;
74
+ /** Set any AG Grid ColDef option directly */
75
+ option<K extends keyof ColDef<TData, TValue>>(key: K, value: ColDef<TData, TValue>[K]): this;
76
+ /** Apply custom modifications to the column definition */
77
+ customize(fn: (colDef: ColDef<TData, TValue>) => void): this;
78
+ /** Build and return the AG Grid ColDef */
79
+ build(): ColDef<TData, TValue>;
80
+ }
81
+ //# sourceMappingURL=coar-grid-column-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coar-grid-column-builder.d.ts","sourceRoot":"","sources":["../../src/builders/coar-grid-column-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import { CoarGridColumnBuilder } from './coar-grid-column-builder';
2
+ import { TagCellRendererConfig } from '../cell-renderers/tag-cell-renderer.models';
3
+ import { IconCellRendererConfig } from '../cell-renderers/icon-cell-renderer.models';
4
+ import { DateCellRendererConfig } from '../cell-renderers/date-cell-renderer.models';
5
+ /**
6
+ * Factory for creating typed column builders.
7
+ * Provides convenient methods for common column types.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * // In column definitions:
12
+ * CoarGridBuilder.create<User>()
13
+ * .columns([
14
+ * col => col.field('name').header('Name').flex(1),
15
+ * col => col.field('createdAt').header('Created').width(150),
16
+ * col => col.tag('status', { variantMap: { active: 'success' } }),
17
+ * col => col.icon('type', { size: 's' }),
18
+ * ])
19
+ * ```
20
+ */
21
+ export declare class CoarGridColumnFactory<TData = unknown> {
22
+ /**
23
+ * Create a column builder for the given field
24
+ */
25
+ field<TValue = unknown>(fieldName: keyof TData | string): CoarGridColumnBuilder<TData, TValue>;
26
+ /**
27
+ * Create a date column with standard or custom formatting.
28
+ *
29
+ * @param format - Preset name ('short' | 'long' | 'datetime'), Intl options object, or custom formatter function
30
+ */
31
+ date(fieldName: keyof TData | string, format?: string | Intl.DateTimeFormatOptions | ((date: Date) => string)): CoarGridColumnBuilder<TData, Date | string>;
32
+ /**
33
+ * Create a number column with standard formatting
34
+ */
35
+ number(fieldName: keyof TData | string, decimals?: number): CoarGridColumnBuilder<TData, number>;
36
+ /**
37
+ * Create a currency column
38
+ */
39
+ currency(fieldName: keyof TData | string, currency?: string): CoarGridColumnBuilder<TData, number>;
40
+ /**
41
+ * Create a boolean column (displays Yes/No or custom values)
42
+ */
43
+ boolean(fieldName: keyof TData | string, options?: {
44
+ trueValue?: string;
45
+ falseValue?: string;
46
+ }): CoarGridColumnBuilder<TData, boolean>;
47
+ /**
48
+ * Create a tag column that renders values as `<CoarTag>` elements.
49
+ *
50
+ * Supports string (split by separator), array, and object array values.
51
+ *
52
+ * @param config - Tag rendering configuration (variantMap, size, i18nPrefix, etc.)
53
+ */
54
+ tag(fieldName: keyof TData | string, config?: TagCellRendererConfig): CoarGridColumnBuilder<TData, string | string[]>;
55
+ /**
56
+ * Create an icon column that renders values as `<CoarIcon>` elements.
57
+ *
58
+ * The cell value is used as the icon name.
59
+ *
60
+ * @param config - Icon rendering configuration (size, source, color, onClick)
61
+ */
62
+ icon(fieldName: keyof TData | string, config?: IconCellRendererConfig): CoarGridColumnBuilder<TData, string>;
63
+ /**
64
+ * Create a date column with locale-aware rendering via a cell renderer component.
65
+ *
66
+ * Unlike `date()`, this uses a cell renderer component for full locale integration.
67
+ *
68
+ * @param config - Date rendering configuration (showSeconds, customFormat)
69
+ */
70
+ localDate(fieldName: keyof TData | string, config?: DateCellRendererConfig): CoarGridColumnBuilder<TData, Date | string>;
71
+ }
72
+ //# sourceMappingURL=coar-grid-column-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coar-grid-column-factory.d.ts","sourceRoot":"","sources":["../../src/builders/coar-grid-column-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAInE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAE1F;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,qBAAqB,CAAC,KAAK,GAAG,OAAO;IAChD;;OAEG;IACH,KAAK,CAAC,MAAM,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,GAAG,MAAM,GAAG,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC;IAI9F;;;;OAIG;IACH,IAAI,CACF,SAAS,EAAE,MAAM,KAAK,GAAG,MAAM,EAC/B,MAAM,GAAE,MAAM,GAAG,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAW,GAC/E,qBAAqB,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;IAwC9C;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,KAAK,GAAG,MAAM,EAAE,QAAQ,SAAI,GAAG,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC;IAkB3F;;OAEG;IACH,QAAQ,CACN,SAAS,EAAE,MAAM,KAAK,GAAG,MAAM,EAC/B,QAAQ,SAAQ,GACf,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC;IAkBvC;;OAEG;IACH,OAAO,CACL,SAAS,EAAE,MAAM,KAAK,GAAG,MAAM,EAC/B,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GACxD,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC;IAgBxC;;;;;;OAMG;IACH,GAAG,CACD,SAAS,EAAE,MAAM,KAAK,GAAG,MAAM,EAC/B,MAAM,CAAC,EAAE,qBAAqB,GAC7B,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAwBlD;;;;;;OAMG;IACH,IAAI,CACF,SAAS,EAAE,MAAM,KAAK,GAAG,MAAM,EAC/B,MAAM,CAAC,EAAE,sBAAsB,GAC9B,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC;IAMvC;;;;;;OAMG;IACH,SAAS,CACP,SAAS,EAAE,MAAM,KAAK,GAAG,MAAM,EAC/B,MAAM,CAAC,EAAE,sBAAsB,GAC9B,qBAAqB,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;CAM/C"}
@@ -0,0 +1,4 @@
1
+ export { CoarGridBuilder, type ColumnDefinition, type RowSelectionOptions } from './coar-grid-builder';
2
+ export { CoarGridColumnBuilder } from './coar-grid-column-builder';
3
+ export { CoarGridColumnFactory } from './coar-grid-column-factory';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/builders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ICellRendererParams } from 'ag-grid-community';
2
+ type __VLS_Props = {
3
+ params: ICellRendererParams;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
6
+ export default _default;
7
+ //# sourceMappingURL=DateCellRenderer.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateCellRenderer.vue.d.ts","sourceRoot":"","sources":["../../src/cell-renderers/DateCellRenderer.vue"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;;AA4DF,wBAOG"}
@@ -0,0 +1,7 @@
1
+ import { ICellRendererParams } from 'ag-grid-community';
2
+ type __VLS_Props = {
3
+ params: ICellRendererParams;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
6
+ export default _default;
7
+ //# sourceMappingURL=IconCellRenderer.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconCellRenderer.vue.d.ts","sourceRoot":"","sources":["../../src/cell-renderers/IconCellRenderer.vue"],"names":[],"mappings":"AAsDA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAK7D,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;;AAkFF,wBAOG"}
@@ -0,0 +1,7 @@
1
+ import { ICellRendererParams } from 'ag-grid-community';
2
+ type __VLS_Props = {
3
+ params: ICellRendererParams;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
6
+ export default _default;
7
+ //# sourceMappingURL=TagCellRenderer.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagCellRenderer.vue.d.ts","sourceRoot":"","sources":["../../src/cell-renderers/TagCellRenderer.vue"],"names":[],"mappings":"AA8FA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAW7D,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;;AAmHF,wBAOG"}
@@ -0,0 +1,7 @@
1
+ export interface DateCellRendererConfig {
2
+ /** Include seconds in time display */
3
+ showSeconds?: boolean;
4
+ /** Custom date format string */
5
+ customFormat?: string;
6
+ }
7
+ //# sourceMappingURL=date-cell-renderer.models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-cell-renderer.models.d.ts","sourceRoot":"","sources":["../../src/cell-renderers/date-cell-renderer.models.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,sCAAsC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,13 @@
1
+ import { CoarIconSize } from '@cocoar/vue-ui';
2
+ import { ICellRendererParams } from 'ag-grid-community';
3
+ export interface IconCellRendererConfig {
4
+ /** Icon size (default: 's') */
5
+ size?: CoarIconSize;
6
+ /** Icon source registry key */
7
+ source?: string;
8
+ /** CSS color value for the icon */
9
+ color?: string;
10
+ /** Click handler - when set, the icon becomes clickable */
11
+ onClick?: (params: ICellRendererParams) => void;
12
+ }
13
+ //# sourceMappingURL=icon-cell-renderer.models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-cell-renderer.models.d.ts","sourceRoot":"","sources":["../../src/cell-renderers/icon-cell-renderer.models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,MAAM,WAAW,sBAAsB;IACrC,+BAA+B;IAC/B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACjD"}
@@ -0,0 +1,7 @@
1
+ export { default as TagCellRenderer } from './TagCellRenderer.vue';
2
+ export { default as IconCellRenderer } from './IconCellRenderer.vue';
3
+ export { default as DateCellRenderer } from './DateCellRenderer.vue';
4
+ export type { TagCellRendererConfig } from './tag-cell-renderer.models';
5
+ export type { IconCellRendererConfig } from './icon-cell-renderer.models';
6
+ export type { DateCellRendererConfig } from './date-cell-renderer.models';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cell-renderers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGrE,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { TagVariant, TagSize } from '@cocoar/vue-ui';
2
+ export interface TagCellRendererConfig {
3
+ /** Delimiter to split a string value into multiple tags (default: ',') */
4
+ separator?: string;
5
+ /** Default variant applied to all tags */
6
+ variant?: TagVariant;
7
+ /** Map a tag value to a specific variant */
8
+ variantMap?: Record<string, TagVariant>;
9
+ /** Tag size (default: 's') */
10
+ size?: TagSize;
11
+ /** Prefix for i18n translation keys (optional). When set, translates via `i18n.t(prefix + value)` */
12
+ i18nPrefix?: string;
13
+ /** Property name to read the label from when values are objects */
14
+ labelProperty?: string;
15
+ }
16
+ //# sourceMappingURL=tag-cell-renderer.models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-cell-renderer.models.d.ts","sourceRoot":"","sources":["../../src/cell-renderers/tag-cell-renderer.models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IACpC,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,8BAA8B;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qGAAqG;IACrG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,10 @@
1
+ export { CoarGridBuilder, type ColumnDefinition } from './builders';
2
+ export { CoarGridColumnBuilder } from './builders';
3
+ export { CoarGridColumnFactory } from './builders';
4
+ export { TagCellRenderer, IconCellRenderer, DateCellRenderer } from './cell-renderers';
5
+ export type { TagCellRendererConfig, IconCellRendererConfig, DateCellRendererConfig } from './cell-renderers';
6
+ export { cocoarTheme, createCocoarTheme } from './theme';
7
+ export type { ColDef, GridOptions, GridApi, GridReadyEvent, RowClickedEvent, RowDoubleClickedEvent, CellClickedEvent, CellDoubleClickedEvent, CellContextMenuEvent, GridSizeChangedEvent, ColumnState, GetRowIdFunc, RowClassParams, ValueFormatterParams, ValueGetterParams, CellClassParams, ICellRendererParams, IRowNode, PostSortRowsParams, GetQuickFilterTextParams, RowDragCallback, } from './models';
8
+ export { default as CoarDataGrid } from './CoarDataGrid.vue';
9
+ export { useDataGrid } from './useDataGrid';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvF,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG9G,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGzD,YAAY,EACV,MAAM,EACN,WAAW,EACX,OAAO,EACP,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,GAChB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Re-exports commonly used AG Grid types for convenience.
3
+ */
4
+ export type { ColDef, GridOptions, GridApi, GridReadyEvent, RowClickedEvent, RowDoubleClickedEvent, CellClickedEvent, CellDoubleClickedEvent, CellContextMenuEvent, GridSizeChangedEvent, ColumnState, GetRowIdFunc, RowClassParams, ValueFormatterParams, ValueGetterParams, CellClassParams, ICellRendererParams, IRowNode, PostSortRowsParams, GetQuickFilterTextParams, RowDragCallback, } from 'ag-grid-community';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,YAAY,EACV,MAAM,EACN,WAAW,EACX,OAAO,EACP,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { Theme } from 'ag-grid-community';
2
+ /**
3
+ * Creates the Cocoar AG Grid theme
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * import { createCocoarTheme } from '@cocoar/vue-ui';
8
+ *
9
+ * const gridOptions = {
10
+ * theme: createCocoarTheme(),
11
+ * // ...
12
+ * };
13
+ * ```
14
+ */
15
+ export declare function createCocoarTheme(): Theme;
16
+ /**
17
+ * Pre-configured Cocoar theme instance
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * import { cocoarTheme } from '@cocoar/vue-ui';
22
+ *
23
+ * <AgGridVue :theme="cocoarTheme" />
24
+ * ```
25
+ */
26
+ export declare const cocoarTheme: Theme;
27
+ //# sourceMappingURL=cocoar-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cocoar-theme.d.ts","sourceRoot":"","sources":["../../src/theme/cocoar-theme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,IAAI,KAAK,CAoCzC;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,OAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createCocoarTheme, cocoarTheme } from './cocoar-theme';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { Ref } from 'vue';
2
+ import { CoarGridBuilder } from './builders';
3
+ /**
4
+ * Composable that creates a CoarGridBuilder for use with CoarDataGrid.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * const { builder } = useDataGrid<User>();
9
+ *
10
+ * builder.columns([
11
+ * col => col.field('name').header('Name').flex(1),
12
+ * col => col.field('email').header('Email').flex(1),
13
+ * ]).rowDataRef(users);
14
+ * ```
15
+ *
16
+ * @example
17
+ * ```html
18
+ * <CoarDataGrid :builder="builder" />
19
+ * ```
20
+ */
21
+ export declare function useDataGrid<TData = unknown>(): {
22
+ builder: CoarGridBuilder<TData>;
23
+ gridReady: Readonly<Ref<boolean>>;
24
+ };
25
+ //# sourceMappingURL=useDataGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDataGrid.d.ts","sourceRoot":"","sources":["../src/useDataGrid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,KAAK,GAAG,OAAO,KAAK;IAC9C,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAChC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;CACnC,CAOA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cocoar/vue-data-grid",
3
- "version": "0.1.0-beta.24",
3
+ "version": "0.1.0-beta.34",
4
4
  "type": "module",
5
5
  "sideEffects": [
6
6
  "*.css"
@@ -25,8 +25,8 @@
25
25
  },
26
26
  "peerDependencies": {
27
27
  "vue": "^3.5.0",
28
- "@cocoar/vue-ui": "0.1.0-beta.24",
29
- "@cocoar/vue-localization": "0.1.0-beta.24"
28
+ "@cocoar/vue-ui": "0.1.0-beta.34",
29
+ "@cocoar/vue-localization": "0.1.0-beta.34"
30
30
  },
31
31
  "devDependencies": {
32
32
  "vue": "^3.5.0",