mimo-reasonix 0.1.0 → 0.1.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 (1239) hide show
  1. package/dist/cli/package.json +1 -1
  2. package/node_modules/@alcalzone/ansi-tokenize/LICENSE +21 -0
  3. package/node_modules/@alcalzone/ansi-tokenize/README.md +278 -0
  4. package/node_modules/@alcalzone/ansi-tokenize/build/ansiCodes.d.ts +7 -0
  5. package/node_modules/@alcalzone/ansi-tokenize/build/ansiCodes.js +57 -0
  6. package/node_modules/@alcalzone/ansi-tokenize/build/ansiCodes.js.map +1 -0
  7. package/node_modules/@alcalzone/ansi-tokenize/build/consts.d.ts +17 -0
  8. package/node_modules/@alcalzone/ansi-tokenize/build/consts.js +28 -0
  9. package/node_modules/@alcalzone/ansi-tokenize/build/consts.js.map +1 -0
  10. package/node_modules/@alcalzone/ansi-tokenize/build/diff.d.ts +6 -0
  11. package/node_modules/@alcalzone/ansi-tokenize/build/diff.js +26 -0
  12. package/node_modules/@alcalzone/ansi-tokenize/build/diff.js.map +1 -0
  13. package/node_modules/@alcalzone/ansi-tokenize/build/index.d.ts +6 -0
  14. package/node_modules/@alcalzone/ansi-tokenize/build/index.js +7 -0
  15. package/node_modules/@alcalzone/ansi-tokenize/build/index.js.map +1 -0
  16. package/node_modules/@alcalzone/ansi-tokenize/build/reduce.d.ts +5 -0
  17. package/node_modules/@alcalzone/ansi-tokenize/build/reduce.js +37 -0
  18. package/node_modules/@alcalzone/ansi-tokenize/build/reduce.js.map +1 -0
  19. package/node_modules/@alcalzone/ansi-tokenize/build/styledChars.d.ts +6 -0
  20. package/node_modules/@alcalzone/ansi-tokenize/build/styledChars.js +38 -0
  21. package/node_modules/@alcalzone/ansi-tokenize/build/styledChars.js.map +1 -0
  22. package/node_modules/@alcalzone/ansi-tokenize/build/tokenize.d.ts +16 -0
  23. package/node_modules/@alcalzone/ansi-tokenize/build/tokenize.js +194 -0
  24. package/node_modules/@alcalzone/ansi-tokenize/build/tokenize.js.map +1 -0
  25. package/node_modules/@alcalzone/ansi-tokenize/build/undo.d.ts +3 -0
  26. package/node_modules/@alcalzone/ansi-tokenize/build/undo.js +11 -0
  27. package/node_modules/@alcalzone/ansi-tokenize/build/undo.js.map +1 -0
  28. package/node_modules/@alcalzone/ansi-tokenize/package.json +55 -0
  29. package/node_modules/ansi-regex/index.d.ts +33 -0
  30. package/node_modules/ansi-regex/index.js +14 -0
  31. package/node_modules/ansi-regex/license +9 -0
  32. package/node_modules/ansi-regex/package.json +61 -0
  33. package/node_modules/ansi-regex/readme.md +66 -0
  34. package/node_modules/ansi-styles/index.d.ts +236 -0
  35. package/node_modules/ansi-styles/index.js +223 -0
  36. package/node_modules/ansi-styles/license +9 -0
  37. package/node_modules/ansi-styles/package.json +54 -0
  38. package/node_modules/ansi-styles/readme.md +173 -0
  39. package/node_modules/auto-bind/index.d.ts +50 -0
  40. package/node_modules/auto-bind/index.js +41 -0
  41. package/node_modules/auto-bind/license +9 -0
  42. package/node_modules/auto-bind/package.json +51 -0
  43. package/node_modules/auto-bind/react.d.ts +26 -0
  44. package/node_modules/auto-bind/react.js +28 -0
  45. package/node_modules/auto-bind/readme.md +92 -0
  46. package/node_modules/bidi-js/LICENSE.txt +22 -0
  47. package/node_modules/bidi-js/README.md +133 -0
  48. package/node_modules/bidi-js/dist/bidi.js +1010 -0
  49. package/node_modules/bidi-js/dist/bidi.min.js +1 -0
  50. package/node_modules/bidi-js/dist/bidi.min.mjs +1 -0
  51. package/node_modules/bidi-js/dist/bidi.mjs +1002 -0
  52. package/node_modules/bidi-js/package.json +39 -0
  53. package/node_modules/bidi-js/src/brackets.js +30 -0
  54. package/node_modules/bidi-js/src/charTypes.js +66 -0
  55. package/node_modules/bidi-js/src/data/bidiBrackets.data.js +5 -0
  56. package/node_modules/bidi-js/src/data/bidiCharTypes.data.js +25 -0
  57. package/node_modules/bidi-js/src/data/bidiMirroring.data.js +2 -0
  58. package/node_modules/bidi-js/src/embeddingLevels.js +690 -0
  59. package/node_modules/bidi-js/src/index.js +5 -0
  60. package/node_modules/bidi-js/src/mirroring.js +48 -0
  61. package/node_modules/bidi-js/src/reordering.js +99 -0
  62. package/node_modules/bidi-js/src/util/parseCharacterMap.js +30 -0
  63. package/node_modules/chalk/license +9 -0
  64. package/node_modules/chalk/package.json +83 -0
  65. package/node_modules/chalk/readme.md +297 -0
  66. package/node_modules/chalk/source/index.d.ts +325 -0
  67. package/node_modules/chalk/source/index.js +225 -0
  68. package/node_modules/chalk/source/utilities.js +33 -0
  69. package/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
  70. package/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
  71. package/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
  72. package/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
  73. package/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
  74. package/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
  75. package/node_modules/cli-boxes/boxes.json +82 -0
  76. package/node_modules/cli-boxes/index.d.ts +122 -0
  77. package/node_modules/cli-boxes/index.js +3 -0
  78. package/node_modules/cli-boxes/license +9 -0
  79. package/node_modules/cli-boxes/package.json +49 -0
  80. package/node_modules/cli-boxes/readme.md +103 -0
  81. package/node_modules/code-excerpt/dist/index.d.ts +9 -0
  82. package/node_modules/code-excerpt/dist/index.js +27 -0
  83. package/node_modules/code-excerpt/license +21 -0
  84. package/node_modules/code-excerpt/package.json +43 -0
  85. package/node_modules/code-excerpt/readme.md +65 -0
  86. package/node_modules/convert-to-spaces/dist/index.d.ts +2 -0
  87. package/node_modules/convert-to-spaces/dist/index.js +4 -0
  88. package/node_modules/convert-to-spaces/license +21 -0
  89. package/node_modules/convert-to-spaces/package.json +40 -0
  90. package/node_modules/convert-to-spaces/readme.md +39 -0
  91. package/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  92. package/node_modules/emoji-regex/README.md +107 -0
  93. package/node_modules/emoji-regex/index.d.ts +3 -0
  94. package/node_modules/emoji-regex/index.js +4 -0
  95. package/node_modules/emoji-regex/index.mjs +4 -0
  96. package/node_modules/emoji-regex/package.json +45 -0
  97. package/node_modules/escape-string-regexp/index.d.ts +18 -0
  98. package/node_modules/escape-string-regexp/index.js +11 -0
  99. package/node_modules/escape-string-regexp/license +9 -0
  100. package/node_modules/escape-string-regexp/package.json +43 -0
  101. package/node_modules/escape-string-regexp/readme.md +29 -0
  102. package/node_modules/get-east-asian-width/index.d.ts +60 -0
  103. package/node_modules/get-east-asian-width/index.js +30 -0
  104. package/node_modules/get-east-asian-width/license +9 -0
  105. package/node_modules/get-east-asian-width/lookup-data.js +18 -0
  106. package/node_modules/get-east-asian-width/lookup.js +135 -0
  107. package/node_modules/get-east-asian-width/package.json +71 -0
  108. package/node_modules/get-east-asian-width/readme.md +65 -0
  109. package/node_modules/get-east-asian-width/utilities.js +24 -0
  110. package/node_modules/indent-string/index.d.ts +38 -0
  111. package/node_modules/indent-string/index.js +38 -0
  112. package/node_modules/indent-string/license +9 -0
  113. package/node_modules/indent-string/package.json +40 -0
  114. package/node_modules/indent-string/readme.md +73 -0
  115. package/node_modules/ink/LICENSE +30 -0
  116. package/node_modules/ink/package.json +53 -0
  117. package/node_modules/ink/src/Ansi.tsx +254 -0
  118. package/node_modules/ink/src/_internal/debug.ts +27 -0
  119. package/node_modules/ink/src/_internal/earlyInput.ts +7 -0
  120. package/node_modules/ink/src/_internal/env.ts +38 -0
  121. package/node_modules/ink/src/_internal/envUtils.ts +13 -0
  122. package/node_modules/ink/src/_internal/execFileNoThrow.ts +58 -0
  123. package/node_modules/ink/src/_internal/fullscreen.ts +9 -0
  124. package/node_modules/ink/src/_internal/intl.ts +13 -0
  125. package/node_modules/ink/src/_internal/iter-lines.ts +14 -0
  126. package/node_modules/ink/src/_internal/log.ts +15 -0
  127. package/node_modules/ink/src/_internal/semver.ts +12 -0
  128. package/node_modules/ink/src/_internal/sliceAnsi.ts +6 -0
  129. package/node_modules/ink/src/_internal/state.ts +22 -0
  130. package/node_modules/ink/src/_internal/yoga-layout.ts +23 -0
  131. package/node_modules/ink/src/ambient.d.ts +47 -0
  132. package/node_modules/ink/src/bidi.ts +110 -0
  133. package/node_modules/ink/src/clearTerminal.ts +53 -0
  134. package/node_modules/ink/src/colorize.ts +129 -0
  135. package/node_modules/ink/src/components/AlternateScreen.tsx +49 -0
  136. package/node_modules/ink/src/components/App.tsx +700 -0
  137. package/node_modules/ink/src/components/AppContext.ts +17 -0
  138. package/node_modules/ink/src/components/Box.tsx +105 -0
  139. package/node_modules/ink/src/components/Button.tsx +96 -0
  140. package/node_modules/ink/src/components/ClockContext.tsx +94 -0
  141. package/node_modules/ink/src/components/CursorDeclarationContext.ts +23 -0
  142. package/node_modules/ink/src/components/ErrorOverview.tsx +116 -0
  143. package/node_modules/ink/src/components/Link.tsx +27 -0
  144. package/node_modules/ink/src/components/Newline.tsx +11 -0
  145. package/node_modules/ink/src/components/NoSelect.tsx +16 -0
  146. package/node_modules/ink/src/components/RawAnsi.tsx +18 -0
  147. package/node_modules/ink/src/components/ScrollBox.tsx +209 -0
  148. package/node_modules/ink/src/components/Spacer.tsx +6 -0
  149. package/node_modules/ink/src/components/StdinContext.ts +35 -0
  150. package/node_modules/ink/src/components/TerminalFocusContext.tsx +37 -0
  151. package/node_modules/ink/src/components/TerminalSizeContext.tsx +9 -0
  152. package/node_modules/ink/src/components/Text.tsx +85 -0
  153. package/node_modules/ink/src/components/TextInput.tsx +140 -0
  154. package/node_modules/ink/src/constants.ts +2 -0
  155. package/node_modules/ink/src/cursor.ts +6 -0
  156. package/node_modules/ink/src/devtools.ts +2 -0
  157. package/node_modules/ink/src/dom.ts +451 -0
  158. package/node_modules/ink/src/events/click-event.ts +19 -0
  159. package/node_modules/ink/src/events/dispatcher.ts +185 -0
  160. package/node_modules/ink/src/events/emitter.ts +37 -0
  161. package/node_modules/ink/src/events/event-handlers.ts +60 -0
  162. package/node_modules/ink/src/events/event.ts +12 -0
  163. package/node_modules/ink/src/events/focus-event.ts +13 -0
  164. package/node_modules/ink/src/events/input-event.ts +212 -0
  165. package/node_modules/ink/src/events/keyboard-event.ts +41 -0
  166. package/node_modules/ink/src/events/paste-event.ts +11 -0
  167. package/node_modules/ink/src/events/resize-event.ts +13 -0
  168. package/node_modules/ink/src/events/terminal-event.ts +99 -0
  169. package/node_modules/ink/src/events/terminal-focus-event.ts +13 -0
  170. package/node_modules/ink/src/focus.ts +159 -0
  171. package/node_modules/ink/src/frame.ts +105 -0
  172. package/node_modules/ink/src/get-max-width.ts +10 -0
  173. package/node_modules/ink/src/hit-test.ts +107 -0
  174. package/node_modules/ink/src/hooks/use-animation-frame.ts +33 -0
  175. package/node_modules/ink/src/hooks/use-app.ts +6 -0
  176. package/node_modules/ink/src/hooks/use-declared-cursor.ts +59 -0
  177. package/node_modules/ink/src/hooks/use-input.ts +57 -0
  178. package/node_modules/ink/src/hooks/use-interval.ts +53 -0
  179. package/node_modules/ink/src/hooks/use-search-highlight.ts +41 -0
  180. package/node_modules/ink/src/hooks/use-selection.ts +86 -0
  181. package/node_modules/ink/src/hooks/use-stdin.ts +6 -0
  182. package/node_modules/ink/src/hooks/use-tab-status.ts +68 -0
  183. package/node_modules/ink/src/hooks/use-terminal-focus.ts +8 -0
  184. package/node_modules/ink/src/hooks/use-terminal-title.ts +21 -0
  185. package/node_modules/ink/src/hooks/use-terminal-viewport.ts +77 -0
  186. package/node_modules/ink/src/index.ts +150 -0
  187. package/node_modules/ink/src/ink.tsx +1499 -0
  188. package/node_modules/ink/src/instances.ts +5 -0
  189. package/node_modules/ink/src/layout/engine.ts +10 -0
  190. package/node_modules/ink/src/layout/geometry.ts +116 -0
  191. package/node_modules/ink/src/layout/node.ts +178 -0
  192. package/node_modules/ink/src/layout/yoga.ts +316 -0
  193. package/node_modules/ink/src/line-width-cache.ts +19 -0
  194. package/node_modules/ink/src/log-update.ts +777 -0
  195. package/node_modules/ink/src/measure-element.ts +14 -0
  196. package/node_modules/ink/src/measure-text.ts +29 -0
  197. package/node_modules/ink/src/node-cache.ts +58 -0
  198. package/node_modules/ink/src/optimizer.ts +65 -0
  199. package/node_modules/ink/src/output.ts +730 -0
  200. package/node_modules/ink/src/parse-keypress.ts +751 -0
  201. package/node_modules/ink/src/react-jsx-aug.d.ts +14 -0
  202. package/node_modules/ink/src/reconciler.ts +508 -0
  203. package/node_modules/ink/src/render-border.ts +230 -0
  204. package/node_modules/ink/src/render-node-to-output.ts +1477 -0
  205. package/node_modules/ink/src/render-to-screen.ts +201 -0
  206. package/node_modules/ink/src/renderer.ts +183 -0
  207. package/node_modules/ink/src/root.ts +148 -0
  208. package/node_modules/ink/src/screen.ts +1301 -0
  209. package/node_modules/ink/src/searchHighlight.ts +68 -0
  210. package/node_modules/ink/src/selection.ts +742 -0
  211. package/node_modules/ink/src/squash-text-nodes.ts +70 -0
  212. package/node_modules/ink/src/stringWidth.ts +222 -0
  213. package/node_modules/ink/src/styles.ts +603 -0
  214. package/node_modules/ink/src/supports-hyperlinks.ts +41 -0
  215. package/node_modules/ink/src/tabstops.ts +39 -0
  216. package/node_modules/ink/src/terminal-focus-state.ts +46 -0
  217. package/node_modules/ink/src/terminal-querier.ts +143 -0
  218. package/node_modules/ink/src/terminal.ts +220 -0
  219. package/node_modules/ink/src/termio/ansi.ts +66 -0
  220. package/node_modules/ink/src/termio/csi.ts +290 -0
  221. package/node_modules/ink/src/termio/dec.ts +52 -0
  222. package/node_modules/ink/src/termio/esc.ts +63 -0
  223. package/node_modules/ink/src/termio/osc.ts +364 -0
  224. package/node_modules/ink/src/termio/parser.ts +383 -0
  225. package/node_modules/ink/src/termio/sgr.ts +331 -0
  226. package/node_modules/ink/src/termio/tokenize.ts +311 -0
  227. package/node_modules/ink/src/termio/types.ts +225 -0
  228. package/node_modules/ink/src/termio.ts +20 -0
  229. package/node_modules/ink/src/useTerminalNotification.ts +124 -0
  230. package/node_modules/ink/src/warn.ts +10 -0
  231. package/node_modules/ink/src/widest-line.ts +12 -0
  232. package/node_modules/ink/src/wrap-text.ts +55 -0
  233. package/node_modules/ink/src/wrapAnsi.ts +15 -0
  234. package/node_modules/ink/tsconfig.json +26 -0
  235. package/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  236. package/node_modules/is-fullwidth-code-point/index.js +12 -0
  237. package/node_modules/is-fullwidth-code-point/license +9 -0
  238. package/node_modules/is-fullwidth-code-point/package.json +53 -0
  239. package/node_modules/is-fullwidth-code-point/readme.md +31 -0
  240. package/node_modules/lodash-es/LICENSE +47 -0
  241. package/node_modules/lodash-es/README.md +10 -0
  242. package/node_modules/lodash-es/_DataView.js +7 -0
  243. package/node_modules/lodash-es/_Hash.js +32 -0
  244. package/node_modules/lodash-es/_LazyWrapper.js +28 -0
  245. package/node_modules/lodash-es/_ListCache.js +32 -0
  246. package/node_modules/lodash-es/_LodashWrapper.js +22 -0
  247. package/node_modules/lodash-es/_Map.js +7 -0
  248. package/node_modules/lodash-es/_MapCache.js +32 -0
  249. package/node_modules/lodash-es/_Promise.js +7 -0
  250. package/node_modules/lodash-es/_Set.js +7 -0
  251. package/node_modules/lodash-es/_SetCache.js +27 -0
  252. package/node_modules/lodash-es/_Stack.js +27 -0
  253. package/node_modules/lodash-es/_Symbol.js +6 -0
  254. package/node_modules/lodash-es/_Uint8Array.js +6 -0
  255. package/node_modules/lodash-es/_WeakMap.js +7 -0
  256. package/node_modules/lodash-es/_addMapEntry.js +15 -0
  257. package/node_modules/lodash-es/_addSetEntry.js +15 -0
  258. package/node_modules/lodash-es/_apply.js +21 -0
  259. package/node_modules/lodash-es/_arrayAggregator.js +22 -0
  260. package/node_modules/lodash-es/_arrayEach.js +22 -0
  261. package/node_modules/lodash-es/_arrayEachRight.js +21 -0
  262. package/node_modules/lodash-es/_arrayEvery.js +23 -0
  263. package/node_modules/lodash-es/_arrayFilter.js +25 -0
  264. package/node_modules/lodash-es/_arrayIncludes.js +17 -0
  265. package/node_modules/lodash-es/_arrayIncludesWith.js +22 -0
  266. package/node_modules/lodash-es/_arrayLikeKeys.js +49 -0
  267. package/node_modules/lodash-es/_arrayMap.js +21 -0
  268. package/node_modules/lodash-es/_arrayPush.js +20 -0
  269. package/node_modules/lodash-es/_arrayReduce.js +26 -0
  270. package/node_modules/lodash-es/_arrayReduceRight.js +24 -0
  271. package/node_modules/lodash-es/_arraySample.js +15 -0
  272. package/node_modules/lodash-es/_arraySampleSize.js +17 -0
  273. package/node_modules/lodash-es/_arrayShuffle.js +15 -0
  274. package/node_modules/lodash-es/_arraySome.js +23 -0
  275. package/node_modules/lodash-es/_asciiSize.js +12 -0
  276. package/node_modules/lodash-es/_asciiToArray.js +12 -0
  277. package/node_modules/lodash-es/_asciiWords.js +15 -0
  278. package/node_modules/lodash-es/_assignMergeValue.js +20 -0
  279. package/node_modules/lodash-es/_assignValue.js +28 -0
  280. package/node_modules/lodash-es/_assocIndexOf.js +21 -0
  281. package/node_modules/lodash-es/_baseAggregator.js +21 -0
  282. package/node_modules/lodash-es/_baseAssign.js +17 -0
  283. package/node_modules/lodash-es/_baseAssignIn.js +17 -0
  284. package/node_modules/lodash-es/_baseAssignValue.js +25 -0
  285. package/node_modules/lodash-es/_baseAt.js +23 -0
  286. package/node_modules/lodash-es/_baseClamp.js +22 -0
  287. package/node_modules/lodash-es/_baseClone.js +166 -0
  288. package/node_modules/lodash-es/_baseConforms.js +18 -0
  289. package/node_modules/lodash-es/_baseConformsTo.js +27 -0
  290. package/node_modules/lodash-es/_baseCreate.js +30 -0
  291. package/node_modules/lodash-es/_baseDelay.js +21 -0
  292. package/node_modules/lodash-es/_baseDifference.js +67 -0
  293. package/node_modules/lodash-es/_baseEach.js +14 -0
  294. package/node_modules/lodash-es/_baseEachRight.js +14 -0
  295. package/node_modules/lodash-es/_baseEvery.js +21 -0
  296. package/node_modules/lodash-es/_baseExtremum.js +32 -0
  297. package/node_modules/lodash-es/_baseFill.js +32 -0
  298. package/node_modules/lodash-es/_baseFilter.js +21 -0
  299. package/node_modules/lodash-es/_baseFindIndex.js +24 -0
  300. package/node_modules/lodash-es/_baseFindKey.js +23 -0
  301. package/node_modules/lodash-es/_baseFlatten.js +38 -0
  302. package/node_modules/lodash-es/_baseFor.js +16 -0
  303. package/node_modules/lodash-es/_baseForOwn.js +16 -0
  304. package/node_modules/lodash-es/_baseForOwnRight.js +16 -0
  305. package/node_modules/lodash-es/_baseForRight.js +15 -0
  306. package/node_modules/lodash-es/_baseFunctions.js +19 -0
  307. package/node_modules/lodash-es/_baseGet.js +24 -0
  308. package/node_modules/lodash-es/_baseGetAllKeys.js +20 -0
  309. package/node_modules/lodash-es/_baseGetTag.js +28 -0
  310. package/node_modules/lodash-es/_baseGt.js +14 -0
  311. package/node_modules/lodash-es/_baseHas.js +19 -0
  312. package/node_modules/lodash-es/_baseHasIn.js +13 -0
  313. package/node_modules/lodash-es/_baseInRange.js +18 -0
  314. package/node_modules/lodash-es/_baseIndexOf.js +20 -0
  315. package/node_modules/lodash-es/_baseIndexOfWith.js +23 -0
  316. package/node_modules/lodash-es/_baseIntersection.js +74 -0
  317. package/node_modules/lodash-es/_baseInverter.js +21 -0
  318. package/node_modules/lodash-es/_baseInvoke.js +24 -0
  319. package/node_modules/lodash-es/_baseIsArguments.js +18 -0
  320. package/node_modules/lodash-es/_baseIsArrayBuffer.js +17 -0
  321. package/node_modules/lodash-es/_baseIsDate.js +18 -0
  322. package/node_modules/lodash-es/_baseIsEqual.js +28 -0
  323. package/node_modules/lodash-es/_baseIsEqualDeep.js +83 -0
  324. package/node_modules/lodash-es/_baseIsMap.js +18 -0
  325. package/node_modules/lodash-es/_baseIsMatch.js +62 -0
  326. package/node_modules/lodash-es/_baseIsNaN.js +12 -0
  327. package/node_modules/lodash-es/_baseIsNative.js +47 -0
  328. package/node_modules/lodash-es/_baseIsRegExp.js +18 -0
  329. package/node_modules/lodash-es/_baseIsSet.js +18 -0
  330. package/node_modules/lodash-es/_baseIsTypedArray.js +60 -0
  331. package/node_modules/lodash-es/_baseIteratee.js +31 -0
  332. package/node_modules/lodash-es/_baseKeys.js +30 -0
  333. package/node_modules/lodash-es/_baseKeysIn.js +33 -0
  334. package/node_modules/lodash-es/_baseLodash.js +10 -0
  335. package/node_modules/lodash-es/_baseLt.js +14 -0
  336. package/node_modules/lodash-es/_baseMap.js +22 -0
  337. package/node_modules/lodash-es/_baseMatches.js +22 -0
  338. package/node_modules/lodash-es/_baseMatchesProperty.js +33 -0
  339. package/node_modules/lodash-es/_baseMean.js +20 -0
  340. package/node_modules/lodash-es/_baseMerge.js +42 -0
  341. package/node_modules/lodash-es/_baseMergeDeep.js +94 -0
  342. package/node_modules/lodash-es/_baseNth.js +20 -0
  343. package/node_modules/lodash-es/_baseOrderBy.js +49 -0
  344. package/node_modules/lodash-es/_basePick.js +19 -0
  345. package/node_modules/lodash-es/_basePickBy.js +30 -0
  346. package/node_modules/lodash-es/_baseProperty.js +14 -0
  347. package/node_modules/lodash-es/_basePropertyDeep.js +16 -0
  348. package/node_modules/lodash-es/_basePropertyOf.js +14 -0
  349. package/node_modules/lodash-es/_basePullAll.js +51 -0
  350. package/node_modules/lodash-es/_basePullAt.js +37 -0
  351. package/node_modules/lodash-es/_baseRandom.js +18 -0
  352. package/node_modules/lodash-es/_baseRange.js +28 -0
  353. package/node_modules/lodash-es/_baseReduce.js +23 -0
  354. package/node_modules/lodash-es/_baseRepeat.js +35 -0
  355. package/node_modules/lodash-es/_baseRest.js +17 -0
  356. package/node_modules/lodash-es/_baseSample.js +15 -0
  357. package/node_modules/lodash-es/_baseSampleSize.js +18 -0
  358. package/node_modules/lodash-es/_baseSet.js +51 -0
  359. package/node_modules/lodash-es/_baseSetData.js +17 -0
  360. package/node_modules/lodash-es/_baseSetToString.js +22 -0
  361. package/node_modules/lodash-es/_baseShuffle.js +15 -0
  362. package/node_modules/lodash-es/_baseSlice.js +31 -0
  363. package/node_modules/lodash-es/_baseSome.js +22 -0
  364. package/node_modules/lodash-es/_baseSortBy.js +21 -0
  365. package/node_modules/lodash-es/_baseSortedIndex.js +42 -0
  366. package/node_modules/lodash-es/_baseSortedIndexBy.js +67 -0
  367. package/node_modules/lodash-es/_baseSortedUniq.js +30 -0
  368. package/node_modules/lodash-es/_baseSum.js +24 -0
  369. package/node_modules/lodash-es/_baseTimes.js +20 -0
  370. package/node_modules/lodash-es/_baseToNumber.js +24 -0
  371. package/node_modules/lodash-es/_baseToPairs.js +18 -0
  372. package/node_modules/lodash-es/_baseToString.js +37 -0
  373. package/node_modules/lodash-es/_baseTrim.js +19 -0
  374. package/node_modules/lodash-es/_baseUnary.js +14 -0
  375. package/node_modules/lodash-es/_baseUniq.js +72 -0
  376. package/node_modules/lodash-es/_baseUnset.js +52 -0
  377. package/node_modules/lodash-es/_baseUpdate.js +18 -0
  378. package/node_modules/lodash-es/_baseValues.js +19 -0
  379. package/node_modules/lodash-es/_baseWhile.js +26 -0
  380. package/node_modules/lodash-es/_baseWrapperValue.js +25 -0
  381. package/node_modules/lodash-es/_baseXor.js +36 -0
  382. package/node_modules/lodash-es/_baseZipObject.js +23 -0
  383. package/node_modules/lodash-es/_cacheHas.js +13 -0
  384. package/node_modules/lodash-es/_castArrayLikeObject.js +14 -0
  385. package/node_modules/lodash-es/_castFunction.js +14 -0
  386. package/node_modules/lodash-es/_castPath.js +21 -0
  387. package/node_modules/lodash-es/_castRest.js +14 -0
  388. package/node_modules/lodash-es/_castSlice.js +18 -0
  389. package/node_modules/lodash-es/_charsEndIndex.js +19 -0
  390. package/node_modules/lodash-es/_charsStartIndex.js +20 -0
  391. package/node_modules/lodash-es/_cloneArrayBuffer.js +16 -0
  392. package/node_modules/lodash-es/_cloneBuffer.js +35 -0
  393. package/node_modules/lodash-es/_cloneDataView.js +16 -0
  394. package/node_modules/lodash-es/_cloneMap.js +22 -0
  395. package/node_modules/lodash-es/_cloneRegExp.js +17 -0
  396. package/node_modules/lodash-es/_cloneSet.js +22 -0
  397. package/node_modules/lodash-es/_cloneSymbol.js +18 -0
  398. package/node_modules/lodash-es/_cloneTypedArray.js +16 -0
  399. package/node_modules/lodash-es/_compareAscending.js +41 -0
  400. package/node_modules/lodash-es/_compareMultiple.js +44 -0
  401. package/node_modules/lodash-es/_composeArgs.js +39 -0
  402. package/node_modules/lodash-es/_composeArgsRight.js +41 -0
  403. package/node_modules/lodash-es/_copyArray.js +20 -0
  404. package/node_modules/lodash-es/_copyObject.js +40 -0
  405. package/node_modules/lodash-es/_copySymbols.js +16 -0
  406. package/node_modules/lodash-es/_copySymbolsIn.js +16 -0
  407. package/node_modules/lodash-es/_coreJsData.js +6 -0
  408. package/node_modules/lodash-es/_countHolders.js +21 -0
  409. package/node_modules/lodash-es/_createAggregator.js +23 -0
  410. package/node_modules/lodash-es/_createAssigner.js +37 -0
  411. package/node_modules/lodash-es/_createBaseEach.js +32 -0
  412. package/node_modules/lodash-es/_createBaseFor.js +25 -0
  413. package/node_modules/lodash-es/_createBind.js +28 -0
  414. package/node_modules/lodash-es/_createCaseFirst.js +33 -0
  415. package/node_modules/lodash-es/_createCompounder.js +24 -0
  416. package/node_modules/lodash-es/_createCtor.js +37 -0
  417. package/node_modules/lodash-es/_createCurry.js +46 -0
  418. package/node_modules/lodash-es/_createFind.js +25 -0
  419. package/node_modules/lodash-es/_createFlow.js +78 -0
  420. package/node_modules/lodash-es/_createHybrid.js +92 -0
  421. package/node_modules/lodash-es/_createInverter.js +17 -0
  422. package/node_modules/lodash-es/_createMathOperation.js +38 -0
  423. package/node_modules/lodash-es/_createOver.js +27 -0
  424. package/node_modules/lodash-es/_createPadding.js +33 -0
  425. package/node_modules/lodash-es/_createPartial.js +43 -0
  426. package/node_modules/lodash-es/_createRange.js +30 -0
  427. package/node_modules/lodash-es/_createRecurry.js +56 -0
  428. package/node_modules/lodash-es/_createRelationalOperation.js +20 -0
  429. package/node_modules/lodash-es/_createRound.js +35 -0
  430. package/node_modules/lodash-es/_createSet.js +19 -0
  431. package/node_modules/lodash-es/_createToPairs.js +30 -0
  432. package/node_modules/lodash-es/_createWrap.js +106 -0
  433. package/node_modules/lodash-es/_customDefaultsAssignIn.js +29 -0
  434. package/node_modules/lodash-es/_customDefaultsMerge.js +28 -0
  435. package/node_modules/lodash-es/_customOmitClone.js +16 -0
  436. package/node_modules/lodash-es/_deburrLetter.js +71 -0
  437. package/node_modules/lodash-es/_defineProperty.js +11 -0
  438. package/node_modules/lodash-es/_equalArrays.js +84 -0
  439. package/node_modules/lodash-es/_equalByTag.js +112 -0
  440. package/node_modules/lodash-es/_equalObjects.js +90 -0
  441. package/node_modules/lodash-es/_escapeHtmlChar.js +21 -0
  442. package/node_modules/lodash-es/_escapeStringChar.js +22 -0
  443. package/node_modules/lodash-es/_flatRest.js +16 -0
  444. package/node_modules/lodash-es/_freeGlobal.js +4 -0
  445. package/node_modules/lodash-es/_getAllKeys.js +16 -0
  446. package/node_modules/lodash-es/_getAllKeysIn.js +17 -0
  447. package/node_modules/lodash-es/_getData.js +15 -0
  448. package/node_modules/lodash-es/_getFuncName.js +31 -0
  449. package/node_modules/lodash-es/_getHolder.js +13 -0
  450. package/node_modules/lodash-es/_getMapData.js +18 -0
  451. package/node_modules/lodash-es/_getMatchData.js +24 -0
  452. package/node_modules/lodash-es/_getNative.js +17 -0
  453. package/node_modules/lodash-es/_getPrototype.js +6 -0
  454. package/node_modules/lodash-es/_getRawTag.js +46 -0
  455. package/node_modules/lodash-es/_getSymbols.js +30 -0
  456. package/node_modules/lodash-es/_getSymbolsIn.js +25 -0
  457. package/node_modules/lodash-es/_getTag.js +58 -0
  458. package/node_modules/lodash-es/_getValue.js +13 -0
  459. package/node_modules/lodash-es/_getView.js +33 -0
  460. package/node_modules/lodash-es/_getWrapDetails.js +17 -0
  461. package/node_modules/lodash-es/_hasPath.js +39 -0
  462. package/node_modules/lodash-es/_hasUnicode.js +26 -0
  463. package/node_modules/lodash-es/_hasUnicodeWord.js +15 -0
  464. package/node_modules/lodash-es/_hashClear.js +15 -0
  465. package/node_modules/lodash-es/_hashDelete.js +17 -0
  466. package/node_modules/lodash-es/_hashGet.js +30 -0
  467. package/node_modules/lodash-es/_hashHas.js +23 -0
  468. package/node_modules/lodash-es/_hashSet.js +23 -0
  469. package/node_modules/lodash-es/_initCloneArray.js +26 -0
  470. package/node_modules/lodash-es/_initCloneByTag.js +77 -0
  471. package/node_modules/lodash-es/_initCloneObject.js +18 -0
  472. package/node_modules/lodash-es/_insertWrapDetails.js +23 -0
  473. package/node_modules/lodash-es/_isFlattenable.js +20 -0
  474. package/node_modules/lodash-es/_isIndex.js +25 -0
  475. package/node_modules/lodash-es/_isIterateeCall.js +30 -0
  476. package/node_modules/lodash-es/_isKey.js +29 -0
  477. package/node_modules/lodash-es/_isKeyable.js +15 -0
  478. package/node_modules/lodash-es/_isLaziable.js +28 -0
  479. package/node_modules/lodash-es/_isMaskable.js +14 -0
  480. package/node_modules/lodash-es/_isMasked.js +20 -0
  481. package/node_modules/lodash-es/_isPrototype.js +18 -0
  482. package/node_modules/lodash-es/_isStrictComparable.js +15 -0
  483. package/node_modules/lodash-es/_iteratorToArray.js +18 -0
  484. package/node_modules/lodash-es/_lazyClone.js +23 -0
  485. package/node_modules/lodash-es/_lazyReverse.js +23 -0
  486. package/node_modules/lodash-es/_lazyValue.js +69 -0
  487. package/node_modules/lodash-es/_listCacheClear.js +13 -0
  488. package/node_modules/lodash-es/_listCacheDelete.js +35 -0
  489. package/node_modules/lodash-es/_listCacheGet.js +19 -0
  490. package/node_modules/lodash-es/_listCacheHas.js +16 -0
  491. package/node_modules/lodash-es/_listCacheSet.js +26 -0
  492. package/node_modules/lodash-es/_mapCacheClear.js +21 -0
  493. package/node_modules/lodash-es/_mapCacheDelete.js +18 -0
  494. package/node_modules/lodash-es/_mapCacheGet.js +16 -0
  495. package/node_modules/lodash-es/_mapCacheHas.js +16 -0
  496. package/node_modules/lodash-es/_mapCacheSet.js +22 -0
  497. package/node_modules/lodash-es/_mapToArray.js +18 -0
  498. package/node_modules/lodash-es/_matchesStrictComparable.js +20 -0
  499. package/node_modules/lodash-es/_memoizeCapped.js +26 -0
  500. package/node_modules/lodash-es/_mergeData.js +90 -0
  501. package/node_modules/lodash-es/_metaMap.js +6 -0
  502. package/node_modules/lodash-es/_nativeCreate.js +6 -0
  503. package/node_modules/lodash-es/_nativeKeys.js +6 -0
  504. package/node_modules/lodash-es/_nativeKeysIn.js +20 -0
  505. package/node_modules/lodash-es/_nodeUtil.js +30 -0
  506. package/node_modules/lodash-es/_objectToString.js +22 -0
  507. package/node_modules/lodash-es/_overArg.js +15 -0
  508. package/node_modules/lodash-es/_overRest.js +36 -0
  509. package/node_modules/lodash-es/_parent.js +16 -0
  510. package/node_modules/lodash-es/_reEscape.js +4 -0
  511. package/node_modules/lodash-es/_reEvaluate.js +4 -0
  512. package/node_modules/lodash-es/_reInterpolate.js +4 -0
  513. package/node_modules/lodash-es/_realNames.js +4 -0
  514. package/node_modules/lodash-es/_reorder.js +29 -0
  515. package/node_modules/lodash-es/_replaceHolders.js +29 -0
  516. package/node_modules/lodash-es/_root.js +9 -0
  517. package/node_modules/lodash-es/_safeGet.js +21 -0
  518. package/node_modules/lodash-es/_setCacheAdd.js +19 -0
  519. package/node_modules/lodash-es/_setCacheHas.js +14 -0
  520. package/node_modules/lodash-es/_setData.js +20 -0
  521. package/node_modules/lodash-es/_setToArray.js +18 -0
  522. package/node_modules/lodash-es/_setToPairs.js +18 -0
  523. package/node_modules/lodash-es/_setToString.js +14 -0
  524. package/node_modules/lodash-es/_setWrapToString.js +21 -0
  525. package/node_modules/lodash-es/_shortOut.js +37 -0
  526. package/node_modules/lodash-es/_shuffleSelf.js +28 -0
  527. package/node_modules/lodash-es/_stackClear.js +15 -0
  528. package/node_modules/lodash-es/_stackDelete.js +18 -0
  529. package/node_modules/lodash-es/_stackGet.js +14 -0
  530. package/node_modules/lodash-es/_stackHas.js +14 -0
  531. package/node_modules/lodash-es/_stackSet.js +34 -0
  532. package/node_modules/lodash-es/_strictIndexOf.js +23 -0
  533. package/node_modules/lodash-es/_strictLastIndexOf.js +21 -0
  534. package/node_modules/lodash-es/_stringSize.js +18 -0
  535. package/node_modules/lodash-es/_stringToArray.js +18 -0
  536. package/node_modules/lodash-es/_stringToPath.js +27 -0
  537. package/node_modules/lodash-es/_toKey.js +21 -0
  538. package/node_modules/lodash-es/_toSource.js +26 -0
  539. package/node_modules/lodash-es/_trimmedEndIndex.js +19 -0
  540. package/node_modules/lodash-es/_unescapeHtmlChar.js +21 -0
  541. package/node_modules/lodash-es/_unicodeSize.js +44 -0
  542. package/node_modules/lodash-es/_unicodeToArray.js +40 -0
  543. package/node_modules/lodash-es/_unicodeWords.js +69 -0
  544. package/node_modules/lodash-es/_updateWrapDetails.js +46 -0
  545. package/node_modules/lodash-es/_wrapperClone.js +23 -0
  546. package/node_modules/lodash-es/add.js +22 -0
  547. package/node_modules/lodash-es/after.js +42 -0
  548. package/node_modules/lodash-es/array.default.js +81 -0
  549. package/node_modules/lodash-es/array.js +66 -0
  550. package/node_modules/lodash-es/ary.js +29 -0
  551. package/node_modules/lodash-es/assign.js +58 -0
  552. package/node_modules/lodash-es/assignIn.js +40 -0
  553. package/node_modules/lodash-es/assignInWith.js +38 -0
  554. package/node_modules/lodash-es/assignWith.js +37 -0
  555. package/node_modules/lodash-es/at.js +23 -0
  556. package/node_modules/lodash-es/attempt.js +35 -0
  557. package/node_modules/lodash-es/before.js +40 -0
  558. package/node_modules/lodash-es/bind.js +57 -0
  559. package/node_modules/lodash-es/bindAll.js +41 -0
  560. package/node_modules/lodash-es/bindKey.js +68 -0
  561. package/node_modules/lodash-es/camelCase.js +29 -0
  562. package/node_modules/lodash-es/capitalize.js +23 -0
  563. package/node_modules/lodash-es/castArray.js +44 -0
  564. package/node_modules/lodash-es/ceil.js +26 -0
  565. package/node_modules/lodash-es/chain.js +38 -0
  566. package/node_modules/lodash-es/chunk.js +50 -0
  567. package/node_modules/lodash-es/clamp.js +39 -0
  568. package/node_modules/lodash-es/clone.js +36 -0
  569. package/node_modules/lodash-es/cloneDeep.js +29 -0
  570. package/node_modules/lodash-es/cloneDeepWith.js +40 -0
  571. package/node_modules/lodash-es/cloneWith.js +42 -0
  572. package/node_modules/lodash-es/collection.default.js +37 -0
  573. package/node_modules/lodash-es/collection.js +29 -0
  574. package/node_modules/lodash-es/commit.js +33 -0
  575. package/node_modules/lodash-es/compact.js +31 -0
  576. package/node_modules/lodash-es/concat.js +43 -0
  577. package/node_modules/lodash-es/cond.js +60 -0
  578. package/node_modules/lodash-es/conforms.js +35 -0
  579. package/node_modules/lodash-es/conformsTo.js +32 -0
  580. package/node_modules/lodash-es/constant.js +26 -0
  581. package/node_modules/lodash-es/countBy.js +40 -0
  582. package/node_modules/lodash-es/create.js +43 -0
  583. package/node_modules/lodash-es/curry.js +57 -0
  584. package/node_modules/lodash-es/curryRight.js +54 -0
  585. package/node_modules/lodash-es/date.default.js +5 -0
  586. package/node_modules/lodash-es/date.js +2 -0
  587. package/node_modules/lodash-es/debounce.js +191 -0
  588. package/node_modules/lodash-es/deburr.js +45 -0
  589. package/node_modules/lodash-es/defaultTo.js +25 -0
  590. package/node_modules/lodash-es/defaults.js +64 -0
  591. package/node_modules/lodash-es/defaultsDeep.js +30 -0
  592. package/node_modules/lodash-es/defer.js +26 -0
  593. package/node_modules/lodash-es/delay.js +28 -0
  594. package/node_modules/lodash-es/difference.js +33 -0
  595. package/node_modules/lodash-es/differenceBy.js +44 -0
  596. package/node_modules/lodash-es/differenceWith.js +40 -0
  597. package/node_modules/lodash-es/divide.js +22 -0
  598. package/node_modules/lodash-es/drop.js +38 -0
  599. package/node_modules/lodash-es/dropRight.js +39 -0
  600. package/node_modules/lodash-es/dropRightWhile.js +45 -0
  601. package/node_modules/lodash-es/dropWhile.js +45 -0
  602. package/node_modules/lodash-es/each.js +1 -0
  603. package/node_modules/lodash-es/eachRight.js +1 -0
  604. package/node_modules/lodash-es/endsWith.js +43 -0
  605. package/node_modules/lodash-es/entries.js +1 -0
  606. package/node_modules/lodash-es/entriesIn.js +1 -0
  607. package/node_modules/lodash-es/eq.js +37 -0
  608. package/node_modules/lodash-es/escape.js +43 -0
  609. package/node_modules/lodash-es/escapeRegExp.js +32 -0
  610. package/node_modules/lodash-es/every.js +56 -0
  611. package/node_modules/lodash-es/extend.js +1 -0
  612. package/node_modules/lodash-es/extendWith.js +1 -0
  613. package/node_modules/lodash-es/fill.js +45 -0
  614. package/node_modules/lodash-es/filter.js +52 -0
  615. package/node_modules/lodash-es/find.js +42 -0
  616. package/node_modules/lodash-es/findIndex.js +55 -0
  617. package/node_modules/lodash-es/findKey.js +44 -0
  618. package/node_modules/lodash-es/findLast.js +25 -0
  619. package/node_modules/lodash-es/findLastIndex.js +59 -0
  620. package/node_modules/lodash-es/findLastKey.js +44 -0
  621. package/node_modules/lodash-es/first.js +1 -0
  622. package/node_modules/lodash-es/flatMap.js +29 -0
  623. package/node_modules/lodash-es/flatMapDeep.js +31 -0
  624. package/node_modules/lodash-es/flatMapDepth.js +31 -0
  625. package/node_modules/lodash-es/flatten.js +22 -0
  626. package/node_modules/lodash-es/flattenDeep.js +25 -0
  627. package/node_modules/lodash-es/flattenDepth.js +33 -0
  628. package/node_modules/lodash-es/flip.js +28 -0
  629. package/node_modules/lodash-es/floor.js +26 -0
  630. package/node_modules/lodash-es/flow.js +27 -0
  631. package/node_modules/lodash-es/flowRight.js +26 -0
  632. package/node_modules/lodash-es/forEach.js +41 -0
  633. package/node_modules/lodash-es/forEachRight.js +31 -0
  634. package/node_modules/lodash-es/forIn.js +39 -0
  635. package/node_modules/lodash-es/forInRight.js +37 -0
  636. package/node_modules/lodash-es/forOwn.js +36 -0
  637. package/node_modules/lodash-es/forOwnRight.js +34 -0
  638. package/node_modules/lodash-es/fromPairs.js +30 -0
  639. package/node_modules/lodash-es/function.default.js +31 -0
  640. package/node_modules/lodash-es/function.js +24 -0
  641. package/node_modules/lodash-es/functions.js +31 -0
  642. package/node_modules/lodash-es/functionsIn.js +31 -0
  643. package/node_modules/lodash-es/get.js +33 -0
  644. package/node_modules/lodash-es/groupBy.js +41 -0
  645. package/node_modules/lodash-es/gt.js +29 -0
  646. package/node_modules/lodash-es/gte.js +30 -0
  647. package/node_modules/lodash-es/has.js +35 -0
  648. package/node_modules/lodash-es/hasIn.js +34 -0
  649. package/node_modules/lodash-es/head.js +23 -0
  650. package/node_modules/lodash-es/identity.js +21 -0
  651. package/node_modules/lodash-es/inRange.js +55 -0
  652. package/node_modules/lodash-es/includes.js +53 -0
  653. package/node_modules/lodash-es/indexOf.js +42 -0
  654. package/node_modules/lodash-es/initial.js +22 -0
  655. package/node_modules/lodash-es/intersection.js +30 -0
  656. package/node_modules/lodash-es/intersectionBy.js +45 -0
  657. package/node_modules/lodash-es/intersectionWith.js +41 -0
  658. package/node_modules/lodash-es/invert.js +42 -0
  659. package/node_modules/lodash-es/invertBy.js +56 -0
  660. package/node_modules/lodash-es/invoke.js +24 -0
  661. package/node_modules/lodash-es/invokeMap.js +41 -0
  662. package/node_modules/lodash-es/isArguments.js +36 -0
  663. package/node_modules/lodash-es/isArray.js +26 -0
  664. package/node_modules/lodash-es/isArrayBuffer.js +27 -0
  665. package/node_modules/lodash-es/isArrayLike.js +33 -0
  666. package/node_modules/lodash-es/isArrayLikeObject.js +33 -0
  667. package/node_modules/lodash-es/isBoolean.js +29 -0
  668. package/node_modules/lodash-es/isBuffer.js +38 -0
  669. package/node_modules/lodash-es/isDate.js +27 -0
  670. package/node_modules/lodash-es/isElement.js +25 -0
  671. package/node_modules/lodash-es/isEmpty.js +77 -0
  672. package/node_modules/lodash-es/isEqual.js +35 -0
  673. package/node_modules/lodash-es/isEqualWith.js +41 -0
  674. package/node_modules/lodash-es/isError.js +36 -0
  675. package/node_modules/lodash-es/isFinite.js +36 -0
  676. package/node_modules/lodash-es/isFunction.js +37 -0
  677. package/node_modules/lodash-es/isInteger.js +33 -0
  678. package/node_modules/lodash-es/isLength.js +35 -0
  679. package/node_modules/lodash-es/isMap.js +27 -0
  680. package/node_modules/lodash-es/isMatch.js +36 -0
  681. package/node_modules/lodash-es/isMatchWith.js +41 -0
  682. package/node_modules/lodash-es/isNaN.js +38 -0
  683. package/node_modules/lodash-es/isNative.js +40 -0
  684. package/node_modules/lodash-es/isNil.js +25 -0
  685. package/node_modules/lodash-es/isNull.js +22 -0
  686. package/node_modules/lodash-es/isNumber.js +38 -0
  687. package/node_modules/lodash-es/isObject.js +31 -0
  688. package/node_modules/lodash-es/isObjectLike.js +29 -0
  689. package/node_modules/lodash-es/isPlainObject.js +62 -0
  690. package/node_modules/lodash-es/isRegExp.js +27 -0
  691. package/node_modules/lodash-es/isSafeInteger.js +37 -0
  692. package/node_modules/lodash-es/isSet.js +27 -0
  693. package/node_modules/lodash-es/isString.js +30 -0
  694. package/node_modules/lodash-es/isSymbol.js +29 -0
  695. package/node_modules/lodash-es/isTypedArray.js +27 -0
  696. package/node_modules/lodash-es/isUndefined.js +22 -0
  697. package/node_modules/lodash-es/isWeakMap.js +28 -0
  698. package/node_modules/lodash-es/isWeakSet.js +28 -0
  699. package/node_modules/lodash-es/iteratee.js +53 -0
  700. package/node_modules/lodash-es/join.js +26 -0
  701. package/node_modules/lodash-es/kebabCase.js +28 -0
  702. package/node_modules/lodash-es/keyBy.js +36 -0
  703. package/node_modules/lodash-es/keys.js +37 -0
  704. package/node_modules/lodash-es/keysIn.js +32 -0
  705. package/node_modules/lodash-es/lang.default.js +71 -0
  706. package/node_modules/lodash-es/lang.js +57 -0
  707. package/node_modules/lodash-es/last.js +20 -0
  708. package/node_modules/lodash-es/lastIndexOf.js +46 -0
  709. package/node_modules/lodash-es/lodash.default.js +643 -0
  710. package/node_modules/lodash-es/lodash.js +331 -0
  711. package/node_modules/lodash-es/lowerCase.js +27 -0
  712. package/node_modules/lodash-es/lowerFirst.js +22 -0
  713. package/node_modules/lodash-es/lt.js +29 -0
  714. package/node_modules/lodash-es/lte.js +30 -0
  715. package/node_modules/lodash-es/map.js +53 -0
  716. package/node_modules/lodash-es/mapKeys.js +36 -0
  717. package/node_modules/lodash-es/mapValues.js +43 -0
  718. package/node_modules/lodash-es/matches.js +46 -0
  719. package/node_modules/lodash-es/matchesProperty.js +44 -0
  720. package/node_modules/lodash-es/math.default.js +21 -0
  721. package/node_modules/lodash-es/math.js +16 -0
  722. package/node_modules/lodash-es/max.js +29 -0
  723. package/node_modules/lodash-es/maxBy.js +34 -0
  724. package/node_modules/lodash-es/mean.js +22 -0
  725. package/node_modules/lodash-es/meanBy.js +31 -0
  726. package/node_modules/lodash-es/memoize.js +73 -0
  727. package/node_modules/lodash-es/merge.js +39 -0
  728. package/node_modules/lodash-es/mergeWith.js +39 -0
  729. package/node_modules/lodash-es/method.js +34 -0
  730. package/node_modules/lodash-es/methodOf.js +33 -0
  731. package/node_modules/lodash-es/min.js +29 -0
  732. package/node_modules/lodash-es/minBy.js +34 -0
  733. package/node_modules/lodash-es/mixin.js +74 -0
  734. package/node_modules/lodash-es/multiply.js +22 -0
  735. package/node_modules/lodash-es/negate.js +40 -0
  736. package/node_modules/lodash-es/next.js +35 -0
  737. package/node_modules/lodash-es/noop.js +17 -0
  738. package/node_modules/lodash-es/now.js +23 -0
  739. package/node_modules/lodash-es/nth.js +29 -0
  740. package/node_modules/lodash-es/nthArg.js +32 -0
  741. package/node_modules/lodash-es/number.default.js +7 -0
  742. package/node_modules/lodash-es/number.js +4 -0
  743. package/node_modules/lodash-es/object.default.js +60 -0
  744. package/node_modules/lodash-es/object.js +48 -0
  745. package/node_modules/lodash-es/omit.js +57 -0
  746. package/node_modules/lodash-es/omitBy.js +29 -0
  747. package/node_modules/lodash-es/once.js +25 -0
  748. package/node_modules/lodash-es/orderBy.js +47 -0
  749. package/node_modules/lodash-es/over.js +24 -0
  750. package/node_modules/lodash-es/overArgs.js +61 -0
  751. package/node_modules/lodash-es/overEvery.js +34 -0
  752. package/node_modules/lodash-es/overSome.js +37 -0
  753. package/node_modules/lodash-es/package.json +23 -0
  754. package/node_modules/lodash-es/pad.js +49 -0
  755. package/node_modules/lodash-es/padEnd.js +39 -0
  756. package/node_modules/lodash-es/padStart.js +39 -0
  757. package/node_modules/lodash-es/parseInt.js +43 -0
  758. package/node_modules/lodash-es/partial.js +50 -0
  759. package/node_modules/lodash-es/partialRight.js +49 -0
  760. package/node_modules/lodash-es/partition.js +43 -0
  761. package/node_modules/lodash-es/pick.js +25 -0
  762. package/node_modules/lodash-es/pickBy.js +37 -0
  763. package/node_modules/lodash-es/plant.js +48 -0
  764. package/node_modules/lodash-es/property.js +32 -0
  765. package/node_modules/lodash-es/propertyOf.js +30 -0
  766. package/node_modules/lodash-es/pull.js +29 -0
  767. package/node_modules/lodash-es/pullAll.js +29 -0
  768. package/node_modules/lodash-es/pullAllBy.js +33 -0
  769. package/node_modules/lodash-es/pullAllWith.js +32 -0
  770. package/node_modules/lodash-es/pullAt.js +43 -0
  771. package/node_modules/lodash-es/random.js +91 -0
  772. package/node_modules/lodash-es/range.js +46 -0
  773. package/node_modules/lodash-es/rangeRight.js +41 -0
  774. package/node_modules/lodash-es/rearg.js +33 -0
  775. package/node_modules/lodash-es/reduce.js +51 -0
  776. package/node_modules/lodash-es/reduceRight.js +36 -0
  777. package/node_modules/lodash-es/reject.js +46 -0
  778. package/node_modules/lodash-es/remove.js +53 -0
  779. package/node_modules/lodash-es/repeat.js +37 -0
  780. package/node_modules/lodash-es/replace.js +29 -0
  781. package/node_modules/lodash-es/rest.js +40 -0
  782. package/node_modules/lodash-es/result.js +56 -0
  783. package/node_modules/lodash-es/reverse.js +34 -0
  784. package/node_modules/lodash-es/round.js +26 -0
  785. package/node_modules/lodash-es/sample.js +24 -0
  786. package/node_modules/lodash-es/sampleSize.js +37 -0
  787. package/node_modules/lodash-es/seq.default.js +20 -0
  788. package/node_modules/lodash-es/seq.js +15 -0
  789. package/node_modules/lodash-es/set.js +35 -0
  790. package/node_modules/lodash-es/setWith.js +32 -0
  791. package/node_modules/lodash-es/shuffle.js +25 -0
  792. package/node_modules/lodash-es/size.js +46 -0
  793. package/node_modules/lodash-es/slice.js +37 -0
  794. package/node_modules/lodash-es/snakeCase.js +28 -0
  795. package/node_modules/lodash-es/some.js +51 -0
  796. package/node_modules/lodash-es/sortBy.js +48 -0
  797. package/node_modules/lodash-es/sortedIndex.js +24 -0
  798. package/node_modules/lodash-es/sortedIndexBy.js +33 -0
  799. package/node_modules/lodash-es/sortedIndexOf.js +31 -0
  800. package/node_modules/lodash-es/sortedLastIndex.js +25 -0
  801. package/node_modules/lodash-es/sortedLastIndexBy.js +33 -0
  802. package/node_modules/lodash-es/sortedLastIndexOf.js +31 -0
  803. package/node_modules/lodash-es/sortedUniq.js +24 -0
  804. package/node_modules/lodash-es/sortedUniqBy.js +26 -0
  805. package/node_modules/lodash-es/split.js +52 -0
  806. package/node_modules/lodash-es/spread.js +63 -0
  807. package/node_modules/lodash-es/startCase.js +29 -0
  808. package/node_modules/lodash-es/startsWith.js +39 -0
  809. package/node_modules/lodash-es/string.default.js +41 -0
  810. package/node_modules/lodash-es/string.js +32 -0
  811. package/node_modules/lodash-es/stubArray.js +23 -0
  812. package/node_modules/lodash-es/stubFalse.js +18 -0
  813. package/node_modules/lodash-es/stubObject.js +23 -0
  814. package/node_modules/lodash-es/stubString.js +18 -0
  815. package/node_modules/lodash-es/stubTrue.js +18 -0
  816. package/node_modules/lodash-es/subtract.js +22 -0
  817. package/node_modules/lodash-es/sum.js +24 -0
  818. package/node_modules/lodash-es/sumBy.js +33 -0
  819. package/node_modules/lodash-es/tail.js +22 -0
  820. package/node_modules/lodash-es/take.js +37 -0
  821. package/node_modules/lodash-es/takeRight.js +39 -0
  822. package/node_modules/lodash-es/takeRightWhile.js +45 -0
  823. package/node_modules/lodash-es/takeWhile.js +45 -0
  824. package/node_modules/lodash-es/tap.js +29 -0
  825. package/node_modules/lodash-es/template.js +284 -0
  826. package/node_modules/lodash-es/templateSettings.js +71 -0
  827. package/node_modules/lodash-es/throttle.js +69 -0
  828. package/node_modules/lodash-es/thru.js +28 -0
  829. package/node_modules/lodash-es/times.js +51 -0
  830. package/node_modules/lodash-es/toArray.js +58 -0
  831. package/node_modules/lodash-es/toFinite.js +42 -0
  832. package/node_modules/lodash-es/toInteger.js +36 -0
  833. package/node_modules/lodash-es/toIterator.js +23 -0
  834. package/node_modules/lodash-es/toJSON.js +1 -0
  835. package/node_modules/lodash-es/toLength.js +38 -0
  836. package/node_modules/lodash-es/toLower.js +28 -0
  837. package/node_modules/lodash-es/toNumber.js +64 -0
  838. package/node_modules/lodash-es/toPairs.js +30 -0
  839. package/node_modules/lodash-es/toPairsIn.js +30 -0
  840. package/node_modules/lodash-es/toPath.js +33 -0
  841. package/node_modules/lodash-es/toPlainObject.js +32 -0
  842. package/node_modules/lodash-es/toSafeInteger.js +37 -0
  843. package/node_modules/lodash-es/toString.js +28 -0
  844. package/node_modules/lodash-es/toUpper.js +28 -0
  845. package/node_modules/lodash-es/transform.js +65 -0
  846. package/node_modules/lodash-es/trim.js +47 -0
  847. package/node_modules/lodash-es/trimEnd.js +41 -0
  848. package/node_modules/lodash-es/trimStart.js +43 -0
  849. package/node_modules/lodash-es/truncate.js +111 -0
  850. package/node_modules/lodash-es/unary.js +22 -0
  851. package/node_modules/lodash-es/unescape.js +34 -0
  852. package/node_modules/lodash-es/union.js +26 -0
  853. package/node_modules/lodash-es/unionBy.js +39 -0
  854. package/node_modules/lodash-es/unionWith.js +34 -0
  855. package/node_modules/lodash-es/uniq.js +25 -0
  856. package/node_modules/lodash-es/uniqBy.js +31 -0
  857. package/node_modules/lodash-es/uniqWith.js +28 -0
  858. package/node_modules/lodash-es/uniqueId.js +28 -0
  859. package/node_modules/lodash-es/unset.js +34 -0
  860. package/node_modules/lodash-es/unzip.js +45 -0
  861. package/node_modules/lodash-es/unzipWith.js +39 -0
  862. package/node_modules/lodash-es/update.js +35 -0
  863. package/node_modules/lodash-es/updateWith.js +33 -0
  864. package/node_modules/lodash-es/upperCase.js +27 -0
  865. package/node_modules/lodash-es/upperFirst.js +22 -0
  866. package/node_modules/lodash-es/util.default.js +42 -0
  867. package/node_modules/lodash-es/util.js +33 -0
  868. package/node_modules/lodash-es/value.js +1 -0
  869. package/node_modules/lodash-es/valueOf.js +1 -0
  870. package/node_modules/lodash-es/values.js +34 -0
  871. package/node_modules/lodash-es/valuesIn.js +32 -0
  872. package/node_modules/lodash-es/without.js +31 -0
  873. package/node_modules/lodash-es/words.js +35 -0
  874. package/node_modules/lodash-es/wrap.js +30 -0
  875. package/node_modules/lodash-es/wrapperAt.js +48 -0
  876. package/node_modules/lodash-es/wrapperChain.js +34 -0
  877. package/node_modules/lodash-es/wrapperLodash.js +147 -0
  878. package/node_modules/lodash-es/wrapperReverse.js +44 -0
  879. package/node_modules/lodash-es/wrapperValue.js +21 -0
  880. package/node_modules/lodash-es/xor.js +28 -0
  881. package/node_modules/lodash-es/xorBy.js +39 -0
  882. package/node_modules/lodash-es/xorWith.js +34 -0
  883. package/node_modules/lodash-es/zip.js +22 -0
  884. package/node_modules/lodash-es/zipObject.js +24 -0
  885. package/node_modules/lodash-es/zipObjectDeep.js +23 -0
  886. package/node_modules/lodash-es/zipWith.js +32 -0
  887. package/node_modules/lodash.debounce/LICENSE +47 -0
  888. package/node_modules/lodash.debounce/README.md +18 -0
  889. package/node_modules/lodash.debounce/index.js +377 -0
  890. package/node_modules/lodash.debounce/package.json +17 -0
  891. package/node_modules/require-from-string/index.js +34 -0
  892. package/node_modules/require-from-string/license +21 -0
  893. package/node_modules/require-from-string/package.json +28 -0
  894. package/node_modules/require-from-string/readme.md +56 -0
  895. package/node_modules/semver/LICENSE +15 -0
  896. package/node_modules/semver/README.md +665 -0
  897. package/node_modules/semver/bin/semver.js +191 -0
  898. package/node_modules/semver/classes/comparator.js +143 -0
  899. package/node_modules/semver/classes/index.js +7 -0
  900. package/node_modules/semver/classes/range.js +557 -0
  901. package/node_modules/semver/classes/semver.js +333 -0
  902. package/node_modules/semver/functions/clean.js +8 -0
  903. package/node_modules/semver/functions/cmp.js +54 -0
  904. package/node_modules/semver/functions/coerce.js +62 -0
  905. package/node_modules/semver/functions/compare-build.js +9 -0
  906. package/node_modules/semver/functions/compare-loose.js +5 -0
  907. package/node_modules/semver/functions/compare.js +7 -0
  908. package/node_modules/semver/functions/diff.js +60 -0
  909. package/node_modules/semver/functions/eq.js +5 -0
  910. package/node_modules/semver/functions/gt.js +5 -0
  911. package/node_modules/semver/functions/gte.js +5 -0
  912. package/node_modules/semver/functions/inc.js +21 -0
  913. package/node_modules/semver/functions/lt.js +5 -0
  914. package/node_modules/semver/functions/lte.js +5 -0
  915. package/node_modules/semver/functions/major.js +5 -0
  916. package/node_modules/semver/functions/minor.js +5 -0
  917. package/node_modules/semver/functions/neq.js +5 -0
  918. package/node_modules/semver/functions/parse.js +18 -0
  919. package/node_modules/semver/functions/patch.js +5 -0
  920. package/node_modules/semver/functions/prerelease.js +8 -0
  921. package/node_modules/semver/functions/rcompare.js +5 -0
  922. package/node_modules/semver/functions/rsort.js +5 -0
  923. package/node_modules/semver/functions/satisfies.js +12 -0
  924. package/node_modules/semver/functions/sort.js +5 -0
  925. package/node_modules/semver/functions/valid.js +8 -0
  926. package/node_modules/semver/index.js +91 -0
  927. package/node_modules/semver/internal/constants.js +37 -0
  928. package/node_modules/semver/internal/debug.js +11 -0
  929. package/node_modules/semver/internal/identifiers.js +29 -0
  930. package/node_modules/semver/internal/lrucache.js +42 -0
  931. package/node_modules/semver/internal/parse-options.js +17 -0
  932. package/node_modules/semver/internal/re.js +223 -0
  933. package/node_modules/semver/package.json +78 -0
  934. package/node_modules/semver/preload.js +4 -0
  935. package/node_modules/semver/range.bnf +16 -0
  936. package/node_modules/semver/ranges/gtr.js +6 -0
  937. package/node_modules/semver/ranges/intersects.js +9 -0
  938. package/node_modules/semver/ranges/ltr.js +6 -0
  939. package/node_modules/semver/ranges/max-satisfying.js +27 -0
  940. package/node_modules/semver/ranges/min-satisfying.js +26 -0
  941. package/node_modules/semver/ranges/min-version.js +63 -0
  942. package/node_modules/semver/ranges/outside.js +82 -0
  943. package/node_modules/semver/ranges/simplify.js +49 -0
  944. package/node_modules/semver/ranges/subset.js +249 -0
  945. package/node_modules/semver/ranges/to-comparators.js +10 -0
  946. package/node_modules/semver/ranges/valid.js +13 -0
  947. package/node_modules/signal-exit/LICENSE.txt +16 -0
  948. package/node_modules/signal-exit/README.md +74 -0
  949. package/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
  950. package/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
  951. package/node_modules/signal-exit/dist/cjs/browser.js +10 -0
  952. package/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
  953. package/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
  954. package/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
  955. package/node_modules/signal-exit/dist/cjs/index.js +279 -0
  956. package/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
  957. package/node_modules/signal-exit/dist/cjs/package.json +3 -0
  958. package/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
  959. package/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
  960. package/node_modules/signal-exit/dist/cjs/signals.js +42 -0
  961. package/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
  962. package/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
  963. package/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
  964. package/node_modules/signal-exit/dist/mjs/browser.js +4 -0
  965. package/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
  966. package/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
  967. package/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
  968. package/node_modules/signal-exit/dist/mjs/index.js +275 -0
  969. package/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
  970. package/node_modules/signal-exit/dist/mjs/package.json +3 -0
  971. package/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
  972. package/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
  973. package/node_modules/signal-exit/dist/mjs/signals.js +39 -0
  974. package/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
  975. package/node_modules/signal-exit/package.json +106 -0
  976. package/node_modules/slice-ansi/index.d.ts +19 -0
  977. package/node_modules/slice-ansi/index.js +169 -0
  978. package/node_modules/slice-ansi/license +10 -0
  979. package/node_modules/slice-ansi/package.json +58 -0
  980. package/node_modules/slice-ansi/readme.md +54 -0
  981. package/node_modules/stack-utils/LICENSE.md +21 -0
  982. package/node_modules/stack-utils/index.js +344 -0
  983. package/node_modules/stack-utils/package.json +39 -0
  984. package/node_modules/stack-utils/readme.md +143 -0
  985. package/node_modules/string-width/index.d.ts +39 -0
  986. package/node_modules/string-width/index.js +82 -0
  987. package/node_modules/string-width/license +9 -0
  988. package/node_modules/string-width/package.json +64 -0
  989. package/node_modules/string-width/readme.md +66 -0
  990. package/node_modules/strip-ansi/index.d.ts +15 -0
  991. package/node_modules/strip-ansi/index.js +19 -0
  992. package/node_modules/strip-ansi/license +9 -0
  993. package/node_modules/strip-ansi/package.json +59 -0
  994. package/node_modules/strip-ansi/readme.md +37 -0
  995. package/node_modules/supports-hyperlinks/browser.js +10 -0
  996. package/node_modules/supports-hyperlinks/index.d.ts +25 -0
  997. package/node_modules/supports-hyperlinks/index.js +157 -0
  998. package/node_modules/supports-hyperlinks/license +10 -0
  999. package/node_modules/supports-hyperlinks/node_modules/has-flag/index.d.ts +39 -0
  1000. package/node_modules/supports-hyperlinks/node_modules/has-flag/index.js +8 -0
  1001. package/node_modules/supports-hyperlinks/node_modules/has-flag/license +9 -0
  1002. package/node_modules/supports-hyperlinks/node_modules/has-flag/package.json +49 -0
  1003. package/node_modules/supports-hyperlinks/node_modules/has-flag/readme.md +74 -0
  1004. package/node_modules/supports-hyperlinks/node_modules/supports-color/browser.d.ts +1 -0
  1005. package/node_modules/supports-hyperlinks/node_modules/supports-color/browser.js +35 -0
  1006. package/node_modules/supports-hyperlinks/node_modules/supports-color/index.d.ts +55 -0
  1007. package/node_modules/supports-hyperlinks/node_modules/supports-color/index.js +202 -0
  1008. package/node_modules/supports-hyperlinks/node_modules/supports-color/license +9 -0
  1009. package/node_modules/supports-hyperlinks/node_modules/supports-color/package.json +64 -0
  1010. package/node_modules/supports-hyperlinks/node_modules/supports-color/readme.md +75 -0
  1011. package/node_modules/supports-hyperlinks/package.json +47 -0
  1012. package/node_modules/supports-hyperlinks/readme.md +39 -0
  1013. package/node_modules/tagged-tag/index.d.ts +3 -0
  1014. package/node_modules/tagged-tag/license +9 -0
  1015. package/node_modules/tagged-tag/package.json +36 -0
  1016. package/node_modules/tagged-tag/readme.md +5 -0
  1017. package/node_modules/type-fest/index.d.ts +221 -0
  1018. package/node_modules/type-fest/license-cc0 +121 -0
  1019. package/node_modules/type-fest/license-mit +9 -0
  1020. package/node_modules/type-fest/package.json +75 -0
  1021. package/node_modules/type-fest/readme.md +1077 -0
  1022. package/node_modules/type-fest/source/absolute.d.ts +52 -0
  1023. package/node_modules/type-fest/source/all-extend.d.ts +119 -0
  1024. package/node_modules/type-fest/source/all-union-fields.d.ts +91 -0
  1025. package/node_modules/type-fest/source/and-all.d.ts +76 -0
  1026. package/node_modules/type-fest/source/and.d.ts +82 -0
  1027. package/node_modules/type-fest/source/array-element.d.ts +46 -0
  1028. package/node_modules/type-fest/source/array-indices.d.ts +25 -0
  1029. package/node_modules/type-fest/source/array-length.d.ts +36 -0
  1030. package/node_modules/type-fest/source/array-reverse.d.ts +84 -0
  1031. package/node_modules/type-fest/source/array-slice.d.ts +132 -0
  1032. package/node_modules/type-fest/source/array-splice.d.ts +104 -0
  1033. package/node_modules/type-fest/source/array-tail.d.ts +70 -0
  1034. package/node_modules/type-fest/source/array-values.d.ts +24 -0
  1035. package/node_modules/type-fest/source/arrayable.d.ts +31 -0
  1036. package/node_modules/type-fest/source/async-return-type.d.ts +28 -0
  1037. package/node_modules/type-fest/source/asyncify.d.ts +25 -0
  1038. package/node_modules/type-fest/source/basic.d.ts +38 -0
  1039. package/node_modules/type-fest/source/camel-case.d.ts +125 -0
  1040. package/node_modules/type-fest/source/camel-cased-properties-deep.d.ts +106 -0
  1041. package/node_modules/type-fest/source/camel-cased-properties.d.ts +49 -0
  1042. package/node_modules/type-fest/source/characters.d.ts +67 -0
  1043. package/node_modules/type-fest/source/conditional-except.d.ts +47 -0
  1044. package/node_modules/type-fest/source/conditional-keys.d.ts +63 -0
  1045. package/node_modules/type-fest/source/conditional-pick-deep.d.ts +122 -0
  1046. package/node_modules/type-fest/source/conditional-pick.d.ts +48 -0
  1047. package/node_modules/type-fest/source/conditional-simplify-deep.d.ts +73 -0
  1048. package/node_modules/type-fest/source/conditional-simplify.d.ts +50 -0
  1049. package/node_modules/type-fest/source/delimiter-case.d.ts +78 -0
  1050. package/node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts +115 -0
  1051. package/node_modules/type-fest/source/delimiter-cased-properties.d.ts +52 -0
  1052. package/node_modules/type-fest/source/distributed-omit.d.ts +96 -0
  1053. package/node_modules/type-fest/source/distributed-pick.d.ts +92 -0
  1054. package/node_modules/type-fest/source/empty-object.d.ts +51 -0
  1055. package/node_modules/type-fest/source/entries.d.ts +64 -0
  1056. package/node_modules/type-fest/source/entry.d.ts +67 -0
  1057. package/node_modules/type-fest/source/exact.d.ts +73 -0
  1058. package/node_modules/type-fest/source/except.d.ts +112 -0
  1059. package/node_modules/type-fest/source/exclude-exactly.d.ts +57 -0
  1060. package/node_modules/type-fest/source/exclude-rest-element.d.ts +40 -0
  1061. package/node_modules/type-fest/source/exclude-strict.d.ts +51 -0
  1062. package/node_modules/type-fest/source/exclusify-union.d.ts +147 -0
  1063. package/node_modules/type-fest/source/extends-strict.d.ts +44 -0
  1064. package/node_modules/type-fest/source/extract-rest-element.d.ts +30 -0
  1065. package/node_modules/type-fest/source/extract-strict.d.ts +51 -0
  1066. package/node_modules/type-fest/source/find-global-type.d.ts +68 -0
  1067. package/node_modules/type-fest/source/fixed-length-array.d.ts +97 -0
  1068. package/node_modules/type-fest/source/get.d.ts +227 -0
  1069. package/node_modules/type-fest/source/global-this.d.ts +24 -0
  1070. package/node_modules/type-fest/source/globals/index.d.ts +3 -0
  1071. package/node_modules/type-fest/source/globals/observable-like.d.ts +78 -0
  1072. package/node_modules/type-fest/source/greater-than-or-equal.d.ts +63 -0
  1073. package/node_modules/type-fest/source/greater-than.d.ts +92 -0
  1074. package/node_modules/type-fest/source/has-optional-keys.d.ts +23 -0
  1075. package/node_modules/type-fest/source/has-readonly-keys.d.ts +23 -0
  1076. package/node_modules/type-fest/source/has-required-keys.d.ts +61 -0
  1077. package/node_modules/type-fest/source/has-writable-keys.d.ts +23 -0
  1078. package/node_modules/type-fest/source/if-any.d.ts +28 -0
  1079. package/node_modules/type-fest/source/if-empty-object.d.ts +30 -0
  1080. package/node_modules/type-fest/source/if-never.d.ts +28 -0
  1081. package/node_modules/type-fest/source/if-null.d.ts +28 -0
  1082. package/node_modules/type-fest/source/if-unknown.d.ts +28 -0
  1083. package/node_modules/type-fest/source/if.d.ts +102 -0
  1084. package/node_modules/type-fest/source/includes.d.ts +24 -0
  1085. package/node_modules/type-fest/source/int-closed-range.d.ts +45 -0
  1086. package/node_modules/type-fest/source/int-range.d.ts +67 -0
  1087. package/node_modules/type-fest/source/internal/array.d.ts +144 -0
  1088. package/node_modules/type-fest/source/internal/characters.d.ts +65 -0
  1089. package/node_modules/type-fest/source/internal/enforce-optional.d.ts +49 -0
  1090. package/node_modules/type-fest/source/internal/index.d.ts +11 -0
  1091. package/node_modules/type-fest/source/internal/keys.d.ts +100 -0
  1092. package/node_modules/type-fest/source/internal/numeric.d.ts +141 -0
  1093. package/node_modules/type-fest/source/internal/object.d.ts +292 -0
  1094. package/node_modules/type-fest/source/internal/string.d.ts +202 -0
  1095. package/node_modules/type-fest/source/internal/tuple.d.ts +79 -0
  1096. package/node_modules/type-fest/source/internal/type.d.ts +165 -0
  1097. package/node_modules/type-fest/source/invariant-of.d.ts +85 -0
  1098. package/node_modules/type-fest/source/is-any.d.ts +31 -0
  1099. package/node_modules/type-fest/source/is-equal.d.ts +41 -0
  1100. package/node_modules/type-fest/source/is-float.d.ts +43 -0
  1101. package/node_modules/type-fest/source/is-integer.d.ts +60 -0
  1102. package/node_modules/type-fest/source/is-literal.d.ts +315 -0
  1103. package/node_modules/type-fest/source/is-lowercase.d.ts +38 -0
  1104. package/node_modules/type-fest/source/is-never.d.ts +56 -0
  1105. package/node_modules/type-fest/source/is-null.d.ts +22 -0
  1106. package/node_modules/type-fest/source/is-nullable.d.ts +30 -0
  1107. package/node_modules/type-fest/source/is-optional-key-of.d.ts +51 -0
  1108. package/node_modules/type-fest/source/is-optional.d.ts +28 -0
  1109. package/node_modules/type-fest/source/is-readonly-key-of.d.ts +55 -0
  1110. package/node_modules/type-fest/source/is-required-key-of.d.ts +51 -0
  1111. package/node_modules/type-fest/source/is-tuple.d.ts +92 -0
  1112. package/node_modules/type-fest/source/is-undefined.d.ts +22 -0
  1113. package/node_modules/type-fest/source/is-union.d.ts +40 -0
  1114. package/node_modules/type-fest/source/is-unknown.d.ts +43 -0
  1115. package/node_modules/type-fest/source/is-uppercase.d.ts +38 -0
  1116. package/node_modules/type-fest/source/is-writable-key-of.d.ts +51 -0
  1117. package/node_modules/type-fest/source/iterable-element.d.ts +66 -0
  1118. package/node_modules/type-fest/source/join.d.ts +79 -0
  1119. package/node_modules/type-fest/source/json-value.d.ts +33 -0
  1120. package/node_modules/type-fest/source/jsonifiable.d.ts +37 -0
  1121. package/node_modules/type-fest/source/jsonify.d.ts +127 -0
  1122. package/node_modules/type-fest/source/kebab-case.d.ts +47 -0
  1123. package/node_modules/type-fest/source/kebab-cased-properties-deep.d.ts +72 -0
  1124. package/node_modules/type-fest/source/kebab-cased-properties.d.ts +46 -0
  1125. package/node_modules/type-fest/source/key-as-string.d.ts +27 -0
  1126. package/node_modules/type-fest/source/keys-of-union.d.ts +44 -0
  1127. package/node_modules/type-fest/source/last-array-element.d.ts +36 -0
  1128. package/node_modules/type-fest/source/less-than-or-equal.d.ts +60 -0
  1129. package/node_modules/type-fest/source/less-than.d.ts +60 -0
  1130. package/node_modules/type-fest/source/literal-to-primitive-deep.d.ts +71 -0
  1131. package/node_modules/type-fest/source/literal-to-primitive.d.ts +38 -0
  1132. package/node_modules/type-fest/source/literal-union.d.ts +39 -0
  1133. package/node_modules/type-fest/source/merge-deep.d.ts +495 -0
  1134. package/node_modules/type-fest/source/merge-exclusive.d.ts +45 -0
  1135. package/node_modules/type-fest/source/merge.d.ts +87 -0
  1136. package/node_modules/type-fest/source/multidimensional-array.d.ts +38 -0
  1137. package/node_modules/type-fest/source/multidimensional-readonly-array.d.ts +38 -0
  1138. package/node_modules/type-fest/source/non-empty-object.d.ts +38 -0
  1139. package/node_modules/type-fest/source/non-empty-string.d.ts +32 -0
  1140. package/node_modules/type-fest/source/non-empty-tuple.d.ts +24 -0
  1141. package/node_modules/type-fest/source/non-nullable-deep.d.ts +102 -0
  1142. package/node_modules/type-fest/source/numeric.d.ts +226 -0
  1143. package/node_modules/type-fest/source/object-merge.d.ts +194 -0
  1144. package/node_modules/type-fest/source/omit-deep.d.ts +153 -0
  1145. package/node_modules/type-fest/source/omit-index-signature.d.ts +98 -0
  1146. package/node_modules/type-fest/source/opaque.d.ts +3 -0
  1147. package/node_modules/type-fest/source/optional-keys-of.d.ts +46 -0
  1148. package/node_modules/type-fest/source/optional.d.ts +31 -0
  1149. package/node_modules/type-fest/source/or-all.d.ts +73 -0
  1150. package/node_modules/type-fest/source/or.d.ts +82 -0
  1151. package/node_modules/type-fest/source/override-properties.d.ts +43 -0
  1152. package/node_modules/type-fest/source/package-json.d.ts +710 -0
  1153. package/node_modules/type-fest/source/partial-deep.d.ts +157 -0
  1154. package/node_modules/type-fest/source/partial-on-undefined-deep.d.ts +81 -0
  1155. package/node_modules/type-fest/source/pascal-case.d.ts +52 -0
  1156. package/node_modules/type-fest/source/pascal-cased-properties-deep.d.ts +79 -0
  1157. package/node_modules/type-fest/source/pascal-cased-properties.d.ts +46 -0
  1158. package/node_modules/type-fest/source/paths.d.ts +241 -0
  1159. package/node_modules/type-fest/source/pick-deep.d.ts +139 -0
  1160. package/node_modules/type-fest/source/pick-index-signature.d.ts +52 -0
  1161. package/node_modules/type-fest/source/primitive.d.ts +15 -0
  1162. package/node_modules/type-fest/source/promisable.d.ts +27 -0
  1163. package/node_modules/type-fest/source/readonly-deep.d.ts +118 -0
  1164. package/node_modules/type-fest/source/readonly-keys-of.d.ts +38 -0
  1165. package/node_modules/type-fest/source/readonly-tuple.d.ts +34 -0
  1166. package/node_modules/type-fest/source/remove-prefix.d.ts +132 -0
  1167. package/node_modules/type-fest/source/replace.d.ts +87 -0
  1168. package/node_modules/type-fest/source/require-all-or-none.d.ts +54 -0
  1169. package/node_modules/type-fest/source/require-at-least-one.d.ts +48 -0
  1170. package/node_modules/type-fest/source/require-exactly-one.d.ts +48 -0
  1171. package/node_modules/type-fest/source/require-one-or-none.d.ts +49 -0
  1172. package/node_modules/type-fest/source/required-deep.d.ts +78 -0
  1173. package/node_modules/type-fest/source/required-keys-of.d.ts +38 -0
  1174. package/node_modules/type-fest/source/schema.d.ts +119 -0
  1175. package/node_modules/type-fest/source/screaming-snake-case.d.ts +31 -0
  1176. package/node_modules/type-fest/source/set-field-type.d.ts +67 -0
  1177. package/node_modules/type-fest/source/set-non-nullable-deep.d.ts +88 -0
  1178. package/node_modules/type-fest/source/set-non-nullable.d.ts +34 -0
  1179. package/node_modules/type-fest/source/set-optional.d.ts +42 -0
  1180. package/node_modules/type-fest/source/set-parameter-type.d.ts +125 -0
  1181. package/node_modules/type-fest/source/set-readonly.d.ts +40 -0
  1182. package/node_modules/type-fest/source/set-required-deep.d.ts +64 -0
  1183. package/node_modules/type-fest/source/set-required.d.ts +75 -0
  1184. package/node_modules/type-fest/source/set-return-type.d.ts +31 -0
  1185. package/node_modules/type-fest/source/shared-union-fields-deep.d.ts +180 -0
  1186. package/node_modules/type-fest/source/shared-union-fields.d.ts +79 -0
  1187. package/node_modules/type-fest/source/simplify-deep.d.ts +117 -0
  1188. package/node_modules/type-fest/source/simplify.d.ts +61 -0
  1189. package/node_modules/type-fest/source/single-key-object.d.ts +28 -0
  1190. package/node_modules/type-fest/source/snake-case.d.ts +48 -0
  1191. package/node_modules/type-fest/source/snake-cased-properties-deep.d.ts +72 -0
  1192. package/node_modules/type-fest/source/snake-cased-properties.d.ts +46 -0
  1193. package/node_modules/type-fest/source/some-extend.d.ts +113 -0
  1194. package/node_modules/type-fest/source/split-on-rest-element.d.ts +106 -0
  1195. package/node_modules/type-fest/source/split.d.ts +90 -0
  1196. package/node_modules/type-fest/source/spread.d.ts +78 -0
  1197. package/node_modules/type-fest/source/string-repeat.d.ts +49 -0
  1198. package/node_modules/type-fest/source/string-slice.d.ts +39 -0
  1199. package/node_modules/type-fest/source/stringified.d.ts +25 -0
  1200. package/node_modules/type-fest/source/structured-cloneable.d.ts +89 -0
  1201. package/node_modules/type-fest/source/subtract.d.ts +87 -0
  1202. package/node_modules/type-fest/source/sum.d.ts +82 -0
  1203. package/node_modules/type-fest/source/tagged-union.d.ts +53 -0
  1204. package/node_modules/type-fest/source/tagged.d.ts +261 -0
  1205. package/node_modules/type-fest/source/trim.d.ts +29 -0
  1206. package/node_modules/type-fest/source/tsconfig-json.d.ts +1356 -0
  1207. package/node_modules/type-fest/source/tuple-of.d.ts +80 -0
  1208. package/node_modules/type-fest/source/tuple-to-object.d.ts +47 -0
  1209. package/node_modules/type-fest/source/tuple-to-union.d.ts +54 -0
  1210. package/node_modules/type-fest/source/typed-array.d.ts +19 -0
  1211. package/node_modules/type-fest/source/undefined-on-partial-deep.d.ts +83 -0
  1212. package/node_modules/type-fest/source/union-length.d.ts +27 -0
  1213. package/node_modules/type-fest/source/union-member.d.ts +65 -0
  1214. package/node_modules/type-fest/source/union-to-intersection.d.ts +35 -0
  1215. package/node_modules/type-fest/source/union-to-tuple.d.ts +49 -0
  1216. package/node_modules/type-fest/source/unknown-array.d.ts +27 -0
  1217. package/node_modules/type-fest/source/unknown-map.d.ts +26 -0
  1218. package/node_modules/type-fest/source/unknown-record.d.ts +33 -0
  1219. package/node_modules/type-fest/source/unknown-set.d.ts +26 -0
  1220. package/node_modules/type-fest/source/unwrap-partial.d.ts +33 -0
  1221. package/node_modules/type-fest/source/value-of.d.ts +24 -0
  1222. package/node_modules/type-fest/source/words.d.ts +148 -0
  1223. package/node_modules/type-fest/source/writable-deep.d.ts +84 -0
  1224. package/node_modules/type-fest/source/writable-keys-of.d.ts +34 -0
  1225. package/node_modules/type-fest/source/writable.d.ts +68 -0
  1226. package/node_modules/type-fest/source/xor.d.ts +83 -0
  1227. package/node_modules/usehooks-ts/LICENSE +22 -0
  1228. package/node_modules/usehooks-ts/README.md +473 -0
  1229. package/node_modules/usehooks-ts/dist/index.cjs +1084 -0
  1230. package/node_modules/usehooks-ts/dist/index.d.cts +953 -0
  1231. package/node_modules/usehooks-ts/dist/index.d.ts +953 -0
  1232. package/node_modules/usehooks-ts/dist/index.js +1046 -0
  1233. package/node_modules/usehooks-ts/package.json +74 -0
  1234. package/node_modules/wrap-ansi/index.d.ts +41 -0
  1235. package/node_modules/wrap-ansi/index.js +222 -0
  1236. package/node_modules/wrap-ansi/license +9 -0
  1237. package/node_modules/wrap-ansi/package.json +69 -0
  1238. package/node_modules/wrap-ansi/readme.md +75 -0
  1239. package/package.json +3 -2
@@ -0,0 +1,742 @@
1
+ /** Mouse-driven text selection state for alt-screen / fullscreen mode. */
2
+
3
+ import { clamp } from './layout/geometry.js'
4
+ import type { Screen, StylePool } from './screen.js'
5
+ import { CellWidth, cellAt, cellAtIndex, setCellStyleId } from './screen.js'
6
+
7
+ type Point = { col: number; row: number }
8
+
9
+ export type SelectionState = {
10
+ /** Where the mouse-down occurred. Null when no selection. */
11
+ anchor: Point | null
12
+ /** Current drag position (updated on mouse-move while dragging). */
13
+ focus: Point | null
14
+ /** True between mouse-down and mouse-up. */
15
+ isDragging: boolean
16
+ anchorSpan: { lo: Point; hi: Point; kind: 'word' | 'line' } | null
17
+ scrolledOffAbove: string[]
18
+ /** Symmetric: rows scrolled out BELOW when dragging up. Appended. */
19
+ scrolledOffBelow: string[]
20
+ scrolledOffAboveSW: boolean[]
21
+ /** Parallel to scrolledOffBelow. */
22
+ scrolledOffBelowSW: boolean[]
23
+ /** Pre-clamp anchor row. */
24
+ virtualAnchorRow?: number
25
+ /** Same for focus. */
26
+ virtualFocusRow?: number
27
+ lastPressHadAlt: boolean
28
+ }
29
+
30
+ export function createSelectionState(): SelectionState {
31
+ return {
32
+ anchor: null,
33
+ focus: null,
34
+ isDragging: false,
35
+ anchorSpan: null,
36
+ scrolledOffAbove: [],
37
+ scrolledOffBelow: [],
38
+ scrolledOffAboveSW: [],
39
+ scrolledOffBelowSW: [],
40
+ lastPressHadAlt: false,
41
+ }
42
+ }
43
+
44
+ export function startSelection(
45
+ s: SelectionState,
46
+ col: number,
47
+ row: number,
48
+ ): void {
49
+ s.anchor = { col, row }
50
+ // Focus is not set until the first drag motion. A click-release with no
51
+ // drag leaves focus null → hasSelection/selectionBounds return false/null
52
+ // via the `!s.focus` check, so a bare click never highlights a cell.
53
+ s.focus = null
54
+ s.isDragging = true
55
+ s.anchorSpan = null
56
+ s.scrolledOffAbove = []
57
+ s.scrolledOffBelow = []
58
+ s.scrolledOffAboveSW = []
59
+ s.scrolledOffBelowSW = []
60
+ s.virtualAnchorRow = undefined
61
+ s.virtualFocusRow = undefined
62
+ s.lastPressHadAlt = false
63
+ }
64
+
65
+ export function updateSelection(
66
+ s: SelectionState,
67
+ col: number,
68
+ row: number,
69
+ ): void {
70
+ if (!s.isDragging) return
71
+ // First motion at the same cell as anchor is a no-op. Terminals in mode
72
+ // 1002 can fire a drag event at the anchor cell (sub-pixel tremor, or a
73
+ // motion-release pair). Setting focus here would turn a bare click into
74
+ // a 1-cell selection and clobber the clipboard via useCopyOnSelect. Once
75
+ // focus is set (real drag), we track normally including back to anchor.
76
+ if (!s.focus && s.anchor && s.anchor.col === col && s.anchor.row === row)
77
+ return
78
+ s.focus = { col, row }
79
+ }
80
+
81
+ export function finishSelection(s: SelectionState): void {
82
+ s.isDragging = false
83
+ // Keep anchor/focus so highlight stays visible and text can be copied.
84
+ // Clear via clearSelection() on Esc or after copy.
85
+ }
86
+
87
+ export function clearSelection(s: SelectionState): void {
88
+ s.anchor = null
89
+ s.focus = null
90
+ s.isDragging = false
91
+ s.anchorSpan = null
92
+ s.scrolledOffAbove = []
93
+ s.scrolledOffBelow = []
94
+ s.scrolledOffAboveSW = []
95
+ s.scrolledOffBelowSW = []
96
+ s.virtualAnchorRow = undefined
97
+ s.virtualFocusRow = undefined
98
+ s.lastPressHadAlt = false
99
+ }
100
+
101
+ // Unicode-aware word-character matcher used by double-click word
102
+ // expansion. Letters in any script, digits, plus the small punctuation
103
+ // set that most popular terminal emulators treat as word-part. The
104
+ // trailing punctuation list (`/`, `-`, `+`, `~`, `_`, `.`, `\`) is
105
+ // chosen to keep paths like `/usr/local/bin` or `~/.config/foo.json`
106
+ // in a single word, which is the muscle memory most terminal users
107
+ // already have built up.
108
+ const WORD_CHAR = /[\p{L}\p{N}_/.\-+~\\]/u
109
+
110
+ /** Character class for double-click word-expansion. */
111
+ function charClass(c: string): 0 | 1 | 2 {
112
+ if (c === ' ' || c === '') return 0
113
+ if (WORD_CHAR.test(c)) return 1
114
+ return 2
115
+ }
116
+
117
+ /** Find the bounds of the same-class character run at (col, row). */
118
+ function wordBoundsAt(
119
+ screen: Screen,
120
+ col: number,
121
+ row: number,
122
+ ): { lo: number; hi: number } | null {
123
+ if (row < 0 || row >= screen.height) return null
124
+ const width = screen.width
125
+ const noSelect = screen.noSelect
126
+ const rowOff = row * width
127
+
128
+ // If the click landed on the spacer tail of a wide char, step back to
129
+ // the head so the class check sees the actual grapheme.
130
+ let c = col
131
+ if (c > 0) {
132
+ const cell = cellAt(screen, c, row)
133
+ if (cell && cell.width === CellWidth.SpacerTail) c -= 1
134
+ }
135
+ if (c < 0 || c >= width || noSelect[rowOff + c] === 1) return null
136
+
137
+ const startCell = cellAt(screen, c, row)
138
+ if (!startCell) return null
139
+ const cls = charClass(startCell.char)
140
+
141
+ // Expand left: include cells of the same class, stop at noSelect or
142
+ // class change. SpacerTail cells are stepped over (the wide-char head
143
+ // at the preceding column determines the class).
144
+ let lo = c
145
+ while (lo > 0) {
146
+ const prev = lo - 1
147
+ if (noSelect[rowOff + prev] === 1) break
148
+ const pc = cellAt(screen, prev, row)
149
+ if (!pc) break
150
+ if (pc.width === CellWidth.SpacerTail) {
151
+ // Step over the spacer to the wide-char head
152
+ if (prev === 0 || noSelect[rowOff + prev - 1] === 1) break
153
+ const head = cellAt(screen, prev - 1, row)
154
+ if (!head || charClass(head.char) !== cls) break
155
+ lo = prev - 1
156
+ continue
157
+ }
158
+ if (charClass(pc.char) !== cls) break
159
+ lo = prev
160
+ }
161
+
162
+ // Expand right: same logic, skipping spacer tails.
163
+ let hi = c
164
+ while (hi < width - 1) {
165
+ const next = hi + 1
166
+ if (noSelect[rowOff + next] === 1) break
167
+ const nc = cellAt(screen, next, row)
168
+ if (!nc) break
169
+ if (nc.width === CellWidth.SpacerTail) {
170
+ // Include the spacer tail in the selection range (it belongs to
171
+ // the wide char at hi) and continue past it.
172
+ hi = next
173
+ continue
174
+ }
175
+ if (charClass(nc.char) !== cls) break
176
+ hi = next
177
+ }
178
+
179
+ return { lo, hi }
180
+ }
181
+
182
+ /** -1 if a < b, 1 if a > b, 0 if equal (reading order: row then col). */
183
+ function comparePoints(a: Point, b: Point): number {
184
+ if (a.row !== b.row) return a.row < b.row ? -1 : 1
185
+ if (a.col !== b.col) return a.col < b.col ? -1 : 1
186
+ return 0
187
+ }
188
+
189
+ export function selectWordAt(
190
+ s: SelectionState,
191
+ screen: Screen,
192
+ col: number,
193
+ row: number,
194
+ ): void {
195
+ const b = wordBoundsAt(screen, col, row)
196
+ if (!b) return
197
+ const lo = { col: b.lo, row }
198
+ const hi = { col: b.hi, row }
199
+ s.anchor = lo
200
+ s.focus = hi
201
+ s.isDragging = true
202
+ s.anchorSpan = { lo, hi, kind: 'word' }
203
+ }
204
+
205
+ // Printable ASCII minus terminal URL delimiters. Restricting to single-
206
+ // codeunit ASCII keeps cell-count === string-index, so the column-span
207
+ // check below is exact (no wide-char/grapheme drift).
208
+ const URL_BOUNDARY = new Set([...'<>"\'` '])
209
+ function isUrlChar(c: string): boolean {
210
+ if (c.length !== 1) return false
211
+ const code = c.charCodeAt(0)
212
+ return code >= 0x21 && code <= 0x7e && !URL_BOUNDARY.has(c)
213
+ }
214
+
215
+ /** Scan the screen buffer for a plain-text URL at (col, row). */
216
+ export function findPlainTextUrlAt(
217
+ screen: Screen,
218
+ col: number,
219
+ row: number,
220
+ ): string | undefined {
221
+ if (row < 0 || row >= screen.height) return undefined
222
+ const width = screen.width
223
+ const noSelect = screen.noSelect
224
+ const rowOff = row * width
225
+
226
+ let c = col
227
+ if (c > 0) {
228
+ const cell = cellAt(screen, c, row)
229
+ if (cell && cell.width === CellWidth.SpacerTail) c -= 1
230
+ }
231
+ if (c < 0 || c >= width || noSelect[rowOff + c] === 1) return undefined
232
+
233
+ const startCell = cellAt(screen, c, row)
234
+ if (!startCell || !isUrlChar(startCell.char)) return undefined
235
+
236
+ // Expand left/right to the bounds of the URL-char run. URLs are ASCII
237
+ // (CellWidth.Narrow, 1 codeunit), so hitting a non-ASCII/wide/spacer
238
+ // cell is a boundary — no need to step over spacers like wordBoundsAt.
239
+ let lo = c
240
+ while (lo > 0) {
241
+ const prev = lo - 1
242
+ if (noSelect[rowOff + prev] === 1) break
243
+ const pc = cellAt(screen, prev, row)
244
+ if (!pc || pc.width !== CellWidth.Narrow || !isUrlChar(pc.char)) break
245
+ lo = prev
246
+ }
247
+ let hi = c
248
+ while (hi < width - 1) {
249
+ const next = hi + 1
250
+ if (noSelect[rowOff + next] === 1) break
251
+ const nc = cellAt(screen, next, row)
252
+ if (!nc || nc.width !== CellWidth.Narrow || !isUrlChar(nc.char)) break
253
+ hi = next
254
+ }
255
+
256
+ let token = ''
257
+ for (let i = lo; i <= hi; i++) token += cellAt(screen, i, row)!.char
258
+
259
+ // 1 cell = 1 char across [lo, hi] (ASCII-only run), so string index =
260
+ // column offset. Find the last scheme anchor at or before the click —
261
+ // a run like `https://a.com,https://b.com` has two, and clicking the
262
+ // second should return the second URL, not the greedy match of both.
263
+ const clickIdx = c - lo
264
+ const schemeRe = /(?:https?|file):\/\//g
265
+ let urlStart = -1
266
+ let urlEnd = token.length
267
+ for (let m; (m = schemeRe.exec(token)); ) {
268
+ if (m.index > clickIdx) {
269
+ urlEnd = m.index
270
+ break
271
+ }
272
+ urlStart = m.index
273
+ }
274
+ if (urlStart < 0) return undefined
275
+ let url = token.slice(urlStart, urlEnd)
276
+
277
+ // Strip trailing sentence punctuation. For closers () ] }, only strip
278
+ // if unbalanced — `/wiki/Foo_(bar)` keeps `)`, `/arr[0]` keeps `]`.
279
+ const OPENER: Record<string, string> = { ')': '(', ']': '[', '}': '{' }
280
+ while (url.length > 0) {
281
+ const last = url.at(-1)!
282
+ if ('.,;:!?'.includes(last)) {
283
+ url = url.slice(0, -1)
284
+ continue
285
+ }
286
+ const opener = OPENER[last]
287
+ if (!opener) break
288
+ let opens = 0
289
+ let closes = 0
290
+ for (let i = 0; i < url.length; i++) {
291
+ const ch = url.charAt(i)
292
+ if (ch === opener) opens++
293
+ else if (ch === last) closes++
294
+ }
295
+ if (closes > opens) url = url.slice(0, -1)
296
+ else break
297
+ }
298
+
299
+ // urlStart already guarantees click >= URL start; check right edge.
300
+ if (clickIdx >= urlStart + url.length) return undefined
301
+
302
+ return url
303
+ }
304
+
305
+ /** Select the entire row. */
306
+ export function selectLineAt(
307
+ s: SelectionState,
308
+ screen: Screen,
309
+ row: number,
310
+ ): void {
311
+ if (row < 0 || row >= screen.height) return
312
+ const lo = { col: 0, row }
313
+ const hi = { col: screen.width - 1, row }
314
+ s.anchor = lo
315
+ s.focus = hi
316
+ s.isDragging = true
317
+ s.anchorSpan = { lo, hi, kind: 'line' }
318
+ }
319
+
320
+ /** Extend a word/line-mode selection to the word/line at (col, row). */
321
+ export function extendSelection(
322
+ s: SelectionState,
323
+ screen: Screen,
324
+ col: number,
325
+ row: number,
326
+ ): void {
327
+ if (!s.isDragging || !s.anchorSpan) return
328
+ const span = s.anchorSpan
329
+ let mLo: Point
330
+ let mHi: Point
331
+ if (span.kind === 'word') {
332
+ const b = wordBoundsAt(screen, col, row)
333
+ mLo = { col: b ? b.lo : col, row }
334
+ mHi = { col: b ? b.hi : col, row }
335
+ } else {
336
+ const r = clamp(row, 0, screen.height - 1)
337
+ mLo = { col: 0, row: r }
338
+ mHi = { col: screen.width - 1, row: r }
339
+ }
340
+ if (comparePoints(mHi, span.lo) < 0) {
341
+ // Mouse target ends before anchor span: extend backward.
342
+ s.anchor = span.hi
343
+ s.focus = mLo
344
+ } else if (comparePoints(mLo, span.hi) > 0) {
345
+ // Mouse target starts after anchor span: extend forward.
346
+ s.anchor = span.lo
347
+ s.focus = mHi
348
+ } else {
349
+ // Mouse overlaps the anchor span: just select the anchor span.
350
+ s.anchor = span.lo
351
+ s.focus = span.hi
352
+ }
353
+ }
354
+
355
+ /** Semantic keyboard focus moves. */
356
+ export type FocusMove =
357
+ | 'left'
358
+ | 'right'
359
+ | 'up'
360
+ | 'down'
361
+ | 'lineStart'
362
+ | 'lineEnd'
363
+
364
+ /** Set focus to (col, row) for keyboard selection extension (shift+arrow). */
365
+ export function moveFocus(s: SelectionState, col: number, row: number): void {
366
+ if (!s.focus) return
367
+ s.anchorSpan = null
368
+ s.focus = { col, row }
369
+ // Explicit user repositioning — any stale virtual focus (from a prior
370
+ // shiftSelection clamp) no longer reflects intent. Anchor stays put so
371
+ // virtualAnchorRow is still valid for its own round-trip.
372
+ s.virtualFocusRow = undefined
373
+ }
374
+
375
+ /** Shift anchor AND focus by dRow, clamped to [minRow, maxRow]. */
376
+ export function shiftSelection(
377
+ s: SelectionState,
378
+ dRow: number,
379
+ minRow: number,
380
+ maxRow: number,
381
+ width: number,
382
+ ): void {
383
+ if (!s.anchor || !s.focus) return
384
+ // Virtual rows track pre-clamp positions so reverse scrolls restore
385
+ // correctly. Without this, clamp(5→0) + shift(+10) = 10, not the true 5,
386
+ // and scrolledOffAbove stays stale (highlight ≠ copy).
387
+ const vAnchor = (s.virtualAnchorRow ?? s.anchor.row) + dRow
388
+ const vFocus = (s.virtualFocusRow ?? s.focus.row) + dRow
389
+ if (
390
+ (vAnchor < minRow && vFocus < minRow) ||
391
+ (vAnchor > maxRow && vFocus > maxRow)
392
+ ) {
393
+ clearSelection(s)
394
+ return
395
+ }
396
+ // Debt = how far the nearer endpoint overshoots each edge. When debt
397
+ // shrinks (reverse scroll), those rows are back on-screen — pop from
398
+ // the accumulator so getSelectedText doesn't double-count them.
399
+ const oldMin = Math.min(
400
+ s.virtualAnchorRow ?? s.anchor.row,
401
+ s.virtualFocusRow ?? s.focus.row,
402
+ )
403
+ const oldMax = Math.max(
404
+ s.virtualAnchorRow ?? s.anchor.row,
405
+ s.virtualFocusRow ?? s.focus.row,
406
+ )
407
+ const oldAboveDebt = Math.max(0, minRow - oldMin)
408
+ const oldBelowDebt = Math.max(0, oldMax - maxRow)
409
+ const newAboveDebt = Math.max(0, minRow - Math.min(vAnchor, vFocus))
410
+ const newBelowDebt = Math.max(0, Math.max(vAnchor, vFocus) - maxRow)
411
+ if (newAboveDebt < oldAboveDebt) {
412
+ // scrolledOffAbove pushes newest at the end (closest to on-screen).
413
+ const drop = oldAboveDebt - newAboveDebt
414
+ s.scrolledOffAbove.length -= drop
415
+ s.scrolledOffAboveSW.length = s.scrolledOffAbove.length
416
+ }
417
+ if (newBelowDebt < oldBelowDebt) {
418
+ // scrolledOffBelow unshifts newest at the front (closest to on-screen).
419
+ const drop = oldBelowDebt - newBelowDebt
420
+ s.scrolledOffBelow.splice(0, drop)
421
+ s.scrolledOffBelowSW.splice(0, drop)
422
+ }
423
+ // Invariant: accumulator length ≤ debt. If the accumulator exceeds debt,
424
+ // the excess is stale — e.g., moveFocus cleared virtualFocusRow without
425
+ // trimming the accumulator, orphaning entries the pop above can never
426
+ // reach because oldDebt was ALREADY 0. Truncate to debt (keeping the
427
+ // newest = closest-to-on-screen entries). Check newDebt (not oldDebt):
428
+ // captureScrolledRows runs BEFORE this shift in the real flow (ink.tsx),
429
+ // so at entry the accumulator is populated but oldDebt is still 0 —
430
+ // that's the normal establish-debt path, not stale.
431
+ if (s.scrolledOffAbove.length > newAboveDebt) {
432
+ // Above pushes newest at END → keep END.
433
+ s.scrolledOffAbove =
434
+ newAboveDebt > 0 ? s.scrolledOffAbove.slice(-newAboveDebt) : []
435
+ s.scrolledOffAboveSW =
436
+ newAboveDebt > 0 ? s.scrolledOffAboveSW.slice(-newAboveDebt) : []
437
+ }
438
+ if (s.scrolledOffBelow.length > newBelowDebt) {
439
+ // Below unshifts newest at FRONT → keep FRONT.
440
+ s.scrolledOffBelow = s.scrolledOffBelow.slice(0, newBelowDebt)
441
+ s.scrolledOffBelowSW = s.scrolledOffBelowSW.slice(0, newBelowDebt)
442
+ }
443
+ // Clamp col depends on which EDGE (not dRow direction): virtual tracking
444
+ // means a top-clamped point can stay top-clamped during a dRow>0 reverse
445
+ // shift — dRow-based clampCol would give it the bottom col.
446
+ const shift = (p: Point, vRow: number): Point => {
447
+ if (vRow < minRow) return { col: 0, row: minRow }
448
+ if (vRow > maxRow) return { col: width - 1, row: maxRow }
449
+ return { col: p.col, row: vRow }
450
+ }
451
+ s.anchor = shift(s.anchor, vAnchor)
452
+ s.focus = shift(s.focus, vFocus)
453
+ s.virtualAnchorRow =
454
+ vAnchor < minRow || vAnchor > maxRow ? vAnchor : undefined
455
+ s.virtualFocusRow = vFocus < minRow || vFocus > maxRow ? vFocus : undefined
456
+ // anchorSpan not virtual-tracked: it's for word/line extend-on-drag,
457
+ // irrelevant to the keyboard-scroll round-trip case.
458
+ if (s.anchorSpan) {
459
+ const sp = (p: Point): Point => {
460
+ const r = p.row + dRow
461
+ if (r < minRow) return { col: 0, row: minRow }
462
+ if (r > maxRow) return { col: width - 1, row: maxRow }
463
+ return { col: p.col, row: r }
464
+ }
465
+ s.anchorSpan = {
466
+ lo: sp(s.anchorSpan.lo),
467
+ hi: sp(s.anchorSpan.hi),
468
+ kind: s.anchorSpan.kind,
469
+ }
470
+ }
471
+ }
472
+
473
+ /** Shift the anchor row by dRow, clamped to [minRow, maxRow]. */
474
+ export function shiftAnchor(
475
+ s: SelectionState,
476
+ dRow: number,
477
+ minRow: number,
478
+ maxRow: number,
479
+ ): void {
480
+ if (!s.anchor) return
481
+ // Same virtual-row tracking as shiftSelection/shiftSelectionForFollow: the
482
+ // drag→follow transition hands off to shiftSelectionForFollow, which reads
483
+ // (virtualAnchorRow ?? anchor.row). Without this, drag-phase clamping
484
+ // leaves virtual undefined → follow initializes from the already-clamped
485
+ // row, under-counting total drift → shiftSelection's invariant-restore
486
+ // prematurely clears valid drag-phase accumulator entries.
487
+ const raw = (s.virtualAnchorRow ?? s.anchor.row) + dRow
488
+ s.anchor = { col: s.anchor.col, row: clamp(raw, minRow, maxRow) }
489
+ s.virtualAnchorRow = raw < minRow || raw > maxRow ? raw : undefined
490
+ // anchorSpan not virtual-tracked (word/line extend, irrelevant to
491
+ // keyboard-scroll round-trip) — plain clamp from current row.
492
+ if (s.anchorSpan) {
493
+ const shift = (p: Point): Point => ({
494
+ col: p.col,
495
+ row: clamp(p.row + dRow, minRow, maxRow),
496
+ })
497
+ s.anchorSpan = {
498
+ lo: shift(s.anchorSpan.lo),
499
+ hi: shift(s.anchorSpan.hi),
500
+ kind: s.anchorSpan.kind,
501
+ }
502
+ }
503
+ }
504
+
505
+ export function shiftSelectionForFollow(
506
+ s: SelectionState,
507
+ dRow: number,
508
+ minRow: number,
509
+ maxRow: number,
510
+ ): boolean {
511
+ if (!s.anchor) return false
512
+ // Mirror shiftSelection: compute raw (unclamped) positions from virtual
513
+ // if set, else current. This handles BOTH the update path (virtual already
514
+ // set from a prior keyboard scroll) AND the initialize path (first clamp
515
+ // happens HERE via follow-scroll, no prior keyboard scroll). Without the
516
+ // initialize path, follow-scroll-first leaves virtual undefined even
517
+ // though the clamp below occurred → a later PgUp computes debt from the
518
+ // clamped row instead of the true pre-clamp row and never pops the
519
+ // accumulator — getSelectedText double-counts the off-screen rows.
520
+ const rawAnchor = (s.virtualAnchorRow ?? s.anchor.row) + dRow
521
+ const rawFocus = s.focus
522
+ ? (s.virtualFocusRow ?? s.focus.row) + dRow
523
+ : undefined
524
+ if (rawAnchor < minRow && rawFocus !== undefined && rawFocus < minRow) {
525
+ clearSelection(s)
526
+ return true
527
+ }
528
+ // Clamp from raw, not p.row+dRow — so a virtual position coming back
529
+ // in-bounds lands at the TRUE position, not the stale clamped one.
530
+ s.anchor = { col: s.anchor.col, row: clamp(rawAnchor, minRow, maxRow) }
531
+ if (s.focus && rawFocus !== undefined) {
532
+ s.focus = { col: s.focus.col, row: clamp(rawFocus, minRow, maxRow) }
533
+ }
534
+ s.virtualAnchorRow =
535
+ rawAnchor < minRow || rawAnchor > maxRow ? rawAnchor : undefined
536
+ s.virtualFocusRow =
537
+ rawFocus !== undefined && (rawFocus < minRow || rawFocus > maxRow)
538
+ ? rawFocus
539
+ : undefined
540
+ // anchorSpan not virtual-tracked (word/line extend, irrelevant to
541
+ // keyboard-scroll round-trip) — plain clamp from current row.
542
+ if (s.anchorSpan) {
543
+ const shift = (p: Point): Point => ({
544
+ col: p.col,
545
+ row: clamp(p.row + dRow, minRow, maxRow),
546
+ })
547
+ s.anchorSpan = {
548
+ lo: shift(s.anchorSpan.lo),
549
+ hi: shift(s.anchorSpan.hi),
550
+ kind: s.anchorSpan.kind,
551
+ }
552
+ }
553
+ return false
554
+ }
555
+
556
+ export function hasSelection(s: SelectionState): boolean {
557
+ return s.anchor !== null && s.focus !== null
558
+ }
559
+
560
+ /** Normalized selection bounds: start is always before end in reading order. */
561
+ export function selectionBounds(s: SelectionState): {
562
+ start: { col: number; row: number }
563
+ end: { col: number; row: number }
564
+ } | null {
565
+ if (!s.anchor || !s.focus) return null
566
+ return comparePoints(s.anchor, s.focus) <= 0
567
+ ? { start: s.anchor, end: s.focus }
568
+ : { start: s.focus, end: s.anchor }
569
+ }
570
+
571
+ /** Check if a cell at (col, row) is within the current selection range. */
572
+ export function isCellSelected(
573
+ s: SelectionState,
574
+ col: number,
575
+ row: number,
576
+ ): boolean {
577
+ const b = selectionBounds(s)
578
+ if (!b) return false
579
+ const { start, end } = b
580
+ if (row < start.row || row > end.row) return false
581
+ if (row === start.row && col < start.col) return false
582
+ if (row === end.row && col > end.col) return false
583
+ return true
584
+ }
585
+
586
+ /** Extract text from one screen row. */
587
+ function extractRowText(
588
+ screen: Screen,
589
+ row: number,
590
+ colStart: number,
591
+ colEnd: number,
592
+ ): string {
593
+ const noSelect = screen.noSelect
594
+ const rowOff = row * screen.width
595
+ const contentEnd = row + 1 < screen.height ? screen.softWrap[row + 1]! : 0
596
+ const lastCol = contentEnd > 0 ? Math.min(colEnd, contentEnd - 1) : colEnd
597
+ let line = ''
598
+ for (let col = colStart; col <= lastCol; col++) {
599
+ // Skip cells marked noSelect (gutters, line numbers, diff sigils).
600
+ // Check before cellAt to avoid the decode cost for excluded cells.
601
+ if (noSelect[rowOff + col] === 1) continue
602
+ const cell = cellAt(screen, col, row)
603
+ if (!cell) continue
604
+ // Skip spacer tails (second half of wide chars) — the head already
605
+ // contains the full grapheme. SpacerHead is a blank at line-end.
606
+ if (
607
+ cell.width === CellWidth.SpacerTail ||
608
+ cell.width === CellWidth.SpacerHead
609
+ ) {
610
+ continue
611
+ }
612
+ line += cell.char
613
+ }
614
+ return contentEnd > 0 ? line : line.replace(/\s+$/, '')
615
+ }
616
+
617
+ function joinRows(
618
+ lines: string[],
619
+ text: string,
620
+ sw: boolean | undefined,
621
+ ): void {
622
+ if (sw && lines.length > 0) {
623
+ lines[lines.length - 1] += text
624
+ } else {
625
+ lines.push(text)
626
+ }
627
+ }
628
+
629
+ /** Extract text from the screen buffer within the selection range. */
630
+ export function getSelectedText(s: SelectionState, screen: Screen): string {
631
+ const b = selectionBounds(s)
632
+ if (!b) return ''
633
+ const { start, end } = b
634
+ const sw = screen.softWrap
635
+ const lines: string[] = []
636
+
637
+ for (let i = 0; i < s.scrolledOffAbove.length; i++) {
638
+ joinRows(lines, s.scrolledOffAbove[i]!, s.scrolledOffAboveSW[i])
639
+ }
640
+
641
+ for (let row = start.row; row <= end.row; row++) {
642
+ const rowStart = row === start.row ? start.col : 0
643
+ const rowEnd = row === end.row ? end.col : screen.width - 1
644
+ joinRows(lines, extractRowText(screen, row, rowStart, rowEnd), sw[row]! > 0)
645
+ }
646
+
647
+ for (let i = 0; i < s.scrolledOffBelow.length; i++) {
648
+ joinRows(lines, s.scrolledOffBelow[i]!, s.scrolledOffBelowSW[i])
649
+ }
650
+
651
+ return lines.join('\n')
652
+ }
653
+
654
+ export function captureScrolledRows(
655
+ s: SelectionState,
656
+ screen: Screen,
657
+ firstRow: number,
658
+ lastRow: number,
659
+ side: 'above' | 'below',
660
+ ): void {
661
+ const b = selectionBounds(s)
662
+ if (!b || firstRow > lastRow) return
663
+ const { start, end } = b
664
+ // Intersect [firstRow, lastRow] with [start.row, end.row]. Rows outside
665
+ // the selection aren't captured — they weren't selected.
666
+ const lo = Math.max(firstRow, start.row)
667
+ const hi = Math.min(lastRow, end.row)
668
+ if (lo > hi) return
669
+
670
+ const width = screen.width
671
+ const sw = screen.softWrap
672
+ const captured: string[] = []
673
+ const capturedSW: boolean[] = []
674
+ for (let row = lo; row <= hi; row++) {
675
+ const colStart = row === start.row ? start.col : 0
676
+ const colEnd = row === end.row ? end.col : width - 1
677
+ captured.push(extractRowText(screen, row, colStart, colEnd))
678
+ capturedSW.push(sw[row]! > 0)
679
+ }
680
+
681
+ if (side === 'above') {
682
+ // Newest rows go at the bottom of the above-accumulator (closest to
683
+ // the on-screen content in reading order).
684
+ s.scrolledOffAbove.push(...captured)
685
+ s.scrolledOffAboveSW.push(...capturedSW)
686
+ // We just captured the top of the selection. The anchor (=start when
687
+ // dragging down) is now pointing at content that will scroll out; its
688
+ // col constraint was applied to the captured row. Reset to col 0 so
689
+ // the NEXT tick and the final getSelectedText read the full row.
690
+ if (s.anchor && s.anchor.row === start.row && lo === start.row) {
691
+ s.anchor = { col: 0, row: s.anchor.row }
692
+ if (s.anchorSpan) {
693
+ s.anchorSpan = {
694
+ kind: s.anchorSpan.kind,
695
+ lo: { col: 0, row: s.anchorSpan.lo.row },
696
+ hi: { col: width - 1, row: s.anchorSpan.hi.row },
697
+ }
698
+ }
699
+ }
700
+ } else {
701
+ // Newest rows go at the TOP of the below-accumulator — they're
702
+ // closest to the on-screen content.
703
+ s.scrolledOffBelow.unshift(...captured)
704
+ s.scrolledOffBelowSW.unshift(...capturedSW)
705
+ if (s.anchor && s.anchor.row === end.row && hi === end.row) {
706
+ s.anchor = { col: width - 1, row: s.anchor.row }
707
+ if (s.anchorSpan) {
708
+ s.anchorSpan = {
709
+ kind: s.anchorSpan.kind,
710
+ lo: { col: 0, row: s.anchorSpan.lo.row },
711
+ hi: { col: width - 1, row: s.anchorSpan.hi.row },
712
+ }
713
+ }
714
+ }
715
+ }
716
+ }
717
+
718
+ export function applySelectionOverlay(
719
+ screen: Screen,
720
+ selection: SelectionState,
721
+ stylePool: StylePool,
722
+ ): void {
723
+ const b = selectionBounds(selection)
724
+ if (!b) return
725
+ const { start, end } = b
726
+ const width = screen.width
727
+ const noSelect = screen.noSelect
728
+ for (let row = start.row; row <= end.row && row < screen.height; row++) {
729
+ const colStart = row === start.row ? start.col : 0
730
+ const colEnd = row === end.row ? Math.min(end.col, width - 1) : width - 1
731
+ const rowOff = row * width
732
+ for (let col = colStart; col <= colEnd; col++) {
733
+ const idx = rowOff + col
734
+ // Skip noSelect cells — gutters stay visually unchanged so it's
735
+ // clear they're not part of the copy. Surrounding selectable cells
736
+ // still highlight so the selection extent remains visible.
737
+ if (noSelect[idx] === 1) continue
738
+ const cell = cellAtIndex(screen, idx)
739
+ setCellStyleId(screen, col, row, stylePool.withSelectionBg(cell.styleId))
740
+ }
741
+ }
742
+ }