@umami/shiso 1.12.0 → 1.13.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/dist/chunks/App.js +76 -49
- package/dist/chunks/abnfDiagram-VCTEODGH.js +109 -0
- package/dist/chunks/arc.js +130 -0
- package/dist/chunks/architecture-7GRP2DOG.js +4 -0
- package/dist/chunks/architectureDiagram-5GKGNRK7.js +7466 -0
- package/dist/chunks/array.js +8 -0
- package/dist/chunks/blockDiagram-I7D4REHJ.js +2546 -0
- package/dist/chunks/c4Diagram-7LVT6UL2.js +3654 -0
- package/dist/chunks/channel.js +9 -0
- package/dist/chunks/chunk-2Q5K7J3B.js +21 -0
- package/dist/chunks/chunk-4HAMMTFA.js +6106 -0
- package/dist/chunks/chunk-5VM5RSS4.js +21 -0
- package/dist/chunks/chunk-75Z2AOVW.js +2185 -0
- package/dist/chunks/chunk-DU6HZSFF.js +8729 -0
- package/dist/chunks/chunk-F27PBJKO.js +95 -0
- package/dist/chunks/chunk-FOHPRMQF.js +27162 -0
- package/dist/chunks/chunk-GMAD6QVW.js +2369 -0
- package/dist/chunks/chunk-GVQU2GXP.js +58 -0
- package/dist/chunks/chunk-IMKFNOWR.js +2593 -0
- package/dist/chunks/chunk-JWPE2WC7.js +12 -0
- package/dist/chunks/chunk-L3NEJ4N5.js +420 -0
- package/dist/chunks/chunk-OSK3NFVY.js +1029 -0
- package/dist/chunks/chunk-P2QGCYS3.js +95 -0
- package/dist/chunks/chunk-POPQ4Y6H.js +33 -0
- package/dist/chunks/chunk-PWAF6VOD.js +467 -0
- package/dist/chunks/chunk-SHT3W25Y.js +4813 -0
- package/dist/chunks/chunk-SVP7TREG.js +686 -0
- package/dist/chunks/chunk-TICWLB2K.js +3800 -0
- package/dist/chunks/chunk-XXDRQBXY.js +12 -0
- package/dist/chunks/chunk-Y2CYZVJY.js +15 -0
- package/dist/chunks/classDiagram-ZZMXUADV.js +33 -0
- package/dist/chunks/classDiagram-v2-VYDZK3BY.js +33 -0
- package/dist/chunks/cose-bilkent-JH36ORCC.js +4268 -0
- package/dist/chunks/cynefin-OW5HDTMX.js +4 -0
- package/dist/chunks/cynefinDiagram-5FMLGOSQ.js +482 -0
- package/dist/chunks/cytoscape.esm.js +28282 -0
- package/dist/chunks/dagre-GXQ25YYZ.js +583 -0
- package/dist/chunks/dagre.js +4235 -0
- package/dist/chunks/defaultLocale.js +246 -0
- package/dist/chunks/diagram-S7CK7UJ4.js +402 -0
- package/dist/chunks/diagram-UQ7AKVKN.js +291 -0
- package/dist/chunks/diagram-VSXAHHWV.js +553 -0
- package/dist/chunks/diagram-VX7I27RA.js +798 -0
- package/dist/chunks/diagram-Z3DM3KII.js +186 -0
- package/dist/chunks/dist.js +92 -0
- package/dist/chunks/docs.js +987 -91
- package/dist/chunks/ebnfDiagram-PWID7BFC.js +123 -0
- package/dist/chunks/erDiagram-RLTQ6QDP.js +2295 -0
- package/dist/chunks/eventmodeling-NTZA5JFV.js +4 -0
- package/dist/chunks/flowDiagram-HODETNUW.js +17 -0
- package/dist/chunks/ganttDiagram-EL5Y4UJY.js +3928 -0
- package/dist/chunks/gitGraph-4MIJSDKK.js +4 -0
- package/dist/chunks/gitGraphDiagram-WWUBYQGX.js +1153 -0
- package/dist/chunks/graphlib.js +4194 -0
- package/dist/chunks/info-A6RAGUB7.js +4 -0
- package/dist/chunks/infoDiagram-27XIBGKW.js +25 -0
- package/dist/chunks/init.js +14 -0
- package/dist/chunks/ishikawaDiagram-5VMMS53U.js +971 -0
- package/dist/chunks/journeyDiagram-3NMN7TZE.js +1226 -0
- package/dist/chunks/kanban-definition-UXKFOSKX.js +1241 -0
- package/dist/chunks/katex.js +26463 -0
- package/dist/chunks/line.js +48 -0
- package/dist/chunks/linear.js +391 -0
- package/dist/chunks/mermaid-parser.core.js +754 -0
- package/dist/chunks/mermaid.core.js +4898 -0
- package/dist/chunks/mindmap-definition-YA3MSWOX.js +1309 -0
- package/dist/chunks/ordinal.js +84 -0
- package/dist/chunks/packet-AYTQ26CC.js +4 -0
- package/dist/chunks/path.js +106 -0
- package/dist/chunks/pegDiagram-XKGWAZYB.js +115 -0
- package/dist/chunks/pie-WAS4IAKB.js +4 -0
- package/dist/chunks/pieDiagram-E7YTZNPT.js +297 -0
- package/dist/chunks/quadrantDiagram-AXDQQJYC.js +2234 -0
- package/dist/chunks/radar-RG4KPBEZ.js +4 -0
- package/dist/chunks/railroad-74A4TZTK.js +4 -0
- package/dist/chunks/railroad-abnf-HS5TGJTU.js +4 -0
- package/dist/chunks/railroad-ebnf-LZEXJU2U.js +4 -0
- package/dist/chunks/railroad-peg-WCYAUIDC.js +4 -0
- package/dist/chunks/railroadDiagram-O6MQD6OU.js +89 -0
- package/dist/chunks/requirementDiagram-BXWQKSXE.js +2464 -0
- package/dist/chunks/rough.esm.js +1396 -0
- package/dist/chunks/sankeyDiagram-P5KCCOFB.js +1308 -0
- package/dist/chunks/sequenceDiagram-WJ2MYXX4.js +5445 -0
- package/dist/chunks/sizeCapture-INFHLROL.js +56 -0
- package/dist/chunks/src.js +2653 -0
- package/dist/chunks/stateDiagram-D77RDMKH.js +368 -0
- package/dist/chunks/stateDiagram-v2-MP3YSRHH.js +33 -0
- package/dist/chunks/swimlanes-42K2YHIH.js +6925 -0
- package/dist/chunks/swimlanesDiagram-VR7AAH4N.js +32 -0
- package/dist/chunks/timeline-definition-24CTP7MA.js +1507 -0
- package/dist/chunks/treeView-Q6P3EWNA.js +4 -0
- package/dist/chunks/treemap-WGGIJYW6.js +4 -0
- package/dist/chunks/vennDiagram-4TSXK5OY.js +2803 -0
- package/dist/chunks/wardley-WFR3VGLG.js +4 -0
- package/dist/chunks/wardleyDiagram-VM6X3IG4.js +877 -0
- package/dist/chunks/xychartDiagram-S5SC5T6Z.js +2698 -0
- package/dist/components.js +2 -2
- package/dist/entry-client.js +1 -1
- package/dist/entry-server.js +1 -1
- package/docs.schema.json +1 -1
- package/package.json +2 -1
- package/scripts/expand-navigation-globs.mjs +77 -8
- package/src/components/CodeBlock.tsx +36 -0
- package/src/components/Docs.tsx +44 -21
- package/src/components/OpenApiOperation.tsx +28 -20
- package/src/components/SideNav.tsx +8 -3
- package/src/components/docs/Changelog.tsx +163 -0
- package/src/components/docs/Mermaid.tsx +164 -0
- package/src/components/docs/Panel.tsx +23 -0
- package/src/components/docs/ParamField.tsx +17 -5
- package/src/components/docs/PropertiesTable.tsx +2 -2
- package/src/components/docs/ResponseField.tsx +17 -5
- package/src/components/docs/Tiles.tsx +59 -0
- package/src/components/docs/Tree.tsx +359 -0
- package/src/components/docs/Update.tsx +72 -0
- package/src/components/docs/index.ts +7 -0
- package/src/components/docs/panel-context.tsx +25 -0
- package/src/components/docs/styles.ts +49 -0
- package/src/components/icons/index.ts +4 -0
- package/src/lib/rehype-shiki.ts +18 -1
- package/types/components.d.ts +79 -0
package/dist/chunks/docs.js
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import * as React$1 from "react";
|
|
2
|
-
import { Children, cloneElement, createContext, createElement, forwardRef, isValidElement, useContext, useDebugValue, useEffect, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore, useSyncExternalStore as useSyncExternalStore$1 } from "react";
|
|
3
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Children, Fragment, cloneElement, createContext, createElement, forwardRef, isValidElement, useContext, useDebugValue, useEffect, useId, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore, useSyncExternalStore as useSyncExternalStore$1 } from "react";
|
|
3
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
import * as ReactDOM from "react-dom";
|
|
5
5
|
import { ICON_REGISTRY } from "@/lib/icon-registry.generated";
|
|
6
6
|
|
|
7
7
|
//#region \0rolldown/runtime.js
|
|
8
|
+
var __create = Object.create;
|
|
8
9
|
var __defProp = Object.defineProperty;
|
|
10
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
11
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
12
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
9
15
|
var __exportAll = (all, no_symbols) => {
|
|
10
16
|
let target = {};
|
|
11
17
|
for (var name in all) {
|
|
@@ -19,6 +25,24 @@ var __exportAll = (all, no_symbols) => {
|
|
|
19
25
|
}
|
|
20
26
|
return target;
|
|
21
27
|
};
|
|
28
|
+
var __copyProps = (to, from, except, desc) => {
|
|
29
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
30
|
+
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
31
|
+
key = keys[i];
|
|
32
|
+
if (!__hasOwnProp.call(to, key) && key !== except) {
|
|
33
|
+
__defProp(to, key, {
|
|
34
|
+
get: ((k) => from[k]).bind(null, key),
|
|
35
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return to;
|
|
41
|
+
};
|
|
42
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
|
|
43
|
+
value: mod,
|
|
44
|
+
enumerable: true
|
|
45
|
+
}) : target, mod));
|
|
22
46
|
|
|
23
47
|
//#endregion
|
|
24
48
|
//#region ../../node_modules/.pnpm/react-router@8.3.0_react-do_c27277bcf657dc321048682bd02ab633/node_modules/react-router/dist/production/lib/router/url.js
|
|
@@ -1855,6 +1879,47 @@ function isModifiedEvent(event) {
|
|
|
1855
1879
|
function shouldProcessLinkClick(event, target) {
|
|
1856
1880
|
return event.button === 0 && (!target || target === "_self") && !isModifiedEvent(event);
|
|
1857
1881
|
}
|
|
1882
|
+
/**
|
|
1883
|
+
* Creates a URLSearchParams object using the given initializer.
|
|
1884
|
+
*
|
|
1885
|
+
* This is identical to `new URLSearchParams(init)` except it also supports
|
|
1886
|
+
* arrays as values in the object form of the initializer instead of just
|
|
1887
|
+
* strings. This is convenient when you need multiple values for a given key,
|
|
1888
|
+
* but don't want to use an array initializer.
|
|
1889
|
+
*
|
|
1890
|
+
* @example
|
|
1891
|
+
* // Instead of:
|
|
1892
|
+
* let searchParams = new URLSearchParams([
|
|
1893
|
+
* ["sort", "name"],
|
|
1894
|
+
* ["sort", "price"],
|
|
1895
|
+
* ]);
|
|
1896
|
+
*
|
|
1897
|
+
* // You can do:
|
|
1898
|
+
* let searchParams = createSearchParams({
|
|
1899
|
+
* sort: ["name", "price"],
|
|
1900
|
+
* });
|
|
1901
|
+
*
|
|
1902
|
+
* @public
|
|
1903
|
+
* @category Utils
|
|
1904
|
+
* @param init The value used to initialize the URL search parameters.
|
|
1905
|
+
* @returns A URLSearchParams object containing the initialized search
|
|
1906
|
+
* parameters.
|
|
1907
|
+
*/
|
|
1908
|
+
function createSearchParams(init = "") {
|
|
1909
|
+
return new URLSearchParams(typeof init === "string" || Array.isArray(init) || init instanceof URLSearchParams ? init : Object.keys(init).reduce((memo, key) => {
|
|
1910
|
+
let value = init[key];
|
|
1911
|
+
return memo.concat(Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]);
|
|
1912
|
+
}, []));
|
|
1913
|
+
}
|
|
1914
|
+
function getSearchParamsForLocation(locationSearch, defaultSearchParams) {
|
|
1915
|
+
let searchParams = createSearchParams(locationSearch);
|
|
1916
|
+
if (defaultSearchParams) defaultSearchParams.forEach((_, key) => {
|
|
1917
|
+
if (!searchParams.has(key)) defaultSearchParams.getAll(key).forEach((value) => {
|
|
1918
|
+
searchParams.append(key, value);
|
|
1919
|
+
});
|
|
1920
|
+
});
|
|
1921
|
+
return searchParams;
|
|
1922
|
+
}
|
|
1858
1923
|
let _formDataSupportsSubmitter = null;
|
|
1859
1924
|
function isFormDataSubmitterSupported() {
|
|
1860
1925
|
if (_formDataSupportsSubmitter === null) try {
|
|
@@ -2873,6 +2938,115 @@ function useLinkClickHandler(to, { target, replace: replaceProp, mask, state, pr
|
|
|
2873
2938
|
useTransitions
|
|
2874
2939
|
]);
|
|
2875
2940
|
}
|
|
2941
|
+
/**
|
|
2942
|
+
* Returns a tuple of the current URL's [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams)
|
|
2943
|
+
* and a function to update them. Setting the search params causes a navigation.
|
|
2944
|
+
*
|
|
2945
|
+
* ```tsx
|
|
2946
|
+
* import { useSearchParams } from "react-router";
|
|
2947
|
+
*
|
|
2948
|
+
* export function SomeComponent() {
|
|
2949
|
+
* const [searchParams, setSearchParams] = useSearchParams();
|
|
2950
|
+
* // ...
|
|
2951
|
+
* }
|
|
2952
|
+
* ```
|
|
2953
|
+
*
|
|
2954
|
+
* ### `setSearchParams` function
|
|
2955
|
+
*
|
|
2956
|
+
* The second element of the tuple is a function that can be used to update the
|
|
2957
|
+
* search params. It accepts the same types as `defaultInit` and will cause a
|
|
2958
|
+
* navigation to the new URL.
|
|
2959
|
+
*
|
|
2960
|
+
* ```tsx
|
|
2961
|
+
* let [searchParams, setSearchParams] = useSearchParams();
|
|
2962
|
+
*
|
|
2963
|
+
* // a search param string
|
|
2964
|
+
* setSearchParams("?tab=1");
|
|
2965
|
+
*
|
|
2966
|
+
* // a shorthand object
|
|
2967
|
+
* setSearchParams({ tab: "1" });
|
|
2968
|
+
*
|
|
2969
|
+
* // object keys can be arrays for multiple values on the key
|
|
2970
|
+
* setSearchParams({ brand: ["nike", "reebok"] });
|
|
2971
|
+
*
|
|
2972
|
+
* // an array of tuples
|
|
2973
|
+
* setSearchParams([["tab", "1"]]);
|
|
2974
|
+
*
|
|
2975
|
+
* // a `URLSearchParams` object
|
|
2976
|
+
* setSearchParams(new URLSearchParams("?tab=1"));
|
|
2977
|
+
* ```
|
|
2978
|
+
*
|
|
2979
|
+
* It also supports a function callback like React's
|
|
2980
|
+
* [`setState`](https://react.dev/reference/react/useState#setstate):
|
|
2981
|
+
*
|
|
2982
|
+
* ```tsx
|
|
2983
|
+
* setSearchParams((searchParams) => {
|
|
2984
|
+
* searchParams.set("tab", "2");
|
|
2985
|
+
* return searchParams;
|
|
2986
|
+
* });
|
|
2987
|
+
* ```
|
|
2988
|
+
*
|
|
2989
|
+
* <docs-warning>The function callback version of `setSearchParams` does not support
|
|
2990
|
+
* the [queueing](https://react.dev/reference/react/useState#setstate-parameters)
|
|
2991
|
+
* logic that React's `setState` implements. Multiple calls to `setSearchParams`
|
|
2992
|
+
* in the same tick will not build on the prior value. If you need this behavior,
|
|
2993
|
+
* you can use `setState` manually.</docs-warning>
|
|
2994
|
+
*
|
|
2995
|
+
* ### Notes
|
|
2996
|
+
*
|
|
2997
|
+
* Note that `searchParams` is a stable reference, so you can reliably use it
|
|
2998
|
+
* as a dependency in React's [`useEffect`](https://react.dev/reference/react/useEffect)
|
|
2999
|
+
* hooks.
|
|
3000
|
+
*
|
|
3001
|
+
* ```tsx
|
|
3002
|
+
* useEffect(() => {
|
|
3003
|
+
* console.log(searchParams.get("tab"));
|
|
3004
|
+
* }, [searchParams]);
|
|
3005
|
+
* ```
|
|
3006
|
+
*
|
|
3007
|
+
* However, this also means it's mutable. If you change the object without
|
|
3008
|
+
* calling `setSearchParams`, its values will change between renders if some
|
|
3009
|
+
* other state causes the component to re-render and URL will not reflect the
|
|
3010
|
+
* values.
|
|
3011
|
+
*
|
|
3012
|
+
* @public
|
|
3013
|
+
* @category Hooks
|
|
3014
|
+
* @param defaultInit
|
|
3015
|
+
* You can initialize the search params with a default value, though it **will
|
|
3016
|
+
* not** change the URL on the first render.
|
|
3017
|
+
*
|
|
3018
|
+
* ```tsx
|
|
3019
|
+
* // a search param string
|
|
3020
|
+
* useSearchParams("?tab=1");
|
|
3021
|
+
*
|
|
3022
|
+
* // a shorthand object
|
|
3023
|
+
* useSearchParams({ tab: "1" });
|
|
3024
|
+
*
|
|
3025
|
+
* // object keys can be arrays for multiple values on the key
|
|
3026
|
+
* useSearchParams({ brand: ["nike", "reebok"] });
|
|
3027
|
+
*
|
|
3028
|
+
* // an array of tuples
|
|
3029
|
+
* useSearchParams([["tab", "1"]]);
|
|
3030
|
+
*
|
|
3031
|
+
* // a `URLSearchParams` object
|
|
3032
|
+
* useSearchParams(new URLSearchParams("?tab=1"));
|
|
3033
|
+
* ```
|
|
3034
|
+
* @returns A tuple of the current [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams)
|
|
3035
|
+
* and a function to update them.
|
|
3036
|
+
*/
|
|
3037
|
+
function useSearchParams(defaultInit) {
|
|
3038
|
+
warning(typeof URLSearchParams !== "undefined", "You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");
|
|
3039
|
+
let defaultSearchParamsRef = React$1.useRef(createSearchParams(defaultInit));
|
|
3040
|
+
let hasSetSearchParamsRef = React$1.useRef(false);
|
|
3041
|
+
let location = useLocation();
|
|
3042
|
+
let searchParams = React$1.useMemo(() => getSearchParamsForLocation(location.search, hasSetSearchParamsRef.current ? null : defaultSearchParamsRef.current), [location.search]);
|
|
3043
|
+
let navigate = useNavigate();
|
|
3044
|
+
return [searchParams, React$1.useCallback((nextInit, navigateOptions) => {
|
|
3045
|
+
const newSearchParams = createSearchParams(typeof nextInit === "function" ? nextInit(new URLSearchParams(searchParams)) : nextInit);
|
|
3046
|
+
hasSetSearchParamsRef.current = true;
|
|
3047
|
+
navigate("?" + newSearchParams, navigateOptions);
|
|
3048
|
+
}, [navigate, searchParams])];
|
|
3049
|
+
}
|
|
2876
3050
|
let fetcherId = 0;
|
|
2877
3051
|
let getUniqueFetcherId = () => `__${String(++fetcherId)}__`;
|
|
2878
3052
|
/**
|
|
@@ -3280,11 +3454,11 @@ const createLucideIcon = (iconName, iconNode) => {
|
|
|
3280
3454
|
* This source code is licensed under the ISC license.
|
|
3281
3455
|
* See the LICENSE file in the root directory of this source tree.
|
|
3282
3456
|
*/
|
|
3283
|
-
const __iconNode$
|
|
3457
|
+
const __iconNode$12 = [["path", {
|
|
3284
3458
|
d: "M20 6 9 17l-5-5",
|
|
3285
3459
|
key: "1gmf2c"
|
|
3286
3460
|
}]];
|
|
3287
|
-
const Check$1 = createLucideIcon("check", __iconNode$
|
|
3461
|
+
const Check$1 = createLucideIcon("check", __iconNode$12);
|
|
3288
3462
|
|
|
3289
3463
|
//#endregion
|
|
3290
3464
|
//#region ../../node_modules/.pnpm/lucide-react@1.28.0_react@19.2.8/node_modules/lucide-react/dist/esm/icons/chevron-down.mjs
|
|
@@ -3294,11 +3468,11 @@ const Check$1 = createLucideIcon("check", __iconNode$9);
|
|
|
3294
3468
|
* This source code is licensed under the ISC license.
|
|
3295
3469
|
* See the LICENSE file in the root directory of this source tree.
|
|
3296
3470
|
*/
|
|
3297
|
-
const __iconNode$
|
|
3471
|
+
const __iconNode$11 = [["path", {
|
|
3298
3472
|
d: "m6 9 6 6 6-6",
|
|
3299
3473
|
key: "qrunsl"
|
|
3300
3474
|
}]];
|
|
3301
|
-
const ChevronDown = createLucideIcon("chevron-down", __iconNode$
|
|
3475
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$11);
|
|
3302
3476
|
|
|
3303
3477
|
//#endregion
|
|
3304
3478
|
//#region ../../node_modules/.pnpm/lucide-react@1.28.0_react@19.2.8/node_modules/lucide-react/dist/esm/icons/chevron-right.mjs
|
|
@@ -3308,11 +3482,11 @@ const ChevronDown = createLucideIcon("chevron-down", __iconNode$8);
|
|
|
3308
3482
|
* This source code is licensed under the ISC license.
|
|
3309
3483
|
* See the LICENSE file in the root directory of this source tree.
|
|
3310
3484
|
*/
|
|
3311
|
-
const __iconNode$
|
|
3485
|
+
const __iconNode$10 = [["path", {
|
|
3312
3486
|
d: "m9 18 6-6-6-6",
|
|
3313
3487
|
key: "mthhwq"
|
|
3314
3488
|
}]];
|
|
3315
|
-
const ChevronRight = createLucideIcon("chevron-right", __iconNode$
|
|
3489
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$10);
|
|
3316
3490
|
|
|
3317
3491
|
//#endregion
|
|
3318
3492
|
//#region ../../node_modules/.pnpm/lucide-react@1.28.0_react@19.2.8/node_modules/lucide-react/dist/esm/icons/chevron-up.mjs
|
|
@@ -3322,11 +3496,11 @@ const ChevronRight = createLucideIcon("chevron-right", __iconNode$7);
|
|
|
3322
3496
|
* This source code is licensed under the ISC license.
|
|
3323
3497
|
* See the LICENSE file in the root directory of this source tree.
|
|
3324
3498
|
*/
|
|
3325
|
-
const __iconNode$
|
|
3499
|
+
const __iconNode$9 = [["path", {
|
|
3326
3500
|
d: "m18 15-6-6-6 6",
|
|
3327
3501
|
key: "153udz"
|
|
3328
3502
|
}]];
|
|
3329
|
-
const ChevronUp = createLucideIcon("chevron-up", __iconNode$
|
|
3503
|
+
const ChevronUp = createLucideIcon("chevron-up", __iconNode$9);
|
|
3330
3504
|
|
|
3331
3505
|
//#endregion
|
|
3332
3506
|
//#region ../../node_modules/.pnpm/lucide-react@1.28.0_react@19.2.8/node_modules/lucide-react/dist/esm/icons/circle-alert.mjs
|
|
@@ -3336,7 +3510,7 @@ const ChevronUp = createLucideIcon("chevron-up", __iconNode$6);
|
|
|
3336
3510
|
* This source code is licensed under the ISC license.
|
|
3337
3511
|
* See the LICENSE file in the root directory of this source tree.
|
|
3338
3512
|
*/
|
|
3339
|
-
const __iconNode$
|
|
3513
|
+
const __iconNode$8 = [
|
|
3340
3514
|
["circle", {
|
|
3341
3515
|
cx: "12",
|
|
3342
3516
|
cy: "12",
|
|
@@ -3358,7 +3532,52 @@ const __iconNode$5 = [
|
|
|
3358
3532
|
key: "4dfq90"
|
|
3359
3533
|
}]
|
|
3360
3534
|
];
|
|
3361
|
-
const CircleAlert = createLucideIcon("circle-alert", __iconNode$
|
|
3535
|
+
const CircleAlert = createLucideIcon("circle-alert", __iconNode$8);
|
|
3536
|
+
|
|
3537
|
+
//#endregion
|
|
3538
|
+
//#region ../../node_modules/.pnpm/lucide-react@1.28.0_react@19.2.8/node_modules/lucide-react/dist/esm/icons/file.mjs
|
|
3539
|
+
/**
|
|
3540
|
+
* @license lucide-react v1.28.0 - ISC
|
|
3541
|
+
*
|
|
3542
|
+
* This source code is licensed under the ISC license.
|
|
3543
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
3544
|
+
*/
|
|
3545
|
+
const __iconNode$7 = [["path", {
|
|
3546
|
+
d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
|
|
3547
|
+
key: "1oefj6"
|
|
3548
|
+
}], ["path", {
|
|
3549
|
+
d: "M14 2v5a1 1 0 0 0 1 1h5",
|
|
3550
|
+
key: "wfsgrz"
|
|
3551
|
+
}]];
|
|
3552
|
+
const File = createLucideIcon("file", __iconNode$7);
|
|
3553
|
+
|
|
3554
|
+
//#endregion
|
|
3555
|
+
//#region ../../node_modules/.pnpm/lucide-react@1.28.0_react@19.2.8/node_modules/lucide-react/dist/esm/icons/folder-open.mjs
|
|
3556
|
+
/**
|
|
3557
|
+
* @license lucide-react v1.28.0 - ISC
|
|
3558
|
+
*
|
|
3559
|
+
* This source code is licensed under the ISC license.
|
|
3560
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
3561
|
+
*/
|
|
3562
|
+
const __iconNode$6 = [["path", {
|
|
3563
|
+
d: "m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",
|
|
3564
|
+
key: "usdka0"
|
|
3565
|
+
}]];
|
|
3566
|
+
const FolderOpen = createLucideIcon("folder-open", __iconNode$6);
|
|
3567
|
+
|
|
3568
|
+
//#endregion
|
|
3569
|
+
//#region ../../node_modules/.pnpm/lucide-react@1.28.0_react@19.2.8/node_modules/lucide-react/dist/esm/icons/folder.mjs
|
|
3570
|
+
/**
|
|
3571
|
+
* @license lucide-react v1.28.0 - ISC
|
|
3572
|
+
*
|
|
3573
|
+
* This source code is licensed under the ISC license.
|
|
3574
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
3575
|
+
*/
|
|
3576
|
+
const __iconNode$5 = [["path", {
|
|
3577
|
+
d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",
|
|
3578
|
+
key: "1kt360"
|
|
3579
|
+
}]];
|
|
3580
|
+
const Folder = createLucideIcon("folder", __iconNode$5);
|
|
3362
3581
|
|
|
3363
3582
|
//#endregion
|
|
3364
3583
|
//#region ../../node_modules/.pnpm/lucide-react@1.28.0_react@19.2.8/node_modules/lucide-react/dist/esm/icons/hand.mjs
|
|
@@ -7880,7 +8099,7 @@ const maybeReactUseId = SafeReact.useId;
|
|
|
7880
8099
|
* @param idOverride
|
|
7881
8100
|
* @returns {string}
|
|
7882
8101
|
*/
|
|
7883
|
-
function useId(idOverride, prefix) {
|
|
8102
|
+
function useId$1(idOverride, prefix) {
|
|
7884
8103
|
if (maybeReactUseId !== void 0) {
|
|
7885
8104
|
const reactId = maybeReactUseId();
|
|
7886
8105
|
return idOverride ?? (prefix ? `${prefix}-${reactId}` : reactId);
|
|
@@ -7896,7 +8115,7 @@ function useId(idOverride, prefix) {
|
|
|
7896
8115
|
* @returns {string | undefined}
|
|
7897
8116
|
*/
|
|
7898
8117
|
function useBaseUiId(idOverride) {
|
|
7899
|
-
return useId(idOverride, "base-ui");
|
|
8118
|
+
return useId$1(idOverride, "base-ui");
|
|
7900
8119
|
}
|
|
7901
8120
|
|
|
7902
8121
|
//#endregion
|
|
@@ -8417,6 +8636,237 @@ function addEventListener(target, type, listener, options) {
|
|
|
8417
8636
|
};
|
|
8418
8637
|
}
|
|
8419
8638
|
|
|
8639
|
+
//#endregion
|
|
8640
|
+
//#region src/components/docs/styles.ts
|
|
8641
|
+
/** Shared Tailwind utility groups for the built-in MDX components. */
|
|
8642
|
+
const styles = {
|
|
8643
|
+
accordion: "my-3 [&_h3:has(>[data-slot=accordion-trigger])]:m-0",
|
|
8644
|
+
accordionGroup: "my-4 [&_h3:has(>[data-slot=accordion-trigger])]:m-0",
|
|
8645
|
+
accordionItem: "",
|
|
8646
|
+
accordionTrigger: "text-foreground",
|
|
8647
|
+
accordionContent: "text-muted-foreground [&_p]:mt-0 [&_p:last-child]:mb-0",
|
|
8648
|
+
expandableTrigger: "items-center py-3 text-sm font-normal text-foreground hover:no-underline",
|
|
8649
|
+
expandableContent: "pl-6",
|
|
8650
|
+
callout: "my-4 flex items-start gap-3 rounded-lg border px-3 py-2.5 text-sm leading-6",
|
|
8651
|
+
calloutIcon: "flex h-6 w-5 shrink-0 items-center justify-center [&_svg]:block [&_svg]:size-4",
|
|
8652
|
+
calloutBody: "flex min-w-0 flex-1 flex-col gap-[0.35rem] [&>:first-child]:mt-0 [&>:last-child]:mb-0 [&_:where(p,ul,ol)]:my-[0.35rem] [&>:where(p,ul,ol):first-child]:mt-0 [&>:where(p,ul,ol):last-child]:mb-0",
|
|
8653
|
+
calloutDescription: "text-sm text-inherit leading-6 [&>:first-child]:mt-0 [&>:last-child]:mb-0",
|
|
8654
|
+
calloutTitle: "font-semibold leading-6",
|
|
8655
|
+
note: "border-border bg-muted/50 text-foreground",
|
|
8656
|
+
info: "border-blue-300 bg-blue-50 text-blue-900 dark:border-blue-400/40 dark:bg-blue-400/10 dark:text-blue-300",
|
|
8657
|
+
warning: "border-amber-300 bg-amber-50 text-amber-900 dark:border-amber-400/40 dark:bg-amber-400/10 dark:text-amber-300",
|
|
8658
|
+
tip: "border-green-300 bg-green-50 text-green-900 dark:border-green-400/40 dark:bg-green-400/10 dark:text-green-300",
|
|
8659
|
+
check: "border-emerald-300 bg-emerald-50 text-emerald-900 dark:border-emerald-400/40 dark:bg-emerald-400/10 dark:text-emerald-300",
|
|
8660
|
+
danger: "border-destructive/40 bg-destructive/10 text-destructive",
|
|
8661
|
+
card: "block h-full gap-0 rounded-lg border border-border p-4 text-sm ring-0 hover:border-primary",
|
|
8662
|
+
cardPlain: "bg-card",
|
|
8663
|
+
cardHorizontal: "[&_[data-slot=card-inner]]:items-center [&_[data-slot=card-main]]:flex-row [&_[data-slot=card-main]]:items-center [&_[data-slot=card-main]]:gap-3 [&_[data-slot=card-body]]:m-0 [&_[data-slot=card-header]]:flex-row [&_[data-slot=card-header]]:items-center [&_[data-slot=card-header]]:gap-2",
|
|
8664
|
+
cardTyped: "[&_[data-slot=card-title]]:text-inherit [&_[data-slot=card-body]]:text-inherit [&_[data-slot=card-cta]]:text-inherit [&_[data-slot=card-arrow]]:text-inherit",
|
|
8665
|
+
cardImageLayout: "p-0 [&_[data-slot=card-inner]]:p-6",
|
|
8666
|
+
cardImage: "block aspect-video w-full border-border border-b object-cover",
|
|
8667
|
+
cardInner: "flex items-start justify-between gap-3",
|
|
8668
|
+
cardMain: "flex min-w-0 flex-col gap-2",
|
|
8669
|
+
cardHeader: "flex flex-col items-start gap-3",
|
|
8670
|
+
cardIcon: "inline-flex shrink-0 items-center justify-center [&_img]:size-6 [&_svg]:size-6",
|
|
8671
|
+
cardTitle: "text-sm font-semibold text-foreground",
|
|
8672
|
+
cardBody: "text-muted-foreground [&>:first-child]:mt-0 [&>:last-child]:mb-0",
|
|
8673
|
+
cardCta: "flex shrink-0 items-center gap-[0.35rem] text-[0.9rem] font-medium text-muted-foreground",
|
|
8674
|
+
cardArrow: "shrink-0 text-muted-foreground",
|
|
8675
|
+
grid: "my-4 grid grid-cols-1 gap-4",
|
|
8676
|
+
gridCols1: "md:grid-cols-1",
|
|
8677
|
+
gridCols2: "md:grid-cols-2",
|
|
8678
|
+
gridCols3: "md:grid-cols-3",
|
|
8679
|
+
gridCols4: "md:grid-cols-4",
|
|
8680
|
+
column: "min-w-0 [&>:first-child]:mt-0 [&>:last-child]:mb-0",
|
|
8681
|
+
icon: "inline-block align-[-0.145em]",
|
|
8682
|
+
tabs: "my-4 gap-0",
|
|
8683
|
+
frameWrapper: "my-4",
|
|
8684
|
+
frameHint: "mb-4 flex items-start gap-2 text-sm font-medium leading-5 text-foreground",
|
|
8685
|
+
frameHintIcon: "flex h-5 shrink-0 items-center text-muted-foreground [&_svg]:size-4 [&_svg]:fill-current",
|
|
8686
|
+
frame: "relative overflow-hidden rounded-2xl border border-border bg-muted/25 p-2",
|
|
8687
|
+
frameContent: "relative flex justify-center overflow-hidden rounded-xl [&_p]:m-0 [&_img]:m-0 [&_img]:w-full [&_video]:w-full [&_[data-slot=zoomable-image]]:m-0 [&_[data-slot=zoomable-image]]:w-full",
|
|
8688
|
+
frameCaption: "relative mt-3 px-4 pb-1 text-center text-sm leading-5 text-muted-foreground [&_p]:m-0 [&_a]:font-semibold",
|
|
8689
|
+
field: "my-3",
|
|
8690
|
+
fieldGroup: "my-4 divide-y divide-border overflow-hidden rounded-lg border border-border text-sm leading-6 [&>[data-slot=field-group-item]]:my-0 [&>[data-slot=field-group-item]]:px-4 [&>[data-slot=field-group-item]]:py-3 [&_[data-slot=field-group-body]]:mt-2 [&_[data-slot=field-group-type]]:text-xs",
|
|
8691
|
+
paramField: "my-3",
|
|
8692
|
+
fieldHeader: "flex flex-wrap items-center gap-2",
|
|
8693
|
+
fieldBody: "mt-3",
|
|
8694
|
+
fieldType: "text-[0.9rem] text-muted-foreground",
|
|
8695
|
+
fieldName: "font-bold text-foreground",
|
|
8696
|
+
code: "rounded-sm bg-[color-mix(in_srgb,currentColor_4%,transparent)] px-[0.35rem] py-[0.1rem] text-sm text-foreground font-mono",
|
|
8697
|
+
steps: "relative my-4 flex flex-col gap-5 before:absolute before:top-4 before:bottom-4 before:left-4 before:w-px before:-translate-x-1/2 before:bg-border before:content-['']",
|
|
8698
|
+
step: "relative flex items-start gap-4",
|
|
8699
|
+
stepNumber: "relative z-[1] flex size-8 shrink-0 items-center justify-center rounded-full border border-border bg-card text-[0.9rem] font-semibold text-foreground",
|
|
8700
|
+
stepContent: "flex min-w-0 grow flex-col gap-2",
|
|
8701
|
+
stepTitle: "text-[1.1rem] font-semibold text-foreground",
|
|
8702
|
+
tooltipTrigger: "peer cursor-help border-0 border-muted-foreground border-b border-dotted bg-transparent p-0 text-inherit [font:inherit]",
|
|
8703
|
+
update: "my-8 grid scroll-mt-24 grid-cols-1 gap-4 border-border border-t pt-6 md:grid-cols-[220px_minmax(0,1fr)]",
|
|
8704
|
+
updateMeta: "flex min-w-0 flex-col items-start gap-2 md:sticky md:top-24 md:self-start",
|
|
8705
|
+
updateLabel: "w-fit text-lg font-semibold text-foreground hover:text-primary hover:underline [&:hover]:decoration-primary",
|
|
8706
|
+
updateDescription: "text-sm text-muted-foreground leading-6",
|
|
8707
|
+
updateTags: "flex flex-wrap gap-1.5",
|
|
8708
|
+
updateBody: "min-w-0 [&>:first-child]:mt-0 [&>:last-child]:mb-0 [&_:where(p,ul,ol)]:leading-7",
|
|
8709
|
+
changelog: "my-4 flex flex-col",
|
|
8710
|
+
changelogFilters: "mb-2 flex flex-wrap items-center gap-1",
|
|
8711
|
+
changelogFilterButton: "rounded-md p-0.5 outline-none focus-visible:ring-2 focus-visible:ring-ring [&>[data-slot=badge]]:cursor-pointer",
|
|
8712
|
+
changelogClear: "ml-1 text-xs font-medium text-muted-foreground hover:text-foreground hover:underline",
|
|
8713
|
+
changelogEmpty: "my-6 text-sm text-muted-foreground",
|
|
8714
|
+
mermaid: "my-4",
|
|
8715
|
+
mermaidTitle: "mb-2 text-sm font-semibold text-foreground",
|
|
8716
|
+
mermaidViewport: "relative overflow-auto rounded-lg border border-border bg-card p-4 [&_svg]:mx-auto [&_svg]:max-w-full [&_svg]:shrink-0",
|
|
8717
|
+
mermaidSvg: "origin-top-left transition-transform duration-150 [&_svg]:h-auto [&_svg]:max-w-none",
|
|
8718
|
+
mermaidFallback: "bg-transparent p-0 font-mono text-xs text-muted-foreground whitespace-pre-wrap",
|
|
8719
|
+
mermaidError: "mt-2 text-sm text-destructive",
|
|
8720
|
+
mermaidControls: "absolute flex items-center gap-1 rounded-md border border-border bg-background/90 p-1 shadow-sm [&_button]:flex [&_button]:size-6 [&_button]:items-center [&_button]:justify-center [&_button]:rounded [&_button]:text-sm [&_button]:text-muted-foreground [&_button:hover]:bg-muted [&_button:hover]:text-foreground",
|
|
8721
|
+
panel: "flex min-w-0 flex-col gap-4 text-sm [&>:first-child]:mt-0 [&>:last-child]:mb-0",
|
|
8722
|
+
panelInline: "my-4 lg:hidden",
|
|
8723
|
+
tile: "block h-full overflow-hidden rounded-lg border border-border bg-card hover:border-primary",
|
|
8724
|
+
tilePreview: "flex h-36 items-center justify-center gap-2 overflow-hidden border-border border-b bg-muted/40 bg-[radial-gradient(circle_at_1px_1px,var(--border)_1px,transparent_0)] bg-[size:16px_16px] p-4 [&_img]:max-h-full [&_img]:w-auto [&_img]:max-w-full [&_img]:object-contain",
|
|
8725
|
+
tileBody: "flex flex-col gap-1 p-4",
|
|
8726
|
+
tileTitle: "text-sm font-semibold text-foreground",
|
|
8727
|
+
tileDescription: "text-sm text-muted-foreground leading-6",
|
|
8728
|
+
tree: "not-prose my-4 overflow-hidden rounded-lg border border-border bg-card text-sm",
|
|
8729
|
+
treeList: "flex flex-col gap-0.5 p-3",
|
|
8730
|
+
treeGroup: "my-0 ml-[15px] flex list-none flex-col gap-px border-border border-l pl-1",
|
|
8731
|
+
treeItem: "my-0 min-w-0 list-none p-0 [&::marker]:content-none",
|
|
8732
|
+
treeRow: "flex w-full min-w-0 items-center gap-1.5 rounded-md px-2 py-1 text-left text-foreground hover:bg-muted [&:focus-visible]:bg-muted [&:focus-visible]:ring-2 [&:focus-visible]:ring-ring [&:focus-visible]:outline-none",
|
|
8733
|
+
treeChevron: "shrink-0 text-muted-foreground transition-transform [&[data-open]]:rotate-90",
|
|
8734
|
+
treeIcon: "shrink-0 text-muted-foreground",
|
|
8735
|
+
treeName: "min-w-0 flex-1 truncate font-mono text-[0.85rem]",
|
|
8736
|
+
treeHighlight: "bg-primary/10 text-primary [&_svg]:text-primary"
|
|
8737
|
+
};
|
|
8738
|
+
|
|
8739
|
+
//#endregion
|
|
8740
|
+
//#region src/components/docs/Mermaid.tsx
|
|
8741
|
+
function childrenToText(node) {
|
|
8742
|
+
if (typeof node === "string" || typeof node === "number") return String(node);
|
|
8743
|
+
if (Array.isArray(node)) return node.map(childrenToText).join("");
|
|
8744
|
+
if (node && typeof node === "object" && "props" in node) {
|
|
8745
|
+
const props = node.props;
|
|
8746
|
+
return childrenToText(props?.children);
|
|
8747
|
+
}
|
|
8748
|
+
return "";
|
|
8749
|
+
}
|
|
8750
|
+
/** Extracts raw diagram source from MDX children (string or <code> element). */
|
|
8751
|
+
function mermaidSource(chart, children) {
|
|
8752
|
+
return (typeof chart === "string" && chart.trim() ? chart : childrenToText(children)).replace(/^\n+|\n+$/g, "").replace(/\\n$/, "");
|
|
8753
|
+
}
|
|
8754
|
+
function isDarkMode() {
|
|
8755
|
+
if (typeof document === "undefined") return false;
|
|
8756
|
+
return document.documentElement.classList.contains("dark");
|
|
8757
|
+
}
|
|
8758
|
+
const PLACEMENT_CLASS = {
|
|
8759
|
+
"top-left": "top-2 left-2",
|
|
8760
|
+
"top-right": "top-2 right-2",
|
|
8761
|
+
"bottom-left": "bottom-2 left-2",
|
|
8762
|
+
"bottom-right": "bottom-2 right-2"
|
|
8763
|
+
};
|
|
8764
|
+
/**
|
|
8765
|
+
* Renders a Mermaid diagram. Server/prerender output is the raw definition in
|
|
8766
|
+
* a <pre> so search indexing and no-JS still see the content; the client
|
|
8767
|
+
* replaces it with SVG via a lazy `mermaid` import (kept out of the SSR bundle).
|
|
8768
|
+
*/
|
|
8769
|
+
function Mermaid({ chart, title, actions, placement = "bottom-right", children }) {
|
|
8770
|
+
const source = mermaidSource(chart, children);
|
|
8771
|
+
const containerRef = useRef(null);
|
|
8772
|
+
const svgHostRef = useRef(null);
|
|
8773
|
+
const diagramId = useId().replace(/[^a-zA-Z0-9]/g, "");
|
|
8774
|
+
const [svg, setSvg] = useState(null);
|
|
8775
|
+
const [error, setError] = useState(false);
|
|
8776
|
+
const [zoom, setZoom] = useState(1);
|
|
8777
|
+
const [dark, setDark] = useState(false);
|
|
8778
|
+
useEffect(() => {
|
|
8779
|
+
setDark(isDarkMode());
|
|
8780
|
+
const observer = new MutationObserver(() => setDark(isDarkMode()));
|
|
8781
|
+
observer.observe(document.documentElement, {
|
|
8782
|
+
attributes: true,
|
|
8783
|
+
attributeFilter: ["class"]
|
|
8784
|
+
});
|
|
8785
|
+
return () => observer.disconnect();
|
|
8786
|
+
}, []);
|
|
8787
|
+
useEffect(() => {
|
|
8788
|
+
if (!source.trim() || typeof window === "undefined") return;
|
|
8789
|
+
let cancelled = false;
|
|
8790
|
+
setError(false);
|
|
8791
|
+
setSvg(null);
|
|
8792
|
+
(async () => {
|
|
8793
|
+
try {
|
|
8794
|
+
const { default: mermaid } = await import("./mermaid.core.js");
|
|
8795
|
+
if (cancelled) return;
|
|
8796
|
+
mermaid.initialize({
|
|
8797
|
+
startOnLoad: false,
|
|
8798
|
+
theme: dark ? "dark" : "neutral",
|
|
8799
|
+
securityLevel: "strict"
|
|
8800
|
+
});
|
|
8801
|
+
const { svg: rendered } = await mermaid.render(`shiso-mermaid-${diagramId}`, source);
|
|
8802
|
+
if (!cancelled) setSvg(rendered);
|
|
8803
|
+
} catch {
|
|
8804
|
+
if (!cancelled) setError(true);
|
|
8805
|
+
}
|
|
8806
|
+
})();
|
|
8807
|
+
return () => {
|
|
8808
|
+
cancelled = true;
|
|
8809
|
+
};
|
|
8810
|
+
}, [
|
|
8811
|
+
source,
|
|
8812
|
+
diagramId,
|
|
8813
|
+
dark
|
|
8814
|
+
]);
|
|
8815
|
+
const showControls = actions ?? true;
|
|
8816
|
+
return /* @__PURE__ */ jsxs("figure", {
|
|
8817
|
+
className: styles.mermaid,
|
|
8818
|
+
"data-dark": dark ? "" : void 0,
|
|
8819
|
+
children: [title ? /* @__PURE__ */ jsx("figcaption", {
|
|
8820
|
+
className: styles.mermaidTitle,
|
|
8821
|
+
children: title
|
|
8822
|
+
}) : null, /* @__PURE__ */ jsxs("div", {
|
|
8823
|
+
ref: containerRef,
|
|
8824
|
+
className: styles.mermaidViewport,
|
|
8825
|
+
children: [
|
|
8826
|
+
svg && !error ? /* @__PURE__ */ jsx("div", {
|
|
8827
|
+
ref: svgHostRef,
|
|
8828
|
+
className: styles.mermaidSvg,
|
|
8829
|
+
style: { transform: `scale(${zoom})` },
|
|
8830
|
+
dangerouslySetInnerHTML: { __html: svg },
|
|
8831
|
+
role: "img",
|
|
8832
|
+
"aria-label": title ? String(title) : "Diagram"
|
|
8833
|
+
}) : /* @__PURE__ */ jsx("pre", {
|
|
8834
|
+
className: styles.mermaidFallback,
|
|
8835
|
+
title: "Diagram source",
|
|
8836
|
+
children: source
|
|
8837
|
+
}),
|
|
8838
|
+
error ? /* @__PURE__ */ jsx("p", {
|
|
8839
|
+
className: styles.mermaidError,
|
|
8840
|
+
children: "Could not render this diagram."
|
|
8841
|
+
}) : null,
|
|
8842
|
+
showControls && svg && !error ? /* @__PURE__ */ jsxs("div", {
|
|
8843
|
+
className: `${styles.mermaidControls} ${PLACEMENT_CLASS[placement]}`,
|
|
8844
|
+
children: [
|
|
8845
|
+
/* @__PURE__ */ jsx("button", {
|
|
8846
|
+
type: "button",
|
|
8847
|
+
"aria-label": "Zoom out",
|
|
8848
|
+
onClick: () => setZoom((z) => Math.max(.5, +(z - .25).toFixed(2))),
|
|
8849
|
+
children: "−"
|
|
8850
|
+
}),
|
|
8851
|
+
/* @__PURE__ */ jsx("button", {
|
|
8852
|
+
type: "button",
|
|
8853
|
+
"aria-label": "Reset view",
|
|
8854
|
+
onClick: () => setZoom(1),
|
|
8855
|
+
children: "⟳"
|
|
8856
|
+
}),
|
|
8857
|
+
/* @__PURE__ */ jsx("button", {
|
|
8858
|
+
type: "button",
|
|
8859
|
+
"aria-label": "Zoom in",
|
|
8860
|
+
onClick: () => setZoom((z) => Math.min(2.5, +(z + .25).toFixed(2))),
|
|
8861
|
+
children: "+"
|
|
8862
|
+
})
|
|
8863
|
+
]
|
|
8864
|
+
}) : null
|
|
8865
|
+
]
|
|
8866
|
+
})]
|
|
8867
|
+
});
|
|
8868
|
+
}
|
|
8869
|
+
|
|
8420
8870
|
//#endregion
|
|
8421
8871
|
//#region ../../node_modules/.pnpm/@base-ui+utils@0.3.2_@types_46200efdf1f5c806fc19b01530afd9e7/node_modules/@base-ui/utils/useControlled.mjs
|
|
8422
8872
|
function useControlled({ controlled, default: defaultProp, name, state = "value" }) {
|
|
@@ -9823,71 +10273,6 @@ function AccordionContent({ className, children, ...props }) {
|
|
|
9823
10273
|
});
|
|
9824
10274
|
}
|
|
9825
10275
|
|
|
9826
|
-
//#endregion
|
|
9827
|
-
//#region src/components/docs/styles.ts
|
|
9828
|
-
/** Shared Tailwind utility groups for the built-in MDX components. */
|
|
9829
|
-
const styles = {
|
|
9830
|
-
accordion: "my-3 [&_h3:has(>[data-slot=accordion-trigger])]:m-0",
|
|
9831
|
-
accordionGroup: "my-4 [&_h3:has(>[data-slot=accordion-trigger])]:m-0",
|
|
9832
|
-
accordionItem: "",
|
|
9833
|
-
accordionTrigger: "text-foreground",
|
|
9834
|
-
accordionContent: "text-muted-foreground [&_p]:mt-0 [&_p:last-child]:mb-0",
|
|
9835
|
-
expandableTrigger: "items-center py-3 text-sm font-normal text-foreground hover:no-underline",
|
|
9836
|
-
expandableContent: "pl-6",
|
|
9837
|
-
callout: "my-4 flex items-start gap-3 rounded-lg border px-3 py-2.5 text-sm leading-6",
|
|
9838
|
-
calloutIcon: "flex h-6 w-5 shrink-0 items-center justify-center [&_svg]:block [&_svg]:size-4",
|
|
9839
|
-
calloutBody: "flex min-w-0 flex-1 flex-col gap-[0.35rem] [&>:first-child]:mt-0 [&>:last-child]:mb-0 [&_:where(p,ul,ol)]:my-[0.35rem] [&>:where(p,ul,ol):first-child]:mt-0 [&>:where(p,ul,ol):last-child]:mb-0",
|
|
9840
|
-
calloutDescription: "text-sm text-inherit leading-6 [&>:first-child]:mt-0 [&>:last-child]:mb-0",
|
|
9841
|
-
calloutTitle: "font-semibold leading-6",
|
|
9842
|
-
note: "border-border bg-muted/50 text-foreground",
|
|
9843
|
-
info: "border-blue-300 bg-blue-50 text-blue-900 dark:border-blue-400/40 dark:bg-blue-400/10 dark:text-blue-300",
|
|
9844
|
-
warning: "border-amber-300 bg-amber-50 text-amber-900 dark:border-amber-400/40 dark:bg-amber-400/10 dark:text-amber-300",
|
|
9845
|
-
tip: "border-green-300 bg-green-50 text-green-900 dark:border-green-400/40 dark:bg-green-400/10 dark:text-green-300",
|
|
9846
|
-
check: "border-emerald-300 bg-emerald-50 text-emerald-900 dark:border-emerald-400/40 dark:bg-emerald-400/10 dark:text-emerald-300",
|
|
9847
|
-
danger: "border-destructive/40 bg-destructive/10 text-destructive",
|
|
9848
|
-
card: "block h-full gap-0 rounded-lg border border-border p-4 text-sm ring-0 hover:border-primary",
|
|
9849
|
-
cardPlain: "bg-card",
|
|
9850
|
-
cardHorizontal: "[&_[data-slot=card-inner]]:items-center [&_[data-slot=card-main]]:flex-row [&_[data-slot=card-main]]:items-center [&_[data-slot=card-main]]:gap-3 [&_[data-slot=card-body]]:m-0 [&_[data-slot=card-header]]:flex-row [&_[data-slot=card-header]]:items-center [&_[data-slot=card-header]]:gap-2",
|
|
9851
|
-
cardTyped: "[&_[data-slot=card-title]]:text-inherit [&_[data-slot=card-body]]:text-inherit [&_[data-slot=card-cta]]:text-inherit [&_[data-slot=card-arrow]]:text-inherit",
|
|
9852
|
-
cardImageLayout: "p-0 [&_[data-slot=card-inner]]:p-6",
|
|
9853
|
-
cardImage: "block aspect-video w-full border-border border-b object-cover",
|
|
9854
|
-
cardInner: "flex items-start justify-between gap-3",
|
|
9855
|
-
cardMain: "flex min-w-0 flex-col gap-2",
|
|
9856
|
-
cardHeader: "flex flex-col items-start gap-3",
|
|
9857
|
-
cardIcon: "inline-flex shrink-0 items-center justify-center [&_img]:size-6 [&_svg]:size-6",
|
|
9858
|
-
cardTitle: "text-sm font-semibold text-foreground",
|
|
9859
|
-
cardBody: "text-muted-foreground [&>:first-child]:mt-0 [&>:last-child]:mb-0",
|
|
9860
|
-
cardCta: "flex shrink-0 items-center gap-[0.35rem] text-[0.9rem] font-medium text-muted-foreground",
|
|
9861
|
-
cardArrow: "shrink-0 text-muted-foreground",
|
|
9862
|
-
grid: "my-4 grid grid-cols-1 gap-4",
|
|
9863
|
-
gridCols1: "md:grid-cols-1",
|
|
9864
|
-
gridCols2: "md:grid-cols-2",
|
|
9865
|
-
gridCols3: "md:grid-cols-3",
|
|
9866
|
-
gridCols4: "md:grid-cols-4",
|
|
9867
|
-
column: "min-w-0 [&>:first-child]:mt-0 [&>:last-child]:mb-0",
|
|
9868
|
-
icon: "inline-block align-[-0.145em]",
|
|
9869
|
-
tabs: "my-4 gap-0",
|
|
9870
|
-
frameWrapper: "my-4",
|
|
9871
|
-
frameHint: "mb-4 flex items-start gap-2 text-sm font-medium leading-5 text-foreground",
|
|
9872
|
-
frameHintIcon: "flex h-5 shrink-0 items-center text-muted-foreground [&_svg]:size-4 [&_svg]:fill-current",
|
|
9873
|
-
frame: "relative overflow-hidden rounded-2xl border border-border bg-muted/25 p-2",
|
|
9874
|
-
frameContent: "relative flex justify-center overflow-hidden rounded-xl [&_p]:m-0 [&_img]:m-0 [&_img]:w-full [&_video]:w-full [&_[data-slot=zoomable-image]]:m-0 [&_[data-slot=zoomable-image]]:w-full",
|
|
9875
|
-
frameCaption: "relative mt-3 px-4 pb-1 text-center text-sm leading-5 text-muted-foreground [&_p]:m-0 [&_a]:font-semibold",
|
|
9876
|
-
field: "my-3",
|
|
9877
|
-
paramField: "my-3",
|
|
9878
|
-
fieldHeader: "flex flex-wrap items-center gap-2",
|
|
9879
|
-
fieldBody: "mt-3",
|
|
9880
|
-
fieldType: "text-[0.9rem] text-muted-foreground",
|
|
9881
|
-
fieldName: "font-bold text-foreground",
|
|
9882
|
-
code: "rounded-sm bg-[color-mix(in_srgb,currentColor_4%,transparent)] px-[0.35rem] py-[0.1rem] text-sm text-foreground font-mono",
|
|
9883
|
-
steps: "relative my-4 flex flex-col gap-5 before:absolute before:top-4 before:bottom-4 before:left-4 before:w-px before:-translate-x-1/2 before:bg-border before:content-['']",
|
|
9884
|
-
step: "relative flex items-start gap-4",
|
|
9885
|
-
stepNumber: "relative z-[1] flex size-8 shrink-0 items-center justify-center rounded-full border border-border bg-card text-[0.9rem] font-semibold text-foreground",
|
|
9886
|
-
stepContent: "flex min-w-0 grow flex-col gap-2",
|
|
9887
|
-
stepTitle: "text-[1.1rem] font-semibold text-foreground",
|
|
9888
|
-
tooltipTrigger: "peer cursor-help border-0 border-muted-foreground border-b border-dotted bg-transparent p-0 text-inherit [font:inherit]"
|
|
9889
|
-
};
|
|
9890
|
-
|
|
9891
10276
|
//#endregion
|
|
9892
10277
|
//#region src/lib/icons.ts
|
|
9893
10278
|
/** `circle-check`, `circle_check`, `CircleCheck` all resolve to the same icon. */
|
|
@@ -10165,7 +10550,7 @@ function Badge({ color, size = "md", shape = "rounded", icon, stroke = false, di
|
|
|
10165
10550
|
*/
|
|
10166
10551
|
function Button({ href, variant = "default", size = "default", icon, className, children }) {
|
|
10167
10552
|
const resolvedIcon = resolveIcon(icon, 16);
|
|
10168
|
-
const content = /* @__PURE__ */ jsxs(Fragment, { children: [resolvedIcon, children] });
|
|
10553
|
+
const content = /* @__PURE__ */ jsxs(Fragment$1, { children: [resolvedIcon, children] });
|
|
10169
10554
|
const baseClassName = cn(resolvedIcon ? "gap-2" : "", "[&_p]:m-0", className);
|
|
10170
10555
|
if (!href) return /* @__PURE__ */ jsx(Button$1, {
|
|
10171
10556
|
variant,
|
|
@@ -10415,6 +10800,161 @@ function CardGroup({ children, cols = 2 }) {
|
|
|
10415
10800
|
});
|
|
10416
10801
|
}
|
|
10417
10802
|
|
|
10803
|
+
//#endregion
|
|
10804
|
+
//#region src/components/docs/Update.tsx
|
|
10805
|
+
function normalizeTags(tags) {
|
|
10806
|
+
if (!Array.isArray(tags)) return [];
|
|
10807
|
+
const seen = /* @__PURE__ */ new Set();
|
|
10808
|
+
for (const tag of tags) {
|
|
10809
|
+
if (typeof tag !== "string") continue;
|
|
10810
|
+
const trimmed = tag.trim();
|
|
10811
|
+
if (trimmed && !seen.has(trimmed)) seen.add(trimmed);
|
|
10812
|
+
}
|
|
10813
|
+
return [...seen];
|
|
10814
|
+
}
|
|
10815
|
+
function Update({ label, description, tags, rss: _rss, children }) {
|
|
10816
|
+
const id = slugify(label, "update");
|
|
10817
|
+
const normalizedTags = normalizeTags(tags);
|
|
10818
|
+
return /* @__PURE__ */ jsxs("section", {
|
|
10819
|
+
id,
|
|
10820
|
+
"aria-label": label,
|
|
10821
|
+
className: styles.update,
|
|
10822
|
+
"data-tags": normalizedTags.join(","),
|
|
10823
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
10824
|
+
className: styles.updateMeta,
|
|
10825
|
+
children: [
|
|
10826
|
+
/* @__PURE__ */ jsx("a", {
|
|
10827
|
+
href: `#${id}`,
|
|
10828
|
+
className: styles.updateLabel,
|
|
10829
|
+
children: label
|
|
10830
|
+
}),
|
|
10831
|
+
description ? /* @__PURE__ */ jsx("div", {
|
|
10832
|
+
className: styles.updateDescription,
|
|
10833
|
+
children: description
|
|
10834
|
+
}) : null,
|
|
10835
|
+
normalizedTags.length > 0 ? /* @__PURE__ */ jsx("div", {
|
|
10836
|
+
className: styles.updateTags,
|
|
10837
|
+
children: normalizedTags.map((tag) => /* @__PURE__ */ jsx(Badge, {
|
|
10838
|
+
size: "sm",
|
|
10839
|
+
children: tag
|
|
10840
|
+
}, tag))
|
|
10841
|
+
}) : null
|
|
10842
|
+
]
|
|
10843
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
10844
|
+
className: styles.updateBody,
|
|
10845
|
+
children
|
|
10846
|
+
})]
|
|
10847
|
+
});
|
|
10848
|
+
}
|
|
10849
|
+
|
|
10850
|
+
//#endregion
|
|
10851
|
+
//#region src/components/docs/Changelog.tsx
|
|
10852
|
+
/** Flattens fragments so <Update> entries are found however MDX nests them. */
|
|
10853
|
+
function flatElements(children) {
|
|
10854
|
+
const flat = [];
|
|
10855
|
+
Children.forEach(children, (child) => {
|
|
10856
|
+
if (!isValidElement(child)) return;
|
|
10857
|
+
if (child.type === Fragment) flat.push(...flatElements(child.props.children));
|
|
10858
|
+
else flat.push(child);
|
|
10859
|
+
});
|
|
10860
|
+
return flat;
|
|
10861
|
+
}
|
|
10862
|
+
/** Reads `tags` off <Update> children without rendering them. */
|
|
10863
|
+
function updateInfo(children) {
|
|
10864
|
+
const info = /* @__PURE__ */ new Map();
|
|
10865
|
+
flatElements(children).forEach((child, index) => {
|
|
10866
|
+
if (child.type !== Update) return;
|
|
10867
|
+
const key = String(child.key ?? `update-${index}`);
|
|
10868
|
+
const raw = child.props.tags;
|
|
10869
|
+
const tags = Array.isArray(raw) ? [...new Set(raw.filter((tag) => typeof tag === "string" && tag.trim()))].map((tag) => tag.trim()) : [];
|
|
10870
|
+
info.set(key, {
|
|
10871
|
+
key,
|
|
10872
|
+
tags
|
|
10873
|
+
});
|
|
10874
|
+
});
|
|
10875
|
+
return info;
|
|
10876
|
+
}
|
|
10877
|
+
/**
|
|
10878
|
+
* Groups <Update> entries with Mintlify-style tag filtering.
|
|
10879
|
+
* Selected tags sync to `?tags=a,b` so filtered views are shareable.
|
|
10880
|
+
* Pages without any tagged updates render as a plain list.
|
|
10881
|
+
*/
|
|
10882
|
+
function Changelog({ children }) {
|
|
10883
|
+
const [searchParams, setSearchParams] = useSearchParams();
|
|
10884
|
+
const allTags = useMemo(() => {
|
|
10885
|
+
const seen = /* @__PURE__ */ new Map();
|
|
10886
|
+
for (const { tags } of updateInfo(children).values()) for (const tag of tags) {
|
|
10887
|
+
const key = tag.toLowerCase();
|
|
10888
|
+
if (!seen.has(key)) seen.set(key, tag);
|
|
10889
|
+
}
|
|
10890
|
+
return [...seen.values()];
|
|
10891
|
+
}, [children]);
|
|
10892
|
+
const selected = useMemo(() => {
|
|
10893
|
+
const param = searchParams.get("tags");
|
|
10894
|
+
if (!param) return [];
|
|
10895
|
+
const wanted = new Set(param.split(",").map((tag) => tag.trim().toLowerCase()).filter(Boolean));
|
|
10896
|
+
return allTags.filter((tag) => wanted.has(tag.toLowerCase()));
|
|
10897
|
+
}, [searchParams, allTags]);
|
|
10898
|
+
const infoByKey = useMemo(() => updateInfo(children), [children]);
|
|
10899
|
+
if (allTags.length === 0) return /* @__PURE__ */ jsx("div", {
|
|
10900
|
+
className: styles.changelog,
|
|
10901
|
+
children
|
|
10902
|
+
});
|
|
10903
|
+
const toggle = (tag) => {
|
|
10904
|
+
const lower = tag.toLowerCase();
|
|
10905
|
+
const next = selected.some((item) => item.toLowerCase() === lower) ? selected.filter((item) => item.toLowerCase() !== lower) : [...selected, tag];
|
|
10906
|
+
setSearchParams(next.length ? { tags: next.join(",") } : {}, { preventScrollReset: true });
|
|
10907
|
+
};
|
|
10908
|
+
const clear = () => {
|
|
10909
|
+
setSearchParams({}, { preventScrollReset: true });
|
|
10910
|
+
};
|
|
10911
|
+
const selectedSet = new Set(selected.map((tag) => tag.toLowerCase()));
|
|
10912
|
+
const filtered = flatElements(children).map((child, index) => {
|
|
10913
|
+
if (child.type !== Update) return child;
|
|
10914
|
+
const key = String(child.key ?? `update-${index}`);
|
|
10915
|
+
const tags = infoByKey.get(key)?.tags ?? [];
|
|
10916
|
+
if (selectedSet.size === 0) return child;
|
|
10917
|
+
const lower = tags.map((tag) => tag.toLowerCase());
|
|
10918
|
+
return [...selectedSet].every((tag) => lower.includes(tag)) ? child : null;
|
|
10919
|
+
});
|
|
10920
|
+
const visibleUpdates = filtered.filter((child) => child && child.type === Update).length;
|
|
10921
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
10922
|
+
className: styles.changelog,
|
|
10923
|
+
children: [
|
|
10924
|
+
/* @__PURE__ */ jsxs("div", {
|
|
10925
|
+
className: styles.changelogFilters,
|
|
10926
|
+
role: "group",
|
|
10927
|
+
"aria-label": "Filter updates by tag",
|
|
10928
|
+
children: [allTags.map((tag) => {
|
|
10929
|
+
const active = selectedSet.has(tag.toLowerCase());
|
|
10930
|
+
return /* @__PURE__ */ jsx("button", {
|
|
10931
|
+
type: "button",
|
|
10932
|
+
onClick: () => toggle(tag),
|
|
10933
|
+
"aria-pressed": active,
|
|
10934
|
+
className: styles.changelogFilterButton,
|
|
10935
|
+
"data-active": active ? "" : void 0,
|
|
10936
|
+
children: /* @__PURE__ */ jsx(Badge, {
|
|
10937
|
+
size: "sm",
|
|
10938
|
+
color: active ? "primary" : void 0,
|
|
10939
|
+
children: tag
|
|
10940
|
+
})
|
|
10941
|
+
}, tag);
|
|
10942
|
+
}), selected.length > 0 ? /* @__PURE__ */ jsx("button", {
|
|
10943
|
+
type: "button",
|
|
10944
|
+
onClick: clear,
|
|
10945
|
+
className: styles.changelogClear,
|
|
10946
|
+
children: "Clear"
|
|
10947
|
+
}) : null]
|
|
10948
|
+
}),
|
|
10949
|
+
visibleUpdates === 0 ? /* @__PURE__ */ jsx("p", {
|
|
10950
|
+
className: styles.changelogEmpty,
|
|
10951
|
+
children: "No updates match the selected tags."
|
|
10952
|
+
}) : null,
|
|
10953
|
+
filtered
|
|
10954
|
+
]
|
|
10955
|
+
});
|
|
10956
|
+
}
|
|
10957
|
+
|
|
10418
10958
|
//#endregion
|
|
10419
10959
|
//#region ../../node_modules/.pnpm/@base-ui+react@1.7.0_@types_e9c1e83f6bc6140c3efaf3427f2fbf0a/node_modules/@base-ui/react/tabs/root/TabsRootContext.mjs
|
|
10420
10960
|
/**
|
|
@@ -11680,6 +12220,51 @@ function Link(props) {
|
|
|
11680
12220
|
return /* @__PURE__ */ jsx(Link$1, { ...props });
|
|
11681
12221
|
}
|
|
11682
12222
|
|
|
12223
|
+
//#endregion
|
|
12224
|
+
//#region src/components/docs/panel-context.tsx
|
|
12225
|
+
const PanelContext = createContext({
|
|
12226
|
+
content: null,
|
|
12227
|
+
setContent: () => {}
|
|
12228
|
+
});
|
|
12229
|
+
function PanelProvider({ children }) {
|
|
12230
|
+
const [content, setContent] = useState(null);
|
|
12231
|
+
return /* @__PURE__ */ jsx(PanelContext.Provider, {
|
|
12232
|
+
value: {
|
|
12233
|
+
content,
|
|
12234
|
+
setContent
|
|
12235
|
+
},
|
|
12236
|
+
children
|
|
12237
|
+
});
|
|
12238
|
+
}
|
|
12239
|
+
function usePanelContent() {
|
|
12240
|
+
return useContext(PanelContext).content;
|
|
12241
|
+
}
|
|
12242
|
+
function useSetPanelContent() {
|
|
12243
|
+
return useContext(PanelContext).setContent;
|
|
12244
|
+
}
|
|
12245
|
+
|
|
12246
|
+
//#endregion
|
|
12247
|
+
//#region src/components/docs/Panel.tsx
|
|
12248
|
+
/**
|
|
12249
|
+
* Pins supplementary content to the right rail (replacing the table of
|
|
12250
|
+
* contents on desktop). On small screens the content renders inline where it
|
|
12251
|
+
* is written. Only one Panel per page is supported; the last one wins.
|
|
12252
|
+
*/
|
|
12253
|
+
function Panel({ children }) {
|
|
12254
|
+
const setContent = useSetPanelContent();
|
|
12255
|
+
useEffect(() => {
|
|
12256
|
+
setContent(children ? /* @__PURE__ */ jsx("div", {
|
|
12257
|
+
className: styles.panel,
|
|
12258
|
+
children
|
|
12259
|
+
}) : null);
|
|
12260
|
+
return () => setContent(null);
|
|
12261
|
+
}, [children, setContent]);
|
|
12262
|
+
return /* @__PURE__ */ jsx("div", {
|
|
12263
|
+
className: styles.panelInline,
|
|
12264
|
+
children
|
|
12265
|
+
});
|
|
12266
|
+
}
|
|
12267
|
+
|
|
11683
12268
|
//#endregion
|
|
11684
12269
|
//#region src/components/docs/ParamField.tsx
|
|
11685
12270
|
function ParamField({ name, query, path, header, body, type, required, children }) {
|
|
@@ -11687,6 +12272,7 @@ function ParamField({ name, query, path, header, body, type, required, children
|
|
|
11687
12272
|
const location = query ? "query" : path ? "path" : header ? "header" : body ? "body" : void 0;
|
|
11688
12273
|
return /* @__PURE__ */ jsxs("div", {
|
|
11689
12274
|
className: styles.paramField,
|
|
12275
|
+
"data-slot": "field-group-item",
|
|
11690
12276
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
11691
12277
|
className: styles.fieldHeader,
|
|
11692
12278
|
children: [
|
|
@@ -11694,18 +12280,24 @@ function ParamField({ name, query, path, header, body, type, required, children
|
|
|
11694
12280
|
className: styles.fieldName,
|
|
11695
12281
|
children: label
|
|
11696
12282
|
}),
|
|
11697
|
-
location ? /* @__PURE__ */ jsx(Badge, {
|
|
12283
|
+
location ? /* @__PURE__ */ jsx(Badge, {
|
|
12284
|
+
size: "sm",
|
|
12285
|
+
children: location
|
|
12286
|
+
}) : null,
|
|
11698
12287
|
type ? /* @__PURE__ */ jsx("span", {
|
|
11699
12288
|
className: styles.fieldType,
|
|
12289
|
+
"data-slot": "field-group-type",
|
|
11700
12290
|
children: decodeHtmlEntities(type)
|
|
11701
12291
|
}) : null,
|
|
11702
12292
|
required ? /* @__PURE__ */ jsx(Badge, {
|
|
12293
|
+
size: "sm",
|
|
11703
12294
|
tone: "primary",
|
|
11704
12295
|
children: "required"
|
|
11705
12296
|
}) : null
|
|
11706
12297
|
]
|
|
11707
12298
|
}), children ? /* @__PURE__ */ jsx("div", {
|
|
11708
12299
|
className: styles.fieldBody,
|
|
12300
|
+
"data-slot": "field-group-body",
|
|
11709
12301
|
children
|
|
11710
12302
|
}) : null]
|
|
11711
12303
|
});
|
|
@@ -11749,12 +12341,12 @@ function PropertiesTable({ children }) {
|
|
|
11749
12341
|
children: [
|
|
11750
12342
|
name,
|
|
11751
12343
|
required ? /* @__PURE__ */ jsx(Badge, {
|
|
11752
|
-
size: "
|
|
12344
|
+
size: "sm",
|
|
11753
12345
|
tone: "primary",
|
|
11754
12346
|
children: "required"
|
|
11755
12347
|
}) : null,
|
|
11756
12348
|
deprecated ? /* @__PURE__ */ jsx(Badge, {
|
|
11757
|
-
size: "
|
|
12349
|
+
size: "sm",
|
|
11758
12350
|
children: "deprecated"
|
|
11759
12351
|
}) : null
|
|
11760
12352
|
]
|
|
@@ -11779,6 +12371,7 @@ function ResponseField({ name, type, required, deprecated, children }) {
|
|
|
11779
12371
|
const normalizedType = typeof type === "string" ? decodeHtmlEntities(type) : type === void 0 || type === null ? void 0 : String(type);
|
|
11780
12372
|
return /* @__PURE__ */ jsxs("div", {
|
|
11781
12373
|
className: styles.field,
|
|
12374
|
+
"data-slot": "field-group-item",
|
|
11782
12375
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
11783
12376
|
className: styles.fieldHeader,
|
|
11784
12377
|
children: [
|
|
@@ -11788,16 +12381,22 @@ function ResponseField({ name, type, required, deprecated, children }) {
|
|
|
11788
12381
|
}),
|
|
11789
12382
|
normalizedType ? /* @__PURE__ */ jsx("span", {
|
|
11790
12383
|
className: styles.fieldType,
|
|
12384
|
+
"data-slot": "field-group-type",
|
|
11791
12385
|
children: normalizedType
|
|
11792
12386
|
}) : null,
|
|
11793
12387
|
required ? /* @__PURE__ */ jsx(Badge, {
|
|
12388
|
+
size: "sm",
|
|
11794
12389
|
tone: "primary",
|
|
11795
12390
|
children: "required"
|
|
11796
12391
|
}) : null,
|
|
11797
|
-
deprecated ? /* @__PURE__ */ jsx(Badge, {
|
|
12392
|
+
deprecated ? /* @__PURE__ */ jsx(Badge, {
|
|
12393
|
+
size: "sm",
|
|
12394
|
+
children: "deprecated"
|
|
12395
|
+
}) : null
|
|
11798
12396
|
]
|
|
11799
12397
|
}), children ? /* @__PURE__ */ jsx("div", {
|
|
11800
12398
|
className: styles.fieldBody,
|
|
12399
|
+
"data-slot": "field-group-body",
|
|
11801
12400
|
children
|
|
11802
12401
|
}) : null]
|
|
11803
12402
|
});
|
|
@@ -11806,7 +12405,7 @@ function ResponseField({ name, type, required, deprecated, children }) {
|
|
|
11806
12405
|
//#endregion
|
|
11807
12406
|
//#region src/components/docs/Steps.tsx
|
|
11808
12407
|
function Step({ children }) {
|
|
11809
|
-
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
12408
|
+
return /* @__PURE__ */ jsx(Fragment$1, { children });
|
|
11810
12409
|
}
|
|
11811
12410
|
function Steps({ children }) {
|
|
11812
12411
|
const steps = useMemo(() => {
|
|
@@ -11839,7 +12438,7 @@ function Steps({ children }) {
|
|
|
11839
12438
|
//#endregion
|
|
11840
12439
|
//#region src/components/docs/Tabs.tsx
|
|
11841
12440
|
function Tab({ children }) {
|
|
11842
|
-
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
12441
|
+
return /* @__PURE__ */ jsx(Fragment$1, { children });
|
|
11843
12442
|
}
|
|
11844
12443
|
function Tabs({ children, group }) {
|
|
11845
12444
|
const tabs = useMemo(() => {
|
|
@@ -11910,6 +12509,49 @@ function Tabs({ children, group }) {
|
|
|
11910
12509
|
});
|
|
11911
12510
|
}
|
|
11912
12511
|
|
|
12512
|
+
//#endregion
|
|
12513
|
+
//#region src/components/docs/Tiles.tsx
|
|
12514
|
+
function Tile({ href, title, description, children, target }) {
|
|
12515
|
+
const external = /^https?:\/\//i.test(href);
|
|
12516
|
+
const resolvedTarget = target ?? (external ? "_blank" : void 0);
|
|
12517
|
+
const content = /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("div", {
|
|
12518
|
+
className: styles.tilePreview,
|
|
12519
|
+
"data-slot": "tile-preview",
|
|
12520
|
+
children
|
|
12521
|
+
}), title || description ? /* @__PURE__ */ jsxs("div", {
|
|
12522
|
+
className: styles.tileBody,
|
|
12523
|
+
"data-slot": "tile-body",
|
|
12524
|
+
children: [title ? /* @__PURE__ */ jsx("div", {
|
|
12525
|
+
className: styles.tileTitle,
|
|
12526
|
+
children: title
|
|
12527
|
+
}) : null, description ? /* @__PURE__ */ jsx("div", {
|
|
12528
|
+
className: styles.tileDescription,
|
|
12529
|
+
children: description
|
|
12530
|
+
}) : null]
|
|
12531
|
+
}) : null] });
|
|
12532
|
+
const className = `${styles.tile} no-underline hover:no-underline active:no-underline`;
|
|
12533
|
+
if (external) return /* @__PURE__ */ jsx("a", {
|
|
12534
|
+
href,
|
|
12535
|
+
className,
|
|
12536
|
+
target: resolvedTarget,
|
|
12537
|
+
rel: "noreferrer",
|
|
12538
|
+
children: content
|
|
12539
|
+
});
|
|
12540
|
+
return /* @__PURE__ */ jsx(Link$1, {
|
|
12541
|
+
to: href,
|
|
12542
|
+
className,
|
|
12543
|
+
target: resolvedTarget,
|
|
12544
|
+
children: content
|
|
12545
|
+
});
|
|
12546
|
+
}
|
|
12547
|
+
/** Grid wrapper for <Tile> when <Columns> is not used directly. */
|
|
12548
|
+
function Tiles({ children, cols = 2 }) {
|
|
12549
|
+
return /* @__PURE__ */ jsx("div", {
|
|
12550
|
+
className: `${styles.grid} ${styles[gridColsClass(cols)]}`,
|
|
12551
|
+
children
|
|
12552
|
+
});
|
|
12553
|
+
}
|
|
12554
|
+
|
|
11913
12555
|
//#endregion
|
|
11914
12556
|
//#region ../../node_modules/.pnpm/@base-ui+utils@0.3.2_@types_46200efdf1f5c806fc19b01530afd9e7/node_modules/@base-ui/utils/fastHooks.mjs
|
|
11915
12557
|
const hooks = [];
|
|
@@ -12453,7 +13095,7 @@ const usePortalContext = () => React$1.useContext(PortalContext);
|
|
|
12453
13095
|
const attr = createAttribute("portal");
|
|
12454
13096
|
function useFloatingPortalNode(props = {}) {
|
|
12455
13097
|
const { ref, container: containerProp, componentProps = EMPTY_OBJECT, elementProps } = props;
|
|
12456
|
-
const uniqueId = useId();
|
|
13098
|
+
const uniqueId = useId$1();
|
|
12457
13099
|
const parentPortalNode = usePortalContext()?.portalNode;
|
|
12458
13100
|
const [containerElement, setContainerElement] = React$1.useState(null);
|
|
12459
13101
|
const [portalNode, setPortalNode] = React$1.useState(null);
|
|
@@ -12644,7 +13286,7 @@ const useFloatingTree = (externalTree) => {
|
|
|
12644
13286
|
* @see https://floating-ui.com/docs/FloatingTree
|
|
12645
13287
|
*/
|
|
12646
13288
|
function useFloatingNodeId(externalTree) {
|
|
12647
|
-
const id = useId();
|
|
13289
|
+
const id = useId$1();
|
|
12648
13290
|
const tree = useFloatingTree(externalTree);
|
|
12649
13291
|
const parentId = useFloatingParentNodeId();
|
|
12650
13292
|
useIsoLayoutEffect(() => {
|
|
@@ -15468,7 +16110,7 @@ function createDefaultInitialFocus(popupRef) {
|
|
|
15468
16110
|
* floating element instead of the default positioner.
|
|
15469
16111
|
*/
|
|
15470
16112
|
function usePopupRootStore(createStore, treatPopupAsFloatingElement = false) {
|
|
15471
|
-
const floatingId = useId();
|
|
16113
|
+
const floatingId = useId$1();
|
|
15472
16114
|
const nested = useFloatingParentNodeId() != null;
|
|
15473
16115
|
const store = useRefWithInit(() => createStore(floatingId, nested)).current;
|
|
15474
16116
|
useSyncedFloatingRootContext({
|
|
@@ -18006,6 +18648,244 @@ function Tooltip({ tip, children }) {
|
|
|
18006
18648
|
}), /* @__PURE__ */ jsx(TooltipContent, { children: tip })] });
|
|
18007
18649
|
}
|
|
18008
18650
|
|
|
18651
|
+
//#endregion
|
|
18652
|
+
//#region src/components/docs/Tree.tsx
|
|
18653
|
+
function elementText(node) {
|
|
18654
|
+
if (typeof node === "string" || typeof node === "number") return String(node);
|
|
18655
|
+
if (Array.isArray(node)) return node.map(elementText).join("");
|
|
18656
|
+
if (isValidElement(node)) return elementText(node.props.children);
|
|
18657
|
+
return "";
|
|
18658
|
+
}
|
|
18659
|
+
function isListElement(node) {
|
|
18660
|
+
return isValidElement(node) && (node.type === "ul" || node.type === "ol");
|
|
18661
|
+
}
|
|
18662
|
+
/** Stable key for MDX-generated list wrappers (static content, never reordered). */
|
|
18663
|
+
function listFingerprint(node) {
|
|
18664
|
+
const text = elementText(node).replace(/\s+/g, " ").trim().slice(0, 64);
|
|
18665
|
+
let hash = 0;
|
|
18666
|
+
for (let i = 0; i < text.length; i += 1) hash = hash * 31 + text.charCodeAt(i) | 0;
|
|
18667
|
+
return `mdx-list-${text.length}-${hash}`;
|
|
18668
|
+
}
|
|
18669
|
+
/** Split an MDX <li> into its label (inline content) and an optional nested list. */
|
|
18670
|
+
function splitListItem(li) {
|
|
18671
|
+
let nested = null;
|
|
18672
|
+
const labelParts = [];
|
|
18673
|
+
Children.forEach(li.props.children, (child) => {
|
|
18674
|
+
if (isListElement(child)) nested = child;
|
|
18675
|
+
else labelParts.push(child);
|
|
18676
|
+
});
|
|
18677
|
+
return {
|
|
18678
|
+
label: elementText(labelParts).trim(),
|
|
18679
|
+
nested
|
|
18680
|
+
};
|
|
18681
|
+
}
|
|
18682
|
+
function ListItemsAsNodes({ items }) {
|
|
18683
|
+
const nodes = [];
|
|
18684
|
+
let index = 0;
|
|
18685
|
+
Children.forEach(items, (li) => {
|
|
18686
|
+
if (!isValidElement(li) || li.type !== "li") return;
|
|
18687
|
+
const { label, nested } = splitListItem(li);
|
|
18688
|
+
if (!label && !nested) return;
|
|
18689
|
+
const name = label || "untitled";
|
|
18690
|
+
const isFolder = name.endsWith("/") || Boolean(nested);
|
|
18691
|
+
index += 1;
|
|
18692
|
+
if (isFolder) nodes.push(/* @__PURE__ */ jsx(TreeFolder, {
|
|
18693
|
+
name,
|
|
18694
|
+
defaultOpen: Boolean(nested),
|
|
18695
|
+
children: nested ? /* @__PURE__ */ jsx(ListItemsAsNodes, { items: nested.props.children }) : null
|
|
18696
|
+
}, `${name}-${index}`));
|
|
18697
|
+
else nodes.push(/* @__PURE__ */ jsx(TreeFile, { name }, `${name}-${index}`));
|
|
18698
|
+
});
|
|
18699
|
+
return /* @__PURE__ */ jsx(Fragment$1, { children: nodes });
|
|
18700
|
+
}
|
|
18701
|
+
function containsList(children) {
|
|
18702
|
+
let found = false;
|
|
18703
|
+
Children.forEach(children, (child) => {
|
|
18704
|
+
if (isListElement(child)) found = true;
|
|
18705
|
+
});
|
|
18706
|
+
return found;
|
|
18707
|
+
}
|
|
18708
|
+
function TreeFolder({ name, defaultOpen = false, openable = true, highlight = false, children }) {
|
|
18709
|
+
const [open, setOpen] = useState(defaultOpen);
|
|
18710
|
+
const expanded = openable ? open : true;
|
|
18711
|
+
const Icon = expanded ? FolderOpen : Folder;
|
|
18712
|
+
return /* @__PURE__ */ jsxs("li", {
|
|
18713
|
+
role: "treeitem",
|
|
18714
|
+
"aria-expanded": openable ? expanded : void 0,
|
|
18715
|
+
"data-highlight": highlight ? "" : void 0,
|
|
18716
|
+
className: styles.treeItem,
|
|
18717
|
+
children: [openable ? /* @__PURE__ */ jsxs("button", {
|
|
18718
|
+
type: "button",
|
|
18719
|
+
"data-tree-focus": true,
|
|
18720
|
+
onClick: () => setOpen((value) => !value),
|
|
18721
|
+
className: `${styles.treeRow} ${highlight ? styles.treeHighlight : ""}`,
|
|
18722
|
+
children: [
|
|
18723
|
+
/* @__PURE__ */ jsx(ChevronRight, {
|
|
18724
|
+
size: 14,
|
|
18725
|
+
className: styles.treeChevron,
|
|
18726
|
+
"data-open": expanded ? "" : void 0,
|
|
18727
|
+
"aria-hidden": true
|
|
18728
|
+
}),
|
|
18729
|
+
/* @__PURE__ */ jsx(Icon, {
|
|
18730
|
+
size: 15,
|
|
18731
|
+
className: styles.treeIcon,
|
|
18732
|
+
"aria-hidden": true
|
|
18733
|
+
}),
|
|
18734
|
+
/* @__PURE__ */ jsx("span", {
|
|
18735
|
+
className: styles.treeName,
|
|
18736
|
+
children: name
|
|
18737
|
+
})
|
|
18738
|
+
]
|
|
18739
|
+
}) : /* @__PURE__ */ jsxs("span", {
|
|
18740
|
+
"data-tree-focus": true,
|
|
18741
|
+
tabIndex: -1,
|
|
18742
|
+
className: `${styles.treeRow} ${highlight ? styles.treeHighlight : ""}`,
|
|
18743
|
+
children: [/* @__PURE__ */ jsx(Icon, {
|
|
18744
|
+
size: 15,
|
|
18745
|
+
className: styles.treeIcon,
|
|
18746
|
+
"aria-hidden": true
|
|
18747
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
18748
|
+
className: styles.treeName,
|
|
18749
|
+
children: name
|
|
18750
|
+
})]
|
|
18751
|
+
}), children ? /* @__PURE__ */ jsx("ul", {
|
|
18752
|
+
role: "group",
|
|
18753
|
+
hidden: openable && !expanded ? true : void 0,
|
|
18754
|
+
className: styles.treeGroup,
|
|
18755
|
+
children
|
|
18756
|
+
}) : null]
|
|
18757
|
+
});
|
|
18758
|
+
}
|
|
18759
|
+
function TreeFile({ name, highlight = false }) {
|
|
18760
|
+
return /* @__PURE__ */ jsx("li", {
|
|
18761
|
+
role: "treeitem",
|
|
18762
|
+
"data-highlight": highlight ? "" : void 0,
|
|
18763
|
+
className: styles.treeItem,
|
|
18764
|
+
children: /* @__PURE__ */ jsxs("span", {
|
|
18765
|
+
"data-tree-focus": true,
|
|
18766
|
+
tabIndex: -1,
|
|
18767
|
+
className: `${styles.treeRow} ${highlight ? styles.treeHighlight : ""}`,
|
|
18768
|
+
children: [/* @__PURE__ */ jsx(File, {
|
|
18769
|
+
size: 15,
|
|
18770
|
+
className: styles.treeIcon,
|
|
18771
|
+
"aria-hidden": true
|
|
18772
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
18773
|
+
className: styles.treeName,
|
|
18774
|
+
children: name
|
|
18775
|
+
})]
|
|
18776
|
+
})
|
|
18777
|
+
});
|
|
18778
|
+
}
|
|
18779
|
+
function visibleFocusables(root) {
|
|
18780
|
+
return [...root.querySelectorAll("[data-tree-focus]")].filter((element) => !element.closest("[hidden]"));
|
|
18781
|
+
}
|
|
18782
|
+
function TreeRoot({ children, style, className }) {
|
|
18783
|
+
const rootRef = useRef(null);
|
|
18784
|
+
const searchRef = useRef({
|
|
18785
|
+
text: "",
|
|
18786
|
+
timer: 0
|
|
18787
|
+
});
|
|
18788
|
+
const onKeyDown = (event) => {
|
|
18789
|
+
const root = rootRef.current;
|
|
18790
|
+
const target = event.target;
|
|
18791
|
+
if (!root || !target.closest("[data-tree-focus]")) return;
|
|
18792
|
+
const items = visibleFocusables(root);
|
|
18793
|
+
const index = items.indexOf(target);
|
|
18794
|
+
const focusAt = (next) => {
|
|
18795
|
+
event.preventDefault();
|
|
18796
|
+
items[(next + items.length) % items.length]?.focus();
|
|
18797
|
+
};
|
|
18798
|
+
switch (event.key) {
|
|
18799
|
+
case "ArrowDown":
|
|
18800
|
+
focusAt(index + 1);
|
|
18801
|
+
break;
|
|
18802
|
+
case "ArrowUp":
|
|
18803
|
+
focusAt(index - 1);
|
|
18804
|
+
break;
|
|
18805
|
+
case "Home":
|
|
18806
|
+
focusAt(0);
|
|
18807
|
+
break;
|
|
18808
|
+
case "End":
|
|
18809
|
+
focusAt(items.length - 1);
|
|
18810
|
+
break;
|
|
18811
|
+
case "ArrowRight": {
|
|
18812
|
+
const row = target.closest("[role=\"treeitem\"]");
|
|
18813
|
+
const toggle = row?.querySelector(":scope > [data-tree-focus]");
|
|
18814
|
+
if (toggle && toggle.tagName === "BUTTON" && toggle.getAttribute("aria-expanded") === "false") {
|
|
18815
|
+
event.preventDefault();
|
|
18816
|
+
toggle.click();
|
|
18817
|
+
} else {
|
|
18818
|
+
const firstChild = row?.querySelector(":scope > ul [data-tree-focus]");
|
|
18819
|
+
if (firstChild) {
|
|
18820
|
+
event.preventDefault();
|
|
18821
|
+
firstChild.focus();
|
|
18822
|
+
}
|
|
18823
|
+
}
|
|
18824
|
+
break;
|
|
18825
|
+
}
|
|
18826
|
+
case "ArrowLeft": {
|
|
18827
|
+
const row = target.closest("[role=\"treeitem\"]");
|
|
18828
|
+
const toggle = row?.querySelector(":scope > [data-tree-focus]");
|
|
18829
|
+
if (toggle && toggle.tagName === "BUTTON" && toggle.getAttribute("aria-expanded") === "true") {
|
|
18830
|
+
event.preventDefault();
|
|
18831
|
+
toggle.click();
|
|
18832
|
+
} else {
|
|
18833
|
+
const parentFocus = (row?.parentElement?.closest("[role=\"treeitem\"]"))?.querySelector(":scope > [data-tree-focus]");
|
|
18834
|
+
if (parentFocus) {
|
|
18835
|
+
event.preventDefault();
|
|
18836
|
+
parentFocus.focus();
|
|
18837
|
+
}
|
|
18838
|
+
}
|
|
18839
|
+
break;
|
|
18840
|
+
}
|
|
18841
|
+
case "*":
|
|
18842
|
+
target.closest("ul")?.querySelectorAll(":scope > [role=\"treeitem\"] > button[aria-expanded=\"false\"]").forEach((button) => {
|
|
18843
|
+
button.click();
|
|
18844
|
+
});
|
|
18845
|
+
break;
|
|
18846
|
+
default: if (event.key.length === 1 && !event.ctrlKey && !event.metaKey) {
|
|
18847
|
+
const state = searchRef.current;
|
|
18848
|
+
window.clearTimeout(state.timer);
|
|
18849
|
+
state.text += event.key.toLowerCase();
|
|
18850
|
+
state.timer = window.setTimeout(() => {
|
|
18851
|
+
state.text = "";
|
|
18852
|
+
}, 500);
|
|
18853
|
+
const match = items.find((item) => (item.textContent || "").trim().toLowerCase().startsWith(state.text));
|
|
18854
|
+
if (match) {
|
|
18855
|
+
event.preventDefault();
|
|
18856
|
+
match.focus();
|
|
18857
|
+
}
|
|
18858
|
+
}
|
|
18859
|
+
}
|
|
18860
|
+
};
|
|
18861
|
+
const content = containsList(children) ? Children.map(children, (child) => isListElement(child) ? /* @__PURE__ */ jsx(ListItemsAsNodes, { items: child.props.children }, listFingerprint(child)) : child) : children;
|
|
18862
|
+
return /* @__PURE__ */ jsx("div", {
|
|
18863
|
+
ref: rootRef,
|
|
18864
|
+
style,
|
|
18865
|
+
className: `${styles.tree} ${className || ""}`,
|
|
18866
|
+
onKeyDown,
|
|
18867
|
+
children: /* @__PURE__ */ jsx("ul", {
|
|
18868
|
+
role: "tree",
|
|
18869
|
+
"aria-label": "File tree",
|
|
18870
|
+
className: styles.treeList,
|
|
18871
|
+
children: content
|
|
18872
|
+
})
|
|
18873
|
+
});
|
|
18874
|
+
}
|
|
18875
|
+
function Tree(props) {
|
|
18876
|
+
return /* @__PURE__ */ jsx(TreeRoot, { ...props });
|
|
18877
|
+
}
|
|
18878
|
+
/** Alias: <Tree> and <FileTree> are interchangeable, like Mintlify. */
|
|
18879
|
+
function FileTree(props) {
|
|
18880
|
+
return /* @__PURE__ */ jsx(TreeRoot, { ...props });
|
|
18881
|
+
}
|
|
18882
|
+
Tree.Folder = TreeFolder;
|
|
18883
|
+
Tree.File = TreeFile;
|
|
18884
|
+
FileTree.Folder = TreeFolder;
|
|
18885
|
+
FileTree.File = TreeFile;
|
|
18886
|
+
const FileTreeFolder = TreeFolder;
|
|
18887
|
+
const FileTreeFile = TreeFile;
|
|
18888
|
+
|
|
18009
18889
|
//#endregion
|
|
18010
18890
|
//#region ../../node_modules/.pnpm/@base-ui+react@1.7.0_@types_e9c1e83f6bc6140c3efaf3427f2fbf0a/node_modules/@base-ui/react/dialog/root/DialogRootContext.mjs
|
|
18011
18891
|
const DialogRootContext = /*#__PURE__*/ React$1.createContext(void 0);
|
|
@@ -18896,17 +19776,24 @@ var docs_exports = /* @__PURE__ */ __exportAll({
|
|
|
18896
19776
|
Callout: () => Callout,
|
|
18897
19777
|
Card: () => Card,
|
|
18898
19778
|
CardGroup: () => CardGroup,
|
|
19779
|
+
Changelog: () => Changelog,
|
|
18899
19780
|
Check: () => Check,
|
|
18900
19781
|
CodeGroup: () => CodeGroup,
|
|
18901
19782
|
Column: () => Column,
|
|
18902
19783
|
Columns: () => Columns,
|
|
18903
19784
|
Danger: () => Danger,
|
|
18904
19785
|
Expandable: () => Expandable,
|
|
19786
|
+
FileTree: () => FileTree,
|
|
19787
|
+
FileTreeFile: () => FileTreeFile,
|
|
19788
|
+
FileTreeFolder: () => FileTreeFolder,
|
|
18905
19789
|
Frame: () => Frame,
|
|
18906
19790
|
Icon: () => Icon,
|
|
18907
19791
|
Info: () => Info,
|
|
18908
19792
|
Link: () => Link,
|
|
19793
|
+
Mermaid: () => Mermaid,
|
|
18909
19794
|
Note: () => Note,
|
|
19795
|
+
Panel: () => Panel,
|
|
19796
|
+
PanelProvider: () => PanelProvider,
|
|
18910
19797
|
Param: () => Param,
|
|
18911
19798
|
ParamField: () => ParamField,
|
|
18912
19799
|
PropertiesTable: () => PropertiesTable,
|
|
@@ -18915,12 +19802,21 @@ var docs_exports = /* @__PURE__ */ __exportAll({
|
|
|
18915
19802
|
Steps: () => Steps,
|
|
18916
19803
|
Tab: () => Tab,
|
|
18917
19804
|
Tabs: () => Tabs,
|
|
19805
|
+
Tile: () => Tile,
|
|
19806
|
+
Tiles: () => Tiles,
|
|
18918
19807
|
Tip: () => Tip,
|
|
18919
19808
|
Tooltip: () => Tooltip,
|
|
19809
|
+
Tree: () => Tree,
|
|
19810
|
+
TreeFile: () => TreeFile,
|
|
19811
|
+
TreeFolder: () => TreeFolder,
|
|
19812
|
+
Update: () => Update,
|
|
18920
19813
|
Warning: () => Warning,
|
|
18921
19814
|
WarningBanner: () => WarningBanner,
|
|
18922
|
-
ZoomableImage: () => ZoomableImage
|
|
19815
|
+
ZoomableImage: () => ZoomableImage,
|
|
19816
|
+
mermaidSource: () => mermaidSource,
|
|
19817
|
+
usePanelContent: () => usePanelContent,
|
|
19818
|
+
useSetPanelContent: () => useSetPanelContent
|
|
18923
19819
|
});
|
|
18924
19820
|
|
|
18925
19821
|
//#endregion
|
|
18926
|
-
export {
|
|
19822
|
+
export { useFloatingNodeId as $, useTimeout as $n, Accordion as $t, safePolygon as A, findNonDisabledListIndex as An, createPath as Ar, CollapsibleContent as At, attachPreventUnmountOnClose as B, isTypeableCombobox as Bn, Card as Bt, Tooltip as C, styles as Cn, Link$1 as Cr, useSetPanelContent as Ct, useAnchorPositioning as D, getTabbableAfterElement as Dn, Routes as Dr, renderInlineMarkdown as Dt, getDisabledMountTransitionStyles as E, getNextTabbable as En, Router as Er, Frame as Et, createInitialPopupStoreState as F, isListIndexDisabled as Fn, COMPOSITE_KEYS as Ft, useTriggerDataForwarding as G, ARROW_LEFT$1 as Gn, Info as Gt, useImplicitActiveTrigger as H, contains as Hn, Callout as Ht, popupStoreSelectors as I, isVirtualClick as In, inertValue as It, useDismiss as J, jsdom as Jn, Warning as Jt, useSyncedFloatingRootContext as K, ARROW_RIGHT$1 as Kn, Note as Kt, PopupTriggerMap as L, isVirtualPointerEvent as Ln, useCompositeItem as Lt, useHoverFloatingInteraction as M, getMinListIndex as Mn, ABSOLUTE_URL_REGEX as Mr, Column as Mt, useFocus as N, isElementVisible as Nn, __commonJSMin as Nr, Columns as Nt, popupTransitionStateMapping as O, getTabbableBeforeElement as On, useLocation as Or, Expandable as Ot, usePopupHandleStore as P, isIndexOutOfListBounds as Pn, __toESM as Pr, CodeGroup as Pt, FloatingTree as Q, useId$1 as Qn, Badge$1 as Qt, FOCUSABLE_POPUP_PROPS as R, stopEvent as Rn, Changelog as Rt, TreeFolder as S, mermaidSource as Sn, BrowserRouter as Sr, usePanelContent as St, usePositioner as T, useDirection as Tn, Route as Tr, Icon as Tt, useOpenStateTransitions as U, getTarget as Un, Check as Ut, setPopupOpenState as V, activeElement as Vn, CardGroup as Vt, usePopupInteractionProps as W, ARROW_DOWN$1 as Wn, Danger as Wt, FloatingFocusManager as X, mac as Xn, Button as Xt, useClick as Y, webkit as Yn, WarningBanner as Yt, FloatingNode as Z, useBaseUiId as Zn, Badge as Zt, FileTree as _, triggerFocus as _n, isLastTraversableNode as _r, PropertiesTable as _t, DialogTitle as a, useValueAsRef as an, useMergedRefs as ar, POPUP_COLLISION_AVOIDANCE as at, Tree as b, CompositeList as bn, Check$1 as br, Panel as bt, useOpenInteractionType as c, createChangeEventDetails as cn, ownerDocument as cr, fastComponent as ct, useScrollLock as d, focusOut as dn, useIsoLayoutEffect as dr, Tiles as dt, AccordionGroup as en, Button$1 as er, useFloatingParentNodeId as et, DialogPortal$1 as f, imperativeAction as fn, useStableCallback as fr, Tab as ft, DialogBackdrop as g, siblingOpen as gn, isHTMLElement as gr, ResponseField as gt, DialogClose as h, outsidePress as hn, getWindow as hr, Steps as ht, DialogContent as i, useAnimationsFinished as in, EMPTY_OBJECT as ir, DROPDOWN_COLLISION_AVOIDANCE as it, useHoverReferenceInteraction as j, getMaxListIndex as jn, parsePath as jr, CollapsibleTrigger as jt, pressableTriggerOpenStateMapping as k, isOutsideEvent as kn, useNavigate as kr, Collapsible as kt, DialogTitle$1 as l, cancelOpen as ln, useCompositeRootContext as lr, fastComponentRef as lt, DialogPopup as m, listNavigation as mn, getParentNode as mr, Step as mt, ZoomableImage as n, getIcon as nn, useRenderElement as nr, FloatingTreeStore as nt, DialogTrigger as o, useCompositeListItem as on, useButton as or, enqueueFocus as ot, InternalBackdrop as p, itemPress as pn, useRefWithInit as pr, Tabs as pt, ReactStore as q, ARROW_UP$1 as qn, Tip as qt, Dialog as r, useOpenChangeComplete as rn, EMPTY_ARRAY$1 as rr, FloatingPortal as rt, DialogTrigger$1 as s, useAnimationFrame as sn, dispatchClickWithModifiers as sr, FocusGuard as st, docs_exports as t, resolveIcon as tn, cn as tr, useFloatingTree as tt, DialogRoot as u, escapeKey as un, mergeProps as ur, Tile as ut, FileTreeFile as v, triggerHover as vn, X as vr, Param as vt, TooltipProvider as w, addEventListener as wn, Navigate as wr, Link as wt, TreeFile as x, Mermaid as xn, createLucideIcon as xr, PanelProvider as xt, FileTreeFolder as y, triggerPress as yn, ChevronRight as yr, ParamField as yt, PopupHandleAttachment as z, getFloatingFocusElement as zn, Update as zt };
|