palt-typesetting 0.2.1 → 0.5.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.
Files changed (49) hide show
  1. package/README.md +16 -18
  2. package/bundle/typesetter.min.js +1 -6
  3. package/bundle/typesetter.min.js.map +4 -4
  4. package/dist/apply-style.d.ts +3 -2
  5. package/dist/apply-style.d.ts.map +1 -1
  6. package/dist/apply-style.js +37 -34
  7. package/dist/html-processor.d.ts +1 -1
  8. package/dist/html-processor.d.ts.map +1 -1
  9. package/dist/html-processor.js +88 -55
  10. package/dist/index.d.ts +3 -2
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +97 -61
  13. package/dist/insert-separators.d.ts +3 -3
  14. package/dist/insert-separators.d.ts.map +1 -1
  15. package/dist/insert-separators.js +40 -40
  16. package/dist/style/typesetting.css +40 -0
  17. package/dist/{utils-regex.d.ts → util-regex.d.ts} +3 -1
  18. package/dist/util-regex.d.ts.map +1 -0
  19. package/dist/util-regex.js +20 -0
  20. package/dist/util-tags.d.ts +9 -0
  21. package/dist/util-tags.d.ts.map +1 -0
  22. package/dist/util-tags.js +55 -0
  23. package/dist/{utils-text-classes.d.ts → util-text-classes.d.ts} +3 -2
  24. package/dist/util-text-classes.d.ts.map +1 -0
  25. package/dist/util-text-classes.js +98 -0
  26. package/dist/win-browser.js +4 -4
  27. package/dist/win.js +6 -6
  28. package/package.json +16 -11
  29. package/{dist/types → types}/index.d.ts +0 -5
  30. package/dist/apply-style.js.map +0 -1
  31. package/dist/bundle.d.ts +0 -2
  32. package/dist/bundle.d.ts.map +0 -1
  33. package/dist/bundle.js.map +0 -1
  34. package/dist/html-processor.js.map +0 -1
  35. package/dist/index.js.map +0 -1
  36. package/dist/insert-separators.js.map +0 -1
  37. package/dist/utils-regex.d.ts.map +0 -1
  38. package/dist/utils-regex.js +0 -10
  39. package/dist/utils-regex.js.map +0 -1
  40. package/dist/utils-tags.d.ts +0 -8
  41. package/dist/utils-tags.d.ts.map +0 -1
  42. package/dist/utils-tags.js +0 -44
  43. package/dist/utils-tags.js.map +0 -1
  44. package/dist/utils-text-classes.d.ts.map +0 -1
  45. package/dist/utils-text-classes.js +0 -78
  46. package/dist/utils-text-classes.js.map +0 -1
  47. package/dist/win-browser.js.map +0 -1
  48. package/dist/win.js.map +0 -1
  49. /package/{dist/types → types}/linebreak.d.ts +0 -0
@@ -0,0 +1,20 @@
1
+ const latinRegex = /[\p{scx=Latin}0-9⁰¹²³⁴-⁾₀-₎¢¤$€£¥+−×÷=≠><≥≤±≈~¬∅∞∫∏∑√∂%‰@&.,:;!¡?¿'"‘’“”\-(){}[\]|/\\^_`*#\s]+/u;
2
+ const japaneseRegex = /[\p{scx=Hiragana}\p{scx=Katakana}|ヲ-゚\p{scx=Han}]+/u;
3
+ const openingsRegex = /(|[|{|〔|〈|《|「|『|【|〘|〖|“|‘/;
4
+ const closingsRegex = /)|]|}|〕|〉|》|」|』|】|〙|〗|”|’/;
5
+ const middleDotsRegex = /・|:|;/;
6
+ const commasRegex = /、|,/;
7
+ const periodsRegex = /。|./;
8
+ const noBreakRulesRegex = new RegExp(
9
+ `[${"\u2014\u2025\u2026\uFF3F"}${String.fromCharCode(9472)}-${String.fromCharCode(9599)}]+`
10
+ );
11
+ export {
12
+ closingsRegex,
13
+ commasRegex,
14
+ japaneseRegex,
15
+ latinRegex,
16
+ middleDotsRegex,
17
+ noBreakRulesRegex,
18
+ openingsRegex,
19
+ periodsRegex
20
+ };
@@ -0,0 +1,9 @@
1
+ import './style/typesetting.css';
2
+ declare const createWbr: () => string;
3
+ declare const createThinSpace: (thinSpaceWidth: string, breakable?: boolean) => string;
4
+ declare const createKerning: (kerningValue: number, breakable?: boolean) => string;
5
+ declare const applyWrapperStyle: (text: string, useWordBreak: boolean) => string;
6
+ declare const applyLatinStyle: (segment: string) => string;
7
+ declare const applyNoBreaksStyle: (segment: string) => string;
8
+ export { createWbr, createThinSpace, createKerning, applyWrapperStyle, applyLatinStyle, applyNoBreaksStyle };
9
+ //# sourceMappingURL=util-tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util-tags.d.ts","sourceRoot":"","sources":["../src/util-tags.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,CAAA;AAQhC,QAAA,MAAM,SAAS,QAAO,MAErB,CAAA;AAQD,QAAA,MAAM,eAAe,mBAAoB,MAAM,cAAc,OAAO,KAAG,MAItE,CAAA;AASD,QAAA,MAAM,aAAa,iBAAkB,MAAM,cAAc,OAAO,KAAG,MAclE,CAAA;AAQD,QAAA,MAAM,iBAAiB,SAAU,MAAM,gBAAgB,OAAO,KAAG,MAKhE,CAAA;AAOD,QAAA,MAAM,eAAe,YAAa,MAAM,KAAG,MAG1C,CAAA;AAOD,QAAA,MAAM,kBAAkB,YAAa,MAAM,KAAG,MAG7C,CAAA;AAkCD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAA"}
@@ -0,0 +1,55 @@
1
+ import "./style/typesetting.css";
2
+ const prefix = "typeset";
3
+ const createWbr = () => {
4
+ return "<wbr>";
5
+ };
6
+ const createThinSpace = (thinSpaceWidth, breakable) => {
7
+ const content = "";
8
+ const className = `${prefix}-thin-space`;
9
+ return createSpacer(content, className, thinSpaceWidth, breakable);
10
+ };
11
+ const createKerning = (kerningValue, breakable) => {
12
+ if (kerningValue === 0)
13
+ return "";
14
+ const content = "";
15
+ const className = `${prefix}-kerning`;
16
+ if (kerningValue < 0) {
17
+ const emValue = kerningValue / 1e3 / 2 + "em";
18
+ const style = `margin: ${emValue};`;
19
+ return createStyledSpan(content, className, style);
20
+ } else {
21
+ const emValue = kerningValue / 1e3 + "em";
22
+ return createSpacer(content, className, emValue, breakable);
23
+ }
24
+ };
25
+ const applyWrapperStyle = (text, useWordBreak) => {
26
+ const wrapperName = prefix;
27
+ const wordBreakName = `${prefix}-word-break`;
28
+ const className = useWordBreak ? `${wrapperName} ${wordBreakName}` : wrapperName;
29
+ return createStyledSpan(text, className);
30
+ };
31
+ const applyLatinStyle = (segment) => {
32
+ const className = `${prefix}-latin`;
33
+ return createStyledSpan(segment, className);
34
+ };
35
+ const applyNoBreaksStyle = (segment) => {
36
+ const className = `${prefix}-no-breaks`;
37
+ return createStyledSpan(segment, className);
38
+ };
39
+ const createStyledSpan = (content, className, style = "", attr = "") => {
40
+ const styleAttr = style ? ` style="${style}"` : "";
41
+ return `<span class="${className}"${styleAttr}${attr}>${content}</span>`;
42
+ };
43
+ const createSpacer = (content, className, value, breakable) => {
44
+ const style = `letter-spacing: ${value};`;
45
+ const data = ` data-content="${breakable ? " " : "&nbsp;"}"`;
46
+ return createStyledSpan(content, className, style, data);
47
+ };
48
+ export {
49
+ applyLatinStyle,
50
+ applyNoBreaksStyle,
51
+ applyWrapperStyle,
52
+ createKerning,
53
+ createThinSpace,
54
+ createWbr
55
+ };
@@ -1,12 +1,13 @@
1
1
  declare const CharClass: {
2
2
  shouldNotBreak: (segment: string) => boolean;
3
3
  shouldAddThinSpace: (current: string, next: string) => boolean;
4
+ startsWithPunctuation: (segment: string) => boolean;
4
5
  };
5
6
  declare const LanguageClass: {
6
7
  isLatin: (segment: string) => boolean;
7
8
  isJapanese: (segment: string) => boolean;
8
- isDifferentLanguageClass: (current: string, next: string) => boolean;
9
+ hasLanguageTransition: (current: string, next: string) => boolean;
9
10
  shouldAddThinSpace: (current: string, next: string) => boolean;
10
11
  };
11
12
  export { CharClass, LanguageClass };
12
- //# sourceMappingURL=utils-text-classes.d.ts.map
13
+ //# sourceMappingURL=util-text-classes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util-text-classes.d.ts","sourceRoot":"","sources":["../src/util-text-classes.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,SAAS;8BAMa,MAAM,KAAG,OAAO;kCAUZ,MAAM,QAAQ,MAAM,KAAG,OAAO;qCA0C3B,MAAM,KAAG,OAAO;CAKlD,CAAA;AAOD,QAAA,MAAM,aAAa;uBAME,MAAM,KAAG,OAAO;0BASb,MAAM,KAAG,OAAO;qCAWL,MAAM,QAAQ,MAAM,KAAG,OAAO;kCAUjC,MAAM,QAAQ,MAAM,KAAG,OAAO;CAG7D,CAAA;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA"}
@@ -0,0 +1,98 @@
1
+ import * as util from "./util-regex";
2
+ const CharClass = {
3
+ /**
4
+ * セグメントが分離禁則文字で構成されているかどうかを判定します。
5
+ * @param segment - 判定するテキストセグメント
6
+ * @return 分離禁則文字で構成されている場合はtrue、そうでない場合はfalse
7
+ */
8
+ shouldNotBreak: (segment) => {
9
+ return util.noBreakRulesRegex.test(segment);
10
+ },
11
+ /**
12
+ * 2つのセグメント間に四分アキを追加すべきかを判断します。
13
+ * @param current - 現在のセグメント
14
+ * @param next - 次のセグメント
15
+ * @return 四分アキを追加すべきかどうか
16
+ */
17
+ shouldAddThinSpace: (current, next) => {
18
+ const spaceAfterRegex = new RegExp(
19
+ `(${util.closingsRegex.source}|${util.commasRegex.source}|${util.periodsRegex.source})`
20
+ );
21
+ const settings = {
22
+ spaceBefore: {
23
+ regex: util.openingsRegex,
24
+ hasSpaceBefore: true,
25
+ hasSpaceAfter: false
26
+ },
27
+ spaceAfter: {
28
+ regex: spaceAfterRegex,
29
+ hasSpaceBefore: false,
30
+ hasSpaceAfter: true
31
+ },
32
+ spaceBoth: {
33
+ regex: util.middleDotsRegex,
34
+ hasSpaceBefore: true,
35
+ hasSpaceAfter: true
36
+ }
37
+ };
38
+ for (const { regex, hasSpaceBefore, hasSpaceAfter } of Object.values(settings)) {
39
+ if (hasSpaceBefore && regex.test(next) && !regex.test(current)) {
40
+ return true;
41
+ }
42
+ if (hasSpaceAfter && regex.test(current) && !regex.test(next)) {
43
+ return true;
44
+ }
45
+ }
46
+ return false;
47
+ },
48
+ /**
49
+ * 与えられた文字列の最初の文字が句読点に一致するかどうか判断します。
50
+ * @param {string} segment - 判断対象の文字列
51
+ * @return {boolean} 最初の文字が句読点であればtrueを返します。
52
+ */
53
+ startsWithPunctuation: (segment) => {
54
+ const combinedRegex = new RegExp(`^[${util.periodsRegex.source}${util.commasRegex.source}]`);
55
+ return combinedRegex.test(segment);
56
+ }
57
+ };
58
+ const LanguageClass = {
59
+ /**
60
+ * セグメントがラテン文字で構成されているかどうかを判定します。
61
+ * @param segment - 判定するテキストセグメント
62
+ * @return ラテン文字で構成されている場合はtrue、そうでない場合はfalse
63
+ */
64
+ isLatin: (segment) => {
65
+ return util.latinRegex.test(segment);
66
+ },
67
+ /**
68
+ * セグメントが日本語文字で構成されているかどうかを判定します。
69
+ * @param segment - 判定するテキストセグメント
70
+ * @return 日本語文字で構成されている場合はtrue、そうでない場合はfalse
71
+ */
72
+ isJapanese: (segment) => {
73
+ return util.japaneseRegex.test(segment);
74
+ },
75
+ /**
76
+ * 現在のセグメントと次のセグメントの言語が異なるかどうかを判定します。
77
+ * この関数は、一方が日本語で他方が非日本語の場合にtrueを返します。
78
+ * @param current - 現在のテキストセグメント
79
+ * @param next - 次のテキストセグメント
80
+ * @return 両セグメント間で言語が異なる場合にtrueを返す
81
+ */
82
+ hasLanguageTransition: (current, next) => {
83
+ return LanguageClass.isJapanese(current) !== LanguageClass.isJapanese(next);
84
+ },
85
+ /**
86
+ * 2つのセグメント間に四分アキを追加すべきかを判断します。
87
+ * @param current - 現在のセグメント
88
+ * @param next - 次のセグメント
89
+ * @return 四分アキを追加すべきかどうか
90
+ */
91
+ shouldAddThinSpace: (current, next) => {
92
+ return LanguageClass.hasLanguageTransition(current, next) && !CharClass.startsWithPunctuation(next);
93
+ }
94
+ };
95
+ export {
96
+ CharClass,
97
+ LanguageClass
98
+ };
@@ -1,5 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  const win = window;
4
- exports.default = win;
5
- //# sourceMappingURL=win-browser.js.map
2
+ var win_browser_default = win;
3
+ export {
4
+ win_browser_default as default
5
+ };
package/dist/win.js CHANGED
@@ -1,6 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsdom_1 = require("jsdom");
4
- const win = new jsdom_1.JSDOM().window;
5
- exports.default = win;
6
- //# sourceMappingURL=win.js.map
1
+ import { JSDOM } from "jsdom";
2
+ const win = new JSDOM().window;
3
+ var win_default = win;
4
+ export {
5
+ win_default as default
6
+ };
package/package.json CHANGED
@@ -1,9 +1,11 @@
1
1
  {
2
2
  "name": "palt-typesetting",
3
- "version": "0.2.1",
3
+ "version": "0.5.0",
4
4
  "description": "A typesetting library.",
5
5
  "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
6
7
  "files": [
8
+ "types/**/*",
7
9
  "dist/**/*",
8
10
  "bundle/**/*"
9
11
  ],
@@ -13,12 +15,10 @@
13
15
  },
14
16
  "scripts": {
15
17
  "clean:dist": "rm -rf ./dist",
16
- "copy:types": "mkdir -p ./dist/types && cp -R ./src/types/* ./dist/types",
17
- "prebuild": "npm run clean:dist && npm run copy:types",
18
- "build": "tsc && npm run bundle",
19
- "postbuild": "rm -rf ./dist/bundle.js",
20
- "bundle": "esbuild ./dist/bundle.js --bundle --outfile=./bundle/typesetter.min.js --minify --sourcemap --platform=browser --target=es2016 --global-name=Typesetter",
21
- "test": "jest",
18
+ "copy:css": "mkdir -p ./dist/style && cp -R ./src/style/* ./dist/style",
19
+ "prebuild": "npm run clean:dist && npm run copy:css",
20
+ "build": "node ./scripts/build.js && webpack",
21
+ "test": "vitest",
22
22
  "lint": "eslint ./src/** --no-error-on-unmatched-pattern",
23
23
  "lint:fix": "eslint ./src/** --fix"
24
24
  },
@@ -35,16 +35,21 @@
35
35
  "linebreak": "^1.1.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@types/jest": "^29.5.11",
38
+ "@babel/core": "^7.23.9",
39
+ "@babel/preset-env": "^7.23.9",
39
40
  "@types/jsdom": "^21.1.6",
40
41
  "@types/node": "^20",
41
42
  "@typescript-eslint/eslint-plugin": "^6.18.0",
42
43
  "@typescript-eslint/parser": "^6.18.0",
43
44
  "babel-jest": "^29.7.0",
45
+ "babel-loader": "^9.1.3",
46
+ "css-loader": "^6.10.0",
44
47
  "esbuild": "^0.19.11",
45
48
  "eslint": "^8",
46
- "jest": "^29.7.0",
47
- "ts-jest": "^29.1.1",
48
- "typescript": "^5"
49
+ "style-loader": "^3.3.4",
50
+ "typescript": "^5",
51
+ "vitest": "^1.2.2",
52
+ "webpack": "^5.90.3",
53
+ "webpack-cli": "^5.1.4"
49
54
  }
50
55
  }
@@ -48,11 +48,6 @@ export interface TypesettingOptions {
48
48
  * 各ルールは、特定の文字ペア間に適用されるカーニング値を指定します。
49
49
  */
50
50
  kerningRules: KerningRule[]
51
-
52
- /**
53
- * ライブラリで使用されるCSSクラス名のプレフィックスを指定します。
54
- */
55
- classNamePrefix: string
56
51
  }
57
52
 
58
53
  /**
@@ -1 +0,0 @@
1
- {"version":3,"file":"apply-style.js","sourceRoot":"","sources":["../src/apply-style.ts"],"names":[],"mappings":";;;AAAA,6DAA+D;AAC/D,6CAAuG;AASvG,MAAM,gBAAgB,GAAG,CAAC,gBAAwB,EAAE,aAAqB,EAAE,OAA2B,EAAU,EAAE;IAEhH,IAAI,gBAAgB,KAAK,GAAG,EAAE,CAAC;QAC7B,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,OAAO,IAAA,8BAAiB,EAAC,gBAAgB,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;AAC3F,CAAC,CAAA;AA2DQ,4CAAgB;AAjDzB,MAAM,mBAAmB,GAAG,CAAC,cAAsB,EAAE,WAAmB,EAAE,OAA2B,EAAU,EAAE;IAE/G,IAAI,cAAc,KAAK,GAAG,EAAE,CAAC;QAC3B,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,MAAM,aAAa,GAAG,qBAAqB,CAAC,cAAc,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IAGjF,IAAI,OAAO,CAAC,SAAS,IAAI,kCAAa,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/D,OAAO,IAAA,4BAAe,EAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAChE,CAAC;IAGD,IAAI,OAAO,CAAC,sBAAsB,IAAI,8BAAS,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/E,OAAO,IAAA,8BAAiB,EAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IAClE,CAAC;IAED,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AA8B0B,kDAAmB;AApB9C,MAAM,qBAAqB,GAAG,CAAC,cAAsB,EAAE,WAAmB,EAAE,OAA2B,EAAU,EAAE;IACjH,MAAM,KAAK,GAAG,CAAC,GAAG,cAAc,CAAC,CAAA;IAEjC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;QAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACrD,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAC3C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CACxE,CAAA;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;YAChH,OAAO,WAAW,GAAG,IAAA,8BAAiB,EAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;QAC/E,CAAC;QAED,OAAO,WAAW,CAAA;IACpB,CAAC,CAAC,CAAA;IAEF,OAAO,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC7B,CAAC,CAAA"}
package/dist/bundle.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=bundle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":";;;;;AAAA,yCAA0B;AAE1B,MAAM,CAAC,OAAO,GAAG,UAAU,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"html-processor.js","sourceRoot":"","sources":["../src/html-processor.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,sEAA4C;AAC5C,4EAAwD;AACxD,+CAAqE;AACrE,gDAAuB;AAOvB,MAAM,UAAW,SAAQ,wBAAa;IAmBpC,YAAY,UAAuC,EAAE;QACnD,MAAM,kBAAkB,GAAG,CAAC,8BAAgB,EAAE,2BAAsB,EAAE,iCAAmB,CAAC,CAAA;QAC1F,MAAM,gBAAgB,GAAG,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAE5D,KAAK,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAA;QAO3C,IAAI,CAAC,wBAAwB,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,CAAA;QACrE,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC;;;;SAIV,CAAC,CAAA;QACN,CAAC;IACH,CAAC;IAQO,MAAM,CAAC,eAAe,CAAC,OAAoC;QACjE,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;QACnF,CAAC;QAGD,uCACK,UAAU,CAAC,cAAc,GACzB,OAAO,EACX;IACH,CAAC;IAQO,MAAM,CAAC,kBAAkB,CAAC,WAAwB;QACxD,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/E,OAAO,CAAC,IAAI,CACV,yBAAyB,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAC9G,CAAA;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAQD,MAAM,CAAC,OAAe;QACpB,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/C,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAQD,gBAAgB,CAAC,QAAoC;QACnD,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAA;QACvB,CAAC;QAED,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACpD,OAAO,CAAC,SAAS,GAAG,aAAa,CAAA;QACnC,CAAC,CAAC,CAAA;IACJ,CAAC;IAQD,gBAAgB,CAAC,QAAuB;QACtC,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChD,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,aAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QACxD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC7C,CAAC;;AAvHM,yBAAc,GAAuB;IAC1C,eAAe,EAAE,SAAS;IAC1B,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,IAAI;IACf,sBAAsB,EAAE,IAAI;IAC5B,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,KAAK;IACrB,YAAY,EAAE,EAAE;CACjB,CAAA;AAkHH,kBAAe,UAAU,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"insert-separators.js","sourceRoot":"","sources":["../src/insert-separators.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAmC;AACnC,6DAA+D;AAC/D,6CAAuD;AASvD,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,OAA2B,EAAU,EAAE;IAC5G,MAAM,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;IACnD,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;IAE7C,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACtF,MAAM,OAAO,GAAG,OAAO,CAAA;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;QAChD,OAAO,eAAe,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACzE,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AAOD,MAAM,cAAc,GAAG,CAAC,GAAW,EAAY,EAAE;IAC/C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;IACtE,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;AACrE,CAAC,CAAA;AA4CQ,wCAAc;AApCvB,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAE,IAAI,GAAG,EAAE,EAAE,OAA2B,EAAU,EAAE;IACjG,IAAI,CAAC,IAAI;QAAE,OAAO,OAAO,CAAA;IAEzB,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,IAAI,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,IAAI,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC9E,OAAO,CACL,OAAO;QACP,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,gCAAmB,EAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACpB,CAAA;AACH,CAAC,CAAA;AA0BwB,wDAAsB;AAlB/C,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,IAAY,EAAkB,EAAE;IACrE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACzD,MAAM,EAAE,GAAG,IAAI,mBAAW,CAAC,YAAY,CAAC,CAAA;IACxC,MAAM,gBAAgB,GAAG,EAAE,CAAC,SAAS,EAAE,CAAA;IACvC,OAAO,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,KAAK,CAAC,CAAA;AAC5D,CAAC,CAAA;AAagD,oCAAY;AAL7D,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,IAAY,EAAW,EAAE;IACpE,OAAO,kCAAa,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,8BAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACvG,CAAC,CAAA;AAG8D,gDAAkB;AADjF,kBAAe,sBAAsB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-regex.d.ts","sourceRoot":"","sources":["../src/utils-regex.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,QAA4D,CAAA;AAKnF,eAAO,MAAM,aAAa,QAAwD,CAAA;AAKlF,eAAO,MAAM,aAAa,QAA8B,CAAA;AAKxD,eAAO,MAAM,aAAa,QAAsC,CAAA;AAKhE,eAAO,MAAM,eAAe,QAAU,CAAA;AAKtC,eAAO,MAAM,iBAAiB,QAE7B,CAAA"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.noBreakRulesRegex = exports.middleDotsRegex = exports.closingsRegex = exports.openingsRegex = exports.japaneseRegex = exports.latinRegex = void 0;
4
- exports.latinRegex = /[\p{scx=Latin}0-9!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~]+/u;
5
- exports.japaneseRegex = /[\p{scx=Hiragana}\p{scx=Katakana}|ヲ-゚\p{scx=Han}]+/u;
6
- exports.openingsRegex = /(|[|{|〔|〈|《|「|『|【|〘|〖|“|‘/;
7
- exports.closingsRegex = /)|]|}|〕|〉|》|」|』|】|〙|〗|”|’|、|,|。|./;
8
- exports.middleDotsRegex = /・|:|;/;
9
- exports.noBreakRulesRegex = new RegExp(`[${'—‥…_'}${String.fromCharCode(0x2500)}-${String.fromCharCode(0x257f)}]+`);
10
- //# sourceMappingURL=utils-regex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-regex.js","sourceRoot":"","sources":["../src/utils-regex.ts"],"names":[],"mappings":";;;AAGa,QAAA,UAAU,GAAG,yDAAyD,CAAA;AAKtE,QAAA,aAAa,GAAG,qDAAqD,CAAA;AAKrE,QAAA,aAAa,GAAG,2BAA2B,CAAA;AAK3C,QAAA,aAAa,GAAG,mCAAmC,CAAA;AAKnD,QAAA,eAAe,GAAG,OAAO,CAAA;AAKzB,QAAA,iBAAiB,GAAG,IAAI,MAAM,CACzC,IAAI,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAC5E,CAAA"}
@@ -1,8 +0,0 @@
1
- declare const wbr = "<wbr>";
2
- declare const createThinSpaceSpan: (thisSpaceWidth: string, classNamePrefix: string) => string;
3
- declare const createKerningSpan: (kerningValue: number, classNamePrefix: string) => string;
4
- declare const applyWrapperStyle: (text: string, classNamePrefix: string, useWordBreak: boolean) => string;
5
- declare const applyLatinStyle: (segment: string, classNamePrefix: string) => string;
6
- declare const applyNoBreakStyle: (segment: string, classNamePrefix: string) => string;
7
- export { wbr, createThinSpaceSpan, createKerningSpan, applyWrapperStyle, applyLatinStyle, applyNoBreakStyle };
8
- //# sourceMappingURL=utils-tags.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-tags.d.ts","sourceRoot":"","sources":["../src/utils-tags.ts"],"names":[],"mappings":"AAmBA,QAAA,MAAM,GAAG,UAAU,CAAA;AAQnB,QAAA,MAAM,mBAAmB,mBAAoB,MAAM,mBAAmB,MAAM,KAAG,MAK9E,CAAA;AASD,QAAA,MAAM,iBAAiB,iBAAkB,MAAM,mBAAmB,MAAM,KAAG,MAK1E,CAAA;AASD,QAAA,MAAM,iBAAiB,SAAU,MAAM,mBAAmB,MAAM,gBAAgB,OAAO,KAAG,MAIzF,CAAA;AAQD,QAAA,MAAM,eAAe,YAAa,MAAM,mBAAmB,MAAM,KAAG,MAGnE,CAAA;AAQD,QAAA,MAAM,iBAAiB,YAAa,MAAM,mBAAmB,MAAM,KAAG,MAGrE,CAAA;AAED,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAA"}
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyNoBreakStyle = exports.applyLatinStyle = exports.applyWrapperStyle = exports.createKerningSpan = exports.createThinSpaceSpan = exports.wbr = void 0;
4
- const uiIgnoreSettings = {
5
- styles: {
6
- preventSelect: 'user-select:none;',
7
- },
8
- attributes: {
9
- hiddenFromReader: 'aria-hidden="true"',
10
- noIndex: 'data-nosnippet=""',
11
- },
12
- };
13
- const wbr = '<wbr>';
14
- exports.wbr = wbr;
15
- const createThinSpaceSpan = (thisSpaceWidth, classNamePrefix) => {
16
- const THIN_SPACE = String.fromCharCode(0x2009);
17
- const className = classNamePrefix + '-thin-space';
18
- const style = `font-size: ${thisSpaceWidth}; ${uiIgnoreSettings.styles.preventSelect}`;
19
- return `<span class="${className}" style="${style}" ${uiIgnoreSettings.attributes.hiddenFromReader} ${uiIgnoreSettings.attributes.noIndex}>${THIN_SPACE}</span>`;
20
- };
21
- exports.createThinSpaceSpan = createThinSpaceSpan;
22
- const createKerningSpan = (kerningValue, classNamePrefix) => {
23
- const emValue = kerningValue / 1000 / 2 + 'em';
24
- const className = classNamePrefix + '-kerning';
25
- const style = `margin: ${emValue}; ${uiIgnoreSettings.styles.preventSelect}`;
26
- return `<span class="${className}" style="${style}" ${uiIgnoreSettings.attributes.hiddenFromReader} ${uiIgnoreSettings.attributes.noIndex}></span>`;
27
- };
28
- exports.createKerningSpan = createKerningSpan;
29
- const applyWrapperStyle = (text, classNamePrefix, useWordBreak) => {
30
- const style = useWordBreak ? 'word-break: keep-all; overflow-wrap: anywhere;' : '';
31
- return `<span class="${classNamePrefix}" style="${style}">${text}</span>`;
32
- };
33
- exports.applyWrapperStyle = applyWrapperStyle;
34
- const applyLatinStyle = (segment, classNamePrefix) => {
35
- const className = classNamePrefix + '-latin';
36
- return `<span class="${className}">${segment}</span>`;
37
- };
38
- exports.applyLatinStyle = applyLatinStyle;
39
- const applyNoBreakStyle = (segment, classNamePrefix) => {
40
- const className = classNamePrefix + '-no-breaks';
41
- return `<span class="${className}" style="letter-spacing: 0">${segment}</span>`;
42
- };
43
- exports.applyNoBreakStyle = applyNoBreakStyle;
44
- //# sourceMappingURL=utils-tags.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-tags.js","sourceRoot":"","sources":["../src/utils-tags.ts"],"names":[],"mappings":";;;AAMA,MAAM,gBAAgB,GAAG;IACvB,MAAM,EAAE;QACN,aAAa,EAAE,mBAAmB;KACnC;IACD,UAAU,EAAE;QACV,gBAAgB,EAAE,oBAAoB;QACtC,OAAO,EAAE,mBAAmB;KAC7B;CACF,CAAA;AAKD,MAAM,GAAG,GAAG,OAAO,CAAA;AAgEV,kBAAG;AAxDZ,MAAM,mBAAmB,GAAG,CAAC,cAAsB,EAAE,eAAuB,EAAU,EAAE;IACtF,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAG,eAAe,GAAG,aAAa,CAAA;IACjD,MAAM,KAAK,GAAG,cAAc,cAAc,KAAK,gBAAgB,CAAC,MAAM,CAAC,aAAa,EAAE,CAAA;IACtF,OAAO,gBAAgB,SAAS,YAAY,KAAK,KAAK,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,UAAU,CAAC,OAAO,IAAI,UAAU,SAAS,CAAA;AAClK,CAAC,CAAA;AAmDa,kDAAmB;AA1CjC,MAAM,iBAAiB,GAAG,CAAC,YAAoB,EAAE,eAAuB,EAAU,EAAE;IAClF,MAAM,OAAO,GAAG,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAA;IAC9C,MAAM,SAAS,GAAG,eAAe,GAAG,UAAU,CAAA;IAC9C,MAAM,KAAK,GAAG,WAAW,OAAO,KAAK,gBAAgB,CAAC,MAAM,CAAC,aAAa,EAAE,CAAA;IAC5E,OAAO,gBAAgB,SAAS,YAAY,KAAK,KAAK,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,UAAU,CAAC,OAAO,UAAU,CAAA;AACrJ,CAAC,CAAA;AAqCkC,8CAAiB;AA5BpD,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,eAAuB,EAAE,YAAqB,EAAU,EAAE;IAEjG,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,EAAE,CAAA;IAClF,OAAO,gBAAgB,eAAe,YAAY,KAAK,KAAK,IAAI,SAAS,CAAA;AAC3E,CAAC,CAAA;AAwBqD,8CAAiB;AAhBvE,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,eAAuB,EAAU,EAAE;IAC3E,MAAM,SAAS,GAAG,eAAe,GAAG,QAAQ,CAAA;IAC5C,OAAO,gBAAgB,SAAS,KAAK,OAAO,SAAS,CAAA;AACvD,CAAC,CAAA;AAawE,0CAAe;AALxF,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,eAAuB,EAAU,EAAE;IAC7E,MAAM,SAAS,GAAG,eAAe,GAAG,YAAY,CAAA;IAChD,OAAO,gBAAgB,SAAS,+BAA+B,OAAO,SAAS,CAAA;AACjF,CAAC,CAAA;AAEyF,8CAAiB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-text-classes.d.ts","sourceRoot":"","sources":["../src/utils-text-classes.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,SAAS;8BAMa,MAAM,KAAG,OAAO;kCAUZ,MAAM,QAAQ,MAAM,KAAG,OAAO;CAgC7D,CAAA;AAOD,QAAA,MAAM,aAAa;uBAME,MAAM,KAAG,OAAO;0BASb,MAAM,KAAG,OAAO;wCAUF,MAAM,QAAQ,MAAM,KAAG,OAAO;kCAapC,MAAM,QAAQ,MAAM,KAAG,OAAO;CAG7D,CAAA;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAA"}
@@ -1,78 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.LanguageClass = exports.CharClass = void 0;
27
- const utils = __importStar(require("./utils-regex"));
28
- const CharClass = {
29
- shouldNotBreak: (segment) => {
30
- return utils.noBreakRulesRegex.test(segment);
31
- },
32
- shouldAddThinSpace: (current, next) => {
33
- const settings = {
34
- openings: {
35
- regex: utils.openingsRegex,
36
- hasSpaceBefore: true,
37
- hasSpaceAfter: false,
38
- },
39
- closings: {
40
- regex: utils.closingsRegex,
41
- hasSpaceBefore: false,
42
- hasSpaceAfter: true,
43
- },
44
- middleDots: {
45
- regex: utils.middleDotsRegex,
46
- hasSpaceBefore: true,
47
- hasSpaceAfter: true,
48
- },
49
- };
50
- for (const { regex, hasSpaceBefore, hasSpaceAfter } of Object.values(settings)) {
51
- if (hasSpaceBefore && regex.test(next) && !regex.test(current)) {
52
- return true;
53
- }
54
- if (hasSpaceAfter && regex.test(current) && !regex.test(next)) {
55
- return true;
56
- }
57
- }
58
- return false;
59
- },
60
- };
61
- exports.CharClass = CharClass;
62
- const LanguageClass = {
63
- isLatin: (segment) => {
64
- return utils.latinRegex.test(segment);
65
- },
66
- isJapanese: (segment) => {
67
- return utils.japaneseRegex.test(segment);
68
- },
69
- isDifferentLanguageClass: (current, next) => {
70
- return ((LanguageClass.isJapanese(current) && LanguageClass.isLatin(next)) ||
71
- (LanguageClass.isLatin(current) && LanguageClass.isJapanese(next)));
72
- },
73
- shouldAddThinSpace: (current, next) => {
74
- return LanguageClass.isDifferentLanguageClass(current, next);
75
- },
76
- };
77
- exports.LanguageClass = LanguageClass;
78
- //# sourceMappingURL=utils-text-classes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-text-classes.js","sourceRoot":"","sources":["../src/utils-text-classes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAsC;AAOtC,MAAM,SAAS,GAAG;IAMhB,cAAc,EAAE,CAAC,OAAe,EAAW,EAAE;QAC3C,OAAO,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAQD,kBAAkB,EAAE,CAAC,OAAe,EAAE,IAAY,EAAW,EAAE;QAC7D,MAAM,QAAQ,GAAG;YACf,QAAQ,EAAE;gBACR,KAAK,EAAE,KAAK,CAAC,aAAa;gBAC1B,cAAc,EAAE,IAAI;gBACpB,aAAa,EAAE,KAAK;aACrB;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,KAAK,CAAC,aAAa;gBAC1B,cAAc,EAAE,KAAK;gBACrB,aAAa,EAAE,IAAI;aACpB;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,KAAK,CAAC,eAAe;gBAC5B,cAAc,EAAE,IAAI;gBACpB,aAAa,EAAE,IAAI;aACpB;SACF,CAAA;QAED,KAAK,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAE/E,IAAI,cAAc,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/D,OAAO,IAAI,CAAA;YACb,CAAC;YAED,IAAI,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9D,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;CACF,CAAA;AAkDQ,8BAAS;AA3ClB,MAAM,aAAa,GAAG;IAMpB,OAAO,EAAE,CAAC,OAAe,EAAW,EAAE;QACpC,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAOD,UAAU,EAAE,CAAC,OAAe,EAAW,EAAE;QACvC,OAAO,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;IAQD,wBAAwB,EAAE,CAAC,OAAe,EAAE,IAAY,EAAW,EAAE;QACnE,OAAO,CACL,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClE,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CACnE,CAAA;IACH,CAAC;IAQD,kBAAkB,EAAE,CAAC,OAAe,EAAE,IAAY,EAAW,EAAE;QAC7D,OAAO,aAAa,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC9D,CAAC;CACF,CAAA;AAEmB,sCAAa"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"win-browser.js","sourceRoot":"","sources":["../src/win-browser.ts"],"names":[],"mappings":";;AAKA,MAAM,GAAG,GAAG,MAAM,CAAA;AAElB,kBAAe,GAAG,CAAA"}
package/dist/win.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"win.js","sourceRoot":"","sources":["../src/win.ts"],"names":[],"mappings":";;AAAA,iCAA6B;AAQ7B,MAAM,GAAG,GAAG,IAAI,aAAK,EAAE,CAAC,MAAM,CAAA;AAE9B,kBAAe,GAAG,CAAA"}
File without changes