@trishchuk/coolors-mcp 1.0.0 → 1.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.
Files changed (66) hide show
  1. package/.claude/settings.local.json +2 -6
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +20 -8
  3. package/.github/ISSUE_TEMPLATE/feature_request.md +22 -8
  4. package/.github/pull_request_template.md +33 -8
  5. package/.github/workflows/ci.yml +97 -97
  6. package/.github/workflows/deploy-docs.yml +9 -9
  7. package/.github/workflows/release.yml +15 -15
  8. package/README.md +26 -1
  9. package/TOOLS_UK.md +233 -0
  10. package/docs/.vitepress/cache/deps/@braintree_sanitize-url.js +30 -12
  11. package/docs/.vitepress/cache/deps/_metadata.json +1 -1
  12. package/docs/.vitepress/cache/deps/chunk-BUSYA2B4.js +9 -6
  13. package/docs/.vitepress/cache/deps/chunk-JD3CXNQ6.js +2543 -1612
  14. package/docs/.vitepress/cache/deps/chunk-SYPOPCWC.js +3508 -2529
  15. package/docs/.vitepress/cache/deps/cytoscape-cose-bilkent.js +1902 -1003
  16. package/docs/.vitepress/cache/deps/cytoscape.js +13303 -7347
  17. package/docs/.vitepress/cache/deps/dayjs.js +494 -272
  18. package/docs/.vitepress/cache/deps/debug.js +82 -38
  19. package/docs/.vitepress/cache/deps/prismjs.js +444 -272
  20. package/docs/.vitepress/cache/deps/prismjs_components_prism-bash.js +80 -73
  21. package/docs/.vitepress/cache/deps/prismjs_components_prism-javascript.js +93 -62
  22. package/docs/.vitepress/cache/deps/prismjs_components_prism-json.js +13 -13
  23. package/docs/.vitepress/cache/deps/prismjs_components_prism-python.js +34 -27
  24. package/docs/.vitepress/cache/deps/prismjs_components_prism-typescript.js +20 -17
  25. package/docs/.vitepress/cache/deps/prismjs_components_prism-yaml.js +75 -41
  26. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +2005 -1438
  27. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +2 -2
  28. package/docs/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js +566 -229
  29. package/docs/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js +382 -270
  30. package/docs/.vitepress/cache/deps/vitepress___minisearch.js +334 -125
  31. package/docs/.vitepress/cache/deps/vue.js +2 -2
  32. package/docs/.vitepress/components/ClientGrid.vue +9 -3
  33. package/docs/.vitepress/components/CodeBlock.vue +51 -44
  34. package/docs/.vitepress/components/ConfigModal.vue +151 -67
  35. package/docs/.vitepress/components/DiagramModal.vue +186 -154
  36. package/docs/.vitepress/components/TroubleshootingModal.vue +101 -96
  37. package/docs/.vitepress/config.js +171 -141
  38. package/docs/.vitepress/theme/FundingLayout.vue +65 -54
  39. package/docs/.vitepress/theme/Layout.vue +21 -21
  40. package/docs/.vitepress/theme/components/AdBanner.vue +73 -52
  41. package/docs/.vitepress/theme/components/AdPlaceholder.vue +3 -3
  42. package/docs/.vitepress/theme/components/FundingEffects.vue +77 -53
  43. package/docs/.vitepress/theme/components/FundingHero.vue +78 -63
  44. package/docs/.vitepress/theme/components/SupportSection.vue +106 -89
  45. package/docs/.vitepress/theme/custom-app.css +19 -12
  46. package/docs/.vitepress/theme/custom.css +33 -25
  47. package/docs/.vitepress/theme/index.js +19 -16
  48. package/docs/concepts/accessibility.md +59 -47
  49. package/docs/concepts/color-spaces.md +28 -6
  50. package/docs/concepts/distance-metrics.md +45 -30
  51. package/docs/concepts/hct.md +30 -27
  52. package/docs/concepts/image-analysis.md +52 -21
  53. package/docs/concepts/material-design.md +43 -17
  54. package/docs/concepts/theme-matching.md +64 -40
  55. package/docs/examples/basic-colors.md +92 -108
  56. package/docs/examples/creating-themes.md +104 -108
  57. package/docs/examples/css-refactoring.md +33 -29
  58. package/docs/examples/image-extraction.md +145 -138
  59. package/docs/getting-started.md +45 -34
  60. package/docs/index.md +5 -1
  61. package/docs/installation.md +15 -1
  62. package/docs/tools/accessibility.md +74 -68
  63. package/docs/tools/image-extraction.md +62 -54
  64. package/docs/tools/theme-matching.md +45 -42
  65. package/note.md +1 -2
  66. package/package.json +2 -2
@@ -1,65 +1,72 @@
1
1
  // node_modules/prismjs/components/prism-python.js
2
2
  Prism.languages.python = {
3
- "comment": {
3
+ comment: {
4
4
  pattern: /(^|[^\\])#.*/,
5
5
  lookbehind: true,
6
- greedy: true
6
+ greedy: true,
7
7
  },
8
8
  "string-interpolation": {
9
- pattern: /(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,
9
+ pattern:
10
+ /(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,
10
11
  greedy: true,
11
12
  inside: {
12
- "interpolation": {
13
+ interpolation: {
13
14
  // "{" <expression> <optional "!s", "!r", or "!a"> <optional ":" format specifier> "}"
14
- pattern: /((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,
15
+ pattern:
16
+ /((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,
15
17
  lookbehind: true,
16
18
  inside: {
17
19
  "format-spec": {
18
20
  pattern: /(:)[^:(){}]+(?=\}$)/,
19
- lookbehind: true
21
+ lookbehind: true,
20
22
  },
21
23
  "conversion-option": {
22
24
  pattern: /![sra](?=[:}]$)/,
23
- alias: "punctuation"
25
+ alias: "punctuation",
24
26
  },
25
- rest: null
26
- }
27
+ rest: null,
28
+ },
27
29
  },
28
- "string": /[\s\S]+/
29
- }
30
+ string: /[\s\S]+/,
31
+ },
30
32
  },
31
33
  "triple-quoted-string": {
32
34
  pattern: /(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,
33
35
  greedy: true,
34
- alias: "string"
36
+ alias: "string",
35
37
  },
36
- "string": {
38
+ string: {
37
39
  pattern: /(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,
38
- greedy: true
40
+ greedy: true,
39
41
  },
40
- "function": {
42
+ function: {
41
43
  pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,
42
- lookbehind: true
44
+ lookbehind: true,
43
45
  },
44
46
  "class-name": {
45
47
  pattern: /(\bclass\s+)\w+/i,
46
- lookbehind: true
48
+ lookbehind: true,
47
49
  },
48
- "decorator": {
50
+ decorator: {
49
51
  pattern: /(^[\t ]*)@\w+(?:\.\w+)*/m,
50
52
  lookbehind: true,
51
53
  alias: ["annotation", "punctuation"],
52
54
  inside: {
53
- "punctuation": /\./
54
- }
55
+ punctuation: /\./,
56
+ },
55
57
  },
56
- "keyword": /\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,
57
- "builtin": /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,
58
- "boolean": /\b(?:False|None|True)\b/,
59
- "number": /\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,
60
- "operator": /[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
61
- "punctuation": /[{}[\];(),.:]/
58
+ keyword:
59
+ /\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,
60
+ builtin:
61
+ /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,
62
+ boolean: /\b(?:False|None|True)\b/,
63
+ number:
64
+ /\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,
65
+ operator: /[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,
66
+ punctuation: /[{}[\];(),.:]/,
62
67
  };
63
- Prism.languages.python["string-interpolation"].inside["interpolation"].inside.rest = Prism.languages.python;
68
+ Prism.languages.python["string-interpolation"].inside[
69
+ "interpolation"
70
+ ].inside.rest = Prism.languages.python;
64
71
  Prism.languages.py = Prism.languages.python;
65
72
  //# sourceMappingURL=prismjs_components_prism-python.js.map
@@ -1,21 +1,23 @@
1
1
  // node_modules/prismjs/components/prism-typescript.js
2
- (function(Prism2) {
2
+ (function (Prism2) {
3
3
  Prism2.languages.typescript = Prism2.languages.extend("javascript", {
4
4
  "class-name": {
5
- pattern: /(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,
5
+ pattern:
6
+ /(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,
6
7
  lookbehind: true,
7
8
  greedy: true,
8
- inside: null
9
+ inside: null,
9
10
  // see below
10
11
  },
11
- "builtin": /\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/
12
+ builtin:
13
+ /\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/,
12
14
  });
13
15
  Prism2.languages.typescript.keyword.push(
14
16
  /\b(?:abstract|declare|is|keyof|readonly|require)\b/,
15
17
  // keywords that have to be followed by an identifier
16
18
  /\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,
17
19
  // This is for `import type *, {}`
18
- /\btype\b(?=\s*(?:[\{*]|$))/
20
+ /\btype\b(?=\s*(?:[\{*]|$))/,
19
21
  );
20
22
  delete Prism2.languages.typescript["parameter"];
21
23
  delete Prism2.languages.typescript["literal-property"];
@@ -23,30 +25,31 @@
23
25
  delete typeInside["class-name"];
24
26
  Prism2.languages.typescript["class-name"].inside = typeInside;
25
27
  Prism2.languages.insertBefore("typescript", "function", {
26
- "decorator": {
28
+ decorator: {
27
29
  pattern: /@[$\w\xA0-\uFFFF]+/,
28
30
  inside: {
29
- "at": {
31
+ at: {
30
32
  pattern: /^@/,
31
- alias: "operator"
33
+ alias: "operator",
32
34
  },
33
- "function": /^[\s\S]+/
34
- }
35
+ function: /^[\s\S]+/,
36
+ },
35
37
  },
36
38
  "generic-function": {
37
39
  // e.g. foo<T extends "bar" | "baz">( ...
38
- pattern: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,
40
+ pattern:
41
+ /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,
39
42
  greedy: true,
40
43
  inside: {
41
- "function": /^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,
42
- "generic": {
44
+ function: /^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,
45
+ generic: {
43
46
  pattern: /<[\s\S]+/,
44
47
  // everything after the first <
45
48
  alias: "class-name",
46
- inside: typeInside
47
- }
48
- }
49
- }
49
+ inside: typeInside,
50
+ },
51
+ },
52
+ },
50
53
  });
51
54
  Prism2.languages.ts = Prism2.languages.typescript;
52
55
  })(Prism);
@@ -1,72 +1,106 @@
1
1
  // node_modules/prismjs/components/prism-yaml.js
2
- (function(Prism2) {
2
+ (function (Prism2) {
3
3
  var anchorOrAlias = /[*&][^\s[\]{},]+/;
4
- var tag = /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/;
5
- var properties = "(?:" + tag.source + "(?:[ ]+" + anchorOrAlias.source + ")?|" + anchorOrAlias.source + "(?:[ ]+" + tag.source + ")?)";
6
- var plainKey = /(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g, function() {
7
- return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source;
8
- });
4
+ var tag =
5
+ /!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/;
6
+ var properties =
7
+ "(?:" +
8
+ tag.source +
9
+ "(?:[ ]+" +
10
+ anchorOrAlias.source +
11
+ ")?|" +
12
+ anchorOrAlias.source +
13
+ "(?:[ ]+" +
14
+ tag.source +
15
+ ")?)";
16
+ var plainKey =
17
+ /(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(
18
+ /<PLAIN>/g,
19
+ function () {
20
+ return /[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/
21
+ .source;
22
+ },
23
+ );
9
24
  var string = /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;
10
25
  function createValuePattern(value, flags) {
11
26
  flags = (flags || "").replace(/m/g, "") + "m";
12
- var pattern = /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g, function() {
13
- return properties;
14
- }).replace(/<<value>>/g, function() {
15
- return value;
16
- });
27
+ var pattern =
28
+ /([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source
29
+ .replace(/<<prop>>/g, function () {
30
+ return properties;
31
+ })
32
+ .replace(/<<value>>/g, function () {
33
+ return value;
34
+ });
17
35
  return RegExp(pattern, flags);
18
36
  }
19
37
  Prism2.languages.yaml = {
20
- "scalar": {
21
- pattern: RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g, function() {
22
- return properties;
23
- })),
38
+ scalar: {
39
+ pattern: RegExp(
40
+ /([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(
41
+ /<<prop>>/g,
42
+ function () {
43
+ return properties;
44
+ },
45
+ ),
46
+ ),
24
47
  lookbehind: true,
25
- alias: "string"
48
+ alias: "string",
26
49
  },
27
- "comment": /#.*/,
28
- "key": {
29
- pattern: RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g, function() {
30
- return properties;
31
- }).replace(/<<key>>/g, function() {
32
- return "(?:" + plainKey + "|" + string + ")";
33
- })),
50
+ comment: /#.*/,
51
+ key: {
52
+ pattern: RegExp(
53
+ /((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source
54
+ .replace(/<<prop>>/g, function () {
55
+ return properties;
56
+ })
57
+ .replace(/<<key>>/g, function () {
58
+ return "(?:" + plainKey + "|" + string + ")";
59
+ }),
60
+ ),
34
61
  lookbehind: true,
35
62
  greedy: true,
36
- alias: "atrule"
63
+ alias: "atrule",
37
64
  },
38
- "directive": {
65
+ directive: {
39
66
  pattern: /(^[ \t]*)%.+/m,
40
67
  lookbehind: true,
41
- alias: "important"
68
+ alias: "important",
42
69
  },
43
- "datetime": {
44
- pattern: createValuePattern(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),
70
+ datetime: {
71
+ pattern: createValuePattern(
72
+ /\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/
73
+ .source,
74
+ ),
45
75
  lookbehind: true,
46
- alias: "number"
76
+ alias: "number",
47
77
  },
48
- "boolean": {
78
+ boolean: {
49
79
  pattern: createValuePattern(/false|true/.source, "i"),
50
80
  lookbehind: true,
51
- alias: "important"
81
+ alias: "important",
52
82
  },
53
- "null": {
83
+ null: {
54
84
  pattern: createValuePattern(/null|~/.source, "i"),
55
85
  lookbehind: true,
56
- alias: "important"
86
+ alias: "important",
57
87
  },
58
- "string": {
88
+ string: {
59
89
  pattern: createValuePattern(string),
60
90
  lookbehind: true,
61
- greedy: true
91
+ greedy: true,
62
92
  },
63
- "number": {
64
- pattern: createValuePattern(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source, "i"),
65
- lookbehind: true
93
+ number: {
94
+ pattern: createValuePattern(
95
+ /[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/
96
+ .source,
97
+ "i",
98
+ ),
99
+ lookbehind: true,
66
100
  },
67
- "tag": tag,
68
- "important": anchorOrAlias,
69
- "punctuation": /---|[:[\]{}\-,|>?]|\.\.\./
101
+ tag: tag,
102
+ important: anchorOrAlias,
103
+ punctuation: /---|[:[\]{}\-,|>?]|\.\.\./,
70
104
  };
71
105
  Prism2.languages.yml = Prism2.languages.yaml;
72
106
  })(Prism);