@bioturing/components 0.46.4 → 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.
Files changed (139) hide show
  1. package/dist/components/base-menu/component.js +19 -21
  2. package/dist/components/base-menu/component.js.map +1 -1
  3. package/dist/components/base-menu/index.d.ts +1 -1
  4. package/dist/components/base-menu/index.d.ts.map +1 -1
  5. package/dist/components/base-menu/index.js +12 -7
  6. package/dist/components/base-menu/index.js.map +1 -1
  7. package/dist/components/base-menu/item.css +1 -1
  8. package/dist/components/base-menu/item.d.ts +13 -2
  9. package/dist/components/base-menu/item.d.ts.map +1 -1
  10. package/dist/components/base-menu/item.js +62 -47
  11. package/dist/components/base-menu/item.js.map +1 -1
  12. package/dist/components/base-menu/style.css +1 -1
  13. package/dist/components/checkbox/component.d.ts +2 -2
  14. package/dist/components/checkbox/component.d.ts.map +1 -1
  15. package/dist/components/checkbox/component.js.map +1 -1
  16. package/dist/components/choice-list/component.js +12 -12
  17. package/dist/components/combobox/component.d.ts.map +1 -1
  18. package/dist/components/combobox/component.js +121 -121
  19. package/dist/components/combobox/component.js.map +1 -1
  20. package/dist/components/combobox/style.css +1 -1
  21. package/dist/components/data-table/component.d.ts.map +1 -1
  22. package/dist/components/data-table/component.js +99 -79
  23. package/dist/components/data-table/component.js.map +1 -1
  24. package/dist/components/data-table/components/TableBody.d.ts +3 -2
  25. package/dist/components/data-table/components/TableBody.d.ts.map +1 -1
  26. package/dist/components/data-table/components/TableBody.js +106 -89
  27. package/dist/components/data-table/components/TableBody.js.map +1 -1
  28. package/dist/components/data-table/components/TableHeader.d.ts +3 -1
  29. package/dist/components/data-table/components/TableHeader.d.ts.map +1 -1
  30. package/dist/components/data-table/components/TableHeader.js +121 -93
  31. package/dist/components/data-table/components/TableHeader.js.map +1 -1
  32. package/dist/components/data-table/components/TablePagination.d.ts.map +1 -1
  33. package/dist/components/data-table/components/TablePagination.js +36 -31
  34. package/dist/components/data-table/components/TablePagination.js.map +1 -1
  35. package/dist/components/data-table/hooks.d.ts.map +1 -1
  36. package/dist/components/data-table/hooks.js +98 -83
  37. package/dist/components/data-table/hooks.js.map +1 -1
  38. package/dist/components/data-table/style.css +1 -1
  39. package/dist/components/data-table/types.d.ts +1 -1
  40. package/dist/components/data-table/types.d.ts.map +1 -1
  41. package/dist/components/data-table/utils.js +37 -30
  42. package/dist/components/data-table/utils.js.map +1 -1
  43. package/dist/components/data-table/variant-minimal.css +1 -0
  44. package/dist/components/data-table/variant-zebra.css +1 -0
  45. package/dist/components/dialog/Dialog.js +46 -46
  46. package/dist/components/dialog/Dialog.js.map +1 -1
  47. package/dist/components/dialog/dialog.css +1 -1
  48. package/dist/components/dropdown-menu/component.d.ts.map +1 -1
  49. package/dist/components/dropdown-menu/component.js +121 -144
  50. package/dist/components/dropdown-menu/component.js.map +1 -1
  51. package/dist/components/dropdown-menu/index.d.ts +2 -0
  52. package/dist/components/dropdown-menu/index.d.ts.map +1 -1
  53. package/dist/components/dropdown-menu/item.d.ts +7 -15
  54. package/dist/components/dropdown-menu/item.d.ts.map +1 -1
  55. package/dist/components/dropdown-menu/item.js +132 -81
  56. package/dist/components/dropdown-menu/item.js.map +1 -1
  57. package/dist/components/dropdown-menu/radio-group.d.ts +14 -0
  58. package/dist/components/dropdown-menu/radio-group.d.ts.map +1 -0
  59. package/dist/components/dropdown-menu/radio-group.js +45 -0
  60. package/dist/components/dropdown-menu/radio-group.js.map +1 -0
  61. package/dist/components/dropdown-menu/search-mode.d.ts +4 -0
  62. package/dist/components/dropdown-menu/search-mode.d.ts.map +1 -0
  63. package/dist/components/dropdown-menu/search-mode.js +6 -0
  64. package/dist/components/dropdown-menu/search-mode.js.map +1 -0
  65. package/dist/components/dropdown-menu/style.css +1 -1
  66. package/dist/components/dropdown-menu/submenu.d.ts +25 -0
  67. package/dist/components/dropdown-menu/submenu.d.ts.map +1 -0
  68. package/dist/components/dropdown-menu/submenu.js +96 -0
  69. package/dist/components/dropdown-menu/submenu.js.map +1 -0
  70. package/dist/components/dropdown-menu/types.d.ts +85 -12
  71. package/dist/components/dropdown-menu/types.d.ts.map +1 -1
  72. package/dist/components/dropdown-menu/useDropdownMenu.d.ts +4 -8
  73. package/dist/components/dropdown-menu/useDropdownMenu.d.ts.map +1 -1
  74. package/dist/components/dropdown-menu/useDropdownMenu.js +108 -81
  75. package/dist/components/dropdown-menu/useDropdownMenu.js.map +1 -1
  76. package/dist/components/form/FormItem/ItemHolder.d.ts +6 -5
  77. package/dist/components/form/FormItem/ItemHolder.d.ts.map +1 -1
  78. package/dist/components/form/FormItem/ItemHolder.js +32 -29
  79. package/dist/components/form/FormItem/ItemHolder.js.map +1 -1
  80. package/dist/components/form/FormItem/index.d.ts +6 -0
  81. package/dist/components/form/FormItem/index.d.ts.map +1 -1
  82. package/dist/components/form/FormItem/index.js +138 -127
  83. package/dist/components/form/FormItem/index.js.map +1 -1
  84. package/dist/components/form/FormValidationContext.d.ts +5 -0
  85. package/dist/components/form/FormValidationContext.d.ts.map +1 -0
  86. package/dist/components/form/FormValidationContext.js +7 -0
  87. package/dist/components/form/FormValidationContext.js.map +1 -0
  88. package/dist/components/form/component.d.ts +6 -1
  89. package/dist/components/form/component.d.ts.map +1 -1
  90. package/dist/components/form/component.js +30 -20
  91. package/dist/components/form/component.js.map +1 -1
  92. package/dist/components/form/formValidationRule.d.ts +19 -0
  93. package/dist/components/form/formValidationRule.d.ts.map +1 -0
  94. package/dist/components/form/formValidationRule.js +22 -0
  95. package/dist/components/form/formValidationRule.js.map +1 -0
  96. package/dist/components/form/index.d.ts +2 -0
  97. package/dist/components/form/index.d.ts.map +1 -1
  98. package/dist/components/form/useFormValidation.d.ts +3 -0
  99. package/dist/components/form/useFormValidation.d.ts.map +1 -0
  100. package/dist/components/form/useFormValidation.js +18 -0
  101. package/dist/components/form/useFormValidation.js.map +1 -0
  102. package/dist/components/index.d.ts +2 -0
  103. package/dist/components/index.d.ts.map +1 -1
  104. package/dist/components/keyboard-shortcut/component.d.ts +2 -0
  105. package/dist/components/keyboard-shortcut/component.d.ts.map +1 -1
  106. package/dist/components/keyboard-shortcut/component.js +69 -49
  107. package/dist/components/keyboard-shortcut/component.js.map +1 -1
  108. package/dist/components/modal/Modal.d.ts +1 -1
  109. package/dist/components/modal/Modal.js +9 -9
  110. package/dist/components/modal/Modal.js.map +1 -1
  111. package/dist/components/modal/style.css +1 -1
  112. package/dist/components/select/component.js +29 -29
  113. package/dist/components/select/component.js.map +1 -1
  114. package/dist/components/theme-provider/component.d.ts +3 -1
  115. package/dist/components/theme-provider/component.d.ts.map +1 -1
  116. package/dist/components/theme-provider/component.js +32 -31
  117. package/dist/components/theme-provider/component.js.map +1 -1
  118. package/dist/components/theme-provider/context/index.d.ts +2 -1
  119. package/dist/components/theme-provider/context/index.d.ts.map +1 -1
  120. package/dist/components/theme-provider/context/provider.d.ts +2 -3
  121. package/dist/components/theme-provider/context/provider.d.ts.map +1 -1
  122. package/dist/components/theme-provider/context/provider.js +13 -6
  123. package/dist/components/theme-provider/context/provider.js.map +1 -1
  124. package/dist/components/theme-provider/context/themeStore.d.ts +15 -0
  125. package/dist/components/theme-provider/context/themeStore.d.ts.map +1 -1
  126. package/dist/components/theme-provider/context/themeStore.js +10 -9
  127. package/dist/components/theme-provider/context/themeStore.js.map +1 -1
  128. package/dist/components/theme-provider/style.css +1 -1
  129. package/dist/components/tooltip/component.d.ts.map +1 -1
  130. package/dist/components/tooltip/component.js +23 -12
  131. package/dist/components/tooltip/component.js.map +1 -1
  132. package/dist/index.js +273 -258
  133. package/dist/index.js.map +1 -1
  134. package/dist/metadata.d.ts +9 -0
  135. package/dist/metadata.d.ts.map +1 -1
  136. package/dist/metadata.js +14 -0
  137. package/dist/metadata.js.map +1 -1
  138. package/dist/stats.html +1 -1
  139. package/package.json +6 -6
@@ -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 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-table-wrapper.ds-data-table{display:flex;flex-direction:column;max-height:100%;background-color:var(--ds-color-bg-container);border-radius:8px;border:1px solid var(--ds-color-split)}.ds-table-wrapper.ds-data-table .ds-spin-nested-loading,.ds-table-wrapper.ds-data-table .ds-spin-container{display:flex;flex-direction:column;flex-shrink:1;flex-grow:1;min-height:0}.ds-table-wrapper.ds-data-table .ds-spin-container .ds-table{flex-shrink:1;flex-grow:1;min-height:0}.ds-table-wrapper.ds-data-table .ds-table{display:flex;flex-direction:column}.ds-table-wrapper.ds-data-table .ds-table-thead th.ds-table-cell:first-child{border-top-left-radius:7px}.ds-table-wrapper.ds-data-table .ds-table-thead th.ds-table-cell:last-child{border-top-right-radius:7px}.ds-table-wrapper.ds-data-table .ds-table-container{flex-shrink:1;min-height:0;display:flex;flex-direction:column;position:relative;overflow:auto;border-radius:7px}.ds-table-wrapper.ds-data-table.ds-table-has-pagination .ds-table-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ds-table-wrapper.ds-data-table.ds-table-has-pagination .ds-table{border:none;border-bottom:none;border-radius:0}.ds-table-wrapper.ds-data-table.ds-table-has-pagination tr.ds-table-row:last-child{border-bottom-left-radius:0;border-bottom-right-radius:0}.ds-table-wrapper.ds-data-table.ds-table-has-pagination tr.ds-table-row:last-child td.ds-table-cell:first-child{border-bottom-left-radius:0}.ds-table-wrapper.ds-data-table.ds-table-has-pagination tr.ds-table-row:last-child td.ds-table-cell:last-child{border-bottom-right-radius:0}.ds-table-wrapper.ds-data-table .ds-table-header{flex-shrink:0}.ds-table-wrapper.ds-data-table .ds-table-body{flex-shrink:1;min-height:0;min-width:0}.ds-table-wrapper.ds-data-table .ds-table-content{flex-grow:0;flex-shrink:1;min-height:0;display:flex}.ds-table-wrapper.ds-data-table .ds-table-content table{width:100%;border-collapse:collapse;flex-grow:0;flex-shrink:1;min-height:0}.ds-table-wrapper.ds-data-table .ds-table-thead{background-color:var(--ds-color-bg-container);position:sticky;top:0;z-index:1;border-top-left-radius:6px;border-top-right-radius:6px}.ds-table-wrapper.ds-data-table .ds-table-thead th.ds-table-cell{text-align:left;font-weight:500;color:var(--ds-color-text-secondary);background-color:var(--ds-color-fill-alter);border-bottom:none;line-height:20px;position:relative}.ds-table-wrapper.ds-data-table .ds-table-thead th.ds-table-cell:hover{background-color:var(--color-ds-color-fill-quaternary)}.ds-table-wrapper.ds-data-table .ds-table-thead th.ds-table-cell:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:var(--ds-color-split)}.ds-table-wrapper.ds-data-table .ds-table-thead th.ds-table-cell:not(:last-child):after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);height:20px;width:1px;background-color:var(--ds-color-split)}.ds-table-wrapper.ds-data-table.ds-table-scroll-vertical .ds-table,.ds-table-wrapper.ds-data-table.ds-table-scroll-vertical .ds-table-container,.ds-table-wrapper.ds-data-table.ds-table-scroll-vertical .ds-table-thead{border-top-right-radius:0}.ds-table-wrapper.ds-data-table.ds-table-scroll-vertical .ds-table-thead th.ds-table-cell:last-child{border-top-right-radius:0}.ds-table-wrapper.ds-data-table.ds-table-small .ds-table-thead th.ds-table-cell{padding:8px 16px;font-size:var(--ds-font-size-body-small, 12px)}.ds-table-wrapper.ds-data-table.ds-table-middle .ds-table-thead th.ds-table-cell{padding:12px 16px}.ds-table-wrapper.ds-data-table.ds-table-large .ds-table-thead th.ds-table-cell{padding:16px}.ds-table-wrapper.ds-data-table .ds-table-tbody{background-color:var(--ds-color-bg-container)}.ds-table-wrapper.ds-data-table .ds-table-tbody tr.ds-table-row{border-bottom:1px solid var(--ds-color-split);transition:background-color .2s ease}.ds-table-wrapper.ds-data-table .ds-table-tbody tr.ds-table-row:hover{background-color:var(--ds-color-fill-tertiary)}.ds-table-wrapper.ds-data-table .ds-table-tbody tr.ds-table-row:last-child{border-bottom:0}.ds-table-wrapper.ds-data-table .ds-table-tbody tr.ds-table-row.ds-table-row-selected{background-color:var(--ds-color-primary-bg)}.ds-table-wrapper.ds-data-table .ds-table-tbody tr.ds-table-row td.ds-table-cell{text-align:left;background-color:inherit;color:var(--ds-color-text);background-color:transparent;line-height:20px}.ds-table-wrapper.ds-data-table.ds-table-small .ds-table-tbody tr.ds-table-row td.ds-table-cell{padding:8px 16px}.ds-table-wrapper.ds-data-table.ds-table-middle .ds-table-tbody tr.ds-table-row td.ds-table-cell{padding:12px 16px}.ds-table-wrapper.ds-data-table.ds-table-large .ds-table-tbody tr.ds-table-row td.ds-table-cell{padding:16px}.ds-table-wrapper.ds-data-table.ds-table-small .ds-table-selection-column,.ds-table-wrapper.ds-data-table.ds-table-middle .ds-table-selection-column,.ds-table-wrapper.ds-data-table.ds-table-large .ds-table-selection-column{padding-left:8px!important;padding-right:8px!important}.ds-table-wrapper.ds-data-table.ds-table-small .ds-table-selection-column.ds-table-cell,.ds-table-wrapper.ds-data-table.ds-table-middle .ds-table-selection-column.ds-table-cell,.ds-table-wrapper.ds-data-table.ds-table-large .ds-table-selection-column.ds-table-cell{padding-top:inherit;padding-bottom:inherit}.ds-table-wrapper.ds-data-table .ds-table-tbody tr.ds-table-row[data-selectable=true]{cursor:pointer}.ds-table-wrapper.ds-data-table .ds-table-tbody tr.ds-table-row[data-selectable=true]:hover{background-color:var(--ds-color-fill-secondary)!important}.ds-table-wrapper.ds-data-table .ds-table-tbody tr.ds-table-row.ds-table-row-selected[data-selectable=true]:hover{background-color:var(--ds-color-primary-bg-hover, rgba(24, 144, 255, .1))!important}.ds-table-wrapper.ds-data-table .ds-table-tbody tr td:has(.ds-empty){padding:1.5rem}.ds-table-wrapper.ds-data-table .ds-table-column-sort-icon{display:flex;flex-direction:column;align-items:center;width:16px;min-width:16px}.ds-table-wrapper.ds-data-table .ds-table-column-sort-icon svg{color:var(--ds-color-text-disabled);width:1rem;height:1rem}.ds-table-wrapper.ds-data-table .ds-table-column-sort-icon svg:hover{color:var(--ds-color-text-secondary)}.ds-table-wrapper.ds-data-table .ds-table-column-sort-icon.ds-table-column-sort-icon-asc svg,.ds-table-wrapper.ds-data-table .ds-table-column-sort-icon.ds-table-column-sort-icon-desc svg{color:var(--ds-color-primary)}.ds-table-wrapper.ds-data-table .ds-table-column-filter-icon{display:flex;align-items:center;justify-content:center;width:12px;min-width:12px}.ds-table-wrapper.ds-data-table .ds-table-column-filter-icon svg{color:var(--ds-color-text-disabled);width:10px;height:10px}.ds-table-wrapper.ds-data-table .ds-table-column-filter-icon svg:hover{color:var(--ds-color-text-secondary)}.ds-table-wrapper.ds-data-table .ds-table-column-filter-icon.ds-table-column-filter-icon-active svg{color:var(--ds-color-primary)}.ds-table-wrapper.ds-data-table .ds-table-column-sorters{display:flex;align-items:center;gap:4px;cursor:pointer}.ds-table-wrapper.ds-data-table .ds-table-column-title{flex:1}.ds-table-wrapper.ds-data-table .ds-table-column-icons{display:flex;align-items:center;gap:4px;min-width:16px;flex-shrink:0}.ds-table-wrapper.ds-data-table .ds-table-column-has-sorters{cursor:pointer}.ds-table-wrapper.ds-data-table .ds-table-column-has-sorters:hover{background-color:var(--ds-color-bg-container)}.ds-table-wrapper.ds-data-table.ds-table-zebra{border:none}.ds-table-wrapper.ds-data-table.ds-table-zebra .ds-table-pagination{background-color:transparent;border-top:none;border-radius:0}.ds-table-wrapper.ds-data-table.ds-table-zebra .ds-table-thead{background-color:transparent}.ds-table-wrapper.ds-data-table.ds-table-zebra .ds-table-thead th.ds-table-cell{background-color:transparent;border-bottom:none}.ds-table-wrapper.ds-data-table.ds-table-zebra .ds-table-thead th.ds-table-cell:before{display:none}.ds-table-wrapper.ds-data-table.ds-table-zebra .ds-table-thead th.ds-table-cell:hover{background-color:var(--ds-color-bg-container)}.ds-table-wrapper.ds-data-table.ds-table-zebra .ds-table-thead th.ds-table-cell:not(:last-child):after{display:block}.ds-table-wrapper.ds-data-table.ds-table-zebra .ds-table-tbody tr.ds-table-row{border-bottom:none}.ds-table-wrapper.ds-data-table.ds-table-zebra .ds-table-tbody tr.ds-table-row:nth-child(2n){background-color:var(--ds-color-fill-tertiary)}.ds-table-wrapper.ds-data-table.ds-table-zebra .ds-table-tbody tr.ds-table-row:nth-child(2n) td.ds-table-cell{background:transparent!important}.ds-table-wrapper.ds-data-table.ds-table-zebra .ds-table-tbody tr.ds-table-row:hover{background-color:var(--ds-color-fill-secondary)!important}.ds-table-wrapper.ds-data-table.ds-table-zebra .ds-table-tbody tr.ds-table-row:hover td.ds-table-cell{background-color:transparent!important}.ds-table-wrapper.ds-data-table.ds-table-zebra .ds-table-tbody tr.ds-table-row.ds-table-row-selected,.ds-table-wrapper.ds-data-table.ds-table-zebra .ds-table-tbody tr.ds-table-row.ds-table-row-selected td.ds-table-cell{background-color:var(--ds-color-primary-bg)!important}.ds-table-wrapper.ds-data-table .ds-table-pagination{padding:16px;border-top:1px solid var(--ds-color-split);background-color:transparent;display:flex;justify-content:flex-end;border-bottom-left-radius:6px;border-bottom-right-radius:6px}.ds-table-wrapper.ds-data-table .ds-table-pagination.ds-table-pagination-right{justify-content:flex-end}.ds-table-wrapper.ds-data-table .ds-table-pagination .ant-pagination{margin:0}.ds-table-wrapper.ds-data-table .ds-table-measure-row{height:0!important;font-size:0!important}.ds-table-wrapper.ds-data-table .ds-table-measure-row td{padding:0!important;border:0!important;height:0!important}.ds-table-wrapper.ds-data-table .text-left{text-align:left!important}.ds-table-wrapper.ds-data-table .text-center{text-align:center!important}.ds-table-wrapper.ds-data-table .text-right{text-align:right!important}.ds-table-wrapper.ds-data-table .ds-table-selection-column{width:32px!important;min-width:48px!important;text-align:center!important;padding-left:8px!important;padding-right:8px!important}.ds-table-wrapper.ds-data-table .ds-table-selection-column .ant-checkbox-wrapper{margin:0}.ds-table-wrapper.ds-data-table .ds-table-selection-column:after{display:none!important}.ds-table-wrapper.ds-data-table .ds-table-resize-handle{position:absolute;top:0;bottom:0;width:4px;background:transparent;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:1px;z-index:50;opacity:0;transition:opacity .2s ease,background-color .2s ease}.ds-table-wrapper.ds-data-table .ds-table-resize-handle.ds-table-resize-ltr{right:-2px}.ds-table-wrapper.ds-data-table .ds-table-resize-handle.ds-table-resize-rtl{left:-2px}.ds-table-wrapper.ds-data-table .ds-table-resize-handle:hover,.ds-table-wrapper.ds-data-table .ds-table-resize-handle.ds-table-resize-handle-active{opacity:1;background-color:var(--ds-color-primary);box-shadow:0 0 0 1px var(--ds-color-primary-bg)}.ds-table-wrapper.ds-data-table .ds-table-resize-handle.ds-table-resize-handle-active{background-color:var(--ds-color-primary);opacity:1;z-index:999}.ds-table-wrapper.ds-data-table .ds-table-thead th.ds-table-cell{z-index:1}.ds-table-wrapper.ds-data-table .ds-table-thead th.ds-table-cell:hover .ds-table-resize-handle{opacity:.6;background-color:var(--ds-color-text-tertiary)}.ds-table-wrapper.ds-data-table .ds-table-thead th.ds-table-cell:hover{box-sizing:border-box}.ds-table-wrapper.ds-data-table .ds-table-thead th.ds-table-cell:has(.ds-table-resize-handle-active){z-index:200}.ds-table-wrapper.ds-data-table .ds-table-thead th.ds-table-cell:has(.ds-table-resize-handle-active) .ds-table-resize-handle-active{z-index:201}.ds-table-wrapper.ds-data-table .ds-table-thead th.ds-table-cell.ds-table-cell-resizing{z-index:200!important}.ds-table-wrapper.ds-data-table .ds-table-thead th.ds-table-cell.ds-table-cell-resizing .ds-table-resize-handle{z-index:999!important}.ds-table-wrapper.ds-data-table .ds-table-resize-indicator{position:absolute;top:0;bottom:0;width:2px;background-color:var(--ds-color-primary);pointer-events:none;z-index:999;opacity:1;transition:transform .1s ease}.ds-table-wrapper.ds-data-table:has(.ds-table-resize-handle-active){-webkit-user-select:none;user-select:none}.ds-table-wrapper.ds-data-table:has(.ds-table-resize-handle-active) *{-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}}
@@ -63,7 +63,7 @@ export interface DataTableProps<RecordType extends Record<string, any> = Record<
63
63
  rowKey?: RowKey | ((record: RecordType, index?: number) => RowKey);
64
64
  rowSelection?: DataTableRowSelection<RecordType>;
65
65
  pagination?: false | DataTablePaginationConfig;
66
- variant?: "default" | "zebra";
66
+ variant?: "default" | "zebra" | "minimal";
67
67
  emptyDescription?: React.ReactNode;
68
68
  loading?: boolean | SpinProps;
69
69
  enableSorting?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- function o(e) {
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 i = e, t = {
15
- id: e.key?.toString() || e.dataIndex?.toString() || (o(i) ? i.accessorKey : void 0)
14
+ const r = e, t = {
15
+ id: e.key?.toString() || e.dataIndex?.toString() || (f(r) ? r.accessorKey : void 0)
16
16
  };
17
- if (o(i))
18
- t.accessorKey = i.accessorKey;
19
- else if (g(i))
20
- t.accessorFn = i.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 r = Array.isArray(e.dataIndex) ? e.dataIndex.join(".") : e.dataIndex.toString();
23
- t.accessorKey = r;
22
+ const i = Array.isArray(e.dataIndex) ? e.dataIndex.join(".") : e.dataIndex.toString();
23
+ t.accessorKey = i;
24
24
  }
25
- return S(i) ? t.header = i.header : e.title && (typeof e.title == "function" ? t.header = ({ column: r }) => {
26
- const n = r.getIsSorted(), s = n === "asc" ? "ascend" : n === "desc" ? "descend" : void 0;
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(i) ? t.cell = i.cell : e.render && (t.cell = ({ getValue: r, row: n }) => {
29
- const s = r(), f = n.original, a = n.index;
30
- return e.render(s, f, a);
31
- }), e.enableSorting !== void 0 ? t.enableSorting = e.enableSorting : e.sorter !== void 0 && (t.enableSorting = !!e.sorter, typeof e.sorter == "function" && (t.sortingFn = (r, n) => e.sorter(r.original, n.original))), e.enableFiltering !== void 0 && (t.enableColumnFilter = e.enableFiltering), e.filterFn && (typeof e.filterFn == "string" ? t.filterFn = e.filterFn : t.filterFn = (r, n, s) => e.filterFn(r.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 = {
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, i, t) {
42
+ function y(e, r, t) {
43
43
  if (typeof t == "function")
44
- return t(e, i);
44
+ return t(e, r);
45
45
  if (typeof t == "string")
46
- return e[t]?.toString() || i.toString();
47
- const r = e.key || e.id;
48
- return r ? r.toString() : i.toString();
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, i, t) {
51
- const r = [], n = [];
52
- return i.forEach((s, f) => {
53
- const a = y(s, f, t), d = String(a);
54
- e[d] && (r.push(a), n.push(s));
55
- }), { selectedRowKeys: r, selectedRows: n };
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
- return !e || e === "left" ? "" : `text-${e}`;
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 getAlignmentClass,
73
+ v as convertSelectionToTanStackFormat,
74
+ p as getAlignmentClass,
68
75
  y as getRowKey,
69
- p as shouldShowIcons
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":"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"}
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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"}
@@ -0,0 +1 @@
1
+ @layer components{.ds-data-table-wrapper.ds-data-table-minimal{--ds-data-table-minimal-cell-padding-block: 6px;--ds-data-table-minimal-cell-padding-inline: 8px;--ds-data-table-minimal-header-padding-block-end: 8px;--ds-data-table-minimal-row-height: 28px;margin-inline:calc(-1 * var(--ds-data-table-minimal-cell-padding-inline));background:transparent;border:none;border-radius:0}.ds-data-table-wrapper.ds-data-table-minimal:after{box-shadow:none}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table,.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-container,.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-content,.ds-data-table-wrapper.ds-data-table-minimal table,.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-thead,.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-tbody{background:transparent;border-radius:0}.ds-data-table-wrapper.ds-data-table-minimal table{border-collapse:separate;border-spacing:0 1px}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-tbody:before{display:block;height:2px;content:""}.ds-data-table-wrapper.ds-data-table-minimal.ds-data-table-middle{--ds-data-table-minimal-cell-padding-block: 4px;--ds-data-table-minimal-cell-padding-inline: 8px;--ds-data-table-minimal-header-padding-block-end: 6px;--ds-data-table-minimal-row-height: 24px}.ds-data-table-wrapper.ds-data-table-minimal.ds-data-table-small{--ds-data-table-minimal-cell-padding-block: 2px;--ds-data-table-minimal-cell-padding-inline: 8px;--ds-data-table-minimal-header-padding-block-end: 6px;--ds-data-table-minimal-row-height: 20px}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-thead>tr>th,.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-thead>tr>td{padding:0 var(--ds-data-table-minimal-cell-padding-inline) var(--ds-data-table-minimal-header-padding-block-end);color:var(--ds-color-text-tertiary);font-size:12px;font-weight:var(--ds-font-weight-medium, 500);line-height:16px;letter-spacing:.02px;text-transform:uppercase;background:transparent;position:relative}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-thead>tr>th:after,.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-thead>tr>td:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background-color:var(--ds-color-split)}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-thead>tr>th:first-child:after,.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-thead>tr>td:first-child:after{left:var(--ds-data-table-minimal-cell-padding-inline)}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-thead>tr>th:last-child:after,.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-thead>tr>td:last-child:after{right:var(--ds-data-table-minimal-cell-padding-inline)}.ds-data-table-wrapper.ds-data-table-minimal .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-minimal .ds-data-table-thead>tr>td:not(:last-child):not(.ds-data-table-selection-column):not([colspan]):before{position:absolute;top:0;inset-inline-end:0;display:block;width:1px;height:calc(100% - var(--ds-data-table-minimal-header-padding-block-end));background-color:var(--ds-color-split);transform:none;content:""}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-thead>tr>th:hover,.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-thead>tr>td:hover{background:transparent}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-tbody>tr>th,.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-tbody>tr>td,.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-cell{padding:var(--ds-data-table-minimal-cell-padding-block) var(--ds-data-table-minimal-cell-padding-inline);border-bottom:0;background:transparent}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-cell{height:var(--ds-data-table-minimal-row-height)}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-tbody .ds-data-table-row:hover>.ds-data-table-cell{background:var(--ds-color-fill-tertiary)}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-tbody .ds-data-table-row:hover>.ds-data-table-cell:first-child{border-top-left-radius:var(--ds-border-radius);border-bottom-left-radius:var(--ds-border-radius)}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-tbody .ds-data-table-row:hover>.ds-data-table-cell:last-child{border-top-right-radius:var(--ds-border-radius);border-bottom-right-radius:var(--ds-border-radius)}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-tbody .ds-data-table-row.ds-data-table-row-selected>.ds-data-table-cell,.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-tbody .ds-data-table-row.ds-data-table-row-selected:hover>.ds-data-table-cell{background:var(--ds-color-primary-bg)}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-tbody .ds-data-table-row.ds-data-table-row-selected>.ds-data-table-cell:first-child,.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-tbody .ds-data-table-row.ds-data-table-row-selected:hover>.ds-data-table-cell:first-child{border-top-left-radius:var(--ds-border-radius);border-bottom-left-radius:var(--ds-border-radius)}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-tbody .ds-data-table-row.ds-data-table-row-selected>.ds-data-table-cell:last-child,.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-tbody .ds-data-table-row.ds-data-table-row-selected:hover>.ds-data-table-cell:last-child{border-top-right-radius:var(--ds-border-radius);border-bottom-right-radius:var(--ds-border-radius)}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-thead>tr>.ds-data-table-selection-column{padding-bottom:var(--ds-data-table-minimal-header-padding-block-end)}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-placeholder>td{padding:16px 4px;border-bottom:0;border-radius:0}.ds-data-table-wrapper.ds-data-table-minimal .ds-data-table-pagination{padding:8px 0 0;background:transparent;border-top:0;border-radius:0}}
@@ -0,0 +1 @@
1
+ @layer components{.ds-data-table-wrapper.ds-data-table-zebra{border:none}.ds-data-table-wrapper.ds-data-table-zebra .ds-data-table-pagination{background:transparent;border-top:none;border-radius:0}.ds-data-table-wrapper.ds-data-table-zebra .ds-data-table-thead>tr>th,.ds-data-table-wrapper.ds-data-table-zebra .ds-data-table-thead>tr>td{background:transparent;border-bottom:none}.ds-data-table-wrapper.ds-data-table-zebra .ds-data-table-thead>tr>th:not(:last-child):before,.ds-data-table-wrapper.ds-data-table-zebra .ds-data-table-thead>tr>td:not(:last-child):before{display:block}.ds-data-table-wrapper.ds-data-table-zebra .ds-data-table-thead>tr>th:hover,.ds-data-table-wrapper.ds-data-table-zebra .ds-data-table-thead>tr>td:hover{background:var(--ds-color-bg-container)}.ds-data-table-wrapper.ds-data-table-zebra .ds-data-table-tbody .ds-data-table-row>.ds-data-table-cell{border-bottom:none}.ds-data-table-wrapper.ds-data-table-zebra .ds-data-table-tbody .ds-data-table-row:nth-child(2n)>.ds-data-table-cell{background:var(--ds-color-fill-tertiary)}.ds-data-table-wrapper.ds-data-table-zebra .ds-data-table-tbody .ds-data-table-row:nth-child(2n)>.ds-data-table-cell:first-child{border-top-left-radius:var(--ds-border-radius);border-bottom-left-radius:var(--ds-border-radius)}.ds-data-table-wrapper.ds-data-table-zebra .ds-data-table-tbody .ds-data-table-row:nth-child(2n)>.ds-data-table-cell:last-child{border-top-right-radius:var(--ds-border-radius);border-bottom-right-radius:var(--ds-border-radius)}.ds-data-table-wrapper.ds-data-table-zebra .ds-data-table-tbody .ds-data-table-row:hover>.ds-data-table-cell{background:var(--ds-color-fill-secondary)}.ds-data-table-wrapper.ds-data-table-zebra .ds-data-table-tbody .ds-data-table-row:hover>.ds-data-table-cell:first-child{border-top-left-radius:var(--ds-border-radius);border-bottom-left-radius:var(--ds-border-radius)}.ds-data-table-wrapper.ds-data-table-zebra .ds-data-table-tbody .ds-data-table-row:hover>.ds-data-table-cell:last-child{border-top-right-radius:var(--ds-border-radius);border-bottom-right-radius:var(--ds-border-radius)}.ds-data-table-wrapper.ds-data-table-zebra .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-zebra .ds-data-table-tbody .ds-data-table-row>td.ds-data-table-column-sort{background-color:unset}}
@@ -2,14 +2,14 @@
2
2
  import { jsx as e, jsxs as n } from "react/jsx-runtime";
3
3
  import { Dialog as s } from "@base-ui/react/dialog";
4
4
  import { useStableCallback as D } from "@base-ui/utils/useStableCallback";
5
- import { XIcon as Le } from "@bioturing/assets";
6
- import { getConfirmLocale as be } from "antd/es/modal/locale";
5
+ import { XIcon as be } from "@bioturing/assets";
6
+ import { getConfirmLocale as Le } from "antd/es/modal/locale";
7
7
  import { useLocale as Te } from "antd/es/locale";
8
- import { useState as Ie, useRef as ye, useMemo as Se, useCallback as we, useEffect as xe } from "react";
8
+ import { useState as ye, useRef as Ie, useMemo as Se, useCallback as we, useEffect as xe } from "react";
9
9
  import { Button as z } from "../button/component.js";
10
10
  import { useControlledState as Fe } from "../hooks/useControlledState.js";
11
- import { Stack as L } from "../stack/index.js";
12
- import { DIALOG_SIZE_WIDTHS as b, DIALOG_CLOSE_REASON_ESCAPE as Ge, DIALOG_DEFAULT_CANCEL_TEXT as ke, DIALOG_DEFAULT_OK_TEXT as Re, DIALOG_DEFAULT_SIZE as Ue, DIALOG_DEFAULT_BODY_SCROLLABLE as ze, DIALOG_DEFAULT_CENTERED as He, DIALOG_DEFAULT_OPEN as $e } from "./constants.js";
11
+ import { Stack as b } from "../stack/index.js";
12
+ import { DIALOG_SIZE_WIDTHS as L, DIALOG_CLOSE_REASON_ESCAPE as Ge, DIALOG_DEFAULT_CANCEL_TEXT as ke, DIALOG_DEFAULT_OK_TEXT as Re, DIALOG_DEFAULT_SIZE as Ue, DIALOG_DEFAULT_BODY_SCROLLABLE as ze, DIALOG_DEFAULT_CENTERED as He, DIALOG_DEFAULT_OPEN as $e } from "./constants.js";
13
13
  import { useCls as Be } from "../utils/antdUtils.js";
14
14
  import { useTheme as Me } from "../theme-provider/context/themeStore.js";
15
15
  import { clsx as d } from "../utils/cn.js";
@@ -17,7 +17,7 @@ import { Truncate as We } from "../truncate/component.js";
17
17
  import { IconButton as Xe } from "../icon-button/component.js";
18
18
  import { Spin as je } from "../spin/component.js";
19
19
  const Ke = parseInt(
20
- b.medium,
20
+ L.medium,
21
21
  10
22
22
  );
23
23
  function Ve(l) {
@@ -27,10 +27,10 @@ function Ve(l) {
27
27
  function Ze(l, u) {
28
28
  if (u)
29
29
  return u;
30
- const f = parseInt(b[l], 10);
30
+ const f = parseInt(L[l], 10);
31
31
  return !Number.isNaN(f) && f <= Ke ? "elevated" : "container";
32
32
  }
33
- const fr = ({
33
+ const mo = ({
34
34
  children: l,
35
35
  open: u,
36
36
  defaultOpen: f = $e,
@@ -43,13 +43,13 @@ const fr = ({
43
43
  loading: m = !1,
44
44
  confirmLoading: c = !1,
45
45
  hideOkButton: T = !1,
46
- hideCancelButton: I = !1,
46
+ hideCancelButton: y = !1,
47
47
  okText: W = Re,
48
48
  cancelText: X = ke,
49
49
  okType: j = "primary",
50
50
  contentPadding: K,
51
51
  afterTitle: h,
52
- beforeCloseButton: y,
52
+ beforeCloseButton: I,
53
53
  afterCloseButton: S,
54
54
  defaultFixedHeaderFooter: V = !1,
55
55
  centered: Z = He,
@@ -62,8 +62,8 @@ const fr = ({
62
62
  keyboard: ee = !0,
63
63
  width: C,
64
64
  style: w,
65
- destroyOnHidden: re = !1,
66
- afterOpenChange: oe,
65
+ destroyOnHidden: oe = !1,
66
+ afterOpenChange: re,
67
67
  className: le,
68
68
  rootClassName: se,
69
69
  headerClassName: ae,
@@ -72,40 +72,40 @@ const fr = ({
72
72
  okButtonProps: O,
73
73
  cancelButtonProps: ie
74
74
  }) => {
75
- const r = Be(), { className: ce } = Me(), [de, A] = Fe(
75
+ const o = Be(), { className: ce } = Me(), [de, A] = Fe(
76
76
  u,
77
77
  void 0,
78
78
  f
79
- ), [x] = Te("Modal", be()), [ue, fe] = Ie(!1), a = ye(null), p = M ?? (Y === "default" ? Ue : "xsmall"), F = p === "fullscreen", E = typeof g < "u", me = !E && !(T && I), G = P && v !== !1, k = Ze(p, q), pe = v === void 0 ? /* @__PURE__ */ e(Le, { size: 16, weight: "bold" }) : v, N = Ve(K), ge = W || x?.okText, _ = X || x?.cancelText, he = typeof _ == "string" ? _ : "Close", R = typeof C == "number" ? `${C}px` : C ?? b[p], ve = Se(
79
+ ), [x] = Te("Modal", Le()), [ue, fe] = ye(!1), a = Ie(null), p = M ?? (Y === "default" ? Ue : "xsmall"), F = p === "fullscreen", E = typeof g < "u", me = !E && !(T && y), G = P && v !== !1, k = Ze(p, q), pe = v === void 0 ? /* @__PURE__ */ e(be, { size: 16, weight: "bold" }) : v, N = Ve(K), ge = W || x?.okText, _ = X || x?.cancelText, he = typeof _ == "string" ? _ : "Close", R = typeof C == "number" ? `${C}px` : C ?? L[p], ve = Se(
80
80
  () => ({
81
81
  "--ds-dialog-width": R,
82
82
  "--ds-dialog-bg": `var(--ds-color-bg-${k})`,
83
83
  ...N ? {
84
- "--ds-dialog-content-padding": N
84
+ "--ds-dialog-body-content-padding": N
85
85
  } : {},
86
86
  ...w
87
87
  }),
88
88
  [k, N, R, w]
89
- ), Ce = we((o) => {
90
- if (a.current && (a.current.disconnect(), a.current = null), !o)
89
+ ), Ce = we((r) => {
90
+ if (a.current && (a.current.disconnect(), a.current = null), !r)
91
91
  return;
92
92
  const t = () => {
93
- fe(o.scrollHeight > o.clientHeight);
93
+ fe(r.scrollHeight > r.clientHeight);
94
94
  }, U = new ResizeObserver(() => {
95
95
  t();
96
96
  });
97
- U.observe(o), a.current = U, t();
97
+ U.observe(r), a.current = U, t();
98
98
  }, []);
99
99
  xe(() => () => {
100
100
  a.current && (a.current.disconnect(), a.current = null);
101
101
  }, []);
102
- const Oe = D((o) => {
103
- c || (A(!1), H?.(o), $?.(o));
104
- }), Ae = D((o) => {
105
- c || (A(!1), B?.(o));
102
+ const Oe = D((r) => {
103
+ c || (A(!1), H?.(r), $?.(r));
104
+ }), Ae = D((r) => {
105
+ c || (A(!1), B?.(r));
106
106
  }), Ee = D(
107
- (o, t) => {
108
- if (o) {
107
+ (r, t) => {
108
+ if (r) {
109
109
  A(!0);
110
110
  return;
111
111
  }
@@ -119,24 +119,24 @@ const fr = ({
119
119
  }
120
120
  Oe(t.event);
121
121
  }
122
- ), Ne = i || h || y || S || G, _e = E ? g !== null : me, De = V || ue || F;
122
+ ), Ne = i || h || I || S || G, _e = E ? g !== null : me, De = V || ue || F;
123
123
  return /* @__PURE__ */ e(
124
124
  s.Root,
125
125
  {
126
126
  open: !!de,
127
127
  onOpenChange: Ee,
128
- onOpenChangeComplete: oe,
128
+ onOpenChangeComplete: re,
129
129
  modal: !0,
130
130
  disablePointerDismissal: !Q,
131
- children: /* @__PURE__ */ n(s.Portal, { keepMounted: !re, children: [
132
- /* @__PURE__ */ e(s.Backdrop, { className: r("dialog-mask") }),
131
+ children: /* @__PURE__ */ n(s.Portal, { keepMounted: !oe, children: [
132
+ /* @__PURE__ */ e(s.Backdrop, { className: o("dialog-mask") }),
133
133
  /* @__PURE__ */ e(
134
134
  s.Viewport,
135
135
  {
136
136
  className: d(
137
137
  ce,
138
138
  se,
139
- r(
139
+ o(
140
140
  "dialog-wrap",
141
141
  Z ? "dialog-centered" : "dialog-top-aligned",
142
142
  F && "dialog-wrap-fullscreen",
@@ -147,7 +147,7 @@ const fr = ({
147
147
  s.Popup,
148
148
  {
149
149
  className: d(
150
- r(
150
+ o(
151
151
  "dialog",
152
152
  `dialog-size-${p}`,
153
153
  De && "dialog-fixed",
@@ -158,25 +158,25 @@ const fr = ({
158
158
  ),
159
159
  style: ve,
160
160
  "aria-busy": m || void 0,
161
- children: /* @__PURE__ */ n("div", { className: r("dialog-content"), children: [
162
- Ne && /* @__PURE__ */ n("div", { className: d(r("dialog-header"), ae), children: [
161
+ children: /* @__PURE__ */ n("div", { className: o("dialog-content"), children: [
162
+ Ne && /* @__PURE__ */ n("div", { className: d(o("dialog-header"), ae), children: [
163
163
  /* @__PURE__ */ n(
164
- L,
164
+ b,
165
165
  {
166
166
  align: "center",
167
167
  gap: 8,
168
- className: r("dialog-title-row"),
168
+ className: o("dialog-title-row"),
169
169
  children: [
170
- /* @__PURE__ */ e(L.Child, { grow: !0, children: i ? /* @__PURE__ */ e(s.Title, { className: r("dialog-title"), children: typeof i == "string" ? /* @__PURE__ */ e(We, { children: i }) : i }) : /* @__PURE__ */ e("div", {}) }),
171
- /* @__PURE__ */ n(L.Child, { stack: !0, hug: !0, align: "center", gap: 8, children: [
172
- y,
170
+ /* @__PURE__ */ e(b.Child, { grow: !0, children: i ? /* @__PURE__ */ e(s.Title, { className: o("dialog-title"), children: typeof i == "string" ? /* @__PURE__ */ e(We, { children: i }) : i }) : /* @__PURE__ */ e("div", {}) }),
171
+ /* @__PURE__ */ n(b.Child, { stack: !0, hug: !0, align: "center", gap: 8, children: [
172
+ I,
173
173
  G && /* @__PURE__ */ e(
174
174
  s.Close,
175
175
  {
176
176
  render: /* @__PURE__ */ e(
177
177
  Xe,
178
178
  {
179
- className: r("dialog-close"),
179
+ className: o("dialog-close"),
180
180
  "aria-label": he,
181
181
  children: pe
182
182
  }
@@ -188,21 +188,21 @@ const fr = ({
188
188
  ]
189
189
  }
190
190
  ),
191
- h ? /* @__PURE__ */ e("div", { className: r("dialog-header-after-title"), children: h }) : null
191
+ h ? /* @__PURE__ */ e("div", { className: o("dialog-header-after-title"), children: h }) : null
192
192
  ] }),
193
- /* @__PURE__ */ n("div", { className: r("dialog-body-wrapper"), children: [
193
+ /* @__PURE__ */ n("div", { className: o("dialog-body-wrapper"), children: [
194
194
  /* @__PURE__ */ e(
195
195
  "div",
196
196
  {
197
197
  ref: Ce,
198
- className: d(r("dialog-body"), te),
198
+ className: d(o("dialog-body"), te),
199
199
  children: l
200
200
  }
201
201
  ),
202
- m ? /* @__PURE__ */ e("div", { className: r("dialog-loading-overlay"), children: /* @__PURE__ */ e(je, {}) }) : null
202
+ m ? /* @__PURE__ */ e("div", { className: o("dialog-loading-overlay"), children: /* @__PURE__ */ e(je, {}) }) : null
203
203
  ] }),
204
- _e && /* @__PURE__ */ e("div", { className: d(r("dialog-footer"), ne), children: E ? g : /* @__PURE__ */ n("div", { className: r("dialog-footer-actions"), children: [
205
- !I && /* @__PURE__ */ e(
204
+ _e && /* @__PURE__ */ e("div", { className: d(o("dialog-footer"), ne), children: E ? g : /* @__PURE__ */ n("div", { className: o("dialog-footer-actions"), children: [
205
+ !y && /* @__PURE__ */ e(
206
206
  s.Close,
207
207
  {
208
208
  render: /* @__PURE__ */ e(z, { type: "default", ...ie, children: _ })
@@ -230,6 +230,6 @@ const fr = ({
230
230
  );
231
231
  };
232
232
  export {
233
- fr as Dialog
233
+ mo as Dialog
234
234
  };
235
235
  //# sourceMappingURL=Dialog.js.map