@mks2508/better-logger 0.0.2-alpha.2 → 0.3.0

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 (326) hide show
  1. package/.claude/settings.local.json +18 -2
  2. package/.github/workflows/ci-quality.yml +357 -0
  3. package/.github/workflows/docs-demo.yml +119 -0
  4. package/.github/workflows/releases-core.yml +512 -0
  5. package/.github/workflows/releases-full.yml +582 -0
  6. package/.github/{workflows → workflows-backup}/ci.yml +12 -110
  7. package/.github/workflows-backup/nightly.yml +196 -0
  8. package/.github/workflows-backup/release-optimized.yml +373 -0
  9. package/.release-notes-0.2.0.md +129 -0
  10. package/.yamllint +28 -0
  11. package/CHANGELOG.json +783 -0
  12. package/CLAUDE.md +92 -1
  13. package/README.md +198 -490
  14. package/bun.lock +323 -0
  15. package/demo.html +9 -2
  16. package/dist/.tsbuildinfo +1 -0
  17. package/dist/Logger.d.ts +272 -0
  18. package/dist/Logger.d.ts.map +1 -0
  19. package/dist/Logger.js +680 -0
  20. package/dist/ScopedLogger.d.ts +126 -0
  21. package/dist/ScopedLogger.d.ts.map +1 -0
  22. package/dist/ScopedLogger.js +234 -0
  23. package/dist/chunks/Logger-BpeuYIxR.js +2 -0
  24. package/dist/chunks/Logger-BpeuYIxR.js.map +1 -0
  25. package/dist/chunks/Logger-Didxtr23.js +3275 -0
  26. package/dist/chunks/Logger-Didxtr23.js.map +1 -0
  27. package/dist/chunks/RemoteLogHandler-CjWpWZGl.js +33 -0
  28. package/dist/chunks/RemoteLogHandler-CjWpWZGl.js.map +1 -0
  29. package/dist/chunks/RemoteLogHandler-ymkQ97xl.js +2 -0
  30. package/dist/chunks/RemoteLogHandler-ymkQ97xl.js.map +1 -0
  31. package/dist/chunks/environment-Bxbnw4pd.js +544 -0
  32. package/dist/chunks/environment-Bxbnw4pd.js.map +1 -0
  33. package/dist/chunks/environment-Dm66zOML.js +4 -0
  34. package/dist/chunks/environment-Dm66zOML.js.map +1 -0
  35. package/dist/chunks/formatting-C0riPC5_.js +95 -0
  36. package/dist/chunks/formatting-C0riPC5_.js.map +1 -0
  37. package/dist/chunks/formatting-DNCAV66-.js +2 -0
  38. package/dist/chunks/formatting-DNCAV66-.js.map +1 -0
  39. package/dist/cli/CommandProcessor.d.ts +103 -0
  40. package/dist/cli/CommandProcessor.d.ts.map +1 -0
  41. package/dist/cli/CommandProcessor.js +184 -0
  42. package/dist/cli/commands/ConfigCommand.d.ts +17 -0
  43. package/dist/cli/commands/ConfigCommand.d.ts.map +1 -0
  44. package/dist/cli/commands/ConfigCommand.js +88 -0
  45. package/dist/cli/commands/ExportCommand.d.ts +51 -0
  46. package/dist/cli/commands/ExportCommand.d.ts.map +1 -0
  47. package/dist/cli/commands/ExportCommand.js +243 -0
  48. package/dist/cli/commands/HistoryCommand.d.ts +50 -0
  49. package/dist/cli/commands/HistoryCommand.d.ts.map +1 -0
  50. package/dist/cli/commands/HistoryCommand.js +96 -0
  51. package/dist/cli/commands/StatusCommand.d.ts +33 -0
  52. package/dist/cli/commands/StatusCommand.d.ts.map +1 -0
  53. package/dist/cli/commands/StatusCommand.js +93 -0
  54. package/dist/cli/commands/ThemeCommand.d.ts +33 -0
  55. package/dist/cli/commands/ThemeCommand.d.ts.map +1 -0
  56. package/dist/cli/commands/ThemeCommand.js +79 -0
  57. package/dist/cli/help.d.ts +15 -0
  58. package/dist/cli/help.d.ts.map +1 -0
  59. package/dist/cli/help.js +118 -0
  60. package/dist/cli/index.d.ts +15 -0
  61. package/dist/cli/index.d.ts.map +1 -0
  62. package/dist/cli/index.js +46 -0
  63. package/dist/constants.d.ts +122 -0
  64. package/dist/constants.d.ts.map +1 -0
  65. package/dist/constants.js +159 -0
  66. package/dist/core.cjs +1 -1
  67. package/dist/core.cjs.map +1 -1
  68. package/dist/core.d.ts +134 -0
  69. package/dist/core.d.ts.map +1 -0
  70. package/dist/core.js +315 -242
  71. package/dist/core.js.map +1 -1
  72. package/dist/example.d.ts +18 -0
  73. package/dist/example.d.ts.map +1 -0
  74. package/dist/example.js +154 -0
  75. package/dist/exports-module.d.ts +203 -0
  76. package/dist/exports-module.d.ts.map +1 -0
  77. package/dist/exports-module.js +260 -0
  78. package/dist/exports.cjs +1 -1
  79. package/dist/exports.cjs.map +1 -1
  80. package/dist/exports.js +5 -4
  81. package/dist/exports.js.map +1 -1
  82. package/dist/handlers/AnalyticsLogHandler.d.ts +11 -0
  83. package/dist/handlers/AnalyticsLogHandler.d.ts.map +1 -0
  84. package/dist/handlers/AnalyticsLogHandler.js +19 -0
  85. package/dist/handlers/ExportLogHandler.d.ts +103 -0
  86. package/dist/handlers/ExportLogHandler.d.ts.map +1 -0
  87. package/dist/handlers/ExportLogHandler.js +516 -0
  88. package/dist/handlers/FileLogHandler.d.ts +36 -0
  89. package/dist/handlers/FileLogHandler.d.ts.map +1 -0
  90. package/dist/handlers/FileLogHandler.js +156 -0
  91. package/dist/handlers/RemoteLogHandler.d.ts +14 -0
  92. package/dist/handlers/RemoteLogHandler.d.ts.map +1 -0
  93. package/dist/handlers/RemoteLogHandler.js +37 -0
  94. package/dist/handlers/index.d.ts +8 -0
  95. package/dist/handlers/index.d.ts.map +1 -0
  96. package/dist/handlers/index.js +7 -0
  97. package/dist/index.cjs +1 -1
  98. package/dist/index.cjs.map +1 -1
  99. package/dist/index.d.ts +86 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +89 -103
  102. package/dist/index.js.map +1 -1
  103. package/dist/main.d.ts +2 -0
  104. package/dist/main.d.ts.map +1 -0
  105. package/dist/main.js +139 -0
  106. package/dist/styling/LogStyleBuilder.d.ts +149 -0
  107. package/dist/styling/LogStyleBuilder.d.ts.map +1 -0
  108. package/dist/styling/LogStyleBuilder.js +289 -0
  109. package/dist/styling/SemanticStyles.d.ts +181 -0
  110. package/dist/styling/SemanticStyles.d.ts.map +1 -0
  111. package/dist/styling/SemanticStyles.js +339 -0
  112. package/dist/styling/SmartPresets.d.ts +25 -0
  113. package/dist/styling/SmartPresets.d.ts.map +1 -0
  114. package/dist/styling/SmartPresets.js +276 -0
  115. package/dist/styling/StyleBuilder.d.ts +140 -0
  116. package/dist/styling/StyleBuilder.d.ts.map +1 -0
  117. package/dist/styling/StyleBuilder.js +280 -0
  118. package/dist/styling/banners.d.ts +45 -0
  119. package/dist/styling/banners.d.ts.map +1 -0
  120. package/dist/styling/banners.js +155 -0
  121. package/dist/styling/index.d.ts +10 -0
  122. package/dist/styling/index.d.ts.map +1 -0
  123. package/dist/styling/index.js +9 -0
  124. package/dist/styling/themes.d.ts +10 -0
  125. package/dist/styling/themes.d.ts.map +1 -0
  126. package/dist/styling/themes.js +231 -0
  127. package/dist/styling-module.d.ts +185 -0
  128. package/dist/styling-module.d.ts.map +1 -0
  129. package/dist/styling-module.js +199 -0
  130. package/dist/styling.cjs +1 -1
  131. package/dist/styling.cjs.map +1 -1
  132. package/dist/styling.js +6 -6
  133. package/dist/styling.js.map +1 -1
  134. package/dist/types/Logger.d.ts +268 -0
  135. package/dist/types/Logger.d.ts.map +1 -0
  136. package/dist/types/ScopedLogger.d.ts +123 -0
  137. package/dist/types/ScopedLogger.d.ts.map +1 -0
  138. package/dist/types/cli/CommandProcessor.d.ts +100 -0
  139. package/dist/types/cli/CommandProcessor.d.ts.map +1 -0
  140. package/dist/types/cli/commands/ConfigCommand.d.ts +14 -0
  141. package/dist/types/cli/commands/ConfigCommand.d.ts.map +1 -0
  142. package/dist/types/cli/commands/ExportCommand.d.ts +48 -0
  143. package/dist/types/cli/commands/ExportCommand.d.ts.map +1 -0
  144. package/dist/types/cli/commands/HistoryCommand.d.ts +47 -0
  145. package/dist/types/cli/commands/HistoryCommand.d.ts.map +1 -0
  146. package/dist/types/cli/commands/StatusCommand.d.ts +30 -0
  147. package/dist/types/cli/commands/StatusCommand.d.ts.map +1 -0
  148. package/dist/types/cli/commands/ThemeCommand.d.ts +30 -0
  149. package/dist/types/cli/commands/ThemeCommand.d.ts.map +1 -0
  150. package/dist/types/cli/help.d.ts +12 -0
  151. package/dist/types/cli/help.d.ts.map +1 -0
  152. package/dist/types/cli/index.d.ts +15 -0
  153. package/dist/types/cli/index.d.ts.map +1 -0
  154. package/dist/types/constants.d.ts +119 -0
  155. package/dist/types/constants.d.ts.map +1 -0
  156. package/dist/types/core.d.ts +125 -211
  157. package/dist/types/core.d.ts.map +1 -0
  158. package/dist/types/core.js +13 -0
  159. package/dist/types/example.d.ts +18 -0
  160. package/dist/types/example.d.ts.map +1 -0
  161. package/dist/types/exports-module.d.ts +196 -0
  162. package/dist/types/exports-module.d.ts.map +1 -0
  163. package/dist/types/handlers/AnalyticsLogHandler.d.ts +8 -0
  164. package/dist/types/handlers/AnalyticsLogHandler.d.ts.map +1 -0
  165. package/dist/types/handlers/ExportLogHandler.d.ts +100 -0
  166. package/dist/types/handlers/ExportLogHandler.d.ts.map +1 -0
  167. package/dist/types/handlers/FileLogHandler.d.ts +33 -0
  168. package/dist/types/handlers/FileLogHandler.d.ts.map +1 -0
  169. package/dist/types/handlers/RemoteLogHandler.d.ts +11 -0
  170. package/dist/types/handlers/RemoteLogHandler.d.ts.map +1 -0
  171. package/dist/types/handlers/index.d.ts +8 -0
  172. package/dist/types/handlers/index.d.ts.map +1 -0
  173. package/dist/types/handlers.d.ts +88 -0
  174. package/dist/types/handlers.d.ts.map +1 -0
  175. package/dist/types/handlers.js +4 -0
  176. package/dist/types/index.d.ts +7 -675
  177. package/dist/types/index.d.ts.map +1 -0
  178. package/dist/types/index.js +4 -0
  179. package/dist/types/main.d.ts +2 -0
  180. package/dist/types/main.d.ts.map +1 -0
  181. package/dist/types/styling/LogStyleBuilder.d.ts +146 -0
  182. package/dist/types/styling/LogStyleBuilder.d.ts.map +1 -0
  183. package/dist/types/styling/SemanticStyles.d.ts +178 -0
  184. package/dist/types/styling/SemanticStyles.d.ts.map +1 -0
  185. package/dist/types/styling/SmartPresets.d.ts +22 -0
  186. package/dist/types/styling/SmartPresets.d.ts.map +1 -0
  187. package/dist/types/styling/StyleBuilder.d.ts +140 -0
  188. package/dist/types/styling/StyleBuilder.d.ts.map +1 -0
  189. package/dist/types/styling/banners.d.ts +42 -0
  190. package/dist/types/styling/banners.d.ts.map +1 -0
  191. package/dist/types/styling/index.d.ts +10 -0
  192. package/dist/types/styling/index.d.ts.map +1 -0
  193. package/dist/types/styling/themes.d.ts +7 -0
  194. package/dist/types/styling/themes.d.ts.map +1 -0
  195. package/dist/types/styling-module.d.ts +178 -0
  196. package/dist/types/styling-module.d.ts.map +1 -0
  197. package/dist/types/types/core.d.ts +125 -0
  198. package/dist/types/types/core.d.ts.map +1 -0
  199. package/dist/types/types/handlers.d.ts +85 -0
  200. package/dist/types/types/handlers.d.ts.map +1 -0
  201. package/dist/types/types/index.d.ts +7 -0
  202. package/dist/types/types/index.d.ts.map +1 -0
  203. package/dist/types/utils/environment.d.ts +47 -0
  204. package/dist/types/utils/environment.d.ts.map +1 -0
  205. package/dist/types/utils/formatting.d.ts +37 -0
  206. package/dist/types/utils/formatting.d.ts.map +1 -0
  207. package/dist/types/utils/index.d.ts +7 -0
  208. package/dist/types/utils/index.d.ts.map +1 -0
  209. package/dist/types/utils/opentui-detection.d.ts +34 -0
  210. package/dist/types/utils/opentui-detection.d.ts.map +1 -0
  211. package/dist/types/utils/output.d.ts +41 -0
  212. package/dist/types/utils/output.d.ts.map +1 -0
  213. package/dist/types/utils/stackTrace.d.ts +6 -0
  214. package/dist/types/utils/stackTrace.d.ts.map +1 -0
  215. package/dist/types/utils/timestamps.d.ts +20 -0
  216. package/dist/types/utils/timestamps.d.ts.map +1 -0
  217. package/dist/utils/environment.d.ts +47 -0
  218. package/dist/utils/environment.d.ts.map +1 -0
  219. package/dist/utils/environment.js +85 -0
  220. package/dist/utils/formatting.d.ts +40 -0
  221. package/dist/utils/formatting.d.ts.map +1 -0
  222. package/dist/utils/formatting.js +117 -0
  223. package/dist/utils/index.d.ts +7 -0
  224. package/dist/utils/index.d.ts.map +1 -0
  225. package/dist/utils/index.js +6 -0
  226. package/dist/utils/opentui-detection.d.ts +34 -0
  227. package/dist/utils/opentui-detection.d.ts.map +1 -0
  228. package/dist/utils/opentui-detection.js +116 -0
  229. package/dist/utils/output.d.ts +44 -0
  230. package/dist/utils/output.d.ts.map +1 -0
  231. package/dist/utils/output.js +150 -0
  232. package/dist/utils/stackTrace.d.ts +9 -0
  233. package/dist/utils/stackTrace.d.ts.map +1 -0
  234. package/dist/utils/stackTrace.js +81 -0
  235. package/dist/utils/timestamps.d.ts +20 -0
  236. package/dist/utils/timestamps.d.ts.map +1 -0
  237. package/dist/utils/timestamps.js +71 -0
  238. package/docs/API.md +691 -0
  239. package/docs/CORE.md +10 -10
  240. package/docs/DEVELOPMENT.md +731 -0
  241. package/docs/PACKAGES.md +244 -0
  242. package/docs/_config.yml +36 -0
  243. package/docs/index.md +179 -0
  244. package/examples/README.md +208 -0
  245. package/examples/basic-logging.js +75 -0
  246. package/examples/data-export.js +234 -0
  247. package/examples/package.json +16 -0
  248. package/examples/performance-timing.js +170 -0
  249. package/examples/simplified-api.js +124 -0
  250. package/examples/styling-themes.js +207 -0
  251. package/package.json +37 -21
  252. package/packages/core/package.json +57 -0
  253. package/packages/exports/package.json +41 -0
  254. package/packages/nodejs-opentui/README.md +232 -0
  255. package/packages/nodejs-opentui/package.json +72 -0
  256. package/packages/nodejs-opentui/src/LogRenderer.ts +171 -0
  257. package/packages/nodejs-opentui/src/OpenTUILogHandler.ts +178 -0
  258. package/packages/nodejs-opentui/src/components/LogBadge.tsx +131 -0
  259. package/packages/nodejs-opentui/src/index.ts +133 -0
  260. package/packages/nodejs-opentui/src/types.ts +158 -0
  261. package/packages/nodejs-opentui/tsconfig.json +20 -0
  262. package/packages/styling/package.json +41 -0
  263. package/project-utils/README.md +172 -0
  264. package/project-utils/auto-release-gemini.ts +1193 -0
  265. package/project-utils/auto-release-ui.ts +1329 -0
  266. package/project-utils/commit-generator.ts +1385 -0
  267. package/project-utils/commit-ui.ts +264 -0
  268. package/project-utils/git-utils.ts +199 -0
  269. package/project-utils/github-release-manager.ts +466 -0
  270. package/project-utils/project-config.ts +260 -0
  271. package/project-utils/prompt-templates.js +345 -0
  272. package/project-utils/prompt-templates.ts +422 -0
  273. package/project-utils/version-manager.ts +1078 -0
  274. package/src/Logger.ts +251 -16
  275. package/src/ScopedLogger.ts +262 -0
  276. package/src/cli/CommandProcessor.ts +173 -2
  277. package/src/cli/commands/HistoryCommand.ts +117 -0
  278. package/src/cli/index.ts +12 -0
  279. package/src/constants.ts +84 -2
  280. package/src/core.ts +119 -46
  281. package/src/example.ts +4 -4
  282. package/src/exports-module.ts +1 -1
  283. package/src/handlers/ExportLogHandler.ts +141 -0
  284. package/src/handlers/FileLogHandler.ts +144 -5
  285. package/src/index.ts +1 -1
  286. package/src/main.ts +3 -3
  287. package/src/styling/LogStyleBuilder.ts +355 -0
  288. package/src/styling/SemanticStyles.ts +380 -0
  289. package/src/styling/SmartPresets.ts +288 -0
  290. package/src/styling/StyleBuilder.ts +14 -0
  291. package/src/styling/index.ts +16 -1
  292. package/src/styling-module.ts +1 -1
  293. package/src/types/core.ts +60 -0
  294. package/src/types/index.ts +6 -0
  295. package/src/utils/environment.ts +94 -0
  296. package/src/utils/formatting.ts +142 -0
  297. package/src/utils/index.ts +3 -0
  298. package/src/utils/opentui-detection.ts +138 -0
  299. package/src/utils/output.ts +66 -8
  300. package/test-core-browser.html +237 -0
  301. package/test-core-node.js +63 -0
  302. package/tests/test-conflict-resolution.ts +391 -0
  303. package/tests/validate-workflows.sh +131 -0
  304. package/tests/yaml-autofix.sh +146 -0
  305. package/vite.config.ts +189 -50
  306. package/.npmrc.bak +0 -1
  307. package/dist/chunks/Logger-BQhMKy_T.js +0 -2
  308. package/dist/chunks/Logger-BQhMKy_T.js.map +0 -1
  309. package/dist/chunks/Logger-BrFKFZcD.js +0 -978
  310. package/dist/chunks/Logger-BrFKFZcD.js.map +0 -1
  311. package/dist/chunks/core-2opW4Pi3.js +0 -194
  312. package/dist/chunks/core-2opW4Pi3.js.map +0 -1
  313. package/dist/chunks/core-DyugwSYZ.js +0 -4
  314. package/dist/chunks/core-DyugwSYZ.js.map +0 -1
  315. package/dist/chunks/exports-BNP3R7dp.js +0 -421
  316. package/dist/chunks/exports-BNP3R7dp.js.map +0 -1
  317. package/dist/chunks/exports-U1xLBXrY.js +0 -2
  318. package/dist/chunks/exports-U1xLBXrY.js.map +0 -1
  319. package/dist/chunks/styling-DhUDzwlE.js +0 -654
  320. package/dist/chunks/styling-DhUDzwlE.js.map +0 -1
  321. package/dist/chunks/styling-tmRDI28D.js +0 -2
  322. package/dist/chunks/styling-tmRDI28D.js.map +0 -1
  323. package/dist/types/exports.d.ts +0 -600
  324. package/dist/types/styling.d.ts +0 -751
  325. package/src/Logger.ts.backup +0 -1684
  326. /package/.github/{workflows → workflows-backup}/release.yml +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"styling-DhUDzwlE.js","sources":["../../src/styling/StyleBuilder.ts","../../src/styling/themes.ts","../../src/styling/banners.ts"],"sourcesContent":["/**\n * @fileoverview StyleBuilder class for Advanced Logger\n */\n\n/**\n * Utility class for creating dynamic console styles with method chaining\n */\nexport class StyleBuilder {\n private styles: string[] = [];\n\n constructor(baseStyle = '') {\n if (baseStyle) this.styles.push(baseStyle);\n }\n\n /**\n * Add background color or gradient\n */\n bg(background: string): StyleBuilder {\n this.styles.push(`background: ${background}`);\n return this;\n }\n\n /**\n * Add text color\n */\n color(color: string): StyleBuilder {\n this.styles.push(`color: ${color}`);\n return this;\n }\n\n /**\n * Add border styling\n */\n border(border: string): StyleBuilder {\n this.styles.push(`border: ${border}`);\n return this;\n }\n\n /**\n * Add box shadow\n */\n shadow(shadow: string): StyleBuilder {\n this.styles.push(`box-shadow: ${shadow}`);\n return this;\n }\n\n /**\n * Add padding\n */\n padding(padding: string): StyleBuilder {\n this.styles.push(`padding: ${padding}`);\n return this;\n }\n\n /**\n * Add margin\n */\n margin(margin: string): StyleBuilder {\n this.styles.push(`margin: ${margin}`);\n return this;\n }\n\n /**\n * Add border radius\n */\n rounded(radius: string = '4px'): StyleBuilder {\n this.styles.push(`border-radius: ${radius}`);\n return this;\n }\n\n /**\n * Add font weight\n */\n bold(): StyleBuilder {\n this.styles.push('font-weight: bold');\n return this;\n }\n\n /**\n * Add font styling\n */\n font(font: string): StyleBuilder {\n this.styles.push(`font-family: ${font}`);\n return this;\n }\n\n /**\n * Add font size\n */\n size(size: string): StyleBuilder {\n this.styles.push(`font-size: ${size}`);\n return this;\n }\n\n /**\n * Add line height\n */\n lineHeight(height: string): StyleBuilder {\n this.styles.push(`line-height: ${height}`);\n return this;\n }\n\n /**\n * Add text decoration\n */\n underline(): StyleBuilder {\n this.styles.push('text-decoration: underline');\n return this;\n }\n\n /**\n * Add text transform\n */\n uppercase(): StyleBuilder {\n this.styles.push('text-transform: uppercase');\n return this;\n }\n\n /**\n * Add opacity\n */\n opacity(value: number): StyleBuilder {\n this.styles.push(`opacity: ${value}`);\n return this;\n }\n\n /**\n * Add display property\n */\n display(value: string): StyleBuilder {\n this.styles.push(`display: ${value}`);\n return this;\n }\n\n /**\n * Add position property\n */\n position(value: string): StyleBuilder {\n this.styles.push(`position: ${value}`);\n return this;\n }\n\n /**\n * Add transform property\n */\n transform(value: string): StyleBuilder {\n this.styles.push(`transform: ${value}`);\n return this;\n }\n\n /**\n * Add animation property\n */\n animation(value: string): StyleBuilder {\n this.styles.push(`animation: ${value}`);\n return this;\n }\n\n /**\n * Add transition property\n */\n transition(value: string): StyleBuilder {\n this.styles.push(`transition: ${value}`);\n return this;\n }\n\n /**\n * Add cursor property\n */\n cursor(value: string): StyleBuilder {\n this.styles.push(`cursor: ${value}`);\n return this;\n }\n\n /**\n * Add any custom CSS property\n */\n custom(property: string, value: string): StyleBuilder {\n this.styles.push(`${property}: ${value}`);\n return this;\n }\n\n /**\n * Add any CSS property (alias for custom)\n */\n css(property: string, value: string): StyleBuilder {\n return this.custom(property, value);\n }\n\n /**\n * Build the final CSS string\n */\n build(): string {\n return this.styles.join('; ');\n }\n\n /**\n * Clear all styles and start fresh\n */\n clear(): StyleBuilder {\n this.styles = [];\n return this;\n }\n\n /**\n * Clone this StyleBuilder with the same styles\n */\n clone(): StyleBuilder {\n const cloned = new StyleBuilder();\n cloned.styles = [...this.styles];\n return cloned;\n }\n\n /**\n * Merge another StyleBuilder's styles into this one\n */\n merge(other: StyleBuilder): StyleBuilder {\n this.styles.push(...other.styles);\n return this;\n }\n}\n\n/**\n * Proxy-based dynamic styler for chainable console styling\n */\nfunction createStyler(): any {\n const builder = new StyleBuilder();\n return new Proxy(builder, {\n get(target: StyleBuilder, prop: string) {\n if (prop in target) {\n const method = (target as any)[prop];\n if (typeof method === 'function') {\n return method.bind(target);\n }\n return method;\n }\n return undefined;\n }\n });\n}\n\n/**\n * Dynamic styler instance for external use\n */\nexport const $ = createStyler();\n\n/**\n * Pre-defined style presets for common use cases\n */\nexport const StylePresets = {\n success: () => new StyleBuilder()\n .bg('linear-gradient(135deg, #00b894 0%, #00a085 100%)')\n .color('#ffffff')\n .padding('4px 8px')\n .rounded('4px')\n .bold(),\n\n error: () => new StyleBuilder()\n .bg('linear-gradient(135deg, #e84393 0%, #d63031 100%)')\n .color('#ffffff')\n .padding('4px 8px')\n .rounded('4px')\n .bold(),\n\n warning: () => new StyleBuilder()\n .bg('linear-gradient(135deg, #fdcb6e 0%, #e17055 100%)')\n .color('#2d3436')\n .padding('4px 8px')\n .rounded('4px')\n .bold(),\n\n info: () => new StyleBuilder()\n .bg('linear-gradient(135deg, #74b9ff 0%, #0984e3 100%)')\n .color('#ffffff')\n .padding('4px 8px')\n .rounded('4px')\n .bold(),\n\n debug: () => new StyleBuilder()\n .bg('linear-gradient(135deg, #667eea 0%, #764ba2 100%)')\n .color('#ffffff')\n .padding('4px 8px')\n .rounded('4px')\n .bold(),\n\n muted: () => new StyleBuilder()\n .color('#6c757d')\n .font('Monaco, Consolas, monospace')\n .size('12px'),\n\n accent: () => new StyleBuilder()\n .bg('#f8f9fa')\n .color('#495057')\n .padding('2px 6px')\n .rounded('3px')\n .border('1px solid #dee2e6'),\n\n neon: () => new StyleBuilder()\n .bg('linear-gradient(135deg, #0f3460 0%, #e94560 100%)')\n .color('#00ffff')\n .padding('4px 8px')\n .rounded('4px')\n .bold()\n .shadow('0 0 10px rgba(0, 255, 255, 0.5)'),\n};","/**\n * @fileoverview Theme presets for Advanced Logger\n */\n\nimport type { ThemeVariant } from '../types/index.js';\nimport type { LevelStyleConfig } from '../utils/index.js';\n\n/**\n * Theme configurations for different visual styles\n */\nexport const THEME_PRESETS: Record<ThemeVariant, Record<string, LevelStyleConfig>> = {\n default: {\n debug: {\n emoji: 'šŸž', label: 'DEBUG',\n background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',\n color: '#ffffff', border: '1px solid #667eea',\n shadow: '0 2px 4px rgba(102, 126, 234, 0.3)',\n },\n info: {\n emoji: 'ā„¹ļø', label: 'INFO',\n background: 'linear-gradient(135deg, #74b9ff 0%, #0984e3 100%)',\n color: '#ffffff', border: '1px solid #74b9ff',\n shadow: '0 2px 4px rgba(116, 185, 255, 0.3)',\n },\n warn: {\n emoji: 'āš ļø', label: 'WARN',\n background: 'linear-gradient(135deg, #fdcb6e 0%, #e17055 100%)',\n color: '#2d3436', border: '1px solid #fdcb6e',\n shadow: '0 2px 4px rgba(253, 203, 110, 0.3)',\n },\n error: {\n emoji: 'āŒ', label: 'ERROR',\n background: 'linear-gradient(135deg, #e84393 0%, #d63031 100%)',\n color: '#ffffff', border: '1px solid #e84393',\n shadow: '0 2px 4px rgba(232, 67, 147, 0.3)',\n },\n success: {\n emoji: 'āœ…', label: 'SUCCESS',\n background: 'linear-gradient(135deg, #00b894 0%, #00a085 100%)',\n color: '#ffffff', border: '1px solid #00b894',\n shadow: '0 2px 4px rgba(0, 184, 148, 0.3)',\n },\n critical: {\n emoji: 'šŸ”„', label: 'CRITICAL',\n background: 'linear-gradient(135deg, #ff3838 0%, #ff1744 100%)',\n color: '#ffffff', border: '2px solid #ff3838',\n shadow: '0 4px 8px rgba(255, 56, 56, 0.5)',\n },\n },\n dark: {\n debug: {\n emoji: 'šŸŒ™', label: 'DEBUG',\n background: 'linear-gradient(135deg, #2d3748 0%, #4a5568 100%)',\n color: '#e2e8f0', border: '1px solid #4a5568',\n shadow: '0 2px 4px rgba(45, 55, 72, 0.8)',\n },\n info: {\n emoji: 'šŸ’”', label: 'INFO',\n background: 'linear-gradient(135deg, #1a202c 0%, #2d3748 100%)',\n color: '#90cdf4', border: '1px solid #3182ce',\n shadow: '0 2px 4px rgba(26, 32, 44, 0.8)',\n },\n warn: {\n emoji: '⚔', label: 'WARN',\n background: 'linear-gradient(135deg, #744210 0%, #975a16 100%)',\n color: '#faf089', border: '1px solid #d69e2e',\n shadow: '0 2px 4px rgba(116, 66, 16, 0.8)',\n },\n error: {\n emoji: 'šŸ’€', label: 'ERROR',\n background: 'linear-gradient(135deg, #742a2a 0%, #9b2c2c 100%)',\n color: '#feb2b2', border: '1px solid #e53e3e',\n shadow: '0 2px 4px rgba(116, 42, 42, 0.8)',\n },\n success: {\n emoji: 'šŸŽÆ', label: 'SUCCESS',\n background: 'linear-gradient(135deg, #276749 0%, #2f855a 100%)',\n color: '#9ae6b4', border: '1px solid #38a169',\n shadow: '0 2px 4px rgba(39, 103, 73, 0.8)',\n },\n critical: {\n emoji: 'šŸ’„', label: 'CRITICAL',\n background: 'linear-gradient(135deg, #1a1a1a 0%, #ff0000 100%)',\n color: '#ffffff', border: '2px solid #ff0000',\n shadow: '0 4px 8px rgba(255, 0, 0, 0.9)',\n },\n },\n neon: {\n debug: {\n emoji: '⚔', label: 'DEBUG',\n background: 'linear-gradient(135deg, #0f3460 0%, #e94560 100%)',\n color: '#00ffff', border: '1px solid #00ffff',\n shadow: '0 0 10px rgba(0, 255, 255, 0.5)',\n },\n info: {\n emoji: 'šŸ”®', label: 'INFO',\n background: 'linear-gradient(135deg, #16213e 0%, #0f3460 100%)',\n color: '#00ff41', border: '1px solid #00ff41',\n shadow: '0 0 10px rgba(0, 255, 65, 0.5)',\n },\n warn: {\n emoji: 'āš ļø', label: 'WARN',\n background: 'linear-gradient(135deg, #533a03 0%, #e94560 100%)',\n color: '#ffff00', border: '1px solid #ffff00',\n shadow: '0 0 10px rgba(255, 255, 0, 0.5)',\n },\n error: {\n emoji: 'šŸ’„', label: 'ERROR',\n background: 'linear-gradient(135deg, #5c0a0a 0%, #ff073a 100%)',\n color: '#ff073a', border: '1px solid #ff073a',\n shadow: '0 0 10px rgba(255, 7, 58, 0.8)',\n },\n success: {\n emoji: '✨', label: 'SUCCESS',\n background: 'linear-gradient(135deg, #0a5c0a 0%, #39ff14 100%)',\n color: '#39ff14', border: '1px solid #39ff14',\n shadow: '0 0 10px rgba(57, 255, 20, 0.8)',\n },\n critical: {\n emoji: '🌟', label: 'CRITICAL',\n background: 'linear-gradient(135deg, #000000 0%, #ff0080 100%)',\n color: '#ff0080', border: '2px solid #ff0080',\n shadow: '0 0 20px rgba(255, 0, 128, 1)',\n },\n },\n minimal: {\n debug: {\n emoji: '', label: 'DEBUG',\n background: '#f7fafc', color: '#4a5568',\n border: '1px solid #e2e8f0', shadow: 'none',\n },\n info: {\n emoji: '', label: 'INFO',\n background: '#ebf8ff', color: '#2b6cb0',\n border: '1px solid #bee3f8', shadow: 'none',\n },\n warn: {\n emoji: '', label: 'WARN',\n background: '#fffbf0', color: '#c05621',\n border: '1px solid #fed7aa', shadow: 'none',\n },\n error: {\n emoji: '', label: 'ERROR',\n background: '#fef5f5', color: '#c53030',\n border: '1px solid #fca5a5', shadow: 'none',\n },\n success: {\n emoji: '', label: 'SUCCESS',\n background: '#f0fff4', color: '#2f855a',\n border: '1px solid #9ae6b4', shadow: 'none',\n },\n critical: {\n emoji: '', label: 'CRITICAL',\n background: '#fef5f5', color: '#e53e3e',\n border: '2px solid #f56565', shadow: 'none',\n },\n },\n // Additional theme variants can be added here\n light: {\n debug: {\n emoji: 'šŸ”', label: 'DEBUG',\n background: 'linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%)',\n color: '#1565c0', border: '1px solid #90caf9',\n shadow: '0 1px 3px rgba(33, 150, 243, 0.2)',\n },\n info: {\n emoji: 'ā„¹ļø', label: 'INFO',\n background: 'linear-gradient(135deg, #f3e5f5 0%, #e1bee7 100%)',\n color: '#7b1fa2', border: '1px solid #ce93d8',\n shadow: '0 1px 3px rgba(156, 39, 176, 0.2)',\n },\n warn: {\n emoji: 'āš ļø', label: 'WARN',\n background: 'linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%)',\n color: '#f57c00', border: '1px solid #ffcc02',\n shadow: '0 1px 3px rgba(255, 152, 0, 0.2)',\n },\n error: {\n emoji: 'āŒ', label: 'ERROR',\n background: 'linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%)',\n color: '#d32f2f', border: '1px solid #f44336',\n shadow: '0 1px 3px rgba(244, 67, 54, 0.2)',\n },\n success: {\n emoji: 'āœ…', label: 'SUCCESS',\n background: 'linear-gradient(135deg, #e8f5e8 0%, #c8e6c9 100%)',\n color: '#388e3c', border: '1px solid #4caf50',\n shadow: '0 1px 3px rgba(76, 175, 80, 0.2)',\n },\n critical: {\n emoji: '🚨', label: 'CRITICAL',\n background: 'linear-gradient(135deg, #fce4ec 0%, #f8bbd9 100%)',\n color: '#c2185b', border: '2px solid #e91e63',\n shadow: '0 2px 6px rgba(233, 30, 99, 0.3)',\n },\n },\n cyberpunk: {\n debug: {\n emoji: 'šŸ¤–', label: 'DEBUG',\n background: 'linear-gradient(135deg, #0d1b2a 0%, #415a77 100%)',\n color: '#00d4aa', border: '1px solid #00d4aa',\n shadow: '0 0 15px rgba(0, 212, 170, 0.4)',\n },\n info: {\n emoji: 'šŸ”—', label: 'INFO',\n background: 'linear-gradient(135deg, #1b263b 0%, #0d1b2a 100%)',\n color: '#00b4d8', border: '1px solid #00b4d8',\n shadow: '0 0 15px rgba(0, 180, 216, 0.4)',\n },\n warn: {\n emoji: '⚔', label: 'WARN',\n background: 'linear-gradient(135deg, #f72585 0%, #b5179e 100%)',\n color: '#ffff3f', border: '1px solid #ffff3f',\n shadow: '0 0 15px rgba(255, 255, 63, 0.4)',\n },\n error: {\n emoji: 'šŸ’€', label: 'ERROR',\n background: 'linear-gradient(135deg, #7209b7 0%, #480ca8 100%)',\n color: '#ff006e', border: '1px solid #ff006e',\n shadow: '0 0 15px rgba(255, 0, 110, 0.6)',\n },\n success: {\n emoji: '⚔', label: 'SUCCESS',\n background: 'linear-gradient(135deg, #003566 0%, #001d3d 100%)',\n color: '#00f5ff', border: '1px solid #00f5ff',\n shadow: '0 0 15px rgba(0, 245, 255, 0.4)',\n },\n critical: {\n emoji: 'šŸ’„', label: 'CRITICAL',\n background: 'linear-gradient(135deg, #000000 0%, #ff0040 100%)',\n color: '#ff0040', border: '2px solid #ff0040',\n shadow: '0 0 25px rgba(255, 0, 64, 0.8)',\n },\n },\n};","/**\n * @fileoverview Banner configurations for Advanced Logger\n */\n\nimport type { BannerType, ThemeVariant } from '../types/index.js';\n\n/**\n * Banner variants for different display capabilities\n */\nexport const BANNER_VARIANTS = {\n simple: {\n text: 'šŸš€ ADVANCED LOGGER v2.0.0 - State-of-the-art Console Styling šŸš€',\n style: 'background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 12px 20px; border-radius: 8px; font-weight: bold; font-size: 14px;'\n },\n ascii: {\n text: `\n ___ ____ _ __ ___ _ __ _____ _____ ____ __ ___ _____ _____ _____ ____ \n / _ \\\\ / __ \\\\| | / / / _ \\\\ | \\\\ | |/ ____| ____| _ \\\\ | | / _ \\\\ / ____| ___| _ | _ \\\\ \n / /_\\\\ \\\\ / / _\\` | |/ / / /_\\\\ \\\\ | \\\\| | | | |__ | | | | | | / / \\\\ \\\\| | __| |_ | |_| | |_) |\n | _ || | (_| | < | _ | | . \\` | | | __| | | | | | | | | | | | |_ | _| | /| _ < \n | | | |\\\\ \\\\__,_|_|\\\\_\\\\ | | | | | |\\\\ | |___| |____| |_| | | |__\\\\ \\\\_/ /| |__| | |___| |\\\\ \\\\| |_) |\n \\\\_| |_/ \\\\____/ \\\\_| |_/ |_| \\\\_|\\\\_____|______|____/ |_____/\\\\___/ \\\\_____|_____|_| \\\\_|____/\n\n Advanced Logger v2.0.0 - Console Excellence`,\n style: 'font-family: \"Courier New\", Consolas, Monaco, monospace; color: #667eea; font-size: 11px; line-height: 1.2;'\n },\n unicode: {\n text: `\n╔══════════════════════════════════════════════════════════════════════════╗\nā•‘ šŸš€ ADVANCED LOGGER v2.0.0 ā•‘\nā•‘ State-of-the-art Console Styling ā•‘ \nā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•`,\n style: 'font-family: \"Courier New\", Consolas, Monaco, monospace; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 15px; border-radius: 8px; font-size: 12px; line-height: 1.3;'\n },\n svg: {\n text: ' ',\n style: `\n background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 80'><defs><linearGradient id='grad' x1='0%' y1='0%' x2='100%' y2='0%'><stop offset='0%' style='stop-color:%23667eea'/><stop offset='100%' style='stop-color:%23764ba2'/></linearGradient></defs><rect width='100%' height='100%' fill='url(%23grad)' rx='8'/><text x='200' y='30' text-anchor='middle' fill='white' font-family='monospace' font-size='14' font-weight='bold'>šŸš€ ADVANCED LOGGER</text><text x='200' y='50' text-anchor='middle' fill='white' font-family='monospace' font-size='12'>State-of-the-art Console Styling</text><text x='200' y='65' text-anchor='middle' fill='white' font-family='monospace' font-size='10'>v2.0.0</text></svg>\");\n background-repeat: no-repeat;\n background-size: 400px 80px;\n padding: 40px 200px;\n color: transparent;\n display: inline-block;\n border-radius: 8px;\n `\n },\n animated: {\n text: ' šŸš€ ADVANCED LOGGER v2.0.0 ',\n style: `\n background: linear-gradient(-45deg, #667eea, #764ba2, #667eea, #764ba2);\n background-size: 400% 400%;\n color: white;\n padding: 15px 25px;\n border-radius: 10px;\n font-weight: bold;\n font-size: 14px;\n font-family: monospace;\n animation: gradientShift 3s ease infinite;\n display: inline-block;\n `\n }\n};\n\n/**\n * Theme-specific banners for enhanced visual theming\n */\nexport const THEME_BANNERS: Record<ThemeVariant, { simple: string; style: string }> = {\n default: {\n simple: 'šŸš€ ADVANCED LOGGER v2.0.0 - State-of-the-art Console Styling šŸš€',\n style: 'background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 12px 20px; border-radius: 8px; font-weight: bold;'\n },\n dark: {\n simple: 'šŸŒ™ ADVANCED LOGGER v2.0.0 - Dark Mode Console Excellence šŸŒ™',\n style: 'background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%); color: #e2e8f0; padding: 12px 20px; border-radius: 8px; font-weight: bold; border: 1px solid #4a5568;'\n },\n neon: {\n simple: '⚔ ADVANCED LOGGER v2.0.0 - Cyberpunk Console Experience ⚔',\n style: 'background: linear-gradient(135deg, #0f3460 0%, #e94560 100%); color: #00ffff; padding: 12px 20px; border-radius: 8px; font-weight: bold; text-shadow: 0 0 10px #00ffff;'\n },\n minimal: {\n simple: 'ADVANCED LOGGER v2.0.0 - Clean Console Styling',\n style: 'background: #f7fafc; color: #2d3748; padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 4px; font-weight: 500;'\n },\n light: {\n simple: 'ā˜€ļø ADVANCED LOGGER v2.0.0 - Bright Console Styling ā˜€ļø',\n style: 'background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); color: #495057; padding: 12px 20px; border-radius: 8px; font-weight: bold; border: 1px solid #dee2e6;'\n },\n cyberpunk: {\n simple: 'šŸ¤– ADVANCED LOGGER v2.0.0 - Neural Console Interface šŸ¤–',\n style: 'background: linear-gradient(135deg, #0d1b2a 0%, #415a77 100%); color: #00d4aa; padding: 12px 20px; border-radius: 8px; font-weight: bold; text-shadow: 0 0 10px #00d4aa; border: 1px solid #00d4aa;'\n }\n};\n\n/**\n * Feature detection for banner capabilities\n */\nexport function detectBannerCapabilities(): BannerType {\n // Try to detect browser capabilities\n const userAgent = navigator.userAgent;\n const isChrome = /Chrome/.test(userAgent);\n const isFirefox = /Firefox/.test(userAgent);\n const isSafari = /Safari/.test(userAgent) && !/Chrome/.test(userAgent);\n \n // Check for SVG support (most modern browsers)\n const supportsSVG = !!document.createElementNS && \n !!document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect;\n \n // Check for CSS animation support\n const supportsAnimations = typeof document !== 'undefined' && \n 'animationName' in document.createElement('div').style;\n \n // Progressive enhancement\n if (supportsAnimations && isChrome) {\n return 'animated';\n } else if (supportsSVG && (isChrome || isFirefox)) {\n return 'svg';\n } else if (isChrome || isFirefox) {\n return 'unicode';\n } else if (isSafari) {\n return 'ascii';\n }\n \n return 'simple';\n}\n\n/**\n * Display initialization banner with advanced styling\n */\nexport function displayInitBanner(bannerType?: BannerType): void {\n const selectedType = bannerType || detectBannerCapabilities();\n const banner = BANNER_VARIANTS[selectedType];\n \n // Add CSS animation keyframes if needed\n if (selectedType === 'animated') {\n const style = document.createElement('style');\n style.textContent = `\n @keyframes gradientShift {\n 0% { background-position: 0% 50%; }\n 50% { background-position: 100% 50%; }\n 100% { background-position: 0% 50%; }\n }\n `;\n document.head.appendChild(style);\n }\n \n console.log(`%c${banner.text}`, banner.style);\n\n // Show feature highlights\n const features = [\n 'šŸŽØ Advanced CSS Console Styling',\n 'šŸ“ Automatic Stack Trace Parsing',\n 'šŸ”§ Scoped Loggers & Prefixes',\n '⚔ Performance Timers',\n 'šŸŽÆ Verbosity Filtering',\n 'šŸ”Œ Extensible Handlers',\n 'šŸ“± Modern TypeScript Patterns',\n 'šŸ“¤ Export & Clipboard Support'\n ];\n\n console.group(`%c✨ Features`, 'background: #f8f9fa; color: #495057; padding: 4px 8px; border-radius: 4px; font-weight: bold;');\n\n features.forEach(feature => {\n console.log(`%c${feature}`, 'color: #6c757d; font-size: 13px;');\n });\n\n console.groupEnd();\n console.log(''); // Add spacing\n}"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";class StyleBuilder{styles=[];constructor(e=""){e&&this.styles.push(e)}bg(e){return this.styles.push(`background: ${e}`),this}color(e){return this.styles.push(`color: ${e}`),this}border(e){return this.styles.push(`border: ${e}`),this}shadow(e){return this.styles.push(`box-shadow: ${e}`),this}padding(e){return this.styles.push(`padding: ${e}`),this}margin(e){return this.styles.push(`margin: ${e}`),this}rounded(e="4px"){return this.styles.push(`border-radius: ${e}`),this}bold(){return this.styles.push("font-weight: bold"),this}font(e){return this.styles.push(`font-family: ${e}`),this}size(e){return this.styles.push(`font-size: ${e}`),this}lineHeight(e){return this.styles.push(`line-height: ${e}`),this}underline(){return this.styles.push("text-decoration: underline"),this}uppercase(){return this.styles.push("text-transform: uppercase"),this}opacity(e){return this.styles.push(`opacity: ${e}`),this}display(e){return this.styles.push(`display: ${e}`),this}position(e){return this.styles.push(`position: ${e}`),this}transform(e){return this.styles.push(`transform: ${e}`),this}animation(e){return this.styles.push(`animation: ${e}`),this}transition(e){return this.styles.push(`transition: ${e}`),this}cursor(e){return this.styles.push(`cursor: ${e}`),this}custom(e,o){return this.styles.push(`${e}: ${o}`),this}css(e,o){return this.custom(e,o)}build(){return this.styles.join("; ")}clear(){return this.styles=[],this}clone(){const e=new StyleBuilder;return e.styles=[...this.styles],e}merge(e){return this.styles.push(...e.styles),this}}!function(){const e=new StyleBuilder;new Proxy(e,{get(e,o){if(o in e){const r=e[o];return"function"==typeof r?r.bind(e):r}}})}();const e={success:()=>(new StyleBuilder).bg("linear-gradient(135deg, #00b894 0%, #00a085 100%)").color("#ffffff").padding("4px 8px").rounded("4px").bold(),error:()=>(new StyleBuilder).bg("linear-gradient(135deg, #e84393 0%, #d63031 100%)").color("#ffffff").padding("4px 8px").rounded("4px").bold(),warning:()=>(new StyleBuilder).bg("linear-gradient(135deg, #fdcb6e 0%, #e17055 100%)").color("#2d3436").padding("4px 8px").rounded("4px").bold(),info:()=>(new StyleBuilder).bg("linear-gradient(135deg, #74b9ff 0%, #0984e3 100%)").color("#ffffff").padding("4px 8px").rounded("4px").bold(),debug:()=>(new StyleBuilder).bg("linear-gradient(135deg, #667eea 0%, #764ba2 100%)").color("#ffffff").padding("4px 8px").rounded("4px").bold(),muted:()=>(new StyleBuilder).color("#6c757d").font("Monaco, Consolas, monospace").size("12px"),accent:()=>(new StyleBuilder).bg("#f8f9fa").color("#495057").padding("2px 6px").rounded("3px").border("1px solid #dee2e6"),neon:()=>(new StyleBuilder).bg("linear-gradient(135deg, #0f3460 0%, #e94560 100%)").color("#00ffff").padding("4px 8px").rounded("4px").bold().shadow("0 0 10px rgba(0, 255, 255, 0.5)")},o={simple:{text:"šŸš€ ADVANCED LOGGER v2.0.0 - State-of-the-art Console Styling šŸš€",style:"background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 12px 20px; border-radius: 8px; font-weight: bold; font-size: 14px;"},ascii:{text:"\n ___ ____ _ __ ___ _ __ _____ _____ ____ __ ___ _____ _____ _____ ____ \n / _ \\ / __ \\| | / / / _ \\ | \\ | |/ ____| ____| _ \\ | | / _ \\ / ____| ___| _ | _ \\ \n / /_\\ \\ / / _` | |/ / / /_\\ \\ | \\| | | | |__ | | | | | | / / \\ \\| | __| |_ | |_| | |_) |\n | _ || | (_| | < | _ | | . ` | | | __| | | | | | | | | | | | |_ | _| | /| _ < \n | | | |\\ \\__,_|_|\\_\\ | | | | | |\\ | |___| |____| |_| | | |__\\ \\_/ /| |__| | |___| |\\ \\| |_) |\n \\_| |_/ \\____/ \\_| |_/ |_| \\_|\\_____|______|____/ |_____/\\___/ \\_____|_____|_| \\_|____/\n\n Advanced Logger v2.0.0 - Console Excellence",style:'font-family: "Courier New", Consolas, Monaco, monospace; color: #667eea; font-size: 11px; line-height: 1.2;'},unicode:{text:"\n╔══════════════════════════════════════════════════════════════════════════╗\nā•‘ šŸš€ ADVANCED LOGGER v2.0.0 ā•‘\nā•‘ State-of-the-art Console Styling ā•‘ \nā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•",style:'font-family: "Courier New", Consolas, Monaco, monospace; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 15px; border-radius: 8px; font-size: 12px; line-height: 1.3;'},svg:{text:" ",style:"\n background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 80'><defs><linearGradient id='grad' x1='0%' y1='0%' x2='100%' y2='0%'><stop offset='0%' style='stop-color:%23667eea'/><stop offset='100%' style='stop-color:%23764ba2'/></linearGradient></defs><rect width='100%' height='100%' fill='url(%23grad)' rx='8'/><text x='200' y='30' text-anchor='middle' fill='white' font-family='monospace' font-size='14' font-weight='bold'>šŸš€ ADVANCED LOGGER</text><text x='200' y='50' text-anchor='middle' fill='white' font-family='monospace' font-size='12'>State-of-the-art Console Styling</text><text x='200' y='65' text-anchor='middle' fill='white' font-family='monospace' font-size='10'>v2.0.0</text></svg>\");\n background-repeat: no-repeat;\n background-size: 400px 80px;\n padding: 40px 200px;\n color: transparent;\n display: inline-block;\n border-radius: 8px;\n "},animated:{text:" šŸš€ ADVANCED LOGGER v2.0.0 ",style:"\n background: linear-gradient(-45deg, #667eea, #764ba2, #667eea, #764ba2);\n background-size: 400% 400%;\n color: white;\n padding: 15px 25px;\n border-radius: 10px;\n font-weight: bold;\n font-size: 14px;\n font-family: monospace;\n animation: gradientShift 3s ease infinite;\n display: inline-block;\n "}};exports.BANNER_VARIANTS=o,exports.StyleBuilder=StyleBuilder,exports.StylePresets=e,exports.THEME_BANNERS={default:{simple:"šŸš€ ADVANCED LOGGER v2.0.0 - State-of-the-art Console Styling šŸš€",style:"background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 12px 20px; border-radius: 8px; font-weight: bold;"},dark:{simple:"šŸŒ™ ADVANCED LOGGER v2.0.0 - Dark Mode Console Excellence šŸŒ™",style:"background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%); color: #e2e8f0; padding: 12px 20px; border-radius: 8px; font-weight: bold; border: 1px solid #4a5568;"},neon:{simple:"⚔ ADVANCED LOGGER v2.0.0 - Cyberpunk Console Experience ⚔",style:"background: linear-gradient(135deg, #0f3460 0%, #e94560 100%); color: #00ffff; padding: 12px 20px; border-radius: 8px; font-weight: bold; text-shadow: 0 0 10px #00ffff;"},minimal:{simple:"ADVANCED LOGGER v2.0.0 - Clean Console Styling",style:"background: #f7fafc; color: #2d3748; padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 4px; font-weight: 500;"},light:{simple:"ā˜€ļø ADVANCED LOGGER v2.0.0 - Bright Console Styling ā˜€ļø",style:"background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); color: #495057; padding: 12px 20px; border-radius: 8px; font-weight: bold; border: 1px solid #dee2e6;"},cyberpunk:{simple:"šŸ¤– ADVANCED LOGGER v2.0.0 - Neural Console Interface šŸ¤–",style:"background: linear-gradient(135deg, #0d1b2a 0%, #415a77 100%); color: #00d4aa; padding: 12px 20px; border-radius: 8px; font-weight: bold; text-shadow: 0 0 10px #00d4aa; border: 1px solid #00d4aa;"}},exports.THEME_PRESETS={default:{debug:{emoji:"šŸž",label:"DEBUG",background:"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",color:"#ffffff",border:"1px solid #667eea",shadow:"0 2px 4px rgba(102, 126, 234, 0.3)"},info:{emoji:"ā„¹ļø",label:"INFO",background:"linear-gradient(135deg, #74b9ff 0%, #0984e3 100%)",color:"#ffffff",border:"1px solid #74b9ff",shadow:"0 2px 4px rgba(116, 185, 255, 0.3)"},warn:{emoji:"āš ļø",label:"WARN",background:"linear-gradient(135deg, #fdcb6e 0%, #e17055 100%)",color:"#2d3436",border:"1px solid #fdcb6e",shadow:"0 2px 4px rgba(253, 203, 110, 0.3)"},error:{emoji:"āŒ",label:"ERROR",background:"linear-gradient(135deg, #e84393 0%, #d63031 100%)",color:"#ffffff",border:"1px solid #e84393",shadow:"0 2px 4px rgba(232, 67, 147, 0.3)"},success:{emoji:"āœ…",label:"SUCCESS",background:"linear-gradient(135deg, #00b894 0%, #00a085 100%)",color:"#ffffff",border:"1px solid #00b894",shadow:"0 2px 4px rgba(0, 184, 148, 0.3)"},critical:{emoji:"šŸ”„",label:"CRITICAL",background:"linear-gradient(135deg, #ff3838 0%, #ff1744 100%)",color:"#ffffff",border:"2px solid #ff3838",shadow:"0 4px 8px rgba(255, 56, 56, 0.5)"}},dark:{debug:{emoji:"šŸŒ™",label:"DEBUG",background:"linear-gradient(135deg, #2d3748 0%, #4a5568 100%)",color:"#e2e8f0",border:"1px solid #4a5568",shadow:"0 2px 4px rgba(45, 55, 72, 0.8)"},info:{emoji:"šŸ’”",label:"INFO",background:"linear-gradient(135deg, #1a202c 0%, #2d3748 100%)",color:"#90cdf4",border:"1px solid #3182ce",shadow:"0 2px 4px rgba(26, 32, 44, 0.8)"},warn:{emoji:"⚔",label:"WARN",background:"linear-gradient(135deg, #744210 0%, #975a16 100%)",color:"#faf089",border:"1px solid #d69e2e",shadow:"0 2px 4px rgba(116, 66, 16, 0.8)"},error:{emoji:"šŸ’€",label:"ERROR",background:"linear-gradient(135deg, #742a2a 0%, #9b2c2c 100%)",color:"#feb2b2",border:"1px solid #e53e3e",shadow:"0 2px 4px rgba(116, 42, 42, 0.8)"},success:{emoji:"šŸŽÆ",label:"SUCCESS",background:"linear-gradient(135deg, #276749 0%, #2f855a 100%)",color:"#9ae6b4",border:"1px solid #38a169",shadow:"0 2px 4px rgba(39, 103, 73, 0.8)"},critical:{emoji:"šŸ’„",label:"CRITICAL",background:"linear-gradient(135deg, #1a1a1a 0%, #ff0000 100%)",color:"#ffffff",border:"2px solid #ff0000",shadow:"0 4px 8px rgba(255, 0, 0, 0.9)"}},neon:{debug:{emoji:"⚔",label:"DEBUG",background:"linear-gradient(135deg, #0f3460 0%, #e94560 100%)",color:"#00ffff",border:"1px solid #00ffff",shadow:"0 0 10px rgba(0, 255, 255, 0.5)"},info:{emoji:"šŸ”®",label:"INFO",background:"linear-gradient(135deg, #16213e 0%, #0f3460 100%)",color:"#00ff41",border:"1px solid #00ff41",shadow:"0 0 10px rgba(0, 255, 65, 0.5)"},warn:{emoji:"āš ļø",label:"WARN",background:"linear-gradient(135deg, #533a03 0%, #e94560 100%)",color:"#ffff00",border:"1px solid #ffff00",shadow:"0 0 10px rgba(255, 255, 0, 0.5)"},error:{emoji:"šŸ’„",label:"ERROR",background:"linear-gradient(135deg, #5c0a0a 0%, #ff073a 100%)",color:"#ff073a",border:"1px solid #ff073a",shadow:"0 0 10px rgba(255, 7, 58, 0.8)"},success:{emoji:"✨",label:"SUCCESS",background:"linear-gradient(135deg, #0a5c0a 0%, #39ff14 100%)",color:"#39ff14",border:"1px solid #39ff14",shadow:"0 0 10px rgba(57, 255, 20, 0.8)"},critical:{emoji:"🌟",label:"CRITICAL",background:"linear-gradient(135deg, #000000 0%, #ff0080 100%)",color:"#ff0080",border:"2px solid #ff0080",shadow:"0 0 20px rgba(255, 0, 128, 1)"}},minimal:{debug:{emoji:"",label:"DEBUG",background:"#f7fafc",color:"#4a5568",border:"1px solid #e2e8f0",shadow:"none"},info:{emoji:"",label:"INFO",background:"#ebf8ff",color:"#2b6cb0",border:"1px solid #bee3f8",shadow:"none"},warn:{emoji:"",label:"WARN",background:"#fffbf0",color:"#c05621",border:"1px solid #fed7aa",shadow:"none"},error:{emoji:"",label:"ERROR",background:"#fef5f5",color:"#c53030",border:"1px solid #fca5a5",shadow:"none"},success:{emoji:"",label:"SUCCESS",background:"#f0fff4",color:"#2f855a",border:"1px solid #9ae6b4",shadow:"none"},critical:{emoji:"",label:"CRITICAL",background:"#fef5f5",color:"#e53e3e",border:"2px solid #f56565",shadow:"none"}},light:{debug:{emoji:"šŸ”",label:"DEBUG",background:"linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%)",color:"#1565c0",border:"1px solid #90caf9",shadow:"0 1px 3px rgba(33, 150, 243, 0.2)"},info:{emoji:"ā„¹ļø",label:"INFO",background:"linear-gradient(135deg, #f3e5f5 0%, #e1bee7 100%)",color:"#7b1fa2",border:"1px solid #ce93d8",shadow:"0 1px 3px rgba(156, 39, 176, 0.2)"},warn:{emoji:"āš ļø",label:"WARN",background:"linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%)",color:"#f57c00",border:"1px solid #ffcc02",shadow:"0 1px 3px rgba(255, 152, 0, 0.2)"},error:{emoji:"āŒ",label:"ERROR",background:"linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%)",color:"#d32f2f",border:"1px solid #f44336",shadow:"0 1px 3px rgba(244, 67, 54, 0.2)"},success:{emoji:"āœ…",label:"SUCCESS",background:"linear-gradient(135deg, #e8f5e8 0%, #c8e6c9 100%)",color:"#388e3c",border:"1px solid #4caf50",shadow:"0 1px 3px rgba(76, 175, 80, 0.2)"},critical:{emoji:"🚨",label:"CRITICAL",background:"linear-gradient(135deg, #fce4ec 0%, #f8bbd9 100%)",color:"#c2185b",border:"2px solid #e91e63",shadow:"0 2px 6px rgba(233, 30, 99, 0.3)"}},cyberpunk:{debug:{emoji:"šŸ¤–",label:"DEBUG",background:"linear-gradient(135deg, #0d1b2a 0%, #415a77 100%)",color:"#00d4aa",border:"1px solid #00d4aa",shadow:"0 0 15px rgba(0, 212, 170, 0.4)"},info:{emoji:"šŸ”—",label:"INFO",background:"linear-gradient(135deg, #1b263b 0%, #0d1b2a 100%)",color:"#00b4d8",border:"1px solid #00b4d8",shadow:"0 0 15px rgba(0, 180, 216, 0.4)"},warn:{emoji:"⚔",label:"WARN",background:"linear-gradient(135deg, #f72585 0%, #b5179e 100%)",color:"#ffff3f",border:"1px solid #ffff3f",shadow:"0 0 15px rgba(255, 255, 63, 0.4)"},error:{emoji:"šŸ’€",label:"ERROR",background:"linear-gradient(135deg, #7209b7 0%, #480ca8 100%)",color:"#ff006e",border:"1px solid #ff006e",shadow:"0 0 15px rgba(255, 0, 110, 0.6)"},success:{emoji:"⚔",label:"SUCCESS",background:"linear-gradient(135deg, #003566 0%, #001d3d 100%)",color:"#00f5ff",border:"1px solid #00f5ff",shadow:"0 0 15px rgba(0, 245, 255, 0.4)"},critical:{emoji:"šŸ’„",label:"CRITICAL",background:"linear-gradient(135deg, #000000 0%, #ff0040 100%)",color:"#ff0040",border:"2px solid #ff0040",shadow:"0 0 25px rgba(255, 0, 64, 0.8)"}}},exports.displayInitBanner=function(e){const r=e||function(){const e=navigator.userAgent,o=/Chrome/.test(e),r=/Firefox/.test(e),a=/Safari/.test(e)&&!/Chrome/.test(e),d=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect;return"undefined"!=typeof document&&"animationName"in document.createElement("div").style&&o?"animated":d&&(o||r)?"svg":o||r?"unicode":a?"ascii":"simple"}(),a=o[r];if("animated"===r){const e=document.createElement("style");e.textContent="\n @keyframes gradientShift {\n 0% { background-position: 0% 50%; }\n 50% { background-position: 100% 50%; }\n 100% { background-position: 0% 50%; }\n }\n ",document.head.appendChild(e)}console.log(`%c${a.text}`,a.style),console.group("%c✨ Features","background: #f8f9fa; color: #495057; padding: 4px 8px; border-radius: 4px; font-weight: bold;"),["šŸŽØ Advanced CSS Console Styling","šŸ“ Automatic Stack Trace Parsing","šŸ”§ Scoped Loggers & Prefixes","⚔ Performance Timers","šŸŽÆ Verbosity Filtering","šŸ”Œ Extensible Handlers","šŸ“± Modern TypeScript Patterns","šŸ“¤ Export & Clipboard Support"].forEach(e=>{console.log(`%c${e}`,"color: #6c757d; font-size: 13px;")}),console.groupEnd(),console.log("")};
2
- //# sourceMappingURL=styling-tmRDI28D.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styling-tmRDI28D.js","sources":["../../src/styling/StyleBuilder.ts","../../src/styling/banners.ts","../../src/styling/themes.ts"],"sourcesContent":["/**\n * @fileoverview StyleBuilder class for Advanced Logger\n */\n\n/**\n * Utility class for creating dynamic console styles with method chaining\n */\nexport class StyleBuilder {\n private styles: string[] = [];\n\n constructor(baseStyle = '') {\n if (baseStyle) this.styles.push(baseStyle);\n }\n\n /**\n * Add background color or gradient\n */\n bg(background: string): StyleBuilder {\n this.styles.push(`background: ${background}`);\n return this;\n }\n\n /**\n * Add text color\n */\n color(color: string): StyleBuilder {\n this.styles.push(`color: ${color}`);\n return this;\n }\n\n /**\n * Add border styling\n */\n border(border: string): StyleBuilder {\n this.styles.push(`border: ${border}`);\n return this;\n }\n\n /**\n * Add box shadow\n */\n shadow(shadow: string): StyleBuilder {\n this.styles.push(`box-shadow: ${shadow}`);\n return this;\n }\n\n /**\n * Add padding\n */\n padding(padding: string): StyleBuilder {\n this.styles.push(`padding: ${padding}`);\n return this;\n }\n\n /**\n * Add margin\n */\n margin(margin: string): StyleBuilder {\n this.styles.push(`margin: ${margin}`);\n return this;\n }\n\n /**\n * Add border radius\n */\n rounded(radius: string = '4px'): StyleBuilder {\n this.styles.push(`border-radius: ${radius}`);\n return this;\n }\n\n /**\n * Add font weight\n */\n bold(): StyleBuilder {\n this.styles.push('font-weight: bold');\n return this;\n }\n\n /**\n * Add font styling\n */\n font(font: string): StyleBuilder {\n this.styles.push(`font-family: ${font}`);\n return this;\n }\n\n /**\n * Add font size\n */\n size(size: string): StyleBuilder {\n this.styles.push(`font-size: ${size}`);\n return this;\n }\n\n /**\n * Add line height\n */\n lineHeight(height: string): StyleBuilder {\n this.styles.push(`line-height: ${height}`);\n return this;\n }\n\n /**\n * Add text decoration\n */\n underline(): StyleBuilder {\n this.styles.push('text-decoration: underline');\n return this;\n }\n\n /**\n * Add text transform\n */\n uppercase(): StyleBuilder {\n this.styles.push('text-transform: uppercase');\n return this;\n }\n\n /**\n * Add opacity\n */\n opacity(value: number): StyleBuilder {\n this.styles.push(`opacity: ${value}`);\n return this;\n }\n\n /**\n * Add display property\n */\n display(value: string): StyleBuilder {\n this.styles.push(`display: ${value}`);\n return this;\n }\n\n /**\n * Add position property\n */\n position(value: string): StyleBuilder {\n this.styles.push(`position: ${value}`);\n return this;\n }\n\n /**\n * Add transform property\n */\n transform(value: string): StyleBuilder {\n this.styles.push(`transform: ${value}`);\n return this;\n }\n\n /**\n * Add animation property\n */\n animation(value: string): StyleBuilder {\n this.styles.push(`animation: ${value}`);\n return this;\n }\n\n /**\n * Add transition property\n */\n transition(value: string): StyleBuilder {\n this.styles.push(`transition: ${value}`);\n return this;\n }\n\n /**\n * Add cursor property\n */\n cursor(value: string): StyleBuilder {\n this.styles.push(`cursor: ${value}`);\n return this;\n }\n\n /**\n * Add any custom CSS property\n */\n custom(property: string, value: string): StyleBuilder {\n this.styles.push(`${property}: ${value}`);\n return this;\n }\n\n /**\n * Add any CSS property (alias for custom)\n */\n css(property: string, value: string): StyleBuilder {\n return this.custom(property, value);\n }\n\n /**\n * Build the final CSS string\n */\n build(): string {\n return this.styles.join('; ');\n }\n\n /**\n * Clear all styles and start fresh\n */\n clear(): StyleBuilder {\n this.styles = [];\n return this;\n }\n\n /**\n * Clone this StyleBuilder with the same styles\n */\n clone(): StyleBuilder {\n const cloned = new StyleBuilder();\n cloned.styles = [...this.styles];\n return cloned;\n }\n\n /**\n * Merge another StyleBuilder's styles into this one\n */\n merge(other: StyleBuilder): StyleBuilder {\n this.styles.push(...other.styles);\n return this;\n }\n}\n\n/**\n * Proxy-based dynamic styler for chainable console styling\n */\nfunction createStyler(): any {\n const builder = new StyleBuilder();\n return new Proxy(builder, {\n get(target: StyleBuilder, prop: string) {\n if (prop in target) {\n const method = (target as any)[prop];\n if (typeof method === 'function') {\n return method.bind(target);\n }\n return method;\n }\n return undefined;\n }\n });\n}\n\n/**\n * Dynamic styler instance for external use\n */\nexport const $ = createStyler();\n\n/**\n * Pre-defined style presets for common use cases\n */\nexport const StylePresets = {\n success: () => new StyleBuilder()\n .bg('linear-gradient(135deg, #00b894 0%, #00a085 100%)')\n .color('#ffffff')\n .padding('4px 8px')\n .rounded('4px')\n .bold(),\n\n error: () => new StyleBuilder()\n .bg('linear-gradient(135deg, #e84393 0%, #d63031 100%)')\n .color('#ffffff')\n .padding('4px 8px')\n .rounded('4px')\n .bold(),\n\n warning: () => new StyleBuilder()\n .bg('linear-gradient(135deg, #fdcb6e 0%, #e17055 100%)')\n .color('#2d3436')\n .padding('4px 8px')\n .rounded('4px')\n .bold(),\n\n info: () => new StyleBuilder()\n .bg('linear-gradient(135deg, #74b9ff 0%, #0984e3 100%)')\n .color('#ffffff')\n .padding('4px 8px')\n .rounded('4px')\n .bold(),\n\n debug: () => new StyleBuilder()\n .bg('linear-gradient(135deg, #667eea 0%, #764ba2 100%)')\n .color('#ffffff')\n .padding('4px 8px')\n .rounded('4px')\n .bold(),\n\n muted: () => new StyleBuilder()\n .color('#6c757d')\n .font('Monaco, Consolas, monospace')\n .size('12px'),\n\n accent: () => new StyleBuilder()\n .bg('#f8f9fa')\n .color('#495057')\n .padding('2px 6px')\n .rounded('3px')\n .border('1px solid #dee2e6'),\n\n neon: () => new StyleBuilder()\n .bg('linear-gradient(135deg, #0f3460 0%, #e94560 100%)')\n .color('#00ffff')\n .padding('4px 8px')\n .rounded('4px')\n .bold()\n .shadow('0 0 10px rgba(0, 255, 255, 0.5)'),\n};","/**\n * @fileoverview Banner configurations for Advanced Logger\n */\n\nimport type { BannerType, ThemeVariant } from '../types/index.js';\n\n/**\n * Banner variants for different display capabilities\n */\nexport const BANNER_VARIANTS = {\n simple: {\n text: 'šŸš€ ADVANCED LOGGER v2.0.0 - State-of-the-art Console Styling šŸš€',\n style: 'background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 12px 20px; border-radius: 8px; font-weight: bold; font-size: 14px;'\n },\n ascii: {\n text: `\n ___ ____ _ __ ___ _ __ _____ _____ ____ __ ___ _____ _____ _____ ____ \n / _ \\\\ / __ \\\\| | / / / _ \\\\ | \\\\ | |/ ____| ____| _ \\\\ | | / _ \\\\ / ____| ___| _ | _ \\\\ \n / /_\\\\ \\\\ / / _\\` | |/ / / /_\\\\ \\\\ | \\\\| | | | |__ | | | | | | / / \\\\ \\\\| | __| |_ | |_| | |_) |\n | _ || | (_| | < | _ | | . \\` | | | __| | | | | | | | | | | | |_ | _| | /| _ < \n | | | |\\\\ \\\\__,_|_|\\\\_\\\\ | | | | | |\\\\ | |___| |____| |_| | | |__\\\\ \\\\_/ /| |__| | |___| |\\\\ \\\\| |_) |\n \\\\_| |_/ \\\\____/ \\\\_| |_/ |_| \\\\_|\\\\_____|______|____/ |_____/\\\\___/ \\\\_____|_____|_| \\\\_|____/\n\n Advanced Logger v2.0.0 - Console Excellence`,\n style: 'font-family: \"Courier New\", Consolas, Monaco, monospace; color: #667eea; font-size: 11px; line-height: 1.2;'\n },\n unicode: {\n text: `\n╔══════════════════════════════════════════════════════════════════════════╗\nā•‘ šŸš€ ADVANCED LOGGER v2.0.0 ā•‘\nā•‘ State-of-the-art Console Styling ā•‘ \nā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•`,\n style: 'font-family: \"Courier New\", Consolas, Monaco, monospace; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 15px; border-radius: 8px; font-size: 12px; line-height: 1.3;'\n },\n svg: {\n text: ' ',\n style: `\n background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 80'><defs><linearGradient id='grad' x1='0%' y1='0%' x2='100%' y2='0%'><stop offset='0%' style='stop-color:%23667eea'/><stop offset='100%' style='stop-color:%23764ba2'/></linearGradient></defs><rect width='100%' height='100%' fill='url(%23grad)' rx='8'/><text x='200' y='30' text-anchor='middle' fill='white' font-family='monospace' font-size='14' font-weight='bold'>šŸš€ ADVANCED LOGGER</text><text x='200' y='50' text-anchor='middle' fill='white' font-family='monospace' font-size='12'>State-of-the-art Console Styling</text><text x='200' y='65' text-anchor='middle' fill='white' font-family='monospace' font-size='10'>v2.0.0</text></svg>\");\n background-repeat: no-repeat;\n background-size: 400px 80px;\n padding: 40px 200px;\n color: transparent;\n display: inline-block;\n border-radius: 8px;\n `\n },\n animated: {\n text: ' šŸš€ ADVANCED LOGGER v2.0.0 ',\n style: `\n background: linear-gradient(-45deg, #667eea, #764ba2, #667eea, #764ba2);\n background-size: 400% 400%;\n color: white;\n padding: 15px 25px;\n border-radius: 10px;\n font-weight: bold;\n font-size: 14px;\n font-family: monospace;\n animation: gradientShift 3s ease infinite;\n display: inline-block;\n `\n }\n};\n\n/**\n * Theme-specific banners for enhanced visual theming\n */\nexport const THEME_BANNERS: Record<ThemeVariant, { simple: string; style: string }> = {\n default: {\n simple: 'šŸš€ ADVANCED LOGGER v2.0.0 - State-of-the-art Console Styling šŸš€',\n style: 'background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 12px 20px; border-radius: 8px; font-weight: bold;'\n },\n dark: {\n simple: 'šŸŒ™ ADVANCED LOGGER v2.0.0 - Dark Mode Console Excellence šŸŒ™',\n style: 'background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%); color: #e2e8f0; padding: 12px 20px; border-radius: 8px; font-weight: bold; border: 1px solid #4a5568;'\n },\n neon: {\n simple: '⚔ ADVANCED LOGGER v2.0.0 - Cyberpunk Console Experience ⚔',\n style: 'background: linear-gradient(135deg, #0f3460 0%, #e94560 100%); color: #00ffff; padding: 12px 20px; border-radius: 8px; font-weight: bold; text-shadow: 0 0 10px #00ffff;'\n },\n minimal: {\n simple: 'ADVANCED LOGGER v2.0.0 - Clean Console Styling',\n style: 'background: #f7fafc; color: #2d3748; padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 4px; font-weight: 500;'\n },\n light: {\n simple: 'ā˜€ļø ADVANCED LOGGER v2.0.0 - Bright Console Styling ā˜€ļø',\n style: 'background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); color: #495057; padding: 12px 20px; border-radius: 8px; font-weight: bold; border: 1px solid #dee2e6;'\n },\n cyberpunk: {\n simple: 'šŸ¤– ADVANCED LOGGER v2.0.0 - Neural Console Interface šŸ¤–',\n style: 'background: linear-gradient(135deg, #0d1b2a 0%, #415a77 100%); color: #00d4aa; padding: 12px 20px; border-radius: 8px; font-weight: bold; text-shadow: 0 0 10px #00d4aa; border: 1px solid #00d4aa;'\n }\n};\n\n/**\n * Feature detection for banner capabilities\n */\nexport function detectBannerCapabilities(): BannerType {\n // Try to detect browser capabilities\n const userAgent = navigator.userAgent;\n const isChrome = /Chrome/.test(userAgent);\n const isFirefox = /Firefox/.test(userAgent);\n const isSafari = /Safari/.test(userAgent) && !/Chrome/.test(userAgent);\n \n // Check for SVG support (most modern browsers)\n const supportsSVG = !!document.createElementNS && \n !!document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect;\n \n // Check for CSS animation support\n const supportsAnimations = typeof document !== 'undefined' && \n 'animationName' in document.createElement('div').style;\n \n // Progressive enhancement\n if (supportsAnimations && isChrome) {\n return 'animated';\n } else if (supportsSVG && (isChrome || isFirefox)) {\n return 'svg';\n } else if (isChrome || isFirefox) {\n return 'unicode';\n } else if (isSafari) {\n return 'ascii';\n }\n \n return 'simple';\n}\n\n/**\n * Display initialization banner with advanced styling\n */\nexport function displayInitBanner(bannerType?: BannerType): void {\n const selectedType = bannerType || detectBannerCapabilities();\n const banner = BANNER_VARIANTS[selectedType];\n \n // Add CSS animation keyframes if needed\n if (selectedType === 'animated') {\n const style = document.createElement('style');\n style.textContent = `\n @keyframes gradientShift {\n 0% { background-position: 0% 50%; }\n 50% { background-position: 100% 50%; }\n 100% { background-position: 0% 50%; }\n }\n `;\n document.head.appendChild(style);\n }\n \n console.log(`%c${banner.text}`, banner.style);\n\n // Show feature highlights\n const features = [\n 'šŸŽØ Advanced CSS Console Styling',\n 'šŸ“ Automatic Stack Trace Parsing',\n 'šŸ”§ Scoped Loggers & Prefixes',\n '⚔ Performance Timers',\n 'šŸŽÆ Verbosity Filtering',\n 'šŸ”Œ Extensible Handlers',\n 'šŸ“± Modern TypeScript Patterns',\n 'šŸ“¤ Export & Clipboard Support'\n ];\n\n console.group(`%c✨ Features`, 'background: #f8f9fa; color: #495057; padding: 4px 8px; border-radius: 4px; font-weight: bold;');\n\n features.forEach(feature => {\n console.log(`%c${feature}`, 'color: #6c757d; font-size: 13px;');\n });\n\n console.groupEnd();\n console.log(''); // Add spacing\n}","/**\n * @fileoverview Theme presets for Advanced Logger\n */\n\nimport type { ThemeVariant } from '../types/index.js';\nimport type { LevelStyleConfig } from '../utils/index.js';\n\n/**\n * Theme configurations for different visual styles\n */\nexport const THEME_PRESETS: Record<ThemeVariant, Record<string, LevelStyleConfig>> = {\n default: {\n debug: {\n emoji: 'šŸž', label: 'DEBUG',\n background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',\n color: '#ffffff', border: '1px solid #667eea',\n shadow: '0 2px 4px rgba(102, 126, 234, 0.3)',\n },\n info: {\n emoji: 'ā„¹ļø', label: 'INFO',\n background: 'linear-gradient(135deg, #74b9ff 0%, #0984e3 100%)',\n color: '#ffffff', border: '1px solid #74b9ff',\n shadow: '0 2px 4px rgba(116, 185, 255, 0.3)',\n },\n warn: {\n emoji: 'āš ļø', label: 'WARN',\n background: 'linear-gradient(135deg, #fdcb6e 0%, #e17055 100%)',\n color: '#2d3436', border: '1px solid #fdcb6e',\n shadow: '0 2px 4px rgba(253, 203, 110, 0.3)',\n },\n error: {\n emoji: 'āŒ', label: 'ERROR',\n background: 'linear-gradient(135deg, #e84393 0%, #d63031 100%)',\n color: '#ffffff', border: '1px solid #e84393',\n shadow: '0 2px 4px rgba(232, 67, 147, 0.3)',\n },\n success: {\n emoji: 'āœ…', label: 'SUCCESS',\n background: 'linear-gradient(135deg, #00b894 0%, #00a085 100%)',\n color: '#ffffff', border: '1px solid #00b894',\n shadow: '0 2px 4px rgba(0, 184, 148, 0.3)',\n },\n critical: {\n emoji: 'šŸ”„', label: 'CRITICAL',\n background: 'linear-gradient(135deg, #ff3838 0%, #ff1744 100%)',\n color: '#ffffff', border: '2px solid #ff3838',\n shadow: '0 4px 8px rgba(255, 56, 56, 0.5)',\n },\n },\n dark: {\n debug: {\n emoji: 'šŸŒ™', label: 'DEBUG',\n background: 'linear-gradient(135deg, #2d3748 0%, #4a5568 100%)',\n color: '#e2e8f0', border: '1px solid #4a5568',\n shadow: '0 2px 4px rgba(45, 55, 72, 0.8)',\n },\n info: {\n emoji: 'šŸ’”', label: 'INFO',\n background: 'linear-gradient(135deg, #1a202c 0%, #2d3748 100%)',\n color: '#90cdf4', border: '1px solid #3182ce',\n shadow: '0 2px 4px rgba(26, 32, 44, 0.8)',\n },\n warn: {\n emoji: '⚔', label: 'WARN',\n background: 'linear-gradient(135deg, #744210 0%, #975a16 100%)',\n color: '#faf089', border: '1px solid #d69e2e',\n shadow: '0 2px 4px rgba(116, 66, 16, 0.8)',\n },\n error: {\n emoji: 'šŸ’€', label: 'ERROR',\n background: 'linear-gradient(135deg, #742a2a 0%, #9b2c2c 100%)',\n color: '#feb2b2', border: '1px solid #e53e3e',\n shadow: '0 2px 4px rgba(116, 42, 42, 0.8)',\n },\n success: {\n emoji: 'šŸŽÆ', label: 'SUCCESS',\n background: 'linear-gradient(135deg, #276749 0%, #2f855a 100%)',\n color: '#9ae6b4', border: '1px solid #38a169',\n shadow: '0 2px 4px rgba(39, 103, 73, 0.8)',\n },\n critical: {\n emoji: 'šŸ’„', label: 'CRITICAL',\n background: 'linear-gradient(135deg, #1a1a1a 0%, #ff0000 100%)',\n color: '#ffffff', border: '2px solid #ff0000',\n shadow: '0 4px 8px rgba(255, 0, 0, 0.9)',\n },\n },\n neon: {\n debug: {\n emoji: '⚔', label: 'DEBUG',\n background: 'linear-gradient(135deg, #0f3460 0%, #e94560 100%)',\n color: '#00ffff', border: '1px solid #00ffff',\n shadow: '0 0 10px rgba(0, 255, 255, 0.5)',\n },\n info: {\n emoji: 'šŸ”®', label: 'INFO',\n background: 'linear-gradient(135deg, #16213e 0%, #0f3460 100%)',\n color: '#00ff41', border: '1px solid #00ff41',\n shadow: '0 0 10px rgba(0, 255, 65, 0.5)',\n },\n warn: {\n emoji: 'āš ļø', label: 'WARN',\n background: 'linear-gradient(135deg, #533a03 0%, #e94560 100%)',\n color: '#ffff00', border: '1px solid #ffff00',\n shadow: '0 0 10px rgba(255, 255, 0, 0.5)',\n },\n error: {\n emoji: 'šŸ’„', label: 'ERROR',\n background: 'linear-gradient(135deg, #5c0a0a 0%, #ff073a 100%)',\n color: '#ff073a', border: '1px solid #ff073a',\n shadow: '0 0 10px rgba(255, 7, 58, 0.8)',\n },\n success: {\n emoji: '✨', label: 'SUCCESS',\n background: 'linear-gradient(135deg, #0a5c0a 0%, #39ff14 100%)',\n color: '#39ff14', border: '1px solid #39ff14',\n shadow: '0 0 10px rgba(57, 255, 20, 0.8)',\n },\n critical: {\n emoji: '🌟', label: 'CRITICAL',\n background: 'linear-gradient(135deg, #000000 0%, #ff0080 100%)',\n color: '#ff0080', border: '2px solid #ff0080',\n shadow: '0 0 20px rgba(255, 0, 128, 1)',\n },\n },\n minimal: {\n debug: {\n emoji: '', label: 'DEBUG',\n background: '#f7fafc', color: '#4a5568',\n border: '1px solid #e2e8f0', shadow: 'none',\n },\n info: {\n emoji: '', label: 'INFO',\n background: '#ebf8ff', color: '#2b6cb0',\n border: '1px solid #bee3f8', shadow: 'none',\n },\n warn: {\n emoji: '', label: 'WARN',\n background: '#fffbf0', color: '#c05621',\n border: '1px solid #fed7aa', shadow: 'none',\n },\n error: {\n emoji: '', label: 'ERROR',\n background: '#fef5f5', color: '#c53030',\n border: '1px solid #fca5a5', shadow: 'none',\n },\n success: {\n emoji: '', label: 'SUCCESS',\n background: '#f0fff4', color: '#2f855a',\n border: '1px solid #9ae6b4', shadow: 'none',\n },\n critical: {\n emoji: '', label: 'CRITICAL',\n background: '#fef5f5', color: '#e53e3e',\n border: '2px solid #f56565', shadow: 'none',\n },\n },\n // Additional theme variants can be added here\n light: {\n debug: {\n emoji: 'šŸ”', label: 'DEBUG',\n background: 'linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%)',\n color: '#1565c0', border: '1px solid #90caf9',\n shadow: '0 1px 3px rgba(33, 150, 243, 0.2)',\n },\n info: {\n emoji: 'ā„¹ļø', label: 'INFO',\n background: 'linear-gradient(135deg, #f3e5f5 0%, #e1bee7 100%)',\n color: '#7b1fa2', border: '1px solid #ce93d8',\n shadow: '0 1px 3px rgba(156, 39, 176, 0.2)',\n },\n warn: {\n emoji: 'āš ļø', label: 'WARN',\n background: 'linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%)',\n color: '#f57c00', border: '1px solid #ffcc02',\n shadow: '0 1px 3px rgba(255, 152, 0, 0.2)',\n },\n error: {\n emoji: 'āŒ', label: 'ERROR',\n background: 'linear-gradient(135deg, #ffebee 0%, #ffcdd2 100%)',\n color: '#d32f2f', border: '1px solid #f44336',\n shadow: '0 1px 3px rgba(244, 67, 54, 0.2)',\n },\n success: {\n emoji: 'āœ…', label: 'SUCCESS',\n background: 'linear-gradient(135deg, #e8f5e8 0%, #c8e6c9 100%)',\n color: '#388e3c', border: '1px solid #4caf50',\n shadow: '0 1px 3px rgba(76, 175, 80, 0.2)',\n },\n critical: {\n emoji: '🚨', label: 'CRITICAL',\n background: 'linear-gradient(135deg, #fce4ec 0%, #f8bbd9 100%)',\n color: '#c2185b', border: '2px solid #e91e63',\n shadow: '0 2px 6px rgba(233, 30, 99, 0.3)',\n },\n },\n cyberpunk: {\n debug: {\n emoji: 'šŸ¤–', label: 'DEBUG',\n background: 'linear-gradient(135deg, #0d1b2a 0%, #415a77 100%)',\n color: '#00d4aa', border: '1px solid #00d4aa',\n shadow: '0 0 15px rgba(0, 212, 170, 0.4)',\n },\n info: {\n emoji: 'šŸ”—', label: 'INFO',\n background: 'linear-gradient(135deg, #1b263b 0%, #0d1b2a 100%)',\n color: '#00b4d8', border: '1px solid #00b4d8',\n shadow: '0 0 15px rgba(0, 180, 216, 0.4)',\n },\n warn: {\n emoji: '⚔', label: 'WARN',\n background: 'linear-gradient(135deg, #f72585 0%, #b5179e 100%)',\n color: '#ffff3f', border: '1px solid #ffff3f',\n shadow: '0 0 15px rgba(255, 255, 63, 0.4)',\n },\n error: {\n emoji: 'šŸ’€', label: 'ERROR',\n background: 'linear-gradient(135deg, #7209b7 0%, #480ca8 100%)',\n color: '#ff006e', border: '1px solid #ff006e',\n shadow: '0 0 15px rgba(255, 0, 110, 0.6)',\n },\n success: {\n emoji: '⚔', label: 'SUCCESS',\n background: 'linear-gradient(135deg, #003566 0%, #001d3d 100%)',\n color: '#00f5ff', border: '1px solid #00f5ff',\n shadow: '0 0 15px rgba(0, 245, 255, 0.4)',\n },\n critical: {\n emoji: 'šŸ’„', label: 'CRITICAL',\n background: 'linear-gradient(135deg, #000000 0%, #ff0040 100%)',\n color: '#ff0040', border: '2px solid #ff0040',\n shadow: '0 0 25px rgba(255, 0, 64, 0.8)',\n },\n },\n};"],"names":["StyleBuilder","styles","constructor","baseStyle","this","push","bg","background","color","border","shadow","padding","margin","rounded","radius","bold","font","size","lineHeight","height","underline","uppercase","opacity","value","display","position","transform","animation","transition","cursor","custom","property","css","build","join","clear","clone","cloned","merge","other","builder","Proxy","get","target","prop","method","bind","createStyler","StylePresets","success","error","warning","info","debug","muted","accent","neon","BANNER_VARIANTS","simple","text","style","ascii","unicode","svg","animated","default","dark","minimal","light","cyberpunk","emoji","label","warn","critical","bannerType","selectedType","userAgent","navigator","isChrome","test","isFirefox","isSafari","supportsSVG","document","createElementNS","createSVGRect","createElement","detectBannerCapabilities","banner","textContent","head","appendChild","console","log","group","forEach","feature","groupEnd"],"mappings":"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"}