@oh-just-another/templates 0.57.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/CHANGELOG.md +15 -0
- package/LICENSE +21 -0
- package/README.md +73 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/built-in.d.ts +16 -0
- package/dist/built-in.d.ts.map +1 -0
- package/dist/built-in.js +204 -0
- package/dist/built-in.js.map +1 -0
- package/dist/constants.d.ts +11 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +11 -0
- package/dist/constants.js.map +1 -0
- package/dist/icons.d.ts +21 -0
- package/dist/icons.d.ts.map +1 -0
- package/dist/icons.js +24 -0
- package/dist/icons.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/library.d.ts +29 -0
- package/dist/library.d.ts.map +1 -0
- package/dist/library.js +60 -0
- package/dist/library.js.map +1 -0
- package/dist/registry.d.ts +27 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +48 -0
- package/dist/registry.js.map +1 -0
- package/dist/rich/binding.d.ts +10 -0
- package/dist/rich/binding.d.ts.map +1 -0
- package/dist/rich/binding.js +42 -0
- package/dist/rich/binding.js.map +1 -0
- package/dist/rich/bounds.d.ts +16 -0
- package/dist/rich/bounds.d.ts.map +1 -0
- package/dist/rich/bounds.js +13 -0
- package/dist/rich/bounds.js.map +1 -0
- package/dist/rich/define.d.ts +44 -0
- package/dist/rich/define.d.ts.map +1 -0
- package/dist/rich/define.js +3 -0
- package/dist/rich/define.js.map +1 -0
- package/dist/rich/drop-zones.d.ts +25 -0
- package/dist/rich/drop-zones.d.ts.map +1 -0
- package/dist/rich/drop-zones.js +63 -0
- package/dist/rich/drop-zones.js.map +1 -0
- package/dist/rich/extends.d.ts +35 -0
- package/dist/rich/extends.d.ts.map +1 -0
- package/dist/rich/extends.js +46 -0
- package/dist/rich/extends.js.map +1 -0
- package/dist/rich/hit-test.d.ts +14 -0
- package/dist/rich/hit-test.d.ts.map +1 -0
- package/dist/rich/hit-test.js +53 -0
- package/dist/rich/hit-test.js.map +1 -0
- package/dist/rich/index.d.ts +22 -0
- package/dist/rich/index.d.ts.map +1 -0
- package/dist/rich/index.js +15 -0
- package/dist/rich/index.js.map +1 -0
- package/dist/rich/interactive.d.ts +44 -0
- package/dist/rich/interactive.d.ts.map +1 -0
- package/dist/rich/interactive.js +80 -0
- package/dist/rich/interactive.js.map +1 -0
- package/dist/rich/layout.d.ts +44 -0
- package/dist/rich/layout.d.ts.map +1 -0
- package/dist/rich/layout.js +418 -0
- package/dist/rich/layout.js.map +1 -0
- package/dist/rich/node.d.ts +96 -0
- package/dist/rich/node.d.ts.map +1 -0
- package/dist/rich/node.js +7 -0
- package/dist/rich/node.js.map +1 -0
- package/dist/rich/ports.d.ts +19 -0
- package/dist/rich/ports.d.ts.map +1 -0
- package/dist/rich/ports.js +52 -0
- package/dist/rich/ports.js.map +1 -0
- package/dist/rich/registry.d.ts +19 -0
- package/dist/rich/registry.d.ts.map +1 -0
- package/dist/rich/registry.js +35 -0
- package/dist/rich/registry.js.map +1 -0
- package/dist/rich/render.d.ts +19 -0
- package/dist/rich/render.d.ts.map +1 -0
- package/dist/rich/render.js +306 -0
- package/dist/rich/render.js.map +1 -0
- package/dist/rich/style.d.ts +126 -0
- package/dist/rich/style.d.ts.map +1 -0
- package/dist/rich/style.js +35 -0
- package/dist/rich/style.js.map +1 -0
- package/dist/rich/svg.d.ts +90 -0
- package/dist/rich/svg.d.ts.map +1 -0
- package/dist/rich/svg.js +415 -0
- package/dist/rich/svg.js.map +1 -0
- package/dist/spec.d.ts +2789 -0
- package/dist/spec.d.ts.map +1 -0
- package/dist/spec.js +239 -0
- package/dist/spec.js.map +1 -0
- package/dist/types.d.ts +57 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/rich/render.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,8BAA8B,GAG/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EACL,uBAAuB,GAGxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAuC,MAAM,aAAa,CAAC;AAU9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA0C,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IAC5F,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,yEAAyE;IACzE,oEAAoE;IACpE,wEAAwE;IACxE,+CAA+C;IAC/C,MAAM,YAAY,GAAiB;QACjC,GAAG,IAAI;QACP,MAAM,EAAE;YACN,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB;KACF,CAAC;IACF,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,EAAE;QACxC,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;KACxD,CAAC,CAAC;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAoB,EAAe,EAAE;IAC5D,2EAA2E;IAC3E,uDAAuD;IACvD,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE;QACpC,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACrC,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;QACxC,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,CAAe,EAAE,MAAoB,EAAQ,EAAE;IAChE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,WAAW;YACd,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ;gBAAE,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM;QACR,KAAK,MAAM;YACT,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpC,MAAM;QACR,KAAK,QAAQ;YACX,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACtC,MAAM;QACR,KAAK,WAAW;YACd,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACxC,MAAM;QACR,KAAK,MAAM;YACT,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpC,MAAM;QACR,KAAK,OAAO;YACV,qBAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChD,MAAM;QACR,KAAK,MAAM;YACT,mEAAmE;YACnE,iCAAiC;YACjC,MAAM;IACV,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,IAAkB,EAAE,CAAS,EAAE,MAAoB,EAAQ,EAAE;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;IACzE,MAAM,SAAS,GACb,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/F,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS;QAAE,OAAO;IAEnC,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,OAAO,IAAI,KAAK,CAAC,IAAI;QAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,OAAO;QAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,SAAS;QAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,IAAc,EAAE,CAAS,EAAE,MAAoB,EAAQ,EAAE;IAC1E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,MAAM,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,IAAI,uBAAuB,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,SAAS,IAAI,MAAM,CAAC;IAC9C,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACrC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3B,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACnD,yCAAyC;IACzC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACZ,IAAI,KAAK,KAAK,QAAQ;QAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;SACzC,IAAI,KAAK,KAAK,OAAO;QAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAC9C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAE,CAAS,EAAE,MAAoB,EAAQ,EAAE;IAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,SAAS,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,MAAM,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,MAAM,CAAC;IAC1C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,EAAE,CAAC;IACd,MAAM,CAAC,MAAM,EAAE,CAAC;IAChB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,IAAI,uBAAuB,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAC/E,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAkB,EAAE,CAAS,EAAE,MAAoB,EAAQ,EAAE;IAClF,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,MAAM,CAAC,CAAC;IAC/C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,MAAM,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,IAAI,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;QAClF,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpE,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,IAAc,EAAE,CAAS,EAAE,MAAoB,EAAQ,EAAE;IAC1E,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,MAAM,CAAC;IACnF,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,qEAAqE;QACrE,oBAAoB;QACpB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IACD,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,wEAAwE;AACxE,mDAAmD;AACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuC,CAAC;AAChE,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,EAAE;IACpD,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC;IAChC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,KAAgB,EAAE,CAAS,EAAE,MAAoB,EAAQ,EAAE;IACxF,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,EAAE,CAAC;IACd,MAAM,CAAC,MAAM,EAAE,CAAC;AAClB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,MAAoB,EAAU,EAAE;IACvF,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7B,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC7D,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;IACrB,sDAAsD;IACtD,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC;QAChD,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,QAAQ;YAAE,EAAE,GAAG,GAAG,CAAC;;YACzD,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,MAAoB,EAAE,KAAa,EAAE,MAAc,EAAE,EAAU,EAAQ,EAAE;IAC7F,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,SAAS,EAAE,CAAC;IACnB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAChC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,KAAM,IAA4D,CAAC,CAAC,+BAA+B;AAEnG;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAS,EAAE;IACrD,uBAAuB,CAAuB,UAAU,EAAE,qBAAqB,CAAC,CAAC;IACjF,eAAe,CAAuB,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1D,uEAAuE;QACvE,0EAA0E;QAC1E,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,4EAA4E;IAC5E,6EAA6E;IAC7E,6EAA6E;IAC7E,gCAAgC;IAChC,EAAE;IACF,kEAAkE;IAClE,4EAA4E;IAC5E,6EAA6E;IAC7E,+BAA+B;IAC/B,MAAM,mBAAmB,GAAG,CAAC,KAAkB,EAAuB,EAAE;QACtE,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,IAAI,GAAG,KAA6B,CAAC;QAC3C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,YAAY,GAAiB;YACjC,GAAG,QAAQ,CAAC,IAAI;YAChB,MAAM,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;SACpF,CAAC;QACF,OAAO,UAAU,CAAC,YAAY,EAAE;YAC9B,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;SACtD,CAAC,CAAC;IACL,CAAC,CAAC;IACF,2EAA2E;IAC3E,yBAAyB,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,kEAAkE;QAClE,kDAAkD;QAClD,MAAM,UAAU,GAAI,KAAK,CAAC,QAAQ,EAAE,SAA8C,IAAI,EAAE,CAAC;QACzF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,0EAA0E;IAC1E,2EAA2E;IAC3E,8BAA8B,CAAC,CAAC,KAAK,EAAE,EAAE;QACvC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,KAAK,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import type { Color } from "@oh-just-another/types";
|
|
2
|
+
/**
|
|
3
|
+
* Visual style of a single rich-template node. Mirrors a useful subset of CSS
|
|
4
|
+
* properties — every field is optional so the underlying renderer falls back
|
|
5
|
+
* to its own defaults when nothing is set.
|
|
6
|
+
*/
|
|
7
|
+
export interface NodeStyle {
|
|
8
|
+
readonly fill?: Color;
|
|
9
|
+
readonly stroke?: Color;
|
|
10
|
+
readonly strokeWidth?: number;
|
|
11
|
+
readonly borderRadius?: number;
|
|
12
|
+
readonly opacity?: number;
|
|
13
|
+
/** Default text colour for `Text` nodes that don't set their own. */
|
|
14
|
+
readonly color?: Color;
|
|
15
|
+
readonly fontFamily?: string;
|
|
16
|
+
readonly fontSize?: number;
|
|
17
|
+
readonly fontWeight?: "normal" | "bold" | number;
|
|
18
|
+
readonly textAlign?: "left" | "center" | "right";
|
|
19
|
+
readonly textBaseline?: "top" | "middle" | "bottom";
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Spacing for `padding` / `margin`. Accepts a number (uniform) or a
|
|
23
|
+
* `{ top, right, bottom, left }` object.
|
|
24
|
+
*/
|
|
25
|
+
export type Spacing = number | LinkSpacing;
|
|
26
|
+
export interface LinkSpacing {
|
|
27
|
+
readonly top?: number;
|
|
28
|
+
readonly right?: number;
|
|
29
|
+
readonly bottom?: number;
|
|
30
|
+
readonly left?: number;
|
|
31
|
+
}
|
|
32
|
+
/** Resolve `Spacing` into a strict 4-tuple of pixels. */
|
|
33
|
+
export declare const resolveSpacing: (s: Spacing | undefined) => {
|
|
34
|
+
top: number;
|
|
35
|
+
right: number;
|
|
36
|
+
bottom: number;
|
|
37
|
+
left: number;
|
|
38
|
+
};
|
|
39
|
+
export type FlexDirection = "row" | "column";
|
|
40
|
+
export type JustifyContent = "start" | "center" | "end" | "space-between" | "space-around";
|
|
41
|
+
export type AlignItems = "start" | "center" | "end" | "stretch" | "baseline";
|
|
42
|
+
export type FlexWrap = "nowrap" | "wrap";
|
|
43
|
+
export type Position = "relative" | "absolute" | "spot";
|
|
44
|
+
/**
|
|
45
|
+
* Anchor reference inside a parent's bounding box (or on a child for
|
|
46
|
+
* `anchorFocus`). Either one of the 9 standard spots or a custom
|
|
47
|
+
* `{ratio: {x: 0..1, y: 0..1}}` inside the box.
|
|
48
|
+
*
|
|
49
|
+
* Mirrors the `StandardAnchor` set in `@scene` so anchor names round-trip
|
|
50
|
+
* cleanly between rich templates and edge endpoints.
|
|
51
|
+
*/
|
|
52
|
+
export type SpotName = "top-left" | "top" | "top-right" | "right" | "bottom-right" | "bottom" | "bottom-left" | "left" | "center";
|
|
53
|
+
export type SpotRef = SpotName | {
|
|
54
|
+
readonly ratio: {
|
|
55
|
+
readonly x: number;
|
|
56
|
+
readonly y: number;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Convert a `SpotRef` into a `{x, y}` ratio (0..1 each axis). Mirrors
|
|
61
|
+
* `STANDARD_ANCHOR_RATIOS` in `@scene` — keep the two in sync if you ever
|
|
62
|
+
* add new named spots.
|
|
63
|
+
*/
|
|
64
|
+
export declare const resolveSpotRatio: (ref: SpotRef) => {
|
|
65
|
+
readonly x: number;
|
|
66
|
+
readonly y: number;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Sizing value: a number is pixels, `"auto"` means intrinsic / shrink-to-fit,
|
|
70
|
+
* a percent string is relative to the parent's content box.
|
|
71
|
+
*/
|
|
72
|
+
export type Length = number | "auto" | `${number}%`;
|
|
73
|
+
/**
|
|
74
|
+
* Layout properties on a node. Container nodes interpret the flex-* fields;
|
|
75
|
+
* leaf nodes use the position/size/margin fields. Unknown nodes default to
|
|
76
|
+
* `display: "flex"`, direction `"row"`.
|
|
77
|
+
*/
|
|
78
|
+
export interface LayoutStyle {
|
|
79
|
+
/** Only `"flex"` is supported. */
|
|
80
|
+
readonly display?: "flex";
|
|
81
|
+
readonly flexDirection?: FlexDirection;
|
|
82
|
+
readonly justifyContent?: JustifyContent;
|
|
83
|
+
readonly alignItems?: AlignItems;
|
|
84
|
+
/** Wrap children to a new line when they exceed the main axis. Default `"nowrap"`. */
|
|
85
|
+
readonly flexWrap?: FlexWrap;
|
|
86
|
+
/** Pixels between children along the main axis (also between wrapped lines). */
|
|
87
|
+
readonly gap?: number;
|
|
88
|
+
readonly padding?: Spacing;
|
|
89
|
+
readonly margin?: Spacing;
|
|
90
|
+
/** Flex-grow factor along the parent's main axis. */
|
|
91
|
+
readonly flex?: number;
|
|
92
|
+
/** Override align-items per-child. */
|
|
93
|
+
readonly alignSelf?: AlignItems;
|
|
94
|
+
readonly width?: Length;
|
|
95
|
+
readonly height?: Length;
|
|
96
|
+
readonly minWidth?: number;
|
|
97
|
+
readonly maxWidth?: number;
|
|
98
|
+
readonly minHeight?: number;
|
|
99
|
+
readonly maxHeight?: number;
|
|
100
|
+
/**
|
|
101
|
+
* `"absolute"` takes the node out of the parent's flex flow and positions
|
|
102
|
+
* it via `top/left/right/bottom` relative to the parent's *padding box*.
|
|
103
|
+
* Mixing absolute and flex siblings is allowed.
|
|
104
|
+
*
|
|
105
|
+
* `"spot"` positions the node by pinning one of its anchor points
|
|
106
|
+
* (`anchorFocus`) to one of the parent's anchor points (`anchor`),
|
|
107
|
+
* then applies `offset` in local pixels. Useful for corner badges,
|
|
108
|
+
* floating close buttons, overlay decorators — anything that should
|
|
109
|
+
* track a specific position on the parent regardless of layout flow.
|
|
110
|
+
*/
|
|
111
|
+
readonly position?: Position;
|
|
112
|
+
readonly top?: number;
|
|
113
|
+
readonly left?: number;
|
|
114
|
+
readonly right?: number;
|
|
115
|
+
readonly bottom?: number;
|
|
116
|
+
/** Spot-only: anchor point on the *parent's* content box. Default `"center"`. */
|
|
117
|
+
readonly anchor?: SpotRef;
|
|
118
|
+
/** Spot-only: anchor point on the *child* (where to pin against parent's anchor). Default `"center"`. */
|
|
119
|
+
readonly anchorFocus?: SpotRef;
|
|
120
|
+
/** Spot-only: pixel offset applied after spot resolution. */
|
|
121
|
+
readonly offset?: {
|
|
122
|
+
readonly x: number;
|
|
123
|
+
readonly y: number;
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/rich/style.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** Resolve `Spacing` into a strict 4-tuple of pixels. */
|
|
2
|
+
export const resolveSpacing = (s) => {
|
|
3
|
+
if (s === undefined)
|
|
4
|
+
return { top: 0, right: 0, bottom: 0, left: 0 };
|
|
5
|
+
if (typeof s === "number")
|
|
6
|
+
return { top: s, right: s, bottom: s, left: s };
|
|
7
|
+
return {
|
|
8
|
+
top: s.top ?? 0,
|
|
9
|
+
right: s.right ?? 0,
|
|
10
|
+
bottom: s.bottom ?? 0,
|
|
11
|
+
left: s.left ?? 0,
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
const SPOT_RATIOS = {
|
|
15
|
+
"top-left": { x: 0, y: 0 },
|
|
16
|
+
top: { x: 0.5, y: 0 },
|
|
17
|
+
"top-right": { x: 1, y: 0 },
|
|
18
|
+
right: { x: 1, y: 0.5 },
|
|
19
|
+
"bottom-right": { x: 1, y: 1 },
|
|
20
|
+
bottom: { x: 0.5, y: 1 },
|
|
21
|
+
"bottom-left": { x: 0, y: 1 },
|
|
22
|
+
left: { x: 0, y: 0.5 },
|
|
23
|
+
center: { x: 0.5, y: 0.5 },
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Convert a `SpotRef` into a `{x, y}` ratio (0..1 each axis). Mirrors
|
|
27
|
+
* `STANDARD_ANCHOR_RATIOS` in `@scene` — keep the two in sync if you ever
|
|
28
|
+
* add new named spots.
|
|
29
|
+
*/
|
|
30
|
+
export const resolveSpotRatio = (ref) => {
|
|
31
|
+
if (typeof ref === "string")
|
|
32
|
+
return SPOT_RATIOS[ref];
|
|
33
|
+
return ref.ratio;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/rich/style.ts"],"names":[],"mappings":"AAmCA,yDAAyD;AACzD,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,CAAsB,EAMtB,EAAE;IACF,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrE,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC3E,OAAO;QACL,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC;QACrB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;KAClB,CAAC;AACJ,CAAC,CAAC;AA6BF,MAAM,WAAW,GAA2E;IAC1F,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IAC1B,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE;IACrB,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IAC3B,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;IACvB,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IAC9B,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE;IACxB,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IAC7B,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;IACtB,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;CAC3B,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAY,EAA8C,EAAE;IAC3F,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,GAAG,CAAC,KAAK,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tiny SVG parser + painter for rich-template `Icon` nodes.
|
|
3
|
+
*
|
|
4
|
+
* Scope: just enough to render the icon strings the demo and built-in
|
|
5
|
+
* templates produce. **Not** a complete SVG implementation — there's no
|
|
6
|
+
* CSS, no nested `<defs>`/`<use>`, no gradients, no text, no images, and
|
|
7
|
+
* the parser uses regex over the raw markup rather than a real XML
|
|
8
|
+
* tokenizer. For richer icons hosts can register a custom shape renderer.
|
|
9
|
+
*
|
|
10
|
+
* Pure: no DOMParser, runs in Node and the browser the same way.
|
|
11
|
+
*/
|
|
12
|
+
import type { RenderTarget } from "@oh-just-another/renderer-core";
|
|
13
|
+
interface Paint {
|
|
14
|
+
fill: string | null;
|
|
15
|
+
stroke: string | null;
|
|
16
|
+
strokeWidth: number;
|
|
17
|
+
}
|
|
18
|
+
type Cmd = {
|
|
19
|
+
kind: "move";
|
|
20
|
+
x: number;
|
|
21
|
+
y: number;
|
|
22
|
+
} | {
|
|
23
|
+
kind: "line";
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
} | {
|
|
27
|
+
kind: "quad";
|
|
28
|
+
cx: number;
|
|
29
|
+
cy: number;
|
|
30
|
+
x: number;
|
|
31
|
+
y: number;
|
|
32
|
+
} | {
|
|
33
|
+
kind: "cubic";
|
|
34
|
+
c1x: number;
|
|
35
|
+
c1y: number;
|
|
36
|
+
c2x: number;
|
|
37
|
+
c2y: number;
|
|
38
|
+
x: number;
|
|
39
|
+
y: number;
|
|
40
|
+
} | {
|
|
41
|
+
kind: "close";
|
|
42
|
+
};
|
|
43
|
+
interface PathEl {
|
|
44
|
+
kind: "path";
|
|
45
|
+
commands: readonly Cmd[];
|
|
46
|
+
paint: Paint;
|
|
47
|
+
}
|
|
48
|
+
interface PolygonEl {
|
|
49
|
+
kind: "polygon" | "polyline";
|
|
50
|
+
points: readonly {
|
|
51
|
+
x: number;
|
|
52
|
+
y: number;
|
|
53
|
+
}[];
|
|
54
|
+
paint: Paint;
|
|
55
|
+
}
|
|
56
|
+
interface ShapeEl {
|
|
57
|
+
kind: "rect" | "circle" | "ellipse" | "line";
|
|
58
|
+
/** Raw attributes — interpreted by the painter. */
|
|
59
|
+
attrs: Readonly<Record<string, number>>;
|
|
60
|
+
paint: Paint;
|
|
61
|
+
}
|
|
62
|
+
type Element = PathEl | PolygonEl | ShapeEl;
|
|
63
|
+
export interface SvgIcon {
|
|
64
|
+
/** Source-coordinate viewport. Painter scales these into target bounds. */
|
|
65
|
+
readonly viewBox: {
|
|
66
|
+
readonly x: number;
|
|
67
|
+
readonly y: number;
|
|
68
|
+
readonly width: number;
|
|
69
|
+
readonly height: number;
|
|
70
|
+
};
|
|
71
|
+
readonly elements: readonly Element[];
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Parse an SVG markup string. Returns `null` if the input is unrecognisable.
|
|
75
|
+
* `currentColor` in `fill` / `stroke` is replaced with `defaultColor` so the
|
|
76
|
+
* painter doesn't need to track context.
|
|
77
|
+
*/
|
|
78
|
+
export declare const parseSvg: (markup: string, defaultColor?: string) => SvgIcon | null;
|
|
79
|
+
/**
|
|
80
|
+
* Paint a parsed icon into the given bounds. The painter scales the viewBox
|
|
81
|
+
* uniformly with `slice` semantics — preserving aspect ratio and centering.
|
|
82
|
+
*/
|
|
83
|
+
export declare const paintSvgIcon: (icon: SvgIcon, bounds: {
|
|
84
|
+
x: number;
|
|
85
|
+
y: number;
|
|
86
|
+
width: number;
|
|
87
|
+
height: number;
|
|
88
|
+
}, target: RenderTarget) => void;
|
|
89
|
+
export {};
|
|
90
|
+
//# sourceMappingURL=svg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../src/rich/svg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAQnE,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,KAAK,GAAG,GACJ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3F;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB,UAAU,MAAM;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,GAAG,EAAE,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,MAAM,EAAE,SAAS;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,KAAK,EAAE,KAAK,CAAC;CACd;AAED,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAC7C,mDAAmD;IACnD,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxC,KAAK,EAAE,KAAK,CAAC;CACd;AAED,KAAK,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAE5C,MAAM,WAAW,OAAO;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;CACvC;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,QAAQ,MAAM,EAAE,qBAAqB,KAAG,OAAO,GAAG,IAc1E,CAAC;AAsCF;;;GAGG;AACH,eAAO,MAAM,YAAY,GACvB,MAAM,OAAO,EACb,QAAQ;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/D,QAAQ,YAAY,KACnB,IAkBF,CAAC"}
|