@brillout/docpress 0.15.10-commit-e9efbd3 → 0.15.10-commit-af2d9bc

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 (38) hide show
  1. package/components/CodeSnippets/useSelectCodeLang.ts +61 -0
  2. package/components/CodeSnippets.css +47 -0
  3. package/components/CodeSnippets.tsx +80 -45
  4. package/css/tooltip.css +10 -2
  5. package/detypePlugin.ts +73 -48
  6. package/dist/+config.js +1 -1
  7. package/dist/NavItemComponent.js +38 -46
  8. package/dist/components/CodeBlockTransformer.js +2 -3
  9. package/dist/components/CodeSnippets/useSelectCodeLang.d.ts +7 -0
  10. package/dist/components/CodeSnippets/useSelectCodeLang.js +51 -0
  11. package/dist/components/CodeSnippets.d.ts +10 -6
  12. package/dist/components/CodeSnippets.js +66 -94
  13. package/dist/components/Comment.js +1 -2
  14. package/dist/components/FileRemoved.js +4 -6
  15. package/dist/components/HorizontalLine.js +1 -2
  16. package/dist/components/ImportMeta.js +2 -3
  17. package/dist/components/Link.js +34 -50
  18. package/dist/components/Note.js +17 -29
  19. package/dist/components/P.js +1 -12
  20. package/dist/components/RepoLink.js +7 -9
  21. package/dist/determineNavItemsColumnLayout.js +48 -63
  22. package/dist/detypePlugin.js +84 -120
  23. package/dist/parseMarkdownMini.js +5 -17
  24. package/dist/parsePageSections.js +41 -82
  25. package/dist/renderer/usePageContext.js +6 -7
  26. package/dist/resolvePageContext.js +91 -103
  27. package/dist/utils/Emoji/Emoji.js +13 -21
  28. package/dist/utils/assert.js +14 -16
  29. package/dist/utils/cls.js +1 -1
  30. package/dist/utils/determineSectionUrlHash.js +5 -5
  31. package/dist/utils/filter.js +2 -2
  32. package/dist/utils/getGlobalObject.js +3 -3
  33. package/dist/vite.config.js +7 -7
  34. package/package.json +1 -1
  35. package/tsconfig.json +2 -1
  36. package/dist/utils/useSelectedLanguage.d.ts +0 -7
  37. package/dist/utils/useSelectedLanguage.js +0 -49
  38. package/utils/useSelectedLanguage.ts +0 -61
@@ -1,61 +0,0 @@
1
- export { useSelectedLanguage }
2
-
3
- import { useState, useEffect, useCallback } from 'react'
4
-
5
- const key = 'docpress:selectedLang'
6
- const defaultSsrLang = 'ts'
7
- const defaultClientLang = 'js'
8
-
9
- declare global {
10
- interface WindowEventMap {
11
- 'lang-storage': CustomEvent
12
- }
13
- }
14
-
15
- function useSelectedLanguage() {
16
- const [selectedLang, setSelectedLang] = useState(defaultSsrLang)
17
-
18
- const getValue = () => {
19
- try {
20
- return localStorage.getItem(key) ?? defaultClientLang
21
- } catch (error) {
22
- console.warn('Error reading from localStorage:', error)
23
- return defaultClientLang
24
- }
25
- }
26
-
27
- const setValue = useCallback((value: string) => {
28
- try {
29
- window.localStorage.setItem(key, value)
30
- setSelectedLang(value)
31
- window.dispatchEvent(new CustomEvent('lang-storage'))
32
- } catch (error) {
33
- console.warn('Error setting localStorage:', error)
34
- }
35
- }, [])
36
-
37
- useEffect(() => {
38
- // Initial load from localStorage
39
- setSelectedLang(getValue())
40
- // Update language in current tab
41
- const handleCustomEvent = () => {
42
- setSelectedLang(getValue())
43
- }
44
- // Update language if changed in another tab
45
- const handleNativeStorage = (event: StorageEvent) => {
46
- if (event.key === key) {
47
- setSelectedLang(getValue())
48
- }
49
- }
50
-
51
- window.addEventListener('lang-storage', handleCustomEvent)
52
- window.addEventListener('storage', handleNativeStorage)
53
-
54
- return () => {
55
- window.removeEventListener('lang-storage', handleCustomEvent)
56
- window.removeEventListener('storage', handleNativeStorage)
57
- }
58
- }, [])
59
-
60
- return [selectedLang, setValue] as const
61
- }