@blogmcp/mdx-render-vue 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 (249) hide show
  1. package/dist/_virtual/_plugin-vue_export-helper.js +10 -0
  2. package/dist/_virtual/constants.js +4 -0
  3. package/dist/_virtual/index.js +5 -0
  4. package/dist/_virtual/index2.js +4 -0
  5. package/dist/composables/index.d.ts +11 -0
  6. package/dist/composables/index.js +24 -0
  7. package/dist/composables/useAudioPlayer.d.ts +22 -0
  8. package/dist/composables/useAudioPlayer.js +58 -0
  9. package/dist/composables/useCallout.d.ts +43 -0
  10. package/dist/composables/useCallout.js +71 -0
  11. package/dist/composables/useCodeBlock.d.ts +23 -0
  12. package/dist/composables/useCodeBlock.js +67 -0
  13. package/dist/composables/useGallery.d.ts +37 -0
  14. package/dist/composables/useGallery.js +84 -0
  15. package/dist/composables/useMedia.d.ts +18 -0
  16. package/dist/composables/useMedia.js +9 -0
  17. package/dist/composables/useYouTube.d.ts +31 -0
  18. package/dist/composables/useYouTube.js +32 -0
  19. package/dist/edit/AlertEdit.vue.d.ts +12 -0
  20. package/dist/edit/AlertEdit.vue.js +4 -0
  21. package/dist/edit/AlertEdit.vue2.js +18 -0
  22. package/dist/edit/AudioPlayerEdit.vue.d.ts +3 -0
  23. package/dist/edit/AudioPlayerEdit.vue.js +117 -0
  24. package/dist/edit/AudioPlayerEdit.vue2.js +4 -0
  25. package/dist/edit/BadgeEdit.vue.d.ts +2 -0
  26. package/dist/edit/BadgeEdit.vue.js +4 -0
  27. package/dist/edit/BadgeEdit.vue2.js +13 -0
  28. package/dist/edit/ButtonEdit.vue.d.ts +2 -0
  29. package/dist/edit/ButtonEdit.vue.js +4 -0
  30. package/dist/edit/ButtonEdit.vue2.js +13 -0
  31. package/dist/edit/CalloutEdit.vue.d.ts +13 -0
  32. package/dist/edit/CalloutEdit.vue.js +85 -0
  33. package/dist/edit/CalloutEdit.vue2.js +4 -0
  34. package/dist/edit/CardEdit.vue.d.ts +12 -0
  35. package/dist/edit/CardEdit.vue.js +4 -0
  36. package/dist/edit/CardEdit.vue2.js +18 -0
  37. package/dist/edit/CodeBlockEdit.vue.d.ts +12 -0
  38. package/dist/edit/CodeBlockEdit.vue.js +7 -0
  39. package/dist/edit/CodeBlockEdit.vue2.js +89 -0
  40. package/dist/edit/GalleryEdit.vue.d.ts +3 -0
  41. package/dist/edit/GalleryEdit.vue.js +64 -0
  42. package/dist/edit/GalleryEdit.vue2.js +4 -0
  43. package/dist/edit/IconEdit.vue.d.ts +2 -0
  44. package/dist/edit/IconEdit.vue.js +4 -0
  45. package/dist/edit/IconEdit.vue2.js +13 -0
  46. package/dist/edit/TooltipEdit.vue.d.ts +16 -0
  47. package/dist/edit/TooltipEdit.vue.js +4 -0
  48. package/dist/edit/TooltipEdit.vue2.js +24 -0
  49. package/dist/edit/YouTubeEdit.vue.d.ts +3 -0
  50. package/dist/edit/YouTubeEdit.vue.js +41 -0
  51. package/dist/edit/YouTubeEdit.vue2.js +4 -0
  52. package/dist/edit/index.d.ts +29 -0
  53. package/dist/edit/index.js +35 -0
  54. package/dist/index.d.ts +12 -0
  55. package/dist/index.js +75 -0
  56. package/dist/mdx-render-vue.css +31 -0
  57. package/dist/node_modules/@ark-ui/vue/dist/_virtual/_rolldown/runtime.js +13 -0
  58. package/dist/node_modules/@ark-ui/vue/dist/components/factory.js +35 -0
  59. package/dist/node_modules/@ark-ui/vue/dist/components/presence/use-presence-context.js +6 -0
  60. package/dist/node_modules/@ark-ui/vue/dist/components/presence/use-presence.js +40 -0
  61. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-arrow-tip.js +5 -0
  62. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-arrow-tip.vue_vue_type_script_setup_true_lang.js +21 -0
  63. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-arrow.js +5 -0
  64. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-arrow.vue_vue_type_script_setup_true_lang.js +21 -0
  65. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-content.js +5 -0
  66. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-content.vue_vue_type_script_setup_true_lang.js +25 -0
  67. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-context.js +5 -0
  68. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-context.vue_vue_type_script_setup_true_lang.js +14 -0
  69. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-positioner.js +5 -0
  70. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-positioner.vue_vue_type_script_setup_true_lang.js +23 -0
  71. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-root-provider.js +5 -0
  72. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-root-provider.vue_vue_type_script_setup_true_lang.js +38 -0
  73. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-root.js +5 -0
  74. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-root.vue_vue_type_script_setup_true_lang.js +68 -0
  75. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-trigger.js +5 -0
  76. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip-trigger.vue_vue_type_script_setup_true_lang.js +25 -0
  77. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/tooltip.js +22 -0
  78. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/use-tooltip-context.js +6 -0
  79. package/dist/node_modules/@ark-ui/vue/dist/components/tooltip/use-tooltip.js +36 -0
  80. package/dist/node_modules/@ark-ui/vue/dist/providers/environment/use-environment-context.js +13 -0
  81. package/dist/node_modules/@ark-ui/vue/dist/providers/locale/use-locale-context.js +12 -0
  82. package/dist/node_modules/@ark-ui/vue/dist/utils/clean-props.js +8 -0
  83. package/dist/node_modules/@ark-ui/vue/dist/utils/create-context.js +14 -0
  84. package/dist/node_modules/@ark-ui/vue/dist/utils/dynamic.js +34 -0
  85. package/dist/node_modules/@ark-ui/vue/dist/utils/unref-element.js +8 -0
  86. package/dist/node_modules/@ark-ui/vue/dist/utils/use-forward-expose.js +46 -0
  87. package/dist/node_modules/@ark-ui/vue/dist/utils/use-render-strategy.js +5 -0
  88. package/dist/node_modules/@braintree/sanitize-url/dist/constants.js +20 -0
  89. package/dist/node_modules/@braintree/sanitize-url/dist/index.js +75 -0
  90. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +728 -0
  91. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +629 -0
  92. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +176 -0
  93. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +151 -0
  94. package/dist/node_modules/@iconify/vue/dist/iconify.js +1691 -0
  95. package/dist/node_modules/@zag-js/anatomy/dist/create-anatomy.js +29 -0
  96. package/dist/node_modules/@zag-js/core/dist/create-machine.js +28 -0
  97. package/dist/node_modules/@zag-js/core/dist/merge-props.js +55 -0
  98. package/dist/node_modules/@zag-js/core/dist/scope.js +20 -0
  99. package/dist/node_modules/@zag-js/core/dist/state.js +176 -0
  100. package/dist/node_modules/@zag-js/core/dist/types.js +11 -0
  101. package/dist/node_modules/@zag-js/dom-query/dist/chunk-QZ7TP4HQ.js +6 -0
  102. package/dist/node_modules/@zag-js/dom-query/dist/computed-style.js +11 -0
  103. package/dist/node_modules/@zag-js/dom-query/dist/event.js +37 -0
  104. package/dist/node_modules/@zag-js/dom-query/dist/node.js +64 -0
  105. package/dist/node_modules/@zag-js/dom-query/dist/overflow.js +28 -0
  106. package/dist/node_modules/@zag-js/dom-query/dist/platform.js +23 -0
  107. package/dist/node_modules/@zag-js/dom-query/dist/query.js +6 -0
  108. package/dist/node_modules/@zag-js/dom-query/dist/raf.js +52 -0
  109. package/dist/node_modules/@zag-js/dom-query/dist/set.js +22 -0
  110. package/dist/node_modules/@zag-js/dom-query/dist/shared.js +8 -0
  111. package/dist/node_modules/@zag-js/focus-visible/dist/index.js +159 -0
  112. package/dist/node_modules/@zag-js/popper/dist/get-anchor.js +39 -0
  113. package/dist/node_modules/@zag-js/popper/dist/get-placement.js +296 -0
  114. package/dist/node_modules/@zag-js/popper/dist/get-styles.js +47 -0
  115. package/dist/node_modules/@zag-js/popper/dist/middleware.js +79 -0
  116. package/dist/node_modules/@zag-js/popper/dist/placement.js +7 -0
  117. package/dist/node_modules/@zag-js/presence/dist/presence.connect.js +18 -0
  118. package/dist/node_modules/@zag-js/presence/dist/presence.machine.js +175 -0
  119. package/dist/node_modules/@zag-js/tooltip/dist/tooltip.anatomy.js +7 -0
  120. package/dist/node_modules/@zag-js/tooltip/dist/tooltip.connect.js +155 -0
  121. package/dist/node_modules/@zag-js/tooltip/dist/tooltip.dom.js +24 -0
  122. package/dist/node_modules/@zag-js/tooltip/dist/tooltip.machine.js +416 -0
  123. package/dist/node_modules/@zag-js/tooltip/dist/tooltip.store.js +9 -0
  124. package/dist/node_modules/@zag-js/types/dist/prop-types.js +14 -0
  125. package/dist/node_modules/@zag-js/utils/dist/array.js +7 -0
  126. package/dist/node_modules/@zag-js/utils/dist/equal.js +36 -0
  127. package/dist/node_modules/@zag-js/utils/dist/functions.js +11 -0
  128. package/dist/node_modules/@zag-js/utils/dist/guard.js +26 -0
  129. package/dist/node_modules/@zag-js/utils/dist/object.js +16 -0
  130. package/dist/node_modules/@zag-js/utils/dist/store.js +44 -0
  131. package/dist/node_modules/@zag-js/utils/dist/warning.js +31 -0
  132. package/dist/node_modules/@zag-js/vue/dist/bindable.js +48 -0
  133. package/dist/node_modules/@zag-js/vue/dist/machine.js +258 -0
  134. package/dist/node_modules/@zag-js/vue/dist/normalize-props.js +42 -0
  135. package/dist/node_modules/@zag-js/vue/dist/refs.js +14 -0
  136. package/dist/node_modules/@zag-js/vue/dist/track.js +22 -0
  137. package/dist/node_modules/dompurify/dist/purify.es.js +1190 -0
  138. package/dist/registry.d.ts +76 -0
  139. package/dist/registry.js +164 -0
  140. package/dist/render/alert/Alert.vue.d.ts +18 -0
  141. package/dist/render/alert/Alert.vue.js +4 -0
  142. package/dist/render/alert/Alert.vue2.js +43 -0
  143. package/dist/render/alert/index.d.ts +2 -0
  144. package/dist/render/audioplayer/AudioPlayerDefault.vue.d.ts +3 -0
  145. package/dist/render/audioplayer/AudioPlayerDefault.vue.js +116 -0
  146. package/dist/render/audioplayer/AudioPlayerDefault.vue2.js +4 -0
  147. package/dist/render/audioplayer/index.d.ts +5 -0
  148. package/dist/render/audioplayer/index.js +5 -0
  149. package/dist/render/badge/Badge.vue.d.ts +10 -0
  150. package/dist/render/badge/Badge.vue.js +4 -0
  151. package/dist/render/badge/Badge.vue2.js +28 -0
  152. package/dist/render/badge/index.d.ts +2 -0
  153. package/dist/render/button/Button.vue.d.ts +13 -0
  154. package/dist/render/button/Button.vue.js +4 -0
  155. package/dist/render/button/Button.vue2.js +42 -0
  156. package/dist/render/button/index.d.ts +2 -0
  157. package/dist/render/callout/CalloutDefault.vue.d.ts +13 -0
  158. package/dist/render/callout/CalloutDefault.vue.js +86 -0
  159. package/dist/render/callout/CalloutDefault.vue2.js +4 -0
  160. package/dist/render/callout/CalloutMinimal.vue.d.ts +13 -0
  161. package/dist/render/callout/CalloutMinimal.vue.js +27 -0
  162. package/dist/render/callout/CalloutMinimal.vue2.js +4 -0
  163. package/dist/render/callout/index.d.ts +6 -0
  164. package/dist/render/callout/index.js +7 -0
  165. package/dist/render/card/Card.vue.d.ts +15 -0
  166. package/dist/render/card/Card.vue.js +4 -0
  167. package/dist/render/card/Card.vue2.js +29 -0
  168. package/dist/render/card/index.d.ts +2 -0
  169. package/dist/render/codeblock/CodeBlockDefault.vue.d.ts +12 -0
  170. package/dist/render/codeblock/CodeBlockDefault.vue.js +7 -0
  171. package/dist/render/codeblock/CodeBlockDefault.vue2.js +92 -0
  172. package/dist/render/codeblock/index.d.ts +5 -0
  173. package/dist/render/codeblock/index.js +5 -0
  174. package/dist/render/gallery/GalleryGrid.vue.d.ts +3 -0
  175. package/dist/render/gallery/GalleryGrid.vue.js +125 -0
  176. package/dist/render/gallery/GalleryGrid.vue2.js +4 -0
  177. package/dist/render/gallery/GalleryLightbox.vue.d.ts +16 -0
  178. package/dist/render/gallery/GalleryLightbox.vue.js +7 -0
  179. package/dist/render/gallery/GalleryLightbox.vue2.js +170 -0
  180. package/dist/render/gallery/index.d.ts +6 -0
  181. package/dist/render/gallery/index.js +7 -0
  182. package/dist/render/icon/Icon.vue.d.ts +9 -0
  183. package/dist/render/icon/Icon.vue.js +4 -0
  184. package/dist/render/icon/Icon.vue2.js +25 -0
  185. package/dist/render/icon/index.d.ts +2 -0
  186. package/dist/render/index.d.ts +40 -0
  187. package/dist/render/index.js +63 -0
  188. package/dist/render/tooltip/Tooltip.vue.d.ts +18 -0
  189. package/dist/render/tooltip/Tooltip.vue.js +4 -0
  190. package/dist/render/tooltip/Tooltip.vue2.js +58 -0
  191. package/dist/render/tooltip/index.d.ts +2 -0
  192. package/dist/render/youtube/YouTubeDefault.vue.d.ts +3 -0
  193. package/dist/render/youtube/YouTubeDefault.vue.js +79 -0
  194. package/dist/render/youtube/YouTubeDefault.vue2.js +4 -0
  195. package/dist/render/youtube/index.d.ts +5 -0
  196. package/dist/render/youtube/index.js +5 -0
  197. package/dist/useAudioPlayer.d.ts +22 -0
  198. package/dist/useCallout.d.ts +46 -0
  199. package/dist/useCodeBlock.d.ts +25 -0
  200. package/dist/useGallery.d.ts +44 -0
  201. package/dist/useMedia.d.ts +16 -0
  202. package/dist/useYouTube.d.ts +32 -0
  203. package/package.json +125 -0
  204. package/src/composables/index.ts +16 -0
  205. package/src/composables/useAudioPlayer.ts +84 -0
  206. package/src/composables/useCallout.ts +103 -0
  207. package/src/composables/useCodeBlock.ts +90 -0
  208. package/src/composables/useGallery.ts +143 -0
  209. package/src/composables/useMedia.ts +23 -0
  210. package/src/composables/useYouTube.ts +58 -0
  211. package/src/edit/AlertEdit.vue +9 -0
  212. package/src/edit/AudioPlayerEdit.vue +92 -0
  213. package/src/edit/BadgeEdit.vue +7 -0
  214. package/src/edit/ButtonEdit.vue +10 -0
  215. package/src/edit/CalloutEdit.vue +107 -0
  216. package/src/edit/CardEdit.vue +9 -0
  217. package/src/edit/CodeBlockEdit.vue +76 -0
  218. package/src/edit/GalleryEdit.vue +65 -0
  219. package/src/edit/IconEdit.vue +7 -0
  220. package/src/edit/TooltipEdit.vue +15 -0
  221. package/src/edit/YouTubeEdit.vue +33 -0
  222. package/src/edit/index.ts +32 -0
  223. package/src/index.ts +62 -0
  224. package/src/registry.ts +272 -0
  225. package/src/render/alert/Alert.vue +32 -0
  226. package/src/render/alert/index.ts +2 -0
  227. package/src/render/audioplayer/AudioPlayerDefault.vue +89 -0
  228. package/src/render/audioplayer/index.ts +8 -0
  229. package/src/render/badge/Badge.vue +25 -0
  230. package/src/render/badge/index.ts +2 -0
  231. package/src/render/button/Button.vue +41 -0
  232. package/src/render/button/index.ts +2 -0
  233. package/src/render/callout/CalloutDefault.vue +101 -0
  234. package/src/render/callout/CalloutMinimal.vue +31 -0
  235. package/src/render/callout/index.ts +9 -0
  236. package/src/render/card/Card.vue +15 -0
  237. package/src/render/card/index.ts +2 -0
  238. package/src/render/codeblock/CodeBlockDefault.vue +76 -0
  239. package/src/render/codeblock/index.ts +8 -0
  240. package/src/render/gallery/GalleryGrid.vue +162 -0
  241. package/src/render/gallery/GalleryLightbox.vue +162 -0
  242. package/src/render/gallery/index.ts +9 -0
  243. package/src/render/icon/Icon.vue +22 -0
  244. package/src/render/icon/index.ts +2 -0
  245. package/src/render/index.ts +76 -0
  246. package/src/render/tooltip/Tooltip.vue +35 -0
  247. package/src/render/tooltip/index.ts +2 -0
  248. package/src/render/youtube/YouTubeDefault.vue +72 -0
  249. package/src/render/youtube/index.ts +8 -0
@@ -0,0 +1,117 @@
1
+ import { defineComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, unref, toDisplayString, createTextVNode, normalizeClass, Fragment } from "vue";
2
+ import { useAudioPlayer } from "../composables/useAudioPlayer.js";
3
+ const _hoisted_1 = { class: "audio-player my-4 rounded-lg bg-vscode-bg-secondary p-4 border border-vscode-border" };
4
+ const _hoisted_2 = { class: "flex items-center gap-3 mb-3" };
5
+ const _hoisted_3 = {
6
+ key: 0,
7
+ class: "text-sm text-vscode-text font-medium"
8
+ };
9
+ const _hoisted_4 = {
10
+ key: 1,
11
+ class: "text-sm text-vscode-text-muted italic"
12
+ };
13
+ const _hoisted_5 = ["src"];
14
+ const _hoisted_6 = {
15
+ key: 0,
16
+ class: "mt-3"
17
+ };
18
+ const _hoisted_7 = {
19
+ key: 0,
20
+ class: "mt-2 p-3 bg-vscode-bg rounded border border-vscode-border text-xs text-vscode-text-muted leading-relaxed max-h-48 overflow-y-auto"
21
+ };
22
+ const _hoisted_8 = {
23
+ key: 0,
24
+ class: "italic opacity-60"
25
+ };
26
+ const _hoisted_9 = {
27
+ key: 1,
28
+ class: "italic opacity-60"
29
+ };
30
+ const _hoisted_10 = {
31
+ key: 0,
32
+ class: "mb-2 pb-2 border-b border-vscode-border"
33
+ };
34
+ const _hoisted_11 = { class: "text-vscode-text" };
35
+ const _hoisted_12 = { class: "whitespace-pre-wrap" };
36
+ const _sfc_main = /* @__PURE__ */ defineComponent({
37
+ __name: "AudioPlayerEdit",
38
+ props: {
39
+ slug: {},
40
+ title: {},
41
+ showTranscription: { type: Boolean }
42
+ },
43
+ setup(__props) {
44
+ const props = __props;
45
+ const {
46
+ audioUrl,
47
+ displayTitle,
48
+ hasTitle,
49
+ showTranscription,
50
+ transcriptionText,
51
+ transcriptionSummary,
52
+ transcriptionLoading,
53
+ transcriptionExpanded,
54
+ toggleTranscription
55
+ } = useAudioPlayer(props);
56
+ return (_ctx, _cache) => {
57
+ return openBlock(), createElementBlock("div", _hoisted_1, [
58
+ createElementVNode("div", _hoisted_2, [
59
+ _cache[1] || (_cache[1] = createElementVNode("svg", {
60
+ class: "w-5 h-5 text-vscode-text-muted flex-shrink-0",
61
+ fill: "none",
62
+ stroke: "currentColor",
63
+ viewBox: "0 0 24 24"
64
+ }, [
65
+ createElementVNode("path", {
66
+ "stroke-linecap": "round",
67
+ "stroke-linejoin": "round",
68
+ "stroke-width": "2",
69
+ d: "M15.536 8.464a5 5 0 010 7.072m2.828-9.9a9 9 0 010 12.728M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z"
70
+ })
71
+ ], -1)),
72
+ unref(hasTitle) ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(unref(displayTitle)), 1)) : (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(__props.slug), 1))
73
+ ]),
74
+ createElementVNode("audio", {
75
+ src: unref(audioUrl),
76
+ controls: "",
77
+ preload: "metadata",
78
+ class: "w-full h-8"
79
+ }, null, 8, _hoisted_5),
80
+ unref(showTranscription) ? (openBlock(), createElementBlock("div", _hoisted_6, [
81
+ createElementVNode("button", {
82
+ class: "flex items-center gap-2 text-xs text-vscode-text-muted hover:text-vscode-text transition-colors cursor-pointer bg-transparent border-0 p-0",
83
+ onClick: _cache[0] || (_cache[0] = //@ts-ignore
84
+ (...args) => unref(toggleTranscription) && unref(toggleTranscription)(...args))
85
+ }, [
86
+ (openBlock(), createElementBlock("svg", {
87
+ class: normalizeClass(["w-3.5 h-3.5 transition-transform", { "rotate-90": unref(transcriptionExpanded) }]),
88
+ fill: "none",
89
+ stroke: "currentColor",
90
+ viewBox: "0 0 24 24"
91
+ }, [..._cache[2] || (_cache[2] = [
92
+ createElementVNode("path", {
93
+ "stroke-linecap": "round",
94
+ "stroke-linejoin": "round",
95
+ "stroke-width": "2",
96
+ d: "M9 5l7 7-7 7"
97
+ }, null, -1)
98
+ ])], 2)),
99
+ _cache[3] || (_cache[3] = createTextVNode(" Transcription ", -1))
100
+ ]),
101
+ unref(transcriptionExpanded) ? (openBlock(), createElementBlock("div", _hoisted_7, [
102
+ unref(transcriptionLoading) ? (openBlock(), createElementBlock("p", _hoisted_8, "Loading transcription...")) : !unref(transcriptionText) ? (openBlock(), createElementBlock("p", _hoisted_9, "No transcription available.")) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [
103
+ unref(transcriptionSummary) ? (openBlock(), createElementBlock("div", _hoisted_10, [
104
+ _cache[4] || (_cache[4] = createElementVNode("div", { class: "text-[10px] uppercase tracking-wide opacity-50 mb-0.5" }, "Summary", -1)),
105
+ createElementVNode("div", _hoisted_11, toDisplayString(unref(transcriptionSummary)), 1)
106
+ ])) : createCommentVNode("", true),
107
+ createElementVNode("div", _hoisted_12, toDisplayString(unref(transcriptionText)), 1)
108
+ ], 64))
109
+ ])) : createCommentVNode("", true)
110
+ ])) : createCommentVNode("", true)
111
+ ]);
112
+ };
113
+ }
114
+ });
115
+ export {
116
+ _sfc_main as default
117
+ };
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./AudioPlayerEdit.vue.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./BadgeEdit.vue2.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,13 @@
1
+ import { defineComponent, createBlock, openBlock, normalizeProps, guardReactiveProps } from "vue";
2
+ import _sfc_main$1 from "../render/badge/Badge.vue2.js";
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "BadgeEdit",
5
+ setup(__props) {
6
+ return (_ctx, _cache) => {
7
+ return openBlock(), createBlock(_sfc_main$1, normalizeProps(guardReactiveProps(_ctx.$attrs)), null, 16);
8
+ };
9
+ }
10
+ });
11
+ export {
12
+ _sfc_main as default
13
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./ButtonEdit.vue2.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,13 @@
1
+ import { defineComponent, createBlock, openBlock, normalizeProps, guardReactiveProps } from "vue";
2
+ import _sfc_main$1 from "../render/button/Button.vue2.js";
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "ButtonEdit",
5
+ setup(__props) {
6
+ return (_ctx, _cache) => {
7
+ return openBlock(), createBlock(_sfc_main$1, normalizeProps(guardReactiveProps(_ctx.$attrs)), null, 16);
8
+ };
9
+ }
10
+ });
11
+ export {
12
+ _sfc_main as default
13
+ };
@@ -0,0 +1,13 @@
1
+ import type { CalloutProps } from '@blogmcp/mdx-schema';
2
+ declare var __VLS_1: {};
3
+ type __VLS_Slots = {} & {
4
+ default?: (props: typeof __VLS_1) => any;
5
+ };
6
+ declare const __VLS_component: import("vue").DefineComponent<CalloutProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<CalloutProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
8
+ export default _default;
9
+ type __VLS_WithSlots<T, S> = T & {
10
+ new (): {
11
+ $slots: S;
12
+ };
13
+ };
@@ -0,0 +1,85 @@
1
+ import { defineComponent, createElementBlock, openBlock, normalizeClass, unref, createElementVNode, createCommentVNode, renderSlot } from "vue";
2
+ import { useCallout, calloutIconPaths } from "../composables/useCallout.js";
3
+ const _hoisted_1 = { class: "flex items-start gap-3" };
4
+ const _hoisted_2 = { class: "flex-shrink-0 mt-0.5" };
5
+ const _hoisted_3 = { class: "flex-1 text-sm" };
6
+ const _sfc_main = /* @__PURE__ */ defineComponent({
7
+ __name: "CalloutEdit",
8
+ props: {
9
+ type: {}
10
+ },
11
+ setup(__props) {
12
+ const props = __props;
13
+ const { effectiveType, containerClasses, iconClasses } = useCallout(props);
14
+ calloutIconPaths[effectiveType.value === "info" ? "info-circle" : effectiveType.value === "warning" ? "warning-triangle" : effectiveType.value === "tip" ? "lightbulb" : "alert-circle"];
15
+ return (_ctx, _cache) => {
16
+ return openBlock(), createElementBlock("div", {
17
+ class: normalizeClass(["callout my-4 p-4 rounded-lg border-l-4", unref(containerClasses)])
18
+ }, [
19
+ createElementVNode("div", _hoisted_1, [
20
+ createElementVNode("div", _hoisted_2, [
21
+ unref(effectiveType) === "info" ? (openBlock(), createElementBlock("svg", {
22
+ key: 0,
23
+ class: normalizeClass(["w-5 h-5", unref(iconClasses)]),
24
+ fill: "none",
25
+ stroke: "currentColor",
26
+ viewBox: "0 0 24 24"
27
+ }, [..._cache[0] || (_cache[0] = [
28
+ createElementVNode("path", {
29
+ "stroke-linecap": "round",
30
+ "stroke-linejoin": "round",
31
+ "stroke-width": "2",
32
+ d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
33
+ }, null, -1)
34
+ ])], 2)) : unref(effectiveType) === "warning" ? (openBlock(), createElementBlock("svg", {
35
+ key: 1,
36
+ class: normalizeClass(["w-5 h-5", unref(iconClasses)]),
37
+ fill: "none",
38
+ stroke: "currentColor",
39
+ viewBox: "0 0 24 24"
40
+ }, [..._cache[1] || (_cache[1] = [
41
+ createElementVNode("path", {
42
+ "stroke-linecap": "round",
43
+ "stroke-linejoin": "round",
44
+ "stroke-width": "2",
45
+ d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
46
+ }, null, -1)
47
+ ])], 2)) : unref(effectiveType) === "tip" ? (openBlock(), createElementBlock("svg", {
48
+ key: 2,
49
+ class: normalizeClass(["w-5 h-5", unref(iconClasses)]),
50
+ fill: "none",
51
+ stroke: "currentColor",
52
+ viewBox: "0 0 24 24"
53
+ }, [..._cache[2] || (_cache[2] = [
54
+ createElementVNode("path", {
55
+ "stroke-linecap": "round",
56
+ "stroke-linejoin": "round",
57
+ "stroke-width": "2",
58
+ d: "M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"
59
+ }, null, -1)
60
+ ])], 2)) : unref(effectiveType) === "danger" ? (openBlock(), createElementBlock("svg", {
61
+ key: 3,
62
+ class: normalizeClass(["w-5 h-5", unref(iconClasses)]),
63
+ fill: "none",
64
+ stroke: "currentColor",
65
+ viewBox: "0 0 24 24"
66
+ }, [..._cache[3] || (_cache[3] = [
67
+ createElementVNode("path", {
68
+ "stroke-linecap": "round",
69
+ "stroke-linejoin": "round",
70
+ "stroke-width": "2",
71
+ d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
72
+ }, null, -1)
73
+ ])], 2)) : createCommentVNode("", true)
74
+ ]),
75
+ createElementVNode("div", _hoisted_3, [
76
+ renderSlot(_ctx.$slots, "default")
77
+ ])
78
+ ])
79
+ ], 2);
80
+ };
81
+ }
82
+ });
83
+ export {
84
+ _sfc_main as default
85
+ };
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./CalloutEdit.vue.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,12 @@
1
+ declare var __VLS_5: {};
2
+ type __VLS_Slots = {} & {
3
+ default?: (props: typeof __VLS_5) => any;
4
+ };
5
+ declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
7
+ export default _default;
8
+ type __VLS_WithSlots<T, S> = T & {
9
+ new (): {
10
+ $slots: S;
11
+ };
12
+ };
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./CardEdit.vue2.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,18 @@
1
+ import { defineComponent, createBlock, openBlock, normalizeProps, guardReactiveProps, withCtx, renderSlot } from "vue";
2
+ import _sfc_main$1 from "../render/card/Card.vue2.js";
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "CardEdit",
5
+ setup(__props) {
6
+ return (_ctx, _cache) => {
7
+ return openBlock(), createBlock(_sfc_main$1, normalizeProps(guardReactiveProps(_ctx.$attrs)), {
8
+ default: withCtx(() => [
9
+ renderSlot(_ctx.$slots, "default")
10
+ ]),
11
+ _: 3
12
+ }, 16);
13
+ };
14
+ }
15
+ });
16
+ export {
17
+ _sfc_main as default
18
+ };
@@ -0,0 +1,12 @@
1
+ import type { CodeBlockProps } from '@blogmcp/mdx-schema';
2
+ type __VLS_Slots = {
3
+ default(): unknown;
4
+ };
5
+ declare const __VLS_component: import("vue").DefineComponent<CodeBlockProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<CodeBlockProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
7
+ export default _default;
8
+ type __VLS_WithSlots<T, S> = T & {
9
+ new (): {
10
+ $slots: S;
11
+ };
12
+ };
@@ -0,0 +1,7 @@
1
+ import _sfc_main from "./CodeBlockEdit.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../_virtual/_plugin-vue_export-helper.js";
4
+ const CodeBlockEdit = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c06d5a1b"]]);
5
+ export {
6
+ CodeBlockEdit as default
7
+ };
@@ -0,0 +1,89 @@
1
+ import { defineComponent, ref, createElementBlock, openBlock, createElementVNode, createCommentVNode, toDisplayString, unref, normalizeClass, createTextVNode, renderSlot } from "vue";
2
+ import { useCodeBlock } from "../composables/useCodeBlock.js";
3
+ const _hoisted_1 = { class: "code-block my-4 rounded-lg overflow-hidden bg-vscode-sidebar border border-vscode-border" };
4
+ const _hoisted_2 = { class: "flex items-center justify-between px-4 py-2 bg-vscode-bg border-b border-vscode-border" };
5
+ const _hoisted_3 = { class: "flex items-center gap-2" };
6
+ const _hoisted_4 = { class: "text-xs text-vscode-accent font-medium" };
7
+ const _hoisted_5 = {
8
+ key: 0,
9
+ class: "text-xs text-vscode-text-muted"
10
+ };
11
+ const _hoisted_6 = {
12
+ key: 0,
13
+ class: "w-3.5 h-3.5",
14
+ fill: "none",
15
+ stroke: "currentColor",
16
+ viewBox: "0 0 24 24"
17
+ };
18
+ const _hoisted_7 = {
19
+ key: 1,
20
+ class: "w-3.5 h-3.5",
21
+ fill: "none",
22
+ stroke: "currentColor",
23
+ viewBox: "0 0 24 24"
24
+ };
25
+ const _hoisted_8 = { class: "code-block-content p-4 overflow-x-auto" };
26
+ const _hoisted_9 = { class: "m-0" };
27
+ const _sfc_main = /* @__PURE__ */ defineComponent({
28
+ __name: "CodeBlockEdit",
29
+ props: {
30
+ language: {},
31
+ title: {},
32
+ showLineNumbers: { type: Boolean }
33
+ },
34
+ setup(__props) {
35
+ const props = __props;
36
+ const { copied, languageLabel, languageClass, copyCode } = useCodeBlock(props);
37
+ const codeRef = ref(null);
38
+ async function handleCopy() {
39
+ if (codeRef.value) {
40
+ await copyCode(codeRef.value.textContent || "");
41
+ }
42
+ }
43
+ return (_ctx, _cache) => {
44
+ return openBlock(), createElementBlock("div", _hoisted_1, [
45
+ createElementVNode("div", _hoisted_2, [
46
+ createElementVNode("div", _hoisted_3, [
47
+ createElementVNode("span", _hoisted_4, toDisplayString(unref(languageLabel)), 1),
48
+ __props.title ? (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(__props.title), 1)) : createCommentVNode("", true)
49
+ ]),
50
+ createElementVNode("button", {
51
+ class: normalizeClass(["flex items-center gap-1 px-2 py-1 text-xs rounded transition-colors", unref(copied) ? "bg-green-600 text-white" : "hover:bg-vscode-active text-vscode-text-muted hover:text-vscode-text"]),
52
+ onClick: handleCopy
53
+ }, [
54
+ !unref(copied) ? (openBlock(), createElementBlock("svg", _hoisted_6, [..._cache[0] || (_cache[0] = [
55
+ createElementVNode("path", {
56
+ "stroke-linecap": "round",
57
+ "stroke-linejoin": "round",
58
+ "stroke-width": "2",
59
+ d: "M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"
60
+ }, null, -1)
61
+ ])])) : (openBlock(), createElementBlock("svg", _hoisted_7, [..._cache[1] || (_cache[1] = [
62
+ createElementVNode("path", {
63
+ "stroke-linecap": "round",
64
+ "stroke-linejoin": "round",
65
+ "stroke-width": "2",
66
+ d: "M5 13l4 4L19 7"
67
+ }, null, -1)
68
+ ])])),
69
+ createTextVNode(" " + toDisplayString(unref(copied) ? "Copied!" : "Copy"), 1)
70
+ ], 2)
71
+ ]),
72
+ createElementVNode("div", _hoisted_8, [
73
+ createElementVNode("pre", _hoisted_9, [
74
+ createElementVNode("code", {
75
+ ref_key: "codeRef",
76
+ ref: codeRef,
77
+ class: normalizeClass(unref(languageClass))
78
+ }, [
79
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
80
+ ], 2)
81
+ ])
82
+ ])
83
+ ]);
84
+ };
85
+ }
86
+ });
87
+ export {
88
+ _sfc_main as default
89
+ };
@@ -0,0 +1,3 @@
1
+ import type { GalleryProps } from '@blogmcp/mdx-schema';
2
+ declare const _default: import("vue").DefineComponent<GalleryProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<GalleryProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
3
+ export default _default;
@@ -0,0 +1,64 @@
1
+ import { defineComponent, createElementBlock, createCommentVNode, unref, openBlock, normalizeClass, Fragment, renderList, createElementVNode, normalizeStyle, createBlock, resolveDynamicComponent, toDisplayString } from "vue";
2
+ import { useGallery } from "../composables/useGallery.js";
3
+ import { useOptimizedImg } from "../composables/useMedia.js";
4
+ const _hoisted_1 = ["src"];
5
+ const _hoisted_2 = {
6
+ key: 0,
7
+ class: "gallery-description px-2 py-1 text-xs text-vscode-text-muted truncate"
8
+ };
9
+ const _sfc_main = /* @__PURE__ */ defineComponent({
10
+ __name: "GalleryEdit",
11
+ props: {
12
+ images: {},
13
+ columns: {},
14
+ gap: {},
15
+ aspectRatio: {},
16
+ fit: {},
17
+ position: {}
18
+ },
19
+ setup(__props) {
20
+ const props = __props;
21
+ const { gridColsClass, gapClass, tileLayout, getImageSrc, getImageAlt, getImageCaption, isVideo, hasImages } = useGallery(props);
22
+ const ImgTag = useOptimizedImg();
23
+ return (_ctx, _cache) => {
24
+ return unref(hasImages) ? (openBlock(), createElementBlock("div", {
25
+ key: 0,
26
+ class: normalizeClass(["gallery not-prose my-4", [unref(gridColsClass), unref(gapClass)]]),
27
+ style: { "display": "grid" }
28
+ }, [
29
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.images, (_, index) => {
30
+ return openBlock(), createElementBlock("div", {
31
+ key: index,
32
+ class: "gallery-item"
33
+ }, [
34
+ createElementVNode("div", {
35
+ class: "gallery-media relative overflow-hidden rounded-lg bg-vscode-sidebar",
36
+ style: normalizeStyle(unref(tileLayout).tileStyle)
37
+ }, [
38
+ unref(isVideo)(index) ? (openBlock(), createElementBlock("video", {
39
+ key: 0,
40
+ src: `${unref(getImageSrc)(index)}#t=0.1`,
41
+ controls: "",
42
+ preload: "metadata",
43
+ playsinline: "",
44
+ class: normalizeClass(unref(tileLayout).mediaSizeClass),
45
+ style: normalizeStyle(unref(tileLayout).mediaStyle)
46
+ }, null, 14, _hoisted_1)) : (openBlock(), createBlock(resolveDynamicComponent(unref(ImgTag)), {
47
+ key: 1,
48
+ src: unref(getImageSrc)(index),
49
+ alt: unref(getImageAlt)(index),
50
+ sizes: "100vw sm:50vw md:33vw lg:299px",
51
+ class: normalizeClass([unref(tileLayout).mediaSizeClass, "transition-transform hover:scale-105"]),
52
+ style: normalizeStyle(unref(tileLayout).mediaStyle)
53
+ }, null, 8, ["src", "alt", "class", "style"]))
54
+ ], 4),
55
+ unref(getImageCaption)(index) ? (openBlock(), createElementBlock("p", _hoisted_2, toDisplayString(unref(getImageCaption)(index)), 1)) : createCommentVNode("", true)
56
+ ]);
57
+ }), 128))
58
+ ], 2)) : createCommentVNode("", true);
59
+ };
60
+ }
61
+ });
62
+ export {
63
+ _sfc_main as default
64
+ };
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./GalleryEdit.vue.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./IconEdit.vue2.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,13 @@
1
+ import { defineComponent, createBlock, openBlock, normalizeProps, guardReactiveProps } from "vue";
2
+ import _sfc_main$1 from "../render/icon/Icon.vue2.js";
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "IconEdit",
5
+ setup(__props) {
6
+ return (_ctx, _cache) => {
7
+ return openBlock(), createBlock(_sfc_main$1, normalizeProps(guardReactiveProps(_ctx.$attrs)), null, 16);
8
+ };
9
+ }
10
+ });
11
+ export {
12
+ _sfc_main as default
13
+ };
@@ -0,0 +1,16 @@
1
+ type __VLS_Props = {
2
+ label: string;
3
+ placement?: string;
4
+ };
5
+ declare var __VLS_1: {};
6
+ type __VLS_Slots = {} & {
7
+ default?: (props: typeof __VLS_1) => any;
8
+ };
9
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
11
+ export default _default;
12
+ type __VLS_WithSlots<T, S> = T & {
13
+ new (): {
14
+ $slots: S;
15
+ };
16
+ };
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./TooltipEdit.vue2.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -0,0 +1,24 @@
1
+ import { defineComponent, createElementBlock, openBlock, renderSlot, createElementVNode, toDisplayString } from "vue";
2
+ const _hoisted_1 = {
3
+ class: "inline-flex items-center gap-2",
4
+ "data-mdx-component": "Tooltip"
5
+ };
6
+ const _hoisted_2 = { class: "rounded bg-gray-100 px-1.5 py-0.5 text-xs text-gray-600" };
7
+ const _sfc_main = /* @__PURE__ */ defineComponent({
8
+ __name: "TooltipEdit",
9
+ props: {
10
+ label: {},
11
+ placement: {}
12
+ },
13
+ setup(__props) {
14
+ return (_ctx, _cache) => {
15
+ return openBlock(), createElementBlock("span", _hoisted_1, [
16
+ renderSlot(_ctx.$slots, "default"),
17
+ createElementVNode("span", _hoisted_2, " 💡 " + toDisplayString(__props.label), 1)
18
+ ]);
19
+ };
20
+ }
21
+ });
22
+ export {
23
+ _sfc_main as default
24
+ };
@@ -0,0 +1,3 @@
1
+ import type { YouTubeProps } from '@blogmcp/mdx-schema';
2
+ declare const _default: import("vue").DefineComponent<YouTubeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<YouTubeProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
3
+ export default _default;
@@ -0,0 +1,41 @@
1
+ import { defineComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, unref, toDisplayString } from "vue";
2
+ import { useYouTube } from "../composables/useYouTube.js";
3
+ const _hoisted_1 = { class: "youtube-embed my-4" };
4
+ const _hoisted_2 = {
5
+ class: "relative w-full",
6
+ style: { "padding-bottom": "56.25%" }
7
+ };
8
+ const _hoisted_3 = ["src", "title", "allow"];
9
+ const _hoisted_4 = {
10
+ key: 0,
11
+ class: "text-center text-sm text-vscode-text-muted mt-2"
12
+ };
13
+ const _sfc_main = /* @__PURE__ */ defineComponent({
14
+ __name: "YouTubeEdit",
15
+ props: {
16
+ id: {},
17
+ title: {}
18
+ },
19
+ setup(__props) {
20
+ const props = __props;
21
+ const { embedUrl, iframeTitle, hasTitle, YOUTUBE_IFRAME_ALLOW } = useYouTube(props);
22
+ return (_ctx, _cache) => {
23
+ return openBlock(), createElementBlock("div", _hoisted_1, [
24
+ createElementVNode("div", _hoisted_2, [
25
+ createElementVNode("iframe", {
26
+ src: unref(embedUrl),
27
+ title: unref(iframeTitle),
28
+ class: "absolute inset-0 w-full h-full rounded-lg",
29
+ frameborder: "0",
30
+ allow: unref(YOUTUBE_IFRAME_ALLOW),
31
+ allowfullscreen: ""
32
+ }, null, 8, _hoisted_3)
33
+ ]),
34
+ unref(hasTitle) ? (openBlock(), createElementBlock("p", _hoisted_4, toDisplayString(__props.title), 1)) : createCommentVNode("", true)
35
+ ]);
36
+ };
37
+ }
38
+ });
39
+ export {
40
+ _sfc_main as default
41
+ };
@@ -0,0 +1,4 @@
1
+ import _sfc_main from "./YouTubeEdit.vue.js";
2
+ export {
3
+ _sfc_main as default
4
+ };