Settings
This commit is contained in:
parent
09605f5c50
commit
dcc54782e8
|
|
@ -956,6 +956,14 @@ abstract class SettingsEntity
|
|||
@BuiltValueField(wireName: 'secondary_color')
|
||||
String get secondaryColor;
|
||||
|
||||
@nullable
|
||||
@BuiltValueField(wireName: 'primary_font')
|
||||
String get primaryFont;
|
||||
|
||||
@nullable
|
||||
@BuiltValueField(wireName: 'secondary_font')
|
||||
String get secondaryFont;
|
||||
|
||||
|
||||
|
||||
// TODO remove this field
|
||||
|
|
|
|||
|
|
@ -1429,6 +1429,18 @@ class _$SettingsEntitySerializer
|
|||
..add(serializers.serialize(object.secondaryColor,
|
||||
specifiedType: const FullType(String)));
|
||||
}
|
||||
if (object.primaryFont != null) {
|
||||
result
|
||||
..add('primary_font')
|
||||
..add(serializers.serialize(object.primaryFont,
|
||||
specifiedType: const FullType(String)));
|
||||
}
|
||||
if (object.secondaryFont != null) {
|
||||
result
|
||||
..add('secondary_font')
|
||||
..add(serializers.serialize(object.secondaryFont,
|
||||
specifiedType: const FullType(String)));
|
||||
}
|
||||
if (object.customPaymentTerms != null) {
|
||||
result
|
||||
..add('custom_payment_terms')
|
||||
|
|
@ -1924,6 +1936,14 @@ class _$SettingsEntitySerializer
|
|||
result.secondaryColor = serializers.deserialize(value,
|
||||
specifiedType: const FullType(String)) as String;
|
||||
break;
|
||||
case 'primary_font':
|
||||
result.primaryFont = serializers.deserialize(value,
|
||||
specifiedType: const FullType(String)) as String;
|
||||
break;
|
||||
case 'secondary_font':
|
||||
result.secondaryFont = serializers.deserialize(value,
|
||||
specifiedType: const FullType(String)) as String;
|
||||
break;
|
||||
case 'custom_payment_terms':
|
||||
result.customPaymentTerms.replace(serializers.deserialize(value,
|
||||
specifiedType: const FullType(
|
||||
|
|
@ -3448,6 +3468,10 @@ class _$SettingsEntity extends SettingsEntity {
|
|||
@override
|
||||
final String secondaryColor;
|
||||
@override
|
||||
final String primaryFont;
|
||||
@override
|
||||
final String secondaryFont;
|
||||
@override
|
||||
final BuiltList<PaymentTermEntity> customPaymentTerms;
|
||||
@override
|
||||
final bool hasCustomDesign1;
|
||||
|
|
@ -3573,6 +3597,8 @@ class _$SettingsEntity extends SettingsEntity {
|
|||
this.fontSize,
|
||||
this.primaryColor,
|
||||
this.secondaryColor,
|
||||
this.primaryFont,
|
||||
this.secondaryFont,
|
||||
this.customPaymentTerms,
|
||||
this.hasCustomDesign1,
|
||||
this.hasCustomDesign2,
|
||||
|
|
@ -3704,6 +3730,8 @@ class _$SettingsEntity extends SettingsEntity {
|
|||
fontSize == other.fontSize &&
|
||||
primaryColor == other.primaryColor &&
|
||||
secondaryColor == other.secondaryColor &&
|
||||
primaryFont == other.primaryFont &&
|
||||
secondaryFont == other.secondaryFont &&
|
||||
customPaymentTerms == other.customPaymentTerms &&
|
||||
hasCustomDesign1 == other.hasCustomDesign1 &&
|
||||
hasCustomDesign2 == other.hasCustomDesign2 &&
|
||||
|
|
@ -3730,9 +3758,7 @@ class _$SettingsEntity extends SettingsEntity {
|
|||
$jc(
|
||||
$jc(
|
||||
$jc(
|
||||
$jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc(0, timezoneId.hashCode), dateFormatId.hashCode), enableMilitaryTime.hashCode), languageId.hashCode), showCurrencyCode.hashCode), currencyId.hashCode), customValue1.hashCode), customValue2.hashCode), customValue3.hashCode), customValue4.hashCode), defaultPaymentTerms.hashCode), companyGatewayIds.hashCode), defaultTaskRate.hashCode), sendReminders.hashCode), showTasksInPortal.hashCode), emailStyle.hashCode), replyToEmail.hashCode), bccEmail.hashCode), pdfEmailAttachment.hashCode), ublEmailAttachment.hashCode), documentEmailAttachment.hashCode), emailStyleCustom.hashCode), customMessageDashboard.hashCode), customMessageUnpaidInvoice.hashCode), customMessagePaidInvoice.hashCode), customMessageUnapprovedQuote.hashCode), lockSentInvoices.hashCode), autoArchiveInvoice.hashCode), autoArchiveQuote.hashCode), autoEmailInvoice.hashCode), autoConvertQuote.hashCode), enableInclusiveTaxes.hashCode), translations.hashCode), taskNumberPattern.hashCode), taskNumberCounter.hashCode), expenseNumberPattern.hashCode), expenseNumberCounter.hashCode), vendorNumberPattern.hashCode), vendorNumberCounter.hashCode), ticketNumberPattern.hashCode), ticketNumberCounter.hashCode), paymentNumberPattern.hashCode), paymentNumberCounter.hashCode), invoiceNumberPattern.hashCode), invoiceNumberCounter.hashCode), quoteNumberPattern.hashCode), quoteNumberCounter.hashCode), clientNumberPattern.hashCode), clientNumberCounter.hashCode), creditNumberPattern.hashCode), creditNumberCounter.hashCode), recurringInvoiceNumberPrefix.hashCode), resetCounterFrequencyId.hashCode), resetCounterDate.hashCode), counterPadding.hashCode), sharedInvoiceQuoteCounter.hashCode), defaultInvoiceTerms.hashCode), defaultQuoteTerms.hashCode), defaultQuoteFooter.hashCode), enableInvoiceTaxes.hashCode), enableInvoiceItemTaxes.hashCode), defaultInvoiceDesignId.hashCode), defaultQuoteDesignId.hashCode), defaultInvoiceFooter.hashCode), invoiceLabels.hashCode), showInvoiceItemTaxes.hashCode), defaultTaxName1.hashCode), defaultTaxRate1.hashCode), defaultTaxName2.hashCode), defaultTaxRate2.hashCode), defaultTaxName3.hashCode), defaultTaxRate3.hashCode), defaultPaymentTypeId.hashCode), enableSecondTaxRate.hashCode), invoiceFields.hashCode), emailFooter.hashCode), emailSubjectInvoice.hashCode), emailSubjectQuote.hashCode), emailSubjectPayment.hashCode), emailBodyInvoice.hashCode), emailBodyQuote.hashCode), emailBodyPayment.hashCode), emailSubjectReminder1.hashCode), emailSubjectReminder2.hashCode), emailSubjectReminder3.hashCode), emailBodyReminder1.hashCode), emailBodyReminder2.hashCode), emailBodyReminder3.hashCode), enablePortalPassword.hashCode), sendPortalPassword.hashCode), signatureOnPdf.hashCode), enableEmailMarkup.hashCode), showAcceptInvoiceTerms.hashCode), showAcceptQuoteTerms.hashCode), requireInvoiceSignature.hashCode), requireQuoteSignature.hashCode), name.hashCode), companyLogo.hashCode),
|
||||
website.hashCode),
|
||||
address1.hashCode),
|
||||
$jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc($jc(0, timezoneId.hashCode), dateFormatId.hashCode), enableMilitaryTime.hashCode), languageId.hashCode), showCurrencyCode.hashCode), currencyId.hashCode), customValue1.hashCode), customValue2.hashCode), customValue3.hashCode), customValue4.hashCode), defaultPaymentTerms.hashCode), companyGatewayIds.hashCode), defaultTaskRate.hashCode), sendReminders.hashCode), showTasksInPortal.hashCode), emailStyle.hashCode), replyToEmail.hashCode), bccEmail.hashCode), pdfEmailAttachment.hashCode), ublEmailAttachment.hashCode), documentEmailAttachment.hashCode), emailStyleCustom.hashCode), customMessageDashboard.hashCode), customMessageUnpaidInvoice.hashCode), customMessagePaidInvoice.hashCode), customMessageUnapprovedQuote.hashCode), lockSentInvoices.hashCode), autoArchiveInvoice.hashCode), autoArchiveQuote.hashCode), autoEmailInvoice.hashCode), autoConvertQuote.hashCode), enableInclusiveTaxes.hashCode), translations.hashCode), taskNumberPattern.hashCode), taskNumberCounter.hashCode), expenseNumberPattern.hashCode), expenseNumberCounter.hashCode), vendorNumberPattern.hashCode), vendorNumberCounter.hashCode), ticketNumberPattern.hashCode), ticketNumberCounter.hashCode), paymentNumberPattern.hashCode), paymentNumberCounter.hashCode), invoiceNumberPattern.hashCode), invoiceNumberCounter.hashCode), quoteNumberPattern.hashCode), quoteNumberCounter.hashCode), clientNumberPattern.hashCode), clientNumberCounter.hashCode), creditNumberPattern.hashCode), creditNumberCounter.hashCode), recurringInvoiceNumberPrefix.hashCode), resetCounterFrequencyId.hashCode), resetCounterDate.hashCode), counterPadding.hashCode), sharedInvoiceQuoteCounter.hashCode), defaultInvoiceTerms.hashCode), defaultQuoteTerms.hashCode), defaultQuoteFooter.hashCode), enableInvoiceTaxes.hashCode), enableInvoiceItemTaxes.hashCode), defaultInvoiceDesignId.hashCode), defaultQuoteDesignId.hashCode), defaultInvoiceFooter.hashCode), invoiceLabels.hashCode), showInvoiceItemTaxes.hashCode), defaultTaxName1.hashCode), defaultTaxRate1.hashCode), defaultTaxName2.hashCode), defaultTaxRate2.hashCode), defaultTaxName3.hashCode), defaultTaxRate3.hashCode), defaultPaymentTypeId.hashCode), enableSecondTaxRate.hashCode), invoiceFields.hashCode), emailFooter.hashCode), emailSubjectInvoice.hashCode), emailSubjectQuote.hashCode), emailSubjectPayment.hashCode), emailBodyInvoice.hashCode), emailBodyQuote.hashCode), emailBodyPayment.hashCode), emailSubjectReminder1.hashCode), emailSubjectReminder2.hashCode), emailSubjectReminder3.hashCode), emailBodyReminder1.hashCode), emailBodyReminder2.hashCode), emailBodyReminder3.hashCode), enablePortalPassword.hashCode), sendPortalPassword.hashCode), signatureOnPdf.hashCode), enableEmailMarkup.hashCode), showAcceptInvoiceTerms.hashCode), showAcceptQuoteTerms.hashCode), requireInvoiceSignature.hashCode), requireQuoteSignature.hashCode), name.hashCode), companyLogo.hashCode), website.hashCode), address1.hashCode),
|
||||
address2.hashCode),
|
||||
city.hashCode),
|
||||
state.hashCode),
|
||||
|
|
@ -3746,6 +3772,8 @@ class _$SettingsEntity extends SettingsEntity {
|
|||
fontSize.hashCode),
|
||||
primaryColor.hashCode),
|
||||
secondaryColor.hashCode),
|
||||
primaryFont.hashCode),
|
||||
secondaryFont.hashCode),
|
||||
customPaymentTerms.hashCode),
|
||||
hasCustomDesign1.hashCode),
|
||||
hasCustomDesign2.hashCode),
|
||||
|
|
@ -3868,6 +3896,8 @@ class _$SettingsEntity extends SettingsEntity {
|
|||
..add('fontSize', fontSize)
|
||||
..add('primaryColor', primaryColor)
|
||||
..add('secondaryColor', secondaryColor)
|
||||
..add('primaryFont', primaryFont)
|
||||
..add('secondaryFont', secondaryFont)
|
||||
..add('customPaymentTerms', customPaymentTerms)
|
||||
..add('hasCustomDesign1', hasCustomDesign1)
|
||||
..add('hasCustomDesign2', hasCustomDesign2)
|
||||
|
|
@ -4420,6 +4450,15 @@ class SettingsEntityBuilder
|
|||
set secondaryColor(String secondaryColor) =>
|
||||
_$this._secondaryColor = secondaryColor;
|
||||
|
||||
String _primaryFont;
|
||||
String get primaryFont => _$this._primaryFont;
|
||||
set primaryFont(String primaryFont) => _$this._primaryFont = primaryFont;
|
||||
|
||||
String _secondaryFont;
|
||||
String get secondaryFont => _$this._secondaryFont;
|
||||
set secondaryFont(String secondaryFont) =>
|
||||
_$this._secondaryFont = secondaryFont;
|
||||
|
||||
ListBuilder<PaymentTermEntity> _customPaymentTerms;
|
||||
ListBuilder<PaymentTermEntity> get customPaymentTerms =>
|
||||
_$this._customPaymentTerms ??= new ListBuilder<PaymentTermEntity>();
|
||||
|
|
@ -4558,6 +4597,8 @@ class SettingsEntityBuilder
|
|||
_fontSize = _$v.fontSize;
|
||||
_primaryColor = _$v.primaryColor;
|
||||
_secondaryColor = _$v.secondaryColor;
|
||||
_primaryFont = _$v.primaryFont;
|
||||
_secondaryFont = _$v.secondaryFont;
|
||||
_customPaymentTerms = _$v.customPaymentTerms?.toBuilder();
|
||||
_hasCustomDesign1 = _$v.hasCustomDesign1;
|
||||
_hasCustomDesign2 = _$v.hasCustomDesign2;
|
||||
|
|
@ -4699,6 +4740,8 @@ class SettingsEntityBuilder
|
|||
fontSize: fontSize,
|
||||
primaryColor: primaryColor,
|
||||
secondaryColor: secondaryColor,
|
||||
primaryFont: primaryFont,
|
||||
secondaryFont: secondaryFont,
|
||||
customPaymentTerms: _customPaymentTerms?.build(),
|
||||
hasCustomDesign1: hasCustomDesign1,
|
||||
hasCustomDesign2: hasCustomDesign2,
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ class EntityType extends EnumClass {
|
|||
static const EntityType group = _$group;
|
||||
static const EntityType timezone = _$timezone;
|
||||
static const EntityType dateFormat = _$dateFormat;
|
||||
static const EntityType font = _$font;
|
||||
|
||||
String get plural {
|
||||
return toString() + 's';
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ const EntityType _$document = const EntityType._('document');
|
|||
const EntityType _$group = const EntityType._('group');
|
||||
const EntityType _$timezone = const EntityType._('timezone');
|
||||
const EntityType _$dateFormat = const EntityType._('dateFormat');
|
||||
const EntityType _$font = const EntityType._('font');
|
||||
|
||||
EntityType _$typeValueOf(String name) {
|
||||
switch (name) {
|
||||
|
|
@ -102,6 +103,8 @@ EntityType _$typeValueOf(String name) {
|
|||
return _$timezone;
|
||||
case 'dateFormat':
|
||||
return _$dateFormat;
|
||||
case 'font':
|
||||
return _$font;
|
||||
default:
|
||||
throw new ArgumentError(name);
|
||||
}
|
||||
|
|
@ -140,6 +143,7 @@ final BuiltSet<EntityType> _$typeValues =
|
|||
_$group,
|
||||
_$timezone,
|
||||
_$dateFormat,
|
||||
_$font,
|
||||
]);
|
||||
|
||||
const EntityState _$active = const EntityState._('active');
|
||||
|
|
|
|||
|
|
@ -0,0 +1,59 @@
|
|||
import 'package:built_value/built_value.dart';
|
||||
import 'package:built_value/serializer.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
|
||||
part 'font_model.g.dart';
|
||||
|
||||
class FontFields {
|
||||
static const String name = 'name';
|
||||
}
|
||||
|
||||
abstract class FontEntity extends Object
|
||||
with SelectableEntity
|
||||
implements Built<FontEntity, FontEntityBuilder> {
|
||||
factory FontEntity({String id, String name}) {
|
||||
return _$FontEntity._(
|
||||
id: id ?? '',
|
||||
name: name ?? '',
|
||||
);
|
||||
}
|
||||
FontEntity._();
|
||||
|
||||
String get name;
|
||||
|
||||
@override
|
||||
bool matchesFilter(String filter) {
|
||||
if (filter == null || filter.isEmpty) {
|
||||
return true;
|
||||
}
|
||||
|
||||
filter = filter.toLowerCase();
|
||||
|
||||
if (name.toLowerCase().contains(filter)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@override
|
||||
String matchesFilterValue(String filter) {
|
||||
if (filter == null || filter.isEmpty) {
|
||||
return null;
|
||||
}
|
||||
|
||||
filter = filter.toLowerCase();
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@override
|
||||
String get listDisplayName {
|
||||
return name;
|
||||
}
|
||||
|
||||
@override
|
||||
double get listDisplayAmount => null;
|
||||
|
||||
static Serializer<FontEntity> get serializer => _$fontEntitySerializer;
|
||||
}
|
||||
|
|
@ -0,0 +1,144 @@
|
|||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'font_model.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// BuiltValueGenerator
|
||||
// **************************************************************************
|
||||
|
||||
Serializer<FontEntity> _$fontEntitySerializer = new _$FontEntitySerializer();
|
||||
|
||||
class _$FontEntitySerializer implements StructuredSerializer<FontEntity> {
|
||||
@override
|
||||
final Iterable<Type> types = const [FontEntity, _$FontEntity];
|
||||
@override
|
||||
final String wireName = 'FontEntity';
|
||||
|
||||
@override
|
||||
Iterable<Object> serialize(Serializers serializers, FontEntity object,
|
||||
{FullType specifiedType = FullType.unspecified}) {
|
||||
final result = <Object>[
|
||||
'name',
|
||||
serializers.serialize(object.name, specifiedType: const FullType(String)),
|
||||
];
|
||||
if (object.id != null) {
|
||||
result
|
||||
..add('id')
|
||||
..add(serializers.serialize(object.id,
|
||||
specifiedType: const FullType(String)));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@override
|
||||
FontEntity deserialize(Serializers serializers, Iterable<Object> serialized,
|
||||
{FullType specifiedType = FullType.unspecified}) {
|
||||
final result = new FontEntityBuilder();
|
||||
|
||||
final iterator = serialized.iterator;
|
||||
while (iterator.moveNext()) {
|
||||
final key = iterator.current as String;
|
||||
iterator.moveNext();
|
||||
final dynamic value = iterator.current;
|
||||
switch (key) {
|
||||
case 'name':
|
||||
result.name = serializers.deserialize(value,
|
||||
specifiedType: const FullType(String)) as String;
|
||||
break;
|
||||
case 'id':
|
||||
result.id = serializers.deserialize(value,
|
||||
specifiedType: const FullType(String)) as String;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return result.build();
|
||||
}
|
||||
}
|
||||
|
||||
class _$FontEntity extends FontEntity {
|
||||
@override
|
||||
final String name;
|
||||
@override
|
||||
final String id;
|
||||
|
||||
factory _$FontEntity([void Function(FontEntityBuilder) updates]) =>
|
||||
(new FontEntityBuilder()..update(updates)).build();
|
||||
|
||||
_$FontEntity._({this.name, this.id}) : super._() {
|
||||
if (name == null) {
|
||||
throw new BuiltValueNullFieldError('FontEntity', 'name');
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
FontEntity rebuild(void Function(FontEntityBuilder) updates) =>
|
||||
(toBuilder()..update(updates)).build();
|
||||
|
||||
@override
|
||||
FontEntityBuilder toBuilder() => new FontEntityBuilder()..replace(this);
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(other, this)) return true;
|
||||
return other is FontEntity && name == other.name && id == other.id;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
return $jf($jc($jc(0, name.hashCode), id.hashCode));
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return (newBuiltValueToStringHelper('FontEntity')
|
||||
..add('name', name)
|
||||
..add('id', id))
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
||||
class FontEntityBuilder implements Builder<FontEntity, FontEntityBuilder> {
|
||||
_$FontEntity _$v;
|
||||
|
||||
String _name;
|
||||
String get name => _$this._name;
|
||||
set name(String name) => _$this._name = name;
|
||||
|
||||
String _id;
|
||||
String get id => _$this._id;
|
||||
set id(String id) => _$this._id = id;
|
||||
|
||||
FontEntityBuilder();
|
||||
|
||||
FontEntityBuilder get _$this {
|
||||
if (_$v != null) {
|
||||
_name = _$v.name;
|
||||
_id = _$v.id;
|
||||
_$v = null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@override
|
||||
void replace(FontEntity other) {
|
||||
if (other == null) {
|
||||
throw new ArgumentError.notNull('other');
|
||||
}
|
||||
_$v = other as _$FontEntity;
|
||||
}
|
||||
|
||||
@override
|
||||
void update(void Function(FontEntityBuilder) updates) {
|
||||
if (updates != null) updates(this);
|
||||
}
|
||||
|
||||
@override
|
||||
_$FontEntity build() {
|
||||
final _$result = _$v ?? new _$FontEntity._(name: name, id: id);
|
||||
replace(_$result);
|
||||
return _$result;
|
||||
}
|
||||
}
|
||||
|
||||
// ignore_for_file: always_put_control_body_on_new_line,always_specify_types,annotate_overrides,avoid_annotating_with_dynamic,avoid_as,avoid_catches_without_on_clauses,avoid_returning_this,lines_longer_than_80_chars,omit_local_variable_types,prefer_expression_function_bodies,sort_constructors_first,test_types_in_equals,unnecessary_const,unnecessary_new
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/group_model.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/static/font_model.dart';
|
||||
import 'package:memoize/memoize.dart';
|
||||
|
||||
var memoizedCountryList = memo1(
|
||||
|
|
@ -134,3 +135,16 @@ List<String> paymentTypeList(
|
|||
|
||||
return list;
|
||||
}
|
||||
|
||||
var memoizedFontMap = memo1((List<dynamic> fontList) => fontMap(fontList));
|
||||
|
||||
BuiltMap<String, SelectableEntity> fontMap(List<dynamic> fonts) {
|
||||
print(Map<String, SelectableEntity>.fromIterable(fonts,
|
||||
key: (dynamic v) => v['value'],
|
||||
value: (dynamic v) => FontEntity(id: v['value'], name: v['label'])));
|
||||
|
||||
return BuiltMap<String, SelectableEntity>.from(
|
||||
Map<String, SelectableEntity>.fromIterable(fonts,
|
||||
key: (dynamic v) => v['value'],
|
||||
value: (dynamic v) => FontEntity(id: v['value'], name: v['label'])));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,16 @@
|
|||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:invoiceninja_flutter/constants.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
import 'package:invoiceninja_flutter/redux/static/static_selectors.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/entity_dropdown.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/form_card.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/forms/app_dropdown_button.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/forms/app_form.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/forms/color_picker.dart';
|
||||
import 'package:invoiceninja_flutter/ui/settings/invoice_design_vm.dart';
|
||||
import 'package:invoiceninja_flutter/ui/settings/settings_scaffold.dart';
|
||||
import 'package:invoiceninja_flutter/utils/fonts.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
class InvoiceDesign extends StatefulWidget {
|
||||
|
|
@ -137,6 +141,14 @@ class _InvoiceDesignState extends State<InvoiceDesign>
|
|||
))
|
||||
.toList(),
|
||||
),
|
||||
EntityDropdown(
|
||||
entityType: EntityType.font,
|
||||
labelText: localization.primaryFont,
|
||||
initialValue: settings.primaryFont,
|
||||
entityMap: memoizedFontMap(kGoogleFonts),
|
||||
onSelected: (font) => viewModel.onSettingsChanged(
|
||||
settings.rebuild((b) => b..primaryFont = font.id)),
|
||||
),
|
||||
AppDropdownButton(
|
||||
labelText: localization.pageSize,
|
||||
value: settings.pageSize,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,734 @@
|
|||
final kGoogleFonts = [
|
||||
{'value': 'ABeeZee', 'label': 'ABeeZee'},
|
||||
{'value': 'Abel', 'label': 'Abel'},
|
||||
{'value': 'Abril_Fatface', 'label': 'Abril Fatface'},
|
||||
{'value': 'Aclonica', 'label': 'Aclonica'},
|
||||
{'value': 'Acme', 'label': 'Acme'},
|
||||
{'value': 'Actor', 'label': 'Actor'},
|
||||
{'value': 'Adamina', 'label': 'Adamina'},
|
||||
{'value': 'Advent_Pro', 'label': 'Advent Pro'},
|
||||
{'value': 'Aguafina_Script', 'label': 'Aguafina Script'},
|
||||
{'value': 'Akronim', 'label': 'Akronim'},
|
||||
{'value': 'Aladin', 'label': 'Aladin'},
|
||||
{'value': 'Aldrich', 'label': 'Aldrich'},
|
||||
{'value': 'Alef', 'label': 'Alef'},
|
||||
{'value': 'Alegreya', 'label': 'Alegreya'},
|
||||
{'value': 'Alegreya_SC', 'label': 'Alegreya SC'},
|
||||
{'value': 'Alegreya_Sans', 'label': 'Alegreya Sans'},
|
||||
{'value': 'Alegreya_Sans_SC', 'label': 'Alegreya Sans SC'},
|
||||
{'value': 'Alex_Brush', 'label': 'Alex Brush'},
|
||||
{'value': 'Alfa_Slab_One', 'label': 'Alfa Slab One'},
|
||||
{'value': 'Alice', 'label': 'Alice'},
|
||||
{'value': 'Alike', 'label': 'Alike'},
|
||||
{'value': 'Alike_Angular', 'label': 'Alike Angular'},
|
||||
{'value': 'Allan', 'label': 'Allan'},
|
||||
{'value': 'Allerta', 'label': 'Allerta'},
|
||||
{'value': 'Allerta_Stencil', 'label': 'Allerta Stencil'},
|
||||
{'value': 'Allura', 'label': 'Allura'},
|
||||
{'value': 'Almendra', 'label': 'Almendra'},
|
||||
{'value': 'Almendra_Display', 'label': 'Almendra Display'},
|
||||
{'value': 'Almendra_SC', 'label': 'Almendra SC'},
|
||||
{'value': 'Amarante', 'label': 'Amarante'},
|
||||
{'value': 'Amaranth', 'label': 'Amaranth'},
|
||||
{'value': 'Amatic_SC', 'label': 'Amatic SC'},
|
||||
{'value': 'Amethysta', 'label': 'Amethysta'},
|
||||
{'value': 'Amiri', 'label': 'Amiri'},
|
||||
{'value': 'Amita', 'label': 'Amita'},
|
||||
{'value': 'Anaheim', 'label': 'Anaheim'},
|
||||
{'value': 'Andada', 'label': 'Andada'},
|
||||
{'value': 'Andika', 'label': 'Andika'},
|
||||
{'value': 'Angkor', 'label': 'Angkor'},
|
||||
{'value': 'Annie_Use_Your_Telescope', 'label': 'Annie Use Your Telescope'},
|
||||
{'value': 'Anonymous_Pro', 'label': 'Anonymous Pro'},
|
||||
{'value': 'Antic', 'label': 'Antic'},
|
||||
{'value': 'Antic_Didone', 'label': 'Antic Didone'},
|
||||
{'value': 'Antic_Slab', 'label': 'Antic Slab'},
|
||||
{'value': 'Anton', 'label': 'Anton'},
|
||||
{'value': 'Arapey', 'label': 'Arapey'},
|
||||
{'value': 'Arbutus', 'label': 'Arbutus'},
|
||||
{'value': 'Arbutus_Slab', 'label': 'Arbutus Slab'},
|
||||
{'value': 'Architects_Daughter', 'label': 'Architects Daughter'},
|
||||
{'value': 'Archivo_Black', 'label': 'Archivo Black'},
|
||||
{'value': 'Archivo_Narrow', 'label': 'Archivo Narrow'},
|
||||
{'value': 'Arimo', 'label': 'Arimo'},
|
||||
{'value': 'Arizonia', 'label': 'Arizonia'},
|
||||
{'value': 'Armata', 'label': 'Armata'},
|
||||
{'value': 'Artifika', 'label': 'Artifika'},
|
||||
{'value': 'Arvo', 'label': 'Arvo'},
|
||||
{'value': 'Arya', 'label': 'Arya'},
|
||||
{'value': 'Asap', 'label': 'Asap'},
|
||||
{'value': 'Asar', 'label': 'Asar'},
|
||||
{'value': 'Asset', 'label': 'Asset'},
|
||||
{'value': 'Astloch', 'label': 'Astloch'},
|
||||
{'value': 'Asul', 'label': 'Asul'},
|
||||
{'value': 'Atomic_Age', 'label': 'Atomic Age'},
|
||||
{'value': 'Aubrey', 'label': 'Aubrey'},
|
||||
{'value': 'Audiowide', 'label': 'Audiowide'},
|
||||
{'value': 'Autour_One', 'label': 'Autour One'},
|
||||
{'value': 'Average', 'label': 'Average'},
|
||||
{'value': 'Average_Sans', 'label': 'Average Sans'},
|
||||
{'value': 'Averia_Gruesa_Libre', 'label': 'Averia Gruesa Libre'},
|
||||
{'value': 'Averia_Libre', 'label': 'Averia Libre'},
|
||||
{'value': 'Averia_Sans_Libre', 'label': 'Averia Sans Libre'},
|
||||
{'value': 'Averia_Serif_Libre', 'label': 'Averia Serif Libre'},
|
||||
{'value': 'Bad_Script', 'label': 'Bad Script'},
|
||||
{'value': 'Balthazar', 'label': 'Balthazar'},
|
||||
{'value': 'Bangers', 'label': 'Bangers'},
|
||||
{'value': 'Basic', 'label': 'Basic'},
|
||||
{'value': 'Battambang', 'label': 'Battambang'},
|
||||
{'value': 'Baumans', 'label': 'Baumans'},
|
||||
{'value': 'Bayon', 'label': 'Bayon'},
|
||||
{'value': 'Belgrano', 'label': 'Belgrano'},
|
||||
{'value': 'Belleza', 'label': 'Belleza'},
|
||||
{'value': 'BenchNine', 'label': 'BenchNine'},
|
||||
{'value': 'Bentham', 'label': 'Bentham'},
|
||||
{'value': 'Berkshire_Swash', 'label': 'Berkshire Swash'},
|
||||
{'value': 'Bevan', 'label': 'Bevan'},
|
||||
{'value': 'Bigelow_Rules', 'label': 'Bigelow Rules'},
|
||||
{'value': 'Bigshot_One', 'label': 'Bigshot One'},
|
||||
{'value': 'Bilbo', 'label': 'Bilbo'},
|
||||
{'value': 'Bilbo_Swash_Caps', 'label': 'Bilbo Swash Caps'},
|
||||
{'value': 'Biryani', 'label': 'Biryani'},
|
||||
{'value': 'Bitter', 'label': 'Bitter'},
|
||||
{'value': 'Black_Ops_One', 'label': 'Black Ops One'},
|
||||
{'value': 'Bokor', 'label': 'Bokor'},
|
||||
{'value': 'Bonbon', 'label': 'Bonbon'},
|
||||
{'value': 'Boogaloo', 'label': 'Boogaloo'},
|
||||
{'value': 'Bowlby_One', 'label': 'Bowlby One'},
|
||||
{'value': 'Bowlby_One_SC', 'label': 'Bowlby One SC'},
|
||||
{'value': 'Brawler', 'label': 'Brawler'},
|
||||
{'value': 'Bree_Serif', 'label': 'Bree Serif'},
|
||||
{'value': 'Bubblegum_Sans', 'label': 'Bubblegum Sans'},
|
||||
{'value': 'Bubbler_One', 'label': 'Bubbler One'},
|
||||
{'value': 'Buda', 'label': 'Buda'},
|
||||
{'value': 'Buenard', 'label': 'Buenard'},
|
||||
{'value': 'Butcherman', 'label': 'Butcherman'},
|
||||
{'value': 'Butterfly_Kids', 'label': 'Butterfly Kids'},
|
||||
{'value': 'Cabin', 'label': 'Cabin'},
|
||||
{'value': 'Cabin_Condensed', 'label': 'Cabin Condensed'},
|
||||
{'value': 'Cabin_Sketch', 'label': 'Cabin Sketch'},
|
||||
{'value': 'Caesar_Dressing', 'label': 'Caesar Dressing'},
|
||||
{'value': 'Cagliostro', 'label': 'Cagliostro'},
|
||||
{'value': 'Calligraffitti', 'label': 'Calligraffitti'},
|
||||
{'value': 'Cambay', 'label': 'Cambay'},
|
||||
{'value': 'Cambo', 'label': 'Cambo'},
|
||||
{'value': 'Candal', 'label': 'Candal'},
|
||||
{'value': 'Cantarell', 'label': 'Cantarell'},
|
||||
{'value': 'Cantata_One', 'label': 'Cantata One'},
|
||||
{'value': 'Cantora_One', 'label': 'Cantora One'},
|
||||
{'value': 'Capriola', 'label': 'Capriola'},
|
||||
{'value': 'Cardo', 'label': 'Cardo'},
|
||||
{'value': 'Carme', 'label': 'Carme'},
|
||||
{'value': 'Carrois_Gothic', 'label': 'Carrois Gothic'},
|
||||
{'value': 'Carrois_Gothic_SC', 'label': 'Carrois Gothic SC'},
|
||||
{'value': 'Carter_One', 'label': 'Carter One'},
|
||||
{'value': 'Catamaran', 'label': 'Catamaran'},
|
||||
{'value': 'Caudex', 'label': 'Caudex'},
|
||||
{'value': 'Caveat', 'label': 'Caveat'},
|
||||
{'value': 'Caveat_Brush', 'label': 'Caveat Brush'},
|
||||
{'value': 'Cedarville_Cursive', 'label': 'Cedarville Cursive'},
|
||||
{'value': 'Ceviche_One', 'label': 'Ceviche One'},
|
||||
{'value': 'Changa_One', 'label': 'Changa One'},
|
||||
{'value': 'Chango', 'label': 'Chango'},
|
||||
{'value': 'Chau_Philomene_One', 'label': 'Chau Philomene One'},
|
||||
{'value': 'Chela_One', 'label': 'Chela One'},
|
||||
{'value': 'Chelsea_Market', 'label': 'Chelsea Market'},
|
||||
{'value': 'Chenla', 'label': 'Chenla'},
|
||||
{'value': 'Cherry_Cream_Soda', 'label': 'Cherry Cream Soda'},
|
||||
{'value': 'Cherry_Swash', 'label': 'Cherry Swash'},
|
||||
{'value': 'Chewy', 'label': 'Chewy'},
|
||||
{'value': 'Chicle', 'label': 'Chicle'},
|
||||
{'value': 'Chivo', 'label': 'Chivo'},
|
||||
{'value': 'Chonburi', 'label': 'Chonburi'},
|
||||
{'value': 'Cinzel', 'label': 'Cinzel'},
|
||||
{'value': 'Cinzel_Decorative', 'label': 'Cinzel Decorative'},
|
||||
{'value': 'Clicker_Script', 'label': 'Clicker Script'},
|
||||
{'value': 'Coda', 'label': 'Coda'},
|
||||
{'value': 'Coda_Caption', 'label': 'Coda Caption'},
|
||||
{'value': 'Codystar', 'label': 'Codystar'},
|
||||
{'value': 'Combo', 'label': 'Combo'},
|
||||
{'value': 'Comfortaa', 'label': 'Comfortaa'},
|
||||
{'value': 'Coming_Soon', 'label': 'Coming Soon'},
|
||||
{'value': 'Concert_One', 'label': 'Concert One'},
|
||||
{'value': 'Condiment', 'label': 'Condiment'},
|
||||
{'value': 'Content', 'label': 'Content'},
|
||||
{'value': 'Contrail_One', 'label': 'Contrail One'},
|
||||
{'value': 'Convergence', 'label': 'Convergence'},
|
||||
{'value': 'Cookie', 'label': 'Cookie'},
|
||||
{'value': 'Copse', 'label': 'Copse'},
|
||||
{'value': 'Corben', 'label': 'Corben'},
|
||||
{'value': 'Courgette', 'label': 'Courgette'},
|
||||
{'value': 'Cousine', 'label': 'Cousine'},
|
||||
{'value': 'Coustard', 'label': 'Coustard'},
|
||||
{'value': 'Covered_By_Your_Grace', 'label': 'Covered By Your Grace'},
|
||||
{'value': 'Crafty_Girls', 'label': 'Crafty Girls'},
|
||||
{'value': 'Creepster', 'label': 'Creepster'},
|
||||
{'value': 'Crete_Round', 'label': 'Crete Round'},
|
||||
{'value': 'Crimson_Text', 'label': 'Crimson Text'},
|
||||
{'value': 'Croissant_One', 'label': 'Croissant One'},
|
||||
{'value': 'Crushed', 'label': 'Crushed'},
|
||||
{'value': 'Cuprum', 'label': 'Cuprum'},
|
||||
{'value': 'Cutive', 'label': 'Cutive'},
|
||||
{'value': 'Cutive_Mono', 'label': 'Cutive Mono'},
|
||||
{'value': 'Damion', 'label': 'Damion'},
|
||||
{'value': 'Dancing_Script', 'label': 'Dancing Script'},
|
||||
{'value': 'Dangrek', 'label': 'Dangrek'},
|
||||
{'value': 'Dawning_of_a_New_Day', 'label': 'Dawning of a New Day'},
|
||||
{'value': 'Days_One', 'label': 'Days One'},
|
||||
{'value': 'Dekko', 'label': 'Dekko'},
|
||||
{'value': 'Delius', 'label': 'Delius'},
|
||||
{'value': 'Delius_Swash_Caps', 'label': 'Delius Swash Caps'},
|
||||
{'value': 'Delius_Unicase', 'label': 'Delius Unicase'},
|
||||
{'value': 'Della_Respira', 'label': 'Della Respira'},
|
||||
{'value': 'Denk_One', 'label': 'Denk One'},
|
||||
{'value': 'Devonshire', 'label': 'Devonshire'},
|
||||
{'value': 'Dhurjati', 'label': 'Dhurjati'},
|
||||
{'value': 'Didact_Gothic', 'label': 'Didact Gothic'},
|
||||
{'value': 'Diplomata', 'label': 'Diplomata'},
|
||||
{'value': 'Diplomata_SC', 'label': 'Diplomata SC'},
|
||||
{'value': 'Domine', 'label': 'Domine'},
|
||||
{'value': 'Donegal_One', 'label': 'Donegal One'},
|
||||
{'value': 'Doppio_One', 'label': 'Doppio One'},
|
||||
{'value': 'Dorsa', 'label': 'Dorsa'},
|
||||
{'value': 'Dosis', 'label': 'Dosis'},
|
||||
{'value': 'Dr_Sugiyama', 'label': 'Dr Sugiyama'},
|
||||
{'value': 'Droid_Sans', 'label': 'Droid Sans'},
|
||||
{'value': 'Droid_Sans_Mono', 'label': 'Droid Sans Mono'},
|
||||
{'value': 'Droid_Serif', 'label': 'Droid Serif'},
|
||||
{'value': 'Duru_Sans', 'label': 'Duru Sans'},
|
||||
{'value': 'Dynalight', 'label': 'Dynalight'},
|
||||
{'value': 'EB_Garamond', 'label': 'EB Garamond'},
|
||||
{'value': 'Eagle_Lake', 'label': 'Eagle Lake'},
|
||||
{'value': 'Eater', 'label': 'Eater'},
|
||||
{'value': 'Economica', 'label': 'Economica'},
|
||||
{'value': 'Eczar', 'label': 'Eczar'},
|
||||
{'value': 'Ek_Mukta', 'label': 'Ek Mukta'},
|
||||
{'value': 'Electrolize', 'label': 'Electrolize'},
|
||||
{'value': 'Elsie', 'label': 'Elsie'},
|
||||
{'value': 'Elsie_Swash_Caps', 'label': 'Elsie Swash Caps'},
|
||||
{'value': 'Emblema_One', 'label': 'Emblema One'},
|
||||
{'value': 'Emilys_Candy', 'label': 'Emilys Candy'},
|
||||
{'value': 'Engagement', 'label': 'Engagement'},
|
||||
{'value': 'Englebert', 'label': 'Englebert'},
|
||||
{'value': 'Enriqueta', 'label': 'Enriqueta'},
|
||||
{'value': 'Erica_One', 'label': 'Erica One'},
|
||||
{'value': 'Esteban', 'label': 'Esteban'},
|
||||
{'value': 'Euphoria_Script', 'label': 'Euphoria Script'},
|
||||
{'value': 'Ewert', 'label': 'Ewert'},
|
||||
{'value': 'Exo', 'label': 'Exo'},
|
||||
{'value': 'Exo_2', 'label': 'Exo 2'},
|
||||
{'value': 'Expletus_Sans', 'label': 'Expletus Sans'},
|
||||
{'value': 'Fanwood_Text', 'label': 'Fanwood Text'},
|
||||
{'value': 'Fascinate', 'label': 'Fascinate'},
|
||||
{'value': 'Fascinate_Inline', 'label': 'Fascinate Inline'},
|
||||
{'value': 'Faster_One', 'label': 'Faster One'},
|
||||
{'value': 'Fasthand', 'label': 'Fasthand'},
|
||||
{'value': 'Fauna_One', 'label': 'Fauna One'},
|
||||
{'value': 'Federant', 'label': 'Federant'},
|
||||
{'value': 'Federo', 'label': 'Federo'},
|
||||
{'value': 'Felipa', 'label': 'Felipa'},
|
||||
{'value': 'Fenix', 'label': 'Fenix'},
|
||||
{'value': 'Finger_Paint', 'label': 'Finger Paint'},
|
||||
{'value': 'Fira_Mono', 'label': 'Fira Mono'},
|
||||
{'value': 'Fira_Sans', 'label': 'Fira Sans'},
|
||||
{'value': 'Fjalla_One', 'label': 'Fjalla One'},
|
||||
{'value': 'Fjord_One', 'label': 'Fjord One'},
|
||||
{'value': 'Flamenco', 'label': 'Flamenco'},
|
||||
{'value': 'Flavors', 'label': 'Flavors'},
|
||||
{'value': 'Fondamento', 'label': 'Fondamento'},
|
||||
{'value': 'Fontdiner_Swanky', 'label': 'Fontdiner Swanky'},
|
||||
{'value': 'Forum', 'label': 'Forum'},
|
||||
{'value': 'Francois_One', 'label': 'Francois One'},
|
||||
{'value': 'Freckle_Face', 'label': 'Freckle Face'},
|
||||
{'value': 'Fredericka_the_Great', 'label': 'Fredericka the Great'},
|
||||
{'value': 'Fredoka_One', 'label': 'Fredoka One'},
|
||||
{'value': 'Freehand', 'label': 'Freehand'},
|
||||
{'value': 'Fresca', 'label': 'Fresca'},
|
||||
{'value': 'Frijole', 'label': 'Frijole'},
|
||||
{'value': 'Fruktur', 'label': 'Fruktur'},
|
||||
{'value': 'Fugaz_One', 'label': 'Fugaz One'},
|
||||
{'value': 'GFS_Didot', 'label': 'GFS Didot'},
|
||||
{'value': 'GFS_Neohellenic', 'label': 'GFS Neohellenic'},
|
||||
{'value': 'Gabriela', 'label': 'Gabriela'},
|
||||
{'value': 'Gafata', 'label': 'Gafata'},
|
||||
{'value': 'Galdeano', 'label': 'Galdeano'},
|
||||
{'value': 'Galindo', 'label': 'Galindo'},
|
||||
{'value': 'Gentium_Basic', 'label': 'Gentium Basic'},
|
||||
{'value': 'Gentium_Book_Basic', 'label': 'Gentium Book Basic'},
|
||||
{'value': 'Geo', 'label': 'Geo'},
|
||||
{'value': 'Geostar', 'label': 'Geostar'},
|
||||
{'value': 'Geostar_Fill', 'label': 'Geostar Fill'},
|
||||
{'value': 'Germania_One', 'label': 'Germania One'},
|
||||
{'value': 'Gidugu', 'label': 'Gidugu'},
|
||||
{'value': 'Gilda_Display', 'label': 'Gilda Display'},
|
||||
{'value': 'Give_You_Glory', 'label': 'Give You Glory'},
|
||||
{'value': 'Glass_Antiqua', 'label': 'Glass Antiqua'},
|
||||
{'value': 'Glegoo', 'label': 'Glegoo'},
|
||||
{'value': 'Gloria_Hallelujah', 'label': 'Gloria Hallelujah'},
|
||||
{'value': 'Goblin_One', 'label': 'Goblin One'},
|
||||
{'value': 'Gochi_Hand', 'label': 'Gochi Hand'},
|
||||
{'value': 'Gorditas', 'label': 'Gorditas'},
|
||||
{'value': 'Goudy_Bookletter_1911', 'label': 'Goudy Bookletter 1911'},
|
||||
{'value': 'Graduate', 'label': 'Graduate'},
|
||||
{'value': 'Grand_Hotel', 'label': 'Grand Hotel'},
|
||||
{'value': 'Gravitas_One', 'label': 'Gravitas One'},
|
||||
{'value': 'Great_Vibes', 'label': 'Great Vibes'},
|
||||
{'value': 'Griffy', 'label': 'Griffy'},
|
||||
{'value': 'Gruppo', 'label': 'Gruppo'},
|
||||
{'value': 'Gudea', 'label': 'Gudea'},
|
||||
{'value': 'Gurajada', 'label': 'Gurajada'},
|
||||
{'value': 'Habibi', 'label': 'Habibi'},
|
||||
{'value': 'Halant', 'label': 'Halant'},
|
||||
{'value': 'Hammersmith_One', 'label': 'Hammersmith One'},
|
||||
{'value': 'Hanalei', 'label': 'Hanalei'},
|
||||
{'value': 'Hanalei_Fill', 'label': 'Hanalei Fill'},
|
||||
{'value': 'Handlee', 'label': 'Handlee'},
|
||||
{'value': 'Hanuman', 'label': 'Hanuman'},
|
||||
{'value': 'Happy_Monkey', 'label': 'Happy Monkey'},
|
||||
{'value': 'Headland_One', 'label': 'Headland One'},
|
||||
{'value': 'Henny_Penny', 'label': 'Henny Penny'},
|
||||
{'value': 'Herr_Von_Muellerhoff', 'label': 'Herr Von Muellerhoff'},
|
||||
{'value': 'Hind', 'label': 'Hind'},
|
||||
{'value': 'Hind_Siliguri', 'label': 'Hind Siliguri'},
|
||||
{'value': 'Hind_Vadodara', 'label': 'Hind Vadodara'},
|
||||
{'value': 'Holtwood_One_SC', 'label': 'Holtwood One SC'},
|
||||
{'value': 'Homemade_Apple', 'label': 'Homemade Apple'},
|
||||
{'value': 'Homenaje', 'label': 'Homenaje'},
|
||||
{'value': 'IM_Fell_DW_Pica', 'label': 'IM Fell DW Pica'},
|
||||
{'value': 'IM_Fell_DW_Pica_SC', 'label': 'IM Fell DW Pica SC'},
|
||||
{'value': 'IM_Fell_Double_Pica', 'label': 'IM Fell Double Pica'},
|
||||
{'value': 'IM_Fell_Double_Pica_SC', 'label': 'IM Fell Double Pica SC'},
|
||||
{'value': 'IM_Fell_English', 'label': 'IM Fell English'},
|
||||
{'value': 'IM_Fell_English_SC', 'label': 'IM Fell English SC'},
|
||||
{'value': 'IM_Fell_French_Canon', 'label': 'IM Fell French Canon'},
|
||||
{'value': 'IM_Fell_French_Canon_SC', 'label': 'IM Fell French Canon SC'},
|
||||
{'value': 'IM_Fell_Great_Primer', 'label': 'IM Fell Great Primer'},
|
||||
{'value': 'IM_Fell_Great_Primer_SC', 'label': 'IM Fell Great Primer SC'},
|
||||
{'value': 'Iceberg', 'label': 'Iceberg'},
|
||||
{'value': 'Iceland', 'label': 'Iceland'},
|
||||
{'value': 'Imprima', 'label': 'Imprima'},
|
||||
{'value': 'Inconsolata', 'label': 'Inconsolata'},
|
||||
{'value': 'Inder', 'label': 'Inder'},
|
||||
{'value': 'Indie_Flower', 'label': 'Indie Flower'},
|
||||
{'value': 'Inika', 'label': 'Inika'},
|
||||
{'value': 'Inknut_Antiqua', 'label': 'Inknut Antiqua'},
|
||||
{'value': 'Irish_Grover', 'label': 'Irish Grover'},
|
||||
{'value': 'Istok_Web', 'label': 'Istok Web'},
|
||||
{'value': 'Italiana', 'label': 'Italiana'},
|
||||
{'value': 'Italianno', 'label': 'Italianno'},
|
||||
{'value': 'Itim', 'label': 'Itim'},
|
||||
{'value': 'Jacques_Francois', 'label': 'Jacques Francois'},
|
||||
{'value': 'Jacques_Francois_Shadow', 'label': 'Jacques Francois Shadow'},
|
||||
{'value': 'Jaldi', 'label': 'Jaldi'},
|
||||
{'value': 'Jim_Nightshade', 'label': 'Jim Nightshade'},
|
||||
{'value': 'Jockey_One', 'label': 'Jockey One'},
|
||||
{'value': 'Jolly_Lodger', 'label': 'Jolly Lodger'},
|
||||
{'value': 'Josefin_Sans', 'label': 'Josefin Sans'},
|
||||
{'value': 'Josefin_Slab', 'label': 'Josefin Slab'},
|
||||
{'value': 'Joti_One', 'label': 'Joti One'},
|
||||
{'value': 'Judson', 'label': 'Judson'},
|
||||
{'value': 'Julee', 'label': 'Julee'},
|
||||
{'value': 'Julius_Sans_One', 'label': 'Julius Sans One'},
|
||||
{'value': 'Junge', 'label': 'Junge'},
|
||||
{'value': 'Jura', 'label': 'Jura'},
|
||||
{'value': 'Just_Another_Hand', 'label': 'Just Another Hand'},
|
||||
{'value': 'Just_Me_Again_Down_Here', 'label': 'Just Me Again Down Here'},
|
||||
{'value': 'Kadwa', 'label': 'Kadwa'},
|
||||
{'value': 'Kalam', 'label': 'Kalam'},
|
||||
{'value': 'Kameron', 'label': 'Kameron'},
|
||||
{'value': 'Kantumruy', 'label': 'Kantumruy'},
|
||||
{'value': 'Karla', 'label': 'Karla'},
|
||||
{'value': 'Karma', 'label': 'Karma'},
|
||||
{'value': 'Kaushan_Script', 'label': 'Kaushan Script'},
|
||||
{'value': 'Kavoon', 'label': 'Kavoon'},
|
||||
{'value': 'Kdam_Thmor', 'label': 'Kdam Thmor'},
|
||||
{'value': 'Keania_One', 'label': 'Keania One'},
|
||||
{'value': 'Kelly_Slab', 'label': 'Kelly Slab'},
|
||||
{'value': 'Kenia', 'label': 'Kenia'},
|
||||
{'value': 'Khand', 'label': 'Khand'},
|
||||
{'value': 'Khmer', 'label': 'Khmer'},
|
||||
{'value': 'Khula', 'label': 'Khula'},
|
||||
{'value': 'Kite_One', 'label': 'Kite One'},
|
||||
{'value': 'Knewave', 'label': 'Knewave'},
|
||||
{'value': 'Kotta_One', 'label': 'Kotta One'},
|
||||
{'value': 'Koulen', 'label': 'Koulen'},
|
||||
{'value': 'Kranky', 'label': 'Kranky'},
|
||||
{'value': 'Kreon', 'label': 'Kreon'},
|
||||
{'value': 'Kristi', 'label': 'Kristi'},
|
||||
{'value': 'Krona_One', 'label': 'Krona One'},
|
||||
{'value': 'Kurale', 'label': 'Kurale'},
|
||||
{'value': 'La_Belle_Aurore', 'label': 'La Belle Aurore'},
|
||||
{'value': 'Laila', 'label': 'Laila'},
|
||||
{'value': 'Lakki_Reddy', 'label': 'Lakki Reddy'},
|
||||
{'value': 'Lancelot', 'label': 'Lancelot'},
|
||||
{'value': 'Lateef', 'label': 'Lateef'},
|
||||
{'value': 'Lato', 'label': 'Lato'},
|
||||
{'value': 'League_Script', 'label': 'League Script'},
|
||||
{'value': 'Leckerli_One', 'label': 'Leckerli One'},
|
||||
{'value': 'Ledger', 'label': 'Ledger'},
|
||||
{'value': 'Lekton', 'label': 'Lekton'},
|
||||
{'value': 'Lemon', 'label': 'Lemon'},
|
||||
{'value': 'Libre_Baskerville', 'label': 'Libre Baskerville'},
|
||||
{'value': 'Life_Savers', 'label': 'Life Savers'},
|
||||
{'value': 'Lilita_One', 'label': 'Lilita One'},
|
||||
{'value': 'Lily_Script_One', 'label': 'Lily Script One'},
|
||||
{'value': 'Limelight', 'label': 'Limelight'},
|
||||
{'value': 'Linden_Hill', 'label': 'Linden Hill'},
|
||||
{'value': 'Lobster', 'label': 'Lobster'},
|
||||
{'value': 'Lobster_Two', 'label': 'Lobster Two'},
|
||||
{'value': 'Londrina_Outline', 'label': 'Londrina Outline'},
|
||||
{'value': 'Londrina_Shadow', 'label': 'Londrina Shadow'},
|
||||
{'value': 'Londrina_Sketch', 'label': 'Londrina Sketch'},
|
||||
{'value': 'Londrina_Solid', 'label': 'Londrina Solid'},
|
||||
{'value': 'Lora', 'label': 'Lora'},
|
||||
{'value': 'Love_Ya_Like_A_Sister', 'label': 'Love Ya Like A Sister'},
|
||||
{'value': 'Loved_by_the_King', 'label': 'Loved by the King'},
|
||||
{'value': 'Lovers_Quarrel', 'label': 'Lovers Quarrel'},
|
||||
{'value': 'Luckiest_Guy', 'label': 'Luckiest Guy'},
|
||||
{'value': 'Lusitana', 'label': 'Lusitana'},
|
||||
{'value': 'Lustria', 'label': 'Lustria'},
|
||||
{'value': 'Macondo', 'label': 'Macondo'},
|
||||
{'value': 'Macondo_Swash_Caps', 'label': 'Macondo Swash Caps'},
|
||||
{'value': 'Magra', 'label': 'Magra'},
|
||||
{'value': 'Maiden_Orange', 'label': 'Maiden Orange'},
|
||||
{'value': 'Mako', 'label': 'Mako'},
|
||||
{'value': 'Mallanna', 'label': 'Mallanna'},
|
||||
{'value': 'Mandali', 'label': 'Mandali'},
|
||||
{'value': 'Marcellus', 'label': 'Marcellus'},
|
||||
{'value': 'Marcellus_SC', 'label': 'Marcellus SC'},
|
||||
{'value': 'Marck_Script', 'label': 'Marck Script'},
|
||||
{'value': 'Margarine', 'label': 'Margarine'},
|
||||
{'value': 'Marko_One', 'label': 'Marko One'},
|
||||
{'value': 'Marmelad', 'label': 'Marmelad'},
|
||||
{'value': 'Martel', 'label': 'Martel'},
|
||||
{'value': 'Martel_Sans', 'label': 'Martel Sans'},
|
||||
{'value': 'Marvel', 'label': 'Marvel'},
|
||||
{'value': 'Mate', 'label': 'Mate'},
|
||||
{'value': 'Mate_SC', 'label': 'Mate SC'},
|
||||
{'value': 'Maven_Pro', 'label': 'Maven Pro'},
|
||||
{'value': 'McLaren', 'label': 'McLaren'},
|
||||
{'value': 'Meddon', 'label': 'Meddon'},
|
||||
{'value': 'MedievalSharp', 'label': 'MedievalSharp'},
|
||||
{'value': 'Medula_One', 'label': 'Medula One'},
|
||||
{'value': 'Megrim', 'label': 'Megrim'},
|
||||
{'value': 'Meie_Script', 'label': 'Meie Script'},
|
||||
{'value': 'Merienda', 'label': 'Merienda'},
|
||||
{'value': 'Merienda_One', 'label': 'Merienda One'},
|
||||
{'value': 'Merriweather', 'label': 'Merriweather'},
|
||||
{'value': 'Merriweather_Sans', 'label': 'Merriweather Sans'},
|
||||
{'value': 'Metal', 'label': 'Metal'},
|
||||
{'value': 'Metal_Mania', 'label': 'Metal Mania'},
|
||||
{'value': 'Metamorphous', 'label': 'Metamorphous'},
|
||||
{'value': 'Metrophobic', 'label': 'Metrophobic'},
|
||||
{'value': 'Michroma', 'label': 'Michroma'},
|
||||
{'value': 'Milonga', 'label': 'Milonga'},
|
||||
{'value': 'Miltonian', 'label': 'Miltonian'},
|
||||
{'value': 'Miltonian_Tattoo', 'label': 'Miltonian Tattoo'},
|
||||
{'value': 'Miniver', 'label': 'Miniver'},
|
||||
{'value': 'Miss_Fajardose', 'label': 'Miss Fajardose'},
|
||||
{'value': 'Modak', 'label': 'Modak'},
|
||||
{'value': 'Modern_Antiqua', 'label': 'Modern Antiqua'},
|
||||
{'value': 'Molengo', 'label': 'Molengo'},
|
||||
{'value': 'Molle', 'label': 'Molle'},
|
||||
{'value': 'Monda', 'label': 'Monda'},
|
||||
{'value': 'Monofett', 'label': 'Monofett'},
|
||||
{'value': 'Monoton', 'label': 'Monoton'},
|
||||
{'value': 'Monsieur_La_Doulaise', 'label': 'Monsieur La Doulaise'},
|
||||
{'value': 'Montaga', 'label': 'Montaga'},
|
||||
{'value': 'Montez', 'label': 'Montez'},
|
||||
{'value': 'Montserrat', 'label': 'Montserrat'},
|
||||
{'value': 'Montserrat_Alternates', 'label': 'Montserrat Alternates'},
|
||||
{'value': 'Montserrat_Subrayada', 'label': 'Montserrat Subrayada'},
|
||||
{'value': 'Moul', 'label': 'Moul'},
|
||||
{'value': 'Moulpali', 'label': 'Moulpali'},
|
||||
{'value': 'Mountains_of_Christmas', 'label': 'Mountains of Christmas'},
|
||||
{'value': 'Mouse_Memoirs', 'label': 'Mouse Memoirs'},
|
||||
{'value': 'Mr_Bedfort', 'label': 'Mr Bedfort'},
|
||||
{'value': 'Mr_Dafoe', 'label': 'Mr Dafoe'},
|
||||
{'value': 'Mr_De_Haviland', 'label': 'Mr De Haviland'},
|
||||
{'value': 'Mrs_Saint_Delafield', 'label': 'Mrs Saint Delafield'},
|
||||
{'value': 'Mrs_Sheppards', 'label': 'Mrs Sheppards'},
|
||||
{'value': 'Muli', 'label': 'Muli'},
|
||||
{'value': 'Mystery_Quest', 'label': 'Mystery Quest'},
|
||||
{'value': 'NTR', 'label': 'NTR'},
|
||||
{'value': 'Neucha', 'label': 'Neucha'},
|
||||
{'value': 'Neuton', 'label': 'Neuton'},
|
||||
{'value': 'New_Rocker', 'label': 'New Rocker'},
|
||||
{'value': 'News_Cycle', 'label': 'News Cycle'},
|
||||
{'value': 'Niconne', 'label': 'Niconne'},
|
||||
{'value': 'Nixie_One', 'label': 'Nixie One'},
|
||||
{'value': 'Nobile', 'label': 'Nobile'},
|
||||
{'value': 'Nokora', 'label': 'Nokora'},
|
||||
{'value': 'Norican', 'label': 'Norican'},
|
||||
{'value': 'Nosifer', 'label': 'Nosifer'},
|
||||
{'value': 'Nothing_You_Could_Do', 'label': 'Nothing You Could Do'},
|
||||
{'value': 'Noticia_Text', 'label': 'Noticia Text'},
|
||||
{'value': 'Noto_Sans', 'label': 'Noto Sans'},
|
||||
{'value': 'Noto_Serif', 'label': 'Noto Serif'},
|
||||
{'value': 'Nova_Cut', 'label': 'Nova Cut'},
|
||||
{'value': 'Nova_Flat', 'label': 'Nova Flat'},
|
||||
{'value': 'Nova_Mono', 'label': 'Nova Mono'},
|
||||
{'value': 'Nova_Oval', 'label': 'Nova Oval'},
|
||||
{'value': 'Nova_Round', 'label': 'Nova Round'},
|
||||
{'value': 'Nova_Script', 'label': 'Nova Script'},
|
||||
{'value': 'Nova_Slim', 'label': 'Nova Slim'},
|
||||
{'value': 'Nova_Square', 'label': 'Nova Square'},
|
||||
{'value': 'Numans', 'label': 'Numans'},
|
||||
{'value': 'Nunito', 'label': 'Nunito'},
|
||||
{'value': 'Odor_Mean_Chey', 'label': 'Odor Mean Chey'},
|
||||
{'value': 'Offside', 'label': 'Offside'},
|
||||
{'value': 'Old_Standard_TT', 'label': 'Old Standard TT'},
|
||||
{'value': 'Oldenburg', 'label': 'Oldenburg'},
|
||||
{'value': 'Oleo_Script', 'label': 'Oleo Script'},
|
||||
{'value': 'Oleo_Script_Swash_Caps', 'label': 'Oleo Script Swash Caps'},
|
||||
{'value': 'Open_Sans', 'label': 'Open Sans'},
|
||||
{'value': 'Open_Sans_Condensed', 'label': 'Open Sans Condensed'},
|
||||
{'value': 'Oranienbaum', 'label': 'Oranienbaum'},
|
||||
{'value': 'Orbitron', 'label': 'Orbitron'},
|
||||
{'value': 'Oregano', 'label': 'Oregano'},
|
||||
{'value': 'Orienta', 'label': 'Orienta'},
|
||||
{'value': 'Original_Surfer', 'label': 'Original Surfer'},
|
||||
{'value': 'Oswald', 'label': 'Oswald'},
|
||||
{'value': 'Over_the_Rainbow', 'label': 'Over the Rainbow'},
|
||||
{'value': 'Overlock', 'label': 'Overlock'},
|
||||
{'value': 'Overlock_SC', 'label': 'Overlock SC'},
|
||||
{'value': 'Ovo', 'label': 'Ovo'},
|
||||
{'value': 'Oxygen', 'label': 'Oxygen'},
|
||||
{'value': 'Oxygen_Mono', 'label': 'Oxygen Mono'},
|
||||
{'value': 'PT_Mono', 'label': 'PT Mono'},
|
||||
{'value': 'PT_Sans', 'label': 'PT Sans'},
|
||||
{'value': 'PT_Sans_Caption', 'label': 'PT Sans Caption'},
|
||||
{'value': 'PT_Sans_Narrow', 'label': 'PT Sans Narrow'},
|
||||
{'value': 'PT_Serif', 'label': 'PT Serif'},
|
||||
{'value': 'PT_Serif_Caption', 'label': 'PT Serif Caption'},
|
||||
{'value': 'Pacifico', 'label': 'Pacifico'},
|
||||
{'value': 'Palanquin', 'label': 'Palanquin'},
|
||||
{'value': 'Palanquin_Dark', 'label': 'Palanquin Dark'},
|
||||
{'value': 'Paprika', 'label': 'Paprika'},
|
||||
{'value': 'Parisienne', 'label': 'Parisienne'},
|
||||
{'value': 'Passero_One', 'label': 'Passero One'},
|
||||
{'value': 'Passion_One', 'label': 'Passion One'},
|
||||
{'value': 'Pathway_Gothic_One', 'label': 'Pathway Gothic One'},
|
||||
{'value': 'Patrick_Hand', 'label': 'Patrick Hand'},
|
||||
{'value': 'Patrick_Hand_SC', 'label': 'Patrick Hand SC'},
|
||||
{'value': 'Patua_One', 'label': 'Patua One'},
|
||||
{'value': 'Paytone_One', 'label': 'Paytone One'},
|
||||
{'value': 'Peddana', 'label': 'Peddana'},
|
||||
{'value': 'Peralta', 'label': 'Peralta'},
|
||||
{'value': 'Permanent_Marker', 'label': 'Permanent Marker'},
|
||||
{'value': 'Petit_Formal_Script', 'label': 'Petit Formal Script'},
|
||||
{'value': 'Petrona', 'label': 'Petrona'},
|
||||
{'value': 'Philosopher', 'label': 'Philosopher'},
|
||||
{'value': 'Piedra', 'label': 'Piedra'},
|
||||
{'value': 'Pinyon_Script', 'label': 'Pinyon Script'},
|
||||
{'value': 'Pirata_One', 'label': 'Pirata One'},
|
||||
{'value': 'Plaster', 'label': 'Plaster'},
|
||||
{'value': 'Play', 'label': 'Play'},
|
||||
{'value': 'Playball', 'label': 'Playball'},
|
||||
{'value': 'Playfair_Display', 'label': 'Playfair Display'},
|
||||
{'value': 'Playfair_Display_SC', 'label': 'Playfair Display SC'},
|
||||
{'value': 'Podkova', 'label': 'Podkova'},
|
||||
{'value': 'Poiret_One', 'label': 'Poiret One'},
|
||||
{'value': 'Poller_One', 'label': 'Poller One'},
|
||||
{'value': 'Poly', 'label': 'Poly'},
|
||||
{'value': 'Pompiere', 'label': 'Pompiere'},
|
||||
{'value': 'Pontano_Sans', 'label': 'Pontano Sans'},
|
||||
{'value': 'Poppins', 'label': 'Poppins'},
|
||||
{'value': 'Port_Lligat_Sans', 'label': 'Port Lligat Sans'},
|
||||
{'value': 'Port_Lligat_Slab', 'label': 'Port Lligat Slab'},
|
||||
{'value': 'Pragati_Narrow', 'label': 'Pragati Narrow'},
|
||||
{'value': 'Prata', 'label': 'Prata'},
|
||||
{'value': 'Preahvihear', 'label': 'Preahvihear'},
|
||||
{'value': 'Press_Start_2P', 'label': 'Press Start 2P'},
|
||||
{'value': 'Princess_Sofia', 'label': 'Princess Sofia'},
|
||||
{'value': 'Prociono', 'label': 'Prociono'},
|
||||
{'value': 'Prosto_One', 'label': 'Prosto One'},
|
||||
{'value': 'Puritan', 'label': 'Puritan'},
|
||||
{'value': 'Purple_Purse', 'label': 'Purple Purse'},
|
||||
{'value': 'Quando', 'label': 'Quando'},
|
||||
{'value': 'Quantico', 'label': 'Quantico'},
|
||||
{'value': 'Quattrocento', 'label': 'Quattrocento'},
|
||||
{'value': 'Quattrocento_Sans', 'label': 'Quattrocento Sans'},
|
||||
{'value': 'Questrial', 'label': 'Questrial'},
|
||||
{'value': 'Quicksand', 'label': 'Quicksand'},
|
||||
{'value': 'Quintessential', 'label': 'Quintessential'},
|
||||
{'value': 'Qwigley', 'label': 'Qwigley'},
|
||||
{'value': 'Racing_Sans_One', 'label': 'Racing Sans One'},
|
||||
{'value': 'Radley', 'label': 'Radley'},
|
||||
{'value': 'Rajdhani', 'label': 'Rajdhani'},
|
||||
{'value': 'Raleway', 'label': 'Raleway'},
|
||||
{'value': 'Raleway_Dots', 'label': 'Raleway Dots'},
|
||||
{'value': 'Ramabhadra', 'label': 'Ramabhadra'},
|
||||
{'value': 'Ramaraja', 'label': 'Ramaraja'},
|
||||
{'value': 'Rambla', 'label': 'Rambla'},
|
||||
{'value': 'Rammetto_One', 'label': 'Rammetto One'},
|
||||
{'value': 'Ranchers', 'label': 'Ranchers'},
|
||||
{'value': 'Rancho', 'label': 'Rancho'},
|
||||
{'value': 'Ranga', 'label': 'Ranga'},
|
||||
{'value': 'Rationale', 'label': 'Rationale'},
|
||||
{'value': 'Ravi_Prakash', 'label': 'Ravi Prakash'},
|
||||
{'value': 'Redressed', 'label': 'Redressed'},
|
||||
{'value': 'Reenie_Beanie', 'label': 'Reenie Beanie'},
|
||||
{'value': 'Revalia', 'label': 'Revalia'},
|
||||
{'value': 'Rhodium_Libre', 'label': 'Rhodium Libre'},
|
||||
{'value': 'Ribeye', 'label': 'Ribeye'},
|
||||
{'value': 'Ribeye_Marrow', 'label': 'Ribeye Marrow'},
|
||||
{'value': 'Righteous', 'label': 'Righteous'},
|
||||
{'value': 'Risque', 'label': 'Risque'},
|
||||
{'value': 'Roboto', 'label': 'Roboto'},
|
||||
{'value': 'Roboto_Condensed', 'label': 'Roboto Condensed'},
|
||||
{'value': 'Roboto_Mono', 'label': 'Roboto Mono'},
|
||||
{'value': 'Roboto_Slab', 'label': 'Roboto Slab'},
|
||||
{'value': 'Rochester', 'label': 'Rochester'},
|
||||
{'value': 'Rock_Salt', 'label': 'Rock Salt'},
|
||||
{'value': 'Rokkitt', 'label': 'Rokkitt'},
|
||||
{'value': 'Romanesco', 'label': 'Romanesco'},
|
||||
{'value': 'Ropa_Sans', 'label': 'Ropa Sans'},
|
||||
{'value': 'Rosario', 'label': 'Rosario'},
|
||||
{'value': 'Rosarivo', 'label': 'Rosarivo'},
|
||||
{'value': 'Rouge_Script', 'label': 'Rouge Script'},
|
||||
{'value': 'Rozha_One', 'label': 'Rozha One'},
|
||||
{'value': 'Rubik', 'label': 'Rubik'},
|
||||
{'value': 'Rubik_Mono_One', 'label': 'Rubik Mono One'},
|
||||
{'value': 'Rubik_One', 'label': 'Rubik One'},
|
||||
{'value': 'Ruda', 'label': 'Ruda'},
|
||||
{'value': 'Rufina', 'label': 'Rufina'},
|
||||
{'value': 'Ruge_Boogie', 'label': 'Ruge Boogie'},
|
||||
{'value': 'Ruluko', 'label': 'Ruluko'},
|
||||
{'value': 'Rum_Raisin', 'label': 'Rum Raisin'},
|
||||
{'value': 'Ruslan_Display', 'label': 'Ruslan Display'},
|
||||
{'value': 'Russo_One', 'label': 'Russo One'},
|
||||
{'value': 'Ruthie', 'label': 'Ruthie'},
|
||||
{'value': 'Rye', 'label': 'Rye'},
|
||||
{'value': 'Sacramento', 'label': 'Sacramento'},
|
||||
{'value': 'Sahitya', 'label': 'Sahitya'},
|
||||
{'value': 'Sail', 'label': 'Sail'},
|
||||
{'value': 'Salsa', 'label': 'Salsa'},
|
||||
{'value': 'Sanchez', 'label': 'Sanchez'},
|
||||
{'value': 'Sancreek', 'label': 'Sancreek'},
|
||||
{'value': 'Sansita_One', 'label': 'Sansita One'},
|
||||
{'value': 'Sarala', 'label': 'Sarala'},
|
||||
{'value': 'Sarina', 'label': 'Sarina'},
|
||||
{'value': 'Sarpanch', 'label': 'Sarpanch'},
|
||||
{'value': 'Satisfy', 'label': 'Satisfy'},
|
||||
{'value': 'Scada', 'label': 'Scada'},
|
||||
{'value': 'Scheherazade', 'label': 'Scheherazade'},
|
||||
{'value': 'Schoolbell', 'label': 'Schoolbell'},
|
||||
{'value': 'Seaweed_Script', 'label': 'Seaweed Script'},
|
||||
{'value': 'Sevillana', 'label': 'Sevillana'},
|
||||
{'value': 'Seymour_One', 'label': 'Seymour One'},
|
||||
{'value': 'Shadows_Into_Light', 'label': 'Shadows Into Light'},
|
||||
{'value': 'Shadows_Into_Light_Two', 'label': 'Shadows Into Light Two'},
|
||||
{'value': 'Shanti', 'label': 'Shanti'},
|
||||
{'value': 'Share', 'label': 'Share'},
|
||||
{'value': 'Share_Tech', 'label': 'Share Tech'},
|
||||
{'value': 'Share_Tech_Mono', 'label': 'Share Tech Mono'},
|
||||
{'value': 'Shojumaru', 'label': 'Shojumaru'},
|
||||
{'value': 'Short_Stack', 'label': 'Short Stack'},
|
||||
{'value': 'Siemreap', 'label': 'Siemreap'},
|
||||
{'value': 'Sigmar_One', 'label': 'Sigmar One'},
|
||||
{'value': 'Signika', 'label': 'Signika'},
|
||||
{'value': 'Signika_Negative', 'label': 'Signika Negative'},
|
||||
{'value': 'Simonetta', 'label': 'Simonetta'},
|
||||
{'value': 'Sintony', 'label': 'Sintony'},
|
||||
{'value': 'Sirin_Stencil', 'label': 'Sirin Stencil'},
|
||||
{'value': 'Six_Caps', 'label': 'Six Caps'},
|
||||
{'value': 'Skranji', 'label': 'Skranji'},
|
||||
{'value': 'Slabo_13px', 'label': 'Slabo 13px'},
|
||||
{'value': 'Slabo_27px', 'label': 'Slabo 27px'},
|
||||
{'value': 'Slackey', 'label': 'Slackey'},
|
||||
{'value': 'Smokum', 'label': 'Smokum'},
|
||||
{'value': 'Smythe', 'label': 'Smythe'},
|
||||
{'value': 'Sniglet', 'label': 'Sniglet'},
|
||||
{'value': 'Snippet', 'label': 'Snippet'},
|
||||
{'value': 'Snowburst_One', 'label': 'Snowburst One'},
|
||||
{'value': 'Sofadi_One', 'label': 'Sofadi One'},
|
||||
{'value': 'Sofia', 'label': 'Sofia'},
|
||||
{'value': 'Sonsie_One', 'label': 'Sonsie One'},
|
||||
{'value': 'Sorts_Mill_Goudy', 'label': 'Sorts Mill Goudy'},
|
||||
{'value': 'Source_Code_Pro', 'label': 'Source Code Pro'},
|
||||
{'value': 'Source_Sans_Pro', 'label': 'Source Sans Pro'},
|
||||
{'value': 'Source_Serif_Pro', 'label': 'Source Serif Pro'},
|
||||
{'value': 'Special_Elite', 'label': 'Special Elite'},
|
||||
{'value': 'Spicy_Rice', 'label': 'Spicy Rice'},
|
||||
{'value': 'Spinnaker', 'label': 'Spinnaker'},
|
||||
{'value': 'Spirax', 'label': 'Spirax'},
|
||||
{'value': 'Squada_One', 'label': 'Squada One'},
|
||||
{'value': 'Sree_Krushnadevaraya', 'label': 'Sree Krushnadevaraya'},
|
||||
{'value': 'Stalemate', 'label': 'Stalemate'},
|
||||
{'value': 'Stalinist_One', 'label': 'Stalinist One'},
|
||||
{'value': 'Stardos_Stencil', 'label': 'Stardos Stencil'},
|
||||
{'value': 'Stint_Ultra_Condensed', 'label': 'Stint Ultra Condensed'},
|
||||
{'value': 'Stint_Ultra_Expanded', 'label': 'Stint Ultra Expanded'},
|
||||
{'value': 'Stoke', 'label': 'Stoke'},
|
||||
{'value': 'Strait', 'label': 'Strait'},
|
||||
{'value': 'Sue_Ellen_Francisco', 'label': 'Sue Ellen Francisco'},
|
||||
{'value': 'Sumana', 'label': 'Sumana'},
|
||||
{'value': 'Sunshiney', 'label': 'Sunshiney'},
|
||||
{'value': 'Supermercado_One', 'label': 'Supermercado One'},
|
||||
{'value': 'Sura', 'label': 'Sura'},
|
||||
{'value': 'Suranna', 'label': 'Suranna'},
|
||||
{'value': 'Suravaram', 'label': 'Suravaram'},
|
||||
{'value': 'Suwannaphum', 'label': 'Suwannaphum'},
|
||||
{'value': 'Swanky_and_Moo_Moo', 'label': 'Swanky and Moo Moo'},
|
||||
{'value': 'Syncopate', 'label': 'Syncopate'},
|
||||
{'value': 'Tangerine', 'label': 'Tangerine'},
|
||||
{'value': 'Taprom', 'label': 'Taprom'},
|
||||
{'value': 'Tauri', 'label': 'Tauri'},
|
||||
{'value': 'Teko', 'label': 'Teko'},
|
||||
{'value': 'Telex', 'label': 'Telex'},
|
||||
{'value': 'Tenali_Ramakrishna', 'label': 'Tenali Ramakrishna'},
|
||||
{'value': 'Tenor_Sans', 'label': 'Tenor Sans'},
|
||||
{'value': 'Text_Me_One', 'label': 'Text Me One'},
|
||||
{'value': 'The_Girl_Next_Door', 'label': 'The Girl Next Door'},
|
||||
{'value': 'Tienne', 'label': 'Tienne'},
|
||||
{'value': 'Tillana', 'label': 'Tillana'},
|
||||
{'value': 'Timmana', 'label': 'Timmana'},
|
||||
{'value': 'Tinos', 'label': 'Tinos'},
|
||||
{'value': 'Titan_One', 'label': 'Titan One'},
|
||||
{'value': 'Titillium_Web', 'label': 'Titillium Web'},
|
||||
{'value': 'Trade_Winds', 'label': 'Trade Winds'},
|
||||
{'value': 'Trocchi', 'label': 'Trocchi'},
|
||||
{'value': 'Trochut', 'label': 'Trochut'},
|
||||
{'value': 'Trykker', 'label': 'Trykker'},
|
||||
{'value': 'Tulpen_One', 'label': 'Tulpen One'},
|
||||
{'value': 'Ubuntu', 'label': 'Ubuntu'},
|
||||
{'value': 'Ubuntu_Condensed', 'label': 'Ubuntu Condensed'},
|
||||
{'value': 'Ubuntu_Mono', 'label': 'Ubuntu Mono'},
|
||||
{'value': 'Ultra', 'label': 'Ultra'},
|
||||
{'value': 'Uncial_Antiqua', 'label': 'Uncial Antiqua'},
|
||||
{'value': 'Underdog', 'label': 'Underdog'},
|
||||
{'value': 'Unica_One', 'label': 'Unica One'},
|
||||
{'value': 'UnifrakturCook', 'label': 'UnifrakturCook'},
|
||||
{'value': 'UnifrakturMaguntia', 'label': 'UnifrakturMaguntia'},
|
||||
{'value': 'Unkempt', 'label': 'Unkempt'},
|
||||
{'value': 'Unlock', 'label': 'Unlock'},
|
||||
{'value': 'Unna', 'label': 'Unna'},
|
||||
{'value': 'VT323', 'label': 'VT323'},
|
||||
{'value': 'Vampiro_One', 'label': 'Vampiro One'},
|
||||
{'value': 'Varela', 'label': 'Varela'},
|
||||
{'value': 'Varela_Round', 'label': 'Varela Round'},
|
||||
{'value': 'Vast_Shadow', 'label': 'Vast Shadow'},
|
||||
{'value': 'Vesper_Libre', 'label': 'Vesper Libre'},
|
||||
{'value': 'Vibur', 'label': 'Vibur'},
|
||||
{'value': 'Vidaloka', 'label': 'Vidaloka'},
|
||||
{'value': 'Viga', 'label': 'Viga'},
|
||||
{'value': 'Voces', 'label': 'Voces'},
|
||||
{'value': 'Volkhov', 'label': 'Volkhov'},
|
||||
{'value': 'Vollkorn', 'label': 'Vollkorn'},
|
||||
{'value': 'Voltaire', 'label': 'Voltaire'},
|
||||
{'value': 'Waiting_for_the_Sunrise', 'label': 'Waiting for the Sunrise'},
|
||||
{'value': 'Wallpoet', 'label': 'Wallpoet'},
|
||||
{'value': 'Walter_Turncoat', 'label': 'Walter Turncoat'},
|
||||
{'value': 'Warnes', 'label': 'Warnes'},
|
||||
{'value': 'Wellfleet', 'label': 'Wellfleet'},
|
||||
{'value': 'Wendy_One', 'label': 'Wendy One'},
|
||||
{'value': 'Wire_One', 'label': 'Wire One'},
|
||||
{'value': 'Work_Sans', 'label': 'Work Sans'},
|
||||
{'value': 'Yanone_Kaffeesatz', 'label': 'Yanone Kaffeesatz'},
|
||||
{'value': 'Yantramanav', 'label': 'Yantramanav'},
|
||||
{'value': 'Yellowtail', 'label': 'Yellowtail'},
|
||||
{'value': 'Yeseva_One', 'label': 'Yeseva One'},
|
||||
{'value': 'Yesteryear', 'label': 'Yesteryear'},
|
||||
{'value': 'Zeyada', 'label': 'Zeyada'}
|
||||
];
|
||||
|
|
@ -14,6 +14,8 @@ abstract class LocaleCodeAware {
|
|||
mixin LocalizationsProvider on LocaleCodeAware {
|
||||
static final Map<String, Map<String, String>> _localizedValues = {
|
||||
'en': {
|
||||
'primary_font': 'Primary Font',
|
||||
'secondary_font': 'Secondary Font',
|
||||
'primary_color': 'Primary Color',
|
||||
'secondary_color': 'Secondary Color',
|
||||
'page_size': 'Page Size',
|
||||
|
|
@ -15323,6 +15325,10 @@ mixin LocalizationsProvider on LocaleCodeAware {
|
|||
|
||||
String get secondaryColor => _localizedValues[localeCode]['secondary_color'];
|
||||
|
||||
String get primaryFont => _localizedValues[localeCode]['primary_font'];
|
||||
|
||||
String get secondaryFont => _localizedValues[localeCode]['secondary_font'];
|
||||
|
||||
String lookup(String key) {
|
||||
final lookupKey = toSnakeCase(key);
|
||||
return _localizedValues[localeCode][lookupKey] ??
|
||||
|
|
|
|||
Loading…
Reference in New Issue