fix(api): use bcrypt directly instead of passlib for compatibility

This commit is contained in:
bwstudio
2026-05-21 22:18:36 +08:00
parent 7f51d200f1
commit 4651781bc3
23511 changed files with 2587254 additions and 8 deletions
@@ -0,0 +1,15 @@
import { Translator } from "../../../../hooks/use-locale/index.js";
import { UseNamespaceReturn } from "../../../../hooks/use-namespace/index.js";
import { TableV2Props } from "../table.js";
import { TableV2RowCellRenderParam } from "../components/row.js";
import { UseTableReturn } from "../use-table.js";
import { FunctionalComponent, UnwrapNestedRefs } from "vue";
//#region ../../packages/components/table-v2/src/renderers/cell.d.ts
type CellRendererProps = TableV2RowCellRenderParam & Pick<TableV2Props, 'cellProps' | 'expandColumnKey' | 'indentSize' | 'iconSize' | 'rowKey'> & UnwrapNestedRefs<Pick<UseTableReturn, 'expandedRowKeys'>> & {
ns: UseNamespaceReturn;
t: Translator;
};
declare const CellRenderer: FunctionalComponent<CellRendererProps>;
//#endregion
export { CellRenderer as default };
@@ -0,0 +1,72 @@
import { isFunction, isObject } from "../../../../utils/types.mjs";
import "../constants.mjs";
import { placeholderSign } from "../private.mjs";
import { componentToSlot, enforceUnit, tryCall } from "../utils.mjs";
import TableV2Cell from "../components/cell.mjs";
import ExpandIcon from "../components/expand-icon.mjs";
import { get } from "lodash-unified";
import { createVNode, mergeProps, renderSlot } from "vue";
//#region ../../packages/components/table-v2/src/renderers/cell.tsx
const CellRenderer = ({ columns, column, columnIndex, depth, expandIconProps, isScrolling, rowData, rowIndex, style, expandedRowKeys, ns, t, cellProps: _cellProps, expandColumnKey, indentSize, iconSize, rowKey }, { slots }) => {
const cellStyle = enforceUnit(style);
if (column.placeholderSign === placeholderSign) return createVNode("div", {
"class": ns.em("row-cell", "placeholder"),
"style": cellStyle
}, null);
const { cellRenderer, dataKey, dataGetter } = column;
const cellData = isFunction(dataGetter) ? dataGetter({
columns,
column,
columnIndex,
rowData,
rowIndex
}) : get(rowData, dataKey ?? "");
const extraCellProps = tryCall(_cellProps, {
cellData,
columns,
column,
columnIndex,
rowIndex,
rowData
});
const cellProps = {
class: ns.e("cell-text"),
columns,
column,
columnIndex,
cellData,
isScrolling,
rowData,
rowIndex
};
const columnCellRenderer = componentToSlot(cellRenderer);
const Cell = columnCellRenderer ? columnCellRenderer(cellProps) : renderSlot(slots, "default", cellProps, () => [createVNode(TableV2Cell, cellProps, null)]);
const kls = [
ns.e("row-cell"),
column.class,
column.align === "center" && ns.is("align-center"),
column.align === "right" && ns.is("align-right")
];
const expandable = rowIndex >= 0 && expandColumnKey && column.key === expandColumnKey;
const expanded = rowIndex >= 0 && expandedRowKeys.includes(rowData[rowKey]);
let IconOrPlaceholder;
const iconStyle = `margin-inline-start: ${depth * indentSize}px;`;
if (expandable) if (isObject(expandIconProps)) IconOrPlaceholder = createVNode(ExpandIcon, mergeProps(expandIconProps, {
"class": [ns.e("expand-icon"), ns.is("expanded", expanded)],
"size": iconSize,
"expanded": expanded,
"ariaLabel": t(expanded ? "el.table.collapseRowLabel" : "el.table.expandRowLabel"),
"style": iconStyle,
"expandable": true
}), null);
else IconOrPlaceholder = createVNode("div", { "style": [iconStyle, `width: ${iconSize}px; height: ${iconSize}px;`].join(" ") }, null);
return createVNode("div", mergeProps({
"class": kls,
"style": cellStyle
}, extraCellProps, { "role": "cell" }), [IconOrPlaceholder, Cell]);
};
CellRenderer.inheritAttrs = false;
//#endregion
export { CellRenderer as default };
//# sourceMappingURL=cell.mjs.map
File diff suppressed because one or more lines are too long
@@ -0,0 +1,10 @@
import { CSSProperties, FunctionalComponent } from "vue";
//#region ../../packages/components/table-v2/src/renderers/empty.d.ts
type EmptyRendererProps = {
class?: JSX.IntrinsicAttributes['class'];
style?: CSSProperties;
};
declare const Footer: FunctionalComponent<EmptyRendererProps>;
//#endregion
export { Footer as default };
@@ -0,0 +1,15 @@
import { ElEmpty } from "../../../empty/index.mjs";
import { createVNode, renderSlot } from "vue";
//#region ../../packages/components/table-v2/src/renderers/empty.tsx
const Footer = (props, { slots }) => {
const defaultSlot = renderSlot(slots, "default", {}, () => [createVNode(ElEmpty, null, null)]);
return createVNode("div", {
"class": props.class,
"style": props.style
}, [defaultSlot]);
};
Footer.displayName = "ElTableV2Empty";
//#endregion
export { Footer as default };
//# sourceMappingURL=empty.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"empty.mjs","names":["renderSlot","createVNode","_createVNode","ElEmpty","Footer","props","slots","defaultSlot","class","style","displayName"],"sources":["../../../../../../../packages/components/table-v2/src/renderers/empty.tsx"],"sourcesContent":["import { renderSlot } from 'vue'\nimport ElEmpty from '@element-plus/components/empty'\n\nimport type { CSSProperties, FunctionalComponent } from 'vue'\n\ntype EmptyRendererProps = {\n class?: JSX.IntrinsicAttributes['class']\n style?: CSSProperties\n}\n\nconst Footer: FunctionalComponent<EmptyRendererProps> = (props, { slots }) => {\n const defaultSlot = renderSlot(slots, 'default', {}, () => [<ElEmpty />])\n return (\n <div class={props.class} style={props.style}>\n {defaultSlot}\n </div>\n )\n}\n\nFooter.displayName = 'ElTableV2Empty'\n\nexport default Footer\n"],"mappings":";;;AAUA,MAAMI,UAAmDC,OAAO,EAAEC,YAAY;CAC5E,MAAMC,cAAcP,WAAWM,OAAO,WAAW,EAAE,QAAQ,CAAAJ,YAAAC,SAAA,MAAA,KAAA,CAAa,CAAC;CACzE,OAAAD,YAAA,OAAA;EAAA,SACcG,MAAMG;EAAK,SAASH,MAAMI;EAAK,EAAA,CACxCF,YAAW,CAAA;;AAKlBH,OAAOM,cAAc"}
@@ -0,0 +1,10 @@
import { CSSProperties, FunctionalComponent } from "vue";
//#region ../../packages/components/table-v2/src/renderers/footer.d.ts
type FooterRendererProps = {
class?: JSX.IntrinsicAttributes['class'];
style: CSSProperties;
};
declare const Footer: FunctionalComponent<FooterRendererProps>;
//#endregion
export { Footer as default };
@@ -0,0 +1,13 @@
import { createVNode } from "vue";
//#region ../../packages/components/table-v2/src/renderers/footer.tsx
const Footer = (props, { slots }) => {
return createVNode("div", {
"class": props.class,
"style": props.style
}, [slots.default?.()]);
};
Footer.displayName = "ElTableV2Footer";
//#endregion
export { Footer as default };
//# sourceMappingURL=footer.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"footer.mjs","names":["Footer","props","slots","_createVNode","class","style","default","displayName"],"sources":["../../../../../../../packages/components/table-v2/src/renderers/footer.tsx"],"sourcesContent":["import type { CSSProperties, FunctionalComponent } from 'vue'\n\ntype FooterRendererProps = {\n class?: JSX.IntrinsicAttributes['class']\n style: CSSProperties\n}\n\nconst Footer: FunctionalComponent<FooterRendererProps> = (props, { slots }) => {\n return (\n <div class={props.class} style={props.style}>\n {slots.default?.()}\n </div>\n )\n}\n\nFooter.displayName = 'ElTableV2Footer'\n\nexport default Footer\n"],"mappings":";;AAOA,MAAMA,UAAoDC,OAAO,EAAEC,YAAY;CAC7E,OAAAC,YAAA,OAAA;EAAA,SACcF,MAAMG;EAAK,SAASH,MAAMI;EAAK,EAAA,CACxCH,MAAMI,WAAW,CAAA,CAAA;;AAKxBN,OAAOO,cAAc"}
@@ -0,0 +1,18 @@
import { Translator } from "../../../../hooks/use-locale/index.js";
import { UseNamespaceReturn } from "../../../../hooks/use-namespace/index.js";
import { TableV2Props } from "../table.js";
import { TableV2HeaderRowCellRendererParams } from "../components/header-row.js";
import { UseTableReturn } from "../use-table.js";
import { FunctionalComponent, UnwrapNestedRefs } from "vue";
//#region ../../packages/components/table-v2/src/renderers/header-cell.d.ts
type HeaderCellRendererProps = TableV2HeaderRowCellRendererParams & UnwrapNestedRefs<Pick<UseTableReturn, 'onColumnSorted'>> & Pick<TableV2Props, 'sortBy' | 'sortState' | 'headerCellProps'> & {
ns: UseNamespaceReturn;
t: Translator;
};
declare const HeaderCellRenderer: FunctionalComponent<HeaderCellRendererProps>;
type HeaderCellSlotProps = HeaderCellRendererProps & {
class: string;
};
//#endregion
export { HeaderCellRendererProps, HeaderCellSlotProps, HeaderCellRenderer as default };
@@ -0,0 +1,64 @@
import { oppositeOrderMap } from "../constants.mjs";
import { placeholderSign } from "../private.mjs";
import { componentToSlot, enforceUnit, tryCall } from "../utils.mjs";
import HeaderCell from "../components/header-cell.mjs";
import SortIcon from "../components/sort-icon.mjs";
import { createVNode, mergeProps, renderSlot } from "vue";
//#region ../../packages/components/table-v2/src/renderers/header-cell.tsx
const HeaderCellRenderer = (props, { slots }) => {
const { column, ns, t, style, onColumnSorted } = props;
const cellStyle = enforceUnit(style);
if (column.placeholderSign === placeholderSign) return createVNode("div", {
"class": ns.em("header-row-cell", "placeholder"),
"style": cellStyle
}, null);
const { headerCellRenderer, headerClass, sortable } = column;
/**
* render Cell children
*/
const cellProps = {
...props,
class: ns.e("header-cell-text")
};
const columnCellRenderer = componentToSlot(headerCellRenderer);
const Cell = columnCellRenderer ? columnCellRenderer(cellProps) : renderSlot(slots, "default", cellProps, () => [createVNode(HeaderCell, cellProps, null)]);
/**
* Render cell container and sort indicator
*/
const { sortBy, sortState, headerCellProps } = props;
let sorting, sortOrder, ariaSort;
if (sortState) {
const order = sortState[column.key];
sorting = Boolean(oppositeOrderMap[order]);
sortOrder = sorting ? order : "asc";
} else {
sorting = column.key === sortBy.key;
sortOrder = sorting ? sortBy.order : "asc";
}
if (sortOrder === "asc") ariaSort = "ascending";
else if (sortOrder === "desc") ariaSort = "descending";
else ariaSort = void 0;
const cellKls = [
ns.e("header-cell"),
tryCall(headerClass, props, ""),
column.align === "center" && ns.is("align-center"),
column.align === "right" && ns.is("align-right"),
sortable && ns.is("sortable")
];
return createVNode("div", mergeProps({
...tryCall(headerCellProps, props),
onClick: column.sortable ? onColumnSorted : void 0,
ariaSort: sortable ? ariaSort : void 0,
class: cellKls,
style: cellStyle,
["data-key"]: column.key
}, { "role": "columnheader" }), [Cell, sortable && createVNode(SortIcon, {
"class": [ns.e("sort-icon"), sorting && ns.is("sorting")],
"sortOrder": sortOrder,
"ariaLabel": t("el.table.sortLabel", { column: column.title || "" })
}, null)]);
};
//#endregion
export { HeaderCellRenderer as default };
//# sourceMappingURL=header-cell.mjs.map
File diff suppressed because one or more lines are too long
@@ -0,0 +1,12 @@
import { UseNamespaceReturn } from "../../../../hooks/use-namespace/index.js";
import { TableV2Props } from "../table.js";
import { TableV2HeaderRendererParams } from "../components/header.js";
import { FunctionalComponent } from "vue";
//#region ../../packages/components/table-v2/src/renderers/header.d.ts
type HeaderRendererProps = TableV2HeaderRendererParams & Pick<TableV2Props, 'headerClass' | 'headerProps'> & {
ns: UseNamespaceReturn;
};
declare const HeaderRenderer: FunctionalComponent<HeaderRendererProps>;
//#endregion
export { HeaderRenderer as default };
@@ -0,0 +1,30 @@
import { tryCall } from "../utils.mjs";
import TableV2HeaderRow from "../components/header-row.mjs";
import { createVNode, isVNode } from "vue";
//#region ../../packages/components/table-v2/src/renderers/header.tsx
function _isSlot(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
}
const HeaderRenderer = ({ columns, columnsStyles, headerIndex, style, headerClass, headerProps, ns }, { slots }) => {
const param = {
columns,
headerIndex
};
const kls = [
ns.e("header-row"),
tryCall(headerClass, param, ""),
ns.is("customized", Boolean(slots.header))
];
return createVNode(TableV2HeaderRow, {
...tryCall(headerProps, param),
columnsStyles,
class: kls,
columns,
headerIndex,
style
}, _isSlot(slots) ? slots : { default: () => [slots] });
};
//#endregion
export { HeaderRenderer as default };
//# sourceMappingURL=header.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"header.mjs","names":["HeaderRow","tryCall","_isSlot","s","Object","prototype","toString","call","_isVNode","HeaderRenderer","columns","columnsStyles","headerIndex","style","headerClass","headerProps","ns","slots","param","kls","e","is","Boolean","header","extraProps","class","_createVNode","default"],"sources":["../../../../../../../packages/components/table-v2/src/renderers/header.tsx"],"sourcesContent":["import { HeaderRow } from '../components'\nimport { tryCall } from '../utils'\n\nimport type { FunctionalComponent } from 'vue'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\nimport type { TableV2HeaderRendererParams } from '../components'\nimport type { TableV2Props } from '../table'\n\ntype HeaderRendererProps = TableV2HeaderRendererParams &\n Pick<TableV2Props, 'headerClass' | 'headerProps'> & {\n ns: UseNamespaceReturn\n }\n\nconst HeaderRenderer: FunctionalComponent<HeaderRendererProps> = (\n {\n columns,\n columnsStyles,\n headerIndex,\n style,\n // derived from root\n headerClass,\n headerProps,\n\n ns,\n },\n { slots }\n) => {\n const param = { columns, headerIndex }\n\n const kls = [\n ns.e('header-row'),\n tryCall(headerClass, param, ''),\n ns.is('customized', Boolean(slots.header)),\n ]\n\n const extraProps = {\n ...tryCall(headerProps, param),\n columnsStyles,\n class: kls,\n columns,\n headerIndex,\n style,\n }\n\n return <HeaderRow {...extraProps}>{slots}</HeaderRow>\n}\n\nexport default HeaderRenderer\n"],"mappings":";;;;AACkC,SAAAE,QAAAC,GAAA;CAAA,OAAA,OAAAA,MAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,EAAA,KAAA,qBAAA,CAAAK,QAAAL,EAAA;;AAYlC,MAAMM,kBACJ,EACEC,SACAC,eACAC,aACAC,OAEAC,aACAC,aAEAC,MAEF,EAAEC,YACC;CACH,MAAMC,QAAQ;EAAER;EAASE;EAAa;CAEtC,MAAMO,MAAM;EACVH,GAAGI,EAAE,aAAa;EAClBnB,QAAQa,aAAaI,OAAO,GAAG;EAC/BF,GAAGK,GAAG,cAAcC,QAAQL,MAAMM,OAAO,CAAC;EAC3C;CAWD,OAAAG,YAAA1B,kBAAsBwB;EARpB,GAAGvB,QAAQc,aAAaG,MAAM;EAC9BP;EACAc,OAAON;EACPT;EACAE;EACAC;EAG8B,EAAAX,QAAGe,MAAK,GAALA,QAAK,EAAAU,eAAA,CAALV,MAAK,EAAA,CAAA"}
@@ -0,0 +1,11 @@
import { TableV2GridProps } from "../grid.js";
import { TableGridInstance } from "../table-grid.js";
import { FunctionalComponent, Ref } from "vue";
//#region ../../packages/components/table-v2/src/renderers/left-table.d.ts
type LeftTableProps = TableV2GridProps & {
leftTableRef: Ref<TableGridInstance | undefined>;
};
declare const LeftTable: FunctionalComponent<LeftTableProps>;
//#endregion
export { LeftTable as default };
@@ -0,0 +1,15 @@
import TableGrid from "../table-grid.mjs";
import { createVNode, isVNode, mergeProps } from "vue";
//#region ../../packages/components/table-v2/src/renderers/left-table.tsx
function _isSlot(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
}
const LeftTable = (props, { slots }) => {
if (!props.columns.length) return;
const { leftTableRef, ...rest } = props;
return createVNode(TableGrid, mergeProps({ "ref": leftTableRef }, rest), _isSlot(slots) ? slots : { default: () => [slots] });
};
//#endregion
export { LeftTable as default };
//# sourceMappingURL=left-table.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"left-table.mjs","names":["Table","_isSlot","s","Object","prototype","toString","call","_isVNode","LeftTable","props","slots","columns","length","leftTableRef","rest","_createVNode","_mergeProps","default"],"sources":["../../../../../../../packages/components/table-v2/src/renderers/left-table.tsx"],"sourcesContent":["import Table from '../table-grid'\n\nimport type { FunctionalComponent, Ref } from 'vue'\nimport type { TableV2GridProps } from '../grid'\nimport type { TableGridInstance } from '../table-grid'\n\ntype LeftTableProps = TableV2GridProps & {\n leftTableRef: Ref<TableGridInstance | undefined>\n}\n\nconst LeftTable: FunctionalComponent<LeftTableProps> = (props, { slots }) => {\n if (!props.columns.length) return\n\n const { leftTableRef, ...rest } = props\n\n return (\n <Table ref={leftTableRef} {...rest}>\n {slots}\n </Table>\n )\n}\n\nexport default LeftTable\n"],"mappings":";;;AAAiC,SAAAC,QAAAC,GAAA;CAAA,OAAA,OAAAA,MAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,EAAA,KAAA,qBAAA,CAAAK,QAAAL,EAAA;;AAUjC,MAAMM,aAAkDC,OAAO,EAAEC,YAAY;CAC3E,IAAI,CAACD,MAAME,QAAQC,QAAQ;CAE3B,MAAM,EAAEC,cAAc,GAAGC,SAASL;CAElC,OAAAM,YAAAf,WAAAgB,WAAA,EAAA,OACcH,cAAY,EAAMC,KAAI,EAAAb,QAC/BS,MAAK,GAALA,QAAK,EAAAO,eAAA,CAALP,MAAK,EAAA,CAAA"}
@@ -0,0 +1,11 @@
import { TableV2GridProps } from "../grid.js";
import { TableGridInstance } from "../table-grid.js";
import { FunctionalComponent, Ref } from "vue";
//#region ../../packages/components/table-v2/src/renderers/main-table.d.ts
type MainTableRendererProps = TableV2GridProps & {
mainTableRef: Ref<TableGridInstance | undefined>;
};
declare const MainTable: FunctionalComponent<MainTableRendererProps>;
//#endregion
export { MainTableRendererProps, MainTable as default };
@@ -0,0 +1,14 @@
import TableGrid from "../table-grid.mjs";
import { createVNode, isVNode, mergeProps } from "vue";
//#region ../../packages/components/table-v2/src/renderers/main-table.tsx
function _isSlot(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
}
const MainTable = (props, { slots }) => {
const { mainTableRef, ...rest } = props;
return createVNode(TableGrid, mergeProps({ "ref": mainTableRef }, rest), _isSlot(slots) ? slots : { default: () => [slots] });
};
//#endregion
export { MainTable as default };
//# sourceMappingURL=main-table.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"main-table.mjs","names":["Table","_isSlot","s","Object","prototype","toString","call","_isVNode","MainTable","props","slots","mainTableRef","rest","_createVNode","_mergeProps","default"],"sources":["../../../../../../../packages/components/table-v2/src/renderers/main-table.tsx"],"sourcesContent":["import Table from '../table-grid'\n\nimport type { FunctionalComponent, Ref } from 'vue'\nimport type { TableV2GridProps } from '../grid'\nimport type { TableGridInstance } from '../table-grid'\n\nexport type MainTableRendererProps = TableV2GridProps & {\n mainTableRef: Ref<TableGridInstance | undefined>\n}\n\nconst MainTable: FunctionalComponent<MainTableRendererProps> = (\n props: MainTableRendererProps,\n { slots }\n) => {\n const { mainTableRef, ...rest } = props\n return (\n <Table ref={mainTableRef} {...rest}>\n {slots}\n </Table>\n )\n}\n\nexport default MainTable\n"],"mappings":";;;AAAiC,SAAAC,QAAAC,GAAA;CAAA,OAAA,OAAAA,MAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,EAAA,KAAA,qBAAA,CAAAK,QAAAL,EAAA;;AAUjC,MAAMM,aACJC,OACA,EAAEC,YACC;CACH,MAAM,EAAEC,cAAc,GAAGC,SAASH;CAClC,OAAAI,YAAAb,WAAAc,WAAA,EAAA,OACcH,cAAY,EAAMC,KAAI,EAAAX,QAC/BS,MAAK,GAALA,QAAK,EAAAK,eAAA,CAALL,MAAK,EAAA,CAAA"}
@@ -0,0 +1,6 @@
import { SimpleFunctionalComponent } from "../types.js";
//#region ../../packages/components/table-v2/src/renderers/overlay.d.ts
declare const Overlay: SimpleFunctionalComponent;
//#endregion
export { Overlay as default };
@@ -0,0 +1,13 @@
import { createVNode } from "vue";
//#region ../../packages/components/table-v2/src/renderers/overlay.tsx
const Overlay = (props, { slots }) => {
return createVNode("div", {
"class": props.class,
"style": props.style
}, [slots.default?.()]);
};
Overlay.displayName = "ElTableV2Overlay";
//#endregion
export { Overlay as default };
//# sourceMappingURL=overlay.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"overlay.mjs","names":["Overlay","props","slots","_createVNode","class","style","default","displayName"],"sources":["../../../../../../../packages/components/table-v2/src/renderers/overlay.tsx"],"sourcesContent":["import type { SimpleFunctionalComponent } from '../types'\n\nconst Overlay: SimpleFunctionalComponent = (props, { slots }) => {\n return (\n <div class={props.class} style={props.style}>\n {slots.default?.()}\n </div>\n )\n}\n\nOverlay.displayName = 'ElTableV2Overlay'\n\nexport default Overlay\n"],"mappings":";;AAEA,MAAMA,WAAsCC,OAAO,EAAEC,YAAY;CAC/D,OAAAC,YAAA,OAAA;EAAA,SACcF,MAAMG;EAAK,SAASH,MAAMI;EAAK,EAAA,CACxCH,MAAMI,WAAW,CAAA,CAAA;;AAKxBN,QAAQO,cAAc"}
@@ -0,0 +1,11 @@
import { TableV2GridProps } from "../grid.js";
import { TableGridInstance } from "../table-grid.js";
import { FunctionalComponent, Ref } from "vue";
//#region ../../packages/components/table-v2/src/renderers/right-table.d.ts
type RightTableProps = TableV2GridProps & {
rightTableRef: Ref<TableGridInstance | undefined>;
};
declare const RightTable: FunctionalComponent<RightTableProps>;
//#endregion
export { RightTable as default };
@@ -0,0 +1,15 @@
import TableGrid from "../table-grid.mjs";
import { createVNode, isVNode, mergeProps } from "vue";
//#region ../../packages/components/table-v2/src/renderers/right-table.tsx
function _isSlot(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
}
const RightTable = (props, { slots }) => {
if (!props.columns.length) return;
const { rightTableRef, ...rest } = props;
return createVNode(TableGrid, mergeProps({ "ref": rightTableRef }, rest), _isSlot(slots) ? slots : { default: () => [slots] });
};
//#endregion
export { RightTable as default };
//# sourceMappingURL=right-table.mjs.map
@@ -0,0 +1 @@
{"version":3,"file":"right-table.mjs","names":["Table","_isSlot","s","Object","prototype","toString","call","_isVNode","RightTable","props","slots","columns","length","rightTableRef","rest","_createVNode","_mergeProps","default"],"sources":["../../../../../../../packages/components/table-v2/src/renderers/right-table.tsx"],"sourcesContent":["import Table from '../table-grid'\n\nimport type { FunctionalComponent, Ref } from 'vue'\nimport type { TableV2GridProps } from '../grid'\nimport type { TableGridInstance } from '../table-grid'\n\ntype RightTableProps = TableV2GridProps & {\n rightTableRef: Ref<TableGridInstance | undefined>\n}\n\nconst RightTable: FunctionalComponent<RightTableProps> = (props, { slots }) => {\n if (!props.columns.length) return\n\n const { rightTableRef, ...rest } = props\n\n return (\n <Table ref={rightTableRef} {...rest}>\n {slots}\n </Table>\n )\n}\n\nexport default RightTable\n"],"mappings":";;;AAAiC,SAAAC,QAAAC,GAAA;CAAA,OAAA,OAAAA,MAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,EAAA,KAAA,qBAAA,CAAAK,QAAAL,EAAA;;AAUjC,MAAMM,cAAoDC,OAAO,EAAEC,YAAY;CAC7E,IAAI,CAACD,MAAME,QAAQC,QAAQ;CAE3B,MAAM,EAAEC,eAAe,GAAGC,SAASL;CAEnC,OAAAM,YAAAf,WAAAgB,WAAA,EAAA,OACcH,eAAa,EAAMC,KAAI,EAAAb,QAChCS,MAAK,GAALA,QAAK,EAAAO,eAAA,CAALP,MAAK,EAAA,CAAA"}
@@ -0,0 +1,14 @@
import { UseNamespaceReturn } from "../../../../hooks/use-namespace/index.js";
import { TableV2Props } from "../table.js";
import { TableGridRowSlotParams } from "../table-grid.js";
import { UseTableReturn } from "../use-table.js";
import { ComponentInternalInstance, FunctionalComponent, UnwrapNestedRefs } from "vue";
//#region ../../packages/components/table-v2/src/renderers/row.d.ts
type RowRendererProps = TableGridRowSlotParams & Pick<TableV2Props, 'expandColumnKey' | 'estimatedRowHeight' | 'rowProps' | 'rowClass' | 'rowKey' | 'rowEventHandlers'> & UnwrapNestedRefs<Pick<UseTableReturn, 'depthMap' | 'expandedRowKeys' | 'hasFixedColumns' | 'onRowHovered' | 'onRowExpanded' | 'columnsStyles'>> & {
ns: UseNamespaceReturn;
tableInstance?: ComponentInternalInstance;
};
declare const RowRenderer: FunctionalComponent<RowRendererProps>;
//#endregion
export { RowRenderer as default };
@@ -0,0 +1,76 @@
import { tryCall } from "../utils.mjs";
import TableV2Row from "../components/row.mjs";
import { createVNode, isVNode, mergeProps } from "vue";
//#region ../../packages/components/table-v2/src/renderers/row.tsx
function _isSlot(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
}
const RowRenderer = (props, { slots }) => {
const { columns, columnsStyles, depthMap, expandColumnKey, expandedRowKeys, estimatedRowHeight, hasFixedColumns, rowData, rowIndex, style, isScrolling, rowProps, rowClass, rowKey, rowEventHandlers, ns, onRowHovered, onRowExpanded } = props;
const rowKls = tryCall(rowClass, {
columns,
rowData,
rowIndex
}, "");
const additionalProps = tryCall(rowProps, {
columns,
rowData,
rowIndex
});
const _rowKey = rowData[rowKey];
const depth = depthMap[_rowKey] || 0;
const canExpand = Boolean(expandColumnKey);
const isFixedRow = rowIndex < 0;
const kls = [
ns.e("row"),
rowKls,
ns.is("expanded", canExpand && expandedRowKeys.includes(_rowKey)),
ns.is("fixed", !depth && isFixedRow),
ns.is("customized", Boolean(slots.row)),
{ [ns.e(`row-depth-${depth}`)]: canExpand && rowIndex >= 0 }
];
const onRowHover = hasFixedColumns ? onRowHovered : void 0;
const _rowProps = {
...additionalProps,
columns,
columnsStyles,
class: kls,
depth,
expandColumnKey,
estimatedRowHeight: isFixedRow ? void 0 : estimatedRowHeight,
isScrolling,
rowIndex,
rowData,
rowKey: _rowKey,
rowEventHandlers,
style
};
const handlerMouseEnter = (e) => {
onRowHover?.({
hovered: true,
rowKey: _rowKey,
event: e,
rowData,
rowIndex
});
};
const handlerMouseLeave = (e) => {
onRowHover?.({
hovered: false,
rowKey: _rowKey,
event: e,
rowData,
rowIndex
});
};
return createVNode(TableV2Row, mergeProps(_rowProps, {
"onRowExpand": onRowExpanded,
"onMouseenter": handlerMouseEnter,
"onMouseleave": handlerMouseLeave,
"rowkey": _rowKey
}), _isSlot(slots) ? slots : { default: () => [slots] });
};
//#endregion
export { RowRenderer as default };
//# sourceMappingURL=row.mjs.map
File diff suppressed because one or more lines are too long