html2canvas-pro 2.0.0 → 2.0.1
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/html2canvas-pro.esm.js +524 -91
- package/dist/html2canvas-pro.esm.js.map +1 -1
- package/dist/html2canvas-pro.js +524 -91
- package/dist/html2canvas-pro.js.map +1 -1
- package/dist/html2canvas-pro.min.js +5 -5
- package/dist/lib/css/index.js +2 -0
- package/dist/lib/css/index.js.map +1 -1
- package/dist/lib/css/property-descriptors/__tests__/clip-path.test.js +273 -0
- package/dist/lib/css/property-descriptors/__tests__/clip-path.test.js.map +1 -0
- package/dist/lib/css/property-descriptors/clip-path.js +190 -0
- package/dist/lib/css/property-descriptors/clip-path.js.map +1 -0
- package/dist/lib/dom/dom-normalizer.js +57 -21
- package/dist/lib/dom/dom-normalizer.js.map +1 -1
- package/dist/lib/render/canvas/__tests__/text-renderer.test.js +283 -36
- package/dist/lib/render/canvas/__tests__/text-renderer.test.js.map +1 -1
- package/dist/lib/render/canvas/effects-renderer.js +11 -6
- package/dist/lib/render/canvas/effects-renderer.js.map +1 -1
- package/dist/lib/render/canvas/text-renderer.js +131 -64
- package/dist/lib/render/canvas/text-renderer.js.map +1 -1
- package/dist/lib/render/effects.js +17 -1
- package/dist/lib/render/effects.js.map +1 -1
- package/dist/lib/render/stacking-context.js +131 -0
- package/dist/lib/render/stacking-context.js.map +1 -1
- package/dist/types/css/index.d.ts +2 -0
- package/dist/types/css/property-descriptors/__tests__/clip-path.test.d.ts +1 -0
- package/dist/types/css/property-descriptors/clip-path.d.ts +62 -0
- package/dist/types/dom/dom-normalizer.d.ts +30 -11
- package/dist/types/render/canvas/effects-renderer.d.ts +2 -1
- package/dist/types/render/canvas/text-renderer.d.ts +20 -2
- package/dist/types/render/effects.d.ts +15 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stacking-context.js","sourceRoot":"","sources":["../../../src/render/stacking-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stacking-context.js","sourceRoot":"","sources":["../../../src/render/stacking-context.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAC3C,iDAA8F;AAC9F,uCAQmB;AAGnB,iCAAmC;AAEnC,+EAA0E;AAC1E,+EAA0E;AAC1E,4DAAmE;AAEnE,sEAAkE;AAIlE,MAAa,eAAe;IAUxB,YAAY,SAAuB;QAC/B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,sCAAsC,GAAG,EAAE,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;IACvC,CAAC;CACJ;AApBD,0CAoBC;AAED,MAAa,YAAY;IAKrB,YACa,SAA2B,EAC3B,MAA2B;QAD3B,cAAS,GAAT,SAAS,CAAkB;QAC3B,WAAM,GAAN,MAAM,CAAqB;QAN/B,YAAO,GAAqB,EAAE,CAAC;QAQpC,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,uBAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,IAAA,oCAAgB,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtG,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,IAAA,oCAAgB,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtG,mCAAmC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,YAAY,GAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,yBAAe,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,IAAA,oCAAgB,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtG,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,IAAA,oCAAgB,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtG,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,yBAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,6BAAqB,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,IAAA,qCAAsB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,IAAA,sCAAuB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAExD,IAAI,IAAA,gBAAS,EAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,oBAAU,CAAC,SAAS,EAAE,sEAAsD,CAAC,CAAC,CAAC;YACzG,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,oBAAU,CAAC,SAAS,0CAAkC,CAAC,CAAC;gBAC9E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,oBAAU,CAAC,UAAU,+BAAuB,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gCAAwB,EAAE,CAAC;YAC9D,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAClG,IAAI,cAAc,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACtC,CAAC;QACL,CAAC;IACL,CAAC;IAED,UAAU,CAAC,MAAoB;QAC3B,IAAI,MAAM,GAAG,mDAAmC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAChG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO,MAAM,EAAE,CAAC;YACZ,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAA,sBAAY,EAAC,MAAM,CAAC,CAAC,CAAC;YACjF,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,4BAAoB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnF,MAAM,GAAG,mDAAmC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC9F,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,6BAAqB,EAAE,CAAC;oBACzD,MAAM,SAAS,GAAG,IAAA,qCAAsB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACxD,MAAM,UAAU,GAAG,IAAA,sCAAuB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC1D,IAAI,CAAC,IAAA,gBAAS,EAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;wBACpC,OAAO,CAAC,OAAO,CACX,IAAI,oBAAU,CAAC,UAAU,EAAE,sEAAsD,CAAC,CACrF,CAAC;oBACN,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,kBAAQ,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC;CACJ;AAlFD,oCAkFC;AAED;;;;;;;;;GASG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAc,EAAE,MAAc,EAAE,KAAa,EAAE,GAAW,EAAE,MAAc,EAAU,EAAE;IAC7G,IAAI,CAAC,KAAK,cAAc;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;IACxE,IAAI,CAAC,KAAK,eAAe;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;IACzE,OAAO,IAAA,oCAAgB,EAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,CAAC,QAAuB,EAAE,MAAc,EAAyB,EAAE;IAC3F,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAE1E,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpB,iCAAyB,CAAC,CAAC,CAAC;YACxB,MAAM,KAAK,GAAG,IAAA,oCAAgB,EAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,IAAA,oCAAgB,EAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;YACxB,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;YACtB,0EAA0E;YAC1E,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAA,oCAAgB,EAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YACjF,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,IAAA,oCAAgB,EAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YACnF,OAAO,IAAI,wBAAc,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9B,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrB,GAAG,CAAC,IAAI,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC;QAED,kCAA0B,CAAC,CAAC,CAAC;YACzB,MAAM,EAAE,GAAG,KAAK,GAAG,IAAA,oCAAgB,EAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACzD,MAAM,EAAE,GAAG,IAAI,GAAG,IAAA,oCAAgB,EAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACzD,IAAI,CAAS,CAAC;YACd,IAAI,QAAQ,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;gBACrC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,EAAE,EAAE,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;YAClF,CAAC;iBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;gBAC7C,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,EAAE,EAAE,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC;YAClF,CAAC;iBAAM,CAAC;gBACJ,mEAAmE;gBACnE,CAAC,GAAG,IAAA,oCAAgB,EAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,IAAI,wBAAc,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9B,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAChD,GAAG,CAAC,IAAI,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC;QAED,mCAA2B,CAAC,CAAC,CAAC;YAC1B,MAAM,EAAE,GAAG,KAAK,GAAG,IAAA,oCAAgB,EAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YACzD,MAAM,EAAE,GAAG,IAAI,GAAG,IAAA,oCAAgB,EAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACzD,MAAM,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7E,MAAM,EAAE,GAAG,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7E,OAAO,IAAI,wBAAc,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9B,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACzE,GAAG,CAAC,IAAI,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC;QAED,mCAA2B,CAAC,CAAC,CAAC;YAC1B,yDAAyD;YACzD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CACjC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CACT,CAAC,KAAK,GAAG,IAAA,oCAAgB,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,IAAA,oCAAgB,EAAC,EAAE,EAAE,OAAO,CAAC,CAAqB,CACvG,CAAC;YACF,OAAO,IAAI,wBAAc,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9B,GAAG,CAAC,SAAS,EAAE,CAAC;gBAChB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACxC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjD,CAAC;oBACD,GAAG,CAAC,SAAS,EAAE,CAAC;gBACpB,CAAC;gBACD,kEAAkE;gBAClE,8DAA8D;gBAC9D,yDAAyD;gBACzD,GAAG,CAAC,IAAI,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACP,CAAC;QAED,gCAAwB,CAAC,CAAC,CAAC;YACvB,gFAAgF;YAChF,6EAA6E;YAC7E,4EAA4E;YAC5E,kEAAkE;YAClE,8DAA8D;YAC9D,EAAE;YACF,gFAAgF;YAChF,8EAA8E;YAC9E,sEAAsE;YACtE,MAAM,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC;YACvB,OAAO,IAAI,wBAAc,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9B,IAAI,CAAC;oBACD,MAAM,cAAc,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;oBAC1C,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC3B,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxB,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;gBACrC,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACV,yEAAyE;gBAC7E,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED;YACI,OAAO,IAAI,CAAC;QAEhB,OAAO,CAAC,CAAC,CAAC;YACN,uEAAuE;YACvE,2EAA2E;YAC3E,mDAAmD;YACnD,MAAM,WAAW,GAAU,QAAQ,CAAC;YACpC,KAAK,WAAW,CAAC;YACjB,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACnB,MAAoB,EACpB,eAAgC,EAChC,mBAAoC,EACpC,SAAyB,EAC3B,EAAE;IACA,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACxC,MAAM,0BAA0B,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,KAAK,8CAAsC,CAAC;QAC9F,MAAM,sBAAsB,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,KAAK,yCAAiC,CAAC;QACrF,MAAM,cAAc,GAAG,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,IAAA,kBAAQ,EAAC,KAAK,CAAC,MAAM,CAAC,OAAO,+BAAoB,EAAE,CAAC;YACpD,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,cAAc,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,KAAK,8BAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnF,IAAI,0BAA0B,IAAI,sBAAsB,EAAE,CAAC;YACvD,MAAM,WAAW,GACb,0BAA0B,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC;YAEtG,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC;YAElD,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC1F,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBACxC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACZ,IAAI,KAAK,GAAG,CAAC,CAAC;oBAEd,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;wBAC3C,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;4BACxD,KAAK,GAAG,CAAC,CAAC;4BACV,OAAO,KAAK,CAAC;wBACjB,CAAC;6BAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;4BACnB,OAAO,IAAI,CAAC;wBAChB,CAAC;wBAED,OAAO,KAAK,CAAC;oBACjB,CAAC,CAAC,CAAC;oBACH,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvD,CAAC;qBAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACnB,IAAI,KAAK,GAAG,CAAC,CAAC;oBACd,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;wBAC3C,IAAI,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;4BACzD,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;4BACd,OAAO,KAAK,CAAC;wBACjB,CAAC;6BAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;4BACnB,OAAO,IAAI,CAAC;wBAChB,CAAC;wBAED,OAAO,KAAK,CAAC;oBACjB,CAAC,CAAC,CAAC;oBACH,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACJ,WAAW,CAAC,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnE,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;oBAC5B,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACJ,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC;YAED,cAAc,CACV,cAAc,EACd,KAAK,EACL,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,EACxD,cAAc,CACjB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC/B,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACJ,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACxD,CAAC;YAED,cAAc,CAAC,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,IAAA,kBAAQ,EAAC,KAAK,CAAC,KAAK,8BAAsB,EAAE,CAAC;YAC7C,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAuB,EAAE,QAAwB,EAAE,EAAE;IAC3E,IAAI,SAAS,GAAG,KAAK,YAAY,yCAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,KAAK,YAAY,yCAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,IACI,IAAI,CAAC,SAAS,YAAY,yCAAkB;YAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,QAAQ;YACxC,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,EAC5B,CAAC;YACC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAA,2BAAiB,EAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAEzF,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,SAA2B,EAAmB,EAAE;IAClF,MAAM,cAAc,GAAG,IAAI,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACtD,gBAAgB,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAPW,QAAA,qBAAqB,yBAOhC"}
|
|
@@ -7,6 +7,7 @@ import { backgroundSize } from './property-descriptors/background-size';
|
|
|
7
7
|
import { borderBottomLeftRadius, borderBottomRightRadius, borderTopLeftRadius, borderTopRightRadius } from './property-descriptors/border-radius';
|
|
8
8
|
import { borderBottomStyle, borderLeftStyle, borderRightStyle, borderTopStyle } from './property-descriptors/border-style';
|
|
9
9
|
import { borderBottomWidth, borderLeftWidth, borderRightWidth, borderTopWidth } from './property-descriptors/border-width';
|
|
10
|
+
import { ClipPathValue } from './property-descriptors/clip-path';
|
|
10
11
|
import { direction } from './property-descriptors/direction';
|
|
11
12
|
import { display } from './property-descriptors/display';
|
|
12
13
|
import { float } from './property-descriptors/float';
|
|
@@ -78,6 +79,7 @@ export declare class CSSParsedDeclaration {
|
|
|
78
79
|
borderBottomWidth: ReturnType<typeof borderBottomWidth.parse>;
|
|
79
80
|
borderLeftWidth: ReturnType<typeof borderLeftWidth.parse>;
|
|
80
81
|
boxShadow: ReturnType<typeof boxShadow.parse>;
|
|
82
|
+
clipPath: ClipPathValue;
|
|
81
83
|
color: Color;
|
|
82
84
|
direction: ReturnType<typeof direction.parse>;
|
|
83
85
|
display: ReturnType<typeof display.parse>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { IPropertyValueDescriptor } from '../IPropertyDescriptor';
|
|
2
|
+
import { LengthPercentage } from '../types/length-percentage';
|
|
3
|
+
export declare const enum CLIP_PATH_TYPE {
|
|
4
|
+
NONE = 0,
|
|
5
|
+
INSET = 1,
|
|
6
|
+
CIRCLE = 2,
|
|
7
|
+
ELLIPSE = 3,
|
|
8
|
+
POLYGON = 4,
|
|
9
|
+
PATH = 5
|
|
10
|
+
}
|
|
11
|
+
/** Radius keyword or length-percentage for circle/ellipse. */
|
|
12
|
+
export type ShapeRadius = LengthPercentage | 'closest-side' | 'farthest-side';
|
|
13
|
+
export interface NoneClipPath {
|
|
14
|
+
type: CLIP_PATH_TYPE.NONE;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* inset(top right bottom left [ round <border-radius> ]?)
|
|
18
|
+
* Amounts to cut from each side of the reference box.
|
|
19
|
+
*/
|
|
20
|
+
export interface InsetClipPath {
|
|
21
|
+
type: CLIP_PATH_TYPE.INSET;
|
|
22
|
+
top: LengthPercentage;
|
|
23
|
+
right: LengthPercentage;
|
|
24
|
+
bottom: LengthPercentage;
|
|
25
|
+
left: LengthPercentage;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* circle( [ <shape-radius> ]? [ at <position> ]? )
|
|
29
|
+
*/
|
|
30
|
+
export interface CircleClipPath {
|
|
31
|
+
type: CLIP_PATH_TYPE.CIRCLE;
|
|
32
|
+
radius: ShapeRadius;
|
|
33
|
+
cx: LengthPercentage;
|
|
34
|
+
cy: LengthPercentage;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* ellipse( [ <shape-radius>{2} ]? [ at <position> ]? )
|
|
38
|
+
*/
|
|
39
|
+
export interface EllipseClipPath {
|
|
40
|
+
type: CLIP_PATH_TYPE.ELLIPSE;
|
|
41
|
+
rx: ShapeRadius;
|
|
42
|
+
ry: ShapeRadius;
|
|
43
|
+
cx: LengthPercentage;
|
|
44
|
+
cy: LengthPercentage;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* polygon( [ <fill-rule>, ]? [ <length-percentage> <length-percentage> ]# )
|
|
48
|
+
*/
|
|
49
|
+
export interface PolygonClipPath {
|
|
50
|
+
type: CLIP_PATH_TYPE.POLYGON;
|
|
51
|
+
points: [LengthPercentage, LengthPercentage][];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* path( [ <fill-rule>, ]? <string> )
|
|
55
|
+
* The string contains SVG path data in the element's local coordinate space.
|
|
56
|
+
*/
|
|
57
|
+
export interface PathClipPath {
|
|
58
|
+
type: CLIP_PATH_TYPE.PATH;
|
|
59
|
+
d: string;
|
|
60
|
+
}
|
|
61
|
+
export type ClipPathValue = NoneClipPath | InsetClipPath | CircleClipPath | EllipseClipPath | PolygonClipPath | PathClipPath;
|
|
62
|
+
export declare const clipPath: IPropertyValueDescriptor<ClipPathValue>;
|
|
@@ -14,27 +14,46 @@ export interface OriginalStyles {
|
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Normalize element styles for accurate rendering
|
|
17
|
-
* This includes disabling animations and
|
|
17
|
+
* This includes disabling animations and neutralizing transforms.
|
|
18
18
|
*/
|
|
19
19
|
export declare class DOMNormalizer {
|
|
20
20
|
/**
|
|
21
|
-
* Normalize a single element and return original styles
|
|
21
|
+
* Normalize a single element and return original styles.
|
|
22
22
|
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
*
|
|
23
|
+
* ## Why we replace transforms with an identity value instead of "none"
|
|
24
|
+
*
|
|
25
|
+
* `getBoundingClientRect()` returns visual (post-transform) coordinates, so we
|
|
26
|
+
* must neutralize any active transform before measuring element bounds.
|
|
27
|
+
*
|
|
28
|
+
* The naive approach of setting `transform: none` (or `rotate: none`) has a
|
|
29
|
+
* critical side-effect: per **CSS Transforms Level 2**, an element whose
|
|
30
|
+
* `transform` is non-none automatically becomes the **containing block** for
|
|
31
|
+
* all of its `position: absolute` *and* `position: fixed` descendants.
|
|
32
|
+
* Setting it to `none` destroys that role, causing children to resolve their
|
|
33
|
+
* percentage dimensions and offsets against an unintended ancestor — which
|
|
34
|
+
* produces completely wrong bounds.
|
|
35
|
+
*
|
|
36
|
+
* Solution: instead of removing the transform, we replace it with a visually
|
|
37
|
+
* inert identity value:
|
|
38
|
+
*
|
|
39
|
+
* - `transform: scale(0.5)` → `transform: translate(0, 0)`
|
|
40
|
+
* - `translate(0, 0)` is an identity transform (no visual change, no layout shift).
|
|
41
|
+
* - `getBoundingClientRect()` returns the same layout-space coordinates as
|
|
42
|
+
* if there were no transform at all.
|
|
43
|
+
* - Because the value is still non-none, the element **remains a containing
|
|
44
|
+
* block** for both `position: absolute` and `position: fixed` descendants.
|
|
45
|
+
*
|
|
46
|
+
* - `rotate: 45deg` → `rotate: 0deg`
|
|
47
|
+
* - `0deg` is the identity rotation; `0deg ≠ none`, so the same containing-
|
|
48
|
+
* block guarantee holds.
|
|
30
49
|
*
|
|
31
50
|
* @param element - Element to normalize
|
|
32
51
|
* @param styles - Parsed CSS styles
|
|
33
52
|
* @returns Original styles map for restoration
|
|
34
53
|
*/
|
|
35
|
-
static
|
|
54
|
+
static normalizeElement(element: Element, styles: CSSParsedDeclaration): OriginalStyles;
|
|
36
55
|
/**
|
|
37
|
-
* Restore element styles after rendering
|
|
56
|
+
* Restore element styles after rendering.
|
|
38
57
|
*
|
|
39
58
|
* @param element - Element to restore
|
|
40
59
|
* @param originalStyles - Original styles to restore
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* Handles rendering effects including:
|
|
5
5
|
* - Opacity effects
|
|
6
6
|
* - Transform effects (matrix transformations)
|
|
7
|
-
* - Clip effects (clipping
|
|
7
|
+
* - Clip effects (overflow / border-radius clipping via Path[])
|
|
8
|
+
* - Clip-path effects (CSS clip-path shapes: inset, circle, ellipse, polygon, path)
|
|
8
9
|
*/
|
|
9
10
|
import { IElementEffect } from '../effects';
|
|
10
11
|
import { Path } from '../path';
|
|
@@ -25,6 +25,7 @@ export interface TextRendererDependencies {
|
|
|
25
25
|
scale: number;
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
+
export declare const hasCJKCharacters: (text: string) => boolean;
|
|
28
29
|
/**
|
|
29
30
|
* Text Renderer
|
|
30
31
|
*
|
|
@@ -36,8 +37,25 @@ export declare class TextRenderer {
|
|
|
36
37
|
private readonly options;
|
|
37
38
|
constructor(deps: TextRendererDependencies);
|
|
38
39
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
40
|
+
* Iterate grapheme clusters one-by-one, applying correct letter-spacing and
|
|
41
|
+
* per-script baseline for each character.
|
|
42
|
+
*
|
|
43
|
+
* Issue #73: When letter-spacing is non-zero, text must be rendered character by
|
|
44
|
+
* character. This helper centralises two fixes applied during that iteration:
|
|
45
|
+
* 1. Add `letterSpacing` to each character's advance width (was previously
|
|
46
|
+
* omitted, causing characters to render without any spacing).
|
|
47
|
+
* 2. Switch to the ideographic baseline for CJK glyphs so their vertical
|
|
48
|
+
* position matches how browsers lay them out in the DOM.
|
|
49
|
+
*
|
|
50
|
+
* The `renderFn` callback receives (letter, x, y) and performs the actual draw
|
|
51
|
+
* call (fillText or strokeText), allowing fill and stroke paths to share one
|
|
52
|
+
* implementation.
|
|
53
|
+
*/
|
|
54
|
+
private iterateLettersWithLetterSpacing;
|
|
55
|
+
/**
|
|
56
|
+
* Render text with letter-spacing applied (fill pass).
|
|
57
|
+
* When letterSpacing is 0 the whole string is drawn in one call; otherwise each
|
|
58
|
+
* grapheme is drawn individually so spacing and CJK baseline are applied correctly.
|
|
41
59
|
*/
|
|
42
60
|
renderTextWithLetterSpacing(text: TextBounds, letterSpacing: number, baseline: number): void;
|
|
43
61
|
/**
|
|
@@ -3,7 +3,8 @@ import { Path } from './path';
|
|
|
3
3
|
export declare const enum EffectType {
|
|
4
4
|
TRANSFORM = 0,
|
|
5
5
|
CLIP = 1,
|
|
6
|
-
OPACITY = 2
|
|
6
|
+
OPACITY = 2,
|
|
7
|
+
CLIP_PATH = 3
|
|
7
8
|
}
|
|
8
9
|
export declare const enum EffectTarget {
|
|
9
10
|
BACKGROUND_BORDERS = 2,
|
|
@@ -33,6 +34,19 @@ export declare class OpacityEffect implements IElementEffect {
|
|
|
33
34
|
readonly target: number;
|
|
34
35
|
constructor(opacity: number);
|
|
35
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Clips the element and all its descendants to an arbitrary canvas-drawn shape.
|
|
39
|
+
* The `applyClip` callback is responsible for calling beginPath, the shape
|
|
40
|
+
* operations, and ctx.clip() — giving each shape type full control over how
|
|
41
|
+
* the path is constructed (arc, ellipse, lineTo, Path2D, etc.).
|
|
42
|
+
*/
|
|
43
|
+
export declare class ClipPathEffect implements IElementEffect {
|
|
44
|
+
readonly applyClip: (ctx: CanvasRenderingContext2D) => void;
|
|
45
|
+
readonly type: EffectType;
|
|
46
|
+
readonly target: number;
|
|
47
|
+
constructor(applyClip: (ctx: CanvasRenderingContext2D) => void);
|
|
48
|
+
}
|
|
36
49
|
export declare const isTransformEffect: (effect: IElementEffect) => effect is TransformEffect;
|
|
37
50
|
export declare const isClipEffect: (effect: IElementEffect) => effect is ClipEffect;
|
|
38
51
|
export declare const isOpacityEffect: (effect: IElementEffect) => effect is OpacityEffect;
|
|
52
|
+
export declare const isClipPathEffect: (effect: IElementEffect) => effect is ClipPathEffect;
|