Repository navigation
Release v1.15.0
Release v1.15.0: icon filter actions, pre-paint theme boot, sidebar rail, temporary-reveal / collapse-panel / datatable peers.
Changelog
Added
- Icon filter actions (
partials/_filter_actions.html.twig):submit_icon/clear_icon(rendered throughcomponents/_icon.html.twigandicon_set) andicon_only(visually-hidden label +title/aria-label, square.nowo-ui-filter-bar__action--icon-only). Defaults unchanged. - Pre-paint theme boot:
partials/_theme_boot.html.twig(inline script with the CSP nonce, orinline: false→js/nowo-ui-theme-boot.js). Readsdata-nowo-ui-pref-{theme,density,motion,font-scale,contrast,sidebar}(aliasdata-user-*) on<html>, falls back to the theme cookie / localStorage / OS and setsdata-theme,data-ui-density,data-motion,data-font-scale,data-contrastbefore first paint;window.nowoUiPrefs,window.nowoUiThemeBoot(). - Theme storage keys shared by the boot and the toggle:
data-nowo-ui-theme-storageis also read from<html>, new optionaldata-nowo-ui-theme-cookie(assets/src/nowo-ui-theme-core.ts). - Sidebar rail (opt-in
data-nowo-ui-sidebar-railon the shell,_shell.html.twigsidebar_rail/sidebar_mode): expanded / icons-only rail / hidden, burger ping-pong through the rail, phones keep the drawer, localStorage + optional cookie sync with configurable keys (data-nowo-ui-sidebar-storage,-cookie,-hidden-value,-default,-rail-labels), rail tooltips and initials,nowo-ui:sidebar-modeevent,window.nowoUiSetSidebarMode(). CSS:.nowo-ui-shell.is-aside-rail(desktop only),--nowo-ui-aside-rail-width. Side-effect-free helpers for host shells:assets/src/nowo-ui-sidebar-core.ts._burger.html.twigrail: trueprints the next-action labels (nav.sidebar_expand,nav.sidebar_rail,nav.sidebar_hide; 7 locales). - Stimulus peers
temporary-reveal(masked secret, timed reveal, clear-on-hide purge),collapse-panel(persistent panels; storage key and server default as values) anddatatable(responsive DataTables with server-side paging / sorting;datatables.net-dtanddatatables.net-responsive-dtare optional peer dependencies). Ported from Symfony Beacon with neutral copy. - Vitest suites for the new modules and peers (coverage-gated); PHPUnit for the new partial options.
Changed
- Dev: Rector
RemoveConcatAutocastRectorapplied toConfiguration::findInvalidRewrite()(drops a redundant(string)cast; behaviour-neutral).
Fixed
_burger.html.twig:expanded: false(e.g._shell.html.twigwithcollapsed: true) renderedaria-expanded="true"because of|default(true).