llms-py 3.0.0__py3-none-any.whl → 3.0.0b1__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 (206) hide show
  1. llms/index.html +77 -35
  2. llms/llms.json +23 -72
  3. llms/main.py +732 -1786
  4. llms/providers.json +1 -1
  5. llms/{extensions/analytics/ui/index.mjs → ui/Analytics.mjs} +238 -154
  6. llms/ui/App.mjs +60 -151
  7. llms/ui/Avatar.mjs +85 -0
  8. llms/ui/Brand.mjs +52 -0
  9. llms/ui/ChatPrompt.mjs +606 -0
  10. llms/ui/Main.mjs +873 -0
  11. llms/ui/ModelSelector.mjs +693 -0
  12. llms/ui/OAuthSignIn.mjs +92 -0
  13. llms/ui/ProviderIcon.mjs +36 -0
  14. llms/ui/ProviderStatus.mjs +105 -0
  15. llms/{extensions/app/ui → ui}/Recents.mjs +65 -91
  16. llms/ui/{modules/chat/SettingsDialog.mjs → SettingsDialog.mjs} +9 -9
  17. llms/{extensions/app/ui/index.mjs → ui/Sidebar.mjs} +58 -124
  18. llms/ui/SignIn.mjs +64 -0
  19. llms/ui/SystemPromptEditor.mjs +31 -0
  20. llms/ui/SystemPromptSelector.mjs +56 -0
  21. llms/ui/Welcome.mjs +8 -0
  22. llms/ui/ai.mjs +53 -125
  23. llms/ui/app.css +111 -1837
  24. llms/ui/lib/charts.mjs +13 -9
  25. llms/ui/lib/servicestack-vue.mjs +3 -3
  26. llms/ui/lib/vue.min.mjs +9 -10
  27. llms/ui/lib/vue.mjs +1602 -1763
  28. llms/ui/markdown.mjs +2 -10
  29. llms/ui/tailwind.input.css +80 -496
  30. llms/ui/threadStore.mjs +572 -0
  31. llms/ui/utils.mjs +117 -113
  32. llms/ui.json +1069 -0
  33. {llms_py-3.0.0.dist-info → llms_py-3.0.0b1.dist-info}/METADATA +1 -1
  34. llms_py-3.0.0b1.dist-info/RECORD +49 -0
  35. llms/__pycache__/__init__.cpython-312.pyc +0 -0
  36. llms/__pycache__/__init__.cpython-313.pyc +0 -0
  37. llms/__pycache__/__init__.cpython-314.pyc +0 -0
  38. llms/__pycache__/__main__.cpython-312.pyc +0 -0
  39. llms/__pycache__/__main__.cpython-314.pyc +0 -0
  40. llms/__pycache__/llms.cpython-312.pyc +0 -0
  41. llms/__pycache__/main.cpython-312.pyc +0 -0
  42. llms/__pycache__/main.cpython-313.pyc +0 -0
  43. llms/__pycache__/main.cpython-314.pyc +0 -0
  44. llms/__pycache__/plugins.cpython-314.pyc +0 -0
  45. llms/extensions/app/README.md +0 -20
  46. llms/extensions/app/__init__.py +0 -530
  47. llms/extensions/app/__pycache__/__init__.cpython-314.pyc +0 -0
  48. llms/extensions/app/__pycache__/db.cpython-314.pyc +0 -0
  49. llms/extensions/app/__pycache__/db_manager.cpython-314.pyc +0 -0
  50. llms/extensions/app/db.py +0 -644
  51. llms/extensions/app/db_manager.py +0 -195
  52. llms/extensions/app/requests.json +0 -9073
  53. llms/extensions/app/threads.json +0 -15290
  54. llms/extensions/app/ui/threadStore.mjs +0 -411
  55. llms/extensions/core_tools/CALCULATOR.md +0 -32
  56. llms/extensions/core_tools/__init__.py +0 -598
  57. llms/extensions/core_tools/__pycache__/__init__.cpython-314.pyc +0 -0
  58. llms/extensions/core_tools/ui/codemirror/addon/edit/closebrackets.js +0 -201
  59. llms/extensions/core_tools/ui/codemirror/addon/edit/closetag.js +0 -185
  60. llms/extensions/core_tools/ui/codemirror/addon/edit/continuelist.js +0 -101
  61. llms/extensions/core_tools/ui/codemirror/addon/edit/matchbrackets.js +0 -160
  62. llms/extensions/core_tools/ui/codemirror/addon/edit/matchtags.js +0 -66
  63. llms/extensions/core_tools/ui/codemirror/addon/edit/trailingspace.js +0 -27
  64. llms/extensions/core_tools/ui/codemirror/addon/selection/active-line.js +0 -72
  65. llms/extensions/core_tools/ui/codemirror/addon/selection/mark-selection.js +0 -119
  66. llms/extensions/core_tools/ui/codemirror/addon/selection/selection-pointer.js +0 -98
  67. llms/extensions/core_tools/ui/codemirror/doc/docs.css +0 -225
  68. llms/extensions/core_tools/ui/codemirror/doc/source_sans.woff +0 -0
  69. llms/extensions/core_tools/ui/codemirror/lib/codemirror.css +0 -344
  70. llms/extensions/core_tools/ui/codemirror/lib/codemirror.js +0 -9884
  71. llms/extensions/core_tools/ui/codemirror/mode/clike/clike.js +0 -942
  72. llms/extensions/core_tools/ui/codemirror/mode/javascript/index.html +0 -118
  73. llms/extensions/core_tools/ui/codemirror/mode/javascript/javascript.js +0 -962
  74. llms/extensions/core_tools/ui/codemirror/mode/javascript/typescript.html +0 -62
  75. llms/extensions/core_tools/ui/codemirror/mode/python/python.js +0 -402
  76. llms/extensions/core_tools/ui/codemirror/theme/dracula.css +0 -40
  77. llms/extensions/core_tools/ui/codemirror/theme/mocha.css +0 -135
  78. llms/extensions/core_tools/ui/index.mjs +0 -650
  79. llms/extensions/gallery/README.md +0 -61
  80. llms/extensions/gallery/__init__.py +0 -61
  81. llms/extensions/gallery/__pycache__/__init__.cpython-314.pyc +0 -0
  82. llms/extensions/gallery/__pycache__/db.cpython-314.pyc +0 -0
  83. llms/extensions/gallery/db.py +0 -298
  84. llms/extensions/gallery/ui/index.mjs +0 -482
  85. llms/extensions/katex/README.md +0 -39
  86. llms/extensions/katex/__init__.py +0 -6
  87. llms/extensions/katex/__pycache__/__init__.cpython-314.pyc +0 -0
  88. llms/extensions/katex/ui/README.md +0 -125
  89. llms/extensions/katex/ui/contrib/auto-render.js +0 -338
  90. llms/extensions/katex/ui/contrib/auto-render.min.js +0 -1
  91. llms/extensions/katex/ui/contrib/auto-render.mjs +0 -244
  92. llms/extensions/katex/ui/contrib/copy-tex.js +0 -127
  93. llms/extensions/katex/ui/contrib/copy-tex.min.js +0 -1
  94. llms/extensions/katex/ui/contrib/copy-tex.mjs +0 -105
  95. llms/extensions/katex/ui/contrib/mathtex-script-type.js +0 -109
  96. llms/extensions/katex/ui/contrib/mathtex-script-type.min.js +0 -1
  97. llms/extensions/katex/ui/contrib/mathtex-script-type.mjs +0 -24
  98. llms/extensions/katex/ui/contrib/mhchem.js +0 -3213
  99. llms/extensions/katex/ui/contrib/mhchem.min.js +0 -1
  100. llms/extensions/katex/ui/contrib/mhchem.mjs +0 -3109
  101. llms/extensions/katex/ui/contrib/render-a11y-string.js +0 -887
  102. llms/extensions/katex/ui/contrib/render-a11y-string.min.js +0 -1
  103. llms/extensions/katex/ui/contrib/render-a11y-string.mjs +0 -800
  104. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.ttf +0 -0
  105. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff +0 -0
  106. llms/extensions/katex/ui/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  107. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  108. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  109. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  110. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  111. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  112. llms/extensions/katex/ui/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  113. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  114. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  115. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  116. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  117. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  118. llms/extensions/katex/ui/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  119. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.ttf +0 -0
  120. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff +0 -0
  121. llms/extensions/katex/ui/fonts/KaTeX_Main-Bold.woff2 +0 -0
  122. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  123. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  124. llms/extensions/katex/ui/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  125. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.ttf +0 -0
  126. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff +0 -0
  127. llms/extensions/katex/ui/fonts/KaTeX_Main-Italic.woff2 +0 -0
  128. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.ttf +0 -0
  129. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff +0 -0
  130. llms/extensions/katex/ui/fonts/KaTeX_Main-Regular.woff2 +0 -0
  131. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  132. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  133. llms/extensions/katex/ui/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  134. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.ttf +0 -0
  135. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff +0 -0
  136. llms/extensions/katex/ui/fonts/KaTeX_Math-Italic.woff2 +0 -0
  137. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  138. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  139. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  140. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  141. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  142. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  143. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  144. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  145. llms/extensions/katex/ui/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  146. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.ttf +0 -0
  147. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff +0 -0
  148. llms/extensions/katex/ui/fonts/KaTeX_Script-Regular.woff2 +0 -0
  149. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.ttf +0 -0
  150. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff +0 -0
  151. llms/extensions/katex/ui/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  152. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.ttf +0 -0
  153. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff +0 -0
  154. llms/extensions/katex/ui/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  155. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.ttf +0 -0
  156. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff +0 -0
  157. llms/extensions/katex/ui/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  158. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.ttf +0 -0
  159. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff +0 -0
  160. llms/extensions/katex/ui/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  161. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  162. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  163. llms/extensions/katex/ui/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  164. llms/extensions/katex/ui/index.mjs +0 -92
  165. llms/extensions/katex/ui/katex-swap.css +0 -1230
  166. llms/extensions/katex/ui/katex-swap.min.css +0 -1
  167. llms/extensions/katex/ui/katex.css +0 -1230
  168. llms/extensions/katex/ui/katex.js +0 -19080
  169. llms/extensions/katex/ui/katex.min.css +0 -1
  170. llms/extensions/katex/ui/katex.min.js +0 -1
  171. llms/extensions/katex/ui/katex.min.mjs +0 -1
  172. llms/extensions/katex/ui/katex.mjs +0 -18547
  173. llms/extensions/providers/__init__.py +0 -18
  174. llms/extensions/providers/__pycache__/__init__.cpython-314.pyc +0 -0
  175. llms/extensions/providers/__pycache__/anthropic.cpython-314.pyc +0 -0
  176. llms/extensions/providers/__pycache__/chutes.cpython-314.pyc +0 -0
  177. llms/extensions/providers/__pycache__/google.cpython-314.pyc +0 -0
  178. llms/extensions/providers/__pycache__/nvidia.cpython-314.pyc +0 -0
  179. llms/extensions/providers/__pycache__/openai.cpython-314.pyc +0 -0
  180. llms/extensions/providers/__pycache__/openrouter.cpython-314.pyc +0 -0
  181. llms/extensions/providers/anthropic.py +0 -229
  182. llms/extensions/providers/chutes.py +0 -155
  183. llms/extensions/providers/google.py +0 -378
  184. llms/extensions/providers/nvidia.py +0 -105
  185. llms/extensions/providers/openai.py +0 -156
  186. llms/extensions/providers/openrouter.py +0 -72
  187. llms/extensions/system_prompts/README.md +0 -22
  188. llms/extensions/system_prompts/__init__.py +0 -45
  189. llms/extensions/system_prompts/__pycache__/__init__.cpython-314.pyc +0 -0
  190. llms/extensions/system_prompts/ui/index.mjs +0 -280
  191. llms/extensions/system_prompts/ui/prompts.json +0 -1067
  192. llms/extensions/tools/__init__.py +0 -5
  193. llms/extensions/tools/__pycache__/__init__.cpython-314.pyc +0 -0
  194. llms/extensions/tools/ui/index.mjs +0 -204
  195. llms/providers-extra.json +0 -356
  196. llms/ui/ctx.mjs +0 -365
  197. llms/ui/index.mjs +0 -129
  198. llms/ui/modules/chat/ChatBody.mjs +0 -691
  199. llms/ui/modules/chat/index.mjs +0 -828
  200. llms/ui/modules/layout.mjs +0 -243
  201. llms/ui/modules/model-selector.mjs +0 -851
  202. llms_py-3.0.0.dist-info/RECORD +0 -202
  203. {llms_py-3.0.0.dist-info → llms_py-3.0.0b1.dist-info}/WHEEL +0 -0
  204. {llms_py-3.0.0.dist-info → llms_py-3.0.0b1.dist-info}/entry_points.txt +0 -0
  205. {llms_py-3.0.0.dist-info → llms_py-3.0.0b1.dist-info}/licenses/LICENSE +0 -0
  206. {llms_py-3.0.0.dist-info → llms_py-3.0.0b1.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
- }