diff --git a/CHANGELOG.md b/CHANGELOG.md index 87d7301..77469f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +# 1.8.0 + +Fixed visual styling of Narrator Tools and Alpha Suit modules in the Controls. + +Fixed effect tooltip going off-screen when using modules that increase the tooltip size. + +Fixed nat 1/20 color support of inline rolls. + +Fixed display of action cost for spells with cast time in minutes. + +Removed combine-attacks-and-damage-rolls feature, instead improved support for DF Chat Enhancement's chat merge functionality. I recommend setting the combine setting to 'any'. + +Removed TAH theme (or rather, made it simply add a gap). Use the 'Dorako UI' style option in TAH. + # 1.7.4 Added feature to combine weapon attack rolls with damage rolls visually. diff --git a/languages/en.json b/languages/en.json index 1294377..2145207 100644 --- a/languages/en.json +++ b/languages/en.json @@ -101,6 +101,7 @@ "dorako-ui.settings.skin-combat-tracker.name": "Theme combat tracker?", "dorako-ui.settings.skin-custom-hotbar.name": "Theme Custom Hotbar module?", "dorako-ui.settings.skin-token-action-hud.name": "Theme Token Action HUD module?", + "dorako-ui.settings.skin-token-action-hud.hint": "Enable the 'Dorako UI' style in TAH.", "dorako-ui.settings.skin-window-controls.name": "Theme Window Controls module?", "dorako-ui.settings.skin-combat-carousel.name": "Theme Combat Carousel module?", "dorako-ui.settings.skin-dice-tray.name": "Theme Dice Tray module?", diff --git a/module.json b/module.json index 743709d..ae45f97 100644 --- a/module.json +++ b/module.json @@ -12,7 +12,7 @@ "flags": {} } ], - "version": "1.7.4", + "version": "1.8.0", "compatibility": { "minimum": "10", "verified": "10" @@ -59,6 +59,6 @@ ], "styles": ["styles/fonts.css"], "scripts": ["scripts/dorako-ui.js"], - "download": "https://github.com/Dorako/pf2e-dorako-ui/archive/refs/tags/v1.7.4.zip", + "download": "https://github.com/Dorako/pf2e-dorako-ui/archive/refs/tags/v1.8.0.zip", "manifest": "https://github.com/Dorako/pf2e-dorako-ui/releases/latest/download/module.json" } diff --git a/scripts/dorako-ui.js b/scripts/dorako-ui.js index c66c87d..5cb87cd 100644 --- a/scripts/dorako-ui.js +++ b/scripts/dorako-ui.js @@ -43,15 +43,16 @@ function titleCase(string) { return string[0].toUpperCase() + string.slice(1).toLowerCase(); } +// second return value is whether the first value can be styled as pf2e-icon function getActionGlyph(actionCost) { - if (actionCost === "1 to 3") return "1 / 2 / 3"; - if (actionCost === "1 or 2") return "1 / 2"; - if (actionCost === "2 or 3") return "2 / 3"; + if (actionCost === "1 to 3") return ["1 / 2 / 3", true]; + if (actionCost === "1 or 2") return ["1 / 2", true]; + if (actionCost === "2 or 3") return ["2 / 3", true]; if (actionCost.type == "action") { - return actionCost.value; - } else if (actionCost.type == "reaction") return "R"; - else if (actionCost.type == "free") return "F"; - else return actionCost; + return [actionCost.value, true]; + } else if (actionCost.type == "reaction") return ["R", true]; + else if (actionCost.type == "free") return ["F", true]; + else return [actionCost, false]; } // function cleanHTML() { @@ -222,7 +223,7 @@ Hooks.on("renderChatMessage", (chatMessage, html, messageData) => { // console.log("renderChatMessage Hook"); // console.log("chatMessage"); - console.log(chatMessage); + // console.log(chatMessage); // console.log("html"); // console.log(html); // console.log("messageData"); @@ -271,45 +272,109 @@ Hooks.on("renderChatMessage", (chatMessage, html, messageData) => { themeHeader(html, chatMessage); }); -// Combine attack and damage rolls from same source -Hooks.on("renderChatMessage", (chatMessage, html, messageData) => { - if (!game.settings.get("pf2e-dorako-ui", "combine-attack-and-damage-roll-messages")) return; +// // Combine attack and damage rolls from same source +// Hooks.on("renderChatMessage", (chatMessage, html, messageData) => { +// if (!game.settings.get("pf2e-dorako-ui", "combine-attack-and-damage-roll-messages")) return; - if (chatMessage.flags["narrator-tools"]) { - return; - } +// if (chatMessage.flags["narrator-tools"]) { +// return; +// } - if (chatMessage?.isDamageRoll) { - const chatLength = game.messages?.contents.length ?? 0; - const mostRecent = game.messages?.contents[chatLength - 2]; - const isDamageAfterAttack = mostRecent?.flags?.pf2e?.context?.type === "attack-roll"; - if (isDamageAfterAttack) { - const mostRecentSource = mostRecent?.flags?.pf2e?.origin?.uuid ?? "a"; - const currentSource = chatMessage?.flags?.pf2e?.origin?.uuid ?? "b"; - const isSameSource = mostRecentSource === currentSource; - if (isSameSource) { - html[0].classList.add("dorako-damage-roll"); - let header = html.find(".message-header")[0]; - header.remove(); - let tags = html.find(".tags")[1]; - let flavorText = html.find(".flavor-text")[0]; - flavorText.innerHTML = tags.outerHTML; - } - } - } -}); +// const chatLength = game.messages?.contents.length ?? 0; +// if (chatLength <= 1) return; +// if (chatMessage?.isDamageRoll) { +// let recentIndex = -2; +// let mostRecent = game.messages?.contents.at(recentIndex); +// while ( +// mostRecent?.flags?.["pf2-flat-check"] || +// mostRecent?.flags?.["pf2e-flat-check"] || +// mostRecent?.flags?.["pf2e-ranged-combat"] +// ) { +// recentIndex -= 1; +// mostRecent = game.messages?.contents.at(recentIndex); +// } +// const isDamageAfterAttack = mostRecent?.flags?.pf2e?.context?.type === "attack-roll"; +// if (isDamageAfterAttack) { +// const mostRecentSource = mostRecent?.flags?.pf2e?.origin?.uuid ?? "a"; +// const currentSource = chatMessage?.flags?.pf2e?.origin?.uuid ?? "b"; +// const isSameSource = mostRecentSource === currentSource; +// if (isSameSource) { +// html[0].classList.add("dorako-damage-roll"); +// let header = html.find(".message-header")[0]; +// if (header) header.classList.add("dorako-display-none"); +// let tags = html.find(".tags")[0]; +// if (tags) tags.remove(); + +// // let flavorText = html.find(".flavor-text")[0]; +// // flavorText.innerHTML = tags.outerHTML; +// } +// } +// } +// }); -Hooks.on("renderChatMessage", (chatMessage, html, messageData) => { - if (!game.settings.get("pf2e-dorako-ui", "combine-attack-and-damage-roll-messages")) return; +// Hooks.on("renderChatMessage", (chatMessage, html, messageData) => { +// if (!game.settings.get("pf2e-dorako-ui", "combine-attack-and-damage-roll-messages")) return; - if (chatMessage.flags["narrator-tools"]) { - return; - } +// if (chatMessage.flags["narrator-tools"]) { +// return; +// } - if (chatMessage?.flags?.pf2e?.context?.type === "attack-roll") { - html[0].classList.add("dorako-attack-roll"); - } -}); +// if (chatMessage?.flags?.pf2e?.context?.type === "attack-roll") { +// html[0].classList.add("dorako-attack-roll"); +// } +// }); + +// Hooks.on("renderChatMessage", (chatMessage, html, messageData) => { +// if (!game.settings.get("pf2e-dorako-ui", "combine-attack-and-damage-roll-messages")) return; +// if (chatMessage.flags["narrator-tools"]) return; + +// const chatLength = game.messages?.contents.length ?? 0; +// if (chatLength <= 2) return; +// let mostRecent2 = game.messages?.contents.at(-2); // -1 is newest, -2 should be 'one earlier', not sure why -3 is needed for it to work +// let mostRecent3 = game.messages?.contents.at(-3); // -1 is newest, -2 should be 'one earlier', not sure why -3 is needed for it to work +// // console.log({ mostRecent2 }); +// // console.log({ mostRecent3 }); +// const mostRecentIsAttack = +// mostRecent2?.flags?.pf2e?.context?.type === "attack-roll" || +// mostRecent3?.flags?.pf2e?.context?.type === "attack-roll"; +// // console.log({ mostRecentIsAttack }); +// const isFlatCheck = chatMessage?.flags?.["pf2-flat-check"] || chatMessage?.flags?.["pf2e-flat-check"]; +// // console.log({ isFlatCheck }); + +// if (isFlatCheck && mostRecentIsAttack) { +// html[0].classList.add("dorako-flat-check"); +// let header = html.find(".message-header")[0]; +// if (header) header.classList.add("dorako-display-none"); +// } +// }); + +// Hooks.on("renderChatMessage", (chatMessage, html, messageData) => { +// if (!game.settings.get("pf2e-dorako-ui", "combine-attack-and-damage-roll-messages")) return; +// if (chatMessage.flags["narrator-tools"]) return; + +// const chatLength = game.messages?.contents.length ?? 0; +// if (chatLength <= 4) return; +// let mostRecent2 = game.messages?.contents.at(-2); // -1 is newest, -2 should be 'one earlier', not sure why -3 is needed for it to work +// let mostRecent3 = game.messages?.contents.at(-3); // -1 is newest, -2 should be 'one earlier', not sure why -3 is needed for it to work +// let mostRecent4 = game.messages?.contents.at(-4); // -1 is newest, -2 should be 'one earlier', not sure why -3 is needed for it to work + +// // console.log({ mostRecent2 }); +// // console.log({ mostRecent3 }); +// const mostRecentIsAttack = +// mostRecent2?.flags?.pf2e?.context?.type === "attack-roll" || +// mostRecent3?.flags?.pf2e?.context?.type === "attack-roll" || +// mostRecent4?.flags?.pf2e?.context?.type === "attack-roll"; + +// // console.log({ mostRecentIsAttack }); +// const isRangedCombat = chatMessage?.flags?.["pf2e-ranged-combat"]; +// // console.log({ isRangedCombat }); + +// if (isRangedCombat && mostRecentIsAttack) { +// html[0].classList.add("dorako-ranged-combat"); +// let header = html.find(".message-header")[0]; +// if (header) header.classList.add("dorako-display-none"); +// } +// }); Hooks.on("preCreateChatMessage", (message) => { addAvatarsToFlags(message); @@ -370,13 +435,13 @@ function injectAvatar(html, avatar) { function injectActionCost(html, actionCost) { if (!actionCost) return; - const actionGlyph = getActionGlyph(actionCost); + const [actionGlyph, shouldBeStyled] = getActionGlyph(actionCost); if (!actionGlyph) return; // console.log("Injecting actionGlyph %s", actionGlyph); let messageHeader = html.find(".card-header")[0]; let actionGlyphText = document.createElement("h3"); - actionGlyphText.classList.add("pf2-icon"); + if (shouldBeStyled) actionGlyphText.classList.add("pf2-icon"); actionGlyphText.textContent = actionGlyph; messageHeader.append(actionGlyphText); } @@ -405,15 +470,16 @@ function injectSpellInfo(html, spell) { let messageHeader = html.find(".card-content")[0]; let spellInfo = document.createElement("div"); spellInfo.classList.add("spell-info"); - console.log(spell); + // console.log(spell); // Cast info let castInfo = document.createElement("p"); let castInfoLabel = document.createElement("strong"); castInfoLabel.textContent = i18n("PF2E.SpellCostLabel") + " "; let castTime = document.createElement("span"); - castTime.textContent = getActionGlyph(spell?.system?.time?.value); - castTime.classList.add("pf2-icon"); + const [cost, shouldBeGlyph] = getActionGlyph(spell?.system?.time?.value); + castTime.textContent = cost; + if (shouldBeGlyph) castTime.classList.add("pf2-icon"); let castComponents = document.createElement("span"); castComponents.textContent = spellComponentsToText(spell?.system?.components); castInfo.append(castInfoLabel); @@ -507,7 +573,7 @@ function injectSpellInfo(html, spell) { // Footer let footer = html.find(".card-footer")[0]; - footer.remove(); + if (footer) footer.classList.add("dorako-display-none"); messageHeader.prepend(hr); messageHeader.prepend(spellInfo); @@ -1127,17 +1193,17 @@ Hooks.once("init", async () => { }, }); - game.settings.register("pf2e-dorako-ui", "combine-attack-and-damage-roll-messages", { - name: i18n("dorako-ui.settings.combine-attack-and-damage-roll-messages.name"), - hint: i18n("dorako-ui.settings.combine-attack-and-damage-roll-messages.hint"), - scope: "world", - type: Boolean, - default: true, - config: true, - onChange: () => { - debouncedReload(); - }, - }); + // game.settings.register("pf2e-dorako-ui", "combine-attack-and-damage-roll-messages", { + // name: i18n("dorako-ui.settings.combine-attack-and-damage-roll-messages.name"), + // hint: i18n("dorako-ui.settings.combine-attack-and-damage-roll-messages.hint"), + // scope: "world", + // type: Boolean, + // default: true, + // config: true, + // onChange: () => { + // debouncedReload(); + // }, + // }); game.settings.register("pf2e-dorako-ui", "compact-ui", { name: i18n("dorako-ui.settings.compact-ui.name"), @@ -1316,6 +1382,7 @@ Hooks.once("init", async () => { game.settings.register("pf2e-dorako-ui", "skin-token-action-hud", { name: i18n("dorako-ui.settings.skin-token-action-hud.name"), + hint: i18n("dorako-ui.settings.skin-token-action-hud.hint"), scope: "world", type: Boolean, default: true, diff --git a/styles/chat.css b/styles/chat.css index 3114f4a..31d5263 100644 --- a/styles/chat.css +++ b/styles/chat.css @@ -742,7 +742,7 @@ message-content .chat-damage-buttons button { .message a.content-link, .message a.inline-roll { text-shadow: none; - color: black; + /* color: black; */ border-radius: 3px; text-shadow: none; width: fit-content; @@ -1238,11 +1238,15 @@ table.pf2-table td, table.pf2-table th { background-position: left 0px top -100px; } -#chat-log .message.dfce-cm-middle .message-header, -#chat-log .message.dfce-cm-bottom .message-header { +#chat-log .message.dfce-cm-middle .message-header .portrait-and-name, +#chat-log .message.dfce-cm-bottom .message-header .portrait-and-name { display: none; } +.dfce-cm-middle .message-delete, .dfce-cm-bottom .message-delete { + top: 5px; +} + .chat-message .message-header .message-sender { display: flex; flex-wrap: wrap; @@ -1738,7 +1742,22 @@ span[data-pf2-check].with-repost { padding: 2px 5px 5px 5px; } +.chat-message.dorako-flat-check { + border-radius: 0px 0px 5px 5px; + margin-top: -13px; +} + +.chat-message.dorako-flat-check .message-content { + padding-bottom: 8px; +} + +.chat-message.dorako-ranged-combat, +.chat-message.dorako-flat-check, .chat-message.dorako-damage-roll { border-radius: 0px 0px 5px 5px; margin-top: -13px; +} + +.chat-message.dorako-ranged-combat p.action-content { + margin-top: 0px; } \ No newline at end of file diff --git a/styles/controls.css b/styles/controls.css index bf89380..724f194 100644 --- a/styles/controls.css +++ b/styles/controls.css @@ -28,6 +28,7 @@ background-image: none; } +#controls ol.control-tools>li.toggle, #controls ol li.control-tool.toggle, #controls .app li, #controls ol li, @@ -111,12 +112,15 @@ /* backdrop-filter: var(--dorako-vibrancy-active); */ } +#controls ol.control-tools>li.toggle, #controls ol li.control-tool.toggle, #controls ol.sub-controls .control-tool.toggle { background-color: var(--paizo-blue-dark); /* backdrop-filter: var(--dorako-vibrancy); */ } +#controls ol.control-tools>li.toggle:hover, +#controls ol.control-tools>li.toggle.active:hover, #controls ol li.control-tool.toggle:hover, #controls ol li.control-tool.toggle.active:hover, #controls ol.sub-controls .control-tool.toggle:hover, @@ -125,6 +129,7 @@ /* backdrop-filter: var(--dorako-vibrancy-active) var(--dorako-vibrancy-active); */ } +#controls ol.control-tools>li.toggle.active, #controls ol li.control-tool.toggle.active, #controls ol.sub-controls .control-tool.toggle.active { background-color: var(--paizo-blue-bright); diff --git a/styles/dorako-ui.css b/styles/dorako-ui.css index 5da97e2..38eb5e0 100644 --- a/styles/dorako-ui.css +++ b/styles/dorako-ui.css @@ -189,6 +189,7 @@ form .form-group label { #chat-controls i.fas, +#sidebar-tabs .fa-solid, #sidebar-tabs i.fas { text-shadow: var(--dorako-text-shadow); } @@ -233,7 +234,39 @@ img { text-shadow: var(--pf2e-text-shadow-is-dark); } -a.content-link, a.inline-roll { +.dorako-display-none { + display: none !important; +} + +a.content-link, +[data-pf2-check], +a.entity-link, +[data-pf2-action], +[data-pf2-effect-area], +a.inline-roll { text-shadow: none !important; +} + +a.content-link, +[data-pf2-check], +a.entity-link, +[data-pf2-action], +[data-pf2-effect-area], +a.inline-roll:not(.inline-result) { color: black; +} + +.dfce-cm-top.light-theme #context-menu li.context-item, +.dfce-cm-middle.light-theme #context-menu li.context-item, +.dfce-cm-bottom.light-theme #context-menu li.context-item { + color: var(--pf2e-body-primary); + text-shadow: var(--pf2e-shadow-is-light); +} + +.dfce-cm-top.light-theme #context-menu li.context-item:hover, +.dfce-cm-middle.light-theme #context-menu li.context-item:hover, +.dfce-cm-bottom.light-theme #context-menu li.context-item:hover { + color: var(--pf2e-body-primary); + text-shadow: 0px 0px 3px wheat; + } \ No newline at end of file diff --git a/styles/effect-panel.css b/styles/effect-panel.css index ee9f1b0..85b20ab 100644 --- a/styles/effect-panel.css +++ b/styles/effect-panel.css @@ -36,11 +36,6 @@ box-shadow: 0px 0px 5px var(--color-border-light-highlight); } -.effect-panel .effect-item { - align-items: center; - gap: 10px -} - .effect-panel .effect-item .icon { border-radius: 42px; box-shadow: var(--gold-and-glow), var(--glassy); @@ -48,7 +43,7 @@ .effect-panel .effect-item .effect-info { background-color: var(--dorako-bg-current); - margin-right: 0px; + margin-right: 10px; padding: 3px; box-shadow: var(--glassy); border-radius: 3px; diff --git a/styles/pc-sheet-dark.css b/styles/pc-sheet-dark.css index b1cf2ff..fab7312 100644 --- a/styles/pc-sheet-dark.css +++ b/styles/pc-sheet-dark.css @@ -426,14 +426,6 @@ text-shadow: none; } -[data-pf2-check], -a.entity-link, -a.inline-roll, -[data-pf2-action], -[data-pf2-effect-area] { - color: black; -} - .actor.sheet.character .crb-style .sheet-body .sheet-content .tab.actions .actions-container .actions-tabs-wrapper .actions-panels ol.actions-list .item.action.strike.expandable.ready { padding-bottom: 12px; } diff --git a/styles/token-action-hud.css b/styles/token-action-hud.css index f602d8f..7635fcd 100644 --- a/styles/token-action-hud.css +++ b/styles/token-action-hud.css @@ -1,262 +1,5 @@ /* Token Action Hud TAH */ #token-action-hud { - border: none; - background-color: unset; - box-shadow: var(--glassy); - padding: 2px; - padding: 0px; - box-shadow: none; - display: flex; gap: 10px; -} - -.tah-subcategory { - display: grid; - grid-auto-rows: unset; - min-height: 22px; - cursor: default; - width: 1400px; - margin-top: 10px; - grid-template-columns: 200px 1200px; -} - -.tah-actions { - grid-column: 2; - display: flex; - flex-flow: row wrap; - align-items: center; - /* gap: 5px; */ - width: 1000px; - row-gap: 2px; - column-gap: 8px; - margin-bottom: 0px; - font-size: medium; -} - -.tah-actions .stickLeft { - width: auto; - min-width: unset; - min-height: unset; - padding-left: 2px; - padding-right: 2px; - margin: 0px; - font-size: smaller; - font-weight: bold; - text-align: center; - line-height: 0px; - position: relative; - left: unset; -} - -.tah-category.hover .tah-content { - left: -200px; -} - -.tah-content { - gap: 0px; - padding: 10px !important; - margin: -5px; -} - -/* #tah-hudTitle { - display: none -} */ - -.tah-title-button:hover, .tah-title-button:focus { - box-shadow: var(--glassy); -} - -.tah-title-button>.fa { - display: none; -} - -.tah-title-button { - border: none; - background-color: var(--dorako-bg-current); - box-shadow: var(--glassy); - /* color: var(--color-text-light-highlight); */ - /* backdrop-filter: var(--dorako-vibrancy); */ - text-shadow: var(--dorako-text-shadow); - margin: 0px; - padding-left: 5px; - padding-right: 5px; - -} - -.tah-action button { - border: none; - background-color: var(--dorako-bg-current); - /* backdrop-filter: var(--dorako-vibrancy); */ - box-shadow: var(--glassy); - border-radius: var(--dorako-radius); - /* color: var(--color-text-light-highlight); */ - text-shadow: var(--dorako-text-shadow); - line-height: unset; - margin-left: unset; - padding-left: 5px; - padding-right: 5px; - min-width: 20px; - height: 20px; -} - -.tah-action { - padding: 0px; - margin: 0px; -} - -.tah-action button[value*="toggle"]:hover { - background-color: var(--paizo-blue); -} - -.tah-action.active, -.tah-action.active button[value*="toggle"] { - background-color: var(--paizo-blue-bright); -} - -.tah-action button * { - overflow: hidden; -} - - -/* .tah-title-button:hover { - border: unset; - box-shadow: unset; - background-color: unset; -} */ - -.tah-title-button:hover, -.tah-action button:hover { - transition: backdrop-filter 0.15s ease-out; - transition: background-color 0.15s ease-out; - background-color: var(--paizo-red); - border: none; - box-shadow: var(--glassy); -} - -.tah-action button[value^="toggle"]:hover { - transition: backdrop-filter 0.15s ease-out; - transition: background-color 0.15s ease-out; - background-color: var(--paizo-blue); - border: none; - box-shadow: var(--glassy); -} - -/* .tah-category.hoverĀ { - transition: backdrop-filter 0.15s ease-out; - transition: background-color 0.15s ease-out; - background-color: var(--paizo-blue-bright); - border: none; - box-shadow: var(--glassy); -} */ - -.tah-action .tah-img { - border: none; - /* box-shadow: 0 0 0 1px var(--tertiary),0 0 0 2px #9f725b,inset 0 0 4px rgba(0,0,0,.5); */ - box-shadow: none; - box-shadow: 0 0 0 1px var(--tertiary); - /* margin-left: -5px; */ -} - - - - -.tah-content { - gap: 0px; -} - -.tah-actions { - gap: 10px; -} - -.tag-action button span { - display: flex; - flex-direction: row; -} - -/* .tah-actions .shrink { - margin: 0px; - min-width: 20px; -} */ - -/* .tah-action button[value^="spell|"] span { - display: block; - float: left; - width: 50px; - overflow: hidden; -} */ - -/* .tah-action button[value^="spell|"] span.tah-name { - display: none; -} */ - -.tah-name { - display: inline; -} - -.tah-action.stickLeft button { - width: auto; - min-width: 20px; - height: 20px; - padding: 0px; - margin: 0px; - font-size: small; - font-weight: bold; - text-align: center; - line-height: 0px; - /* margin-left:-11px; */ -} - - - -.tah-action:not(.stickLeft) button[value^="spell|"] { - padding-left: 0px; - padding-right: 5px; -} - -.tah-action:not(.stickLeft) button[value^="spell|"]:hover { - padding-left: 0px; - padding-right: 5px; -} - -/* .tah-action:not(.stickLeft) button[value^="spell|"] .tah-icon, -.tah-action:not(.stickLeft) button[value^="spell|"] .tah-name, -.tah-action:not(.stickLeft) button[value^="spell|"] .tah-info1 -{ - display:none; -} - -.tah-action:not(.stickLeft) button[value^="spell|"]:hover .tah-icon, -.tah-action:not(.stickLeft) button[value^="spell|"]:hover .tah-name, -.tah-action:not(.stickLeft) button[value^="spell|"]:hover .tah-info1 { - display: inline; -} */ - -.tah-actions .shrink { - width: auto; - min-width: 20px; - height: 20px; - padding: 0px; - margin: 0px; - font-size: small; - font-weight: bold; - text-align: center; - line-height: 0px; -} - -tah-actions { - gap: 0px; -} - -.tah-actions { - grid-column: 2; - display: flex; - flex-flow: row wrap; - align-items: center; - /* gap: 8px; */ - width: 600px; - row-gap: 8px; - column-gap: 4px; - margin-bottom: 0px; - font-size: medium; } \ No newline at end of file