@vmscloud/moz-ui-grid-vue 0.1.41

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 (213) hide show
  1. package/README.md +71 -0
  2. package/dist/MozGrid.vue.d.ts +127 -0
  3. package/dist/bridge/VueRenderer.d.ts +37 -0
  4. package/dist/bridge/fieldBuilder.d.ts +9 -0
  5. package/dist/bridge/lifecycle.d.ts +6 -0
  6. package/dist/bridge/templateRegistry.d.ts +8 -0
  7. package/dist/chunks/index-BDQ0HlwR.js +3404 -0
  8. package/dist/chunks/index-D5KJLBGW.cjs +14 -0
  9. package/dist/chunks/notification.contract-BTOch6ed.js +16 -0
  10. package/dist/chunks/notification.contract-oFkBaE2U.cjs +1 -0
  11. package/dist/compat/MozGridVue.vue.d.ts +645 -0
  12. package/dist/compat/MozPivotVue.vue.d.ts +606 -0
  13. package/dist/compat/index.d.ts +9 -0
  14. package/dist/compat/legacyGridAliases.d.ts +8 -0
  15. package/dist/composables/useGridPreset.d.ts +19 -0
  16. package/dist/contracts/UserLayoutInstance.d.ts +38 -0
  17. package/dist/contracts/notification.contract.d.ts +41 -0
  18. package/dist/contracts/userLayout.contract.d.ts +16 -0
  19. package/dist/index.cjs +26 -0
  20. package/dist/index.d.ts +24 -0
  21. package/dist/index.js +90599 -0
  22. package/dist/legacy/components/common/Dragging.d.ts +17 -0
  23. package/dist/legacy/components/common/Dragging.vue.d.ts +49 -0
  24. package/dist/legacy/components/common/custom-cell/FormulaEngine.d.ts +256 -0
  25. package/dist/legacy/components/common/custom-cell/FormulaInput.vue.d.ts +33 -0
  26. package/dist/legacy/components/common/custom-cell/GridCustomCell.vue.d.ts +23 -0
  27. package/dist/legacy/components/common/custom-cell/useFormulaAutocomplete.d.ts +44 -0
  28. package/dist/legacy/components/common/excel/ClientExcelUploadPopup.vue.d.ts +201 -0
  29. package/dist/legacy/components/common/excel/assets/IconDropZone.vue.d.ts +2 -0
  30. package/dist/legacy/components/common/excel/assets/IconFileUpload.vue.d.ts +2 -0
  31. package/dist/legacy/components/common/filter/GridFilter.vue.d.ts +23 -0
  32. package/dist/legacy/components/common/footer/GridFooter.vue.d.ts +29 -0
  33. package/dist/legacy/components/common/sort/GridSort.vue.d.ts +23 -0
  34. package/dist/legacy/components/common/toolbar/GridSearchInput.vue.d.ts +33 -0
  35. package/dist/legacy/components/grid/MozGridVue.vue.d.ts +2041 -0
  36. package/dist/legacy/components/grid/MozGridVueCore.vue.d.ts +118 -0
  37. package/dist/legacy/components/grid/bulk-editor/GridBulkEditor.vue.d.ts +10 -0
  38. package/dist/legacy/components/grid/column-settings/AlignPicker.vue.d.ts +10 -0
  39. package/dist/legacy/components/grid/column-settings/ColorSwatchPicker.vue.d.ts +11 -0
  40. package/dist/legacy/components/grid/column-settings/ColumnListItem.vue.d.ts +17 -0
  41. package/dist/legacy/components/grid/column-settings/ColumnOptionsPanel.vue.d.ts +32 -0
  42. package/dist/legacy/components/grid/column-settings/FontSizePicker.vue.d.ts +10 -0
  43. package/dist/legacy/components/grid/column-settings/FontStyleToggles.vue.d.ts +15 -0
  44. package/dist/legacy/components/grid/column-settings/MaskPresetPicker.vue.d.ts +14 -0
  45. package/dist/legacy/components/grid/context-menu/GridContextMenu.vue.d.ts +208 -0
  46. package/dist/legacy/components/grid/group-panel/GroupPanel.vue.d.ts +18 -0
  47. package/dist/legacy/components/grid/toolbar/ColumnPicker.vue.d.ts +17 -0
  48. package/dist/legacy/components/grid/toolbar/ColumnSettings.vue.d.ts +30 -0
  49. package/dist/legacy/components/grid/toolbar/GridOptionModal.vue.d.ts +211 -0
  50. package/dist/legacy/components/grid/toolbar/GridToolBox.vue.d.ts +69 -0
  51. package/dist/legacy/components/pivot/MozPivotVue.vue.d.ts +1868 -0
  52. package/dist/legacy/components/pivot/PivotContextMenu.vue.d.ts +634 -0
  53. package/dist/legacy/components/pivot/PivotFieldChip.vue.d.ts +16 -0
  54. package/dist/legacy/components/pivot/PivotFieldDropZone.vue.d.ts +26 -0
  55. package/dist/legacy/components/pivot/PivotFieldPanel.vue.d.ts +28 -0
  56. package/dist/legacy/components/pivot/PivotOptionModal.vue.d.ts +534 -0
  57. package/dist/legacy/components/pivot/PivotToolBox.vue.d.ts +79 -0
  58. package/dist/legacy/components/pivot/chart/EChart.vue.d.ts +13 -0
  59. package/dist/legacy/components/pivot/chart/MozPivotChart.types.d.ts +16 -0
  60. package/dist/legacy/components/pivot/chart/MozPivotChart.vue.d.ts +14 -0
  61. package/dist/legacy/components/pivot/chart/PivotChartDetail.vue.d.ts +13 -0
  62. package/dist/legacy/components/pivot/chart/PivotChartMini.vue.d.ts +18 -0
  63. package/dist/legacy/components/pivot/chart/PivotChartMultiple.vue.d.ts +18 -0
  64. package/dist/legacy/components/pivot/chart/PivotChartToolbar.vue.d.ts +38 -0
  65. package/dist/legacy/components/pivot/chart/chartUtils.d.ts +45 -0
  66. package/dist/legacy/components/pivot/chart/useChartData.d.ts +35 -0
  67. package/dist/legacy/composables/useCellTooltip.d.ts +8 -0
  68. package/dist/legacy/composables/useClientExcelExport.d.ts +24 -0
  69. package/dist/legacy/composables/useClientExcelStore.d.ts +16 -0
  70. package/dist/legacy/composables/useColumnFormatter.d.ts +45 -0
  71. package/dist/legacy/composables/useColumnSettings.d.ts +35 -0
  72. package/dist/legacy/composables/useContextMenu.d.ts +71 -0
  73. package/dist/legacy/composables/useGridBulkEditor.d.ts +36 -0
  74. package/dist/legacy/composables/useGridChanges.d.ts +28 -0
  75. package/dist/legacy/composables/useGridColumns.d.ts +37 -0
  76. package/dist/legacy/composables/useGridCustomCell.d.ts +34 -0
  77. package/dist/legacy/composables/useGridEvents.d.ts +14 -0
  78. package/dist/legacy/composables/useGridFilter.d.ts +38 -0
  79. package/dist/legacy/composables/useGridInstance.d.ts +16 -0
  80. package/dist/legacy/composables/useGridSelect.d.ts +18 -0
  81. package/dist/legacy/composables/useGridSelection.d.ts +18 -0
  82. package/dist/legacy/composables/useGridSort.d.ts +38 -0
  83. package/dist/legacy/composables/useGridUndoRedo.d.ts +28 -0
  84. package/dist/legacy/composables/useGridValidation.d.ts +28 -0
  85. package/dist/legacy/composables/useMaskPresets.d.ts +38 -0
  86. package/dist/legacy/composables/useSearchHighlight.d.ts +12 -0
  87. package/dist/legacy/icons/IconAdd.vue.d.ts +11 -0
  88. package/dist/legacy/icons/IconArrowDownWithTail.vue.d.ts +11 -0
  89. package/dist/legacy/icons/IconArrowLeft.vue.d.ts +11 -0
  90. package/dist/legacy/icons/IconArrowLeftWithTail.vue.d.ts +11 -0
  91. package/dist/legacy/icons/IconArrowRight.vue.d.ts +11 -0
  92. package/dist/legacy/icons/IconArrowUpCenter.vue.d.ts +11 -0
  93. package/dist/legacy/icons/IconArrowUpWithTail.vue.d.ts +11 -0
  94. package/dist/legacy/icons/IconChart.vue.d.ts +11 -0
  95. package/dist/legacy/icons/IconClose.vue.d.ts +13 -0
  96. package/dist/legacy/icons/IconColorPicker.vue.d.ts +11 -0
  97. package/dist/legacy/icons/IconCustomCell.vue.d.ts +11 -0
  98. package/dist/legacy/icons/IconDecide.vue.d.ts +11 -0
  99. package/dist/legacy/icons/IconDownload.vue.d.ts +11 -0
  100. package/dist/legacy/icons/IconDragHandler.vue.d.ts +11 -0
  101. package/dist/legacy/icons/IconFilter.vue.d.ts +11 -0
  102. package/dist/legacy/icons/IconInfoFilled.vue.d.ts +11 -0
  103. package/dist/legacy/icons/IconRedo.vue.d.ts +9 -0
  104. package/dist/legacy/icons/IconReset.vue.d.ts +9 -0
  105. package/dist/legacy/icons/IconResetGridToolbar.vue.d.ts +11 -0
  106. package/dist/legacy/icons/IconSearch.vue.d.ts +11 -0
  107. package/dist/legacy/icons/IconSetting.vue.d.ts +11 -0
  108. package/dist/legacy/icons/IconSettingFilled.vue.d.ts +11 -0
  109. package/dist/legacy/icons/IconSort.vue.d.ts +11 -0
  110. package/dist/legacy/icons/IconToastWarning.vue.d.ts +11 -0
  111. package/dist/legacy/icons/IconUndo.vue.d.ts +9 -0
  112. package/dist/legacy/icons/index.d.ts +25 -0
  113. package/dist/legacy/index.d.ts +69 -0
  114. package/dist/legacy/shared/colorPresets.d.ts +36 -0
  115. package/dist/legacy/store/UploadRefreshRegistry.d.ts +5 -0
  116. package/dist/legacy/store/excelStore.d.ts +89 -0
  117. package/dist/legacy/store/index.d.ts +231 -0
  118. package/dist/legacy/stores/index.d.ts +2 -0
  119. package/dist/legacy/stores/projectInfo/projectInfo.contract.d.ts +130 -0
  120. package/dist/legacy/stories/Autofit.stories.d.ts +9 -0
  121. package/dist/legacy/stories/CRUD.stories.d.ts +9 -0
  122. package/dist/legacy/stories/CellAttributes.stories.d.ts +19 -0
  123. package/dist/legacy/stories/CellMask.stories.d.ts +19 -0
  124. package/dist/legacy/stories/ClientExcel.stories.d.ts +8 -0
  125. package/dist/legacy/stories/Clipboard.stories.d.ts +12 -0
  126. package/dist/legacy/stories/ColumnVisibility.stories.d.ts +12 -0
  127. package/dist/legacy/stories/ColumnWidths.stories.d.ts +11 -0
  128. package/dist/legacy/stories/CustomSortFilter.stories.d.ts +7 -0
  129. package/dist/legacy/stories/DynamicRowHeight.stories.d.ts +13 -0
  130. package/dist/legacy/stories/Editors.stories.d.ts +9 -0
  131. package/dist/legacy/stories/EmptyState.stories.d.ts +10 -0
  132. package/dist/legacy/stories/FormatRow.stories.d.ts +20 -0
  133. package/dist/legacy/stories/Grouping.stories.d.ts +14 -0
  134. package/dist/legacy/stories/HeaderGroup.stories.d.ts +11 -0
  135. package/dist/legacy/stories/LargeData.stories.d.ts +19 -0
  136. package/dist/legacy/stories/MasterDetail.stories.d.ts +17 -0
  137. package/dist/legacy/stories/Merge.stories.d.ts +10 -0
  138. package/dist/legacy/stories/MultiRow.stories.d.ts +12 -0
  139. package/dist/legacy/stories/MultiRowCrud.stories.d.ts +11 -0
  140. package/dist/legacy/stories/MultiRowGroup.stories.d.ts +11 -0
  141. package/dist/legacy/stories/Pinning.stories.d.ts +44 -0
  142. package/dist/legacy/stories/Pivot.stories.d.ts +23 -0
  143. package/dist/legacy/stories/PivotAdvanced.stories.d.ts +20 -0
  144. package/dist/legacy/stories/PivotChart.stories.d.ts +23 -0
  145. package/dist/legacy/stories/PivotNonNumeric.stories.d.ts +27 -0
  146. package/dist/legacy/stories/Preset.stories.d.ts +11 -0
  147. package/dist/legacy/stories/ReactiveAPI.stories.d.ts +8 -0
  148. package/dist/legacy/stories/ReactiveSafety.stories.d.ts +28 -0
  149. package/dist/legacy/stories/Repro.stories.d.ts +36 -0
  150. package/dist/legacy/stories/RowAPI.stories.d.ts +12 -0
  151. package/dist/legacy/stories/SelectionModes.stories.d.ts +35 -0
  152. package/dist/legacy/stories/Streaming.stories.d.ts +12 -0
  153. package/dist/legacy/stories/Tree.stories.d.ts +13 -0
  154. package/dist/legacy/stories/WorkerMode.stories.d.ts +15 -0
  155. package/dist/legacy/stories/_helpers/localDataLoader.d.ts +7 -0
  156. package/dist/legacy/stories/_helpers/sampleData.d.ts +117 -0
  157. package/dist/legacy/types/FileParameter.d.ts +31 -0
  158. package/dist/legacy/types/StreamingParameter.d.ts +18 -0
  159. package/dist/legacy/types/excel.types.d.ts +48 -0
  160. package/dist/legacy/types/index.d.ts +10 -0
  161. package/dist/legacy/types/pivot-props.d.ts +140 -0
  162. package/dist/legacy/types/props.d.ts +176 -0
  163. package/dist/legacy/types/toolbar.d.ts +225 -0
  164. package/dist/legacy/utils/async/debounce.d.ts +4 -0
  165. package/dist/legacy/utils/crypto/crypto.d.ts +7 -0
  166. package/dist/legacy/utils/dialog/dialog.d.ts +19 -0
  167. package/dist/legacy/utils/excel/ExcelGuard.d.ts +73 -0
  168. package/dist/legacy/utils/excel/ExcelImportUtil.d.ts +34 -0
  169. package/dist/legacy/utils/excel/ExcelQueueManager.d.ts +57 -0
  170. package/dist/legacy/utils/excel/ExcelTaskRunner.d.ts +17 -0
  171. package/dist/legacy/utils/excel/ExcelTimeoutManager.d.ts +37 -0
  172. package/dist/legacy/utils/file.d.ts +34 -0
  173. package/dist/legacy/utils/http/rest.d.ts +5 -0
  174. package/dist/legacy/utils/id/generator.d.ts +2 -0
  175. package/dist/legacy/utils/index.d.ts +10 -0
  176. package/dist/store.cjs +1 -0
  177. package/dist/store.js +8 -0
  178. package/dist/stories/ColumnLockVisible.stories.d.ts +42 -0
  179. package/dist/stories/DateBooleanFilter.stories.d.ts +42 -0
  180. package/dist/stories/DisplayedRowApi.stories.d.ts +28 -0
  181. package/dist/stories/FieldId.stories.d.ts +113 -0
  182. package/dist/stories/GroupPanelWithoutToolbox.stories.d.ts +28 -0
  183. package/dist/stories/GroupRowRecycle.stories.d.ts +45 -0
  184. package/dist/stories/GroupTreeExpandNav.stories.d.ts +41 -0
  185. package/dist/stories/LargeData.stories.d.ts +20 -0
  186. package/dist/stories/MozGrid.stories.d.ts +51 -0
  187. package/dist/stories/PivotBarInitiallyOpen.stories.d.ts +69 -0
  188. package/dist/stories/PivotBarWithoutToolbox.stories.d.ts +39 -0
  189. package/dist/stories/SelectionApiPlayground.stories.d.ts +28 -0
  190. package/dist/stories/SingleSelectionModes.stories.d.ts +47 -0
  191. package/dist/stories/WideColumns.stories.d.ts +17 -0
  192. package/dist/style.css +1 -0
  193. package/dist/templates/CellEditor.d.ts +27 -0
  194. package/dist/templates/CellTemplate.d.ts +27 -0
  195. package/dist/templates/DetailTemplate.d.ts +60 -0
  196. package/dist/templates/GroupTemplate.d.ts +17 -0
  197. package/dist/templates/HeaderTemplate.d.ts +25 -0
  198. package/dist/types/injection-keys.d.ts +24 -0
  199. package/dist/types/slots.d.ts +49 -0
  200. package/dist/utils/excel/ExcelGuard.cjs +1 -0
  201. package/dist/utils/excel/ExcelGuard.js +74 -0
  202. package/dist/utils/excel/ExcelImportUtil.cjs +1 -0
  203. package/dist/utils/excel/ExcelImportUtil.js +61 -0
  204. package/dist/utils/excel/ExcelQueueManager.cjs +1 -0
  205. package/dist/utils/excel/ExcelQueueManager.js +10 -0
  206. package/dist/utils/excel/ExcelTaskRunner.cjs +1 -0
  207. package/dist/utils/excel/ExcelTaskRunner.js +12 -0
  208. package/dist/utils/excel/ExcelTimeoutManager.cjs +1 -0
  209. package/dist/utils/excel/ExcelTimeoutManager.js +420 -0
  210. package/docs/manual/examples.md +2385 -0
  211. package/docs/manual/reference.md +4695 -0
  212. package/docs/manual/reference_vue.md +709 -0
  213. package/package.json +129 -0
package/README.md ADDED
@@ -0,0 +1,71 @@
1
+ # @vmscloud/moz-ui-grid-vue
2
+
3
+ `@vmscloud/moz-ui-grid-core`의 Vue 3 wrapping 라이브러리입니다. 컴포넌트 `MozGrid`는 바닐라 `GridChrome`(`@vmscloud/moz-ui-grid-wrapper`)을 얇게 감싸는 어댑터입니다. React 버전(`@vmscloud/moz-ui-grid-react`)과 외관·동작·API가 동등합니다.
4
+
5
+ ## 설치
6
+
7
+ ```bash
8
+ pnpm add @vmscloud/moz-ui-grid-vue vue
9
+ ```
10
+
11
+ npmjs 공개 패키지라 레지스트리 설정이나 토큰 없이 설치됩니다.
12
+ 예전에 `.npmrc`에 넣어 둔 `@vmscloud:registry=https://npm.pkg.github.com` 매핑은 제거하세요.
13
+
14
+ 단, 필수 peerDependency인 `@vmscloud/moz-ui-components`는 아직 GitHub Packages(private)에만 있습니다.
15
+ 같은 스코프를 두 레지스트리에 동시에 매핑할 수 없으므로, 이 패키지만 tarball URL로 지정해 설치하세요.
16
+
17
+ ```bash
18
+ # GitHub Packages 읽기 권한이 있는 환경에서 tarball URL을 조회한 뒤
19
+ npm view @vmscloud/moz-ui-components@<version> dist.tarball --@vmscloud:registry=https://npm.pkg.github.com
20
+ pnpm add "@vmscloud/moz-ui-components@<위에서 얻은 tarball URL>"
21
+ ```
22
+
23
+ ```ini
24
+ # .npmrc — 인증은 호스트별로만 남기고 스코프는 npmjs로 둡니다
25
+ //npm.pkg.github.com/:_authToken=${GITHUB_PACKAGES_TOKEN}
26
+ ```
27
+
28
+ ## 문서
29
+
30
+ 전체 API 레퍼런스가 패키지에 **동봉**됩니다 (`node_modules/@vmscloud/moz-ui-grid-vue/docs/manual/`):
31
+
32
+ - **`reference_vue.md`** — Vue 래퍼(`MozGrid`) Props·Emits·Slots·인스턴스 API
33
+ - **`reference.md`** — 코어(`PureSheet`) Config·타입·이벤트 전체 레퍼런스 (래퍼 문서가 링크로 위임)
34
+ - **`examples.md`** — 코어 사용 예제
35
+
36
+ ## 기본 사용법
37
+
38
+ ```vue
39
+ <script setup lang="ts">
40
+ import { ref } from 'vue';
41
+ import { MozGrid } from '@vmscloud/moz-ui-grid-vue';
42
+ import type { MozGridCoreProps } from '@vmscloud/moz-ui-grid-vue';
43
+ // 코어 그리드 본체 스타일(.ps-*)은 wrapper 스타일시트에만 있음 → 필수
44
+ import '@vmscloud/moz-ui-grid-wrapper/style.css';
45
+ import '@vmscloud/moz-ui-grid-vue/style.css';
46
+
47
+ const coreConfig = ref<MozGridCoreProps>({
48
+ mode: 'flat',
49
+ fields: [
50
+ { id: 'name', header: '이름', dataType: 'string', width: 200 },
51
+ { id: 'age', header: '나이', dataType: 'number', width: 100 },
52
+ ],
53
+ data: [
54
+ { id: 1, name: '홍길동', age: 30 },
55
+ { id: 2, name: '김철수', age: 25 },
56
+ ],
57
+ });
58
+ </script>
59
+
60
+ <template>
61
+ <MozGrid v-model:coreConfig="coreConfig" height="600px" @ready="(g) => console.log(g)" />
62
+ </template>
63
+ ```
64
+
65
+ ## 스타일
66
+
67
+ 코어 그리드 본체 스타일(`.ps-*`)은 **`@vmscloud/moz-ui-grid-wrapper/style.css`에만** 포함됩니다 — 위 예제처럼 wrapper 스타일시트를 반드시 import하세요. `@vmscloud/moz-ui-grid-vue/style.css`는 Vue 어댑터 추가 스타일입니다. 자세한 내용은 동봉된 `reference_vue.md`를 참조하세요.
68
+
69
+ ## 라이센스
70
+
71
+ ISC
@@ -0,0 +1,127 @@
1
+ import { GridChrome, WrapperExtras, MozGridCoreProps } from '../../moz-ui-grid-wrapper/src/index.ts';
2
+ import { PureSheet } from '../../moz-ui-grid-core/src/index.ts';
3
+ type __VLS_Props = WrapperExtras & {
4
+ name?: string;
5
+ };
6
+ type __VLS_PublicProps = {
7
+ 'coreConfig'?: MozGridCoreProps;
8
+ } & __VLS_Props;
9
+ declare function __VLS_template(): {
10
+ attrs: Partial<{}>;
11
+ slots: {
12
+ default?(_: {}): any;
13
+ };
14
+ refs: {
15
+ hostRef: HTMLDivElement;
16
+ };
17
+ rootEl: any;
18
+ };
19
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
20
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {
21
+ grid: PureSheet;
22
+ slots: import('../../moz-ui-grid-wrapper/src/index.ts').SlotHost;
23
+ ui: Required<import('../../moz-ui-grid-wrapper/src/index.ts').WrapperUIOptions>;
24
+ filter: import('../../moz-ui-grid-wrapper/src/index.ts').FilterController;
25
+ sort: import('../../moz-ui-grid-wrapper/src/index.ts').SortController;
26
+ customCell: import('../../moz-ui-grid-wrapper/src/index.ts').CustomCellController;
27
+ bulkEditor: import('../../moz-ui-grid-wrapper/src/index.ts').BulkEditorController;
28
+ columnSettings: import('../../moz-ui-grid-wrapper/src/index.ts').ColumnSettingsController;
29
+ group: import('../../moz-ui-grid-wrapper/src/index.ts').GroupController;
30
+ excel: import('../../moz-ui-grid-wrapper/src/index.ts').ExcelController;
31
+ pivot: import('../../moz-ui-grid-wrapper/src/index.ts').PivotController;
32
+ search: import('../../moz-ui-grid-wrapper/src/index.ts').SearchController;
33
+ columnFormat: import('../../moz-ui-grid-wrapper/src/index.ts').ColumnFormatController;
34
+ contextMenu: import('../../moz-ui-grid-wrapper/src/index.ts').ContextMenuController;
35
+ chart: import('../../moz-ui-grid-wrapper/src/index.ts').ChartController | null;
36
+ chrome: GridChrome | null;
37
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
38
+ contextmenu: (payload: unknown) => any;
39
+ scroll: (payload: unknown) => any;
40
+ "data:loaded": () => any;
41
+ "selection:changed": (payload: unknown) => any;
42
+ "row:reordered": (payload: unknown) => any;
43
+ "row:pinned": (payload: unknown) => any;
44
+ "row:unpinned": (payload: unknown) => any;
45
+ "column:pin": (payload: unknown) => any;
46
+ "column:resize": (payload: unknown) => any;
47
+ "column:reorder": (payload: unknown) => any;
48
+ "rowGroup:batchToggle": (payload: unknown) => any;
49
+ "row:click": (payload: unknown) => any;
50
+ "row:dblclick": (payload: unknown) => any;
51
+ "cell:click": (payload: unknown) => any;
52
+ "cell:dblclick": (payload: unknown) => any;
53
+ "cell:change": (payload: unknown) => any;
54
+ "sort:changed": (payload: unknown) => any;
55
+ "filter:changed": (payload: unknown) => any;
56
+ "header:click": (payload: unknown) => any;
57
+ "header:sortClick": (payload: unknown) => any;
58
+ "header:filterClick": (payload: unknown) => any;
59
+ "undo:stateChange": (payload: unknown) => any;
60
+ "clipboard:copy": (payload: unknown) => any;
61
+ "clipboard:paste": (payload: unknown) => any;
62
+ "validation:changed": (payload: unknown) => any;
63
+ "columnGroup:toggle": (payload: unknown) => any;
64
+ "rowGroup:toggle": (payload: unknown) => any;
65
+ "cell:beforeEdit": (payload: unknown) => any;
66
+ "cell:editCommitting": (payload: unknown) => any;
67
+ "cell:editCommitted": (payload: unknown) => any;
68
+ "cell:tooltip": (payload: unknown) => any;
69
+ "column:visibility": (payload: unknown) => any;
70
+ ready: (grid: PureSheet, chrome: GridChrome) => any;
71
+ "update:coreConfig": (value: MozGridCoreProps) => any;
72
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
73
+ onContextmenu?: ((payload: unknown) => any) | undefined;
74
+ onScroll?: ((payload: unknown) => any) | undefined;
75
+ "onData:loaded"?: (() => any) | undefined;
76
+ "onSelection:changed"?: ((payload: unknown) => any) | undefined;
77
+ "onRow:reordered"?: ((payload: unknown) => any) | undefined;
78
+ "onRow:pinned"?: ((payload: unknown) => any) | undefined;
79
+ "onRow:unpinned"?: ((payload: unknown) => any) | undefined;
80
+ "onColumn:pin"?: ((payload: unknown) => any) | undefined;
81
+ "onColumn:resize"?: ((payload: unknown) => any) | undefined;
82
+ "onColumn:reorder"?: ((payload: unknown) => any) | undefined;
83
+ "onRowGroup:batchToggle"?: ((payload: unknown) => any) | undefined;
84
+ "onRow:click"?: ((payload: unknown) => any) | undefined;
85
+ "onRow:dblclick"?: ((payload: unknown) => any) | undefined;
86
+ "onCell:click"?: ((payload: unknown) => any) | undefined;
87
+ "onCell:dblclick"?: ((payload: unknown) => any) | undefined;
88
+ "onCell:change"?: ((payload: unknown) => any) | undefined;
89
+ "onSort:changed"?: ((payload: unknown) => any) | undefined;
90
+ "onFilter:changed"?: ((payload: unknown) => any) | undefined;
91
+ "onHeader:click"?: ((payload: unknown) => any) | undefined;
92
+ "onHeader:sortClick"?: ((payload: unknown) => any) | undefined;
93
+ "onHeader:filterClick"?: ((payload: unknown) => any) | undefined;
94
+ "onUndo:stateChange"?: ((payload: unknown) => any) | undefined;
95
+ "onClipboard:copy"?: ((payload: unknown) => any) | undefined;
96
+ "onClipboard:paste"?: ((payload: unknown) => any) | undefined;
97
+ "onValidation:changed"?: ((payload: unknown) => any) | undefined;
98
+ "onColumnGroup:toggle"?: ((payload: unknown) => any) | undefined;
99
+ "onRowGroup:toggle"?: ((payload: unknown) => any) | undefined;
100
+ "onCell:beforeEdit"?: ((payload: unknown) => any) | undefined;
101
+ "onCell:editCommitting"?: ((payload: unknown) => any) | undefined;
102
+ "onCell:editCommitted"?: ((payload: unknown) => any) | undefined;
103
+ "onCell:tooltip"?: ((payload: unknown) => any) | undefined;
104
+ "onColumn:visibility"?: ((payload: unknown) => any) | undefined;
105
+ onReady?: ((grid: PureSheet, chrome: GridChrome) => any) | undefined;
106
+ "onUpdate:coreConfig"?: ((value: MozGridCoreProps) => any) | undefined;
107
+ }>, {
108
+ height: string | number;
109
+ useToolBox: boolean;
110
+ useToolBoxSetting: boolean;
111
+ useExtendFooter: boolean;
112
+ useSummaryFooter: boolean;
113
+ useSort: boolean;
114
+ useCustomCell: boolean;
115
+ useContextMenu: boolean;
116
+ usePivotBar: boolean;
117
+ useBuiltinTooltip: boolean;
118
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
119
+ hostRef: HTMLDivElement;
120
+ }, any>;
121
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
122
+ export default _default;
123
+ type __VLS_WithTemplateSlots<T, S> = T & {
124
+ new (): {
125
+ $slots: S;
126
+ };
127
+ };
@@ -0,0 +1,37 @@
1
+ import { AppContext, Component } from 'vue';
2
+ export declare class VueRenderer {
3
+ private instances;
4
+ private appContext;
5
+ /** 부모 앱 컨텍스트 캡처 (MozGridVue setup에서 호출) */
6
+ setAppContext(ctx: AppContext): void;
7
+ /**
8
+ * Vue 컴포넌트를 DOM 요소에 마운트합니다.
9
+ *
10
+ * 동일 key로 재호출 시 props만 업데이트합니다 (재마운트 없음).
11
+ */
12
+ mount(key: string, container: HTMLElement, component: Component, props?: Record<string, unknown>): void;
13
+ /**
14
+ * 컨테이너 단위 lifecycle 인스턴스 마운트 (키 없음).
15
+ *
16
+ * core 의 LifecycleCellRenderer(arity 2: `(container, params) => instance`) 전용.
17
+ * 전역 키맵을 쓰지 않고 셀 컨테이너마다 독립 app 을 만들며, reactive props 로 갱신(update),
18
+ * unmount 로 정리(destroy)한다. 가상 스크롤 재사용은 destroy 없이 update(props 교체)로 처리되어
19
+ * mount/destroy 반복 비용이 없다. (키 충돌·미재마운트로 셀이 안 그려지던 버그 해소)
20
+ */
21
+ mountInstance(container: HTMLElement, slot: (props: Record<string, unknown>) => unknown, initialProps: Record<string, unknown>): {
22
+ update: (props: Record<string, unknown>) => void;
23
+ destroy: () => void;
24
+ };
25
+ /** props 업데이트 (재마운트 없음) */
26
+ updateProps(key: string, props: Record<string, unknown>): void;
27
+ /** 특정 인스턴스 언마운트 */
28
+ unmount(key: string): void;
29
+ /** 접두사 기반 일괄 언마운트 (예: 'cell:' 접두사의 모든 셀 인스턴스) */
30
+ unmountByPrefix(prefix: string): void;
31
+ /** 전체 인스턴스 언마운트 */
32
+ unmountAll(): void;
33
+ /** 현재 마운트된 인스턴스 수 */
34
+ get size(): number;
35
+ /** 특정 key의 인스턴스가 존재하는지 확인 */
36
+ has(key: string): boolean;
37
+ }
@@ -0,0 +1,9 @@
1
+ import { FieldDef } from '../../../moz-ui-grid-core/src/index.ts';
2
+ import { TemplateRegistry } from '../types/slots';
3
+ import { VueRenderer } from './VueRenderer';
4
+ /**
5
+ * 사용자 FieldDef + 등록된 템플릿 → cellRenderer/headerRenderer/editor 주입.
6
+ *
7
+ * TemplateRegistry에 등록된 슬롯을 FieldDef의 콜백으로 변환합니다.
8
+ */
9
+ export declare function buildFieldDefs(fields: FieldDef[], registry: TemplateRegistry, renderer: VueRenderer): FieldDef[];
@@ -0,0 +1,6 @@
1
+ import { AppContext } from 'vue';
2
+ /**
3
+ * 현재 Vue 인스턴스의 AppContext를 가져옵니다.
4
+ * setup() 함수 내에서만 호출 가능합니다.
5
+ */
6
+ export declare function useAppContext(): AppContext;
@@ -0,0 +1,8 @@
1
+ import { TemplateRegistry } from '../types/slots';
2
+ /**
3
+ * 템플릿 레지스트리 생성.
4
+ *
5
+ * CellTemplate, HeaderTemplate, CellEditor, DetailTemplate, GroupTemplate이
6
+ * setup 시 register하고, unmount 시 unregister합니다.
7
+ */
8
+ export declare function createTemplateRegistry(): TemplateRegistry;