Launch Week Day 5: Introducing Reachability for PHP.Learn More
Socket
Book a DemoSign in
Socket

@readapt/settings

Package Overview
Dependencies
Maintainers
3
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@readapt/settings - npm Package Compare versions

Comparing version
1.4.4
to
1.5.0
+16
-2
dist/readapt-settings.esm.js

@@ -253,4 +253,18 @@ const fontFamilyOptions = [

const frSettings = language === 'fr' ? { liaisonsActive: false, liaisonsOpacity: opacityOptions[0].value } : {};
return Object.assign({ language, fontFamily: fontFamilyOptions[0].value, fontSize: fontSizeOptions[0].value, letterSpacing: letterSpacingOptions[0].value, wordSpacing: wordSpacingOptions[0].value, lineSpacing: lineSpacingOptions[0].value, syllableActive: false, syllableOpacity: opacityOptions[0].value, silentLetterActive: false, silentLetterOpacity: opacityOptions[0].value, shadeAlternateLinesActive: false, shadeAlternateLinesOpacity: opacityOptions[0].value, phonemesActive: true, phonemes: buildDefaultPhonemeSettings(language), lettersActive: true, letters: buildDefaultLetterSettings(language) }, frSettings);
return Object.assign({ language, fontFamily: fontFamilyOptions[0].value, fontSize: fontSizeOptions[0].value, letterSpacing: letterSpacingOptions[0].value, wordSpacing: wordSpacingOptions[0].value, lineSpacing: lineSpacingOptions[0].value, syllableActive: false, syllableOpacity: opacityOptions[0].value, silentLetterActive: false, silentLetterOpacity: silentLetterOpacityOptions[0].value, shadeAlternateLinesActive: false, shadeAlternateLinesOpacity: opacityOptions[0].value, phonemesActive: true, phonemes: buildDefaultPhonemeSettings(language), lettersActive: true, letters: buildDefaultLetterSettings(language) }, frSettings);
};
const overrideDefaultColoredItems = (defaultColoredItems, overrides) => defaultColoredItems.map((item) => {
const overridden = overrides.find(({ value }) => item.value === value);
return overridden ? overridden : item;
});
const overrideDefaultLetters = (lang, overrides) => {
const letterOptions = getLangConfig(lang).letterOptions;
const lettersSettings = buildDefaultColoredItems(letterOptions);
return overrideDefaultColoredItems(lettersSettings, overrides);
};
const overrideDefaultPhonemes = (lang, overrides) => {
const phonemesOptions = getLangConfig(lang).phonemeOptions;
const phonemesSettings = buildDefaultColoredItems(phonemesOptions);
return overrideDefaultColoredItems(phonemesSettings, overrides);
};

@@ -268,2 +282,2 @@ /**

export { buildDefaultProfiles, buildDefaultSettings, colors, fontFamilyOptions, fontSizeOptions, getLangConfig, languageOptions, letterSpacingOptions, lineSpacingOptions, opacityOptions, silentLetterOpacityOptions, thicknessOptions, wordSpacingOptions };
export { buildDefaultProfiles, buildDefaultSettings, colors, fontFamilyOptions, fontSizeOptions, getLangConfig, languageOptions, letterSpacingOptions, lineSpacingOptions, opacityOptions, overrideDefaultLetters, overrideDefaultPhonemes, silentLetterOpacityOptions, thicknessOptions, wordSpacingOptions };

@@ -257,4 +257,18 @@ 'use strict';

const frSettings = language === 'fr' ? { liaisonsActive: false, liaisonsOpacity: opacityOptions[0].value } : {};
return Object.assign({ language, fontFamily: fontFamilyOptions[0].value, fontSize: fontSizeOptions[0].value, letterSpacing: letterSpacingOptions[0].value, wordSpacing: wordSpacingOptions[0].value, lineSpacing: lineSpacingOptions[0].value, syllableActive: false, syllableOpacity: opacityOptions[0].value, silentLetterActive: false, silentLetterOpacity: opacityOptions[0].value, shadeAlternateLinesActive: false, shadeAlternateLinesOpacity: opacityOptions[0].value, phonemesActive: true, phonemes: buildDefaultPhonemeSettings(language), lettersActive: true, letters: buildDefaultLetterSettings(language) }, frSettings);
return Object.assign({ language, fontFamily: fontFamilyOptions[0].value, fontSize: fontSizeOptions[0].value, letterSpacing: letterSpacingOptions[0].value, wordSpacing: wordSpacingOptions[0].value, lineSpacing: lineSpacingOptions[0].value, syllableActive: false, syllableOpacity: opacityOptions[0].value, silentLetterActive: false, silentLetterOpacity: silentLetterOpacityOptions[0].value, shadeAlternateLinesActive: false, shadeAlternateLinesOpacity: opacityOptions[0].value, phonemesActive: true, phonemes: buildDefaultPhonemeSettings(language), lettersActive: true, letters: buildDefaultLetterSettings(language) }, frSettings);
};
const overrideDefaultColoredItems = (defaultColoredItems, overrides) => defaultColoredItems.map((item) => {
const overridden = overrides.find(({ value }) => item.value === value);
return overridden ? overridden : item;
});
const overrideDefaultLetters = (lang, overrides) => {
const letterOptions = getLangConfig(lang).letterOptions;
const lettersSettings = buildDefaultColoredItems(letterOptions);
return overrideDefaultColoredItems(lettersSettings, overrides);
};
const overrideDefaultPhonemes = (lang, overrides) => {
const phonemesOptions = getLangConfig(lang).phonemeOptions;
const phonemesSettings = buildDefaultColoredItems(phonemesOptions);
return overrideDefaultColoredItems(phonemesSettings, overrides);
};

@@ -282,4 +296,6 @@ /**

exports.opacityOptions = opacityOptions;
exports.overrideDefaultLetters = overrideDefaultLetters;
exports.overrideDefaultPhonemes = overrideDefaultPhonemes;
exports.silentLetterOpacityOptions = silentLetterOpacityOptions;
exports.thicknessOptions = thicknessOptions;
exports.wordSpacingOptions = wordSpacingOptions;
+4
-2

@@ -1,4 +0,6 @@

import { Language, Settings } from './models';
import { ColoredItem, Language, Settings } from './models';
declare const buildDefaultSettings: (language: Language) => Settings;
export { buildDefaultSettings };
declare const overrideDefaultLetters: (lang: Language, overrides: ColoredItem[]) => ColoredItem[];
declare const overrideDefaultPhonemes: (lang: Language, overrides: ColoredItem[]) => ColoredItem[];
export { buildDefaultSettings, overrideDefaultLetters, overrideDefaultPhonemes };
//# sourceMappingURL=defaultSettings.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"defaultSettings.d.ts","sourceRoot":"","sources":["../../src/defaultSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAsBzE,QAAA,MAAM,oBAAoB,aAAc,QAAQ,KAAG,QAsBlD,CAAA;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAA"}
{"version":3,"file":"defaultSettings.d.ts","sourceRoot":"","sources":["../../src/defaultSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiB,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AA8BzE,QAAA,MAAM,oBAAoB,aAAc,QAAQ,KAAG,QAsBlD,CAAA;AAQD,QAAA,MAAM,sBAAsB,SAAU,QAAQ,aAAa,WAAW,EAAE,KAAG,WAAW,EAKrF,CAAA;AAED,QAAA,MAAM,uBAAuB,SAAU,QAAQ,aAAa,WAAW,EAAE,KAAG,WAAW,EAKtF,CAAA;AAED,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,CAAA"}
/**
* Represents a Phoneme or Letter to be colored
*/
import { ColorOption } from '../options/colors';
export interface ColoredItem {
key: string;
value: string;
color?: string;
color?: ColorOption;
bold: boolean;

@@ -9,0 +10,0 @@ active: boolean;

@@ -1,1 +0,1 @@

{"version":3,"file":"coloredItem.d.ts","sourceRoot":"","sources":["../../../src/models/coloredItem.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;CAChB"}
{"version":3,"file":"coloredItem.d.ts","sourceRoot":"","sources":["../../../src/models/coloredItem.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;CAChB"}

@@ -1,5 +0,5 @@

export interface Option {
value: string;
export interface Option<T extends string> {
value: T;
text: string;
}
//# sourceMappingURL=option.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../../../src/models/option.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb"}
{"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../../../src/models/option.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,MAAM;IACtC,KAAK,EAAE,CAAC,CAAA;IACR,IAAI,EAAE,MAAM,CAAA;CACb"}
import { Language } from './language';
import { ColoredItem } from './coloredItem';
import { ColorOption, FontFamilyOption, FontSizeOption, LetterSpacingOption, LineSpacingOption, OpacityOption, SilentLetterOpacityOption, WordSpacingOption } from '../options';
export interface Settings {
language: Language;
fontFamily: string;
fontSize: string;
letterSpacing: string;
wordSpacing: string;
lineSpacing: string;
syllableColor1?: string;
syllableColor2?: string;
fontFamily: FontFamilyOption;
fontSize: FontSizeOption;
letterSpacing: LetterSpacingOption;
wordSpacing: WordSpacingOption;
lineSpacing: LineSpacingOption;
syllableColor1?: ColorOption;
syllableColor2?: ColorOption;
syllableActive: boolean;
syllableOpacity: string;
silentLetterOpacity: string;
syllableOpacity: OpacityOption;
silentLetterOpacity: SilentLetterOpacityOption;
silentLetterActive: boolean;
shadeAlternateLinesOpacity: string;
shadeAlternateLinesOpacity: OpacityOption;
shadeAlternateLinesActive: boolean;
liaisonsOpacity?: string;
liaisonsOpacity?: OpacityOption;
liaisonsActive?: boolean;

@@ -20,0 +21,0 @@ phonemesActive: boolean;

@@ -1,1 +0,1 @@

{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/models/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,OAAO,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,0BAA0B,EAAE,MAAM,CAAA;IAClC,yBAAyB,EAAE,OAAO,CAAA;IAClC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,OAAO,EAAE,WAAW,EAAE,CAAA;CACvB"}
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/models/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,gBAAgB,CAAA;IAC5B,QAAQ,EAAE,cAAc,CAAA;IACxB,aAAa,EAAE,mBAAmB,CAAA;IAClC,WAAW,EAAE,iBAAiB,CAAA;IAC9B,WAAW,EAAE,iBAAiB,CAAA;IAC9B,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,cAAc,EAAE,OAAO,CAAA;IACvB,eAAe,EAAE,aAAa,CAAA;IAC9B,mBAAmB,EAAE,yBAAyB,CAAA;IAC9C,kBAAkB,EAAE,OAAO,CAAA;IAC3B,0BAA0B,EAAE,aAAa,CAAA;IACzC,yBAAyB,EAAE,OAAO,CAAA;IAClC,eAAe,CAAC,EAAE,aAAa,CAAA;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,cAAc,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,OAAO,EAAE,WAAW,EAAE,CAAA;CACvB"}

@@ -1,2 +0,3 @@

export declare const colors: string[];
export declare const colors: readonly ["#5fa2ce", "#76b7b2", "#b07aa1", "#fc7d0b", "#a3cce9", "#c85200", "#7b848f", "#59a14f", "#ff9da7", "#edc948", "#9c755f", "#ffbc79"];
export declare type ColorOption = typeof colors[number];
//# sourceMappingURL=colors.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/options/colors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,EAAE,MAAM,EAa1B,CAAA"}
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/options/colors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,+IAaT,CAAA;AAEV,oBAAY,WAAW,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA"}
import { Option } from '../models';
export declare const fontFamilyOptions: Option[];
export declare type FontFamilyOption = 'inherit' | 'Arial' | 'OpenDyslexic' | 'Luciole';
export declare const fontFamilyOptions: Option<FontFamilyOption>[];
//# sourceMappingURL=fontFamilyOptions.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"fontFamilyOptions.d.ts","sourceRoot":"","sources":["../../../src/options/fontFamilyOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,eAAO,MAAM,iBAAiB,EAAE,MAAM,EAKrC,CAAA"}
{"version":3,"file":"fontFamilyOptions.d.ts","sourceRoot":"","sources":["../../../src/options/fontFamilyOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,oBAAY,gBAAgB,GAAG,SAAS,GAAG,OAAO,GAAG,cAAc,GAAG,SAAS,CAAA;AAE/E,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAKvD,CAAA"}
import { Option } from '../models';
export declare const fontSizeOptions: Option[];
export declare type FontSizeOption = 'inherit' | '140%' | '170%' | '200%';
export declare const fontSizeOptions: Option<FontSizeOption>[];
//# sourceMappingURL=fontSizeOptions.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"fontSizeOptions.d.ts","sourceRoot":"","sources":["../../../src/options/fontSizeOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,eAAO,MAAM,eAAe,EAAE,MAAM,EAKnC,CAAA"}
{"version":3,"file":"fontSizeOptions.d.ts","sourceRoot":"","sources":["../../../src/options/fontSizeOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,oBAAY,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;AAEjE,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,cAAc,CAAC,EAKnD,CAAA"}

@@ -1,11 +0,11 @@

export { fontFamilyOptions } from './fontFamilyOptions';
export { fontSizeOptions } from './fontSizeOptions';
export { languageOptions } from './languageOptions';
export { letterSpacingOptions } from './letterSpacingOptions';
export { lineSpacingOptions } from './lineSpacingOptions';
export { opacityOptions } from './opacityOptions';
export { thicknessOptions } from './thicknessOptions';
export { silentLetterOpacityOptions } from './silentLetterOpacityOptions';
export { wordSpacingOptions } from './wordSpacingOptions';
export { colors } from './colors';
export * from './fontFamilyOptions';
export * from './fontSizeOptions';
export * from './languageOptions';
export * from './letterSpacingOptions';
export * from './lineSpacingOptions';
export * from './opacityOptions';
export * from './thicknessOptions';
export * from './silentLetterOpacityOptions';
export * from './wordSpacingOptions';
export * from './colors';
//# sourceMappingURL=index.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/options/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA"}

@@ -1,3 +0,3 @@

import { Option } from '../models';
export declare const languageOptions: Option[];
import { Language, Option } from '../models';
export declare const languageOptions: Option<Language>[];
//# sourceMappingURL=languageOptions.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"languageOptions.d.ts","sourceRoot":"","sources":["../../../src/options/languageOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,eAAO,MAAM,eAAe,EAAE,MAAM,EAGnC,CAAA"}
{"version":3,"file":"languageOptions.d.ts","sourceRoot":"","sources":["../../../src/options/languageOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAE5C,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,EAG7C,CAAA"}
import { Option } from '../models';
export declare const letterSpacingOptions: Option[];
export declare type LetterSpacingOption = 'inherit' | '2px' | '3.5px' | '5px';
export declare const letterSpacingOptions: Option<LetterSpacingOption>[];
//# sourceMappingURL=letterSpacingOptions.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"letterSpacingOptions.d.ts","sourceRoot":"","sources":["../../../src/options/letterSpacingOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAKxC,CAAA"}
{"version":3,"file":"letterSpacingOptions.d.ts","sourceRoot":"","sources":["../../../src/options/letterSpacingOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,oBAAY,mBAAmB,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAA;AAErE,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAK7D,CAAA"}
import { Option } from '../models';
export declare const lineSpacingOptions: Option[];
export declare type LineSpacingOption = 'inherit' | '2.1' | '2.55' | '3';
export declare const lineSpacingOptions: Option<LineSpacingOption>[];
//# sourceMappingURL=lineSpacingOptions.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"lineSpacingOptions.d.ts","sourceRoot":"","sources":["../../../src/options/lineSpacingOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAKtC,CAAA"}
{"version":3,"file":"lineSpacingOptions.d.ts","sourceRoot":"","sources":["../../../src/options/lineSpacingOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,oBAAY,iBAAiB,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,GAAG,GAAG,CAAA;AAEhE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAKzD,CAAA"}
import { Option } from '../models';
export declare const opacityOptions: Option[];
export declare type OpacityOption = '33' | '66' | '99' | 'CC' | 'FF';
export declare const opacityOptions: Option<OpacityOption>[];
//# sourceMappingURL=opacityOptions.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"opacityOptions.d.ts","sourceRoot":"","sources":["../../../src/options/opacityOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,eAAO,MAAM,cAAc,EAAE,MAAM,EAMlC,CAAA"}
{"version":3,"file":"opacityOptions.d.ts","sourceRoot":"","sources":["../../../src/options/opacityOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,oBAAY,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE5D,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC,EAMjD,CAAA"}
import { Option } from '../models';
export declare const silentLetterOpacityOptions: Option[];
export declare type SilentLetterOpacityOption = '0.2' | '0.4' | '0.5' | '0.6' | '0.8';
export declare const silentLetterOpacityOptions: Option<SilentLetterOpacityOption>[];
//# sourceMappingURL=silentLetterOpacityOptions.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"silentLetterOpacityOptions.d.ts","sourceRoot":"","sources":["../../../src/options/silentLetterOpacityOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,eAAO,MAAM,0BAA0B,EAAE,MAAM,EAM9C,CAAA"}
{"version":3,"file":"silentLetterOpacityOptions.d.ts","sourceRoot":"","sources":["../../../src/options/silentLetterOpacityOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,oBAAY,yBAAyB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;AAE7E,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,yBAAyB,CAAC,EAMzE,CAAA"}
import { Option } from '../models';
export declare const thicknessOptions: Option[];
export declare type ThicknessOption = '1' | '2' | '3';
export declare const thicknessOptions: Option<ThicknessOption>[];
//# sourceMappingURL=thicknessOptions.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"thicknessOptions.d.ts","sourceRoot":"","sources":["../../../src/options/thicknessOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,eAAO,MAAM,gBAAgB,EAAE,MAAM,EAIpC,CAAA"}
{"version":3,"file":"thicknessOptions.d.ts","sourceRoot":"","sources":["../../../src/options/thicknessOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,oBAAY,eAAe,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;AAE7C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC,EAIrD,CAAA"}
import { Option } from '../models';
export declare const wordSpacingOptions: Option[];
export declare type WordSpacingOption = 'inherit' | '2px' | '3.5px' | '5px';
export declare const wordSpacingOptions: Option<WordSpacingOption>[];
//# sourceMappingURL=wordSpacingOptions.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"wordSpacingOptions.d.ts","sourceRoot":"","sources":["../../../src/options/wordSpacingOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAKtC,CAAA"}
{"version":3,"file":"wordSpacingOptions.d.ts","sourceRoot":"","sources":["../../../src/options/wordSpacingOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,oBAAY,iBAAiB,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAA;AAEnE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAKzD,CAAA"}
{
"name": "@readapt/settings",
"version": "1.4.4",
"version": "1.5.0",
"main": "dist/readapt-settings.js",

@@ -24,3 +24,3 @@ "module": "dist/readapt-settings.esm.js",

],
"gitHead": "3cd52559ca1c4d25c7bdef8309fbe27168656dbb"
"gitHead": "749a03ec8c071e43ed7a9c8a5ae9ada6f14cf9a3"
}
# @readapt/settings
Readapt adaptations are based on a settings profile. This package contains Settings models, type definitions and a few
utility functions to easily build Settings in order to adapt text.
## Installation
1. Install `@readapt/settings` package:
```bash
npm install @readapt/settings
```
## How to build settings?
Use `buildDefaultSettings()` to build default settings
```typescript
import { buildDefaultSettings } from '@readapt/settings'
const defaultSettings = buildDefaultSettings('en')
```
Then you can customize it using available options. For example:
```typescript
import { colors, lineSpacingOptions, opacityOptions, silentLetterOpacityOptions, overrideDefaultLetters } from '@readapt/settings'
const mySettings = {
...defaultSettingsEn,
shadeAlternateLinesActive: true,
shadeAlternateLinesOpacity: opacityOptions[1].value,
silentLetterActive: true,
silentLetterOpacity: silentLetterOpacityOptions[2].value,
lineSpacing: lineSpacingOptions[1].value,
letters: overrideDefaultLetters('en', [
{ key: '2', value: 'd', bold: false, color: colors[0], active: true },
{ key: '8', value: 'm', bold: false, color: colors[1], active: true },
{ key: '7', value: 'n', bold: false, color: colors[2], active: true },
{ key: '3', value: 'p', bold: false, color: colors[3], active: true },
{ key: '1', value: 'b', bold: false, color: colors[4], active: true },
{ key: '24', value: 'w', bold: false, color: colors[7], active: true },
{ key: '19', value: 'u', bold: false, color: colors[8], active: true },
{ key: '4', value: 'q', bold: false, color: colors[11], active: true }
])
}
```
Each Option is typed to easily know available values. Explore our source code to check all available options.
`overrideDefaultLetters()` and `overrideDefaultPhonemes()` are two methods to easily customize letters and phonemes.
`getLangConfig()` returns available phonemes and letters for each language.
import { ColoredItem, ColoredOption, Language, Settings } from './models'
import { fontFamilyOptions, fontSizeOptions, letterSpacingOptions, lineSpacingOptions, opacityOptions, wordSpacingOptions } from './options'
import {
fontFamilyOptions,
fontSizeOptions,
letterSpacingOptions,
lineSpacingOptions,
opacityOptions,
silentLetterOpacityOptions,
wordSpacingOptions
} from './options'
import { getLangConfig } from './langConfig'

@@ -15,3 +23,3 @@

const buildDefaultColoredItems = (options: ColoredOption[]) =>
const buildDefaultColoredItems = (options: ColoredOption[]): ColoredItem[] =>
options.map(({ key, value }) => ({

@@ -37,3 +45,3 @@ key,

silentLetterActive: false,
silentLetterOpacity: opacityOptions[0].value,
silentLetterOpacity: silentLetterOpacityOptions[0].value,
shadeAlternateLinesActive: false,

@@ -49,2 +57,22 @@ shadeAlternateLinesOpacity: opacityOptions[0].value,

export { buildDefaultSettings }
const overrideDefaultColoredItems = (defaultColoredItems: ColoredItem[], overrides: ColoredItem[]): ColoredItem[] =>
defaultColoredItems.map((item) => {
const overridden = overrides.find(({ value }) => item.value === value)
return overridden ? overridden : item
})
const overrideDefaultLetters = (lang: Language, overrides: ColoredItem[]): ColoredItem[] => {
const letterOptions = getLangConfig(lang).letterOptions
const lettersSettings = buildDefaultColoredItems(letterOptions)
return overrideDefaultColoredItems(lettersSettings, overrides)
}
const overrideDefaultPhonemes = (lang: Language, overrides: ColoredItem[]): ColoredItem[] => {
const phonemesOptions = getLangConfig(lang).phonemeOptions
const phonemesSettings = buildDefaultColoredItems(phonemesOptions)
return overrideDefaultColoredItems(phonemesSettings, overrides)
}
export { buildDefaultSettings, overrideDefaultLetters, overrideDefaultPhonemes }
/**
* Represents a Phoneme or Letter to be colored
*/
import { ColorOption } from '../options/colors'
export interface ColoredItem {
key: string
value: string
color?: string
color?: ColorOption
bold: boolean
active: boolean
}

@@ -1,4 +0,4 @@

export interface Option {
value: string
export interface Option<T extends string> {
value: T
text: string
}
import { Language } from './language'
import { ColoredItem } from './coloredItem'
import {
ColorOption,
FontFamilyOption,
FontSizeOption,
LetterSpacingOption,
LineSpacingOption,
OpacityOption,
SilentLetterOpacityOption,
WordSpacingOption
} from '../options'
export interface Settings {
language: Language
fontFamily: string
fontSize: string
letterSpacing: string
wordSpacing: string
lineSpacing: string
syllableColor1?: string
syllableColor2?: string
fontFamily: FontFamilyOption
fontSize: FontSizeOption
letterSpacing: LetterSpacingOption
wordSpacing: WordSpacingOption
lineSpacing: LineSpacingOption
syllableColor1?: ColorOption
syllableColor2?: ColorOption
syllableActive: boolean
syllableOpacity: string
silentLetterOpacity: string
syllableOpacity: OpacityOption
silentLetterOpacity: SilentLetterOpacityOption
silentLetterActive: boolean
shadeAlternateLinesOpacity: string
shadeAlternateLinesOpacity: OpacityOption
shadeAlternateLinesActive: boolean
liaisonsOpacity?: string
liaisonsOpacity?: OpacityOption
liaisonsActive?: boolean

@@ -21,0 +31,0 @@ phonemesActive: boolean

@@ -1,2 +0,2 @@

export const colors: string[] = [
export const colors = [
'#5fa2ce',

@@ -14,2 +14,4 @@ '#76b7b2',

'#ffbc79'
]
] as const
export type ColorOption = typeof colors[number]
import { Option } from '../models'
export const fontFamilyOptions: Option[] = [
export type FontFamilyOption = 'inherit' | 'Arial' | 'OpenDyslexic' | 'Luciole'
export const fontFamilyOptions: Option<FontFamilyOption>[] = [
{ value: 'inherit', text: 'Default' },

@@ -5,0 +7,0 @@ { value: 'Arial', text: 'Arial' },

import { Option } from '../models'
export const fontSizeOptions: Option[] = [
export type FontSizeOption = 'inherit' | '140%' | '170%' | '200%'
export const fontSizeOptions: Option<FontSizeOption>[] = [
{ value: 'inherit', text: 'DEFAULT' },

@@ -5,0 +7,0 @@ { value: '140%', text: 'MEDIUM' },

@@ -1,10 +0,10 @@

export { fontFamilyOptions } from './fontFamilyOptions'
export { fontSizeOptions } from './fontSizeOptions'
export { languageOptions } from './languageOptions'
export { letterSpacingOptions } from './letterSpacingOptions'
export { lineSpacingOptions } from './lineSpacingOptions'
export { opacityOptions } from './opacityOptions'
export { thicknessOptions } from './thicknessOptions'
export { silentLetterOpacityOptions } from './silentLetterOpacityOptions'
export { wordSpacingOptions } from './wordSpacingOptions'
export { colors } from './colors'
export * from './fontFamilyOptions'
export * from './fontSizeOptions'
export * from './languageOptions'
export * from './letterSpacingOptions'
export * from './lineSpacingOptions'
export * from './opacityOptions'
export * from './thicknessOptions'
export * from './silentLetterOpacityOptions'
export * from './wordSpacingOptions'
export * from './colors'

@@ -1,6 +0,6 @@

import { Option } from '../models'
import { Language, Option } from '../models'
export const languageOptions: Option[] = [
export const languageOptions: Option<Language>[] = [
{ value: 'en', text: 'English' },
{ value: 'fr', text: 'French' }
]
import { Option } from '../models'
export const letterSpacingOptions: Option[] = [
export type LetterSpacingOption = 'inherit' | '2px' | '3.5px' | '5px'
export const letterSpacingOptions: Option<LetterSpacingOption>[] = [
{ value: 'inherit', text: 'DEFAULT' },

@@ -5,0 +7,0 @@ { value: '2px', text: 'MEDIUM' },

import { Option } from '../models'
export const lineSpacingOptions: Option[] = [
export type LineSpacingOption = 'inherit' | '2.1' | '2.55' | '3'
export const lineSpacingOptions: Option<LineSpacingOption>[] = [
{ value: 'inherit', text: 'DEFAULT' },

@@ -5,0 +7,0 @@ { value: '2.1', text: 'MEDIUM' },

import { Option } from '../models'
export const opacityOptions: Option[] = [
export type OpacityOption = '33' | '66' | '99' | 'CC' | 'FF'
export const opacityOptions: Option<OpacityOption>[] = [
{ value: '33', text: '1' },

@@ -5,0 +7,0 @@ { value: '66', text: '2' },

import { Option } from '../models'
export const silentLetterOpacityOptions: Option[] = [
export type SilentLetterOpacityOption = '0.2' | '0.4' | '0.5' | '0.6' | '0.8'
export const silentLetterOpacityOptions: Option<SilentLetterOpacityOption>[] = [
{ value: '0.2', text: '1' },

@@ -5,0 +7,0 @@ { value: '0.4', text: '2' },

import { Option } from '../models'
export const thicknessOptions: Option[] = [
export type ThicknessOption = '1' | '2' | '3'
export const thicknessOptions: Option<ThicknessOption>[] = [
{ value: '1', text: '1' },

@@ -5,0 +7,0 @@ { value: '2', text: '2' },

import { Option } from '../models'
export const wordSpacingOptions: Option[] = [
export type WordSpacingOption = 'inherit' | '2px' | '3.5px' | '5px'
export const wordSpacingOptions: Option<WordSpacingOption>[] = [
{ value: 'inherit', text: 'DEFAULT' },

@@ -5,0 +7,0 @@ { value: '2px', text: 'MEDIUM' },

{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/index.ts","../src/models/langConfig/coloredOption.ts","../src/models/langConfig/langConfig.ts","../src/models/langConfig/index.ts","../src/models/language.ts","../src/models/coloredItem.ts","../src/models/option.ts","../src/models/settings.ts","../src/models/settingsKey.ts","../src/models/profiles.ts","../src/models/storeModel.ts","../src/models/index.ts","../src/options/fontFamilyOptions.ts","../src/options/fontSizeOptions.ts","../src/options/languageOptions.ts","../src/options/letterSpacingOptions.ts","../src/options/lineSpacingOptions.ts","../src/options/opacityOptions.ts","../src/options/thicknessOptions.ts","../src/options/silentLetterOpacityOptions.ts","../src/options/wordSpacingOptions.ts","../src/options/colors.ts","../src/options/index.ts","../src/langConfig/langConfigFr.ts","../src/langConfig/langConfigEn.ts","../src/langConfig/langConfig.ts","../src/langConfig/index.ts","../src/defaultSettings.ts","../src/defaultProfiles.ts"],"names":[],"mappings":""}
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/index.ts","../src/models/langConfig/coloredOption.ts","../src/models/langConfig/langConfig.ts","../src/models/langConfig/index.ts","../src/models/language.ts","../src/models/coloredItem.ts","../src/models/option.ts","../src/models/settings.ts","../src/models/settingsKey.ts","../src/models/profiles.ts","../src/models/storeModel.ts","../src/models/index.ts","../src/options/fontFamilyOptions.ts","../src/options/fontSizeOptions.ts","../src/options/languageOptions.ts","../src/options/letterSpacingOptions.ts","../src/options/lineSpacingOptions.ts","../src/options/opacityOptions.ts","../src/options/thicknessOptions.ts","../src/options/silentLetterOpacityOptions.ts","../src/options/wordSpacingOptions.ts","../src/options/colors.ts","../src/options/index.ts","../src/langConfig/langConfigFr.ts","../src/langConfig/langConfigEn.ts","../src/langConfig/langConfig.ts","../src/langConfig/index.ts","../src/defaultSettings.ts","../src/defaultProfiles.ts"],"names":[],"mappings":""}
interface ColoredOption {
key: string;
value: string;
examples: string[];
}
interface LangConfig {
phonemeOptions: ColoredOption[];
letterOptions: ColoredOption[];
textPreview: string;
}
type Language = "en" | "fr";
/**
* Represents a Phoneme or Letter to be colored
*/
interface ColoredItem {
key: string;
value: string;
color?: string;
bold: boolean;
active: boolean;
}
interface Option {
value: string;
text: string;
}
interface Settings {
language: Language;
fontFamily: string;
fontSize: string;
letterSpacing: string;
wordSpacing: string;
lineSpacing: string;
syllableColor1?: string;
syllableColor2?: string;
syllableActive: boolean;
syllableOpacity: string;
silentLetterOpacity: string;
silentLetterActive: boolean;
shadeAlternateLinesOpacity: string;
shadeAlternateLinesActive: boolean;
liaisonsOpacity?: string;
liaisonsActive?: boolean;
phonemesActive: boolean;
phonemes: ColoredItem[];
lettersActive: boolean;
letters: ColoredItem[];
}
type SettingsKey = keyof Settings;
interface Profiles {
en: Settings;
fr: Settings;
}
interface StoreModel {
profiles: Profiles;
language: Language;
}
declare const fontFamilyOptions: Option[];
declare const fontSizeOptions: Option[];
declare const languageOptions: Option[];
declare const letterSpacingOptions: Option[];
declare const lineSpacingOptions: Option[];
declare const opacityOptions: Option[];
declare const thicknessOptions: Option[];
declare const silentLetterOpacityOptions: Option[];
declare const wordSpacingOptions: Option[];
declare const colors: string[];
declare const getLangConfig: (language: Language) => LangConfig;
declare const buildDefaultSettings: (language: Language) => Settings;
/**
* build default Profiles in all available languages
* @return Profiles
*/
declare const buildDefaultProfiles: () => Profiles;
export { LangConfig, ColoredOption, Language, ColoredItem, Option, Settings, SettingsKey, Profiles, StoreModel, fontFamilyOptions, fontSizeOptions, languageOptions, letterSpacingOptions, lineSpacingOptions, opacityOptions, thicknessOptions, silentLetterOpacityOptions, wordSpacingOptions, colors, getLangConfig, buildDefaultSettings, buildDefaultProfiles };
//# sourceMappingURL=readapt-settings.esm.d.ts.map