docs-please 0.2.3 → 0.2.5

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 (34) hide show
  1. package/app/components/app/AppSearch.vue +2 -2
  2. package/app/components/content/Caution.vue +2 -2
  3. package/app/components/content/Note.vue +2 -2
  4. package/app/components/content/ProseTable.vue +4 -1
  5. package/app/components/content/Tip.vue +2 -2
  6. package/app/components/content/UButton.vue +1 -1
  7. package/app/components/content/Warning.vue +2 -2
  8. package/app/components/ui/command/Command.vue +11 -11
  9. package/app/components/ui/command/CommandDialog.vue +3 -3
  10. package/app/components/ui/command/CommandEmpty.vue +13 -9
  11. package/app/components/ui/command/CommandGroup.vue +12 -9
  12. package/app/components/ui/command/CommandInput.vue +12 -9
  13. package/app/components/ui/command/CommandItem.vue +8 -8
  14. package/app/components/ui/command/CommandList.vue +10 -7
  15. package/app/components/ui/command/CommandSeparator.vue +6 -6
  16. package/app/components/ui/command/CommandShortcut.vue +2 -2
  17. package/app/components/ui/command/index.ts +13 -13
  18. package/app/components/ui/dialog/Dialog.vue +2 -2
  19. package/app/components/ui/dialog/DialogClose.vue +2 -2
  20. package/app/components/ui/dialog/DialogContent.vue +8 -8
  21. package/app/components/ui/dialog/DialogDescription.vue +6 -6
  22. package/app/components/ui/dialog/DialogFooter.vue +2 -2
  23. package/app/components/ui/dialog/DialogHeader.vue +2 -2
  24. package/app/components/ui/dialog/DialogOverlay.vue +6 -6
  25. package/app/components/ui/dialog/DialogScrollContent.vue +7 -7
  26. package/app/components/ui/dialog/DialogTitle.vue +6 -6
  27. package/app/components/ui/dialog/DialogTrigger.vue +2 -2
  28. package/app/components/ui/dialog/index.ts +10 -10
  29. package/app/components/ui/kbd/Kbd.vue +2 -2
  30. package/app/components/ui/kbd/KbdGroup.vue +2 -2
  31. package/app/components/ui/kbd/index.ts +2 -2
  32. package/app/composables/useContentSearch.ts +2 -2
  33. package/nuxt.config.ts +4 -1
  34. package/package.json +12 -12
@@ -17,7 +17,7 @@ import {
17
17
  DialogHeader,
18
18
  DialogTitle,
19
19
  } from '~/components/ui/dialog'
20
- import { flattenNavigation, useContentSearch } from '~/composables/useContentSearch'
20
+ import { flattenNavigationToSearchItems, useContentSearch } from '~/composables/useContentSearch'
21
21
 
22
22
  const router = useRouter()
23
23
  const colorMode = useColorMode()
@@ -27,7 +27,7 @@ const { data: navigation } = await useNavigation()
27
27
  const searchTerm = ref('')
28
28
 
29
29
  // Flatten navigation for search
30
- const searchItems = computed(() => flattenNavigation(navigation.value))
30
+ const searchItems = computed(() => flattenNavigationToSearchItems(navigation.value))
31
31
 
32
32
  // Fuse search
33
33
  const { results } = useFuse(searchTerm, searchItems, {
@@ -11,8 +11,8 @@ defineProps<{
11
11
  <template>
12
12
  <Callout
13
13
  type="caution"
14
- :title
15
- :class
14
+ :title="title"
15
+ :class="$attrs.class"
16
16
  >
17
17
  <template
18
18
  v-if="$slots.title"
@@ -11,8 +11,8 @@ defineProps<{
11
11
  <template>
12
12
  <Callout
13
13
  type="note"
14
- :title
15
- :class
14
+ :title="title"
15
+ :class="$attrs.class"
16
16
  >
17
17
  <template
18
18
  v-if="$slots.title"
@@ -12,7 +12,10 @@ const props = defineProps<{
12
12
  </script>
13
13
 
14
14
  <template>
15
- <div data-slot="prose-table" class="no-scrollbar my-6 w-full overflow-hidden rounded-lg border">
15
+ <div
16
+ data-slot="prose-table"
17
+ class="no-scrollbar my-6 w-full overflow-hidden rounded-lg border"
18
+ >
16
19
  <table
17
20
  :class="cn(
18
21
  'w-full border-collapse text-sm',
@@ -11,8 +11,8 @@ defineProps<{
11
11
  <template>
12
12
  <Callout
13
13
  type="tip"
14
- :title
15
- :class
14
+ :title="title"
15
+ :class="$attrs.class"
16
16
  >
17
17
  <template
18
18
  v-if="$slots.title"
@@ -8,7 +8,7 @@ interface Props extends NuxtLinkProps {
8
8
  size?: ButtonVariants['size']
9
9
  }
10
10
 
11
- const props = withDefaults(defineProps<Props>(), {
11
+ withDefaults(defineProps<Props>(), {
12
12
  size: 'default',
13
13
  variant: 'default',
14
14
  })
@@ -11,8 +11,8 @@ defineProps<{
11
11
  <template>
12
12
  <Callout
13
13
  type="warning"
14
- :title
15
- :class
14
+ :title="title"
15
+ :class="$attrs.class"
16
16
  >
17
17
  <template
18
18
  v-if="$slots.title"
@@ -1,28 +1,28 @@
1
1
  <script setup lang="ts">
2
- import type { ListboxRootEmits, ListboxRootProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { ListboxRoot, useFilter, useForwardPropsEmits } from "reka-ui"
6
- import { reactive, ref, watch } from "vue"
2
+ import type { ListboxRootEmits, ListboxRootProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { ListboxRoot, useFilter, useForwardPropsEmits } from 'reka-ui'
6
+ import { reactive, ref, watch } from 'vue'
7
7
  import { cn } from '~/lib/utils'
8
- import { provideCommandContext } from "."
8
+ import { provideCommandContext } from '.'
9
9
 
10
- const props = withDefaults(defineProps<ListboxRootProps & { class?: HTMLAttributes["class"] }>(), {
11
- modelValue: "",
10
+ const props = withDefaults(defineProps<ListboxRootProps & { class?: HTMLAttributes['class'] }>(), {
11
+ modelValue: '',
12
12
  })
13
13
 
14
14
  const emits = defineEmits<ListboxRootEmits>()
15
15
 
16
- const delegatedProps = reactiveOmit(props, "class")
16
+ const delegatedProps = reactiveOmit(props, 'class')
17
17
 
18
18
  const forwarded = useForwardPropsEmits(delegatedProps, emits)
19
19
 
20
20
  const allItems = ref<Map<string, string>>(new Map())
21
21
  const allGroups = ref<Map<string, Set<string>>>(new Map())
22
22
 
23
- const { contains } = useFilter({ sensitivity: "base" })
23
+ const { contains } = useFilter({ sensitivity: 'base' })
24
24
  const filterState = reactive({
25
- search: "",
25
+ search: '',
26
26
  filtered: {
27
27
  /** The count of all visible items. */
28
28
  count: 0,
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
- import type { DialogRootEmits, DialogRootProps } from "reka-ui"
3
- import { useForwardPropsEmits } from "reka-ui"
2
+ import type { DialogRootEmits, DialogRootProps } from 'reka-ui'
3
+ import { useForwardPropsEmits } from 'reka-ui'
4
4
  import { Dialog, DialogContent } from '~/components/ui/dialog'
5
- import Command from "./Command.vue"
5
+ import Command from './Command.vue'
6
6
 
7
7
  const props = defineProps<DialogRootProps>()
8
8
  const emits = defineEmits<DialogRootEmits>()
@@ -1,15 +1,15 @@
1
1
  <script setup lang="ts">
2
- import type { PrimitiveProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { Primitive } from "reka-ui"
6
- import { computed } from "vue"
2
+ import type { PrimitiveProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { Primitive } from 'reka-ui'
6
+ import { computed } from 'vue'
7
7
  import { cn } from '~/lib/utils'
8
- import { useCommand } from "."
8
+ import { useCommand } from '.'
9
9
 
10
- const props = defineProps<PrimitiveProps & { class?: HTMLAttributes["class"] }>()
10
+ const props = defineProps<PrimitiveProps & { class?: HTMLAttributes['class'] }>()
11
11
 
12
- const delegatedProps = reactiveOmit(props, "class")
12
+ const delegatedProps = reactiveOmit(props, 'class')
13
13
 
14
14
  const { filterState } = useCommand()
15
15
  const isRender = computed(() => !!filterState.search && filterState.filtered.count === 0,
@@ -17,7 +17,11 @@ const isRender = computed(() => !!filterState.search && filterState.filtered.cou
17
17
  </script>
18
18
 
19
19
  <template>
20
- <Primitive v-if="isRender" v-bind="delegatedProps" :class="cn('py-6 text-center text-sm', props.class)">
20
+ <Primitive
21
+ v-if="isRender"
22
+ v-bind="delegatedProps"
23
+ :class="cn('py-6 text-center text-sm', props.class)"
24
+ >
21
25
  <slot />
22
26
  </Primitive>
23
27
  </template>
@@ -1,18 +1,18 @@
1
1
  <script setup lang="ts">
2
- import type { ListboxGroupProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { ListboxGroup, ListboxGroupLabel, useId } from "reka-ui"
6
- import { computed, onMounted, onUnmounted } from "vue"
2
+ import type { ListboxGroupProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { ListboxGroup, ListboxGroupLabel, useId } from 'reka-ui'
6
+ import { computed, onMounted, onUnmounted } from 'vue'
7
7
  import { cn } from '~/lib/utils'
8
- import { provideCommandGroupContext, useCommand } from "."
8
+ import { provideCommandGroupContext, useCommand } from '.'
9
9
 
10
10
  const props = defineProps<ListboxGroupProps & {
11
- class?: HTMLAttributes["class"]
11
+ class?: HTMLAttributes['class']
12
12
  heading?: string
13
13
  }>()
14
14
 
15
- const delegatedProps = reactiveOmit(props, "class")
15
+ const delegatedProps = reactiveOmit(props, 'class')
16
16
 
17
17
  const { allGroups, filterState } = useCommand()
18
18
  const id = useId()
@@ -36,7 +36,10 @@ onUnmounted(() => {
36
36
  :class="cn('overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground', props.class)"
37
37
  :hidden="isRender ? undefined : true"
38
38
  >
39
- <ListboxGroupLabel v-if="heading" class="px-2 py-1.5 text-xs font-medium text-muted-foreground">
39
+ <ListboxGroupLabel
40
+ v-if="heading"
41
+ class="px-2 py-1.5 text-xs font-medium text-muted-foreground"
42
+ >
40
43
  {{ heading }}
41
44
  </ListboxGroupLabel>
42
45
  <slot />
@@ -1,21 +1,21 @@
1
1
  <script setup lang="ts">
2
- import type { ListboxFilterProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { Search } from "lucide-vue-next"
6
- import { ListboxFilter, useForwardProps } from "reka-ui"
2
+ import type { ListboxFilterProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { Search } from 'lucide-vue-next'
6
+ import { ListboxFilter, useForwardProps } from 'reka-ui'
7
7
  import { cn } from '~/lib/utils'
8
- import { useCommand } from "."
8
+ import { useCommand } from '.'
9
9
 
10
10
  defineOptions({
11
11
  inheritAttrs: false,
12
12
  })
13
13
 
14
14
  const props = defineProps<ListboxFilterProps & {
15
- class?: HTMLAttributes["class"]
15
+ class?: HTMLAttributes['class']
16
16
  }>()
17
17
 
18
- const delegatedProps = reactiveOmit(props, "class")
18
+ const delegatedProps = reactiveOmit(props, 'class')
19
19
 
20
20
  const forwardedProps = useForwardProps(delegatedProps)
21
21
 
@@ -23,7 +23,10 @@ const { filterState } = useCommand()
23
23
  </script>
24
24
 
25
25
  <template>
26
- <div class="flex items-center border-b px-3" cmdk-input-wrapper>
26
+ <div
27
+ class="flex items-center border-b px-3"
28
+ cmdk-input-wrapper
29
+ >
27
30
  <Search class="mr-2 h-4 w-4 shrink-0 opacity-50" />
28
31
  <ListboxFilter
29
32
  v-bind="{ ...forwardedProps, ...$attrs }"
@@ -1,16 +1,16 @@
1
1
  <script setup lang="ts">
2
- import type { ListboxItemEmits, ListboxItemProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit, useCurrentElement } from "@vueuse/core"
5
- import { ListboxItem, useForwardPropsEmits, useId } from "reka-ui"
6
- import { computed, onMounted, onUnmounted, ref } from "vue"
2
+ import type { ListboxItemEmits, ListboxItemProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit, useCurrentElement } from '@vueuse/core'
5
+ import { ListboxItem, useForwardPropsEmits, useId } from 'reka-ui'
6
+ import { computed, onMounted, onUnmounted, ref } from 'vue'
7
7
  import { cn } from '~/lib/utils'
8
- import { useCommand, useCommandGroup } from "."
8
+ import { useCommand, useCommandGroup } from '.'
9
9
 
10
- const props = defineProps<ListboxItemProps & { class?: HTMLAttributes["class"] }>()
10
+ const props = defineProps<ListboxItemProps & { class?: HTMLAttributes['class'] }>()
11
11
  const emits = defineEmits<ListboxItemEmits>()
12
12
 
13
- const delegatedProps = reactiveOmit(props, "class")
13
+ const delegatedProps = reactiveOmit(props, 'class')
14
14
 
15
15
  const forwarded = useForwardPropsEmits(delegatedProps, emits)
16
16
 
@@ -1,19 +1,22 @@
1
1
  <script setup lang="ts">
2
- import type { ListboxContentProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { ListboxContent, useForwardProps } from "reka-ui"
2
+ import type { ListboxContentProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { ListboxContent, useForwardProps } from 'reka-ui'
6
6
  import { cn } from '~/lib/utils'
7
7
 
8
- const props = defineProps<ListboxContentProps & { class?: HTMLAttributes["class"] }>()
8
+ const props = defineProps<ListboxContentProps & { class?: HTMLAttributes['class'] }>()
9
9
 
10
- const delegatedProps = reactiveOmit(props, "class")
10
+ const delegatedProps = reactiveOmit(props, 'class')
11
11
 
12
12
  const forwarded = useForwardProps(delegatedProps)
13
13
  </script>
14
14
 
15
15
  <template>
16
- <ListboxContent v-bind="forwarded" :class="cn('max-h-[300px] overflow-y-auto overflow-x-hidden', props.class)">
16
+ <ListboxContent
17
+ v-bind="forwarded"
18
+ :class="cn('max-h-[300px] overflow-y-auto overflow-x-hidden', props.class)"
19
+ >
17
20
  <div role="presentation">
18
21
  <slot />
19
22
  </div>
@@ -1,13 +1,13 @@
1
1
  <script setup lang="ts">
2
- import type { SeparatorProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { Separator } from "reka-ui"
2
+ import type { SeparatorProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { Separator } from 'reka-ui'
6
6
  import { cn } from '~/lib/utils'
7
7
 
8
- const props = defineProps<SeparatorProps & { class?: HTMLAttributes["class"] }>()
8
+ const props = defineProps<SeparatorProps & { class?: HTMLAttributes['class'] }>()
9
9
 
10
- const delegatedProps = reactiveOmit(props, "class")
10
+ const delegatedProps = reactiveOmit(props, 'class')
11
11
  </script>
12
12
 
13
13
  <template>
@@ -1,9 +1,9 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
2
+ import type { HTMLAttributes } from 'vue'
3
3
  import { cn } from '~/lib/utils'
4
4
 
5
5
  const props = defineProps<{
6
- class?: HTMLAttributes["class"]
6
+ class?: HTMLAttributes['class']
7
7
  }>()
8
8
  </script>
9
9
 
@@ -1,15 +1,15 @@
1
- import type { Ref } from "vue"
2
- import { createContext } from "reka-ui"
1
+ import type { Ref } from 'vue'
2
+ import { createContext } from 'reka-ui'
3
3
 
4
- export { default as Command } from "./Command.vue"
5
- export { default as CommandDialog } from "./CommandDialog.vue"
6
- export { default as CommandEmpty } from "./CommandEmpty.vue"
7
- export { default as CommandGroup } from "./CommandGroup.vue"
8
- export { default as CommandInput } from "./CommandInput.vue"
9
- export { default as CommandItem } from "./CommandItem.vue"
10
- export { default as CommandList } from "./CommandList.vue"
11
- export { default as CommandSeparator } from "./CommandSeparator.vue"
12
- export { default as CommandShortcut } from "./CommandShortcut.vue"
4
+ export { default as Command } from './Command.vue'
5
+ export { default as CommandDialog } from './CommandDialog.vue'
6
+ export { default as CommandEmpty } from './CommandEmpty.vue'
7
+ export { default as CommandGroup } from './CommandGroup.vue'
8
+ export { default as CommandInput } from './CommandInput.vue'
9
+ export { default as CommandItem } from './CommandItem.vue'
10
+ export { default as CommandList } from './CommandList.vue'
11
+ export { default as CommandSeparator } from './CommandSeparator.vue'
12
+ export { default as CommandShortcut } from './CommandShortcut.vue'
13
13
 
14
14
  export const [useCommand, provideCommandContext] = createContext<{
15
15
  allItems: Ref<Map<string, string>>
@@ -18,8 +18,8 @@ export const [useCommand, provideCommandContext] = createContext<{
18
18
  search: string
19
19
  filtered: { count: number, items: Map<string, number>, groups: Set<string> }
20
20
  }
21
- }>("Command")
21
+ }>('Command')
22
22
 
23
23
  export const [useCommandGroup, provideCommandGroupContext] = createContext<{
24
24
  id?: string
25
- }>("CommandGroup")
25
+ }>('CommandGroup')
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
- import type { DialogRootEmits, DialogRootProps } from "reka-ui"
3
- import { DialogRoot, useForwardPropsEmits } from "reka-ui"
2
+ import type { DialogRootEmits, DialogRootProps } from 'reka-ui'
3
+ import { DialogRoot, useForwardPropsEmits } from 'reka-ui'
4
4
 
5
5
  const props = defineProps<DialogRootProps>()
6
6
  const emits = defineEmits<DialogRootEmits>()
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
- import type { DialogCloseProps } from "reka-ui"
3
- import { DialogClose } from "reka-ui"
2
+ import type { DialogCloseProps } from 'reka-ui'
3
+ import { DialogClose } from 'reka-ui'
4
4
 
5
5
  const props = defineProps<DialogCloseProps>()
6
6
  </script>
@@ -1,27 +1,27 @@
1
1
  <script setup lang="ts">
2
- import type { DialogContentEmits, DialogContentProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { X } from "lucide-vue-next"
2
+ import type { DialogContentEmits, DialogContentProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { X } from 'lucide-vue-next'
6
6
  import {
7
7
  DialogClose,
8
8
  DialogContent,
9
9
  DialogPortal,
10
10
  useForwardPropsEmits,
11
- } from "reka-ui"
11
+ } from 'reka-ui'
12
12
  import { cn } from '~/lib/utils'
13
- import DialogOverlay from "./DialogOverlay.vue"
13
+ import DialogOverlay from './DialogOverlay.vue'
14
14
 
15
15
  defineOptions({
16
16
  inheritAttrs: false,
17
17
  })
18
18
 
19
- const props = withDefaults(defineProps<DialogContentProps & { class?: HTMLAttributes["class"], showCloseButton?: boolean }>(), {
19
+ const props = withDefaults(defineProps<DialogContentProps & { class?: HTMLAttributes['class'], showCloseButton?: boolean }>(), {
20
20
  showCloseButton: true,
21
21
  })
22
22
  const emits = defineEmits<DialogContentEmits>()
23
23
 
24
- const delegatedProps = reactiveOmit(props, "class")
24
+ const delegatedProps = reactiveOmit(props, 'class')
25
25
 
26
26
  const forwarded = useForwardPropsEmits(delegatedProps, emits)
27
27
  </script>
@@ -1,13 +1,13 @@
1
1
  <script setup lang="ts">
2
- import type { DialogDescriptionProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { DialogDescription, useForwardProps } from "reka-ui"
2
+ import type { DialogDescriptionProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { DialogDescription, useForwardProps } from 'reka-ui'
6
6
  import { cn } from '~/lib/utils'
7
7
 
8
- const props = defineProps<DialogDescriptionProps & { class?: HTMLAttributes["class"] }>()
8
+ const props = defineProps<DialogDescriptionProps & { class?: HTMLAttributes['class'] }>()
9
9
 
10
- const delegatedProps = reactiveOmit(props, "class")
10
+ const delegatedProps = reactiveOmit(props, 'class')
11
11
 
12
12
  const forwardedProps = useForwardProps(delegatedProps)
13
13
  </script>
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
2
+ import type { HTMLAttributes } from 'vue'
3
3
  import { cn } from '~/lib/utils'
4
4
 
5
- const props = defineProps<{ class?: HTMLAttributes["class"] }>()
5
+ const props = defineProps<{ class?: HTMLAttributes['class'] }>()
6
6
  </script>
7
7
 
8
8
  <template>
@@ -1,9 +1,9 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
2
+ import type { HTMLAttributes } from 'vue'
3
3
  import { cn } from '~/lib/utils'
4
4
 
5
5
  const props = defineProps<{
6
- class?: HTMLAttributes["class"]
6
+ class?: HTMLAttributes['class']
7
7
  }>()
8
8
  </script>
9
9
 
@@ -1,13 +1,13 @@
1
1
  <script setup lang="ts">
2
- import type { DialogOverlayProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { DialogOverlay } from "reka-ui"
2
+ import type { DialogOverlayProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { DialogOverlay } from 'reka-ui'
6
6
  import { cn } from '~/lib/utils'
7
7
 
8
- const props = defineProps<DialogOverlayProps & { class?: HTMLAttributes["class"] }>()
8
+ const props = defineProps<DialogOverlayProps & { class?: HTMLAttributes['class'] }>()
9
9
 
10
- const delegatedProps = reactiveOmit(props, "class")
10
+ const delegatedProps = reactiveOmit(props, 'class')
11
11
  </script>
12
12
 
13
13
  <template>
@@ -1,25 +1,25 @@
1
1
  <script setup lang="ts">
2
- import type { DialogContentEmits, DialogContentProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { X } from "lucide-vue-next"
2
+ import type { DialogContentEmits, DialogContentProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { X } from 'lucide-vue-next'
6
6
  import {
7
7
  DialogClose,
8
8
  DialogContent,
9
9
  DialogOverlay,
10
10
  DialogPortal,
11
11
  useForwardPropsEmits,
12
- } from "reka-ui"
12
+ } from 'reka-ui'
13
13
  import { cn } from '~/lib/utils'
14
14
 
15
15
  defineOptions({
16
16
  inheritAttrs: false,
17
17
  })
18
18
 
19
- const props = defineProps<DialogContentProps & { class?: HTMLAttributes["class"] }>()
19
+ const props = defineProps<DialogContentProps & { class?: HTMLAttributes['class'] }>()
20
20
  const emits = defineEmits<DialogContentEmits>()
21
21
 
22
- const delegatedProps = reactiveOmit(props, "class")
22
+ const delegatedProps = reactiveOmit(props, 'class')
23
23
 
24
24
  const forwarded = useForwardPropsEmits(delegatedProps, emits)
25
25
  </script>
@@ -1,13 +1,13 @@
1
1
  <script setup lang="ts">
2
- import type { DialogTitleProps } from "reka-ui"
3
- import type { HTMLAttributes } from "vue"
4
- import { reactiveOmit } from "@vueuse/core"
5
- import { DialogTitle, useForwardProps } from "reka-ui"
2
+ import type { DialogTitleProps } from 'reka-ui'
3
+ import type { HTMLAttributes } from 'vue'
4
+ import { reactiveOmit } from '@vueuse/core'
5
+ import { DialogTitle, useForwardProps } from 'reka-ui'
6
6
  import { cn } from '~/lib/utils'
7
7
 
8
- const props = defineProps<DialogTitleProps & { class?: HTMLAttributes["class"] }>()
8
+ const props = defineProps<DialogTitleProps & { class?: HTMLAttributes['class'] }>()
9
9
 
10
- const delegatedProps = reactiveOmit(props, "class")
10
+ const delegatedProps = reactiveOmit(props, 'class')
11
11
 
12
12
  const forwardedProps = useForwardProps(delegatedProps)
13
13
  </script>
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
- import type { DialogTriggerProps } from "reka-ui"
3
- import { DialogTrigger } from "reka-ui"
2
+ import type { DialogTriggerProps } from 'reka-ui'
3
+ import { DialogTrigger } from 'reka-ui'
4
4
 
5
5
  const props = defineProps<DialogTriggerProps>()
6
6
  </script>
@@ -1,10 +1,10 @@
1
- export { default as Dialog } from "./Dialog.vue"
2
- export { default as DialogClose } from "./DialogClose.vue"
3
- export { default as DialogContent } from "./DialogContent.vue"
4
- export { default as DialogDescription } from "./DialogDescription.vue"
5
- export { default as DialogFooter } from "./DialogFooter.vue"
6
- export { default as DialogHeader } from "./DialogHeader.vue"
7
- export { default as DialogOverlay } from "./DialogOverlay.vue"
8
- export { default as DialogScrollContent } from "./DialogScrollContent.vue"
9
- export { default as DialogTitle } from "./DialogTitle.vue"
10
- export { default as DialogTrigger } from "./DialogTrigger.vue"
1
+ export { default as Dialog } from './Dialog.vue'
2
+ export { default as DialogClose } from './DialogClose.vue'
3
+ export { default as DialogContent } from './DialogContent.vue'
4
+ export { default as DialogDescription } from './DialogDescription.vue'
5
+ export { default as DialogFooter } from './DialogFooter.vue'
6
+ export { default as DialogHeader } from './DialogHeader.vue'
7
+ export { default as DialogOverlay } from './DialogOverlay.vue'
8
+ export { default as DialogScrollContent } from './DialogScrollContent.vue'
9
+ export { default as DialogTitle } from './DialogTitle.vue'
10
+ export { default as DialogTrigger } from './DialogTrigger.vue'
@@ -1,9 +1,9 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
2
+ import type { HTMLAttributes } from 'vue'
3
3
  import { cn } from '~/lib/utils'
4
4
 
5
5
  const props = defineProps<{
6
- class?: HTMLAttributes["class"]
6
+ class?: HTMLAttributes['class']
7
7
  }>()
8
8
  </script>
9
9
 
@@ -1,9 +1,9 @@
1
1
  <script setup lang="ts">
2
- import type { HTMLAttributes } from "vue"
2
+ import type { HTMLAttributes } from 'vue'
3
3
  import { cn } from '~/lib/utils'
4
4
 
5
5
  const props = defineProps<{
6
- class?: HTMLAttributes["class"]
6
+ class?: HTMLAttributes['class']
7
7
  }>()
8
8
  </script>
9
9
 
@@ -1,2 +1,2 @@
1
- export { default as Kbd } from "./Kbd.vue"
2
- export { default as KbdGroup } from "./KbdGroup.vue"
1
+ export { default as Kbd } from './Kbd.vue'
2
+ export { default as KbdGroup } from './KbdGroup.vue'
@@ -27,7 +27,7 @@ export function useContentSearch() {
27
27
  }
28
28
  }
29
29
 
30
- export function flattenNavigation(items: NavigationItem[], prefix = '', isDocSection = false): SearchItem[] {
30
+ export function flattenNavigationToSearchItems(items: NavigationItem[], prefix = '', isDocSection = false): SearchItem[] {
31
31
  return items.flatMap((item) => {
32
32
  const result: SearchItem[] = []
33
33
  // Determine if this item is a doc page based on parent context or path
@@ -44,7 +44,7 @@ export function flattenNavigation(items: NavigationItem[], prefix = '', isDocSec
44
44
  }
45
45
 
46
46
  if (item.children?.length) {
47
- result.push(...flattenNavigation(item.children, item.title, itemIsDoc))
47
+ result.push(...flattenNavigationToSearchItems(item.children, item.title, itemIsDoc))
48
48
  }
49
49
 
50
50
  return result
package/nuxt.config.ts CHANGED
@@ -79,7 +79,10 @@ export default defineNuxtConfig({
79
79
  },
80
80
  },
81
81
  },
82
- compatibilityDate: '2025-01-01',
82
+ experimental: {
83
+ asyncContext: true,
84
+ },
85
+ compatibilityDate: '2025-07-22',
83
86
  nitro: {
84
87
  prerender: {
85
88
  crawlLinks: true,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "docs-please",
3
3
  "type": "module",
4
- "version": "0.2.3",
4
+ "version": "0.2.5",
5
5
  "description": "Nuxt layer for documentation sites using shadcn-vue",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -34,15 +34,17 @@
34
34
  "nuxt": "4.x"
35
35
  },
36
36
  "dependencies": {
37
- "@iconify-json/lucide": "^1.2.75",
38
- "@nuxt/content": "^3.8.2",
37
+ "@iconify-json/lucide": "^1.2.81",
38
+ "@nuxt/content": "^3.9.0",
39
39
  "@nuxt/eslint": "^1.11.0",
40
40
  "@nuxt/icon": "^2.1.0",
41
41
  "@nuxt/image": "^2.0.0",
42
- "@nuxt/kit": "^4.2.1",
42
+ "@nuxt/kit": "^4.2.2",
43
43
  "@nuxtjs/color-mode": "^4.0.0",
44
- "@nuxtjs/mdc": "^0.18.4",
44
+ "@nuxtjs/mdc": "^0.19.1",
45
+ "@nuxtjs/robots": "^5.6.7",
45
46
  "@tabler/icons-vue": "^3.35.0",
47
+ "@tailwindcss/vite": "^4.1.18",
46
48
  "@vueuse/core": "^14.1.0",
47
49
  "@vueuse/integrations": "^14.1.0",
48
50
  "class-variance-authority": "^0.7.1",
@@ -53,7 +55,8 @@
53
55
  "exsolve": "^1.0.8",
54
56
  "fuse.js": "^7.1.0",
55
57
  "lucide-vue-next": "^0.555.0",
56
- "nuxt-og-image": "^5.1.12",
58
+ "nuxt-llms": "^0.1.3",
59
+ "nuxt-og-image": "^5.1.13",
57
60
  "oxc-parser": "^0.99.0",
58
61
  "parse5": "^7.3.0",
59
62
  "rehype-raw": "^7.0.0",
@@ -62,22 +65,19 @@
62
65
  "remark-gfm": "^4.0.1",
63
66
  "remark-mdc": "^3.5.1",
64
67
  "remark-rehype": "^11.1.2",
65
- "shadcn-nuxt": "2.3.3",
68
+ "shadcn-nuxt": "2.4.3",
66
69
  "slugify": "^1.6.6",
67
70
  "tailwind-merge": "^3.4.0",
68
- "tailwindcss": "^4.1.17",
71
+ "tailwindcss": "^4.1.18",
69
72
  "tw-animate-css": "^1.4.0",
70
73
  "ufo": "^1.6.1",
71
74
  "unified": "^11.0.5",
72
75
  "unist-util-visit": "^5.0.0",
73
- "zod": "^3.25.76",
76
+ "zod": "^4.2.1",
74
77
  "zod-to-json-schema": "^3.25.0"
75
78
  },
76
79
  "devDependencies": {
77
- "@nuxtjs/robots": "^5.6.1",
78
- "@tailwindcss/vite": "^4.1.17",
79
80
  "better-sqlite3": "^11.9.1",
80
- "nuxt-llms": "^0.1.3",
81
81
  "typescript": "^5.9.3",
82
82
  "vue-tsc": "^2.0.0"
83
83
  }