@salt-ds/data-grid 0.0.0-snapshot-20230620094559
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/BaseCell.css.js +6 -0
- package/dist-cjs/BaseCell.css.js.map +1 -0
- package/dist-cjs/BaseCell.js +116 -0
- package/dist-cjs/BaseCell.js.map +1 -0
- package/dist-cjs/CellEditor.js +29 -0
- package/dist-cjs/CellEditor.js.map +1 -0
- package/dist-cjs/CheckboxCell.css.js +6 -0
- package/dist-cjs/CheckboxCell.css.js.map +1 -0
- package/dist-cjs/ColumnDataContext.js +18 -0
- package/dist-cjs/ColumnDataContext.js.map +1 -0
- package/dist-cjs/ColumnDragContext.js +20 -0
- package/dist-cjs/ColumnDragContext.js.map +1 -0
- package/dist-cjs/ColumnGroup.js +32 -0
- package/dist-cjs/ColumnGroup.js.map +1 -0
- package/dist-cjs/ColumnSortContext.js +20 -0
- package/dist-cjs/ColumnSortContext.js.map +1 -0
- package/dist-cjs/CornerTag.css.js +6 -0
- package/dist-cjs/CornerTag.css.js.map +1 -0
- package/dist-cjs/CornerTag.js +23 -0
- package/dist-cjs/CornerTag.js.map +1 -0
- package/dist-cjs/CursorContext.js +20 -0
- package/dist-cjs/CursorContext.js.map +1 -0
- package/dist-cjs/DropdownCellEditor.css.js +6 -0
- package/dist-cjs/DropdownCellEditor.css.js.map +1 -0
- package/dist-cjs/DropdownCellEditor.js +82 -0
- package/dist-cjs/DropdownCellEditor.js.map +1 -0
- package/dist-cjs/EditorContext.js +20 -0
- package/dist-cjs/EditorContext.js.map +1 -0
- package/dist-cjs/Grid.css.js +6 -0
- package/dist-cjs/Grid.css.js.map +1 -0
- package/dist-cjs/Grid.js +1026 -0
- package/dist-cjs/Grid.js.map +1 -0
- package/dist-cjs/GridColumn.js +43 -0
- package/dist-cjs/GridColumn.js.map +1 -0
- package/dist-cjs/GridContext.js +20 -0
- package/dist-cjs/GridContext.js.map +1 -0
- package/dist-cjs/GroupHeaderCell.css.js +6 -0
- package/dist-cjs/GroupHeaderCell.css.js.map +1 -0
- package/dist-cjs/GroupHeaderCell.js +54 -0
- package/dist-cjs/GroupHeaderCell.js.map +1 -0
- package/dist-cjs/GroupHeaderCellValue.js +16 -0
- package/dist-cjs/GroupHeaderCellValue.js.map +1 -0
- package/dist-cjs/HeaderCell.css.js +6 -0
- package/dist-cjs/HeaderCell.css.js.map +1 -0
- package/dist-cjs/HeaderCell.js +187 -0
- package/dist-cjs/HeaderCell.js.map +1 -0
- package/dist-cjs/HeaderCellValue.js +19 -0
- package/dist-cjs/HeaderCellValue.js.map +1 -0
- package/dist-cjs/LayoutContext.js +12 -0
- package/dist-cjs/LayoutContext.js.map +1 -0
- package/dist-cjs/NumberRange.js +63 -0
- package/dist-cjs/NumberRange.js.map +1 -0
- package/dist-cjs/NumericColumn.css.js +6 -0
- package/dist-cjs/NumericColumn.css.js.map +1 -0
- package/dist-cjs/NumericColumn.js +127 -0
- package/dist-cjs/NumericColumn.js.map +1 -0
- package/dist-cjs/RowSelectionCheckboxCellValue.js +45 -0
- package/dist-cjs/RowSelectionCheckboxCellValue.js.map +1 -0
- package/dist-cjs/RowSelectionCheckboxColumn.js +39 -0
- package/dist-cjs/RowSelectionCheckboxColumn.js.map +1 -0
- package/dist-cjs/RowSelectionCheckboxHeaderCellValue.js +56 -0
- package/dist-cjs/RowSelectionCheckboxHeaderCellValue.js.map +1 -0
- package/dist-cjs/RowSelectionRadioCellValue.js +33 -0
- package/dist-cjs/RowSelectionRadioCellValue.js.map +1 -0
- package/dist-cjs/RowSelectionRadioColumn.js +34 -0
- package/dist-cjs/RowSelectionRadioColumn.js.map +1 -0
- package/dist-cjs/RowSelectionRadioHeaderCell.js +30 -0
- package/dist-cjs/RowSelectionRadioHeaderCell.js.map +1 -0
- package/dist-cjs/RowValidationStatus.js +13 -0
- package/dist-cjs/RowValidationStatus.js.map +1 -0
- package/dist-cjs/SelectionContext.js +20 -0
- package/dist-cjs/SelectionContext.js.map +1 -0
- package/dist-cjs/SizingContext.js +20 -0
- package/dist-cjs/SizingContext.js.map +1 -0
- package/dist-cjs/TextCellEditor.css.js +6 -0
- package/dist-cjs/TextCellEditor.css.js.map +1 -0
- package/dist-cjs/TextCellEditor.js +104 -0
- package/dist-cjs/TextCellEditor.js.map +1 -0
- package/dist-cjs/index.js +60 -0
- package/dist-cjs/index.js.map +1 -0
- package/dist-cjs/internal/Cell.css.js +6 -0
- package/dist-cjs/internal/Cell.css.js.map +1 -0
- package/dist-cjs/internal/Cell.js +63 -0
- package/dist-cjs/internal/Cell.js.map +1 -0
- package/dist-cjs/internal/CellMeasure.css.js +6 -0
- package/dist-cjs/internal/CellMeasure.css.js.map +1 -0
- package/dist-cjs/internal/CellMeasure.js +49 -0
- package/dist-cjs/internal/CellMeasure.js.map +1 -0
- package/dist-cjs/internal/CellStatusIcons.js +46 -0
- package/dist-cjs/internal/CellStatusIcons.js.map +1 -0
- package/dist-cjs/internal/ColumnDropTarget.css.js +6 -0
- package/dist-cjs/internal/ColumnDropTarget.css.js.map +1 -0
- package/dist-cjs/internal/ColumnDropTarget.js +36 -0
- package/dist-cjs/internal/ColumnDropTarget.js.map +1 -0
- package/dist-cjs/internal/ColumnGhost.css.js +6 -0
- package/dist-cjs/internal/ColumnGhost.css.js.map +1 -0
- package/dist-cjs/internal/ColumnGhost.js +59 -0
- package/dist-cjs/internal/ColumnGhost.js.map +1 -0
- package/dist-cjs/internal/Cursor.css.js +6 -0
- package/dist-cjs/internal/Cursor.css.js.map +1 -0
- package/dist-cjs/internal/Cursor.js +25 -0
- package/dist-cjs/internal/Cursor.js.map +1 -0
- package/dist-cjs/internal/DefaultCellValue.css.js +6 -0
- package/dist-cjs/internal/DefaultCellValue.css.js.map +1 -0
- package/dist-cjs/internal/DefaultCellValue.js +30 -0
- package/dist-cjs/internal/DefaultCellValue.js.map +1 -0
- package/dist-cjs/internal/FakeCell.css.js +6 -0
- package/dist-cjs/internal/FakeCell.css.js.map +1 -0
- package/dist-cjs/internal/FakeCell.js +27 -0
- package/dist-cjs/internal/FakeCell.js.map +1 -0
- package/dist-cjs/internal/FakeGroupCell.js +12 -0
- package/dist-cjs/internal/FakeGroupCell.js.map +1 -0
- package/dist-cjs/internal/FakeHeaderCell.js +14 -0
- package/dist-cjs/internal/FakeHeaderCell.js.map +1 -0
- package/dist-cjs/internal/GroupHeaderRow.css.js +6 -0
- package/dist-cjs/internal/GroupHeaderRow.css.js.map +1 -0
- package/dist-cjs/internal/GroupHeaderRow.js +46 -0
- package/dist-cjs/internal/GroupHeaderRow.js.map +1 -0
- package/dist-cjs/internal/HeaderRow.css.js +6 -0
- package/dist-cjs/internal/HeaderRow.css.js.map +1 -0
- package/dist-cjs/internal/HeaderRow.js +50 -0
- package/dist-cjs/internal/HeaderRow.js.map +1 -0
- package/dist-cjs/internal/LeftPart.css.js +6 -0
- package/dist-cjs/internal/LeftPart.css.js.map +1 -0
- package/dist-cjs/internal/LeftPart.js +68 -0
- package/dist-cjs/internal/LeftPart.js.map +1 -0
- package/dist-cjs/internal/MiddlePart.css.js +6 -0
- package/dist-cjs/internal/MiddlePart.css.js.map +1 -0
- package/dist-cjs/internal/MiddlePart.js +64 -0
- package/dist-cjs/internal/MiddlePart.js.map +1 -0
- package/dist-cjs/internal/RightPart.css.js +6 -0
- package/dist-cjs/internal/RightPart.css.js.map +1 -0
- package/dist-cjs/internal/RightPart.js +68 -0
- package/dist-cjs/internal/RightPart.js.map +1 -0
- package/dist-cjs/internal/Scrollable.css.js +6 -0
- package/dist-cjs/internal/Scrollable.css.js.map +1 -0
- package/dist-cjs/internal/Scrollable.js +103 -0
- package/dist-cjs/internal/Scrollable.js.map +1 -0
- package/dist-cjs/internal/TableBody.js +77 -0
- package/dist-cjs/internal/TableBody.js.map +1 -0
- package/dist-cjs/internal/TableColGroup.js +37 -0
- package/dist-cjs/internal/TableColGroup.js.map +1 -0
- package/dist-cjs/internal/TableRow.css.js +6 -0
- package/dist-cjs/internal/TableRow.css.js.map +1 -0
- package/dist-cjs/internal/TableRow.js +125 -0
- package/dist-cjs/internal/TableRow.js.map +1 -0
- package/dist-cjs/internal/TopLeftPart.css.js +6 -0
- package/dist-cjs/internal/TopLeftPart.css.js.map +1 -0
- package/dist-cjs/internal/TopLeftPart.js +58 -0
- package/dist-cjs/internal/TopLeftPart.js.map +1 -0
- package/dist-cjs/internal/TopPart.css.js +6 -0
- package/dist-cjs/internal/TopPart.css.js.map +1 -0
- package/dist-cjs/internal/TopPart.js +61 -0
- package/dist-cjs/internal/TopPart.js.map +1 -0
- package/dist-cjs/internal/TopRightPart.css.js +6 -0
- package/dist-cjs/internal/TopRightPart.css.js.map +1 -0
- package/dist-cjs/internal/TopRightPart.js +59 -0
- package/dist-cjs/internal/TopRightPart.js.map +1 -0
- package/dist-cjs/internal/gridHooks.js +916 -0
- package/dist-cjs/internal/gridHooks.js.map +1 -0
- package/dist-cjs/internal/utils.js +71 -0
- package/dist-cjs/internal/utils.js.map +1 -0
- package/dist-es/BaseCell.css.js +4 -0
- package/dist-es/BaseCell.css.js.map +1 -0
- package/dist-es/BaseCell.js +111 -0
- package/dist-es/BaseCell.js.map +1 -0
- package/dist-es/CellEditor.js +25 -0
- package/dist-es/CellEditor.js.map +1 -0
- package/dist-es/CheckboxCell.css.js +4 -0
- package/dist-es/CheckboxCell.css.js.map +1 -0
- package/dist-es/ColumnDataContext.js +13 -0
- package/dist-es/ColumnDataContext.js.map +1 -0
- package/dist-es/ColumnDragContext.js +15 -0
- package/dist-es/ColumnDragContext.js.map +1 -0
- package/dist-es/ColumnGroup.js +28 -0
- package/dist-es/ColumnGroup.js.map +1 -0
- package/dist-es/ColumnSortContext.js +15 -0
- package/dist-es/ColumnSortContext.js.map +1 -0
- package/dist-es/CornerTag.css.js +4 -0
- package/dist-es/CornerTag.css.js.map +1 -0
- package/dist-es/CornerTag.js +19 -0
- package/dist-es/CornerTag.js.map +1 -0
- package/dist-es/CursorContext.js +15 -0
- package/dist-es/CursorContext.js.map +1 -0
- package/dist-es/DropdownCellEditor.css.js +4 -0
- package/dist-es/DropdownCellEditor.css.js.map +1 -0
- package/dist-es/DropdownCellEditor.js +78 -0
- package/dist-es/DropdownCellEditor.js.map +1 -0
- package/dist-es/EditorContext.js +15 -0
- package/dist-es/EditorContext.js.map +1 -0
- package/dist-es/Grid.css.js +4 -0
- package/dist-es/Grid.css.js.map +1 -0
- package/dist-es/Grid.js +1021 -0
- package/dist-es/Grid.js.map +1 -0
- package/dist-es/GridColumn.js +39 -0
- package/dist-es/GridColumn.js.map +1 -0
- package/dist-es/GridContext.js +15 -0
- package/dist-es/GridContext.js.map +1 -0
- package/dist-es/GroupHeaderCell.css.js +4 -0
- package/dist-es/GroupHeaderCell.css.js.map +1 -0
- package/dist-es/GroupHeaderCell.js +50 -0
- package/dist-es/GroupHeaderCell.js.map +1 -0
- package/dist-es/GroupHeaderCellValue.js +12 -0
- package/dist-es/GroupHeaderCellValue.js.map +1 -0
- package/dist-es/HeaderCell.css.js +4 -0
- package/dist-es/HeaderCell.css.js.map +1 -0
- package/dist-es/HeaderCell.js +181 -0
- package/dist-es/HeaderCell.js.map +1 -0
- package/dist-es/HeaderCellValue.js +15 -0
- package/dist-es/HeaderCellValue.js.map +1 -0
- package/dist-es/LayoutContext.js +8 -0
- package/dist-es/LayoutContext.js.map +1 -0
- package/dist-es/NumberRange.js +58 -0
- package/dist-es/NumberRange.js.map +1 -0
- package/dist-es/NumericColumn.css.js +4 -0
- package/dist-es/NumericColumn.css.js.map +1 -0
- package/dist-es/NumericColumn.js +121 -0
- package/dist-es/NumericColumn.js.map +1 -0
- package/dist-es/RowSelectionCheckboxCellValue.js +41 -0
- package/dist-es/RowSelectionCheckboxCellValue.js.map +1 -0
- package/dist-es/RowSelectionCheckboxColumn.js +35 -0
- package/dist-es/RowSelectionCheckboxColumn.js.map +1 -0
- package/dist-es/RowSelectionCheckboxHeaderCellValue.js +52 -0
- package/dist-es/RowSelectionCheckboxHeaderCellValue.js.map +1 -0
- package/dist-es/RowSelectionRadioCellValue.js +29 -0
- package/dist-es/RowSelectionRadioCellValue.js.map +1 -0
- package/dist-es/RowSelectionRadioColumn.js +30 -0
- package/dist-es/RowSelectionRadioColumn.js.map +1 -0
- package/dist-es/RowSelectionRadioHeaderCell.js +26 -0
- package/dist-es/RowSelectionRadioHeaderCell.js.map +1 -0
- package/dist-es/RowValidationStatus.js +9 -0
- package/dist-es/RowValidationStatus.js.map +1 -0
- package/dist-es/SelectionContext.js +15 -0
- package/dist-es/SelectionContext.js.map +1 -0
- package/dist-es/SizingContext.js +15 -0
- package/dist-es/SizingContext.js.map +1 -0
- package/dist-es/TextCellEditor.css.js +4 -0
- package/dist-es/TextCellEditor.css.js.map +1 -0
- package/dist-es/TextCellEditor.js +100 -0
- package/dist-es/TextCellEditor.js.map +1 -0
- package/dist-es/index.js +22 -0
- package/dist-es/index.js.map +1 -0
- package/dist-es/internal/Cell.css.js +4 -0
- package/dist-es/internal/Cell.css.js.map +1 -0
- package/dist-es/internal/Cell.js +59 -0
- package/dist-es/internal/Cell.js.map +1 -0
- package/dist-es/internal/CellMeasure.css.js +4 -0
- package/dist-es/internal/CellMeasure.css.js.map +1 -0
- package/dist-es/internal/CellMeasure.js +45 -0
- package/dist-es/internal/CellMeasure.js.map +1 -0
- package/dist-es/internal/CellStatusIcons.js +40 -0
- package/dist-es/internal/CellStatusIcons.js.map +1 -0
- package/dist-es/internal/ColumnDropTarget.css.js +4 -0
- package/dist-es/internal/ColumnDropTarget.css.js.map +1 -0
- package/dist-es/internal/ColumnDropTarget.js +32 -0
- package/dist-es/internal/ColumnDropTarget.js.map +1 -0
- package/dist-es/internal/ColumnGhost.css.js +4 -0
- package/dist-es/internal/ColumnGhost.css.js.map +1 -0
- package/dist-es/internal/ColumnGhost.js +55 -0
- package/dist-es/internal/ColumnGhost.js.map +1 -0
- package/dist-es/internal/Cursor.css.js +4 -0
- package/dist-es/internal/Cursor.css.js.map +1 -0
- package/dist-es/internal/Cursor.js +21 -0
- package/dist-es/internal/Cursor.js.map +1 -0
- package/dist-es/internal/DefaultCellValue.css.js +4 -0
- package/dist-es/internal/DefaultCellValue.css.js.map +1 -0
- package/dist-es/internal/DefaultCellValue.js +26 -0
- package/dist-es/internal/DefaultCellValue.js.map +1 -0
- package/dist-es/internal/FakeCell.css.js +4 -0
- package/dist-es/internal/FakeCell.css.js.map +1 -0
- package/dist-es/internal/FakeCell.js +23 -0
- package/dist-es/internal/FakeCell.js.map +1 -0
- package/dist-es/internal/FakeGroupCell.js +8 -0
- package/dist-es/internal/FakeGroupCell.js.map +1 -0
- package/dist-es/internal/FakeHeaderCell.js +10 -0
- package/dist-es/internal/FakeHeaderCell.js.map +1 -0
- package/dist-es/internal/GroupHeaderRow.css.js +4 -0
- package/dist-es/internal/GroupHeaderRow.css.js.map +1 -0
- package/dist-es/internal/GroupHeaderRow.js +42 -0
- package/dist-es/internal/GroupHeaderRow.js.map +1 -0
- package/dist-es/internal/HeaderRow.css.js +4 -0
- package/dist-es/internal/HeaderRow.css.js.map +1 -0
- package/dist-es/internal/HeaderRow.js +46 -0
- package/dist-es/internal/HeaderRow.js.map +1 -0
- package/dist-es/internal/LeftPart.css.js +4 -0
- package/dist-es/internal/LeftPart.css.js.map +1 -0
- package/dist-es/internal/LeftPart.js +64 -0
- package/dist-es/internal/LeftPart.js.map +1 -0
- package/dist-es/internal/MiddlePart.css.js +4 -0
- package/dist-es/internal/MiddlePart.css.js.map +1 -0
- package/dist-es/internal/MiddlePart.js +60 -0
- package/dist-es/internal/MiddlePart.js.map +1 -0
- package/dist-es/internal/RightPart.css.js +4 -0
- package/dist-es/internal/RightPart.css.js.map +1 -0
- package/dist-es/internal/RightPart.js +64 -0
- package/dist-es/internal/RightPart.js.map +1 -0
- package/dist-es/internal/Scrollable.css.js +4 -0
- package/dist-es/internal/Scrollable.css.js.map +1 -0
- package/dist-es/internal/Scrollable.js +99 -0
- package/dist-es/internal/Scrollable.js.map +1 -0
- package/dist-es/internal/TableBody.js +73 -0
- package/dist-es/internal/TableBody.js.map +1 -0
- package/dist-es/internal/TableColGroup.js +32 -0
- package/dist-es/internal/TableColGroup.js.map +1 -0
- package/dist-es/internal/TableRow.css.js +4 -0
- package/dist-es/internal/TableRow.css.js.map +1 -0
- package/dist-es/internal/TableRow.js +121 -0
- package/dist-es/internal/TableRow.js.map +1 -0
- package/dist-es/internal/TopLeftPart.css.js +4 -0
- package/dist-es/internal/TopLeftPart.css.js.map +1 -0
- package/dist-es/internal/TopLeftPart.js +54 -0
- package/dist-es/internal/TopLeftPart.js.map +1 -0
- package/dist-es/internal/TopPart.css.js +4 -0
- package/dist-es/internal/TopPart.css.js.map +1 -0
- package/dist-es/internal/TopPart.js +57 -0
- package/dist-es/internal/TopPart.js.map +1 -0
- package/dist-es/internal/TopRightPart.css.js +4 -0
- package/dist-es/internal/TopRightPart.css.js.map +1 -0
- package/dist-es/internal/TopRightPart.js +55 -0
- package/dist-es/internal/TopRightPart.js.map +1 -0
- package/dist-es/internal/gridHooks.js +886 -0
- package/dist-es/internal/gridHooks.js.map +1 -0
- package/dist-es/internal/utils.js +61 -0
- package/dist-es/internal/utils.js.map +1 -0
- package/dist-types/BaseCell.d.ts +5 -0
- package/dist-types/CellEditor.d.ts +10 -0
- package/dist-types/ColumnDataContext.d.ts +7 -0
- package/dist-types/ColumnDragContext.d.ts +7 -0
- package/dist-types/ColumnGroup.d.ts +18 -0
- package/dist-types/ColumnSortContext.d.ts +12 -0
- package/dist-types/CornerTag.d.ts +5 -0
- package/dist-types/CursorContext.d.ts +12 -0
- package/dist-types/DropdownCellEditor.d.ts +8 -0
- package/dist-types/EditorContext.d.ts +10 -0
- package/dist-types/Grid.d.ts +104 -0
- package/dist-types/GridColumn.d.ts +165 -0
- package/dist-types/GridContext.d.ts +16 -0
- package/dist-types/GroupHeaderCell.d.ts +7 -0
- package/dist-types/GroupHeaderCellValue.d.ts +3 -0
- package/dist-types/HeaderCell.d.ts +9 -0
- package/dist-types/HeaderCellValue.d.ts +3 -0
- package/dist-types/LayoutContext.d.ts +9 -0
- package/dist-types/NumberRange.d.ts +15 -0
- package/dist-types/NumericColumn.d.ts +14 -0
- package/dist-types/RowSelectionCheckboxCellValue.d.ts +3 -0
- package/dist-types/RowSelectionCheckboxColumn.d.ts +4 -0
- package/dist-types/RowSelectionCheckboxHeaderCellValue.d.ts +3 -0
- package/dist-types/RowSelectionRadioCellValue.d.ts +3 -0
- package/dist-types/RowSelectionRadioColumn.d.ts +4 -0
- package/dist-types/RowSelectionRadioHeaderCell.d.ts +3 -0
- package/dist-types/RowValidationStatus.d.ts +7 -0
- package/dist-types/SelectionContext.d.ts +13 -0
- package/dist-types/SizingContext.d.ts +8 -0
- package/dist-types/TextCellEditor.d.ts +7 -0
- package/dist-types/index.d.ts +21 -0
- package/dist-types/internal/Cell.d.ts +8 -0
- package/dist-types/internal/CellMeasure.d.ts +5 -0
- package/dist-types/internal/CellStatusIcons.d.ts +4 -0
- package/dist-types/internal/ColumnDropTarget.d.ts +5 -0
- package/dist-types/internal/ColumnGhost.d.ts +10 -0
- package/dist-types/internal/Cursor.d.ts +4 -0
- package/dist-types/internal/DefaultCellValue.d.ts +3 -0
- package/dist-types/internal/FakeCell.d.ts +4 -0
- package/dist-types/internal/FakeGroupCell.d.ts +2 -0
- package/dist-types/internal/FakeHeaderCell.d.ts +2 -0
- package/dist-types/internal/GroupHeaderRow.d.ts +7 -0
- package/dist-types/internal/HeaderRow.d.ts +7 -0
- package/dist-types/internal/LeftPart.d.ts +15 -0
- package/dist-types/internal/MiddlePart.d.ts +15 -0
- package/dist-types/internal/RightPart.d.ts +15 -0
- package/dist-types/internal/Scrollable.d.ts +20 -0
- package/dist-types/internal/TableBody.d.ts +13 -0
- package/dist-types/internal/TableColGroup.d.ts +11 -0
- package/dist-types/internal/TableRow.d.ts +19 -0
- package/dist-types/internal/TopLeftPart.d.ts +10 -0
- package/dist-types/internal/TopPart.d.ts +11 -0
- package/dist-types/internal/TopRightPart.d.ts +10 -0
- package/dist-types/internal/gridHooks.d.ts +91 -0
- package/dist-types/internal/index.d.ts +21 -0
- package/dist-types/internal/utils.d.ts +13 -0
- package/package.json +42 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var window = require('@salt-ds/window');
|
|
7
|
+
var styles = require('@salt-ds/styles');
|
|
8
|
+
var Cell = require('./Cell.js');
|
|
9
|
+
var FakeCell$1 = require('./FakeCell.css.js');
|
|
10
|
+
|
|
11
|
+
function FakeCell(props) {
|
|
12
|
+
const { row } = props;
|
|
13
|
+
const targetWindow = window.useWindow();
|
|
14
|
+
styles.useComponentCssInjection({
|
|
15
|
+
testId: "salt-fake-cell",
|
|
16
|
+
css: FakeCell$1,
|
|
17
|
+
window: targetWindow
|
|
18
|
+
});
|
|
19
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Cell.Cell, {
|
|
20
|
+
className: "saltGridFakeCell",
|
|
21
|
+
"data-row-index": row.index,
|
|
22
|
+
"data-column-index": -1
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
exports.FakeCell = FakeCell;
|
|
27
|
+
//# sourceMappingURL=FakeCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FakeCell.js","sources":["../src/internal/FakeCell.tsx"],"sourcesContent":["import { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport { GridCellProps } from \"../GridColumn\";\n\nimport { Cell } from \"./Cell\";\n\nimport fakeCellCss from \"./FakeCell.css\";\n\nexport type FakeCellProps<T> = Pick<GridCellProps<T>, \"row\">;\n\n// When there is unused space (total width of all columns is less than the\n// available client width of the grid) a column with fake cells is rendered to\n// fill this space. Zebra and row selection/hover highlighting is applied to\n// this column. Fake cells can't have keyboard focus or render any values.\nexport function FakeCell<T>(props: FakeCellProps<T>) {\n const { row } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-fake-cell\",\n css: fakeCellCss,\n window: targetWindow,\n });\n\n return (\n <Cell\n className=\"saltGridFakeCell\"\n data-row-index={row.index}\n data-column-index={-1}\n />\n );\n}\n"],"names":["useWindow","useComponentCssInjection","fakeCellCss","jsx","Cell"],"mappings":";;;;;;;;;;AAeO,SAAS,SAAY,KAAyB,EAAA;AACnD,EAAM,MAAA,EAAE,KAAQ,GAAA,KAAA,CAAA;AAEhB,EAAA,MAAM,eAAeA,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,gBAAA;AAAA,IACR,GAAK,EAAAC,UAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,uBACGC,cAAA,CAAAC,SAAA,EAAA;AAAA,IACC,SAAU,EAAA,kBAAA;AAAA,IACV,kBAAgB,GAAI,CAAA,KAAA;AAAA,IACpB,mBAAmB,EAAA,CAAA,CAAA;AAAA,GACrB,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
function FakeGroupCell() {
|
|
8
|
+
return /* @__PURE__ */ jsxRuntime.jsx("th", {});
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
exports.FakeGroupCell = FakeGroupCell;
|
|
12
|
+
//# sourceMappingURL=FakeGroupCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FakeGroupCell.js","sources":["../src/internal/FakeGroupCell.tsx"],"sourcesContent":["export function FakeGroupCell() {\n return <th />;\n}\n"],"names":[],"mappings":";;;;;;AAAO,SAAS,aAAgB,GAAA;AAC9B,EAAA,sCAAQ,IAAG,EAAA,EAAA,CAAA,CAAA;AACb;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
function FakeHeaderCell() {
|
|
8
|
+
return /* @__PURE__ */ jsxRuntime.jsx("th", {
|
|
9
|
+
"data-testid": "grid-fake-column-header"
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
exports.FakeHeaderCell = FakeHeaderCell;
|
|
14
|
+
//# sourceMappingURL=FakeHeaderCell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FakeHeaderCell.js","sources":["../src/internal/FakeHeaderCell.tsx"],"sourcesContent":["// See FakeCell.tsx\nexport function FakeHeaderCell() {\n return <th data-testid=\"grid-fake-column-header\" />;\n}\n"],"names":["jsx"],"mappings":";;;;;;AACO,SAAS,cAAiB,GAAA;AAC/B,EAAA,uBAAQA,cAAA,CAAA,IAAA,EAAA;AAAA,IAAG,aAAY,EAAA,yBAAA;AAAA,GAA0B,CAAA,CAAA;AACnD;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupHeaderRow.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var core = require('@salt-ds/core');
|
|
7
|
+
var window = require('@salt-ds/window');
|
|
8
|
+
var styles = require('@salt-ds/styles');
|
|
9
|
+
var GroupHeaderCell = require('../GroupHeaderCell.js');
|
|
10
|
+
var GroupHeaderCellValue = require('../GroupHeaderCellValue.js');
|
|
11
|
+
var FakeGroupCell = require('./FakeGroupCell.js');
|
|
12
|
+
var GroupHeaderRow$1 = require('./GroupHeaderRow.css.js');
|
|
13
|
+
|
|
14
|
+
const withBaseName = core.makePrefixer("saltGridGroupHeaderRow");
|
|
15
|
+
function GroupHeaderRow(props) {
|
|
16
|
+
const { groups, gap } = props;
|
|
17
|
+
const targetWindow = window.useWindow();
|
|
18
|
+
styles.useComponentCssInjection({
|
|
19
|
+
testId: "salt-group-header-row",
|
|
20
|
+
css: GroupHeaderRow$1,
|
|
21
|
+
window: targetWindow
|
|
22
|
+
});
|
|
23
|
+
if (groups.length === 0) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("tr", {
|
|
27
|
+
className: withBaseName(),
|
|
28
|
+
role: "row",
|
|
29
|
+
children: [
|
|
30
|
+
groups.map((group) => {
|
|
31
|
+
const Cell = group.data.headerComponent || GroupHeaderCell.GroupHeaderCell;
|
|
32
|
+
const CellValue = group.data.headerValueComponent || GroupHeaderCellValue.GroupHeaderCellValue;
|
|
33
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Cell, {
|
|
34
|
+
group,
|
|
35
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(CellValue, {
|
|
36
|
+
group
|
|
37
|
+
})
|
|
38
|
+
}, group.data.id);
|
|
39
|
+
}),
|
|
40
|
+
gap !== void 0 && gap > 0 ? /* @__PURE__ */ jsxRuntime.jsx(FakeGroupCell.FakeGroupCell, {}) : null
|
|
41
|
+
]
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
exports.GroupHeaderRow = GroupHeaderRow;
|
|
46
|
+
//# sourceMappingURL=GroupHeaderRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupHeaderRow.js","sources":["../src/internal/GroupHeaderRow.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport { GroupHeaderCell } from \"../GroupHeaderCell\";\nimport { GridColumnGroupModel } from \"../Grid\";\nimport { GroupHeaderCellValue } from \"../GroupHeaderCellValue\";\n\nimport { FakeGroupCell } from \"./FakeGroupCell\";\n\nimport groupHeaderRowCss from \"./GroupHeaderRow.css\";\n\nconst withBaseName = makePrefixer(\"saltGridGroupHeaderRow\");\n\nexport interface GroupHeaderRowProps<T> {\n groups: GridColumnGroupModel[];\n gap?: number;\n}\n\nexport function GroupHeaderRow<T>(props: GroupHeaderRowProps<T>) {\n const { groups, gap } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-group-header-row\",\n css: groupHeaderRowCss,\n window: targetWindow,\n });\n\n if (groups.length === 0) {\n return null;\n }\n return (\n <tr className={withBaseName()} role=\"row\">\n {groups.map((group) => {\n const Cell = group.data.headerComponent || GroupHeaderCell;\n const CellValue =\n group.data.headerValueComponent || GroupHeaderCellValue;\n return (\n <Cell key={group.data.id} group={group}>\n <CellValue group={group} />\n </Cell>\n );\n })}\n {gap !== undefined && gap > 0 ? <FakeGroupCell /> : null}\n </tr>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","groupHeaderRowCss","jsxs","GroupHeaderCell","GroupHeaderCellValue","jsx","FakeGroupCell"],"mappings":";;;;;;;;;;;;;AAYA,MAAM,YAAA,GAAeA,kBAAa,wBAAwB,CAAA,CAAA;AAOnD,SAAS,eAAkB,KAA+B,EAAA;AAC/D,EAAM,MAAA,EAAE,MAAQ,EAAA,GAAA,EAAQ,GAAA,KAAA,CAAA;AAExB,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,uBAAA;AAAA,IACR,GAAK,EAAAC,gBAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAI,IAAA,MAAA,CAAO,WAAW,CAAG,EAAA;AACvB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AACA,EAAA,uBACGC,eAAA,CAAA,IAAA,EAAA;AAAA,IAAG,WAAW,YAAa,EAAA;AAAA,IAAG,IAAK,EAAA,KAAA;AAAA,IACjC,QAAA,EAAA;AAAA,MAAO,MAAA,CAAA,GAAA,CAAI,CAAC,KAAU,KAAA;AACrB,QAAM,MAAA,IAAA,GAAO,KAAM,CAAA,IAAA,CAAK,eAAmB,IAAAC,+BAAA,CAAA;AAC3C,QAAM,MAAA,SAAA,GACJ,KAAM,CAAA,IAAA,CAAK,oBAAwB,IAAAC,yCAAA,CAAA;AACrC,QAAA,uBACGC,cAAA,CAAA,IAAA,EAAA;AAAA,UAAyB,KAAA;AAAA,UACxB,QAAC,kBAAAA,cAAA,CAAA,SAAA,EAAA;AAAA,YAAU,KAAA;AAAA,WAAc,CAAA;AAAA,SADhB,EAAA,KAAA,CAAM,KAAK,EAEtB,CAAA,CAAA;AAAA,OAEH,CAAA;AAAA,MACA,QAAQ,KAAa,CAAA,IAAA,GAAA,GAAM,CAAI,mBAAAA,cAAA,CAACC,+BAAc,CAAK,GAAA,IAAA;AAAA,KAAA;AAAA,GACtD,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".saltGridHeaderRow {\n height: var(--grid-row-height);\n}\n\n.saltGridHeaderRow th {\n border-style: solid;\n border-color: var(--grid-headerRowSeparator-color);\n border-width: 0 0 var(--grid-headerRowSeparator-height) 0;\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=HeaderRow.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeaderRow.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var core = require('@salt-ds/core');
|
|
7
|
+
var window = require('@salt-ds/window');
|
|
8
|
+
var styles = require('@salt-ds/styles');
|
|
9
|
+
var HeaderCell = require('../HeaderCell.js');
|
|
10
|
+
var HeaderCellValue = require('../HeaderCellValue.js');
|
|
11
|
+
var CursorContext = require('../CursorContext.js');
|
|
12
|
+
var FakeHeaderCell = require('./FakeHeaderCell.js');
|
|
13
|
+
var HeaderRow$1 = require('./HeaderRow.css.js');
|
|
14
|
+
|
|
15
|
+
const withBaseName = core.makePrefixer("saltGridHeaderRow");
|
|
16
|
+
function HeaderRow(props) {
|
|
17
|
+
const { columns, gap } = props;
|
|
18
|
+
const targetWindow = window.useWindow();
|
|
19
|
+
styles.useComponentCssInjection({
|
|
20
|
+
testId: "salt-header-row",
|
|
21
|
+
css: HeaderRow$1,
|
|
22
|
+
window: targetWindow
|
|
23
|
+
});
|
|
24
|
+
const { cursorColIdx, focusedPart, headerIsFocusable } = CursorContext.useCursorContext();
|
|
25
|
+
const ariaRowIndex = headerIsFocusable ? 1 : void 0;
|
|
26
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("tr", {
|
|
27
|
+
className: withBaseName(),
|
|
28
|
+
role: "row",
|
|
29
|
+
"aria-rowindex": ariaRowIndex,
|
|
30
|
+
children: [
|
|
31
|
+
columns.map((column) => {
|
|
32
|
+
const Cell = column.info.props.headerComponent || HeaderCell.HeaderCell;
|
|
33
|
+
const CellValue = column.info.props.headerValueComponent || HeaderCellValue.HeaderCellValue;
|
|
34
|
+
const isFocused = focusedPart === "header" && cursorColIdx === column.index;
|
|
35
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Cell, {
|
|
36
|
+
column,
|
|
37
|
+
isFocused,
|
|
38
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(CellValue, {
|
|
39
|
+
column,
|
|
40
|
+
isFocused
|
|
41
|
+
})
|
|
42
|
+
}, column.info.props.id);
|
|
43
|
+
}),
|
|
44
|
+
gap !== void 0 && gap > 0 ? /* @__PURE__ */ jsxRuntime.jsx(FakeHeaderCell.FakeHeaderCell, {}) : null
|
|
45
|
+
]
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
exports.HeaderRow = HeaderRow;
|
|
50
|
+
//# sourceMappingURL=HeaderRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeaderRow.js","sources":["../src/internal/HeaderRow.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport { GridColumnModel } from \"../Grid\";\nimport { HeaderCell } from \"../HeaderCell\";\nimport { HeaderCellValue } from \"../HeaderCellValue\";\nimport { useCursorContext } from \"../CursorContext\";\n\nimport { FakeHeaderCell } from \"./FakeHeaderCell\";\n\nimport headerRowCss from \"./HeaderRow.css\";\n\nconst withBaseName = makePrefixer(\"saltGridHeaderRow\");\n\nexport interface HeaderRowProps<T> {\n columns: GridColumnModel<T>[];\n gap?: number;\n}\n\nexport function HeaderRow<T>(props: HeaderRowProps<T>) {\n const { columns, gap } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-header-row\",\n css: headerRowCss,\n window: targetWindow,\n });\n\n const { cursorColIdx, focusedPart, headerIsFocusable } = useCursorContext();\n\n const ariaRowIndex = headerIsFocusable ? 1 : undefined;\n\n return (\n <tr className={withBaseName()} role=\"row\" aria-rowindex={ariaRowIndex}>\n {columns.map((column) => {\n const Cell = column.info.props.headerComponent || HeaderCell;\n const CellValue =\n column.info.props.headerValueComponent || HeaderCellValue;\n const isFocused =\n focusedPart === \"header\" && cursorColIdx === column.index;\n return (\n <Cell\n key={column.info.props.id}\n column={column}\n isFocused={isFocused}\n >\n <CellValue column={column} isFocused={isFocused} />\n </Cell>\n );\n })}\n {gap !== undefined && gap > 0 ? <FakeHeaderCell /> : null}\n </tr>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","headerRowCss","useCursorContext","jsxs","HeaderCell","HeaderCellValue","jsx","FakeHeaderCell"],"mappings":";;;;;;;;;;;;;;AAaA,MAAM,YAAA,GAAeA,kBAAa,mBAAmB,CAAA,CAAA;AAO9C,SAAS,UAAa,KAA0B,EAAA;AACrD,EAAM,MAAA,EAAE,OAAS,EAAA,GAAA,EAAQ,GAAA,KAAA,CAAA;AAEzB,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,iBAAA;AAAA,IACR,GAAK,EAAAC,WAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAA,MAAM,EAAE,YAAA,EAAc,WAAa,EAAA,iBAAA,KAAsBC,8BAAiB,EAAA,CAAA;AAE1E,EAAM,MAAA,YAAA,GAAe,oBAAoB,CAAI,GAAA,KAAA,CAAA,CAAA;AAE7C,EAAA,uBACGC,eAAA,CAAA,IAAA,EAAA;AAAA,IAAG,WAAW,YAAa,EAAA;AAAA,IAAG,IAAK,EAAA,KAAA;AAAA,IAAM,eAAe,EAAA,YAAA;AAAA,IACtD,QAAA,EAAA;AAAA,MAAQ,OAAA,CAAA,GAAA,CAAI,CAAC,MAAW,KAAA;AACvB,QAAA,MAAM,IAAO,GAAA,MAAA,CAAO,IAAK,CAAA,KAAA,CAAM,eAAmB,IAAAC,qBAAA,CAAA;AAClD,QAAA,MAAM,SACJ,GAAA,MAAA,CAAO,IAAK,CAAA,KAAA,CAAM,oBAAwB,IAAAC,+BAAA,CAAA;AAC5C,QAAA,MAAM,SACJ,GAAA,WAAA,KAAgB,QAAY,IAAA,YAAA,KAAiB,MAAO,CAAA,KAAA,CAAA;AACtD,QAAA,uBACGC,cAAA,CAAA,IAAA,EAAA;AAAA,UAEC,MAAA;AAAA,UACA,SAAA;AAAA,UAEA,QAAC,kBAAAA,cAAA,CAAA,SAAA,EAAA;AAAA,YAAU,MAAA;AAAA,YAAgB,SAAA;AAAA,WAAsB,CAAA;AAAA,SAJ5C,EAAA,MAAA,CAAO,IAAK,CAAA,KAAA,CAAM,EAKzB,CAAA,CAAA;AAAA,OAEH,CAAA;AAAA,MACA,QAAQ,KAAa,CAAA,IAAA,GAAA,GAAM,CAAI,mBAAAA,cAAA,CAACC,iCAAe,CAAK,GAAA,IAAA;AAAA,KAAA;AAAA,GACvD,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".saltGridLeftPart {\n position: absolute;\n top: 0;\n left: 0;\n bottom: var(--grid-scrollBar-height);\n overflow-x: hidden;\n overflow-y: hidden;\n clip-path: inset(var(--grid-topPart-height) -10px 0 0);\n z-index: var(--grid-left-body-zIndex);\n}\n\n.saltGridLeftPart-rightShadow {\n box-shadow: 2px 0 4px 0 var(--grid-shadow-color);\n}\n\n.saltGridLeftPart-space {\n position: relative;\n height: var(--grid-total-height);\n width: var(--grid-leftPart-width);\n}\n\n.saltGridLeftPart table {\n table-layout: fixed;\n position: absolute;\n top: var(--grid-bodyVisibleArea-top);\n width: var(--grid-leftPart-width);\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=LeftPart.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeftPart.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var clsx = require('clsx');
|
|
7
|
+
var window = require('@salt-ds/window');
|
|
8
|
+
var styles = require('@salt-ds/styles');
|
|
9
|
+
var core = require('@salt-ds/core');
|
|
10
|
+
var gridHooks = require('./gridHooks.js');
|
|
11
|
+
var TableBody = require('./TableBody.js');
|
|
12
|
+
var TableColGroup = require('./TableColGroup.js');
|
|
13
|
+
var LeftPart$1 = require('./LeftPart.css.js');
|
|
14
|
+
|
|
15
|
+
const withBaseName = core.makePrefixer("saltGridLeftPart");
|
|
16
|
+
function LeftPart(props) {
|
|
17
|
+
const {
|
|
18
|
+
leftRef,
|
|
19
|
+
onWheel,
|
|
20
|
+
rightShadow,
|
|
21
|
+
columns,
|
|
22
|
+
rows,
|
|
23
|
+
hoverOverRowKey,
|
|
24
|
+
setHoverOverRowKey,
|
|
25
|
+
zebra,
|
|
26
|
+
getRowValidationStatus
|
|
27
|
+
} = props;
|
|
28
|
+
const targetWindow = window.useWindow();
|
|
29
|
+
styles.useComponentCssInjection({
|
|
30
|
+
testId: "salt-left-part",
|
|
31
|
+
css: LeftPart$1,
|
|
32
|
+
window: targetWindow
|
|
33
|
+
});
|
|
34
|
+
const tableRef = gridHooks.useActiveOnWheel(onWheel);
|
|
35
|
+
if (columns.length === 0) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
39
|
+
ref: leftRef,
|
|
40
|
+
className: clsx.clsx(withBaseName(), {
|
|
41
|
+
[withBaseName("rightShadow")]: rightShadow
|
|
42
|
+
}),
|
|
43
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
44
|
+
className: withBaseName("space"),
|
|
45
|
+
"data-testid": "grid-left-part",
|
|
46
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("table", {
|
|
47
|
+
ref: tableRef,
|
|
48
|
+
role: "presentation",
|
|
49
|
+
children: [
|
|
50
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableColGroup.TableColGroup, {
|
|
51
|
+
columns
|
|
52
|
+
}),
|
|
53
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableBody.TableBody, {
|
|
54
|
+
columns,
|
|
55
|
+
rows,
|
|
56
|
+
hoverRowKey: hoverOverRowKey,
|
|
57
|
+
setHoverRowKey: setHoverOverRowKey,
|
|
58
|
+
zebra,
|
|
59
|
+
getRowValidationStatus
|
|
60
|
+
})
|
|
61
|
+
]
|
|
62
|
+
})
|
|
63
|
+
})
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
exports.LeftPart = LeftPart;
|
|
68
|
+
//# sourceMappingURL=LeftPart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeftPart.js","sources":["../src/internal/LeftPart.tsx"],"sourcesContent":["import { RefObject } from \"react\";\nimport { clsx } from \"clsx\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { makePrefixer } from \"@salt-ds/core\";\n\nimport { GridColumnModel, GridRowModel } from \"../Grid\";\nimport { CellValidationState } from \"../GridColumn\";\n\nimport { useActiveOnWheel } from \"./gridHooks\";\nimport { TableBody } from \"./TableBody\";\nimport { TableColGroup } from \"./TableColGroup\";\n\nimport leftPartCss from \"./LeftPart.css\";\n\nconst withBaseName = makePrefixer(\"saltGridLeftPart\");\n\nexport interface LeftPartProps<T> {\n leftRef: RefObject<HTMLDivElement>;\n onWheel: EventListener;\n rightShadow?: boolean;\n columns: GridColumnModel<T>[];\n rows: GridRowModel<T>[];\n hoverOverRowKey?: string;\n setHoverOverRowKey: (key: string | undefined) => void;\n zebra?: boolean;\n getRowValidationStatus?: (\n row: GridRowModel<T>\n ) => CellValidationState | undefined;\n}\n\nexport function LeftPart<T>(props: LeftPartProps<T>) {\n const {\n leftRef,\n onWheel,\n rightShadow,\n columns,\n rows,\n hoverOverRowKey,\n setHoverOverRowKey,\n zebra,\n getRowValidationStatus,\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-left-part\",\n css: leftPartCss,\n window: targetWindow,\n });\n\n const tableRef = useActiveOnWheel(onWheel);\n\n if (columns.length === 0) {\n return null;\n }\n\n return (\n <div\n ref={leftRef}\n className={clsx(withBaseName(), {\n [withBaseName(\"rightShadow\")]: rightShadow,\n })}\n >\n <div className={withBaseName(\"space\")} data-testid=\"grid-left-part\">\n <table ref={tableRef} role=\"presentation\">\n <TableColGroup columns={columns} />\n <TableBody\n columns={columns}\n rows={rows}\n hoverRowKey={hoverOverRowKey}\n setHoverRowKey={setHoverOverRowKey}\n zebra={zebra}\n getRowValidationStatus={getRowValidationStatus}\n />\n </table>\n </div>\n </div>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","leftPartCss","useActiveOnWheel","jsx","clsx","jsxs","TableColGroup","TableBody"],"mappings":";;;;;;;;;;;;;;AAeA,MAAM,YAAA,GAAeA,kBAAa,kBAAkB,CAAA,CAAA;AAgB7C,SAAS,SAAY,KAAyB,EAAA;AACnD,EAAM,MAAA;AAAA,IACJ,OAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,eAAA;AAAA,IACA,kBAAA;AAAA,IACA,KAAA;AAAA,IACA,sBAAA;AAAA,GACE,GAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,gBAAA;AAAA,IACR,GAAK,EAAAC,UAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,QAAA,GAAWC,2BAAiB,OAAO,CAAA,CAAA;AAEzC,EAAI,IAAA,OAAA,CAAQ,WAAW,CAAG,EAAA;AACxB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,IACC,GAAK,EAAA,OAAA;AAAA,IACL,SAAA,EAAWC,SAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC9B,CAAC,YAAa,CAAA,aAAa,CAAI,GAAA,WAAA;AAAA,KAChC,CAAA;AAAA,IAED,QAAC,kBAAAD,cAAA,CAAA,KAAA,EAAA;AAAA,MAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,MAAG,aAAY,EAAA,gBAAA;AAAA,MACjD,QAAC,kBAAAE,eAAA,CAAA,OAAA,EAAA;AAAA,QAAM,GAAK,EAAA,QAAA;AAAA,QAAU,IAAK,EAAA,cAAA;AAAA,QACzB,QAAA,EAAA;AAAA,0BAACF,cAAA,CAAAG,2BAAA,EAAA;AAAA,YAAc,OAAA;AAAA,WAAkB,CAAA;AAAA,0BAChCH,cAAA,CAAAI,mBAAA,EAAA;AAAA,YACC,OAAA;AAAA,YACA,IAAA;AAAA,YACA,WAAa,EAAA,eAAA;AAAA,YACb,cAAgB,EAAA,kBAAA;AAAA,YAChB,KAAA;AAAA,YACA,sBAAA;AAAA,WACF,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".saltGridMiddlePart {\n overflow-y: hidden;\n overflow-x: hidden;\n position: absolute;\n top: 0;\n right: var(--grid-scrollBar-width);\n bottom: var(--grid-scrollBar-height);\n left: 0;\n clip-path: inset(var(--grid-topPart-height) var(--grid-rightPart-width) 0 var(--grid-leftPart-width));\n touch-action: none;\n z-index: var(--grid-middle-body-zIndex);\n}\n\n.saltGridMiddlePart-space {\n position: relative;\n height: var(--grid-total-height);\n width: var(--grid-total-width);\n}\n\n.saltGridMiddlePart table {\n table-layout: fixed;\n position: absolute;\n\n width: var(--grid-bodyVisibleColumns-width);\n top: var(--grid-bodyVisibleArea-top);\n left: var(--grid-bodyVisibleArea-left);\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=MiddlePart.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MiddlePart.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var window = require('@salt-ds/window');
|
|
7
|
+
var styles = require('@salt-ds/styles');
|
|
8
|
+
var core = require('@salt-ds/core');
|
|
9
|
+
var TableColGroup = require('./TableColGroup.js');
|
|
10
|
+
var TableBody = require('./TableBody.js');
|
|
11
|
+
var gridHooks = require('./gridHooks.js');
|
|
12
|
+
var MiddlePart$1 = require('./MiddlePart.css.js');
|
|
13
|
+
|
|
14
|
+
const withBaseName = core.makePrefixer("saltGridMiddlePart");
|
|
15
|
+
function MiddlePart(props) {
|
|
16
|
+
const {
|
|
17
|
+
middleRef,
|
|
18
|
+
onWheel,
|
|
19
|
+
columns,
|
|
20
|
+
rows,
|
|
21
|
+
hoverOverRowKey,
|
|
22
|
+
setHoverOverRowKey,
|
|
23
|
+
midGap,
|
|
24
|
+
zebra,
|
|
25
|
+
getRowValidationStatus
|
|
26
|
+
} = props;
|
|
27
|
+
const targetWindow = window.useWindow();
|
|
28
|
+
styles.useComponentCssInjection({
|
|
29
|
+
testId: "salt-middle-part",
|
|
30
|
+
css: MiddlePart$1,
|
|
31
|
+
window: targetWindow
|
|
32
|
+
});
|
|
33
|
+
const tableRef = gridHooks.useActiveOnWheel(onWheel);
|
|
34
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
35
|
+
ref: middleRef,
|
|
36
|
+
className: withBaseName(),
|
|
37
|
+
"data-testid": "grid-middle-part",
|
|
38
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
39
|
+
className: withBaseName("space"),
|
|
40
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("table", {
|
|
41
|
+
ref: tableRef,
|
|
42
|
+
role: "presentation",
|
|
43
|
+
children: [
|
|
44
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableColGroup.TableColGroup, {
|
|
45
|
+
columns,
|
|
46
|
+
gap: midGap
|
|
47
|
+
}),
|
|
48
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableBody.TableBody, {
|
|
49
|
+
columns,
|
|
50
|
+
rows,
|
|
51
|
+
hoverRowKey: hoverOverRowKey,
|
|
52
|
+
setHoverRowKey: setHoverOverRowKey,
|
|
53
|
+
gap: midGap,
|
|
54
|
+
zebra,
|
|
55
|
+
getRowValidationStatus
|
|
56
|
+
})
|
|
57
|
+
]
|
|
58
|
+
})
|
|
59
|
+
})
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
exports.MiddlePart = MiddlePart;
|
|
64
|
+
//# sourceMappingURL=MiddlePart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MiddlePart.js","sources":["../src/internal/MiddlePart.tsx"],"sourcesContent":["import { RefObject } from \"react\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { makePrefixer } from \"@salt-ds/core\";\n\nimport { GridColumnModel, GridRowModel } from \"../Grid\";\nimport { CellValidationState } from \"../GridColumn\";\n\nimport { TableColGroup } from \"./TableColGroup\";\nimport { TableBody } from \"./TableBody\";\nimport { useActiveOnWheel } from \"./gridHooks\";\n\nimport middlePartCss from \"./MiddlePart.css\";\n\nconst withBaseName = makePrefixer(\"saltGridMiddlePart\");\n\nexport interface MiddlePartProps<T> {\n middleRef: RefObject<HTMLDivElement>;\n onWheel: EventListener;\n columns: GridColumnModel<T>[];\n rows: GridRowModel<T>[];\n hoverOverRowKey?: string;\n setHoverOverRowKey: (key: string | undefined) => void;\n midGap: number;\n zebra?: boolean;\n getRowValidationStatus?: (\n row: GridRowModel<T>\n ) => CellValidationState | undefined;\n}\n\nexport function MiddlePart<T>(props: MiddlePartProps<T>) {\n const {\n middleRef,\n onWheel,\n columns,\n rows,\n hoverOverRowKey,\n setHoverOverRowKey,\n midGap,\n zebra,\n getRowValidationStatus,\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-middle-part\",\n css: middlePartCss,\n window: targetWindow,\n });\n\n const tableRef = useActiveOnWheel(onWheel);\n\n return (\n <div\n ref={middleRef}\n className={withBaseName()}\n data-testid=\"grid-middle-part\"\n >\n <div className={withBaseName(\"space\")}>\n <table ref={tableRef} role=\"presentation\">\n <TableColGroup columns={columns} gap={midGap} />\n <TableBody\n columns={columns}\n rows={rows}\n hoverRowKey={hoverOverRowKey}\n setHoverRowKey={setHoverOverRowKey}\n gap={midGap}\n zebra={zebra}\n getRowValidationStatus={getRowValidationStatus}\n />\n </table>\n </div>\n </div>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","middlePartCss","useActiveOnWheel","jsx","jsxs","TableColGroup","TableBody"],"mappings":";;;;;;;;;;;;;AAcA,MAAM,YAAA,GAAeA,kBAAa,oBAAoB,CAAA,CAAA;AAgB/C,SAAS,WAAc,KAA2B,EAAA;AACvD,EAAM,MAAA;AAAA,IACJ,SAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,eAAA;AAAA,IACA,kBAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,sBAAA;AAAA,GACE,GAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,kBAAA;AAAA,IACR,GAAK,EAAAC,YAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,QAAA,GAAWC,2BAAiB,OAAO,CAAA,CAAA;AAEzC,EAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,IACC,GAAK,EAAA,SAAA;AAAA,IACL,WAAW,YAAa,EAAA;AAAA,IACxB,aAAY,EAAA,kBAAA;AAAA,IAEZ,QAAC,kBAAAA,cAAA,CAAA,KAAA,EAAA;AAAA,MAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,MAClC,QAAC,kBAAAC,eAAA,CAAA,OAAA,EAAA;AAAA,QAAM,GAAK,EAAA,QAAA;AAAA,QAAU,IAAK,EAAA,cAAA;AAAA,QACzB,QAAA,EAAA;AAAA,0BAACD,cAAA,CAAAE,2BAAA,EAAA;AAAA,YAAc,OAAA;AAAA,YAAkB,GAAK,EAAA,MAAA;AAAA,WAAQ,CAAA;AAAA,0BAC7CF,cAAA,CAAAG,mBAAA,EAAA;AAAA,YACC,OAAA;AAAA,YACA,IAAA;AAAA,YACA,WAAa,EAAA,eAAA;AAAA,YACb,cAAgB,EAAA,kBAAA;AAAA,YAChB,GAAK,EAAA,MAAA;AAAA,YACL,KAAA;AAAA,YACA,sBAAA;AAAA,WACF,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".saltGridRightPart {\n position: absolute;\n top: 0;\n right: var(--grid-scrollBar-width);\n bottom: var(--grid-scrollBar-height);\n overflow-x: hidden;\n overflow-y: hidden;\n clip-path: inset(var(--grid-topPart-height) 0 0 -10px);\n z-index: var(--grid-right-body-zIndex);\n}\n\n.saltGridRightPart-leftShadow {\n box-shadow: -2px 0 4px 0 var(--grid-shadow-color);\n}\n\n.saltGrid-pinnedSeparators .saltGridRightPart-leftShadow {\n border-left: solid 1px var(--grid-pinnedSeparator-color);\n}\n\n.saltGridRightPart-space {\n position: relative;\n height: var(--grid-total-height);\n width: var(--grid-rightPart-width);\n}\n\n.saltGridRightPart table {\n table-layout: fixed;\n position: absolute;\n\n top: var(--grid-bodyVisibleArea-top);\n width: var(--grid-rightPart-width);\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=RightPart.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RightPart.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var clsx = require('clsx');
|
|
7
|
+
var core = require('@salt-ds/core');
|
|
8
|
+
var styles = require('@salt-ds/styles');
|
|
9
|
+
var window = require('@salt-ds/window');
|
|
10
|
+
var gridHooks = require('./gridHooks.js');
|
|
11
|
+
var TableColGroup = require('./TableColGroup.js');
|
|
12
|
+
var TableBody = require('./TableBody.js');
|
|
13
|
+
var RightPart$1 = require('./RightPart.css.js');
|
|
14
|
+
|
|
15
|
+
const withBaseName = core.makePrefixer("saltGridRightPart");
|
|
16
|
+
function RightPart(props) {
|
|
17
|
+
const {
|
|
18
|
+
rightRef,
|
|
19
|
+
onWheel,
|
|
20
|
+
columns,
|
|
21
|
+
leftShadow,
|
|
22
|
+
rows,
|
|
23
|
+
hoverOverRowKey,
|
|
24
|
+
setHoverOverRowKey,
|
|
25
|
+
zebra,
|
|
26
|
+
getRowValidationStatus
|
|
27
|
+
} = props;
|
|
28
|
+
const targetWindow = window.useWindow();
|
|
29
|
+
styles.useComponentCssInjection({
|
|
30
|
+
testId: "salt-right-part",
|
|
31
|
+
css: RightPart$1,
|
|
32
|
+
window: targetWindow
|
|
33
|
+
});
|
|
34
|
+
const tableRef = gridHooks.useActiveOnWheel(onWheel);
|
|
35
|
+
if (columns.length === 0) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
39
|
+
ref: rightRef,
|
|
40
|
+
className: clsx.clsx(withBaseName(), {
|
|
41
|
+
[withBaseName("leftShadow")]: leftShadow
|
|
42
|
+
}),
|
|
43
|
+
"data-testid": "grid-right-part",
|
|
44
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
45
|
+
className: withBaseName("space"),
|
|
46
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("table", {
|
|
47
|
+
ref: tableRef,
|
|
48
|
+
role: "presentation",
|
|
49
|
+
children: [
|
|
50
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableColGroup.TableColGroup, {
|
|
51
|
+
columns
|
|
52
|
+
}),
|
|
53
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableBody.TableBody, {
|
|
54
|
+
columns,
|
|
55
|
+
rows,
|
|
56
|
+
hoverRowKey: hoverOverRowKey,
|
|
57
|
+
setHoverRowKey: setHoverOverRowKey,
|
|
58
|
+
zebra,
|
|
59
|
+
getRowValidationStatus
|
|
60
|
+
})
|
|
61
|
+
]
|
|
62
|
+
})
|
|
63
|
+
})
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
exports.RightPart = RightPart;
|
|
68
|
+
//# sourceMappingURL=RightPart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RightPart.js","sources":["../src/internal/RightPart.tsx"],"sourcesContent":["import { RefObject } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\n\nimport { CellValidationState } from \"../GridColumn\";\nimport { GridColumnModel, GridRowModel } from \"../Grid\";\n\nimport { useActiveOnWheel } from \"./gridHooks\";\nimport { TableColGroup } from \"./TableColGroup\";\nimport { TableBody } from \"./TableBody\";\n\nimport rightPartCss from \"./RightPart.css\";\n\nconst withBaseName = makePrefixer(\"saltGridRightPart\");\n\nexport interface RightPartProps<T> {\n rightRef: RefObject<HTMLDivElement>;\n onWheel: EventListener;\n leftShadow?: boolean;\n columns: GridColumnModel<T>[];\n rows: GridRowModel<T>[];\n hoverOverRowKey?: string;\n setHoverOverRowKey: (key: string | undefined) => void;\n zebra?: boolean;\n getRowValidationStatus?: (\n row: GridRowModel<T>\n ) => CellValidationState | undefined;\n}\n\nexport function RightPart<T>(props: RightPartProps<T>) {\n const {\n rightRef,\n onWheel,\n columns,\n leftShadow,\n rows,\n hoverOverRowKey,\n setHoverOverRowKey,\n zebra,\n getRowValidationStatus,\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-right-part\",\n css: rightPartCss,\n window: targetWindow,\n });\n\n const tableRef = useActiveOnWheel(onWheel);\n\n if (columns.length === 0) {\n return null;\n }\n\n return (\n <div\n ref={rightRef}\n className={clsx(withBaseName(), {\n [withBaseName(\"leftShadow\")]: leftShadow,\n })}\n data-testid=\"grid-right-part\"\n >\n <div className={withBaseName(\"space\")}>\n <table ref={tableRef} role=\"presentation\">\n <TableColGroup columns={columns} />\n <TableBody\n columns={columns}\n rows={rows}\n hoverRowKey={hoverOverRowKey}\n setHoverRowKey={setHoverOverRowKey}\n zebra={zebra}\n getRowValidationStatus={getRowValidationStatus}\n />\n </table>\n </div>\n </div>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","rightPartCss","useActiveOnWheel","jsx","clsx","jsxs","TableColGroup","TableBody"],"mappings":";;;;;;;;;;;;;;AAeA,MAAM,YAAA,GAAeA,kBAAa,mBAAmB,CAAA,CAAA;AAgB9C,SAAS,UAAa,KAA0B,EAAA;AACrD,EAAM,MAAA;AAAA,IACJ,QAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,IAAA;AAAA,IACA,eAAA;AAAA,IACA,kBAAA;AAAA,IACA,KAAA;AAAA,IACA,sBAAA;AAAA,GACE,GAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,iBAAA;AAAA,IACR,GAAK,EAAAC,WAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,QAAA,GAAWC,2BAAiB,OAAO,CAAA,CAAA;AAEzC,EAAI,IAAA,OAAA,CAAQ,WAAW,CAAG,EAAA;AACxB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAEA,EAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,IACC,GAAK,EAAA,QAAA;AAAA,IACL,SAAA,EAAWC,SAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC9B,CAAC,YAAa,CAAA,YAAY,CAAI,GAAA,UAAA;AAAA,KAC/B,CAAA;AAAA,IACD,aAAY,EAAA,iBAAA;AAAA,IAEZ,QAAC,kBAAAD,cAAA,CAAA,KAAA,EAAA;AAAA,MAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,MAClC,QAAC,kBAAAE,eAAA,CAAA,OAAA,EAAA;AAAA,QAAM,GAAK,EAAA,QAAA;AAAA,QAAU,IAAK,EAAA,cAAA;AAAA,QACzB,QAAA,EAAA;AAAA,0BAACF,cAAA,CAAAG,2BAAA,EAAA;AAAA,YAAc,OAAA;AAAA,WAAkB,CAAA;AAAA,0BAChCH,cAAA,CAAAI,mBAAA,EAAA;AAAA,YACC,OAAA;AAAA,YACA,IAAA;AAAA,YACA,WAAa,EAAA,eAAA;AAAA,YACb,cAAgB,EAAA,kBAAA;AAAA,YAChB,KAAA;AAAA,YACA,sBAAA;AAAA,WACF,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".saltGridScrollable {\n overflow-y: auto;\n overflow-x: auto;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n\n.saltGridScrollable-space {\n position: relative;\n height: var(--grid-total-height);\n width: var(--grid-total-width);\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=Scrollable.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scrollable.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var core = require('@salt-ds/core');
|
|
8
|
+
var window = require('@salt-ds/window');
|
|
9
|
+
var styles = require('@salt-ds/styles');
|
|
10
|
+
var Scrollable$1 = require('./Scrollable.css.js');
|
|
11
|
+
|
|
12
|
+
const withBaseName = core.makePrefixer("saltGridScrollable");
|
|
13
|
+
function Scrollable(props) {
|
|
14
|
+
const {
|
|
15
|
+
scrollerRef,
|
|
16
|
+
middleRef,
|
|
17
|
+
topRef,
|
|
18
|
+
leftRef,
|
|
19
|
+
rightRef,
|
|
20
|
+
bottomRef,
|
|
21
|
+
resizeClient,
|
|
22
|
+
scrollLeft,
|
|
23
|
+
scrollTop,
|
|
24
|
+
scrollSource
|
|
25
|
+
} = props;
|
|
26
|
+
const targetWindow = window.useWindow();
|
|
27
|
+
styles.useComponentCssInjection({
|
|
28
|
+
testId: "salt-scrollable",
|
|
29
|
+
css: Scrollable$1,
|
|
30
|
+
window: targetWindow
|
|
31
|
+
});
|
|
32
|
+
const onScroll = (event) => {
|
|
33
|
+
if (!scrollerRef.current) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const { scrollLeft: scrollLeft2, scrollTop: scrollTop2 } = scrollerRef.current;
|
|
37
|
+
const top = topRef.current;
|
|
38
|
+
const bottom = bottomRef.current;
|
|
39
|
+
if (top) {
|
|
40
|
+
top.scrollLeft = scrollLeft2;
|
|
41
|
+
}
|
|
42
|
+
if (bottom) {
|
|
43
|
+
bottom.scrollLeft = scrollLeft2;
|
|
44
|
+
}
|
|
45
|
+
const left = leftRef.current;
|
|
46
|
+
if (left) {
|
|
47
|
+
left.scrollTop = scrollTop2;
|
|
48
|
+
}
|
|
49
|
+
const right = rightRef.current;
|
|
50
|
+
if (right) {
|
|
51
|
+
right.scrollTop = scrollTop2;
|
|
52
|
+
}
|
|
53
|
+
const middle = middleRef.current;
|
|
54
|
+
if (middle) {
|
|
55
|
+
middle.scrollTop = scrollTop2;
|
|
56
|
+
middle.scrollLeft = scrollLeft2;
|
|
57
|
+
}
|
|
58
|
+
props.scroll(scrollLeft2, scrollTop2, "user");
|
|
59
|
+
};
|
|
60
|
+
react.useEffect(() => {
|
|
61
|
+
if (!scrollerRef.current) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const resizeObserver = new ResizeObserver(([entry]) => {
|
|
65
|
+
const { offsetWidth, offsetHeight, clientWidth, clientHeight } = entry.target;
|
|
66
|
+
const scrollBarWidth = offsetWidth - clientWidth;
|
|
67
|
+
const scrollBarHeight = offsetHeight - clientHeight;
|
|
68
|
+
resizeClient({
|
|
69
|
+
clientWidth,
|
|
70
|
+
clientHeight,
|
|
71
|
+
scrollBarWidth,
|
|
72
|
+
scrollBarHeight
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
resizeObserver.observe(scrollerRef.current);
|
|
76
|
+
return () => resizeObserver.disconnect();
|
|
77
|
+
}, [resizeClient, scrollerRef]);
|
|
78
|
+
react.useEffect(() => {
|
|
79
|
+
if (!scrollerRef.current) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
if (scrollSource === "table") {
|
|
83
|
+
if (scrollLeft !== scrollerRef.current.scrollLeft) {
|
|
84
|
+
scrollerRef.current.scrollLeft = scrollLeft;
|
|
85
|
+
}
|
|
86
|
+
if (scrollTop !== scrollerRef.current.scrollTop) {
|
|
87
|
+
scrollerRef.current.scrollTop = scrollTop;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}, [scrollLeft, scrollTop, scrollSource, scrollerRef]);
|
|
91
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
92
|
+
ref: scrollerRef,
|
|
93
|
+
className: withBaseName(),
|
|
94
|
+
onScroll,
|
|
95
|
+
"data-testid": "grid-scrollable",
|
|
96
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
97
|
+
className: withBaseName("space")
|
|
98
|
+
})
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
exports.Scrollable = Scrollable;
|
|
103
|
+
//# sourceMappingURL=Scrollable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scrollable.js","sources":["../src/internal/Scrollable.tsx"],"sourcesContent":["import { RefObject, UIEventHandler, useEffect } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport scrollableCss from \"./Scrollable.css\";\n\nconst withBaseName = makePrefixer(\"saltGridScrollable\");\n\nexport interface ScrollableProps<T> {\n resizeClient: (params: {\n clientWidth: number;\n clientHeight: number;\n scrollBarWidth: number;\n scrollBarHeight: number;\n }) => void;\n\n scrollLeft: number;\n scrollTop: number;\n scrollSource: \"user\" | \"table\";\n scroll: (left?: number, top?: number, source?: \"user\" | \"table\") => void;\n\n scrollerRef: RefObject<HTMLDivElement>;\n middleRef: RefObject<HTMLDivElement>;\n topRef: RefObject<HTMLDivElement>;\n leftRef: RefObject<HTMLDivElement>;\n rightRef: RefObject<HTMLDivElement>;\n bottomRef: RefObject<HTMLDivElement>;\n}\n\n// Provides scrollbars for the grid. Synchronizes scrolling across all parts\n// (pinned and unpinned).\nexport function Scrollable<T>(props: ScrollableProps<T>) {\n const {\n scrollerRef,\n middleRef,\n topRef,\n leftRef,\n rightRef,\n bottomRef,\n resizeClient,\n scrollLeft,\n scrollTop,\n scrollSource,\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-scrollable\",\n css: scrollableCss,\n window: targetWindow,\n });\n\n const onScroll: UIEventHandler<HTMLDivElement> = (event) => {\n if (!scrollerRef.current) {\n return;\n }\n const { scrollLeft, scrollTop } = scrollerRef.current;\n const top = topRef.current;\n const bottom = bottomRef.current;\n if (top) {\n top.scrollLeft = scrollLeft;\n }\n if (bottom) {\n bottom.scrollLeft = scrollLeft;\n }\n const left = leftRef.current;\n if (left) {\n left.scrollTop = scrollTop;\n }\n const right = rightRef.current;\n if (right) {\n right.scrollTop = scrollTop;\n }\n const middle = middleRef.current;\n if (middle) {\n middle.scrollTop = scrollTop;\n middle.scrollLeft = scrollLeft;\n }\n props.scroll(scrollLeft, scrollTop, \"user\");\n };\n\n useEffect(() => {\n if (!scrollerRef.current) {\n return;\n }\n const resizeObserver = new ResizeObserver(([entry]) => {\n const { offsetWidth, offsetHeight, clientWidth, clientHeight } =\n entry.target as HTMLDivElement;\n const scrollBarWidth = offsetWidth - clientWidth;\n const scrollBarHeight = offsetHeight - clientHeight;\n resizeClient({\n clientWidth,\n clientHeight,\n scrollBarWidth,\n scrollBarHeight,\n });\n });\n\n resizeObserver.observe(scrollerRef.current);\n return () => resizeObserver.disconnect();\n }, [resizeClient, scrollerRef]);\n\n useEffect(() => {\n if (!scrollerRef.current) {\n return;\n }\n if (scrollSource === \"table\") {\n if (scrollLeft !== scrollerRef.current.scrollLeft) {\n scrollerRef.current.scrollLeft = scrollLeft;\n }\n if (scrollTop !== scrollerRef.current.scrollTop) {\n scrollerRef.current.scrollTop = scrollTop;\n }\n }\n }, [scrollLeft, scrollTop, scrollSource, scrollerRef]);\n\n return (\n <div\n ref={scrollerRef}\n className={withBaseName()}\n onScroll={onScroll}\n data-testid=\"grid-scrollable\"\n >\n <div className={withBaseName(\"space\")} />\n </div>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","scrollableCss","scrollLeft","scrollTop","useEffect","jsx"],"mappings":"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"}
|