1import {el} from './writer-sanitize.js?v=wl72-accent'; 2 3// Use the same grids and card classes as the finished pages, reserving space 4// for covers, titles, buttons and summary cards on the first uncached visit. 5export function writerSkeleton(kind='dashboard') { 6 const bar=width=>el('div',{class:'wl-skel wl-skel-bar',style:{width}}); 7 const card=()=>el('div',{class:'wl-card wl-loading-card'},[bar('45%'),bar('85%'),bar('65%')]); 8 const children=kind==='dashboard' ? [ 9 el('div',{class:'wl-top'},[ 10 el('div',{class:'wl-card wl-cw'},[ 11 el('div',{class:'wl-cw-cover wl-skel'}), 12 el('div',{class:'wl-cw-body'},[bar('45%'),bar('90%'),bar('65%')]), 13 el('div',{class:'wl-cw-actions'},[bar('100%')]), 14 ]),card(), 15 ]),el('div',{class:'wl-grid wl-grid-main'},[card(),card(),card()]), 16 ] : [el('div',{class:kind==='manuscripts'?'wl-manu-grid':'wl-board-list'},[card(),card(),card()])]; 17 return el('div',{class:'wl-page-skeleton','aria-busy':'true','aria-label':'Loading '+kind,role:'status'},children); 18}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.