@docubook/mdx-content 1.0.0 → 2.0.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.
- package/README.md +44 -19
- package/components.md +240 -0
- package/dist/adapters/next/ButtonMdx.d.ts +1 -1
- package/dist/adapters/next/ButtonMdx.d.ts.map +1 -1
- package/dist/adapters/next/{ButtonMdx.jsx → ButtonMdx.js} +3 -2
- package/dist/adapters/next/ButtonMdx.js.map +1 -0
- package/dist/adapters/next/CardMdx.d.ts +1 -1
- package/dist/adapters/next/CardMdx.d.ts.map +1 -1
- package/dist/adapters/next/CardMdx.js +8 -0
- package/dist/adapters/next/CardMdx.js.map +1 -0
- package/dist/adapters/next/ImageMdx.d.ts +1 -1
- package/dist/adapters/next/ImageMdx.d.ts.map +1 -1
- package/dist/adapters/next/ImageMdx.js +8 -0
- package/dist/adapters/next/ImageMdx.js.map +1 -0
- package/dist/adapters/next/LinkMdx.d.ts +1 -1
- package/dist/adapters/next/LinkMdx.d.ts.map +1 -1
- package/dist/adapters/next/{LinkMdx.jsx → LinkMdx.js} +3 -2
- package/dist/adapters/next/{LinkMdx.jsx.map → LinkMdx.js.map} +1 -1
- package/dist/client.d.ts +2 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +2 -2
- package/dist/client.js.map +1 -1
- package/dist/components/{AccordionContext.jsx → AccordionContext.js} +1 -1
- package/dist/components/AccordionContext.js.map +1 -0
- package/dist/components/AccordionGroupMdx.d.ts +4 -2
- package/dist/components/AccordionGroupMdx.d.ts.map +1 -1
- package/dist/components/AccordionGroupMdx.js +18 -0
- package/dist/components/AccordionGroupMdx.js.map +1 -0
- package/dist/components/AccordionMdx.d.ts +1 -1
- package/dist/components/AccordionMdx.d.ts.map +1 -1
- package/dist/components/AccordionMdx.js +64 -0
- package/dist/components/AccordionMdx.js.map +1 -0
- package/dist/components/ButtonMdx.d.ts +1 -1
- package/dist/components/ButtonMdx.d.ts.map +1 -1
- package/dist/components/{ButtonMdx.jsx → ButtonMdx.js} +5 -11
- package/dist/components/{ButtonMdx.jsx.map → ButtonMdx.js.map} +1 -1
- package/dist/components/CardGroupMdx.d.ts +4 -2
- package/dist/components/CardGroupMdx.d.ts.map +1 -1
- package/dist/components/{CardGroupMdx.jsx → CardGroupMdx.js} +12 -12
- package/dist/components/CardGroupMdx.js.map +1 -0
- package/dist/components/CardMdx.d.ts +1 -1
- package/dist/components/CardMdx.d.ts.map +1 -1
- package/dist/components/{CardMdx.jsx → CardMdx.js} +23 -38
- package/dist/components/CardMdx.js.map +1 -0
- package/dist/components/CodeBlock.d.ts +1 -1
- package/dist/components/CodeBlock.d.ts.map +1 -1
- package/dist/components/CodeBlock.js +67 -0
- package/dist/components/CodeBlock.js.map +1 -0
- package/dist/components/CopyButton.d.ts +1 -1
- package/dist/components/CopyButton.d.ts.map +1 -1
- package/dist/components/{CopyButton.jsx → CopyButton.js} +4 -8
- package/dist/components/CopyButton.js.map +1 -0
- package/dist/components/FileTreeMdx.d.ts +4 -4
- package/dist/components/FileTreeMdx.d.ts.map +1 -1
- package/dist/components/FileTreeMdx.js +65 -0
- package/dist/components/FileTreeMdx.js.map +1 -0
- package/dist/components/{IconMdx.jsx → IconMdx.js} +3 -2
- package/dist/components/{IconMdx.jsx.map → IconMdx.js.map} +1 -1
- package/dist/components/ImageMdx.d.ts +1 -1
- package/dist/components/ImageMdx.d.ts.map +1 -1
- package/dist/components/ImageMdx.js +111 -0
- package/dist/components/ImageMdx.js.map +1 -0
- package/dist/components/KeyboardMdx.d.ts +3 -4
- package/dist/components/KeyboardMdx.d.ts.map +1 -1
- package/dist/components/{KeyboardMdx.jsx → KeyboardMdx.js} +6 -7
- package/dist/components/KeyboardMdx.js.map +1 -0
- package/dist/components/LinkMdx.d.ts +1 -1
- package/dist/components/LinkMdx.d.ts.map +1 -1
- package/dist/components/{LinkMdx.jsx → LinkMdx.js} +3 -2
- package/dist/components/{LinkMdx.jsx.map → LinkMdx.js.map} +1 -1
- package/dist/components/NoteMdx.d.ts +1 -1
- package/dist/components/NoteMdx.d.ts.map +1 -1
- package/dist/components/{NoteMdx.jsx → NoteMdx.js} +11 -20
- package/dist/components/{NoteMdx.jsx.map → NoteMdx.js.map} +1 -1
- package/dist/components/ReleaseMdx.d.ts +2 -2
- package/dist/components/ReleaseMdx.d.ts.map +1 -1
- package/dist/components/ReleaseMdx.js +44 -0
- package/dist/components/ReleaseMdx.js.map +1 -0
- package/dist/components/StepperMdx.d.ts +9 -5
- package/dist/components/StepperMdx.d.ts.map +1 -1
- package/dist/components/StepperMdx.js +76 -0
- package/dist/components/StepperMdx.js.map +1 -0
- package/dist/components/TableMdx.d.ts +7 -7
- package/dist/components/TableMdx.d.ts.map +1 -1
- package/dist/components/{TableMdx.jsx → TableMdx.js} +18 -19
- package/dist/components/TableMdx.js.map +1 -0
- package/dist/components/TabsMdx.d.ts +14 -6
- package/dist/components/TabsMdx.d.ts.map +1 -1
- package/dist/components/TabsMdx.js +176 -0
- package/dist/components/TabsMdx.js.map +1 -0
- package/dist/components/TooltipsMdx.d.ts +1 -1
- package/dist/components/TooltipsMdx.d.ts.map +1 -1
- package/dist/components/TooltipsMdx.js +36 -0
- package/dist/components/TooltipsMdx.js.map +1 -0
- package/dist/components/YoutubeMdx.d.ts +1 -1
- package/dist/components/YoutubeMdx.d.ts.map +1 -1
- package/dist/components/YoutubeMdx.js +14 -0
- package/dist/components/YoutubeMdx.js.map +1 -0
- package/dist/components/index.d.ts +4 -3
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +4 -3
- package/dist/components/index.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +8 -2
- package/dist/registry/index.js.map +1 -1
- package/dist/server.d.ts +2 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/package.json +3 -2
- package/dist/adapters/next/ButtonMdx.jsx.map +0 -1
- package/dist/adapters/next/CardMdx.jsx +0 -7
- package/dist/adapters/next/CardMdx.jsx.map +0 -1
- package/dist/adapters/next/ImageMdx.jsx +0 -7
- package/dist/adapters/next/ImageMdx.jsx.map +0 -1
- package/dist/components/AccordionContext.jsx.map +0 -1
- package/dist/components/AccordionGroupMdx.jsx +0 -17
- package/dist/components/AccordionGroupMdx.jsx.map +0 -1
- package/dist/components/AccordionMdx.jsx +0 -76
- package/dist/components/AccordionMdx.jsx.map +0 -1
- package/dist/components/CardGroupMdx.jsx.map +0 -1
- package/dist/components/CardMdx.jsx.map +0 -1
- package/dist/components/CodeBlock.jsx +0 -77
- package/dist/components/CodeBlock.jsx.map +0 -1
- package/dist/components/CopyButton.jsx.map +0 -1
- package/dist/components/FileTreeMdx.jsx +0 -79
- package/dist/components/FileTreeMdx.jsx.map +0 -1
- package/dist/components/ImageMdx.jsx +0 -126
- package/dist/components/ImageMdx.jsx.map +0 -1
- package/dist/components/KeyboardMdx.jsx.map +0 -1
- package/dist/components/ReleaseMdx.jsx +0 -56
- package/dist/components/ReleaseMdx.jsx.map +0 -1
- package/dist/components/StepperMdx.jsx +0 -82
- package/dist/components/StepperMdx.jsx.map +0 -1
- package/dist/components/TableMdx.jsx.map +0 -1
- package/dist/components/TabsMdx.jsx +0 -124
- package/dist/components/TabsMdx.jsx.map +0 -1
- package/dist/components/TooltipsMdx.jsx +0 -42
- package/dist/components/TooltipsMdx.jsx.map +0 -1
- package/dist/components/YoutubeMdx.jsx +0 -15
- package/dist/components/YoutubeMdx.jsx.map +0 -1
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { createContext, useContext, useId, useMemo, useRef, useState } from "react";
|
|
3
|
-
const TabsContext = createContext(null);
|
|
4
|
-
export function TabsMdx({ value, defaultValue = "tab-1", onValueChange, children, style, orientation = "horizontal", className, ...props }) {
|
|
5
|
-
const [internalValue, setInternalValue] = useState(defaultValue);
|
|
6
|
-
const id = useId();
|
|
7
|
-
const selected = value ?? internalValue;
|
|
8
|
-
const setValue = (next) => {
|
|
9
|
-
if (value === undefined) {
|
|
10
|
-
setInternalValue(next);
|
|
11
|
-
}
|
|
12
|
-
onValueChange?.(next);
|
|
13
|
-
};
|
|
14
|
-
const contextValue = useMemo(() => ({ value: selected, setValue, id, orientation }), [selected, id, orientation]);
|
|
15
|
-
return (<TabsContext.Provider value={contextValue}>
|
|
16
|
-
<div className={className} {...props} style={{ border: "1px solid hsl(var(--border, 210 14% 94%))", borderRadius: 10, margin: "1rem 0", ...style }}>
|
|
17
|
-
{children}
|
|
18
|
-
</div>
|
|
19
|
-
</TabsContext.Provider>);
|
|
20
|
-
}
|
|
21
|
-
export function TabsListMdx({ children, style, ...props }) {
|
|
22
|
-
const context = useContext(TabsContext);
|
|
23
|
-
return (<div role="tablist" aria-orientation={context?.orientation ?? "horizontal"} {...props} style={{
|
|
24
|
-
display: "flex",
|
|
25
|
-
flexDirection: context?.orientation === "vertical" ? "column" : "row",
|
|
26
|
-
alignItems: context?.orientation === "vertical" ? "stretch" : "center",
|
|
27
|
-
gap: 8,
|
|
28
|
-
overflowX: "auto",
|
|
29
|
-
borderBottom: "1px solid hsl(var(--border, 210 14% 94%))",
|
|
30
|
-
padding: "0.25rem 0.5rem",
|
|
31
|
-
...style,
|
|
32
|
-
}}>
|
|
33
|
-
{children}
|
|
34
|
-
</div>);
|
|
35
|
-
}
|
|
36
|
-
export function TabsTriggerMdx({ value, children, style, onKeyDown, ...props }) {
|
|
37
|
-
const context = useContext(TabsContext);
|
|
38
|
-
const triggerRef = useRef(null);
|
|
39
|
-
if (!context) {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
const tabsContext = context;
|
|
43
|
-
const active = context.value === value;
|
|
44
|
-
const controlId = `${context.id}-panel-${value}`;
|
|
45
|
-
const triggerId = `${context.id}-tab-${value}`;
|
|
46
|
-
function moveFocus(direction) {
|
|
47
|
-
const tablist = triggerRef.current?.closest('[role="tablist"]');
|
|
48
|
-
if (!tablist)
|
|
49
|
-
return;
|
|
50
|
-
const triggers = Array.from(tablist.querySelectorAll('[role="tab"]'));
|
|
51
|
-
const currentIndex = triggers.findIndex((item) => item === triggerRef.current);
|
|
52
|
-
if (currentIndex < 0)
|
|
53
|
-
return;
|
|
54
|
-
const nextIndex = (currentIndex + direction + triggers.length) % triggers.length;
|
|
55
|
-
const nextTrigger = triggers[nextIndex];
|
|
56
|
-
const nextValue = nextTrigger.dataset.value;
|
|
57
|
-
nextTrigger.focus();
|
|
58
|
-
if (nextValue) {
|
|
59
|
-
tabsContext.setValue(nextValue);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return (<button ref={triggerRef} type="button" role="tab" id={triggerId} aria-controls={controlId} aria-selected={active} data-value={value} tabIndex={active ? 0 : -1} onClick={() => tabsContext.setValue(value)} onKeyDown={(e) => {
|
|
63
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
64
|
-
e.preventDefault();
|
|
65
|
-
tabsContext.setValue(value);
|
|
66
|
-
}
|
|
67
|
-
if ((tabsContext.orientation === "horizontal" && e.key === "ArrowRight") || (tabsContext.orientation === "vertical" && e.key === "ArrowDown")) {
|
|
68
|
-
e.preventDefault();
|
|
69
|
-
moveFocus(1);
|
|
70
|
-
}
|
|
71
|
-
if ((tabsContext.orientation === "horizontal" && e.key === "ArrowLeft") || (tabsContext.orientation === "vertical" && e.key === "ArrowUp")) {
|
|
72
|
-
e.preventDefault();
|
|
73
|
-
moveFocus(-1);
|
|
74
|
-
}
|
|
75
|
-
if (e.key === "Home") {
|
|
76
|
-
e.preventDefault();
|
|
77
|
-
const tablist = triggerRef.current?.closest('[role="tablist"]');
|
|
78
|
-
const firstTrigger = tablist?.querySelector('[role="tab"]');
|
|
79
|
-
firstTrigger?.focus();
|
|
80
|
-
if (firstTrigger?.dataset.value) {
|
|
81
|
-
tabsContext.setValue(firstTrigger.dataset.value);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
if (e.key === "End") {
|
|
85
|
-
e.preventDefault();
|
|
86
|
-
const tablist = triggerRef.current?.closest('[role="tablist"]');
|
|
87
|
-
const triggers = tablist ? Array.from(tablist.querySelectorAll('[role="tab"]')) : [];
|
|
88
|
-
const lastTrigger = triggers.at(-1);
|
|
89
|
-
lastTrigger?.focus();
|
|
90
|
-
if (lastTrigger?.dataset.value) {
|
|
91
|
-
tabsContext.setValue(lastTrigger.dataset.value);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
onKeyDown?.(e);
|
|
95
|
-
}} {...props} style={{
|
|
96
|
-
border: "none",
|
|
97
|
-
borderBottom: active ? "2px solid hsl(var(--accent, 200 100% 40%))" : "2px solid transparent",
|
|
98
|
-
background: "transparent",
|
|
99
|
-
color: active ? "hsl(var(--foreground, 222 12% 12%))" : "hsl(var(--muted-foreground, 215 20% 65%))",
|
|
100
|
-
fontSize: "0.875rem",
|
|
101
|
-
fontWeight: 600,
|
|
102
|
-
padding: "0.6rem 0.5rem",
|
|
103
|
-
cursor: "pointer",
|
|
104
|
-
...style,
|
|
105
|
-
}}>
|
|
106
|
-
{children}
|
|
107
|
-
</button>);
|
|
108
|
-
}
|
|
109
|
-
export function TabsContentMdx({ value, children, style, ...props }) {
|
|
110
|
-
const context = useContext(TabsContext);
|
|
111
|
-
if (!context) {
|
|
112
|
-
return null;
|
|
113
|
-
}
|
|
114
|
-
const active = context.value === value;
|
|
115
|
-
const panelId = `${context.id}-panel-${value}`;
|
|
116
|
-
const triggerId = `${context.id}-tab-${value}`;
|
|
117
|
-
return (<div role="tabpanel" id={panelId} aria-labelledby={triggerId} tabIndex={0} hidden={!active} {...props} style={{
|
|
118
|
-
padding: "0.75rem",
|
|
119
|
-
...style,
|
|
120
|
-
}}>
|
|
121
|
-
{active ? children : null}
|
|
122
|
-
</div>);
|
|
123
|
-
}
|
|
124
|
-
//# sourceMappingURL=TabsMdx.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TabsMdx.jsx","sourceRoot":"","sources":["../../src/components/TabsMdx.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { useId, useState } from "react";
|
|
3
|
-
export function TooltipMdx({ text, tip, side = "top", style, className, ...props }) {
|
|
4
|
-
const [open, setOpen] = useState(false);
|
|
5
|
-
const id = useId();
|
|
6
|
-
const tooltipContent = tip ?? "";
|
|
7
|
-
const triggerContent = text ?? "?";
|
|
8
|
-
const floatingPosition = side === "bottom" ? { top: "calc(100% + 8px)" } : { bottom: "calc(100% + 8px)" };
|
|
9
|
-
return (<span className={className} {...props} style={{ position: "relative", display: "inline-block", ...style }} onMouseEnter={() => setOpen(true)} onMouseLeave={() => setOpen(false)} onFocus={() => setOpen(true)} onBlur={() => setOpen(false)}>
|
|
10
|
-
<span tabIndex={0} aria-describedby={id} style={{
|
|
11
|
-
cursor: "help",
|
|
12
|
-
color: "hsl(var(--primary, 212 85% 55%))",
|
|
13
|
-
textDecorationLine: "underline",
|
|
14
|
-
textDecorationStyle: "dotted",
|
|
15
|
-
textDecorationColor: "hsl(var(--primary, 212 85% 55%))",
|
|
16
|
-
textUnderlineOffset: "0.18em",
|
|
17
|
-
}} onKeyDown={(event) => {
|
|
18
|
-
if (event.key === "Escape") {
|
|
19
|
-
setOpen(false);
|
|
20
|
-
}
|
|
21
|
-
}}>
|
|
22
|
-
{triggerContent}
|
|
23
|
-
</span>
|
|
24
|
-
{open && tooltipContent ? (<span id={id} role="tooltip" style={{
|
|
25
|
-
position: "absolute",
|
|
26
|
-
left: "50%",
|
|
27
|
-
transform: "translateX(-50%)",
|
|
28
|
-
...floatingPosition,
|
|
29
|
-
border: "1px solid hsl(var(--border, 210 14% 94%))",
|
|
30
|
-
background: "hsl(var(--card, 0 0% 100%))",
|
|
31
|
-
color: "hsl(var(--foreground, 222 12% 12%))",
|
|
32
|
-
borderRadius: 8,
|
|
33
|
-
padding: "0.35rem 0.5rem",
|
|
34
|
-
fontSize: "0.78rem",
|
|
35
|
-
whiteSpace: "nowrap",
|
|
36
|
-
zIndex: 20,
|
|
37
|
-
}}>
|
|
38
|
-
{tooltipContent}
|
|
39
|
-
</span>) : null}
|
|
40
|
-
</span>);
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=TooltipsMdx.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipsMdx.jsx","sourceRoot":"","sources":["../../src/components/TooltipsMdx.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,KAAK,EAAE,QAAQ,EAA2D,MAAM,OAAO,CAAC;AASjG,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,EAAmB;IAC/F,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,cAAc,GAAG,GAAG,IAAI,EAAE,CAAC;IACjC,MAAM,cAAc,GAAG,IAAI,IAAI,GAAG,CAAC;IACnC,MAAM,gBAAgB,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAE1G,OAAO,CACH,CAAC,IAAI,CACD,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,IAAI,KAAK,CAAC,CACV,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,CAAC,CACnE,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAClC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACnC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAC7B,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAE7B;YAAA,CAAC,IAAI,CACD,QAAQ,CAAC,CAAC,CAAC,CAAC,CACZ,gBAAgB,CAAC,CAAC,EAAE,CAAC,CACrB,KAAK,CAAC,CAAC;YACH,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,kCAAkC;YACzC,kBAAkB,EAAE,WAAW;YAC/B,mBAAmB,EAAE,QAAQ;YAC7B,mBAAmB,EAAE,kCAAkC;YACvD,mBAAmB,EAAE,QAAQ;SAChC,CAAC,CACF,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACL,CAAC,CAAC,CAEF;gBAAA,CAAC,cAAc,CACnB;YAAA,EAAE,IAAI,CACN;YAAA,CAAC,IAAI,IAAI,cAAc,CAAC,CAAC,CAAC,CACtB,CAAC,IAAI,CACD,EAAE,CAAC,CAAC,EAAE,CAAC,CACP,IAAI,CAAC,SAAS,CACd,KAAK,CAAC,CAAC;gBACH,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,KAAK;gBACX,SAAS,EAAE,kBAAkB;gBAC7B,GAAG,gBAAgB;gBACnB,MAAM,EAAE,2CAA2C;gBACnD,UAAU,EAAE,6BAA6B;gBACzC,KAAK,EAAE,qCAAqC;gBAC5C,YAAY,EAAE,CAAC;gBACf,OAAO,EAAE,gBAAgB;gBACzB,QAAQ,EAAE,SAAS;gBACnB,UAAU,EAAE,QAAQ;gBACpB,MAAM,EAAE,EAAE;aACb,CAAC,CAEF;oBAAA,CAAC,cAAc,CACnB;gBAAA,EAAE,IAAI,CAAC,CACV,CAAC,CAAC,CAAC,IAAI,CACZ;QAAA,EAAE,IAAI,CAAC,CACV,CAAC;AACN,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export function YoutubeMdx({ videoId, title = "YouTube video" }) {
|
|
2
|
-
const src = `https://www.youtube-nocookie.com/embed/${videoId}`;
|
|
3
|
-
return (<div style={{
|
|
4
|
-
position: "relative",
|
|
5
|
-
width: "100%",
|
|
6
|
-
paddingTop: "56.25%",
|
|
7
|
-
borderRadius: 12,
|
|
8
|
-
overflow: "hidden",
|
|
9
|
-
border: "1px solid hsl(var(--border, 210 14% 94%))",
|
|
10
|
-
margin: "1rem 0",
|
|
11
|
-
}}>
|
|
12
|
-
<iframe src={src} title={title} allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen style={{ position: "absolute", inset: 0, width: "100%", height: "100%", border: 0 }}/>
|
|
13
|
-
</div>);
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=YoutubeMdx.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"YoutubeMdx.jsx","sourceRoot":"","sources":["../../src/components/YoutubeMdx.tsx"],"names":[],"mappings":"AAKA,MAAM,UAAU,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,eAAe,EAAmB;IAC5E,MAAM,GAAG,GAAG,0CAA0C,OAAO,EAAE,CAAC;IAEhE,OAAO,CACH,CAAC,GAAG,CACA,KAAK,CAAC,CAAC;YACH,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,2CAA2C;YACnD,MAAM,EAAE,QAAQ;SACnB,CAAC,CAEF;YAAA,CAAC,MAAM,CACH,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,KAAK,CAAC,0FAA0F,CAChG,eAAe,CACf,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAE5F;QAAA,EAAE,GAAG,CAAC,CACT,CAAC;AACN,CAAC"}
|