@baybreezy/docd 0.1.9 → 0.1.11

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 (93) hide show
  1. package/app/assets/css/shadcn.css +612 -0
  2. package/app/assets/css/tailwind.css +1 -1
  3. package/app/components/Ui/Avatar/Avatar.vue +7 -19
  4. package/app/components/Ui/Avatar/Badge.vue +1 -1
  5. package/app/components/Ui/Avatar/Fallback.vue +2 -2
  6. package/app/components/Ui/Avatar/Group.vue +1 -1
  7. package/app/components/Ui/Avatar/GroupCount.vue +1 -1
  8. package/app/components/Ui/Avatar/Image.vue +2 -2
  9. package/app/components/Ui/Badge.vue +6 -6
  10. package/app/components/Ui/BadgeGroup.vue +6 -6
  11. package/app/components/Ui/BgPattern/Grid.vue +3 -2
  12. package/app/components/Ui/BorderBeam.vue +10 -30
  13. package/app/components/Ui/Breadcrumbs.vue +5 -10
  14. package/app/components/Ui/Button.vue +23 -18
  15. package/app/components/Ui/ButtonGroup/ButtonGroup.vue +3 -4
  16. package/app/components/Ui/ButtonGroup/Separator.vue +2 -6
  17. package/app/components/Ui/ButtonGroup/Text.vue +1 -3
  18. package/app/components/Ui/Card/Action.vue +1 -1
  19. package/app/components/Ui/Card/Card.vue +4 -4
  20. package/app/components/Ui/Card/Content.vue +2 -2
  21. package/app/components/Ui/Card/Description.vue +2 -2
  22. package/app/components/Ui/Card/Footer.vue +1 -1
  23. package/app/components/Ui/Card/Header.vue +1 -1
  24. package/app/components/Ui/Card/Title.vue +2 -2
  25. package/app/components/Ui/Collapsible/Content.vue +1 -1
  26. package/app/components/Ui/Command/Command.vue +4 -18
  27. package/app/components/Ui/Command/Dialog.vue +2 -6
  28. package/app/components/Ui/Command/Footer.vue +1 -1
  29. package/app/components/Ui/Command/Group.vue +1 -1
  30. package/app/components/Ui/Command/Input.vue +1 -1
  31. package/app/components/Ui/Command/Item.vue +5 -5
  32. package/app/components/Ui/Command/List.vue +1 -1
  33. package/app/components/Ui/Command/Separator.vue +1 -1
  34. package/app/components/Ui/Command/Shortcut.vue +2 -2
  35. package/app/components/Ui/Container.vue +2 -2
  36. package/app/components/Ui/ContextMenu/Arrow.vue +2 -2
  37. package/app/components/Ui/ContextMenu/CheckboxItem.vue +3 -3
  38. package/app/components/Ui/ContextMenu/Content.vue +2 -2
  39. package/app/components/Ui/ContextMenu/Item.vue +6 -8
  40. package/app/components/Ui/ContextMenu/ItemIndicator.vue +1 -1
  41. package/app/components/Ui/ContextMenu/Label.vue +3 -3
  42. package/app/components/Ui/ContextMenu/RadioItem.vue +3 -3
  43. package/app/components/Ui/ContextMenu/Separator.vue +1 -1
  44. package/app/components/Ui/ContextMenu/Shortcut.vue +1 -3
  45. package/app/components/Ui/ContextMenu/SubContent.vue +2 -2
  46. package/app/components/Ui/ContextMenu/SubTrigger.vue +4 -4
  47. package/app/components/Ui/Dialog/Content.vue +7 -7
  48. package/app/components/Ui/Dialog/Description.vue +2 -2
  49. package/app/components/Ui/Dialog/Footer.vue +1 -1
  50. package/app/components/Ui/Dialog/Header.vue +1 -1
  51. package/app/components/Ui/Dialog/Overlay.vue +1 -1
  52. package/app/components/Ui/Dialog/Title.vue +2 -2
  53. package/app/components/Ui/Divider.vue +8 -14
  54. package/app/components/Ui/Drawer/Description.vue +2 -6
  55. package/app/components/Ui/Drawer/Footer.vue +1 -3
  56. package/app/components/Ui/Drawer/Header.vue +1 -3
  57. package/app/components/Ui/Drawer/Title.vue +2 -6
  58. package/app/components/Ui/DropdownMenu/Arrow.vue +2 -2
  59. package/app/components/Ui/DropdownMenu/CheckboxItem.vue +3 -3
  60. package/app/components/Ui/DropdownMenu/Content.vue +2 -2
  61. package/app/components/Ui/DropdownMenu/Item.vue +6 -6
  62. package/app/components/Ui/DropdownMenu/ItemIndicator.vue +2 -2
  63. package/app/components/Ui/DropdownMenu/Label.vue +3 -3
  64. package/app/components/Ui/DropdownMenu/RadioItem.vue +3 -3
  65. package/app/components/Ui/DropdownMenu/Separator.vue +1 -1
  66. package/app/components/Ui/DropdownMenu/Shortcut.vue +1 -1
  67. package/app/components/Ui/DropdownMenu/SubContent.vue +3 -3
  68. package/app/components/Ui/DropdownMenu/SubTrigger.vue +5 -5
  69. package/app/components/Ui/FancyIcon.vue +5 -15
  70. package/app/components/Ui/GradientDivider.vue +16 -3
  71. package/app/components/Ui/IframeLazy.vue +10 -15
  72. package/app/components/Ui/Input.vue +12 -11
  73. package/app/components/Ui/InputGroup/Addon.vue +2 -3
  74. package/app/components/Ui/InputGroup/Button.vue +1 -0
  75. package/app/components/Ui/InputGroup/InputGroup.vue +1 -3
  76. package/app/components/Ui/InputGroup/Text.vue +1 -3
  77. package/app/components/Ui/Kbd/Group.vue +1 -3
  78. package/app/components/Ui/Kbd/Kbd.vue +7 -5
  79. package/app/components/Ui/Label.vue +2 -4
  80. package/app/components/Ui/ScrollArea/ScrollArea.vue +47 -4
  81. package/app/components/Ui/ScrollArea/Scrollbar.vue +1 -1
  82. package/app/components/Ui/ScrollArea/Thumb.vue +1 -1
  83. package/app/components/Ui/ScrollArea/Viewport.vue +1 -1
  84. package/app/components/Ui/Scrollspy.vue +1 -3
  85. package/app/components/Ui/Separator.vue +1 -3
  86. package/app/components/Ui/Skeleton.vue +2 -2
  87. package/app/components/Ui/Tabs/Content.vue +1 -1
  88. package/app/components/Ui/Tabs/Indicator.vue +1 -1
  89. package/app/components/Ui/Tabs/List.vue +1 -1
  90. package/app/components/Ui/Tabs/Trigger.vue +2 -2
  91. package/app/components/Ui/Textarea.vue +10 -10
  92. package/app/components/Ui/Tooltip/Arrow.vue +1 -1
  93. package/package.json +9 -9
@@ -19,9 +19,7 @@
19
19
  });
20
20
 
21
21
  export type InputGroupText = PrimitiveProps & {
22
- /**
23
- * Additional classes to apply to the input group addon container.
24
- */
22
+ /** Additional classes to apply to the input group addon container. */
25
23
  class?: HTMLAttributes["class"];
26
24
  };
27
25
  </script>
@@ -19,9 +19,7 @@
19
19
  });
20
20
 
21
21
  export type KbdGroupProps = PrimitiveProps & {
22
- /**
23
- * Additional classes to apply to the parent element.
24
- */
22
+ /** Additional classes to apply to the parent element. */
25
23
  class?: HTMLAttributes["class"];
26
24
  };
27
25
  </script>
@@ -17,16 +17,18 @@
17
17
  defineProps<
18
18
  PrimitiveProps & {
19
19
  /**
20
- * The size of the component
20
+ * The size of the component.
21
+ *
21
22
  * @default "sm"
22
- * */
23
+ */
23
24
  size?: VariantProps<typeof styles>["size"];
24
- /** Custom class(es) to add to the parent */
25
+ /** Custom class(es) to add to the parent. */
25
26
  class?: HTMLAttributes["class"];
26
27
  /**
27
- * The variant of the component
28
+ * The variant of the component.
29
+ *
28
30
  * @default "solid"
29
- * */
31
+ */
30
32
  variant?: VariantProps<typeof styles>["variant"];
31
33
  }
32
34
  >(),
@@ -20,11 +20,9 @@
20
20
  import type { HTMLAttributes } from "vue";
21
21
 
22
22
  export type LabelProps = LP & {
23
- /** Custom class(es) to add to the label */
23
+ /** Custom class(es) to add to the label. */
24
24
  class?: HTMLAttributes["class"];
25
- /**
26
- * Optional hint text to display alongside the label.
27
- */
25
+ /** Optional hint text to display alongside the label. */
28
26
  hint?: string;
29
27
  };
30
28
  </script>
@@ -1,5 +1,6 @@
1
1
  <template>
2
2
  <ScrollAreaRoot
3
+ ref="scrollArea"
3
4
  data-slot="scroll-area"
4
5
  v-bind="forwarded"
5
6
  :class="styles({ class: normalizeClass(props.class) || undefined })"
@@ -21,9 +22,9 @@
21
22
  const props = withDefaults(
22
23
  defineProps<
23
24
  ScrollAreaRootProps & {
24
- /** Orientation for scrolling */
25
+ /** Orientation for scrolling. */
25
26
  orientation?: "vertical" | "horizontal";
26
- /** Custom class(es) to add to the parent */
27
+ /** Custom class(es) to add to the parent. */
27
28
  class?: HTMLAttributes["class"];
28
29
  }
29
30
  >(),
@@ -31,8 +32,50 @@
31
32
  orientation: "vertical",
32
33
  }
33
34
  );
35
+
36
+ const scrollAreaRef = useTemplateRef<InstanceType<typeof ScrollAreaRoot>>("scrollArea");
37
+
38
+ /** The viewport element of the scroll area. */
39
+ const viewport = computed(() => scrollAreaRef.value?.viewport);
40
+ /** The maximum scrollTop value (content height minus visible height). */
41
+ const top = computed(() => {
42
+ const vp = viewport.value;
43
+ if (!vp) return 0;
44
+ return vp.scrollHeight - vp.clientHeight;
45
+ });
46
+ /** Scrolls the viewport to the specified position. */
47
+ const scrollTo = (options: ScrollToOptions) => {
48
+ if (!viewport.value) return;
49
+ viewport.value.scrollTo(options);
50
+ };
51
+ /** Scrolls the viewport to the bottom. */
52
+ function scrollToBottom() {
53
+ const vp = viewport.value;
54
+ if (vp) {
55
+ vp.scrollTo({ top: vp.scrollHeight - vp.clientHeight, behavior: "smooth" });
56
+ }
57
+ }
58
+
34
59
  const forwarded = reactiveOmit(props, "class");
35
- const styles = tv({
36
- base: "relative",
60
+ const styles = tv({ base: "relative" });
61
+
62
+ defineExpose({
63
+ /** Scrolls the viewport to the specified position. */
64
+ scrollTo,
65
+ /** The maximum scrollTop value (content height minus visible height). */
66
+ top,
67
+ /** The viewport element of the scroll area. */
68
+ viewport,
69
+ /** Scrolls the viewport to the top. */
70
+ scrollTop: () => scrollAreaRef.value?.scrollTop(),
71
+ /** Scrolls the viewport to the top-left corner. */
72
+ scrollTopLeft: () => scrollAreaRef.value?.scrollTopLeft(),
73
+ /** Scrolls the viewport to the bottom. */
74
+ scrollToBottom,
37
75
  });
76
+
77
+ defineSlots<{
78
+ /** The content of the scroll area. */
79
+ default: (_?: any) => any;
80
+ }>();
38
81
  </script>
@@ -18,7 +18,7 @@
18
18
  const props = withDefaults(
19
19
  defineProps<
20
20
  ScrollAreaScrollbarProps & {
21
- /** Class to apply to the scrollbar */
21
+ /** Class to apply to the scrollbar. */
22
22
  class?: HTMLAttributes["class"];
23
23
  }
24
24
  >(),
@@ -17,7 +17,7 @@
17
17
  const props = withDefaults(
18
18
  defineProps<
19
19
  ScrollAreaThumbProps & {
20
- /** Custom class(es) to add to the parent */
20
+ /** Custom class(es) to add to the parent. */
21
21
  class?: HTMLAttributes["class"];
22
22
  orientation?: "vertical" | "horizontal";
23
23
  }
@@ -16,7 +16,7 @@
16
16
 
17
17
  const props = defineProps<
18
18
  ScrollAreaViewportProps & {
19
- /** Custom class(es) to add to the parent */
19
+ /** Custom class(es) to add to the parent. */
20
20
  class?: HTMLAttributes["class"];
21
21
  }
22
22
  >();
@@ -28,9 +28,7 @@
28
28
  mode?: "single" | "multiple";
29
29
  /** Optional callback on change (also emits 'change'). */
30
30
  onUpdate?: (id: string) => void;
31
- /**
32
- * Additional classes to apply to the wrapper element.
33
- */
31
+ /** Additional classes to apply to the wrapper element. */
34
32
  class?: HTMLAttributes["class"];
35
33
  }>(),
36
34
  {
@@ -13,9 +13,7 @@
13
13
  import type { HTMLAttributes } from "vue";
14
14
 
15
15
  export type UiSeparatorProps = SeparatorProps & {
16
- /**
17
- * Custom class(es) to add to the separator
18
- */
16
+ /** Custom class(es) to add to the separator. */
19
17
  class?: HTMLAttributes["class"];
20
18
  };
21
19
  </script>
@@ -24,9 +24,9 @@
24
24
  const props = withDefaults(
25
25
  defineProps<
26
26
  PrimitiveProps & {
27
- /** Custom class(es) to add to parent element */
27
+ /** Custom class(es) to add to parent element. */
28
28
  class?: HTMLAttributes["class"];
29
- /** Whether the skeleton is loading */
29
+ /** Whether the skeleton is loading. */
30
30
  loading?: boolean;
31
31
  }
32
32
  >(),
@@ -16,7 +16,7 @@
16
16
 
17
17
  const props = defineProps<
18
18
  TabsContentProps & {
19
- /** Custom class(es) to add to parent element */
19
+ /** Custom class(es) to add to parent element. */
20
20
  class?: HTMLAttributes["class"];
21
21
  }
22
22
  >();
@@ -26,7 +26,7 @@
26
26
 
27
27
  const props = defineProps<
28
28
  TabsIndicatorProps & {
29
- /** Custom class(es) to add to parent element */
29
+ /** Custom class(es) to add to parent element. */
30
30
  class?: HTMLAttributes["class"];
31
31
  }
32
32
  >();
@@ -17,7 +17,7 @@
17
17
  const props = withDefaults(
18
18
  defineProps<
19
19
  TabsListProps & {
20
- /** Custom class(es) to add to parent element */
20
+ /** Custom class(es) to add to parent element. */
21
21
  class?: HTMLAttributes["class"];
22
22
  pill?: boolean;
23
23
  }
@@ -17,9 +17,9 @@
17
17
  const props = withDefaults(
18
18
  defineProps<
19
19
  TabsTriggerProps & {
20
- /** Custom class(es) to add to parent element */
20
+ /** Custom class(es) to add to parent element. */
21
21
  class?: HTMLAttributes["class"];
22
- /** Whether the trigger should be pill-shaped */
22
+ /** Whether the trigger should be pill-shaped. */
23
23
  pill?: boolean;
24
24
  }
25
25
  >(),
@@ -14,25 +14,25 @@
14
14
  import type { HTMLAttributes, TextareaHTMLAttributes } from "vue";
15
15
 
16
16
  export type TextareaProps = {
17
- /** Additional classes to add to the textarea */
17
+ /** Additional classes to add to the textarea. */
18
18
  class?: HTMLAttributes["class"];
19
- /** The name of the textarea */
19
+ /** The name of the textarea. */
20
20
  name?: TextareaHTMLAttributes["name"];
21
- /** The id of the textarea */
21
+ /** The id of the textarea. */
22
22
  id?: TextareaHTMLAttributes["id"];
23
- /** The placeholder of the textarea */
23
+ /** The placeholder of the textarea. */
24
24
  placeholder?: TextareaHTMLAttributes["placeholder"];
25
- /** Whether the textarea is required */
25
+ /** Whether the textarea is required. */
26
26
  required?: boolean;
27
- /** Whether the textarea is disabled */
27
+ /** Whether the textarea is disabled. */
28
28
  disabled?: boolean;
29
- /** The number of rows to display */
29
+ /** The number of rows to display. */
30
30
  rows?: number;
31
- /** The value of the textarea */
31
+ /** The value of the textarea. */
32
32
  modelValue?: string;
33
- /** The maximum number of characters allowed */
33
+ /** The maximum number of characters allowed. */
34
34
  maxlength?: number;
35
- /** The `RegExp` pattern of the textarea */
35
+ /** The `RegExp` pattern of the textarea. */
36
36
  pattern?: string;
37
37
  /** Whether the textarea should be focused when mounted. */
38
38
  autofocus?: boolean;
@@ -15,7 +15,7 @@
15
15
  const props = withDefaults(
16
16
  defineProps<
17
17
  TooltipArrowProps & {
18
- /** Additional classes for the tooltip arrow */
18
+ /** Additional classes for the tooltip arrow. */
19
19
  class?: HTMLAttributes["class"];
20
20
  }
21
21
  >(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baybreezy/docd",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "A Nuxt layer for building documentation sites with UI Thing.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,7 +31,7 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@baybreezy/file-extension-icon": "^0.0.5",
34
- "@iconify-json/lucide": "^1.2.111",
34
+ "@iconify-json/lucide": "^1.2.114",
35
35
  "@iconify-json/material-icon-theme": "^1.2.67",
36
36
  "@iconify-json/simple-icons": "^1.2.86",
37
37
  "@iconify/utils": "^3.1.3",
@@ -44,14 +44,14 @@
44
44
  "@nuxtjs/color-mode": "^4.0.1",
45
45
  "@nuxtjs/mcp-toolkit": "^0.17.2",
46
46
  "@nuxtjs/mdc": "^0.22.0",
47
- "@nuxtjs/robots": "^6.0.9",
47
+ "@nuxtjs/robots": "^6.1.1",
48
48
  "@tailwindcss/forms": "^0.5.11",
49
49
  "@tailwindcss/typography": "^0.5.20",
50
- "@tailwindcss/vite": "^4.3.0",
51
- "@takumi-rs/core": "^1.7.0",
50
+ "@tailwindcss/vite": "^4.3.1",
51
+ "@takumi-rs/core": "^1.8.7",
52
52
  "@vueuse/core": "^14.3.0",
53
53
  "@vueuse/nuxt": "^14.3.0",
54
- "better-sqlite3": "^12.10.0",
54
+ "better-sqlite3": "^12.11.1",
55
55
  "defu": "^6.1.7",
56
56
  "git-url-parse": "^16.1.0",
57
57
  "lodash-es": "^4.18.1",
@@ -60,13 +60,13 @@
60
60
  "nuxt-component-meta": "^0.17.2",
61
61
  "nuxt-gtag": "4.1.0",
62
62
  "nuxt-llms": "^0.2.0",
63
- "nuxt-og-image": "^6.5.3",
63
+ "nuxt-og-image": "^6.6.0",
64
64
  "pkg-types": "^2.3.1",
65
- "reka-ui": "^2.9.9",
65
+ "reka-ui": "^2.10.0",
66
66
  "shiki": "^4.2.0",
67
67
  "tailwind-merge": "^3.6.0",
68
68
  "tailwind-variants": "^3.2.2",
69
- "tailwindcss": "^4.3.0",
69
+ "tailwindcss": "^4.3.1",
70
70
  "tw-animate-css": "^1.4.0",
71
71
  "ufo": "^1.6.4",
72
72
  "vaul-vue": "^0.4.1",