@toolbox-web/grid-vue 0.0.0 → 0.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.
Files changed (140) hide show
  1. package/README.md +489 -1
  2. package/chunks/feature-registry-BgEOysSJ.js +38 -0
  3. package/chunks/feature-registry-BgEOysSJ.js.map +1 -0
  4. package/features/clipboard.d.ts +20 -0
  5. package/features/clipboard.d.ts.map +1 -0
  6. package/features/clipboard.js +4 -0
  7. package/features/clipboard.js.map +1 -0
  8. package/features/column-virtualization.d.ts +20 -0
  9. package/features/column-virtualization.d.ts.map +1 -0
  10. package/features/column-virtualization.js +4 -0
  11. package/features/column-virtualization.js.map +1 -0
  12. package/features/context-menu.d.ts +20 -0
  13. package/features/context-menu.d.ts.map +1 -0
  14. package/features/context-menu.js +4 -0
  15. package/features/context-menu.js.map +1 -0
  16. package/features/editing.d.ts +20 -0
  17. package/features/editing.d.ts.map +1 -0
  18. package/features/editing.js +4 -0
  19. package/features/editing.js.map +1 -0
  20. package/features/export.d.ts +20 -0
  21. package/features/export.d.ts.map +1 -0
  22. package/features/export.js +4 -0
  23. package/features/export.js.map +1 -0
  24. package/features/filtering.d.ts +20 -0
  25. package/features/filtering.d.ts.map +1 -0
  26. package/features/filtering.js +4 -0
  27. package/features/filtering.js.map +1 -0
  28. package/features/grouping-columns.d.ts +24 -0
  29. package/features/grouping-columns.d.ts.map +1 -0
  30. package/features/grouping-columns.js +4 -0
  31. package/features/grouping-columns.js.map +1 -0
  32. package/features/grouping-rows.d.ts +23 -0
  33. package/features/grouping-rows.d.ts.map +1 -0
  34. package/features/grouping-rows.js +4 -0
  35. package/features/grouping-rows.js.map +1 -0
  36. package/features/index.d.ts +1 -0
  37. package/features/index.d.ts.map +1 -0
  38. package/features/index.js +23 -0
  39. package/features/index.js.map +1 -0
  40. package/features/master-detail.d.ts +23 -0
  41. package/features/master-detail.d.ts.map +1 -0
  42. package/features/master-detail.js +4 -0
  43. package/features/master-detail.js.map +1 -0
  44. package/features/multi-sort.d.ts +20 -0
  45. package/features/multi-sort.d.ts.map +1 -0
  46. package/features/multi-sort.js +5 -0
  47. package/features/multi-sort.js.map +1 -0
  48. package/features/pinned-columns.d.ts +23 -0
  49. package/features/pinned-columns.d.ts.map +1 -0
  50. package/features/pinned-columns.js +4 -0
  51. package/features/pinned-columns.js.map +1 -0
  52. package/features/pinned-rows.d.ts +22 -0
  53. package/features/pinned-rows.d.ts.map +1 -0
  54. package/features/pinned-rows.js +4 -0
  55. package/features/pinned-rows.js.map +1 -0
  56. package/features/pivot.d.ts +24 -0
  57. package/features/pivot.d.ts.map +1 -0
  58. package/features/pivot.js +4 -0
  59. package/features/pivot.js.map +1 -0
  60. package/features/print.d.ts +20 -0
  61. package/features/print.d.ts.map +1 -0
  62. package/features/print.js +4 -0
  63. package/features/print.js.map +1 -0
  64. package/features/reorder.d.ts +20 -0
  65. package/features/reorder.d.ts.map +1 -0
  66. package/features/reorder.js +4 -0
  67. package/features/reorder.js.map +1 -0
  68. package/features/responsive.d.ts +24 -0
  69. package/features/responsive.d.ts.map +1 -0
  70. package/features/responsive.js +4 -0
  71. package/features/responsive.js.map +1 -0
  72. package/features/row-reorder.d.ts +20 -0
  73. package/features/row-reorder.d.ts.map +1 -0
  74. package/features/row-reorder.js +4 -0
  75. package/features/row-reorder.js.map +1 -0
  76. package/features/selection.d.ts +20 -0
  77. package/features/selection.d.ts.map +1 -0
  78. package/features/selection.js +4 -0
  79. package/features/selection.js.map +1 -0
  80. package/features/server-side.d.ts +22 -0
  81. package/features/server-side.d.ts.map +1 -0
  82. package/features/server-side.js +4 -0
  83. package/features/server-side.js.map +1 -0
  84. package/features/tree.d.ts +23 -0
  85. package/features/tree.d.ts.map +1 -0
  86. package/features/tree.js +4 -0
  87. package/features/tree.js.map +1 -0
  88. package/features/undo-redo.d.ts +20 -0
  89. package/features/undo-redo.d.ts.map +1 -0
  90. package/features/undo-redo.js +4 -0
  91. package/features/undo-redo.js.map +1 -0
  92. package/features/visibility.d.ts +20 -0
  93. package/features/visibility.d.ts.map +1 -0
  94. package/features/visibility.js +4 -0
  95. package/features/visibility.js.map +1 -0
  96. package/index.d.ts +67 -0
  97. package/index.d.ts.map +1 -0
  98. package/index.js +673 -0
  99. package/index.js.map +1 -0
  100. package/lib/TbwGrid.vue.d.ts +98 -0
  101. package/lib/TbwGrid.vue.d.ts.map +1 -0
  102. package/lib/TbwGridColumn.vue.d.ts +183 -0
  103. package/lib/TbwGridColumn.vue.d.ts.map +1 -0
  104. package/lib/TbwGridDetailPanel.vue.d.ts +36 -0
  105. package/lib/TbwGridDetailPanel.vue.d.ts.map +1 -0
  106. package/lib/TbwGridResponsiveCard.vue.d.ts +22 -0
  107. package/lib/TbwGridResponsiveCard.vue.d.ts.map +1 -0
  108. package/lib/TbwGridToolButtons.vue.d.ts +27 -0
  109. package/lib/TbwGridToolButtons.vue.d.ts.map +1 -0
  110. package/lib/TbwGridToolPanel.vue.d.ts +178 -0
  111. package/lib/TbwGridToolPanel.vue.d.ts.map +1 -0
  112. package/lib/detail-panel-registry.d.ts +20 -0
  113. package/lib/detail-panel-registry.d.ts.map +1 -0
  114. package/lib/feature-props.d.ts +317 -0
  115. package/lib/feature-props.d.ts.map +1 -0
  116. package/lib/feature-registry.d.ts +69 -0
  117. package/lib/feature-registry.d.ts.map +1 -0
  118. package/lib/grid-icon-registry.d.ts +66 -0
  119. package/lib/grid-icon-registry.d.ts.map +1 -0
  120. package/lib/grid-provider.d.ts +66 -0
  121. package/lib/grid-provider.d.ts.map +1 -0
  122. package/lib/grid-type-registry.d.ts +98 -0
  123. package/lib/grid-type-registry.d.ts.map +1 -0
  124. package/lib/responsive-card-registry.d.ts +20 -0
  125. package/lib/responsive-card-registry.d.ts.map +1 -0
  126. package/lib/slot-types.d.ts +50 -0
  127. package/lib/slot-types.d.ts.map +1 -0
  128. package/lib/tool-panel-registry.d.ts +18 -0
  129. package/lib/tool-panel-registry.d.ts.map +1 -0
  130. package/lib/use-grid-event.d.ts +68 -0
  131. package/lib/use-grid-event.d.ts.map +1 -0
  132. package/lib/use-grid.d.ts +39 -0
  133. package/lib/use-grid.d.ts.map +1 -0
  134. package/lib/vue-column-config.d.ts +69 -0
  135. package/lib/vue-column-config.d.ts.map +1 -0
  136. package/lib/vue-grid-adapter.d.ts +94 -0
  137. package/lib/vue-grid-adapter.d.ts.map +1 -0
  138. package/package.json +52 -3
  139. package/typedoc-entry.d.ts +31 -0
  140. package/typedoc-entry.d.ts.map +1 -0
@@ -0,0 +1,66 @@
1
+ import { GridIcons } from '@toolbox-web/grid';
2
+ import { PropType, VNode } from 'vue';
3
+ import { TypeDefaultsMap } from './grid-type-registry';
4
+ /**
5
+ * Combined provider for type defaults and icons.
6
+ *
7
+ * @example
8
+ * ```vue
9
+ * <script setup>
10
+ * import { GridProvider, type TypeDefaultsMap } from '@toolbox-web/grid-vue';
11
+ * import { h } from 'vue';
12
+ *
13
+ * const typeDefaults: TypeDefaultsMap = {
14
+ * country: { renderer: (ctx) => h('span', ctx.value) },
15
+ * };
16
+ *
17
+ * const icons = { sortAsc: '↑', sortDesc: '↓' };
18
+ * </script>
19
+ *
20
+ * <template>
21
+ * <GridProvider :typeDefaults="typeDefaults" :icons="icons">
22
+ * <App />
23
+ * </GridProvider>
24
+ * </template>
25
+ * ```
26
+ */
27
+ export declare const GridProvider: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
28
+ /**
29
+ * Type defaults to provide to all descendant grids.
30
+ */
31
+ typeDefaults: {
32
+ type: PropType<TypeDefaultsMap>;
33
+ default: undefined;
34
+ };
35
+ /**
36
+ * Icon overrides to provide to all descendant grids.
37
+ */
38
+ icons: {
39
+ type: PropType<Partial<GridIcons>>;
40
+ default: undefined;
41
+ };
42
+ }>, () => VNode<import('vue').RendererNode, import('vue').RendererElement, {
43
+ [key: string]: any;
44
+ }> | VNode<import('vue').RendererNode, import('vue').RendererElement, {
45
+ [key: string]: any;
46
+ }>[] | undefined, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
47
+ /**
48
+ * Type defaults to provide to all descendant grids.
49
+ */
50
+ typeDefaults: {
51
+ type: PropType<TypeDefaultsMap>;
52
+ default: undefined;
53
+ };
54
+ /**
55
+ * Icon overrides to provide to all descendant grids.
56
+ */
57
+ icons: {
58
+ type: PropType<Partial<GridIcons>>;
59
+ default: undefined;
60
+ };
61
+ }>> & Readonly<{}>, {
62
+ icons: GridIcons;
63
+ typeDefaults: TypeDefaultsMap;
64
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
65
+ export type GridProviderProps = InstanceType<typeof GridProvider>['$props'];
66
+ //# sourceMappingURL=grid-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-provider.d.ts","sourceRoot":"","sources":["../../../../libs/grid-vue/src/lib/grid-provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAsB,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,KAAK,CAAC;AAEpE,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,YAAY;IAGrB;;OAEG;;cAEe,QAAQ,CAAC,eAAe,CAAC;;;IAG3C;;OAEG;;cAEe,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;;;;;;;;IAX9C;;OAEG;;cAEe,QAAQ,CAAC,eAAe,CAAC;;;IAG3C;;OAEG;;cAEe,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;;;;;;4EAqBhD,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,98 @@
1
+ import { CellRenderContext, ColumnEditorContext } from '@toolbox-web/grid';
2
+ import { InjectionKey, PropType, VNode } from 'vue';
3
+ /**
4
+ * Vue-specific type default configuration.
5
+ * Uses Vue render functions that receive the render context.
6
+ */
7
+ export interface VueTypeDefault<TRow = unknown, TValue = unknown> {
8
+ /** Vue render function for rendering cells of this type */
9
+ renderer?: (ctx: CellRenderContext<TRow, TValue>) => VNode;
10
+ /** Vue render function for editing cells of this type */
11
+ editor?: (ctx: ColumnEditorContext<TRow, TValue>) => VNode;
12
+ /** Default editorParams for this type */
13
+ editorParams?: Record<string, unknown>;
14
+ }
15
+ /**
16
+ * Type defaults registry - a map of type names to their defaults.
17
+ */
18
+ export type TypeDefaultsMap = Record<string, VueTypeDefault>;
19
+ /**
20
+ * Injection key for type defaults.
21
+ */
22
+ export declare const GRID_TYPE_DEFAULTS: InjectionKey<TypeDefaultsMap>;
23
+ /**
24
+ * Composable to get the current type defaults from the nearest provider.
25
+ *
26
+ * @example
27
+ * ```vue
28
+ * <script setup>
29
+ * import { useGridTypeDefaults } from '@toolbox-web/grid-vue';
30
+ *
31
+ * const typeDefaults = useGridTypeDefaults();
32
+ * </script>
33
+ * ```
34
+ */
35
+ export declare function useGridTypeDefaults(): TypeDefaultsMap | undefined;
36
+ /**
37
+ * Composable to get a specific type's default configuration.
38
+ *
39
+ * @param typeName - The type name to look up
40
+ *
41
+ * @example
42
+ * ```vue
43
+ * <script setup>
44
+ * import { useTypeDefault } from '@toolbox-web/grid-vue';
45
+ *
46
+ * const countryDefault = useTypeDefault('country');
47
+ * </script>
48
+ * ```
49
+ */
50
+ export declare function useTypeDefault<TRow = unknown, TValue = unknown>(typeName: string): VueTypeDefault<TRow, TValue> | undefined;
51
+ /**
52
+ * Provides application-wide type defaults for all descendant grids.
53
+ *
54
+ * Wrap your application (or part of it) with this provider to make
55
+ * type-level renderers and editors available to all TbwGrid components.
56
+ *
57
+ * @example
58
+ * ```vue
59
+ * <script setup>
60
+ * import { GridTypeProvider, type TypeDefaultsMap } from '@toolbox-web/grid-vue';
61
+ * import { h } from 'vue';
62
+ * import CountryBadge from './CountryBadge.vue';
63
+ *
64
+ * const typeDefaults: TypeDefaultsMap = {
65
+ * country: {
66
+ * renderer: (ctx) => h(CountryBadge, { code: ctx.value }),
67
+ * },
68
+ * };
69
+ * </script>
70
+ *
71
+ * <template>
72
+ * <GridTypeProvider :defaults="typeDefaults">
73
+ * <App />
74
+ * </GridTypeProvider>
75
+ * </template>
76
+ * ```
77
+ */
78
+ export declare const GridTypeProvider: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
79
+ /**
80
+ * Type defaults to provide to all descendant grids.
81
+ */
82
+ defaults: {
83
+ type: PropType<TypeDefaultsMap>;
84
+ required: true;
85
+ };
86
+ }>, () => VNode<import('vue').RendererNode, import('vue').RendererElement, {
87
+ [key: string]: any;
88
+ }>[] | undefined, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
89
+ /**
90
+ * Type defaults to provide to all descendant grids.
91
+ */
92
+ defaults: {
93
+ type: PropType<TypeDefaultsMap>;
94
+ required: true;
95
+ };
96
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
97
+ export type GridTypeProviderProps = InstanceType<typeof GridTypeProvider>['$props'];
98
+ //# sourceMappingURL=grid-type-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-type-registry.d.ts","sourceRoot":"","sources":["../../../../libs/grid-vue/src/lib/grid-type-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAoC,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,KAAK,CAAC;AAErG;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO;IAC9D,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,KAAK,CAAC;IAC3D,yDAAyD;IACzD,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,KAAK,CAAC;IAC3D,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,eAAe,CAAgC,CAAC;AAE9F;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,GAAG,SAAS,CAEjE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,EAC7D,QAAQ,EAAE,MAAM,GACf,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,SAAS,CAG1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,gBAAgB;IAGzB;;OAEG;;cAEe,QAAQ,CAAC,eAAe,CAAC;;;;;;IAJ3C;;OAEG;;cAEe,QAAQ,CAAC,eAAe,CAAC;;;iGAW7C,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { VNode } from 'vue';
2
+ /**
3
+ * Context object passed to the responsive card slot.
4
+ */
5
+ export interface ResponsiveCardContext<T = unknown> {
6
+ /** The row data */
7
+ row: T;
8
+ /** The row index */
9
+ rowIndex: number;
10
+ }
11
+ /**
12
+ * Registry for responsive card renderers (per element)
13
+ */
14
+ export declare const cardRegistry: WeakMap<HTMLElement, (ctx: ResponsiveCardContext<unknown>) => VNode[] | undefined>;
15
+ /**
16
+ * Get the responsive card renderer for a grid element.
17
+ * @internal
18
+ */
19
+ export declare function getResponsiveCardRenderer(gridElement: HTMLElement): ((ctx: ResponsiveCardContext<unknown>) => VNode[] | undefined) | undefined;
20
+ //# sourceMappingURL=responsive-card-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsive-card-registry.d.ts","sourceRoot":"","sources":["../../../../libs/grid-vue/src/lib/responsive-card-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAEjC;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,OAAO;IAChD,mBAAmB;IACnB,GAAG,EAAE,CAAC,CAAC;IACP,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,6BAAkC,qBAAqB,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,GAAG,SAAS,CAAG,CAAC;AAErH;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,WAAW,GACvB,CAAC,CAAC,GAAG,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,GAAG,SAAS,CAAC,GAAG,SAAS,CAM5E"}
@@ -0,0 +1,50 @@
1
+ import { ColumnConfig } from '@toolbox-web/grid';
2
+ /**
3
+ * Slot context for #cell slot in TbwGridColumn.
4
+ *
5
+ * @example
6
+ * ```vue
7
+ * <TbwGridColumn field="status">
8
+ * <template #cell="{ value, row }">
9
+ * <StatusBadge :value="value" :row="row" />
10
+ * </template>
11
+ * </TbwGridColumn>
12
+ * ```
13
+ */
14
+ export interface CellSlotProps<TRow = unknown, TValue = unknown> {
15
+ /** The cell value */
16
+ value: TValue;
17
+ /** The entire row data */
18
+ row: TRow;
19
+ /** The column configuration */
20
+ column: ColumnConfig<TRow>;
21
+ }
22
+ /**
23
+ * Slot context for #editor slot in TbwGridColumn.
24
+ *
25
+ * @example
26
+ * ```vue
27
+ * <TbwGridColumn field="name" editable>
28
+ * <template #editor="{ value, commit, cancel }">
29
+ * <input
30
+ * :value="value"
31
+ * @blur="commit($event.target.value)"
32
+ * @keydown.escape="cancel()"
33
+ * />
34
+ * </template>
35
+ * </TbwGridColumn>
36
+ * ```
37
+ */
38
+ export interface EditorSlotProps<TRow = unknown, TValue = unknown> {
39
+ /** The current cell value */
40
+ value: TValue;
41
+ /** The entire row data */
42
+ row: TRow;
43
+ /** The column configuration */
44
+ column: ColumnConfig<TRow>;
45
+ /** Commit the edit with new value */
46
+ commit: (newValue: TValue) => void;
47
+ /** Cancel the edit */
48
+ cancel: () => void;
49
+ }
50
+ //# sourceMappingURL=slot-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot-types.d.ts","sourceRoot":"","sources":["../../../../libs/grid-vue/src/lib/slot-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAa,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO;IAC7D,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,GAAG,EAAE,IAAI,CAAC;IACV,+BAA+B;IAC/B,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,eAAe,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO;IAC/D,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,GAAG,EAAE,IAAI,CAAC;IACV,+BAA+B;IAC/B,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3B,qCAAqC;IACrC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,sBAAsB;IACtB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB"}
@@ -0,0 +1,18 @@
1
+ import { VNode } from 'vue';
2
+ /**
3
+ * Context object passed to the tool panel slot.
4
+ */
5
+ export interface ToolPanelContext {
6
+ /** The grid element */
7
+ gridElement: HTMLElement;
8
+ }
9
+ /**
10
+ * Registry for tool panel renderers (per element)
11
+ */
12
+ export declare const toolPanelRegistry: WeakMap<HTMLElement, (ctx: ToolPanelContext) => VNode[] | undefined>;
13
+ /**
14
+ * Get the tool panel renderer for an element.
15
+ * @internal
16
+ */
17
+ export declare function getToolPanelRenderer(panelElement: HTMLElement): ((ctx: ToolPanelContext) => VNode[] | undefined) | undefined;
18
+ //# sourceMappingURL=tool-panel-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-panel-registry.d.ts","sourceRoot":"","sources":["../../../../libs/grid-vue/src/lib/tool-panel-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAEjC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,6BAAkC,gBAAgB,KAAK,KAAK,EAAE,GAAG,SAAS,CAAG,CAAC;AAE5G;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,WAAW,GACxB,CAAC,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,EAAE,GAAG,SAAS,CAAC,GAAG,SAAS,CAE9D"}
@@ -0,0 +1,68 @@
1
+ import { DataGridElement } from '@toolbox-web/grid';
2
+ import { Ref } from 'vue';
3
+ /**
4
+ * Grid event types and their payload types.
5
+ */
6
+ export interface GridEventMap {
7
+ 'cell-click': {
8
+ value: unknown;
9
+ row: unknown;
10
+ column: unknown;
11
+ rowIndex: number;
12
+ colIndex: number;
13
+ };
14
+ 'cell-dblclick': {
15
+ value: unknown;
16
+ row: unknown;
17
+ column: unknown;
18
+ rowIndex: number;
19
+ colIndex: number;
20
+ };
21
+ 'cell-commit': {
22
+ value: unknown;
23
+ oldValue: unknown;
24
+ row: unknown;
25
+ column: unknown;
26
+ };
27
+ 'row-commit': {
28
+ row: unknown;
29
+ changes: Record<string, unknown>;
30
+ };
31
+ 'selection-change': {
32
+ selectedRows: unknown[];
33
+ selectedCells: unknown[];
34
+ };
35
+ 'sort-change': {
36
+ field: string;
37
+ direction: 'asc' | 'desc' | null;
38
+ };
39
+ 'row-toggle': {
40
+ row: unknown;
41
+ expanded: boolean;
42
+ };
43
+ ready: undefined;
44
+ }
45
+ /**
46
+ * Composable for subscribing to grid events with automatic cleanup.
47
+ *
48
+ * @param eventName - The name of the grid event to listen for
49
+ * @param handler - The event handler function
50
+ * @param gridElement - Optional grid element ref (uses injected if not provided)
51
+ *
52
+ * @example
53
+ * ```vue
54
+ * <script setup>
55
+ * import { useGridEvent } from '@toolbox-web/grid-vue';
56
+ *
57
+ * useGridEvent('cell-commit', (event) => {
58
+ * console.log('Cell committed:', event.detail);
59
+ * });
60
+ *
61
+ * useGridEvent('selection-change', (event) => {
62
+ * console.log('Selection changed:', event.detail);
63
+ * });
64
+ * </script>
65
+ * ```
66
+ */
67
+ export declare function useGridEvent<K extends keyof GridEventMap>(eventName: K, handler: (event: CustomEvent<GridEventMap[K]>) => void, gridElement?: Ref<DataGridElement | null>): void;
68
+ //# sourceMappingURL=use-grid-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-grid-event.d.ts","sourceRoot":"","sources":["../../../../libs/grid-vue/src/lib/use-grid-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAA2C,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAGxE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACpG,eAAe,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACvG,aAAa,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IACpF,YAAY,EAAE;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACjE,kBAAkB,EAAE;QAAE,YAAY,EAAE,OAAO,EAAE,CAAC;QAAC,aAAa,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAC1E,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACnE,YAAY,EAAE;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAClD,KAAK,EAAE,SAAS,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,YAAY,EACvD,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EACtD,WAAW,CAAC,EAAE,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,GACxC,IAAI,CAgBN"}
@@ -0,0 +1,39 @@
1
+ import { DataGridElement } from '@toolbox-web/grid';
2
+ import { InjectionKey, Ref } from 'vue';
3
+ /**
4
+ * Injection key for the grid element.
5
+ */
6
+ export declare const GRID_ELEMENT_KEY: InjectionKey<Ref<DataGridElement | null>>;
7
+ /**
8
+ * Return type for useGrid composable.
9
+ */
10
+ export interface UseGridReturn {
11
+ /** The grid element reference */
12
+ gridElement: Ref<DataGridElement | null>;
13
+ /** Force a layout recalculation */
14
+ forceLayout: () => Promise<void>;
15
+ /** Get current grid configuration */
16
+ getConfig: () => ReturnType<DataGridElement['getConfig']> | undefined;
17
+ /** Wait for grid to be ready */
18
+ ready: () => Promise<void>;
19
+ /** Get a plugin by its class */
20
+ getPlugin: <T>(pluginClass: new (...args: unknown[]) => T) => T | undefined;
21
+ }
22
+ /**
23
+ * Composable for programmatic access to the grid.
24
+ *
25
+ * @example
26
+ * ```vue
27
+ * <script setup>
28
+ * import { useGrid } from '@toolbox-web/grid-vue';
29
+ *
30
+ * const { forceLayout, getConfig } = useGrid();
31
+ *
32
+ * async function handleResize() {
33
+ * await forceLayout();
34
+ * }
35
+ * </script>
36
+ * ```
37
+ */
38
+ export declare function useGrid(): UseGridReturn;
39
+ //# sourceMappingURL=use-grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-grid.d.ts","sourceRoot":"","sources":["../../../../libs/grid-vue/src/lib/use-grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAe,KAAK,YAAY,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,YAAY,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,CAAsB,CAAC;AAE9F;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,WAAW,EAAE,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACzC,mCAAmC;IACnC,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,qCAAqC;IACrC,SAAS,EAAE,MAAM,UAAU,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC;IACtE,gCAAgC;IAChC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,gCAAgC;IAChC,SAAS,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CAC7E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,IAAI,aAAa,CAkBvC"}
@@ -0,0 +1,69 @@
1
+ import { CellRenderContext, ColumnConfig, ColumnEditorContext, GridConfig } from '@toolbox-web/grid';
2
+ import { Component, VNode } from 'vue';
3
+ /**
4
+ * Vue component that can render a cell.
5
+ */
6
+ export type VueCellRenderer<TRow = unknown, TValue = unknown> = ((ctx: CellRenderContext<TRow, TValue>) => VNode) | Component;
7
+ /**
8
+ * Vue component that can render a cell editor.
9
+ */
10
+ export type VueCellEditor<TRow = unknown, TValue = unknown> = ((ctx: ColumnEditorContext<TRow, TValue>) => VNode) | Component;
11
+ /**
12
+ * Column configuration with Vue-specific renderer/editor support.
13
+ *
14
+ * Extends the base ColumnConfig with `renderer` and `editor` properties
15
+ * that accept Vue components or render functions.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * const columns: VueColumnConfig<Employee>[] = [
20
+ * { field: 'name', header: 'Name' },
21
+ * {
22
+ * field: 'status',
23
+ * header: 'Status',
24
+ * renderer: (ctx) => h(StatusBadge, { value: ctx.value }),
25
+ * editor: (ctx) => h(StatusSelect, {
26
+ * modelValue: ctx.value,
27
+ * 'onUpdate:modelValue': ctx.commit,
28
+ * }),
29
+ * },
30
+ * ];
31
+ * ```
32
+ */
33
+ export interface VueColumnConfig<TRow = unknown, TValue = unknown> extends Omit<ColumnConfig<TRow>, 'renderer' | 'editor'> {
34
+ /**
35
+ * Vue component or render function for custom cell rendering.
36
+ * Receives CellRenderContext with value, row, column, and indexes.
37
+ */
38
+ renderer?: VueCellRenderer<TRow, TValue>;
39
+ /**
40
+ * Vue component or render function for custom cell editing.
41
+ * Receives ColumnEditorContext with value, row, commit, and cancel functions.
42
+ */
43
+ editor?: VueCellEditor<TRow, TValue>;
44
+ }
45
+ /**
46
+ * Grid configuration with Vue-specific column support.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * const config: VueGridConfig<Employee> = {
51
+ * columns: [
52
+ * { field: 'name', header: 'Name' },
53
+ * {
54
+ * field: 'department',
55
+ * header: 'Department',
56
+ * renderer: (ctx) => h('span', { class: 'badge' }, ctx.value),
57
+ * },
58
+ * ],
59
+ * plugins: [new SelectionPlugin({ mode: 'row' })],
60
+ * };
61
+ * ```
62
+ */
63
+ export interface VueGridConfig<TRow = unknown> extends Omit<GridConfig<TRow>, 'columns'> {
64
+ /**
65
+ * Column definitions with Vue renderer/editor support.
66
+ */
67
+ columns?: VueColumnConfig<TRow>[];
68
+ }
69
+ //# sourceMappingURL=vue-column-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue-column-config.d.ts","sourceRoot":"","sources":["../../../../libs/grid-vue/src/lib/vue-column-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1G,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,IACxD,CAAC,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,KAAK,CAAC,GACjD,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,IACtD,CAAC,CAAC,GAAG,EAAE,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,KAAK,CAAC,GACnD,SAAS,CAAC;AAEd;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,eAAe,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,CAAE,SAAQ,IAAI,CAC7E,YAAY,CAAC,IAAI,CAAC,EAClB,UAAU,GAAG,QAAQ,CACtB;IACC;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEzC;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,aAAa,CAAC,IAAI,GAAG,OAAO,CAAE,SAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IACtF;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;CACnC"}
@@ -0,0 +1,94 @@
1
+ import { CellRenderContext, ColumnEditorContext, ColumnEditorSpec, ColumnViewRenderer, FrameworkAdapter } from '@toolbox-web/grid';
2
+ import { VNode } from 'vue';
3
+ /**
4
+ * Register a Vue cell renderer for a column element.
5
+ * Called by TbwGridColumn when it has a #cell slot.
6
+ */
7
+ export declare function registerColumnRenderer(element: HTMLElement, renderer: (ctx: CellRenderContext<unknown, unknown>) => VNode): void;
8
+ /**
9
+ * Register a Vue cell editor for a column element.
10
+ * Called by TbwGridColumn when it has an #editor slot.
11
+ */
12
+ export declare function registerColumnEditor(element: HTMLElement, editor: (ctx: ColumnEditorContext<unknown, unknown>) => VNode): void;
13
+ /**
14
+ * Get the renderer registered for a column element.
15
+ * Falls back to field-based lookup if WeakMap lookup fails.
16
+ */
17
+ export declare function getColumnRenderer(element: HTMLElement): ((ctx: CellRenderContext<unknown, unknown>) => VNode) | undefined;
18
+ /**
19
+ * Get the editor registered for a column element.
20
+ * Falls back to field-based lookup if WeakMap lookup fails.
21
+ */
22
+ export declare function getColumnEditor(element: HTMLElement): ((ctx: ColumnEditorContext<unknown, unknown>) => VNode) | undefined;
23
+ /**
24
+ * Get all registered field names.
25
+ * @internal - for testing only
26
+ */
27
+ export declare function getRegisteredFields(): string[];
28
+ /**
29
+ * Clear the field registries.
30
+ * @internal - for testing only
31
+ */
32
+ export declare function clearFieldRegistries(): void;
33
+ /**
34
+ * Framework adapter that enables Vue 3 component integration
35
+ * with the grid's light DOM configuration API.
36
+ *
37
+ * ## Usage
38
+ *
39
+ * The adapter is automatically registered when using the TbwGrid component.
40
+ * For advanced use cases, you can manually register:
41
+ *
42
+ * ```ts
43
+ * import { GridElement } from '@toolbox-web/grid';
44
+ * import { VueGridAdapter } from '@toolbox-web/grid-vue';
45
+ *
46
+ * // One-time registration
47
+ * GridElement.registerAdapter(new VueGridAdapter());
48
+ * ```
49
+ *
50
+ * ## Declarative usage with TbwGrid:
51
+ *
52
+ * ```vue
53
+ * <TbwGrid :rows="data" :grid-config="config">
54
+ * <TbwGridColumn field="status">
55
+ * <template #cell="{ value, row }">
56
+ * <StatusBadge :value="value" />
57
+ * </template>
58
+ * </TbwGridColumn>
59
+ * </TbwGrid>
60
+ * ```
61
+ */
62
+ export declare class VueGridAdapter implements FrameworkAdapter {
63
+ private mountedViews;
64
+ /**
65
+ * Determines if this adapter can handle the given element.
66
+ * Checks if a renderer or editor is registered for this element.
67
+ */
68
+ canHandle(element: HTMLElement): boolean;
69
+ /**
70
+ * Creates a view renderer function that renders a Vue component
71
+ * and returns its container DOM element.
72
+ */
73
+ createRenderer<TRow = unknown, TValue = unknown>(element: HTMLElement): ColumnViewRenderer<TRow, TValue>;
74
+ /**
75
+ * Creates an editor spec that renders a Vue component for cell editing.
76
+ * Returns a function that creates the editor DOM element.
77
+ */
78
+ createEditor<TRow = unknown, TValue = unknown>(element: HTMLElement): ColumnEditorSpec<TRow, TValue>;
79
+ /**
80
+ * Framework adapter hook called by MasterDetailPlugin during attach().
81
+ * Parses the <tbw-grid-detail> element and returns a Vue-based renderer.
82
+ */
83
+ parseDetailElement<TRow = unknown>(detailElement: Element): ((row: TRow, rowIndex: number) => HTMLElement) | undefined;
84
+ /**
85
+ * Framework adapter hook called by ResponsivePlugin during attach().
86
+ * Parses the <tbw-grid-responsive-card> element and returns a Vue-based renderer.
87
+ */
88
+ parseResponsiveCardElement<TRow = unknown>(cardElement: Element): ((row: TRow, rowIndex: number) => HTMLElement) | undefined;
89
+ /**
90
+ * Cleanup all mounted Vue apps.
91
+ */
92
+ cleanup(): void;
93
+ }
94
+ //# sourceMappingURL=vue-grid-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue-grid-adapter.d.ts","sourceRoot":"","sources":["../../../../libs/grid-vue/src/lib/vue-grid-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAuB,KAAK,KAAK,EAAE,MAAM,KAAK,CAAC;AAkBtD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,GAC5D,IAAI,CAaN;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,GAC5D,IAAI,CAYN;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,GACnB,CAAC,CAAC,GAAG,EAAE,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,CAAC,GAAG,SAAS,CAYnE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,GACnB,CAAC,CAAC,GAAG,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,CAAC,GAAG,SAAS,CAYrE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,cAAe,YAAW,gBAAgB;IACrD,OAAO,CAAC,YAAY,CAAqB;IAEzC;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAkBxC;;;OAGG;IACH,cAAc,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC;IAsExG;;;OAGG;IACH,YAAY,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC;IA0BpG;;;OAGG;IACH,kBAAkB,CAAC,IAAI,GAAG,OAAO,EAC/B,aAAa,EAAE,OAAO,GACrB,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,WAAW,CAAC,GAAG,SAAS;IAiC7D;;;OAGG;IACH,0BAA0B,CAAC,IAAI,GAAG,OAAO,EACvC,WAAW,EAAE,OAAO,GACnB,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,WAAW,CAAC,GAAG,SAAS;IAiC7D;;OAEG;IACH,OAAO,IAAI,IAAI;CAWhB"}
package/package.json CHANGED
@@ -1,7 +1,56 @@
1
1
  {
2
2
  "name": "@toolbox-web/grid-vue",
3
- "version": "0.0.0",
4
- "description": "Vue 3 adapter for @toolbox-web/grid - placeholder release",
3
+ "version": "0.1.0",
4
+ "description": "Vue 3 adapter for @toolbox-web/grid data grid component",
5
+ "type": "module",
6
+ "main": "./index.js",
7
+ "module": "./index.js",
8
+ "types": "./index.d.ts",
9
+ "exports": {
10
+ "./package.json": "./package.json",
11
+ ".": {
12
+ "types": "./index.d.ts",
13
+ "import": "./index.js",
14
+ "default": "./index.js"
15
+ },
16
+ "./features": {
17
+ "types": "./features/index.d.ts",
18
+ "import": "./features/index.js",
19
+ "default": "./features/index.js"
20
+ },
21
+ "./features/*": {
22
+ "types": "./features/*.d.ts",
23
+ "import": "./features/*.js",
24
+ "default": "./features/*.js"
25
+ }
26
+ },
27
+ "keywords": [
28
+ "vue",
29
+ "vue3",
30
+ "data-grid",
31
+ "web-component",
32
+ "toolbox-web"
33
+ ],
5
34
  "license": "MIT",
6
- "publishConfig": { "access": "public" }
35
+ "author": "Oystein Amundsen",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/OysteinAmundsen/toolbox.git",
39
+ "directory": "libs/grid-vue"
40
+ },
41
+ "homepage": "https://toolboxjs.com",
42
+ "bugs": {
43
+ "url": "https://github.com/OysteinAmundsen/toolbox/issues"
44
+ },
45
+ "publishConfig": {
46
+ "access": "public"
47
+ },
48
+ "devDependencies": {
49
+ "vue": "^3.5.0",
50
+ "@toolbox-web/grid": ">=1.0.0"
51
+ },
52
+ "peerDependencies": {
53
+ "vue": ">=3.3.0",
54
+ "@toolbox-web/grid": ">=1.0.0"
55
+ }
7
56
  }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * TypeDoc entry point for @toolbox-web/grid-vue.
3
+ *
4
+ * This file excludes Vue SFC components (which TypeDoc cannot parse) and only
5
+ * exports TypeScript-based APIs: composables, types, registries, and adapters.
6
+ *
7
+ * For component documentation, see the GettingStarted.mdx and AdvancedUsage.mdx guides.
8
+ *
9
+ * @packageDocumentation
10
+ * @module @toolbox-web/grid-vue
11
+ */
12
+ export type { DetailPanelContext } from './lib/detail-panel-registry';
13
+ export type { ResponsiveCardContext } from './lib/responsive-card-registry';
14
+ export type { CellSlotProps, EditorSlotProps } from './lib/slot-types';
15
+ export type { ToolPanelContext } from './lib/tool-panel-registry';
16
+ export { VueGridAdapter } from './lib/vue-grid-adapter';
17
+ export { GRID_ELEMENT_KEY, useGrid } from './lib/use-grid';
18
+ export type { UseGridReturn } from './lib/use-grid';
19
+ export { useGridEvent } from './lib/use-grid-event';
20
+ export type { GridEventMap } from './lib/use-grid-event';
21
+ export type { VueCellEditor, VueCellRenderer, VueColumnConfig, VueGridConfig } from './lib/vue-column-config';
22
+ export type { AllFeatureProps, FeatureProps } from './lib/feature-props';
23
+ export { clearFeatureRegistry, createPluginFromFeature, getFeatureFactory, getRegisteredFeatures, isFeatureRegistered, registerFeature, } from './lib/feature-registry';
24
+ export type { FeatureName, PluginFactory } from './lib/feature-registry';
25
+ export { GRID_TYPE_DEFAULTS, GridTypeProvider, useGridTypeDefaults, useTypeDefault } from './lib/grid-type-registry';
26
+ export type { GridTypeProviderProps, TypeDefaultsMap, VueTypeDefault } from './lib/grid-type-registry';
27
+ export { GRID_ICONS, GridIconProvider, useGridIcons } from './lib/grid-icon-registry';
28
+ export type { GridIconProviderProps } from './lib/grid-icon-registry';
29
+ export { GridProvider } from './lib/grid-provider';
30
+ export type { GridProviderProps } from './lib/grid-provider';
31
+ //# sourceMappingURL=typedoc-entry.d.ts.map