Enhancement
(User-visible)
New theme in cooperation with paxxon.ch.
Open points
Layout-ThemeVariables:
-
"Space of the menus" => the top menubar is not positioned as a grid or flex-box but has inline "style" attributes that can not be changed by any css.- We introduce theme variables for the header areas. (see #24169)
Font upload:
-
@font-face => we need to put a link-tag to link the fonts we need, either from a local resource or from Google-Fonts- We allow uploading fonts as theme resource (tab "Icons" we change to "Resources"). (see #24210)
Multiple input fields:
-
<select> the multiple input fields are hard to style, since there are more pseudo-selectors.- Could be implemented by CSS in the meantime.
Hover classes:
-
Some hover classes are loaded via JavaScript or maybe .jsp either way it makes it hard to style them with a normal element inspector.- We replace these places with hover pseudo-classes. (see #24209)
Missing ThemeVariables:
-
Some buttons do not have different ThemeVariables for the active and inactive case.(see #24241)
Future work
Inline SVGs:
- SVGs could change color, but only if they are used to replace the current buttons, not if they are loaded as the src-element of a tag.
- We allow inlining of SVG icons via a special form of ThemeIcon`s (e.g. `inline:/path/to/Icon.svg) embeds the content of the resource Icon.svg into the page. (see #24395)
Even selector in CSS grid:
- "grid" CSS definition does not offer an "even" selector for rows.
- ? makes a counter proposal ?
Inline styles:
- In general there are too many style attributes that override the css styles tags = Array.from(document.querySelectorAll("div")).filter((e)=>{ return e.style.length !== 0; }); output 90+
- These styles come through the client-side rendering and are not (so easily) replaceable.
Input types:
- <input> the type attribute is not set properly. All input types are "text" there should be several "number" and some "date" input fields. It makes handling them easier.
- We adapt the type of date and integer input fields to HTML5 via a switch in a theme variable. (see #24207)
Listen:
- Lists are implemented as <div> tags(dfEntryTitle), that have a bullet in another <div> tag with an absolute positioning(dfListRemove).
- The list buttons can actually be active elements that can be used to delete individual entries. Therefore, this is not possible via standard HTML elements.
Test
ThemeEditor_Ticket-24071_Theme-dezent.script.xml