@zyui/components 1.0.26 → 1.0.27

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 (57) hide show
  1. package/es/index.js +79 -79
  2. package/es/index.mjs +45923 -45068
  3. package/es/index.umd.js +158 -0
  4. package/es/src/components/InventoryCanvas/ManagementPanel/api.d.ts +6 -0
  5. package/es/src/components/InventoryCanvas/ManagementPanel/components/StockCell.vue.d.ts +42 -0
  6. package/es/src/components/InventoryCanvas/ManagementPanel/components/StockMatrix.vue.d.ts +42 -0
  7. package/es/src/components/InventoryCanvas/ManagementPanel/components/UnitSelect.vue.d.ts +10 -0
  8. package/es/src/components/InventoryCanvas/ManagementPanel/index.vue.d.ts +42 -0
  9. package/es/src/components/InventoryCanvas/ManagementPanel/types.d.ts +45 -0
  10. package/es/src/components/InventoryCanvas/components/CanvasContainer.vue.d.ts +14 -0
  11. package/es/src/components/InventoryCanvas/components/GridCanvas.vue.d.ts +2 -0
  12. package/es/src/components/InventoryCanvas/components/InventoryCell.vue.d.ts +25 -0
  13. package/es/src/components/InventoryCanvas/components/MaterialsList.vue.d.ts +17 -0
  14. package/es/src/components/InventoryCanvas/components/ZoomControls.vue.d.ts +2 -0
  15. package/es/src/components/InventoryCanvas/const.d.ts +20 -0
  16. package/es/src/components/InventoryCanvas/context.d.ts +4 -0
  17. package/es/src/components/InventoryCanvas/helper.d.ts +21 -0
  18. package/es/src/components/InventoryCanvas/hooks/useContentLevel.d.ts +5 -0
  19. package/es/src/components/InventoryCanvas/hooks/useGridSelection.d.ts +12 -0
  20. package/es/src/components/InventoryCanvas/hooks/useVisibleCells.d.ts +10 -0
  21. package/es/src/components/InventoryCanvas/hooks/useZoom.d.ts +16 -0
  22. package/es/src/components/InventoryCanvas/index.d.ts +5 -0
  23. package/es/src/components/InventoryCanvas/index.vue.d.ts +73 -0
  24. package/es/src/components/InventoryCanvas/provider.vue.d.ts +110 -0
  25. package/es/src/components/InventoryCanvas/type.d.ts +100 -0
  26. package/es/src/components/NodesEditor/hooks/useTableSelection copy.d.ts +2 -4
  27. package/es/src/components/WorkforceSelector/display/text.vue.d.ts +1 -1
  28. package/es/src/components/WorkforceSelector/display/thumbnail.vue.d.ts +1 -1
  29. package/es/src/components/index.d.ts +1 -0
  30. package/es/style.css +1 -1
  31. package/lib/src/components/InventoryCanvas/ManagementPanel/api.d.ts +6 -0
  32. package/lib/src/components/InventoryCanvas/ManagementPanel/components/StockCell.vue.d.ts +42 -0
  33. package/lib/src/components/InventoryCanvas/ManagementPanel/components/StockMatrix.vue.d.ts +42 -0
  34. package/lib/src/components/InventoryCanvas/ManagementPanel/components/UnitSelect.vue.d.ts +10 -0
  35. package/lib/src/components/InventoryCanvas/ManagementPanel/index.vue.d.ts +42 -0
  36. package/lib/src/components/InventoryCanvas/ManagementPanel/types.d.ts +45 -0
  37. package/lib/src/components/InventoryCanvas/components/CanvasContainer.vue.d.ts +14 -0
  38. package/lib/src/components/InventoryCanvas/components/GridCanvas.vue.d.ts +2 -0
  39. package/lib/src/components/InventoryCanvas/components/InventoryCell.vue.d.ts +25 -0
  40. package/lib/src/components/InventoryCanvas/components/MaterialsList.vue.d.ts +17 -0
  41. package/lib/src/components/InventoryCanvas/components/ZoomControls.vue.d.ts +2 -0
  42. package/lib/src/components/InventoryCanvas/const.d.ts +20 -0
  43. package/lib/src/components/InventoryCanvas/context.d.ts +4 -0
  44. package/lib/src/components/InventoryCanvas/helper.d.ts +21 -0
  45. package/lib/src/components/InventoryCanvas/hooks/useContentLevel.d.ts +5 -0
  46. package/lib/src/components/InventoryCanvas/hooks/useGridSelection.d.ts +12 -0
  47. package/lib/src/components/InventoryCanvas/hooks/useVisibleCells.d.ts +10 -0
  48. package/lib/src/components/InventoryCanvas/hooks/useZoom.d.ts +16 -0
  49. package/lib/src/components/InventoryCanvas/index.d.ts +5 -0
  50. package/lib/src/components/InventoryCanvas/index.vue.d.ts +73 -0
  51. package/lib/src/components/InventoryCanvas/provider.vue.d.ts +110 -0
  52. package/lib/src/components/InventoryCanvas/type.d.ts +100 -0
  53. package/lib/src/components/NodesEditor/hooks/useTableSelection copy.d.ts +2 -4
  54. package/lib/src/components/WorkforceSelector/display/text.vue.d.ts +1 -1
  55. package/lib/src/components/WorkforceSelector/display/thumbnail.vue.d.ts +1 -1
  56. package/lib/src/components/index.d.ts +1 -0
  57. package/package.json +5 -2
@@ -0,0 +1,6 @@
1
+ import { StorageUnit, StockItem } from './types';
2
+
3
+ /** 获取存储单元列表 */
4
+ export declare function fetchStorageUnits(http: any): Promise<StorageUnit[]>;
5
+ /** 获取库存详情列表 */
6
+ export declare function fetchStockLists(http: any, cunitId: number): Promise<StockItem[]>;
@@ -0,0 +1,42 @@
1
+ import { MatrixCell } from '../types';
2
+
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
4
+ cell?: MatrixCell;
5
+ x: number;
6
+ y: number;
7
+ cellWidth?: number;
8
+ cellHeight?: number;
9
+ }>, {
10
+ cellWidth: number;
11
+ cellHeight: number;
12
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
13
+ cell?: MatrixCell;
14
+ x: number;
15
+ y: number;
16
+ cellWidth?: number;
17
+ cellHeight?: number;
18
+ }>, {
19
+ cellWidth: number;
20
+ cellHeight: number;
21
+ }>>> & Readonly<{}>, {
22
+ cellWidth: number;
23
+ cellHeight: number;
24
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
25
+ export default _default;
26
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
27
+ type __VLS_TypePropsToRuntimeProps<T> = {
28
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
29
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
30
+ } : {
31
+ type: import('vue').PropType<T[K]>;
32
+ required: true;
33
+ };
34
+ };
35
+ type __VLS_WithDefaults<P, D> = {
36
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
37
+ default: D[K];
38
+ }> : P[K];
39
+ };
40
+ type __VLS_Prettify<T> = {
41
+ [K in keyof T]: T[K];
42
+ } & {};
@@ -0,0 +1,42 @@
1
+ import { StockItem } from '../types';
2
+
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
4
+ rows: number;
5
+ cols: number;
6
+ stockData: StockItem[];
7
+ cellWidth?: number;
8
+ cellHeight?: number;
9
+ }>, {
10
+ cellWidth: number;
11
+ cellHeight: number;
12
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
13
+ rows: number;
14
+ cols: number;
15
+ stockData: StockItem[];
16
+ cellWidth?: number;
17
+ cellHeight?: number;
18
+ }>, {
19
+ cellWidth: number;
20
+ cellHeight: number;
21
+ }>>> & Readonly<{}>, {
22
+ cellWidth: number;
23
+ cellHeight: number;
24
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
25
+ export default _default;
26
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
27
+ type __VLS_TypePropsToRuntimeProps<T> = {
28
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
29
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
30
+ } : {
31
+ type: import('vue').PropType<T[K]>;
32
+ required: true;
33
+ };
34
+ };
35
+ type __VLS_WithDefaults<P, D> = {
36
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
37
+ default: D[K];
38
+ }> : P[K];
39
+ };
40
+ type __VLS_Prettify<T> = {
41
+ [K in keyof T]: T[K];
42
+ } & {};
@@ -0,0 +1,10 @@
1
+ import { StorageUnit } from '../types';
2
+
3
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
4
+ change: (unit: StorageUnit) => void;
5
+ loaded: (units: StorageUnit[]) => void;
6
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
7
+ onChange?: ((unit: StorageUnit) => any) | undefined;
8
+ onLoaded?: ((units: StorageUnit[]) => any) | undefined;
9
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
10
+ export default _default;
@@ -0,0 +1,42 @@
1
+ import { StorageUnit } from './types';
2
+
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
4
+ defaultUnitId?: number;
5
+ cellWidth?: number;
6
+ cellHeight?: number;
7
+ }>, {
8
+ cellWidth: number;
9
+ cellHeight: number;
10
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
+ unitChange: (unit: StorageUnit) => void;
12
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
13
+ defaultUnitId?: number;
14
+ cellWidth?: number;
15
+ cellHeight?: number;
16
+ }>, {
17
+ cellWidth: number;
18
+ cellHeight: number;
19
+ }>>> & Readonly<{
20
+ onUnitChange?: ((unit: StorageUnit) => any) | undefined;
21
+ }>, {
22
+ cellWidth: number;
23
+ cellHeight: number;
24
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
25
+ export default _default;
26
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
27
+ type __VLS_TypePropsToRuntimeProps<T> = {
28
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
29
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
30
+ } : {
31
+ type: import('vue').PropType<T[K]>;
32
+ required: true;
33
+ };
34
+ };
35
+ type __VLS_WithDefaults<P, D> = {
36
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
37
+ default: D[K];
38
+ }> : P[K];
39
+ };
40
+ type __VLS_Prettify<T> = {
41
+ [K in keyof T]: T[K];
42
+ } & {};
@@ -0,0 +1,45 @@
1
+ /** 存储单元信息 */
2
+ export interface StorageUnit {
3
+ id: number;
4
+ cunitId: number;
5
+ x: number;
6
+ y: number;
7
+ unitName: string;
8
+ }
9
+ /** 库存位置信息 */
10
+ export interface StockPosition {
11
+ stockId: number;
12
+ x: number;
13
+ y: number;
14
+ position: string;
15
+ instockNum: number;
16
+ }
17
+ /** 库存物资详情 */
18
+ export interface StockItem {
19
+ mateId: number;
20
+ proName: string;
21
+ mcode: string;
22
+ otherName: string;
23
+ size: string;
24
+ sizeUnit: string;
25
+ batch: string;
26
+ lastDay: string;
27
+ lastTime: number;
28
+ instockNum: number;
29
+ lockNum: number;
30
+ availableNum: number;
31
+ minStock: number | null;
32
+ maxStock: number | null;
33
+ isOverdue: boolean;
34
+ isExpiringSoon: boolean;
35
+ isUnderStock: boolean;
36
+ isOverStock: boolean;
37
+ positions: StockPosition[];
38
+ }
39
+ /** 矩阵单元格数据 */
40
+ export interface MatrixCell {
41
+ x: number;
42
+ y: number;
43
+ items: StockItem[];
44
+ totalStock: number;
45
+ }
@@ -0,0 +1,14 @@
1
+ declare function __VLS_template(): {
2
+ default?(_: {
3
+ scrollTop: number;
4
+ scrollLeft: number;
5
+ }): any;
6
+ };
7
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
8
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
9
+ export default _default;
10
+ type __VLS_WithTemplateSlots<T, S> = T & {
11
+ new (): {
12
+ $slots: S;
13
+ };
14
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,25 @@
1
+ import { InventoryCellData } from '../type';
2
+
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
4
+ row: number;
5
+ col: number;
6
+ data?: InventoryCellData;
7
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
+ click: (row: number, col: number, e: MouseEvent) => void;
9
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
10
+ row: number;
11
+ col: number;
12
+ data?: InventoryCellData;
13
+ }>>> & Readonly<{
14
+ onClick?: ((row: number, col: number, e: MouseEvent) => any) | undefined;
15
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
16
+ export default _default;
17
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
18
+ type __VLS_TypePropsToRuntimeProps<T> = {
19
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
20
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
21
+ } : {
22
+ type: import('vue').PropType<T[K]>;
23
+ required: true;
24
+ };
25
+ };
@@ -0,0 +1,17 @@
1
+ import { Material } from '../type';
2
+
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
4
+ materials: Material[];
5
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
6
+ materials: Material[];
7
+ }>>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
8
+ export default _default;
9
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
10
+ type __VLS_TypePropsToRuntimeProps<T> = {
11
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
12
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
13
+ } : {
14
+ type: import('vue').PropType<T[K]>;
15
+ required: true;
16
+ };
17
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import { ZoomConfig, ThemeConfig } from './type';
2
+
3
+ export declare const DEFAULT_ZOOM_CONFIG: ZoomConfig;
4
+ export declare const CONTENT_LEVEL_THRESHOLDS: {
5
+ FULL: number;
6
+ MEDIUM: number;
7
+ MINIMAL: number;
8
+ TINY: number;
9
+ };
10
+ export declare const DEFAULT_GRID_CONFIG: {
11
+ rows: number;
12
+ cols: number;
13
+ cellWidth: number;
14
+ cellHeight: number;
15
+ gap: number;
16
+ };
17
+ export declare const DEFAULT_THEME: ThemeConfig;
18
+ export declare const BLOCK_THEME: ThemeConfig;
19
+ export declare const STATUS_COLORS: Record<string, string>;
20
+ export declare const VIRTUAL_SCROLL_BUFFER = 2;
@@ -0,0 +1,4 @@
1
+ import { InventoryCanvasContext } from './type';
2
+
3
+ export declare const inventoryCanvasKey: unique symbol;
4
+ export declare const useInventoryCanvasContext: () => InventoryCanvasContext;
@@ -0,0 +1,21 @@
1
+ import { ContentLevel, InventoryCellData, GridConfig, ThemeConfig, Material } from './type';
2
+
3
+ export declare function getCellKey(row: number, col: number): string;
4
+ export declare function parseCellKey(key: string): {
5
+ row: number;
6
+ col: number;
7
+ };
8
+ export declare function getContentLevel(cellSize: number, zoom: number): ContentLevel;
9
+ export declare function getMaterials(cell: InventoryCellData | undefined): Material[];
10
+ export declare function getCellColor(cell: InventoryCellData | undefined): string;
11
+ export declare function getTotalStock(cell: InventoryCellData | undefined): number;
12
+ export declare function getCellStatus(cell: InventoryCellData | undefined): string;
13
+ export declare function createCellDataMap(cells: InventoryCellData[]): Map<string, InventoryCellData>;
14
+ export declare function clamp(value: number, min: number, max: number): number;
15
+ export declare function calculateVisibleCells(containerWidth: number, containerHeight: number, scrollTop: number, scrollLeft: number, gridConfig: GridConfig, zoom: number, buffer: number): {
16
+ startRow: number;
17
+ endRow: number;
18
+ startCol: number;
19
+ endCol: number;
20
+ };
21
+ export declare function mergeTheme(customTheme: Partial<ThemeConfig>, defaultTheme: ThemeConfig): ThemeConfig;
@@ -0,0 +1,5 @@
1
+ import { Ref } from 'vue';
2
+ import { ContentLevel, GridConfig } from '../type';
3
+
4
+ export declare function useContentLevel(zoom: Ref<number>, gridConfig: Ref<GridConfig>): import('vue').ComputedRef<ContentLevel>;
5
+ export type UseContentLevelReturn = ReturnType<typeof useContentLevel>;
@@ -0,0 +1,12 @@
1
+ import { Ref } from 'vue';
2
+ import { CanvasMode, CellPosition } from '../type';
3
+
4
+ export declare function useGridSelection(mode: Ref<CanvasMode>, multiple: Ref<boolean>): {
5
+ selectedCellKeys: Ref<string[], string[]>;
6
+ toggleCellSelection: (row: number, col: number) => void;
7
+ clearSelection: () => void;
8
+ setSelection: (cells: CellPosition[]) => void;
9
+ isSelected: (row: number, col: number) => boolean;
10
+ getSelectedPositions: () => CellPosition[];
11
+ };
12
+ export type UseGridSelectionReturn = ReturnType<typeof useGridSelection>;
@@ -0,0 +1,10 @@
1
+ import { Ref } from 'vue';
2
+ import { GridConfig } from '../type';
3
+
4
+ export declare function useVisibleCells(containerRef: Ref<HTMLElement | null>, gridConfig: Ref<GridConfig>, zoom: Ref<number>, scrollTop: Ref<number>, scrollLeft: Ref<number>): import('vue').ComputedRef<{
5
+ startRow: number;
6
+ endRow: number;
7
+ startCol: number;
8
+ endCol: number;
9
+ }>;
10
+ export type UseVisibleCellsReturn = ReturnType<typeof useVisibleCells>;
@@ -0,0 +1,16 @@
1
+ import { Ref } from 'vue';
2
+ import { ZoomConfig } from '../type';
3
+
4
+ export declare function useZoom(config: Ref<ZoomConfig>): {
5
+ zoom: Ref<number>;
6
+ zoomCenter: Ref<{
7
+ x: number;
8
+ y: number;
9
+ }>;
10
+ setZoom: (value: number) => void;
11
+ handleWheel: (e: WheelEvent, containerElement: HTMLElement) => void;
12
+ zoomIn: (step?: number) => void;
13
+ zoomOut: (step?: number) => void;
14
+ resetZoom: () => void;
15
+ };
16
+ export type UseZoomReturn = ReturnType<typeof useZoom>;
@@ -0,0 +1,5 @@
1
+ export { default as InventoryCanvas } from './index.vue';
2
+ export { default as ManagementPanel } from './ManagementPanel/index.vue';
3
+ export * from './type';
4
+ export * from './helper';
5
+ export * from './const';
@@ -0,0 +1,73 @@
1
+ import { InventoryCellData, CellPosition, CanvasMode, ThemeConfig, InitialZoomMode } from './type';
2
+
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
4
+ modelValue?: InventoryCellData[];
5
+ rows?: number;
6
+ cols?: number;
7
+ cellWidth?: number;
8
+ cellHeight?: number;
9
+ gap?: number;
10
+ maxCellSize?: number;
11
+ defaultZoom?: number;
12
+ mode?: CanvasMode;
13
+ selectedCells?: CellPosition[];
14
+ theme?: Partial<ThemeConfig>;
15
+ showZoomControls?: boolean;
16
+ multiple?: boolean;
17
+ initialZoomMode?: InitialZoomMode;
18
+ }>, {
19
+ showZoomControls: boolean;
20
+ multiple: boolean;
21
+ initialZoomMode: string;
22
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
23
+ "update:modelValue": (value: InventoryCellData[]) => void;
24
+ "update:selectedCells": (value: CellPosition[]) => void;
25
+ onCellClick: (row: number, col: number, data: InventoryCellData | undefined) => void;
26
+ onZoomChange: (zoom: number) => void;
27
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
28
+ modelValue?: InventoryCellData[];
29
+ rows?: number;
30
+ cols?: number;
31
+ cellWidth?: number;
32
+ cellHeight?: number;
33
+ gap?: number;
34
+ maxCellSize?: number;
35
+ defaultZoom?: number;
36
+ mode?: CanvasMode;
37
+ selectedCells?: CellPosition[];
38
+ theme?: Partial<ThemeConfig>;
39
+ showZoomControls?: boolean;
40
+ multiple?: boolean;
41
+ initialZoomMode?: InitialZoomMode;
42
+ }>, {
43
+ showZoomControls: boolean;
44
+ multiple: boolean;
45
+ initialZoomMode: string;
46
+ }>>> & Readonly<{
47
+ "onUpdate:modelValue"?: ((value: InventoryCellData[]) => any) | undefined;
48
+ "onUpdate:selectedCells"?: ((value: CellPosition[]) => any) | undefined;
49
+ onOnCellClick?: ((row: number, col: number, data: InventoryCellData | undefined) => any) | undefined;
50
+ onOnZoomChange?: ((zoom: number) => any) | undefined;
51
+ }>, {
52
+ multiple: boolean;
53
+ initialZoomMode: InitialZoomMode;
54
+ showZoomControls: boolean;
55
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
56
+ export default _default;
57
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
58
+ type __VLS_TypePropsToRuntimeProps<T> = {
59
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
60
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
61
+ } : {
62
+ type: import('vue').PropType<T[K]>;
63
+ required: true;
64
+ };
65
+ };
66
+ type __VLS_WithDefaults<P, D> = {
67
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
68
+ default: D[K];
69
+ }> : P[K];
70
+ };
71
+ type __VLS_Prettify<T> = {
72
+ [K in keyof T]: T[K];
73
+ } & {};
@@ -0,0 +1,110 @@
1
+ import { InventoryCellData, CellPosition, ThemeConfig, CanvasMode } from './type';
2
+
3
+ declare function __VLS_template(): {
4
+ default?(_: {}): any;
5
+ };
6
+ declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
7
+ modelValue: InventoryCellData[];
8
+ rows: number;
9
+ cols: number;
10
+ cellWidth: number;
11
+ cellHeight: number;
12
+ gap: number;
13
+ maxCellSize: number;
14
+ defaultZoom: number;
15
+ mode: CanvasMode;
16
+ selectedCells: CellPosition[];
17
+ theme: Partial<ThemeConfig>;
18
+ multiple: boolean;
19
+ initialZoomMode: "min" | "max" | "fit";
20
+ }>, {
21
+ modelValue: () => never[];
22
+ rows: number;
23
+ cols: number;
24
+ cellWidth: number;
25
+ cellHeight: number;
26
+ gap: number;
27
+ maxCellSize: number;
28
+ defaultZoom: number;
29
+ mode: string;
30
+ selectedCells: () => never[];
31
+ theme: () => {};
32
+ multiple: boolean;
33
+ initialZoomMode: string;
34
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
35
+ "update:modelValue": (value: InventoryCellData[]) => void;
36
+ "update:selectedCells": (value: CellPosition[]) => void;
37
+ onCellClick: (row: number, col: number, data: InventoryCellData | undefined) => void;
38
+ onZoomChange: (zoom: number) => void;
39
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
40
+ modelValue: InventoryCellData[];
41
+ rows: number;
42
+ cols: number;
43
+ cellWidth: number;
44
+ cellHeight: number;
45
+ gap: number;
46
+ maxCellSize: number;
47
+ defaultZoom: number;
48
+ mode: CanvasMode;
49
+ selectedCells: CellPosition[];
50
+ theme: Partial<ThemeConfig>;
51
+ multiple: boolean;
52
+ initialZoomMode: "min" | "max" | "fit";
53
+ }>, {
54
+ modelValue: () => never[];
55
+ rows: number;
56
+ cols: number;
57
+ cellWidth: number;
58
+ cellHeight: number;
59
+ gap: number;
60
+ maxCellSize: number;
61
+ defaultZoom: number;
62
+ mode: string;
63
+ selectedCells: () => never[];
64
+ theme: () => {};
65
+ multiple: boolean;
66
+ initialZoomMode: string;
67
+ }>>> & Readonly<{
68
+ "onUpdate:modelValue"?: ((value: InventoryCellData[]) => any) | undefined;
69
+ "onUpdate:selectedCells"?: ((value: CellPosition[]) => any) | undefined;
70
+ onOnCellClick?: ((row: number, col: number, data: InventoryCellData | undefined) => any) | undefined;
71
+ onOnZoomChange?: ((zoom: number) => any) | undefined;
72
+ }>, {
73
+ multiple: boolean;
74
+ modelValue: InventoryCellData[];
75
+ rows: number;
76
+ mode: CanvasMode;
77
+ cols: number;
78
+ cellWidth: number;
79
+ cellHeight: number;
80
+ gap: number;
81
+ maxCellSize: number;
82
+ defaultZoom: number;
83
+ selectedCells: CellPosition[];
84
+ theme: Partial<ThemeConfig>;
85
+ initialZoomMode: "min" | "max" | "fit";
86
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
87
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
88
+ export default _default;
89
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
90
+ type __VLS_TypePropsToRuntimeProps<T> = {
91
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
92
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
93
+ } : {
94
+ type: import('vue').PropType<T[K]>;
95
+ required: true;
96
+ };
97
+ };
98
+ type __VLS_WithDefaults<P, D> = {
99
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
100
+ default: D[K];
101
+ }> : P[K];
102
+ };
103
+ type __VLS_Prettify<T> = {
104
+ [K in keyof T]: T[K];
105
+ } & {};
106
+ type __VLS_WithTemplateSlots<T, S> = T & {
107
+ new (): {
108
+ $slots: S;
109
+ };
110
+ };
@@ -0,0 +1,100 @@
1
+ import { Ref } from 'vue';
2
+
3
+ export type MaterialStatus = 'empty' | 'partial' | 'full' | 'warning' | 'expired';
4
+ export type Material = {
5
+ id: string;
6
+ name: string;
7
+ imageUrl?: string;
8
+ expirationDate?: string;
9
+ stockQuantity?: number;
10
+ status?: MaterialStatus;
11
+ color?: string;
12
+ [key: string]: any;
13
+ };
14
+ export type InventoryCellData = {
15
+ id: string;
16
+ row: number;
17
+ col: number;
18
+ materials?: Material[];
19
+ materialName?: string;
20
+ imageUrl?: string;
21
+ expirationDate?: string;
22
+ stockQuantity?: number;
23
+ status?: MaterialStatus;
24
+ color?: string;
25
+ [key: string]: any;
26
+ };
27
+ export type InventoryCellStatus = MaterialStatus;
28
+ export type CellPosition = {
29
+ row: number;
30
+ col: number;
31
+ };
32
+ export type GridConfig = {
33
+ rows: number;
34
+ cols: number;
35
+ cellWidth: number;
36
+ cellHeight: number;
37
+ gap: number;
38
+ };
39
+ export type ZoomConfig = {
40
+ minZoom: number;
41
+ maxZoom: number;
42
+ wheelZoomFactor: number;
43
+ };
44
+ export type ContentLevel = 'full' | 'medium' | 'minimal' | 'tiny';
45
+ export type CanvasMode = 'preview' | 'selection';
46
+ export type CanvasTheme = 'grid' | 'block';
47
+ export type ThemeConfig = {
48
+ type: CanvasTheme;
49
+ borderColor: string;
50
+ borderColorHover: string;
51
+ borderColorSelected: string;
52
+ backgroundColor: string;
53
+ gapColor: string;
54
+ };
55
+ export type InventoryCanvasContext = {
56
+ canvasId: string;
57
+ zoom: Ref<number>;
58
+ setZoom: (value: number) => void;
59
+ gridConfig: Ref<GridConfig>;
60
+ cellDataMap: Ref<Map<string, InventoryCellData>>;
61
+ mode: Ref<CanvasMode>;
62
+ selectedCellKeys: Ref<string[]>;
63
+ toggleCellSelection: (row: number, col: number) => void;
64
+ contentLevel: Ref<ContentLevel>;
65
+ containerRef: Ref<HTMLElement | null>;
66
+ theme: Ref<ThemeConfig>;
67
+ handleWheel: (e: WheelEvent, containerElement: HTMLElement) => void;
68
+ zoomIn: (step?: number) => void;
69
+ zoomOut: (step?: number) => void;
70
+ resetZoom: () => void;
71
+ containerSize: Ref<{
72
+ width: number;
73
+ height: number;
74
+ }>;
75
+ updateContainerSize: (size: {
76
+ width: number;
77
+ height: number;
78
+ }) => void;
79
+ minZoom: Ref<number>;
80
+ maxZoom: Ref<number>;
81
+ multiple: Ref<boolean>;
82
+ initialZoomMode: Ref<InitialZoomMode>;
83
+ };
84
+ export type InitialZoomMode = 'min' | 'max' | 'fit';
85
+ export type InventoryCanvasProps = {
86
+ modelValue: InventoryCellData[];
87
+ rows: number;
88
+ cols: number;
89
+ cellWidth: number;
90
+ cellHeight: number;
91
+ gap: number;
92
+ maxCellSize: number;
93
+ defaultZoom: number;
94
+ mode: CanvasMode;
95
+ selectedCells: CellPosition[];
96
+ theme: Partial<ThemeConfig>;
97
+ showZoomControls: boolean;
98
+ multiple: boolean;
99
+ initialZoomMode: InitialZoomMode;
100
+ };
@@ -1,6 +1,4 @@
1
- import { Ref } from 'vue';
2
-
3
1
  export declare function useTableSelection(): {
4
- isSelecting: Ref<boolean, boolean>;
5
- selectionBox: Ref<HTMLDivElement | null, HTMLDivElement | null>;
2
+ isSelecting: import('vue').Ref<boolean, boolean>;
3
+ selectionBox: import('vue').Ref<HTMLDivElement | null, HTMLDivElement | null>;
6
4
  };