react-headless-mde 2.0.2 → 3.0.0-beta1

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.
Files changed (45) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +64 -23
  3. package/dist/cjs/index.js +338 -262
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/esm/commands/base-command.d.ts +24 -0
  6. package/dist/esm/commands/line/heading-level1.d.ts +4 -0
  7. package/dist/esm/commands/line/heading-level2.d.ts +4 -0
  8. package/dist/esm/commands/line/heading-level3.d.ts +4 -0
  9. package/dist/esm/commands/line/heading-level4.d.ts +4 -0
  10. package/dist/esm/commands/line/heading-level5.d.ts +4 -0
  11. package/dist/esm/commands/line/heading-level6.d.ts +4 -0
  12. package/dist/esm/commands/line/line-prefix-command.d.ts +7 -0
  13. package/dist/esm/commands/line/quote.d.ts +4 -0
  14. package/dist/esm/commands/list/checked-list.d.ts +4 -0
  15. package/dist/esm/commands/list/list-command.d.ts +5 -0
  16. package/dist/esm/commands/list/ordered-list.d.ts +4 -0
  17. package/dist/esm/commands/list/unordered-list.d.ts +4 -0
  18. package/dist/esm/commands/word/bold.d.ts +5 -0
  19. package/dist/esm/commands/word/code-block.d.ts +4 -0
  20. package/dist/esm/commands/word/code.d.ts +5 -0
  21. package/dist/esm/commands/word/italic.d.ts +5 -0
  22. package/dist/esm/commands/word/strikethrough.d.ts +5 -0
  23. package/dist/esm/commands/word/wrap-command.d.ts +11 -0
  24. package/dist/esm/commands/word-complex/image.d.ts +4 -0
  25. package/dist/esm/commands/word-complex/link.d.ts +4 -0
  26. package/dist/esm/controllers/textarea-controller.d.ts +15 -0
  27. package/dist/esm/hooks/use-markdown-editor.d.ts +12 -0
  28. package/dist/esm/index.d.ts +27 -0
  29. package/dist/esm/index.js +319 -243
  30. package/dist/esm/index.js.map +1 -1
  31. package/dist/esm/types/command.d.ts +10 -0
  32. package/dist/esm/types/text-controller.d.ts +18 -0
  33. package/dist/esm/utils/insert-text-to-selection.d.ts +8 -0
  34. package/dist/esm/utils/selection-and-text.d.ts +14 -0
  35. package/dist/index.d.ts +121 -66
  36. package/package.json +58 -46
  37. package/.eslintrc.js +0 -24
  38. package/.github/workflows/npm-publish.yml +0 -27
  39. package/.husky/pre-commit +0 -4
  40. package/.husky/pre-push +0 -4
  41. package/jest.config.js +0 -4
  42. package/lint-staged.config.js +0 -4
  43. package/prettier.config.js +0 -13
  44. package/rollup.config.js +0 -31
  45. package/vite.config.js +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/controllers/command-controller.ts","../../../src/utils/insert-text-to-selection.ts","../../../src/utils/selection-and-text.ts","../../../src/controllers/textarea-controller.ts","../../../src/hooks/use-markdown-editor.ts","../../../src/utils/list.ts","../../../src/utils/header.ts","../../../src/commands/word/bold.ts","../../../src/commands/word/italic.ts","../../../src/commands/word/strikethrough.ts","../../../src/commands/word-complex/link.ts","../../../src/commands/line/quote.ts","../../../src/commands/word/code.ts","../../../src/commands/word/code-block.ts","../../../src/commands/list/checked-list.ts","../../../src/commands/list/ordered-list.ts","../../../src/commands/list/unordered-list.ts","../../../src/commands/word-complex/image.ts","../../../src/commands/line/heading-level1.ts","../../../src/commands/line/heading-level2.ts","../../../src/commands/line/heading-level3.ts","../../../src/commands/line/heading-level4.ts","../../../src/commands/line/heading-level5.ts","../../../src/commands/line/heading-level6.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/utils/insert-text-to-selection.ts","../../src/utils/selection-and-text.ts","../../src/controllers/textarea-controller.ts","../../src/hooks/use-markdown-editor.ts","../../src/commands/base-command.ts","../../src/commands/word/wrap-command.ts","../../src/commands/line/line-prefix-command.ts","../../src/commands/list/list-command.ts","../../src/commands/word/bold.ts","../../src/commands/word/italic.ts","../../src/commands/word/strikethrough.ts","../../src/commands/word/code.ts","../../src/commands/word/code-block.ts","../../src/commands/word-complex/link.ts","../../src/commands/word-complex/image.ts","../../src/commands/line/quote.ts","../../src/commands/line/heading-level1.ts","../../src/commands/line/heading-level2.ts","../../src/commands/line/heading-level3.ts","../../src/commands/line/heading-level4.ts","../../src/commands/line/heading-level5.ts","../../src/commands/line/heading-level6.ts","../../src/commands/list/unordered-list.ts","../../src/commands/list/ordered-list.ts","../../src/commands/list/checked-list.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;AAAA;;;;;;AAMG;AACG,SAAU,iBAAiB,CAAC,KAA6C,EAAE,IAAY,EAAA;;;IAE3F,KAAK,CAAC,KAAK,EAAE;;AAGb,IAAA,IAAK,QAAgB,CAAC,SAAS,EAAE;QAC/B,MAAM,OAAO,GAAI,QAAgB,CAAC,SAAS,CAAC,WAAW,EAAE;AACzD,QAAA,OAAO,CAAC,IAAI,GAAG,IAAI;;AAGnB,QAAA,OAAO,CAAC,QAAQ,CAAC,KAAK,kBAAkB;QACxC,OAAO,CAAC,MAAM,EAAE;QAEhB;IACF;;AAGA,IAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC;IACjE,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,KAAK,GAAG,CAAA,EAAA,GAAA,KAAK,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC;QACvC,MAAM,GAAG,GAAG,CAAA,EAAA,GAAA,KAAK,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC;;AAEnC,QAAA,IAAI,OAAQ,KAAa,CAAC,YAAY,KAAK,UAAU,EAAE;AACpD,YAAA,KAAa,CAAC,YAAY,CAAC,IAAI,CAAC;QACnC;aAAO;AACL,YAAA,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE;gBACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;AAC9C,gBAAA,IAAI,IAAI,GAAG,KAAK,CAAC,UAAU;;gBAG3B,IAAI,CAAC,IAAI,EAAE;AACT,oBAAA,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAC7B;qBAAO;;oBAEL,IAAI,MAAM,GAAG,CAAC;oBACd,IAAI,SAAS,GAAG,IAAI;oBACpB,IAAI,OAAO,GAAG,IAAI;;AAGlB,oBAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE;AAEpC,oBAAA,OAAO,IAAI,KAAK,SAAS,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,EAAE;wBACvD,MAAM,UAAU,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC;;wBAG9C,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,GAAG,UAAU,EAAE;AACnD,4BAAA,KAAK,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;wBACpD;;wBAGA,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,UAAU,EAAE;AAC/C,4BAAA,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;wBAC9C;wBAEA,MAAM,IAAI,UAAU;AACpB,wBAAA,IAAI,GAAG,IAAI,CAAC,WAAW;oBACzB;;AAGA,oBAAA,IAAI,KAAK,KAAK,GAAG,EAAE;wBACjB,KAAK,CAAC,cAAc,EAAE;oBACxB;;;AAIA,oBAAA,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC5B;YACF;iBAAO;;AAEL,gBAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK;gBACzB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;YAC/D;QACF;;AAGA,QAAA,KAAK,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;;QAGjE,MAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC;QACzC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC;AACjC,QAAA,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IACxB;AACF;AAEA;;;;AAIG;AACH,SAAS,yBAAyB,CAAC,KAA6C,EAAA;AAC9E,IAAA,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE;AACjC,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,IAAI,gCAAgC;AAEpC,IAAA,IAAI,OAAO,gCAAgC,KAAK,WAAW,EAAE;QAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC;AACnD,QAAA,QAAQ,CAAC,KAAK,GAAG,GAAG;AACpB,QAAA,gCAAgC,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU;IAC1D;AAEA,IAAA,OAAO,gCAAgC;AACzC;;ACvGA;AACA;AACA;AACA,MAAM,eAAe,GAAG,CAAC,IAAa,KAAc,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AAEzG,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAE,QAAgB,KAAoB;AACjF,IAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;AAAE,QAAA,MAAM,KAAK,CAAC,kCAAkC,CAAC;;IAGtE,IAAI,KAAK,GAAG,CAAC;;AAEb,IAAA,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM;;AAGrB,IAAA,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAChC,KAAK,GAAG,CAAC;YACT;QACF;IACF;;AAGA,IAAA,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC3C,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5B,GAAG,GAAG,CAAC;YACP;QACF;IACF;AAEA,IAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;AACvB,CAAC;AAED;AACA;SACgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAa,EAAA;AAC7D,IAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,GAAG,EAAE;;QAE1D,OAAO,uBAAuB,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC;IACvD;AAEA,IAAA,OAAO,SAAS;AAClB;AAEA;SACgB,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAa,EAAA;AAC5D,IAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;;AAErB,QAAA,MAAM,EAAE,GAAG,EAAE,GAAG,uBAAuB,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC;QAE5D,OAAO;AACL,YAAA,KAAK,EAAE,GAAG;YACV,GAAG;SACJ;IACH;AAEA,IAAA,OAAO,SAAS;AAClB;AAEA;AACA;SACgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAa,EAAA;AAC7D,IAAA,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,SAAS;IAE9B,OAAO,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI;AAAE,QAAA,KAAK,EAAE;IACrD,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;AAAE,QAAA,GAAG,EAAE;AAErD,IAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;AACvB;AAEA;AACA;SACgB,iCAAiC,CAAC,IAAI,GAAG,EAAE,EAAE,aAAqB,EAAA;IAChF,IAAI,aAAa,KAAK,CAAC;AAAE,QAAA,OAAO,CAAC;;;;;IAOjC,IAAI,YAAY,GAAG,CAAC;IACpB,IAAI,aAAa,GAAG,IAAI;AACxB,IAAA,KAAK,IAAI,CAAC,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAChE,QAAA,QAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACxB,KAAK,EAAE;gBACL;YACF,KAAK,EAAE;AACL,gBAAA,YAAY,EAAE;gBACd,aAAa,GAAG,KAAK;gBACrB;AACF,YAAA;AACE,gBAAA,OAAO,YAAY;;IAEzB;AACA,IAAA,OAAO,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC;AACtD;AAEA;AACA;SACgB,gCAAgC,CAAC,IAAI,GAAG,EAAE,EAAE,aAAqB,EAAA;AAC/E,IAAA,IAAI,aAAa,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC;AAAE,QAAA,OAAO,CAAC;;;;;IAO/C,IAAI,YAAY,GAAG,CAAC;IACpB,IAAI,YAAY,GAAG,IAAI;AACvB,IAAA,KAAK,IAAI,CAAC,GAAG,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AACrE,QAAA,QAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACxB,YAAA,KAAK,EAAE;gBACL;YACF,KAAK,EAAE,EAAE;AACP,gBAAA,YAAY,EAAE;gBACd,YAAY,GAAG,KAAK;gBACpB;YACF;AACA,YAAA;AACE,gBAAA,OAAO,YAAY;;IAEzB;AAEA,IAAA,OAAO,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC;AACrD;AAEM,SAAU,eAAe,CAAC,WAAsB,EAAA;AACpD,IAAA,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC;AACvF;AAEM,SAAU,wBAAwB,CAAC,SAAoB,EAAE,UAAkB,EAAA;IAC/E,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,GAAG,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC;AAChG;AAEM,SAAU,uBAAuB,CAAC,SAAoB,EAAE,UAAkB,EAAA;IAC9E,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,CAAC;AAC5F;AAEA;AACM,SAAU,oBAAoB,CAClC,YAAoB,EACpB,YAAwC,EAAA;IAExC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;IAEtC,IAAI,eAAe,GAAG,CAAC;IACvB,MAAM,YAAY,GAAG;AAClB,SAAA,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AACnB,QAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;AACpC,YAAA,eAAe,IAAI,YAAY,CAAC,MAAM;YACtC,OAAO,YAAY,GAAG,IAAI;QAC5B;AAAO,aAAA,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE;YAC7C,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;AACjD,YAAA,eAAe,IAAI,eAAe,CAAC,MAAM;YACzC,OAAO,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI;QACzC;AACA,QAAA,MAAM,KAAK,CAAC,2DAA2D,CAAC;AAC1E,IAAA,CAAC;SACA,IAAI,CAAC,IAAI,CAAC;AAEb,IAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE;AAC1C;;;;;;;;;;;;;;;AClKA,SAAS,oBAAoB,CAAC,QAA6B,EAAA;IACzD,OAAO;AACL,QAAA,SAAS,EAAE;YACT,KAAK,EAAE,QAAQ,CAAC,cAAc;YAC9B,GAAG,EAAE,QAAQ,CAAC,YAAY;AAC3B,SAAA;QACD,IAAI,EAAE,QAAQ,CAAC,KAAK;KACrB;AACH;MAEa,kBAAkB,CAAA;AAG7B,IAAA,WAAA,CAAY,WAA2C,EAAA;AACrD,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW;IAChC;AAEA,IAAA,IAAY,QAAQ,GAAA;;QAClB,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO;QAC1C,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC;QACnC;AAEA,QAAA,OAAO,QAAQ;IACjB;IAEA,kBAAkB,GAAA;AAChB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE;;QAEpC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;YACzC,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,SAAS,EAAE,YAAY,CAAC,SAAS;AAClC,SAAA,CAAC;AACF,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;IAC7C;AAEA,IAAA,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,EAAkB,EAAA;AACzC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;QAE9B,QAAQ,CAAC,KAAK,EAAE;AAChB,QAAA,QAAQ,CAAC,cAAc,GAAG,KAAK;AAC/B,QAAA,QAAQ,CAAC,YAAY,GAAG,GAAG;AAC3B,QAAA,OAAO,oBAAoB,CAAC,QAAQ,CAAC;IACvC;AAEA,IAAA,gBAAgB,CAAC,IAAY,EAAA;AAC3B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAE9B,QAAA,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC;AACjC,QAAA,OAAO,oBAAoB,CAAC,QAAQ,CAAC;IACvC;IAEA,WAAW,CAAC,YAAoB,EAAE,aAAqB,EAAA;AACrD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;QAC9B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;QAEvD,IAAI,UAAU,KAAK,EAAE;AAAE,YAAA,OAAO,oBAAoB,CAAC,QAAQ,CAAC;AAE5D,QAAA,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;AAC/E,QAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;AAEpC,QAAA,OAAO,oBAAoB,CAAC,QAAQ,CAAC;IACvC;IAEA,aAAa,CAAC,MAAc,EAAE,MAAc,EAAA;AAC1C,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE;;AAG9B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAA,EAAG,MAAM,CAAA,EAAG,eAAe,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA,CAAE,CAAC;;QAGpF,OAAO,IAAI,CAAC,YAAY,CAAC;AACvB,YAAA,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM;YAC5E,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM;AAC1C,SAAA,CAAC;IACJ;IAEA,eAAe,CAAC,YAAoB,EAAE,YAAoB,EAAA;AACxD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE;AACpC,QAAA,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC;QAE1C,IAAI,CAAC,YAAY,CAAC;AAChB,YAAA,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,KAAK,GAAG,YAAY;AAClD,YAAA,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,GAAG,YAAY;AAC/C,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAE3B,OAAO,IAAI,CAAC,YAAY,CAAC;AACvB,YAAA,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,KAAK,GAAG,YAAY;AAClD,YAAA,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,GAAG,YAAY;AAC/C,SAAA,CAAC;IACJ;IAEA,QAAQ,GAAA;AACN,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAE9B,QAAA,OAAO,oBAAoB,CAAC,QAAQ,CAAC;IACvC;IAEA,kBAAkB,GAAA;AAChB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;QAE9B,QAAQ,CAAC,KAAK,EAAE;AAChB,QAAA,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM;AACvE,QAAA,OAAO,oBAAoB,CAAC,QAAQ,CAAC;IACvC;AACD;;AC1FK,SAAU,yBAAyB,CACvC,OAA4C,EAAA;AAE5C,IAAA,MAAM,WAAW,GAAG,MAAM,CAAsB,IAAI,CAAC;;IAGrD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;IAChD,SAAS,CAAC,MAAK;AACb,QAAA,aAAa,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU;AAC5C,IAAA,CAAC,CAAC;;IAGF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,GAAG,EAAgC,CAAC;;;AAIpE,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;IAEtE,OAAO,OAAO,CAAC,MAAK;AAClB,QAAA,MAAM,cAAc,GAAG,IAAI,kBAAkB,CAAC,WAAW,CAAC;AAC1D,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;QAEtC,MAAM,SAAS,GAAgD,EAAE;QAEjE,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC3C,IAAI,IAAI,KAAK,EAAE;gBAAE;AACjB,YAAA,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAiB,KAAI;;gBACtC,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;AAEhD,gBAAA,IAAI,YAAY,KAAK,SAAS,EAAE;AAC9B,oBAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAA,CAAE,CAAC;gBACvE;gBAEA,IAAI,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;gBAElC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,WAAW,KAAK,YAAY,EAAE;AACnE,oBAAA,QAAQ,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC;AAC3C,oBAAA,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC/B;AAEA,gBAAA,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,CAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,OAAO,CAAC,MAAK,IAAI,EAAE;AAC1E,oBAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;gBACxB;qBAAO;AACL,oBAAA,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC;gBACtB;AACF,YAAA,CAAC;QACH;QAEA,OAAO;AACL,YAAA,GAAG,EAAE,WAAW;YAChB,cAAc;AACd,YAAA,QAAQ,EAAE,SAAgC;SAC3C;AACH,IAAA,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;AACpB;;AC1EA;;;;;;;;;;;;;;AAcG;MACmB,WAAW,CAAA;AAK/B,IAAA,WAAA,CAA+B,cAA8B,EAAA;QAA9B,IAAA,CAAA,cAAc,GAAd,cAAc;IAAmB;AAOjE;;ACpBD;AACM,MAAgB,WAAY,SAAQ,WAAW,CAAA;IAInD,EAAE,GAAA;;AAEA,QAAA,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE;AACxC,QAAA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IAC7D;IAEA,UAAU,GAAA;AACR,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE;AAE1C,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;IACvF;IAEA,IAAI,GAAA;AACF,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE;AAC1C,QAAA,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC;QAE3C,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;QAEjD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE;;AAExC,YAAA,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3E;QACF;;;QAIA,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClG,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC;AAErE,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YAC/B,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM;AACrD,YAAA,GAAG,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG;AACjC,SAAA,CAAC;IACJ;IAEQ,qBAAqB,GAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;QAE5C,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,YAAA,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC;SACnC;IACH;AAEQ,IAAA,gBAAgB,CAAC,YAAoB,EAAA;AAC3C,QAAA,QACE,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;AAC9D,YAAA,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YACpC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;IAEtC;AAEQ,IAAA,iBAAiB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAa,EAAA;AACtD,QAAA,MAAM,YAAY,GAChB,wBAAwB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM;AACjF,YAAA,uBAAuB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM;AAElF,QAAA,IAAI,CAAC,YAAY;AAAE,YAAA,OAAO,KAAK;;;AAI/B,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACxE,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAEjE,OAAO,iBAAiB,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,gBAAgB,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACzG;AACD;;AC7ED;AACA;AACA;AACM,MAAgB,iBAAkB,SAAQ,WAAW,CAAA;IAGzD,EAAE,GAAA;QACA,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;AAC5C,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAExE,QAAA,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC;AAC5C,QAAA,MAAM,EAAE,YAAY,EAAE,GAAG,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,YAAY,CAAC;;;QAIjE,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;AAEzE,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YAC/B,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,YAAY,CAAC,MAAM,GAAG,YAAY;AAChE,YAAA,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG;AAC1B,SAAA,CAAC;IACJ;IAEA,UAAU,GAAA;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;QAC5C,MAAM,YAAY,GAAG,eAAe,CAAC;YACnC,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,YAAA,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC;AACnC,SAAA,CAAC;QAEF,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7E;IAEA,IAAI,GAAA;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;AAC5C,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAExE,QAAA,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM;aACxC,KAAK,CAAC,IAAI;AACV,aAAA,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;aAClF,IAAI,CAAC,IAAI,CAAC;AAEb,QAAA,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,YAAY,CAAC;;AAGlD,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;AAC/B,YAAA,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK;YAC7B,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM;AAClD,SAAA,CAAC;IACJ;AACD;;AC7CD;AACA;AACA;AACM,MAAgB,WAAY,SAAQ,WAAW,CAAA;IAGnD,EAAE,GAAA;QACA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;AAC7C,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAEzE,QAAA,MAAM,iBAAiB,GAAG,iCAAiC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QAChG,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;AAEnD,QAAA,MAAM,gBAAgB,GAAG,gCAAgC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;QAC5F,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;AAEjD,QAAA,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC;QAC5C,MAAM,EAAE,YAAY,EAAE,GAAG,oBAAoB,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAE7G,QAAA,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAA,EAAG,YAAY,CAAA,EAAG,YAAY,CAAA,EAAG,WAAW,CAAA,CAAE,CAAC;;;QAIpF,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM;QACvF,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,iBAAiB;AAE7D,QAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YAC/B,KAAK,EAAE,UAAU,GAAG,YAAY;AAChC,YAAA,GAAG,EAAE,UAAU,GAAG,YAAY,CAAC,MAAM;AACtC,SAAA,CAAC;IACJ;AACD;;ACtCK,MAAO,WAAY,SAAQ,WAAW,CAAA;AAA5C,IAAA,WAAA,GAAA;;QACY,IAAA,CAAA,MAAM,GAAG,IAAI;QACb,IAAA,CAAA,MAAM,GAAG,IAAI;IACzB;AAAC;;ACHK,MAAO,aAAc,SAAQ,WAAW,CAAA;AAA9C,IAAA,WAAA,GAAA;;QACY,IAAA,CAAA,MAAM,GAAG,GAAG;QACZ,IAAA,CAAA,MAAM,GAAG,GAAG;IACxB;AAAC;;ACHK,MAAO,oBAAqB,SAAQ,WAAW,CAAA;AAArD,IAAA,WAAA,GAAA;;QACY,IAAA,CAAA,MAAM,GAAG,IAAI;QACb,IAAA,CAAA,MAAM,GAAG,IAAI;IACzB;AAAC;;ACHK,MAAO,WAAY,SAAQ,WAAW,CAAA;AAA5C,IAAA,WAAA,GAAA;;QACY,IAAA,CAAA,MAAM,GAAG,GAAG;QACZ,IAAA,CAAA,MAAM,GAAG,GAAG;IACxB;AAAC;;ACEK,MAAO,gBAAiB,SAAQ,WAAW,CAAA;IAC/C,EAAE,GAAA;AACA,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc;;AAGnC,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE;AAC3C,QAAA,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC;;QAG5C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AAChC,YAAA,OAAO,CAAC,gBAAgB,CAAC,KAAK,YAAY,CAAA,EAAA,CAAI,CAAC;YAE/C,OAAO,CAAC,YAAY,CAAC;AACnB,gBAAA,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC;gBACjC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM;AACtD,aAAA,CAAC;YACF;QACF;AAEA,QAAA,MAAM,iBAAiB,GAAG,iCAAiC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QAChG,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;AAEnD,QAAA,MAAM,gBAAgB,GAAG,gCAAgC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;QAC5F,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAEjD,OAAO,CAAC,gBAAgB,CAAC,CAAA,EAAG,YAAY,CAAA,QAAA,EAAW,YAAY,CAAA,QAAA,EAAW,WAAW,CAAA,CAAE,CAAC;QAExF,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,iBAAiB,GAAG,CAAC;QAErE,OAAO,CAAC,YAAY,CAAC;AACnB,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,GAAG,EAAE,cAAc,GAAG,YAAY,CAAC,MAAM;AAC1C,SAAA,CAAC;IACJ;AACD;;ACtCK,MAAO,WAAY,SAAQ,WAAW,CAAA;IAC1C,EAAE,GAAA;AACA,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc;;AAGnC,QAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,EAAE;;AAGvD,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA,CAAA,EAAI,eAAe,CAAC,kBAAkB,CAAC,CAAA,MAAA,CAAQ,CAAC;;QAGxF,OAAO,CAAC,YAAY,CAAC;AACnB,YAAA,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;AAC/B,YAAA,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;AAC9B,SAAA,CAAC;IACJ;AACD;;AChBK,MAAO,YAAa,SAAQ,WAAW,CAAA;IAC3C,EAAE,GAAA;AACA,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc;;AAGnC,QAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,EAAE;;QAGvD,MAAM,aAAa,GAAG,eAAe,CAAC,kBAAkB,CAAC,IAAI,oCAAoC;AAEjG,QAAA,OAAO,CAAC,gBAAgB,CAAC,OAAO,aAAa,CAAA,CAAA,CAAG,CAAC;;QAGjD,OAAO,CAAC,YAAY,CAAC;AACnB,YAAA,KAAK,EAAE,kBAAkB,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC;YAC7C,GAAG,EAAE,kBAAkB,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM;AACnE,SAAA,CAAC;IACJ;AACD;;ACnBK,MAAO,YAAa,SAAQ,iBAAiB,CAAA;AAAnD,IAAA,WAAA,GAAA;;QACY,IAAA,CAAA,MAAM,GAAG,IAAI;IACzB;AAAC;;ACFK,MAAO,oBAAqB,SAAQ,iBAAiB,CAAA;AAA3D,IAAA,WAAA,GAAA;;QACY,IAAA,CAAA,MAAM,GAAG,IAAI;IACzB;AAAC;;ACFK,MAAO,oBAAqB,SAAQ,iBAAiB,CAAA;AAA3D,IAAA,WAAA,GAAA;;QACY,IAAA,CAAA,MAAM,GAAG,KAAK;IAC1B;AAAC;;ACFK,MAAO,oBAAqB,SAAQ,iBAAiB,CAAA;AAA3D,IAAA,WAAA,GAAA;;QACY,IAAA,CAAA,MAAM,GAAG,MAAM;IAC3B;AAAC;;ACFK,MAAO,oBAAqB,SAAQ,iBAAiB,CAAA;AAA3D,IAAA,WAAA,GAAA;;QACY,IAAA,CAAA,MAAM,GAAG,OAAO;IAC5B;AAAC;;ACFK,MAAO,oBAAqB,SAAQ,iBAAiB,CAAA;AAA3D,IAAA,WAAA,GAAA;;QACY,IAAA,CAAA,MAAM,GAAG,QAAQ;IAC7B;AAAC;;ACFK,MAAO,oBAAqB,SAAQ,iBAAiB,CAAA;AAA3D,IAAA,WAAA,GAAA;;QACY,IAAA,CAAA,MAAM,GAAG,SAAS;IAC9B;AAAC;;ACFK,MAAO,oBAAqB,SAAQ,WAAW,CAAA;IACzC,aAAa,GAAA;AACrB,QAAA,OAAO,IAAI;IACb;AACD;;ACJK,MAAO,kBAAmB,SAAQ,WAAW,CAAA;IACvC,aAAa,CAAC,KAAa,EAAE,KAAa,EAAA;AAClD,QAAA,OAAO,CAAA,EAAG,KAAK,GAAG,CAAC,IAAI;IACzB;AACD;;ACJK,MAAO,kBAAmB,SAAQ,WAAW,CAAA;IACvC,aAAa,GAAA;AACrB,QAAA,OAAO,QAAQ;IACjB;AACD;;"}
@@ -0,0 +1,10 @@
1
+ import { type BaseCommand } from '../commands/base-command';
2
+ import { type TextController } from './text-controller';
3
+ export type CommandConstructor<Context = unknown> = new (textController: TextController) => BaseCommand<Context>;
4
+ export type CommandClassMap = Record<string, CommandConstructor>;
5
+ type ContextOf<T extends CommandConstructor> = InstanceType<T> extends BaseCommand<infer Context> ? Context : never;
6
+ export type CommandExecutor<T extends CommandConstructor> = [ContextOf<T>] extends [void] ? () => void : (context: ContextOf<T>) => void;
7
+ export type CommandExecutors<M extends CommandClassMap> = {
8
+ [K in keyof M]: CommandExecutor<M[K]>;
9
+ };
10
+ export {};
@@ -0,0 +1,18 @@
1
+ export interface SelectionRange {
2
+ start: number;
3
+ end: number;
4
+ }
5
+ export interface TextState {
6
+ text: string;
7
+ selection: SelectionRange;
8
+ }
9
+ export interface TextController {
10
+ setSelection: (selection: SelectionRange) => TextState;
11
+ selectWordByCursor: () => TextState;
12
+ replaceSelection: (text: string) => TextState;
13
+ wrapSelection: (prefix: string, suffix: string) => TextState;
14
+ unwrapSelection: (prefixLength: number, suffixLength: number) => TextState;
15
+ replaceText: (text: string, newText: string) => TextState;
16
+ moveCursorToTheEnd: () => TextState;
17
+ getState: () => TextState;
18
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Inserts the given text at the cursor. If the element contains a selection, the selection
3
+ * will be replaced by the text.
4
+ * The MIT License
5
+ * Copyright (c) 2018 Dmitriy Kubyshkin
6
+ * Copied from https://github.com/grassator/insert-text-at-cursor
7
+ */
8
+ export declare function insertToSelection(input: HTMLTextAreaElement | HTMLInputElement, text: string): void;
@@ -0,0 +1,14 @@
1
+ import { type SelectionRange, type TextState } from '../types/text-controller';
2
+ export type AlterLineFunction = (line: string, index: number) => string;
3
+ export declare function getWordSelection({ text, selection }: TextState): SelectionRange;
4
+ export declare function selectAfterWord({ text, selection }: TextState): SelectionRange;
5
+ export declare function getLineSelection({ text, selection }: TextState): SelectionRange;
6
+ export declare function getBreaksNeededForEmptyLineBefore(text: string | undefined, startPosition: number): number;
7
+ export declare function getBreaksNeededForEmptyLineAfter(text: string | undefined, startPosition: number): number;
8
+ export declare function getSelectedText(textSection: TextState): string;
9
+ export declare function getStringBeforeSelection(textState: TextState, characters: number): string;
10
+ export declare function getStringAfterSelection(textState: TextState, characters: number): string;
11
+ export declare function insertBeforeEachLine(selectedText: string, insertBefore: string | AlterLineFunction): {
12
+ modifiedText: string;
13
+ insertionLength: number;
14
+ };
package/dist/index.d.ts CHANGED
@@ -19,29 +19,47 @@ interface TextController {
19
19
  getState: () => TextState;
20
20
  }
21
21
 
22
- interface ICommand {
23
- do: (textCtrl: TextController) => void;
24
- shouldUndo?: (textCtrl: TextController) => boolean;
25
- undo?: (textCtrl: TextController) => void;
22
+ /**
23
+ * Base class for all commands.
24
+ *
25
+ * `Context` is the type of the value that must be passed when the command is executed.
26
+ * Commands without a context extend `BaseCommand` (Context = void) and are executed
27
+ * without arguments; commands with a context extend `BaseCommand<Context>` and require
28
+ * an argument of that type:
29
+ *
30
+ * class AttachmentCommand extends BaseCommand<Promise<string>> {
31
+ * async do(upload: Promise<string>) {
32
+ * const url = await upload;
33
+ * this.textController.replaceSelection(`![](${url})`);
34
+ * }
35
+ * }
36
+ */
37
+ declare abstract class BaseCommand<Context = void> {
38
+ protected readonly textController: TextController;
39
+ protected readonly __contextType?: Context;
40
+ constructor(textController: TextController);
41
+ abstract do(context: Context): void;
42
+ shouldUndo?(context: Context): boolean;
43
+ undo?(context: Context): void;
26
44
  }
27
- type CommandMap<CommandName extends string> = Record<CommandName, ICommand>;
28
45
 
29
- declare class CommandController<CommandName extends string> {
30
- private readonly textController;
31
- private readonly commandMap;
32
- constructor(textController: TextController, commandMap: CommandMap<CommandName>);
33
- executeCommand(commandName: CommandName): void;
34
- }
46
+ type CommandConstructor<Context = unknown> = new (textController: TextController) => BaseCommand<Context>;
47
+ type CommandClassMap = Record<string, CommandConstructor>;
48
+ type ContextOf<T extends CommandConstructor> = InstanceType<T> extends BaseCommand<infer Context> ? Context : never;
49
+ type CommandExecutor<T extends CommandConstructor> = [ContextOf<T>] extends [void] ? () => void : (context: ContextOf<T>) => void;
50
+ type CommandExecutors<M extends CommandClassMap> = {
51
+ [K in keyof M]: CommandExecutor<M[K]>;
52
+ };
35
53
 
36
- interface UseTextAreaMarkdownEditorResult<CommandName extends string> {
54
+ interface UseTextAreaMarkdownEditorOptions<M extends CommandClassMap> {
55
+ commandMap: M;
56
+ }
57
+ interface UseTextAreaMarkdownEditorResult<M extends CommandClassMap> {
37
58
  ref: React.RefObject<HTMLTextAreaElement>;
38
59
  textController: TextController;
39
- commandController: CommandController<CommandName>;
60
+ commands: CommandExecutors<M>;
40
61
  }
41
- interface UseTextAreaMarkdownEditorOptions<CommandName extends string> {
42
- commandMap: CommandMap<CommandName>;
43
- }
44
- declare function useTextAreaMarkdownEditor<CommandName extends string>(options: UseTextAreaMarkdownEditorOptions<CommandName>): UseTextAreaMarkdownEditorResult<CommandName>;
62
+ declare function useTextAreaMarkdownEditor<M extends CommandClassMap>(options: UseTextAreaMarkdownEditorOptions<M>): UseTextAreaMarkdownEditorResult<M>;
45
63
 
46
64
  declare class TextareaController implements TextController {
47
65
  textAreaRef: RefObject<HTMLTextAreaElement>;
@@ -58,19 +76,9 @@ declare class TextareaController implements TextController {
58
76
  }
59
77
 
60
78
  type AlterLineFunction = (line: string, index: number) => string;
61
- declare function makeList(state0: TextState, textController: TextController, insertBefore: string | AlterLineFunction): void;
62
-
63
- type list_d_AlterLineFunction = AlterLineFunction;
64
- declare const list_d_makeList: typeof makeList;
65
- declare namespace list_d {
66
- export {
67
- list_d_AlterLineFunction as AlterLineFunction,
68
- list_d_makeList as makeList,
69
- };
70
- }
71
-
72
79
  declare function getWordSelection({ text, selection }: TextState): SelectionRange;
73
80
  declare function selectAfterWord({ text, selection }: TextState): SelectionRange;
81
+ declare function getLineSelection({ text, selection }: TextState): SelectionRange;
74
82
  declare function getBreaksNeededForEmptyLineBefore(text: string | undefined, startPosition: number): number;
75
83
  declare function getBreaksNeededForEmptyLineAfter(text: string | undefined, startPosition: number): number;
76
84
  declare function getSelectedText(textSection: TextState): string;
@@ -81,68 +89,115 @@ declare function insertBeforeEachLine(selectedText: string, insertBefore: string
81
89
  insertionLength: number;
82
90
  };
83
91
 
84
- declare const selectionAndText_d_getWordSelection: typeof getWordSelection;
85
- declare const selectionAndText_d_selectAfterWord: typeof selectAfterWord;
86
- declare const selectionAndText_d_getBreaksNeededForEmptyLineBefore: typeof getBreaksNeededForEmptyLineBefore;
92
+ type selectionAndText_d_AlterLineFunction = AlterLineFunction;
87
93
  declare const selectionAndText_d_getBreaksNeededForEmptyLineAfter: typeof getBreaksNeededForEmptyLineAfter;
94
+ declare const selectionAndText_d_getBreaksNeededForEmptyLineBefore: typeof getBreaksNeededForEmptyLineBefore;
95
+ declare const selectionAndText_d_getLineSelection: typeof getLineSelection;
88
96
  declare const selectionAndText_d_getSelectedText: typeof getSelectedText;
89
- declare const selectionAndText_d_getStringBeforeSelection: typeof getStringBeforeSelection;
90
97
  declare const selectionAndText_d_getStringAfterSelection: typeof getStringAfterSelection;
98
+ declare const selectionAndText_d_getStringBeforeSelection: typeof getStringBeforeSelection;
99
+ declare const selectionAndText_d_getWordSelection: typeof getWordSelection;
91
100
  declare const selectionAndText_d_insertBeforeEachLine: typeof insertBeforeEachLine;
101
+ declare const selectionAndText_d_selectAfterWord: typeof selectAfterWord;
92
102
  declare namespace selectionAndText_d {
93
- export {
94
- selectionAndText_d_getWordSelection as getWordSelection,
95
- selectionAndText_d_selectAfterWord as selectAfterWord,
96
- selectionAndText_d_getBreaksNeededForEmptyLineBefore as getBreaksNeededForEmptyLineBefore,
97
- selectionAndText_d_getBreaksNeededForEmptyLineAfter as getBreaksNeededForEmptyLineAfter,
98
- selectionAndText_d_getSelectedText as getSelectedText,
99
- selectionAndText_d_getStringBeforeSelection as getStringBeforeSelection,
100
- selectionAndText_d_getStringAfterSelection as getStringAfterSelection,
101
- selectionAndText_d_insertBeforeEachLine as insertBeforeEachLine,
102
- };
103
+ export { selectionAndText_d_getBreaksNeededForEmptyLineAfter as getBreaksNeededForEmptyLineAfter, selectionAndText_d_getBreaksNeededForEmptyLineBefore as getBreaksNeededForEmptyLineBefore, selectionAndText_d_getLineSelection as getLineSelection, selectionAndText_d_getSelectedText as getSelectedText, selectionAndText_d_getStringAfterSelection as getStringAfterSelection, selectionAndText_d_getStringBeforeSelection as getStringBeforeSelection, selectionAndText_d_getWordSelection as getWordSelection, selectionAndText_d_insertBeforeEachLine as insertBeforeEachLine, selectionAndText_d_selectAfterWord as selectAfterWord };
104
+ export type { selectionAndText_d_AlterLineFunction as AlterLineFunction };
103
105
  }
104
106
 
105
- declare function setHeader(initialState: TextState, api: TextController, prefix: string): void;
107
+ declare abstract class WrapCommand extends BaseCommand {
108
+ protected abstract prefix: string;
109
+ protected abstract suffix: string;
110
+ do(): void;
111
+ shouldUndo(): boolean;
112
+ undo(): void;
113
+ private getWordSelectionState;
114
+ private hasMarkersInside;
115
+ private hasMarkersOutside;
116
+ }
106
117
 
107
- declare const header_d_setHeader: typeof setHeader;
108
- declare namespace header_d {
109
- export {
110
- header_d_setHeader as setHeader,
111
- };
118
+ declare abstract class LinePrefixCommand extends BaseCommand {
119
+ protected abstract prefix: string;
120
+ do(): void;
121
+ shouldUndo(): boolean;
122
+ undo(): void;
112
123
  }
113
124
 
114
- declare const boldCommand: ICommand;
125
+ declare abstract class ListCommand extends BaseCommand {
126
+ protected abstract getLinePrefix(line: string, index: number): string;
127
+ do(): void;
128
+ }
115
129
 
116
- declare const italicCommand: ICommand;
130
+ declare class BoldCommand extends WrapCommand {
131
+ protected prefix: string;
132
+ protected suffix: string;
133
+ }
117
134
 
118
- declare const strikethroughCommand: ICommand;
135
+ declare class ItalicCommand extends WrapCommand {
136
+ protected prefix: string;
137
+ protected suffix: string;
138
+ }
119
139
 
120
- declare const linkCommand: ICommand;
140
+ declare class StrikethroughCommand extends WrapCommand {
141
+ protected prefix: string;
142
+ protected suffix: string;
143
+ }
121
144
 
122
- declare const quoteCommand: ICommand;
145
+ declare class CodeCommand extends WrapCommand {
146
+ protected prefix: string;
147
+ protected suffix: string;
148
+ }
123
149
 
124
- declare const codeCommand: ICommand;
150
+ declare class CodeBlockCommand extends BaseCommand {
151
+ do(): void;
152
+ }
125
153
 
126
- declare const codeBlockCommand: ICommand;
154
+ declare class LinkCommand extends BaseCommand {
155
+ do(): void;
156
+ }
127
157
 
128
- declare const checkedListCommand: ICommand;
158
+ declare class ImageCommand extends BaseCommand {
159
+ do(): void;
160
+ }
129
161
 
130
- declare const orderedListCommand: ICommand;
162
+ declare class QuoteCommand extends LinePrefixCommand {
163
+ protected prefix: string;
164
+ }
131
165
 
132
- declare const unorderedListCommand: ICommand;
166
+ declare class HeadingLevel1Command extends LinePrefixCommand {
167
+ protected prefix: string;
168
+ }
133
169
 
134
- declare const imageCommand: ICommand;
170
+ declare class HeadingLevel2Command extends LinePrefixCommand {
171
+ protected prefix: string;
172
+ }
135
173
 
136
- declare const headingLevel1Command: ICommand;
174
+ declare class HeadingLevel3Command extends LinePrefixCommand {
175
+ protected prefix: string;
176
+ }
177
+
178
+ declare class HeadingLevel4Command extends LinePrefixCommand {
179
+ protected prefix: string;
180
+ }
137
181
 
138
- declare const headingLevel2Command: ICommand;
182
+ declare class HeadingLevel5Command extends LinePrefixCommand {
183
+ protected prefix: string;
184
+ }
139
185
 
140
- declare const headingLevel3Command: ICommand;
186
+ declare class HeadingLevel6Command extends LinePrefixCommand {
187
+ protected prefix: string;
188
+ }
141
189
 
142
- declare const headingLevel4Command: ICommand;
190
+ declare class UnorderedListCommand extends ListCommand {
191
+ protected getLinePrefix(): string;
192
+ }
143
193
 
144
- declare const headingLevel5Command: ICommand;
194
+ declare class OrderedListCommand extends ListCommand {
195
+ protected getLinePrefix(_line: string, index: number): string;
196
+ }
145
197
 
146
- declare const headingLevel6Command: ICommand;
198
+ declare class CheckedListCommand extends ListCommand {
199
+ protected getLinePrefix(): string;
200
+ }
147
201
 
148
- export { TextController, TextareaController, boldCommand, checkedListCommand, codeBlockCommand, codeCommand, header_d as headerHelpers, headingLevel1Command, headingLevel2Command, headingLevel3Command, headingLevel4Command, headingLevel5Command, headingLevel6Command, imageCommand, italicCommand, linkCommand, list_d as listHelpers, orderedListCommand, quoteCommand, strikethroughCommand, selectionAndText_d as textHelpers, unorderedListCommand, useTextAreaMarkdownEditor };
202
+ export { BaseCommand, BoldCommand, CheckedListCommand, CodeBlockCommand, CodeCommand, HeadingLevel1Command, HeadingLevel2Command, HeadingLevel3Command, HeadingLevel4Command, HeadingLevel5Command, HeadingLevel6Command, ImageCommand, ItalicCommand, LinePrefixCommand, LinkCommand, ListCommand, OrderedListCommand, QuoteCommand, StrikethroughCommand, TextareaController, UnorderedListCommand, WrapCommand, selectionAndText_d as textHelpers, useTextAreaMarkdownEditor };
203
+ export type { CommandClassMap, CommandConstructor, CommandExecutor, CommandExecutors, TextController };
package/package.json CHANGED
@@ -1,18 +1,32 @@
1
1
  {
2
2
  "name": "react-headless-mde",
3
- "version": "2.0.2",
3
+ "version": "3.0.0-beta1",
4
4
  "description": "React Headless Markdown Editor",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
7
7
  "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/esm/index.js",
12
+ "require": "./dist/cjs/index.js"
13
+ }
14
+ },
15
+ "sideEffects": false,
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "peerDependencies": {
20
+ "react": ">=16.8.0"
21
+ },
8
22
  "scripts": {
9
23
  "test": "jest",
10
24
  "dev": "vite",
11
- "lint": "eslint",
25
+ "lint": "eslint src demo --ext .ts,.tsx",
12
26
  "tsc": "tsc",
13
27
  "build": "rollup -c",
14
28
  "check-types": "tsc --noEmit",
15
- "prepare": "husky install"
29
+ "prepare": "husky || true"
16
30
  },
17
31
  "repository": {
18
32
  "type": "git",
@@ -27,54 +41,52 @@
27
41
  "markdown-editor",
28
42
  "headless"
29
43
  ],
30
- "author": "Andre Pena",
44
+ "author": "Vitaliy Komarov",
31
45
  "license": "MIT",
32
46
  "bugs": {
33
47
  "url": "https://github.com/webbrother/react-headless-mde.git/issues"
34
48
  },
35
49
  "devDependencies": {
36
- "@chakra-ui/react": "^1.8.8",
37
- "@fortawesome/fontawesome-svg-core": "^6.1.1",
38
- "@fortawesome/free-solid-svg-icons": "^6.1.1",
39
- "@fortawesome/react-fontawesome": "^0.1.18",
40
- "@rollup/plugin-commonjs": "^22.0.0",
41
- "@rollup/plugin-node-resolve": "^13.2.1",
42
- "@rollup/plugin-typescript": "^8.3.2",
43
- "@types/jest": "^24.0.23",
44
- "@types/range-parser": "^1.2.2",
45
- "@types/react": "17.0.4",
46
- "@types/react-dom": "17.0.3",
47
- "@types/showdown": "^1.7.2",
48
- "@typescript-eslint/eslint-plugin": "5.54.1",
49
- "@vitejs/plugin-react": "^1.3.0",
50
- "add": "^2.0.6",
51
- "chakra-ui-markdown-renderer": "^4.1.0",
52
- "cross-env": "^6.0.3",
53
- "eslint": "8.35.0",
54
- "eslint-config-prettier": "8.7.0",
55
- "eslint-config-standard-with-typescript": "34.0.0",
56
- "eslint-plugin-import": "^2.27.5",
57
- "eslint-plugin-n": "15.6.1",
58
- "eslint-plugin-prettier": "4.2.1",
59
- "eslint-plugin-promise": "6.1.1",
60
- "eslint-plugin-react": "7.32.2",
61
- "eslint-plugin-simple-import-sort": "^10.0.0",
62
- "framer-motion": "^6",
63
- "husky": "^8.0.0",
64
- "jest": "^24.9.0",
65
- "lint-staged": "13.1.2",
66
- "prettier": "2.8.4",
67
- "pretty-quick": "3.1.3",
68
- "react": "^17.0.2",
69
- "react-dom": "^17.0.2",
70
- "react-markdown": "^8.0.5",
71
- "rollup": "^2.71.1",
72
- "rollup-plugin-dts": "^4.2.1",
73
- "showdown": "^1.8.6",
74
- "ts-node": "^8.5.4",
75
- "tslib": "^2.4.0",
76
- "typescript": "4.9.5",
77
- "vite": "^2.9.5"
50
+ "@chakra-ui/react": "^2.10.10",
51
+ "@emotion/react": "^11.14.0",
52
+ "@emotion/styled": "^11.14.1",
53
+ "@fortawesome/fontawesome-svg-core": "^6.7.2",
54
+ "@fortawesome/free-solid-svg-icons": "^6.7.2",
55
+ "@fortawesome/react-fontawesome": "^3.5.0",
56
+ "@rollup/plugin-commonjs": "^29.0.3",
57
+ "@rollup/plugin-node-resolve": "^16.0.3",
58
+ "@rollup/plugin-typescript": "^12.3.0",
59
+ "@types/jest": "^30.0.0",
60
+ "@types/node": "^22.20.2",
61
+ "@types/react": "^18.3.31",
62
+ "@types/react-dom": "^18.3.7",
63
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
64
+ "@typescript-eslint/parser": "^6.21.0",
65
+ "@vitejs/plugin-react": "^6.1.1",
66
+ "eslint": "^8.57.1",
67
+ "eslint-config-prettier": "^10.1.8",
68
+ "eslint-config-standard-with-typescript": "^43.0.1",
69
+ "eslint-plugin-import": "^2.32.0",
70
+ "eslint-plugin-n": "^16.6.2",
71
+ "eslint-plugin-prettier": "^5.5.6",
72
+ "eslint-plugin-promise": "^6.6.0",
73
+ "eslint-plugin-react": "^7.37.5",
74
+ "eslint-plugin-simple-import-sort": "^14.0.0",
75
+ "framer-motion": "^13.2.0",
76
+ "husky": "^9.1.7",
77
+ "jest": "^30.5.1",
78
+ "jest-environment-jsdom": "^30.5.1",
79
+ "lint-staged": "^17.5.1",
80
+ "prettier": "^3.9.6",
81
+ "react": "^18.3.1",
82
+ "react-dom": "^18.3.1",
83
+ "react-markdown": "^10.1.0",
84
+ "rollup": "^4.63.2",
85
+ "rollup-plugin-dts": "^6.5.1",
86
+ "ts-jest": "^29.4.12",
87
+ "tslib": "^2.8.1",
88
+ "typescript": "~5.4.5",
89
+ "vite": "^8.3.0"
78
90
  },
79
91
  "homepage": "https://github.com/webbrother/react-headless-mde.git#readme"
80
92
  }
package/.eslintrc.js DELETED
@@ -1,24 +0,0 @@
1
- module.exports = {
2
- parser: '@typescript-eslint/parser',
3
- parserOptions: {
4
- ecmaVersion: 'latest',
5
- sourceType: 'module',
6
- project: ['./tsconfig.json'], // Specify it only for TypeScript files
7
- },
8
- settings: {
9
- react: {
10
- version: 'detect',
11
- },
12
- },
13
- env: {
14
- browser: true,
15
- es2021: true,
16
- },
17
- extends: ['plugin:react/recommended', 'standard-with-typescript', 'plugin:prettier/recommended'],
18
- overrides: [],
19
- plugins: ['react', 'import', 'simple-import-sort'],
20
- rules: {
21
- '@typescript-eslint/strict-boolean-expressions': 0,
22
- '@typescript-eslint/explicit-function-return-type': 0,
23
- },
24
- };
@@ -1,27 +0,0 @@
1
- # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
2
- # For more information see: https://docs.github.com/ru/actions/quickstart
3
-
4
- name: Publish
5
-
6
- on:
7
- release:
8
- types: [created]
9
- # push:
10
- # branches:
11
- # - 'main'
12
-
13
- jobs:
14
- build-and-publish:
15
- runs-on: ubuntu-latest
16
- steps:
17
- - uses: actions/checkout@v3
18
- - uses: actions/setup-node@v3
19
- with:
20
- node-version: 18
21
- registry-url: 'https://registry.npmjs.org'
22
- - run: npm install
23
- - run: npm run build
24
- - run: npm publish
25
- # - run: npm publish --tag next
26
- env:
27
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
package/.husky/pre-commit DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env sh
2
- . "$(dirname -- "$0")/_/husky.sh"
3
-
4
- node_modules/.bin/lint-staged
package/.husky/pre-push DELETED
@@ -1,4 +0,0 @@
1
- #!/bin/sh
2
- . "$(dirname "$0")/_/husky.sh"
3
-
4
- npm run check-types
package/jest.config.js DELETED
@@ -1,4 +0,0 @@
1
- module.exports = {
2
- preset: 'ts-jest',
3
- testEnvironment: 'jsdom',
4
- };
@@ -1,4 +0,0 @@
1
- module.exports = {
2
- '*.{ts,js,tsx,jsx}': ['eslint --fix', 'prettier --write'],
3
- '*.{md,mdx,css,scss,yaml,yml}': ['prettier --write'],
4
- };
@@ -1,13 +0,0 @@
1
- module.exports = {
2
- tabWidth: 2,
3
- printWidth: 120,
4
- useTabs: false,
5
- semi: true,
6
- singleQuote: true,
7
- quoteProps: 'as-needed',
8
- jsxSingleQuote: true,
9
- trailingComma: 'all',
10
- bracketSpacing: true,
11
- bracketSameLine: false,
12
- arrowParens: 'avoid',
13
- };