@medusajs/ui 4.0.22-preview-20250901150144 → 4.0.22-preview-20250901180147
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/blocks/data-table/components/data-table-table.d.ts.map +1 -1
- package/dist/cjs/blocks/data-table/components/data-table-table.js.map +1 -1
- package/dist/esm/blocks/data-table/components/data-table-table.d.ts.map +1 -1
- package/dist/esm/blocks/data-table/components/data-table-table.js.map +1 -1
- package/package.json +3 -3
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-table.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
1
|
+
{"version":3,"file":"data-table-table.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAwB9B,OAAO,EAGL,wBAAwB,EACzB,MAAM,UAAU,CAAA;AAKjB,UAAU,mBAAmB;IAC3B;;OAEG;IACH,UAAU,CAAC,EAAE,wBAAwB,CAAA;CACtC;AAED;;GAEG;AACH,QAAA,MAAM,cAAc;YAAW,mBAAmB;;CA6djD,CAAA;AA0ED,OAAO,EAAE,cAAc,EAAE,CAAA;AACzB,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-table.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-table.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { Table } from \"@/components/table\"\nimport { flexRender } from \"@tanstack/react-table\"\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n DragEndEvent,\n DragStartEvent,\n} from \"@dnd-kit/core\"\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n horizontalListSortingStrategy,\n} from \"@dnd-kit/sortable\"\n\nimport { useDataTableContext } from \"@/blocks/data-table/context/use-data-table-context\"\nimport { Skeleton } from \"@/components/skeleton\"\nimport { Text } from \"@/components/text\"\nimport { clx } from \"@/utils/clx\"\nimport {\n DataTableEmptyState,\n DataTableEmptyStateContent,\n DataTableEmptyStateProps,\n} from \"../types\"\nimport { DataTableSortingIcon } from \"./data-table-sorting-icon\"\nimport { DataTableSortableHeaderCell } from \"./data-table-sortable-header-cell\"\nimport { DataTableNonSortableHeaderCell } from \"./data-table-non-sortable-header-cell\"\n\ninterface DataTableTableProps {\n /**\n * The empty state to display when the table is empty.\n */\n emptyState?: DataTableEmptyStateProps\n}\n\n/**\n * This component renders the table in a data table, supporting advanced features.\n */\nconst DataTableTable = (props: DataTableTableProps) => {\n const hoveredRowId = React.useRef<string | null>(null)\n const isKeyDown = React.useRef(false)\n\n const [showStickyBorder, setShowStickyBorder] = React.useState(false)\n const scrollableRef = React.useRef<HTMLDivElement>(null)\n\n const { instance } = useDataTableContext()\n\n const pageIndex = instance.pageIndex\n\n const columns = instance.getAllColumns()\n\n const hasSelect = columns.find((c) => c.id === \"select\")\n const hasActions = columns.find((c) => c.id === \"action\")\n\n // Create list of all column IDs for SortableContext\n // Use current order if available, otherwise use default order\n const sortableItems = React.useMemo(() => {\n if (instance.columnOrder && instance.columnOrder.length > 0) {\n return instance.columnOrder\n }\n return columns.map(col => col.id)\n }, [columns, instance.columnOrder])\n\n // Setup drag-and-drop sensors\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 8,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n })\n )\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event\n\n if (active.id !== over?.id && over?.id) {\n const activeId = active.id as string\n const overId = over.id as string\n\n // Don't allow dragging fixed columns\n if (activeId === \"select\" || activeId === \"action\") {\n return\n }\n\n // Don't allow dropping on fixed columns\n if (overId === \"select\" || overId === \"action\") {\n return\n }\n\n // Use the current column order from the instance\n const currentOrder = instance.columnOrder && instance.columnOrder.length > 0\n ? instance.columnOrder\n : columns.map(col => col.id)\n\n const oldIndex = currentOrder.indexOf(activeId)\n const newIndex = currentOrder.indexOf(overId)\n\n if (oldIndex !== -1 && newIndex !== -1) {\n const newOrder = arrayMove(currentOrder, oldIndex, newIndex)\n instance.setColumnOrderFromArray(newOrder)\n }\n }\n }\n\n React.useEffect(() => {\n const onKeyDownHandler = (event: KeyboardEvent) => {\n // If an editable element is focused, we don't want to select a row\n const isEditableElementFocused = getIsEditableElementFocused()\n\n if (\n event.key.toLowerCase() === \"x\" &&\n hoveredRowId &&\n !isKeyDown.current &&\n !isEditableElementFocused\n ) {\n isKeyDown.current = true\n\n const row = instance\n .getRowModel()\n .rows.find((r) => r.id === hoveredRowId.current)\n\n if (row && row.getCanSelect()) {\n row.toggleSelected()\n }\n }\n }\n\n const onKeyUpHandler = (event: KeyboardEvent) => {\n if (event.key.toLowerCase() === \"x\") {\n isKeyDown.current = false\n }\n }\n\n document.addEventListener(\"keydown\", onKeyDownHandler)\n document.addEventListener(\"keyup\", onKeyUpHandler)\n return () => {\n document.removeEventListener(\"keydown\", onKeyDownHandler)\n document.removeEventListener(\"keyup\", onKeyUpHandler)\n }\n }, [hoveredRowId, instance])\n\n const handleHorizontalScroll = (e: React.UIEvent<HTMLDivElement>) => {\n const scrollLeft = e.currentTarget.scrollLeft\n\n if (scrollLeft > 0) {\n setShowStickyBorder(true)\n } else {\n setShowStickyBorder(false)\n }\n }\n\n React.useEffect(() => {\n scrollableRef.current?.scroll({ top: 0, left: 0 })\n }, [pageIndex])\n\n if (instance.showSkeleton) {\n return <DataTableTableSkeleton pageSize={instance.pageSize} />\n }\n\n return (\n <div className=\"flex w-full flex-1 flex-col overflow-hidden\">\n {instance.emptyState === DataTableEmptyState.POPULATED && (\n instance.enableColumnOrder ? (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <div\n ref={scrollableRef}\n onScroll={handleHorizontalScroll}\n className=\"min-h-0 w-full flex-1 overflow-auto overscroll-none border-y\"\n >\n <Table className=\"relative isolate w-full\">\n <Table.Header\n className=\"shadow-ui-border-base sticky inset-x-0 top-0 z-[1] w-full border-b-0 border-t-0 shadow-[0_1px_1px_0]\"\n style={{ transform: \"translate3d(0,0,0)\" }}\n >\n {instance.getHeaderGroups().map((headerGroup) => (\n <Table.Row\n key={headerGroup.id}\n className={clx(\"border-b-0\", {\n \"[&_th:last-of-type]:w-[1%] [&_th:last-of-type]:whitespace-nowrap\":\n hasActions,\n \"[&_th:first-of-type]:w-[1%] [&_th:first-of-type]:whitespace-nowrap\":\n hasSelect,\n })}\n >\n <SortableContext\n items={sortableItems}\n strategy={horizontalListSortingStrategy}\n >\n {headerGroup.headers.map((header, idx) => {\n const canSort = header.column.getCanSort()\n const sortDirection = header.column.getIsSorted()\n const sortHandler = header.column.getToggleSortingHandler()\n\n const isActionHeader = header.id === \"action\"\n const isSelectHeader = header.id === \"select\"\n const isSpecialHeader = isActionHeader || isSelectHeader\n const isDraggable = !isSpecialHeader\n\n const Wrapper = canSort ? \"button\" : \"div\"\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n // Get header alignment from column metadata\n const headerAlign = (header.column.columnDef.meta as any)?.___alignMetaData?.headerAlign || 'left'\n const isRightAligned = headerAlign === 'right'\n const isCenterAligned = headerAlign === 'center'\n\n const HeaderCellComponent = isDraggable ? DataTableSortableHeaderCell : DataTableNonSortableHeaderCell\n\n return (\n <HeaderCellComponent\n key={header.id}\n id={header.id}\n isFirstColumn={isFirstColumn}\n className={clx(\"whitespace-nowrap\", {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectHeader,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionHeader,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"bg-ui-bg-subtle sticky\":\n isFirstColumn || isSelectHeader,\n \"left-0\":\n isSelectHeader || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n })}\n style={\n !isSpecialHeader\n ? {\n width: header.column.columnDef.size,\n maxWidth: header.column.columnDef.maxSize,\n minWidth: header.column.columnDef.minSize,\n }\n : undefined\n }\n >\n <Wrapper\n type={canSort ? \"button\" : undefined}\n onClick={canSort ? sortHandler : undefined}\n onMouseDown={canSort ? (e) => e.stopPropagation() : undefined}\n className={clx(\n \"group flex cursor-default items-center gap-2\",\n {\n \"cursor-pointer\": canSort,\n \"w-full\": isRightAligned || isCenterAligned,\n \"w-fit\": !isRightAligned && !isCenterAligned,\n \"justify-end\": isRightAligned,\n \"justify-center\": isCenterAligned,\n }\n )}\n >\n {canSort && isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n {canSort && !isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n </Wrapper>\n </HeaderCellComponent>\n )\n })}\n </SortableContext>\n </Table.Row>\n ))}\n </Table.Header>\n <Table.Body className=\"border-b-0 border-t-0\">\n {instance.getRowModel().rows.map((row) => {\n return (\n <Table.Row\n key={row.id}\n onMouseEnter={() => (hoveredRowId.current = row.id)}\n onMouseLeave={() => (hoveredRowId.current = null)}\n onClick={(e) => instance.onRowClick?.(e, row)}\n className={clx(\"group/row last-of-type:border-b-0\", {\n \"cursor-pointer\": !!instance.onRowClick,\n })}\n >\n {row.getVisibleCells().map((cell, idx) => {\n const isSelectCell = cell.column.id === \"select\"\n const isActionCell = cell.column.id === \"action\"\n const isSpecialCell = isSelectCell || isActionCell\n\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n return (\n <Table.Cell\n key={cell.id}\n className={clx(\n \"items-stretch truncate whitespace-nowrap\",\n {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectCell,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionCell,\n \"bg-ui-bg-base group-hover/row:bg-ui-bg-base-hover transition-fg sticky h-full\":\n isFirstColumn || isSelectCell,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"left-0\":\n isSelectCell || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n }\n )}\n style={\n !isSpecialCell\n ? {\n width: cell.column.columnDef.size,\n maxWidth: cell.column.columnDef.maxSize,\n minWidth: cell.column.columnDef.minSize,\n }\n : undefined\n }\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </Table.Cell>\n )\n })}\n </Table.Row>\n )\n })}\n </Table.Body>\n </Table>\n </div>\n </DndContext>\n ) : (\n <div\n ref={scrollableRef}\n onScroll={handleHorizontalScroll}\n className=\"min-h-0 w-full flex-1 overflow-auto overscroll-none border-y\"\n >\n <Table className=\"relative isolate w-full\">\n <Table.Header\n className=\"shadow-ui-border-base sticky inset-x-0 top-0 z-[1] w-full border-b-0 border-t-0 shadow-[0_1px_1px_0]\"\n style={{ transform: \"translate3d(0,0,0)\" }}\n >\n {instance.getHeaderGroups().map((headerGroup) => (\n <Table.Row\n key={headerGroup.id}\n className={clx(\"border-b-0\", {\n \"[&_th:last-of-type]:w-[1%] [&_th:last-of-type]:whitespace-nowrap\":\n hasActions,\n \"[&_th:first-of-type]:w-[1%] [&_th:first-of-type]:whitespace-nowrap\":\n hasSelect,\n })}\n >\n {headerGroup.headers.map((header, idx) => {\n const canSort = header.column.getCanSort()\n const sortDirection = header.column.getIsSorted()\n const sortHandler = header.column.getToggleSortingHandler()\n\n const isActionHeader = header.id === \"action\"\n const isSelectHeader = header.id === \"select\"\n const isSpecialHeader = isActionHeader || isSelectHeader\n\n const Wrapper = canSort ? \"button\" : \"div\"\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n // Get header alignment from column metadata\n const headerAlign = (header.column.columnDef.meta as any)?.___alignMetaData?.headerAlign || 'left'\n const isRightAligned = headerAlign === 'right'\n const isCenterAligned = headerAlign === 'center'\n\n return (\n <Table.HeaderCell\n key={header.id}\n className={clx(\"whitespace-nowrap\", {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectHeader,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionHeader,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"bg-ui-bg-subtle sticky\":\n isFirstColumn || isSelectHeader,\n \"left-0\":\n isSelectHeader || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n })}\n style={\n !isSpecialHeader\n ? {\n width: header.column.columnDef.size,\n maxWidth: header.column.columnDef.maxSize,\n minWidth: header.column.columnDef.minSize,\n }\n : undefined\n }\n >\n <Wrapper\n type={canSort ? \"button\" : undefined}\n onClick={canSort ? sortHandler : undefined}\n onMouseDown={canSort ? (e) => e.stopPropagation() : undefined}\n className={clx(\n \"group flex cursor-default items-center gap-2\",\n {\n \"cursor-pointer\": canSort,\n \"w-full\": isRightAligned || isCenterAligned,\n \"w-fit\": !isRightAligned && !isCenterAligned,\n \"justify-end\": isRightAligned,\n \"justify-center\": isCenterAligned,\n }\n )}\n >\n {canSort && isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n {canSort && !isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n </Wrapper>\n </Table.HeaderCell>\n )\n })}\n </Table.Row>\n ))}\n </Table.Header>\n <Table.Body className=\"border-b-0 border-t-0\">\n {instance.getRowModel().rows.map((row) => {\n return (\n <Table.Row\n key={row.id}\n onMouseEnter={() => (hoveredRowId.current = row.id)}\n onMouseLeave={() => (hoveredRowId.current = null)}\n onClick={(e) => instance.onRowClick?.(e, row)}\n className={clx(\"group/row last-of-type:border-b-0\", {\n \"cursor-pointer\": !!instance.onRowClick,\n })}\n >\n {row.getVisibleCells().map((cell, idx) => {\n const isSelectCell = cell.column.id === \"select\"\n const isActionCell = cell.column.id === \"action\"\n const isSpecialCell = isSelectCell || isActionCell\n\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n return (\n <Table.Cell\n key={cell.id}\n className={clx(\n \"items-stretch truncate whitespace-nowrap\",\n {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectCell,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionCell,\n \"bg-ui-bg-base group-hover/row:bg-ui-bg-base-hover transition-fg sticky h-full\":\n isFirstColumn || isSelectCell,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"left-0\":\n isSelectCell || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n }\n )}\n style={\n !isSpecialCell\n ? {\n width: cell.column.columnDef.size,\n maxWidth: cell.column.columnDef.maxSize,\n minWidth: cell.column.columnDef.minSize,\n }\n : undefined\n }\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </Table.Cell>\n )\n })}\n </Table.Row>\n )\n })}\n </Table.Body>\n </Table>\n </div>\n )\n )}\n <DataTableEmptyStateDisplay\n state={instance.emptyState}\n props={props.emptyState}\n />\n </div>\n )\n}\nDataTableTable.displayName = \"DataTable.Table\"\n\ninterface DataTableEmptyStateDisplayProps {\n state: DataTableEmptyState\n props?: DataTableEmptyStateProps\n}\n\nconst DefaultEmptyStateContent = ({\n heading,\n description,\n}: DataTableEmptyStateContent) => (\n <div className=\"flex size-full flex-col items-center justify-center gap-2\">\n <Text size=\"base\" weight=\"plus\">\n {heading}\n </Text>\n <Text>{description}</Text>\n </div>\n)\n\nconst DataTableEmptyStateDisplay = ({\n state,\n props,\n}: DataTableEmptyStateDisplayProps) => {\n if (state === DataTableEmptyState.POPULATED) {\n return null\n }\n\n const content =\n state === DataTableEmptyState.EMPTY ? props?.empty : props?.filtered\n\n return (\n <div className=\"flex min-h-[250px] w-full flex-1 flex-col items-center justify-center border-y px-6 py-4\">\n {content?.custom ?? (\n <DefaultEmptyStateContent\n heading={content?.heading}\n description={content?.description}\n />\n )}\n </div>\n )\n}\n\ninterface DataTableTableSkeletonProps {\n pageSize?: number\n}\n\nconst DataTableTableSkeleton = ({\n pageSize = 10,\n}: DataTableTableSkeletonProps) => {\n return (\n <div className=\"flex w-full flex-1 flex-col overflow-hidden\">\n <div className=\"min-h-0 w-full flex-1 overscroll-none border-y\">\n <div className=\"flex flex-col divide-y\">\n <Skeleton className=\"h-12 w-full\" />\n {Array.from({ length: pageSize }, (_, i) => i).map((row) => (\n <Skeleton key={row} className=\"h-12 w-full rounded-none\" />\n ))}\n </div>\n </div>\n </div>\n )\n}\n\nfunction getIsEditableElementFocused() {\n const activeElement = !!document ? document.activeElement : null\n const isEditableElementFocused =\n activeElement instanceof HTMLInputElement ||\n activeElement instanceof HTMLTextAreaElement ||\n activeElement?.getAttribute(\"contenteditable\") === \"true\"\n\n return isEditableElementFocused\n}\n\nexport { DataTableTable }\nexport type { DataTableEmptyStateProps, DataTableTableProps }\n"]}
|
1
|
+
{"version":3,"file":"data-table-table.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-table.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { Table } from \"@/components/table\"\nimport { flexRender } from \"@tanstack/react-table\"\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n DragEndEvent,\n} from \"@dnd-kit/core\"\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n horizontalListSortingStrategy,\n} from \"@dnd-kit/sortable\"\n\nimport { useDataTableContext } from \"@/blocks/data-table/context/use-data-table-context\"\nimport { Skeleton } from \"@/components/skeleton\"\nimport { Text } from \"@/components/text\"\nimport { clx } from \"@/utils/clx\"\nimport {\n DataTableEmptyState,\n DataTableEmptyStateContent,\n DataTableEmptyStateProps,\n} from \"../types\"\nimport { DataTableSortingIcon } from \"./data-table-sorting-icon\"\nimport { DataTableSortableHeaderCell } from \"./data-table-sortable-header-cell\"\nimport { DataTableNonSortableHeaderCell } from \"./data-table-non-sortable-header-cell\"\n\ninterface DataTableTableProps {\n /**\n * The empty state to display when the table is empty.\n */\n emptyState?: DataTableEmptyStateProps\n}\n\n/**\n * This component renders the table in a data table, supporting advanced features.\n */\nconst DataTableTable = (props: DataTableTableProps) => {\n const hoveredRowId = React.useRef<string | null>(null)\n const isKeyDown = React.useRef(false)\n\n const [showStickyBorder, setShowStickyBorder] = React.useState(false)\n const scrollableRef = React.useRef<HTMLDivElement>(null)\n\n const { instance } = useDataTableContext()\n\n const pageIndex = instance.pageIndex\n\n const columns = instance.getAllColumns()\n\n const hasSelect = columns.find((c) => c.id === \"select\")\n const hasActions = columns.find((c) => c.id === \"action\")\n\n // Create list of all column IDs for SortableContext\n // Use current order if available, otherwise use default order\n const sortableItems = React.useMemo(() => {\n if (instance.columnOrder && instance.columnOrder.length > 0) {\n return instance.columnOrder\n }\n return columns.map(col => col.id)\n }, [columns, instance.columnOrder])\n\n // Setup drag-and-drop sensors\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 8,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n })\n )\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event\n\n if (active.id !== over?.id && over?.id) {\n const activeId = active.id as string\n const overId = over.id as string\n\n // Don't allow dragging fixed columns\n if (activeId === \"select\" || activeId === \"action\") {\n return\n }\n\n // Don't allow dropping on fixed columns\n if (overId === \"select\" || overId === \"action\") {\n return\n }\n\n // Use the current column order from the instance\n const currentOrder = instance.columnOrder && instance.columnOrder.length > 0\n ? instance.columnOrder\n : columns.map(col => col.id)\n\n const oldIndex = currentOrder.indexOf(activeId)\n const newIndex = currentOrder.indexOf(overId)\n\n if (oldIndex !== -1 && newIndex !== -1) {\n const newOrder = arrayMove(currentOrder, oldIndex, newIndex)\n instance.setColumnOrderFromArray(newOrder)\n }\n }\n }\n\n React.useEffect(() => {\n const onKeyDownHandler = (event: KeyboardEvent) => {\n // If an editable element is focused, we don't want to select a row\n const isEditableElementFocused = getIsEditableElementFocused()\n\n if (\n event.key.toLowerCase() === \"x\" &&\n hoveredRowId &&\n !isKeyDown.current &&\n !isEditableElementFocused\n ) {\n isKeyDown.current = true\n\n const row = instance\n .getRowModel()\n .rows.find((r) => r.id === hoveredRowId.current)\n\n if (row && row.getCanSelect()) {\n row.toggleSelected()\n }\n }\n }\n\n const onKeyUpHandler = (event: KeyboardEvent) => {\n if (event.key.toLowerCase() === \"x\") {\n isKeyDown.current = false\n }\n }\n\n document.addEventListener(\"keydown\", onKeyDownHandler)\n document.addEventListener(\"keyup\", onKeyUpHandler)\n return () => {\n document.removeEventListener(\"keydown\", onKeyDownHandler)\n document.removeEventListener(\"keyup\", onKeyUpHandler)\n }\n }, [hoveredRowId, instance])\n\n const handleHorizontalScroll = (e: React.UIEvent<HTMLDivElement>) => {\n const scrollLeft = e.currentTarget.scrollLeft\n\n if (scrollLeft > 0) {\n setShowStickyBorder(true)\n } else {\n setShowStickyBorder(false)\n }\n }\n\n React.useEffect(() => {\n scrollableRef.current?.scroll({ top: 0, left: 0 })\n }, [pageIndex])\n\n if (instance.showSkeleton) {\n return <DataTableTableSkeleton pageSize={instance.pageSize} />\n }\n\n return (\n <div className=\"flex w-full flex-1 flex-col overflow-hidden\">\n {instance.emptyState === DataTableEmptyState.POPULATED && (\n instance.enableColumnOrder ? (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <div\n ref={scrollableRef}\n onScroll={handleHorizontalScroll}\n className=\"min-h-0 w-full flex-1 overflow-auto overscroll-none border-y\"\n >\n <Table className=\"relative isolate w-full\">\n <Table.Header\n className=\"shadow-ui-border-base sticky inset-x-0 top-0 z-[1] w-full border-b-0 border-t-0 shadow-[0_1px_1px_0]\"\n style={{ transform: \"translate3d(0,0,0)\" }}\n >\n {instance.getHeaderGroups().map((headerGroup) => (\n <Table.Row\n key={headerGroup.id}\n className={clx(\"border-b-0\", {\n \"[&_th:last-of-type]:w-[1%] [&_th:last-of-type]:whitespace-nowrap\":\n hasActions,\n \"[&_th:first-of-type]:w-[1%] [&_th:first-of-type]:whitespace-nowrap\":\n hasSelect,\n })}\n >\n <SortableContext\n items={sortableItems}\n strategy={horizontalListSortingStrategy}\n >\n {headerGroup.headers.map((header, idx) => {\n const canSort = header.column.getCanSort()\n const sortDirection = header.column.getIsSorted()\n const sortHandler = header.column.getToggleSortingHandler()\n\n const isActionHeader = header.id === \"action\"\n const isSelectHeader = header.id === \"select\"\n const isSpecialHeader = isActionHeader || isSelectHeader\n const isDraggable = !isSpecialHeader\n\n const Wrapper = canSort ? \"button\" : \"div\"\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n // Get header alignment from column metadata\n const headerAlign = (header.column.columnDef.meta as any)?.___alignMetaData?.headerAlign || 'left'\n const isRightAligned = headerAlign === 'right'\n const isCenterAligned = headerAlign === 'center'\n\n const HeaderCellComponent = isDraggable ? DataTableSortableHeaderCell : DataTableNonSortableHeaderCell\n\n return (\n <HeaderCellComponent\n key={header.id}\n id={header.id}\n isFirstColumn={isFirstColumn}\n className={clx(\"whitespace-nowrap\", {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectHeader,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionHeader,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"bg-ui-bg-subtle sticky\":\n isFirstColumn || isSelectHeader,\n \"left-0\":\n isSelectHeader || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n })}\n style={\n !isSpecialHeader\n ? {\n width: header.column.columnDef.size,\n maxWidth: header.column.columnDef.maxSize,\n minWidth: header.column.columnDef.minSize,\n }\n : undefined\n }\n >\n <Wrapper\n type={canSort ? \"button\" : undefined}\n onClick={canSort ? sortHandler : undefined}\n onMouseDown={canSort ? (e) => e.stopPropagation() : undefined}\n className={clx(\n \"group flex cursor-default items-center gap-2\",\n {\n \"cursor-pointer\": canSort,\n \"w-full\": isRightAligned || isCenterAligned,\n \"w-fit\": !isRightAligned && !isCenterAligned,\n \"justify-end\": isRightAligned,\n \"justify-center\": isCenterAligned,\n }\n )}\n >\n {canSort && isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n {canSort && !isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n </Wrapper>\n </HeaderCellComponent>\n )\n })}\n </SortableContext>\n </Table.Row>\n ))}\n </Table.Header>\n <Table.Body className=\"border-b-0 border-t-0\">\n {instance.getRowModel().rows.map((row) => {\n return (\n <Table.Row\n key={row.id}\n onMouseEnter={() => (hoveredRowId.current = row.id)}\n onMouseLeave={() => (hoveredRowId.current = null)}\n onClick={(e) => instance.onRowClick?.(e, row)}\n className={clx(\"group/row last-of-type:border-b-0\", {\n \"cursor-pointer\": !!instance.onRowClick,\n })}\n >\n {row.getVisibleCells().map((cell, idx) => {\n const isSelectCell = cell.column.id === \"select\"\n const isActionCell = cell.column.id === \"action\"\n const isSpecialCell = isSelectCell || isActionCell\n\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n return (\n <Table.Cell\n key={cell.id}\n className={clx(\n \"items-stretch truncate whitespace-nowrap\",\n {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectCell,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionCell,\n \"bg-ui-bg-base group-hover/row:bg-ui-bg-base-hover transition-fg sticky h-full\":\n isFirstColumn || isSelectCell,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"left-0\":\n isSelectCell || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n }\n )}\n style={\n !isSpecialCell\n ? {\n width: cell.column.columnDef.size,\n maxWidth: cell.column.columnDef.maxSize,\n minWidth: cell.column.columnDef.minSize,\n }\n : undefined\n }\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </Table.Cell>\n )\n })}\n </Table.Row>\n )\n })}\n </Table.Body>\n </Table>\n </div>\n </DndContext>\n ) : (\n <div\n ref={scrollableRef}\n onScroll={handleHorizontalScroll}\n className=\"min-h-0 w-full flex-1 overflow-auto overscroll-none border-y\"\n >\n <Table className=\"relative isolate w-full\">\n <Table.Header\n className=\"shadow-ui-border-base sticky inset-x-0 top-0 z-[1] w-full border-b-0 border-t-0 shadow-[0_1px_1px_0]\"\n style={{ transform: \"translate3d(0,0,0)\" }}\n >\n {instance.getHeaderGroups().map((headerGroup) => (\n <Table.Row\n key={headerGroup.id}\n className={clx(\"border-b-0\", {\n \"[&_th:last-of-type]:w-[1%] [&_th:last-of-type]:whitespace-nowrap\":\n hasActions,\n \"[&_th:first-of-type]:w-[1%] [&_th:first-of-type]:whitespace-nowrap\":\n hasSelect,\n })}\n >\n {headerGroup.headers.map((header, idx) => {\n const canSort = header.column.getCanSort()\n const sortDirection = header.column.getIsSorted()\n const sortHandler = header.column.getToggleSortingHandler()\n\n const isActionHeader = header.id === \"action\"\n const isSelectHeader = header.id === \"select\"\n const isSpecialHeader = isActionHeader || isSelectHeader\n\n const Wrapper = canSort ? \"button\" : \"div\"\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n // Get header alignment from column metadata\n const headerAlign = (header.column.columnDef.meta as any)?.___alignMetaData?.headerAlign || 'left'\n const isRightAligned = headerAlign === 'right'\n const isCenterAligned = headerAlign === 'center'\n\n return (\n <Table.HeaderCell\n key={header.id}\n className={clx(\"whitespace-nowrap\", {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectHeader,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionHeader,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"bg-ui-bg-subtle sticky\":\n isFirstColumn || isSelectHeader,\n \"left-0\":\n isSelectHeader || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n })}\n style={\n !isSpecialHeader\n ? {\n width: header.column.columnDef.size,\n maxWidth: header.column.columnDef.maxSize,\n minWidth: header.column.columnDef.minSize,\n }\n : undefined\n }\n >\n <Wrapper\n type={canSort ? \"button\" : undefined}\n onClick={canSort ? sortHandler : undefined}\n onMouseDown={canSort ? (e) => e.stopPropagation() : undefined}\n className={clx(\n \"group flex cursor-default items-center gap-2\",\n {\n \"cursor-pointer\": canSort,\n \"w-full\": isRightAligned || isCenterAligned,\n \"w-fit\": !isRightAligned && !isCenterAligned,\n \"justify-end\": isRightAligned,\n \"justify-center\": isCenterAligned,\n }\n )}\n >\n {canSort && isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n {canSort && !isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n </Wrapper>\n </Table.HeaderCell>\n )\n })}\n </Table.Row>\n ))}\n </Table.Header>\n <Table.Body className=\"border-b-0 border-t-0\">\n {instance.getRowModel().rows.map((row) => {\n return (\n <Table.Row\n key={row.id}\n onMouseEnter={() => (hoveredRowId.current = row.id)}\n onMouseLeave={() => (hoveredRowId.current = null)}\n onClick={(e) => instance.onRowClick?.(e, row)}\n className={clx(\"group/row last-of-type:border-b-0\", {\n \"cursor-pointer\": !!instance.onRowClick,\n })}\n >\n {row.getVisibleCells().map((cell, idx) => {\n const isSelectCell = cell.column.id === \"select\"\n const isActionCell = cell.column.id === \"action\"\n const isSpecialCell = isSelectCell || isActionCell\n\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n return (\n <Table.Cell\n key={cell.id}\n className={clx(\n \"items-stretch truncate whitespace-nowrap\",\n {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectCell,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionCell,\n \"bg-ui-bg-base group-hover/row:bg-ui-bg-base-hover transition-fg sticky h-full\":\n isFirstColumn || isSelectCell,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"left-0\":\n isSelectCell || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n }\n )}\n style={\n !isSpecialCell\n ? {\n width: cell.column.columnDef.size,\n maxWidth: cell.column.columnDef.maxSize,\n minWidth: cell.column.columnDef.minSize,\n }\n : undefined\n }\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </Table.Cell>\n )\n })}\n </Table.Row>\n )\n })}\n </Table.Body>\n </Table>\n </div>\n )\n )}\n <DataTableEmptyStateDisplay\n state={instance.emptyState}\n props={props.emptyState}\n />\n </div>\n )\n}\nDataTableTable.displayName = \"DataTable.Table\"\n\ninterface DataTableEmptyStateDisplayProps {\n state: DataTableEmptyState\n props?: DataTableEmptyStateProps\n}\n\nconst DefaultEmptyStateContent = ({\n heading,\n description,\n}: DataTableEmptyStateContent) => (\n <div className=\"flex size-full flex-col items-center justify-center gap-2\">\n <Text size=\"base\" weight=\"plus\">\n {heading}\n </Text>\n <Text>{description}</Text>\n </div>\n)\n\nconst DataTableEmptyStateDisplay = ({\n state,\n props,\n}: DataTableEmptyStateDisplayProps) => {\n if (state === DataTableEmptyState.POPULATED) {\n return null\n }\n\n const content =\n state === DataTableEmptyState.EMPTY ? props?.empty : props?.filtered\n\n return (\n <div className=\"flex min-h-[250px] w-full flex-1 flex-col items-center justify-center border-y px-6 py-4\">\n {content?.custom ?? (\n <DefaultEmptyStateContent\n heading={content?.heading}\n description={content?.description}\n />\n )}\n </div>\n )\n}\n\ninterface DataTableTableSkeletonProps {\n pageSize?: number\n}\n\nconst DataTableTableSkeleton = ({\n pageSize = 10,\n}: DataTableTableSkeletonProps) => {\n return (\n <div className=\"flex w-full flex-1 flex-col overflow-hidden\">\n <div className=\"min-h-0 w-full flex-1 overscroll-none border-y\">\n <div className=\"flex flex-col divide-y\">\n <Skeleton className=\"h-12 w-full\" />\n {Array.from({ length: pageSize }, (_, i) => i).map((row) => (\n <Skeleton key={row} className=\"h-12 w-full rounded-none\" />\n ))}\n </div>\n </div>\n </div>\n )\n}\n\nfunction getIsEditableElementFocused() {\n const activeElement = !!document ? document.activeElement : null\n const isEditableElementFocused =\n activeElement instanceof HTMLInputElement ||\n activeElement instanceof HTMLTextAreaElement ||\n activeElement?.getAttribute(\"contenteditable\") === \"true\"\n\n return isEditableElementFocused\n}\n\nexport { DataTableTable }\nexport type { DataTableEmptyStateProps, DataTableTableProps }\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-table.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
1
|
+
{"version":3,"file":"data-table-table.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAwB9B,OAAO,EAGL,wBAAwB,EACzB,MAAM,UAAU,CAAA;AAKjB,UAAU,mBAAmB;IAC3B;;OAEG;IACH,UAAU,CAAC,EAAE,wBAAwB,CAAA;CACtC;AAED;;GAEG;AACH,QAAA,MAAM,cAAc;YAAW,mBAAmB;;CA6djD,CAAA;AA0ED,OAAO,EAAE,cAAc,EAAE,CAAA;AACzB,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-table.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-table.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { Table } from \"@/components/table\"\nimport { flexRender } from \"@tanstack/react-table\"\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n DragEndEvent,\n DragStartEvent,\n} from \"@dnd-kit/core\"\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n horizontalListSortingStrategy,\n} from \"@dnd-kit/sortable\"\n\nimport { useDataTableContext } from \"@/blocks/data-table/context/use-data-table-context\"\nimport { Skeleton } from \"@/components/skeleton\"\nimport { Text } from \"@/components/text\"\nimport { clx } from \"@/utils/clx\"\nimport {\n DataTableEmptyState,\n DataTableEmptyStateContent,\n DataTableEmptyStateProps,\n} from \"../types\"\nimport { DataTableSortingIcon } from \"./data-table-sorting-icon\"\nimport { DataTableSortableHeaderCell } from \"./data-table-sortable-header-cell\"\nimport { DataTableNonSortableHeaderCell } from \"./data-table-non-sortable-header-cell\"\n\ninterface DataTableTableProps {\n /**\n * The empty state to display when the table is empty.\n */\n emptyState?: DataTableEmptyStateProps\n}\n\n/**\n * This component renders the table in a data table, supporting advanced features.\n */\nconst DataTableTable = (props: DataTableTableProps) => {\n const hoveredRowId = React.useRef<string | null>(null)\n const isKeyDown = React.useRef(false)\n\n const [showStickyBorder, setShowStickyBorder] = React.useState(false)\n const scrollableRef = React.useRef<HTMLDivElement>(null)\n\n const { instance } = useDataTableContext()\n\n const pageIndex = instance.pageIndex\n\n const columns = instance.getAllColumns()\n\n const hasSelect = columns.find((c) => c.id === \"select\")\n const hasActions = columns.find((c) => c.id === \"action\")\n\n // Create list of all column IDs for SortableContext\n // Use current order if available, otherwise use default order\n const sortableItems = React.useMemo(() => {\n if (instance.columnOrder && instance.columnOrder.length > 0) {\n return instance.columnOrder\n }\n return columns.map(col => col.id)\n }, [columns, instance.columnOrder])\n\n // Setup drag-and-drop sensors\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 8,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n })\n )\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event\n\n if (active.id !== over?.id && over?.id) {\n const activeId = active.id as string\n const overId = over.id as string\n\n // Don't allow dragging fixed columns\n if (activeId === \"select\" || activeId === \"action\") {\n return\n }\n\n // Don't allow dropping on fixed columns\n if (overId === \"select\" || overId === \"action\") {\n return\n }\n\n // Use the current column order from the instance\n const currentOrder = instance.columnOrder && instance.columnOrder.length > 0\n ? instance.columnOrder\n : columns.map(col => col.id)\n\n const oldIndex = currentOrder.indexOf(activeId)\n const newIndex = currentOrder.indexOf(overId)\n\n if (oldIndex !== -1 && newIndex !== -1) {\n const newOrder = arrayMove(currentOrder, oldIndex, newIndex)\n instance.setColumnOrderFromArray(newOrder)\n }\n }\n }\n\n React.useEffect(() => {\n const onKeyDownHandler = (event: KeyboardEvent) => {\n // If an editable element is focused, we don't want to select a row\n const isEditableElementFocused = getIsEditableElementFocused()\n\n if (\n event.key.toLowerCase() === \"x\" &&\n hoveredRowId &&\n !isKeyDown.current &&\n !isEditableElementFocused\n ) {\n isKeyDown.current = true\n\n const row = instance\n .getRowModel()\n .rows.find((r) => r.id === hoveredRowId.current)\n\n if (row && row.getCanSelect()) {\n row.toggleSelected()\n }\n }\n }\n\n const onKeyUpHandler = (event: KeyboardEvent) => {\n if (event.key.toLowerCase() === \"x\") {\n isKeyDown.current = false\n }\n }\n\n document.addEventListener(\"keydown\", onKeyDownHandler)\n document.addEventListener(\"keyup\", onKeyUpHandler)\n return () => {\n document.removeEventListener(\"keydown\", onKeyDownHandler)\n document.removeEventListener(\"keyup\", onKeyUpHandler)\n }\n }, [hoveredRowId, instance])\n\n const handleHorizontalScroll = (e: React.UIEvent<HTMLDivElement>) => {\n const scrollLeft = e.currentTarget.scrollLeft\n\n if (scrollLeft > 0) {\n setShowStickyBorder(true)\n } else {\n setShowStickyBorder(false)\n }\n }\n\n React.useEffect(() => {\n scrollableRef.current?.scroll({ top: 0, left: 0 })\n }, [pageIndex])\n\n if (instance.showSkeleton) {\n return <DataTableTableSkeleton pageSize={instance.pageSize} />\n }\n\n return (\n <div className=\"flex w-full flex-1 flex-col overflow-hidden\">\n {instance.emptyState === DataTableEmptyState.POPULATED && (\n instance.enableColumnOrder ? (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <div\n ref={scrollableRef}\n onScroll={handleHorizontalScroll}\n className=\"min-h-0 w-full flex-1 overflow-auto overscroll-none border-y\"\n >\n <Table className=\"relative isolate w-full\">\n <Table.Header\n className=\"shadow-ui-border-base sticky inset-x-0 top-0 z-[1] w-full border-b-0 border-t-0 shadow-[0_1px_1px_0]\"\n style={{ transform: \"translate3d(0,0,0)\" }}\n >\n {instance.getHeaderGroups().map((headerGroup) => (\n <Table.Row\n key={headerGroup.id}\n className={clx(\"border-b-0\", {\n \"[&_th:last-of-type]:w-[1%] [&_th:last-of-type]:whitespace-nowrap\":\n hasActions,\n \"[&_th:first-of-type]:w-[1%] [&_th:first-of-type]:whitespace-nowrap\":\n hasSelect,\n })}\n >\n <SortableContext\n items={sortableItems}\n strategy={horizontalListSortingStrategy}\n >\n {headerGroup.headers.map((header, idx) => {\n const canSort = header.column.getCanSort()\n const sortDirection = header.column.getIsSorted()\n const sortHandler = header.column.getToggleSortingHandler()\n\n const isActionHeader = header.id === \"action\"\n const isSelectHeader = header.id === \"select\"\n const isSpecialHeader = isActionHeader || isSelectHeader\n const isDraggable = !isSpecialHeader\n\n const Wrapper = canSort ? \"button\" : \"div\"\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n // Get header alignment from column metadata\n const headerAlign = (header.column.columnDef.meta as any)?.___alignMetaData?.headerAlign || 'left'\n const isRightAligned = headerAlign === 'right'\n const isCenterAligned = headerAlign === 'center'\n\n const HeaderCellComponent = isDraggable ? DataTableSortableHeaderCell : DataTableNonSortableHeaderCell\n\n return (\n <HeaderCellComponent\n key={header.id}\n id={header.id}\n isFirstColumn={isFirstColumn}\n className={clx(\"whitespace-nowrap\", {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectHeader,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionHeader,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"bg-ui-bg-subtle sticky\":\n isFirstColumn || isSelectHeader,\n \"left-0\":\n isSelectHeader || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n })}\n style={\n !isSpecialHeader\n ? {\n width: header.column.columnDef.size,\n maxWidth: header.column.columnDef.maxSize,\n minWidth: header.column.columnDef.minSize,\n }\n : undefined\n }\n >\n <Wrapper\n type={canSort ? \"button\" : undefined}\n onClick={canSort ? sortHandler : undefined}\n onMouseDown={canSort ? (e) => e.stopPropagation() : undefined}\n className={clx(\n \"group flex cursor-default items-center gap-2\",\n {\n \"cursor-pointer\": canSort,\n \"w-full\": isRightAligned || isCenterAligned,\n \"w-fit\": !isRightAligned && !isCenterAligned,\n \"justify-end\": isRightAligned,\n \"justify-center\": isCenterAligned,\n }\n )}\n >\n {canSort && isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n {canSort && !isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n </Wrapper>\n </HeaderCellComponent>\n )\n })}\n </SortableContext>\n </Table.Row>\n ))}\n </Table.Header>\n <Table.Body className=\"border-b-0 border-t-0\">\n {instance.getRowModel().rows.map((row) => {\n return (\n <Table.Row\n key={row.id}\n onMouseEnter={() => (hoveredRowId.current = row.id)}\n onMouseLeave={() => (hoveredRowId.current = null)}\n onClick={(e) => instance.onRowClick?.(e, row)}\n className={clx(\"group/row last-of-type:border-b-0\", {\n \"cursor-pointer\": !!instance.onRowClick,\n })}\n >\n {row.getVisibleCells().map((cell, idx) => {\n const isSelectCell = cell.column.id === \"select\"\n const isActionCell = cell.column.id === \"action\"\n const isSpecialCell = isSelectCell || isActionCell\n\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n return (\n <Table.Cell\n key={cell.id}\n className={clx(\n \"items-stretch truncate whitespace-nowrap\",\n {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectCell,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionCell,\n \"bg-ui-bg-base group-hover/row:bg-ui-bg-base-hover transition-fg sticky h-full\":\n isFirstColumn || isSelectCell,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"left-0\":\n isSelectCell || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n }\n )}\n style={\n !isSpecialCell\n ? {\n width: cell.column.columnDef.size,\n maxWidth: cell.column.columnDef.maxSize,\n minWidth: cell.column.columnDef.minSize,\n }\n : undefined\n }\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </Table.Cell>\n )\n })}\n </Table.Row>\n )\n })}\n </Table.Body>\n </Table>\n </div>\n </DndContext>\n ) : (\n <div\n ref={scrollableRef}\n onScroll={handleHorizontalScroll}\n className=\"min-h-0 w-full flex-1 overflow-auto overscroll-none border-y\"\n >\n <Table className=\"relative isolate w-full\">\n <Table.Header\n className=\"shadow-ui-border-base sticky inset-x-0 top-0 z-[1] w-full border-b-0 border-t-0 shadow-[0_1px_1px_0]\"\n style={{ transform: \"translate3d(0,0,0)\" }}\n >\n {instance.getHeaderGroups().map((headerGroup) => (\n <Table.Row\n key={headerGroup.id}\n className={clx(\"border-b-0\", {\n \"[&_th:last-of-type]:w-[1%] [&_th:last-of-type]:whitespace-nowrap\":\n hasActions,\n \"[&_th:first-of-type]:w-[1%] [&_th:first-of-type]:whitespace-nowrap\":\n hasSelect,\n })}\n >\n {headerGroup.headers.map((header, idx) => {\n const canSort = header.column.getCanSort()\n const sortDirection = header.column.getIsSorted()\n const sortHandler = header.column.getToggleSortingHandler()\n\n const isActionHeader = header.id === \"action\"\n const isSelectHeader = header.id === \"select\"\n const isSpecialHeader = isActionHeader || isSelectHeader\n\n const Wrapper = canSort ? \"button\" : \"div\"\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n // Get header alignment from column metadata\n const headerAlign = (header.column.columnDef.meta as any)?.___alignMetaData?.headerAlign || 'left'\n const isRightAligned = headerAlign === 'right'\n const isCenterAligned = headerAlign === 'center'\n\n return (\n <Table.HeaderCell\n key={header.id}\n className={clx(\"whitespace-nowrap\", {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectHeader,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionHeader,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"bg-ui-bg-subtle sticky\":\n isFirstColumn || isSelectHeader,\n \"left-0\":\n isSelectHeader || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n })}\n style={\n !isSpecialHeader\n ? {\n width: header.column.columnDef.size,\n maxWidth: header.column.columnDef.maxSize,\n minWidth: header.column.columnDef.minSize,\n }\n : undefined\n }\n >\n <Wrapper\n type={canSort ? \"button\" : undefined}\n onClick={canSort ? sortHandler : undefined}\n onMouseDown={canSort ? (e) => e.stopPropagation() : undefined}\n className={clx(\n \"group flex cursor-default items-center gap-2\",\n {\n \"cursor-pointer\": canSort,\n \"w-full\": isRightAligned || isCenterAligned,\n \"w-fit\": !isRightAligned && !isCenterAligned,\n \"justify-end\": isRightAligned,\n \"justify-center\": isCenterAligned,\n }\n )}\n >\n {canSort && isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n {canSort && !isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n </Wrapper>\n </Table.HeaderCell>\n )\n })}\n </Table.Row>\n ))}\n </Table.Header>\n <Table.Body className=\"border-b-0 border-t-0\">\n {instance.getRowModel().rows.map((row) => {\n return (\n <Table.Row\n key={row.id}\n onMouseEnter={() => (hoveredRowId.current = row.id)}\n onMouseLeave={() => (hoveredRowId.current = null)}\n onClick={(e) => instance.onRowClick?.(e, row)}\n className={clx(\"group/row last-of-type:border-b-0\", {\n \"cursor-pointer\": !!instance.onRowClick,\n })}\n >\n {row.getVisibleCells().map((cell, idx) => {\n const isSelectCell = cell.column.id === \"select\"\n const isActionCell = cell.column.id === \"action\"\n const isSpecialCell = isSelectCell || isActionCell\n\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n return (\n <Table.Cell\n key={cell.id}\n className={clx(\n \"items-stretch truncate whitespace-nowrap\",\n {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectCell,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionCell,\n \"bg-ui-bg-base group-hover/row:bg-ui-bg-base-hover transition-fg sticky h-full\":\n isFirstColumn || isSelectCell,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"left-0\":\n isSelectCell || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n }\n )}\n style={\n !isSpecialCell\n ? {\n width: cell.column.columnDef.size,\n maxWidth: cell.column.columnDef.maxSize,\n minWidth: cell.column.columnDef.minSize,\n }\n : undefined\n }\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </Table.Cell>\n )\n })}\n </Table.Row>\n )\n })}\n </Table.Body>\n </Table>\n </div>\n )\n )}\n <DataTableEmptyStateDisplay\n state={instance.emptyState}\n props={props.emptyState}\n />\n </div>\n )\n}\nDataTableTable.displayName = \"DataTable.Table\"\n\ninterface DataTableEmptyStateDisplayProps {\n state: DataTableEmptyState\n props?: DataTableEmptyStateProps\n}\n\nconst DefaultEmptyStateContent = ({\n heading,\n description,\n}: DataTableEmptyStateContent) => (\n <div className=\"flex size-full flex-col items-center justify-center gap-2\">\n <Text size=\"base\" weight=\"plus\">\n {heading}\n </Text>\n <Text>{description}</Text>\n </div>\n)\n\nconst DataTableEmptyStateDisplay = ({\n state,\n props,\n}: DataTableEmptyStateDisplayProps) => {\n if (state === DataTableEmptyState.POPULATED) {\n return null\n }\n\n const content =\n state === DataTableEmptyState.EMPTY ? props?.empty : props?.filtered\n\n return (\n <div className=\"flex min-h-[250px] w-full flex-1 flex-col items-center justify-center border-y px-6 py-4\">\n {content?.custom ?? (\n <DefaultEmptyStateContent\n heading={content?.heading}\n description={content?.description}\n />\n )}\n </div>\n )\n}\n\ninterface DataTableTableSkeletonProps {\n pageSize?: number\n}\n\nconst DataTableTableSkeleton = ({\n pageSize = 10,\n}: DataTableTableSkeletonProps) => {\n return (\n <div className=\"flex w-full flex-1 flex-col overflow-hidden\">\n <div className=\"min-h-0 w-full flex-1 overscroll-none border-y\">\n <div className=\"flex flex-col divide-y\">\n <Skeleton className=\"h-12 w-full\" />\n {Array.from({ length: pageSize }, (_, i) => i).map((row) => (\n <Skeleton key={row} className=\"h-12 w-full rounded-none\" />\n ))}\n </div>\n </div>\n </div>\n )\n}\n\nfunction getIsEditableElementFocused() {\n const activeElement = !!document ? document.activeElement : null\n const isEditableElementFocused =\n activeElement instanceof HTMLInputElement ||\n activeElement instanceof HTMLTextAreaElement ||\n activeElement?.getAttribute(\"contenteditable\") === \"true\"\n\n return isEditableElementFocused\n}\n\nexport { DataTableTable }\nexport type { DataTableEmptyStateProps, DataTableTableProps }\n"]}
|
1
|
+
{"version":3,"file":"data-table-table.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-table.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { Table } from \"@/components/table\"\nimport { flexRender } from \"@tanstack/react-table\"\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n DragEndEvent,\n} from \"@dnd-kit/core\"\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n horizontalListSortingStrategy,\n} from \"@dnd-kit/sortable\"\n\nimport { useDataTableContext } from \"@/blocks/data-table/context/use-data-table-context\"\nimport { Skeleton } from \"@/components/skeleton\"\nimport { Text } from \"@/components/text\"\nimport { clx } from \"@/utils/clx\"\nimport {\n DataTableEmptyState,\n DataTableEmptyStateContent,\n DataTableEmptyStateProps,\n} from \"../types\"\nimport { DataTableSortingIcon } from \"./data-table-sorting-icon\"\nimport { DataTableSortableHeaderCell } from \"./data-table-sortable-header-cell\"\nimport { DataTableNonSortableHeaderCell } from \"./data-table-non-sortable-header-cell\"\n\ninterface DataTableTableProps {\n /**\n * The empty state to display when the table is empty.\n */\n emptyState?: DataTableEmptyStateProps\n}\n\n/**\n * This component renders the table in a data table, supporting advanced features.\n */\nconst DataTableTable = (props: DataTableTableProps) => {\n const hoveredRowId = React.useRef<string | null>(null)\n const isKeyDown = React.useRef(false)\n\n const [showStickyBorder, setShowStickyBorder] = React.useState(false)\n const scrollableRef = React.useRef<HTMLDivElement>(null)\n\n const { instance } = useDataTableContext()\n\n const pageIndex = instance.pageIndex\n\n const columns = instance.getAllColumns()\n\n const hasSelect = columns.find((c) => c.id === \"select\")\n const hasActions = columns.find((c) => c.id === \"action\")\n\n // Create list of all column IDs for SortableContext\n // Use current order if available, otherwise use default order\n const sortableItems = React.useMemo(() => {\n if (instance.columnOrder && instance.columnOrder.length > 0) {\n return instance.columnOrder\n }\n return columns.map(col => col.id)\n }, [columns, instance.columnOrder])\n\n // Setup drag-and-drop sensors\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 8,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n })\n )\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event\n\n if (active.id !== over?.id && over?.id) {\n const activeId = active.id as string\n const overId = over.id as string\n\n // Don't allow dragging fixed columns\n if (activeId === \"select\" || activeId === \"action\") {\n return\n }\n\n // Don't allow dropping on fixed columns\n if (overId === \"select\" || overId === \"action\") {\n return\n }\n\n // Use the current column order from the instance\n const currentOrder = instance.columnOrder && instance.columnOrder.length > 0\n ? instance.columnOrder\n : columns.map(col => col.id)\n\n const oldIndex = currentOrder.indexOf(activeId)\n const newIndex = currentOrder.indexOf(overId)\n\n if (oldIndex !== -1 && newIndex !== -1) {\n const newOrder = arrayMove(currentOrder, oldIndex, newIndex)\n instance.setColumnOrderFromArray(newOrder)\n }\n }\n }\n\n React.useEffect(() => {\n const onKeyDownHandler = (event: KeyboardEvent) => {\n // If an editable element is focused, we don't want to select a row\n const isEditableElementFocused = getIsEditableElementFocused()\n\n if (\n event.key.toLowerCase() === \"x\" &&\n hoveredRowId &&\n !isKeyDown.current &&\n !isEditableElementFocused\n ) {\n isKeyDown.current = true\n\n const row = instance\n .getRowModel()\n .rows.find((r) => r.id === hoveredRowId.current)\n\n if (row && row.getCanSelect()) {\n row.toggleSelected()\n }\n }\n }\n\n const onKeyUpHandler = (event: KeyboardEvent) => {\n if (event.key.toLowerCase() === \"x\") {\n isKeyDown.current = false\n }\n }\n\n document.addEventListener(\"keydown\", onKeyDownHandler)\n document.addEventListener(\"keyup\", onKeyUpHandler)\n return () => {\n document.removeEventListener(\"keydown\", onKeyDownHandler)\n document.removeEventListener(\"keyup\", onKeyUpHandler)\n }\n }, [hoveredRowId, instance])\n\n const handleHorizontalScroll = (e: React.UIEvent<HTMLDivElement>) => {\n const scrollLeft = e.currentTarget.scrollLeft\n\n if (scrollLeft > 0) {\n setShowStickyBorder(true)\n } else {\n setShowStickyBorder(false)\n }\n }\n\n React.useEffect(() => {\n scrollableRef.current?.scroll({ top: 0, left: 0 })\n }, [pageIndex])\n\n if (instance.showSkeleton) {\n return <DataTableTableSkeleton pageSize={instance.pageSize} />\n }\n\n return (\n <div className=\"flex w-full flex-1 flex-col overflow-hidden\">\n {instance.emptyState === DataTableEmptyState.POPULATED && (\n instance.enableColumnOrder ? (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <div\n ref={scrollableRef}\n onScroll={handleHorizontalScroll}\n className=\"min-h-0 w-full flex-1 overflow-auto overscroll-none border-y\"\n >\n <Table className=\"relative isolate w-full\">\n <Table.Header\n className=\"shadow-ui-border-base sticky inset-x-0 top-0 z-[1] w-full border-b-0 border-t-0 shadow-[0_1px_1px_0]\"\n style={{ transform: \"translate3d(0,0,0)\" }}\n >\n {instance.getHeaderGroups().map((headerGroup) => (\n <Table.Row\n key={headerGroup.id}\n className={clx(\"border-b-0\", {\n \"[&_th:last-of-type]:w-[1%] [&_th:last-of-type]:whitespace-nowrap\":\n hasActions,\n \"[&_th:first-of-type]:w-[1%] [&_th:first-of-type]:whitespace-nowrap\":\n hasSelect,\n })}\n >\n <SortableContext\n items={sortableItems}\n strategy={horizontalListSortingStrategy}\n >\n {headerGroup.headers.map((header, idx) => {\n const canSort = header.column.getCanSort()\n const sortDirection = header.column.getIsSorted()\n const sortHandler = header.column.getToggleSortingHandler()\n\n const isActionHeader = header.id === \"action\"\n const isSelectHeader = header.id === \"select\"\n const isSpecialHeader = isActionHeader || isSelectHeader\n const isDraggable = !isSpecialHeader\n\n const Wrapper = canSort ? \"button\" : \"div\"\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n // Get header alignment from column metadata\n const headerAlign = (header.column.columnDef.meta as any)?.___alignMetaData?.headerAlign || 'left'\n const isRightAligned = headerAlign === 'right'\n const isCenterAligned = headerAlign === 'center'\n\n const HeaderCellComponent = isDraggable ? DataTableSortableHeaderCell : DataTableNonSortableHeaderCell\n\n return (\n <HeaderCellComponent\n key={header.id}\n id={header.id}\n isFirstColumn={isFirstColumn}\n className={clx(\"whitespace-nowrap\", {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectHeader,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionHeader,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"bg-ui-bg-subtle sticky\":\n isFirstColumn || isSelectHeader,\n \"left-0\":\n isSelectHeader || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n })}\n style={\n !isSpecialHeader\n ? {\n width: header.column.columnDef.size,\n maxWidth: header.column.columnDef.maxSize,\n minWidth: header.column.columnDef.minSize,\n }\n : undefined\n }\n >\n <Wrapper\n type={canSort ? \"button\" : undefined}\n onClick={canSort ? sortHandler : undefined}\n onMouseDown={canSort ? (e) => e.stopPropagation() : undefined}\n className={clx(\n \"group flex cursor-default items-center gap-2\",\n {\n \"cursor-pointer\": canSort,\n \"w-full\": isRightAligned || isCenterAligned,\n \"w-fit\": !isRightAligned && !isCenterAligned,\n \"justify-end\": isRightAligned,\n \"justify-center\": isCenterAligned,\n }\n )}\n >\n {canSort && isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n {canSort && !isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n </Wrapper>\n </HeaderCellComponent>\n )\n })}\n </SortableContext>\n </Table.Row>\n ))}\n </Table.Header>\n <Table.Body className=\"border-b-0 border-t-0\">\n {instance.getRowModel().rows.map((row) => {\n return (\n <Table.Row\n key={row.id}\n onMouseEnter={() => (hoveredRowId.current = row.id)}\n onMouseLeave={() => (hoveredRowId.current = null)}\n onClick={(e) => instance.onRowClick?.(e, row)}\n className={clx(\"group/row last-of-type:border-b-0\", {\n \"cursor-pointer\": !!instance.onRowClick,\n })}\n >\n {row.getVisibleCells().map((cell, idx) => {\n const isSelectCell = cell.column.id === \"select\"\n const isActionCell = cell.column.id === \"action\"\n const isSpecialCell = isSelectCell || isActionCell\n\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n return (\n <Table.Cell\n key={cell.id}\n className={clx(\n \"items-stretch truncate whitespace-nowrap\",\n {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectCell,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionCell,\n \"bg-ui-bg-base group-hover/row:bg-ui-bg-base-hover transition-fg sticky h-full\":\n isFirstColumn || isSelectCell,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"left-0\":\n isSelectCell || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n }\n )}\n style={\n !isSpecialCell\n ? {\n width: cell.column.columnDef.size,\n maxWidth: cell.column.columnDef.maxSize,\n minWidth: cell.column.columnDef.minSize,\n }\n : undefined\n }\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </Table.Cell>\n )\n })}\n </Table.Row>\n )\n })}\n </Table.Body>\n </Table>\n </div>\n </DndContext>\n ) : (\n <div\n ref={scrollableRef}\n onScroll={handleHorizontalScroll}\n className=\"min-h-0 w-full flex-1 overflow-auto overscroll-none border-y\"\n >\n <Table className=\"relative isolate w-full\">\n <Table.Header\n className=\"shadow-ui-border-base sticky inset-x-0 top-0 z-[1] w-full border-b-0 border-t-0 shadow-[0_1px_1px_0]\"\n style={{ transform: \"translate3d(0,0,0)\" }}\n >\n {instance.getHeaderGroups().map((headerGroup) => (\n <Table.Row\n key={headerGroup.id}\n className={clx(\"border-b-0\", {\n \"[&_th:last-of-type]:w-[1%] [&_th:last-of-type]:whitespace-nowrap\":\n hasActions,\n \"[&_th:first-of-type]:w-[1%] [&_th:first-of-type]:whitespace-nowrap\":\n hasSelect,\n })}\n >\n {headerGroup.headers.map((header, idx) => {\n const canSort = header.column.getCanSort()\n const sortDirection = header.column.getIsSorted()\n const sortHandler = header.column.getToggleSortingHandler()\n\n const isActionHeader = header.id === \"action\"\n const isSelectHeader = header.id === \"select\"\n const isSpecialHeader = isActionHeader || isSelectHeader\n\n const Wrapper = canSort ? \"button\" : \"div\"\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n // Get header alignment from column metadata\n const headerAlign = (header.column.columnDef.meta as any)?.___alignMetaData?.headerAlign || 'left'\n const isRightAligned = headerAlign === 'right'\n const isCenterAligned = headerAlign === 'center'\n\n return (\n <Table.HeaderCell\n key={header.id}\n className={clx(\"whitespace-nowrap\", {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectHeader,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionHeader,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"bg-ui-bg-subtle sticky\":\n isFirstColumn || isSelectHeader,\n \"left-0\":\n isSelectHeader || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n })}\n style={\n !isSpecialHeader\n ? {\n width: header.column.columnDef.size,\n maxWidth: header.column.columnDef.maxSize,\n minWidth: header.column.columnDef.minSize,\n }\n : undefined\n }\n >\n <Wrapper\n type={canSort ? \"button\" : undefined}\n onClick={canSort ? sortHandler : undefined}\n onMouseDown={canSort ? (e) => e.stopPropagation() : undefined}\n className={clx(\n \"group flex cursor-default items-center gap-2\",\n {\n \"cursor-pointer\": canSort,\n \"w-full\": isRightAligned || isCenterAligned,\n \"w-fit\": !isRightAligned && !isCenterAligned,\n \"justify-end\": isRightAligned,\n \"justify-center\": isCenterAligned,\n }\n )}\n >\n {canSort && isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n {canSort && !isRightAligned && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n </Wrapper>\n </Table.HeaderCell>\n )\n })}\n </Table.Row>\n ))}\n </Table.Header>\n <Table.Body className=\"border-b-0 border-t-0\">\n {instance.getRowModel().rows.map((row) => {\n return (\n <Table.Row\n key={row.id}\n onMouseEnter={() => (hoveredRowId.current = row.id)}\n onMouseLeave={() => (hoveredRowId.current = null)}\n onClick={(e) => instance.onRowClick?.(e, row)}\n className={clx(\"group/row last-of-type:border-b-0\", {\n \"cursor-pointer\": !!instance.onRowClick,\n })}\n >\n {row.getVisibleCells().map((cell, idx) => {\n const isSelectCell = cell.column.id === \"select\"\n const isActionCell = cell.column.id === \"action\"\n const isSpecialCell = isSelectCell || isActionCell\n\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n return (\n <Table.Cell\n key={cell.id}\n className={clx(\n \"items-stretch truncate whitespace-nowrap\",\n {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectCell,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionCell,\n \"bg-ui-bg-base group-hover/row:bg-ui-bg-base-hover transition-fg sticky h-full\":\n isFirstColumn || isSelectCell,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"left-0\":\n isSelectCell || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n }\n )}\n style={\n !isSpecialCell\n ? {\n width: cell.column.columnDef.size,\n maxWidth: cell.column.columnDef.maxSize,\n minWidth: cell.column.columnDef.minSize,\n }\n : undefined\n }\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </Table.Cell>\n )\n })}\n </Table.Row>\n )\n })}\n </Table.Body>\n </Table>\n </div>\n )\n )}\n <DataTableEmptyStateDisplay\n state={instance.emptyState}\n props={props.emptyState}\n />\n </div>\n )\n}\nDataTableTable.displayName = \"DataTable.Table\"\n\ninterface DataTableEmptyStateDisplayProps {\n state: DataTableEmptyState\n props?: DataTableEmptyStateProps\n}\n\nconst DefaultEmptyStateContent = ({\n heading,\n description,\n}: DataTableEmptyStateContent) => (\n <div className=\"flex size-full flex-col items-center justify-center gap-2\">\n <Text size=\"base\" weight=\"plus\">\n {heading}\n </Text>\n <Text>{description}</Text>\n </div>\n)\n\nconst DataTableEmptyStateDisplay = ({\n state,\n props,\n}: DataTableEmptyStateDisplayProps) => {\n if (state === DataTableEmptyState.POPULATED) {\n return null\n }\n\n const content =\n state === DataTableEmptyState.EMPTY ? props?.empty : props?.filtered\n\n return (\n <div className=\"flex min-h-[250px] w-full flex-1 flex-col items-center justify-center border-y px-6 py-4\">\n {content?.custom ?? (\n <DefaultEmptyStateContent\n heading={content?.heading}\n description={content?.description}\n />\n )}\n </div>\n )\n}\n\ninterface DataTableTableSkeletonProps {\n pageSize?: number\n}\n\nconst DataTableTableSkeleton = ({\n pageSize = 10,\n}: DataTableTableSkeletonProps) => {\n return (\n <div className=\"flex w-full flex-1 flex-col overflow-hidden\">\n <div className=\"min-h-0 w-full flex-1 overscroll-none border-y\">\n <div className=\"flex flex-col divide-y\">\n <Skeleton className=\"h-12 w-full\" />\n {Array.from({ length: pageSize }, (_, i) => i).map((row) => (\n <Skeleton key={row} className=\"h-12 w-full rounded-none\" />\n ))}\n </div>\n </div>\n </div>\n )\n}\n\nfunction getIsEditableElementFocused() {\n const activeElement = !!document ? document.activeElement : null\n const isEditableElementFocused =\n activeElement instanceof HTMLInputElement ||\n activeElement instanceof HTMLTextAreaElement ||\n activeElement?.getAttribute(\"contenteditable\") === \"true\"\n\n return isEditableElementFocused\n}\n\nexport { DataTableTable }\nexport type { DataTableEmptyStateProps, DataTableTableProps }\n"]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@medusajs/ui",
|
3
|
-
"version": "4.0.22-preview-
|
3
|
+
"version": "4.0.22-preview-20250901180147",
|
4
4
|
"author": "Kasper Kristensen <kasper@medusajs.com>",
|
5
5
|
"license": "MIT",
|
6
6
|
"repository": {
|
@@ -43,7 +43,7 @@
|
|
43
43
|
},
|
44
44
|
"devDependencies": {
|
45
45
|
"@faker-js/faker": "^9.2.0",
|
46
|
-
"@medusajs/ui-preset": "2.10.2-preview-
|
46
|
+
"@medusajs/ui-preset": "2.10.2-preview-20250901180147",
|
47
47
|
"@storybook/addon-essentials": "^8.3.5",
|
48
48
|
"@storybook/addon-interactions": "^8.3.5",
|
49
49
|
"@storybook/addon-links": "^8.3.5",
|
@@ -84,7 +84,7 @@
|
|
84
84
|
"@dnd-kit/core": "^6.0.0",
|
85
85
|
"@dnd-kit/sortable": "^7.0.0",
|
86
86
|
"@dnd-kit/utilities": "^3.2.0",
|
87
|
-
"@medusajs/icons": "2.10.2-preview-
|
87
|
+
"@medusajs/icons": "2.10.2-preview-20250901180147",
|
88
88
|
"@tanstack/react-table": "8.20.5",
|
89
89
|
"clsx": "^1.2.1",
|
90
90
|
"copy-to-clipboard": "^3.3.3",
|