@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,23 @@
1
+ /**
2
+ * Tree view feature for @toolbox-web/grid-vue
3
+ *
4
+ * Import this module to enable the `tree` prop on TbwGrid.
5
+ *
6
+ * @example
7
+ * ```vue
8
+ * <script setup>
9
+ * import '@toolbox-web/grid-vue/features/tree';
10
+ * </script>
11
+ *
12
+ * <template>
13
+ * <TbwGrid :tree="{
14
+ * childrenField: 'children',
15
+ * defaultExpanded: true,
16
+ * }" />
17
+ * </template>
18
+ * ```
19
+ *
20
+ * @packageDocumentation
21
+ */
22
+ export {};
23
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../libs/grid-vue/src/features/tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG"}
@@ -0,0 +1,4 @@
1
+ import { TreePlugin as e } from "@toolbox-web/grid/plugins/tree";
2
+ import { r as t } from "../chunks/feature-registry-BgEOysSJ.js";
3
+ t("tree", (r) => r === !0 ? new e() : new e(r ?? void 0));
4
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","sources":["../../../../libs/grid-vue/src/features/tree.ts"],"sourcesContent":["/**\n * Tree view feature for @toolbox-web/grid-vue\n *\n * Import this module to enable the `tree` prop on TbwGrid.\n *\n * @example\n * ```vue\n * <script setup>\n * import '@toolbox-web/grid-vue/features/tree';\n * </script>\n *\n * <template>\n * <TbwGrid :tree=\"{\n * childrenField: 'children',\n * defaultExpanded: true,\n * }\" />\n * </template>\n * ```\n *\n * @packageDocumentation\n */\n\nimport { TreePlugin } from '@toolbox-web/grid/plugins/tree';\nimport { registerFeature } from '../lib/feature-registry';\n\nregisterFeature('tree', (config) => {\n if (config === true) {\n return new TreePlugin();\n }\n return new TreePlugin(config ?? undefined);\n});\n"],"names":["registerFeature","config","TreePlugin"],"mappings":";;AAyBAA,EAAgB,QAAQ,CAACC,MACnBA,MAAW,KACN,IAAIC,EAAA,IAEN,IAAIA,EAAWD,KAAU,MAAS,CAC1C;"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Undo/Redo feature for @toolbox-web/grid-vue
3
+ *
4
+ * Import this module to enable the `undoRedo` prop on TbwGrid.
5
+ *
6
+ * @example
7
+ * ```vue
8
+ * <script setup>
9
+ * import '@toolbox-web/grid-vue/features/undo-redo';
10
+ * </script>
11
+ *
12
+ * <template>
13
+ * <TbwGrid editing="dblclick" undoRedo />
14
+ * </template>
15
+ * ```
16
+ *
17
+ * @packageDocumentation
18
+ */
19
+ export {};
20
+ //# sourceMappingURL=undo-redo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undo-redo.d.ts","sourceRoot":"","sources":["../../../../libs/grid-vue/src/features/undo-redo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
@@ -0,0 +1,4 @@
1
+ import { UndoRedoPlugin as e } from "@toolbox-web/grid/plugins/undo-redo";
2
+ import { r as o } from "../chunks/feature-registry-BgEOysSJ.js";
3
+ o("undoRedo", (r) => r === !0 ? new e() : new e(r ?? void 0));
4
+ //# sourceMappingURL=undo-redo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undo-redo.js","sources":["../../../../libs/grid-vue/src/features/undo-redo.ts"],"sourcesContent":["/**\n * Undo/Redo feature for @toolbox-web/grid-vue\n *\n * Import this module to enable the `undoRedo` prop on TbwGrid.\n *\n * @example\n * ```vue\n * <script setup>\n * import '@toolbox-web/grid-vue/features/undo-redo';\n * </script>\n *\n * <template>\n * <TbwGrid editing=\"dblclick\" undoRedo />\n * </template>\n * ```\n *\n * @packageDocumentation\n */\n\nimport { UndoRedoPlugin } from '@toolbox-web/grid/plugins/undo-redo';\nimport { registerFeature } from '../lib/feature-registry';\n\nregisterFeature('undoRedo', (config) => {\n if (config === true) {\n return new UndoRedoPlugin();\n }\n return new UndoRedoPlugin(config ?? undefined);\n});\n"],"names":["registerFeature","config","UndoRedoPlugin"],"mappings":";;AAsBAA,EAAgB,YAAY,CAACC,MACvBA,MAAW,KACN,IAAIC,EAAA,IAEN,IAAIA,EAAeD,KAAU,MAAS,CAC9C;"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Column visibility feature for @toolbox-web/grid-vue
3
+ *
4
+ * Import this module to enable the `visibility` prop on TbwGrid.
5
+ *
6
+ * @example
7
+ * ```vue
8
+ * <script setup>
9
+ * import '@toolbox-web/grid-vue/features/visibility';
10
+ * </script>
11
+ *
12
+ * <template>
13
+ * <TbwGrid visibility />
14
+ * </template>
15
+ * ```
16
+ *
17
+ * @packageDocumentation
18
+ */
19
+ export {};
20
+ //# sourceMappingURL=visibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../../../libs/grid-vue/src/features/visibility.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
@@ -0,0 +1,4 @@
1
+ import { VisibilityPlugin as r } from "@toolbox-web/grid/plugins/visibility";
2
+ import { r as e } from "../chunks/feature-registry-BgEOysSJ.js";
3
+ e("visibility", (i) => i === !0 ? new r() : new r(i ?? void 0));
4
+ //# sourceMappingURL=visibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visibility.js","sources":["../../../../libs/grid-vue/src/features/visibility.ts"],"sourcesContent":["/**\n * Column visibility feature for @toolbox-web/grid-vue\n *\n * Import this module to enable the `visibility` prop on TbwGrid.\n *\n * @example\n * ```vue\n * <script setup>\n * import '@toolbox-web/grid-vue/features/visibility';\n * </script>\n *\n * <template>\n * <TbwGrid visibility />\n * </template>\n * ```\n *\n * @packageDocumentation\n */\n\nimport { VisibilityPlugin } from '@toolbox-web/grid/plugins/visibility';\nimport { registerFeature } from '../lib/feature-registry';\n\nregisterFeature('visibility', (config) => {\n if (config === true) {\n return new VisibilityPlugin();\n }\n return new VisibilityPlugin(config ?? undefined);\n});\n"],"names":["registerFeature","config","VisibilityPlugin"],"mappings":";;AAsBAA,EAAgB,cAAc,CAACC,MACzBA,MAAW,KACN,IAAIC,EAAA,IAEN,IAAIA,EAAiBD,KAAU,MAAS,CAChD;"}
package/index.d.ts ADDED
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * @toolbox-web/grid-vue - Vue 3 adapter for @toolbox-web/grid.
4
+ *
5
+ * Vue 3 adapter library providing:
6
+ * - TbwGrid wrapper component with reactive props and feature props
7
+ * - TbwGridColumn for declarative column definitions with slots
8
+ * - Slot-based renderers: `<template #cell="{ value, row }">`
9
+ * - Slot-based editors: `<template #editor="{ value, commit, cancel }">`
10
+ * - TbwGridDetailPanel for master-detail layouts
11
+ * - TbwGridToolPanel for custom sidebar panels
12
+ * - TbwGridResponsiveCard for responsive card layouts
13
+ * - GridTypeProvider for application-wide type defaults
14
+ * - GridIconProvider for application-wide icon overrides
15
+ * - Feature props: selection, editing, filtering, etc. (tree-shakeable)
16
+ * - Composables: useGrid(), useGridEvent()
17
+ * - TypeScript generics for row type safety
18
+ *
19
+ * @example
20
+ * ```vue
21
+ * <script setup lang="ts">
22
+ * import { TbwGrid, TbwGridColumn } from '@toolbox-web/grid-vue';
23
+ * import '@toolbox-web/grid-vue/features/selection';
24
+ * import { ref } from 'vue';
25
+ *
26
+ * interface Employee { id: number; name: string; status: string; }
27
+ * const employees = ref<Employee[]>([...]);
28
+ * </script>
29
+ *
30
+ * <template>
31
+ * <TbwGrid :rows="employees" selection="range">
32
+ * <TbwGridColumn field="name" header="Name" />
33
+ * <TbwGridColumn field="status" header="Status">
34
+ * <template #cell="{ value }">
35
+ * <StatusBadge :value="value" />
36
+ * </template>
37
+ * </TbwGridColumn>
38
+ * </TbwGrid>
39
+ * </template>
40
+ * ```
41
+ */
42
+ export { default as TbwGrid } from './lib/TbwGrid.vue';
43
+ export { default as TbwGridColumn } from './lib/TbwGridColumn.vue';
44
+ export { default as TbwGridDetailPanel } from './lib/TbwGridDetailPanel.vue';
45
+ export { default as TbwGridResponsiveCard } from './lib/TbwGridResponsiveCard.vue';
46
+ export { default as TbwGridToolButtons } from './lib/TbwGridToolButtons.vue';
47
+ export { default as TbwGridToolPanel } from './lib/TbwGridToolPanel.vue';
48
+ export type { DetailPanelContext } from './lib/detail-panel-registry';
49
+ export type { ResponsiveCardContext } from './lib/responsive-card-registry';
50
+ export type { CellSlotProps, EditorSlotProps } from './lib/slot-types';
51
+ export type { ToolPanelContext } from './lib/tool-panel-registry';
52
+ export { VueGridAdapter } from './lib/vue-grid-adapter';
53
+ export { GRID_ELEMENT_KEY, useGrid } from './lib/use-grid';
54
+ export type { UseGridReturn } from './lib/use-grid';
55
+ export { useGridEvent } from './lib/use-grid-event';
56
+ export type { GridEventMap } from './lib/use-grid-event';
57
+ export type { VueCellEditor, VueCellRenderer, VueColumnConfig, VueGridConfig } from './lib/vue-column-config';
58
+ export type { AllFeatureProps, FeatureProps } from './lib/feature-props';
59
+ export { clearFeatureRegistry, createPluginFromFeature, getFeatureFactory, getRegisteredFeatures, isFeatureRegistered, registerFeature, } from './lib/feature-registry';
60
+ export type { FeatureName, PluginFactory } from './lib/feature-registry';
61
+ export { GRID_TYPE_DEFAULTS, GridTypeProvider, useGridTypeDefaults, useTypeDefault } from './lib/grid-type-registry';
62
+ export type { GridTypeProviderProps, TypeDefaultsMap, VueTypeDefault } from './lib/grid-type-registry';
63
+ export { GRID_ICONS, GridIconProvider, useGridIcons } from './lib/grid-icon-registry';
64
+ export type { GridIconProviderProps } from './lib/grid-icon-registry';
65
+ export { GridProvider } from './lib/grid-provider';
66
+ export type { GridProviderProps } from './lib/grid-provider';
67
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../libs/grid-vue/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAGH,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAGzE,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG9G,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGzE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrH,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGvG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtF,YAAY,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}