diff --git a/.gitignore b/.gitignore index a10a0e1..709960a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ node_modules foundryconfig.json package-lock.json yarn-error.log +.vs diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..6b61141 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,6 @@ +{ + "ExpandedNodes": [ + "" + ], + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000..5f14697 Binary files /dev/null and b/.vs/slnx.sqlite differ diff --git a/.vs/token-mold/config/applicationhost.config b/.vs/token-mold/config/applicationhost.config new file mode 100644 index 0000000..bd44eab --- /dev/null +++ b/.vs/token-mold/config/applicationhost.config @@ -0,0 +1,1025 @@ + + + + + + + +
+
+
+
+
+
+
+
+ + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+ + +
+
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.vs/token-mold/v16/.suo b/.vs/token-mold/v16/.suo new file mode 100644 index 0000000..7bcfe3e Binary files /dev/null and b/.vs/token-mold/v16/.suo differ diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e2733d..28def47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# v2.11 + +- Localization support, including german translation! Huge thanks to GitHub user @CarnVanBeck, who did *all* the work! + # v2.10.1 - *FIX* saving settings to break, if no adjective list was loaded before. (Happened e.g. when the set table doesn't exist anymore). diff --git a/lang/de.json b/lang/de.json new file mode 100644 index 0000000..4b59a15 --- /dev/null +++ b/lang/de.json @@ -0,0 +1,82 @@ +{ + "I18N.MAINTAINERS": [ "CarnVanBeck" ], + + "Token Mold": "Token Mold", + + "tmold.config.applySettings": "Einstellungen anwenden bei", + "tmold.config.unlinkedOnly": "nicht verbundenen Charakteren", + + "tmold.tab.infoHelp": "Info/Hilfe", + "tmold.tab.name": "Name", + "tmold.tab.systemSpecific": "Systemspezifisch", + "tmold.tab.defaultConfig": "Standardkonfiguration", + "tmold.tab.statOverlay": "Attributs Overlay", + + "tmold.info.featureOverview": "Funktionsübersicht / Read me!", + "tmold.info.bugsOrSuggestions": "Fehler oder Funktionsvorschläge? Erstelle ein Probleme hier.", + "tmold.info.changelog": "Changelog", + "tmold.info.support": "Möchtest du die Entwicklung unterstützen?", + "tmold.info.clickHere": "Klicke hier", + + "tmold.name.addNumbers": "Hänge Zähler Nummern dem Namen als Suffix an.", + "tmold.name.numberStyle": "Wähle einen Zahlen Stil. Das erste Feld darf nicht leer sein!", + "tmold.name.prefix": "Präfix", + "tmold.name.suffix": "Suffix", + "tmold.name.increaseIndex": "Erhöhe den Index um bis zu", + "tmold.name.increaseIndexHelp": "Die Index Erhöhung wird zufällig aus diesem Bereich gewählt. Minimum von 1. (Gleichmäßig verteilt)", + "tmold.name.resetCounter": "Setze den Zähler für alle Figuren dieser Szene zurück.", + "tmold.name.resetCounterHelp": "Setzt den Zähler für neu erstellte Figuren zurück. Dies wird nach dem Neuladen der Seite auf den am höchsten platzierten Index zurückgesetzt. Bei Karten mit einer hohen Anzahl an Figuren kann das ein Paar Sekunden dauern.", + "tmold.name.addAdjective": "Füge ein zufälliges Adjektiv aus der Bibliothek ein", + "tmold.name.chooseRolltable": "Wähle ein zufälliges Adjektiv aus folgender Würfeltabelle:", + "tmold.name.adjectivePlacement": "Adjektiv Position:", + "tmold.name.adjectivePlacementFront": "Vorne", + "tmold.name.adjectivePlacementBack": "Hinten", + "tmold.name.baseName": "Basisname:", + "tmold.name.baseNameNothing": "Nichts tun", + "tmold.name.baseNameRemove": "Entfernen", + "tmold.name.baseNameReplace": "Durch zufälligen Namen ersetzen", + "tmold.name.replaceHelp": "Für weitere Informationen wie das Funktioniert, kannst du auf der Modul Homepage schauen.", + "tmold.name.replaceInfo1": "Die ausgewählte Option wird den Namen der Figur mit einem generierten ersetzen.", + "tmold.name.replaceInfo2": "Du kannst eine Reihe an Attributen auswählen. Für jedes Attribut kannst du mögliche Werte setzen und ihnen eine Sprache zuweisen. Bei der Erstellung der Figur wird der erste passende Wert verwendet. Wenn kein passender Wert gefunden wurde, wird der Standardwert verwendet.", + "tmold.name.replaceInfo3": "Wichtig: Das Aktivieren dieser Funktion wird zu ca 100 Mb zusätzlicher Speicherverwendung führen! (Nur für SL)", + "tmold.name.generateLength": "Länge des generierten Namens", + "tmold.name.minimum": "Minimum:", + "tmold.name.maximum": "Maximum:", + "tmold.name.regenerate": "Generiere die Namen für die ausgewählten Figuren neu", + "tmold.name.attribute": "Attribut", + "tmold.name.value": "Wert", + "tmold.name.language": "Sprache", + "tmold.name.reset": "Auf Standard zurücksetzen", + "tmold.name.default": "Standard", + "tmold.name.random": "Zufällig", + "tmold.name.delete": "Löschen", + "tmold.stat.none": "Keins", + "tmold.stat.name": "Name", + "tmold.name.addValue": "Wert hinzufügen", + "tmold.name.addAttribute": "Attribut hinzufügen", + + "tmold.system.sendToChat": "Sende Ergebnise in den Chat (Diese Einstellung ändert nur, ob die Würfe an den Chat geschickt werden. Ob die Trefferpunkte gewürfelt werden, entscheidet sich an den Einstellungen in der Seitenleiste.)", + "tmold.system.setTokenSize": "Setze die Figurengröße auf die Größe der Kreatur skaliert an die Kartengröße", + "tmold.system.setTokenSizeHelp": "Setzt die Größe der Figur passend zu der Größe des Charakters anhand der Regeln. Wenn die Karte ft. als Einheit eingetragen hat, wird es passend skaliert.", + + "tmold.default.overwrite": "Überschreiben", + "tmold.default.active": "Aktiv", + "tmold.default.vision": "Sicht:", + "tmold.default.randScale": "Zufälliger Größenmuliplikator", + "tmold.default.min": "Min", + "tmold.default.max": "Max", + "tmold.default.randRotation": "Zufälliger Rotationsbereich", + "tmold.default.minAngle": "Min Winkel", + "tmold.default.maxAngle": "Max Winkel", + "tmold.default.randMirroring": "Zufälliges Spiegeln", + "tmold.default.horizontal": "Horizontal", + "tmold.default.vertical": "Vertikal", + + "tmold.stat.attributeChooseDisplay": "Wähle Attribute zum Anzeigen aus", + "tmold.stat.attribute": "Attribut", + "tmold.stat.attributeIcon": "Symbol", + "tmold.stat.attributeNone": "Keins", + "tmold.stat.attributeName": "Name", + "tmold.stat.attributeDelete": "Löschen", + "tmold.stat.attributeAdd": "Attribut hinzufügen" +} \ No newline at end of file diff --git a/lang/en.json b/lang/en.json new file mode 100644 index 0000000..daa78ee --- /dev/null +++ b/lang/en.json @@ -0,0 +1,82 @@ +{ + "I18N.MAINTAINERS": [ "Moerill" ], + + "Token Mold": "Token Mold", + + "tmold.config.applySettings": "Apply settings to", + "tmold.config.unlinkedOnly": "unlinked tokens only", + + "tmold.tab.infoHelp": "Info/Help", + "tmold.tab.name": "Name", + "tmold.tab.systemSpecific": "System Specific", + "tmold.tab.defaultConfig": "Modify Default Config", + "tmold.tab.statOverlay": "Stat Overlay", + + "tmold.info.featureOverview": "Feature Overview / Read me!", + "tmold.info.bugsOrSuggestions": "Bugs or feature suggestion? Create an issue here.", + "tmold.info.changelog": "Changelog", + "tmold.info.support": "Want to support development?", + "tmold.info.clickHere": "Click here", + + "tmold.name.addNumbers": "Add counting numbers to name as Suffix.", + "tmold.name.numberStyle": "Choose number style. The first field may not be empty!", + "tmold.name.prefix": "Prefix", + "tmold.name.suffix": "Suffix", + "tmold.name.increaseIndex": "Increase Index by up to", + "tmold.name.increaseIndexHelp": "The index increase will be chosen randomly from within this range. Minimum of 1. (Uniformly distributed)", + "tmold.name.resetCounter": "Reset counter for this scene for all tokens.", + "tmold.name.resetCounterHelp": "Resets the Counter for newly created tokens. This will reset to the highest placed index after a page reload. On maps with a high amount of tokens this could take a few seconds.", + "tmold.name.addAdjective": "Add random adjective from dictionary", + "tmold.name.chooseRolltable": "Choose adjectives from following rollable Table:", + "tmold.name.adjectivePlacement": "Adjective Placement:", + "tmold.name.adjectivePlacementFront": "Front", + "tmold.name.adjectivePlacementBack": "Back", + "tmold.name.baseName": "Base name:", + "tmold.name.baseNameNothing": "Do nothing", + "tmold.name.baseNameRemove": "Remove", + "tmold.name.baseNameReplace": "Replace with randomized name", + "tmold.name.replaceHelp": "For more information on how this works look onto the modules homepage.", + "tmold.name.replaceInfo1": "The chosen option will replace the tokens base name with a generated name.", + "tmold.name.replaceInfo2": "You can choose a number of attributes. For each attribute you can choose possible values and assign them a language. On token creation the first value that fits will be chosen. If no fitting value was found, the default will be used.", + "tmold.name.replaceInfo3": "Important: Enabling this feature will result in about 100MB of extra memory used! (for GMs only)", + "tmold.name.generateLength": "Generated Name length", + "tmold.name.minimum": "Minimum:", + "tmold.name.maximum": "Maximum:", + "tmold.name.regenerate": "Regenerate names for selected tokens", + "tmold.name.attribute": "Attribute", + "tmold.name.value": "Value", + "tmold.name.language": "Language", + "tmold.name.reset": "Reset to default", + "tmold.name.default": "Default", + "tmold.name.random": "random", + "tmold.name.delete": "Delete", + "tmold.stat.none": "None", + "tmold.stat.name": "Name", + "tmold.name.addValue": "Add Value", + "tmold.name.addAttribute": "Add Attribute", + + "tmold.system.sendToChat": "Send result to Chat (This setting just changes if the rolls are send to chat. Whether HP are rolled or not is based on the settings done in the sidebar.)", + "tmold.system.setTokenSize": "Set Token size to creature size and scaled to map scale", + "tmold.system.setTokenSizeHelp": "Sets token size according to the size set in the actor sheet adhering to the rules. If the map has has ft. as distance unit it will scale accordingly.", + + "tmold.default.overwrite": "Overwrite", + "tmold.default.active": "Active", + "tmold.default.vision": "Vision:", + "tmold.default.randScale": "Random Scale Multiplier", + "tmold.default.min": "Min", + "tmold.default.max": "Max", + "tmold.default.randRotation": "Random Rotation Range", + "tmold.default.minAngle": "Min angle", + "tmold.default.maxAngle": "Max angle", + "tmold.default.randMirroring": "Random Mirroring", + "tmold.default.horizontal": "Horizontal", + "tmold.default.vertical": "Vertical", + + "tmold.stat.attributeChooseDisplay": "Choose Attributes to display", + "tmold.stat.attribute": "Attribute", + "tmold.stat.attributeIcon": "Icon", + "tmold.stat.attributeNone": "None", + "tmold.stat.attributeName": "Name", + "tmold.stat.attributeDelete": "Delete", + "tmold.stat.attributeAdd": "Add Attribute" +} \ No newline at end of file diff --git a/less/token-mold.less b/less/token-mold.less index 277971d..067f772 100644 --- a/less/token-mold.less +++ b/less/token-mold.less @@ -1,5 +1,5 @@ .token-mold { - a[href] { + a[href] { color: #4a52ca; } @@ -9,9 +9,9 @@ align-items: center; justify-content: flex-start; - input[type='text'] { + input[type="text"] { flex: 0 200px; - margin-left: auto; + margin-left: auto; } > * { margin: 3px; @@ -25,7 +25,8 @@ ul { flex: 1; } - h2, .token-mold-support { + h2, + .token-mold-support { flex: 0; } } @@ -39,7 +40,7 @@ min-width: 540px; } -.token-mold .unlinked{ +.token-mold .unlinked { border-bottom: 1px solid rgba(102, 102, 102, 1); justify-content: center; margin: 0; @@ -50,7 +51,7 @@ flex: 0 auto; } .token-mold nav { - background: rgba(0,0,0,0.05); + background: rgba(0, 0, 0, 0.05); padding: 6px; margin: 0; margin-bottom: 3px; @@ -75,7 +76,7 @@ margin: 0 0 6px 0; } -.token-mold nav .item{ +.token-mold nav .item { flex: 1 auto; } @@ -83,7 +84,7 @@ section.token-mold { flex: 0 auto; } -section.token-mold input[type=checkbox] { +section.token-mold input[type="checkbox"] { display: none; } @@ -99,13 +100,16 @@ section.token-mold label.label-inp { margin: 0 auto; } -section.token-mold input[type=checkbox]:checked ~ span{ +section.token-mold input[type="checkbox"]:checked ~ span { color: #eee; /*text-shadow: 0px 0px 5px #FF0000;*/ } -section.token-mold input[type=checkbox]:checked ~ span span.checkmark::before { - font-family: "Font Awesome 5 Free"; - font-weight: 900; +section.token-mold + input[type="checkbox"]:checked + ~ span + span.checkmark::before { + font-family: "Font Awesome 5 Free"; + font-weight: 900; content: "\f00c"; } @@ -114,8 +118,8 @@ section.token-mold span.checkmark { text-shadow: none; } section.token-mold span.checkmark::before { - font-family: "Font Awesome 5 Free"; - font-weight: 900; + font-family: "Font Awesome 5 Free"; + font-weight: 900; content: "\f05e"; } @@ -145,29 +149,36 @@ section.token-mold { .token-mold .flexcol { padding: 5px; - border-bottom: 1px dashed rgba(0,0,0,0.5); + border-bottom: 1px dashed rgba(0, 0, 0, 0.5); } .token-mold .language-selection { - display: flex; flex-flow: row nowrap; align-items: center; justify-content: flex-start; } -.token-mold h4.language, .token-mold select.language, .token-mold h4.icon, .token-mold select.icon { +.token-mold h4.language, +.token-mold select.language, +.token-mold h4.icon, +.token-mold select.icon { flex: 0 100px; margin: 3px; max-width: 100px; } -.token-mold h4.attributes, .token-mold input.attributes, .token-mold h4.value, .token-mold select.value { +.token-mold h4.attributes, +.token-mold input.attributes, +.token-mold h4.value, +.token-mold select.value { flex: 0 50%; margin: 3px; } -.token-mold a.remove, .token-mold a.reset, .token-mold a.lang-remove { +.token-mold a.remove, +.token-mold a.reset, +.token-mold a.lang-remove { flex: 0 15px; align-self: flex-end; padding: 3px 5px; @@ -175,18 +186,19 @@ section.token-mold { .token-mold .name-randomizer-options { margin-top: 3px; - background: rgba(0,0,0,0.05); + background: rgba(0, 0, 0, 0.05); padding: 3px; border: 1px solid rgba(102, 102, 102, 1); } .token-mold .header { margin-top: 6px; - background: rgba(0,0,0,0.05); + background: rgba(0, 0, 0, 0.05); border-top: 1px solid rgba(102, 102, 102, 1); border-bottom: 1px solid rgba(102, 102, 102, 1); } -.token-mold .language-selection.header h4, .token-mold .attributes h4 { +.token-mold .language-selection.header h4, +.token-mold .attributes h4 { margin: 3px; } @@ -223,6 +235,7 @@ section.token-mold { max-width: 100%; display: flex; flex-flow: row wrap; + align-items: flex-start; } .token-mold .attribute-group .language-selection { @@ -265,4 +278,4 @@ section.token-mold { .token-mold a.reroll-names { margin: auto; flex: 0 auto; -} \ No newline at end of file +} diff --git a/module.json b/module.json index a6ec461..6148501 100644 --- a/module.json +++ b/module.json @@ -1,31 +1,36 @@ { - "name": "token-mold", - "title": "Token Mold", - "description": "

Gives the option to cast your tokens into a mold of your choosing.

Possible options for your mold include:

  • Adding incrementing number suffixes.
  • Name generation for tokens.
  • Random adjective prefixes. (Examples: angry, calm, bloodthirsty, ...)
  • Rolling Hit Points by formula (dnd5e only)
  • Set token configuration on placement.
  • Providing an overlay to quickly check some stats on token hover.
  • Automatic creature size scaling (dnd5e only)

", - "version": "2.10.1", - "minimumCoreVersion": "0.6.5", - "compatibleCoreVersion": "0.7.1", - "type": "module", - "author": "Moerill", - "packs": [ - { - "name": "adjectives", - "label": "Adjectives", - "module": "token-mold", - "path": "assets/adjectives.db", - "entity": "RollTable" - } - ], + "author": "Moerill", + "compatibleCoreVersion": "0.7.8", + "description": "

Gives the option to cast your tokens into a mold of your choosing.

Possible options for your mold include:

  • Adding incrementing number suffixes.
  • Name generation for tokens.
  • Random adjective prefixes. (Examples: angry, calm, bloodthirsty, ...)
  • Rolling Hit Points by formula (dnd5e only)
  • Set token configuration on placement.
  • Providing an overlay to quickly check some stats on token hover.
  • Automatic creature size scaling (dnd5e only)

", + "download": "https://github.com/Moerill/token-mold/releases/download/v2.11.0/v2.11.0.zip", + "esmodules": [ "scripts/index.js" ], "languages": [ - { - "lang": "en", - "name": "English", - "path": "lang/en.json" - } + { + "lang": "en", + "name": "English", + "path": "lang/en.json" + }, + { + "lang": "de", + "name": "Deutsch (German)", + "path": "lang/de.json" + } + ], + "manifest": "https://raw.githubusercontent.com/Moerill/token-mold/master/module.json", + "minimumCoreVersion": "0.6.5", + "name": "token-mold", + "packs": [ + { + "name": "adjectives", + "label": "Adjectives", + "module": "token-mold", + "path": "assets/adjectives.db", + "entity": "RollTable" + } ], - "esmodules": ["scripts/index.js"], - "styles": ["token-mold.css"], - "manifest": "https://raw.githubusercontent.com/Moerill/token-mold/master/module.json", - "url": "https://github.com/Moerill/token-mold", - "download": "https://github.com/Moerill/token-mold/releases/download/v2.10.1/v2.10.1.zip" + "styles": [ "token-mold.css" ], + "title": "Token Mold", + "type": "module", + "url": "https://github.com/Moerill/token-mold", + "version": "2.11.0" } \ No newline at end of file diff --git a/scripts/index.js b/scripts/index.js index 0177ed0..e147b2e 100644 --- a/scripts/index.js +++ b/scripts/index.js @@ -1,5 +1,13 @@ -import TokenMold from './token-mold.js'; +import TokenMold from "./token-mold.js"; -Hooks.on('init', () => { - game["token-mold"] = new TokenMold(); -}); \ No newline at end of file +Hooks.on("init", () => { + game["token-mold"] = new TokenMold(); +}); + +// import Mold from './mold.js'; +// import MoldConfig from './settings.js'; + +// Hooks.on('setup', () => { +// Mold.init(); +// MoldConfig.init(); +// }); diff --git a/templates/token-mold.html b/templates/token-mold.html index 6eb1208..2da66c0 100644 --- a/templates/token-mold.html +++ b/templates/token-mold.html @@ -1,33 +1,33 @@
- +
- +
-

Choose number style. The first field may not be empty!

+

{{ localize "tmold.name.numberStyle" }}

- + - +
-
- +
+
- +
- +
- +
- +
- The chosen option will replace the tokens base name with a generated name.
- You can choose a number of attributes. For each attribute you can choose possible values and assign them a language. On token creation the first value that fits will be chosen. If no fitting value was found, the default will be used.
- Important: Enabling this feature will result in about 100MB of extra memory used! (for GMs only)
- + + {{ localize "tmold.name.replaceInfo1" }}
{{ localize "tmold.name.replaceInfo2" }}
{{ localize "tmold.name.replaceInfo3" }} +
- +
- +
- +
-

Attribute

-

Value

-

Language

- +

{{ localize "tmold.name.attribute" }}

+

{{ localize "tmold.name.value" }}

+

{{ localize "tmold.name.language" }}

+
- Default + {{ localize "tmold.name.default" }} - +
{{#each data.name.options.attributes as |attrs idx|}}
- +
{{/each}} -  Add Value +  {{ localize "tmold.name.addValue" }}
{{/each}} -  Add Attribute +  {{ localize "tmold.name.addAttribute" }}
{{#if showHP}}
- +
{{/if}} -
- +
+
+
- +
- +
+
+
+
-
- - + +
+ +
- +
- +
- +
- +
- +
- Min - + {{ localize "tmold.default.min" }} +
- Max - + {{ localize "tmold.default.max" }} +
- +
- +
- Min Angle - + {{ localize "tmold.default.minAngle" }} +
- Max Angle - + {{ localize "tmold.default.maxAngle" }} +
- +
- - Horizontal + + {{ localize "tmold.default.horizontal" }}
- - Vertical + + {{ localize "tmold.default.vertical" }}
-

Choose Attributes to display

+

{{ localize "tmold.stat.attributeChooseDisplay" }}

-

Icon

-

Attribute

- +

{{ localize "tmold.stat.attributeIcon" }}

+

{{ localize "tmold.stat.attribute" }}

+
{{#each data.overlay.attrs}}
@@ -331,8 +333,8 @@

Attribute

- +
{{else}}
@@ -352,8 +354,8 @@

Attribute

{{/each}} - +
{{/each}} -  Add Attribute +  {{ localize "tmold.stat.attributeAdd" }}
diff --git a/token-mold.css b/token-mold.css index d62d864..3f81416 100644 --- a/token-mold.css +++ b/token-mold.css @@ -28,7 +28,7 @@ align-items: center; justify-content: flex-start; } -.token-mold .form-group section input[type='text'] { +.token-mold .form-group section input[type="text"] { flex: 0 200px; margin-left: auto; } @@ -89,7 +89,7 @@ section.token-mold { flex: 0 auto; } -section.token-mold input[type=checkbox] { +section.token-mold input[type="checkbox"] { display: none; } section.token-mold span:not(.checkmark) { @@ -101,11 +101,11 @@ section.token-mold .token-rand-form-btn { section.token-mold label.label-inp { margin: 0 auto; } -section.token-mold input[type=checkbox]:checked ~ span { +section.token-mold input[type="checkbox"]:checked ~ span { color: #eee; /*text-shadow: 0px 0px 5px #FF0000;*/ } -section.token-mold input[type=checkbox]:checked ~ span span.checkmark::before { +section.token-mold input[type="checkbox"]:checked ~ span span.checkmark::before { font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f00c"; @@ -214,6 +214,7 @@ section.token-mold { max-width: 100%; display: flex; flex-flow: row wrap; + align-items: flex-start; } .token-mold .attribute-group .language-selection { display: flex;