@lionrapid/core 0.1.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 (302) hide show
  1. package/README.md +106 -0
  2. package/dist/base/event-emitter.d.ts +91 -0
  3. package/dist/base/event-emitter.d.ts.map +1 -0
  4. package/dist/base/event-emitter.js +330 -0
  5. package/dist/base/event-emitter.js.map +1 -0
  6. package/dist/base/index.d.ts +5 -0
  7. package/dist/base/index.d.ts.map +1 -0
  8. package/dist/base/index.js +5 -0
  9. package/dist/base/index.js.map +1 -0
  10. package/dist/browser/auto-init.d.ts +57 -0
  11. package/dist/browser/auto-init.d.ts.map +1 -0
  12. package/dist/browser/auto-init.js +304 -0
  13. package/dist/browser/auto-init.js.map +1 -0
  14. package/dist/browser/auto-translator.d.ts +98 -0
  15. package/dist/browser/auto-translator.d.ts.map +1 -0
  16. package/dist/browser/auto-translator.js +218 -0
  17. package/dist/browser/auto-translator.js.map +1 -0
  18. package/dist/browser/block-extractor.d.ts +26 -0
  19. package/dist/browser/block-extractor.d.ts.map +1 -0
  20. package/dist/browser/block-extractor.js +143 -0
  21. package/dist/browser/block-extractor.js.map +1 -0
  22. package/dist/browser/dom-observer.d.ts +42 -0
  23. package/dist/browser/dom-observer.d.ts.map +1 -0
  24. package/dist/browser/dom-observer.js +109 -0
  25. package/dist/browser/dom-observer.js.map +1 -0
  26. package/dist/browser/editor/editor-api.d.ts +67 -0
  27. package/dist/browser/editor/editor-api.d.ts.map +1 -0
  28. package/dist/browser/editor/editor-api.js +233 -0
  29. package/dist/browser/editor/editor-api.js.map +1 -0
  30. package/dist/browser/editor/editor-init.d.ts +11 -0
  31. package/dist/browser/editor/editor-init.d.ts.map +1 -0
  32. package/dist/browser/editor/editor-init.js +181 -0
  33. package/dist/browser/editor/editor-init.js.map +1 -0
  34. package/dist/browser/editor/editor-styles.d.ts +6 -0
  35. package/dist/browser/editor/editor-styles.d.ts.map +1 -0
  36. package/dist/browser/editor/editor-styles.js +419 -0
  37. package/dist/browser/editor/editor-styles.js.map +1 -0
  38. package/dist/browser/editor/inspector.d.ts +22 -0
  39. package/dist/browser/editor/inspector.d.ts.map +1 -0
  40. package/dist/browser/editor/inspector.js +125 -0
  41. package/dist/browser/editor/inspector.js.map +1 -0
  42. package/dist/browser/editor/key-resolver.d.ts +19 -0
  43. package/dist/browser/editor/key-resolver.d.ts.map +1 -0
  44. package/dist/browser/editor/key-resolver.js +49 -0
  45. package/dist/browser/editor/key-resolver.js.map +1 -0
  46. package/dist/browser/editor/live-preview.d.ts +10 -0
  47. package/dist/browser/editor/live-preview.d.ts.map +1 -0
  48. package/dist/browser/editor/live-preview.js +57 -0
  49. package/dist/browser/editor/live-preview.js.map +1 -0
  50. package/dist/browser/editor/sidebar.d.ts +50 -0
  51. package/dist/browser/editor/sidebar.d.ts.map +1 -0
  52. package/dist/browser/editor/sidebar.js +353 -0
  53. package/dist/browser/editor/sidebar.js.map +1 -0
  54. package/dist/browser/editor/toolbar.d.ts +29 -0
  55. package/dist/browser/editor/toolbar.d.ts.map +1 -0
  56. package/dist/browser/editor/toolbar.js +131 -0
  57. package/dist/browser/editor/toolbar.js.map +1 -0
  58. package/dist/browser/exclude-filter.d.ts +21 -0
  59. package/dist/browser/exclude-filter.d.ts.map +1 -0
  60. package/dist/browser/exclude-filter.js +51 -0
  61. package/dist/browser/exclude-filter.js.map +1 -0
  62. package/dist/browser/index.d.ts +32 -0
  63. package/dist/browser/index.d.ts.map +1 -0
  64. package/dist/browser/index.js +28 -0
  65. package/dist/browser/index.js.map +1 -0
  66. package/dist/browser/language-switcher.d.ts +70 -0
  67. package/dist/browser/language-switcher.d.ts.map +1 -0
  68. package/dist/browser/language-switcher.js +339 -0
  69. package/dist/browser/language-switcher.js.map +1 -0
  70. package/dist/browser/lionrapid.auto.dev.js +5757 -0
  71. package/dist/browser/lionrapid.auto.dev.js.map +7 -0
  72. package/dist/browser/lionrapid.auto.js +5757 -0
  73. package/dist/browser/lionrapid.auto.js.map +7 -0
  74. package/dist/browser/lionrapid.auto.min.js +80 -0
  75. package/dist/browser/lionrapid.auto.min.js.map +7 -0
  76. package/dist/browser/lionrapid.editor.js +1869 -0
  77. package/dist/browser/lionrapid.editor.js.map +7 -0
  78. package/dist/browser/lionrapid.editor.min.js +415 -0
  79. package/dist/browser/lionrapid.editor.min.js.map +7 -0
  80. package/dist/browser/lionrapid.esm.js +4786 -0
  81. package/dist/browser/lionrapid.esm.js.map +7 -0
  82. package/dist/browser/lionrapid.esm.min.js +3 -0
  83. package/dist/browser/lionrapid.esm.min.js.map +7 -0
  84. package/dist/browser/lionrapid.iife.dev.js +4809 -0
  85. package/dist/browser/lionrapid.iife.dev.js.map +7 -0
  86. package/dist/browser/lionrapid.iife.js +4809 -0
  87. package/dist/browser/lionrapid.iife.js.map +7 -0
  88. package/dist/browser/lionrapid.iife.min.js +3 -0
  89. package/dist/browser/lionrapid.iife.min.js.map +7 -0
  90. package/dist/browser/lionrapid.umd.js +4822 -0
  91. package/dist/browser/lionrapid.umd.js.map +7 -0
  92. package/dist/browser/lionrapid.umd.min.js +18 -0
  93. package/dist/browser/lionrapid.umd.min.js.map +7 -0
  94. package/dist/browser/markup-parser.d.ts +13 -0
  95. package/dist/browser/markup-parser.d.ts.map +1 -0
  96. package/dist/browser/markup-parser.js +56 -0
  97. package/dist/browser/markup-parser.js.map +1 -0
  98. package/dist/browser/md5.d.ts +16 -0
  99. package/dist/browser/md5.d.ts.map +1 -0
  100. package/dist/browser/md5.js +145 -0
  101. package/dist/browser/md5.js.map +1 -0
  102. package/dist/browser/storage/cache-storage-repository.d.ts +44 -0
  103. package/dist/browser/storage/cache-storage-repository.d.ts.map +1 -0
  104. package/dist/browser/storage/cache-storage-repository.js +186 -0
  105. package/dist/browser/storage/cache-storage-repository.js.map +1 -0
  106. package/dist/browser/storage/localstorage-repository.d.ts +51 -0
  107. package/dist/browser/storage/localstorage-repository.d.ts.map +1 -0
  108. package/dist/browser/storage/localstorage-repository.js +270 -0
  109. package/dist/browser/storage/localstorage-repository.js.map +1 -0
  110. package/dist/builder.d.ts +24 -0
  111. package/dist/builder.d.ts.map +1 -0
  112. package/dist/builder.js +169 -0
  113. package/dist/builder.js.map +1 -0
  114. package/dist/cache/CacheManager.d.ts +132 -0
  115. package/dist/cache/CacheManager.d.ts.map +1 -0
  116. package/dist/cache/CacheManager.js +277 -0
  117. package/dist/cache/CacheManager.js.map +1 -0
  118. package/dist/cache/index.d.ts +6 -0
  119. package/dist/cache/index.d.ts.map +1 -0
  120. package/dist/cache/index.js +5 -0
  121. package/dist/cache/index.js.map +1 -0
  122. package/dist/config/index.d.ts +6 -0
  123. package/dist/config/index.d.ts.map +1 -0
  124. package/dist/config/index.js +6 -0
  125. package/dist/config/index.js.map +1 -0
  126. package/dist/config/lionrapid.config.d.ts +12 -0
  127. package/dist/config/lionrapid.config.d.ts.map +1 -0
  128. package/dist/config/lionrapid.config.js +2 -0
  129. package/dist/config/lionrapid.config.js.map +1 -0
  130. package/dist/config/logger.config.d.ts +19 -0
  131. package/dist/config/logger.config.d.ts.map +1 -0
  132. package/dist/config/logger.config.js +9 -0
  133. package/dist/config/logger.config.js.map +1 -0
  134. package/dist/config/repository.config.d.ts +87 -0
  135. package/dist/config/repository.config.d.ts.map +1 -0
  136. package/dist/config/repository.config.js +5 -0
  137. package/dist/config/repository.config.js.map +1 -0
  138. package/dist/content/index.d.ts +20 -0
  139. package/dist/content/index.d.ts.map +1 -0
  140. package/dist/content/index.js +13 -0
  141. package/dist/content/index.js.map +1 -0
  142. package/dist/content/parser/IParser.d.ts +33 -0
  143. package/dist/content/parser/IParser.d.ts.map +1 -0
  144. package/dist/content/parser/IParser.js +6 -0
  145. package/dist/content/parser/IParser.js.map +1 -0
  146. package/dist/content/parser/MarkupParser.d.ts +67 -0
  147. package/dist/content/parser/MarkupParser.d.ts.map +1 -0
  148. package/dist/content/parser/MarkupParser.js +231 -0
  149. package/dist/content/parser/MarkupParser.js.map +1 -0
  150. package/dist/content/serializer/HTMLSerializer.d.ts +61 -0
  151. package/dist/content/serializer/HTMLSerializer.d.ts.map +1 -0
  152. package/dist/content/serializer/HTMLSerializer.js +100 -0
  153. package/dist/content/serializer/HTMLSerializer.js.map +1 -0
  154. package/dist/content/serializer/ISerializer.d.ts +33 -0
  155. package/dist/content/serializer/ISerializer.d.ts.map +1 -0
  156. package/dist/content/serializer/ISerializer.js +6 -0
  157. package/dist/content/serializer/ISerializer.js.map +1 -0
  158. package/dist/content/style-mapper/DefaultStyleMapper.d.ts +59 -0
  159. package/dist/content/style-mapper/DefaultStyleMapper.d.ts.map +1 -0
  160. package/dist/content/style-mapper/DefaultStyleMapper.js +128 -0
  161. package/dist/content/style-mapper/DefaultStyleMapper.js.map +1 -0
  162. package/dist/content/style-mapper/IStyleMapper.d.ts +50 -0
  163. package/dist/content/style-mapper/IStyleMapper.d.ts.map +1 -0
  164. package/dist/content/style-mapper/IStyleMapper.js +6 -0
  165. package/dist/content/style-mapper/IStyleMapper.js.map +1 -0
  166. package/dist/content/types.d.ts +39 -0
  167. package/dist/content/types.d.ts.map +1 -0
  168. package/dist/content/types.js +6 -0
  169. package/dist/content/types.js.map +1 -0
  170. package/dist/content/validator/ContentValidator.d.ts +57 -0
  171. package/dist/content/validator/ContentValidator.d.ts.map +1 -0
  172. package/dist/content/validator/ContentValidator.js +215 -0
  173. package/dist/content/validator/ContentValidator.js.map +1 -0
  174. package/dist/content/validator/IValidator.d.ts +82 -0
  175. package/dist/content/validator/IValidator.d.ts.map +1 -0
  176. package/dist/content/validator/IValidator.js +6 -0
  177. package/dist/content/validator/IValidator.js.map +1 -0
  178. package/dist/errors/translation-errors.d.ts +55 -0
  179. package/dist/errors/translation-errors.d.ts.map +1 -0
  180. package/dist/errors/translation-errors.js +85 -0
  181. package/dist/errors/translation-errors.js.map +1 -0
  182. package/dist/handlers/async-storage-handler.d.ts +77 -0
  183. package/dist/handlers/async-storage-handler.d.ts.map +1 -0
  184. package/dist/handlers/async-storage-handler.js +239 -0
  185. package/dist/handlers/async-storage-handler.js.map +1 -0
  186. package/dist/handlers/handler-chain.d.ts +79 -0
  187. package/dist/handlers/handler-chain.d.ts.map +1 -0
  188. package/dist/handlers/handler-chain.js +366 -0
  189. package/dist/handlers/handler-chain.js.map +1 -0
  190. package/dist/handlers/index.d.ts +7 -0
  191. package/dist/handlers/index.d.ts.map +1 -0
  192. package/dist/handlers/index.js +7 -0
  193. package/dist/handlers/index.js.map +1 -0
  194. package/dist/handlers/network-handler.d.ts +90 -0
  195. package/dist/handlers/network-handler.d.ts.map +1 -0
  196. package/dist/handlers/network-handler.js +283 -0
  197. package/dist/handlers/network-handler.js.map +1 -0
  198. package/dist/handlers/sync-storage-handler.d.ts +88 -0
  199. package/dist/handlers/sync-storage-handler.d.ts.map +1 -0
  200. package/dist/handlers/sync-storage-handler.js +270 -0
  201. package/dist/handlers/sync-storage-handler.js.map +1 -0
  202. package/dist/index.d.ts +37 -0
  203. package/dist/index.d.ts.map +1 -0
  204. package/dist/index.js +30 -0
  205. package/dist/index.js.map +1 -0
  206. package/dist/interfaces/emitter.interface.d.ts +33 -0
  207. package/dist/interfaces/emitter.interface.d.ts.map +1 -0
  208. package/dist/interfaces/emitter.interface.js +2 -0
  209. package/dist/interfaces/emitter.interface.js.map +1 -0
  210. package/dist/interfaces/handler.interface.d.ts +50 -0
  211. package/dist/interfaces/handler.interface.d.ts.map +1 -0
  212. package/dist/interfaces/handler.interface.js +5 -0
  213. package/dist/interfaces/handler.interface.js.map +1 -0
  214. package/dist/interfaces/index.d.ts +8 -0
  215. package/dist/interfaces/index.d.ts.map +1 -0
  216. package/dist/interfaces/index.js +8 -0
  217. package/dist/interfaces/index.js.map +1 -0
  218. package/dist/interfaces/plugin.interface.d.ts +49 -0
  219. package/dist/interfaces/plugin.interface.d.ts.map +1 -0
  220. package/dist/interfaces/plugin.interface.js +6 -0
  221. package/dist/interfaces/plugin.interface.js.map +1 -0
  222. package/dist/interfaces/repository.interface.d.ts +56 -0
  223. package/dist/interfaces/repository.interface.d.ts.map +1 -0
  224. package/dist/interfaces/repository.interface.js +2 -0
  225. package/dist/interfaces/repository.interface.js.map +1 -0
  226. package/dist/lionRapid.d.ts +225 -0
  227. package/dist/lionRapid.d.ts.map +1 -0
  228. package/dist/lionRapid.js +596 -0
  229. package/dist/lionRapid.js.map +1 -0
  230. package/dist/repositories/index.d.ts +3 -0
  231. package/dist/repositories/index.d.ts.map +1 -0
  232. package/dist/repositories/index.js +3 -0
  233. package/dist/repositories/index.js.map +1 -0
  234. package/dist/repositories/memory-repository.d.ts +30 -0
  235. package/dist/repositories/memory-repository.d.ts.map +1 -0
  236. package/dist/repositories/memory-repository.js +100 -0
  237. package/dist/repositories/memory-repository.js.map +1 -0
  238. package/dist/repositories/network-repository.d.ts +138 -0
  239. package/dist/repositories/network-repository.d.ts.map +1 -0
  240. package/dist/repositories/network-repository.js +516 -0
  241. package/dist/repositories/network-repository.js.map +1 -0
  242. package/dist/sync/missing-translation-queue.d.ts +64 -0
  243. package/dist/sync/missing-translation-queue.d.ts.map +1 -0
  244. package/dist/sync/missing-translation-queue.js +184 -0
  245. package/dist/sync/missing-translation-queue.js.map +1 -0
  246. package/dist/types/cache.types.d.ts +62 -0
  247. package/dist/types/cache.types.d.ts.map +1 -0
  248. package/dist/types/cache.types.js +6 -0
  249. package/dist/types/cache.types.js.map +1 -0
  250. package/dist/types/event-payloads.types.d.ts +46 -0
  251. package/dist/types/event-payloads.types.d.ts.map +1 -0
  252. package/dist/types/event-payloads.types.js +6 -0
  253. package/dist/types/event-payloads.types.js.map +1 -0
  254. package/dist/types/generated.types.d.ts +31 -0
  255. package/dist/types/generated.types.d.ts.map +1 -0
  256. package/dist/types/generated.types.js +6 -0
  257. package/dist/types/generated.types.js.map +1 -0
  258. package/dist/types/index.d.ts +7 -0
  259. package/dist/types/index.d.ts.map +1 -0
  260. package/dist/types/index.js +7 -0
  261. package/dist/types/index.js.map +1 -0
  262. package/dist/types/lionRapid.types.d.ts +169 -0
  263. package/dist/types/lionRapid.types.d.ts.map +1 -0
  264. package/dist/types/lionRapid.types.js +8 -0
  265. package/dist/types/lionRapid.types.js.map +1 -0
  266. package/dist/types/parameters.types.d.ts +36 -0
  267. package/dist/types/parameters.types.d.ts.map +1 -0
  268. package/dist/types/parameters.types.js +6 -0
  269. package/dist/types/parameters.types.js.map +1 -0
  270. package/dist/types/translation-data.types.d.ts +54 -0
  271. package/dist/types/translation-data.types.d.ts.map +1 -0
  272. package/dist/types/translation-data.types.js +6 -0
  273. package/dist/types/translation-data.types.js.map +1 -0
  274. package/dist/types/translation.types.d.ts +94 -0
  275. package/dist/types/translation.types.d.ts.map +1 -0
  276. package/dist/types/translation.types.js +5 -0
  277. package/dist/types/translation.types.js.map +1 -0
  278. package/dist/utils/context-utils.d.ts +23 -0
  279. package/dist/utils/context-utils.d.ts.map +1 -0
  280. package/dist/utils/context-utils.js +36 -0
  281. package/dist/utils/context-utils.js.map +1 -0
  282. package/dist/utils/index.d.ts +10 -0
  283. package/dist/utils/index.d.ts.map +1 -0
  284. package/dist/utils/index.js +19 -0
  285. package/dist/utils/index.js.map +1 -0
  286. package/dist/utils/logger.d.ts +229 -0
  287. package/dist/utils/logger.d.ts.map +1 -0
  288. package/dist/utils/logger.js +345 -0
  289. package/dist/utils/logger.js.map +1 -0
  290. package/dist/utils/namespace-utils.d.ts +30 -0
  291. package/dist/utils/namespace-utils.d.ts.map +1 -0
  292. package/dist/utils/namespace-utils.js +56 -0
  293. package/dist/utils/namespace-utils.js.map +1 -0
  294. package/dist/utils/translation-flow.d.ts +18 -0
  295. package/dist/utils/translation-flow.d.ts.map +1 -0
  296. package/dist/utils/translation-flow.js +74 -0
  297. package/dist/utils/translation-flow.js.map +1 -0
  298. package/dist/utils/translation-value-utils.d.ts +57 -0
  299. package/dist/utils/translation-value-utils.d.ts.map +1 -0
  300. package/dist/utils/translation-value-utils.js +194 -0
  301. package/dist/utils/translation-value-utils.js.map +1 -0
  302. package/package.json +76 -0
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Browser Bundle Entry Point
3
+ * Auto-init bundle for non-developer usage with script tag
4
+ *
5
+ * Usage:
6
+ * <script
7
+ * src="https://cdn.lionrapid.com/lionrapid.min.js"
8
+ * data-api-key="pk_live_xxx"
9
+ * ></script>
10
+ */
11
+ export { LionRapidBuilder } from '../builder.js';
12
+ export { LionRapidCore } from '../lionRapid.js';
13
+ export { MemoryRepository, NetworkRepository } from '../repositories/index.js';
14
+ export { AutoTranslator } from './auto-translator.js';
15
+ export type { AutoTranslatorConfig } from './auto-translator.js';
16
+ export { LanguageSwitcher } from './language-switcher.js';
17
+ export type { Language, SwitcherStyle } from './language-switcher.js';
18
+ export { BlockExtractor } from './block-extractor.js';
19
+ export type { ExtractedBlock } from './block-extractor.js';
20
+ export { parseBlockElement } from './markup-parser.js';
21
+ export { ExcludeFilter } from './exclude-filter.js';
22
+ export type { ExcludePatterns } from './exclude-filter.js';
23
+ export { DOMObserver } from './dom-observer.js';
24
+ export type { DOMObserverCallbacks } from './dom-observer.js';
25
+ export { md5, generateAutoKey } from './md5.js';
26
+ export { LocalStorageRepository } from './storage/localstorage-repository.js';
27
+ export type { LocalStorageRepositoryConfig } from './storage/localstorage-repository.js';
28
+ export { CacheStorageRepository } from './storage/cache-storage-repository.js';
29
+ export type { CacheStorageRepositoryConfig } from './storage/cache-storage-repository.js';
30
+ export { autoInit, parseConfig } from './auto-init.js';
31
+ export type { AutoInitConfig, LionRapidInstance } from './auto-init.js';
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG/E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,YAAY,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,YAAY,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAG1F,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Browser Bundle Entry Point
3
+ * Auto-init bundle for non-developer usage with script tag
4
+ *
5
+ * Usage:
6
+ * <script
7
+ * src="https://cdn.lionrapid.com/lionrapid.min.js"
8
+ * data-api-key="pk_live_xxx"
9
+ * ></script>
10
+ */
11
+ // Core exports for advanced usage
12
+ export { LionRapidBuilder } from '../builder.js';
13
+ export { LionRapidCore } from '../lionRapid.js';
14
+ export { MemoryRepository, NetworkRepository } from '../repositories/index.js';
15
+ // Browser-specific exports
16
+ export { AutoTranslator } from './auto-translator.js';
17
+ export { LanguageSwitcher } from './language-switcher.js';
18
+ export { BlockExtractor } from './block-extractor.js';
19
+ export { parseBlockElement } from './markup-parser.js';
20
+ export { ExcludeFilter } from './exclude-filter.js';
21
+ export { DOMObserver } from './dom-observer.js';
22
+ export { md5, generateAutoKey } from './md5.js';
23
+ // Storage exports
24
+ export { LocalStorageRepository } from './storage/localstorage-repository.js';
25
+ export { CacheStorageRepository } from './storage/cache-storage-repository.js';
26
+ // Auto-init (runs on script load)
27
+ export { autoInit, parseConfig } from './auto-init.js';
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,kCAAkC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE/E,2BAA2B;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,kBAAkB;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAG/E,kCAAkC;AAClC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Language Switcher
3
+ * Auto-generates floating language switcher UI from data-lionrapid-switcher attributes.
4
+ * All styles are fixed-position overlays — the style only changes the visual appearance.
5
+ *
6
+ * Styles:
7
+ * - floating: button showing current language → click opens dropdown menu
8
+ * - buttons: row of language code buttons (EN, ES, FR)
9
+ * - flags: row of flag + name buttons
10
+ */
11
+ import type { LionRapidCore } from '../lionRapid.js';
12
+ export type SwitcherStyle = 'flags' | 'buttons' | 'floating';
13
+ export interface Language {
14
+ code: string;
15
+ name: string;
16
+ flag?: string;
17
+ }
18
+ export declare class LanguageSwitcher {
19
+ private core;
20
+ private languages;
21
+ private initialLocale;
22
+ private onLanguageChange;
23
+ private stylesInjected;
24
+ constructor();
25
+ /**
26
+ * Set the core instance
27
+ */
28
+ setCore(core: LionRapidCore): void;
29
+ /**
30
+ * Set initial locale (used before core is available)
31
+ */
32
+ setInitialLocale(locale: string): void;
33
+ /**
34
+ * Set available languages
35
+ */
36
+ setLanguages(languages: Language[] | string[]): void;
37
+ /**
38
+ * Set callback for language changes
39
+ */
40
+ setOnLanguageChange(callback: (locale: string) => void): void;
41
+ /**
42
+ * Initialize all switchers on the page
43
+ */
44
+ initAll(): void;
45
+ /**
46
+ * Initialize a single switcher element
47
+ */
48
+ initSwitcher(element: HTMLElement): void;
49
+ /**
50
+ * Render floating style (button showing current language → click opens dropdown menu)
51
+ */
52
+ private renderFloating;
53
+ /**
54
+ * Render button row style (used for both "buttons" and "flags")
55
+ */
56
+ private renderButtonRow;
57
+ /**
58
+ * Handle language change — update all switchers on page + fire callback
59
+ */
60
+ private handleLanguageChange;
61
+ /**
62
+ * Inject minimal styles
63
+ */
64
+ private injectStyles;
65
+ /**
66
+ * Get language info by code
67
+ */
68
+ static getLanguage(code: string): Language | undefined;
69
+ }
70
+ //# sourceMappingURL=language-switcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-switcher.d.ts","sourceRoot":"","sources":["../../src/browser/language-switcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;AAE7D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA2HD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAA8B;IAC1C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,gBAAgB,CAA2C;IACnE,OAAO,CAAC,cAAc,CAAS;;IAI/B;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAIlC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI;IASpD;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI7D;;OAEG;IACH,OAAO,IAAI,IAAI;IAMf;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAwCxC;;OAEG;IACH,OAAO,CAAC,cAAc;IAiFtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAmCvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;CAGvD"}
@@ -0,0 +1,339 @@
1
+ /**
2
+ * Language Switcher
3
+ * Auto-generates floating language switcher UI from data-lionrapid-switcher attributes.
4
+ * All styles are fixed-position overlays — the style only changes the visual appearance.
5
+ *
6
+ * Styles:
7
+ * - floating: button showing current language → click opens dropdown menu
8
+ * - buttons: row of language code buttons (EN, ES, FR)
9
+ * - flags: row of flag + name buttons
10
+ */
11
+ // Default language data (expandable)
12
+ const DEFAULT_LANGUAGES = {
13
+ en: { code: 'en', name: 'English', flag: '🇬🇧' },
14
+ es: { code: 'es', name: 'Español', flag: '🇪🇸' },
15
+ fr: { code: 'fr', name: 'Français', flag: '🇫🇷' },
16
+ de: { code: 'de', name: 'Deutsch', flag: '🇩🇪' },
17
+ it: { code: 'it', name: 'Italiano', flag: '🇮🇹' },
18
+ pt: { code: 'pt', name: 'Português', flag: '🇵🇹' },
19
+ nl: { code: 'nl', name: 'Nederlands', flag: '🇳🇱' },
20
+ pl: { code: 'pl', name: 'Polski', flag: '🇵🇱' },
21
+ ru: { code: 'ru', name: 'Русский', flag: '🇷🇺' },
22
+ ja: { code: 'ja', name: '日本語', flag: '🇯🇵' },
23
+ ko: { code: 'ko', name: '한국어', flag: '🇰🇷' },
24
+ zh: { code: 'zh', name: '中文', flag: '🇨🇳' },
25
+ ar: { code: 'ar', name: 'العربية', flag: '🇸🇦' },
26
+ hi: { code: 'hi', name: 'हिन्दी', flag: '🇮🇳' },
27
+ tr: { code: 'tr', name: 'Türkçe', flag: '🇹🇷' },
28
+ vi: { code: 'vi', name: 'Tiếng Việt', flag: '🇻🇳' },
29
+ th: { code: 'th', name: 'ไทย', flag: '🇹🇭' },
30
+ sv: { code: 'sv', name: 'Svenska', flag: '🇸🇪' },
31
+ da: { code: 'da', name: 'Dansk', flag: '🇩🇰' },
32
+ fi: { code: 'fi', name: 'Suomi', flag: '🇫🇮' },
33
+ no: { code: 'no', name: 'Norsk', flag: '🇳🇴' },
34
+ cs: { code: 'cs', name: 'Čeština', flag: '🇨🇿' },
35
+ el: { code: 'el', name: 'Ελληνικά', flag: '🇬🇷' },
36
+ he: { code: 'he', name: 'עברית', flag: '🇮🇱' },
37
+ id: { code: 'id', name: 'Bahasa Indonesia', flag: '🇮🇩' },
38
+ ms: { code: 'ms', name: 'Bahasa Melayu', flag: '🇲🇾' },
39
+ uk: { code: 'uk', name: 'Українська', flag: '🇺🇦' },
40
+ ro: { code: 'ro', name: 'Română', flag: '🇷🇴' },
41
+ hu: { code: 'hu', name: 'Magyar', flag: '🇭🇺' },
42
+ sk: { code: 'sk', name: 'Slovenčina', flag: '🇸🇰' },
43
+ bg: { code: 'bg', name: 'Български', flag: '🇧🇬' },
44
+ hr: { code: 'hr', name: 'Hrvatski', flag: '🇭🇷' },
45
+ sr: { code: 'sr', name: 'Српски', flag: '🇷🇸' },
46
+ sl: { code: 'sl', name: 'Slovenščina', flag: '🇸🇮' },
47
+ lt: { code: 'lt', name: 'Lietuvių', flag: '🇱🇹' },
48
+ lv: { code: 'lv', name: 'Latviešu', flag: '🇱🇻' },
49
+ et: { code: 'et', name: 'Eesti', flag: '🇪🇪' },
50
+ };
51
+ // All switcher styles are floating overlays — position: fixed with configurable corner
52
+ const STYLES = `
53
+ .lionrapid-switcher {
54
+ position: fixed;
55
+ z-index: 999999;
56
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
57
+ font-size: 14px;
58
+ }
59
+ .lionrapid-switcher[data-position="top-left"] { top: 20px; left: 20px; }
60
+ .lionrapid-switcher[data-position="top-right"] { top: 20px; right: 20px; }
61
+ .lionrapid-switcher[data-position="bottom-left"] { bottom: 20px; left: 20px; }
62
+ .lionrapid-switcher[data-position="bottom-right"] { bottom: 20px; right: 20px; }
63
+
64
+ /* Floating style: button + dropdown menu */
65
+ .lionrapid-floating-btn {
66
+ display: flex;
67
+ align-items: center;
68
+ gap: 4px;
69
+ padding: 8px 16px;
70
+ background: #fff;
71
+ border: 1px solid #ddd;
72
+ border-radius: 8px;
73
+ cursor: pointer;
74
+ box-shadow: 0 2px 8px rgba(0,0,0,0.1);
75
+ font-size: 14px;
76
+ color: #333;
77
+ }
78
+ .lionrapid-floating-menu {
79
+ display: none;
80
+ position: absolute;
81
+ margin: 4px 0;
82
+ background: #fff;
83
+ border: 1px solid #ddd;
84
+ border-radius: 8px;
85
+ box-shadow: 0 2px 8px rgba(0,0,0,0.1);
86
+ overflow: hidden;
87
+ min-width: 150px;
88
+ }
89
+ .lionrapid-floating-menu.open { display: block; }
90
+ .lionrapid-floating-menu button {
91
+ display: block;
92
+ width: 100%;
93
+ padding: 8px 16px;
94
+ text-align: left;
95
+ background: none;
96
+ border: none;
97
+ cursor: pointer;
98
+ color: #333;
99
+ white-space: nowrap;
100
+ font-size: 14px;
101
+ }
102
+ .lionrapid-floating-menu button:hover { background: #f5f5f5; }
103
+ .lionrapid-floating-menu button.active { font-weight: 700; background: #f0f0f0; }
104
+
105
+ /* Buttons + Flags styles: row of buttons */
106
+ .lionrapid-btn-row {
107
+ display: flex;
108
+ gap: 0;
109
+ background: #fff;
110
+ border: 1px solid #ddd;
111
+ border-radius: 8px;
112
+ box-shadow: 0 2px 8px rgba(0,0,0,0.1);
113
+ overflow: hidden;
114
+ }
115
+ .lionrapid-btn-row button {
116
+ padding: 8px 12px;
117
+ font-size: 14px;
118
+ border: none;
119
+ border-right: 1px solid #eee;
120
+ background: #fff;
121
+ cursor: pointer;
122
+ color: #333;
123
+ white-space: nowrap;
124
+ transition: background 0.15s;
125
+ }
126
+ .lionrapid-btn-row button:last-child { border-right: none; }
127
+ .lionrapid-btn-row button:hover { background: #f5f5f5; }
128
+ .lionrapid-btn-row button.active { background: #3b82f6; color: #fff; }
129
+ `;
130
+ export class LanguageSwitcher {
131
+ core = null;
132
+ languages = [];
133
+ initialLocale = 'en';
134
+ onLanguageChange = null;
135
+ stylesInjected = false;
136
+ constructor() { }
137
+ /**
138
+ * Set the core instance
139
+ */
140
+ setCore(core) {
141
+ this.core = core;
142
+ }
143
+ /**
144
+ * Set initial locale (used before core is available)
145
+ */
146
+ setInitialLocale(locale) {
147
+ this.initialLocale = locale;
148
+ }
149
+ /**
150
+ * Set available languages
151
+ */
152
+ setLanguages(languages) {
153
+ this.languages = languages.map((lang) => {
154
+ if (typeof lang === 'string') {
155
+ return DEFAULT_LANGUAGES[lang] || { code: lang, name: lang };
156
+ }
157
+ return lang;
158
+ });
159
+ }
160
+ /**
161
+ * Set callback for language changes
162
+ */
163
+ setOnLanguageChange(callback) {
164
+ this.onLanguageChange = callback;
165
+ }
166
+ /**
167
+ * Initialize all switchers on the page
168
+ */
169
+ initAll() {
170
+ this.injectStyles();
171
+ const switchers = document.querySelectorAll('[data-lionrapid-switcher]');
172
+ switchers.forEach((element) => this.initSwitcher(element));
173
+ }
174
+ /**
175
+ * Initialize a single switcher element
176
+ */
177
+ initSwitcher(element) {
178
+ const style = (element.dataset.lionrapidSwitcher || 'floating');
179
+ const currentLocale = this.core?.getCurrentLocale() || this.initialLocale;
180
+ // Clear existing content
181
+ element.innerHTML = '';
182
+ element.classList.add('lionrapid-switcher');
183
+ element.setAttribute('data-no-translate', '');
184
+ element.setAttribute('translate', 'no');
185
+ // Read config from data attributes
186
+ const position = element.dataset.lionrapidSwitcherPosition || 'top-right';
187
+ const showFlags = element.dataset.lionrapidSwitcherShowFlags !== 'false';
188
+ const showNames = element.dataset.lionrapidSwitcherShowNames !== 'false';
189
+ const customCss = element.dataset.lionrapidSwitcherCustomCss || null;
190
+ // Set position for CSS
191
+ element.dataset.position = position;
192
+ // Inject custom CSS if provided
193
+ if (customCss) {
194
+ const styleEl = document.createElement('style');
195
+ styleEl.textContent = customCss;
196
+ document.head.appendChild(styleEl);
197
+ }
198
+ switch (style) {
199
+ case 'flags':
200
+ this.renderButtonRow(element, currentLocale, true, true);
201
+ break;
202
+ case 'buttons':
203
+ this.renderButtonRow(element, currentLocale, showFlags, showNames);
204
+ break;
205
+ case 'floating':
206
+ default:
207
+ this.renderFloating(element, currentLocale, position, showFlags, showNames);
208
+ break;
209
+ }
210
+ }
211
+ /**
212
+ * Render floating style (button showing current language → click opens dropdown menu)
213
+ */
214
+ renderFloating(container, currentLocale, position, showFlags, showNames) {
215
+ // Menu position: anchor above or below button, left or right aligned
216
+ const menuStyle = {};
217
+ if (position.startsWith('bottom')) {
218
+ menuStyle.bottom = '100%';
219
+ }
220
+ else {
221
+ menuStyle.top = '100%';
222
+ }
223
+ if (position.endsWith('left')) {
224
+ menuStyle.left = '0';
225
+ }
226
+ else {
227
+ menuStyle.right = '0';
228
+ }
229
+ const formatLabel = (lang) => {
230
+ const flag = showFlags ? (lang.flag || '') : '';
231
+ const name = showNames ? lang.name : lang.code.toUpperCase();
232
+ return `${flag}${flag && name ? ' ' : ''}${name}`;
233
+ };
234
+ // Current language display
235
+ const currentLang = this.languages.find((l) => l.code === currentLocale) || this.languages[0];
236
+ const currentLabel = currentLang ? formatLabel(currentLang) : currentLocale;
237
+ // Button
238
+ const btn = document.createElement('button');
239
+ btn.type = 'button';
240
+ btn.className = 'lionrapid-floating-btn';
241
+ btn.setAttribute('aria-expanded', 'false');
242
+ btn.setAttribute('aria-haspopup', 'true');
243
+ btn.textContent = `${currentLabel} \u25BE`;
244
+ // Menu
245
+ const menu = document.createElement('div');
246
+ menu.className = 'lionrapid-floating-menu';
247
+ Object.assign(menu.style, menuStyle);
248
+ for (const lang of this.languages) {
249
+ const item = document.createElement('button');
250
+ item.type = 'button';
251
+ item.dataset.lang = lang.code;
252
+ item.textContent = formatLabel(lang);
253
+ if (lang.code === currentLocale) {
254
+ item.classList.add('active');
255
+ }
256
+ item.addEventListener('click', () => {
257
+ this.handleLanguageChange(lang.code);
258
+ btn.textContent = formatLabel(lang) + ' \u25BE';
259
+ menu.querySelectorAll('button').forEach((b) => {
260
+ b.classList.toggle('active', b.dataset.lang === lang.code);
261
+ });
262
+ menu.classList.remove('open');
263
+ btn.setAttribute('aria-expanded', 'false');
264
+ });
265
+ menu.appendChild(item);
266
+ }
267
+ // Toggle menu on button click
268
+ btn.addEventListener('click', (e) => {
269
+ e.stopPropagation();
270
+ const isOpen = menu.classList.contains('open');
271
+ menu.classList.toggle('open', !isOpen);
272
+ btn.setAttribute('aria-expanded', String(!isOpen));
273
+ });
274
+ // Close on outside click
275
+ document.addEventListener('click', () => {
276
+ menu.classList.remove('open');
277
+ btn.setAttribute('aria-expanded', 'false');
278
+ });
279
+ container.appendChild(btn);
280
+ container.appendChild(menu);
281
+ }
282
+ /**
283
+ * Render button row style (used for both "buttons" and "flags")
284
+ */
285
+ renderButtonRow(container, currentLocale, showFlags, showNames) {
286
+ const row = document.createElement('div');
287
+ row.className = 'lionrapid-btn-row';
288
+ for (const lang of this.languages) {
289
+ const button = document.createElement('button');
290
+ button.type = 'button';
291
+ button.dataset.lang = lang.code;
292
+ const flag = showFlags ? (lang.flag || '') : '';
293
+ const name = showNames ? lang.name : lang.code.toUpperCase();
294
+ button.textContent = `${flag}${flag && name ? ' ' : ''}${name}`;
295
+ if (lang.code === currentLocale) {
296
+ button.classList.add('active');
297
+ }
298
+ button.addEventListener('click', () => {
299
+ this.handleLanguageChange(lang.code);
300
+ row.querySelectorAll('button').forEach((btn) => {
301
+ btn.classList.toggle('active', btn.dataset.lang === lang.code);
302
+ });
303
+ });
304
+ row.appendChild(button);
305
+ }
306
+ container.appendChild(row);
307
+ }
308
+ /**
309
+ * Handle language change — update all switchers on page + fire callback
310
+ */
311
+ handleLanguageChange(locale) {
312
+ if (this.onLanguageChange) {
313
+ this.onLanguageChange(locale);
314
+ }
315
+ // Update all button row states
316
+ document.querySelectorAll('.lionrapid-btn-row button').forEach((btn) => {
317
+ const button = btn;
318
+ button.classList.toggle('active', button.dataset.lang === locale);
319
+ });
320
+ }
321
+ /**
322
+ * Inject minimal styles
323
+ */
324
+ injectStyles() {
325
+ if (this.stylesInjected)
326
+ return;
327
+ const styleElement = document.createElement('style');
328
+ styleElement.textContent = STYLES;
329
+ document.head.appendChild(styleElement);
330
+ this.stylesInjected = true;
331
+ }
332
+ /**
333
+ * Get language info by code
334
+ */
335
+ static getLanguage(code) {
336
+ return DEFAULT_LANGUAGES[code];
337
+ }
338
+ }
339
+ //# sourceMappingURL=language-switcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-switcher.js","sourceRoot":"","sources":["../../src/browser/language-switcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,qCAAqC;AACrC,MAAM,iBAAiB,GAA6B;IAClD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;IACjD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;IACjD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;IAClD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;IACjD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;IAClD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;IACnD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;IACpD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;IAChD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;IACjD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7C,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7C,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IAC5C,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;IACjD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;IAChD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;IAChD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;IACpD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;IAC7C,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;IACjD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/C,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/C,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/C,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;IACjD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;IAClD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/C,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE;IAC1D,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE;IACvD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;IACpD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;IAChD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;IAChD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;IACpD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;IACnD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;IAClD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;IAChD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;IACrD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;IAClD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;IAClD,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;CAChD,CAAC;AAEF,uFAAuF;AACvF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Ed,CAAC;AAEF,MAAM,OAAO,gBAAgB;IACnB,IAAI,GAAyB,IAAI,CAAC;IAClC,SAAS,GAAe,EAAE,CAAC;IAC3B,aAAa,GAAG,IAAI,CAAC;IACrB,gBAAgB,GAAsC,IAAI,CAAC;IAC3D,cAAc,GAAG,KAAK,CAAC;IAE/B,gBAAe,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,IAAmB;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,MAAc;QAC7B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAAgC;QAC3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC/D,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,QAAkC;QACpD,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;QACzE,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,OAAsB,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAAoB;QAC/B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,IAAI,UAAU,CAAkB,CAAC;QACjF,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC;QAE1E,yBAAyB;QACzB,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;QACvB,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC5C,OAAO,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAExC,mCAAmC;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,IAAI,WAAW,CAAC;QAC1E,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,0BAA0B,KAAK,OAAO,CAAC;QACzE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,0BAA0B,KAAK,OAAO,CAAC;QACzE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,0BAA0B,IAAI,IAAI,CAAC;QAErE,uBAAuB;QACvB,OAAO,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEpC,gCAAgC;QAChC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,OAAO;gBACV,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACzD,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBACnE,MAAM;YACR,KAAK,UAAU,CAAC;YAChB;gBACE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC5E,MAAM;QACV,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CACpB,SAAsB,EACtB,aAAqB,EACrB,QAAgB,EAChB,SAAkB,EAClB,SAAkB;QAElB,qEAAqE;QACrE,MAAM,SAAS,GAAiC,EAAE,CAAC;QACnD,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC;QACzB,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,KAAK,GAAG,GAAG,CAAC;QACxB,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,IAAc,EAAU,EAAE;YAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7D,OAAO,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;QACpD,CAAC,CAAC;QAEF,2BAA2B;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9F,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAE5E,SAAS;QACT,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7C,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;QACpB,GAAG,CAAC,SAAS,GAAG,wBAAwB,CAAC;QACzC,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3C,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC1C,GAAG,CAAC,WAAW,GAAG,GAAG,YAAY,SAAS,CAAC;QAE3C,OAAO;QACP,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,yBAAyB,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAErC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;gBAChD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC5C,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9B,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAED,8BAA8B;QAC9B,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YAClC,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;YACvC,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3B,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,eAAe,CACrB,SAAsB,EACtB,aAAqB,EACrB,SAAkB,EAClB,SAAkB;QAElB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,GAAG,mBAAmB,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvB,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAEhC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7D,MAAM,CAAC,WAAW,GAAG,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;YAEhE,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC7C,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjE,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAED,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,MAAc;QACzC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,+BAA+B;QAC/B,QAAQ,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrE,MAAM,MAAM,GAAG,GAAwB,CAAC;YACxC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAEhC,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrD,YAAY,CAAC,WAAW,GAAG,MAAM,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAY;QAC7B,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF"}