{"version":3,"sourceRoot":"","sources":["file:///builds/csdr/eui/eui/packages/eds-styles/dist/tmp/base/05-vendors/_eds-grid.scss"],"names":[],"mappings":"AA+EA;EACE;EACA;EACA,gBArDY;EAsDZ;;AAdE;EAUJ;IAQM,WAjDY;;;AA+Bd;EAUJ;IAQM,WAjDY;;;AA+Bd;EAUJ;IAQM,WAjDY;;;AA+Bd;EAUJ;IAQM,WAjDY;;;AAyClB;EAQM,WAjDY;;;AAsDlB;EACE;EACA;EACA,gBAlEY;EAmEZ;;;AAKF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;AAEA;AAAA;EAEE;;;AAMJ;AAAA;EAEE;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;;;AAUE;EACE;EACA;EACA;;;AAKA;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAFF;EACE;EACA;;;AAOA;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AAQN;EACE;;;AAEF;EACE;;;AAGA;EACE,OAFS;;;AACX;EACE,OAFS;;;AACX;EACE,OAFS;;;AACX;EACE,OAFS;;;AACX;EACE,OAFS;;;AACX;EACE,OAFS;;;AACX;EACE,OAFS;;;AACX;EACE,OAFS;;;AACX;EACE,OAFS;;;AACX;EACE,OAFS;;;AACX;EACE,OAFS;;;AACX;EACE,OAFS;;;AACX;EACE,OAFS;;;AAxGb;EAwEA;IACE;IACA;IACA;;EAKA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAOA;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EAQN;IACE;;EAEF;IACE;;EAGA;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;;AAxGb;EAwEA;IACE;IACA;IACA;;EAKA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAOA;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EAQN;IACE;;EAEF;IACE;;EAGA;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;;AAxGb;EAwEA;IACE;IACA;IACA;;EAKA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAOA;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EAQN;IACE;;EAEF;IACE;;EAGA;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;;AAxGb;EAwEA;IACE;IACA;IACA;;EAKA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAOA;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EAQN;IACE;;EAEF;IACE;;EAGA;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;;AAxGb;EAwEA;IACE;IACA;IACA;;EAKA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAOA;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EAQN;IACE;;EAEF;IACE;;EAGA;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;;AAxGb;EAwEA;IACE;IACA;IACA;;EAKA;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAOA;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EAQN;IACE;;EAEF;IACE;;EAGA;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;EACX;IACE,OAFS;;;AAUjB;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAKF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE","sourcesContent":["@use 'sass:map';\n@use 'sass:math';\n@use 'sass:list';\n@use '../02-tokens/maps' as maps;\n\n// ==========================================================================\n// EDS Grid System\n// A 12-column responsive grid using EDS breakpoints and spacing tokens.\n//\n// Usage:\n//   <div class=\"eds-container\">\n//     <div class=\"eds-row\">\n//       <div class=\"eds-col-12 eds-col-m-6 eds-col-l-4\">Column</div>\n//       <div class=\"eds-col-12 eds-col-m-6 eds-col-l-8\">Column</div>\n//     </div>\n//   </div>\n//\n// Breakpoint prefixes (mobile-first):\n//   (none) = xs (0+)\n//   -s     = 480px+\n//   -m     = 768px+\n//   -l     = 996px+\n//   -xl    = 1140px+\n//   -2xl   = 1600px+\n// ==========================================================================\n\n// --- Configuration ---\n\n$grid-columns: 12 !default;\n$grid-gutter: var(--eds-sp-m) !default;\n\n// Breakpoints from EDS tokens\n$grid-breakpoints: maps.$breakpoint-size-map;\n\n// Add a base breakpoint at 0 for always-active classes (no prefix)\n$grid-breakpoints-with-base: map.merge((base: 0), $grid-breakpoints);\n\n// Container max-widths per breakpoint\n$grid-containers: (\n  's': 768px,\n  'm': 996px,\n  'l': 1140px,\n  'xl': 1440px,\n  '2xl': 1600px,\n) !default;\n\n// --- Breakpoint helpers ---\n\n@function _breakpoint-min($name) {\n  $min: map.get($grid-breakpoints-with-base, $name);\n  @if $min and $min != 0 {\n    @return $min;\n  }\n  @return null;\n}\n\n@function _breakpoint-infix($name) {\n  @if $name == 'base' {\n    @return '';\n  }\n  @if _breakpoint-min($name) == null {\n    @return '';\n  }\n  @return '-#{$name}';\n}\n\n@mixin _breakpoint-up($name) {\n  $min: _breakpoint-min($name);\n  @if $min {\n    @media screen and (min-width: $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// --- Container ---\n\n.eds-container {\n  box-sizing: border-box;\n  margin-inline: auto;\n  padding-inline: $grid-gutter;\n  width: 100%;\n\n  @each $breakpoint, $max-width in $grid-containers {\n    @include _breakpoint-up($breakpoint) {\n      max-width: $max-width;\n    }\n  }\n}\n\n.eds-container-fluid {\n  box-sizing: border-box;\n  margin-inline: auto;\n  padding-inline: $grid-gutter;\n  width: 100%;\n}\n\n// --- Row ---\n\n.eds-row {\n  box-sizing: border-box;\n  display: flex;\n  flex-wrap: wrap;\n  margin-inline: calc(#{$grid-gutter} * -0.5);\n}\n\n.eds-row-no-gutters {\n  margin-inline: 0;\n\n  > .eds-col,\n  > [class*='eds-col-'] {\n    padding-inline: 0;\n  }\n}\n\n// --- Columns base styles ---\n\n.eds-col,\n[class*='eds-col-'] {\n  box-sizing: border-box;\n  min-height: 1px;\n  padding-inline: calc(#{$grid-gutter} * 0.5);\n  position: relative;\n  width: 100%;\n}\n\n// Auto-width column\n.eds-col {\n  flex: 1 0 0%;\n  max-width: 100%;\n}\n\n// --- Generate grid classes for each breakpoint ---\n\n@each $breakpoint, $bp-value in $grid-breakpoints-with-base {\n  $infix: _breakpoint-infix($breakpoint);\n\n  @include _breakpoint-up($breakpoint) {\n    // Auto-width column at breakpoint\n    .eds-col#{$infix}-auto {\n      flex: 0 0 auto;\n      max-width: none;\n      width: auto;\n    }\n\n    // Sized columns\n    @for $i from 1 through $grid-columns {\n      .eds-col#{$infix}-#{$i} {\n        flex: 0 0 math.percentage(math.div($i, $grid-columns));\n        max-width: math.percentage(math.div($i, $grid-columns));\n      }\n    }\n\n    // Offsets\n    @for $i from 0 through ($grid-columns - 1) {\n      @if not($infix == '' and $i == 0) {\n        .eds-offset#{$infix}-#{$i} {\n          margin-inline-start: math.percentage(\n            math.div($i, $grid-columns)\n          );\n        }\n      }\n    }\n\n    // Order utilities\n    .eds-order#{$infix}-first {\n      order: -1;\n    }\n    .eds-order#{$infix}-last {\n      order: $grid-columns + 1;\n    }\n    @for $i from 0 through $grid-columns {\n      .eds-order#{$infix}-#{$i} {\n        order: $i;\n      }\n    }\n  }\n}\n\n// --- Row alignment utilities ---\n\n.eds-row-align-start {\n  align-items: flex-start;\n}\n\n.eds-row-align-center {\n  align-items: center;\n}\n\n.eds-row-align-end {\n  align-items: flex-end;\n}\n\n.eds-row-align-stretch {\n  align-items: stretch;\n}\n\n.eds-row-justify-start {\n  justify-content: flex-start;\n}\n\n.eds-row-justify-center {\n  justify-content: center;\n}\n\n.eds-row-justify-end {\n  justify-content: flex-end;\n}\n\n.eds-row-justify-between {\n  justify-content: space-between;\n}\n\n.eds-row-justify-around {\n  justify-content: space-around;\n}\n\n.eds-row-justify-evenly {\n  justify-content: space-evenly;\n}\n\n// --- Column self-alignment ---\n\n.eds-col-align-start {\n  align-self: flex-start;\n}\n\n.eds-col-align-center {\n  align-self: center;\n}\n\n.eds-col-align-end {\n  align-self: flex-end;\n}\n\n.eds-col-align-stretch {\n  align-self: stretch;\n}\n"]}