zudoku 0.0.0-z63644134 → 0.0.0-z6b1ecd2d
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/dist/config/validators/InputNavigationSchema.d.ts +51 -1
- package/dist/config/validators/InputNavigationSchema.js +17 -0
- package/dist/config/validators/InputNavigationSchema.js.map +1 -1
- package/dist/config/validators/NavigationSchema.d.ts +10 -2
- package/dist/config/validators/NavigationSchema.js +7 -0
- package/dist/config/validators/NavigationSchema.js.map +1 -1
- package/dist/flat-config.d.ts +11 -0
- package/dist/lib/components/MobileTopNavigation.js +2 -1
- package/dist/lib/components/MobileTopNavigation.js.map +1 -1
- package/dist/lib/components/TopNavigation.d.ts +7 -1
- package/dist/lib/components/TopNavigation.js +7 -2
- package/dist/lib/components/TopNavigation.js.map +1 -1
- package/dist/lib/components/context/ZudokuContext.d.ts +8 -1
- package/dist/lib/components/context/ZudokuContext.js +2 -0
- package/dist/lib/components/context/ZudokuContext.js.map +1 -1
- package/dist/lib/components/navigation/Navigation.js +4 -3
- package/dist/lib/components/navigation/Navigation.js.map +1 -1
- package/dist/lib/components/navigation/NavigationCategory.js +8 -0
- package/dist/lib/components/navigation/NavigationCategory.js.map +1 -1
- package/dist/lib/components/navigation/NavigationFilterContext.d.ts +8 -0
- package/dist/lib/components/navigation/NavigationFilterContext.js +12 -0
- package/dist/lib/components/navigation/NavigationFilterContext.js.map +1 -0
- package/dist/lib/components/navigation/NavigationFilterInput.d.ts +3 -0
- package/dist/lib/components/navigation/NavigationFilterInput.js +9 -0
- package/dist/lib/components/navigation/NavigationFilterInput.js.map +1 -0
- package/dist/lib/components/navigation/NavigationItem.js +11 -1
- package/dist/lib/components/navigation/NavigationItem.js.map +1 -1
- package/dist/lib/components/navigation/utils.d.ts +2 -1
- package/dist/lib/components/navigation/utils.js +22 -1
- package/dist/lib/components/navigation/utils.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/fileUtils.d.ts +1 -0
- package/dist/lib/plugins/openapi/playground/fileUtils.js +3 -0
- package/dist/lib/plugins/openapi/playground/fileUtils.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.d.ts +6 -0
- package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js +20 -0
- package/dist/lib/plugins/openapi/playground/result-panel/AudioPlayer.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +7 -2
- package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -1
- package/dist/lib/ui/InputGroup.d.ts +16 -0
- package/dist/lib/ui/InputGroup.js +65 -0
- package/dist/lib/ui/InputGroup.js.map +1 -0
- package/lib/{ClaudeLogo-C6q-Xn_l.js → ClaudeLogo-OpUSMQJe.js} +3 -3
- package/lib/{ClaudeLogo-C6q-Xn_l.js.map → ClaudeLogo-OpUSMQJe.js.map} +1 -1
- package/lib/{MdxPage-B1G4W1TK.js → MdxPage-dzCPGdvD.js} +6 -6
- package/lib/{MdxPage-B1G4W1TK.js.map → MdxPage-dzCPGdvD.js.map} +1 -1
- package/lib/{Mermaid-B1xNo-pf.js → Mermaid-JEnWyK0s.js} +2 -2
- package/lib/{Mermaid-B1xNo-pf.js.map → Mermaid-JEnWyK0s.js.map} +1 -1
- package/lib/{OAuthErrorPage-01Ke086W.js → OAuthErrorPage-D7n-_cqN.js} +5 -5
- package/lib/{OAuthErrorPage-01Ke086W.js.map → OAuthErrorPage-D7n-_cqN.js.map} +1 -1
- package/lib/{OasProvider-oHPiMJZg.js → OasProvider-DPPdikt_.js} +3 -3
- package/lib/{OasProvider-oHPiMJZg.js.map → OasProvider-DPPdikt_.js.map} +1 -1
- package/lib/{OperationList-CZ4OK8Pm.js → OperationList-cEveQ_l5.js} +12 -13
- package/lib/{OperationList-CZ4OK8Pm.js.map → OperationList-cEveQ_l5.js.map} +1 -1
- package/lib/{RouteGuard-B1lCR0C_.js → RouteGuard-BMbu_Yb7.js} +3 -3
- package/lib/{RouteGuard-B1lCR0C_.js.map → RouteGuard-BMbu_Yb7.js.map} +1 -1
- package/lib/{SchemaList-DoQFkJgM.js → SchemaList-CRC8n5co.js} +6 -6
- package/lib/{SchemaList-DoQFkJgM.js.map → SchemaList-CRC8n5co.js.map} +1 -1
- package/lib/{SchemaView-D2k6ZJck.js → SchemaView-BR6dtnPg.js} +3 -3
- package/lib/{SchemaView-D2k6ZJck.js.map → SchemaView-BR6dtnPg.js.map} +1 -1
- package/lib/{SignUp-8kDBaLbO.js → SignUp-ChqXj9vd.js} +4 -4
- package/lib/{SignUp-8kDBaLbO.js.map → SignUp-ChqXj9vd.js.map} +1 -1
- package/lib/{SyntaxHighlight-hZOFnYl0.js → SyntaxHighlight-O-IZOPLg.js} +2 -2
- package/lib/{SyntaxHighlight-hZOFnYl0.js.map → SyntaxHighlight-O-IZOPLg.js.map} +1 -1
- package/lib/{Toc-qEIii_-W.js → Toc-DQF7trHT.js} +2 -2
- package/lib/{Toc-qEIii_-W.js.map → Toc-DQF7trHT.js.map} +1 -1
- package/lib/{Zudoku-DUsdmPME.js → Zudoku-DA1yA-te.js} +2719 -2544
- package/lib/Zudoku-DA1yA-te.js.map +1 -0
- package/lib/{ZudokuContext-BBI06sOx.js → ZudokuContext-C6wlLMUH.js} +136 -134
- package/lib/{ZudokuContext-BBI06sOx.js.map → ZudokuContext-C6wlLMUH.js.map} +1 -1
- package/lib/{circular-D9tSKG2c.js → circular-C4l1Kj1N.js} +2 -2
- package/lib/{circular-D9tSKG2c.js.map → circular-C4l1Kj1N.js.map} +1 -1
- package/lib/{createServer-BprC4n85.js → createServer-DoRZ6tMa.js} +4 -4
- package/lib/{createServer-BprC4n85.js.map → createServer-DoRZ6tMa.js.map} +1 -1
- package/lib/{errors-7hgPDs1h.js → errors-CYLN8SNc.js} +2 -2
- package/lib/{errors-7hgPDs1h.js.map → errors-CYLN8SNc.js.map} +1 -1
- package/lib/{firebase-Dwn-2ju-.js → firebase-DF-VVKB7.js} +13 -13
- package/lib/{firebase-Dwn-2ju-.js.map → firebase-DF-VVKB7.js.map} +1 -1
- package/lib/{hook-ZEd1Es7D.js → hook-C35h0YhF.js} +2 -2
- package/lib/{hook-ZEd1Es7D.js.map → hook-C35h0YhF.js.map} +1 -1
- package/lib/{index-CyIW9rHv.js → index-Ck4TmzTO.js} +653 -619
- package/lib/index-Ck4TmzTO.js.map +1 -0
- package/lib/{index-Dxdhrp-I.js → index-DrAVvbXa.js} +2 -2
- package/lib/{index-Dxdhrp-I.js.map → index-DrAVvbXa.js.map} +1 -1
- package/lib/{index.esm-DG4KaDKR.js → index.esm-B2cLXwjS.js} +2 -2
- package/lib/index.esm-B2cLXwjS.js.map +1 -0
- package/lib/ui/InputGroup.js +155 -0
- package/lib/ui/InputGroup.js.map +1 -0
- package/lib/ui/SyntaxHighlight.js +2 -2
- package/lib/zudoku.__internal.js +368 -368
- package/lib/zudoku.__internal.js.map +1 -1
- package/lib/zudoku.auth-auth0.js +1 -1
- package/lib/zudoku.auth-azureb2c.js +4 -4
- package/lib/zudoku.auth-clerk.js +2 -2
- package/lib/zudoku.auth-firebase.js +4 -4
- package/lib/zudoku.auth-openid.js +4 -4
- package/lib/zudoku.auth-supabase.js +4 -4
- package/lib/zudoku.components.js +3 -3
- package/lib/zudoku.hooks.js +3 -3
- package/lib/zudoku.mermaid.js +2 -2
- package/lib/zudoku.plugin-api-catalog.js +3 -3
- package/lib/zudoku.plugin-api-keys.js +4 -4
- package/lib/zudoku.plugin-custom-pages.js +1 -1
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +2 -2
- package/lib/zudoku.plugin-search-pagefind.js +2 -2
- package/package.json +1 -1
- package/src/lib/components/MobileTopNavigation.tsx +13 -8
- package/src/lib/components/TopNavigation.tsx +25 -7
- package/src/lib/components/context/ZudokuContext.ts +1 -0
- package/src/lib/components/navigation/Navigation.tsx +4 -3
- package/src/lib/components/navigation/NavigationCategory.tsx +9 -0
- package/src/lib/components/navigation/NavigationFilterContext.tsx +28 -0
- package/src/lib/components/navigation/NavigationFilterInput.tsx +35 -0
- package/src/lib/components/navigation/NavigationItem.tsx +17 -1
- package/src/lib/components/navigation/utils.ts +32 -1
- package/src/lib/plugins/openapi/playground/fileUtils.ts +4 -0
- package/src/lib/plugins/openapi/playground/result-panel/AudioPlayer.tsx +50 -0
- package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +33 -17
- package/src/lib/ui/InputGroup.tsx +168 -0
- package/lib/Separator-BXt1LYnm.js +0 -27
- package/lib/Separator-BXt1LYnm.js.map +0 -1
- package/lib/Zudoku-DUsdmPME.js.map +0 -1
- package/lib/index-CyIW9rHv.js.map +0 -1
- package/lib/index.esm-DG4KaDKR.js.map +0 -1
|
@@ -57,6 +57,10 @@ export const usePrevNext = () => {
|
|
|
57
57
|
let next;
|
|
58
58
|
let foundCurrent = false;
|
|
59
59
|
traverseNavigation(navigation, (item) => {
|
|
60
|
+
if (item.type === "separator" ||
|
|
61
|
+
item.type === "section" ||
|
|
62
|
+
item.type === "filter")
|
|
63
|
+
return;
|
|
60
64
|
const itemId = item.type === "doc"
|
|
61
65
|
? joinUrl(item.path)
|
|
62
66
|
: item.type === "category" && item.link
|
|
@@ -96,7 +100,24 @@ export const navigationListItem = cva("relative flex items-center gap-2 px-(--pa
|
|
|
96
100
|
isActive: false,
|
|
97
101
|
},
|
|
98
102
|
});
|
|
99
|
-
export const
|
|
103
|
+
export const itemMatchesFilter = (item, query) => {
|
|
104
|
+
if (["separator", "section", "filter"].includes(item.type)) {
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
if (item.label?.toLowerCase().includes(query.toLowerCase())) {
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
if (item.type === "category") {
|
|
111
|
+
return item.items.some((child) => itemMatchesFilter(child, query));
|
|
112
|
+
}
|
|
113
|
+
return false;
|
|
114
|
+
};
|
|
115
|
+
export const shouldShowItem = (auth, context, filterQuery) => (item) => {
|
|
116
|
+
if (item.type === "filter")
|
|
117
|
+
return true;
|
|
118
|
+
if (filterQuery?.trim() && !itemMatchesFilter(item, filterQuery)) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
100
121
|
if (typeof item.display === "function") {
|
|
101
122
|
return item.display({ context, auth });
|
|
102
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAO3C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAOnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,UAA4B,EAC5B,QAA6B,EACd,EAAE;IACjB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;IAC1C,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,IAAoB,EACpB,QAA6B,EAC7B,mBAAqC,EAAE,EACxB,EAAE;IACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAChD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IAExC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE;gBAC1D,GAAG,gBAAgB;gBACnB,IAAI;aACL,CAAC,CAAC;YACH,IAAI,WAAW,KAAK,SAAS;gBAAE,OAAO,WAAW,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,UAAU,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAE9C,OAAO,kBAAkB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QAC7C,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAA4B,EAAE,EAAE;IAChE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,OAAO,sBAAsB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;QAC/C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,UAAU;gBACb,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,KAAK,aAAa,CAAC;YACnB,KAAK,KAAK;gBACR,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAGzB,EAAE;IACF,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC,QAAQ,CAAC;IACzC,MAAM,EAAE,UAAU,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAE9C,IAAI,IAAgD,CAAC;IACrD,IAAI,IAAgD,CAAC;IAErD,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,kBAAkB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QACtC,MAAM,MAAM,GACV,IAAI,CAAC,IAAI,KAAK,KAAK;YACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI;gBACrC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzB,CAAC,CAAC,SAAS,CAAC;QAElB,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CACnC,gHAAgH,EAChH;IACE,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,IAAI,EAAE,uBAAuB;YAC7B,KAAK,EAAE,oBAAoB;SAC5B;QACD,OAAO,EAAE;YACP,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,EAAE;SACV;QACD,SAAS,EAAE;YACT,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,EAAE;SACV;KACF;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,KAAK;KAChB;CACF,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GACzB,CAAC,IAAmB,EAAE,OAAsB,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/components/navigation/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export function isBinaryContentType(contentType) {
|
|
2
2
|
return /^(application\/octet-stream|image\/|audio\/|video\/|font\/|application\/pdf|application\/zip|application\/x-protobuf|application\/x-binary)/i.test(contentType);
|
|
3
3
|
}
|
|
4
|
+
export function isAudioContentType(contentType) {
|
|
5
|
+
return /^audio\//i.test(contentType);
|
|
6
|
+
}
|
|
4
7
|
export const extractFileName = (headers, url) => {
|
|
5
8
|
const contentDisposition = headers.find(([key]) => key.toLowerCase() === "content-disposition")?.[1];
|
|
6
9
|
if (contentDisposition) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/fileUtils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,OAAO,8IAA8I,CAAC,IAAI,CACxJ,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgC,EAChC,GAAW,EACH,EAAE;IACV,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,CACrC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,qBAAqB,CACvD,EAAE,CAAC,CAAC,CAAC,CAAC;IAEP,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAC5C,wCAAwC,CACzC,CAAC;QACF,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC;QACxD,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,UAAU,CAAC;IACpB,CAAC;AACH,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/fileUtils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,OAAO,8IAA8I,CAAC,IAAI,CACxJ,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,OAAO,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgC,EAChC,GAAW,EACH,EAAE;IACV,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,CACrC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,qBAAqB,CACvD,EAAE,CAAC,CAAC,CAAC,CAAC;IAEP,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAC5C,wCAAwC,CACzC,CAAC;QACF,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC;QACxD,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,UAAU,CAAC;IACpB,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { DownloadIcon } from "lucide-react";
|
|
3
|
+
import { useEffect, useState } from "react";
|
|
4
|
+
import { Button } from "zudoku/ui/Button.js";
|
|
5
|
+
import { humanFileSize } from "../../../../util/humanFileSize.js";
|
|
6
|
+
export const AudioPlayer = ({ blob, fileName, size, onDownload, }) => {
|
|
7
|
+
const [audioUrl, setAudioUrl] = useState(null);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
const url = URL.createObjectURL(blob);
|
|
10
|
+
setAudioUrl(url);
|
|
11
|
+
return () => {
|
|
12
|
+
URL.revokeObjectURL(url);
|
|
13
|
+
};
|
|
14
|
+
}, [blob]);
|
|
15
|
+
if (!audioUrl) {
|
|
16
|
+
return (_jsx("div", { className: "p-4 text-center", children: _jsx("div", { className: "text-sm text-muted-foreground", children: "Loading audio..." }) }));
|
|
17
|
+
}
|
|
18
|
+
return (_jsx("div", { className: "p-4 text-center", children: _jsxs("div", { className: "flex flex-col items-center gap-4", children: [_jsx("audio", { controls: true, src: audioUrl, className: "w-full max-w-md", children: "Your browser does not support the audio element." }), _jsxs(Button, { onClick: onDownload, className: "flex items-center gap-2", children: [_jsx(DownloadIcon, { className: "h-4 w-4" }), "Download ", fileName, " (", humanFileSize(size), ")"] })] }) }));
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=AudioPlayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioPlayer.js","sourceRoot":"","sources":["../../../../../../src/lib/plugins/openapi/playground/result-panel/AudioPlayer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,UAAU,GAMX,EAAE,EAAE;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAE9D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEjB,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CACL,cAAK,SAAS,EAAC,iBAAiB,YAC9B,cAAK,SAAS,EAAC,+BAA+B,iCAAuB,GACjE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,iBAAiB,YAC9B,eAAK,SAAS,EAAC,kCAAkC,aAE/C,gBAAO,QAAQ,QAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAC,iBAAiB,iEAElD,EACR,MAAC,MAAM,IAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAC,yBAAyB,aAC9D,KAAC,YAAY,IAAC,SAAS,EAAC,SAAS,GAAG,eAC1B,QAAQ,QAAI,aAAa,CAAC,IAAI,CAAC,SAClC,IACL,GACF,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -11,6 +11,8 @@ import { cn } from "../../../../util/cn.js";
|
|
|
11
11
|
import createVariantComponent from "../../../../util/createVariantComponent.js";
|
|
12
12
|
import { humanFileSize } from "../../../../util/humanFileSize.js";
|
|
13
13
|
import { CollapsibleHeader, CollapsibleHeaderTrigger, } from "../CollapsibleHeader.js";
|
|
14
|
+
import { isAudioContentType } from "../fileUtils.js";
|
|
15
|
+
import { AudioPlayer } from "./AudioPlayer.js";
|
|
14
16
|
import { convertToTypes } from "./convertToTypes.js";
|
|
15
17
|
const mimeTypeToLanguage = (mimeType) => {
|
|
16
18
|
const mimeTypeMapping = {
|
|
@@ -24,8 +26,11 @@ const mimeTypeToLanguage = (mimeType) => {
|
|
|
24
26
|
};
|
|
25
27
|
return Object.entries(mimeTypeMapping).find(([mime]) => mimeType.includes(mime))?.[1];
|
|
26
28
|
};
|
|
29
|
+
const getContentType = (headers) => {
|
|
30
|
+
return (headers.find(([key]) => key.toLowerCase() === "content-type")?.[1] || "");
|
|
31
|
+
};
|
|
27
32
|
const detectLanguage = (headers) => {
|
|
28
|
-
const contentType = headers
|
|
33
|
+
const contentType = getContentType(headers);
|
|
29
34
|
return mimeTypeToLanguage(contentType);
|
|
30
35
|
};
|
|
31
36
|
const tryParseJson = (body) => {
|
|
@@ -102,7 +107,7 @@ export const ResponseTab = ({ body = "", headers, request, size, isBinary = fals
|
|
|
102
107
|
.slice(MAX_HEADERS_TO_SHOW)
|
|
103
108
|
.map(([key, value]) => (_jsxs(Row, { children: [_jsx(RowContent, { children: key }), _jsx(RowValue, { value: value, header: key })] }, key))), _jsxs(CollapsibleTrigger, { className: "justify-center col-span-2 text-xs text-muted-foreground hover:text-primary border-b h-8 flex items-center gap-2", children: ["Hide ", request.headers.length - MAX_HEADERS_TO_SHOW, " headers", _jsx(MinusCircleIcon, { size: 12, className: "text-muted-foreground" })] })] })] }))] }) })] }), _jsxs(Collapsible, { defaultOpen: true, children: [_jsxs(CollapsibleHeaderTrigger, { children: [_jsx(CornerDownLeftIcon, { size: 14 }), _jsx(CollapsibleHeader, { children: "Response Headers" })] }), _jsx(CollapsibleContent, { children: _jsxs("div", { className: "grid grid-cols-[2fr_3fr] gap-x-6 text-sm", children: [sortedHeaders.slice(0, MAX_HEADERS_TO_SHOW).map(([key, value]) => (_jsxs(Row, { children: [_jsx(RowContent, { children: key }), _jsx(RowValue, { value: value, header: key })] }, key))), sortedHeaders.length > MAX_HEADERS_TO_SHOW && (_jsxs(Collapsible, { className: "col-span-full grid-cols-subgrid grid group", children: [_jsxs(CollapsibleTrigger, { className: "data-[state=open]:hidden justify-center col-span-2 text-xs text-muted-foreground hover:text-primary border-b h-8 flex items-center gap-2", children: ["Show ", sortedHeaders.length - MAX_HEADERS_TO_SHOW, " more headers", _jsx(PlusCircleIcon, { size: 12, className: "text-muted-foreground" })] }), _jsxs(CollapsibleContent, { className: "col-span-full grid grid-cols-subgrid", children: [sortedHeaders
|
|
104
109
|
.slice(MAX_HEADERS_TO_SHOW)
|
|
105
|
-
.map(([key, value]) => (_jsxs(Row, { children: [_jsx(RowContent, { children: key }), _jsx(RowValue, { value: value, header: key })] }, key))), _jsxs(CollapsibleTrigger, { className: "justify-center col-span-2 text-xs text-muted-foreground hover:text-primary border-b h-8 flex items-center gap-2", children: ["Hide ", sortedHeaders.length - MAX_HEADERS_TO_SHOW, " headers", _jsx(MinusCircleIcon, { size: 12, className: "text-muted-foreground" })] })] })] }))] }) })] }), _jsxs("div", { className: "flex gap-2 justify-between items-center border-b px-2 flex-0", children: [_jsxs(CollapsibleHeader, { className: "flex items-center gap-2", children: [_jsx(SquareCodeIcon, { size: 14 }), "Response body"] }), jsonContent && !isBinary && (_jsxs(Select, { value: view, onValueChange: (value) => setView(value), children: [_jsx(SelectTrigger, { className: "max-w-32 border-0 bg-transparent", children: _jsx(SelectValue, { placeholder: "View" }) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "formatted", children: "Formatted" }), _jsx(SelectItem, { value: "raw", children: "Raw" }), _jsx(SelectItem, { value: "types", children: "Types" })] })] }))] }), _jsx("div", { className: "flex-1", children: isBinary ? (_jsx("div", { className: "p-4 text-center", children: _jsxs("div", { className: "flex flex-col items-center gap-4", children: [_jsx("div", { className: "text-lg font-semibold", children: "Binary Content" }), _jsx("div", { className: "text-sm text-muted-foreground", children: "This response contains binary data that cannot be displayed as text." }), _jsxs(Button, { onClick: handleDownload, className: "flex items-center gap-2", disabled: !blob, children: [_jsx(DownloadIcon, { className: "h-4 w-4" }), "Download ", fileName || "file", " (", humanFileSize(size), ")"] })] }) })) : (_jsx(SyntaxHighlight, { className: "text-xs flex-1", embedded: true, fullHeight: true, language: view === "types"
|
|
110
|
+
.map(([key, value]) => (_jsxs(Row, { children: [_jsx(RowContent, { children: key }), _jsx(RowValue, { value: value, header: key })] }, key))), _jsxs(CollapsibleTrigger, { className: "justify-center col-span-2 text-xs text-muted-foreground hover:text-primary border-b h-8 flex items-center gap-2", children: ["Hide ", sortedHeaders.length - MAX_HEADERS_TO_SHOW, " headers", _jsx(MinusCircleIcon, { size: 12, className: "text-muted-foreground" })] })] })] }))] }) })] }), _jsxs("div", { className: "flex gap-2 justify-between items-center border-b px-2 flex-0", children: [_jsxs(CollapsibleHeader, { className: "flex items-center gap-2", children: [_jsx(SquareCodeIcon, { size: 14 }), "Response body"] }), jsonContent && !isBinary && (_jsxs(Select, { value: view, onValueChange: (value) => setView(value), children: [_jsx(SelectTrigger, { className: "max-w-32 border-0 bg-transparent", children: _jsx(SelectValue, { placeholder: "View" }) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "formatted", children: "Formatted" }), _jsx(SelectItem, { value: "raw", children: "Raw" }), _jsx(SelectItem, { value: "types", children: "Types" })] })] }))] }), _jsx("div", { className: "flex-1", children: isBinary ? (blob && isAudioContentType(getContentType(headers)) ? (_jsx(AudioPlayer, { blob: blob, fileName: fileName ?? "audio", size: size, onDownload: handleDownload })) : (_jsx("div", { className: "p-4 text-center", children: _jsxs("div", { className: "flex flex-col items-center gap-4", children: [_jsx("div", { className: "text-lg font-semibold", children: "Binary Content" }), _jsx("div", { className: "text-sm text-muted-foreground", children: "This response contains binary data that cannot be displayed as text." }), _jsxs(Button, { onClick: handleDownload, className: "flex items-center gap-2", disabled: !blob, children: [_jsx(DownloadIcon, { className: "h-4 w-4" }), "Download ", fileName || "file", " (", humanFileSize(size), ")"] })] }) }))) : (_jsx(SyntaxHighlight, { className: "text-xs flex-1", embedded: true, fullHeight: true, language: view === "types"
|
|
106
111
|
? "typescript"
|
|
107
112
|
: view === "raw"
|
|
108
113
|
? jsonContent
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseTab.js","sourceRoot":"","sources":["../../../../../../src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACZ,OAAO,EACP,UAAU,EACV,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,MAAM,EACN,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,sBAAsB,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EACL,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC9C,MAAM,eAAe,GAAG;QACtB,kBAAkB,EAAE,MAAM;QAC1B,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,MAAM;QACnB,UAAU,EAAE,KAAK;QACjB,iBAAiB,EAAE,YAAY;QAC/B,iBAAiB,EAAE,KAAK;QACxB,uBAAuB,EAAE,OAAO;KACjC,CAAC;IAEF,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CACrD,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxB,EAAE,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,OAAgC,EAAE,EAAE;IAC1D,
|
|
1
|
+
{"version":3,"file":"ResponseTab.js","sourceRoot":"","sources":["../../../../../../src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
import type * as React from "react";
|
|
3
|
+
import { Button } from "./Button.js";
|
|
4
|
+
declare function InputGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare const inputGroupAddonVariants: (props?: ({
|
|
6
|
+
align?: "inline-start" | "inline-end" | "block-start" | "block-end" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
declare function InputGroupAddon({ className, align, ...props }: React.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare const inputGroupButtonVariants: (props?: ({
|
|
10
|
+
size?: "sm" | "icon-xs" | "icon-sm" | "xs" | null | undefined;
|
|
11
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
12
|
+
declare function InputGroupButton({ className, type, variant, size, ...props }: Omit<React.ComponentProps<typeof Button>, "size"> & VariantProps<typeof inputGroupButtonVariants>): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare function InputGroupText({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
declare function InputGroupInput({ className, ...props }: React.ComponentProps<"input">): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
declare function InputGroupTextarea({ className, ...props }: React.ComponentProps<"textarea">): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupText, InputGroupInput, InputGroupTextarea, };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cva } from "class-variance-authority";
|
|
3
|
+
import { cn } from "../util/cn.js";
|
|
4
|
+
import { Button } from "./Button.js";
|
|
5
|
+
import { Input } from "./Input.js";
|
|
6
|
+
import { Textarea } from "./Textarea.js";
|
|
7
|
+
function InputGroup({ className, ...props }) {
|
|
8
|
+
return (_jsx("div", { "data-slot": "input-group", role: "group", className: cn("group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none", "h-9 min-w-0 has-[>textarea]:h-auto",
|
|
9
|
+
// Variants based on alignment.
|
|
10
|
+
"has-[>[data-align=inline-start]]:[&>input]:pl-2", "has-[>[data-align=inline-end]]:[&>input]:pr-2", "has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3", "has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3",
|
|
11
|
+
// Focus state.
|
|
12
|
+
"has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]",
|
|
13
|
+
// Error state.
|
|
14
|
+
"has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40", className), ...props }));
|
|
15
|
+
}
|
|
16
|
+
const inputGroupAddonVariants = cva("text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50", {
|
|
17
|
+
variants: {
|
|
18
|
+
align: {
|
|
19
|
+
"inline-start": "order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]",
|
|
20
|
+
"inline-end": "order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]",
|
|
21
|
+
"block-start": "order-first w-full justify-start px-3 pt-3 [.border-b]:pb-3 group-has-[>input]/input-group:pt-2.5",
|
|
22
|
+
"block-end": "order-last w-full justify-start px-3 pb-3 [.border-t]:pt-3 group-has-[>input]/input-group:pb-2.5",
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
defaultVariants: {
|
|
26
|
+
align: "inline-start",
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
function InputGroupAddon({ className, align = "inline-start", ...props }) {
|
|
30
|
+
return (
|
|
31
|
+
// biome-ignore lint/a11y/useKeyWithClickEvents: Focus management
|
|
32
|
+
_jsx("div", { role: "group", "data-slot": "input-group-addon", "data-align": align, className: cn(inputGroupAddonVariants({ align }), className), onClick: (e) => {
|
|
33
|
+
if (e.target.closest("button")) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
e.currentTarget.parentElement?.querySelector("input")?.focus();
|
|
37
|
+
}, ...props }));
|
|
38
|
+
}
|
|
39
|
+
const inputGroupButtonVariants = cva("text-sm shadow-none flex gap-2 items-center", {
|
|
40
|
+
variants: {
|
|
41
|
+
size: {
|
|
42
|
+
xs: "h-6 gap-1 px-2 rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-3.5 has-[>svg]:px-2",
|
|
43
|
+
sm: "h-8 px-2.5 gap-1.5 rounded-md has-[>svg]:px-2.5",
|
|
44
|
+
"icon-xs": "size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0",
|
|
45
|
+
"icon-sm": "size-8 p-0 has-[>svg]:p-0",
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
defaultVariants: {
|
|
49
|
+
size: "xs",
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
function InputGroupButton({ className, type = "button", variant = "ghost", size = "xs", ...props }) {
|
|
53
|
+
return (_jsx(Button, { type: type, "data-size": size, variant: variant, className: cn(inputGroupButtonVariants({ size }), className), ...props }));
|
|
54
|
+
}
|
|
55
|
+
function InputGroupText({ className, ...props }) {
|
|
56
|
+
return (_jsx("span", { className: cn("text-muted-foreground flex items-center gap-2 text-sm [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", className), ...props }));
|
|
57
|
+
}
|
|
58
|
+
function InputGroupInput({ className, ...props }) {
|
|
59
|
+
return (_jsx(Input, { "data-slot": "input-group-control", className: cn("flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent", className), ...props }));
|
|
60
|
+
}
|
|
61
|
+
function InputGroupTextarea({ className, ...props }) {
|
|
62
|
+
return (_jsx(Textarea, { "data-slot": "input-group-control", className: cn("flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent", className), ...props }));
|
|
63
|
+
}
|
|
64
|
+
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupText, InputGroupInput, InputGroupTextarea, };
|
|
65
|
+
//# sourceMappingURL=InputGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputGroup.js","sourceRoot":"","sources":["../../../src/lib/ui/InputGroup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import { L as e } from "./chunk-EPOLDU6W-C6C8jAwd.js";
|
|
|
4
4
|
import { c as n } from "./cn-5-Gd1Dss.js";
|
|
5
5
|
import { Button as r } from "./ui/Button.js";
|
|
6
6
|
import "react";
|
|
7
|
-
import "./Zudoku-
|
|
8
|
-
import "./ZudokuContext-
|
|
7
|
+
import "./Zudoku-DA1yA-te.js";
|
|
8
|
+
import "./ZudokuContext-C6wlLMUH.js";
|
|
9
9
|
import "./index-DAWHN3cH.js";
|
|
10
10
|
const j = ({
|
|
11
11
|
prev: t,
|
|
@@ -70,4 +70,4 @@ export {
|
|
|
70
70
|
j as P,
|
|
71
71
|
v as a
|
|
72
72
|
};
|
|
73
|
-
//# sourceMappingURL=ClaudeLogo-
|
|
73
|
+
//# sourceMappingURL=ClaudeLogo-OpUSMQJe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeLogo-
|
|
1
|
+
{"version":3,"file":"ClaudeLogo-OpUSMQJe.js","sources":["../src/lib/components/Pagination.tsx","../src/lib/plugins/markdown/assets/ChatGPTLogo.tsx","../src/lib/plugins/markdown/assets/ClaudeLogo.tsx"],"sourcesContent":["import { ArrowLeftIcon, ArrowRightIcon } from \"lucide-react\";\nimport { Link } from \"react-router\";\nimport { cn } from \"../util/cn.js\";\nimport { Button } from \"./index.js\";\n\nexport const Pagination = ({\n prev,\n next,\n className,\n}: {\n prev: { to: string; label: string } | undefined;\n next: { to: string; label: string } | undefined;\n className?: string;\n}) => {\n const linkClass =\n \"group min-w-0 transition-all p-5 space-x-1 rtl:space-x-reverse hover:text-foreground\";\n return (\n <div\n className={cn(\n \"flex flex-wrap gap-2 -mx-4 text-muted-foreground font-semibold\",\n prev ? \"justify-between\" : \"justify-end\",\n className,\n )}\n data-pagefind-ignore=\"all\"\n >\n {prev && (\n <Button variant=\"ghost\" className=\"min-w-0 max-w-full\" asChild>\n <Link to={prev.to} relative=\"path\" className={linkClass}>\n <ArrowLeftIcon size={14} strokeWidth={2.5} />\n <span className=\"text-lg truncate\">{prev.label}</span>\n </Link>\n </Button>\n )}\n {next && (\n <Button variant=\"ghost\" className=\"ms-auto min-w-0 max-w-full\" asChild>\n <Link to={next.to} relative=\"path\" className={linkClass}>\n <span className=\"text-lg truncate\">{next.label}</span>\n <ArrowRightIcon size={14} strokeWidth={2.5} />\n </Link>\n </Button>\n )}\n </div>\n );\n};\n","import type { SVGProps } from \"react\";\n\nexport const ChatGPTLogo = (props: SVGProps<SVGSVGElement>) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 320\" {...props}>\n <title>ChatGPT</title>\n <path\n fill=\"currentColor\"\n d=\"M297.06 130.97a79.712 79.712 0 0 0-6.85-65.48c-17.46-30.4-52.56-46.04-86.84-38.68A79.747 79.747 0 0 0 143.24 0C108.2-.08 77.11 22.48 66.33 55.82a79.754 79.754 0 0 0-53.31 38.67c-17.59 30.32-13.58 68.54 9.92 94.54a79.712 79.712 0 0 0 6.85 65.48c17.46 30.4 52.56 46.04 86.84 38.68a79.687 79.687 0 0 0 60.13 26.8c35.06.09 66.16-22.49 76.94-55.86a79.754 79.754 0 0 0 53.31-38.67c17.57-30.32 13.55-68.51-9.94-94.51zM176.78 299.08a59.77 59.77 0 0 1-38.39-13.88c.49-.26 1.34-.73 1.89-1.07l63.72-36.8a10.36 10.36 0 0 0 5.24-9.07v-89.83l26.93 15.55c.29.14.48.42.52.74v74.39c-.04 33.08-26.83 59.9-59.91 59.97zM47.94 244.05a59.71 59.71 0 0 1-7.15-40.18c.47.28 1.3.79 1.89 1.13l63.72 36.8c3.23 1.89 7.23 1.89 10.47 0l77.79-44.92v31.1c.02.32-.13.63-.38.83L129.87 266c-28.69 16.52-65.33 6.7-81.92-21.95zM31.17 104.96c7-12.16 18.05-21.46 31.21-26.29 0 .55-.03 1.52-.03 2.2v73.61c-.02 3.74 1.98 7.21 5.23 9.06l77.79 44.91L118.44 224c-.27.18-.61.21-.91.08l-64.42-37.22c-28.63-16.58-38.45-53.21-21.95-81.89zm221.26 51.49-77.79-44.92 26.93-15.54c.27-.18.61-.21.91-.08l64.42 37.19c28.68 16.57 38.51 53.26 21.94 81.94a59.94 59.94 0 0 1-31.2 26.28v-75.81c.03-3.74-1.96-7.2-5.2-9.06zm26.8-40.34c-.47-.29-1.3-.79-1.89-1.13l-63.72-36.8a10.375 10.375 0 0 0-10.47 0l-77.79 44.92V92c-.02-.32.13-.63.38-.83l64.41-37.16c28.69-16.55 65.37-6.7 81.91 22a59.95 59.95 0 0 1 7.15 40.1zm-168.51 55.43-26.94-15.55a.943.943 0 0 1-.52-.74V80.86c.02-33.12 26.89-59.96 60.01-59.94 14.01 0 27.57 4.92 38.34 13.88-.49.26-1.33.73-1.89 1.07L116 72.67a10.344 10.344 0 0 0-5.24 9.06l-.04 89.79zM125.35 140 160 119.99l34.65 20V180L160 200l-34.65-20z\"\n />\n </svg>\n);\n","import type { SVGProps } from \"react\";\n\nexport const ClaudeLogo = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"1em\"\n height=\"1em\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n viewBox=\"0 0 24 24\"\n {...props}\n >\n <title>Claude</title>\n <path\n fill=\"#D97757\"\n d=\"m4.709 15.955 4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 0 1-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312z\"\n />\n </svg>\n);\n"],"names":["Pagination","prev","next","className","linkClass","jsxs","cn","Button","Link","jsx","ArrowLeftIcon","ArrowRightIcon","ChatGPTLogo","props","ClaudeLogo"],"mappings":";;;;;;;;;AAKO,MAAMA,IAAa,CAAC;AAAA,EACzB,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC;AACF,MAIM;AACJ,QAAMC,IACJ;AACF,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAL,IAAO,oBAAoB;AAAA,QAC3BE;AAAA,MAAA;AAAA,MAEF,wBAAqB;AAAA,MAEpB,UAAA;AAAA,QAAAF,2BACEM,GAAA,EAAO,SAAQ,SAAQ,WAAU,sBAAqB,SAAO,IAC5D,UAAAF,gBAAAA,EAAAA,KAACG,GAAA,EAAK,IAAIP,EAAK,IAAI,UAAS,QAAO,WAAWG,GAC5C,UAAA;AAAA,UAAAK,gBAAAA,EAAAA,IAACC,GAAA,EAAc,MAAM,IAAI,aAAa,KAAK;AAAA,UAC3CD,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,oBAAoB,YAAK,MAAA,CAAM;AAAA,QAAA,EAAA,CACjD,EAAA,CACF;AAAA,QAEDP,KACCO,gBAAAA,EAAAA,IAACF,GAAA,EAAO,SAAQ,SAAQ,WAAU,8BAA6B,SAAO,IACpE,UAAAF,gBAAAA,EAAAA,KAACG,KAAK,IAAIN,EAAK,IAAI,UAAS,QAAO,WAAWE,GAC5C,UAAA;AAAA,UAAAK,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,oBAAoB,UAAAP,EAAK,OAAM;AAAA,UAC/CO,gBAAAA,EAAAA,IAACE,GAAA,EAAe,MAAM,IAAI,aAAa,IAAA,CAAK;AAAA,QAAA,EAAA,CAC9C,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR,GCzCaC,IAAc,CAACC,MAC1BR,gBAAAA,EAAAA,KAAC,OAAA,EAAI,OAAM,8BAA6B,SAAQ,eAAe,GAAGQ,GAChE,UAAA;AAAA,EAAAJ,gBAAAA,EAAAA,IAAC,WAAM,UAAA,UAAA,CAAO;AAAA,EACdA,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,GAAE;AAAA,IAAA;AAAA,EAAA;AACJ,EAAA,CACF,GCPWK,IAAa,CAACD,MACzBR,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,OAAM;AAAA,IACN,QAAO;AAAA,IACP,MAAK;AAAA,IACL,UAAS;AAAA,IACT,SAAQ;AAAA,IACP,GAAGQ;AAAA,IAEJ,UAAA;AAAA,MAAAJ,gBAAAA,EAAAA,IAAC,WAAM,UAAA,SAAA,CAAM;AAAA,MACbA,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,GAAE;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA;AACF;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as e } from "./jsx-runtime-BzflLqGi.js";
|
|
2
|
-
import { s as H } from "./index-
|
|
2
|
+
import { s as H } from "./index-DrAVvbXa.js";
|
|
3
3
|
import { H as R } from "./index.esm-Ca5zvoff.js";
|
|
4
4
|
import { CheckIcon as U, CopyIcon as _, ChevronDownIcon as $, Link2Icon as A, ExternalLinkIcon as q, EditIcon as B } from "lucide-react";
|
|
5
5
|
import { useState as F, useEffect as G } from "react";
|
|
@@ -7,10 +7,10 @@ import { a as V } from "./chunk-EPOLDU6W-C6C8jAwd.js";
|
|
|
7
7
|
import { B as j } from "./Button-GUVe7pmt.js";
|
|
8
8
|
import { D as W, a as X, b as J, c as l } from "./DropdownMenu-DN0jNrjj.js";
|
|
9
9
|
import { C as K } from "./CategoryHeading-DhmodDcq.js";
|
|
10
|
-
import { T as O, H as f } from "./Zudoku-
|
|
11
|
-
import { T as Q } from "./Toc-
|
|
12
|
-
import { c as Y, j as Z, d as ee } from "./ZudokuContext-
|
|
13
|
-
import { C as se, a as oe, P as ie } from "./ClaudeLogo-
|
|
10
|
+
import { T as O, H as f } from "./Zudoku-DA1yA-te.js";
|
|
11
|
+
import { T as Q } from "./Toc-DQF7trHT.js";
|
|
12
|
+
import { c as Y, j as Z, d as ee } from "./ZudokuContext-C6wlLMUH.js";
|
|
13
|
+
import { C as se, a as oe, P as ie } from "./ClaudeLogo-OpUSMQJe.js";
|
|
14
14
|
import { u as ne } from "./useExposedProps-CzTDfXfq.js";
|
|
15
15
|
const ae = {
|
|
16
16
|
h2: ({ children: i, id: n }) => /* @__PURE__ */ e.jsx(f, { level: 2, id: n, registerNavigationAnchor: !0, children: i }),
|
|
@@ -207,4 +207,4 @@ const ae = {
|
|
|
207
207
|
export {
|
|
208
208
|
ve as MdxPage
|
|
209
209
|
};
|
|
210
|
-
//# sourceMappingURL=MdxPage-
|
|
210
|
+
//# sourceMappingURL=MdxPage-dzCPGdvD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MdxPage-B1G4W1TK.js","sources":["../src/lib/plugins/markdown/MdxPage.tsx"],"sourcesContent":["import { useMDXComponents } from \"@mdx-js/react\";\nimport slugify from \"@sindresorhus/slugify\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport {\n CheckIcon,\n ChevronDownIcon,\n CopyIcon,\n EditIcon,\n ExternalLinkIcon,\n Link2Icon,\n} from \"lucide-react\";\nimport { type PropsWithChildren, useEffect, useState } from \"react\";\nimport { useLocation } from \"react-router\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"zudoku/ui/DropdownMenu.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Toc } from \"../../components/navigation/Toc.js\";\nimport {\n useCurrentItem,\n usePrevNext,\n} from \"../../components/navigation/utils.js\";\nimport { Pagination } from \"../../components/Pagination.js\";\nimport { Typography } from \"../../components/Typography.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport type { MdxComponentsType } from \"../../util/MdxComponents.js\";\nimport { ChatGPTLogo } from \"./assets/ChatGPTLogo.js\";\nimport { ClaudeLogo } from \"./assets/ClaudeLogo.js\";\nimport type { MarkdownPluginDefaultOptions, MDXImport } from \"./index.js\";\n\ndeclare global {\n interface Window {\n __getReactRefreshIgnoredExports?: (args: {\n id: string;\n }) => string[] | undefined;\n }\n}\n\nconst MarkdownHeadings = {\n h2: ({ children, id }) => (\n <Heading level={2} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n h3: ({ children, id }) => (\n <Heading level={3} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n} satisfies MdxComponentsType;\n\nexport const MdxPage = ({\n mdxComponent: MdxComponent,\n basePath,\n frontmatter = {},\n defaultOptions,\n __filepath,\n tableOfContents,\n excerpt,\n}: PropsWithChildren<\n Omit<MDXImport, \"default\"> & {\n basePath: string;\n mdxComponent: MDXImport[\"default\"];\n defaultOptions?: MarkdownPluginDefaultOptions;\n }\n>) => {\n const categoryTitle = useCurrentItem()?.categoryLabel;\n const location = useLocation();\n const [isCopied, setIsCopied] = useState(false);\n\n const title = frontmatter.title;\n const description = frontmatter.description ?? excerpt;\n const category = frontmatter.category ?? categoryTitle;\n const hideToc = frontmatter.toc === false || defaultOptions?.toc === false;\n const pageTitle =\n title ?? tableOfContents.find((item) => item.depth === 1)?.value;\n const hidePager =\n frontmatter.disable_pager ??\n frontmatter.disablePager ??\n defaultOptions?.disablePager ??\n false;\n\n const showLastModified =\n frontmatter.showLastModified ?? defaultOptions?.showLastModified ?? true;\n\n const lastModifiedDate = frontmatter.lastModifiedTime\n ? new Date(frontmatter.lastModifiedTime)\n : null;\n\n const editConfig =\n frontmatter.suggestEdit !== false &&\n (frontmatter.suggestEdit ?? defaultOptions?.suggestEdit);\n\n const editUrl = editConfig\n ? editConfig.url.replaceAll(\"{filePath}\", __filepath)\n : null;\n const editText = editConfig ? editConfig.text || \"Edit this page\" : null;\n\n const copyMarkdownConfig =\n frontmatter.copyPage !== false && defaultOptions?.copyPage !== false;\n\n const markdownUrl = joinUrl(basePath, `${location.pathname}.md`);\n\n const handleCopyMarkdown = async () => {\n const response = await fetch(markdownUrl);\n if (!response.ok) throw new Error(\"Failed to fetch markdown\");\n const markdown = await response.text();\n void navigator.clipboard.writeText(markdown);\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 2000);\n };\n\n const tocEntries =\n tableOfContents.find((item) => item.depth === 1)?.children ??\n // if `title` is provided by frontmatter it does not appear in the table of contents\n tableOfContents.filter((item) => item.depth === 2);\n\n const showToc = !hideToc && tocEntries.length > 0;\n\n const { prev, next } = usePrevNext();\n\n useEffect(() => {\n if (process.env.NODE_ENV === \"development\") {\n window.__getReactRefreshIgnoredExports = ({ id }) => {\n if (!id.endsWith(__filepath)) return;\n\n return [\"frontmatter\", \"tableOfContents\"];\n };\n\n return () => {\n window.__getReactRefreshIgnoredExports = undefined;\n };\n }\n }, [__filepath]);\n\n return (\n <div\n className=\"grid grid-cols-1 xl:grid-cols-(--sidecar-grid-cols) gap-8 justify-between\"\n data-pagefind-filter=\"section:markdown\"\n data-pagefind-meta=\"section:markdown\"\n >\n <Helmet>\n <title>{pageTitle}</title>\n {description && <meta name=\"description\" content={description} />}\n </Helmet>\n <Typography className=\"max-w-full xl:w-full xl:max-w-3xl flex-1 shrink pt-(--padding-content-top)\">\n {(category || title) && (\n <header className=\"flex items-start justify-between gap-4\">\n <div className=\"flex-1\">\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} id={slugify(title)}>\n {title}\n </Heading>\n )}\n </div>\n {copyMarkdownConfig && (\n <div className=\"flex items-center border rounded-md\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={handleCopyMarkdown}\n className=\"rounded-r-none border-r gap-2 h-7\"\n >\n {isCopied ? (\n <CheckIcon size={14} className=\"text-emerald-600\" />\n ) : (\n <CopyIcon size={14} />\n )}\n <span>Copy page</span>\n </Button>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon-xs\"\n className=\"rounded-l-none\"\n >\n <ChevronDownIcon size={14} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem\n className=\"gap-2\"\n onClick={() =>\n void navigator.clipboard.writeText(window.location.href)\n }\n >\n <Link2Icon className=\"size-4\" />\n Copy link to page\n </DropdownMenuItem>\n <DropdownMenuItem className=\"gap-2\" asChild>\n <a\n href={markdownUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <ExternalLinkIcon className=\"size-4\" />\n Open Markdown page\n </a>\n </DropdownMenuItem>\n <DropdownMenuItem\n className=\"gap-2\"\n onClick={() => {\n const prompt = encodeURIComponent(\n `Help me understand this documentation page: ${window.location.href}`,\n );\n window.open(\n `https://claude.ai/new?q=${prompt}`,\n \"_blank\",\n );\n }}\n >\n <ClaudeLogo className=\"size-4\" />\n Open in Claude\n </DropdownMenuItem>\n <DropdownMenuItem\n className=\"gap-2\"\n onClick={() => {\n const prompt = encodeURIComponent(\n `Help me understand this documentation page: ${window.location.href}`,\n );\n window.open(\n `https://chatgpt.com/?q=${prompt}`,\n \"_blank\",\n );\n }}\n >\n <ChatGPTLogo className=\"size-4\" />\n Open in ChatGPT\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n )}\n </header>\n )}\n\n <MdxComponent\n components={{ ...useMDXComponents(), ...MarkdownHeadings }}\n />\n <div className=\"h-16\" />\n {(showLastModified && lastModifiedDate) || editUrl ? (\n <div className=\"flex justify-between text-xs text-muted-foreground \">\n <div />\n <div className=\"flex items-center gap-2\">\n <div>\n {editUrl && (\n <Button asChild variant=\"ghost\" size=\"sm\">\n <a\n href={editUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex items-center gap-1\"\n >\n <EditIcon size={12} />\n {editText}\n </a>\n </Button>\n )}\n </div>\n <div>\n {showLastModified && lastModifiedDate && (\n <div\n title={lastModifiedDate.toLocaleString(undefined, {\n dateStyle: \"full\",\n timeStyle: \"medium\",\n })}\n >\n Last modified on{\" \"}\n <time dateTime={lastModifiedDate.toISOString()}>\n {lastModifiedDate.toLocaleDateString(\"en-US\", {\n dateStyle: \"long\",\n })}\n </time>\n </div>\n )}\n </div>\n </div>\n </div>\n ) : null}\n {!hidePager && (\n <>\n <div className=\"h-px bg-border mt-2 mb-6\" />\n <Pagination\n prev={prev ? { to: prev.id, label: prev.label ?? \"\" } : undefined}\n next={next ? { to: next.id, label: next.label ?? \"\" } : undefined}\n className=\"mb-10\"\n />\n </>\n )}\n </Typography>\n <div className=\"hidden xl:block\" data-pagefind-ignore=\"all\">\n {showToc && <Toc entries={tocEntries} />}\n </div>\n </div>\n );\n};\n"],"names":["MarkdownHeadings","children","id","jsx","Heading","MdxPage","MdxComponent","basePath","frontmatter","defaultOptions","__filepath","tableOfContents","excerpt","categoryTitle","useCurrentItem","location","useLocation","isCopied","setIsCopied","useState","title","description","category","hideToc","pageTitle","item","hidePager","showLastModified","lastModifiedDate","editConfig","editUrl","editText","copyMarkdownConfig","markdownUrl","joinUrl","handleCopyMarkdown","response","markdown","tocEntries","showToc","prev","next","usePrevNext","useEffect","jsxs","Helmet","Typography","CategoryHeading","slugify","Button","CheckIcon","CopyIcon","DropdownMenu","DropdownMenuTrigger","ChevronDownIcon","DropdownMenuContent","DropdownMenuItem","Link2Icon","ExternalLinkIcon","prompt","ClaudeLogo","ChatGPTLogo","useMDXComponents","EditIcon","Fragment","Pagination","Toc"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MdxPage-dzCPGdvD.js","sources":["../src/lib/plugins/markdown/MdxPage.tsx"],"sourcesContent":["import { useMDXComponents } from \"@mdx-js/react\";\nimport slugify from \"@sindresorhus/slugify\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport {\n CheckIcon,\n ChevronDownIcon,\n CopyIcon,\n EditIcon,\n ExternalLinkIcon,\n Link2Icon,\n} from \"lucide-react\";\nimport { type PropsWithChildren, useEffect, useState } from \"react\";\nimport { useLocation } from \"react-router\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"zudoku/ui/DropdownMenu.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Toc } from \"../../components/navigation/Toc.js\";\nimport {\n useCurrentItem,\n usePrevNext,\n} from \"../../components/navigation/utils.js\";\nimport { Pagination } from \"../../components/Pagination.js\";\nimport { Typography } from \"../../components/Typography.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport type { MdxComponentsType } from \"../../util/MdxComponents.js\";\nimport { ChatGPTLogo } from \"./assets/ChatGPTLogo.js\";\nimport { ClaudeLogo } from \"./assets/ClaudeLogo.js\";\nimport type { MarkdownPluginDefaultOptions, MDXImport } from \"./index.js\";\n\ndeclare global {\n interface Window {\n __getReactRefreshIgnoredExports?: (args: {\n id: string;\n }) => string[] | undefined;\n }\n}\n\nconst MarkdownHeadings = {\n h2: ({ children, id }) => (\n <Heading level={2} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n h3: ({ children, id }) => (\n <Heading level={3} id={id} registerNavigationAnchor>\n {children}\n </Heading>\n ),\n} satisfies MdxComponentsType;\n\nexport const MdxPage = ({\n mdxComponent: MdxComponent,\n basePath,\n frontmatter = {},\n defaultOptions,\n __filepath,\n tableOfContents,\n excerpt,\n}: PropsWithChildren<\n Omit<MDXImport, \"default\"> & {\n basePath: string;\n mdxComponent: MDXImport[\"default\"];\n defaultOptions?: MarkdownPluginDefaultOptions;\n }\n>) => {\n const categoryTitle = useCurrentItem()?.categoryLabel;\n const location = useLocation();\n const [isCopied, setIsCopied] = useState(false);\n\n const title = frontmatter.title;\n const description = frontmatter.description ?? excerpt;\n const category = frontmatter.category ?? categoryTitle;\n const hideToc = frontmatter.toc === false || defaultOptions?.toc === false;\n const pageTitle =\n title ?? tableOfContents.find((item) => item.depth === 1)?.value;\n const hidePager =\n frontmatter.disable_pager ??\n frontmatter.disablePager ??\n defaultOptions?.disablePager ??\n false;\n\n const showLastModified =\n frontmatter.showLastModified ?? defaultOptions?.showLastModified ?? true;\n\n const lastModifiedDate = frontmatter.lastModifiedTime\n ? new Date(frontmatter.lastModifiedTime)\n : null;\n\n const editConfig =\n frontmatter.suggestEdit !== false &&\n (frontmatter.suggestEdit ?? defaultOptions?.suggestEdit);\n\n const editUrl = editConfig\n ? editConfig.url.replaceAll(\"{filePath}\", __filepath)\n : null;\n const editText = editConfig ? editConfig.text || \"Edit this page\" : null;\n\n const copyMarkdownConfig =\n frontmatter.copyPage !== false && defaultOptions?.copyPage !== false;\n\n const markdownUrl = joinUrl(basePath, `${location.pathname}.md`);\n\n const handleCopyMarkdown = async () => {\n const response = await fetch(markdownUrl);\n if (!response.ok) throw new Error(\"Failed to fetch markdown\");\n const markdown = await response.text();\n void navigator.clipboard.writeText(markdown);\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 2000);\n };\n\n const tocEntries =\n tableOfContents.find((item) => item.depth === 1)?.children ??\n // if `title` is provided by frontmatter it does not appear in the table of contents\n tableOfContents.filter((item) => item.depth === 2);\n\n const showToc = !hideToc && tocEntries.length > 0;\n\n const { prev, next } = usePrevNext();\n\n useEffect(() => {\n if (process.env.NODE_ENV === \"development\") {\n window.__getReactRefreshIgnoredExports = ({ id }) => {\n if (!id.endsWith(__filepath)) return;\n\n return [\"frontmatter\", \"tableOfContents\"];\n };\n\n return () => {\n window.__getReactRefreshIgnoredExports = undefined;\n };\n }\n }, [__filepath]);\n\n return (\n <div\n className=\"grid grid-cols-1 xl:grid-cols-(--sidecar-grid-cols) gap-8 justify-between\"\n data-pagefind-filter=\"section:markdown\"\n data-pagefind-meta=\"section:markdown\"\n >\n <Helmet>\n <title>{pageTitle}</title>\n {description && <meta name=\"description\" content={description} />}\n </Helmet>\n <Typography className=\"max-w-full xl:w-full xl:max-w-3xl flex-1 shrink pt-(--padding-content-top)\">\n {(category || title) && (\n <header className=\"flex items-start justify-between gap-4\">\n <div className=\"flex-1\">\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} id={slugify(title)}>\n {title}\n </Heading>\n )}\n </div>\n {copyMarkdownConfig && (\n <div className=\"flex items-center border rounded-md\">\n <Button\n variant=\"ghost\"\n size=\"sm\"\n onClick={handleCopyMarkdown}\n className=\"rounded-r-none border-r gap-2 h-7\"\n >\n {isCopied ? (\n <CheckIcon size={14} className=\"text-emerald-600\" />\n ) : (\n <CopyIcon size={14} />\n )}\n <span>Copy page</span>\n </Button>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon-xs\"\n className=\"rounded-l-none\"\n >\n <ChevronDownIcon size={14} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem\n className=\"gap-2\"\n onClick={() =>\n void navigator.clipboard.writeText(window.location.href)\n }\n >\n <Link2Icon className=\"size-4\" />\n Copy link to page\n </DropdownMenuItem>\n <DropdownMenuItem className=\"gap-2\" asChild>\n <a\n href={markdownUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <ExternalLinkIcon className=\"size-4\" />\n Open Markdown page\n </a>\n </DropdownMenuItem>\n <DropdownMenuItem\n className=\"gap-2\"\n onClick={() => {\n const prompt = encodeURIComponent(\n `Help me understand this documentation page: ${window.location.href}`,\n );\n window.open(\n `https://claude.ai/new?q=${prompt}`,\n \"_blank\",\n );\n }}\n >\n <ClaudeLogo className=\"size-4\" />\n Open in Claude\n </DropdownMenuItem>\n <DropdownMenuItem\n className=\"gap-2\"\n onClick={() => {\n const prompt = encodeURIComponent(\n `Help me understand this documentation page: ${window.location.href}`,\n );\n window.open(\n `https://chatgpt.com/?q=${prompt}`,\n \"_blank\",\n );\n }}\n >\n <ChatGPTLogo className=\"size-4\" />\n Open in ChatGPT\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n )}\n </header>\n )}\n\n <MdxComponent\n components={{ ...useMDXComponents(), ...MarkdownHeadings }}\n />\n <div className=\"h-16\" />\n {(showLastModified && lastModifiedDate) || editUrl ? (\n <div className=\"flex justify-between text-xs text-muted-foreground \">\n <div />\n <div className=\"flex items-center gap-2\">\n <div>\n {editUrl && (\n <Button asChild variant=\"ghost\" size=\"sm\">\n <a\n href={editUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"flex items-center gap-1\"\n >\n <EditIcon size={12} />\n {editText}\n </a>\n </Button>\n )}\n </div>\n <div>\n {showLastModified && lastModifiedDate && (\n <div\n title={lastModifiedDate.toLocaleString(undefined, {\n dateStyle: \"full\",\n timeStyle: \"medium\",\n })}\n >\n Last modified on{\" \"}\n <time dateTime={lastModifiedDate.toISOString()}>\n {lastModifiedDate.toLocaleDateString(\"en-US\", {\n dateStyle: \"long\",\n })}\n </time>\n </div>\n )}\n </div>\n </div>\n </div>\n ) : null}\n {!hidePager && (\n <>\n <div className=\"h-px bg-border mt-2 mb-6\" />\n <Pagination\n prev={prev ? { to: prev.id, label: prev.label ?? \"\" } : undefined}\n next={next ? { to: next.id, label: next.label ?? \"\" } : undefined}\n className=\"mb-10\"\n />\n </>\n )}\n </Typography>\n <div className=\"hidden xl:block\" data-pagefind-ignore=\"all\">\n {showToc && <Toc entries={tocEntries} />}\n </div>\n </div>\n );\n};\n"],"names":["MarkdownHeadings","children","id","jsx","Heading","MdxPage","MdxComponent","basePath","frontmatter","defaultOptions","__filepath","tableOfContents","excerpt","categoryTitle","useCurrentItem","location","useLocation","isCopied","setIsCopied","useState","title","description","category","hideToc","pageTitle","item","hidePager","showLastModified","lastModifiedDate","editConfig","editUrl","editText","copyMarkdownConfig","markdownUrl","joinUrl","handleCopyMarkdown","response","markdown","tocEntries","showToc","prev","next","usePrevNext","useEffect","jsxs","Helmet","Typography","CategoryHeading","slugify","Button","CheckIcon","CopyIcon","DropdownMenu","DropdownMenuTrigger","ChevronDownIcon","DropdownMenuContent","DropdownMenuItem","Link2Icon","ExternalLinkIcon","prompt","ClaudeLogo","ChatGPTLogo","useMDXComponents","EditIcon","Fragment","Pagination","Toc"],"mappings":";;;;;;;;;;;;;;AA2CA,MAAMA,KAAmB;AAAA,EACvB,IAAI,CAAC,EAAE,UAAAC,GAAU,IAAAC,EAAA,MACfC,gBAAAA,EAAAA,IAACC,GAAA,EAAQ,OAAO,GAAG,IAAAF,GAAQ,0BAAwB,IAChD,UAAAD,EAAA,CACH;AAAA,EAEF,IAAI,CAAC,EAAE,UAAAA,GAAU,IAAAC,EAAA,MACfC,gBAAAA,EAAAA,IAACC,GAAA,EAAQ,OAAO,GAAG,IAAAF,GAAQ,0BAAwB,IAChD,UAAAD,EAAA,CACH;AAEJ,GAEaI,KAAU,CAAC;AAAA,EACtB,cAAcC;AAAA,EACd,UAAAC;AAAA,EACA,aAAAC,IAAc,CAAA;AAAA,EACd,gBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,SAAAC;AACF,MAMM;AACJ,QAAMC,IAAgBC,KAAkB,eAClCC,IAAWC,EAAA,GACX,CAACC,GAAUC,CAAW,IAAIC,EAAS,EAAK,GAExCC,IAAQZ,EAAY,OACpBa,IAAcb,EAAY,eAAeI,GACzCU,IAAWd,EAAY,YAAYK,GACnCU,IAAUf,EAAY,QAAQ,MAASC,GAAgB,QAAQ,IAC/De,IACJJ,KAAST,EAAgB,KAAK,CAACc,MAASA,EAAK,UAAU,CAAC,GAAG,OACvDC,IACJlB,EAAY,iBACZA,EAAY,gBACZC,GAAgB,gBAChB,IAEIkB,IACJnB,EAAY,oBAAoBC,GAAgB,oBAAoB,IAEhEmB,IAAmBpB,EAAY,mBACjC,IAAI,KAAKA,EAAY,gBAAgB,IACrC,MAEEqB,IACJrB,EAAY,gBAAgB,OAC3BA,EAAY,eAAeC,GAAgB,cAExCqB,IAAUD,IACZA,EAAW,IAAI,WAAW,cAAcnB,CAAU,IAClD,MACEqB,IAAWF,IAAaA,EAAW,QAAQ,mBAAmB,MAE9DG,IACJxB,EAAY,aAAa,MAASC,GAAgB,aAAa,IAE3DwB,IAAcC,EAAQ3B,GAAU,GAAGQ,EAAS,QAAQ,KAAK,GAEzDoB,IAAqB,YAAY;AACrC,UAAMC,IAAW,MAAM,MAAMH,CAAW;AACxC,QAAI,CAACG,EAAS,GAAI,OAAM,IAAI,MAAM,0BAA0B;AAC5D,UAAMC,IAAW,MAAMD,EAAS,KAAA;AAChC,IAAK,UAAU,UAAU,UAAUC,CAAQ,GAC3CnB,EAAY,EAAI,GAChB,WAAW,MAAMA,EAAY,EAAK,GAAG,GAAI;AAAA,EAC3C,GAEMoB,IACJ3B,EAAgB,KAAK,CAACc,MAASA,EAAK,UAAU,CAAC,GAAG;AAAA,EAElDd,EAAgB,OAAO,CAACc,MAASA,EAAK,UAAU,CAAC,GAE7Cc,IAAU,CAAChB,KAAWe,EAAW,SAAS,GAE1C,EAAE,MAAAE,GAAM,MAAAC,EAAA,IAASC,GAAA;AAEvB,SAAAC,EAAU,MAAM;AACd,QAAI,QAAQ,IAAI,aAAa;AAC3B,oBAAO,kCAAkC,CAAC,EAAE,IAAAzC,QAAS;AACnD,YAAKA,EAAG,SAASQ,CAAU;AAE3B,iBAAO,CAAC,eAAe,iBAAiB;AAAA,MAC1C,GAEO,MAAM;AACX,eAAO,kCAAkC;AAAA,MAC3C;AAAA,EAEJ,GAAG,CAACA,CAAU,CAAC,GAGbkC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,wBAAqB;AAAA,MACrB,sBAAmB;AAAA,MAEnB,UAAA;AAAA,QAAAA,gBAAAA,OAACC,GAAA,EACC,UAAA;AAAA,UAAA1C,gBAAAA,EAAAA,IAAC,WAAO,UAAAqB,EAAA,CAAU;AAAA,UACjBH,KAAelB,gBAAAA,EAAAA,IAAC,QAAA,EAAK,MAAK,eAAc,SAASkB,EAAA,CAAa;AAAA,QAAA,GACjE;AAAA,QACAuB,gBAAAA,EAAAA,KAACE,GAAA,EAAW,WAAU,8EAClB,UAAA;AAAA,WAAAxB,KAAYF,MACZwB,gBAAAA,EAAAA,KAAC,UAAA,EAAO,WAAU,0CAChB,UAAA;AAAA,YAAAA,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,UACZ,UAAA;AAAA,cAAAtB,KAAYnB,gBAAAA,EAAAA,IAAC4C,KAAiB,UAAAzB,EAAA,CAAS;AAAA,cACvCF,2BACEhB,GAAA,EAAQ,OAAO,GAAG,IAAI4C,EAAQ5B,CAAK,GACjC,UAAAA,EAAA,CACH;AAAA,YAAA,GAEJ;AAAA,YACCY,KACCY,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,uCACb,UAAA;AAAA,cAAAA,gBAAAA,EAAAA;AAAAA,gBAACK;AAAA,gBAAA;AAAA,kBACC,SAAQ;AAAA,kBACR,MAAK;AAAA,kBACL,SAASd;AAAA,kBACT,WAAU;AAAA,kBAET,UAAA;AAAA,oBAAAlB,IACCd,gBAAAA,EAAAA,IAAC+C,GAAA,EAAU,MAAM,IAAI,WAAU,oBAAmB,IAElD/C,gBAAAA,EAAAA,IAACgD,GAAA,EAAS,MAAM,GAAA,CAAI;AAAA,oBAEtBhD,gBAAAA,EAAAA,IAAC,UAAK,UAAA,YAAA,CAAS;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,qCAEhBiD,GAAA,EACC,UAAA;AAAA,gBAAAjD,gBAAAA,EAAAA,IAACkD,GAAA,EAAoB,SAAO,IAC1B,UAAAlD,gBAAAA,EAAAA;AAAAA,kBAAC8C;AAAA,kBAAA;AAAA,oBACC,SAAQ;AAAA,oBACR,MAAK;AAAA,oBACL,WAAU;AAAA,oBAEV,UAAA9C,gBAAAA,EAAAA,IAACmD,GAAA,EAAgB,MAAM,GAAA,CAAI;AAAA,kBAAA;AAAA,gBAAA,GAE/B;AAAA,gBACAV,gBAAAA,EAAAA,KAACW,GAAA,EAAoB,OAAM,OACzB,UAAA;AAAA,kBAAAX,gBAAAA,EAAAA;AAAAA,oBAACY;AAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,SAAS,MACP,KAAK,UAAU,UAAU,UAAU,OAAO,SAAS,IAAI;AAAA,sBAGzD,UAAA;AAAA,wBAAArD,gBAAAA,EAAAA,IAACsD,GAAA,EAAU,WAAU,SAAA,CAAS;AAAA,wBAAE;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAGlCtD,gBAAAA,EAAAA,IAACqD,GAAA,EAAiB,WAAU,SAAQ,SAAO,IACzC,UAAAZ,gBAAAA,EAAAA;AAAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,MAAMX;AAAA,sBACN,QAAO;AAAA,sBACP,KAAI;AAAA,sBAEJ,UAAA;AAAA,wBAAA9B,gBAAAA,EAAAA,IAACuD,GAAA,EAAiB,WAAU,SAAA,CAAS;AAAA,wBAAE;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBAAA,GAG3C;AAAA,kBACAd,gBAAAA,EAAAA;AAAAA,oBAACY;AAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,SAAS,MAAM;AACb,8BAAMG,IAAS;AAAA,0BACb,+CAA+C,OAAO,SAAS,IAAI;AAAA,wBAAA;AAErE,+BAAO;AAAA,0BACL,2BAA2BA,CAAM;AAAA,0BACjC;AAAA,wBAAA;AAAA,sBAEJ;AAAA,sBAEA,UAAA;AAAA,wBAAAxD,gBAAAA,EAAAA,IAACyD,IAAA,EAAW,WAAU,SAAA,CAAS;AAAA,wBAAE;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAGnChB,gBAAAA,EAAAA;AAAAA,oBAACY;AAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,SAAS,MAAM;AACb,8BAAMG,IAAS;AAAA,0BACb,+CAA+C,OAAO,SAAS,IAAI;AAAA,wBAAA;AAErE,+BAAO;AAAA,0BACL,0BAA0BA,CAAM;AAAA,0BAChC;AAAA,wBAAA;AAAA,sBAEJ;AAAA,sBAEA,UAAA;AAAA,wBAAAxD,gBAAAA,EAAAA,IAAC0D,IAAA,EAAY,WAAU,SAAA,CAAS;AAAA,wBAAE;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAEpC,EAAA,CACF;AAAA,cAAA,EAAA,CACF;AAAA,YAAA,EAAA,CACF;AAAA,UAAA,GAEJ;AAAA,UAGF1D,gBAAAA,EAAAA;AAAAA,YAACG;AAAA,YAAA;AAAA,cACC,YAAY,EAAE,GAAGwD,GAAA,GAAoB,GAAG9D,GAAA;AAAA,YAAiB;AAAA,UAAA;AAAA,UAE3DG,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,OAAA,CAAO;AAAA,UACpBwB,KAAoBC,KAAqBE,IACzCc,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,uDACb,UAAA;AAAA,YAAAzC,gBAAAA,EAAAA,IAAC,OAAA,EAAI;AAAA,YACLyC,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,cAAAzC,gBAAAA,EAAAA,IAAC,OAAA,EACE,eACCA,gBAAAA,EAAAA,IAAC8C,GAAA,EAAO,SAAO,IAAC,SAAQ,SAAQ,MAAK,MACnC,UAAAL,gBAAAA,EAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,MAAMd;AAAA,kBACN,QAAO;AAAA,kBACP,KAAI;AAAA,kBACJ,WAAU;AAAA,kBAEV,UAAA;AAAA,oBAAA3B,gBAAAA,EAAAA,IAAC4D,GAAA,EAAS,MAAM,GAAA,CAAI;AAAA,oBACnBhC;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAAA,GAEL,EAAA,CAEJ;AAAA,cACA5B,gBAAAA,EAAAA,IAAC,OAAA,EACE,UAAAwB,KAAoBC,KACnBgB,gBAAAA,EAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,OAAOhB,EAAiB,eAAe,QAAW;AAAA,oBAChD,WAAW;AAAA,oBACX,WAAW;AAAA,kBAAA,CACZ;AAAA,kBACF,UAAA;AAAA,oBAAA;AAAA,oBACkB;AAAA,oBACjBzB,gBAAAA,MAAC,UAAK,UAAUyB,EAAiB,eAC9B,UAAAA,EAAiB,mBAAmB,SAAS;AAAA,sBAC5C,WAAW;AAAA,oBAAA,CACZ,EAAA,CACH;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAAA,EACF,CAEJ;AAAA,YAAA,EAAA,CACF;AAAA,UAAA,EAAA,CACF,IACE;AAAA,UACH,CAACF,KACAkB,gBAAAA,EAAAA,KAAAoB,EAAAA,UAAA,EACE,UAAA;AAAA,YAAA7D,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,2BAAA,CAA2B;AAAA,YAC1CA,gBAAAA,EAAAA;AAAAA,cAAC8D;AAAA,cAAA;AAAA,gBACC,MAAMzB,IAAO,EAAE,IAAIA,EAAK,IAAI,OAAOA,EAAK,SAAS,GAAA,IAAO;AAAA,gBACxD,MAAMC,IAAO,EAAE,IAAIA,EAAK,IAAI,OAAOA,EAAK,SAAS,GAAA,IAAO;AAAA,gBACxD,WAAU;AAAA,cAAA;AAAA,YAAA;AAAA,UACZ,EAAA,CACF;AAAA,QAAA,GAEJ;AAAA,QACAtC,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,mBAAkB,wBAAqB,OACnD,UAAAoC,KAAWpC,gBAAAA,EAAAA,IAAC+D,GAAA,EAAI,SAAS5B,EAAA,CAAY,EAAA,CACxC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -4,7 +4,7 @@ import { useId as p } from "react";
|
|
|
4
4
|
import { c as g } from "./index-DI5SPFK9.js";
|
|
5
5
|
import { c as i } from "./cn-5-Gd1Dss.js";
|
|
6
6
|
import { z as v } from "./index-DAWHN3cH.js";
|
|
7
|
-
import "./ZudokuContext-
|
|
7
|
+
import "./ZudokuContext-C6wlLMUH.js";
|
|
8
8
|
import { S as x } from "./Spinner-CI6bRyZw.js";
|
|
9
9
|
const h = g(
|
|
10
10
|
"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
|
|
@@ -100,4 +100,4 @@ export {
|
|
|
100
100
|
y as a,
|
|
101
101
|
j as b
|
|
102
102
|
};
|
|
103
|
-
//# sourceMappingURL=Mermaid-
|
|
103
|
+
//# sourceMappingURL=Mermaid-JEnWyK0s.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mermaid-
|
|
1
|
+
{"version":3,"file":"Mermaid-JEnWyK0s.js","sources":["../src/lib/ui/Alert.tsx","../src/lib/components/Mermaid.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current\",\n {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground\",\n destructive:\n \"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n \"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertDescription, AlertTitle };\n","import { useQuery } from \"@tanstack/react-query\";\nimport type { MermaidConfig } from \"mermaid\";\nimport type { ComponentProps } from \"react\";\nimport { useId } from \"react\";\nimport { Alert, AlertDescription, AlertTitle } from \"zudoku/ui/Alert.js\";\nimport { useTheme } from \"../hooks/index.js\";\nimport { Spinner } from \"./Spinner.js\";\n\nexport type MermaidProps = {\n chart: string;\n config?: MermaidConfig;\n} & ComponentProps<\"div\">;\n\nlet mermaidPromise: Promise<typeof import(\"mermaid\").default> | null = null;\n\nconst loadMermaid = () => {\n if (!mermaidPromise) {\n mermaidPromise = import(\"mermaid\")\n .then((mod) => mod.default)\n .catch((error) => {\n throw new Error(\n \"Mermaid is not installed. Please install it with: npm install mermaid\",\n { cause: error },\n );\n });\n }\n return mermaidPromise;\n};\n\nexport const Mermaid = ({ chart, config, ...props }: MermaidProps) => {\n const id = useId();\n const theme = useTheme();\n\n const {\n data: svg,\n error,\n isPending,\n } = useQuery({\n queryKey: [\"mermaid\", chart, config, theme.resolvedTheme],\n queryFn: async () => {\n const mermaid = await loadMermaid();\n mermaid.initialize({\n theme: theme.resolvedTheme === \"dark\" ? \"dark\" : \"base\",\n ...config,\n });\n\n const { svg } = await mermaid.render(id, chart);\n return svg;\n },\n enabled: typeof window !== \"undefined\",\n retry: false,\n });\n\n if (error)\n return (\n <Alert className=\"flex flex-col gap-2\" variant=\"destructive\">\n <AlertTitle>Mermaid Error</AlertTitle>\n <AlertDescription className=\"overflow-auto wrap-break-word whitespace-pre-wrap font-mono text-xs\">\n {error.message}\n </AlertDescription>\n </Alert>\n );\n\n if (isPending) return <Spinner />;\n\n // biome-ignore lint/security/noDangerouslySetInnerHtml: Mermaid generates valid SVG\n return <div {...props} dangerouslySetInnerHTML={{ __html: svg }} />;\n};\n"],"names":["alertVariants","cva","Alert","className","variant","props","jsx","cn","AlertTitle","AlertDescription","mermaidPromise","loadMermaid","mod","error","Mermaid","chart","config","id","useId","theme","useTheme","svg","isPending","useQuery","mermaid","jsxs","Spinner"],"mappings":";;;;;;;;AAIA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAEA,SAASC,EAAM;AAAA,EACb,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAqE;AACnE,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAWC,EAAGP,EAAc,EAAE,SAAAI,EAAA,CAAS,GAAGD,CAAS;AAAA,MAClD,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASG,EAAW,EAAE,WAAAL,GAAW,GAAGE,KAAsC;AACxE,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASI,EAAiB;AAAA,EACxB,WAAAN;AAAA,EACA,GAAGE;AACL,GAAgC;AAC9B,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;ACjDA,IAAIK,IAAmE;AAEvE,MAAMC,IAAc,OACbD,MACHA,IAAiB,OAAO,SAAS,EAC9B,KAAK,CAACE,MAAQA,EAAI,OAAO,EACzB,MAAM,CAACC,MAAU;AAChB,QAAM,IAAI;AAAA,IACR;AAAA,IACA,EAAE,OAAOA,EAAA;AAAA,EAAM;AAEnB,CAAC,IAEEH,IAGII,IAAU,CAAC,EAAE,OAAAC,GAAO,QAAAC,GAAQ,GAAGX,QAA0B;AACpE,QAAMY,IAAKC,EAAA,GACLC,IAAQC,EAAA,GAER;AAAA,IACJ,MAAMC;AAAA,IACN,OAAAR;AAAA,IACA,WAAAS;AAAA,EAAA,IACEC,EAAS;AAAA,IACX,UAAU,CAAC,WAAWR,GAAOC,GAAQG,EAAM,aAAa;AAAA,IACxD,SAAS,YAAY;AACnB,YAAMK,IAAU,MAAMb,EAAA;AACtB,MAAAa,EAAQ,WAAW;AAAA,QACjB,OAAOL,EAAM,kBAAkB,SAAS,SAAS;AAAA,QACjD,GAAGH;AAAA,MAAA,CACJ;AAED,YAAM,EAAE,KAAAK,EAAAA,IAAQ,MAAMG,EAAQ,OAAOP,GAAIF,CAAK;AAC9C,aAAOM;AAAAA,IACT;AAAA,IACA,SAAS,OAAO,SAAW;AAAA,IAC3B,OAAO;AAAA,EAAA,CACR;AAED,SAAIR,IAEAY,gBAAAA,EAAAA,KAACvB,GAAA,EAAM,WAAU,uBAAsB,SAAQ,eAC7C,UAAA;AAAA,IAAAI,gBAAAA,EAAAA,IAACE,KAAW,UAAA,gBAAA,CAAa;AAAA,IACzBF,gBAAAA,EAAAA,IAACG,GAAA,EAAiB,WAAU,uEACzB,YAAM,QAAA,CACT;AAAA,EAAA,GACF,IAGAa,IAAkBhB,gBAAAA,MAACoB,GAAA,CAAA,CAAQ,IAGxBpB,gBAAAA,EAAAA,IAAC,SAAK,GAAGD,GAAO,yBAAyB,EAAE,QAAQgB,KAAO;AACnE;"}
|
|
@@ -4,11 +4,11 @@ import { N as h, L as g } from "./chunk-EPOLDU6W-C6C8jAwd.js";
|
|
|
4
4
|
import { Button as o } from "./ui/Button.js";
|
|
5
5
|
import { HomeIcon as y } from "lucide-react";
|
|
6
6
|
import "react";
|
|
7
|
-
import { H as _, T as c } from "./Zudoku-
|
|
8
|
-
import { a as v, j as f } from "./ZudokuContext-
|
|
7
|
+
import { H as _, T as c } from "./Zudoku-DA1yA-te.js";
|
|
8
|
+
import { a as v, j as f } from "./ZudokuContext-C6wlLMUH.js";
|
|
9
9
|
import "./index-DAWHN3cH.js";
|
|
10
|
-
import { O as d } from "./errors-
|
|
11
|
-
import { u as x } from "./hook-
|
|
10
|
+
import { O as d } from "./errors-CYLN8SNc.js";
|
|
11
|
+
import { u as x } from "./hook-C35h0YhF.js";
|
|
12
12
|
function w(r, i, n = "/") {
|
|
13
13
|
return r.startsWith(i) ? n !== "/" && r.startsWith(i + n) ? r.slice(i.length + n.length) : r.slice(i.length) : r;
|
|
14
14
|
}
|
|
@@ -149,4 +149,4 @@ export {
|
|
|
149
149
|
z as C,
|
|
150
150
|
I as O
|
|
151
151
|
};
|
|
152
|
-
//# sourceMappingURL=OAuthErrorPage-
|
|
152
|
+
//# sourceMappingURL=OAuthErrorPage-D7n-_cqN.js.map
|