@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,77 @@
|
|
|
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 TableRow = require('./TableRow.js');
|
|
8
|
+
var utils = require('./utils.js');
|
|
9
|
+
var SelectionContext = require('../SelectionContext.js');
|
|
10
|
+
var EditorContext = require('../EditorContext.js');
|
|
11
|
+
var CursorContext = require('../CursorContext.js');
|
|
12
|
+
|
|
13
|
+
function TableBody(props) {
|
|
14
|
+
const {
|
|
15
|
+
columns,
|
|
16
|
+
rows,
|
|
17
|
+
hoverRowKey,
|
|
18
|
+
setHoverRowKey,
|
|
19
|
+
gap,
|
|
20
|
+
zebra,
|
|
21
|
+
getRowValidationStatus
|
|
22
|
+
} = props;
|
|
23
|
+
const { selRowIdxs, selectedCellRange } = SelectionContext.useSelectionContext();
|
|
24
|
+
const isCellInSelectedRange = react.useCallback(
|
|
25
|
+
(rowIdx, colIdx) => {
|
|
26
|
+
if (!selectedCellRange) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
const { start, end } = selectedCellRange;
|
|
30
|
+
const minRowIdx = Math.min(start.rowIdx, end.rowIdx);
|
|
31
|
+
const maxRowIdx = Math.max(start.rowIdx, end.rowIdx);
|
|
32
|
+
const minColIdx = Math.min(start.colIdx, end.colIdx);
|
|
33
|
+
const maxColIdx = Math.max(start.colIdx, end.colIdx);
|
|
34
|
+
return rowIdx >= minRowIdx && rowIdx <= maxRowIdx && colIdx >= minColIdx && colIdx <= maxColIdx;
|
|
35
|
+
},
|
|
36
|
+
[selectedCellRange]
|
|
37
|
+
);
|
|
38
|
+
const { cursorRowIdx, cursorColIdx, focusedPart, headerIsFocusable } = CursorContext.useCursorContext();
|
|
39
|
+
const { editMode, startEditMode } = EditorContext.useEditorContext();
|
|
40
|
+
const onRowMouseEnter = (event) => {
|
|
41
|
+
const target = event.currentTarget;
|
|
42
|
+
const rowKey = utils.getRowKeyAttribute(target);
|
|
43
|
+
setHoverRowKey(rowKey);
|
|
44
|
+
};
|
|
45
|
+
const onMouseLeave = (event) => {
|
|
46
|
+
setHoverRowKey(void 0);
|
|
47
|
+
};
|
|
48
|
+
const onDoubleClick = (event) => {
|
|
49
|
+
startEditMode();
|
|
50
|
+
};
|
|
51
|
+
return /* @__PURE__ */ jsxRuntime.jsx("tbody", {
|
|
52
|
+
onMouseLeave,
|
|
53
|
+
onDoubleClick,
|
|
54
|
+
children: rows.map((row) => {
|
|
55
|
+
const isSelected = selRowIdxs.has(row.index);
|
|
56
|
+
const cursorIdx = focusedPart === "body" && cursorRowIdx === row.index ? cursorColIdx : void 0;
|
|
57
|
+
const editorColIdx = editMode ? cursorIdx : void 0;
|
|
58
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TableRow.TableRow, {
|
|
59
|
+
row,
|
|
60
|
+
onMouseEnter: onRowMouseEnter,
|
|
61
|
+
columns,
|
|
62
|
+
isHoverOver: row.key === hoverRowKey,
|
|
63
|
+
isSelected,
|
|
64
|
+
cursorColIdx: cursorIdx,
|
|
65
|
+
gap,
|
|
66
|
+
zebra: zebra && row.index % 2 == 0,
|
|
67
|
+
editorColIdx,
|
|
68
|
+
isCellSelected: isCellInSelectedRange,
|
|
69
|
+
headerIsFocusable,
|
|
70
|
+
validationStatus: getRowValidationStatus ? getRowValidationStatus(row) : void 0
|
|
71
|
+
}, row.key);
|
|
72
|
+
})
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
exports.TableBody = TableBody;
|
|
77
|
+
//# sourceMappingURL=TableBody.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableBody.js","sources":["../src/internal/TableBody.tsx"],"sourcesContent":["import { MouseEventHandler, useCallback, useMemo } from \"react\";\nimport { TableRow } from \"./TableRow\";\nimport { GridColumnModel, GridRowModel } from \"../Grid\";\nimport { getRowKeyAttribute } from \"./utils\";\nimport { useSelectionContext } from \"../SelectionContext\";\nimport { useEditorContext } from \"../EditorContext\";\nimport { useCursorContext } from \"../CursorContext\";\nimport { CellValidationState } from \"../GridColumn\";\n\nexport interface TableBodyProps<T> {\n columns: GridColumnModel<T>[];\n rows: GridRowModel<T>[];\n hoverRowKey?: string;\n setHoverRowKey: (key: string | undefined) => void;\n gap?: number;\n zebra?: boolean;\n getRowValidationStatus?: (\n row: GridRowModel<T>\n ) => CellValidationState | undefined;\n}\n\nexport function TableBody<T>(props: TableBodyProps<T>) {\n const {\n columns,\n rows,\n hoverRowKey,\n setHoverRowKey,\n gap,\n zebra,\n getRowValidationStatus,\n } = props;\n const { selRowIdxs, selectedCellRange } = useSelectionContext();\n\n const isCellInSelectedRange = useCallback(\n (rowIdx: number, colIdx: number) => {\n if (!selectedCellRange) {\n return false;\n }\n const { start, end } = selectedCellRange;\n const minRowIdx = Math.min(start.rowIdx, end.rowIdx);\n const maxRowIdx = Math.max(start.rowIdx, end.rowIdx);\n const minColIdx = Math.min(start.colIdx, end.colIdx);\n const maxColIdx = Math.max(start.colIdx, end.colIdx);\n return (\n rowIdx >= minRowIdx &&\n rowIdx <= maxRowIdx &&\n colIdx >= minColIdx &&\n colIdx <= maxColIdx\n );\n },\n [selectedCellRange]\n );\n\n const { cursorRowIdx, cursorColIdx, focusedPart, headerIsFocusable } =\n useCursorContext();\n\n const { editMode, startEditMode } = useEditorContext();\n\n const onRowMouseEnter: MouseEventHandler<HTMLTableRowElement> = (event) => {\n const target = event.currentTarget as HTMLElement;\n const rowKey = getRowKeyAttribute(target);\n setHoverRowKey(rowKey);\n };\n\n const onMouseLeave: MouseEventHandler<HTMLTableSectionElement> = (event) => {\n setHoverRowKey(undefined);\n };\n\n const onDoubleClick: MouseEventHandler<HTMLTableSectionElement> = (event) => {\n startEditMode();\n };\n\n return (\n <tbody onMouseLeave={onMouseLeave} onDoubleClick={onDoubleClick}>\n {rows.map((row) => {\n const isSelected = selRowIdxs.has(row.index);\n const cursorIdx =\n focusedPart === \"body\" && cursorRowIdx === row.index\n ? cursorColIdx\n : undefined;\n const editorColIdx = editMode ? cursorIdx : undefined;\n return (\n <TableRow\n key={row.key}\n row={row}\n onMouseEnter={onRowMouseEnter}\n columns={columns}\n isHoverOver={row.key === hoverRowKey}\n isSelected={isSelected}\n cursorColIdx={cursorIdx}\n gap={gap}\n zebra={zebra && row.index % 2 == 0}\n editorColIdx={editorColIdx}\n isCellSelected={isCellInSelectedRange}\n headerIsFocusable={headerIsFocusable}\n validationStatus={\n getRowValidationStatus ? getRowValidationStatus(row) : undefined\n }\n />\n );\n })}\n </tbody>\n );\n}\n"],"names":["useSelectionContext","useCallback","useCursorContext","useEditorContext","getRowKeyAttribute","jsx","TableRow"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
|
|
8
|
+
function TableColGroup(props) {
|
|
9
|
+
const { columns, gap } = props;
|
|
10
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("colgroup", {
|
|
11
|
+
children: [
|
|
12
|
+
columns.map((column) => {
|
|
13
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TableCol, {
|
|
14
|
+
width: column.info.width
|
|
15
|
+
}, column.info.props.id);
|
|
16
|
+
}),
|
|
17
|
+
gap !== void 0 && gap > 0 ? /* @__PURE__ */ jsxRuntime.jsx(TableCol, {
|
|
18
|
+
width: gap
|
|
19
|
+
}, "__gap") : null
|
|
20
|
+
]
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function TableCol(props) {
|
|
24
|
+
const { width } = props;
|
|
25
|
+
const style = react.useMemo(() => {
|
|
26
|
+
return {
|
|
27
|
+
width: `${width}px`
|
|
28
|
+
};
|
|
29
|
+
}, [width]);
|
|
30
|
+
return /* @__PURE__ */ jsxRuntime.jsx("col", {
|
|
31
|
+
style
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
exports.TableCol = TableCol;
|
|
36
|
+
exports.TableColGroup = TableColGroup;
|
|
37
|
+
//# sourceMappingURL=TableColGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableColGroup.js","sources":["../src/internal/TableColGroup.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { GridColumnModel } from \"../Grid\";\n\nexport interface TableColGroupProps<T> {\n columns: GridColumnModel<T>[];\n gap?: number;\n}\n\nexport interface TableColProps<T> {\n width: number;\n}\n\n// Controls column widths.\nexport function TableColGroup<T>(props: TableColGroupProps<T>) {\n const { columns, gap } = props;\n return (\n <colgroup>\n {columns.map((column) => {\n return (\n <TableCol key={column.info.props.id} width={column.info.width} />\n );\n })}\n {gap !== undefined && gap > 0 ? (\n <TableCol key=\"__gap\" width={gap} />\n ) : null}\n </colgroup>\n );\n}\n\nexport function TableCol<T>(props: TableColProps<T>) {\n const { width } = props;\n const style = useMemo(() => {\n return {\n width: `${width}px`,\n };\n }, [width]);\n return <col style={style} />;\n}\n"],"names":["jsxs","jsx","useMemo"],"mappings":";;;;;;;AAaO,SAAS,cAAiB,KAA8B,EAAA;AAC7D,EAAM,MAAA,EAAE,OAAS,EAAA,GAAA,EAAQ,GAAA,KAAA,CAAA;AACzB,EAAA,uBACGA,eAAA,CAAA,UAAA,EAAA;AAAA,IACE,QAAA,EAAA;AAAA,MAAQ,OAAA,CAAA,GAAA,CAAI,CAAC,MAAW,KAAA;AACvB,QAAA,uBACGC,cAAA,CAAA,QAAA,EAAA;AAAA,UAAoC,KAAA,EAAO,OAAO,IAAK,CAAA,KAAA;AAAA,SAAzC,EAAA,MAAA,CAAO,IAAK,CAAA,KAAA,CAAM,EAA8B,CAAA,CAAA;AAAA,OAElE,CAAA;AAAA,MACA,GAAQ,KAAA,KAAA,CAAA,IAAa,GAAM,GAAA,CAAA,mBACzBA,cAAA,CAAA,QAAA,EAAA;AAAA,QAAqB,KAAO,EAAA,GAAA;AAAA,OAAA,EAAf,OAAoB,CAChC,GAAA,IAAA;AAAA,KAAA;AAAA,GACN,CAAA,CAAA;AAEJ,CAAA;AAEO,SAAS,SAAY,KAAyB,EAAA;AACnD,EAAM,MAAA,EAAE,OAAU,GAAA,KAAA,CAAA;AAClB,EAAM,MAAA,KAAA,GAAQC,cAAQ,MAAM;AAC1B,IAAO,OAAA;AAAA,MACL,OAAO,CAAG,EAAA,KAAA,CAAA,EAAA,CAAA;AAAA,KACZ,CAAA;AAAA,GACF,EAAG,CAAC,KAAK,CAAC,CAAA,CAAA;AACV,EAAA,uBAAQD,cAAA,CAAA,KAAA,EAAA;AAAA,IAAI,KAAA;AAAA,GAAc,CAAA,CAAA;AAC5B;;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".saltGridTableRow {\n height: var(--grid-row-height);\n /* Row border doesn't render properly in Chrome on Windows. Applying borders to cells */\n --grid-row-borderColor: var(--grid-rowSeparator-color);\n --grid-row-background: var(--grid-background);\n}\n\n.saltGridTableRow-first {\n height: calc(var(--grid-row-height) + 1px);\n}\n\n.saltGridTableRow th {\n border-style: solid;\n border-color: var(--grid-row-borderColor);\n border-width: var(--grid-rowSeparator-width) 0 0 0;\n}\n\n.saltGridTableRow-divided {\n --grid-row-borderColor: var(--grid-rowSeparator-color-divided);\n}\n\n.saltGridTableRow-zebra {\n --grid-row-background: var(--grid-zebraColor);\n}\n\n.saltGridTableRow-hover {\n --grid-row-background: var(--grid-row-background-hover);\n}\n\n.saltGridTableRow-selected {\n --grid-row-borderColor: var(--grid-row-borderColor-selected);\n --grid-row-background: var(--grid-row-background-selected);\n}\n\n.saltGridTableRow-selected .saltGridCell:before {\n content: \"\";\n position: absolute;\n top: -1px;\n left: 0;\n right: 0;\n height: 1px;\n background: var(--grid-row-borderColor);\n z-index: var(--salt-zIndex-default);\n}\n\n.saltGridTableRow-zebra.saltGridTableRow-selected {\n --grid-row-background: var(--grid-row-background-selected);\n}\n\n.saltGridTableRow-zebra.saltGridTableRow-hover {\n --grid-row-background: var(--grid-row-background-hover);\n}\n\n.saltGridTableRow-zebra.saltGridTableRow-selected.saltGridTableRow-hover {\n --grid-row-background: var(--grid-row-background-hover);\n}\n\n.saltGridTableRow-selected.saltGridTableRow-hover {\n --grid-row-background: var(--grid-row-background-hover);\n}\n\n.saltGridTableRow-validationStatus-error,\n.saltGridTableRow-validationStatus-error.saltGridTableRow-hover {\n --grid-row-background: var(--salt-status-error-background-emphasize);\n}\n.saltGridTableRow-validationStatus-warning,\n.saltGridTableRow-validationStatus-warning.saltGridTableRow-hover {\n --grid-row-background: var(--salt-status-warning-background-emphasize);\n}\n.saltGridTableRow-validationStatus-success,\n.saltGridTableRow-validationStatus-success.saltGridTableRow-hover {\n --grid-row-background: var(--salt-status-success-background-emphasize);\n}\n\n.saltGridTableRow-validationStatus-error.saltGridTableRow-selected {\n --grid-row-background: var(--salt-status-error-background-selected);\n --grid-row-borderColor: var(--salt-status-error-borderColor);\n}\n.saltGridTableRow-validationStatus-warning.saltGridTableRow-selected {\n --grid-row-background: var(--salt-status-warning-background-selected);\n --grid-row-borderColor: var(--salt-status-warning-borderColor);\n}\n.saltGridTableRow-validationStatus-success.saltGridTableRow-selected {\n --grid-row-background: var(--salt-status-success-background-selected);\n --grid-row-borderColor: var(--salt-status-success-borderColor);\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=TableRow.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableRow.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,125 @@
|
|
|
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 clsx = require('clsx');
|
|
8
|
+
var window = require('@salt-ds/window');
|
|
9
|
+
var styles = require('@salt-ds/styles');
|
|
10
|
+
var core = require('@salt-ds/core');
|
|
11
|
+
var BaseCell = require('../BaseCell.js');
|
|
12
|
+
var GridContext = require('../GridContext.js');
|
|
13
|
+
var RowValidationStatus = require('../RowValidationStatus.js');
|
|
14
|
+
var FakeCell = require('./FakeCell.js');
|
|
15
|
+
var DefaultCellValue = require('./DefaultCellValue.js');
|
|
16
|
+
var TableRow$1 = require('./TableRow.css.js');
|
|
17
|
+
|
|
18
|
+
const withBaseName = core.makePrefixer("saltGridTableRow");
|
|
19
|
+
function TableRow(props) {
|
|
20
|
+
const {
|
|
21
|
+
row,
|
|
22
|
+
isSelected,
|
|
23
|
+
zebra,
|
|
24
|
+
isHoverOver,
|
|
25
|
+
columns,
|
|
26
|
+
onMouseEnter,
|
|
27
|
+
onMouseLeave,
|
|
28
|
+
cursorColIdx,
|
|
29
|
+
gap,
|
|
30
|
+
editorColIdx,
|
|
31
|
+
isCellSelected,
|
|
32
|
+
headerIsFocusable,
|
|
33
|
+
validationStatus: rowValidationStatus
|
|
34
|
+
} = props;
|
|
35
|
+
const targetWindow = window.useWindow();
|
|
36
|
+
styles.useComponentCssInjection({
|
|
37
|
+
testId: "salt-table-row",
|
|
38
|
+
css: TableRow$1,
|
|
39
|
+
window: targetWindow
|
|
40
|
+
});
|
|
41
|
+
const grid = GridContext.useGridContext();
|
|
42
|
+
if (!row.key) {
|
|
43
|
+
throw new Error(`Invalid row`);
|
|
44
|
+
}
|
|
45
|
+
const ariaRowIndex = headerIsFocusable ? row.index + 2 : row.index + 1;
|
|
46
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("tr", {
|
|
47
|
+
"aria-rowindex": ariaRowIndex,
|
|
48
|
+
"aria-selected": isSelected ? true : void 0,
|
|
49
|
+
className: clsx.clsx(withBaseName(), {
|
|
50
|
+
[withBaseName("zebra")]: zebra,
|
|
51
|
+
[withBaseName("hover")]: isHoverOver,
|
|
52
|
+
[withBaseName("selected")]: isSelected,
|
|
53
|
+
[withBaseName("first")]: row.index === 0,
|
|
54
|
+
[withBaseName(`validationStatus-${rowValidationStatus}`)]: rowValidationStatus
|
|
55
|
+
}),
|
|
56
|
+
onMouseEnter,
|
|
57
|
+
onMouseLeave,
|
|
58
|
+
"data-row-index": row.index,
|
|
59
|
+
"data-row-key": row.key,
|
|
60
|
+
role: "row",
|
|
61
|
+
children: [
|
|
62
|
+
columns.map((column, i) => {
|
|
63
|
+
var _a, _b, _c, _d;
|
|
64
|
+
const colKey = column.info.props.id;
|
|
65
|
+
const editorInfo = grid.getEditor(column.info.props.id);
|
|
66
|
+
const isEditable = !!editorInfo;
|
|
67
|
+
if (editorColIdx === column.index) {
|
|
68
|
+
if (isEditable) {
|
|
69
|
+
if (react.isValidElement(editorInfo.children)) {
|
|
70
|
+
const editorElement = react.Children.only(editorInfo.children);
|
|
71
|
+
return react.cloneElement(editorElement, {
|
|
72
|
+
key: colKey,
|
|
73
|
+
row,
|
|
74
|
+
column
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const Cell = column.info.props.cellComponent || BaseCell.BaseCell;
|
|
80
|
+
const CellValue = column.info.props.cellValueComponent || DefaultCellValue.DefaultCellValue;
|
|
81
|
+
const value = column.info.props.getValue && row.data ? column.info.props.getValue(row.data) : null;
|
|
82
|
+
const isFocused = cursorColIdx === column.index;
|
|
83
|
+
const isSelected2 = isCellSelected && isCellSelected(row.index, column.index);
|
|
84
|
+
const validationFnArg = {
|
|
85
|
+
row,
|
|
86
|
+
column,
|
|
87
|
+
isFocused,
|
|
88
|
+
value
|
|
89
|
+
};
|
|
90
|
+
const validationStatus = (_b = (_a = column.info.props).getValidationStatus) == null ? void 0 : _b.call(_a, validationFnArg);
|
|
91
|
+
const validationMessage = validationStatus && ((_d = (_c = column.info.props).getValidationMessage) == null ? void 0 : _d.call(_c, validationFnArg));
|
|
92
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RowValidationStatus.RowValidationStatusContext.Provider, {
|
|
93
|
+
value: { status: rowValidationStatus },
|
|
94
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(Cell, {
|
|
95
|
+
row,
|
|
96
|
+
column,
|
|
97
|
+
isFocused,
|
|
98
|
+
isSelected: isSelected2,
|
|
99
|
+
isEditable,
|
|
100
|
+
validationStatus,
|
|
101
|
+
validationMessage,
|
|
102
|
+
validationType: column.info.props.validationType,
|
|
103
|
+
value,
|
|
104
|
+
align: column.info.props.align,
|
|
105
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(CellValue, {
|
|
106
|
+
column,
|
|
107
|
+
row,
|
|
108
|
+
value,
|
|
109
|
+
isFocused,
|
|
110
|
+
validationStatus,
|
|
111
|
+
validationMessage,
|
|
112
|
+
validationType: column.info.props.validationType
|
|
113
|
+
})
|
|
114
|
+
}, colKey)
|
|
115
|
+
});
|
|
116
|
+
}),
|
|
117
|
+
gap !== void 0 && gap > 0 ? /* @__PURE__ */ jsxRuntime.jsx(FakeCell.FakeCell, {
|
|
118
|
+
row
|
|
119
|
+
}) : null
|
|
120
|
+
]
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
exports.TableRow = TableRow;
|
|
125
|
+
//# sourceMappingURL=TableRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableRow.js","sources":["../src/internal/TableRow.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n isValidElement,\n MouseEventHandler,\n} 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 { BaseCell } from \"../BaseCell\";\nimport { GridColumnModel, GridRowModel } from \"../Grid\";\nimport { useGridContext } from \"../GridContext\";\nimport { CellValidationState } from \"../GridColumn\";\nimport { RowValidationStatusContext } from \"../RowValidationStatus\";\n\nimport { FakeCell } from \"./FakeCell\";\nimport { DefaultCellValue } from \"./DefaultCellValue\";\n\nimport tableRowCss from \"./TableRow.css\";\n\nconst withBaseName = makePrefixer(\"saltGridTableRow\");\n\nexport interface TableRowProps<T> {\n row: GridRowModel<T>;\n isSelected?: boolean;\n isHoverOver?: boolean;\n zebra?: boolean;\n columns: GridColumnModel<T>[];\n cursorColIdx?: number;\n onMouseEnter?: MouseEventHandler<HTMLTableRowElement>;\n onMouseLeave?: MouseEventHandler<HTMLTableRowElement>;\n gap?: number;\n editorColIdx?: number;\n isCellSelected?: (rowIdx: number, colIdx: number) => boolean;\n headerIsFocusable?: boolean;\n validationStatus?: CellValidationState;\n}\n\nexport function TableRow<T>(props: TableRowProps<T>) {\n const {\n row,\n isSelected,\n zebra,\n isHoverOver,\n columns,\n onMouseEnter,\n onMouseLeave,\n cursorColIdx,\n gap,\n editorColIdx,\n isCellSelected,\n headerIsFocusable,\n validationStatus: rowValidationStatus,\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-table-row\",\n css: tableRowCss,\n window: targetWindow,\n });\n\n const grid = useGridContext();\n\n if (!row.key) {\n throw new Error(`Invalid row`);\n }\n\n const ariaRowIndex = headerIsFocusable ? row.index + 2 : row.index + 1;\n\n return (\n <tr\n aria-rowindex={ariaRowIndex}\n aria-selected={isSelected ? true : undefined}\n className={clsx(withBaseName(), {\n [withBaseName(\"zebra\")]: zebra,\n [withBaseName(\"hover\")]: isHoverOver,\n [withBaseName(\"selected\")]: isSelected,\n [withBaseName(\"first\")]: row.index === 0,\n [withBaseName(`validationStatus-${rowValidationStatus}`)]:\n rowValidationStatus,\n })}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n data-row-index={row.index}\n data-row-key={row.key}\n role=\"row\"\n >\n {columns.map((column, i) => {\n const colKey = column.info.props.id;\n const editorInfo = grid.getEditor(column.info.props.id);\n const isEditable = !!editorInfo;\n\n if (editorColIdx === column.index) {\n if (isEditable) {\n if (isValidElement(editorInfo.children)) {\n const editorElement = Children.only(editorInfo.children);\n return cloneElement(editorElement, {\n key: colKey,\n row,\n column,\n } as any);\n }\n }\n }\n\n const Cell = column.info.props.cellComponent || BaseCell;\n const CellValue =\n column.info.props.cellValueComponent || DefaultCellValue;\n const value =\n column.info.props.getValue && row.data\n ? column.info.props.getValue(row.data)\n : null;\n const isFocused = cursorColIdx === column.index;\n const isSelected =\n isCellSelected && isCellSelected(row.index, column.index);\n const validationFnArg = {\n row,\n column,\n isFocused,\n value,\n };\n const validationStatus =\n column.info.props.getValidationStatus?.(validationFnArg);\n const validationMessage =\n validationStatus &&\n column.info.props.getValidationMessage?.(validationFnArg);\n\n return (\n <RowValidationStatusContext.Provider\n value={{ status: rowValidationStatus }}\n >\n <Cell\n key={colKey}\n row={row}\n column={column}\n isFocused={isFocused}\n isSelected={isSelected}\n isEditable={isEditable}\n validationStatus={validationStatus}\n validationMessage={validationMessage}\n validationType={column.info.props.validationType}\n value={value}\n align={column.info.props.align}\n >\n <CellValue\n column={column}\n row={row}\n value={value}\n isFocused={isFocused}\n validationStatus={validationStatus}\n validationMessage={validationMessage}\n validationType={column.info.props.validationType}\n />\n </Cell>\n </RowValidationStatusContext.Provider>\n );\n })}\n {gap !== undefined && gap > 0 ? <FakeCell row={row} /> : null}\n </tr>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","tableRowCss","useGridContext","jsxs","clsx","isValidElement","Children","cloneElement","BaseCell","DefaultCellValue","isSelected","jsx","RowValidationStatusContext","FakeCell"],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".saltGridTopLeftPart {\n position: absolute;\n top: 0;\n left: 0;\n z-index: var(--grid-left-header-zIndex);\n}\n\n.saltGridTopLeftPart-rightShadow {\n box-shadow: 2px 0 4px 0 var(--grid-shadow-color);\n clip-path: inset(1px -10px 0 0);\n}\n\n.saltGridTopLeftPart-bottomShadow {\n box-shadow: 0 2px 4px 0 var(--grid-shadow-color);\n clip-path: inset(1px 0 -10px 0);\n}\n\n.saltGridTopLeftPart-rightShadow.saltGridTopLeftPart-bottomShadow {\n box-shadow: 2px 2px 4px 0 var(--grid-shadow-color);\n clip-path: inset(1px -10px -10px 0);\n}\n\n.saltGridTopLeftPart table {\n table-layout: fixed;\n width: var(--grid-leftPart-width);\n height: var(--grid-topPart-height);\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=TopLeftPart.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopLeftPart.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
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 window = require('@salt-ds/window');
|
|
9
|
+
var styles = require('@salt-ds/styles');
|
|
10
|
+
var GroupHeaderRow = require('./GroupHeaderRow.js');
|
|
11
|
+
var TableColGroup = require('./TableColGroup.js');
|
|
12
|
+
var HeaderRow = require('./HeaderRow.js');
|
|
13
|
+
var gridHooks = require('./gridHooks.js');
|
|
14
|
+
var TopLeftPart$1 = require('./TopLeftPart.css.js');
|
|
15
|
+
|
|
16
|
+
const withBaseName = core.makePrefixer("saltGridTopLeftPart");
|
|
17
|
+
function TopLeftPart(props) {
|
|
18
|
+
const { onWheel, columns, columnGroups, rightShadow, bottomShadow } = props;
|
|
19
|
+
const targetWindow = window.useWindow();
|
|
20
|
+
styles.useComponentCssInjection({
|
|
21
|
+
testId: "salt-top-left-part",
|
|
22
|
+
css: TopLeftPart$1,
|
|
23
|
+
window: targetWindow
|
|
24
|
+
});
|
|
25
|
+
const tableRef = gridHooks.useActiveOnWheel(onWheel);
|
|
26
|
+
if (columns.length === 0) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
30
|
+
className: clsx.clsx(withBaseName(), {
|
|
31
|
+
[withBaseName("rightShadow")]: rightShadow,
|
|
32
|
+
[withBaseName("bottomShadow")]: bottomShadow
|
|
33
|
+
}),
|
|
34
|
+
"data-testid": "grid-top-left-part",
|
|
35
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("table", {
|
|
36
|
+
ref: tableRef,
|
|
37
|
+
role: "presentation",
|
|
38
|
+
children: [
|
|
39
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableColGroup.TableColGroup, {
|
|
40
|
+
columns
|
|
41
|
+
}),
|
|
42
|
+
/* @__PURE__ */ jsxRuntime.jsxs("thead", {
|
|
43
|
+
children: [
|
|
44
|
+
/* @__PURE__ */ jsxRuntime.jsx(GroupHeaderRow.GroupHeaderRow, {
|
|
45
|
+
groups: columnGroups
|
|
46
|
+
}),
|
|
47
|
+
/* @__PURE__ */ jsxRuntime.jsx(HeaderRow.HeaderRow, {
|
|
48
|
+
columns
|
|
49
|
+
})
|
|
50
|
+
]
|
|
51
|
+
})
|
|
52
|
+
]
|
|
53
|
+
})
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
exports.TopLeftPart = TopLeftPart;
|
|
58
|
+
//# sourceMappingURL=TopLeftPart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopLeftPart.js","sources":["../src/internal/TopLeftPart.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport { GridColumnGroupModel, GridColumnModel } from \"../Grid\";\n\nimport { GroupHeaderRow } from \"./GroupHeaderRow\";\nimport { TableColGroup } from \"./TableColGroup\";\nimport { HeaderRow } from \"./HeaderRow\";\nimport { useActiveOnWheel } from \"./gridHooks\";\n\nimport topLeftPartCss from \"./TopLeftPart.css\";\n\nconst withBaseName = makePrefixer(\"saltGridTopLeftPart\");\n\nexport interface TopLeftPartProps<T> {\n onWheel: EventListener;\n columns: GridColumnModel<T>[];\n columnGroups: GridColumnGroupModel[];\n rightShadow?: boolean;\n bottomShadow?: boolean;\n}\n\nexport function TopLeftPart<T>(props: TopLeftPartProps<T>) {\n const { onWheel, columns, columnGroups, rightShadow, bottomShadow } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-top-left-part\",\n css: topLeftPartCss,\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 className={clsx(withBaseName(), {\n [withBaseName(\"rightShadow\")]: rightShadow,\n [withBaseName(\"bottomShadow\")]: bottomShadow,\n })}\n data-testid=\"grid-top-left-part\"\n >\n <table ref={tableRef} role=\"presentation\">\n <TableColGroup columns={columns} />\n <thead>\n <GroupHeaderRow groups={columnGroups} />\n <HeaderRow columns={columns} />\n </thead>\n </table>\n </div>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","topLeftPartCss","useActiveOnWheel","jsx","clsx","jsxs","TableColGroup","GroupHeaderRow","HeaderRow"],"mappings":";;;;;;;;;;;;;;;AAcA,MAAM,YAAA,GAAeA,kBAAa,qBAAqB,CAAA,CAAA;AAUhD,SAAS,YAAe,KAA4B,EAAA;AACzD,EAAA,MAAM,EAAE,OAAS,EAAA,OAAA,EAAS,YAAc,EAAA,WAAA,EAAa,cAAiB,GAAA,KAAA,CAAA;AAEtE,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,oBAAA;AAAA,IACR,GAAK,EAAAC,aAAA;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,SAAA,EAAWC,SAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC9B,CAAC,YAAa,CAAA,aAAa,CAAI,GAAA,WAAA;AAAA,MAC/B,CAAC,YAAa,CAAA,cAAc,CAAI,GAAA,YAAA;AAAA,KACjC,CAAA;AAAA,IACD,aAAY,EAAA,oBAAA;AAAA,IAEZ,QAAC,kBAAAC,eAAA,CAAA,OAAA,EAAA;AAAA,MAAM,GAAK,EAAA,QAAA;AAAA,MAAU,IAAK,EAAA,cAAA;AAAA,MACzB,QAAA,EAAA;AAAA,wBAACF,cAAA,CAAAG,2BAAA,EAAA;AAAA,UAAc,OAAA;AAAA,SAAkB,CAAA;AAAA,wBAChCD,eAAA,CAAA,OAAA,EAAA;AAAA,UACC,QAAA,EAAA;AAAA,4BAACF,cAAA,CAAAI,6BAAA,EAAA;AAAA,cAAe,MAAQ,EAAA,YAAA;AAAA,aAAc,CAAA;AAAA,4BACrCJ,cAAA,CAAAK,mBAAA,EAAA;AAAA,cAAU,OAAA;AAAA,aAAkB,CAAA;AAAA,WAAA;AAAA,SAC/B,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".saltGridTopPart {\n position: absolute;\n top: 0;\n left: 0;\n right: var(--grid-scrollBar-width);\n overflow-x: hidden;\n overflow-y: hidden;\n clip-path: inset(0 var(--grid-rightPart-width) 0 var(--grid-leftPart-width));\n z-index: var(--grid-middle-header-zIndex);\n}\n\n.saltGridTopPart-bottomShadow {\n box-shadow: 0 2px 4px 0 var(--grid-shadow-color);\n clip-path: inset(0 var(--grid-rightPart-width) -10px var(--grid-leftPart-width));\n}\n\n.saltGridTopPart-space {\n height: var(--grid-topPart-height);\n width: var(--grid-total-width);\n}\n\n.saltGridTopPart table {\n table-layout: fixed;\n position: absolute;\n top: 0;\n\n width: var(--grid-headerVisibleColumns-width);\n height: var(--grid-topPart-height);\n left: var(--grid-headerVisibleArea-left);\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=TopPart.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopPart.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,61 @@
|
|
|
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 window = require('@salt-ds/window');
|
|
9
|
+
var styles = require('@salt-ds/styles');
|
|
10
|
+
var HeaderRow = require('./HeaderRow.js');
|
|
11
|
+
var GroupHeaderRow = require('./GroupHeaderRow.js');
|
|
12
|
+
var TableColGroup = require('./TableColGroup.js');
|
|
13
|
+
var gridHooks = require('./gridHooks.js');
|
|
14
|
+
var TopPart$1 = require('./TopPart.css.js');
|
|
15
|
+
|
|
16
|
+
const withBaseName = core.makePrefixer("saltGridTopPart");
|
|
17
|
+
function TopPart(props) {
|
|
18
|
+
const { topRef, onWheel, columns, columnGroups, midGap, bottomShadow } = props;
|
|
19
|
+
const targetWindow = window.useWindow();
|
|
20
|
+
styles.useComponentCssInjection({
|
|
21
|
+
testId: "salt-top-part",
|
|
22
|
+
css: TopPart$1,
|
|
23
|
+
window: targetWindow
|
|
24
|
+
});
|
|
25
|
+
const tableRef = gridHooks.useActiveOnWheel(onWheel);
|
|
26
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
27
|
+
className: clsx.clsx(withBaseName(), {
|
|
28
|
+
[withBaseName("bottomShadow")]: bottomShadow
|
|
29
|
+
}),
|
|
30
|
+
ref: topRef,
|
|
31
|
+
"data-testid": "grid-top-part",
|
|
32
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
33
|
+
className: withBaseName("space"),
|
|
34
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("table", {
|
|
35
|
+
ref: tableRef,
|
|
36
|
+
role: "presentation",
|
|
37
|
+
children: [
|
|
38
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableColGroup.TableColGroup, {
|
|
39
|
+
columns,
|
|
40
|
+
gap: midGap
|
|
41
|
+
}),
|
|
42
|
+
/* @__PURE__ */ jsxRuntime.jsxs("thead", {
|
|
43
|
+
children: [
|
|
44
|
+
/* @__PURE__ */ jsxRuntime.jsx(GroupHeaderRow.GroupHeaderRow, {
|
|
45
|
+
groups: columnGroups,
|
|
46
|
+
gap: midGap
|
|
47
|
+
}),
|
|
48
|
+
/* @__PURE__ */ jsxRuntime.jsx(HeaderRow.HeaderRow, {
|
|
49
|
+
columns,
|
|
50
|
+
gap: midGap
|
|
51
|
+
})
|
|
52
|
+
]
|
|
53
|
+
})
|
|
54
|
+
]
|
|
55
|
+
})
|
|
56
|
+
})
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
exports.TopPart = TopPart;
|
|
61
|
+
//# sourceMappingURL=TopPart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopPart.js","sources":["../src/internal/TopPart.tsx"],"sourcesContent":["import { RefObject } from \"react\";\nimport { clsx } from \"clsx\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport { GridColumnGroupModel, GridColumnModel } from \"../Grid\";\n\nimport { HeaderRow } from \"./HeaderRow\";\nimport { GroupHeaderRow } from \"./GroupHeaderRow\";\nimport { TableColGroup } from \"./TableColGroup\";\nimport { useActiveOnWheel } from \"./gridHooks\";\n\nimport topPartCss from \"./TopPart.css\";\n\nconst withBaseName = makePrefixer(\"saltGridTopPart\");\n\nexport interface TopPartProps<T> {\n topRef: RefObject<HTMLDivElement>;\n onWheel: EventListener;\n columns: GridColumnModel<T>[];\n columnGroups: GridColumnGroupModel[];\n midGap: number;\n bottomShadow?: boolean;\n}\n\nexport function TopPart<T>(props: TopPartProps<T>) {\n const { topRef, onWheel, columns, columnGroups, midGap, bottomShadow } =\n props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-top-part\",\n css: topPartCss,\n window: targetWindow,\n });\n\n const tableRef = useActiveOnWheel(onWheel);\n\n return (\n <div\n className={clsx(withBaseName(), {\n [withBaseName(\"bottomShadow\")]: bottomShadow,\n })}\n ref={topRef}\n data-testid=\"grid-top-part\"\n >\n <div className={withBaseName(\"space\")}>\n <table ref={tableRef} role=\"presentation\">\n <TableColGroup columns={columns} gap={midGap} />\n <thead>\n <GroupHeaderRow groups={columnGroups} gap={midGap} />\n <HeaderRow columns={columns} gap={midGap} />\n </thead>\n </table>\n </div>\n </div>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","topPartCss","useActiveOnWheel","jsx","clsx","jsxs","TableColGroup","GroupHeaderRow","HeaderRow"],"mappings":";;;;;;;;;;;;;;;AAeA,MAAM,YAAA,GAAeA,kBAAa,iBAAiB,CAAA,CAAA;AAW5C,SAAS,QAAW,KAAwB,EAAA;AACjD,EAAA,MAAM,EAAE,MAAQ,EAAA,OAAA,EAAS,SAAS,YAAc,EAAA,MAAA,EAAQ,cACtD,GAAA,KAAA,CAAA;AAEF,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,eAAA;AAAA,IACR,GAAK,EAAAC,SAAA;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,SAAA,EAAWC,SAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC9B,CAAC,YAAa,CAAA,cAAc,CAAI,GAAA,YAAA;AAAA,KACjC,CAAA;AAAA,IACD,GAAK,EAAA,MAAA;AAAA,IACL,aAAY,EAAA,eAAA;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,YAAkB,GAAK,EAAA,MAAA;AAAA,WAAQ,CAAA;AAAA,0BAC7CD,eAAA,CAAA,OAAA,EAAA;AAAA,YACC,QAAA,EAAA;AAAA,8BAACF,cAAA,CAAAI,6BAAA,EAAA;AAAA,gBAAe,MAAQ,EAAA,YAAA;AAAA,gBAAc,GAAK,EAAA,MAAA;AAAA,eAAQ,CAAA;AAAA,8BAClDJ,cAAA,CAAAK,mBAAA,EAAA;AAAA,gBAAU,OAAA;AAAA,gBAAkB,GAAK,EAAA,MAAA;AAAA,eAAQ,CAAA;AAAA,aAAA;AAAA,WAC5C,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 = ".saltGridTopRightPart {\n position: absolute;\n top: 0;\n right: var(--grid-scrollBar-width);\n z-index: var(--grid-right-header-zIndex);\n}\n\n.saltGridTopRightPart-leftShadow {\n box-shadow: -2px 0 4px 0 var(--grid-shadow-color);\n clip-path: inset(1px 0 0 -10px);\n}\n\n.saltGrid-pinnedSeparators .saltGridTopRightPart-leftShadow {\n border-left: solid 1px var(--grid-pinnedSeparator-color);\n}\n\n.saltGridTopRightPart-bottomShadow {\n box-shadow: 0 2px 4px 0 var(--grid-shadow-color);\n clip-path: inset(1px 0 -10px 0);\n}\n\n.saltGridTopRightPart-leftShadow.saltGridTopRightPart-bottomShadow {\n box-shadow: -2px 2px 4px 0 var(--grid-shadow-color);\n clip-path: inset(1px 0 -10px -10px);\n}\n\n.saltGridTopRightPart table {\n table-layout: fixed;\n\n width: var(--grid-rightPart-width);\n height: var(--grid-topPart-height);\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=TopRightPart.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopRightPart.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var TableColGroup = require('./TableColGroup.js');
|
|
7
|
+
var HeaderRow = require('./HeaderRow.js');
|
|
8
|
+
var core = require('@salt-ds/core');
|
|
9
|
+
var window = require('@salt-ds/window');
|
|
10
|
+
var styles = require('@salt-ds/styles');
|
|
11
|
+
var clsx = require('clsx');
|
|
12
|
+
var GroupHeaderRow = require('./GroupHeaderRow.js');
|
|
13
|
+
var gridHooks = require('./gridHooks.js');
|
|
14
|
+
var TopRightPart$1 = require('./TopRightPart.css.js');
|
|
15
|
+
|
|
16
|
+
const withBaseName = core.makePrefixer("saltGridTopRightPart");
|
|
17
|
+
function TopRightPart(props) {
|
|
18
|
+
const { onWheel, columns, columnGroups, leftShadow, bottomShadow } = props;
|
|
19
|
+
const targetWindow = window.useWindow();
|
|
20
|
+
styles.useComponentCssInjection({
|
|
21
|
+
testId: "salt-top-right-part",
|
|
22
|
+
css: TopRightPart$1,
|
|
23
|
+
window: targetWindow
|
|
24
|
+
});
|
|
25
|
+
const tableRef = gridHooks.useActiveOnWheel(onWheel);
|
|
26
|
+
if (columns.length === 0) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
30
|
+
className: clsx.clsx(withBaseName(), {
|
|
31
|
+
[withBaseName("leftShadow")]: leftShadow,
|
|
32
|
+
[withBaseName("bottomShadow")]: bottomShadow
|
|
33
|
+
}),
|
|
34
|
+
"data-testid": "grid-top-right-part",
|
|
35
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("table", {
|
|
36
|
+
className: withBaseName("table"),
|
|
37
|
+
ref: tableRef,
|
|
38
|
+
role: "presentation",
|
|
39
|
+
children: [
|
|
40
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableColGroup.TableColGroup, {
|
|
41
|
+
columns
|
|
42
|
+
}),
|
|
43
|
+
/* @__PURE__ */ jsxRuntime.jsxs("thead", {
|
|
44
|
+
children: [
|
|
45
|
+
/* @__PURE__ */ jsxRuntime.jsx(GroupHeaderRow.GroupHeaderRow, {
|
|
46
|
+
groups: columnGroups
|
|
47
|
+
}),
|
|
48
|
+
/* @__PURE__ */ jsxRuntime.jsx(HeaderRow.HeaderRow, {
|
|
49
|
+
columns
|
|
50
|
+
})
|
|
51
|
+
]
|
|
52
|
+
})
|
|
53
|
+
]
|
|
54
|
+
})
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
exports.TopRightPart = TopRightPart;
|
|
59
|
+
//# sourceMappingURL=TopRightPart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopRightPart.js","sources":["../src/internal/TopRightPart.tsx"],"sourcesContent":["import { TableColGroup } from \"./TableColGroup\";\nimport { HeaderRow } from \"./HeaderRow\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { clsx } from \"clsx\";\n\nimport { GridColumnGroupModel, GridColumnModel } from \"../Grid\";\n\nimport { GroupHeaderRow } from \"./GroupHeaderRow\";\nimport { useActiveOnWheel } from \"./gridHooks\";\n\nimport topRightPartCss from \"./TopRightPart.css\";\n\nconst withBaseName = makePrefixer(\"saltGridTopRightPart\");\n\nexport interface TopRightPartProps<T> {\n onWheel: EventListener;\n columns: GridColumnModel<T>[];\n columnGroups: GridColumnGroupModel[];\n leftShadow?: boolean;\n bottomShadow?: boolean;\n}\n\nexport function TopRightPart<T>(props: TopRightPartProps<T>) {\n const { onWheel, columns, columnGroups, leftShadow, bottomShadow } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-top-right-part\",\n css: topRightPartCss,\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 className={clsx(withBaseName(), {\n [withBaseName(\"leftShadow\")]: leftShadow,\n [withBaseName(\"bottomShadow\")]: bottomShadow,\n })}\n data-testid=\"grid-top-right-part\"\n >\n <table\n className={withBaseName(\"table\")}\n ref={tableRef}\n role=\"presentation\"\n >\n <TableColGroup columns={columns} />\n <thead>\n <GroupHeaderRow groups={columnGroups} />\n <HeaderRow columns={columns} />\n {/*TODO Do we need a toolbar?*/}\n {/*{showToolbar ? <HeaderToolbarRow columns={rightColumns} /> : null}*/}\n </thead>\n </table>\n </div>\n );\n}\n"],"names":["makePrefixer","useWindow","useComponentCssInjection","topRightPartCss","useActiveOnWheel","jsx","clsx","jsxs","TableColGroup","GroupHeaderRow","HeaderRow"],"mappings":";;;;;;;;;;;;;;;AAcA,MAAM,YAAA,GAAeA,kBAAa,sBAAsB,CAAA,CAAA;AAUjD,SAAS,aAAgB,KAA6B,EAAA;AAC3D,EAAA,MAAM,EAAE,OAAS,EAAA,OAAA,EAAS,YAAc,EAAA,UAAA,EAAY,cAAiB,GAAA,KAAA,CAAA;AAErE,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,qBAAA;AAAA,IACR,GAAK,EAAAC,cAAA;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,SAAA,EAAWC,SAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC9B,CAAC,YAAa,CAAA,YAAY,CAAI,GAAA,UAAA;AAAA,MAC9B,CAAC,YAAa,CAAA,cAAc,CAAI,GAAA,YAAA;AAAA,KACjC,CAAA;AAAA,IACD,aAAY,EAAA,qBAAA;AAAA,IAEZ,QAAC,kBAAAC,eAAA,CAAA,OAAA,EAAA;AAAA,MACC,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,MAC/B,GAAK,EAAA,QAAA;AAAA,MACL,IAAK,EAAA,cAAA;AAAA,MAEL,QAAA,EAAA;AAAA,wBAACF,cAAA,CAAAG,2BAAA,EAAA;AAAA,UAAc,OAAA;AAAA,SAAkB,CAAA;AAAA,wBAChCD,eAAA,CAAA,OAAA,EAAA;AAAA,UACC,QAAA,EAAA;AAAA,4BAACF,cAAA,CAAAI,6BAAA,EAAA;AAAA,cAAe,MAAQ,EAAA,YAAA;AAAA,aAAc,CAAA;AAAA,4BACrCJ,cAAA,CAAAK,mBAAA,EAAA;AAAA,cAAU,OAAA;AAAA,aAAkB,CAAA;AAAA,WAAA;AAAA,SAG/B,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
|