@issuegraph/viewer 0.9.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/clusters.js +4 -4
- package/dist/clusters.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/parts.d.ts +0 -7
- package/dist/parts.d.ts.map +1 -1
- package/dist/parts.js +16 -35
- package/dist/parts.js.map +1 -1
- package/dist/projections/graph.d.ts.map +1 -1
- package/dist/projections/graph.js +25 -23
- package/dist/projections/graph.js.map +1 -1
- package/dist/projections/linear.d.ts +71 -15
- package/dist/projections/linear.d.ts.map +1 -1
- package/dist/projections/linear.js +106 -57
- package/dist/projections/linear.js.map +1 -1
- package/dist/projections/tree.d.ts.map +1 -1
- package/dist/projections/tree.js +12 -4
- package/dist/projections/tree.js.map +1 -1
- package/dist/skeleton.d.ts +63 -0
- package/dist/skeleton.d.ts.map +1 -0
- package/dist/skeleton.js +108 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +209 -69
- package/dist/styles.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/projections/tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAoC,OAAO,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EACR,MAAM,EACN,cAAc,EACd,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAsC,eAAe,EAAE,MAAM,aAAa,CAAC;AASlF;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,QAA4B;IAC/C,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,sEAAsE;IACtE,2EAA2E;IAC3E,uEAAuE;IACvE,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,KAAK,iBAAiB;YAAE,SAAS;QAC/C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,SAAS;YAAE,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;YAC3D,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,uDAAuD;IACvD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,SAAS;QACrC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,IAAI,MAAM,GAAuB,KAAK,CAAC,GAAG,CAAC;QAC3C,OAAO,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,wEAAwE;gBACxE,wEAAwE;gBACxE,oEAAoE;gBACpE,iEAAiE;gBACjE,qEAAqE;gBACrE,uEAAuE;gBACvE,iCAAiC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/C,WAAW,CAAC,IAAI,CACd,iCAAiC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,uCAAuC,CAC3F,CAAC;gBACF,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;oBAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBACxB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACnB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrB,CAAC;oBACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACxC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;4BAC3B,UAAU,CAAC,GAAG,CACZ,MAAM,EACN,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,CACjD,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClB,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,MAAc,EAAE,KAAwB;IAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IACnC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAY,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAClD,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAW,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,SAAS,OAAO,CACd,QAA4B,EAC5B,GAAW,EACX,KAAa,EACb,WAAoB,EACpB,OAAqB,EACrB,OAAsB;IAEtB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAgB,EAAE,CAAC;IAEjC,MAAM,IAAI,GAAG,OAAO,CAClB,IAAI,EACJ;QACE,KAAK,EAAE,cAAc;QACrB,aAAa,EAAE,GAAG;QAClB,wEAAwE;QACxE,yEAAyE;QACzE,oEAAoE;QACpE,yEAAyE;QACzE,wEAAwE;QACxE,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;QAC3D,YAAY,EAAE,GAAG,KAAK,EAAE,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE;QAC/C,QAAQ,EAAE,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACnC,EACD;QACE,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;QAC7D,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC5C,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3B,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC;QACjC,0EAA0E;QAC1E,wEAAwE;QACxE,GAAG,WAAW,CAAC,KAAK,CAAC;QACrB,QAAQ,KAAK,SAAS;YACpB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE;gBACvC,mBAAmB,QAAQ,
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/projections/tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAoC,OAAO,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EACR,MAAM,EACN,cAAc,EACd,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAsC,eAAe,EAAE,MAAM,aAAa,CAAC;AASlF;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,QAA4B;IAC/C,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,sEAAsE;IACtE,2EAA2E;IAC3E,uEAAuE;IACvE,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,KAAK,KAAK,iBAAiB;YAAE,SAAS;QAC/C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,SAAS;YAAE,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;YAC3D,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,uDAAuD;IACvD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,SAAS;QACrC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,IAAI,MAAM,GAAuB,KAAK,CAAC,GAAG,CAAC;QAC3C,OAAO,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,wEAAwE;gBACxE,wEAAwE;gBACxE,oEAAoE;gBACpE,iEAAiE;gBACjE,qEAAqE;gBACrE,uEAAuE;gBACvE,iCAAiC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/C,WAAW,CAAC,IAAI,CACd,iCAAiC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,uCAAuC,CAC3F,CAAC;gBACF,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;oBAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;wBACxB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACnB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrB,CAAC;oBACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACxC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;4BAC3B,UAAU,CAAC,GAAG,CACZ,MAAM,EACN,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,CACjD,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClB,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,MAAc,EAAE,KAAwB;IAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IACnC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAY,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAClD,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAW,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,SAAS,OAAO,CACd,QAA4B,EAC5B,GAAW,EACX,KAAa,EACb,WAAoB,EACpB,OAAqB,EACrB,OAAsB;IAEtB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAgB,EAAE,CAAC;IAEjC,MAAM,IAAI,GAAG,OAAO,CAClB,IAAI,EACJ;QACE,KAAK,EAAE,cAAc;QACrB,aAAa,EAAE,GAAG;QAClB,wEAAwE;QACxE,yEAAyE;QACzE,oEAAoE;QACpE,yEAAyE;QACzE,wEAAwE;QACxE,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;QAC3D,YAAY,EAAE,GAAG,KAAK,EAAE,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE;QAC/C,QAAQ,EAAE,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACnC,EACD;QACE,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;QAC7D,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC5C,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3B,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC;QACjC,0EAA0E;QAC1E,wEAAwE;QACxE,GAAG,WAAW,CAAC,KAAK,CAAC;QACrB,QAAQ,KAAK,SAAS;YACpB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE;gBACvC,mBAAmB,QAAQ,gCAAgC;aAC5D,CAAC;QACN,2EAA2E;QAC3E,wEAAwE;QACxE,sEAAsE;QACtE,oEAAoE;QACpE,8BAA8B;QAC9B,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;KAC1E,CACF,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAC1B,QAA4B,EAC5B,MAAc,EACd,OAAqB,EACrB,OAAsB;IAEtB,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,MAAM,OAAO,GAAwD,EAAE,CAAC;IACxE,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAW,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,EAIvC,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAW,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAA4B,EAAE,UAAwB,EAAE;IAChF,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtD,8EAA8E;IAC9E,2EAA2E;IAC3E,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE/E,MAAM,IAAI,GACR,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,CAAC,0EAA0E;YAC1E,iBAAiB,CAAC,QAAQ,CAAC;gBAC3B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,UAAU,CAAC,6CAA6C,CAAC;QAC7D,CAAC,CAAC,OAAO,CACL,IAAI,EACJ,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,EACxD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CACxD,CAAC;IAER,MAAM,IAAI,GAAG,OAAO,CAClB,SAAS,EACT;QACE,KAAK,EAAE,wBAAwB;QAC/B,iBAAiB,EAAE,MAAM;QACzB,oEAAoE;QACpE,sEAAsE;QACtE,cAAc;QACd,YAAY,EAAE,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAC1D,2EAA2E;QAC3E,2EAA2E;QAC3E,8BAA8B;QAC9B,aAAa,EAAE,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACjE,8DAA8D;QAC9D,qDAAqD;QACrD,cAAc,EAAE,OAAO,CAAC,OAAO;QAC/B,mBAAmB,EAAE,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;QAC5D,YAAY,EAAE,6BAA6B;KAC5C;IACD,0EAA0E;IAC1E,yEAAyE;IACzE;QACE,OAAO,CAAC,MAAM,KAAK,KAAK;YACtB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACzF,qEAAqE;QACrE,mEAAmE;QACnE,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;QACzC,IAAI;QACJ,MAAM,EAAE;QACR,0EAA0E;QAC1E,+DAA+D;QAC/D,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;KACvC,CACF,CAAC;IAEF,8EAA8E;IAC9E,gDAAgD;IAChD,MAAM,OAAO,GAA2C,IAAI,GAAG,EAAE,CAAC;IAElE,OAAO;QACL,UAAU,EAAE,MAAM;QAClB,IAAI;QACJ,UAAU;QACV,SAAS,EAAE,UAAU;QACrB,OAAO;QACP,0EAA0E;QAC1E,oEAAoE;QACpE,0EAA0E;QAC1E,yEAAyE;QACzE,SAAS,EAAE,IAAI,GAAG,EAAE;QACpB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `renderViewerSkeleton` — what the viewer draws before there is a document.
|
|
3
|
+
*
|
|
4
|
+
* ## Why the package draws it, and the host only styles it
|
|
5
|
+
*
|
|
6
|
+
* A viewer mounted before its data arrives had two choices and both were wrong.
|
|
7
|
+
* Rendered over an empty document it said "nothing is in the order", which is
|
|
8
|
+
* a claim about a backlog nobody has read yet. Held back by the host instead,
|
|
9
|
+
* the host drew its own placeholder — a guess at this package's layout that
|
|
10
|
+
* jumped when the real rows landed and that every host had to rewrite.
|
|
11
|
+
*
|
|
12
|
+
* So the SHAPE is this package's: the skeleton rows use the same `.ig-slot`
|
|
13
|
+
* geometry the order uses, so a placeholder row is exactly as tall as a real
|
|
14
|
+
* one at every density the container picks, and nothing moves on arrival. It
|
|
15
|
+
* is a pure function over no document, so a host can render it on the server
|
|
16
|
+
* — in a route's loading state — and the page-load placeholder, the
|
|
17
|
+
* waiting-for-data placeholder and the data all line up.
|
|
18
|
+
*
|
|
19
|
+
* The LOOK is the host's. Every placeholder is an `.ig-skeleton-block`,
|
|
20
|
+
* filled with `--ig-surface-2` and carrying no animation. This package ships
|
|
21
|
+
* no motion anywhere — the editor's sheet says why — so a host that wants its
|
|
22
|
+
* own pulse adds it to that one class, gated on its own reduced-motion rule,
|
|
23
|
+
* and the fill follows the host's theme like every other surface here.
|
|
24
|
+
*
|
|
25
|
+
* ## No word of its own
|
|
26
|
+
*
|
|
27
|
+
* The root is `aria-busy` always. It is a labelled `status` region only when
|
|
28
|
+
* the host supplies `label` — "Loading your issues" is a sentence in the
|
|
29
|
+
* host's language, and this package does not write one.
|
|
30
|
+
*/
|
|
31
|
+
import { type ElementSpec } from './element.ts';
|
|
32
|
+
import { type Theme } from './theme.ts';
|
|
33
|
+
export interface SkeletonOptions {
|
|
34
|
+
/** Which projection the placeholder stands in for. Defaults to `linear`. */
|
|
35
|
+
readonly projection?: 'linear' | 'graph' | 'tree' | undefined;
|
|
36
|
+
/** How many placeholder rows or cards to draw. Defaults to 8 rows, 3 cards. */
|
|
37
|
+
readonly rows?: number | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* The host's words for what is loading, read to assistive technology. Absent,
|
|
40
|
+
* the region is marked busy and carries no text — this package writes none.
|
|
41
|
+
*/
|
|
42
|
+
readonly label?: string | undefined;
|
|
43
|
+
/** Draw the panel header's placeholder. Same meaning as `SceneOptions.chrome`. Defaults to `true`. */
|
|
44
|
+
readonly chrome?: boolean | undefined;
|
|
45
|
+
/** Same meaning as `SceneOptions.frame`. Defaults to `true`. */
|
|
46
|
+
readonly frame?: boolean | undefined;
|
|
47
|
+
readonly theme?: Theme | undefined;
|
|
48
|
+
/** The selector `themeCss` writes the custom properties onto. */
|
|
49
|
+
readonly themeSelector?: string | undefined;
|
|
50
|
+
}
|
|
51
|
+
export interface SkeletonResult {
|
|
52
|
+
readonly markup: string;
|
|
53
|
+
/** The stylesheet and the theme, in that order. Install both. */
|
|
54
|
+
readonly styles: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The placeholder's root, as a spec — exported so a composing surface (the
|
|
58
|
+
* editor's workspace skeleton) can place it inside its own zones.
|
|
59
|
+
*/
|
|
60
|
+
export declare function skeletonSpec(options?: SkeletonOptions): ElementSpec;
|
|
61
|
+
/** Render the placeholder a host shows before the viewer has a document. Pure and total. */
|
|
62
|
+
export declare function renderViewerSkeleton(options?: SkeletonOptions): SkeletonResult;
|
|
63
|
+
//# sourceMappingURL=skeleton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../src/skeleton.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAyB,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,KAAK,KAAK,EAA0B,MAAM,YAAY,CAAC;AAGhE,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9D,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,sGAAsG;IACtG,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,gEAAgE;IAChE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACnC,iEAAiE;IACjE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AA8CD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,eAAoB,GAAG,WAAW,CA8BvE;AAED,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,eAAoB,GAAG,cAAc,CAMlF"}
|
package/dist/skeleton.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `renderViewerSkeleton` — what the viewer draws before there is a document.
|
|
3
|
+
*
|
|
4
|
+
* ## Why the package draws it, and the host only styles it
|
|
5
|
+
*
|
|
6
|
+
* A viewer mounted before its data arrives had two choices and both were wrong.
|
|
7
|
+
* Rendered over an empty document it said "nothing is in the order", which is
|
|
8
|
+
* a claim about a backlog nobody has read yet. Held back by the host instead,
|
|
9
|
+
* the host drew its own placeholder — a guess at this package's layout that
|
|
10
|
+
* jumped when the real rows landed and that every host had to rewrite.
|
|
11
|
+
*
|
|
12
|
+
* So the SHAPE is this package's: the skeleton rows use the same `.ig-slot`
|
|
13
|
+
* geometry the order uses, so a placeholder row is exactly as tall as a real
|
|
14
|
+
* one at every density the container picks, and nothing moves on arrival. It
|
|
15
|
+
* is a pure function over no document, so a host can render it on the server
|
|
16
|
+
* — in a route's loading state — and the page-load placeholder, the
|
|
17
|
+
* waiting-for-data placeholder and the data all line up.
|
|
18
|
+
*
|
|
19
|
+
* The LOOK is the host's. Every placeholder is an `.ig-skeleton-block`,
|
|
20
|
+
* filled with `--ig-surface-2` and carrying no animation. This package ships
|
|
21
|
+
* no motion anywhere — the editor's sheet says why — so a host that wants its
|
|
22
|
+
* own pulse adds it to that one class, gated on its own reduced-motion rule,
|
|
23
|
+
* and the fill follows the host's theme like every other surface here.
|
|
24
|
+
*
|
|
25
|
+
* ## No word of its own
|
|
26
|
+
*
|
|
27
|
+
* The root is `aria-busy` always. It is a labelled `status` region only when
|
|
28
|
+
* the host supplies `label` — "Loading your issues" is a sentence in the
|
|
29
|
+
* host's language, and this package does not write one.
|
|
30
|
+
*/
|
|
31
|
+
import { element, renderMarkup } from "./element.js";
|
|
32
|
+
import { resolveTheme, themeCss } from "./theme.js";
|
|
33
|
+
import { viewerStylesheet } from "./styles.js";
|
|
34
|
+
const DEFAULT_ROWS = 8;
|
|
35
|
+
const DEFAULT_CARDS = 3;
|
|
36
|
+
/** Title widths cycle through a few lengths so the column reads as text, not as a bar chart. */
|
|
37
|
+
const TITLE_WIDTHS = ['0', '1', '2', '1'];
|
|
38
|
+
function block(shape, extra = {}) {
|
|
39
|
+
return element('span', { class: 'ig-skeleton-block', 'data-shape': shape, ...extra });
|
|
40
|
+
}
|
|
41
|
+
function headerSkeleton() {
|
|
42
|
+
return element('header', { class: 'ig-header' }, [
|
|
43
|
+
element('div', { class: 'ig-header-top' }, [block('label')]),
|
|
44
|
+
element('div', { class: 'ig-skeleton-chips' }, [block('chip'), block('chip'), block('chip')]),
|
|
45
|
+
]);
|
|
46
|
+
}
|
|
47
|
+
function rowSkeleton(index) {
|
|
48
|
+
return element('li', { class: 'ig-slot ig-skeleton-row' }, [
|
|
49
|
+
// THE STATION ALONE IN THE RANK TRACK. A rank figure over it made the cell
|
|
50
|
+
// taller than a real row's, and the whole placeholder a few pixels a row
|
|
51
|
+
// too tall — the jump this file exists to prevent. Measured against the
|
|
52
|
+
// real rail at its dense density: 53 and 53.
|
|
53
|
+
element('div', { class: 'ig-rank-cell' }, [block('station')]),
|
|
54
|
+
element('div', { class: 'ig-row-body' }, [
|
|
55
|
+
// ONE WRAPPER FOR BOTH LINES, as the real row has, so the body's own gap
|
|
56
|
+
// is not spent between the title and the meta line a second time.
|
|
57
|
+
element('div', { class: 'ig-skeleton-lines' }, [
|
|
58
|
+
block('title', { 'data-width': TITLE_WIDTHS[index % TITLE_WIDTHS.length] ?? '0' }),
|
|
59
|
+
block('meta'),
|
|
60
|
+
]),
|
|
61
|
+
]),
|
|
62
|
+
]);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* A spine card's placeholder: ONE filled block at the card's width and height,
|
|
66
|
+
* not an outlined card with bars inside. Solid rounded blocks are how a
|
|
67
|
+
* skeleton reads at a glance — the same shape host dashboards draw for their
|
|
68
|
+
* own cards — and it keeps every placeholder on the one hook a host styles.
|
|
69
|
+
*/
|
|
70
|
+
function cardSkeleton() {
|
|
71
|
+
return block('card');
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The placeholder's root, as a spec — exported so a composing surface (the
|
|
75
|
+
* editor's workspace skeleton) can place it inside its own zones.
|
|
76
|
+
*/
|
|
77
|
+
export function skeletonSpec(options = {}) {
|
|
78
|
+
const projection = options.projection ?? 'linear';
|
|
79
|
+
const graph = projection === 'graph';
|
|
80
|
+
const count = Math.max(1, Math.floor(options.rows ?? (graph ? DEFAULT_CARDS : DEFAULT_ROWS)));
|
|
81
|
+
const body = graph
|
|
82
|
+
? element('div', { class: 'ig-skeleton-stage' }, Array.from({ length: count }, () => cardSkeleton()))
|
|
83
|
+
: element('ol', { class: 'ig-list' }, Array.from({ length: count }, (_, index) => rowSkeleton(index)));
|
|
84
|
+
return element('section', {
|
|
85
|
+
class: `ig-viewer ${graph ? 'ig-graph' : projection === 'tree' ? 'ig-tree-view' : 'ig-linear'}`,
|
|
86
|
+
'data-projection': projection,
|
|
87
|
+
'data-frame': options.frame === false ? 'none' : undefined,
|
|
88
|
+
'data-ig-loading': 'true',
|
|
89
|
+
'aria-busy': 'true',
|
|
90
|
+
role: options.label === undefined ? undefined : 'status',
|
|
91
|
+
'aria-label': options.label,
|
|
92
|
+
}, [
|
|
93
|
+
options.chrome === false || graph ? null : headerSkeleton(),
|
|
94
|
+
// THE PLACEHOLDERS SAY NOTHING. They are shapes, not content, and a
|
|
95
|
+
// screen reader walking eight empty list items learns only that there
|
|
96
|
+
// are eight of them — the region's busy state and label already say it.
|
|
97
|
+
element('div', { 'aria-hidden': 'true' }, [body]),
|
|
98
|
+
]);
|
|
99
|
+
}
|
|
100
|
+
/** Render the placeholder a host shows before the viewer has a document. Pure and total. */
|
|
101
|
+
export function renderViewerSkeleton(options = {}) {
|
|
102
|
+
const theme = resolveTheme(options.theme);
|
|
103
|
+
return {
|
|
104
|
+
markup: renderMarkup(skeletonSpec(options)),
|
|
105
|
+
styles: `${viewerStylesheet}\n${themeCss(theme, options.themeSelector ?? ':root')}`,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=skeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../src/skeleton.ts"],"names":[],"mappings":"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"}
|
package/dist/styles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAkPH,eAAO,MAAM,gBAAgB,QAq9C5B,CAAC"}
|
package/dist/styles.js
CHANGED
|
@@ -169,18 +169,10 @@ ${scope} .ig-unit-count {
|
|
|
169
169
|
margin-right: var(--ig-space-tight);
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
-
/* THE FOOTER
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
its TITLE: it wrapped, and the excluded row carrying a canonical reference
|
|
177
|
-
ran to 73px while its siblings sat at 36. A footer row taller than a
|
|
178
|
-
ranked row inverts the whole point of the group.
|
|
179
|
-
|
|
180
|
-
THE DEFECT IS THE ONE ALREADY FIXED ON .ig-slot, ONE ROW KIND OVER: a
|
|
181
|
-
title with nothing stopping it wrapping takes the row with it. Fixed at
|
|
182
|
-
the class this time rather than at the site - the rail renders three row
|
|
183
|
-
kinds and the first pass governed two. */
|
|
172
|
+
/* THE FOOTER ROW'S TITLE STAYS ON ONE LINE, as a ranked row's does. The row
|
|
173
|
+
is taller than a ranked row now by design — its status and its reason are
|
|
174
|
+
what it exists to show — but a title that wraps still takes the row with it,
|
|
175
|
+
so the name ellipsizes and the reason below it carries the length. */
|
|
184
176
|
${scope} .ig-footer-row .ig-title {
|
|
185
177
|
line-height: var(--ig-row-title-line);
|
|
186
178
|
min-width: 0;
|
|
@@ -189,39 +181,7 @@ ${scope} .ig-footer-row .ig-title {
|
|
|
189
181
|
white-space: nowrap;
|
|
190
182
|
}
|
|
191
183
|
|
|
192
|
-
|
|
193
|
-
flex-wrap: nowrap;
|
|
194
|
-
min-width: 0;
|
|
195
|
-
overflow: hidden;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/* AND THE CHIPS LOSE THEIR CHROME HERE TOO, which is what actually makes a
|
|
199
|
-
footer entry ONE LINE. 16a draws it as "a label chip, a title and an
|
|
200
|
-
identity, on one line"; a bordered chip is padding plus stroke plus line
|
|
201
|
-
box, so a row carrying any relationship badge stood at 36px against 22px
|
|
202
|
-
for one carrying none - and the badge block, not the title, was the last
|
|
203
|
-
thing driving it.
|
|
204
|
-
|
|
205
|
-
MEASURED IN TWO PASSES, WHICH IS THE POINT. Stopping after the title fix
|
|
206
|
-
left the footer group at two heights and looked finished: the row that had
|
|
207
|
-
been 73px was down to 36 and matched its siblings, so the obvious check
|
|
208
|
-
passed. It was the SECOND measurement - why 22 and why 36 - that found the
|
|
209
|
-
badges. A class is not fixed until nothing in it varies for a reason you
|
|
210
|
-
have not named. */
|
|
211
|
-
${scope} .ig-footer-row .ig-badge {
|
|
212
|
-
background: none;
|
|
213
|
-
border: 0;
|
|
214
|
-
border-radius: 0;
|
|
215
|
-
padding: 0;
|
|
216
|
-
white-space: nowrap;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
/* THE THIRD AND LAST MEMBER OF THE CLASS: the identity. An excluded row
|
|
220
|
-
carries TWO - its own, and the canonical it defers to ('455 -> 512') - and
|
|
221
|
-
the second wrapped, which is why that row alone stood at 30px when the
|
|
222
|
-
others reached 17. Same defect as the title and the chips, third element,
|
|
223
|
-
found by asking the same question a third time rather than by stopping at
|
|
224
|
-
the first uniform-looking answer. */
|
|
184
|
+
/* The identity never wraps mid-reference. */
|
|
225
185
|
${scope} .ig-footer-row .ig-id {
|
|
226
186
|
white-space: nowrap;
|
|
227
187
|
}
|
|
@@ -314,6 +274,51 @@ export const viewerStylesheet = `
|
|
|
314
274
|
position: relative;
|
|
315
275
|
}
|
|
316
276
|
|
|
277
|
+
/* THE FRAME IS THE STANDALONE CASE'S, AND A CONTAINER CAN DECLINE IT.
|
|
278
|
+
Alone in a host's page the viewer is a card and draws its own edge. Composed
|
|
279
|
+
into a surface that already rules its own zones off, that edge lands beside
|
|
280
|
+
the container's and the seam reads as a doubled hairline — so the container
|
|
281
|
+
passes frame: false and takes responsibility for every line on the
|
|
282
|
+
surface. See SceneOptions.frame for why this is an option rather than a
|
|
283
|
+
host stylesheet unsetting the properties above. */
|
|
284
|
+
.ig-viewer[data-frame='none'] {
|
|
285
|
+
border: 0;
|
|
286
|
+
border-radius: 0;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/* THE LEGEND DOCKS AGAINST THE CONTAINER'S SCROLLPORT, NOT THIS ROOT'S.
|
|
290
|
+
See SceneOptions.dockLegend for why only a container can ask for this.
|
|
291
|
+
|
|
292
|
+
THE overflow LINE IS THE WHOLE MECHANISM AND LOOKS LIKE A TIDY-UP. A sticky
|
|
293
|
+
element positions against its nearest SCROLLPORT, and an ancestor with
|
|
294
|
+
overflow: hidden is one — so with the root left as it is above, the legend
|
|
295
|
+
sticks to a box that never scrolls, which is the box it already sat at the
|
|
296
|
+
bottom of. Nothing moves, nothing errors, and the declaration below reads as
|
|
297
|
+
though it works. Lifting the clip hands the legend the container's scroller
|
|
298
|
+
instead, which is the only one that scrolls.
|
|
299
|
+
|
|
300
|
+
WHICH IS ALSO WHY THIS IS SAFE ONLY WITH THE FRAME DECLINED. The clip exists
|
|
301
|
+
so a drawn radius cuts its own corners; a root that has stopped clipping must
|
|
302
|
+
not be drawing one. The rule above and this one are written to be passed
|
|
303
|
+
together, and the workspace passes both.
|
|
304
|
+
|
|
305
|
+
NO z-index, DELIBERATELY. The legend is the root's last child, so it already
|
|
306
|
+
paints over the order it overlaps; a layer number here would be a claim about
|
|
307
|
+
a stacking order this package does not own. */
|
|
308
|
+
.ig-viewer[data-legend='docked'] {
|
|
309
|
+
overflow: visible;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
/* bottom: 0 IS A DEFAULT THE CONTAINER OVERRIDES, not a fixed position. A
|
|
313
|
+
container with something of its own already pinned to that edge — the
|
|
314
|
+
grooming workspace's rail footer — sets this element's bottom to clear it,
|
|
315
|
+
from a height it measures rather than from a number either package wrote
|
|
316
|
+
down and both would have to keep true. */
|
|
317
|
+
.ig-viewer[data-legend='docked'] > .ig-legend {
|
|
318
|
+
position: sticky;
|
|
319
|
+
bottom: 0;
|
|
320
|
+
}
|
|
321
|
+
|
|
317
322
|
.ig-viewer *,
|
|
318
323
|
.ig-viewer *::before,
|
|
319
324
|
.ig-viewer *::after {
|
|
@@ -1188,57 +1193,83 @@ ${railDensity(".ig-viewer[data-density='dense']")}
|
|
|
1188
1193
|
|
|
1189
1194
|
/* ── the footer group: holds that earn no rank slot ────────────────────── */
|
|
1190
1195
|
|
|
1191
|
-
.
|
|
1192
|
-
|
|
1193
|
-
|
|
1196
|
+
/* NO RULE OF ITS OWN ON TOP. The last ranked row above already draws its
|
|
1197
|
+
bottom rule, and a second one here stacked on it as a doubled line. */
|
|
1198
|
+
/* THE PANEL HEADER'S LAYOUT, ONE LEVEL DOWN: a kicker and a count chip on one
|
|
1199
|
+
line, a sentence under them. The kicker and the chip are the header's own
|
|
1200
|
+
classes (see footerHead), so this rule only places them. */
|
|
1201
|
+
.ig-footer-head {
|
|
1202
|
+
display: flex;
|
|
1203
|
+
flex-direction: column;
|
|
1204
|
+
gap: var(--ig-space-tight);
|
|
1205
|
+
padding: var(--ig-row-padding-block-dense) var(--ig-space-wide);
|
|
1194
1206
|
}
|
|
1195
1207
|
|
|
1196
|
-
.ig-footer-
|
|
1208
|
+
.ig-footer-title-row {
|
|
1197
1209
|
align-items: center;
|
|
1198
1210
|
display: flex;
|
|
1199
1211
|
gap: var(--ig-space);
|
|
1200
|
-
justify-content: space-between;
|
|
1201
1212
|
}
|
|
1202
1213
|
|
|
1203
1214
|
.ig-footer-title {
|
|
1204
|
-
color: var(--ig-text-body);
|
|
1205
|
-
font-size: var(--ig-font-size-compact);
|
|
1206
1215
|
margin: 0;
|
|
1207
1216
|
}
|
|
1208
1217
|
|
|
1209
|
-
.ig-footer-
|
|
1218
|
+
.ig-footer-note {
|
|
1210
1219
|
color: var(--ig-text-muted);
|
|
1211
|
-
font-
|
|
1212
|
-
|
|
1220
|
+
font-size: var(--ig-font-size-compact);
|
|
1221
|
+
line-height: var(--ig-row-meta-line);
|
|
1222
|
+
margin: 0;
|
|
1213
1223
|
}
|
|
1214
1224
|
|
|
1215
|
-
/* ONE LINE EACH, and the frame is explicit about why: these are not facts
|
|
1216
|
-
about the work, so they earn no rank slot and no explanation block. A full
|
|
1217
|
-
row here — station, badges, provenance — was claiming the opposite. */
|
|
1218
1225
|
.ig-footer .ig-list {
|
|
1219
1226
|
display: flex;
|
|
1220
1227
|
flex-direction: column;
|
|
1221
|
-
gap: var(--ig-space-snug);
|
|
1222
|
-
margin-top: var(--ig-space);
|
|
1223
1228
|
}
|
|
1224
1229
|
|
|
1230
|
+
/* A RANKED ROW'S GRID, PADDING AND RULE, so the group is the rest of the same
|
|
1231
|
+
list rather than a panel of its own: the rank track holds the held station,
|
|
1232
|
+
and it lines up under the stations above because it is the same track.
|
|
1233
|
+
|
|
1234
|
+
ON THE PANEL'S OWN GROUND, NOT A SECOND SURFACE, and at full strength. The
|
|
1235
|
+
group used to sit on --ig-surface-2 with every row at 0.72 opacity, which
|
|
1236
|
+
read as disabled — on the rows whose whole purpose is "open me to see why". */
|
|
1225
1237
|
.ig-footer-row {
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1238
|
+
border-top: var(--ig-stroke) solid var(--ig-line);
|
|
1239
|
+
column-gap: var(--ig-space);
|
|
1240
|
+
cursor: pointer;
|
|
1241
|
+
display: grid;
|
|
1242
|
+
grid-template-columns: var(--ig-rank-column) 1fr;
|
|
1243
|
+
/* THE DENSE RANKED ROW'S PADDING, at every width: these rows carry three
|
|
1244
|
+
lines where a ranked row carries two, and the wider padding on top of that
|
|
1245
|
+
made each one twice the height of its neighbours above. */
|
|
1246
|
+
padding: var(--ig-row-padding-block-dense) var(--ig-space-wide);
|
|
1247
|
+
}
|
|
1248
|
+
|
|
1249
|
+
.ig-footer-row:hover {
|
|
1250
|
+
background: color-mix(in srgb, var(--ig-text) var(--ig-tint-unit), transparent);
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
/* THE RANKED ROW'S SELECTED BAND, and its fill: one selection, one look,
|
|
1254
|
+
whichever part of the list it was made in. */
|
|
1255
|
+
.ig-footer-row[aria-current='true'] {
|
|
1256
|
+
background: color-mix(in srgb, var(--ig-accent) var(--ig-tint-fill), transparent);
|
|
1257
|
+
box-shadow: inset var(--ig-band-rail) 0 0 var(--ig-accent);
|
|
1230
1258
|
}
|
|
1231
1259
|
|
|
1232
1260
|
.ig-footer-row .ig-title {
|
|
1233
|
-
|
|
1261
|
+
color: var(--ig-text-body);
|
|
1234
1262
|
}
|
|
1235
1263
|
|
|
1236
|
-
.ig-footer-row .ig-
|
|
1237
|
-
|
|
1264
|
+
.ig-footer-row[aria-current='true'] .ig-title {
|
|
1265
|
+
color: var(--ig-text);
|
|
1238
1266
|
}
|
|
1239
1267
|
|
|
1240
|
-
.ig-footer-
|
|
1241
|
-
|
|
1268
|
+
.ig-footer-why {
|
|
1269
|
+
color: var(--ig-text-muted);
|
|
1270
|
+
font-size: var(--ig-font-size-compact);
|
|
1271
|
+
line-height: var(--ig-row-meta-line);
|
|
1272
|
+
margin: 0;
|
|
1242
1273
|
}
|
|
1243
1274
|
|
|
1244
1275
|
/* ── the graph canvas ──────────────────────────────────────────────────── */
|
|
@@ -1573,6 +1604,94 @@ ${railDensity(".ig-viewer[data-density='dense']")}
|
|
|
1573
1604
|
padding: var(--ig-space-tight) 0;
|
|
1574
1605
|
}
|
|
1575
1606
|
|
|
1607
|
+
/* ── loading placeholder ───────────────────────────────────────────────── */
|
|
1608
|
+
|
|
1609
|
+
/* THE HOST'S HOOK, AND THE ONLY ONE. Every placeholder shape is one of these,
|
|
1610
|
+
filled with the second surface and holding still: this package ships no
|
|
1611
|
+
motion, and the fill already follows the host's theme. A host that wants a
|
|
1612
|
+
pulse animates this class under its own reduced-motion rule. */
|
|
1613
|
+
.ig-skeleton-block {
|
|
1614
|
+
background: var(--ig-surface-2);
|
|
1615
|
+
border-radius: var(--ig-radius);
|
|
1616
|
+
display: block;
|
|
1617
|
+
}
|
|
1618
|
+
|
|
1619
|
+
/* ON THE HEADER'S OWN GROUND the second surface is the ground, so the shapes
|
|
1620
|
+
there take the hairline colour instead, or they vanish into it. */
|
|
1621
|
+
.ig-header .ig-skeleton-block {
|
|
1622
|
+
background: var(--ig-line);
|
|
1623
|
+
}
|
|
1624
|
+
|
|
1625
|
+
.ig-skeleton-block[data-shape='label'] {
|
|
1626
|
+
block-size: var(--ig-space);
|
|
1627
|
+
inline-size: calc(var(--ig-char-width) * 14);
|
|
1628
|
+
}
|
|
1629
|
+
|
|
1630
|
+
.ig-skeleton-chips {
|
|
1631
|
+
display: flex;
|
|
1632
|
+
gap: var(--ig-space-snug);
|
|
1633
|
+
}
|
|
1634
|
+
|
|
1635
|
+
.ig-skeleton-block[data-shape='chip'] {
|
|
1636
|
+
block-size: calc(var(--ig-space) * 2);
|
|
1637
|
+
border-radius: var(--ig-radius);
|
|
1638
|
+
inline-size: calc(var(--ig-char-width) * 9);
|
|
1639
|
+
}
|
|
1640
|
+
|
|
1641
|
+
.ig-skeleton-block[data-shape='station'] {
|
|
1642
|
+
block-size: var(--ig-space);
|
|
1643
|
+
border-radius: 50%;
|
|
1644
|
+
inline-size: var(--ig-space);
|
|
1645
|
+
}
|
|
1646
|
+
|
|
1647
|
+
/* THE ROW'S OWN LINE HEIGHTS, so a placeholder row and a real row are the same
|
|
1648
|
+
height at every density the container picks. */
|
|
1649
|
+
.ig-skeleton-block[data-shape='title'] {
|
|
1650
|
+
block-size: var(--ig-row-title-line);
|
|
1651
|
+
inline-size: 68%;
|
|
1652
|
+
}
|
|
1653
|
+
|
|
1654
|
+
.ig-skeleton-block[data-shape='title'][data-width='1'] {
|
|
1655
|
+
inline-size: 54%;
|
|
1656
|
+
}
|
|
1657
|
+
|
|
1658
|
+
.ig-skeleton-block[data-shape='title'][data-width='2'] {
|
|
1659
|
+
inline-size: 82%;
|
|
1660
|
+
}
|
|
1661
|
+
|
|
1662
|
+
.ig-skeleton-block[data-shape='meta'] {
|
|
1663
|
+
block-size: var(--ig-row-meta-line);
|
|
1664
|
+
inline-size: 36%;
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
/* THE TWO LINES OF A ROW, stacked with no gap of their own: each block is its
|
|
1668
|
+
line's full height, which already carries the leading a real line has. */
|
|
1669
|
+
.ig-skeleton-lines {
|
|
1670
|
+
display: flex;
|
|
1671
|
+
flex-direction: column;
|
|
1672
|
+
}
|
|
1673
|
+
|
|
1674
|
+
/* A placeholder row points at nothing, so it takes no pointer and no hover. */
|
|
1675
|
+
.ig-skeleton-row {
|
|
1676
|
+
pointer-events: none;
|
|
1677
|
+
}
|
|
1678
|
+
|
|
1679
|
+
.ig-skeleton-stage {
|
|
1680
|
+
align-items: center;
|
|
1681
|
+
display: flex;
|
|
1682
|
+
flex-direction: column;
|
|
1683
|
+
gap: var(--ig-space-wide);
|
|
1684
|
+
padding: var(--ig-space-wide);
|
|
1685
|
+
}
|
|
1686
|
+
|
|
1687
|
+
/* THE SPINE CARD'S OWN WIDTH, so the graph's placeholder sits where its cards
|
|
1688
|
+
will, as one solid block with the large radius the panel's cards use. */
|
|
1689
|
+
.ig-skeleton-block[data-shape='card'] {
|
|
1690
|
+
block-size: calc(var(--ig-station-box) * 4);
|
|
1691
|
+
border-radius: var(--ig-radius-large);
|
|
1692
|
+
inline-size: min(100%, var(--ig-spine-width));
|
|
1693
|
+
}
|
|
1694
|
+
|
|
1576
1695
|
/* ── legend ────────────────────────────────────────────────────────────── */
|
|
1577
1696
|
|
|
1578
1697
|
/* A FOOTER BAR, WHERE §16b PUTS IT, and worded rather than glyph-only. It sits
|
|
@@ -1591,8 +1710,29 @@ ${railDensity(".ig-viewer[data-density='dense']")}
|
|
|
1591
1710
|
padding: var(--ig-space) var(--ig-space-wide);
|
|
1592
1711
|
}
|
|
1593
1712
|
|
|
1713
|
+
/* FLOATED SO THE BROWSER STOPS TREATING IT AS A RENDERED LEGEND, which is the
|
|
1714
|
+
only reason this declaration exists. HTML gives the first in-flow legend of a
|
|
1715
|
+
fieldset a layout nothing else in CSS has: it is lifted OUT of the fieldset's
|
|
1716
|
+
content box, painted across the top border with a notch cut through the rule
|
|
1717
|
+
either side of it, and the content box then starts below it. On this bar that
|
|
1718
|
+
drew the caption sitting on the rule, a gap of bare ground under the caption
|
|
1719
|
+
where the fieldset's own surface should have been, and a top rule broken in
|
|
1720
|
+
the middle — all three of which looked like a styling bug and none of which
|
|
1721
|
+
any rule here asked for.
|
|
1722
|
+
|
|
1723
|
+
The spec's own escape hatch is the float: a legend whose computed float is
|
|
1724
|
+
not none is not the rendered legend, and becomes an ordinary child. This bar
|
|
1725
|
+
is a flex container, where float does not apply to an item at all, so the
|
|
1726
|
+
caption simply lays out as the first item on the row — which is what the
|
|
1727
|
+
flex rule above, its muted uppercase micro type and its centred alignment
|
|
1728
|
+
were always written for.
|
|
1729
|
+
|
|
1730
|
+
IT IS LOAD-BEARING AND LOOKS DECORATIVE, which is why it is recorded here at
|
|
1731
|
+
this length: delete it and the notch, the gap and the broken rule all come
|
|
1732
|
+
back, with nothing else in this file changed. */
|
|
1594
1733
|
.ig-legend-caption {
|
|
1595
1734
|
color: var(--ig-text-muted);
|
|
1735
|
+
float: left;
|
|
1596
1736
|
font-family: var(--ig-font-mono);
|
|
1597
1737
|
font-size: var(--ig-font-size-pill);
|
|
1598
1738
|
letter-spacing: var(--ig-tracking-group);
|
package/dist/styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO;EACP,KAAK;;;;;;;;;;EAUL,KAAK;;;;EAIL,KAAK;;;;;;;;;EASL,KAAK;;;;;;;;;;EAUL,KAAK;;;;;;;;;;;;;EAaL,KAAK;;;;;;;;EAQL,KAAK;;;;;;;;;;;;;;;;;;EAkBL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BL,KAAK;;;;EAIL,KAAK;EACL,KAAK;;;;;;;EAOL,KAAK
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO;EACP,KAAK;;;;;;;;;;EAUL,KAAK;;;;EAIL,KAAK;;;;;;;;;EASL,KAAK;;;;;;;;;;EAUL,KAAK;;;;;;;;;;;;;EAaL,KAAK;;;;;;;;EAQL,KAAK;;;;;;;;;;;;;;;;;;EAkBL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BL,KAAK;;;;EAIL,KAAK;EACL,KAAK;;;;;;;EAOL,KAAK;;;;;;;;;;;EAWL,KAAK;;;;;;;;;EASL,KAAK;;;;;;;;;;;;EAYL,KAAK;;;;;EAKL,KAAK;;;;;EAKL,KAAK;;;;;;;EAOL,KAAK;;;;;;;;;;;;;;;;;;;;;;;EAuBL,KAAK;EACL,KAAK;EACL,KAAK;;;;;;;;;;;;;;;;EAgBL,KAAK;;;;EAIL,KAAK;;;CAGN,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmf9B,WAAW,CAAC,gCAAgC,CAAC;;;;;;;;;;;;;EAa7C,WAAW,CAAC,kCAAkC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAq9BhD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@issuegraph/viewer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "Render an Issuegraph document as a work order — the ordered spine with readiness stations, the five edge treatments, and three projections. Rendering only: no fetching, no mutation, no auth, and every value themeable through CSS custom properties.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"issuegraph",
|