@zaly/tui 0.0.4

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 (228) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +59 -0
  3. package/assets/schemas/theme.schema.json +899 -0
  4. package/assets/themes/LICENSE-tokyonight.txt +201 -0
  5. package/assets/themes/NOTICES.md +69 -0
  6. package/assets/themes/ayu-dark.json +119 -0
  7. package/assets/themes/catppuccin-frappe.json +124 -0
  8. package/assets/themes/catppuccin-latte.json +124 -0
  9. package/assets/themes/catppuccin-macchiato.json +124 -0
  10. package/assets/themes/catppuccin-mocha.json +124 -0
  11. package/assets/themes/dracula-soft.json +119 -0
  12. package/assets/themes/dracula.json +119 -0
  13. package/assets/themes/everforest-dark.json +118 -0
  14. package/assets/themes/everforest-light.json +118 -0
  15. package/assets/themes/github-dark.json +123 -0
  16. package/assets/themes/github-light.json +123 -0
  17. package/assets/themes/gruvbox-dark-medium.json +112 -0
  18. package/assets/themes/kanagawa-dragon.json +115 -0
  19. package/assets/themes/kanagawa-wave.json +115 -0
  20. package/assets/themes/material-theme-palenight.json +114 -0
  21. package/assets/themes/min-dark.json +55 -0
  22. package/assets/themes/min-light.json +59 -0
  23. package/assets/themes/monokai.json +116 -0
  24. package/assets/themes/night-owl.json +116 -0
  25. package/assets/themes/nord.json +101 -0
  26. package/assets/themes/one-dark-pro.json +110 -0
  27. package/assets/themes/one-light.json +108 -0
  28. package/assets/themes/poimandres.json +123 -0
  29. package/assets/themes/rose-pine.json +98 -0
  30. package/assets/themes/solarized-dark.json +116 -0
  31. package/assets/themes/solarized-light.json +116 -0
  32. package/assets/themes/synthwave-84.json +100 -0
  33. package/assets/themes/tokyonight-day.json +157 -0
  34. package/assets/themes/tokyonight-moon.json +157 -0
  35. package/assets/themes/tokyonight-night.json +157 -0
  36. package/assets/themes/tokyonight-storm.json +157 -0
  37. package/assets/themes/vesper.json +103 -0
  38. package/assets/themes/vitesse-dark.json +126 -0
  39. package/assets/themes/vitesse-light.json +126 -0
  40. package/dist/ansi-Clq0ozyA.mjs +206 -0
  41. package/dist/ansi-Clq0ozyA.mjs.map +1 -0
  42. package/dist/ansi.d.mts +48 -0
  43. package/dist/ansi.d.mts.map +1 -0
  44. package/dist/ansi.mjs +2 -0
  45. package/dist/autocomplete-Dfw-yQDa.d.mts +100 -0
  46. package/dist/autocomplete-Dfw-yQDa.d.mts.map +1 -0
  47. package/dist/box-DyaByEiG.mjs +386 -0
  48. package/dist/box-DyaByEiG.mjs.map +1 -0
  49. package/dist/builder-D49ECBEf.mjs +385 -0
  50. package/dist/builder-D49ECBEf.mjs.map +1 -0
  51. package/dist/callbacks-CNjGNxVw.mjs +279 -0
  52. package/dist/callbacks-CNjGNxVw.mjs.map +1 -0
  53. package/dist/client-D6C_uczF.mjs +142 -0
  54. package/dist/client-D6C_uczF.mjs.map +1 -0
  55. package/dist/clipboard.d.mts +104 -0
  56. package/dist/clipboard.d.mts.map +1 -0
  57. package/dist/clipboard.mjs +404 -0
  58. package/dist/clipboard.mjs.map +1 -0
  59. package/dist/flex-Bguo-fUe.mjs +202 -0
  60. package/dist/flex-Bguo-fUe.mjs.map +1 -0
  61. package/dist/image-Cm5T-uw-.mjs +108 -0
  62. package/dist/image-Cm5T-uw-.mjs.map +1 -0
  63. package/dist/image.d.mts +123 -0
  64. package/dist/image.d.mts.map +1 -0
  65. package/dist/image.mjs +2 -0
  66. package/dist/index.d.mts +64 -0
  67. package/dist/index.d.mts.map +1 -0
  68. package/dist/index.mjs +222 -0
  69. package/dist/index.mjs.map +1 -0
  70. package/dist/input-B5Vy-iaa.d.mts +141 -0
  71. package/dist/input-B5Vy-iaa.d.mts.map +1 -0
  72. package/dist/inspect-D1d9t-ni.mjs +101 -0
  73. package/dist/inspect-D1d9t-ni.mjs.map +1 -0
  74. package/dist/inspect-D6FW_QUo.d.mts +67 -0
  75. package/dist/inspect-D6FW_QUo.d.mts.map +1 -0
  76. package/dist/kitty-JbCJC0iQ.mjs +673 -0
  77. package/dist/kitty-JbCJC0iQ.mjs.map +1 -0
  78. package/dist/markdown.d.mts +24 -0
  79. package/dist/markdown.d.mts.map +1 -0
  80. package/dist/markdown.mjs +2 -0
  81. package/dist/md.bun.d.mts +14 -0
  82. package/dist/md.bun.d.mts.map +1 -0
  83. package/dist/md.bun.mjs +28 -0
  84. package/dist/md.bun.mjs.map +1 -0
  85. package/dist/md.node.d.mts +14 -0
  86. package/dist/md.node.d.mts.map +1 -0
  87. package/dist/md.node.mjs +126 -0
  88. package/dist/md.node.mjs.map +1 -0
  89. package/dist/node-BZ7f6HzU.mjs +316 -0
  90. package/dist/node-BZ7f6HzU.mjs.map +1 -0
  91. package/dist/picker-D8OLb6kZ.d.mts +36 -0
  92. package/dist/picker-D8OLb6kZ.d.mts.map +1 -0
  93. package/dist/picker-ndVVt6qF.mjs +621 -0
  94. package/dist/picker-ndVVt6qF.mjs.map +1 -0
  95. package/dist/queries-DH3bj74K.d.mts +1963 -0
  96. package/dist/queries-DH3bj74K.d.mts.map +1 -0
  97. package/dist/reactive-f7NpAi69.mjs +623 -0
  98. package/dist/reactive-f7NpAi69.mjs.map +1 -0
  99. package/dist/registry-U654j61Y.mjs +356 -0
  100. package/dist/registry-U654j61Y.mjs.map +1 -0
  101. package/dist/render-DxVLqqB9.mjs +74 -0
  102. package/dist/render-DxVLqqB9.mjs.map +1 -0
  103. package/dist/renderer-CdLCkJB-.mjs +42 -0
  104. package/dist/renderer-CdLCkJB-.mjs.map +1 -0
  105. package/dist/renderer-CxL4xbkl.mjs +2644 -0
  106. package/dist/renderer-CxL4xbkl.mjs.map +1 -0
  107. package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
  108. package/dist/search-FvGnswRl.d.mts +49 -0
  109. package/dist/search-FvGnswRl.d.mts.map +1 -0
  110. package/dist/select-CbmAZdpt.d.mts +116 -0
  111. package/dist/select-CbmAZdpt.d.mts.map +1 -0
  112. package/dist/services/logger.d.mts +2 -0
  113. package/dist/services/logger.mjs +71 -0
  114. package/dist/services/logger.mjs.map +1 -0
  115. package/dist/services/notifier.d.mts +17 -0
  116. package/dist/services/notifier.d.mts.map +1 -0
  117. package/dist/services/notifier.mjs +71 -0
  118. package/dist/services/notifier.mjs.map +1 -0
  119. package/dist/services/picker.d.mts +36 -0
  120. package/dist/services/picker.d.mts.map +1 -0
  121. package/dist/services/picker.mjs +137 -0
  122. package/dist/services/picker.mjs.map +1 -0
  123. package/dist/services/prompt.d.mts +30 -0
  124. package/dist/services/prompt.d.mts.map +1 -0
  125. package/dist/services/prompt.mjs +83 -0
  126. package/dist/services/prompt.mjs.map +1 -0
  127. package/dist/shiki-BrjVUkeh.mjs +423 -0
  128. package/dist/shiki-BrjVUkeh.mjs.map +1 -0
  129. package/dist/size-D8JogYLy.mjs +34 -0
  130. package/dist/size-D8JogYLy.mjs.map +1 -0
  131. package/dist/style.d.mts +10 -0
  132. package/dist/style.d.mts.map +1 -0
  133. package/dist/style.mjs +4 -0
  134. package/dist/text.d.mts +33 -0
  135. package/dist/text.d.mts.map +1 -0
  136. package/dist/text.mjs +111 -0
  137. package/dist/text.mjs.map +1 -0
  138. package/dist/theme.config-CU3B50HN.mjs +832 -0
  139. package/dist/theme.config-CU3B50HN.mjs.map +1 -0
  140. package/dist/themes.d.mts +113 -0
  141. package/dist/themes.d.mts.map +1 -0
  142. package/dist/themes.mjs +2 -0
  143. package/dist/tree-C28QOVIK.d.mts +23 -0
  144. package/dist/tree-C28QOVIK.d.mts.map +1 -0
  145. package/dist/types-B9Eh7k2v.d.mts +212 -0
  146. package/dist/types-B9Eh7k2v.d.mts.map +1 -0
  147. package/dist/types-D3jk1rtk.d.mts +140 -0
  148. package/dist/types-D3jk1rtk.d.mts.map +1 -0
  149. package/dist/utils-3M4D_AXZ.mjs +40 -0
  150. package/dist/utils-3M4D_AXZ.mjs.map +1 -0
  151. package/dist/widgets/autocomplete.d.mts +2 -0
  152. package/dist/widgets/autocomplete.mjs +165 -0
  153. package/dist/widgets/autocomplete.mjs.map +1 -0
  154. package/dist/widgets/box.d.mts +2 -0
  155. package/dist/widgets/box.mjs +2 -0
  156. package/dist/widgets/code.d.mts +48 -0
  157. package/dist/widgets/code.d.mts.map +1 -0
  158. package/dist/widgets/code.mjs +59 -0
  159. package/dist/widgets/code.mjs.map +1 -0
  160. package/dist/widgets/completions/actions.d.mts +41 -0
  161. package/dist/widgets/completions/actions.d.mts.map +1 -0
  162. package/dist/widgets/completions/actions.mjs +48 -0
  163. package/dist/widgets/completions/actions.mjs.map +1 -0
  164. package/dist/widgets/completions/files.d.mts +29 -0
  165. package/dist/widgets/completions/files.d.mts.map +1 -0
  166. package/dist/widgets/completions/files.mjs +42 -0
  167. package/dist/widgets/completions/files.mjs.map +1 -0
  168. package/dist/widgets/completions/github.d.mts +64 -0
  169. package/dist/widgets/completions/github.d.mts.map +1 -0
  170. package/dist/widgets/completions/github.mjs +137 -0
  171. package/dist/widgets/completions/github.mjs.map +1 -0
  172. package/dist/widgets/completions/index.d.mts +4 -0
  173. package/dist/widgets/completions/index.mjs +4 -0
  174. package/dist/widgets/diff.d.mts +57 -0
  175. package/dist/widgets/diff.d.mts.map +1 -0
  176. package/dist/widgets/diff.mjs +199 -0
  177. package/dist/widgets/diff.mjs.map +1 -0
  178. package/dist/widgets/divider.d.mts +11 -0
  179. package/dist/widgets/divider.d.mts.map +1 -0
  180. package/dist/widgets/divider.mjs +9 -0
  181. package/dist/widgets/divider.mjs.map +1 -0
  182. package/dist/widgets/image.d.mts +37 -0
  183. package/dist/widgets/image.d.mts.map +1 -0
  184. package/dist/widgets/image.mjs +77 -0
  185. package/dist/widgets/image.mjs.map +1 -0
  186. package/dist/widgets/input.d.mts +2 -0
  187. package/dist/widgets/input.mjs +497 -0
  188. package/dist/widgets/input.mjs.map +1 -0
  189. package/dist/widgets/log.d.mts +2 -0
  190. package/dist/widgets/log.mjs +130 -0
  191. package/dist/widgets/log.mjs.map +1 -0
  192. package/dist/widgets/markdown.d.mts +45 -0
  193. package/dist/widgets/markdown.d.mts.map +1 -0
  194. package/dist/widgets/markdown.mjs +124 -0
  195. package/dist/widgets/markdown.mjs.map +1 -0
  196. package/dist/widgets/overlay.d.mts +2 -0
  197. package/dist/widgets/overlay.mjs +18 -0
  198. package/dist/widgets/overlay.mjs.map +1 -0
  199. package/dist/widgets/picker.d.mts +2 -0
  200. package/dist/widgets/picker.mjs +2 -0
  201. package/dist/widgets/progress.d.mts +48 -0
  202. package/dist/widgets/progress.d.mts.map +1 -0
  203. package/dist/widgets/progress.mjs +48 -0
  204. package/dist/widgets/progress.mjs.map +1 -0
  205. package/dist/widgets/select.d.mts +2 -0
  206. package/dist/widgets/select.mjs +195 -0
  207. package/dist/widgets/select.mjs.map +1 -0
  208. package/dist/widgets/show.d.mts +55 -0
  209. package/dist/widgets/show.d.mts.map +1 -0
  210. package/dist/widgets/show.mjs +85 -0
  211. package/dist/widgets/show.mjs.map +1 -0
  212. package/dist/widgets/spinner.d.mts +65 -0
  213. package/dist/widgets/spinner.d.mts.map +1 -0
  214. package/dist/widgets/spinner.mjs +147 -0
  215. package/dist/widgets/spinner.mjs.map +1 -0
  216. package/dist/widgets/text.d.mts +2 -0
  217. package/dist/widgets/text.mjs +32 -0
  218. package/dist/widgets/text.mjs.map +1 -0
  219. package/dist/widgets/tree.d.mts +2 -0
  220. package/dist/widgets/tree.mjs +73 -0
  221. package/dist/widgets/tree.mjs.map +1 -0
  222. package/dist/widgets/widget.d.mts +49 -0
  223. package/dist/widgets/widget.d.mts.map +1 -0
  224. package/dist/widgets/widget.mjs +40 -0
  225. package/dist/widgets/widget.mjs.map +1 -0
  226. package/dist/worker-DjHuQSbY.mjs +27 -0
  227. package/dist/worker-DjHuQSbY.mjs.map +1 -0
  228. package/package.json +117 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.config-CU3B50HN.mjs","names":["__typia_transform__assertGuard._assertGuard","__typia_transform__accessExpressionAsString._accessExpressionAsString"],"sources":["../../../node_modules/.bun/typia@13.0.2+e154a6929a67600d/node_modules/typia/lib/TypeGuardError.mjs","../../../node_modules/.bun/typia@13.0.2+e154a6929a67600d/node_modules/typia/lib/internal/_assertGuard.mjs","../../../node_modules/.bun/typia@13.0.2+e154a6929a67600d/node_modules/typia/lib/internal/_accessExpressionAsString.mjs","../src/schemas/gen/theme.config.ts"],"sourcesContent":["//#region src/TypeGuardError.ts\n/**\n* Error thrown when type assertion fails.\n*\n* Thrown by {@link assert}, {@link assertGuard}, and other assert-family\n* functions when input doesn't match expected type `T`. Contains detailed\n* information about the first assertion failure:\n*\n* - `method`: Which typia function threw (e.g., `\"typia.assert\"`)\n* - `path`: Property path where error occurred (e.g., `\"input.user.age\"`)\n* - `expected`: Expected type string (e.g., `\"number & ExclusiveMinimum<19>\"`)\n* - `value`: Actual value that failed validation\n*\n* @template T Expected type (for type safety)\n*/\nvar TypeGuardError = class extends Error {\n\t/**\n\t* Creates a new TypeGuardError instance.\n\t*\n\t* @param props Error properties\n\t*/\n\tconstructor(props) {\n\t\tsuper(props.message || `Error on ${props.method}(): invalid type${props.path ? ` on ${props.path}` : \"\"}, expect to be ${props.expected}`);\n\t\tconst proto = new.target.prototype;\n\t\tif (Object.setPrototypeOf) Object.setPrototypeOf(this, proto);\n\t\telse this.__proto__ = proto;\n\t\tthis.name = \"TypeGuardError\";\n\t\tthis.method = props.method;\n\t\tthis.path = props.path;\n\t\tthis.expected = props.expected;\n\t\tthis.value = props.value;\n\t\tif (props.description || props.value === void 0) this.description = props.description ?? [\n\t\t\t\"The value at this path is `undefined`.\",\n\t\t\t\"\",\n\t\t\t`Please fill the \\`${props.expected}\\` typed value next time.`\n\t\t].join(\"\\n\");\n\t}\n};\n//#endregion\nexport { TypeGuardError };\n\n//# sourceMappingURL=TypeGuardError.mjs.map","import { TypeGuardError } from \"../TypeGuardError.mjs\";\n//#region src/internal/_assertGuard.ts\nconst _assertGuard = (exceptionable, props, factory) => {\n\tif (exceptionable === true) if (factory) throw factory(props);\n\telse throw new TypeGuardError(props);\n\treturn false;\n};\n//#endregion\nexport { _assertGuard };\n\n//# sourceMappingURL=_assertGuard.mjs.map","//#region src/internal/_accessExpressionAsString.ts\nconst _accessExpressionAsString = (str) => variable(str) ? `.${str}` : `[${JSON.stringify(str)}]`;\nconst variable = (str) => reserved(str) === false && /^[a-zA-Z_$][a-zA-Z_$0-9]*$/g.test(str);\nconst reserved = (str) => RESERVED.has(str);\nconst RESERVED = /* @__PURE__ */ new Set([\n\t\"break\",\n\t\"case\",\n\t\"catch\",\n\t\"class\",\n\t\"const\",\n\t\"continue\",\n\t\"debugger\",\n\t\"default\",\n\t\"delete\",\n\t\"do\",\n\t\"else\",\n\t\"enum\",\n\t\"export\",\n\t\"extends\",\n\t\"false\",\n\t\"finally\",\n\t\"for\",\n\t\"function\",\n\t\"if\",\n\t\"import\",\n\t\"in\",\n\t\"instanceof\",\n\t\"new\",\n\t\"null\",\n\t\"return\",\n\t\"super\",\n\t\"switch\",\n\t\"this\",\n\t\"throw\",\n\t\"true\",\n\t\"try\",\n\t\"typeof\",\n\t\"var\",\n\t\"void\",\n\t\"while\",\n\t\"with\"\n]);\n//#endregion\nexport { _accessExpressionAsString };\n\n//# sourceMappingURL=_accessExpressionAsString.mjs.map","import * as __typia_transform__assertGuard from \"typia/lib/internal/_assertGuard\";\nimport * as __typia_transform__accessExpressionAsString from \"typia/lib/internal/_accessExpressionAsString\";\nimport type { ShikiTheme } from \"../../shiki/types.ts\";\nimport type { AnsiColorName, BrightAnsiColorName, Color, HexColor, Style, ThemeKey, } from \"../../style/types.ts\";\nimport type { Theme } from \"../../themes/types.ts\";\ntype UserStyle = Omit<Style, \"fg\" | \"bg\" | \"style\"> & {\n fg?: string;\n bg?: string;\n};\ntype UserTheme = {\n $schema?: string;\n shiki?: ShikiTheme;\n id: string;\n name?: string;\n} & Record<string, string | UserStyle>;\ntype ColorKeys<T> = {\n [K in keyof T]-?: [\n T[K]\n ] extends [\n Color\n ] ? K : never;\n}[keyof T];\nconst toBaseColor = (() => { const _iv1 = new Set([\"red\", \"black\", \"green\", \"yellow\", \"blue\", \"magenta\", \"cyan\", \"white\", \"gray\", \"grey\", \"brightRed\", \"brightBlack\", \"brightGreen\", \"brightYellow\", \"brightBlue\", \"brightMagenta\", \"brightCyan\", \"brightWhite\", \"brightGray\", \"brightGrey\", \"id\", \"name\", \"shiki\", \"primary\", \"accent\", \"text\", \"muted\", \"quiet\", \"comment\", \"title\", \"delim\", \"subtle\", \"ui\", \"overlay\", \"highlight\", \"divider\", \"selection\", \"gutter\", \"prompt\", \"border\", \"borderTitle\", \"code\", \"codeTitle\", \"success\", \"info\", \"warn\", \"error\", \"syntaxBoolean\", \"syntaxBracket\", \"syntaxConstant\", \"syntaxDelimiter\", \"syntaxField\", \"syntaxFunction\", \"syntaxNumber\", \"syntaxSpecial\", \"syntaxString\", \"mdBold\", \"mdCode\", \"mdCodeBlock\", \"mdCodeBlockTitle\", \"mdHeading1\", \"mdHeading2\", \"mdHeading3\", \"mdHeading4\", \"mdHeading5\", \"mdHeading6\", \"mdHeading\", \"mdHr\", \"mdItalic\", \"mdLink\", \"mdListBullet\", \"mdListChecked\", \"mdListUnchecked\", \"mdQuote\", \"mdStrikethrough\", \"mdTable\", \"mdTableHeader\", \"optionName\", \"optionDesc\", \"optionActive\", \"diffAdd\", \"diffContext\", \"diffDel\", \"diffLine\", \"diffTitle\", \"inherit\"]); const _av2 = new Set([\"red\", \"black\", \"green\", \"yellow\", \"blue\", \"magenta\", \"cyan\", \"white\", \"gray\", \"grey\", \"brightRed\", \"brightBlack\", \"brightGreen\", \"brightYellow\", \"brightBlue\", \"brightMagenta\", \"brightCyan\", \"brightWhite\", \"brightGray\", \"brightGrey\", \"id\", \"name\", \"shiki\", \"primary\", \"accent\", \"text\", \"muted\", \"quiet\", \"comment\", \"title\", \"delim\", \"subtle\", \"ui\", \"overlay\", \"highlight\", \"divider\", \"selection\", \"gutter\", \"prompt\", \"border\", \"borderTitle\", \"code\", \"codeTitle\", \"success\", \"info\", \"warn\", \"error\", \"syntaxBoolean\", \"syntaxBracket\", \"syntaxConstant\", \"syntaxDelimiter\", \"syntaxField\", \"syntaxFunction\", \"syntaxNumber\", \"syntaxSpecial\", \"syntaxString\", \"mdBold\", \"mdCode\", \"mdCodeBlock\", \"mdCodeBlockTitle\", \"mdHeading1\", \"mdHeading2\", \"mdHeading3\", \"mdHeading4\", \"mdHeading5\", \"mdHeading6\", \"mdHeading\", \"mdHr\", \"mdItalic\", \"mdLink\", \"mdListBullet\", \"mdListChecked\", \"mdListUnchecked\", \"mdQuote\", \"mdStrikethrough\", \"mdTable\", \"mdTableHeader\", \"optionName\", \"optionDesc\", \"optionActive\", \"diffAdd\", \"diffContext\", \"diffDel\", \"diffLine\", \"diffTitle\", \"inherit\"]); const __is = (input: any): input is HexColor | AnsiColorName | BrightAnsiColorName | ThemeKey | \"inherit\" => null !== input && undefined !== input && (true === _iv1.has(input) || \"string\" === typeof input && RegExp(/^#(.*)/).test(input)); let _errorFactory: any; return (input: any, errorFactory?: (p: import(\"typia\").TypeGuardError.IProps) => Error): HexColor | AnsiColorName | BrightAnsiColorName | ThemeKey | \"inherit\" => {\n if (false === __is(input)) {\n _errorFactory = errorFactory;\n ((input: any, _path: string, _exceptionable: boolean = true) => (null !== input || __typia_transform__assertGuard._assertGuard(true, {\n method: \"typia.createAssert\",\n path: _path + \"\",\n expected: \"(\\\"accent\\\" | \\\"black\\\" | \\\"blue\\\" | \\\"border\\\" | \\\"borderTitle\\\" | \\\"brightBlack\\\" | \\\"brightBlue\\\" | \\\"brightCyan\\\" | \\\"brightGray\\\" | \\\"brightGreen\\\" | \\\"brightGrey\\\" | \\\"brightMagenta\\\" | \\\"brightRed\\\" | \\\"brightWhite\\\" | \\\"brightYellow\\\" | \\\"code\\\" | \\\"codeTitle\\\" | \\\"comment\\\" | \\\"cyan\\\" | \\\"delim\\\" | \\\"diffAdd\\\" | \\\"diffContext\\\" | \\\"diffDel\\\" | \\\"diffLine\\\" | \\\"diffTitle\\\" | \\\"divider\\\" | \\\"error\\\" | \\\"gray\\\" | \\\"green\\\" | \\\"grey\\\" | \\\"gutter\\\" | \\\"highlight\\\" | \\\"id\\\" | \\\"info\\\" | \\\"inherit\\\" | \\\"magenta\\\" | \\\"mdBold\\\" | \\\"mdCode\\\" | \\\"mdCodeBlock\\\" | \\\"mdCodeBlockTitle\\\" | \\\"mdHeading\\\" | \\\"mdHeading1\\\" | \\\"mdHeading2\\\" | \\\"mdHeading3\\\" | \\\"mdHeading4\\\" | \\\"mdHeading5\\\" | \\\"mdHeading6\\\" | \\\"mdHr\\\" | \\\"mdItalic\\\" | \\\"mdLink\\\" | \\\"mdListBullet\\\" | \\\"mdListChecked\\\" | \\\"mdListUnchecked\\\" | \\\"mdQuote\\\" | \\\"mdStrikethrough\\\" | \\\"mdTable\\\" | \\\"mdTableHeader\\\" | \\\"muted\\\" | \\\"name\\\" | \\\"optionActive\\\" | \\\"optionDesc\\\" | \\\"optionName\\\" | \\\"overlay\\\" | \\\"primary\\\" | \\\"prompt\\\" | \\\"quiet\\\" | \\\"red\\\" | \\\"selection\\\" | \\\"shiki\\\" | \\\"subtle\\\" | \\\"success\\\" | \\\"syntaxBoolean\\\" | \\\"syntaxBracket\\\" | \\\"syntaxConstant\\\" | \\\"syntaxDelimiter\\\" | \\\"syntaxField\\\" | \\\"syntaxFunction\\\" | \\\"syntaxNumber\\\" | \\\"syntaxSpecial\\\" | \\\"syntaxString\\\" | \\\"text\\\" | \\\"title\\\" | \\\"ui\\\" | \\\"warn\\\" | \\\"white\\\" | \\\"yellow\\\" | `#${string}`)\",\n value: input\n }, _errorFactory)) && (undefined !== input || __typia_transform__assertGuard._assertGuard(true, {\n method: \"typia.createAssert\",\n path: _path + \"\",\n expected: \"(\\\"accent\\\" | \\\"black\\\" | \\\"blue\\\" | \\\"border\\\" | \\\"borderTitle\\\" | \\\"brightBlack\\\" | \\\"brightBlue\\\" | \\\"brightCyan\\\" | \\\"brightGray\\\" | \\\"brightGreen\\\" | \\\"brightGrey\\\" | \\\"brightMagenta\\\" | \\\"brightRed\\\" | \\\"brightWhite\\\" | \\\"brightYellow\\\" | \\\"code\\\" | \\\"codeTitle\\\" | \\\"comment\\\" | \\\"cyan\\\" | \\\"delim\\\" | \\\"diffAdd\\\" | \\\"diffContext\\\" | \\\"diffDel\\\" | \\\"diffLine\\\" | \\\"diffTitle\\\" | \\\"divider\\\" | \\\"error\\\" | \\\"gray\\\" | \\\"green\\\" | \\\"grey\\\" | \\\"gutter\\\" | \\\"highlight\\\" | \\\"id\\\" | \\\"info\\\" | \\\"inherit\\\" | \\\"magenta\\\" | \\\"mdBold\\\" | \\\"mdCode\\\" | \\\"mdCodeBlock\\\" | \\\"mdCodeBlockTitle\\\" | \\\"mdHeading\\\" | \\\"mdHeading1\\\" | \\\"mdHeading2\\\" | \\\"mdHeading3\\\" | \\\"mdHeading4\\\" | \\\"mdHeading5\\\" | \\\"mdHeading6\\\" | \\\"mdHr\\\" | \\\"mdItalic\\\" | \\\"mdLink\\\" | \\\"mdListBullet\\\" | \\\"mdListChecked\\\" | \\\"mdListUnchecked\\\" | \\\"mdQuote\\\" | \\\"mdStrikethrough\\\" | \\\"mdTable\\\" | \\\"mdTableHeader\\\" | \\\"muted\\\" | \\\"name\\\" | \\\"optionActive\\\" | \\\"optionDesc\\\" | \\\"optionName\\\" | \\\"overlay\\\" | \\\"primary\\\" | \\\"prompt\\\" | \\\"quiet\\\" | \\\"red\\\" | \\\"selection\\\" | \\\"shiki\\\" | \\\"subtle\\\" | \\\"success\\\" | \\\"syntaxBoolean\\\" | \\\"syntaxBracket\\\" | \\\"syntaxConstant\\\" | \\\"syntaxDelimiter\\\" | \\\"syntaxField\\\" | \\\"syntaxFunction\\\" | \\\"syntaxNumber\\\" | \\\"syntaxSpecial\\\" | \\\"syntaxString\\\" | \\\"text\\\" | \\\"title\\\" | \\\"ui\\\" | \\\"warn\\\" | \\\"white\\\" | \\\"yellow\\\" | `#${string}`)\",\n value: input\n }, _errorFactory)) && (true === _av2.has(input) || \"string\" === typeof input && RegExp(/^#(.*)/).test(input) || __typia_transform__assertGuard._assertGuard(true, {\n method: \"typia.createAssert\",\n path: _path + \"\",\n expected: \"(\\\"accent\\\" | \\\"black\\\" | \\\"blue\\\" | \\\"border\\\" | \\\"borderTitle\\\" | \\\"brightBlack\\\" | \\\"brightBlue\\\" | \\\"brightCyan\\\" | \\\"brightGray\\\" | \\\"brightGreen\\\" | \\\"brightGrey\\\" | \\\"brightMagenta\\\" | \\\"brightRed\\\" | \\\"brightWhite\\\" | \\\"brightYellow\\\" | \\\"code\\\" | \\\"codeTitle\\\" | \\\"comment\\\" | \\\"cyan\\\" | \\\"delim\\\" | \\\"diffAdd\\\" | \\\"diffContext\\\" | \\\"diffDel\\\" | \\\"diffLine\\\" | \\\"diffTitle\\\" | \\\"divider\\\" | \\\"error\\\" | \\\"gray\\\" | \\\"green\\\" | \\\"grey\\\" | \\\"gutter\\\" | \\\"highlight\\\" | \\\"id\\\" | \\\"info\\\" | \\\"inherit\\\" | \\\"magenta\\\" | \\\"mdBold\\\" | \\\"mdCode\\\" | \\\"mdCodeBlock\\\" | \\\"mdCodeBlockTitle\\\" | \\\"mdHeading\\\" | \\\"mdHeading1\\\" | \\\"mdHeading2\\\" | \\\"mdHeading3\\\" | \\\"mdHeading4\\\" | \\\"mdHeading5\\\" | \\\"mdHeading6\\\" | \\\"mdHr\\\" | \\\"mdItalic\\\" | \\\"mdLink\\\" | \\\"mdListBullet\\\" | \\\"mdListChecked\\\" | \\\"mdListUnchecked\\\" | \\\"mdQuote\\\" | \\\"mdStrikethrough\\\" | \\\"mdTable\\\" | \\\"mdTableHeader\\\" | \\\"muted\\\" | \\\"name\\\" | \\\"optionActive\\\" | \\\"optionDesc\\\" | \\\"optionName\\\" | \\\"overlay\\\" | \\\"primary\\\" | \\\"prompt\\\" | \\\"quiet\\\" | \\\"red\\\" | \\\"selection\\\" | \\\"shiki\\\" | \\\"subtle\\\" | \\\"success\\\" | \\\"syntaxBoolean\\\" | \\\"syntaxBracket\\\" | \\\"syntaxConstant\\\" | \\\"syntaxDelimiter\\\" | \\\"syntaxField\\\" | \\\"syntaxFunction\\\" | \\\"syntaxNumber\\\" | \\\"syntaxSpecial\\\" | \\\"syntaxString\\\" | \\\"text\\\" | \\\"title\\\" | \\\"ui\\\" | \\\"warn\\\" | \\\"white\\\" | \\\"yellow\\\" | `#${string}`)\",\n value: input\n }, _errorFactory)))(input, \"$input\", true);\n }\n return input;\n}; })();\nconst toLightnessColor = (() => { const _iv1 = new Set([\"id\", \"name\", \"shiki\", \"primary\", \"accent\", \"text\", \"muted\", \"quiet\", \"comment\", \"title\", \"delim\", \"subtle\", \"ui\", \"overlay\", \"highlight\", \"divider\", \"selection\", \"gutter\", \"prompt\", \"border\", \"borderTitle\", \"code\", \"codeTitle\", \"success\", \"info\", \"warn\", \"error\", \"syntaxBoolean\", \"syntaxBracket\", \"syntaxConstant\", \"syntaxDelimiter\", \"syntaxField\", \"syntaxFunction\", \"syntaxNumber\", \"syntaxSpecial\", \"syntaxString\", \"mdBold\", \"mdCode\", \"mdCodeBlock\", \"mdCodeBlockTitle\", \"mdHeading1\", \"mdHeading2\", \"mdHeading3\", \"mdHeading4\", \"mdHeading5\", \"mdHeading6\", \"mdHeading\", \"mdHr\", \"mdItalic\", \"mdLink\", \"mdListBullet\", \"mdListChecked\", \"mdListUnchecked\", \"mdQuote\", \"mdStrikethrough\", \"mdTable\", \"mdTableHeader\", \"optionName\", \"optionDesc\", \"optionActive\", \"diffAdd\", \"diffContext\", \"diffDel\", \"diffLine\", \"diffTitle\"]); const _av2 = new Set([\"id\", \"name\", \"shiki\", \"primary\", \"accent\", \"text\", \"muted\", \"quiet\", \"comment\", \"title\", \"delim\", \"subtle\", \"ui\", \"overlay\", \"highlight\", \"divider\", \"selection\", \"gutter\", \"prompt\", \"border\", \"borderTitle\", \"code\", \"codeTitle\", \"success\", \"info\", \"warn\", \"error\", \"syntaxBoolean\", \"syntaxBracket\", \"syntaxConstant\", \"syntaxDelimiter\", \"syntaxField\", \"syntaxFunction\", \"syntaxNumber\", \"syntaxSpecial\", \"syntaxString\", \"mdBold\", \"mdCode\", \"mdCodeBlock\", \"mdCodeBlockTitle\", \"mdHeading1\", \"mdHeading2\", \"mdHeading3\", \"mdHeading4\", \"mdHeading5\", \"mdHeading6\", \"mdHeading\", \"mdHr\", \"mdItalic\", \"mdLink\", \"mdListBullet\", \"mdListChecked\", \"mdListUnchecked\", \"mdQuote\", \"mdStrikethrough\", \"mdTable\", \"mdTableHeader\", \"optionName\", \"optionDesc\", \"optionActive\", \"diffAdd\", \"diffContext\", \"diffDel\", \"diffLine\", \"diffTitle\"]); const __is = (input: any): input is HexColor | ThemeKey => null !== input && undefined !== input && (true === _iv1.has(input) || \"string\" === typeof input && RegExp(/^#(.*)/).test(input)); let _errorFactory: any; return (input: any, errorFactory?: (p: import(\"typia\").TypeGuardError.IProps) => Error): HexColor | ThemeKey => {\n if (false === __is(input)) {\n _errorFactory = errorFactory;\n ((input: any, _path: string, _exceptionable: boolean = true) => (null !== input || __typia_transform__assertGuard._assertGuard(true, {\n method: \"typia.createAssert\",\n path: _path + \"\",\n expected: \"(\\\"accent\\\" | \\\"border\\\" | \\\"borderTitle\\\" | \\\"code\\\" | \\\"codeTitle\\\" | \\\"comment\\\" | \\\"delim\\\" | \\\"diffAdd\\\" | \\\"diffContext\\\" | \\\"diffDel\\\" | \\\"diffLine\\\" | \\\"diffTitle\\\" | \\\"divider\\\" | \\\"error\\\" | \\\"gutter\\\" | \\\"highlight\\\" | \\\"id\\\" | \\\"info\\\" | \\\"mdBold\\\" | \\\"mdCode\\\" | \\\"mdCodeBlock\\\" | \\\"mdCodeBlockTitle\\\" | \\\"mdHeading\\\" | \\\"mdHeading1\\\" | \\\"mdHeading2\\\" | \\\"mdHeading3\\\" | \\\"mdHeading4\\\" | \\\"mdHeading5\\\" | \\\"mdHeading6\\\" | \\\"mdHr\\\" | \\\"mdItalic\\\" | \\\"mdLink\\\" | \\\"mdListBullet\\\" | \\\"mdListChecked\\\" | \\\"mdListUnchecked\\\" | \\\"mdQuote\\\" | \\\"mdStrikethrough\\\" | \\\"mdTable\\\" | \\\"mdTableHeader\\\" | \\\"muted\\\" | \\\"name\\\" | \\\"optionActive\\\" | \\\"optionDesc\\\" | \\\"optionName\\\" | \\\"overlay\\\" | \\\"primary\\\" | \\\"prompt\\\" | \\\"quiet\\\" | \\\"selection\\\" | \\\"shiki\\\" | \\\"subtle\\\" | \\\"success\\\" | \\\"syntaxBoolean\\\" | \\\"syntaxBracket\\\" | \\\"syntaxConstant\\\" | \\\"syntaxDelimiter\\\" | \\\"syntaxField\\\" | \\\"syntaxFunction\\\" | \\\"syntaxNumber\\\" | \\\"syntaxSpecial\\\" | \\\"syntaxString\\\" | \\\"text\\\" | \\\"title\\\" | \\\"ui\\\" | \\\"warn\\\" | `#${string}`)\",\n value: input\n }, _errorFactory)) && (undefined !== input || __typia_transform__assertGuard._assertGuard(true, {\n method: \"typia.createAssert\",\n path: _path + \"\",\n expected: \"(\\\"accent\\\" | \\\"border\\\" | \\\"borderTitle\\\" | \\\"code\\\" | \\\"codeTitle\\\" | \\\"comment\\\" | \\\"delim\\\" | \\\"diffAdd\\\" | \\\"diffContext\\\" | \\\"diffDel\\\" | \\\"diffLine\\\" | \\\"diffTitle\\\" | \\\"divider\\\" | \\\"error\\\" | \\\"gutter\\\" | \\\"highlight\\\" | \\\"id\\\" | \\\"info\\\" | \\\"mdBold\\\" | \\\"mdCode\\\" | \\\"mdCodeBlock\\\" | \\\"mdCodeBlockTitle\\\" | \\\"mdHeading\\\" | \\\"mdHeading1\\\" | \\\"mdHeading2\\\" | \\\"mdHeading3\\\" | \\\"mdHeading4\\\" | \\\"mdHeading5\\\" | \\\"mdHeading6\\\" | \\\"mdHr\\\" | \\\"mdItalic\\\" | \\\"mdLink\\\" | \\\"mdListBullet\\\" | \\\"mdListChecked\\\" | \\\"mdListUnchecked\\\" | \\\"mdQuote\\\" | \\\"mdStrikethrough\\\" | \\\"mdTable\\\" | \\\"mdTableHeader\\\" | \\\"muted\\\" | \\\"name\\\" | \\\"optionActive\\\" | \\\"optionDesc\\\" | \\\"optionName\\\" | \\\"overlay\\\" | \\\"primary\\\" | \\\"prompt\\\" | \\\"quiet\\\" | \\\"selection\\\" | \\\"shiki\\\" | \\\"subtle\\\" | \\\"success\\\" | \\\"syntaxBoolean\\\" | \\\"syntaxBracket\\\" | \\\"syntaxConstant\\\" | \\\"syntaxDelimiter\\\" | \\\"syntaxField\\\" | \\\"syntaxFunction\\\" | \\\"syntaxNumber\\\" | \\\"syntaxSpecial\\\" | \\\"syntaxString\\\" | \\\"text\\\" | \\\"title\\\" | \\\"ui\\\" | \\\"warn\\\" | `#${string}`)\",\n value: input\n }, _errorFactory)) && (true === _av2.has(input) || \"string\" === typeof input && RegExp(/^#(.*)/).test(input) || __typia_transform__assertGuard._assertGuard(true, {\n method: \"typia.createAssert\",\n path: _path + \"\",\n expected: \"(\\\"accent\\\" | \\\"border\\\" | \\\"borderTitle\\\" | \\\"code\\\" | \\\"codeTitle\\\" | \\\"comment\\\" | \\\"delim\\\" | \\\"diffAdd\\\" | \\\"diffContext\\\" | \\\"diffDel\\\" | \\\"diffLine\\\" | \\\"diffTitle\\\" | \\\"divider\\\" | \\\"error\\\" | \\\"gutter\\\" | \\\"highlight\\\" | \\\"id\\\" | \\\"info\\\" | \\\"mdBold\\\" | \\\"mdCode\\\" | \\\"mdCodeBlock\\\" | \\\"mdCodeBlockTitle\\\" | \\\"mdHeading\\\" | \\\"mdHeading1\\\" | \\\"mdHeading2\\\" | \\\"mdHeading3\\\" | \\\"mdHeading4\\\" | \\\"mdHeading5\\\" | \\\"mdHeading6\\\" | \\\"mdHr\\\" | \\\"mdItalic\\\" | \\\"mdLink\\\" | \\\"mdListBullet\\\" | \\\"mdListChecked\\\" | \\\"mdListUnchecked\\\" | \\\"mdQuote\\\" | \\\"mdStrikethrough\\\" | \\\"mdTable\\\" | \\\"mdTableHeader\\\" | \\\"muted\\\" | \\\"name\\\" | \\\"optionActive\\\" | \\\"optionDesc\\\" | \\\"optionName\\\" | \\\"overlay\\\" | \\\"primary\\\" | \\\"prompt\\\" | \\\"quiet\\\" | \\\"selection\\\" | \\\"shiki\\\" | \\\"subtle\\\" | \\\"success\\\" | \\\"syntaxBoolean\\\" | \\\"syntaxBracket\\\" | \\\"syntaxConstant\\\" | \\\"syntaxDelimiter\\\" | \\\"syntaxField\\\" | \\\"syntaxFunction\\\" | \\\"syntaxNumber\\\" | \\\"syntaxSpecial\\\" | \\\"syntaxString\\\" | \\\"text\\\" | \\\"title\\\" | \\\"ui\\\" | \\\"warn\\\" | `#${string}`)\",\n value: input\n }, _errorFactory)))(input, \"$input\", true);\n }\n return input;\n}; })();\nconst toStyle = (() => { const _io0 = (input: any): boolean => (undefined === input.bold || \"boolean\" === typeof input.bold) && (undefined === input.dim || \"boolean\" === typeof input.dim) && (undefined === input.italic || \"boolean\" === typeof input.italic) && (undefined === input.underline || \"boolean\" === typeof input.underline) && (undefined === input.inverse || \"boolean\" === typeof input.inverse) && (undefined === input.strikethrough || \"boolean\" === typeof input.strikethrough) && (undefined === input.fg || \"string\" === typeof input.fg) && (undefined === input.bg || \"string\" === typeof input.bg); const _ao0 = (input: any, _path: string, _exceptionable: boolean = true): boolean => (undefined === input.bold || \"boolean\" === typeof input.bold || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssert\",\n path: _path + \".bold\",\n expected: \"(boolean | undefined)\",\n value: input.bold\n}, _errorFactory)) && (undefined === input.dim || \"boolean\" === typeof input.dim || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssert\",\n path: _path + \".dim\",\n expected: \"(boolean | undefined)\",\n value: input.dim\n}, _errorFactory)) && (undefined === input.italic || \"boolean\" === typeof input.italic || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssert\",\n path: _path + \".italic\",\n expected: \"(boolean | undefined)\",\n value: input.italic\n}, _errorFactory)) && (undefined === input.underline || \"boolean\" === typeof input.underline || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssert\",\n path: _path + \".underline\",\n expected: \"(boolean | undefined)\",\n value: input.underline\n}, _errorFactory)) && (undefined === input.inverse || \"boolean\" === typeof input.inverse || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssert\",\n path: _path + \".inverse\",\n expected: \"(boolean | undefined)\",\n value: input.inverse\n}, _errorFactory)) && (undefined === input.strikethrough || \"boolean\" === typeof input.strikethrough || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssert\",\n path: _path + \".strikethrough\",\n expected: \"(boolean | undefined)\",\n value: input.strikethrough\n}, _errorFactory)) && (undefined === input.fg || \"string\" === typeof input.fg || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssert\",\n path: _path + \".fg\",\n expected: \"(string | undefined)\",\n value: input.fg\n}, _errorFactory)) && (undefined === input.bg || \"string\" === typeof input.bg || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssert\",\n path: _path + \".bg\",\n expected: \"(string | undefined)\",\n value: input.bg\n}, _errorFactory)); const __is = (input: any): input is UserStyle => \"object\" === typeof input && null !== input && false === Array.isArray(input) && _io0(input); let _errorFactory: any; return (input: any, errorFactory?: (p: import(\"typia\").TypeGuardError.IProps) => Error): UserStyle => {\n if (false === __is(input)) {\n _errorFactory = errorFactory;\n ((input: any, _path: string, _exceptionable: boolean = true) => (\"object\" === typeof input && null !== input && false === Array.isArray(input) || __typia_transform__assertGuard._assertGuard(true, {\n method: \"typia.createAssert\",\n path: _path + \"\",\n expected: \"UserStyle\",\n value: input\n }, _errorFactory)) && _ao0(input, _path + \"\", true) || __typia_transform__assertGuard._assertGuard(true, {\n method: \"typia.createAssert\",\n path: _path + \"\",\n expected: \"UserStyle\",\n value: input\n }, _errorFactory))(input, \"$input\", true);\n }\n return input;\n}; })();\nconst isColorKey = (() => { return (input: any): input is ColorKeys<Theme> => \"primary\" === input || \"accent\" === input || \"text\" === input || \"success\" === input || \"info\" === input || \"warn\" === input || \"error\" === input; })();\nfunction toColor(value: unknown) {\n if (typeof value !== \"string\")\n return toBaseColor(value); // will throw\n const color = value.replace(/[+-]\\d+/, \"\");\n if (value.match(/[+-]\\d+/))\n toLightnessColor(color);\n return toBaseColor(color);\n}\nconst validator = (() => { const _iv1 = new Set([\"andromeeda\", \"aurora-x\", \"ayu-dark\", \"ayu-light\", \"ayu-mirage\", \"catppuccin-frappe\", \"catppuccin-latte\", \"catppuccin-macchiato\", \"catppuccin-mocha\", \"dark-plus\", \"dracula\", \"dracula-soft\", \"everforest-dark\", \"everforest-light\", \"github-dark\", \"github-dark-default\", \"github-dark-dimmed\", \"github-dark-high-contrast\", \"github-light\", \"github-light-default\", \"github-light-high-contrast\", \"gruvbox-dark-hard\", \"gruvbox-dark-medium\", \"gruvbox-dark-soft\", \"gruvbox-light-hard\", \"gruvbox-light-medium\", \"gruvbox-light-soft\", \"horizon\", \"horizon-bright\", \"houston\", \"kanagawa-dragon\", \"kanagawa-lotus\", \"kanagawa-wave\", \"laserwave\", \"light-plus\", \"material-theme\", \"material-theme-darker\", \"material-theme-lighter\", \"material-theme-ocean\", \"material-theme-palenight\", \"min-dark\", \"min-light\", \"monokai\", \"night-owl\", \"night-owl-light\", \"nord\", \"one-dark-pro\", \"one-light\", \"plastic\", \"poimandres\", \"red\", \"rose-pine\", \"rose-pine-dawn\", \"rose-pine-moon\", \"slack-dark\", \"slack-ochin\", \"snazzy-light\", \"solarized-dark\", \"solarized-light\", \"synthwave-84\", \"tokyo-night\", \"vesper\", \"vitesse-black\", \"vitesse-dark\", \"vitesse-light\"]); const _av2 = new Set([\"andromeeda\", \"aurora-x\", \"ayu-dark\", \"ayu-light\", \"ayu-mirage\", \"catppuccin-frappe\", \"catppuccin-latte\", \"catppuccin-macchiato\", \"catppuccin-mocha\", \"dark-plus\", \"dracula\", \"dracula-soft\", \"everforest-dark\", \"everforest-light\", \"github-dark\", \"github-dark-default\", \"github-dark-dimmed\", \"github-dark-high-contrast\", \"github-light\", \"github-light-default\", \"github-light-high-contrast\", \"gruvbox-dark-hard\", \"gruvbox-dark-medium\", \"gruvbox-dark-soft\", \"gruvbox-light-hard\", \"gruvbox-light-medium\", \"gruvbox-light-soft\", \"horizon\", \"horizon-bright\", \"houston\", \"kanagawa-dragon\", \"kanagawa-lotus\", \"kanagawa-wave\", \"laserwave\", \"light-plus\", \"material-theme\", \"material-theme-darker\", \"material-theme-lighter\", \"material-theme-ocean\", \"material-theme-palenight\", \"min-dark\", \"min-light\", \"monokai\", \"night-owl\", \"night-owl-light\", \"nord\", \"one-dark-pro\", \"one-light\", \"plastic\", \"poimandres\", \"red\", \"rose-pine\", \"rose-pine-dawn\", \"rose-pine-moon\", \"slack-dark\", \"slack-ochin\", \"snazzy-light\", \"solarized-dark\", \"solarized-light\", \"synthwave-84\", \"tokyo-night\", \"vesper\", \"vitesse-black\", \"vitesse-dark\", \"vitesse-light\"]); const _io0 = (input: any, _exceptionable: boolean = true): boolean => (undefined === input.$schema || \"string\" === typeof input.$schema) && (undefined === input.shiki || true === _iv1.has(input.shiki)) && (undefined === input.id || \"string\" === typeof input.id) && (undefined === input.name || \"string\" === typeof input.name) && Object.keys(input).every((key: any) => {\n if ([\"$schema\", \"shiki\", \"id\", \"name\"].some((prop: any) => key === prop))\n return true;\n const value = input[key];\n if (undefined === value)\n return true;\n return null !== value && (undefined === value || \"string\" === typeof value || \"object\" === typeof value && null !== value && false === Array.isArray(value) && _io1(value, true && _exceptionable));\n}); const _io1 = (input: any, _exceptionable: boolean = true): boolean => (undefined === input.bold || \"boolean\" === typeof input.bold) && (undefined === input.dim || \"boolean\" === typeof input.dim) && (undefined === input.italic || \"boolean\" === typeof input.italic) && (undefined === input.underline || \"boolean\" === typeof input.underline) && (undefined === input.inverse || \"boolean\" === typeof input.inverse) && (undefined === input.strikethrough || \"boolean\" === typeof input.strikethrough) && (undefined === input.fg || \"string\" === typeof input.fg) && (undefined === input.bg || \"string\" === typeof input.bg) && (0 === Object.keys(input).length || Object.keys(input).every((key: any) => {\n if ([\"bold\", \"dim\", \"italic\", \"underline\", \"inverse\", \"strikethrough\", \"fg\", \"bg\"].some((prop: any) => key === prop))\n return true;\n const value = input[key];\n if (undefined === value)\n return true;\n return false;\n})); const _ao0 = (input: any, _path: string, _exceptionable: boolean = true): boolean => (undefined === input.$schema || \"string\" === typeof input.$schema || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + \".$schema\",\n expected: \"(string | undefined)\",\n value: input.$schema\n}, _errorFactory)) && (undefined === input.shiki || true === _av2.has(input.shiki) || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + \".shiki\",\n expected: \"(\\\"andromeeda\\\" | \\\"aurora-x\\\" | \\\"ayu-dark\\\" | \\\"ayu-light\\\" | \\\"ayu-mirage\\\" | \\\"catppuccin-frappe\\\" | \\\"catppuccin-latte\\\" | \\\"catppuccin-macchiato\\\" | \\\"catppuccin-mocha\\\" | \\\"dark-plus\\\" | \\\"dracula\\\" | \\\"dracula-soft\\\" | \\\"everforest-dark\\\" | \\\"everforest-light\\\" | \\\"github-dark\\\" | \\\"github-dark-default\\\" | \\\"github-dark-dimmed\\\" | \\\"github-dark-high-contrast\\\" | \\\"github-light\\\" | \\\"github-light-default\\\" | \\\"github-light-high-contrast\\\" | \\\"gruvbox-dark-hard\\\" | \\\"gruvbox-dark-medium\\\" | \\\"gruvbox-dark-soft\\\" | \\\"gruvbox-light-hard\\\" | \\\"gruvbox-light-medium\\\" | \\\"gruvbox-light-soft\\\" | \\\"horizon\\\" | \\\"horizon-bright\\\" | \\\"houston\\\" | \\\"kanagawa-dragon\\\" | \\\"kanagawa-lotus\\\" | \\\"kanagawa-wave\\\" | \\\"laserwave\\\" | \\\"light-plus\\\" | \\\"material-theme\\\" | \\\"material-theme-darker\\\" | \\\"material-theme-lighter\\\" | \\\"material-theme-ocean\\\" | \\\"material-theme-palenight\\\" | \\\"min-dark\\\" | \\\"min-light\\\" | \\\"monokai\\\" | \\\"night-owl\\\" | \\\"night-owl-light\\\" | \\\"nord\\\" | \\\"one-dark-pro\\\" | \\\"one-light\\\" | \\\"plastic\\\" | \\\"poimandres\\\" | \\\"red\\\" | \\\"rose-pine\\\" | \\\"rose-pine-dawn\\\" | \\\"rose-pine-moon\\\" | \\\"slack-dark\\\" | \\\"slack-ochin\\\" | \\\"snazzy-light\\\" | \\\"solarized-dark\\\" | \\\"solarized-light\\\" | \\\"synthwave-84\\\" | \\\"tokyo-night\\\" | \\\"vesper\\\" | \\\"vitesse-black\\\" | \\\"vitesse-dark\\\" | \\\"vitesse-light\\\" | undefined)\",\n value: input.shiki\n}, _errorFactory)) && (undefined === input.id || \"string\" === typeof input.id || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + \".id\",\n expected: \"(string | undefined)\",\n value: input.id\n}, _errorFactory)) && (undefined === input.name || \"string\" === typeof input.name || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + \".name\",\n expected: \"(string | undefined)\",\n value: input.name\n}, _errorFactory)) && (false === _exceptionable || Object.keys(input).every((key: any) => {\n if ([\"$schema\", \"shiki\", \"id\", \"name\"].some((prop: any) => key === prop))\n return true;\n const value = input[key];\n if (undefined === value)\n return true;\n return (null !== value || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),\n expected: \"(UserStyle | string | undefined)\",\n value: value\n }, _errorFactory)) && (undefined === value || \"string\" === typeof value || (\"object\" === typeof value && null !== value && false === Array.isArray(value) || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),\n expected: \"(UserStyle | string | undefined)\",\n value: value\n }, _errorFactory)) && _ao1(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),\n expected: \"(UserStyle | string | undefined)\",\n value: value\n }, _errorFactory));\n})); const _ao1 = (input: any, _path: string, _exceptionable: boolean = true): boolean => (undefined === input.bold || \"boolean\" === typeof input.bold || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + \".bold\",\n expected: \"(boolean | undefined)\",\n value: input.bold\n}, _errorFactory)) && (undefined === input.dim || \"boolean\" === typeof input.dim || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + \".dim\",\n expected: \"(boolean | undefined)\",\n value: input.dim\n}, _errorFactory)) && (undefined === input.italic || \"boolean\" === typeof input.italic || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + \".italic\",\n expected: \"(boolean | undefined)\",\n value: input.italic\n}, _errorFactory)) && (undefined === input.underline || \"boolean\" === typeof input.underline || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + \".underline\",\n expected: \"(boolean | undefined)\",\n value: input.underline\n}, _errorFactory)) && (undefined === input.inverse || \"boolean\" === typeof input.inverse || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + \".inverse\",\n expected: \"(boolean | undefined)\",\n value: input.inverse\n}, _errorFactory)) && (undefined === input.strikethrough || \"boolean\" === typeof input.strikethrough || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + \".strikethrough\",\n expected: \"(boolean | undefined)\",\n value: input.strikethrough\n}, _errorFactory)) && (undefined === input.fg || \"string\" === typeof input.fg || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + \".fg\",\n expected: \"(string | undefined)\",\n value: input.fg\n}, _errorFactory)) && (undefined === input.bg || \"string\" === typeof input.bg || __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + \".bg\",\n expected: \"(string | undefined)\",\n value: input.bg\n}, _errorFactory)) && (0 === Object.keys(input).length || (false === _exceptionable || Object.keys(input).every((key: any) => {\n if ([\"bold\", \"dim\", \"italic\", \"underline\", \"inverse\", \"strikethrough\", \"fg\", \"bg\"].some((prop: any) => key === prop))\n return true;\n const value = input[key];\n if (undefined === value)\n return true;\n return __typia_transform__assertGuard._assertGuard(_exceptionable, {\n method: \"typia.createAssertEquals\",\n path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),\n expected: \"undefined\",\n value: value\n }, _errorFactory);\n}))); const __is = (input: any, _exceptionable: boolean = true): input is Partial<UserTheme> => \"object\" === typeof input && null !== input && false === Array.isArray(input) && _io0(input, true); let _errorFactory: any; return (input: any, errorFactory?: (p: import(\"typia\").TypeGuardError.IProps) => Error): Partial<UserTheme> => {\n if (false === __is(input)) {\n _errorFactory = errorFactory;\n ((input: any, _path: string, _exceptionable: boolean = true) => (\"object\" === typeof input && null !== input && false === Array.isArray(input) || __typia_transform__assertGuard._assertGuard(true, {\n method: \"typia.createAssertEquals\",\n path: _path + \"\",\n expected: \"Partial<UserTheme>\",\n value: input\n }, _errorFactory)) && _ao0(input, _path + \"\", true) || __typia_transform__assertGuard._assertGuard(true, {\n method: \"typia.createAssertEquals\",\n path: _path + \"\",\n expected: \"Partial<UserTheme>\",\n value: input\n }, _errorFactory))(input, \"$input\", true);\n }\n return input;\n}; })();\nconst skipSlots = new Set([\"$schema\", \"shiki\", \"id\", \"name\"]);\nexport function validateTheme(input: unknown): Partial<UserTheme> {\n const out = validator(input);\n for (const [slot, value] of Object.entries(out)) {\n if (skipSlots.has(slot) || value === undefined)\n continue;\n if (typeof value === \"string\" && toColor(value))\n continue;\n if (isColorKey(slot))\n toColor(value);\n const style = toStyle(value);\n if (style.fg !== undefined)\n toColor(style.fg);\n if (style.bg !== undefined)\n toColor(style.bg);\n }\n return out as unknown as Partial<Theme> & {\n $schema?: string;\n };\n}\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ import { t as Theme } from "./types-B9Eh7k2v.mjs";
2
+ //#region src/themes/builtin.d.ts
3
+ /**
4
+ * Async loader map for every built-in theme. Each entry returns the
5
+ * raw JSON; `themes/index.ts` wraps these with `resolveTheme` to
6
+ * produce a fully-resolved `Theme` from the registry. Bundlers
7
+ * code-split each `import("…json")` into its own chunk, so apps only
8
+ * pull the theme they actually load.
9
+ *
10
+ * `as const satisfies Record<string, ThemeLoader>` keeps the keys
11
+ * narrow (so `BuiltinThemeName` is a literal union) but lets the
12
+ * value type widen to `Partial<Theme>` — themes have no per-key
13
+ * narrow types worth preserving, and the satisfies clause means
14
+ * `themes/index.ts` can pass this map straight to `themeRegistry`
15
+ * with no cast.
16
+ */
17
+ declare const builtin: {
18
+ readonly "ayu-dark": () => Promise<Partial<Theme>>;
19
+ readonly "catppuccin-frappe": () => Promise<Partial<Theme>>;
20
+ readonly "catppuccin-latte": () => Promise<Partial<Theme>>;
21
+ readonly "catppuccin-macchiato": () => Promise<Partial<Theme>>;
22
+ readonly "catppuccin-mocha": () => Promise<Partial<Theme>>;
23
+ readonly dracula: () => Promise<Partial<Theme>>;
24
+ readonly "dracula-soft": () => Promise<Partial<Theme>>;
25
+ readonly "everforest-dark": () => Promise<Partial<Theme>>;
26
+ readonly "everforest-light": () => Promise<Partial<Theme>>;
27
+ readonly "github-dark": () => Promise<Partial<Theme>>;
28
+ readonly "github-light": () => Promise<Partial<Theme>>;
29
+ readonly "gruvbox-dark-medium": () => Promise<Partial<Theme>>;
30
+ readonly "kanagawa-dragon": () => Promise<Partial<Theme>>;
31
+ readonly "kanagawa-wave": () => Promise<Partial<Theme>>;
32
+ readonly "material-theme-palenight": () => Promise<Partial<Theme>>;
33
+ readonly "min-dark": () => Promise<Partial<Theme>>;
34
+ readonly "min-light": () => Promise<Partial<Theme>>;
35
+ readonly monokai: () => Promise<Partial<Theme>>;
36
+ readonly "night-owl": () => Promise<Partial<Theme>>;
37
+ readonly nord: () => Promise<Partial<Theme>>;
38
+ readonly "one-dark-pro": () => Promise<Partial<Theme>>;
39
+ readonly "one-light": () => Promise<Partial<Theme>>;
40
+ readonly poimandres: () => Promise<Partial<Theme>>;
41
+ readonly "rose-pine": () => Promise<Partial<Theme>>;
42
+ readonly "solarized-dark": () => Promise<Partial<Theme>>;
43
+ readonly "solarized-light": () => Promise<Partial<Theme>>;
44
+ readonly "synthwave-84": () => Promise<Partial<Theme>>;
45
+ readonly "tokyonight-day": () => Promise<Partial<Theme>>;
46
+ readonly "tokyonight-moon": () => Promise<Partial<Theme>>;
47
+ readonly "tokyonight-night": () => Promise<Partial<Theme>>;
48
+ readonly "tokyonight-storm": () => Promise<Partial<Theme>>;
49
+ readonly vesper: () => Promise<Partial<Theme>>;
50
+ readonly "vitesse-dark": () => Promise<Partial<Theme>>;
51
+ readonly "vitesse-light": () => Promise<Partial<Theme>>;
52
+ };
53
+ //#endregion
54
+ //#region src/themes/registry.d.ts
55
+ /** Built-in theme names plus the synthetic `"ansi"` palette (no JSON
56
+ * — falls back to `defaults` only). */
57
+ type BuiltinTheme = keyof typeof builtin | "ansi";
58
+ type AnyTheme = BuiltinTheme | (string & {});
59
+ type ThemeLoader = () => Promise<Partial<Theme>>;
60
+ /**
61
+ * Registry of built-in themes plus any registered at runtime. The
62
+ * registry never awaits — loaders return `Promise<Partial<Theme>>` so
63
+ * callers `await` explicitly.
64
+ */
65
+ declare const themeRegistry: import("@zaly/shared/registry").Registry<ThemeLoader, {
66
+ readonly "ayu-dark": () => Promise<Partial<Theme>>;
67
+ readonly "catppuccin-frappe": () => Promise<Partial<Theme>>;
68
+ readonly "catppuccin-latte": () => Promise<Partial<Theme>>;
69
+ readonly "catppuccin-macchiato": () => Promise<Partial<Theme>>;
70
+ readonly "catppuccin-mocha": () => Promise<Partial<Theme>>;
71
+ readonly dracula: () => Promise<Partial<Theme>>;
72
+ readonly "dracula-soft": () => Promise<Partial<Theme>>;
73
+ readonly "everforest-dark": () => Promise<Partial<Theme>>;
74
+ readonly "everforest-light": () => Promise<Partial<Theme>>;
75
+ readonly "github-dark": () => Promise<Partial<Theme>>;
76
+ readonly "github-light": () => Promise<Partial<Theme>>;
77
+ readonly "gruvbox-dark-medium": () => Promise<Partial<Theme>>;
78
+ readonly "kanagawa-dragon": () => Promise<Partial<Theme>>;
79
+ readonly "kanagawa-wave": () => Promise<Partial<Theme>>;
80
+ readonly "material-theme-palenight": () => Promise<Partial<Theme>>;
81
+ readonly "min-dark": () => Promise<Partial<Theme>>;
82
+ readonly "min-light": () => Promise<Partial<Theme>>;
83
+ readonly monokai: () => Promise<Partial<Theme>>;
84
+ readonly "night-owl": () => Promise<Partial<Theme>>;
85
+ readonly nord: () => Promise<Partial<Theme>>;
86
+ readonly "one-dark-pro": () => Promise<Partial<Theme>>;
87
+ readonly "one-light": () => Promise<Partial<Theme>>;
88
+ readonly poimandres: () => Promise<Partial<Theme>>;
89
+ readonly "rose-pine": () => Promise<Partial<Theme>>;
90
+ readonly "solarized-dark": () => Promise<Partial<Theme>>;
91
+ readonly "solarized-light": () => Promise<Partial<Theme>>;
92
+ readonly "synthwave-84": () => Promise<Partial<Theme>>;
93
+ readonly "tokyonight-day": () => Promise<Partial<Theme>>;
94
+ readonly "tokyonight-moon": () => Promise<Partial<Theme>>;
95
+ readonly "tokyonight-night": () => Promise<Partial<Theme>>;
96
+ readonly "tokyonight-storm": () => Promise<Partial<Theme>>;
97
+ readonly vesper: () => Promise<Partial<Theme>>;
98
+ readonly "vitesse-dark": () => Promise<Partial<Theme>>;
99
+ readonly "vitesse-light": () => Promise<Partial<Theme>>;
100
+ }>;
101
+ /**
102
+ * Load a theme by name or path.
103
+ */
104
+ declare function loadTheme(name?: string): Promise<Theme>;
105
+ declare function loadTheme(opts: {
106
+ name?: string;
107
+ path?: string;
108
+ }): Promise<Theme>;
109
+ /** TokyoNight Moon — the default. Sourced from `assets/themes/tokyonight-moon.json`. */
110
+ declare const defaultTheme: Theme;
111
+ //#endregion
112
+ export { AnyTheme, BuiltinTheme, ThemeLoader, defaultTheme, loadTheme, themeRegistry };
113
+ //# sourceMappingURL=themes.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themes.d.mts","names":[],"sources":["../src/themes/builtin.ts","../src/themes/registry.ts"],"mappings":";;;;;;;;;;;;;;;;cAyBa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KCbD,4BAA4B;KAC5B,WAAW;KACX,oBAAoB,QAAQ,QAAQ;;;;;;cASnC,+CAAa,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQJ,UAAU,gBAAgB,QAAQ;iBAClC,UAAU;EAAQ;EAAe;IAAkB,QAAQ;;cA4CpE,cAAY"}
@@ -0,0 +1,2 @@
1
+ import { n as loadTheme, r as themeRegistry, t as defaultTheme } from "./registry-U654j61Y.mjs";
2
+ export { defaultTheme, loadTheme, themeRegistry };
@@ -0,0 +1,23 @@
1
+ import { nt as Reactive } from "./queries-DH3bj74K.mjs";
2
+ import { i as Select, o as SelectState, t as Option } from "./select-CbmAZdpt.mjs";
3
+ //#region src/widgets/tree.d.ts
4
+ type TreeItem<T extends Option = Option> = T & {
5
+ children?: TreeItem<T>[];
6
+ icon?: string;
7
+ };
8
+ type TreeProps<T extends TreeItem = TreeItem> = Omit<SelectState<T>, "items" | "active"> & {
9
+ tree: Reactive<T>;
10
+ /** If true, the root node will be rendered and selectable. Defaults to false. */
11
+ root?: boolean;
12
+ active?: T | ((item: T) => boolean);
13
+ };
14
+ type TreeNode<T extends TreeItem> = {
15
+ last?: boolean;
16
+ parent?: T;
17
+ };
18
+ declare const tree: <T extends TreeItem>(props: TreeProps<T>) => Select<T> & {
19
+ items: Reactive<T[]>;
20
+ };
21
+ //#endregion
22
+ export { tree as i, TreeNode as n, TreeProps as r, TreeItem as t };
23
+ //# sourceMappingURL=tree-C28QOVIK.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-C28QOVIK.d.mts","names":[],"sources":["../src/widgets/tree.ts"],"mappings":";;;KAQY,SAAS,UAAU,SAAS,UAAU;EAChD,WAAW,SAAS;EACpB;;KAGU,UAAU,UAAU,WAAW,YAAY,KAAK,YAAY;EACtE,MAAM,SAAS;;EAEf;EACA,SAAS,MAAM,MAAM;;KAUX,SAAS,UAAU;EAC7B;EACA,SAAS;;cA0BE,OACV,UAAU,UAAQ,OAAS,UAAU,OAAK,OAAO;EAAO,OAAO,SAAS"}
@@ -0,0 +1,212 @@
1
+ import { BundledLanguage, BundledTheme } from "shiki/types";
2
+ //#region src/shiki/types.d.ts
3
+ type ShikiTheme = BundledTheme;
4
+ type ShikiLanguage = BundledLanguage;
5
+ type ShikiRequest = {
6
+ key?: string;
7
+ code: string;
8
+ lang: string;
9
+ theme?: ShikiTheme;
10
+ signal?: AbortSignal;
11
+ };
12
+ type ShikiWorkerRequest = Omit<ShikiRequest, "lang" | "key"> & {
13
+ id: number;
14
+ lang: ShikiLanguage;
15
+ key: string;
16
+ };
17
+ type ShikiJob = ShikiWorkerRequest & ReturnType<typeof Promise.withResolvers<ShikiResult>> & {
18
+ scheduled?: boolean;
19
+ };
20
+ type ShikiResult = {
21
+ id: number;
22
+ value: string;
23
+ error?: string;
24
+ aborted?: boolean;
25
+ };
26
+ type ShikiOpts = {
27
+ theme?: ShikiTheme;
28
+ signal?: AbortSignal;
29
+ };
30
+ //#endregion
31
+ //#region src/style/types.d.ts
32
+ type RGB = [r: number, g: number, b: number];
33
+ /** Alpha percentage for `/<alpha>` suffix on Color values. Any integer
34
+ * 0..100 is accepted at runtime; the template literal uses `${number}`
35
+ * so odd values like `/98` typecheck without a cast. */
36
+ type ColorLightness = `${number}`;
37
+ /** Standard ANSI color names. */
38
+ type AnsiColorName = "black" | "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white" | "gray" | "grey";
39
+ /** Bright ANSI variants — `brightRed`, `brightBlue`, etc. */
40
+ type BrightAnsiColorName = `bright${Capitalize<AnsiColorName>}`;
41
+ type AnsiColor = AnsiColorName | BrightAnsiColorName | HexColor | "inherit";
42
+ /** Hex color string. Matches `#rgb` / `#rgba` / `#rrggbb` / `#rrggbbaa`
43
+ * (any case; runtime validates). Alpha is native to the hex form, so
44
+ * there is no separate `/<alpha>` suffix for hex. */
45
+ type HexColor = `#${string}`;
46
+ type ThemeKey = keyof Theme;
47
+ /**
48
+ * A color value. Accepted forms:
49
+ * - `#rgb` / `#rrggbb` hex
50
+ * - ANSI color names (`red`, `cyan`, `gray`, …)
51
+ * - Bright ANSI variants (`brightRed`, `brightBlue`, …)
52
+ * - Theme slot keys from `keyof Theme` (`primary`, `muted`, …)
53
+ * - `'inherit'` — use the parent's color (renders as no escape).
54
+ * - Variant suffix `-<step>` on hex or theme slots — e.g. `primary-300`,
55
+ * `#82aaff-900`. The base color gets resolved through the theme
56
+ * (extracting the channel when needed), then `variant(base, step)`
57
+ * shifts it along the OKLCH tonal scale.
58
+ */
59
+ type Color = HexColor | AnsiColorName | BrightAnsiColorName | ThemeKey | "inherit" | `${HexColor | ThemeKey}-${ColorLightness}` | `${HexColor | ThemeKey}+${ColorLightness}`;
60
+ interface AnsiStyle {
61
+ fg?: AnsiColor;
62
+ bg?: AnsiColor;
63
+ bold?: boolean;
64
+ dim?: boolean;
65
+ italic?: boolean;
66
+ underline?: boolean;
67
+ inverse?: boolean;
68
+ strikethrough?: boolean;
69
+ }
70
+ /** Base style shared by every node type. Box/Text/etc. extend this.
71
+ * Pure styling — no layout or lifecycle fields. Widget state interfaces
72
+ * extend `StyleState` to pick up the `visible` base-state bits alongside
73
+ * these style fields. */
74
+ type Style = Omit<AnsiStyle, "fg" | "bg"> & {
75
+ fg?: Color;
76
+ bg?: Color;
77
+ style?: AnyStyle;
78
+ };
79
+ type AnyStyle = Style | Color;
80
+ //#endregion
81
+ //#region src/themes/types.d.ts
82
+ /**
83
+ * A theme slot value. Color shortcuts expand to `{ fg: <color> }` at resolve
84
+ * time; Style objects are used as-is and may carry attrs (`bold`, `underline`,
85
+ * etc.) and a `bg`. Use Color for simple fg-only slots; escalate to Style when
86
+ * the part needs more than just a foreground color.
87
+ */
88
+ type ThemeValue = Color | Style;
89
+ /**
90
+ * A theme is a flat record mapping semantic slots to `ThemeValue`s. Callers
91
+ * reference slots by key (`fg: "primary"` for colors, `borderStyle: "border"`
92
+ * for style refs) and the framework resolves through the theme at render time.
93
+ *
94
+ * Built-in themes live as JSON under `assets/themes/`. `tokyonight-moon` is
95
+ * bundled as the default; load any other theme by name via
96
+ * `loadTheme("tokyonight-storm")`.
97
+ *
98
+ * **Text quietness ladder** (most → least prominent): `fg` (terminal
99
+ * default) → `muted` → `quiet` → `comment`. Pick the lowest tier
100
+ * that still reads cleanly against the background.
101
+ *
102
+ * **Surface tiers**: `ui` → `subtle` → `overlay` (bottom → top).
103
+ * `highlight` is orthogonal — a tinted accent surface, not a tier.
104
+ */
105
+ type Theme = {
106
+ id: string;
107
+ name?: string;
108
+ /** Optional name of a matching Shiki syntax-highlighting theme. Code
109
+ * blocks and fenced markdown snippets look this up so highlighting
110
+ * aligns with the TUI palette. Leave unset for themes without a
111
+ * Shiki counterpart. */
112
+ shiki?: ShikiTheme;
113
+ /** Brand / primary accent. */
114
+ primary: Color;
115
+ /** Secondary accent — distinct hue from `primary`. */
116
+ accent: Color;
117
+ /** Default text color used by themed blocks (markdown content, code,
118
+ * quotes) that compose `fg: "text"` into their style. Defaults to
119
+ * `"inherit"` (terminal fg). Set explicitly when a theme wants
120
+ * themed text inside its tinted regions. */
121
+ text: Color;
122
+ /** Secondary text — first tier of the quietness ladder
123
+ * (`muted` → `quiet` → `comment`). Slightly faded but readable;
124
+ * good for timestamps, captions, less-prominent labels. */
125
+ muted: ThemeValue;
126
+ /** De-emphasized but still readable. Reasoning / thinking text,
127
+ * secondary annotations, hints. */
128
+ quiet: ThemeValue;
129
+ /** Editor-comment tier — soft, often tinted. Used for code
130
+ * annotations, line-number labels, italic quotes. */
131
+ comment: ThemeValue;
132
+ /** Section / panel titles. Typically `bold` + a fg color. */
133
+ title: ThemeValue;
134
+ /** Structural separators — borders, dividers, gutter lines. */
135
+ delim: ThemeValue;
136
+ /** Structural neutral — applied as fg for borders, dividers, and the
137
+ * gutter; as bg for subtly-tinted surfaces. Never used for
138
+ * de-emphasized text; that's the `muted` / `quiet` / `comment`
139
+ * tier. */
140
+ subtle: ThemeValue;
141
+ /** Default UI surface. Bottom of the stack. */
142
+ ui: ThemeValue;
143
+ /** Popup / modal surface. One tier above `ui`. */
144
+ overlay: ThemeValue;
145
+ /** Tinted region for emphasized content within the stream — user
146
+ * bubble bg, focused row, callout. Distinct from `code`, which is
147
+ * reserved for code-block bg. */
148
+ highlight: ThemeValue;
149
+ /** Separators between messages or sections. */
150
+ divider: ThemeValue;
151
+ /** Highlighted text in inputs, lists, autocomplete. */
152
+ selection: ThemeValue;
153
+ /** Line-number column, diff markers. */
154
+ gutter: ThemeValue;
155
+ /** Main input-prompt styling. */
156
+ prompt: ThemeValue;
157
+ /** Structural border around panels, boxes, tables. */
158
+ border: ThemeValue;
159
+ /** Title text inside a bordered region (slightly stronger than
160
+ * `border`). */
161
+ borderTitle: ThemeValue;
162
+ /** Code-block surface (bg + optional fg). Default for `mdCodeBlock`. */
163
+ code: ThemeValue;
164
+ /** Title above a code block (e.g. file path). */
165
+ codeTitle: ThemeValue;
166
+ success: Color;
167
+ info: Color;
168
+ warn: Color;
169
+ error: Color;
170
+ syntaxBoolean: ThemeValue;
171
+ syntaxBracket: ThemeValue;
172
+ syntaxConstant: ThemeValue;
173
+ syntaxDelimiter: ThemeValue;
174
+ syntaxField: ThemeValue;
175
+ syntaxFunction: ThemeValue;
176
+ syntaxNumber: ThemeValue;
177
+ syntaxSpecial: ThemeValue;
178
+ syntaxString: ThemeValue;
179
+ mdBold: ThemeValue;
180
+ mdCode: ThemeValue;
181
+ mdCodeBlock: ThemeValue;
182
+ mdCodeBlockTitle: ThemeValue;
183
+ mdHeading1: ThemeValue;
184
+ mdHeading2: ThemeValue;
185
+ mdHeading3: ThemeValue;
186
+ mdHeading4: ThemeValue;
187
+ mdHeading5: ThemeValue;
188
+ mdHeading6: ThemeValue;
189
+ mdHeading: ThemeValue;
190
+ mdHr: ThemeValue;
191
+ mdItalic: ThemeValue;
192
+ mdLink: ThemeValue;
193
+ mdListBullet: ThemeValue;
194
+ mdListChecked: ThemeValue;
195
+ mdListUnchecked: ThemeValue;
196
+ mdQuote: ThemeValue;
197
+ mdStrikethrough: ThemeValue;
198
+ mdTable: ThemeValue;
199
+ mdTableHeader: ThemeValue;
200
+ optionName: ThemeValue;
201
+ optionDesc: ThemeValue;
202
+ /** Currently-highlighted entry. */
203
+ optionActive: ThemeValue;
204
+ diffAdd: ThemeValue;
205
+ diffContext: ThemeValue;
206
+ diffDel: ThemeValue;
207
+ diffLine: ThemeValue;
208
+ diffTitle: ThemeValue;
209
+ };
210
+ //#endregion
211
+ export { ShikiRequest as _, AnsiStyle as a, ShikiWorkerRequest as b, Color as c, RGB as d, Style as f, ShikiOpts as g, ShikiLanguage as h, AnsiColorName as i, ColorLightness as l, ShikiJob as m, ThemeValue as n, AnyStyle as o, ThemeKey as p, AnsiColor as r, BrightAnsiColorName as s, Theme as t, HexColor as u, ShikiResult as v, ShikiTheme as y };
212
+ //# sourceMappingURL=types-B9Eh7k2v.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-B9Eh7k2v.d.mts","names":[],"sources":["../src/shiki/types.ts","../src/style/types.ts","../src/themes/types.ts"],"mappings":";;KAEY,aAAa;KACb,gBAAgB;KAEhB;EACV;EACA;EACA;EACA,QAAQ;EACR,SAAS;;KAGC,qBAAqB,KAAK;EACpC;EACA,MAAM;EACN;;KAGU,WAAW,qBACrB,kBAAkB,QAAQ,cAAc;EACtC;;KAGQ;EACV;EACA;EACA;EACA;;KAGU;EACV,QAAQ;EACR,SAAS;;;;KC/BC,OAAO,WAAW,WAAW;;;;KAK7B;;KAGA;;KAaA,+BAA+B,WAAW;KAE1C,YAAY,gBAAgB,sBAAsB;;;;KAKlD;KACA,iBAAiB;;;;;;;;;;;;;KAcjB,QACR,WACA,gBACA,sBACA,0BAEG,WAAW,YAAY,sBACvB,WAAW,YAAY;UAEb;EACf,KAAK;EACL,KAAK;EACL;EACA;EACA;EACA;EACA;EACA;;;;;;KAOU,QAAQ,KAAK;EACvB,KAAK;EACL,KAAK;EACL,QAAQ;;KAGE,WAAW,QAAQ;;;;;;;;;KClEnB,aAAa,QAAQ;;;;;;;;;;;;;;;;;KAkBrB;EACV;EACA;;;;;EAKA,QAAQ;;EAKR,SAAS;;EAET,QAAQ;;;;;EAQR,MAAM;;;;EAIN,OAAO;;;EAGP,OAAO;;;EAGP,SAAS;;EAET,OAAO;;EAEP,OAAO;;;;;EAQP,QAAQ;;EAER,IAAI;;EAEJ,SAAS;;;;EAIT,WAAW;;EAKX,SAAS;;EAET,WAAW;;EAEX,QAAQ;;EAER,QAAQ;;EAER,QAAQ;;;EAGR,aAAa;;EAKb,MAAM;;EAEN,WAAW;EAIX,SAAS;EACT,MAAM;EACN,MAAM;EACN,OAAO;EAGP,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,aAAa;EACb,gBAAgB;EAChB,cAAc;EACd,eAAe;EACf,cAAc;EAId,QAAQ;EACR,QAAQ;EACR,aAAa;EACb,kBAAkB;EAClB,YAAY;EACZ,YAAY;EACZ,YAAY;EACZ,YAAY;EACZ,YAAY;EACZ,YAAY;EACZ,WAAW;EACX,MAAM;EACN,UAAU;EACV,QAAQ;EACR,cAAc;EACd,eAAe;EACf,iBAAiB;EACjB,SAAS;EACT,iBAAiB;EACjB,SAAS;EACT,eAAe;EAIf,YAAY;EACZ,YAAY;;EAEZ,cAAc;EAId,SAAS;EACT,aAAa;EACb,SAAS;EACT,UAAU;EACV,WAAW"}
@@ -0,0 +1,140 @@
1
+ //#region src/markdown/types.d.ts
2
+ interface MdHeadingMeta {
3
+ /** Heading level (1–6). */
4
+ level: number;
5
+ /** Heading ID slug. Set when `headings: { ids: true }` is enabled. */
6
+ id?: string;
7
+ }
8
+ interface MdListMeta {
9
+ /** Whether this is an ordered list. */
10
+ ordered: boolean;
11
+ /** The start number for ordered lists. */
12
+ start?: number;
13
+ /** Nesting depth. `0` for top-level, `1` for a list inside a list item, etc. */
14
+ depth: number;
15
+ }
16
+ interface MdListItemMeta {
17
+ /** 0-based index of this item within its parent list. */
18
+ index: number;
19
+ /** Nesting depth of the parent list. `0` for items in a top-level list. */
20
+ depth: number;
21
+ /** Whether the parent list is ordered. */
22
+ ordered: boolean;
23
+ /** The start number of the parent list (only set when `ordered` is true). */
24
+ start?: number;
25
+ /** Task list checked state. Set for `- [x]` / `- [ ]` items. */
26
+ checked?: boolean;
27
+ }
28
+ interface MdCellMeta {
29
+ /** Column alignment. */
30
+ align?: "left" | "center" | "right";
31
+ }
32
+ interface MdLinkMeta {
33
+ /** Link URL. */
34
+ href: string;
35
+ /** Link title attribute. */
36
+ title?: string;
37
+ }
38
+ interface MdImageMeta {
39
+ /** Image URL. */
40
+ src: string;
41
+ /** Image title attribute. */
42
+ title?: string;
43
+ }
44
+ type CbNoMeta = (children: string) => string | null | undefined;
45
+ type CbWith<M> = (children: string, meta: M) => string | null | undefined;
46
+ interface MdCodeBlockMeta {
47
+ /** The info-string language (e.g. `"js"`). */
48
+ language?: string;
49
+ /** File title from the fenced info-string, e.g. `title="src/foo.ts"`. */
50
+ title?: string;
51
+ }
52
+ /**
53
+ * Element callbacks for `renderMarkdown`. Each callback receives the
54
+ * accumulated children as a string and optional metadata. Return a string
55
+ * to render the element; return `null` / `undefined` to omit it. Omitted
56
+ * callbacks fall through — children are emitted unchanged.
57
+ */
58
+ interface MdCallbacks {
59
+ heading?: CbWith<MdHeadingMeta>;
60
+ paragraph?: CbNoMeta;
61
+ blockquote?: CbNoMeta;
62
+ code?: (children: string, meta?: MdCodeBlockMeta) => string | null | undefined;
63
+ list?: CbWith<MdListMeta>;
64
+ listItem?: CbWith<MdListItemMeta>;
65
+ hr?: CbNoMeta;
66
+ table?: CbNoMeta;
67
+ thead?: CbNoMeta;
68
+ tbody?: CbNoMeta;
69
+ tr?: CbNoMeta;
70
+ th?: (children: string, meta?: MdCellMeta) => string | null | undefined;
71
+ td?: (children: string, meta?: MdCellMeta) => string | null | undefined;
72
+ html?: CbNoMeta;
73
+ strong?: CbNoMeta;
74
+ emphasis?: CbNoMeta;
75
+ link?: CbWith<MdLinkMeta>;
76
+ image?: CbWith<MdImageMeta>;
77
+ codespan?: CbNoMeta;
78
+ strikethrough?: CbNoMeta;
79
+ text?: (text: string) => string | null | undefined;
80
+ }
81
+ /**
82
+ * A function that renders a markdown string by invoking `callbacks` for each
83
+ * element. Signature matches both `renderMarkdown` (Node-side, marked-backed)
84
+ * and `Bun.markdown.render`, so either can be plugged in via `MdOptions.render`.
85
+ */
86
+ type RenderMarkdown = (input: string, callbacks: MdCallbacks, opts?: MdOptions) => string;
87
+ /**
88
+ * Parser options. Mirrors `Bun.markdown.Options`. Options marked "Bun-only"
89
+ * are silently ignored on the Node side since marked doesn't support them.
90
+ */
91
+ interface MdOptions {
92
+ /** GFM tables. Default: `true`. */
93
+ tables?: boolean;
94
+ /** GFM strikethrough (`~~text~~`). Default: `true`. */
95
+ strikethrough?: boolean;
96
+ /** GFM task lists (`- [x] item`). Default: `true`. */
97
+ tasklists?: boolean;
98
+ /** Treat soft line breaks as hard breaks. Default: `false`. */
99
+ hardSoftBreaks?: boolean;
100
+ /** Enable wiki-style links (`[[target]]`). Bun-only. */
101
+ wikiLinks?: boolean;
102
+ /** `__text__` renders as underline instead of strong. Bun-only. */
103
+ underline?: boolean;
104
+ /** Enable `$inline$` / `$$display$$` math. Bun-only. */
105
+ latexMath?: boolean;
106
+ /** Collapse whitespace in text content. Bun-only. */
107
+ collapseWhitespace?: boolean;
108
+ /** Allow ATX headers without a space after `#`. Bun-only. */
109
+ permissiveAtxHeaders?: boolean;
110
+ /** Disable indented code blocks. Bun-only. */
111
+ noIndentedCodeBlocks?: boolean;
112
+ /** Disable HTML blocks. */
113
+ noHtmlBlocks?: boolean;
114
+ /** Disable inline HTML spans. Bun-only. */
115
+ noHtmlSpans?: boolean;
116
+ /** GFM tag filter for disallowed HTML tags. Bun-only. */
117
+ tagFilter?: boolean;
118
+ /** Enable autolinks. Pass an object for granular control. */
119
+ autolinks?: boolean | {
120
+ url?: boolean;
121
+ www?: boolean;
122
+ email?: boolean;
123
+ };
124
+ /** Heading IDs / autolink headings. Bun-only. */
125
+ headings?: boolean | {
126
+ ids?: boolean;
127
+ autolink?: boolean;
128
+ };
129
+ /**
130
+ * Override the renderer used by the `Markdown` component. When omitted,
131
+ * the component uses whichever renderer the active runtime provides
132
+ * (`Bun.markdown.render` on Bun, `renderMarkdown` on Node). Useful for
133
+ * testing — e.g. rendering the same content through both implementations
134
+ * side-by-side.
135
+ */
136
+ render?: RenderMarkdown;
137
+ }
138
+ //#endregion
139
+ export { MdOptions as n, RenderMarkdown as r, MdCallbacks as t };
140
+ //# sourceMappingURL=types-D3jk1rtk.d.mts.map