@brillout/docpress 0.16.32 → 0.16.34

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.
package/Layout.tsx CHANGED
@@ -27,7 +27,7 @@ import {
27
27
  } from './MenuModal/toggleMenuModal.js'
28
28
  import { MenuModal } from './MenuModal.js'
29
29
  import { autoScrollNav_SSR } from './autoScrollNav.js'
30
- import { initializeChoiceGroup_SSR } from './code-blocks/hooks/useSelectedChoice.js'
30
+ import { initializeChoiceGroup_SSR } from './code-blocks/hooks/useCurrentSelection.js'
31
31
  import { SearchLink } from './docsearch/SearchLink.js'
32
32
  import { navigate } from 'vike/client/router'
33
33
  import { css } from './utils/css.js'
@@ -1,7 +1,7 @@
1
1
  export { ChoiceGroup, CustomSelectsContainer }
2
2
 
3
3
  import React, { createContext, useContext, useEffect, useState } from 'react'
4
- import { useSelectedChoice } from '../hooks/useSelectedChoice.js'
4
+ import { useCurrentSelection } from '../hooks/useCurrentSelection.js'
5
5
  import { useRestoreScroll } from '../hooks/useRestoreScroll.js'
6
6
  import { cls } from '../../utils/cls.js'
7
7
  import './ChoiceGroup.css'
@@ -51,7 +51,7 @@ function CustomSelectsContainer({ children }: { children: React.ReactNode }) {
51
51
  ...(parentChoiceGroup && {
52
52
  parentChoiceGroup: {
53
53
  ...parentChoiceGroup,
54
- choices: [parentChoiceGroup.choice],
54
+ choices: !choiceGroup.hidden ? [parentChoiceGroup.choice] : [],
55
55
  },
56
56
  }),
57
57
  },
@@ -61,7 +61,9 @@ function CustomSelectsContainer({ children }: { children: React.ReactNode }) {
61
61
  if (!parentChoiceGroup || !existing.parentChoiceGroup) return prev
62
62
 
63
63
  const existingChoices = existing.parentChoiceGroup.choices
64
- const mergedChoices = new Set([...existingChoices, parentChoiceGroup.choice])
64
+ if (!choiceGroup.hidden) existing.parentChoiceGroup.choices.push(parentChoiceGroup.choice)
65
+
66
+ const mergedChoices = new Set([...existing.parentChoiceGroup.choices])
65
67
  if (mergedChoices.size === existingChoices.length) return prev
66
68
 
67
69
  const next = [...prev]
@@ -91,8 +93,7 @@ type ChoiceGroupProps = {
91
93
 
92
94
  function ChoiceGroup({ children, choiceGroup, parentChoiceGroup }: ChoiceGroupProps) {
93
95
  const { name: groupName, choices, default: defaultChoice, lvl } = choiceGroup
94
- // TODO/after-PR-merge rename useSelectedChoice useCurrentSelection
95
- const [selectedChoice] = useSelectedChoice(groupName, defaultChoice)
96
+ const [selectedChoice] = useCurrentSelection(groupName, defaultChoice)
96
97
  const { choiceGroupAll, registerChoiceGroup } = useCustomSelectsContext()
97
98
 
98
99
  useEffect(() => registerChoiceGroup(choiceGroup, parentChoiceGroup), [])
@@ -131,7 +132,7 @@ function CustomSelect({ choiceGroup }: { choiceGroup: ChoiceGroupWithParent }) {
131
132
  hidden,
132
133
  parentChoiceGroup,
133
134
  } = choiceGroup
134
- const [selectedChoice, setSelectedChoice] = useSelectedChoice(groupName, defaultChoice)
135
+ const [selectedChoice, setSelectedChoice] = useCurrentSelection(groupName, defaultChoice)
135
136
  const prevPositionRef = useRestoreScroll([selectedChoice])
136
137
  const [expanded, setExpanded] = useState(false)
137
138
  const selectedIndex = choices.indexOf(selectedChoice)
@@ -151,8 +152,8 @@ function CustomSelect({ choiceGroup }: { choiceGroup: ChoiceGroupWithParent }) {
151
152
  }
152
153
  function isHidden() {
153
154
  if (parentChoiceGroup) {
154
- const [parentSelectedChoice] = useSelectedChoice(parentChoiceGroup.name, parentChoiceGroup.default)
155
- return !parentChoiceGroup.choices.includes(parentSelectedChoice) || hidden
155
+ const [parentSelectedChoice] = useCurrentSelection(parentChoiceGroup.name, parentChoiceGroup.default)
156
+ return !parentChoiceGroup.choices.includes(parentSelectedChoice)
156
157
  }
157
158
  return hidden
158
159
  }
@@ -1,4 +1,4 @@
1
- export { useSelectedChoice }
1
+ export { useCurrentSelection }
2
2
  export { initializeChoiceGroup_SSR }
3
3
 
4
4
  import { useLocalStorage } from './useLocalStorage.js'
@@ -12,7 +12,7 @@ const keyPrefix = 'docpress'
12
12
  * @param defaultValue Default choice value.
13
13
  * @returns `[selectedChoice, setSelectedChoice]`.
14
14
  */
15
- function useSelectedChoice(choiceGroupName: string, defaultValue: string) {
15
+ function useCurrentSelection(choiceGroupName: string, defaultValue: string) {
16
16
  return useLocalStorage(`${keyPrefix}:choice:${choiceGroupName}`, defaultValue)
17
17
  }
18
18
 
package/icons/index.ts CHANGED
@@ -1,14 +1,21 @@
1
1
  // Playground: https://www.figma.com/design/EFFQgT1aDH5exs2bABaIFJ/Icons?t=y0K2dHfJgpxMIl1e-0
2
- export { default as iconGear } from './gear.svg'
2
+ export { default as iconBluesky } from './bluesky.svg'
3
3
  export { default as iconBooks } from './books.svg'
4
- export { default as iconSeedling } from './seedling.svg'
5
- export { default as iconMagnifyingGlass } from './magnifying-glass.svg'
6
- export { default as iconPencil } from './pencil.svg'
4
+ export { default as iconChangelog } from './changelog.svg'
5
+ export { default as iconCoin } from './coin.svg'
7
6
  export { default as iconCompass } from './compass.svg'
8
- export { default as iconScroll } from './scroll.svg'
7
+ export { default as iconDiscord } from './discord.svg'
8
+ export { default as iconEyes } from './eyes.svg'
9
+ export { default as iconGear } from './gear.svg'
10
+ export { default as iconGithub } from './github.svg'
9
11
  export { default as iconGlobe } from './globe.svg'
10
- export { default as iconPlug } from './plug.svg'
12
+ export { default as iconLanguages } from './languages.svg'
13
+ export { default as iconLinkedin } from './linkedin.svg'
11
14
  export { default as iconLoudspeaker } from './loudspeaker.svg'
15
+ export { default as iconMagnifyingGlass } from './magnifying-glass.svg'
12
16
  export { default as iconMegaphone } from './megaphone.svg'
13
- export { default as iconCoin } from './coin.svg'
14
- export { default as iconEyes } from './eyes.svg'
17
+ export { default as iconPencil } from './pencil.svg'
18
+ export { default as iconPlug } from './plug.svg'
19
+ export { default as iconScroll } from './scroll.svg'
20
+ export { default as iconSeedling } from './seedling.svg'
21
+ export { default as iconTwitter } from './twitter.svg'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brillout/docpress",
3
- "version": "0.16.32",
3
+ "version": "0.16.34",
4
4
  "type": "module",
5
5
  "dependencies": {
6
6
  "@brillout/picocolors": "^1.0.10",