{"version":3,"sources":["../../../../src/nhsuk/core/tools/_functions.scss"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,uBAAuB;;AAEvB,GAAG;AACH,YAAY;AACZ,EAAE;AACF,eAAe;AACf,GAAG;;AAEH,uBAAuB;AACvB,EAAE;AACF,4CAA4C;AAC5C,oFAAoF;AACpF,iCAAiC;AACjC,EAAE;AACF,gBAAgB;AAChB,2CAA2C;AAC3C,EAAE;AACF,6GAA6G;;AAE7G;EACE;IACE,oBAAoB;EACtB;;EAEA;IACE,4CAA4C;EAC9C;;EAEA;IACE,sDAAsD;EACxD;;EAEA,kDAAkD;AACpD;;AAEA,wBAAwB;AACxB,EAAE;AACF,gEAAgE;AAChE,wEAAwE;AACxE,EAAE;AACF,4CAA4C;AAC5C,kCAAkC;AAClC,EAAE;AACF,gBAAgB;AAChB,2BAA2B;AAC3B,EAAE;;AAEF;EACE;IACE,oBAAoB;EACtB;;EAEA;IACE,cAAc;EAChB;;EAEA,sDAAsD;AACxD;;AAEA,4EAA4E;AAC5E,EAAE;AACF,yFAAyF;AACzF,6CAA6C;;AAE7C;EACE;IACE,4BAA4B;EAC9B;;EAEA,mCAAmC;EACnC,6CAA6C;;EAE7C,kEAAkE;EAClE,8CAA8C;;EAE9C,uDAAuD;EACvD,wEAAwE;AAC1E","file":"_functions.scss","sourcesContent":["@use \"sass:math\";\n@use \"../settings\" as *;\n\n////\n/// Functions\n///\n/// @group tools\n////\n\n/// Convert pixels to em\n///\n/// @param {Number} $value - Length in pixels\n/// @param {Number} $context-font-size [$nhsuk-root-font-size] - Font size of element\n/// @return {Number} Length in ems\n///\n/// @example scss\n///   nhsuk-em(20px, $nhsuk-root-font-size);\n///\n/// @link https://github.com/alphagov/govuk-frontend Original code taken from GDS (Government Digital Service)\n\n@function nhsuk-em($value, $context-font-size: $nhsuk-root-font-size) {\n  @if math.is-unitless($value) {\n    $value: $value * 1px;\n  }\n\n  @if math.is-unitless($context-font-size) {\n    $context-font-size: $context-font-size * 1px;\n  }\n\n  @if math.compatible($value, 1rem) {\n    $value: math.div($value, 1rem) * $nhsuk-root-font-size;\n  }\n\n  @return math.div($value, $context-font-size) * 1em;\n}\n\n/// Convert pixels to rem\n///\n/// The $nhsuk-root-font-size (defined in settings/_globals.scss)\n/// must be configured to match the font-size of your root (html) element\n///\n/// @param {Number} $value - Length in pixels\n/// @return {Number} Length in rems\n///\n/// @example scss\n///   nhsuk-px-to-rem(20px);\n///\n\n@function nhsuk-px-to-rem($value) {\n  @if math.is-unitless($value) {\n    $value: $value * 1px;\n  }\n\n  @if math.compatible($value, 1rem) {\n    @return $value;\n  }\n\n  @return math.div($value, $nhsuk-root-font-size) * 1rem;\n}\n\n/// Get the size (△↕) of chevron, from base to tip, given a certain font size\n///\n/// @param {Number} $font-size [$nhsuk-root-font-size] - Font size to base chevron size on\n/// @return {String} Height of chevron in rems\n\n@function nhsuk-chevron-size($font-size: $nhsuk-root-font-size) {\n  @if math.is-unitless($font-size) {\n    $font-size: $font-size * 1px;\n  }\n\n  // Get unitless chevron border width\n  $border: math.div($nhsuk-chevron-border, 1px);\n\n  // Get unitless length of one side of the chevron, minus the border\n  $box-size: math.div($font-size, 2px) - $border;\n\n  // Calculate width (△↕) of the chevron, from base to tip\n  @return math.sqrt(math.pow($box-size, 2) + math.pow($box-size, 2)) * 0.5;\n}\n"]}
