/**
 * Icon acorn
 *  Custom properties and styles with configuration
 */

/**
 * Requires
 */
@use '../../abstract/config' as abstract;
@use '../../mixins/properties' as mixins;

/**
 * Component css class
 * @protected
 * @type {string} css class
 */
$class: 'ui-icon' !default;

/**
 * Component property prefix
 * @protected
 * @type {string} property name
 */
$props: 'ui-icon-' !default;

/**
 * Config defaults
 * @private
 * @type {map}
 */
$-config: (
  acorn-hat-height: 0.35,
  acorn-hat-width: 0.8,
  acorn-height: 0.9,
  acorn-width: 0.8,
);

/**
 * Update component config options
 * @public
 * @param {map} $options - Map of config options
 * @output {void} - Only sets config options
 */
@mixin config($options) {
  $-config: abstract.config($options, $-config, false, true, 'icons-styled-acorn.config::') !global;
}

/**
 * Generate required custom properties
 * @public
 * @output Adds components custom properties in current scope
 */
@mixin properties() {
  @include mixins.properties($-config, $props, '_at_', 'icons-styled-acorn.properties::');
}

/**
 * Generate icon styles
 * @public
 * @output Outputs configured icon styles in given context
 */
@mixin styles() {
  .#{$class}[data-icon="acorn"] {
    &::before {
      height: calc(var(--#{$props}size) * var(--#{$props}unit) * var(--#{$props}acorn-hat-height));
      width: calc(var(--#{$props}size) * var(--#{$props}unit) * var(--#{$props}acorn-hat-width));
      background-color: var(--#{$props}color);
      transform: translate(-58%, -120%);
      clip-path: polygon( 96.61% 95.887%,96.61% 95.887%,96.902% 95.524%,97.223% 95.082%,97.565% 94.563%,97.918% 93.965%,98.272% 93.29%,98.619% 92.537%,98.948% 91.706%,99.251% 90.797%,99.518% 89.81%,99.739% 88.745%,99.739% 88.745%,99.778% 88.426%,99.816% 88.116%,99.853% 87.811%,99.887% 87.508%,99.919% 87.202%,99.946% 86.89%,99.968% 86.567%,99.985% 86.23%,99.996% 85.875%,100% 85.498%,100% 85.498%,99.977% 83.427%,99.907% 81.37%,99.792% 79.328%,99.633% 77.304%,99.43% 75.298%,99.183% 73.311%,98.895% 71.345%,98.565% 69.401%,98.194% 67.48%,97.784% 65.584%,97.784% 65.584%,97.784% 65.578%,97.784% 65.562%,97.784% 65.538%,97.784% 65.508%,97.784% 65.476%,97.784% 65.444%,97.784% 65.415%,97.784% 65.39%,97.784% 65.374%,97.784% 65.368%,97.784% 65.368%,97.205% 62.998%,96.565% 60.693%,95.866% 58.452%,95.109% 56.277%,94.296% 54.167%,93.428% 52.121%,92.507% 50.141%,91.534% 48.225%,90.511% 46.374%,89.439% 44.589%,89.439% 44.589%,89.439% 44.589%,89.439% 44.587%,89.439% 44.583%,89.439% 44.575%,89.439% 44.562%,89.439% 44.542%,89.439% 44.515%,89.439% 44.478%,89.439% 44.431%,89.439% 44.372%,89.439% 44.372%,89.436% 44.372%,89.426% 44.371%,89.411% 44.366%,89.393% 44.358%,89.374% 44.345%,89.355% 44.326%,89.337% 44.298%,89.323% 44.261%,89.313% 44.215%,89.309% 44.156%,89.309% 44.156%,88.187% 42.448%,87.013% 40.833%,85.791% 39.311%,84.524% 37.884%,83.214% 36.553%,81.865% 35.319%,80.48% 34.185%,79.062% 33.15%,77.615% 32.216%,76.141% 31.385%,76.141% 31.385%,76.141% 31.385%,76.141% 31.385%,76.141% 31.385%,76.141% 31.385%,76.141% 31.385%,76.141% 31.385%,76.141% 31.385%,76.141% 31.385%,76.141% 31.385%,76.141% 31.385%,76.141% 31.385%,75.159% 30.892%,74.169% 30.45%,73.172% 30.061%,72.167% 29.723%,71.154% 29.437%,70.133% 29.203%,69.104% 29.022%,68.068% 28.892%,67.023% 28.814%,65.971% 28.788%,62.581% 28.788%,62.581% 28.788%,63.028% 26.08%,63.584% 23.411%,64.251% 20.781%,65.031% 18.19%,65.922% 15.639%,66.928% 13.126%,68.047% 10.652%,69.282% 8.216%,70.632% 5.82%,72.099% 3.463%,72.099% 3.463%,72.209% 3.262%,72.302% 3.049%,72.381% 2.826%,72.443% 2.594%,72.49% 2.354%,72.522% 2.107%,72.537% 1.856%,72.537% 1.6%,72.522% 1.342%,72.49% 1.082%,72.49% 1.082%,72.404% 0.947%,72.305% 0.803%,72.192% 0.658%,72.069% 0.514%,71.936% 0.379%,71.796% 0.256%,71.649% 0.152%,71.497% 0.071%,71.343% 0.019%,71.186% 0%,62.973% 0%,62.973% 0%,62.894% 0.006%,62.816% 0.024%,62.738% 0.053%,62.66% 0.09%,62.581% 0.135%,62.503% 0.187%,62.425% 0.244%,62.347% 0.305%,62.269% 0.368%,62.19% 0.433%,62.19% 0.433%,60.751% 2.583%,59.547% 4.88%,58.556% 7.327%,57.755% 9.929%,57.122% 12.689%,56.633% 15.612%,56.266% 18.701%,55.999% 21.96%,55.808% 25.393%,55.671% 29.004%,51.369% 29.004%,51.369% 29.004%,50.352% 29.03%,49.337% 29.106%,48.325% 29.232%,47.318% 29.406%,46.317% 29.627%,45.324% 29.893%,44.34% 30.203%,43.367% 30.556%,42.407% 30.95%,41.46% 31.385%,41.46% 31.385%,41.46% 31.385%,41.46% 31.385%,41.46% 31.385%,41.46% 31.385%,41.46% 31.385%,41.46% 31.385%,41.46% 31.385%,41.46% 31.385%,41.46% 31.385%,41.46% 31.385%,41.46% 31.385%,39.986% 32.216%,38.538% 33.15%,37.117% 34.185%,35.728% 35.319%,34.371% 36.553%,33.049% 37.884%,31.765% 39.311%,30.521% 40.833%,29.319% 42.448%,28.162% 44.156%,28.162% 44.156%,28.162% 44.156%,28.161% 44.156%,28.158% 44.156%,28.153% 44.156%,28.145% 44.156%,28.134% 44.156%,28.117% 44.156%,28.095% 44.156%,28.067% 44.156%,28.031% 44.156%,28.031% 44.156%,28.031% 44.156%,28.031% 44.158%,28.031% 44.162%,28.031% 44.17%,28.031% 44.183%,28.031% 44.203%,28.031% 44.23%,28.031% 44.267%,28.031% 44.314%,28.031% 44.372%,28.031% 44.372%,26.96% 46.105%,25.936% 47.926%,24.96% 49.829%,24.034% 51.811%,23.158% 53.869%,22.333% 55.998%,21.56% 58.195%,20.839% 60.455%,20.171% 62.776%,19.557% 65.152%,19.557% 65.152%,19.557% 65.152%,19.557% 65.153%,19.557% 65.157%,19.557% 65.165%,19.557% 65.179%,19.557% 65.198%,19.557% 65.226%,19.557% 65.262%,19.557% 65.309%,19.557% 65.368%,19.557% 65.368%,19.143% 67.27%,18.762% 69.209%,18.417% 71.181%,18.111% 73.184%,17.846% 75.216%,17.623% 77.274%,17.446% 79.356%,17.316% 81.458%,17.237% 83.578%,17.21% 85.714%,17.21% 85.714%,17.229% 86.675%,17.287% 87.609%,17.382% 88.514%,17.514% 89.389%,17.683% 90.233%,17.886% 91.044%,18.123% 91.822%,18.395% 92.565%,18.699% 93.271%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.035% 93.939%,19.196% 94.258%,19.364% 94.563%,19.54% 94.855%,19.724% 95.134%,19.915% 95.4%,20.115% 95.654%,20.322% 95.894%,20.537% 96.121%,20.76% 96.335%,20.991% 96.537%,20.991% 96.537%,24.796% 97.224%,28.702% 97.853%,32.706% 98.417%,36.807% 98.909%,41.004% 99.324%,45.294% 99.654%,49.677% 99.893%,54.151% 100.035%,58.713% 100.073%,63.364% 100%,63.364% 100%,66.991% 99.809%,70.526% 99.614%,73.978% 99.398%,77.357% 99.145%,80.671% 98.837%,83.931% 98.457%,87.146% 97.989%,90.324% 97.416%,93.476% 96.721%,96.61% 95.887% );
    }
    &::after {
      height: calc(var(--#{$props}size) * var(--#{$props}unit) * var(--#{$props}acorn-height));
      width: calc(var(--#{$props}size) * var(--#{$props}unit) * var(--#{$props}acorn-width));
      background-color: var(--#{$props}color);
      transform: translate(-60%, -55%);
      clip-path: polygon( 62.772% 55%,62.772% 55%,60.499% 54.987%,58.191% 54.953%,55.885% 54.901%,53.617% 54.836%,51.427% 54.764%,49.35% 54.688%,47.425% 54.613%,45.689% 54.545%,44.18% 54.487%,42.935% 54.444%,42.935% 54.444%,40.526% 54.344%,38.196% 54.244%,35.946% 54.144%,33.783% 54.044%,31.709% 53.944%,29.728% 53.844%,27.846% 53.744%,26.065% 53.644%,24.391% 53.544%,22.826% 53.444%,22.826% 53.444%,23.594% 61.807%,25.138% 68.984%,27.419% 75.11%,30.398% 80.321%,34.035% 84.75%,38.292% 88.532%,43.13% 91.803%,48.509% 94.696%,54.39% 97.346%,60.734% 99.889%,60.734% 99.889%,60.811% 99.919%,60.883% 99.943%,60.949% 99.962%,61.012% 99.976%,61.073% 99.986%,61.135% 99.993%,61.198% 99.997%,61.264% 99.999%,61.335% 100%,61.413% 100%,61.413% 100%,61.458% 100%,61.509% 99.999%,61.565% 99.997%,61.624% 99.993%,61.685% 99.986%,61.746% 99.976%,61.805% 99.962%,61.861% 99.943%,61.912% 99.919%,61.957% 99.889%,61.957% 99.889%,67.413% 97.635%,72.22% 95.378%,76.393% 93.174%,79.952% 91.08%,82.914% 89.153%,85.298% 87.449%,87.12% 86.025%,88.4% 84.938%,89.155% 84.244%,89.402% 84%,89.402% 84%,92.513% 80.168%,94.965% 76.318%,96.836% 72.519%,98.2% 68.839%,99.134% 65.347%,99.713% 62.112%,100.013% 59.202%,100.111% 56.686%,100.081% 54.633%,100% 53.111%,100% 53.111%,95.348% 53.566%,90.859% 53.937%,86.549% 54.233%,82.435% 54.464%,78.533% 54.639%,74.859% 54.767%,71.429% 54.858%,68.261% 54.921%,65.37% 54.965%,62.772% 55% );
    }
  }
}
