llms-py 3.0.0__py3-none-any.whl → 3.0.0b2__py3-none-any.whl

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 (195) hide show
  1. llms/__pycache__/main.cpython-314.pyc +0 -0
  2. llms/index.html +37 -26
  3. llms/llms.json +21 -70
  4. llms/main.py +731 -1426
  5. llms/providers.json +1 -1
  6. llms/{extensions/analytics/ui/index.mjs → ui/Analytics.mjs} +238 -154
  7. llms/ui/App.mjs +63 -133
  8. llms/ui/Avatar.mjs +86 -0
  9. llms/ui/Brand.mjs +52 -0
  10. llms/ui/ChatPrompt.mjs +597 -0
  11. llms/ui/Main.mjs +862 -0
  12. llms/ui/OAuthSignIn.mjs +61 -0
  13. llms/ui/ProviderIcon.mjs +36 -0
  14. llms/ui/ProviderStatus.mjs +104 -0
  15. llms/{extensions/app/ui → ui}/Recents.mjs +57 -82
  16. llms/ui/{modules/chat/SettingsDialog.mjs → SettingsDialog.mjs} +9 -9
  17. llms/{extensions/app/ui/index.mjs → ui/Sidebar.mjs} +57 -122
  18. llms/ui/SignIn.mjs +65 -0
  19. llms/ui/Welcome.mjs +8 -0
  20. llms/ui/ai.mjs +13 -117
  21. llms/ui/app.css +49 -1776
  22. llms/ui/index.mjs +171 -87
  23. llms/ui/lib/charts.mjs +13 -9
  24. llms/ui/lib/servicestack-vue.mjs +3 -3
  25. llms/ui/lib/vue.min.mjs +9 -10
  26. llms/ui/lib/vue.mjs +1602 -1763
  27. llms/ui/markdown.mjs +2 -10
  28. llms/ui/model-selector.mjs +686 -0
  29. llms/ui/tailwind.input.css +1 -55
  30. llms/ui/threadStore.mjs +583 -0
  31. llms/ui/utils.mjs +118 -113
  32. llms/ui.json +1069 -0
  33. {llms_py-3.0.0.dist-info → llms_py-3.0.0b2.dist-info}/METADATA +1 -1
  34. llms_py-3.0.0b2.dist-info/RECORD +58 -0
  35. llms/extensions/app/README.md +0 -20
  36. llms/extensions/app/__init__.py +0 -530
  37. llms/extensions/app/__pycache__/__init__.cpython-314.pyc +0 -0
  38. llms/extensions/app/__pycache__/db.cpython-314.pyc +0 -0
  39. llms/extensions/app/__pycache__/db_manager.cpython-314.pyc +0 -0
  40. llms/extensions/app/db.py +0 -644
  41. llms/extensions/app/db_manager.py +0 -195
  42. llms/extensions/app/requests.json +0 -9073
  43. llms/extensions/app/threads.json +0 -15290
  44. llms/extensions/app/ui/threadStore.mjs +0 -411
  45. llms/extensions/core_tools/CALCULATOR.md +0 -32
  46. llms/extensions/core_tools/__init__.py +0 -598
  47. llms/extensions/core_tools/__pycache__/__init__.cpython-314.pyc +0 -0
  48. llms/extensions/core_tools/ui/codemirror/addon/edit/closebrackets.js +0 -201
  49. llms/extensions/core_tools/ui/codemirror/addon/edit/closetag.js +0 -185
  50. llms/extensions/core_tools/ui/codemirror/addon/edit/continuelist.js +0 -101
  51. llms/extensions/core_tools/ui/codemirror/addon/edit/matchbrackets.js +0 -160
  52. llms/extensions/core_tools/ui/codemirror/addon/edit/matchtags.js +0 -66
  53. llms/extensions/core_tools/ui/codemirror/addon/edit/trailingspace.js +0 -27
  54. llms/extensions/core_tools/ui/codemirror/addon/selection/active-line.js +0 -72
  55. llms/extensions/core_tools/ui/codemirror/addon/selection/mark-selection.js +0 -119
  56. llms/extensions/core_tools/ui/codemirror/addon/selection/selection-pointer.js +0 -98
  57. llms/extensions/core_tools/ui/codemirror/doc/docs.css +0 -225
  58. llms/extensions/core_tools/ui/codemirror/doc/source_sans.woff +0 -0
  59. llms/extensions/core_tools/ui/codemirror/lib/codemirror.css +0 -344
  60. llms/extensions/core_tools/ui/codemirror/lib/codemirror.js +0 -9884
  61. llms/extensions/core_tools/ui/codemirror/mode/clike/clike.js +0 -942
  62. llms/extensions/core_tools/ui/codemirror/mode/javascript/index.html +0 -118
  63. llms/extensions/core_tools/ui/codemirror/mode/javascript/javascript.js +0 -962
  64. llms/extensions/core_tools/ui/codemirror/mode/javascript/typescript.html +0 -62
  65. llms/extensions/core_tools/ui/codemirror/mode/python/python.js +0 -402
  66. llms/extensions/core_tools/ui/codemirror/theme/dracula.css +0 -40
  67. llms/extensions/core_tools/ui/codemirror/theme/mocha.css +0 -135
  68. llms/extensions/core_tools/ui/index.mjs +0 -650
  69. llms/extensions/gallery/README.md +0 -61
  70. llms/extensions/gallery/__init__.py +0 -61
  71. llms/extensions/gallery/__pycache__/__init__.cpython-314.pyc +0 -0
  72. llms/extensions/gallery/__pycache__/db.cpython-314.pyc +0 -0
  73. llms/extensions/gallery/db.py +0 -298
  74. llms/extensions/gallery/ui/index.mjs +0 -482
  75. llms/extensions/katex/README.md +0 -39
  76. llms/extensions/katex/__init__.py +0 -6
  77. llms/extensions/katex/__pycache__/__init__.cpython-314.pyc +0 -0
  78. llms/extensions/katex/ui/README.md +0 -125
  79. llms/extensions/katex/ui/contrib/auto-render.js +0 -338
  80. llms/extensions/katex/ui/contrib/auto-render.min.js +0 -1
  81. llms/extensions/katex/ui/contrib/auto-render.mjs +0 -244
  82. llms/extensions/katex/ui/contrib/copy-tex.js +0 -127
  83. llms/extensions/katex/ui/contrib/copy-tex.min.js +0 -1
  84. llms/extensions/katex/ui/contrib/copy-tex.mjs +0 -105
  85. llms/extensions/katex/ui/contrib/mathtex-script-type.js +0 -109
  86. llms/extensions/katex/ui/contrib/mathtex-script-type.min.js +0 -1
  87. llms/extensions/katex/ui/contrib/mathtex-script-type.mjs +0 -24
  88. llms/extensions/katex/ui/contrib/mhchem.js +0 -3213
  89. llms/extensions/katex/ui/contrib/mhchem.min.js +0 -1
  90. llms/extensions/katex/ui/contrib/mhchem.mjs +0 -3109
  91. llms/extensions/katex/ui/contrib/render-a11y-string.js +0 -887
  92. llms/extensions/katex/ui/contrib/render-a11y-string.min.js +0 -1
  93. llms/extensions/katex/ui/contrib/render-a11y-string.mjs +0 -800
  94. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.ttf +0 -0
  95. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff +0 -0
  96. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  97. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  98. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  99. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  100. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  101. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  102. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  103. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  104. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  105. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  106. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  107. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  108. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  109. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.ttf +0 -0
  110. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff +0 -0
  111. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff2 +0 -0
  112. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  113. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  114. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  115. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.ttf +0 -0
  116. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff +0 -0
  117. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff2 +0 -0
  118. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.ttf +0 -0
  119. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff +0 -0
  120. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff2 +0 -0
  121. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  122. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  123. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  124. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.ttf +0 -0
  125. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff +0 -0
  126. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff2 +0 -0
  127. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  128. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  129. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  130. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  131. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  132. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  133. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  134. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  135. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  136. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.ttf +0 -0
  137. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff +0 -0
  138. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff2 +0 -0
  139. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.ttf +0 -0
  140. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff +0 -0
  141. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  142. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.ttf +0 -0
  143. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff +0 -0
  144. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  145. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.ttf +0 -0
  146. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff +0 -0
  147. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  148. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.ttf +0 -0
  149. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff +0 -0
  150. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  151. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  152. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  153. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  154. llms/extensions/katex/ui/index.mjs +0 -92
  155. llms/extensions/katex/ui/katex-swap.css +0 -1230
  156. llms/extensions/katex/ui/katex-swap.min.css +0 -1
  157. llms/extensions/katex/ui/katex.css +0 -1230
  158. llms/extensions/katex/ui/katex.js +0 -19080
  159. llms/extensions/katex/ui/katex.min.css +0 -1
  160. llms/extensions/katex/ui/katex.min.js +0 -1
  161. llms/extensions/katex/ui/katex.min.mjs +0 -1
  162. llms/extensions/katex/ui/katex.mjs +0 -18547
  163. llms/extensions/providers/__init__.py +0 -18
  164. llms/extensions/providers/__pycache__/__init__.cpython-314.pyc +0 -0
  165. llms/extensions/providers/__pycache__/anthropic.cpython-314.pyc +0 -0
  166. llms/extensions/providers/__pycache__/chutes.cpython-314.pyc +0 -0
  167. llms/extensions/providers/__pycache__/google.cpython-314.pyc +0 -0
  168. llms/extensions/providers/__pycache__/nvidia.cpython-314.pyc +0 -0
  169. llms/extensions/providers/__pycache__/openai.cpython-314.pyc +0 -0
  170. llms/extensions/providers/__pycache__/openrouter.cpython-314.pyc +0 -0
  171. llms/extensions/providers/anthropic.py +0 -229
  172. llms/extensions/providers/chutes.py +0 -155
  173. llms/extensions/providers/google.py +0 -378
  174. llms/extensions/providers/nvidia.py +0 -105
  175. llms/extensions/providers/openai.py +0 -156
  176. llms/extensions/providers/openrouter.py +0 -72
  177. llms/extensions/system_prompts/README.md +0 -22
  178. llms/extensions/system_prompts/__init__.py +0 -45
  179. llms/extensions/system_prompts/__pycache__/__init__.cpython-314.pyc +0 -0
  180. llms/extensions/system_prompts/ui/index.mjs +0 -280
  181. llms/extensions/system_prompts/ui/prompts.json +0 -1067
  182. llms/extensions/tools/__init__.py +0 -5
  183. llms/extensions/tools/__pycache__/__init__.cpython-314.pyc +0 -0
  184. llms/extensions/tools/ui/index.mjs +0 -204
  185. llms/providers-extra.json +0 -356
  186. llms/ui/ctx.mjs +0 -365
  187. llms/ui/modules/chat/ChatBody.mjs +0 -691
  188. llms/ui/modules/chat/index.mjs +0 -828
  189. llms/ui/modules/layout.mjs +0 -243
  190. llms/ui/modules/model-selector.mjs +0 -851
  191. llms_py-3.0.0.dist-info/RECORD +0 -202
  192. {llms_py-3.0.0.dist-info → llms_py-3.0.0b2.dist-info}/WHEEL +0 -0
  193. {llms_py-3.0.0.dist-info → llms_py-3.0.0b2.dist-info}/entry_points.txt +0 -0
  194. {llms_py-3.0.0.dist-info → llms_py-3.0.0b2.dist-info}/licenses/LICENSE +0 -0
  195. {llms_py-3.0.0.dist-info → llms_py-3.0.0b2.dist-info}/top_level.txt +0 -0
@@ -1,66 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3
-
4
- (function(mod) {
5
- if (typeof exports == "object" && typeof module == "object") // CommonJS
6
- mod(require("../../lib/codemirror"), require("../fold/xml-fold"));
7
- else if (typeof define == "function" && define.amd) // AMD
8
- define(["../../lib/codemirror", "../fold/xml-fold"], mod);
9
- else // Plain browser env
10
- mod(CodeMirror);
11
- })(function(CodeMirror) {
12
- "use strict";
13
-
14
- CodeMirror.defineOption("matchTags", false, function(cm, val, old) {
15
- if (old && old != CodeMirror.Init) {
16
- cm.off("cursorActivity", doMatchTags);
17
- cm.off("viewportChange", maybeUpdateMatch);
18
- clear(cm);
19
- }
20
- if (val) {
21
- cm.state.matchBothTags = typeof val == "object" && val.bothTags;
22
- cm.on("cursorActivity", doMatchTags);
23
- cm.on("viewportChange", maybeUpdateMatch);
24
- doMatchTags(cm);
25
- }
26
- });
27
-
28
- function clear(cm) {
29
- if (cm.state.tagHit) cm.state.tagHit.clear();
30
- if (cm.state.tagOther) cm.state.tagOther.clear();
31
- cm.state.tagHit = cm.state.tagOther = null;
32
- }
33
-
34
- function doMatchTags(cm) {
35
- cm.state.failedTagMatch = false;
36
- cm.operation(function() {
37
- clear(cm);
38
- if (cm.somethingSelected()) return;
39
- var cur = cm.getCursor(), range = cm.getViewport();
40
- range.from = Math.min(range.from, cur.line); range.to = Math.max(cur.line + 1, range.to);
41
- var match = CodeMirror.findMatchingTag(cm, cur, range);
42
- if (!match) return;
43
- if (cm.state.matchBothTags) {
44
- var hit = match.at == "open" ? match.open : match.close;
45
- if (hit) cm.state.tagHit = cm.markText(hit.from, hit.to, {className: "CodeMirror-matchingtag"});
46
- }
47
- var other = match.at == "close" ? match.open : match.close;
48
- if (other)
49
- cm.state.tagOther = cm.markText(other.from, other.to, {className: "CodeMirror-matchingtag"});
50
- else
51
- cm.state.failedTagMatch = true;
52
- });
53
- }
54
-
55
- function maybeUpdateMatch(cm) {
56
- if (cm.state.failedTagMatch) doMatchTags(cm);
57
- }
58
-
59
- CodeMirror.commands.toMatchingTag = function(cm) {
60
- var found = CodeMirror.findMatchingTag(cm, cm.getCursor());
61
- if (found) {
62
- var other = found.at == "close" ? found.open : found.close;
63
- if (other) cm.extendSelection(other.to, other.from);
64
- }
65
- };
66
- });
@@ -1,27 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3
-
4
- (function(mod) {
5
- if (typeof exports == "object" && typeof module == "object") // CommonJS
6
- mod(require("../../lib/codemirror"));
7
- else if (typeof define == "function" && define.amd) // AMD
8
- define(["../../lib/codemirror"], mod);
9
- else // Plain browser env
10
- mod(CodeMirror);
11
- })(function(CodeMirror) {
12
- CodeMirror.defineOption("showTrailingSpace", false, function(cm, val, prev) {
13
- if (prev == CodeMirror.Init) prev = false;
14
- if (prev && !val)
15
- cm.removeOverlay("trailingspace");
16
- else if (!prev && val)
17
- cm.addOverlay({
18
- token: function(stream) {
19
- for (var l = stream.string.length, i = l; i && /\s/.test(stream.string.charAt(i - 1)); --i) {}
20
- if (i > stream.pos) { stream.pos = i; return null; }
21
- stream.pos = l;
22
- return "trailingspace";
23
- },
24
- name: "trailingspace"
25
- });
26
- });
27
- });
@@ -1,72 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3
-
4
- (function(mod) {
5
- if (typeof exports == "object" && typeof module == "object") // CommonJS
6
- mod(require("../../lib/codemirror"));
7
- else if (typeof define == "function" && define.amd) // AMD
8
- define(["../../lib/codemirror"], mod);
9
- else // Plain browser env
10
- mod(CodeMirror);
11
- })(function(CodeMirror) {
12
- "use strict";
13
- var WRAP_CLASS = "CodeMirror-activeline";
14
- var BACK_CLASS = "CodeMirror-activeline-background";
15
- var GUTT_CLASS = "CodeMirror-activeline-gutter";
16
-
17
- CodeMirror.defineOption("styleActiveLine", false, function(cm, val, old) {
18
- var prev = old == CodeMirror.Init ? false : old;
19
- if (val == prev) return
20
- if (prev) {
21
- cm.off("beforeSelectionChange", selectionChange);
22
- clearActiveLines(cm);
23
- delete cm.state.activeLines;
24
- }
25
- if (val) {
26
- cm.state.activeLines = [];
27
- updateActiveLines(cm, cm.listSelections());
28
- cm.on("beforeSelectionChange", selectionChange);
29
- }
30
- });
31
-
32
- function clearActiveLines(cm) {
33
- for (var i = 0; i < cm.state.activeLines.length; i++) {
34
- cm.removeLineClass(cm.state.activeLines[i], "wrap", WRAP_CLASS);
35
- cm.removeLineClass(cm.state.activeLines[i], "background", BACK_CLASS);
36
- cm.removeLineClass(cm.state.activeLines[i], "gutter", GUTT_CLASS);
37
- }
38
- }
39
-
40
- function sameArray(a, b) {
41
- if (a.length != b.length) return false;
42
- for (var i = 0; i < a.length; i++)
43
- if (a[i] != b[i]) return false;
44
- return true;
45
- }
46
-
47
- function updateActiveLines(cm, ranges) {
48
- var active = [];
49
- for (var i = 0; i < ranges.length; i++) {
50
- var range = ranges[i];
51
- var option = cm.getOption("styleActiveLine");
52
- if (typeof option == "object" && option.nonEmpty ? range.anchor.line != range.head.line : !range.empty())
53
- continue
54
- var line = cm.getLineHandleVisualStart(range.head.line);
55
- if (active[active.length - 1] != line) active.push(line);
56
- }
57
- if (sameArray(cm.state.activeLines, active)) return;
58
- cm.operation(function() {
59
- clearActiveLines(cm);
60
- for (var i = 0; i < active.length; i++) {
61
- cm.addLineClass(active[i], "wrap", WRAP_CLASS);
62
- cm.addLineClass(active[i], "background", BACK_CLASS);
63
- cm.addLineClass(active[i], "gutter", GUTT_CLASS);
64
- }
65
- cm.state.activeLines = active;
66
- });
67
- }
68
-
69
- function selectionChange(cm, sel) {
70
- updateActiveLines(cm, sel.ranges);
71
- }
72
- });
@@ -1,119 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3
-
4
- // Because sometimes you need to mark the selected *text*.
5
- //
6
- // Adds an option 'styleSelectedText' which, when enabled, gives
7
- // selected text the CSS class given as option value, or
8
- // "CodeMirror-selectedtext" when the value is not a string.
9
-
10
- (function(mod) {
11
- if (typeof exports == "object" && typeof module == "object") // CommonJS
12
- mod(require("../../lib/codemirror"));
13
- else if (typeof define == "function" && define.amd) // AMD
14
- define(["../../lib/codemirror"], mod);
15
- else // Plain browser env
16
- mod(CodeMirror);
17
- })(function(CodeMirror) {
18
- "use strict";
19
-
20
- CodeMirror.defineOption("styleSelectedText", false, function(cm, val, old) {
21
- var prev = old && old != CodeMirror.Init;
22
- if (val && !prev) {
23
- cm.state.markedSelection = [];
24
- cm.state.markedSelectionStyle = typeof val == "string" ? val : "CodeMirror-selectedtext";
25
- reset(cm);
26
- cm.on("cursorActivity", onCursorActivity);
27
- cm.on("change", onChange);
28
- } else if (!val && prev) {
29
- cm.off("cursorActivity", onCursorActivity);
30
- cm.off("change", onChange);
31
- clear(cm);
32
- cm.state.markedSelection = cm.state.markedSelectionStyle = null;
33
- }
34
- });
35
-
36
- function onCursorActivity(cm) {
37
- if (cm.state.markedSelection)
38
- cm.operation(function() { update(cm); });
39
- }
40
-
41
- function onChange(cm) {
42
- if (cm.state.markedSelection && cm.state.markedSelection.length)
43
- cm.operation(function() { clear(cm); });
44
- }
45
-
46
- var CHUNK_SIZE = 8;
47
- var Pos = CodeMirror.Pos;
48
- var cmp = CodeMirror.cmpPos;
49
-
50
- function coverRange(cm, from, to, addAt) {
51
- if (cmp(from, to) == 0) return;
52
- var array = cm.state.markedSelection;
53
- var cls = cm.state.markedSelectionStyle;
54
- for (var line = from.line;;) {
55
- var start = line == from.line ? from : Pos(line, 0);
56
- var endLine = line + CHUNK_SIZE, atEnd = endLine >= to.line;
57
- var end = atEnd ? to : Pos(endLine, 0);
58
- var mark = cm.markText(start, end, {className: cls});
59
- if (addAt == null) array.push(mark);
60
- else array.splice(addAt++, 0, mark);
61
- if (atEnd) break;
62
- line = endLine;
63
- }
64
- }
65
-
66
- function clear(cm) {
67
- var array = cm.state.markedSelection;
68
- for (var i = 0; i < array.length; ++i) array[i].clear();
69
- array.length = 0;
70
- }
71
-
72
- function reset(cm) {
73
- clear(cm);
74
- var ranges = cm.listSelections();
75
- for (var i = 0; i < ranges.length; i++)
76
- coverRange(cm, ranges[i].from(), ranges[i].to());
77
- }
78
-
79
- function update(cm) {
80
- if (!cm.somethingSelected()) return clear(cm);
81
- if (cm.listSelections().length > 1) return reset(cm);
82
-
83
- var from = cm.getCursor("start"), to = cm.getCursor("end");
84
-
85
- var array = cm.state.markedSelection;
86
- if (!array.length) return coverRange(cm, from, to);
87
-
88
- var coverStart = array[0].find(), coverEnd = array[array.length - 1].find();
89
- if (!coverStart || !coverEnd || to.line - from.line <= CHUNK_SIZE ||
90
- cmp(from, coverEnd.to) >= 0 || cmp(to, coverStart.from) <= 0)
91
- return reset(cm);
92
-
93
- while (cmp(from, coverStart.from) > 0) {
94
- array.shift().clear();
95
- coverStart = array[0].find();
96
- }
97
- if (cmp(from, coverStart.from) < 0) {
98
- if (coverStart.to.line - from.line < CHUNK_SIZE) {
99
- array.shift().clear();
100
- coverRange(cm, from, coverStart.to, 0);
101
- } else {
102
- coverRange(cm, from, coverStart.from, 0);
103
- }
104
- }
105
-
106
- while (cmp(to, coverEnd.to) < 0) {
107
- array.pop().clear();
108
- coverEnd = array[array.length - 1].find();
109
- }
110
- if (cmp(to, coverEnd.to) > 0) {
111
- if (to.line - coverEnd.from.line < CHUNK_SIZE) {
112
- array.pop().clear();
113
- coverRange(cm, coverEnd.from, to);
114
- } else {
115
- coverRange(cm, coverEnd.to, to);
116
- }
117
- }
118
- }
119
- });
@@ -1,98 +0,0 @@
1
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
2
- // Distributed under an MIT license: https://codemirror.net/5/LICENSE
3
-
4
- (function(mod) {
5
- if (typeof exports == "object" && typeof module == "object") // CommonJS
6
- mod(require("../../lib/codemirror"));
7
- else if (typeof define == "function" && define.amd) // AMD
8
- define(["../../lib/codemirror"], mod);
9
- else // Plain browser env
10
- mod(CodeMirror);
11
- })(function(CodeMirror) {
12
- "use strict";
13
-
14
- CodeMirror.defineOption("selectionPointer", false, function(cm, val) {
15
- var data = cm.state.selectionPointer;
16
- if (data) {
17
- CodeMirror.off(cm.getWrapperElement(), "mousemove", data.mousemove);
18
- CodeMirror.off(cm.getWrapperElement(), "mouseout", data.mouseout);
19
- CodeMirror.off(window, "scroll", data.windowScroll);
20
- cm.off("cursorActivity", reset);
21
- cm.off("scroll", reset);
22
- cm.state.selectionPointer = null;
23
- cm.display.lineDiv.style.cursor = "";
24
- }
25
- if (val) {
26
- data = cm.state.selectionPointer = {
27
- value: typeof val == "string" ? val : "default",
28
- mousemove: function(event) { mousemove(cm, event); },
29
- mouseout: function(event) { mouseout(cm, event); },
30
- windowScroll: function() { reset(cm); },
31
- rects: null,
32
- mouseX: null, mouseY: null,
33
- willUpdate: false
34
- };
35
- CodeMirror.on(cm.getWrapperElement(), "mousemove", data.mousemove);
36
- CodeMirror.on(cm.getWrapperElement(), "mouseout", data.mouseout);
37
- CodeMirror.on(window, "scroll", data.windowScroll);
38
- cm.on("cursorActivity", reset);
39
- cm.on("scroll", reset);
40
- }
41
- });
42
-
43
- function mousemove(cm, event) {
44
- var data = cm.state.selectionPointer;
45
- if (event.buttons == null ? event.which : event.buttons) {
46
- data.mouseX = data.mouseY = null;
47
- } else {
48
- data.mouseX = event.clientX;
49
- data.mouseY = event.clientY;
50
- }
51
- scheduleUpdate(cm);
52
- }
53
-
54
- function mouseout(cm, event) {
55
- if (!cm.getWrapperElement().contains(event.relatedTarget)) {
56
- var data = cm.state.selectionPointer;
57
- data.mouseX = data.mouseY = null;
58
- scheduleUpdate(cm);
59
- }
60
- }
61
-
62
- function reset(cm) {
63
- cm.state.selectionPointer.rects = null;
64
- scheduleUpdate(cm);
65
- }
66
-
67
- function scheduleUpdate(cm) {
68
- if (!cm.state.selectionPointer.willUpdate) {
69
- cm.state.selectionPointer.willUpdate = true;
70
- setTimeout(function() {
71
- update(cm);
72
- cm.state.selectionPointer.willUpdate = false;
73
- }, 50);
74
- }
75
- }
76
-
77
- function update(cm) {
78
- var data = cm.state.selectionPointer;
79
- if (!data) return;
80
- if (data.rects == null && data.mouseX != null) {
81
- data.rects = [];
82
- if (cm.somethingSelected()) {
83
- for (var sel = cm.display.selectionDiv.firstChild; sel; sel = sel.nextSibling)
84
- data.rects.push(sel.getBoundingClientRect());
85
- }
86
- }
87
- var inside = false;
88
- if (data.mouseX != null) for (var i = 0; i < data.rects.length; i++) {
89
- var rect = data.rects[i];
90
- if (rect.left <= data.mouseX && rect.right >= data.mouseX &&
91
- rect.top <= data.mouseY && rect.bottom >= data.mouseY)
92
- inside = true;
93
- }
94
- var cursor = inside ? data.value : "";
95
- if (cm.display.lineDiv.style.cursor != cursor)
96
- cm.display.lineDiv.style.cursor = cursor;
97
- }
98
- });
@@ -1,225 +0,0 @@
1
- @font-face {
2
- font-family: 'Source Sans Pro';
3
- font-style: normal;
4
- font-weight: 400;
5
- src: local('Source Sans Pro'), local('SourceSansPro-Regular'), url(source_sans.woff) format('woff');
6
- }
7
-
8
- body, html { margin: 0; padding: 0; height: 100%; }
9
- section, article { display: block; padding: 0; }
10
-
11
- body {
12
- background: #f8f8f8;
13
- font-family: 'Source Sans Pro', Helvetica, Arial, sans-serif;
14
- line-height: 1.5;
15
- }
16
-
17
- p { margin-top: 0; }
18
-
19
- h2, h3, h1 {
20
- font-weight: normal;
21
- margin-bottom: .7em;
22
- }
23
- h1 { font-size: 140%; }
24
- h2 { font-size: 120%; }
25
- h3 { font-size: 110%; }
26
- article > h2:first-child, section:first-child > h2 { margin-top: 0; }
27
-
28
- #nav h1 {
29
- margin-right: 12px;
30
- margin-top: 0;
31
- margin-bottom: 2px;
32
- color: #d30707;
33
- letter-spacing: .5px;
34
- }
35
-
36
- a, a:visited, a:link, .quasilink {
37
- color: #A21313;
38
- }
39
-
40
- em {
41
- padding-right: 2px;
42
- }
43
-
44
- .quasilink {
45
- cursor: pointer;
46
- }
47
-
48
- article {
49
- max-width: 700px;
50
- margin: 0 0 0 160px;
51
- border-left: 2px solid #E30808;
52
- border-right: 1px solid #ddd;
53
- padding: 30px 50px 100px 50px;
54
- background: white;
55
- z-index: 2;
56
- position: relative;
57
- min-height: 100%;
58
- box-sizing: border-box;
59
- -moz-box-sizing: border-box;
60
- }
61
-
62
- #nav {
63
- position: fixed;
64
- padding-top: 30px;
65
- max-height: 100%;
66
- box-sizing: -moz-border-box;
67
- box-sizing: border-box;
68
- overflow-y: auto;
69
- left: 0; right: none;
70
- width: 160px;
71
- text-align: right;
72
- z-index: 1;
73
- }
74
-
75
- @media screen and (min-width: 1000px) {
76
- article {
77
- margin: 0 auto;
78
- }
79
- #nav {
80
- right: 50%;
81
- width: auto;
82
- border-right: 349px solid transparent;
83
- }
84
- }
85
-
86
- #nav ul {
87
- display: block;
88
- margin: 0; padding: 0;
89
- margin-bottom: 32px;
90
- }
91
-
92
- #nav a {
93
- text-decoration: none;
94
- }
95
-
96
- #nav li {
97
- display: block;
98
- margin-bottom: 4px;
99
- }
100
-
101
- #nav li ul {
102
- font-size: 80%;
103
- margin-bottom: 0;
104
- display: none;
105
- }
106
-
107
- #nav li.active ul {
108
- display: block;
109
- }
110
-
111
- #nav li li a {
112
- padding-right: 20px;
113
- display: inline-block;
114
- }
115
-
116
- #nav ul a {
117
- color: black;
118
- padding: 0 7px 1px 11px;
119
- }
120
-
121
- #nav ul a.active, #nav ul a:hover {
122
- border-bottom: 1px solid #E30808;
123
- margin-bottom: -1px;
124
- color: #E30808;
125
- }
126
-
127
- #logo {
128
- border: 0;
129
- margin-right: 12px;
130
- margin-bottom: 25px;
131
- }
132
-
133
- section {
134
- border-top: 1px solid #E30808;
135
- margin: 1.5em 0;
136
- }
137
-
138
- section.first {
139
- border: none;
140
- margin-top: 0;
141
- }
142
-
143
- #demo {
144
- position: relative;
145
- }
146
-
147
- #demolist {
148
- position: absolute;
149
- right: 5px;
150
- top: 5px;
151
- z-index: 25;
152
- }
153
-
154
- .yinyang {
155
- position: absolute;
156
- top: -10px;
157
- left: 0; right: 0;
158
- margin: auto;
159
- display: block;
160
- height: 120px;
161
- }
162
-
163
- .actions {
164
- margin: 1em 0 0;
165
- min-height: 100px;
166
- position: relative;
167
- }
168
-
169
- @media screen and (max-width: 800px) {
170
- .actions {
171
- padding-top: 120px;
172
- }
173
- .actionsleft, .actionsright {
174
- float: none;
175
- text-align: left;
176
- margin-bottom: 1em;
177
- }
178
- }
179
-
180
- th {
181
- text-decoration: underline;
182
- font-weight: normal;
183
- text-align: left;
184
- }
185
-
186
- #features ul {
187
- list-style: none;
188
- margin: 0 0 1em;
189
- padding: 0 0 0 1.2em;
190
- }
191
-
192
- #features li:before {
193
- content: "-";
194
- width: 1em;
195
- display: inline-block;
196
- padding: 0;
197
- margin: 0;
198
- margin-left: -1em;
199
- }
200
-
201
- .rel {
202
- margin-bottom: 0;
203
- }
204
- .rel-note {
205
- margin-top: 0;
206
- color: #555;
207
- }
208
-
209
- pre {
210
- padding-left: 15px;
211
- border-left: 2px solid #ddd;
212
- }
213
-
214
- code {
215
- padding: 0 2px;
216
- }
217
-
218
- strong {
219
- text-decoration: underline;
220
- font-weight: normal;
221
- }
222
-
223
- .field {
224
- border: 1px solid #A21313;
225
- }