/*
@magma-design-system/design-tokens v{{ version }}
Generated by Style Dictionary
Do not edit directly
Generated at {{ date }}
*/

// ignore_for_file: unused_import

import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:flutter/painting.dart';

class TextStyles {
  TextStyles._();

{{#each properties as | fonts |}}
  {{#each fonts as | groups |}}
    {{#each groups.variants as | variants |}}
      {{#ifFlutterCompatible @../key @key }}
  static const TextStyle {{#pascalCase}}{{@../key}}-{{@key}}{{/pascalCase}} = TextStyle(
      fontFamily: "{{getFirstFont groups.fontFamily.value}}",
      fontFamilyFallback: <String>[{{getArrayFontName groups.fontFamily.value}}],
        {{#each variants as | rules |}}
          {{#ifDartTextStyleProp @key}}
            {{#ifEquals @key 'lineHeight'}}
      height: {{rules.value}},
            {{else}}
      {{@key}}: {{ rules.value}},
            {{/ifEquals}}
          {{/ifDartTextStyleProp}}
        {{/each}}
  );
      {{/ifFlutterCompatible}}
    {{/each}}
  {{! bold variants }}
    {{#each groups.variants as | variants |}}
      {{#if variants.variants}}
        {{#each variants.variants as | fontVariants |}}
          {{#ifFlutterCompatible @../../key @../key @key }}
  static const TextStyle {{#pascalCase}}{{@../../key}}-{{@../key}}-{{@key}}{{/pascalCase}} = TextStyle(
      fontFamily: "{{getFirstFont groups.fontFamily.value}}",
      fontFamilyFallback: <String>[{{getArrayFontName groups.fontFamily.value}}],
            {{#each variants as | rules |}}
              {{#ifDartTextStyleProp @../key}}
                {{#ifEquals @../key 'lineHeight'}}
      height: {{rules.value}},
                {{else}}
      {{@key}}: {{ rules.value}},
                {{/ifEquals}}
              {{/ifDartTextStyleProp}}
            {{/each}}
  );
          {{/ifFlutterCompatible}}
        {{/each}}
      {{/if}}
    {{/each}}
  {{/each}}
{{/each}}

  static const TextTheme textTheme = TextTheme(
{{#each properties as | fonts |}}
  {{#each fonts as | groups |}}
    {{#each groups.variants as | variants |}}
      {{#ifFlutterCompatible @../key @key }}
    {{flutterTextThemeVariant @../key @key}}: TextStyle.{{#pascalCase}}{{@../key}}-{{@key}}{{/pascalCase}}
      {{/ifFlutterCompatible}}
      {{!-- variant bold --}}
      {{#each variants.variants as | fontVariants |}}
        {{#ifFlutterCompatible @../../key @../key @key }}
    {{flutterTextThemeVariant @../../key @../key @key}}: TextStyle.{{#pascalCase}}{{@../../key}}-{{@../key}}-{{@key}}{{/pascalCase}}
        {{/ifFlutterCompatible}}
      {{/each}}
    {{/each}}
  {{/each}}
{{/each}}
  );
}
