Raxol.UI.Layout.CSSGrid.ItemPlacement (Raxol v2.6.0)

View Source

Handles grid item placement: explicit placement via grid-area / grid-row / grid-column, occupancy-grid construction, and auto-placement (grid-auto-flow).

Summary

Functions

auto_place_items(placed_items, column_tracks, row_tracks, grid_props)

Auto-place items that have no explicit cell.

cell_available?(grid, row, col)

cell_intersects(row_idx, col_idx, cell)

cell_occupies_position(bool, occupied)

check_column_availability(row_data, col)

create_grid_item(child, cell, dims, acc)

create_occupancy_grid(items, col_count, row_count)

determine_cell_placement(grid_area, grid_row, grid_column, areas, row_tracks, column_tracks)

find_auto_placement(item, occupancy, flow, col_count, row_count)

find_next_available_column(grid, row, col, col_count, row_count)

find_next_available_row(grid, row, col, col_count, row_count)

mark_cells_if_present(cell, acc)

mark_occupied_cells(grid, cell)

parse_grid_areas(areas_str)

Parse grid-template-areas string into a map of area_name -> bounds.

parse_grid_line(line_str, track_count)

parse_grid_line_end(start_num, end_str, track_count)

parse_line_number(line_str, track_count)

place_grid_items(children, column_tracks, row_tracks, areas, content_space, grid_props)

Place children that have explicit grid-area / grid-row / grid-column.

update_area_bounds(area_name, row, col, acc)