@clidey/dory 0.22.0 → 0.24.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/bin/dist/dory.d.ts +3 -0
- package/bin/dist/dory.d.ts.map +1 -0
- package/bin/dist/dory.js +337 -0
- package/bin/dist/dory.js.map +1 -0
- package/bin/dory.ts +287 -121
- package/dist/dory.json +5 -0
- package/dist/favicon.svg +1 -1
- package/dist/index.html +6 -6
- package/dist/introduction.mdx +2 -2
- package/dist/llms.txt +2 -2
- package/docs/dory.json +5 -0
- package/docs/favicon.svg +1 -1
- package/docs/introduction.mdx +2 -2
- package/package.json +16 -11
- package/src/app.css +2 -0
- package/src/components/dropdown.tsx +30 -26
- package/src/components/loading.tsx +6 -8
- package/src/components/navigation.tsx +8 -6
- package/src/components/notification.tsx +9 -93
- package/src/components/routes.tsx +1 -1
- package/src/components/search.tsx +31 -104
- package/src/components/store.ts +4 -1
- package/src/main.tsx +9 -5
- package/src/mdx/accordion.tsx +21 -28
- package/src/mdx/api-playground.tsx +68 -83
- package/src/mdx/api.tsx +21 -21
- package/src/mdx/async-api.tsx +15 -31
- package/src/mdx/callout.tsx +27 -43
- package/src/mdx/card.tsx +20 -14
- package/src/mdx/code.tsx +26 -26
- package/src/mdx/expandable.tsx +21 -25
- package/src/mdx/fence.tsx +2 -2
- package/src/mdx/list.tsx +2 -2
- package/src/mdx/open-api.tsx +31 -45
- package/src/mdx/table.tsx +8 -3
- package/src/mdx/tag.tsx +27 -40
- package/src/mdx/text.tsx +3 -2
- package/src/mdx/websocket-playground.tsx +150 -81
- package/src/theme.scss +50 -106
- package/src/types/config.ts +47 -0
- package/src/ui/header.tsx +12 -9
- package/src/ui/layout.tsx +5 -4
- package/src/ui/mobile-navigation.tsx +36 -63
- package/src/ui/table-of-content.tsx +3 -3
- package/src/utils/colors.ts +54 -0
- package/src/utils/fonts.ts +4 -1
- package/tsconfig.app.json +2 -1
- package/tsconfig.bin.json +11 -7
- package/tsconfig.node.json +2 -1
- package/vite.config.ts +2 -0
- package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/assets/__vite-browser-external-BIHI7g3E.js +0 -1
- package/dist/assets/_basePickBy-CsnA5_xx.js +0 -1
- package/dist/assets/_baseUniq-COwFna6s.js +0 -1
- package/dist/assets/api-playground-demo-Ct5XK2u1.js +0 -45
- package/dist/assets/api-playground-demo-vBae5R-d.js +0 -119
- package/dist/assets/arc-Dy4kITED.js +0 -1
- package/dist/assets/architectureDiagram-IEHRJDOE-BiaWQpzt.js +0 -36
- package/dist/assets/blockDiagram-JOT3LUYC-7LfUOsM7.js +0 -121
- package/dist/assets/c4Diagram-VJAJSXHY-Ca-3deDF.js +0 -10
- package/dist/assets/channel-j6jMzwSu.js +0 -1
- package/dist/assets/chunk-4BMEZGHF-Cln31Q_z.js +0 -1
- package/dist/assets/chunk-A2AXSNBT-Cj4U7K4I.js +0 -164
- package/dist/assets/chunk-AEK57VVT-1kn9120k.js +0 -220
- package/dist/assets/chunk-D6G4REZN-DMgQaOLS.js +0 -1
- package/dist/assets/chunk-RZ5BOZE2-DDd-DrSb.js +0 -1
- package/dist/assets/chunk-XZIHB7SX-sVdgMrEr.js +0 -1
- package/dist/assets/classDiagram-GIVACNV2-B9ObtIrc.js +0 -1
- package/dist/assets/classDiagram-v2-COTLJTTW-B9ObtIrc.js +0 -1
- package/dist/assets/clone-UOttdbrS.js +0 -1
- package/dist/assets/create-D-Wjvs-T.js +0 -6
- package/dist/assets/create-DpzlgYHc.js +0 -4
- package/dist/assets/cytoscape.esm-BY7v1xhs.js +0 -331
- package/dist/assets/dagre-OKDRZEBW-C4q12sCc.js +0 -4
- package/dist/assets/delete-DwAmDeAN.js +0 -4
- package/dist/assets/delete-cbziNMWs.js +0 -5
- package/dist/assets/diagram-SSKATNLV-BxNC6sGs.js +0 -43
- package/dist/assets/diagram-VNBRO52H-CukGDk3b.js +0 -24
- package/dist/assets/dory.jpeg +0 -0
- package/dist/assets/erDiagram-Q7BY3M3F-TiiVq0dv.js +0 -60
- package/dist/assets/favicon-Z67lNtJu.svg +0 -75
- package/dist/assets/features-6EEoDloV.js +0 -269
- package/dist/assets/features-EZwrzTnN.js +0 -441
- package/dist/assets/flowDiagram-4HSFHLVR-DykkGbol.js +0 -161
- package/dist/assets/ganttDiagram-APWFNJXF-Bqp95-S3.js +0 -257
- package/dist/assets/get-BeAg4Qrr.js +0 -5
- package/dist/assets/get-Dj1eDs2i.js +0 -4
- package/dist/assets/gitGraphDiagram-7IBYFJ6S-BiYVs9VI.js +0 -65
- package/dist/assets/graph-LkKKMaDZ.js +0 -1
- package/dist/assets/index-CGd7uPvh.css +0 -1
- package/dist/assets/index-vOROtq-e.js +0 -9596
- package/dist/assets/infoDiagram-PH2N3AL5-EA7h3wZa.js +0 -2
- package/dist/assets/init-Gi6I4Gst.js +0 -1
- package/dist/assets/introduction-CzXlzjWa.js +0 -38
- package/dist/assets/introduction-ylYJcPz3.js +0 -45
- package/dist/assets/journeyDiagram-U35MCT3I-BZiVuCZu.js +0 -138
- package/dist/assets/kanban-definition-NDS4AKOZ-SCdQ8OjR.js +0 -88
- package/dist/assets/layout-C9-9-M2q.js +0 -1
- package/dist/assets/linear-CTbdhYd1.js +0 -1
- package/dist/assets/mermaid.core-DUFqLK_I.js +0 -213
- package/dist/assets/mindmap-definition-ALO5MXBD-BPbKEbjk.js +0 -95
- package/dist/assets/ordinal-Cboi1Yqb.js +0 -1
- package/dist/assets/pieDiagram-IB7DONF6-DPg1sNm8.js +0 -30
- package/dist/assets/quadrantDiagram-7GDLP6J5-DmtJM50d.js +0 -7
- package/dist/assets/radar-MK3ICKWK-DnO5LA4B.js +0 -128
- package/dist/assets/receive-chat-message-B2jsY1P6.js +0 -4
- package/dist/assets/receive-chat-message-BeaC4eqS.js +0 -5
- package/dist/assets/receive-notifications-BouRLPFj.js +0 -4
- package/dist/assets/receive-notifications-DYnXRRBz.js +0 -5
- package/dist/assets/receive-presence-update-CRgeSUpk.js +0 -5
- package/dist/assets/receive-presence-update-UEm47KAG.js +0 -4
- package/dist/assets/requirementDiagram-KVF5MWMF-iNwUJLq2.js +0 -64
- package/dist/assets/sankeyDiagram-QLVOVGJD-DWLyAD59.js +0 -10
- package/dist/assets/send-chat-message-Bvf2XJiv.js +0 -5
- package/dist/assets/send-chat-message-FDmVETeD.js +0 -4
- package/dist/assets/send-presence-update-26clGQ0z.js +0 -5
- package/dist/assets/send-presence-update-DeywSKYu.js +0 -4
- package/dist/assets/sequenceDiagram-X6HHIX6F-HyRN2_g-.js +0 -122
- package/dist/assets/stateDiagram-DGXRK772-DdMr0V93.js +0 -1
- package/dist/assets/stateDiagram-v2-YXO3MK2T-D6kpXRiR.js +0 -1
- package/dist/assets/timeline-definition-BDJGKUSR-CDf8nWgC.js +0 -61
- package/dist/assets/update-BEeNDeXY.js +0 -4
- package/dist/assets/update-CykJMYvN.js +0 -5
- package/dist/assets/websocket-playground-demo-4pj7mj19.js +0 -135
- package/dist/assets/websocket-playground-demo-F71LN60e.js +0 -61
- package/dist/assets/xychartDiagram-VJFVF3MP-BY_uTq9r.js +0 -7
- package/docs/assets/dory.jpeg +0 -0
- package/src/components/dark-mode-toggle.tsx +0 -25
- package/src/index.css +0 -24
- package/src/utils/hooks.ts +0 -46
package/src/ui/header.tsx
CHANGED
|
@@ -3,10 +3,13 @@ import { useEffect, useMemo, useState } from 'preact/hooks';
|
|
|
3
3
|
import { Link } from 'wouter-preact';
|
|
4
4
|
import { usePathname } from 'wouter-preact/use-browser-location';
|
|
5
5
|
import docsConfig from '../../docs/dory.json';
|
|
6
|
-
import {
|
|
6
|
+
import type { DoryConfig } from '../types/config';
|
|
7
7
|
import { MobileSearch, Search } from '../components/search';
|
|
8
8
|
import { ALL_NAVIGATION } from '../components/store';
|
|
9
9
|
import { MobileNavigation } from './mobile-navigation';
|
|
10
|
+
import { ModeToggle } from '@clidey/ux';
|
|
11
|
+
|
|
12
|
+
const config = docsConfig as DoryConfig;
|
|
10
13
|
|
|
11
14
|
function TopLevelNavItem({ href, children, isActive }: { href: string; children: string; isActive?: boolean }) {
|
|
12
15
|
return (
|
|
@@ -14,10 +17,10 @@ function TopLevelNavItem({ href, children, isActive }: { href: string; children:
|
|
|
14
17
|
<Link
|
|
15
18
|
to={href}
|
|
16
19
|
className={classNames(
|
|
17
|
-
"text-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
"text-xs transition hover:opacity-80",
|
|
21
|
+
{
|
|
22
|
+
"text-brand-foreground": isActive,
|
|
23
|
+
},
|
|
21
24
|
)}
|
|
22
25
|
>
|
|
23
26
|
{children}
|
|
@@ -31,7 +34,7 @@ export function Header({ className }: { className?: string }) {
|
|
|
31
34
|
const pathname = usePathname();
|
|
32
35
|
|
|
33
36
|
const { light, dark } = useMemo(() => {
|
|
34
|
-
return { light:
|
|
37
|
+
return { light: config.logo.light, dark: config.logo.dark };
|
|
35
38
|
}, []);
|
|
36
39
|
|
|
37
40
|
useEffect(() => {
|
|
@@ -60,7 +63,7 @@ export function Header({ className }: { className?: string }) {
|
|
|
60
63
|
<div className="flex items-center grow gap-2">
|
|
61
64
|
<img src={`/${light}`} alt="logo" className="w-8 hidden dark:block" />
|
|
62
65
|
<img src={`/${dark}`} alt="logo" className="w-8 block dark:hidden" />
|
|
63
|
-
<h1 className="text-base lg:text-2xl font-bold">{
|
|
66
|
+
<h1 className="text-base lg:text-2xl font-bold">{config.name}</h1>
|
|
64
67
|
</div>
|
|
65
68
|
<nav className="hidden md:block">
|
|
66
69
|
<ul role="list" className="flex items-center gap-8">
|
|
@@ -76,10 +79,10 @@ export function Header({ className }: { className?: string }) {
|
|
|
76
79
|
</ul>
|
|
77
80
|
</nav>
|
|
78
81
|
<div className="hidden md:block md:h-5 md:w-px md:bg-zinc-900/10 md:dark:bg-white/15" />
|
|
79
|
-
<div className="flex items-center gap-3">
|
|
82
|
+
<div className="flex items-center gap-3" data-testid="header-actions">
|
|
80
83
|
<MobileSearch />
|
|
81
84
|
<Search />
|
|
82
|
-
<
|
|
85
|
+
<ModeToggle data-testid="mode-toggle" />
|
|
83
86
|
<MobileNavigation />
|
|
84
87
|
</div>
|
|
85
88
|
</div>
|
package/src/ui/layout.tsx
CHANGED
|
@@ -11,6 +11,7 @@ import { TableOfContents } from './table-of-content';
|
|
|
11
11
|
import { Loading } from '../components/loading';
|
|
12
12
|
import Dropdown from '../components/dropdown';
|
|
13
13
|
import { useNotification } from '../components/notification';
|
|
14
|
+
import { SparkleIcon } from 'lucide-react';
|
|
14
15
|
|
|
15
16
|
interface LayoutProps {
|
|
16
17
|
children: ComponentChildren;
|
|
@@ -144,16 +145,16 @@ export default function Layout({ children }: LayoutProps) {
|
|
|
144
145
|
return (
|
|
145
146
|
<div className="flex w-full flex-col">
|
|
146
147
|
<Header />
|
|
147
|
-
<div id="container" className="relative
|
|
148
|
+
<div id="container" className="relative flex w-full max-w-8xl sm:px-2 lg:px-8">
|
|
148
149
|
<div className="hidden lg:relative lg:block lg:flex-none">
|
|
149
150
|
<div className="sticky top-[4.75rem] -ml-0.5 h-[calc(100vh-4.75rem)] w-64 overflow-x-hidden overflow-y-auto py-16 pr-8 pl-0.5 xl:w-72 xl:pr-16">
|
|
150
151
|
<Navigation />
|
|
151
152
|
</div>
|
|
152
153
|
</div>
|
|
153
154
|
<main className="flex px-4 py-16 sm:px-6 lg:px-8 grow">
|
|
154
|
-
<div className="
|
|
155
|
+
<div className="min-w-0 w-full">
|
|
155
156
|
<article className="h-full flex flex-1 flex-col">
|
|
156
|
-
<div className="flex justify-between items-
|
|
157
|
+
<div className="flex justify-between items-start">
|
|
157
158
|
<header className="mb-8">
|
|
158
159
|
{title && (
|
|
159
160
|
<h1 className="font-display text-lg tracking-tight">
|
|
@@ -168,7 +169,7 @@ export default function Layout({ children }: LayoutProps) {
|
|
|
168
169
|
</header>
|
|
169
170
|
{
|
|
170
171
|
openAPIJSON == null && asyncAPIJSON == null &&
|
|
171
|
-
<Dropdown className=
|
|
172
|
+
<Dropdown className="gap-0" buttonLabel={<SparkleIcon className="w-4 h-4" />} items={dropdownItems} />
|
|
172
173
|
}
|
|
173
174
|
</div>
|
|
174
175
|
<div className="flex-1 min-h-[calc(100vh-2rem)]">
|
|
@@ -1,91 +1,64 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
DialogBackdrop,
|
|
6
|
-
DialogPanel,
|
|
7
|
-
TransitionChild,
|
|
8
|
-
} from '@headlessui/react'
|
|
9
|
-
import { motion } from 'motion/react'
|
|
10
|
-
import { createContext, Suspense, useContext, useState } from 'react'
|
|
3
|
+
import { Sheet, SheetContent, Button } from '@clidey/ux'
|
|
4
|
+
import { createContext, Suspense, useCallback, useContext, useRef, useState } from 'react'
|
|
11
5
|
|
|
12
6
|
import { Bars3Icon, XMarkIcon } from '@heroicons/react/24/outline'
|
|
13
7
|
import { Navigation } from '../components/navigation'
|
|
14
8
|
|
|
15
9
|
const IsInsideMobileNavigationContext = createContext(false)
|
|
16
10
|
|
|
17
|
-
function MobileNavigationDialog({
|
|
18
|
-
isOpen,
|
|
19
|
-
close,
|
|
20
|
-
}: {
|
|
21
|
-
isOpen: boolean
|
|
22
|
-
close: () => void
|
|
23
|
-
}) {
|
|
24
|
-
return (
|
|
25
|
-
<Dialog
|
|
26
|
-
transition
|
|
27
|
-
open={isOpen}
|
|
28
|
-
onClose={close}
|
|
29
|
-
className="fixed inset-0 z-50 lg:hidden"
|
|
30
|
-
>
|
|
31
|
-
<DialogBackdrop
|
|
32
|
-
transition
|
|
33
|
-
className="fixed inset-0 top-0 pt-8 bg-zinc-400/20 backdrop-blur-xs data-closed:opacity-0 data-enter:duration-300 data-enter:ease-out data-leave:duration-200 data-leave:ease-in dark:bg-black/40"
|
|
34
|
-
/>
|
|
35
|
-
|
|
36
|
-
<DialogPanel>
|
|
37
|
-
<TransitionChild>
|
|
38
|
-
<motion.div
|
|
39
|
-
layoutScroll
|
|
40
|
-
className="fixed top-0 bottom-0 left-0 w-full overflow-y-auto bg-white px-4 pt-8 pb-4 shadow-lg ring-1 shadow-zinc-900/10 ring-zinc-900/7.5 duration-500 ease-in-out data-closed:-translate-x-full min-[416px]:max-w-sm sm:px-6 sm:pb-10 dark:bg-zinc-900 dark:ring-zinc-800 flex flex-col justify-between"
|
|
41
|
-
>
|
|
42
|
-
<Navigation />
|
|
43
|
-
<div class="flex flex-col justify-end items-end mb-4 mr-2" onClick={close}>
|
|
44
|
-
<XMarkIcon className="w-8 stroke-zinc-900 dark:stroke-white" />
|
|
45
|
-
</div>
|
|
46
|
-
</motion.div>
|
|
47
|
-
</TransitionChild>
|
|
48
|
-
</DialogPanel>
|
|
49
|
-
</Dialog>
|
|
50
|
-
)
|
|
51
|
-
}
|
|
52
|
-
|
|
53
11
|
export function useIsInsideMobileNavigation() {
|
|
54
12
|
return useContext(IsInsideMobileNavigationContext)
|
|
55
13
|
}
|
|
56
14
|
|
|
57
15
|
export function useMobileNavigation() {
|
|
58
16
|
const [isOpen, setIsOpen] = useState(false)
|
|
59
|
-
|
|
17
|
+
const isOpenRef = useRef(isOpen)
|
|
18
|
+
isOpenRef.current = isOpen
|
|
19
|
+
|
|
20
|
+
const open = useCallback(() => setIsOpen(true), [])
|
|
21
|
+
const close = useCallback(() => setIsOpen(false), [])
|
|
22
|
+
const toggle = useCallback(() => setIsOpen(prev => !prev), [])
|
|
23
|
+
|
|
60
24
|
return {
|
|
61
25
|
isOpen,
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
26
|
+
isOpenRef,
|
|
27
|
+
open,
|
|
28
|
+
close,
|
|
29
|
+
toggle,
|
|
65
30
|
}
|
|
66
31
|
}
|
|
67
32
|
|
|
68
33
|
export function MobileNavigation() {
|
|
69
34
|
const isInsideMobileNavigation = useIsInsideMobileNavigation()
|
|
70
|
-
const { isOpen,
|
|
35
|
+
const { isOpen, open, close } = useMobileNavigation()
|
|
71
36
|
const ToggleIcon = isOpen ? XMarkIcon : Bars3Icon;
|
|
72
37
|
|
|
73
38
|
return (
|
|
74
39
|
<IsInsideMobileNavigationContext.Provider value={true}>
|
|
75
|
-
<
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
40
|
+
<Sheet open={isOpen} onOpenChange={(status) => {
|
|
41
|
+
if (!status) {
|
|
42
|
+
close();
|
|
43
|
+
}
|
|
44
|
+
}}>
|
|
45
|
+
<Button
|
|
46
|
+
variant="outline"
|
|
47
|
+
size="icon"
|
|
48
|
+
className="relative flex size-6 lg:hidden p-4"
|
|
49
|
+
aria-label="Toggle navigation"
|
|
50
|
+
onClick={open}
|
|
51
|
+
>
|
|
52
|
+
<ToggleIcon className="w-8 stroke-zinc-900 dark:stroke-white" />
|
|
53
|
+
</Button>
|
|
54
|
+
{!isInsideMobileNavigation && (
|
|
55
|
+
<Suspense fallback={null}>
|
|
56
|
+
<SheetContent side="left" className="w-full sm:max-w-sm p-8 overflow-y-auto flex flex-col justify-between">
|
|
57
|
+
<Navigation />
|
|
58
|
+
</SheetContent>
|
|
59
|
+
</Suspense>
|
|
60
|
+
)}
|
|
61
|
+
</Sheet>
|
|
89
62
|
</IsInsideMobileNavigationContext.Provider>
|
|
90
63
|
)
|
|
91
64
|
}
|
|
@@ -114,7 +114,7 @@ export function TableOfContents() {
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
return (
|
|
117
|
-
<div className="hidden xl:sticky xl:top-[4.75rem] xl:-mr-6 xl:block xl:h-[calc(100vh-4.75rem)] xl:flex-none xl:overflow-y-auto xl:py-16 xl:pr-6">
|
|
117
|
+
<div className="hidden xl:sticky xl:top-[4.75rem] xl:-mr-6 xl:block xl:h-[calc(100vh-4.75rem)] xl:flex-none xl:overflow-y-auto xl:py-16 xl:pr-6 pl-4">
|
|
118
118
|
<nav aria-labelledby="on-this-page-title" className="w-56">
|
|
119
119
|
{sections.length > 0 && (
|
|
120
120
|
<>
|
|
@@ -131,7 +131,7 @@ export function TableOfContents() {
|
|
|
131
131
|
<a
|
|
132
132
|
href={`#${section.id}`}
|
|
133
133
|
className={classNames({
|
|
134
|
-
"text-
|
|
134
|
+
"text-brand-foreground": isActive(section),
|
|
135
135
|
"font-normal text-slate-500 hover:text-slate-700 dark:text-slate-400 dark:hover:text-slate-300": !isActive(section),
|
|
136
136
|
})}>
|
|
137
137
|
{section.title}
|
|
@@ -145,7 +145,7 @@ export function TableOfContents() {
|
|
|
145
145
|
href={`#${subSection.id}`}
|
|
146
146
|
className={
|
|
147
147
|
isActive(subSection)
|
|
148
|
-
? 'text-
|
|
148
|
+
? 'text-brand-foreground'
|
|
149
149
|
: 'hover:text-slate-600 dark:hover:text-slate-300'
|
|
150
150
|
}
|
|
151
151
|
>
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import docsConfig from '../../docs/dory.json';
|
|
2
|
+
import type { DoryConfig } from '../types/config';
|
|
3
|
+
|
|
4
|
+
const config = docsConfig as DoryConfig;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Converts hex color to RGB values for CSS variable usage
|
|
8
|
+
*/
|
|
9
|
+
function hexToRgb(hex: string): string {
|
|
10
|
+
// Remove # if present
|
|
11
|
+
const cleanHex = hex.replace('#', '');
|
|
12
|
+
|
|
13
|
+
// Parse hex values
|
|
14
|
+
const r = parseInt(cleanHex.substring(0, 2), 16);
|
|
15
|
+
const g = parseInt(cleanHex.substring(2, 4), 16);
|
|
16
|
+
const b = parseInt(cleanHex.substring(4, 6), 16);
|
|
17
|
+
|
|
18
|
+
return `${r} ${g} ${b}`;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Load and apply brand colors from dory.json configuration
|
|
23
|
+
* Sets CSS variables for use throughout the application
|
|
24
|
+
*/
|
|
25
|
+
export function loadColors() {
|
|
26
|
+
const { colors } = config;
|
|
27
|
+
if (!colors) return;
|
|
28
|
+
|
|
29
|
+
// Set CSS variables on the root element for both light and dark modes
|
|
30
|
+
const root = document.documentElement;
|
|
31
|
+
|
|
32
|
+
// Set primary color (used in both light and dark mode)
|
|
33
|
+
if (colors.primary) {
|
|
34
|
+
root.style.setProperty('--brand-primary', colors.primary);
|
|
35
|
+
root.style.setProperty('--brand-primary-rgb', hexToRgb(colors.primary));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Set light mode brand color
|
|
39
|
+
if (colors.light) {
|
|
40
|
+
root.style.setProperty('--brand-light', colors.light);
|
|
41
|
+
root.style.setProperty('--brand-light-rgb', hexToRgb(colors.light));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Set dark mode brand color
|
|
45
|
+
if (colors.dark) {
|
|
46
|
+
root.style.setProperty('--brand-dark', colors.dark);
|
|
47
|
+
root.style.setProperty('--brand-dark-rgb', hexToRgb(colors.dark));
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// Set the legacy variable for backward compatibility
|
|
51
|
+
if (colors.primary) {
|
|
52
|
+
root.style.setProperty('--brand-foreground', colors.primary);
|
|
53
|
+
}
|
|
54
|
+
}
|
package/src/utils/fonts.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import docsConfig from '../../docs/dory.json';
|
|
2
|
+
import type { DoryConfig } from '../types/config';
|
|
3
|
+
|
|
4
|
+
const config = docsConfig as DoryConfig;
|
|
2
5
|
|
|
3
6
|
export function loadFonts() {
|
|
4
|
-
const { fonts } =
|
|
7
|
+
const { fonts } = config;
|
|
5
8
|
if (!fonts) return;
|
|
6
9
|
|
|
7
10
|
// Create a style element for the font face
|
package/tsconfig.app.json
CHANGED
package/tsconfig.bin.json
CHANGED
|
@@ -4,17 +4,21 @@
|
|
|
4
4
|
"lib": ["ES2023"],
|
|
5
5
|
"module": "ESNext",
|
|
6
6
|
"moduleResolution": "node",
|
|
7
|
-
"allowImportingTsExtensions": true,
|
|
8
7
|
"skipLibCheck": true,
|
|
9
|
-
"strict":
|
|
8
|
+
"strict": true,
|
|
10
9
|
"esModuleInterop": true,
|
|
11
10
|
"allowSyntheticDefaultImports": true,
|
|
12
|
-
"noEmit":
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
11
|
+
"noEmit": false,
|
|
12
|
+
"outDir": "./bin/dist",
|
|
13
|
+
"rootDir": "./bin",
|
|
14
|
+
"declaration": true,
|
|
15
|
+
"declarationMap": true,
|
|
16
|
+
"sourceMap": true
|
|
16
17
|
},
|
|
17
18
|
"include": [
|
|
18
|
-
"bin
|
|
19
|
+
"bin/**/*.ts"
|
|
20
|
+
],
|
|
21
|
+
"exclude": [
|
|
22
|
+
"bin/dist"
|
|
19
23
|
]
|
|
20
24
|
}
|
package/tsconfig.node.json
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
"lib": ["ES2023"],
|
|
6
6
|
"module": "ESNext",
|
|
7
7
|
"skipLibCheck": true,
|
|
8
|
+
"types": ["node"],
|
|
8
9
|
|
|
9
10
|
/* Bundler mode */
|
|
10
11
|
"moduleResolution": "bundler",
|
|
@@ -21,5 +22,5 @@
|
|
|
21
22
|
"noFallthroughCasesInSwitch": true,
|
|
22
23
|
"noUncheckedSideEffectImports": true
|
|
23
24
|
},
|
|
24
|
-
"include": ["vite.config.ts"]
|
|
25
|
+
"include": ["vite.config.ts", "src/plugins/**/*.ts", "bin/**/*.ts"]
|
|
25
26
|
}
|
package/vite.config.ts
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as v,c as O,g as m,k as b,h as P,j as p,l as w,m as N,n as x,t as c,o as A}from"./_baseUniq-COwFna6s.js";import{aJ as g,aq as M,aK as E,aL as F,aM as _,aN as I,aO as $,aP as y,aQ as B,aR as T}from"./mermaid.core-DUFqLK_I.js";var L=/\s/;function R(n){for(var r=n.length;r--&&L.test(n.charAt(r)););return r}var S=/^\s+/;function q(n){return n&&n.slice(0,R(n)+1).replace(S,"")}var o=NaN,G=/^[-+]0x[0-9a-f]+$/i,H=/^0b[01]+$/i,K=/^0o[0-7]+$/i,z=parseInt;function C(n){if(typeof n=="number")return n;if(v(n))return o;if(g(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=g(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=q(n);var t=H.test(n);return t||K.test(n)?z(n.slice(2),t?2:8):G.test(n)?o:+n}var J=1/0,Q=17976931348623157e292;function W(n){if(!n)return n===0?n:0;if(n=C(n),n===J||n===-1/0){var r=n<0?-1:1;return r*Q}return n===n?n:0}function X(n){var r=W(n),t=r%1;return r===r?t?r-t:r:0}function fn(n){var r=n==null?0:n.length;return r?O(n):[]}var l=Object.prototype,Y=l.hasOwnProperty,dn=M(function(n,r){n=Object(n);var t=-1,e=r.length,a=e>2?r[2]:void 0;for(a&&E(r[0],r[1],a)&&(e=1);++t<e;)for(var f=r[t],i=F(f),s=-1,d=i.length;++s<d;){var u=i[s],h=n[u];(h===void 0||_(h,l[u])&&!Y.call(n,u))&&(n[u]=f[u])}return n});function un(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}function D(n){return function(r,t,e){var a=Object(r);if(!I(r)){var f=m(t);r=b(r),t=function(s){return f(a[s],s,a)}}var i=n(r,t,e);return i>-1?a[f?r[i]:i]:void 0}}var U=Math.max;function Z(n,r,t){var e=n==null?0:n.length;if(!e)return-1;var a=t==null?0:X(t);return a<0&&(a=U(e+a,0)),P(n,m(r),a)}var hn=D(Z);function V(n,r){var t=-1,e=I(n)?Array(n.length):[];return p(n,function(a,f,i){e[++t]=r(a,f,i)}),e}function gn(n,r){var t=$(n)?w:V;return t(n,m(r))}var j=Object.prototype,k=j.hasOwnProperty;function nn(n,r){return n!=null&&k.call(n,r)}function mn(n,r){return n!=null&&N(n,r,nn)}function rn(n,r){return n<r}function tn(n,r,t){for(var e=-1,a=n.length;++e<a;){var f=n[e],i=r(f);if(i!=null&&(s===void 0?i===i&&!v(i):t(i,s)))var s=i,d=f}return d}function on(n){return n&&n.length?tn(n,y,rn):void 0}function an(n,r,t,e){if(!g(n))return n;r=x(r,n);for(var a=-1,f=r.length,i=f-1,s=n;s!=null&&++a<f;){var d=c(r[a]),u=t;if(d==="__proto__"||d==="constructor"||d==="prototype")return n;if(a!=i){var h=s[d];u=void 0,u===void 0&&(u=g(h)?h:B(r[a+1])?[]:{})}T(s,d,u),s=s[d]}return n}function vn(n,r,t){for(var e=-1,a=r.length,f={};++e<a;){var i=r[e],s=A(n,i);t(s,i)&&an(f,x(i,n),s)}return f}export{rn as a,tn as b,V as c,vn as d,on as e,fn as f,hn as g,mn as h,dn as i,X as j,un as l,gn as m,W as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b9 as S,ba as Rn,aO as T,bb as w,bc as xn,bd as Mn,aN as sn,be as mn,bf as un,bg as x,aL as N,bh as Cn,bi as on,bj as Fn,bk as E,b7 as gn,bl as R,aJ as ln,bm as Dn,bn as D,bo as Gn,bp as Nn,bq as _,aR as Un,br as Bn,aM as Kn,bs as J,bt as jn,bu as Hn,aQ as qn,aP as cn,b5 as Yn,bv as m}from"./mermaid.core-DUFqLK_I.js";var Zn="[object Symbol]";function U(n){return typeof n=="symbol"||S(n)&&Rn(n)==Zn}function bn(n,r){for(var e=-1,t=n==null?0:n.length,f=Array(t);++e<t;)f[e]=r(n[e],e,n);return f}var Q=w?w.prototype:void 0,X=Q?Q.toString:void 0;function dn(n){if(typeof n=="string")return n;if(T(n))return bn(n,dn)+"";if(U(n))return X?X.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Jn(){}function pn(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Qn(n,r,e,t){for(var f=n.length,i=e+-1;++i<f;)if(r(n[i],i,n))return i;return-1}function Xn(n){return n!==n}function Wn(n,r,e){for(var t=e-1,f=n.length;++t<f;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Wn(n,r,e):Qn(n,Xn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function $(n){return sn(n)?xn(n):Mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function B(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||U(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=mn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,fr=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,f,i){r.push(f?i.replace(ir,"$1"):t||e)}),r});function ar(n){return n==null?"":dn(n)}function An(n,r){return T(n)?n:B(n,r)?[n]:fr(ar(n))}function M(n){if(typeof n=="string"||U(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(n,r){r=An(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:yn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,f=n.length;++e<t;)n[f+e]=r[e];return n}var W=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(W&&n&&n[W])}function Ot(n,r,e,t,f){var i=-1,a=n.length;for(e||(e=ur),f||(f=[]);++i<a;){var s=n[i];e(s)?K(f,s):t||(f[f.length]=s)}return f}function or(n,r,e,t){var f=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++f]);++f<i;)e=r(e,n[f],f,n);return e}function gr(n,r){return n&&x(r,$(r),n)}function lr(n,r){return n&&x(r,N(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,f=0,i=[];++e<t;){var a=n[e];r(a,e,n)&&(i[f++]=a)}return i}function hn(){return[]}var cr=Object.prototype,br=cr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,j=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return br.call(n,r)}))}:hn;function dr(n,r){return x(n,j(n),r)}var pr=Object.getOwnPropertySymbols,wn=pr?function(n){for(var r=[];n;)K(r,j(n)),n=Cn(n);return r}:hn;function Ar(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,$,j)}function yr(n){return On(n,N,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var $r=/\w*$/;function _r(n){var r=new n.constructor(n.source,$r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Pr="[object Date]",Ir="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",Mr="[object Symbol]",mr="[object ArrayBuffer]",Cr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Nr="[object Int16Array]",Ur="[object Int32Array]",Br="[object Uint8Array]",Kr="[object Uint8ClampedArray]",jr="[object Uint16Array]",Hr="[object Uint32Array]";function qr(n,r,e){var t=n.constructor;switch(r){case mr:return on(n);case Er:case Pr:return new t(+n);case Cr:return Or(n,e);case Fr:case Dr:case Gr:case Nr:case Ur:case Br:case Kr:case jr:case Hr:return Fn(n,e);case Ir:return new t;case vr:case xr:return new t(n);case Lr:return _r(n);case Rr:return new t;case Mr:return Sr(n)}}var Yr="[object Map]";function Zr(n){return S(n)&&E(n)==Yr}var nn=R&&R.isMap,Jr=nn?gn(nn):Zr,Qr="[object Set]";function Xr(n){return S(n)&&E(n)==Qr}var rn=R&&R.isSet,Wr=rn?gn(rn):Xr,zr=1,Vr=2,kr=4,$n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",_n="[object Function]",ie="[object GeneratorFunction]",fe="[object Map]",ae="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",ce="[object ArrayBuffer]",be="[object DataView]",de="[object Float32Array]",pe="[object Float64Array]",Ae="[object Int8Array]",ye="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",$e="[object Uint32Array]",g={};g[$n]=g[ne]=g[ce]=g[be]=g[re]=g[ee]=g[de]=g[pe]=g[Ae]=g[ye]=g[Te]=g[fe]=g[ae]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[$e]=!0;g[te]=g[_n]=g[le]=!1;function C(n,r,e,t,f,i){var a,s=r&zr,u=r&Vr,b=r&kr;if(a!==void 0)return a;if(!ln(n))return n;var l=T(n);if(l){if(a=wr(n),!s)return Dn(n,a)}else{var o=E(n),c=o==_n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==$n||c&&!f){if(a=u||c?{}:Nn(n),!s)return u?Ar(n,lr(a,n)):dr(n,gr(a,n))}else{if(!g[o])return f?n:{};a=qr(n,o,s)}}i||(i=new _);var h=i.get(n);if(h)return h;i.set(n,a),Wr(n)?n.forEach(function(d){a.add(C(d,r,e,d,n,i))}):Jr(n)&&n.forEach(function(d,p){a.set(p,C(d,r,e,p,n,i))});var A=b?u?yr:G:u?N:$,y=l?void 0:A(n);return pn(y||n,function(d,p){y&&(p=d,d=n[p]),Un(a,p,C(d,r,e,p,n,i))}),a}var _e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,_e),this}function Ee(n){return this.__data__.has(n)}function P(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Bn;++r<e;)this.add(n[r])}P.prototype.add=P.prototype.push=Se;P.prototype.has=Ee;function Pe(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Ie=1,ve=2;function Pn(n,r,e,t,f,i){var a=e&Ie,s=n.length,u=r.length;if(s!=u&&!(a&&u>s))return!1;var b=i.get(n),l=i.get(r);if(b&&l)return b==r&&l==n;var o=-1,c=!0,h=e&ve?new P:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var A=n[o],y=r[o];if(t)var d=a?t(y,A,o,r,n,i):t(A,y,o,n,r,i);if(d!==void 0){if(d)continue;c=!1;break}if(h){if(!Pe(r,function(p,O){if(!En(h,O)&&(A===p||f(A,p,e,t,i)))return h.push(O)})){c=!1;break}}else if(!(A===y||f(A,y,e,t,i))){c=!1;break}}return i.delete(n),i.delete(r),c}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,f){e[++r]=[f,t]}),e}function H(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,Me="[object Boolean]",me="[object Date]",Ce="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ne="[object Set]",Ue="[object String]",Be="[object Symbol]",Ke="[object ArrayBuffer]",je="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function He(n,r,e,t,f,i,a){switch(e){case je:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new J(n),new J(r)));case Me:case me:case De:return Kn(+n,+r);case Ce:return n.name==r.name&&n.message==r.message;case Ge:case Ue:return n==r+"";case Fe:var s=Le;case Ne:var u=tℜif(s||(s=H),n.size!=r.size&&!u)return!1;var b=a.get(n);if(b)return b==r;t|=xe,a.set(n,r);var l=Pn(s(n),s(r),t,f,i,a);return a.delete(n),l;case Be:if(F)return F.call(n)==F.call(r)}return!1}var qe=1,Ye=Object.prototype,Ze=Ye.hasOwnProperty;function Je(n,r,e,t,f,i){var a=e&qe,s=G(n),u=s.length,b=G(r),l=b.length;if(u!=l&&!a)return!1;for(var o=u;o--;){var c=s[o];if(!(a?c in r:Ze.call(r,c)))return!1}var h=i.get(n),A=i.get(r);if(h&&A)return h==r&&A==n;var y=!0;i.set(n,r),i.set(r,n);for(var d=a;++o<u;){c=s[o];var p=n[c],O=r[c];if(t)var Z=a?t(O,p,c,r,n,i):t(p,O,c,n,r,i);if(!(Z===void 0?p===O||f(p,O,e,t,i):Z)){y=!1;break}d||(d=c=="constructor")}if(y&&!d){var I=n.constructor,v=r.constructor;I!=v&&"constructor"in n&&"constructor"in r&&!(typeof I=="function"&&I instanceof I&&typeof v=="function"&&v instanceof v)&&(y=!1)}return i.delete(n),i.delete(r),y}var Qe=1,tn="[object Arguments]",fn="[object Array]",L="[object Object]",Xe=Object.prototype,an=Xe.hasOwnProperty;function We(n,r,e,t,f,i){var a=T(n),s=T(r),u=a?fn:E(n),b=s?fn:E(r);u=u==tn?L:u,b=b==tn?L:b;var l=u==L,o=b==L,c=u==b;if(c&&D(n)){if(!D(r))return!1;a=!0,l=!1}if(c&&!l)return i||(i=new _),a||jn(n)?Pn(n,r,e,t,f,i):He(n,r,u,e,t,f,i);if(!(e&Qe)){var h=l&&an.call(n,"__wrapped__"),A=o&&an.call(r,"__wrapped__");if(h||A){var y=h?n.value():n,d=A?r.value():r;return i||(i=new _),f(y,d,e,t,i)}}return c?(i||(i=new _),Je(n,r,e,t,f,i)):!1}function q(n,r,e,t,f){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:We(n,r,e,t,q,f)}var ze=1,Ve=2;function ke(n,r,e,t){var f=e.length,i=f;if(n==null)return!i;for(n=Object(n);f--;){var a=e[f];if(a[2]?a[1]!==n[a[0]]:!(a[0]in n))return!1}for(;++f<i;){a=e[f];var s=a[0],u=n[s],b=a[1];if(a[2]){if(u===void 0&&!(s in n))return!1}else{var l=new _,o;if(!(o===void 0?q(b,u,ze|Ve,t,l):o))return!1}}return!0}function In(n){return n===n&&!ln(n)}function nt(n){for(var r=$(n),e=r.length;e--;){var t=r[e],f=n[t];r[e]=[t,f,In(f)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=An(r,n);for(var t=-1,f=r.length,i=!1;++t<f;){var a=M(r[t]);if(!(i=n!=null&&e(n,a)))break;n=n[a]}return i||++t!=f?i:(f=n==null?0:n.length,!!f&&Hn(f)&&qn(a,f)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var ft=1,at=2;function st(n,r){return B(n)&&In(r)?vn(M(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):q(r,t,ft|at)}}function ut(n){return function(r){return r==null?void 0:r[n]}}function ot(n){return function(r){return yn(r,n)}}function gt(n){return B(n)?ut(M(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&Yn(n,r,$)}function ct(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var f=e.length,i=-1,a=Object(e);++i<f&&t(a[i],i,a)!==!1;);return e}}var Y=ct(lt);function bt(n){return typeof n=="function"?n:cn}function $t(n,r){var e=T(n)?pn:Y;return e(n,bt(r))}function dt(n,r){var e=[];return Y(n,function(t,f,i){r(t,f,i)&&e.push(t)}),e}function _t(n,r){var e=T(n)?Tn:dt;return e(n,Ln(r))}function pt(n,r){return bn(r,function(e){return n[e]})}function St(n){return n==null?[]:pt(n,$(n))}function Et(n){return n===void 0}function At(n,r,e,t,f){return f(n,function(i,a,s){e=t?(t=!1,i):r(e,i,a,s)}),e}function Pt(n,r,e){var t=T(n)?or:At,f=arguments.length<3;return t(n,Ln(r),e,f,Y)}var yt=1/0,Tt=m&&1/H(new m([,-0]))[1]==yt?function(n){return new m(n)}:Jn,ht=200;function It(n,r,e){var t=-1,f=Vn,i=n.length,a=!0,s=[],u=s;if(i>=ht){var b=r?null:Tt(n);if(b)return H(b);a=!1,f=En,u=new P}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,a&&o===o){for(var c=u.length;c--;)if(u[c]===o)continue n;r&&u.push(o),s.push(l)}else f(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,dt as B,Pe as C,Jn as D,P as S,It as a,C as b,Ot as c,$t as d,U as e,_t as f,Ln as g,Qn as h,Et as i,Y as j,$ as k,bn as l,tt as m,An as n,yn as o,bt as p,lt as q,Pt as r,it as s,M as t,ar as u,St as v,Vn as w,En as x,zn as y,yr as z};
|