UNPKG

@maggioli-design-system/design-tokens

Version:

This is the Design Token library of Maggioli Design System, here you'll find all the visual data used around the libraries.

62 lines (61 loc) 2.78 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.flutterFontFormat = exports.flutterFontWeightTransform = exports.flutterToDoubleTransform = void 0; const handlebars_1 = __importDefault(require("handlebars")); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const package_json_1 = require("../../../package.json"); const helpers_1 = require("../helpers"); const helpers_2 = require("./helpers"); const templatePath = path_1.default.resolve(__dirname, './template.hbs'); const template = handlebars_1.default.compile(fs_1.default.readFileSync(templatePath).toString()); handlebars_1.default.registerHelper('getFirstFont', helpers_1.firstArrayElement); handlebars_1.default.registerHelper('ifEquals', helpers_1.ifEquals); handlebars_1.default.registerHelper('leadZero', helpers_1.leadZero); handlebars_1.default.registerHelper('pascalCase', helpers_1.pascalCase); handlebars_1.default.registerHelper('rgbChannel', helpers_1.rgbChannel); handlebars_1.default.registerHelper('safeString', helpers_1.safeString); handlebars_1.default.registerHelper('ifDartTextStyleProp', helpers_1.ifDartTextStyleProp); handlebars_1.default.registerHelper('getArrayFontName', value => { if (Array.isArray(value)) return value; return new handlebars_1.default.SafeString((value).replaceAll('\'', '').replaceAll(',', '","')); }); handlebars_1.default.registerHelper('ifFlutterTextThemeVariant', helpers_2.ifFlutterTextThemeVariant); handlebars_1.default.registerHelper('flutterTextThemeVariant', helpers_2.flutterTextThemeVariant); handlebars_1.default.registerHelper('ifFlutterCompatible', helpers_2.ifFlutterCompatible); exports.flutterToDoubleTransform = { name: 'flutter/toDouble', type: 'value', matcher: token => { const attribute = ['lineHeight', 'fontSize', 'letterSpacing']; return attribute.includes(token.attributes?.state ?? ''); }, transformer: function (token) { return parseFloat(token.original.value); }, }; exports.flutterFontWeightTransform = { name: 'flutter/fontWeight', type: 'value', matcher: token => { return token.attributes?.state === 'fontWeight'; }, transformer: function (token) { return `FontWeight.w${token.original.value}`; }, }; exports.flutterFontFormat = { name: 'flutter/font', formatter: ({ dictionary, platform }) => { return template({ properties: dictionary.properties, date: new Date().toUTCString(), options: platform, version: package_json_1.version, }); }, };