@bioturing/components 0.47.0 → 0.48.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/dist/components/base-menu/index.d.ts +1 -1
- package/dist/components/base-menu/index.d.ts.map +1 -1
- package/dist/components/base-menu/item.css +1 -1
- package/dist/components/base-menu/item.d.ts +13 -2
- package/dist/components/base-menu/item.d.ts.map +1 -1
- package/dist/components/base-menu/item.js +62 -47
- package/dist/components/base-menu/item.js.map +1 -1
- package/dist/components/base-menu/style.css +1 -1
- package/dist/components/combobox/component.d.ts.map +1 -1
- package/dist/components/combobox/component.js +121 -121
- package/dist/components/combobox/component.js.map +1 -1
- package/dist/components/combobox/style.css +1 -1
- package/dist/components/data-table/component.d.ts.map +1 -1
- package/dist/components/data-table/component.js +81 -70
- package/dist/components/data-table/component.js.map +1 -1
- package/dist/components/data-table/components/TableBody.d.ts +3 -2
- package/dist/components/data-table/components/TableBody.d.ts.map +1 -1
- package/dist/components/data-table/components/TableBody.js +107 -99
- package/dist/components/data-table/components/TableBody.js.map +1 -1
- package/dist/components/data-table/components/TableHeader.d.ts +3 -1
- package/dist/components/data-table/components/TableHeader.d.ts.map +1 -1
- package/dist/components/data-table/components/TableHeader.js +121 -93
- package/dist/components/data-table/components/TableHeader.js.map +1 -1
- package/dist/components/data-table/components/TablePagination.d.ts.map +1 -1
- package/dist/components/data-table/components/TablePagination.js +32 -21
- package/dist/components/data-table/components/TablePagination.js.map +1 -1
- package/dist/components/data-table/hooks.d.ts.map +1 -1
- package/dist/components/data-table/hooks.js +98 -84
- package/dist/components/data-table/hooks.js.map +1 -1
- package/dist/components/data-table/style.css +1 -1
- package/dist/components/data-table/utils.js +37 -30
- package/dist/components/data-table/utils.js.map +1 -1
- package/dist/components/dropdown-menu/component.d.ts.map +1 -1
- package/dist/components/dropdown-menu/component.js +121 -144
- package/dist/components/dropdown-menu/component.js.map +1 -1
- package/dist/components/dropdown-menu/index.d.ts +2 -0
- package/dist/components/dropdown-menu/index.d.ts.map +1 -1
- package/dist/components/dropdown-menu/item.d.ts +7 -15
- package/dist/components/dropdown-menu/item.d.ts.map +1 -1
- package/dist/components/dropdown-menu/item.js +132 -81
- package/dist/components/dropdown-menu/item.js.map +1 -1
- package/dist/components/dropdown-menu/radio-group.d.ts +14 -0
- package/dist/components/dropdown-menu/radio-group.d.ts.map +1 -0
- package/dist/components/dropdown-menu/radio-group.js +45 -0
- package/dist/components/dropdown-menu/radio-group.js.map +1 -0
- package/dist/components/dropdown-menu/search-mode.d.ts +4 -0
- package/dist/components/dropdown-menu/search-mode.d.ts.map +1 -0
- package/dist/components/dropdown-menu/search-mode.js +6 -0
- package/dist/components/dropdown-menu/search-mode.js.map +1 -0
- package/dist/components/dropdown-menu/style.css +1 -1
- package/dist/components/dropdown-menu/submenu.d.ts +25 -0
- package/dist/components/dropdown-menu/submenu.d.ts.map +1 -0
- package/dist/components/dropdown-menu/submenu.js +96 -0
- package/dist/components/dropdown-menu/submenu.js.map +1 -0
- package/dist/components/dropdown-menu/types.d.ts +85 -12
- package/dist/components/dropdown-menu/types.d.ts.map +1 -1
- package/dist/components/dropdown-menu/useDropdownMenu.d.ts +4 -8
- package/dist/components/dropdown-menu/useDropdownMenu.d.ts.map +1 -1
- package/dist/components/dropdown-menu/useDropdownMenu.js +108 -81
- package/dist/components/dropdown-menu/useDropdownMenu.js.map +1 -1
- package/dist/components/select/component.js +29 -29
- package/dist/components/select/component.js.map +1 -1
- package/dist/index.js +278 -274
- package/dist/index.js.map +1 -1
- package/dist/stats.html +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../../../src/components/data-table/hooks.ts"],"sourcesContent":["import { useState, useMemo, useEffect } from \"react\";\nimport {\n useReactTable,\n getCoreRowModel,\n getSortedRowModel,\n getFilteredRowModel,\n getPaginationRowModel,\n type ColumnDef,\n} from \"@tanstack/react-table\";\nimport { type DataTableProps, type DataTableState } from \"./types\";\nimport {\n convertColumnsToTanStack,\n convertSelectionToAntFormat,\n getRowKey,\n} from \"./utils\";\n\n/**\n * Hook to manage DataTable state and TanStack Table integration\n */\nexport function useDataTable<\n RecordType extends Record<string, any> = Record<string, unknown>\n>(props: DataTableProps<RecordType>) {\n const {\n dataSource = [],\n columns = [],\n rowSelection,\n pagination,\n loading,\n enableSorting = true,\n enableFiltering = false,\n onSortingChange,\n onFilteringChange,\n rowKey,\n enableColumnResizing = false,\n columnResizeMode = \"onChange\",\n columnResizeDirection = \"ltr\",\n onColumnSizingChange,\n } = props;\n\n // Internal state for uncontrolled mode\n const [internalState, setInternalState] = useState<DataTableState>({\n sorting: [],\n filtering: [],\n pagination: {\n pageIndex: 0,\n pageSize: !pagination\n ? dataSource.length\n : pagination?.defaultPageSize || pagination?.pageSize || 10,\n },\n rowSelection: {},\n columnSizing: {},\n });\n\n // Convert Ant Design columns to TanStack format\n const tanStackColumns = useMemo(() => {\n let processedColumns = convertColumnsToTanStack(columns);\n\n // Add selection column if needed\n if (rowSelection) {\n const selectionColumn: ColumnDef<RecordType> = {\n id: \"select\",\n header: ({ table: _table }) => {\n if (rowSelection.type === \"radio\")\n return rowSelection.columnTitle || null;\n // Return a marker that will be handled by the TableHeader component\n return \"SELECTION_HEADER\";\n },\n cell: ({ row: _row }) => {\n // Return a marker that will be handled by the TableBody component\n return \"SELECTION_CELL\";\n },\n size:\n typeof rowSelection.columnWidth === \"number\"\n ? rowSelection.columnWidth\n : typeof rowSelection.columnWidth === \"string\"\n ? parseFloat(rowSelection.columnWidth) || 32\n : 32,\n enableSorting: false,\n enableHiding: false,\n meta: {\n fixed: rowSelection.fixed,\n isSelectionColumn: true,\n },\n };\n\n processedColumns = [selectionColumn, ...processedColumns];\n }\n\n return processedColumns;\n }, [columns, rowSelection]);\n\n // Reset pagination when dataSource changes\n useEffect(() => {\n if (pagination === false) return;\n\n const currentPageSize = internalState.pagination.pageSize;\n const maxPageIndex = Math.max(0, Math.ceil(dataSource.length / currentPageSize) - 1);\n\n // Only reset if current page is out of bounds\n if (internalState.pagination.pageIndex > maxPageIndex) {\n setInternalState((prev) => ({\n ...prev,\n pagination: {\n ...prev.pagination,\n pageIndex: 0,\n },\n }));\n }\n }, [dataSource, pagination, internalState.pagination.pageSize, internalState.pagination.pageIndex]);\n\n // Initialize TanStack Table\n const table = useReactTable<RecordType>({\n data: dataSource,\n columns: tanStackColumns,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: enableSorting ? getSortedRowModel() : undefined,\n getFilteredRowModel: enableFiltering ? getFilteredRowModel() : undefined,\n getPaginationRowModel:\n pagination !== false ? getPaginationRowModel() : undefined,\n\n // Default column configuration for sizing\n defaultColumn: {\n size: 150,\n minSize: 50,\n maxSize: 500,\n },\n\n // State management\n state: {\n sorting: internalState.sorting,\n columnFilters: internalState.filtering,\n pagination: internalState.pagination,\n rowSelection: internalState.rowSelection,\n columnSizing: enableColumnResizing\n ? internalState.columnSizing\n : undefined,\n },\n\n // State update handlers\n onSortingChange: (updater) => {\n const newSorting =\n typeof updater === \"function\"\n ? updater(internalState.sorting)\n : updater;\n setInternalState((prev) => ({ ...prev, sorting: newSorting }));\n onSortingChange?.(newSorting);\n },\n\n onColumnFiltersChange: (updater) => {\n const newFiltering =\n typeof updater === \"function\"\n ? updater(internalState.filtering)\n : updater;\n setInternalState((prev) => ({ ...prev, filtering: newFiltering }));\n onFilteringChange?.(newFiltering);\n },\n\n onPaginationChange: (updater) => {\n if (pagination === false) return;\n\n const newPagination =\n typeof updater === \"function\"\n ? updater(internalState.pagination)\n : updater;\n setInternalState((prev) => ({ ...prev, pagination: newPagination }));\n },\n\n onRowSelectionChange: (updater) => {\n const newSelection =\n typeof updater === \"function\"\n ? updater(internalState.rowSelection)\n : updater;\n setInternalState((prev) => ({ ...prev, rowSelection: newSelection }));\n\n // Convert to Ant Design format and call onChange\n if (rowSelection?.onChange) {\n const { selectedRowKeys, selectedRows } = convertSelectionToAntFormat(\n newSelection,\n dataSource,\n rowKey\n );\n rowSelection.onChange(selectedRowKeys, selectedRows);\n }\n },\n\n onColumnSizingChange: enableColumnResizing\n ? (updater) => {\n const newColumnSizing =\n typeof updater === \"function\"\n ? updater(internalState.columnSizing)\n : updater;\n setInternalState((prev) => ({\n ...prev,\n columnSizing: newColumnSizing,\n }));\n onColumnSizingChange?.(newColumnSizing);\n }\n : undefined,\n\n // Feature enables\n enableSorting,\n enableFilters: enableFiltering,\n enableRowSelection: !!rowSelection,\n enableMultiRowSelection: rowSelection?.type !== \"radio\",\n enableColumnResizing,\n\n // Column resizing configuration\n columnResizeMode,\n columnResizeDirection,\n\n // Row identification\n getRowId: (row, index) => String(getRowKey(row, index, rowKey)),\n });\n\n // Loading state processing\n const isLoading =\n typeof loading === \"boolean\"\n ? loading\n : typeof loading === \"object\"\n ? true\n : false;\n const spinProps = typeof loading === \"object\" ? loading : {};\n\n return {\n table,\n isLoading,\n spinProps,\n hasRowSelection: !!rowSelection,\n hasPagination: table.getPageCount() > 1,\n paginationConfig: pagination === false ? undefined : pagination,\n rowSelectionConfig: rowSelection,\n };\n}\n"],"names":["useDataTable","props","dataSource","columns","rowSelection","pagination","loading","enableSorting","enableFiltering","onSortingChange","onFilteringChange","rowKey","enableColumnResizing","columnResizeMode","columnResizeDirection","onColumnSizingChange","internalState","setInternalState","useState","tanStackColumns","useMemo","processedColumns","convertColumnsToTanStack","_table","_row","useEffect","currentPageSize","maxPageIndex","prev","table","useReactTable","getCoreRowModel","getSortedRowModel","getFilteredRowModel","getPaginationRowModel","updater","newSorting","newFiltering","newPagination","newSelection","selectedRowKeys","selectedRows","convertSelectionToAntFormat","newColumnSizing","row","index","getRowKey"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sources":["../../../src/components/data-table/hooks.ts"],"sourcesContent":["import { useState, useMemo, useEffect } from \"react\";\nimport {\n useReactTable,\n getCoreRowModel,\n getSortedRowModel,\n getFilteredRowModel,\n getPaginationRowModel,\n type ColumnDef,\n} from \"@tanstack/react-table\";\nimport { type DataTableProps, type DataTableState } from \"./types\";\nimport {\n convertColumnsToTanStack,\n convertSelectionToAntFormat,\n convertSelectionToTanStackFormat,\n getRowKey,\n} from \"./utils\";\n\n/**\n * Hook to manage DataTable state and TanStack Table integration\n */\nexport function useDataTable<\n RecordType extends Record<string, any> = Record<string, unknown>\n>(props: DataTableProps<RecordType>) {\n const {\n dataSource = [],\n columns = [],\n rowSelection,\n pagination,\n loading,\n enableSorting = true,\n enableFiltering = false,\n onSortingChange,\n onFilteringChange,\n rowKey,\n enableColumnResizing = false,\n columnResizeMode = \"onChange\",\n columnResizeDirection = \"ltr\",\n onColumnSizingChange,\n } = props;\n\n // Internal state for uncontrolled mode\n const [internalState, setInternalState] = useState<DataTableState>(() => {\n const initialSelectedRowKeys =\n rowSelection?.selectedRowKeys !== undefined\n ? rowSelection.selectedRowKeys\n : rowSelection?.defaultSelectedRowKeys;\n\n return {\n sorting: [],\n filtering: [],\n pagination: {\n pageIndex: 0,\n pageSize: !pagination\n ? dataSource.length\n : pagination?.defaultPageSize || pagination?.pageSize || 10,\n },\n rowSelection: initialSelectedRowKeys\n ? convertSelectionToTanStackFormat(\n initialSelectedRowKeys,\n dataSource,\n rowKey\n )\n : {},\n columnSizing: {},\n };\n });\n\n // Convert Ant Design columns to TanStack format\n const tanStackColumns = useMemo(() => {\n let processedColumns = convertColumnsToTanStack(columns);\n\n // Add selection column if needed\n if (rowSelection) {\n const selectionColumn: ColumnDef<RecordType> = {\n id: \"select\",\n header: ({ table: _table }) => {\n if (rowSelection.type === \"radio\")\n return rowSelection.columnTitle || null;\n // Return a marker that will be handled by the TableHeader component\n return \"SELECTION_HEADER\";\n },\n cell: ({ row: _row }) => {\n // Return a marker that will be handled by the TableBody component\n return \"SELECTION_CELL\";\n },\n size:\n typeof rowSelection.columnWidth === \"number\"\n ? rowSelection.columnWidth\n : typeof rowSelection.columnWidth === \"string\"\n ? parseFloat(rowSelection.columnWidth) || 32\n : 32,\n enableSorting: false,\n enableHiding: false,\n meta: {\n fixed: rowSelection.fixed,\n isSelectionColumn: true,\n },\n };\n\n processedColumns = [selectionColumn, ...processedColumns];\n }\n\n return processedColumns;\n }, [columns, rowSelection]);\n\n // Reset pagination when dataSource changes\n useEffect(() => {\n if (pagination === false) return;\n\n const currentPageSize = internalState.pagination.pageSize;\n const maxPageIndex = Math.max(0, Math.ceil(dataSource.length / currentPageSize) - 1);\n\n // Only reset if current page is out of bounds\n if (internalState.pagination.pageIndex > maxPageIndex) {\n setInternalState((prev) => ({\n ...prev,\n pagination: {\n ...prev.pagination,\n pageIndex: 0,\n },\n }));\n }\n }, [dataSource, pagination, internalState.pagination.pageSize, internalState.pagination.pageIndex]);\n\n // Sync controlled row selection from props\n useEffect(() => {\n if (rowSelection?.selectedRowKeys === undefined) return;\n\n const newSelection = convertSelectionToTanStackFormat(\n rowSelection.selectedRowKeys,\n dataSource,\n rowKey\n );\n\n setInternalState((prev) => {\n const prevKeys = Object.keys(prev.rowSelection)\n .filter((k) => prev.rowSelection[k])\n .sort();\n const newKeys = Object.keys(newSelection)\n .filter((k) => newSelection[k])\n .sort();\n\n if (\n prevKeys.length === newKeys.length &&\n prevKeys.every((k, i) => k === newKeys[i])\n ) {\n return prev;\n }\n\n return { ...prev, rowSelection: newSelection };\n });\n }, [rowSelection?.selectedRowKeys, dataSource, rowKey]);\n\n // Initialize TanStack Table\n const table = useReactTable<RecordType>({\n data: dataSource,\n columns: tanStackColumns,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: enableSorting ? getSortedRowModel() : undefined,\n getFilteredRowModel: enableFiltering ? getFilteredRowModel() : undefined,\n getPaginationRowModel:\n pagination !== false ? getPaginationRowModel() : undefined,\n\n // Default column configuration for sizing\n defaultColumn: {\n size: 150,\n minSize: 50,\n maxSize: 500,\n },\n\n // State management\n state: {\n sorting: internalState.sorting,\n columnFilters: internalState.filtering,\n pagination: internalState.pagination,\n rowSelection: internalState.rowSelection,\n columnSizing: enableColumnResizing\n ? internalState.columnSizing\n : undefined,\n },\n\n // State update handlers\n onSortingChange: (updater) => {\n const newSorting =\n typeof updater === \"function\"\n ? updater(internalState.sorting)\n : updater;\n setInternalState((prev) => ({ ...prev, sorting: newSorting }));\n onSortingChange?.(newSorting);\n },\n\n onColumnFiltersChange: (updater) => {\n const newFiltering =\n typeof updater === \"function\"\n ? updater(internalState.filtering)\n : updater;\n setInternalState((prev) => ({ ...prev, filtering: newFiltering }));\n onFilteringChange?.(newFiltering);\n },\n\n onPaginationChange: (updater) => {\n if (pagination === false) return;\n\n const newPagination =\n typeof updater === \"function\"\n ? updater(internalState.pagination)\n : updater;\n setInternalState((prev) => ({ ...prev, pagination: newPagination }));\n },\n\n onRowSelectionChange: (updater) => {\n const newSelection =\n typeof updater === \"function\"\n ? updater(internalState.rowSelection)\n : updater;\n setInternalState((prev) => ({ ...prev, rowSelection: newSelection }));\n\n // Convert to Ant Design format and call onChange\n if (rowSelection?.onChange) {\n const { selectedRowKeys, selectedRows } = convertSelectionToAntFormat(\n newSelection,\n dataSource,\n rowKey\n );\n rowSelection.onChange(selectedRowKeys, selectedRows);\n }\n },\n\n onColumnSizingChange: enableColumnResizing\n ? (updater) => {\n const newColumnSizing =\n typeof updater === \"function\"\n ? updater(internalState.columnSizing)\n : updater;\n setInternalState((prev) => ({\n ...prev,\n columnSizing: newColumnSizing,\n }));\n onColumnSizingChange?.(newColumnSizing);\n }\n : undefined,\n\n // Feature enables\n enableSorting,\n enableFilters: enableFiltering,\n enableRowSelection: !!rowSelection,\n enableMultiRowSelection: rowSelection?.type !== \"radio\",\n enableColumnResizing,\n\n // Column resizing configuration\n columnResizeMode,\n columnResizeDirection,\n\n // Row identification\n getRowId: (row, index) => String(getRowKey(row, index, rowKey)),\n });\n\n // Loading state processing\n const isLoading =\n typeof loading === \"boolean\"\n ? loading\n : typeof loading === \"object\"\n ? true\n : false;\n const spinProps = typeof loading === \"object\" ? loading : {};\n\n return {\n table,\n isLoading,\n spinProps,\n hasRowSelection: !!rowSelection,\n hasPagination: table.getPageCount() > 1,\n paginationConfig: pagination === false ? undefined : pagination,\n rowSelectionConfig: rowSelection,\n };\n}\n"],"names":["useDataTable","props","dataSource","columns","rowSelection","pagination","loading","enableSorting","enableFiltering","onSortingChange","onFilteringChange","rowKey","enableColumnResizing","columnResizeMode","columnResizeDirection","onColumnSizingChange","internalState","setInternalState","useState","initialSelectedRowKeys","convertSelectionToTanStackFormat","tanStackColumns","useMemo","processedColumns","convertColumnsToTanStack","_table","_row","useEffect","currentPageSize","maxPageIndex","prev","newSelection","prevKeys","k","newKeys","i","table","useReactTable","getCoreRowModel","getSortedRowModel","getFilteredRowModel","getPaginationRowModel","updater","newSorting","newFiltering","newPagination","selectedRowKeys","selectedRows","convertSelectionToAntFormat","newColumnSizing","row","index","getRowKey"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer components{.ds-data-table-wrapper{--ds-data-table-border: 1px solid var(--ds-color-border-secondary, var(--ds-color-split));--ds-data-table-radius: 8px;--ds-data-table-inner-radius: calc(var(--ds-data-table-radius) - 1px);--ds-data-table-padding-block: 16px;--ds-data-table-padding-inline: 16px;clear:both;position:relative;display:flex;flex-direction:column;max-width:100%;max-height:100%;background:var(--ds-color-bg-container);border:1px solid transparent;border-radius:var(--ds-data-table-radius);color:var(--ds-color-text);font-size:var(--ds-font-size, 14px)}.ds-data-table-wrapper:after{position:absolute;inset:0;z-index:1;content:"";border-radius:inherit;box-shadow:inset 0 0 0 1px var(--ds-color-split);pointer-events:none}.ds-data-table-wrapper.ds-data-table-zebra:after{box-shadow:none}.ds-data-table-wrapper .ds-spin-nested-loading,.ds-data-table-wrapper .ds-spin-container{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.ds-data-table-wrapper .ds-data-table{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;background:var(--ds-color-bg-container);border-radius:var(--ds-data-table-inner-radius);scrollbar-color:var(--ds-color-text-quaternary, var(--ds-color-text-placeholder)) var(--ds-color-split)}.ds-data-table-wrapper .ds-data-table-container{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:auto;border-start-start-radius:var(--ds-data-table-inner-radius);border-start-end-radius:var(--ds-data-table-inner-radius)}.ds-data-table-wrapper .ds-data-table-content{display:flex;flex:0 1 auto;min-height:0}.ds-data-table-wrapper table{width:100%;min-height:0;flex:0 1 auto;border-collapse:separate;border-spacing:0;border-radius:var(--ds-data-table-inner-radius) var(--ds-data-table-inner-radius) 0 0;text-align:start}.ds-data-table-wrapper .ds-data-table-cell,.ds-data-table-wrapper .ds-data-table-thead>tr>th,.ds-data-table-wrapper .ds-data-table-tbody>tr>th,.ds-data-table-wrapper .ds-data-table-tbody>tr>td,.ds-data-table-wrapper tfoot>tr>th,.ds-data-table-wrapper tfoot>tr>td{position:relative;padding:var(--ds-data-table-padding-block) var(--ds-data-table-padding-inline);overflow-wrap:break-word}.ds-data-table-wrapper .ds-data-table-thead{position:sticky;top:0;z-index:1;background:var(--ds-color-bg-container)}.ds-data-table-wrapper .ds-data-table-thead>tr:first-child>*:first-child{border-start-start-radius:var(--ds-data-table-inner-radius)}.ds-data-table-wrapper .ds-data-table-thead>tr:first-child>*:last-child{border-start-end-radius:var(--ds-data-table-inner-radius)}.ds-data-table-wrapper .ds-data-table-thead>tr>th,.ds-data-table-wrapper .ds-data-table-thead>tr>td{position:relative;color:var(--ds-color-text-secondary);font-weight:var(--ds-font-weight-medium, 500);text-align:start;background:var(--ds-color-fill-alter);border-bottom:var(--ds-data-table-border);line-height:20px;transition:background .2s ease}.ds-data-table-wrapper .ds-data-table-thead>tr>th[colspan]:not([colspan="1"]),.ds-data-table-wrapper .ds-data-table-thead>tr>td[colspan]:not([colspan="1"]){text-align:center}.ds-data-table-wrapper .ds-data-table-thead>tr>th:not(:last-child):not(.ds-data-table-selection-column):not([colspan]):before,.ds-data-table-wrapper .ds-data-table-thead>tr>td:not(:last-child):not(.ds-data-table-selection-column):not([colspan]):before{position:absolute;top:50%;inset-inline-end:0;width:1px;height:calc(100% - var(--ds-data-table-padding-block) * 2);background-color:var(--ds-color-border-secondary, var(--ds-color-split));transform:translateY(-50%);transition:background-color .2s ease;content:""}.ds-data-table-wrapper .ds-data-table-thead>tr:not(:last-child)>th[colspan]{border-bottom:0}.ds-data-table-wrapper .ds-data-table-tbody{background:var(--ds-color-bg-container)}.ds-data-table-wrapper .ds-data-table-tbody>tr>th,.ds-data-table-wrapper .ds-data-table-tbody>tr>td{border-bottom:var(--ds-data-table-border);transition:background .2s ease}.ds-data-table-wrapper .ds-data-table-tbody>tr>th{position:relative;color:var(--ds-color-text-secondary);font-weight:var(--ds-font-weight-medium, 500);text-align:start;background:var(--ds-color-fill-alter)}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row{transition:background-color .2s ease}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row:hover>.ds-data-table-cell{background:var(--ds-color-fill-alter)}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row:last-child>.ds-data-table-cell{border-bottom-color:transparent}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row:last-child>.ds-data-table-cell:first-child{border-bottom-left-radius:var(--ds-data-table-inner-radius)}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row:last-child>.ds-data-table-cell:last-child{border-bottom-right-radius:var(--ds-data-table-inner-radius)}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row.ds-data-table-row-selected>.ds-data-table-cell{background:var(--ds-color-primary-bg)}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row.ds-data-table-row-selected:hover>.ds-data-table-cell{background:var(--ds-color-primary-bg-hover, var(--ds-color-primary-bg))}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row[data-selectable=true]{cursor:pointer}.ds-data-table-wrapper .ds-data-table-cell{color:var(--ds-color-text);line-height:20px;text-align:start;background:transparent}.ds-data-table-wrapper.ds-data-table-middle{font-size:var(--ds-font-size, 14px);--ds-data-table-padding-block: 12px;--ds-data-table-padding-inline: 12px}.ds-data-table-wrapper.ds-data-table-small{font-size:var(--ds-font-size, 14px);--ds-data-table-padding-block: 8px;--ds-data-table-padding-inline: 8px}.ds-data-table-wrapper .ds-data-table-selection-column{min-width:32px;padding-inline:8px;text-align:center}.ds-data-table-wrapper .ds-data-table-selection-column .ant-checkbox-wrapper,.ds-data-table-wrapper .ds-data-table-selection-column .ant-radio-wrapper{margin-inline-end:0}.ds-data-table-wrapper .ds-data-table-selection-column:before,.ds-data-table-wrapper .ds-data-table-selection-column:after{background-color:transparent}.ds-data-table-wrapper .ds-data-table-tbody>.ds-data-table-placeholder{color:var(--ds-color-text-disabled);text-align:center}.ds-data-table-wrapper .ds-data-table-tbody>.ds-data-table-placeholder:hover>th,.ds-data-table-wrapper .ds-data-table-tbody>.ds-data-table-placeholder:hover>td{background:var(--ds-color-bg-container)}.ds-data-table-wrapper .ds-data-table-tbody>.ds-data-table-placeholder>td{padding:1.5rem;border-bottom:0;border-bottom-right-radius:var(--ds-data-table-inner-radius);border-bottom-left-radius:var(--ds-data-table-inner-radius)}.ds-data-table-wrapper .ds-data-table-measure-row{height:0!important;font-size:0!important}.ds-data-table-wrapper .ds-data-table-measure-cell{height:0!important;padding-block:0!important;border-block:0!important}.ds-data-table-wrapper .ds-data-table-measure-cell-content{height:0;overflow:hidden;pointer-events:none}.ds-data-table-wrapper .ds-data-table-column-has-sorters{cursor:pointer;outline:none;transition:all .3s ease,left 0s}.ds-data-table-wrapper .ds-data-table-column-has-sorters:hover{background:var(--ds-color-fill-content)}.ds-data-table-wrapper .ds-data-table-column-has-sorters:hover:before{background-color:transparent}.ds-data-table-wrapper .ds-data-table-column-has-sorters:focus-visible{color:var(--ds-color-primary)}.ds-data-table-wrapper .ds-data-table-column-title{position:relative;z-index:1;flex:1;min-width:0}.ds-data-table-wrapper .ds-data-table-column-sorters{position:relative;display:flex;flex:auto;align-items:center;justify-content:space-between}.ds-data-table-wrapper .ds-data-table-column-sorters:after{position:absolute;inset:0;width:100%;height:100%;content:""}.ds-data-table-wrapper .ds-data-table-column-icons{display:flex;flex-shrink:0;align-items:center;gap:4px;min-width:16px;margin-inline-start:4px;color:var(--ds-color-icon, var(--ds-color-text-disabled));transition:color .3s ease}.ds-data-table-wrapper .ds-data-table-column-sorters:hover .ds-data-table-column-icons{color:var(--ds-color-icon-hover, var(--ds-color-text-secondary))}.ds-data-table-wrapper .ds-data-table-column-sort-icon{display:flex;flex-direction:column;align-items:center;width:16px;min-width:16px;color:var(--ds-color-text-disabled);font-size:0}.ds-data-table-wrapper .ds-data-table-column-sort-icon svg{width:1rem;height:1rem;color:currentColor;font-size:1rem}.ds-data-table-wrapper .ds-data-table-column-sort-icon svg:hover{color:var(--ds-color-text-secondary)}.ds-data-table-wrapper .ds-data-table-column-sort-icon.ds-data-table-column-sort-icon-none svg{font-size:.75rem}.ds-data-table-wrapper .ds-data-table-column-sort-icon.ds-data-table-column-sort-icon-none>svg:first-child{margin-bottom:-2px}.ds-data-table-wrapper .ds-data-table-column-sort-icon.ds-data-table-column-sort-icon-none>svg:last-child{margin-top:-2px}.ds-data-table-wrapper .ds-data-table-column-sort-icon.ds-data-table-column-sort-icon-asc,.ds-data-table-wrapper .ds-data-table-column-sort-icon.ds-data-table-column-sort-icon-desc{color:var(--ds-color-primary)}.ds-data-table-wrapper .ds-data-table-column-filter-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;width:12px;min-width:12px;color:var(--ds-color-text-disabled)}.ds-data-table-wrapper .ds-data-table-column-filter-icon svg{width:10px;height:10px;color:currentColor;font-size:.875rem}.ds-data-table-wrapper .ds-data-table-column-filter-icon:hover{color:var(--ds-color-text-secondary)}.ds-data-table-wrapper .ds-data-table-column-filter-icon.ds-data-table-column-filter-icon-active{color:var(--ds-color-primary)}.ds-data-table-wrapper .ds-data-table-pagination{display:flex;justify-content:flex-end;padding:16px;background:transparent;border-top:var(--ds-data-table-border);border-bottom-right-radius:var(--ds-data-table-radius);border-bottom-left-radius:var(--ds-data-table-radius)}.ds-data-table-wrapper .ds-data-table-pagination.ds-data-table-pagination-right{justify-content:flex-end}.ds-data-table-wrapper .ds-data-table-pagination .ant-pagination{margin:0}.ds-data-table-wrapper.ds-data-table-has-pagination .ds-data-table-container,.ds-data-table-wrapper.ds-data-table-has-pagination .ds-data-table,.ds-data-table-wrapper.ds-data-table-has-pagination table{border-bottom-right-radius:0;border-bottom-left-radius:0}.ds-data-table-wrapper.ds-data-table-has-pagination .ds-data-table-tbody .ds-data-table-row:last-child>.ds-data-table-cell{border-bottom-color:transparent}.ds-data-table-wrapper.ds-data-table-has-pagination .ds-data-table-tbody .ds-data-table-row:last-child>.ds-data-table-cell:first-child{border-bottom-left-radius:0}.ds-data-table-wrapper.ds-data-table-has-pagination .ds-data-table-tbody .ds-data-table-row:last-child>.ds-data-table-cell:last-child{border-bottom-right-radius:0}.ds-data-table-wrapper.ds-data-table-scroll-vertical .ds-data-table,.ds-data-table-wrapper.ds-data-table-scroll-vertical .ds-data-table-container,.ds-data-table-wrapper.ds-data-table-scroll-vertical table,.ds-data-table-wrapper.ds-data-table-scroll-vertical .ds-data-table-thead>tr:first-child>*:last-child{border-top-right-radius:0}.ds-data-table-wrapper.ds-data-table-ping-left .ds-data-table-cell-fix-left-first:after,.ds-data-table-wrapper.ds-data-table-ping-left .ds-data-table-cell-fix-left-last:after{box-shadow:inset 10px 0 8px -8px var(--ds-color-table-fixed-column-shadow)}.ds-data-table-wrapper.ds-data-table-ping-right .ds-data-table-cell-fix-right-first:after,.ds-data-table-wrapper.ds-data-table-ping-right .ds-data-table-cell-fix-right-last:after{box-shadow:inset -10px 0 8px -8px var(--ds-color-table-fixed-column-shadow)}.ds-data-table-wrapper.ds-data-table-ping-right:not(.ds-data-table-has-fix-right) .ds-data-table-container:after{box-shadow:inset -10px 0 8px -8px var(--ds-color-table-fixed-column-shadow)}.ds-data-table-wrapper.ds-data-table-ping-left:not(.ds-data-table-has-fix-left) .ds-data-table-container:before{box-shadow:inset 10px 0 8px -8px var(--ds-color-table-fixed-column-shadow)}.ds-data-table-wrapper .text-left{text-align:left!important}.ds-data-table-wrapper .text-center{text-align:center!important}.ds-data-table-wrapper .text-right{text-align:right!important}.ds-data-table-wrapper .ds-data-table-resize-handle{position:absolute;top:0;bottom:0;z-index:50;width:12px;background:transparent;cursor:col-resize;opacity:0;touch-action:none;-webkit-user-select:none;user-select:none;transition:opacity .2s ease,background-color .2s ease}.ds-data-table-wrapper .ds-data-table-resize-handle.ds-data-table-resize-ltr{right:-6px}.ds-data-table-wrapper .ds-data-table-resize-handle.ds-data-table-resize-rtl{left:-6px}.ds-data-table-wrapper .ds-data-table-resize-handle:before{position:absolute;top:0;bottom:0;left:50%;width:2px;background:transparent;border-radius:1px;transform:translate(-50%);content:""}.ds-data-table-wrapper .ds-data-table-resize-handle:hover,.ds-data-table-wrapper .ds-data-table-resize-handle.ds-data-table-resize-handle-active{opacity:1}.ds-data-table-wrapper .ds-data-table-resize-handle:hover:before,.ds-data-table-wrapper .ds-data-table-resize-handle.ds-data-table-resize-handle-active:before{background-color:var(--ds-color-primary);box-shadow:0 0 0 1px var(--ds-color-primary-bg)}.ds-data-table-wrapper .ds-data-table-resize-handle.ds-data-table-resize-handle-active{z-index:999}.ds-data-table-wrapper .ds-data-table-thead th.ds-data-table-cell{z-index:1}.ds-data-table-wrapper .ds-data-table-thead th.ds-data-table-cell:hover .ds-data-table-resize-handle{opacity:.6}.ds-data-table-wrapper .ds-data-table-thead th.ds-data-table-cell:hover .ds-data-table-resize-handle:before{background-color:var(--ds-color-text-tertiary)}.ds-data-table-wrapper .ds-data-table-thead th.ds-data-table-cell:has(.ds-data-table-resize-handle-active),.ds-data-table-wrapper .ds-data-table-thead th.ds-data-table-cell.ds-data-table-cell-resizing{z-index:200}.ds-data-table-wrapper .ds-data-table-thead th.ds-data-table-cell:has(.ds-data-table-resize-handle-active) .ds-data-table-resize-handle,.ds-data-table-wrapper .ds-data-table-thead th.ds-data-table-cell.ds-data-table-cell-resizing .ds-data-table-resize-handle{z-index:999}.ds-data-table-wrapper .ds-data-table-resize-indicator{position:absolute;top:0;bottom:0;z-index:999;width:2px;background-color:var(--ds-color-primary);opacity:1;pointer-events:none;transition:transform .1s ease}.ds-data-table-wrapper:has(.ds-data-table-resize-handle-active){-webkit-user-select:none;user-select:none}.ds-data-table-wrapper:has(.ds-data-table-resize-handle-active) *{-webkit-user-select:none;user-select:none}.ds-data-table-wrapper.ds-data-table-resizing,.ds-data-table-wrapper.ds-data-table-resizing *{cursor:col-resize;-webkit-user-select:none;user-select:none}}
|
|
1
|
+
@layer components{.ds-data-table-wrapper{--ds-data-table-border: 1px solid var(--ds-color-border-secondary, var(--ds-color-split));--ds-data-table-radius: 8px;--ds-data-table-inner-radius: calc(var(--ds-data-table-radius) - 1px);--ds-data-table-padding-block: 16px;--ds-data-table-padding-inline: 16px;clear:both;position:relative;display:flex;flex-direction:column;max-width:100%;max-height:100%;background:var(--ds-color-bg-container);border:1px solid transparent;border-radius:var(--ds-data-table-radius);color:var(--ds-color-text);font-size:var(--ds-font-size, 14px)}.ds-data-table-wrapper:after{position:absolute;inset:0;z-index:1;content:"";border-radius:inherit;box-shadow:inset 0 0 0 1px var(--ds-color-split);pointer-events:none}.ds-data-table-wrapper.ds-data-table-zebra:after{box-shadow:none}.ds-data-table-wrapper .ds-spin-nested-loading,.ds-data-table-wrapper .ds-spin-container{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.ds-data-table-wrapper .ds-data-table{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;background:var(--ds-color-bg-container);border-radius:var(--ds-data-table-inner-radius);scrollbar-color:var(--ds-color-text-quaternary, var(--ds-color-text-placeholder)) var(--ds-color-split)}.ds-data-table-wrapper .ds-data-table-container{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:auto;border-start-start-radius:var(--ds-data-table-inner-radius);border-start-end-radius:var(--ds-data-table-inner-radius)}.ds-data-table-wrapper .ds-data-table-content{display:flex;flex:0 1 auto;min-height:0}.ds-data-table-wrapper table{width:100%;min-height:0;flex:0 1 auto;border-collapse:separate;border-spacing:0;border-radius:var(--ds-data-table-inner-radius) var(--ds-data-table-inner-radius) 0 0;text-align:start}.ds-data-table-wrapper .ds-data-table-cell,.ds-data-table-wrapper .ds-data-table-thead>tr>th,.ds-data-table-wrapper .ds-data-table-tbody>tr>th,.ds-data-table-wrapper .ds-data-table-tbody>tr>td,.ds-data-table-wrapper tfoot>tr>th,.ds-data-table-wrapper tfoot>tr>td{position:relative;padding:var(--ds-data-table-padding-block) var(--ds-data-table-padding-inline);overflow-wrap:break-word}.ds-data-table-wrapper .ds-data-table-thead{position:sticky;top:0;z-index:1;background:var(--ds-color-bg-container)}.ds-data-table-wrapper .ds-data-table-thead>tr:first-child>*:first-child{border-start-start-radius:var(--ds-data-table-inner-radius)}.ds-data-table-wrapper .ds-data-table-thead>tr:first-child>*:last-child{border-start-end-radius:var(--ds-data-table-inner-radius)}.ds-data-table-wrapper .ds-data-table-thead>tr>th,.ds-data-table-wrapper .ds-data-table-thead>tr>td{position:relative;color:var(--ds-color-text-secondary);font-weight:var(--ds-font-weight-medium, 500);text-align:start;background:var(--ds-color-fill-alter);border-bottom:var(--ds-data-table-border);line-height:20px;transition:background .2s ease}.ds-data-table-wrapper .ds-data-table-thead>tr>th[colspan]:not([colspan="1"]),.ds-data-table-wrapper .ds-data-table-thead>tr>td[colspan]:not([colspan="1"]){text-align:center}.ds-data-table-wrapper .ds-data-table-thead>tr>th:not(:last-child):not(.ds-data-table-selection-column):not([colspan]):before,.ds-data-table-wrapper .ds-data-table-thead>tr>td:not(:last-child):not(.ds-data-table-selection-column):not([colspan]):before{position:absolute;top:50%;inset-inline-end:0;width:1px;height:calc(100% - var(--ds-data-table-padding-block) * 2);background-color:var(--ds-color-border-secondary, var(--ds-color-split));transform:translateY(-50%);transition:background-color .2s ease;content:""}.ds-data-table-wrapper .ds-data-table-thead>tr:not(:last-child)>th[colspan]{border-bottom:0}.ds-data-table-wrapper .ds-data-table-tbody{background:var(--ds-color-bg-container)}.ds-data-table-wrapper .ds-data-table-tbody>tr>th,.ds-data-table-wrapper .ds-data-table-tbody>tr>td{border-bottom:var(--ds-data-table-border);transition:background .2s ease}.ds-data-table-wrapper .ds-data-table-tbody>tr>th{position:relative;color:var(--ds-color-text-secondary);font-weight:var(--ds-font-weight-medium, 500);text-align:start;background:var(--ds-color-fill-alter)}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row{transition:background-color .2s ease}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row:hover>.ds-data-table-cell{background:var(--ds-color-fill-alter)}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row:last-child>.ds-data-table-cell{border-bottom-color:transparent}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row:last-child>.ds-data-table-cell:first-child{border-bottom-left-radius:var(--ds-data-table-inner-radius)}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row:last-child>.ds-data-table-cell:last-child{border-bottom-right-radius:var(--ds-data-table-inner-radius)}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row.ds-data-table-row-selected>.ds-data-table-cell{background:var(--ds-color-primary-bg)}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row.ds-data-table-row-selected:hover>.ds-data-table-cell{background:var(--ds-color-primary-bg-hover, var(--ds-color-primary-bg))}.ds-data-table-wrapper .ds-data-table-tbody .ds-data-table-row[data-selectable=true]{cursor:pointer}.ds-data-table-wrapper .ds-data-table-cell{color:var(--ds-color-text);line-height:20px;text-align:start;background:transparent}.ds-data-table-wrapper.ds-data-table-middle{font-size:var(--ds-font-size, 14px);--ds-data-table-padding-block: 12px;--ds-data-table-padding-inline: 12px}.ds-data-table-wrapper.ds-data-table-small{font-size:var(--ds-font-size, 14px);--ds-data-table-padding-block: 8px;--ds-data-table-padding-inline: 8px}.ds-data-table-wrapper .ds-data-table-selection-column{min-width:32px;padding-inline:8px;text-align:center}.ds-data-table-wrapper .ds-data-table-selection-column .ant-checkbox-wrapper,.ds-data-table-wrapper .ds-data-table-selection-column .ant-radio-wrapper{margin-inline-end:0}.ds-data-table-wrapper .ds-data-table-selection-column:before,.ds-data-table-wrapper .ds-data-table-selection-column:after{background-color:transparent}.ds-data-table-wrapper .ds-data-table-tbody>.ds-data-table-placeholder{color:var(--ds-color-text-disabled);text-align:center}.ds-data-table-wrapper .ds-data-table-tbody>.ds-data-table-placeholder:hover>th,.ds-data-table-wrapper .ds-data-table-tbody>.ds-data-table-placeholder:hover>td{background:var(--ds-color-bg-container)}.ds-data-table-wrapper .ds-data-table-tbody>.ds-data-table-placeholder>td{padding:1.5rem;border-bottom:0;border-bottom-right-radius:var(--ds-data-table-inner-radius);border-bottom-left-radius:var(--ds-data-table-inner-radius)}.ds-data-table-wrapper .ds-data-table-measure-row{height:0!important;font-size:0!important}.ds-data-table-wrapper .ds-data-table-measure-cell{height:0!important;padding-block:0!important;border-block:0!important}.ds-data-table-wrapper .ds-data-table-measure-cell-content{height:0;overflow:hidden;pointer-events:none}.ds-data-table-wrapper .ds-data-table-column-has-sorters{cursor:pointer;outline:none;transition:all .3s ease,left 0s}.ds-data-table-wrapper .ds-data-table-column-has-sorters:hover{background:var(--ds-color-fill-content)}.ds-data-table-wrapper .ds-data-table-column-has-sorters:hover:before{background-color:transparent}.ds-data-table-wrapper .ds-data-table-column-has-sorters:focus-visible{color:var(--ds-color-primary)}.ds-data-table-wrapper .ds-data-table-column-title{position:relative;z-index:1;flex:1;min-width:0}.ds-data-table-wrapper .ds-data-table-column-sorters{position:relative;display:flex;flex:auto;align-items:center;justify-content:space-between}.ds-data-table-wrapper .ds-data-table-column-sorters:after{position:absolute;inset:0;width:100%;height:100%;content:""}.ds-data-table-wrapper .ds-data-table-column-icons{display:flex;flex-shrink:0;align-items:center;gap:4px;min-width:16px;margin-inline-start:4px;color:var(--ds-color-icon, var(--ds-color-text-disabled));transition:color .3s ease}.ds-data-table-wrapper .ds-data-table-column-sorters:hover .ds-data-table-column-icons{color:var(--ds-color-icon-hover, var(--ds-color-text-secondary))}.ds-data-table-wrapper .ds-data-table-column-sort-icon{display:flex;flex-direction:column;align-items:center;width:16px;min-width:16px;color:var(--ds-color-text-disabled);font-size:0}.ds-data-table-wrapper .ds-data-table-column-sort-icon svg{width:1rem;height:1rem;color:currentColor;font-size:1rem}.ds-data-table-wrapper .ds-data-table-column-sort-icon svg:hover{color:var(--ds-color-text-secondary)}.ds-data-table-wrapper .ds-data-table-column-sort-icon.ds-data-table-column-sort-icon-none svg{font-size:.75rem}.ds-data-table-wrapper .ds-data-table-column-sort-icon.ds-data-table-column-sort-icon-none>svg:first-child{margin-bottom:-2px}.ds-data-table-wrapper .ds-data-table-column-sort-icon.ds-data-table-column-sort-icon-none>svg:last-child{margin-top:-2px}.ds-data-table-wrapper .ds-data-table-column-sort-icon.ds-data-table-column-sort-icon-asc,.ds-data-table-wrapper .ds-data-table-column-sort-icon.ds-data-table-column-sort-icon-desc{color:var(--ds-color-primary)}.ds-data-table-wrapper .ds-data-table-column-filter-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;width:12px;min-width:12px;color:var(--ds-color-text-disabled)}.ds-data-table-wrapper .ds-data-table-column-filter-icon svg{width:10px;height:10px;color:currentColor;font-size:.875rem}.ds-data-table-wrapper .ds-data-table-column-filter-icon:hover{color:var(--ds-color-text-secondary)}.ds-data-table-wrapper .ds-data-table-column-filter-icon.ds-data-table-column-filter-icon-active{color:var(--ds-color-primary)}.ds-data-table-wrapper .ds-data-table-pagination{display:flex;justify-content:flex-end;padding:16px;background:transparent;border-top:var(--ds-data-table-border);border-bottom-right-radius:var(--ds-data-table-radius);border-bottom-left-radius:var(--ds-data-table-radius)}.ds-data-table-wrapper .ds-data-table-pagination.ds-data-table-pagination-right{justify-content:flex-end}.ds-data-table-wrapper .ds-data-table-pagination.ds-data-table-pagination-left{justify-content:flex-start}.ds-data-table-wrapper .ds-data-table-pagination.ds-data-table-pagination-center{justify-content:center}.ds-data-table-wrapper .ds-data-table-pagination .ant-pagination{margin:0}.ds-data-table-wrapper.ds-data-table-has-pagination .ds-data-table-container,.ds-data-table-wrapper.ds-data-table-has-pagination .ds-data-table,.ds-data-table-wrapper.ds-data-table-has-pagination table{border-bottom-right-radius:0;border-bottom-left-radius:0}.ds-data-table-wrapper.ds-data-table-has-pagination .ds-data-table-tbody .ds-data-table-row:last-child>.ds-data-table-cell{border-bottom-color:transparent}.ds-data-table-wrapper.ds-data-table-has-pagination .ds-data-table-tbody .ds-data-table-row:last-child>.ds-data-table-cell:first-child{border-bottom-left-radius:0}.ds-data-table-wrapper.ds-data-table-has-pagination .ds-data-table-tbody .ds-data-table-row:last-child>.ds-data-table-cell:last-child{border-bottom-right-radius:0}.ds-data-table-wrapper.ds-data-table-scroll-vertical .ds-data-table,.ds-data-table-wrapper.ds-data-table-scroll-vertical .ds-data-table-container,.ds-data-table-wrapper.ds-data-table-scroll-vertical table,.ds-data-table-wrapper.ds-data-table-scroll-vertical .ds-data-table-thead>tr:first-child>*:last-child{border-top-right-radius:0}.ds-data-table-wrapper.ds-data-table-ping-left .ds-data-table-cell-fix-left-first:after,.ds-data-table-wrapper.ds-data-table-ping-left .ds-data-table-cell-fix-left-last:after{box-shadow:inset 10px 0 8px -8px var(--ds-color-table-fixed-column-shadow)}.ds-data-table-wrapper.ds-data-table-ping-right .ds-data-table-cell-fix-right-first:after,.ds-data-table-wrapper.ds-data-table-ping-right .ds-data-table-cell-fix-right-last:after{box-shadow:inset -10px 0 8px -8px var(--ds-color-table-fixed-column-shadow)}.ds-data-table-wrapper.ds-data-table-ping-right:not(.ds-data-table-has-fix-right) .ds-data-table-container:after{box-shadow:inset -10px 0 8px -8px var(--ds-color-table-fixed-column-shadow)}.ds-data-table-wrapper.ds-data-table-ping-left:not(.ds-data-table-has-fix-left) .ds-data-table-container:before{box-shadow:inset 10px 0 8px -8px var(--ds-color-table-fixed-column-shadow)}.ds-data-table-wrapper .text-left{text-align:left!important}.ds-data-table-wrapper .text-center{text-align:center!important}.ds-data-table-wrapper .text-right{text-align:right!important}.ds-data-table-wrapper .ds-data-table-resize-handle{position:absolute;top:0;bottom:0;z-index:50;width:12px;background:transparent;cursor:col-resize;opacity:0;touch-action:none;-webkit-user-select:none;user-select:none;transition:opacity .2s ease,background-color .2s ease}.ds-data-table-wrapper .ds-data-table-resize-handle.ds-data-table-resize-ltr{right:-6px}.ds-data-table-wrapper .ds-data-table-resize-handle.ds-data-table-resize-rtl{left:-6px}.ds-data-table-wrapper .ds-data-table-resize-handle:before{position:absolute;top:0;bottom:0;left:50%;width:2px;background:transparent;border-radius:1px;transform:translate(-50%);content:""}.ds-data-table-wrapper .ds-data-table-resize-handle:hover,.ds-data-table-wrapper .ds-data-table-resize-handle.ds-data-table-resize-handle-active{opacity:1}.ds-data-table-wrapper .ds-data-table-resize-handle:hover:before,.ds-data-table-wrapper .ds-data-table-resize-handle.ds-data-table-resize-handle-active:before{background-color:var(--ds-color-primary);box-shadow:0 0 0 1px var(--ds-color-primary-bg)}.ds-data-table-wrapper .ds-data-table-resize-handle.ds-data-table-resize-handle-active{z-index:999}.ds-data-table-wrapper .ds-data-table-thead th.ds-data-table-cell{z-index:1}.ds-data-table-wrapper .ds-data-table-thead th.ds-data-table-cell:hover .ds-data-table-resize-handle{opacity:.6}.ds-data-table-wrapper .ds-data-table-thead th.ds-data-table-cell:hover .ds-data-table-resize-handle:before{background-color:var(--ds-color-text-tertiary)}.ds-data-table-wrapper .ds-data-table-thead th.ds-data-table-cell:has(.ds-data-table-resize-handle-active),.ds-data-table-wrapper .ds-data-table-thead th.ds-data-table-cell.ds-data-table-cell-resizing{z-index:200}.ds-data-table-wrapper .ds-data-table-thead th.ds-data-table-cell:has(.ds-data-table-resize-handle-active) .ds-data-table-resize-handle,.ds-data-table-wrapper .ds-data-table-thead th.ds-data-table-cell.ds-data-table-cell-resizing .ds-data-table-resize-handle{z-index:999}.ds-data-table-wrapper .ds-data-table-resize-indicator{position:absolute;top:0;bottom:0;z-index:999;width:2px;background-color:var(--ds-color-primary);opacity:1;pointer-events:none;transition:transform .1s ease}.ds-data-table-wrapper:has(.ds-data-table-resize-handle-active){-webkit-user-select:none;user-select:none}.ds-data-table-wrapper:has(.ds-data-table-resize-handle-active) *{-webkit-user-select:none;user-select:none}.ds-data-table-wrapper.ds-data-table-resizing,.ds-data-table-wrapper.ds-data-table-resizing *{cursor:col-resize;-webkit-user-select:none;user-select:none}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function
|
|
1
|
+
function f(e) {
|
|
2
2
|
return "accessorKey" in e && typeof e.accessorKey == "string";
|
|
3
3
|
}
|
|
4
4
|
function g(e) {
|
|
@@ -11,24 +11,24 @@ function c(e) {
|
|
|
11
11
|
return "cell" in e && e.cell !== void 0;
|
|
12
12
|
}
|
|
13
13
|
function l(e) {
|
|
14
|
-
const
|
|
15
|
-
id: e.key?.toString() || e.dataIndex?.toString() || (
|
|
14
|
+
const r = e, t = {
|
|
15
|
+
id: e.key?.toString() || e.dataIndex?.toString() || (f(r) ? r.accessorKey : void 0)
|
|
16
16
|
};
|
|
17
|
-
if (
|
|
18
|
-
t.accessorKey =
|
|
19
|
-
else if (g(
|
|
20
|
-
t.accessorFn =
|
|
17
|
+
if (f(r))
|
|
18
|
+
t.accessorKey = r.accessorKey;
|
|
19
|
+
else if (g(r))
|
|
20
|
+
t.accessorFn = r.accessorFn;
|
|
21
21
|
else if (e.dataIndex) {
|
|
22
|
-
const
|
|
23
|
-
t.accessorKey =
|
|
22
|
+
const i = Array.isArray(e.dataIndex) ? e.dataIndex.join(".") : e.dataIndex.toString();
|
|
23
|
+
t.accessorKey = i;
|
|
24
24
|
}
|
|
25
|
-
return S(
|
|
26
|
-
const n =
|
|
25
|
+
return S(r) ? t.header = r.header : e.title && (typeof e.title == "function" ? t.header = ({ column: i }) => {
|
|
26
|
+
const n = i.getIsSorted(), s = n === "asc" ? "ascend" : n === "desc" ? "descend" : void 0;
|
|
27
27
|
return e.title({ sortOrder: s });
|
|
28
|
-
} : t.header = () => e.title), c(
|
|
29
|
-
const s =
|
|
30
|
-
return e.render(s,
|
|
31
|
-
}), e.enableSorting !== void 0 ? t.enableSorting = e.enableSorting : e.sorter !== void 0 && (t.enableSorting = !!e.sorter, typeof e.sorter == "function" && (t.sortingFn = (
|
|
28
|
+
} : t.header = () => e.title), c(r) ? t.cell = r.cell : e.render && (t.cell = ({ getValue: i, row: n }) => {
|
|
29
|
+
const s = i(), o = n.original, a = n.index;
|
|
30
|
+
return e.render(s, o, a);
|
|
31
|
+
}), e.enableSorting !== void 0 ? t.enableSorting = e.enableSorting : e.sorter !== void 0 && (t.enableSorting = !!e.sorter, typeof e.sorter == "function" && (t.sortingFn = (i, n) => e.sorter(i.original, n.original))), e.enableFiltering !== void 0 && (t.enableColumnFilter = e.enableFiltering), e.filterFn && (typeof e.filterFn == "string" ? t.filterFn = e.filterFn : t.filterFn = (i, n, s) => e.filterFn(i.original, n, s)), e.enableResizing !== void 0 && (t.enableResizing = e.enableResizing), e.size !== void 0 && (t.size = e.size), e.minSize !== void 0 && (t.minSize = e.minSize), e.maxSize !== void 0 && (t.maxSize = e.maxSize), t.meta = {
|
|
32
32
|
...e.meta,
|
|
33
33
|
align: e.align || e.meta?.align,
|
|
34
34
|
width: e.width,
|
|
@@ -39,33 +39,40 @@ function l(e) {
|
|
|
39
39
|
function h(e) {
|
|
40
40
|
return e.map(l);
|
|
41
41
|
}
|
|
42
|
-
function y(e,
|
|
42
|
+
function y(e, r, t) {
|
|
43
43
|
if (typeof t == "function")
|
|
44
|
-
return t(e,
|
|
44
|
+
return t(e, r);
|
|
45
45
|
if (typeof t == "string")
|
|
46
|
-
return e[t]?.toString() ||
|
|
47
|
-
const
|
|
48
|
-
return
|
|
46
|
+
return e[t]?.toString() || r.toString();
|
|
47
|
+
const i = e.key || e.id;
|
|
48
|
+
return i ? i.toString() : r.toString();
|
|
49
49
|
}
|
|
50
|
-
function F(e,
|
|
51
|
-
const
|
|
52
|
-
return
|
|
53
|
-
const a = y(s,
|
|
54
|
-
e[d] && (
|
|
55
|
-
}), { selectedRowKeys:
|
|
50
|
+
function F(e, r, t) {
|
|
51
|
+
const i = [], n = [];
|
|
52
|
+
return r.forEach((s, o) => {
|
|
53
|
+
const a = y(s, o, t), d = String(a);
|
|
54
|
+
e[d] && (i.push(a), n.push(s));
|
|
55
|
+
}), { selectedRowKeys: i, selectedRows: n };
|
|
56
56
|
}
|
|
57
|
-
function v(e) {
|
|
58
|
-
|
|
57
|
+
function v(e, r, t) {
|
|
58
|
+
const i = {};
|
|
59
|
+
return e.forEach((n) => {
|
|
60
|
+
i[n.toString()] = !0;
|
|
61
|
+
}), i;
|
|
59
62
|
}
|
|
60
63
|
function p(e) {
|
|
64
|
+
return !e || e === "left" ? "" : `text-${e}`;
|
|
65
|
+
}
|
|
66
|
+
function x(e) {
|
|
61
67
|
return e.getCanSort?.() || e.getCanFilter?.() || !1;
|
|
62
68
|
}
|
|
63
69
|
export {
|
|
64
70
|
l as convertColumnToTanStack,
|
|
65
71
|
h as convertColumnsToTanStack,
|
|
66
72
|
F as convertSelectionToAntFormat,
|
|
67
|
-
v as
|
|
73
|
+
v as convertSelectionToTanStackFormat,
|
|
74
|
+
p as getAlignmentClass,
|
|
68
75
|
y as getRowKey,
|
|
69
|
-
|
|
76
|
+
x as shouldShowIcons
|
|
70
77
|
};
|
|
71
78
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../src/components/data-table/utils.ts"],"sourcesContent":["import { type DataTableColumnType, type RowKey } from \"./types\";\nimport { type ColumnDef, type Row, type AccessorKeyColumnDef, type AccessorFnColumnDef } from \"@tanstack/react-table\";\n\n// Type for columns that might have TanStack properties\ntype ExtendedColumnType<RecordType extends Record<string, any>> = DataTableColumnType<RecordType> & {\n accessorKey?: string;\n accessorFn?: (row: RecordType) => RecordType[keyof RecordType];\n header?: ColumnDef<RecordType>['header'];\n cell?: ColumnDef<RecordType>['cell'];\n};\n\n// Type guards\nfunction hasAccessorKey<T extends Record<string, unknown>>(column: ExtendedColumnType<T>): column is ExtendedColumnType<T> & { accessorKey: string } {\n return 'accessorKey' in column && typeof column.accessorKey === 'string';\n}\n\nfunction hasAccessorFn<T extends Record<string, unknown>>(column: ExtendedColumnType<T>): column is ExtendedColumnType<T> & { accessorFn: (row: T) => T[keyof T] } {\n return 'accessorFn' in column && typeof column.accessorFn === 'function';\n}\n\nfunction hasTanStackHeader<T extends Record<string, unknown>>(column: ExtendedColumnType<T>): column is ExtendedColumnType<T> & { header: ColumnDef<T>['header'] } {\n return 'header' in column && column.header !== undefined;\n}\n\nfunction hasTanStackCell<T extends Record<string, unknown>>(column: ExtendedColumnType<T>): column is ExtendedColumnType<T> & { cell: ColumnDef<T>['cell'] } {\n return 'cell' in column && column.cell !== undefined;\n}\n\n/**\n * Converts Ant Design column definition to TanStack Table column definition\n * Handles both Ant Design props and TanStack props for maximum compatibility\n */\nexport function convertColumnToTanStack<RecordType extends Record<string, any> = Record<string, unknown>>(\n column: DataTableColumnType<RecordType>\n): ColumnDef<RecordType> {\n const extColumn = column as ExtendedColumnType<RecordType>;\n const tanStackColumn: ColumnDef<RecordType> = {\n id: column.key?.toString() || column.dataIndex?.toString() || (hasAccessorKey(extColumn) ? extColumn.accessorKey : undefined),\n };\n\n // Handle data access - priority: accessorKey > accessorFn > dataIndex\n if (hasAccessorKey(extColumn)) {\n (tanStackColumn as AccessorKeyColumnDef<RecordType>).accessorKey = extColumn.accessorKey;\n } else if (hasAccessorFn(extColumn)) {\n (tanStackColumn as AccessorFnColumnDef<RecordType>).accessorFn = extColumn.accessorFn;\n } else if (column.dataIndex) {\n // Convert Ant Design dataIndex to TanStack accessorKey\n const dataIndex = Array.isArray(column.dataIndex) \n ? column.dataIndex.join('.') \n : column.dataIndex.toString();\n (tanStackColumn as AccessorKeyColumnDef<RecordType>).accessorKey = dataIndex;\n }\n\n // Handle header - priority: header > title\n if (hasTanStackHeader(extColumn)) {\n tanStackColumn.header = extColumn.header;\n } else if (column.title) {\n if (typeof column.title === 'function') {\n tanStackColumn.header = ({ column: tanStackCol }) => {\n const sortOrder = tanStackCol.getIsSorted();\n const antSortOrder = sortOrder === 'asc' ? 'ascend' : sortOrder === 'desc' ? 'descend' : undefined;\n return (column.title as (options: { sortOrder?: 'ascend' | 'descend' }) => React.ReactNode)({ sortOrder: antSortOrder });\n };\n } else {\n tanStackColumn.header = () => column.title;\n }\n }\n\n // Handle cell rendering - priority: cell > render\n if (hasTanStackCell(extColumn)) {\n tanStackColumn.cell = extColumn.cell;\n } else if (column.render) {\n tanStackColumn.cell = ({ getValue, row }) => {\n const value = getValue() as RecordType[keyof RecordType];\n const record = row.original;\n const index = row.index;\n return column.render!(value, record, index);\n };\n }\n\n // Handle sorting\n if (column.enableSorting !== undefined) {\n tanStackColumn.enableSorting = column.enableSorting;\n } else if (column.sorter !== undefined) {\n tanStackColumn.enableSorting = !!column.sorter;\n if (typeof column.sorter === 'function') {\n tanStackColumn.sortingFn = (rowA, rowB) => {\n return (column.sorter as (a: RecordType, b: RecordType) => number)(rowA.original, rowB.original);\n };\n }\n }\n\n // Handle filtering\n if (column.enableFiltering !== undefined) {\n tanStackColumn.enableColumnFilter = column.enableFiltering;\n }\n if (column.filterFn) {\n if (typeof column.filterFn === 'string') {\n // TanStack Table supports built-in filter function names as strings\n // Using type assertion here as this is a compatibility layer\n tanStackColumn.filterFn = column.filterFn as 'includesString';\n } else {\n tanStackColumn.filterFn = (row: Row<RecordType>, columnId: string, filterValue: unknown) => {\n return (column.filterFn as (row: RecordType, columnId: string, filterValue: unknown) => boolean)(row.original, columnId, filterValue);\n };\n }\n }\n\n // Handle column resizing\n if (column.enableResizing !== undefined) {\n tanStackColumn.enableResizing = column.enableResizing;\n }\n if (column.size !== undefined) {\n tanStackColumn.size = column.size;\n }\n if (column.minSize !== undefined) {\n tanStackColumn.minSize = column.minSize;\n }\n if (column.maxSize !== undefined) {\n tanStackColumn.maxSize = column.maxSize;\n }\n\n // Handle column metadata for alignment and other features\n tanStackColumn.meta = {\n ...column.meta,\n align: column.align || column.meta?.align,\n width: column.width,\n fixed: column.fixed,\n ellipsis: column.ellipsis,\n };\n\n // Set size/width\n if (column.width) {\n tanStackColumn.size = typeof column.width === 'number' ? column.width : undefined;\n }\n\n return tanStackColumn;\n}\n\n/**\n * Converts array of Ant Design columns to TanStack columns\n */\nexport function convertColumnsToTanStack<RecordType extends Record<string, any> = Record<string, unknown>>(\n columns: DataTableColumnType<RecordType>[]\n): ColumnDef<RecordType>[] {\n return columns.map(convertColumnToTanStack);\n}\n\n/**\n * Generates a unique row key for a record\n * Follows Ant Design's rowKey logic\n */\nexport function getRowKey<RecordType extends Record<string, any> = Record<string, unknown>>(\n record: RecordType, \n index: number,\n rowKey?: RowKey | ((record: RecordType, index?: number) => RowKey)\n): RowKey {\n if (typeof rowKey === 'function') {\n return rowKey(record, index);\n }\n \n if (typeof rowKey === 'string') {\n return record[rowKey]?.toString() || index.toString();\n }\n \n // Default behavior - try 'key', then 'id', then index\n const defaultKey = record.key || record.id;\n return defaultKey ? defaultKey.toString() : index.toString();\n}\n\n/**\n * Converts TanStack selection state to Ant Design format\n */\nexport function convertSelectionToAntFormat<RecordType extends Record<string, any> = Record<string, unknown>>(\n rowSelectionState: Record<string, boolean>,\n data: RecordType[],\n rowKey?: RowKey | ((record: RecordType, index?: number) => RowKey)\n): {\n selectedRowKeys: React.Key[];\n selectedRows: RecordType[];\n} {\n const selectedRowKeys: React.Key[] = [];\n const selectedRows: RecordType[] = [];\n\n data.forEach((record, index) => {\n const key = getRowKey(record, index, rowKey);\n const keyStr = String(key);\n if (rowSelectionState[keyStr]) {\n selectedRowKeys.push(key);\n selectedRows.push(record);\n }\n });\n\n return { selectedRowKeys, selectedRows };\n}\n\n/**\n * Converts Ant Design selection format to TanStack format\n */\nexport function convertSelectionToTanStackFormat<RecordType extends Record<string, any> = Record<string, unknown>>(\n selectedRowKeys: React.Key[],\n _data: RecordType[],\n _rowKey?: RowKey | ((record: RecordType, index?: number) => RowKey)\n): Record<string, boolean> {\n const selectionState: Record<string, boolean> = {};\n \n selectedRowKeys.forEach(key => {\n selectionState[key.toString()] = true;\n });\n\n return selectionState;\n}\n\n/**\n * Gets the appropriate CSS class for text alignment\n */\nexport function getAlignmentClass(align?: 'left' | 'center' | 'right'): string {\n if (!align || align === 'left') return '';\n return `text-${align}`;\n}\n\n/**\n * Determines if a column should show sort/filter icons\n */\nexport function shouldShowIcons(column: { getCanSort?: () => boolean; getCanFilter?: () => boolean }): boolean {\n return column.getCanSort?.() || column.getCanFilter?.() || false;\n}"],"names":["hasAccessorKey","column","hasAccessorFn","hasTanStackHeader","hasTanStackCell","convertColumnToTanStack","extColumn","tanStackColumn","dataIndex","tanStackCol","sortOrder","antSortOrder","getValue","row","value","record","index","rowA","rowB","columnId","filterValue","convertColumnsToTanStack","columns","getRowKey","rowKey","defaultKey","convertSelectionToAntFormat","rowSelectionState","data","selectedRowKeys","selectedRows","key","keyStr","getAlignmentClass","align","shouldShowIcons"],"mappings":"AAYA,SAASA,EAAkDC,GAA0F;AACnJ,SAAO,iBAAiBA,KAAU,OAAOA,EAAO,eAAgB;AAClE;AAEA,SAASC,EAAiDD,GAAyG;AACjK,SAAO,gBAAgBA,KAAU,OAAOA,EAAO,cAAe;AAChE;AAEA,SAASE,EAAqDF,GAAqG;AACjK,SAAO,YAAYA,KAAUA,EAAO,WAAW;AACjD;AAEA,SAASG,EAAmDH,GAAiG;AAC3J,SAAO,UAAUA,KAAUA,EAAO,SAAS;AAC7C;AAMO,SAASI,EACdJ,GACuB;AACvB,QAAMK,IAAYL,GACZM,IAAwC;AAAA,IAC5C,IAAIN,EAAO,KAAK,SAAA,KAAcA,EAAO,WAAW,SAAA,MAAeD,EAAeM,CAAS,IAAIA,EAAU,cAAc;AAAA,EAAA;AAIrH,MAAIN,EAAeM,CAAS;AACzB,IAAAC,EAAoD,cAAcD,EAAU;AAAA,WACpEJ,EAAcI,CAAS;AAC/B,IAAAC,EAAmD,aAAaD,EAAU;AAAA,WAClEL,EAAO,WAAW;AAE3B,UAAMO,IAAY,MAAM,QAAQP,EAAO,SAAS,IAC5CA,EAAO,UAAU,KAAK,GAAG,IACzBA,EAAO,UAAU,SAAA;AACpB,IAAAM,EAAoD,cAAcC;AAAA,EACrE;AAGA,SAAIL,EAAkBG,CAAS,IAC7BC,EAAe,SAASD,EAAU,SACzBL,EAAO,UACZ,OAAOA,EAAO,SAAU,aAC1BM,EAAe,SAAS,CAAC,EAAE,QAAQE,QAAkB;AACnD,UAAMC,IAAYD,EAAY,YAAA,GACxBE,IAAeD,MAAc,QAAQ,WAAWA,MAAc,SAAS,YAAY;AACzF,WAAQT,EAAO,MAA6E,EAAE,WAAWU,GAAc;AAAA,EACzH,IAEAJ,EAAe,SAAS,MAAMN,EAAO,QAKrCG,EAAgBE,CAAS,IAC3BC,EAAe,OAAOD,EAAU,OACvBL,EAAO,WAChBM,EAAe,OAAO,CAAC,EAAE,UAAAK,GAAU,KAAAC,QAAU;AAC3C,UAAMC,IAAQF,EAAA,GACRG,IAASF,EAAI,UACbG,IAAQH,EAAI;AAClB,WAAOZ,EAAO,OAAQa,GAAOC,GAAQC,CAAK;AAAA,EAC5C,IAIEf,EAAO,kBAAkB,SAC3BM,EAAe,gBAAgBN,EAAO,gBAC7BA,EAAO,WAAW,WAC3BM,EAAe,gBAAgB,CAAC,CAACN,EAAO,QACpC,OAAOA,EAAO,UAAW,eAC3BM,EAAe,YAAY,CAACU,GAAMC,MACxBjB,EAAO,OAAoDgB,EAAK,UAAUC,EAAK,QAAQ,KAMjGjB,EAAO,oBAAoB,WAC7BM,EAAe,qBAAqBN,EAAO,kBAEzCA,EAAO,aACL,OAAOA,EAAO,YAAa,WAG7BM,EAAe,WAAWN,EAAO,WAEjCM,EAAe,WAAW,CAACM,GAAsBM,GAAkBC,MACzDnB,EAAO,SAAkFY,EAAI,UAAUM,GAAUC,CAAW,IAMtInB,EAAO,mBAAmB,WAC5BM,EAAe,iBAAiBN,EAAO,iBAErCA,EAAO,SAAS,WAClBM,EAAe,OAAON,EAAO,OAE3BA,EAAO,YAAY,WACrBM,EAAe,UAAUN,EAAO,UAE9BA,EAAO,YAAY,WACrBM,EAAe,UAAUN,EAAO,UAIlCM,EAAe,OAAO;AAAA,IACpB,GAAGN,EAAO;AAAA,IACV,OAAOA,EAAO,SAASA,EAAO,MAAM;AAAA,IACpC,OAAOA,EAAO;AAAA,IACd,OAAOA,EAAO;AAAA,IACd,UAAUA,EAAO;AAAA,EAAA,GAIfA,EAAO,UACTM,EAAe,OAAO,OAAON,EAAO,SAAU,WAAWA,EAAO,QAAQ,SAGnEM;AACT;AAKO,SAASc,EACdC,GACyB;AACzB,SAAOA,EAAQ,IAAIjB,CAAuB;AAC5C;AAMO,SAASkB,EACdR,GACAC,GACAQ,GACQ;AACR,MAAI,OAAOA,KAAW;AACpB,WAAOA,EAAOT,GAAQC,CAAK;AAG7B,MAAI,OAAOQ,KAAW;AACpB,WAAOT,EAAOS,CAAM,GAAG,SAAA,KAAcR,EAAM,SAAA;AAI7C,QAAMS,IAAaV,EAAO,OAAOA,EAAO;AACxC,SAAOU,IAAaA,EAAW,SAAA,IAAaT,EAAM,SAAA;AACpD;AAKO,SAASU,EACdC,GACAC,GACAJ,GAIA;AACA,QAAMK,IAA+B,CAAA,GAC/BC,IAA6B,CAAA;AAEnC,SAAAF,EAAK,QAAQ,CAACb,GAAQC,MAAU;AAC9B,UAAMe,IAAMR,EAAUR,GAAQC,GAAOQ,CAAM,GACrCQ,IAAS,OAAOD,CAAG;AACzB,IAAIJ,EAAkBK,CAAM,MAC1BH,EAAgB,KAAKE,CAAG,GACxBD,EAAa,KAAKf,CAAM;AAAA,EAE5B,CAAC,GAEM,EAAE,iBAAAc,GAAiB,cAAAC,EAAA;AAC5B;AAsBO,SAASG,EAAkBC,GAA6C;AAC7E,SAAI,CAACA,KAASA,MAAU,SAAe,KAChC,QAAQA,CAAK;AACtB;AAKO,SAASC,EAAgBlC,GAA+E;AAC7G,SAAOA,EAAO,aAAA,KAAkBA,EAAO,oBAAoB;AAC7D;"}
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/components/data-table/utils.ts"],"sourcesContent":["import { type DataTableColumnType, type RowKey } from \"./types\";\nimport { type ColumnDef, type Row, type AccessorKeyColumnDef, type AccessorFnColumnDef } from \"@tanstack/react-table\";\n\n// Type for columns that might have TanStack properties\ntype ExtendedColumnType<RecordType extends Record<string, any>> = DataTableColumnType<RecordType> & {\n accessorKey?: string;\n accessorFn?: (row: RecordType) => RecordType[keyof RecordType];\n header?: ColumnDef<RecordType>['header'];\n cell?: ColumnDef<RecordType>['cell'];\n};\n\n// Type guards\nfunction hasAccessorKey<T extends Record<string, unknown>>(column: ExtendedColumnType<T>): column is ExtendedColumnType<T> & { accessorKey: string } {\n return 'accessorKey' in column && typeof column.accessorKey === 'string';\n}\n\nfunction hasAccessorFn<T extends Record<string, unknown>>(column: ExtendedColumnType<T>): column is ExtendedColumnType<T> & { accessorFn: (row: T) => T[keyof T] } {\n return 'accessorFn' in column && typeof column.accessorFn === 'function';\n}\n\nfunction hasTanStackHeader<T extends Record<string, unknown>>(column: ExtendedColumnType<T>): column is ExtendedColumnType<T> & { header: ColumnDef<T>['header'] } {\n return 'header' in column && column.header !== undefined;\n}\n\nfunction hasTanStackCell<T extends Record<string, unknown>>(column: ExtendedColumnType<T>): column is ExtendedColumnType<T> & { cell: ColumnDef<T>['cell'] } {\n return 'cell' in column && column.cell !== undefined;\n}\n\n/**\n * Converts Ant Design column definition to TanStack Table column definition\n * Handles both Ant Design props and TanStack props for maximum compatibility\n */\nexport function convertColumnToTanStack<RecordType extends Record<string, any> = Record<string, unknown>>(\n column: DataTableColumnType<RecordType>\n): ColumnDef<RecordType> {\n const extColumn = column as ExtendedColumnType<RecordType>;\n const tanStackColumn: ColumnDef<RecordType> = {\n id: column.key?.toString() || column.dataIndex?.toString() || (hasAccessorKey(extColumn) ? extColumn.accessorKey : undefined),\n };\n\n // Handle data access - priority: accessorKey > accessorFn > dataIndex\n if (hasAccessorKey(extColumn)) {\n (tanStackColumn as AccessorKeyColumnDef<RecordType>).accessorKey = extColumn.accessorKey;\n } else if (hasAccessorFn(extColumn)) {\n (tanStackColumn as AccessorFnColumnDef<RecordType>).accessorFn = extColumn.accessorFn;\n } else if (column.dataIndex) {\n // Convert Ant Design dataIndex to TanStack accessorKey\n const dataIndex = Array.isArray(column.dataIndex) \n ? column.dataIndex.join('.') \n : column.dataIndex.toString();\n (tanStackColumn as AccessorKeyColumnDef<RecordType>).accessorKey = dataIndex;\n }\n\n // Handle header - priority: header > title\n if (hasTanStackHeader(extColumn)) {\n tanStackColumn.header = extColumn.header;\n } else if (column.title) {\n if (typeof column.title === 'function') {\n tanStackColumn.header = ({ column: tanStackCol }) => {\n const sortOrder = tanStackCol.getIsSorted();\n const antSortOrder = sortOrder === 'asc' ? 'ascend' : sortOrder === 'desc' ? 'descend' : undefined;\n return (column.title as (options: { sortOrder?: 'ascend' | 'descend' }) => React.ReactNode)({ sortOrder: antSortOrder });\n };\n } else {\n tanStackColumn.header = () => column.title;\n }\n }\n\n // Handle cell rendering - priority: cell > render\n if (hasTanStackCell(extColumn)) {\n tanStackColumn.cell = extColumn.cell;\n } else if (column.render) {\n tanStackColumn.cell = ({ getValue, row }) => {\n const value = getValue() as RecordType[keyof RecordType];\n const record = row.original;\n const index = row.index;\n return column.render!(value, record, index);\n };\n }\n\n // Handle sorting\n if (column.enableSorting !== undefined) {\n tanStackColumn.enableSorting = column.enableSorting;\n } else if (column.sorter !== undefined) {\n tanStackColumn.enableSorting = !!column.sorter;\n if (typeof column.sorter === 'function') {\n tanStackColumn.sortingFn = (rowA, rowB) => {\n return (column.sorter as (a: RecordType, b: RecordType) => number)(rowA.original, rowB.original);\n };\n }\n }\n\n // Handle filtering\n if (column.enableFiltering !== undefined) {\n tanStackColumn.enableColumnFilter = column.enableFiltering;\n }\n if (column.filterFn) {\n if (typeof column.filterFn === 'string') {\n // TanStack Table supports built-in filter function names as strings\n // Using type assertion here as this is a compatibility layer\n tanStackColumn.filterFn = column.filterFn as 'includesString';\n } else {\n tanStackColumn.filterFn = (row: Row<RecordType>, columnId: string, filterValue: unknown) => {\n return (column.filterFn as (row: RecordType, columnId: string, filterValue: unknown) => boolean)(row.original, columnId, filterValue);\n };\n }\n }\n\n // Handle column resizing\n if (column.enableResizing !== undefined) {\n tanStackColumn.enableResizing = column.enableResizing;\n }\n if (column.size !== undefined) {\n tanStackColumn.size = column.size;\n }\n if (column.minSize !== undefined) {\n tanStackColumn.minSize = column.minSize;\n }\n if (column.maxSize !== undefined) {\n tanStackColumn.maxSize = column.maxSize;\n }\n\n // Handle column metadata for alignment and other features\n tanStackColumn.meta = {\n ...column.meta,\n align: column.align || column.meta?.align,\n width: column.width,\n fixed: column.fixed,\n ellipsis: column.ellipsis,\n };\n\n // Set size/width\n if (column.width) {\n tanStackColumn.size = typeof column.width === 'number' ? column.width : undefined;\n }\n\n return tanStackColumn;\n}\n\n/**\n * Converts array of Ant Design columns to TanStack columns\n */\nexport function convertColumnsToTanStack<RecordType extends Record<string, any> = Record<string, unknown>>(\n columns: DataTableColumnType<RecordType>[]\n): ColumnDef<RecordType>[] {\n return columns.map(convertColumnToTanStack);\n}\n\n/**\n * Generates a unique row key for a record\n * Follows Ant Design's rowKey logic\n */\nexport function getRowKey<RecordType extends Record<string, any> = Record<string, unknown>>(\n record: RecordType, \n index: number,\n rowKey?: RowKey | ((record: RecordType, index?: number) => RowKey)\n): RowKey {\n if (typeof rowKey === 'function') {\n return rowKey(record, index);\n }\n \n if (typeof rowKey === 'string') {\n return record[rowKey]?.toString() || index.toString();\n }\n \n // Default behavior - try 'key', then 'id', then index\n const defaultKey = record.key || record.id;\n return defaultKey ? defaultKey.toString() : index.toString();\n}\n\n/**\n * Converts TanStack selection state to Ant Design format\n */\nexport function convertSelectionToAntFormat<RecordType extends Record<string, any> = Record<string, unknown>>(\n rowSelectionState: Record<string, boolean>,\n data: RecordType[],\n rowKey?: RowKey | ((record: RecordType, index?: number) => RowKey)\n): {\n selectedRowKeys: React.Key[];\n selectedRows: RecordType[];\n} {\n const selectedRowKeys: React.Key[] = [];\n const selectedRows: RecordType[] = [];\n\n data.forEach((record, index) => {\n const key = getRowKey(record, index, rowKey);\n const keyStr = String(key);\n if (rowSelectionState[keyStr]) {\n selectedRowKeys.push(key);\n selectedRows.push(record);\n }\n });\n\n return { selectedRowKeys, selectedRows };\n}\n\n/**\n * Converts Ant Design selection format to TanStack format\n */\nexport function convertSelectionToTanStackFormat<RecordType extends Record<string, any> = Record<string, unknown>>(\n selectedRowKeys: React.Key[],\n _data: RecordType[],\n _rowKey?: RowKey | ((record: RecordType, index?: number) => RowKey)\n): Record<string, boolean> {\n const selectionState: Record<string, boolean> = {};\n \n selectedRowKeys.forEach(key => {\n selectionState[key.toString()] = true;\n });\n\n return selectionState;\n}\n\n/**\n * Gets the appropriate CSS class for text alignment\n */\nexport function getAlignmentClass(align?: 'left' | 'center' | 'right'): string {\n if (!align || align === 'left') return '';\n return `text-${align}`;\n}\n\n/**\n * Determines if a column should show sort/filter icons\n */\nexport function shouldShowIcons(column: { getCanSort?: () => boolean; getCanFilter?: () => boolean }): boolean {\n return column.getCanSort?.() || column.getCanFilter?.() || false;\n}"],"names":["hasAccessorKey","column","hasAccessorFn","hasTanStackHeader","hasTanStackCell","convertColumnToTanStack","extColumn","tanStackColumn","dataIndex","tanStackCol","sortOrder","antSortOrder","getValue","row","value","record","index","rowA","rowB","columnId","filterValue","convertColumnsToTanStack","columns","getRowKey","rowKey","defaultKey","convertSelectionToAntFormat","rowSelectionState","data","selectedRowKeys","selectedRows","key","keyStr","convertSelectionToTanStackFormat","_data","_rowKey","selectionState","getAlignmentClass","align","shouldShowIcons"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown-menu/component.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAcpD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown-menu/component.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAcpD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,OAAO,EAAmB,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAQ1E,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC;IACjF,0DAA0D;IAC1D,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,qDAAqD;IACrD,QAAQ,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/D;;;OAGG;IACH,SAAS,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACtC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAEvC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,OAAO,cAAc,CAAC;IAC5C;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,GAAI,oXA2B1B,iBAAiB,4CAgNnB,CAAC"}
|