@shtabapp/ui-kit 1.62.0 → 1.64.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.
- package/CHANGELOG.md +19 -0
- package/dist/SChartBar-BVgwPlYi.js +215 -0
- package/dist/SChartBar-CBU1uCuL.cjs +1 -0
- package/dist/SChartBurnup-Ch3UMa9w.cjs +1 -0
- package/dist/{SChartBurnup-Dxi0MBwo.js → SChartBurnup-DyJHdRlf.js} +75 -75
- package/dist/SChartHorizontalBar-Bv90SV6E.cjs +1 -0
- package/dist/{SChartHorizontalBar-XNasKzaO.js → SChartHorizontalBar-DDo6TfE8.js} +28 -28
- package/dist/{SChartLine-DSQaezYq.js → SChartLine-Cs1JzPEK.js} +29 -29
- package/dist/SChartLine-nIGaef_o.cjs +1 -0
- package/dist/SChartMultiLine-BzoW4ETf.cjs +1 -0
- package/dist/SChartMultiLine-DqCQ7FCv.js +204 -0
- package/dist/{SChartPie-bN8rY-y5.js → SChartPie-Bt3o7LZI.js} +55 -55
- package/dist/SChartPie-Bv5Obcwb.cjs +1 -0
- package/dist/{SChartProgress-BtwqE4xL.js → SChartProgress-uMg4DBpS.js} +30 -30
- package/dist/SChartProgress-xxqrj03o.cjs +1 -0
- package/dist/SChartStackedArea-BNe6FAg8.cjs +1 -0
- package/dist/{SChartStackedArea-BxUex_Di.js → SChartStackedArea-BQGnKp1i.js} +58 -58
- package/dist/SChartStackedBar-D1G-VloG.cjs +1 -0
- package/dist/SChartStackedBar-fiUU9lNp.js +245 -0
- package/dist/SColorPicker-BRSi0Xhm.cjs +1 -0
- package/dist/{SColorPicker-BL-zrskU.js → SColorPicker-Djr-R81h.js} +2 -1
- package/dist/SDropdownMenu-2koPU6IG.js +38 -0
- package/dist/SDropdownMenu-k9SxaFVH.cjs +1 -0
- package/dist/SList-D0PDc8VN.cjs +1 -0
- package/dist/SList-D2K9dNsj.js +465 -0
- package/dist/{SSegmentControl-CAoM03V6.js → SSegmentControl-B9KkAQiG.js} +11 -9
- package/dist/SSegmentControl-OXTka86u.cjs +1 -0
- package/dist/SSelect-CRlkCLik.cjs +1 -0
- package/dist/SSelect-D6taevzT.js +650 -0
- package/dist/STable-NbCfen0n.cjs +1 -0
- package/dist/STable-aS1eGuVB.js +3445 -0
- package/dist/areChartSeriesAligned-DiBX3TTk.cjs +1 -0
- package/dist/{buildChartSeriesPoints-D8Xpfwp7.js → areChartSeriesAligned-DjonrIMm.js} +2 -8
- package/dist/buildChartSeriesPoints-BTyOpkin.js +10 -0
- package/dist/buildChartSeriesPoints-Cqo2ed-n.cjs +1 -0
- package/dist/components/SChartBar/SChartBar.types.d.ts +47 -0
- package/dist/components/SChartBar/SChartBar.types.d.ts.map +1 -0
- package/dist/components/SChartBar/SChartBar.vue.d.ts +11 -0
- package/dist/components/SChartBar/SChartBar.vue.d.ts.map +1 -0
- package/dist/components/SChartBar/index.d.ts +3 -0
- package/dist/components/SChartBar/index.d.ts.map +1 -0
- package/dist/components/SChartBar/utils/buildBarChartConfig.d.ts +16 -0
- package/dist/components/SChartBar/utils/buildBarChartConfig.d.ts.map +1 -0
- package/dist/components/SChartBar/utils/createBarTargetLinePlugin.d.ts +9 -0
- package/dist/components/SChartBar/utils/createBarTargetLinePlugin.d.ts.map +1 -0
- package/dist/components/SChartBar/utils/demoBarSeries.d.ts +9 -0
- package/dist/components/SChartBar/utils/demoBarSeries.d.ts.map +1 -0
- package/dist/components/SChartBar/utils/skeletonBarSeries.d.ts +5 -0
- package/dist/components/SChartBar/utils/skeletonBarSeries.d.ts.map +1 -0
- package/dist/components/SChartMultiLine/SChartMultiLine.types.d.ts +2 -0
- package/dist/components/SChartMultiLine/SChartMultiLine.types.d.ts.map +1 -1
- package/dist/components/SChartMultiLine/SChartMultiLine.vue.d.ts.map +1 -1
- package/dist/components/SChartMultiLine/utils/buildMultiLineChartConfig.d.ts +2 -1
- package/dist/components/SChartMultiLine/utils/buildMultiLineChartConfig.d.ts.map +1 -1
- package/dist/components/SList/SList.vue.d.ts.map +1 -1
- package/dist/components/SList/utils/resolveListItemFields.d.ts +1 -1
- package/dist/components/SList/utils/resolveListItemFields.d.ts.map +1 -1
- package/dist/components/SSegmentControl/SSegmentControl.types.d.ts +2 -0
- package/dist/components/SSegmentControl/SSegmentControl.types.d.ts.map +1 -1
- package/dist/components/SSegmentControl/SSegmentControlItem.vue.d.ts.map +1 -1
- package/dist/components/STable/STable.types.d.ts +317 -0
- package/dist/components/STable/STable.types.d.ts.map +1 -0
- package/dist/components/STable/STable.vue.d.ts +154 -0
- package/dist/components/STable/STable.vue.d.ts.map +1 -0
- package/dist/components/STable/constants/tableSizes.d.ts +76 -0
- package/dist/components/STable/constants/tableSizes.d.ts.map +1 -0
- package/dist/components/STable/index.d.ts +4 -0
- package/dist/components/STable/index.d.ts.map +1 -0
- package/dist/components/STable/parts/STableCellText.vue.d.ts +23 -0
- package/dist/components/STable/parts/STableCellText.vue.d.ts.map +1 -0
- package/dist/components/STable/parts/STableCheckbox.vue.d.ts +17 -0
- package/dist/components/STable/parts/STableCheckbox.vue.d.ts.map +1 -0
- package/dist/components/STable/parts/STableContentRow.vue.d.ts +41 -0
- package/dist/components/STable/parts/STableContentRow.vue.d.ts.map +1 -0
- package/dist/components/STable/parts/STableGroupRow.vue.d.ts +55 -0
- package/dist/components/STable/parts/STableGroupRow.vue.d.ts.map +1 -0
- package/dist/components/STable/parts/STableHeaderCell.vue.d.ts +36 -0
- package/dist/components/STable/parts/STableHeaderCell.vue.d.ts.map +1 -0
- package/dist/components/STable/parts/STableHint.vue.d.ts +7 -0
- package/dist/components/STable/parts/STableHint.vue.d.ts.map +1 -0
- package/dist/components/STable/parts/STablePlaceholderRow.vue.d.ts +25 -0
- package/dist/components/STable/parts/STablePlaceholderRow.vue.d.ts.map +1 -0
- package/dist/components/STable/parts/STableRow.vue.d.ts +67 -0
- package/dist/components/STable/parts/STableRow.vue.d.ts.map +1 -0
- package/dist/components/STable/parts/STableSkeletonRow.vue.d.ts +27 -0
- package/dist/components/STable/parts/STableSkeletonRow.vue.d.ts.map +1 -0
- package/dist/components/STable/utils/tableDndShared.d.ts +17 -0
- package/dist/components/STable/utils/tableDndShared.d.ts.map +1 -0
- package/dist/components/STable/utils/useFlatTableRows.d.ts +62 -0
- package/dist/components/STable/utils/useFlatTableRows.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableCellPlans.d.ts +48 -0
- package/dist/components/STable/utils/useTableCellPlans.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableColumnDnd.d.ts +28 -0
- package/dist/components/STable/utils/useTableColumnDnd.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableColumnResize.d.ts +24 -0
- package/dist/components/STable/utils/useTableColumnResize.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableColumns.d.ts +86 -0
- package/dist/components/STable/utils/useTableColumns.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableGridFocus.d.ts +79 -0
- package/dist/components/STable/utils/useTableGridFocus.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableGridKeyboard.d.ts +36 -0
- package/dist/components/STable/utils/useTableGridKeyboard.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableRenderEntries.d.ts +56 -0
- package/dist/components/STable/utils/useTableRenderEntries.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableRowDnd.d.ts +37 -0
- package/dist/components/STable/utils/useTableRowDnd.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableRowHydration.d.ts +29 -0
- package/dist/components/STable/utils/useTableRowHydration.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableScrollScale.d.ts +34 -0
- package/dist/components/STable/utils/useTableScrollScale.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableSelection.d.ts +27 -0
- package/dist/components/STable/utils/useTableSelection.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableServiceRows.d.ts +57 -0
- package/dist/components/STable/utils/useTableServiceRows.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableSorting.d.ts +21 -0
- package/dist/components/STable/utils/useTableSorting.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableStickyRows.d.ts +38 -0
- package/dist/components/STable/utils/useTableStickyRows.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableStyleVars.d.ts +22 -0
- package/dist/components/STable/utils/useTableStyleVars.d.ts.map +1 -0
- package/dist/components/STable/utils/useTableVirtualRows.d.ts +56 -0
- package/dist/components/STable/utils/useTableVirtualRows.d.ts.map +1 -0
- package/dist/composables/treeKeyboardNavigation.d.ts +26 -0
- package/dist/composables/treeKeyboardNavigation.d.ts.map +1 -0
- package/dist/composables/useFlatTreeList.d.ts +1 -0
- package/dist/composables/useFlatTreeList.d.ts.map +1 -1
- package/dist/{createChartCrosshairPlugin-DwFOncWI.js → createChartCrosshairPlugin-DU5grSok.js} +2 -2
- package/dist/createChartCrosshairPlugin-DfYzBie2.cjs +1 -0
- package/dist/entries/chart-bar.cjs +1 -0
- package/dist/entries/chart-bar.d.ts +3 -0
- package/dist/entries/chart-bar.d.ts.map +1 -0
- package/dist/entries/chart-bar.js +2 -0
- package/dist/entries/chart-burnup.cjs +1 -1
- package/dist/entries/chart-burnup.js +1 -1
- package/dist/entries/chart-horizontal-bar.cjs +1 -1
- package/dist/entries/chart-horizontal-bar.js +1 -1
- package/dist/entries/chart-line.cjs +1 -1
- package/dist/entries/chart-line.js +1 -1
- package/dist/entries/chart-multi-line.cjs +1 -1
- package/dist/entries/chart-multi-line.js +1 -1
- package/dist/entries/chart-pie.cjs +1 -1
- package/dist/entries/chart-pie.js +1 -1
- package/dist/entries/chart-progress.cjs +1 -1
- package/dist/entries/chart-progress.js +1 -1
- package/dist/entries/chart-stacked-area.cjs +1 -1
- package/dist/entries/chart-stacked-area.js +1 -1
- package/dist/entries/chart-stacked-bar.cjs +1 -1
- package/dist/entries/chart-stacked-bar.js +1 -1
- package/dist/entries/color-picker.cjs +1 -1
- package/dist/entries/color-picker.js +1 -1
- package/dist/entries/list.cjs +1 -1
- package/dist/entries/list.js +1 -1
- package/dist/entries/segment-control.cjs +1 -1
- package/dist/entries/segment-control.js +1 -1
- package/dist/entries/select.cjs +1 -1
- package/dist/entries/select.js +1 -1
- package/dist/entries/table.cjs +1 -0
- package/dist/entries/table.d.ts +3 -0
- package/dist/entries/table.d.ts.map +1 -0
- package/dist/entries/table.js +2 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +133 -129
- package/dist/resolveBarStackedSeriesColor-HDSkh6Mw.cjs +1 -0
- package/dist/resolveBarStackedSeriesColor-LpVh1SvQ.js +11 -0
- package/dist/resolveSeriesPaletteColor-B5qoBbXN.cjs +1 -0
- package/dist/{resolveSeriesPaletteColor-BdvGT-PI.js → resolveSeriesPaletteColor-DcLSyk-D.js} +1 -1
- package/dist/{resolveStackedChartContext-DFre3tt0.js → resolveStackedChartContext-CIKVXkDn.js} +6 -6
- package/dist/resolveStackedChartContext-CQbgdV55.cjs +1 -0
- package/dist/treeKeyboardNavigation-BOz2SVus.cjs +1 -0
- package/dist/treeKeyboardNavigation-SmxTdnDz.js +131 -0
- package/dist/uikit-components.css +1 -1
- package/dist/{SChartSkeletonHost-BT96eWSF.js → useChartInteractivity-BATdT86l.js} +126 -126
- package/dist/useChartInteractivity-CXSdHPOw.cjs +1 -0
- package/package.json +19 -3
- package/dist/SChartBurnup-C4x5kik6.cjs +0 -1
- package/dist/SChartHorizontalBar-4H-lgfO4.cjs +0 -1
- package/dist/SChartLine-BF6Klm4j.cjs +0 -1
- package/dist/SChartMultiLine-CrMmphFe.js +0 -198
- package/dist/SChartMultiLine-Ddvfmf__.cjs +0 -1
- package/dist/SChartPie-namQTFla.cjs +0 -1
- package/dist/SChartProgress-DsFHotRv.cjs +0 -1
- package/dist/SChartSkeletonHost-Dt5EjQr5.cjs +0 -1
- package/dist/SChartStackedArea-BLHs3sSH.cjs +0 -1
- package/dist/SChartStackedBar-BJ9LOgSP.js +0 -250
- package/dist/SChartStackedBar-CWNyvUj9.cjs +0 -1
- package/dist/SColorPicker-CvhpJEj1.cjs +0 -1
- package/dist/SList-C39LrsoS.js +0 -590
- package/dist/SList-Du0gqyFs.cjs +0 -1
- package/dist/SSegmentControl-B9jT8Axu.cjs +0 -1
- package/dist/SSelect-BkX3VuCr.js +0 -682
- package/dist/SSelect-CHWKMbB_.cjs +0 -1
- package/dist/buildChartSeriesPoints-Bv3nXvSu.cjs +0 -1
- package/dist/components/SList/utils/treeKeyboardNavigation.d.ts +0 -16
- package/dist/components/SList/utils/treeKeyboardNavigation.d.ts.map +0 -1
- package/dist/createChartCrosshairPlugin-ZZwKUQm8.cjs +0 -1
- package/dist/resolveSeriesPaletteColor-hI4YDdUg.cjs +0 -1
- package/dist/resolveStackedChartContext-Dsxhhhel.cjs +0 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { CSSProperties } from 'vue';
|
|
2
|
+
import type { TSTableRowCellEntry } from '../utils/useTableColumns';
|
|
3
|
+
import type { ESTableGridSection } from '../utils/useTableGridFocus';
|
|
4
|
+
declare const __VLS_export: <TItem extends Record<string, unknown>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
5
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<{
|
|
6
|
+
/** Ячейки строки одним списком: запись без плана — колонка-филлер. */
|
|
7
|
+
cells: readonly TSTableRowCellEntry<TItem>[];
|
|
8
|
+
/** Колонка, в которой рендерится контент строки; дефолт задаёт вызывающий. */
|
|
9
|
+
contentColumnKey?: string;
|
|
10
|
+
/** Класс на ВСЕ ячейки строки, включая филлер — иначе в полосе появится дырка. */
|
|
11
|
+
cellClass?: string;
|
|
12
|
+
contentClass?: string;
|
|
13
|
+
contentStyle?: CSSProperties;
|
|
14
|
+
/** Секция грида для клавиатурной навигации. */
|
|
15
|
+
section: ESTableGridSection;
|
|
16
|
+
/** Ключ строки тела; у полос tfoot отсутствует. */
|
|
17
|
+
rowKey?: string;
|
|
18
|
+
/** Префикс id ячеек грида. */
|
|
19
|
+
cellIdPrefix: string;
|
|
20
|
+
/** Колонка roving-фокуса, если он сейчас в этой строке. */
|
|
21
|
+
focusColumnKey?: string;
|
|
22
|
+
}> & (typeof globalThis extends {
|
|
23
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
24
|
+
} ? P : {});
|
|
25
|
+
expose: (exposed: {}) => void;
|
|
26
|
+
attrs: any;
|
|
27
|
+
slots: {
|
|
28
|
+
default?: () => unknown;
|
|
29
|
+
};
|
|
30
|
+
emit: {};
|
|
31
|
+
}>) => import("vue").VNode & {
|
|
32
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
33
|
+
};
|
|
34
|
+
declare const _default: typeof __VLS_export;
|
|
35
|
+
export default _default;
|
|
36
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
37
|
+
[K in keyof T]: T[K];
|
|
38
|
+
} : {
|
|
39
|
+
[K in keyof T as K]: T[K];
|
|
40
|
+
}) & {};
|
|
41
|
+
//# sourceMappingURL=STableContentRow.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"STableContentRow.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/STable/parts/STableContentRow.vue"],"names":[],"mappings":"AA0EA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAExC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAEpE,QAAA,MAAM,YAAY,GAAK,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,gBAAgB,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAClE;WAwFO,OAAO,KAAK,EAAE,WAAW,GAAG,mBAAmB;QAtFrD,sEAAsE;eAC/D,SAAS,mBAAmB,CAAC,KAAK,CAAC,EAAE;QAC5C,8EAA8E;2BAC3D,MAAM;QACzB,kFAAkF;oBACtE,MAAM;uBACH,MAAM;uBACN,aAAa;QAC5B,+CAA+C;iBACtC,kBAAkB;QAC3B,mDAAmD;iBAC1C,MAAM;QACf,8BAA8B;sBAChB,MAAM;QACpB,2DAA2D;yBAC1C,MAAM;MAuEiD,GAAG,CAAC,OAAO,UAAU,SAAS;QAAE,oBAAoB,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YAC1I,CAAC,OAAO,EAAE,EAAE,KAAK,IAAI;WACtB,GAAG;;kBAzDC,MAAM,OAAO;;UA2DlB,EAAE;EAEL,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAI,CAAC;wBACvD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,CAAC,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type ComponentPublicInstance } from 'vue';
|
|
2
|
+
import type { TSTableFlatRow } from '../STable.types';
|
|
3
|
+
import type { TSTableCellRenderPlan } from '../utils/useTableColumns';
|
|
4
|
+
declare const __VLS_export: <TItem extends Record<string, unknown>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
5
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<{
|
|
6
|
+
row: TSTableFlatRow<TItem>;
|
|
7
|
+
/** Индекс дублируется пропом: поля row мутируются нереактивно (реюз пула). */
|
|
8
|
+
rowIndex: number;
|
|
9
|
+
leadingPlans: readonly TSTableCellRenderPlan<TItem>[];
|
|
10
|
+
trailingPlans: readonly TSTableCellRenderPlan<TItem>[];
|
|
11
|
+
/** Колонка, в которой рендерится контент группы (Figma: главная колонка). */
|
|
12
|
+
groupColumnKey?: string;
|
|
13
|
+
treeIndent: number;
|
|
14
|
+
count: number;
|
|
15
|
+
total?: number;
|
|
16
|
+
expanded: boolean;
|
|
17
|
+
active: boolean;
|
|
18
|
+
title?: string;
|
|
19
|
+
/** Ячейки строки получают `position: sticky` (активный групп-хедер). */
|
|
20
|
+
stuck?: boolean;
|
|
21
|
+
/** Регистрация строки в DnD (ref-callback на tr). */
|
|
22
|
+
dndRef?: (rowElement: Element | ComponentPublicInstance | null) => void;
|
|
23
|
+
dragging?: boolean;
|
|
24
|
+
dropPosition?: "before" | "after" | "inside";
|
|
25
|
+
/** Префикс id ячеек грида: к нему достраиваются ключ строки и колонки. */
|
|
26
|
+
cellIdPrefix: string;
|
|
27
|
+
/** Колонка roving-фокуса, если он сейчас в этой строке. */
|
|
28
|
+
focusColumnKey?: string;
|
|
29
|
+
} & {
|
|
30
|
+
onToggle?: (() => any) | undefined;
|
|
31
|
+
onRowClick?: ((event: MouseEvent) => any) | undefined;
|
|
32
|
+
onMenuOpen?: (() => any) | undefined;
|
|
33
|
+
}> & (typeof globalThis extends {
|
|
34
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
35
|
+
} ? P : {});
|
|
36
|
+
expose: (exposed: {}) => void;
|
|
37
|
+
attrs: any;
|
|
38
|
+
slots: {
|
|
39
|
+
row?: () => unknown;
|
|
40
|
+
title?: () => unknown;
|
|
41
|
+
actions?: () => unknown;
|
|
42
|
+
menu?: () => unknown;
|
|
43
|
+
};
|
|
44
|
+
emit: ((evt: "toggle") => void) & ((evt: "rowClick", event: MouseEvent) => void) & ((evt: "menuOpen") => void);
|
|
45
|
+
}>) => import("vue").VNode & {
|
|
46
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
47
|
+
};
|
|
48
|
+
declare const _default: typeof __VLS_export;
|
|
49
|
+
export default _default;
|
|
50
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
51
|
+
[K in keyof T]: T[K];
|
|
52
|
+
} : {
|
|
53
|
+
[K in keyof T as K]: T[K];
|
|
54
|
+
}) & {};
|
|
55
|
+
//# sourceMappingURL=STableGroupRow.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"STableGroupRow.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/STable/parts/STableGroupRow.vue"],"names":[],"mappings":"AA4NA,OAAO,EAA2B,KAAK,uBAAuB,EAAE,MAAM,KAAK,CAAA;AAM3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAGrE,QAAA,MAAM,YAAY,GAAK,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,gBAAgB,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAClE;WAyWO,OAAO,KAAK,EAAE,WAAW,GAAG,mBAAmB,CAAC;aAvWjD,cAAc,CAAC,KAAK,CAAC;QAC1B,8EAA8E;kBACpE,MAAM;sBACF,SAAS,qBAAqB,CAAC,KAAK,CAAC,EAAE;uBACtC,SAAS,qBAAqB,CAAC,KAAK,CAAC,EAAE;QACtD,6EAA6E;yBAC5D,MAAM;oBACX,MAAM;eACX,MAAM;gBACL,MAAM;kBACJ,OAAO;gBACT,OAAO;gBACP,MAAM;QACd,wEAAwE;gBAChE,OAAO;QACf,qDAAqD;iBAC5C,CAAC,UAAU,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI,KAAK,IAAI;mBAC5D,OAAO;uBACH,QAAQ,GAAG,OAAO,GAAG,QAAQ;QAC5C,0EAA0E;sBAC5D,MAAM;QACpB,2DAA2D;yBAC1C,MAAM;;;;;KAiVkE,CAAC,GAAG,CAAC,OAAO,UAAU,SAAS;QAAE,oBAAoB,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YAC5J,CAAC,OAAO,EAAE,EAAE,KAAK,IAAI;WACtB,GAAG;;cApTH,MAAM,OAAO;gBACX,MAAM,OAAO;kBACX,MAAM,OAAO;eAChB,MAAM,OAAO;;;EAqTlB,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAI,CAAC;wBACvD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,CAAC,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ESTableSortDirection } from '../STable.types';
|
|
2
|
+
import type { TSTableColumnDescriptor } from '../utils/useTableColumns';
|
|
3
|
+
declare const __VLS_export: <TItem extends Record<string, unknown>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
4
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<{
|
|
5
|
+
descriptor: TSTableColumnDescriptor<TItem>;
|
|
6
|
+
sortDirection?: ESTableSortDirection;
|
|
7
|
+
/** Порядковый номер в мультисортировке; бейдж показывается и при одиночной («1»). */
|
|
8
|
+
sortIndex?: number;
|
|
9
|
+
/** Открытость kebab-меню; управляется таблицей (клик и клавиатура Alt+↓). */
|
|
10
|
+
menuOpen?: boolean;
|
|
11
|
+
} & {
|
|
12
|
+
onHide?: (() => any) | undefined;
|
|
13
|
+
"onUpdate:menuOpen"?: ((open: boolean) => any) | undefined;
|
|
14
|
+
onSortToggle?: ((append: boolean) => any) | undefined;
|
|
15
|
+
onSortSet?: ((direction: ESTableSortDirection | undefined) => any) | undefined;
|
|
16
|
+
}> & (typeof globalThis extends {
|
|
17
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
18
|
+
} ? P : {});
|
|
19
|
+
expose: (exposed: {}) => void;
|
|
20
|
+
attrs: any;
|
|
21
|
+
slots: {
|
|
22
|
+
default?: () => unknown;
|
|
23
|
+
menu?: () => unknown;
|
|
24
|
+
};
|
|
25
|
+
emit: ((evt: "hide") => void) & ((evt: "update:menuOpen", open: boolean) => void) & ((evt: "sortToggle", append: boolean) => void) & ((evt: "sortSet", direction: ESTableSortDirection | undefined) => void);
|
|
26
|
+
}>) => import("vue").VNode & {
|
|
27
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
28
|
+
};
|
|
29
|
+
declare const _default: typeof __VLS_export;
|
|
30
|
+
export default _default;
|
|
31
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
32
|
+
[K in keyof T]: T[K];
|
|
33
|
+
} : {
|
|
34
|
+
[K in keyof T as K]: T[K];
|
|
35
|
+
}) & {};
|
|
36
|
+
//# sourceMappingURL=STableHeaderCell.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"STableHeaderCell.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/STable/parts/STableHeaderCell.vue"],"names":[],"mappings":"AAgMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAEvE,QAAA,MAAM,YAAY,GAAK,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,gBAAgB,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAClE;WA4dO,OAAO,KAAK,EAAE,WAAW,GAAG,mBAAmB,CAAC;oBA1d1C,uBAAuB,CAAC,KAAK,CAAC;wBAC1B,oBAAoB;QACpC,qFAAqF;oBACzE,MAAM;QAClB,6EAA6E;mBAClE,OAAO;;;;;;KAqduE,CAAC,GAAG,CAAC,OAAO,UAAU,SAAS;QAAE,oBAAoB,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YAC5J,CAAC,OAAO,EAAE,EAAE,KAAK,IAAI;WACtB,GAAG;;kBAjcC,MAAM,OAAO;eAChB,MAAM,OAAO;;;EAoclB,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAI,CAAC;wBACvD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,CAAC,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
text: string;
|
|
3
|
+
};
|
|
4
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
5
|
+
declare const _default: typeof __VLS_export;
|
|
6
|
+
export default _default;
|
|
7
|
+
//# sourceMappingURL=STableHint.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"STableHint.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/STable/parts/STableHint.vue"],"names":[],"mappings":"AAgCA,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AA4EpC,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { TSTableRowCellEntry } from '../utils/useTableColumns';
|
|
2
|
+
declare const __VLS_export: <TItem extends Record<string, unknown>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<{
|
|
4
|
+
rowIndex: number;
|
|
5
|
+
rowKey: string;
|
|
6
|
+
cells: readonly TSTableRowCellEntry<TItem>[];
|
|
7
|
+
rowHeight?: number;
|
|
8
|
+
}> & (typeof globalThis extends {
|
|
9
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
10
|
+
} ? P : {});
|
|
11
|
+
expose: (exposed: {}) => void;
|
|
12
|
+
attrs: any;
|
|
13
|
+
slots: {};
|
|
14
|
+
emit: {};
|
|
15
|
+
}>) => import("vue").VNode & {
|
|
16
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
17
|
+
};
|
|
18
|
+
declare const _default: typeof __VLS_export;
|
|
19
|
+
export default _default;
|
|
20
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
21
|
+
[K in keyof T]: T[K];
|
|
22
|
+
} : {
|
|
23
|
+
[K in keyof T as K]: T[K];
|
|
24
|
+
}) & {};
|
|
25
|
+
//# sourceMappingURL=STablePlaceholderRow.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"STablePlaceholderRow.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/STable/parts/STablePlaceholderRow.vue"],"names":[],"mappings":"AAyDA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,QAAA,MAAM,YAAY,GAAK,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,gBAAgB,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAClE;WAqFO,OAAO,KAAK,EAAE,WAAW,GAAG,mBAAmB;kBA5E3C,MAAM;gBACR,MAAM;eACP,SAAS,mBAAmB,CAAC,KAAK,CAAC,EAAE;oBAChC,MAAM;MAyEsD,GAAG,CAAC,OAAO,UAAU,SAAS;QAAE,oBAAoB,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YAC1I,CAAC,OAAO,EAAE,EAAE,KAAK,IAAI;WACtB,GAAG;WACH,EAAE;UACH,EAAE;EAEL,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAI,CAAC;wBACvD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,CAAC,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { type ComponentPublicInstance } from 'vue';
|
|
2
|
+
import { ESTableRowState, type TSTableCellSlotScope, type TSTableFlatRow, type TSTableRowSlotScope } from '../STable.types';
|
|
3
|
+
import { type TSTableCellRenderPlan } from '../utils/useTableColumns';
|
|
4
|
+
declare const __VLS_export: <TItem extends Record<string, unknown>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
5
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<{
|
|
6
|
+
row: TSTableFlatRow<TItem>;
|
|
7
|
+
/** Индекс и раскрытость дублируются пропсами: поля row мутируются нереактивно (реюз пула). */
|
|
8
|
+
rowIndex: number;
|
|
9
|
+
rowExpanded?: boolean;
|
|
10
|
+
leadingPlans: readonly TSTableCellRenderPlan<TItem>[];
|
|
11
|
+
trailingPlans: readonly TSTableCellRenderPlan<TItem>[];
|
|
12
|
+
domId: string;
|
|
13
|
+
selected?: boolean;
|
|
14
|
+
indeterminate?: boolean;
|
|
15
|
+
rowSelectable?: boolean;
|
|
16
|
+
active?: boolean;
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
treeIndent: number;
|
|
19
|
+
/** Состояние строки: кит рисует модификатор, признак приходит из приложения. */
|
|
20
|
+
rowState?: ESTableRowState;
|
|
21
|
+
extraRowClass?: string;
|
|
22
|
+
/** Регистрация строки в DnD (ref-callback на tr). */
|
|
23
|
+
dndRef?: (rowElement: Element | ComponentPublicInstance | null) => void;
|
|
24
|
+
/** Строка — источник текущего перетаскивания. */
|
|
25
|
+
dragging?: boolean;
|
|
26
|
+
/** Индикатор дропа на этой строке. */
|
|
27
|
+
dropPosition?: "before" | "after" | "inside";
|
|
28
|
+
/** Режим быстрой прокрутки: вместо контента — дешёвые плашки-заглушки. */
|
|
29
|
+
placeholder?: boolean;
|
|
30
|
+
/** Измеренная высота строки: плейсхолдер держит её, чтобы не «схлопнуть» скролл. */
|
|
31
|
+
placeholderHeight?: number;
|
|
32
|
+
/** Префикс id ячеек грида: к нему достраиваются ключ строки и колонки. */
|
|
33
|
+
cellIdPrefix: string;
|
|
34
|
+
/** Колонка roving-фокуса, если он сейчас в этой строке. */
|
|
35
|
+
focusColumnKey?: string;
|
|
36
|
+
} & {
|
|
37
|
+
onToggleExpand?: (() => any) | undefined;
|
|
38
|
+
onRowClick?: ((event: MouseEvent) => any) | undefined;
|
|
39
|
+
onRowContextMenu?: ((event: MouseEvent) => any) | undefined;
|
|
40
|
+
onCellClick?: ((columnKey: string, event: MouseEvent) => any) | undefined;
|
|
41
|
+
onToggleSelected?: (() => any) | undefined;
|
|
42
|
+
}> & (typeof globalThis extends {
|
|
43
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
44
|
+
} ? P : {});
|
|
45
|
+
expose: (exposed: {}) => void;
|
|
46
|
+
attrs: any;
|
|
47
|
+
slots: {
|
|
48
|
+
[x: `cell:${string}`]: ((scope: TSTableCellSlotScope<TItem>) => unknown) | undefined;
|
|
49
|
+
} & {
|
|
50
|
+
chevron?: (scope: TSTableRowSlotScope<TItem>) => unknown;
|
|
51
|
+
'cell-actions'?: (scope: TSTableCellSlotScope<TItem>) => unknown;
|
|
52
|
+
indicator?: (scope: TSTableRowSlotScope<TItem>) => unknown;
|
|
53
|
+
checkbox?: (scope: TSTableRowSlotScope<TItem>) => unknown;
|
|
54
|
+
'right-edge'?: (scope: TSTableRowSlotScope<TItem>) => unknown;
|
|
55
|
+
};
|
|
56
|
+
emit: ((evt: "toggleExpand") => void) & ((evt: "rowClick", event: MouseEvent) => void) & ((evt: "rowContextMenu", event: MouseEvent) => void) & ((evt: "cellClick", columnKey: string, event: MouseEvent) => void) & ((evt: "toggleSelected") => void);
|
|
57
|
+
}>) => import("vue").VNode & {
|
|
58
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
59
|
+
};
|
|
60
|
+
declare const _default: typeof __VLS_export;
|
|
61
|
+
export default _default;
|
|
62
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
63
|
+
[K in keyof T]: T[K];
|
|
64
|
+
} : {
|
|
65
|
+
[K in keyof T as K]: T[K];
|
|
66
|
+
}) & {};
|
|
67
|
+
//# sourceMappingURL=STableRow.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"STableRow.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/STable/parts/STableRow.vue"],"names":[],"mappings":"AAiYA,OAAO,EAAsB,KAAK,uBAAuB,EAAsB,MAAM,KAAK,CAAA;AAI1F,OAAO,EAGL,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAA;AAGxB,OAAO,EAAwB,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAI3F,QAAA,MAAM,YAAY,GAAK,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,gBAAgB,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAClE;WA4hBO,OAAO,KAAK,EAAE,WAAW,GAAG,mBAAmB,CAAC;aA1hBjD,cAAc,CAAC,KAAK,CAAC;QAC1B,8FAA8F;kBACpF,MAAM;sBACF,OAAO;sBACP,SAAS,qBAAqB,CAAC,KAAK,CAAC,EAAE;uBACtC,SAAS,qBAAqB,CAAC,KAAK,CAAC,EAAE;eAC/C,MAAM;mBACF,OAAO;wBACF,OAAO;wBACP,OAAO;iBACd,OAAO;mBACL,OAAO;oBACN,MAAM;QAClB,gFAAgF;mBACrE,eAAe;wBACV,MAAM;QACtB,qDAAqD;iBAC5C,CAAC,UAAU,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI,KAAK,IAAI;QACvE,iDAAiD;mBACtC,OAAO;QAClB,sCAAsC;uBACvB,QAAQ,GAAG,OAAO,GAAG,QAAQ;QAC5C,0EAA0E;sBAC5D,OAAO;QACrB,oFAAoF;4BAChE,MAAM;QAC1B,0EAA0E;sBAC5D,MAAM;QACpB,2DAA2D;yBAC1C,MAAM;;;;;;;KA6fkE,CAAC,GAAG,CAAC,OAAO,UAAU,SAAS;QAAE,oBAAoB,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YAC5J,CAAC,OAAO,EAAE,EAAE,KAAK,IAAI;WACtB,GAAG;;wCA1d2B,oBAAoB,CAAC,KAAK,CAAC,KAAK,OAAO;;kBAE/D,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,OAAO;yBACvC,CAAC,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,KAAK,OAAO;oBACpD,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,OAAO;mBAC/C,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,OAAO;uBAC1C,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,OAAO;;;EAwd7D,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAI,CAAC;wBACvD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,CAAC,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { TSTableCellRenderPlan } from '../utils/useTableColumns';
|
|
2
|
+
declare const __VLS_export: <TItem extends Record<string, unknown>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<{
|
|
4
|
+
leadingPlans: readonly TSTableCellRenderPlan<TItem>[];
|
|
5
|
+
trailingPlans: readonly TSTableCellRenderPlan<TItem>[];
|
|
6
|
+
}> & (typeof globalThis extends {
|
|
7
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
8
|
+
} ? P : {});
|
|
9
|
+
expose: (exposed: {}) => void;
|
|
10
|
+
attrs: any;
|
|
11
|
+
slots: {
|
|
12
|
+
default?: (scope: {
|
|
13
|
+
descriptor: TSTableCellRenderPlan<TItem>["descriptor"];
|
|
14
|
+
}) => unknown;
|
|
15
|
+
};
|
|
16
|
+
emit: {};
|
|
17
|
+
}>) => import("vue").VNode & {
|
|
18
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
19
|
+
};
|
|
20
|
+
declare const _default: typeof __VLS_export;
|
|
21
|
+
export default _default;
|
|
22
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
23
|
+
[K in keyof T]: T[K];
|
|
24
|
+
} : {
|
|
25
|
+
[K in keyof T as K]: T[K];
|
|
26
|
+
}) & {};
|
|
27
|
+
//# sourceMappingURL=STableSkeletonRow.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"STableSkeletonRow.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/STable/parts/STableSkeletonRow.vue"],"names":[],"mappings":"AAmDA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAErE,QAAA,MAAM,YAAY,GAAK,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,gBAAgB,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAClE;WA4FO,OAAO,KAAK,EAAE,WAAW,GAAG,mBAAmB;sBA1FvC,SAAS,qBAAqB,CAAC,KAAK,CAAC,EAAE;uBACtC,SAAS,qBAAqB,CAAC,KAAK,CAAC,EAAE;MAyFkB,GAAG,CAAC,OAAO,UAAU,SAAS;QAAE,oBAAoB,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YAC1I,CAAC,OAAO,EAAE,EAAE,KAAK,IAAI;WACtB,GAAG;;kBArFC,CAAC,KAAK,EAAE;YAAE,UAAU,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAA;SAAE,KAAK,OAAO;;UAuFnF,EAAE;EAEL,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAI,CAAC;wBACvD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,CAAC,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Общие типы payload'ов pragmatic-drag-and-drop; tableId разводит инстансы таблиц. */
|
|
2
|
+
export declare const TABLE_COLUMN_DRAG_TYPE = "s-ui-table-column";
|
|
3
|
+
export declare const TABLE_ROW_DRAG_TYPE = "s-ui-table-row";
|
|
4
|
+
export type TSTableColumnDragData = {
|
|
5
|
+
type: typeof TABLE_COLUMN_DRAG_TYPE;
|
|
6
|
+
tableId: string;
|
|
7
|
+
columnKey: string;
|
|
8
|
+
};
|
|
9
|
+
export type TSTableRowDragData = {
|
|
10
|
+
type: typeof TABLE_ROW_DRAG_TYPE;
|
|
11
|
+
tableId: string;
|
|
12
|
+
rowKey: string;
|
|
13
|
+
rowIndex: number;
|
|
14
|
+
};
|
|
15
|
+
export declare const isTableColumnDragData: (data: Record<string, unknown>, tableId: string) => data is TSTableColumnDragData;
|
|
16
|
+
export declare const isTableRowDragData: (data: Record<string, unknown>, tableId: string) => data is TSTableRowDragData;
|
|
17
|
+
//# sourceMappingURL=tableDndShared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableDndShared.d.ts","sourceRoot":"","sources":["../../../../src/components/STable/utils/tableDndShared.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,eAAO,MAAM,sBAAsB,sBAAsB,CAAA;AACzD,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AAEnD,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,OAAO,sBAAsB,CAAA;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,mBAAmB,CAAA;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,MAAM,KACd,IAAI,IAAI,qBAEV,CAAA;AAED,eAAO,MAAM,kBAAkB,GAC7B,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,MAAM,KACd,IAAI,IAAI,kBAEV,CAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { type MaybeRefOrGetter, type Ref } from 'vue';
|
|
2
|
+
import { type TListItemKeyResolver } from '../../../composables/useFlatTreeList';
|
|
3
|
+
import { type ISTableDepthFooterConfig, type TSTableFieldResolver, type TSTableFlatRow } from '../STable.types';
|
|
4
|
+
export declare const resolveTableBooleanField: <TItem extends Record<string, unknown>>(item: TItem, resolver: TSTableFieldResolver<TItem, boolean> | undefined) => boolean;
|
|
5
|
+
/** Значение ячейки для фолбэк-рендера: только string/number, прочее — пустая ячейка. */
|
|
6
|
+
export declare const resolveTableCellValue: <TItem extends Record<string, unknown>>(item: TItem, resolver: ((item: TItem) => string | number | undefined) | string | undefined) => string | number | undefined;
|
|
7
|
+
export declare const resolveTableNumberField: <TItem extends Record<string, unknown>>(item: TItem, fieldKey: (keyof TItem & string) | undefined) => number | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* Узел индекса дерева: всё, что нужно по ключу, — в одном объекте и одном Map.
|
|
10
|
+
* На 1,5 млн строк четыре Map'а по ключу стоили секунду маунта; теперь одна вставка
|
|
11
|
+
* на узел, а flatten ходит по узлам, не пересчитывая ключи и детей элементов.
|
|
12
|
+
*/
|
|
13
|
+
export type TSTableTreeNode<TItem extends Record<string, unknown>> = {
|
|
14
|
+
key: string;
|
|
15
|
+
item: TItem;
|
|
16
|
+
parentKey: string | undefined;
|
|
17
|
+
depth: number;
|
|
18
|
+
/** Число всех загруженных потомков узла (без самого узла). */
|
|
19
|
+
subtreeSize: number;
|
|
20
|
+
children: TSTableTreeNode<TItem>[] | undefined;
|
|
21
|
+
/** Кэш плоской строки узла: объект реюзается между flatten'ами (перф-ворота toggle). */
|
|
22
|
+
row: TSTableFlatRow<TItem> | undefined;
|
|
23
|
+
};
|
|
24
|
+
/** Индекс дерева, зависящий только от identity `items` (не от `expanded`). */
|
|
25
|
+
export type TSTableTreeIndex<TItem extends Record<string, unknown>> = {
|
|
26
|
+
nodeByKey: ReadonlyMap<string, TSTableTreeNode<TItem>>;
|
|
27
|
+
/** Корневые узлы в порядке `items`. */
|
|
28
|
+
roots: TSTableTreeNode<TItem>[];
|
|
29
|
+
/** Ключи узлов, которые можно разворачивать. */
|
|
30
|
+
expandableKeys: string[];
|
|
31
|
+
};
|
|
32
|
+
export interface IUseFlatTableRowsOptions<TItem extends Record<string, unknown>> {
|
|
33
|
+
items: MaybeRefOrGetter<readonly TItem[]>;
|
|
34
|
+
itemKey: MaybeRefOrGetter<TListItemKeyResolver<TItem>>;
|
|
35
|
+
childrenKey: MaybeRefOrGetter<keyof TItem & string>;
|
|
36
|
+
groupRow?: MaybeRefOrGetter<TSTableFieldResolver<TItem, boolean> | undefined>;
|
|
37
|
+
expanded: Ref<string[]>;
|
|
38
|
+
depthFooter?: MaybeRefOrGetter<ISTableDepthFooterConfig<TItem> | undefined>;
|
|
39
|
+
hasMoreChildrenKey?: MaybeRefOrGetter<(keyof TItem & string) | undefined>;
|
|
40
|
+
}
|
|
41
|
+
/** Плоский поток строк таблицы + индексы для sticky/навигации/каскада. */
|
|
42
|
+
export type TSTableFlatRowsSnapshot<TItem extends Record<string, unknown>> = {
|
|
43
|
+
flatRows: TSTableFlatRow<TItem>[];
|
|
44
|
+
/** Видимый индекс строки по ключу; undefined — строки нет в текущем потоке. */
|
|
45
|
+
getRowIndexByKey: (rowKey: string) => number | undefined;
|
|
46
|
+
/** Диапазон [индекс строки узла, конец видимого поддерева] включительно. */
|
|
47
|
+
getSubtreeRangeByKey: (rowKey: string) => [number, number] | undefined;
|
|
48
|
+
/** Отсортированные индексы групповых строк. */
|
|
49
|
+
groupRowIndexes: number[];
|
|
50
|
+
/** Индекс строки depth-футера по ключу родителя. */
|
|
51
|
+
depthFooterIndexByParentKey: Map<string, number>;
|
|
52
|
+
};
|
|
53
|
+
export declare const useFlatTableRows: <TItem extends Record<string, unknown>>({ items, itemKey, childrenKey, groupRow, expanded, depthFooter, hasMoreChildrenKey, }: IUseFlatTableRowsOptions<TItem>) => {
|
|
54
|
+
treeIndex: import("vue").ComputedRef<TSTableTreeIndex<TItem>>;
|
|
55
|
+
snapshot: import("vue").ComputedRef<TSTableFlatRowsSnapshot<TItem>>;
|
|
56
|
+
flatRows: import("vue").ComputedRef<TSTableFlatRow<TItem>[]>;
|
|
57
|
+
isExpanded: (rowKey: string) => boolean;
|
|
58
|
+
toggleExpanded: (rowKey: string) => void;
|
|
59
|
+
expandAll: () => void;
|
|
60
|
+
collapseAll: () => void;
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=useFlatTableRows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFlatTableRows.d.ts","sourceRoot":"","sources":["../../../../src/components/STable/utils/useFlatTableRows.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type ComputedRef, type MaybeRefOrGetter } from 'vue';
|
|
2
|
+
import { type TSTableCellRenderPlan, type TSTableColumnDescriptor, type TSTableRowCellEntry } from './useTableColumns';
|
|
3
|
+
export interface IUseTableCellPlansOptions<TItem extends Record<string, unknown>> {
|
|
4
|
+
columnDescriptors: ComputedRef<TSTableColumnDescriptor<TItem>[]>;
|
|
5
|
+
/** В дереве шеврон живёт в одной колонке; без дерева его нет вовсе. */
|
|
6
|
+
hasTreeStructure: MaybeRefOrGetter<boolean>;
|
|
7
|
+
expandColumnKey: MaybeRefOrGetter<string | undefined>;
|
|
8
|
+
primaryColumnKey: MaybeRefOrGetter<string | undefined>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Планы отрисовки ячеек: классы, sticky-офсеты и место шеврона считаются один раз
|
|
12
|
+
* на колонку, а не на каждую строку — при виртуализации это разница между сотней
|
|
13
|
+
* и тысячами вычислений на кадр.
|
|
14
|
+
*
|
|
15
|
+
* Шапка и тело делят одно разбиение на зоны: слева всё, что не прилипает вправо,
|
|
16
|
+
* затем филлер, затем правые sticky-колонки. Филлер — запись без дескриптора/плана,
|
|
17
|
+
* поэтому обе зоны рендерятся одним циклом с одинаковой разметкой.
|
|
18
|
+
*/
|
|
19
|
+
export declare const useTableCellPlans: <TItem extends Record<string, unknown>>({ columnDescriptors, hasTreeStructure, expandColumnKey, primaryColumnKey, }: IUseTableCellPlansOptions<TItem>) => {
|
|
20
|
+
leadingDescriptors: ComputedRef<TSTableColumnDescriptor<TItem>[]>;
|
|
21
|
+
trailingDescriptors: ComputedRef<TSTableColumnDescriptor<TItem>[]>;
|
|
22
|
+
headerCells: ComputedRef<({
|
|
23
|
+
key: string;
|
|
24
|
+
descriptor: TSTableColumnDescriptor<TItem>;
|
|
25
|
+
} | {
|
|
26
|
+
key: string;
|
|
27
|
+
descriptor: undefined;
|
|
28
|
+
})[]>;
|
|
29
|
+
getStickyCellStyle: (descriptor: TSTableColumnDescriptor<TItem>) => {
|
|
30
|
+
left: string;
|
|
31
|
+
right?: undefined;
|
|
32
|
+
} | {
|
|
33
|
+
right: string;
|
|
34
|
+
left?: undefined;
|
|
35
|
+
} | undefined;
|
|
36
|
+
getHeaderCellClasses: (descriptor: TSTableColumnDescriptor<TItem>) => {
|
|
37
|
+
[x: string]: boolean;
|
|
38
|
+
's-ui-table__cell--sticky-left': boolean;
|
|
39
|
+
's-ui-table__cell--sticky-right': boolean;
|
|
40
|
+
's-ui-table__cell--last-sticky-left': boolean;
|
|
41
|
+
's-ui-table__cell--first-sticky-right': boolean;
|
|
42
|
+
's-ui-table__cell--primary': boolean;
|
|
43
|
+
};
|
|
44
|
+
leadingCellPlans: ComputedRef<TSTableCellRenderPlan<TItem>[]>;
|
|
45
|
+
trailingCellPlans: ComputedRef<TSTableCellRenderPlan<TItem>[]>;
|
|
46
|
+
rowCellPlans: ComputedRef<TSTableRowCellEntry<TItem>[]>;
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=useTableCellPlans.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableCellPlans.d.ts","sourceRoot":"","sources":["../../../../src/components/STable/utils/useTableCellPlans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,KAAK,CAAA;AAIhF,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAA;AAQ1B,MAAM,WAAW,yBAAyB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9E,iBAAiB,EAAE,WAAW,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAChE,uEAAuE;IACvE,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC3C,eAAe,EAAE,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACrD,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;CACvD;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,6EAKtE,yBAAyB,CAAC,KAAK,CAAC;;;;;;;;;;qCAyBO,uBAAuB,CAAC,KAAK,CAAC;;;;;;;uCAc5B,uBAAuB,CAAC,KAAK,CAAC;;;;;;;;;;;CA2EzE,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ComputedRef, type CSSProperties, type MaybeRefOrGetter, type Ref } from 'vue';
|
|
2
|
+
import type { TSTableColumnDescriptor } from './useTableColumns';
|
|
3
|
+
type TSTableColumnDropIndicator = {
|
|
4
|
+
targetKey: string;
|
|
5
|
+
edge: 'left' | 'right';
|
|
6
|
+
};
|
|
7
|
+
export interface IUseTableColumnDndOptions<TItem extends Record<string, unknown>> {
|
|
8
|
+
tableId: string;
|
|
9
|
+
/** Корень блока: линия дропа позиционируется относительно него. */
|
|
10
|
+
tableRootElement: Ref<HTMLElement | null>;
|
|
11
|
+
enabled: MaybeRefOrGetter<boolean>;
|
|
12
|
+
columnDescriptors: ComputedRef<TSTableColumnDescriptor<TItem>[]>;
|
|
13
|
+
/** Итоговый порядок видимых data-колонок → коммит модели columnOrder. */
|
|
14
|
+
onReorder: (columnKey: string, targetKey: string, edge: 'left' | 'right') => void;
|
|
15
|
+
isResizing: MaybeRefOrGetter<boolean>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* DnD колонок: draggable + dropTarget на th, closest-edge left/right,
|
|
19
|
+
* кастомное превью-бейдж. Sticky-колонки переносятся только внутри своей зоны.
|
|
20
|
+
*/
|
|
21
|
+
export declare const useTableColumnDnd: <TItem extends Record<string, unknown>>({ tableId, tableRootElement, enabled, columnDescriptors, onReorder, isResizing, }: IUseTableColumnDndOptions<TItem>) => {
|
|
22
|
+
registerColumnHeaderElement: (columnKey: string, headerElement: Element | null) => void;
|
|
23
|
+
draggingColumnKey: import("vue").ShallowRef<string | undefined, string | undefined>;
|
|
24
|
+
dropIndicator: import("vue").ShallowRef<TSTableColumnDropIndicator | undefined, TSTableColumnDropIndicator | undefined>;
|
|
25
|
+
dropLineStyle: import("vue").ShallowRef<CSSProperties | undefined, CSSProperties | undefined>;
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=useTableColumnDnd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableColumnDnd.d.ts","sourceRoot":"","sources":["../../../../src/components/STable/utils/useTableColumnDnd.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,GAAG,EACT,MAAM,KAAK,CAAA;AAeZ,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAEhE,KAAK,0BAA0B,GAAG;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,WAAW,yBAAyB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9E,OAAO,EAAE,MAAM,CAAA;IACf,mEAAmE;IACnE,gBAAgB,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAClC,iBAAiB,EAAE,WAAW,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAChE,yEAAyE;IACzE,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAA;IACjF,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,mFAOtE,yBAAyB,CAAC,KAAK,CAAC;6CAyBe,MAAM,iBAAiB,OAAO,GAAG,IAAI;;;;CAmKtF,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type ComputedRef, type MaybeRefOrGetter, type Ref } from 'vue';
|
|
2
|
+
import type { TSTableColumnDescriptor } from './useTableColumns';
|
|
3
|
+
export interface IUseTableColumnResizeOptions<TItem extends Record<string, unknown>> {
|
|
4
|
+
tableRootElement: Ref<HTMLElement | null>;
|
|
5
|
+
scrollElement: Ref<HTMLElement | null>;
|
|
6
|
+
columnDescriptors: ComputedRef<TSTableColumnDescriptor<TItem>[]>;
|
|
7
|
+
columnWidths: Ref<Record<string, number> | undefined>;
|
|
8
|
+
enabled: MaybeRefOrGetter<boolean>;
|
|
9
|
+
onResizeEnd: (columnKey: string, width: number) => void;
|
|
10
|
+
/** Точечный перемер смонтированных строк после коммита (auto-высоты). */
|
|
11
|
+
remeasureRows: () => void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Live-ресайз колонок: во время драга пишутся только CSS-переменные ширины и
|
|
15
|
+
* sticky-офсетов (без vdom); модель коммитится на pointerup. Перемер строк
|
|
16
|
+
* заморожен до коммита (окно не меняется — замер сам не срабатывает).
|
|
17
|
+
*/
|
|
18
|
+
export declare const useTableColumnResize: <TItem extends Record<string, unknown>>({ tableRootElement, scrollElement, columnDescriptors, columnWidths, enabled, onResizeEnd, remeasureRows, }: IUseTableColumnResizeOptions<TItem>) => {
|
|
19
|
+
resizingColumnKey: ComputedRef<string | undefined>;
|
|
20
|
+
handleResizeHandlePointerdown: (event: PointerEvent, columnKey: string) => void;
|
|
21
|
+
handleResizeHandleKeydown: (event: KeyboardEvent, columnKey: string) => void;
|
|
22
|
+
handleResizeHandleDblclick: (columnKey: string) => void;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=useTableColumnResize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableColumnResize.d.ts","sourceRoot":"","sources":["../../../../src/components/STable/utils/useTableColumnResize.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAS/F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAEhE,MAAM,WAAW,4BAA4B,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjF,gBAAgB,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACzC,aAAa,EAAE,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACtC,iBAAiB,EAAE,WAAW,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAChE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAAA;IACrD,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAClC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,yEAAyE;IACzE,aAAa,EAAE,MAAM,IAAI,CAAA;CAC1B;AAUD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,4GAQzE,4BAA4B,CAAC,KAAK,CAAC;;2CAiGU,YAAY,aAAa,MAAM;uCA+EnC,aAAa,aAAa,MAAM;4CAwB3B,MAAM;CAyCtD,CAAA"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { type MaybeRefOrGetter, type Ref } from 'vue';
|
|
2
|
+
import { ESTableColumnAlign, ESTableColumnSticky, type ISTableColumn } from '../STable.types';
|
|
3
|
+
export declare enum ESTableServiceColumn {
|
|
4
|
+
INDICATOR = "indicator",
|
|
5
|
+
CHECKBOX = "checkbox",
|
|
6
|
+
RIGHT_EDGE = "rightEdge",
|
|
7
|
+
/** Кнопка управления колонками в шапке; в строках ячейки пустые. */
|
|
8
|
+
COLUMNS_MANAGER = "columnsManager"
|
|
9
|
+
}
|
|
10
|
+
/** Kebab-имена служебных колонок для BEM-модификаторов. */
|
|
11
|
+
export declare const TABLE_SERVICE_COLUMN_CSS_NAME: Record<ESTableServiceColumn, string>;
|
|
12
|
+
export type TSTableColumnDescriptor<TItem extends Record<string, unknown> = Record<string, unknown>> = {
|
|
13
|
+
key: string;
|
|
14
|
+
column?: ISTableColumn<TItem>;
|
|
15
|
+
service?: ESTableServiceColumn;
|
|
16
|
+
/** Рендеримая ширина: `baseWidth` плюс доля излишка вьюпорта у гибкой колонки. */
|
|
17
|
+
width: number;
|
|
18
|
+
/** Ширина из модели / конфига / дефолта — до раздачи излишка вьюпорта. */
|
|
19
|
+
baseWidth: number;
|
|
20
|
+
/** Без явной ширины и не sticky-right: добирает свободную ширину вьюпорта. */
|
|
21
|
+
flexible: boolean;
|
|
22
|
+
minWidth: number;
|
|
23
|
+
maxWidth?: number;
|
|
24
|
+
sticky?: ESTableColumnSticky;
|
|
25
|
+
align: ESTableColumnAlign;
|
|
26
|
+
primary: boolean;
|
|
27
|
+
resizable: boolean;
|
|
28
|
+
draggable: boolean;
|
|
29
|
+
sortable: boolean;
|
|
30
|
+
hideable: boolean;
|
|
31
|
+
/** aria-colindex, с 1, включая служебные колонки. */
|
|
32
|
+
colIndex: number;
|
|
33
|
+
/** CSS-переменная ширины (модельная). */
|
|
34
|
+
widthVar: string;
|
|
35
|
+
/** Live-переменная ширины жеста ресайза (fallback — модельная). */
|
|
36
|
+
liveWidthVar: string;
|
|
37
|
+
/** CSS-переменная sticky-офсета (left или right по `sticky`). */
|
|
38
|
+
stickyOffsetVar?: string;
|
|
39
|
+
/** Live-переменная sticky-офсета жеста ресайза. */
|
|
40
|
+
liveStickyOffsetVar?: string;
|
|
41
|
+
/** Последняя sticky-left колонка — правый край прилипшей зоны. */
|
|
42
|
+
lastStickyLeft: boolean;
|
|
43
|
+
/** Первая sticky-right колонка — левый край прилипшей зоны. */
|
|
44
|
+
firstStickyRight: boolean;
|
|
45
|
+
};
|
|
46
|
+
/** Пер-колоночный план рендера ячейки: классы/стили считаются один раз, не на строку. */
|
|
47
|
+
export type TSTableCellRenderPlan<TItem extends Record<string, unknown> = Record<string, unknown>> = {
|
|
48
|
+
descriptor: TSTableColumnDescriptor<TItem>;
|
|
49
|
+
cellClass: string;
|
|
50
|
+
style?: {
|
|
51
|
+
left?: string;
|
|
52
|
+
right?: string;
|
|
53
|
+
};
|
|
54
|
+
/** В этой колонке рисуются шеврон дерева и отступ уровня. */
|
|
55
|
+
chevron: boolean;
|
|
56
|
+
};
|
|
57
|
+
/** Запись ячейки строки в едином цикле: без `cellPlan` — колонка-филлер между sticky-зонами. */
|
|
58
|
+
export type TSTableRowCellEntry<TItem extends Record<string, unknown> = Record<string, unknown>> = {
|
|
59
|
+
key: string;
|
|
60
|
+
cellPlan?: TSTableCellRenderPlan<TItem>;
|
|
61
|
+
};
|
|
62
|
+
export interface IUseTableColumnsOptions<TItem extends Record<string, unknown>> {
|
|
63
|
+
columns: MaybeRefOrGetter<readonly ISTableColumn<TItem>[]>;
|
|
64
|
+
columnOrder: Ref<string[] | undefined>;
|
|
65
|
+
columnWidths: Ref<Record<string, number> | undefined>;
|
|
66
|
+
hiddenColumns: Ref<string[] | undefined>;
|
|
67
|
+
hasIndicator: MaybeRefOrGetter<boolean>;
|
|
68
|
+
hasCheckbox: MaybeRefOrGetter<boolean>;
|
|
69
|
+
hasRightEdge: MaybeRefOrGetter<boolean>;
|
|
70
|
+
/** Крайняя правая служебная колонка с кнопкой управления колонками в шапке. */
|
|
71
|
+
hasColumnsManager: MaybeRefOrGetter<boolean>;
|
|
72
|
+
columnsResizable: MaybeRefOrGetter<boolean>;
|
|
73
|
+
columnsDraggable: MaybeRefOrGetter<boolean>;
|
|
74
|
+
/** Ширина вьюпорта скроллера (content-box, без скроллбара) — излишек уходит гибким колонкам. */
|
|
75
|
+
viewportWidth: MaybeRefOrGetter<number>;
|
|
76
|
+
}
|
|
77
|
+
export declare const useTableColumns: <TItem extends Record<string, unknown>>({ columns, columnOrder, columnWidths, hiddenColumns, hasIndicator, hasCheckbox, hasRightEdge, hasColumnsManager, columnsResizable, columnsDraggable, viewportWidth, }: IUseTableColumnsOptions<TItem>) => {
|
|
78
|
+
primaryColumnKey: import("vue").ComputedRef<string | undefined>;
|
|
79
|
+
orderedDataColumns: import("vue").ComputedRef<ISTableColumn<TItem>[]>;
|
|
80
|
+
columnDescriptors: import("vue").ComputedRef<TSTableColumnDescriptor<TItem>[]>;
|
|
81
|
+
dataColumnDescriptors: import("vue").ComputedRef<TSTableColumnDescriptor<TItem>[]>;
|
|
82
|
+
columnCssVars: import("vue").ComputedRef<Record<string, string>>;
|
|
83
|
+
totalWidth: import("vue").ComputedRef<number>;
|
|
84
|
+
columnCount: import("vue").ComputedRef<number>;
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=useTableColumns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableColumns.d.ts","sourceRoot":"","sources":["../../../../src/components/STable/utils/useTableColumns.ts"],"names":[],"mappings":"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"}
|