@publish.os/nextjs 0.0.1-alpha.8 → 0.0.1-alpha.90
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/compiler-assets/nextjs/defaults/app/globals.css +1 -0
- package/compiler-assets/nextjs/defaults/group/index.tsx +50 -0
- package/compiler-assets/nextjs/defaults/group/layout.tsx +7 -3
- package/compiler-assets/nextjs/defaults/group/page.tsx +35 -43
- package/compiler-assets/nextjs/defaults/project/next.config.mjs +22 -11
- package/compiler-assets/nextjs/defaults/project/tsconfig.json.template +1 -4
- package/compiler-assets/nextjs/defaults/root/css/animation.css +131 -0
- package/compiler-assets/nextjs/defaults/root/css/components/dialog.css +4 -1
- package/compiler-assets/nextjs/defaults/root/css/components/menu.css +1 -1
- package/compiler-assets/nextjs/defaults/root/css/components/navigation-menu.css +1 -1
- package/compiler-assets/nextjs/defaults/root/css/components/popover.css +1 -1
- package/compiler-assets/nextjs/defaults/root/css/components/select.css +1 -1
- package/compiler-assets/nextjs/defaults/root/css/components/tooltip.css +1 -1
- package/compiler-assets/nextjs/defaults/root/css/shadow.css +6 -25
- package/compiler-assets/nextjs/defaults/root/css/typography.css +51 -68
- package/compiler-assets/nextjs/defaults/root/globals.css +25 -0
- package/compiler-assets/nextjs/defaults/root/{page.tsx → index.tsx} +6 -2
- package/compiler-assets/nextjs/defaults/root/layout.tsx +7 -1
- package/compiler-assets/nextjs/defaults/root/theme.css +22 -22
- package/compiler-assets/nextjs/shims/generated-group-page.tsx +19 -2
- package/compiler-assets/nextjs/shims/generated-leaf-page.tsx +16 -2
- package/compiler-assets/nextjs/shims/global-layout.tsx +11 -43
- package/compiler-assets/nextjs/shims/proxy.ts +21 -9
- package/compiler-assets/nextjs/shims/publish-os-theme-provider.tsx +76 -15
- package/compiler-assets/nextjs/shims/root-page.tsx +7 -1
- package/compiler-assets/nextjs/shims/site-fenced-code-block.tsx +34 -0
- package/compiler-assets/nextjs/shims/site-heading-level.tsx +14 -0
- package/compiler-assets/nextjs/shims/site-mdx-components.tsx +100 -0
- package/compiler-assets/nextjs/shims/site-mdx.tsx +12 -0
- package/compiler-assets/nextjs/shims/theme-defaults.css +41 -25
- package/dist/build-operation-2JAYBSKF.js +83 -0
- package/dist/button-CtzUJB8u.d.ts +11 -0
- package/dist/{button-CFdx-ohV.d.ts → button-c3WGnxIj.d.ts} +3 -3
- package/dist/chunk-535TM4A5.js +1455 -0
- package/dist/chunk-726GV2NF.js +2344 -0
- package/dist/chunk-7OGTPSKI.js +156 -0
- package/dist/chunk-AI2UULNX.js +9 -0
- package/dist/chunk-B2V22WRT.js +297 -0
- package/dist/chunk-DLDFHU7Y.js +191 -0
- package/dist/chunk-DWA3ZRGW.js +142 -0
- package/dist/chunk-GGKFQ3MA.js +621 -0
- package/dist/chunk-H6XILMZX.js +6154 -0
- package/dist/chunk-NECL5IBJ.js +318 -0
- package/dist/chunk-SVYGXXYR.js +36 -0
- package/dist/chunk-UF6ATARM.js +1100 -0
- package/dist/chunk-VO2I7MTM.js +56 -0
- package/dist/chunk-WDY4IK6Z.js +128 -0
- package/dist/chunk-WKTEO6RS.js +586 -0
- package/dist/chunk-YLTOLYWM.js +92 -0
- package/dist/compiler.d.ts +41 -7
- package/dist/compiler.js +48 -13143
- package/dist/compose-NN23UJGC.js +13 -0
- package/dist/config/createNextConfig.js +13 -0
- package/dist/dev-operation-TZDVJCN7.js +1055 -0
- package/dist/framework-selection-X4U6Y6QC.js +10 -0
- package/dist/ide-support-ZNW7ODFY.js +15 -0
- package/dist/index.d.ts +15 -3
- package/dist/kernel/components/blocks/AgentActions.js +71 -61
- package/dist/kernel/components/blocks/design-system-preview.d.ts +1 -1
- package/dist/kernel/components/blocks/design-system-preview.js +32 -13
- package/dist/kernel/components/blocks/link-playground.js +2 -2
- package/dist/kernel/components/blocks/logo-block.js +2 -2
- package/dist/kernel/components/blocks/nav-breadcrumb.d.ts +10 -2
- package/dist/kernel/components/blocks/nav-breadcrumb.js +20 -5
- package/dist/kernel/components/blocks/navbar.d.ts +2 -2
- package/dist/kernel/components/blocks/navbar.js +401 -60
- package/dist/kernel/components/blocks/navigation-progress-playground.js +4 -4
- package/dist/kernel/components/blocks/navigation-progress.js +4 -1
- package/dist/kernel/components/blocks/next-prev.d.ts +1 -1
- package/dist/kernel/components/blocks/next-prev.js +11 -23
- package/dist/kernel/components/blocks/page-list.d.ts +1 -1
- package/dist/kernel/components/blocks/page-list.js +5 -4
- package/dist/kernel/components/blocks/search.d.ts +83 -58
- package/dist/kernel/components/blocks/search.js +553 -426
- package/dist/kernel/components/blocks/sidebar-node.d.ts +2 -2
- package/dist/kernel/components/blocks/sidebar-node.js +11 -9
- package/dist/kernel/components/blocks/sidebar.d.ts +3 -3
- package/dist/kernel/components/blocks/sidebar.js +18 -11
- package/dist/kernel/components/blocks/theme-toggle.d.ts +2 -2
- package/dist/kernel/components/blocks/theme-toggle.js +48 -2
- package/dist/kernel/components/blocks/toc.js +3 -3
- package/dist/kernel/components/mdx/components/blockquote.js +1 -1
- package/dist/kernel/components/mdx/components/callout.d.ts +5 -7
- package/dist/kernel/components/mdx/components/callout.js +66 -35
- package/dist/kernel/components/mdx/components/code-block.d.ts +5 -2
- package/dist/kernel/components/mdx/components/code-block.js +106 -5
- package/dist/kernel/components/mdx/components/copy-code-button.d.ts +8 -0
- package/dist/kernel/components/mdx/components/copy-code-button.js +60 -0
- package/dist/kernel/components/mdx/components/figure-caption.js +1 -1
- package/dist/kernel/components/mdx/components/figure.js +1 -1
- package/dist/kernel/components/mdx/components/heading-copy-link.js +3 -3
- package/dist/kernel/components/mdx/components/image-zoom.d.ts +2 -2
- package/dist/kernel/components/mdx/components/image-zoom.js +1 -1
- package/dist/kernel/components/mdx/components/image.js +77 -56
- package/dist/kernel/components/mdx/components/inline-code.js +1 -1
- package/dist/kernel/components/mdx/components/kbd.d.ts +2 -2
- package/dist/kernel/components/mdx/components/kbd.js +3 -2
- package/dist/kernel/components/mdx/components/link.d.ts +35 -4
- package/dist/kernel/components/mdx/components/link.js +1 -1
- package/dist/kernel/components/mdx/components/paragraph.js +1 -4
- package/dist/kernel/components/mdx/components/task-list.js +1 -1
- package/dist/kernel/components/mdx/components/video-player.js +2 -2
- package/dist/kernel/components/mdx/components/video.js +1 -1
- package/dist/kernel/components/mdx/error-boundary.d.ts +1 -1
- package/dist/kernel/components/mdx/mdx.d.ts +12 -8
- package/dist/kernel/components/mdx/mdx.js +115 -39
- package/dist/kernel/components/mdx/rehype-heading-ids.js +1 -1
- package/dist/kernel/components/mdx/types.d.ts +1 -1
- package/dist/kernel/components/ui/breadcrumb-trail.d.ts +6 -23
- package/dist/kernel/components/ui/breadcrumb.d.ts +11 -3
- package/dist/kernel/components/ui/breadcrumb.js +6 -4
- package/dist/kernel/components/ui/button-group.d.ts +1 -1
- package/dist/kernel/components/ui/button-group.js +5 -4
- package/dist/kernel/components/ui/button.d.ts +2 -2
- package/dist/kernel/components/ui/button.js +6 -6
- package/dist/kernel/components/ui/card.d.ts +2 -2
- package/dist/kernel/components/ui/drawer.d.ts +3 -1
- package/dist/kernel/components/ui/drawer.js +5 -1
- package/dist/kernel/components/ui/input.d.ts +4 -4
- package/dist/kernel/components/ui/kbd.d.ts +1 -1
- package/dist/kernel/components/ui/kbd.js +9 -16
- package/dist/kernel/components/ui/link.d.ts +5 -3
- package/dist/kernel/components/ui/link.js +10 -9
- package/dist/kernel/components/ui/menu.js +5 -5
- package/dist/kernel/components/ui/mod-key.d.ts +10 -0
- package/dist/kernel/components/ui/mod-key.js +36 -0
- package/dist/kernel/components/ui/navigation-menu.js +2 -2
- package/dist/kernel/components/ui/progress.js +1 -1
- package/dist/kernel/components/ui/scroll-area.d.ts +8 -8
- package/dist/kernel/components/ui/scroll-area.js +4 -4
- package/dist/kernel/components/ui/select.js +7 -10
- package/dist/kernel/components/ui/text.d.ts +2 -2
- package/dist/kernel/components/ui/theme-toggle.d.ts +3 -3
- package/dist/kernel/components/ui/theme-toggle.js +4 -9
- package/dist/kernel/defaults.registry.d.ts +9 -9
- package/dist/kernel/defaults.registry.js +9 -9
- package/dist/kernel/routes/agent/markdown.d.ts +0 -1
- package/dist/kernel/routes/layouts/group.d.ts +1 -1
- package/dist/kernel/routes/metadata/feed.d.ts +1 -1
- package/dist/kernel/routes/metadata/feed.js +13 -9
- package/dist/kernel/routes/metadata/llms.d.ts +2 -1
- package/dist/kernel/routes/metadata/llms.js +4 -4
- package/dist/kernel/routes/metadata/robots.d.ts +1 -1
- package/dist/kernel/routes/metadata/robots.js +2 -2
- package/dist/kernel/routes/metadata/sitemap.d.ts +6 -3
- package/dist/kernel/routes/metadata/sitemap.js +48 -20
- package/dist/kernel/routes/pages/group.d.ts +1 -1
- package/dist/kernel/routes/pages/group.js +20 -12
- package/dist/kernel/routes/pages/leaf.d.ts +2 -2
- package/dist/kernel/routes/pages/leaf.js +20 -12
- package/dist/kernel/routes/pages/root.d.ts +2 -2
- package/dist/kernel/routes/pages/root.js +18 -12
- package/dist/resolvers/manifest-resolver.js +29 -6
- package/dist/search.d.ts +6 -7
- package/dist/search.js +47 -22
- package/dist/{sidebar-types-Bgchdfd6.d.ts → sidebar-types-DKpR27II.d.ts} +1 -1
- package/dist/{types-CIwwieNw.d.ts → types-BzkZty3r.d.ts} +23 -3
- package/dist/{types-DHBm7-j6.d.ts → types-CJWRG05y.d.ts} +20 -1
- package/dist/{types-B_b3C0U6.d.ts → types-CUtrppxt.d.ts} +8 -2
- package/dist/types.d.ts +14 -6
- package/dist/validate-local-source-XRL2Y7XE.js +14 -0
- package/dist/validate-publish-os-source-DAPZ4QGE.js +12 -0
- package/init/seed/minimal/.gitignore +1 -0
- package/init/seed/minimal/publish.os/assets/favicon/favicon.dark.png +0 -0
- package/init/seed/minimal/publish.os/assets/favicon/favicon.png +0 -0
- package/init/seed/minimal/publish.os/docs/content/get-started.mdx +6 -10
- package/init/seed/minimal/publish.os/docs/content/groups.mdx +1 -1
- package/init/seed/minimal/publish.os/docs/content/{theme.mdx → themes.mdx} +14 -12
- package/init/seed/minimal/publish.os/publish.os.config.json +3 -7
- package/init/seed/minimal/publish.os/theme.css +52 -24
- package/init/seed/minimal/publish.os/tsconfig.json +3 -0
- package/init/seed/minimal/seed.json +4 -1
- package/init/seed/scratch/publish.os/docs/content/get-started.mdx +6 -0
- package/init/seed/scratch/publish.os/publish.os.config.json +4 -0
- package/init/seed/scratch/seed.json +5 -0
- package/package.json +12 -26
- package/release/app/phosphor/package.json +3 -3
- package/release/app/phosphor/pnpm-lock.yaml.template +523 -360
- package/release/app/phosphor/pnpm-workspace.yaml +3 -0
- package/release/compiler/package.json +1 -1
- package/release/compiler/pnpm-lock.yaml.template +439 -286
- package/release/compiler/pnpm-workspace.yaml +3 -0
- package/release/release.json +7 -36
- package/compiler-assets/nextjs/defaults/group/leaf.tsx +0 -48
- package/dist/icons.d.ts +0 -1
- package/dist/icons.js +0 -2
- package/dist/kernel/components/mdx/components/pre.d.ts +0 -6
- package/dist/kernel/components/mdx/components/pre.js +0 -18
- package/dist/kernel/components/ui/meta-key.d.ts +0 -17
- package/dist/kernel/components/ui/meta-key.js +0 -9
- package/dist/kernel/framework-icons.d.ts +0 -1
- package/dist/kernel/framework-icons.js +0 -39
- package/dist/link-CYaCRDb6.d.ts +0 -35
- package/dist/route-metadata-og-image-BeKKFHg7.d.ts +0 -58
- package/dist/types-sM2g9nW0.d.ts +0 -12
- package/release/app/lucide/package.json +0 -30
- package/release/app/lucide/pnpm-lock.yaml.template +0 -2905
- package/release/app/lucide/pnpm-workspace.yaml +0 -11
- package/release/app/tabler/package.json +0 -30
- package/release/app/tabler/pnpm-lock.yaml.template +0 -2911
- package/release/app/tabler/pnpm-workspace.yaml +0 -11
package/dist/search.js
CHANGED
|
@@ -5,14 +5,21 @@ import { useShortcut } from "@publish.os/nextjs/keyboard-shortcuts";
|
|
|
5
5
|
import { useRouter } from "next/navigation";
|
|
6
6
|
import {
|
|
7
7
|
createContext,
|
|
8
|
+
startTransition,
|
|
9
|
+
use,
|
|
8
10
|
useCallback,
|
|
9
|
-
useContext,
|
|
10
11
|
useEffect,
|
|
11
12
|
useId,
|
|
12
13
|
useMemo,
|
|
13
14
|
useRef,
|
|
14
15
|
useState
|
|
15
16
|
} from "react";
|
|
17
|
+
|
|
18
|
+
// src/lib/hosting/framework-paths.ts
|
|
19
|
+
var FRAMEWORK_PREFIX = "/publishos", ASSET_PREFIX = `${FRAMEWORK_PREFIX}/assets`, SITE_API_PREFIX = `${FRAMEWORK_PREFIX}/api`, PAGEFIND_PREFIX = `${ASSET_PREFIX}/pagefind`, PAGEFIND_MODULE_URL = `${PAGEFIND_PREFIX}/pagefind.js`, PAGEFIND_ENTRY_URL = `${PAGEFIND_PREFIX}/pagefind-entry.json`, IMAGE_OPTIMIZER_PATH = `${SITE_API_PREFIX}/image`;
|
|
20
|
+
var OG_SERVICE_PREFIX = `${SITE_API_PREFIX}/og`, PUBLIC_ASSET_DIRECTORY = "publishos/assets", PUBLIC_FONT_DIRECTORY = `${PUBLIC_ASSET_DIRECTORY}/_publishos/fonts`, PUBLIC_PAGEFIND_DIRECTORY = `public/${PUBLIC_ASSET_DIRECTORY}/pagefind`, FRAMEWORK_PROXY_MATCHER = `/((?!${FRAMEWORK_PREFIX.slice(1)}(?:/|$)|_next/static|_next/image|_next/webpack-hmr).*)`;
|
|
21
|
+
|
|
22
|
+
// src/modules/search/search.tsx
|
|
16
23
|
import { jsx } from "react/jsx-runtime";
|
|
17
24
|
var EMPTY_SEARCH_OUTPUT = {
|
|
18
25
|
items: [],
|
|
@@ -40,7 +47,7 @@ function inactiveIndexMessage() {
|
|
|
40
47
|
total: 0
|
|
41
48
|
};
|
|
42
49
|
}
|
|
43
|
-
var SEARCH_STATUS_URL =
|
|
50
|
+
var SEARCH_STATUS_URL = PAGEFIND_ENTRY_URL, PAGEFIND_URL = PAGEFIND_MODULE_URL, pagefindModulePromise = null, pagefindModuleFailures = 0, activeIndex;
|
|
44
51
|
async function fetchSearchStatus(signal) {
|
|
45
52
|
let response = await fetch(SEARCH_STATUS_URL, {
|
|
46
53
|
cache: "no-store",
|
|
@@ -53,7 +60,10 @@ async function fetchSearchStatus(signal) {
|
|
|
53
60
|
return response?.ok ? (await response.json()).publishos ?? null : null;
|
|
54
61
|
}
|
|
55
62
|
async function loadPagefind() {
|
|
56
|
-
|
|
63
|
+
let url = pagefindModuleFailures ? `${PAGEFIND_URL}?retry=${pagefindModuleFailures}` : PAGEFIND_URL;
|
|
64
|
+
return pagefindModulePromise ??= new Function("src", "return import(src)")(url).catch((error) => {
|
|
65
|
+
throw pagefindModuleFailures += 1, pagefindModulePromise = null, error;
|
|
66
|
+
}), pagefindModulePromise;
|
|
57
67
|
}
|
|
58
68
|
async function withPagefindIndex(revision, run) {
|
|
59
69
|
let release = async (index) => {
|
|
@@ -66,7 +76,9 @@ async function withPagefindIndex(revision, run) {
|
|
|
66
76
|
readers: 0,
|
|
67
77
|
retired: !1,
|
|
68
78
|
instance: loadPagefind().then(async (module) => {
|
|
69
|
-
let instance = module.createInstance({
|
|
79
|
+
let instance = module.createInstance({
|
|
80
|
+
baseUrl: "/"
|
|
81
|
+
});
|
|
70
82
|
return await instance.init?.(), instance;
|
|
71
83
|
})
|
|
72
84
|
}, previous && (previous.retired = !0, release(previous).catch(() => {
|
|
@@ -76,6 +88,8 @@ async function withPagefindIndex(revision, run) {
|
|
|
76
88
|
selected.readers += 1;
|
|
77
89
|
try {
|
|
78
90
|
return await run(await selected.instance);
|
|
91
|
+
} catch (error) {
|
|
92
|
+
throw activeIndex === selected && (activeIndex = void 0), selected.retired = !0, error;
|
|
79
93
|
} finally {
|
|
80
94
|
selected.readers -= 1, await release(selected);
|
|
81
95
|
}
|
|
@@ -92,6 +106,20 @@ function pagefindFilters(filters) {
|
|
|
92
106
|
function titleForResult(data) {
|
|
93
107
|
return data.meta?.title ?? data.sub_results?.find((subResult) => subResult.title)?.title ?? data.url;
|
|
94
108
|
}
|
|
109
|
+
function plainExcerpt(value) {
|
|
110
|
+
let entities = {
|
|
111
|
+
"&": "&",
|
|
112
|
+
"<": "<",
|
|
113
|
+
">": ">",
|
|
114
|
+
""": '"',
|
|
115
|
+
"'": "'",
|
|
116
|
+
"'": "'"
|
|
117
|
+
};
|
|
118
|
+
return value.replace(/<[^>]*>/g, "").replace(
|
|
119
|
+
/&(?:amp|lt|gt|quot|#39|#x27);/g,
|
|
120
|
+
(entity) => entities[entity] ?? entity
|
|
121
|
+
);
|
|
122
|
+
}
|
|
95
123
|
function toSearchResult({
|
|
96
124
|
data,
|
|
97
125
|
fallbackId,
|
|
@@ -102,11 +130,11 @@ function toSearchResult({
|
|
|
102
130
|
excerpt,
|
|
103
131
|
id: data.url || fallbackId,
|
|
104
132
|
meta: data.meta ?? {},
|
|
105
|
-
plainExcerpt: data.plain_excerpt ?? excerpt
|
|
133
|
+
plainExcerpt: plainExcerpt(data.plain_excerpt ?? excerpt),
|
|
106
134
|
score,
|
|
107
135
|
subResults: (data.sub_results ?? []).map((result) => ({
|
|
108
136
|
excerpt: result.excerpt ?? "",
|
|
109
|
-
plainExcerpt: (result.
|
|
137
|
+
plainExcerpt: plainExcerpt(result.plain_excerpt ?? result.excerpt ?? ""),
|
|
110
138
|
title: result.title ?? title,
|
|
111
139
|
url: result.url ?? data.url
|
|
112
140
|
})),
|
|
@@ -204,7 +232,7 @@ function useSearch(input) {
|
|
|
204
232
|
}, [stableInput]), output;
|
|
205
233
|
}
|
|
206
234
|
function useSearchBlock() {
|
|
207
|
-
let value =
|
|
235
|
+
let value = use(SearchBlockContext);
|
|
208
236
|
if (!value)
|
|
209
237
|
throw new Error("useSearchBlock must be used inside <Search.Root>.");
|
|
210
238
|
return value;
|
|
@@ -215,14 +243,15 @@ function SearchProvider({
|
|
|
215
243
|
limit = DEFAULT_SEARCH_LIMIT,
|
|
216
244
|
onOpenChange,
|
|
217
245
|
open: controlledOpen,
|
|
218
|
-
shortcut = "mod+k"
|
|
219
|
-
variant = "desktop"
|
|
246
|
+
shortcut = "mod+k"
|
|
220
247
|
}) {
|
|
221
|
-
let [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen), [query, setQuery] = useState(""), [isTyping, setIsTyping] = useState(!1), [selectedValue, setSelectedValue] = useState(""), typingTimer = useRef(null), inputRef = useRef(null), listRef = useRef(null), router = useRouter(), inputId = useId(), listId = useId(), open = controlledOpen ?? uncontrolledOpen, output = useSearch({ limit, q: query }), [displayResults, setDisplayResults] = useState([]), selectedResultId = (displayResults.find((result) => result.id === selectedValue) ?? displayResults[0])?.id ?? "", loading = !!query.trim() && !isTyping && output.status === "idle", setOpen = useCallback(
|
|
248
|
+
let [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen), [query, setQuery] = useState(""), [isTyping, setIsTyping] = useState(!1), [selectedValue, setSelectedValue] = useState(""), typingTimer = useRef(null), inputRef = useRef(null), listRef = useRef(null), triggerRef = useRef(null), router = useRouter(), inputId = useId(), listId = useId(), popupId = useId(), open = controlledOpen ?? uncontrolledOpen, output = useSearch({ limit, q: open ? query : "" }), [displayResults, setDisplayResults] = useState([]), selectedResultId = (displayResults.find((result) => result.id === selectedValue) ?? displayResults[0])?.id ?? "", loading = open && !!query.trim() && !isTyping && output.status === "idle", setOpen = useCallback(
|
|
222
249
|
(nextOpen) => {
|
|
223
|
-
|
|
250
|
+
startTransition(() => {
|
|
251
|
+
controlledOpen === void 0 && setUncontrolledOpen(nextOpen), onOpenChange?.(nextOpen);
|
|
252
|
+
}), nextOpen && !open && (setQuery(""), setSelectedValue(""), setIsTyping(!1)), nextOpen || typingTimer.current !== null && (window.clearTimeout(typingTimer.current), typingTimer.current = null);
|
|
224
253
|
},
|
|
225
|
-
[controlledOpen, onOpenChange]
|
|
254
|
+
[controlledOpen, onOpenChange, open]
|
|
226
255
|
), setQueryValue = useCallback((value) => {
|
|
227
256
|
setQuery(value);
|
|
228
257
|
}, []), handleInputChange = useCallback((value) => {
|
|
@@ -235,13 +264,8 @@ function SearchProvider({
|
|
|
235
264
|
},
|
|
236
265
|
[router, setOpen]
|
|
237
266
|
);
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
let frame = window.requestAnimationFrame(() => {
|
|
241
|
-
inputRef.current?.focus();
|
|
242
|
-
});
|
|
243
|
-
return () => window.cancelAnimationFrame(frame);
|
|
244
|
-
}, [open]), useShortcut(shortcut, () => setOpen(!0), {
|
|
267
|
+
useShortcut(shortcut || "mod+k", () => setOpen(!0), {
|
|
268
|
+
enabled: shortcut !== !1 && !open,
|
|
245
269
|
description: "Open search",
|
|
246
270
|
group: "Search",
|
|
247
271
|
priority: 100
|
|
@@ -277,8 +301,9 @@ function SearchProvider({
|
|
|
277
301
|
inputRef,
|
|
278
302
|
listId,
|
|
279
303
|
listRef,
|
|
304
|
+
popupId,
|
|
280
305
|
shortcut,
|
|
281
|
-
|
|
306
|
+
triggerRef
|
|
282
307
|
},
|
|
283
308
|
state: {
|
|
284
309
|
displayResults,
|
|
@@ -304,12 +329,12 @@ function SearchProvider({
|
|
|
304
329
|
output.message,
|
|
305
330
|
output.status,
|
|
306
331
|
output.total,
|
|
332
|
+
popupId,
|
|
307
333
|
query,
|
|
308
334
|
selectedResultId,
|
|
309
335
|
setOpen,
|
|
310
336
|
setQueryValue,
|
|
311
|
-
shortcut
|
|
312
|
-
variant
|
|
337
|
+
shortcut
|
|
313
338
|
]
|
|
314
339
|
);
|
|
315
340
|
return /* @__PURE__ */ jsx(SearchBlockContext.Provider, { value: contextValue, children });
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
type SiteData = {
|
|
2
2
|
name: string;
|
|
3
3
|
description?: string;
|
|
4
|
-
|
|
5
|
-
og?:
|
|
4
|
+
origin?: string;
|
|
5
|
+
og?: OgIndexMetadata;
|
|
6
6
|
};
|
|
7
7
|
type OgImageMetadata = string | {
|
|
8
8
|
src: string;
|
|
@@ -13,6 +13,9 @@ type OgMetadata = {
|
|
|
13
13
|
description?: string;
|
|
14
14
|
image?: OgImageMetadata;
|
|
15
15
|
};
|
|
16
|
+
type OgIndexMetadata = OgMetadata & {
|
|
17
|
+
scope?: "page" | "subtree";
|
|
18
|
+
};
|
|
16
19
|
type Author = {
|
|
17
20
|
id?: string;
|
|
18
21
|
name: string;
|
|
@@ -42,6 +45,7 @@ type PageNode = {
|
|
|
42
45
|
fileID: string;
|
|
43
46
|
title: string;
|
|
44
47
|
path: string;
|
|
48
|
+
href?: string;
|
|
45
49
|
group: string;
|
|
46
50
|
description?: string;
|
|
47
51
|
status: PageStatus;
|
|
@@ -57,6 +61,7 @@ type SectionNode = {
|
|
|
57
61
|
id: string;
|
|
58
62
|
title: string;
|
|
59
63
|
path?: string;
|
|
64
|
+
href?: string;
|
|
60
65
|
group?: string;
|
|
61
66
|
children: TreeNode[];
|
|
62
67
|
};
|
|
@@ -65,6 +70,7 @@ type FolderNode = {
|
|
|
65
70
|
id: string;
|
|
66
71
|
title: string;
|
|
67
72
|
path?: string;
|
|
73
|
+
href?: string;
|
|
68
74
|
group?: string;
|
|
69
75
|
children: TreeNode[];
|
|
70
76
|
};
|
|
@@ -94,7 +100,9 @@ type GroupManifest = {
|
|
|
94
100
|
key: string;
|
|
95
101
|
title: string;
|
|
96
102
|
path: string;
|
|
103
|
+
origin?: string;
|
|
97
104
|
ancestry?: string[];
|
|
105
|
+
og?: OgIndexMetadata;
|
|
98
106
|
meta?: Record<string, unknown>;
|
|
99
107
|
tree: TreeNode[];
|
|
100
108
|
pages: PageData[];
|
|
@@ -108,6 +116,10 @@ type ManifestLike = {
|
|
|
108
116
|
attribution?: Record<string, ResolvedAttribution>;
|
|
109
117
|
contentHash: string;
|
|
110
118
|
};
|
|
119
|
+
type RootPageProps = {
|
|
120
|
+
site: SiteData;
|
|
121
|
+
tree: TreeNode[];
|
|
122
|
+
};
|
|
111
123
|
type LayoutProps = {
|
|
112
124
|
children: React.ReactNode;
|
|
113
125
|
site: SiteData;
|
|
@@ -116,6 +128,14 @@ type LayoutProps = {
|
|
|
116
128
|
currentPath: string;
|
|
117
129
|
group: string;
|
|
118
130
|
};
|
|
131
|
+
type PageProps<TMeta extends Record<string, unknown> = Record<string, unknown>> = {
|
|
132
|
+
site: SiteData;
|
|
133
|
+
tree: TreeNode[];
|
|
134
|
+
node: TreeNode;
|
|
135
|
+
page: PageData<TMeta>;
|
|
136
|
+
currentPath: string;
|
|
137
|
+
group: string;
|
|
138
|
+
};
|
|
119
139
|
type IndexPageProps = {
|
|
120
140
|
site: SiteData;
|
|
121
141
|
tree: TreeNode[];
|
|
@@ -124,4 +144,4 @@ type IndexPageProps = {
|
|
|
124
144
|
group: string;
|
|
125
145
|
};
|
|
126
146
|
|
|
127
|
-
export type { IndexPageProps as I, LayoutProps as L, ManifestLike as M, PageStatus as P };
|
|
147
|
+
export type { IndexPageProps as I, LayoutProps as L, ManifestLike as M, PageStatus as P, ResolvedAttribution as R, PageProps as a, RootPageProps as b };
|
|
@@ -15,11 +15,28 @@ type Author = {
|
|
|
15
15
|
url?: string;
|
|
16
16
|
};
|
|
17
17
|
type PageStatus = "published" | "draft" | "archived";
|
|
18
|
+
type PageData<TMeta extends Record<string, unknown> = Record<string, unknown>> = {
|
|
19
|
+
fileID: string;
|
|
20
|
+
group: string;
|
|
21
|
+
slug: string;
|
|
22
|
+
path: string;
|
|
23
|
+
title: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
status: PageStatus;
|
|
26
|
+
publishedAt?: string;
|
|
27
|
+
updatedAt?: string;
|
|
28
|
+
authors: Author[];
|
|
29
|
+
tags: string[];
|
|
30
|
+
og?: OgMetadata;
|
|
31
|
+
meta: TMeta;
|
|
32
|
+
body: string;
|
|
33
|
+
};
|
|
18
34
|
type PageNode = {
|
|
19
35
|
type: "page";
|
|
20
36
|
fileID: string;
|
|
21
37
|
title: string;
|
|
22
38
|
path: string;
|
|
39
|
+
href?: string;
|
|
23
40
|
group: string;
|
|
24
41
|
description?: string;
|
|
25
42
|
status: PageStatus;
|
|
@@ -35,6 +52,7 @@ type SectionNode = {
|
|
|
35
52
|
id: string;
|
|
36
53
|
title: string;
|
|
37
54
|
path?: string;
|
|
55
|
+
href?: string;
|
|
38
56
|
group?: string;
|
|
39
57
|
children: TreeNode[];
|
|
40
58
|
};
|
|
@@ -43,6 +61,7 @@ type FolderNode = {
|
|
|
43
61
|
id: string;
|
|
44
62
|
title: string;
|
|
45
63
|
path?: string;
|
|
64
|
+
href?: string;
|
|
46
65
|
group?: string;
|
|
47
66
|
children: TreeNode[];
|
|
48
67
|
};
|
|
@@ -54,4 +73,4 @@ type LinkNode = {
|
|
|
54
73
|
};
|
|
55
74
|
type TreeNode = PageNode | SectionNode | FolderNode | LinkNode;
|
|
56
75
|
|
|
57
|
-
export type { TreeNode as T };
|
|
76
|
+
export type { PageData as P, TreeNode as T };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
type SiteData = {
|
|
2
2
|
name: string;
|
|
3
3
|
description?: string;
|
|
4
|
-
|
|
5
|
-
og?:
|
|
4
|
+
origin?: string;
|
|
5
|
+
og?: OgIndexMetadata;
|
|
6
6
|
};
|
|
7
7
|
type OgImageMetadata = string | {
|
|
8
8
|
src: string;
|
|
@@ -13,6 +13,9 @@ type OgMetadata = {
|
|
|
13
13
|
description?: string;
|
|
14
14
|
image?: OgImageMetadata;
|
|
15
15
|
};
|
|
16
|
+
type OgIndexMetadata = OgMetadata & {
|
|
17
|
+
scope?: "page" | "subtree";
|
|
18
|
+
};
|
|
16
19
|
type Author = {
|
|
17
20
|
id?: string;
|
|
18
21
|
name: string;
|
|
@@ -26,6 +29,7 @@ type PageNode = {
|
|
|
26
29
|
fileID: string;
|
|
27
30
|
title: string;
|
|
28
31
|
path: string;
|
|
32
|
+
href?: string;
|
|
29
33
|
group: string;
|
|
30
34
|
description?: string;
|
|
31
35
|
status: PageStatus;
|
|
@@ -41,6 +45,7 @@ type SectionNode = {
|
|
|
41
45
|
id: string;
|
|
42
46
|
title: string;
|
|
43
47
|
path?: string;
|
|
48
|
+
href?: string;
|
|
44
49
|
group?: string;
|
|
45
50
|
children: TreeNode[];
|
|
46
51
|
};
|
|
@@ -49,6 +54,7 @@ type FolderNode = {
|
|
|
49
54
|
id: string;
|
|
50
55
|
title: string;
|
|
51
56
|
path?: string;
|
|
57
|
+
href?: string;
|
|
52
58
|
group?: string;
|
|
53
59
|
children: TreeNode[];
|
|
54
60
|
};
|
package/dist/types.d.ts
CHANGED
|
@@ -46,7 +46,6 @@ type SearchOutput = {
|
|
|
46
46
|
status: SearchStatus;
|
|
47
47
|
total: number;
|
|
48
48
|
};
|
|
49
|
-
type SearchBlockVariant = "desktop" | "mobile";
|
|
50
49
|
type SearchBlockState = {
|
|
51
50
|
displayResults: SearchResult[];
|
|
52
51
|
isTyping: boolean;
|
|
@@ -70,8 +69,9 @@ type SearchBlockMeta = {
|
|
|
70
69
|
inputRef: RefObject<HTMLInputElement | null>;
|
|
71
70
|
listId: string;
|
|
72
71
|
listRef: RefObject<HTMLDivElement | null>;
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
popupId: string;
|
|
73
|
+
shortcut: string | false;
|
|
74
|
+
triggerRef: RefObject<HTMLButtonElement | null>;
|
|
75
75
|
};
|
|
76
76
|
type SearchBlockContextValue = {
|
|
77
77
|
actions: SearchBlockActions;
|
|
@@ -87,8 +87,8 @@ type Heading = {
|
|
|
87
87
|
type SiteData = {
|
|
88
88
|
name: string;
|
|
89
89
|
description?: string;
|
|
90
|
-
|
|
91
|
-
og?:
|
|
90
|
+
origin?: string;
|
|
91
|
+
og?: OgIndexMetadata;
|
|
92
92
|
};
|
|
93
93
|
type OgImageMetadata = string | {
|
|
94
94
|
src: string;
|
|
@@ -99,6 +99,9 @@ type OgMetadata = {
|
|
|
99
99
|
description?: string;
|
|
100
100
|
image?: OgImageMetadata;
|
|
101
101
|
};
|
|
102
|
+
type OgIndexMetadata = OgMetadata & {
|
|
103
|
+
scope?: "page" | "subtree";
|
|
104
|
+
};
|
|
102
105
|
type Author = {
|
|
103
106
|
id?: string;
|
|
104
107
|
name: string;
|
|
@@ -142,6 +145,7 @@ type PageNode = {
|
|
|
142
145
|
fileID: string;
|
|
143
146
|
title: string;
|
|
144
147
|
path: string;
|
|
148
|
+
href?: string;
|
|
145
149
|
group: string;
|
|
146
150
|
description?: string;
|
|
147
151
|
status: PageStatus;
|
|
@@ -157,6 +161,7 @@ type SectionNode = {
|
|
|
157
161
|
id: string;
|
|
158
162
|
title: string;
|
|
159
163
|
path?: string;
|
|
164
|
+
href?: string;
|
|
160
165
|
group?: string;
|
|
161
166
|
children: TreeNode[];
|
|
162
167
|
};
|
|
@@ -165,6 +170,7 @@ type FolderNode = {
|
|
|
165
170
|
id: string;
|
|
166
171
|
title: string;
|
|
167
172
|
path?: string;
|
|
173
|
+
href?: string;
|
|
168
174
|
group?: string;
|
|
169
175
|
children: TreeNode[];
|
|
170
176
|
};
|
|
@@ -199,7 +205,9 @@ type GroupManifest = {
|
|
|
199
205
|
key: string;
|
|
200
206
|
title: string;
|
|
201
207
|
path: string;
|
|
208
|
+
origin?: string;
|
|
202
209
|
ancestry?: string[];
|
|
210
|
+
og?: OgIndexMetadata;
|
|
203
211
|
meta?: Record<string, unknown>;
|
|
204
212
|
tree: TreeNode[];
|
|
205
213
|
pages: PageData[];
|
|
@@ -265,4 +273,4 @@ type GroupContext = {
|
|
|
265
273
|
|
|
266
274
|
declare const __publishOsTypesModule = true;
|
|
267
275
|
|
|
268
|
-
export { type Author, type FolderNode, type GroupContext, type GroupForcedMode, type GroupManifest, type Heading, type IndexPageProps, type LayoutProps, type LinkNode, type ManifestLike, type NavFolder, type NavItem, type NavLink, type NavPage, type NavSection, type OgImageMetadata, type OgMetadata, type PageData, type PageFrontmatter, type PageNode, type PageProps, type PageStatus, type PageSummary, type ResolvedAttribution, type RootLayoutProps, type RootPageProps, type RouteRecord, type SearchBlockActions, type SearchBlockContextValue, type SearchBlockMeta, type SearchBlockState, type
|
|
276
|
+
export { type Author, type FolderNode, type GroupContext, type GroupForcedMode, type GroupManifest, type Heading, type IndexPageProps, type LayoutProps, type LinkNode, type ManifestLike, type NavFolder, type NavItem, type NavLink, type NavPage, type NavSection, type OgImageMetadata, type OgIndexMetadata, type OgMetadata, type PageData, type PageFrontmatter, type PageNode, type PageProps, type PageStatus, type PageSummary, type ResolvedAttribution, type RootLayoutProps, type RootPageProps, type RouteRecord, type SearchBlockActions, type SearchBlockContextValue, type SearchBlockMeta, type SearchBlockState, type SearchInput, type SearchOutput, type SearchResult, type SearchStatus, type SearchSubResult, type SectionNode, type SiteData, type ThemeMode, type TreeNode, __publishOsTypesModule };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
validateLocalSource
|
|
3
|
+
} from "./chunk-VO2I7MTM.js";
|
|
4
|
+
import "./chunk-726GV2NF.js";
|
|
5
|
+
import "./chunk-NECL5IBJ.js";
|
|
6
|
+
import "./chunk-535TM4A5.js";
|
|
7
|
+
import "./chunk-DLDFHU7Y.js";
|
|
8
|
+
import "./chunk-7OGTPSKI.js";
|
|
9
|
+
import "./chunk-YLTOLYWM.js";
|
|
10
|
+
import "./chunk-AI2UULNX.js";
|
|
11
|
+
import "./chunk-WDY4IK6Z.js";
|
|
12
|
+
export {
|
|
13
|
+
validateLocalSource
|
|
14
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
validatePublishOsSource
|
|
3
|
+
} from "./chunk-726GV2NF.js";
|
|
4
|
+
import "./chunk-NECL5IBJ.js";
|
|
5
|
+
import "./chunk-535TM4A5.js";
|
|
6
|
+
import "./chunk-7OGTPSKI.js";
|
|
7
|
+
import "./chunk-YLTOLYWM.js";
|
|
8
|
+
import "./chunk-AI2UULNX.js";
|
|
9
|
+
import "./chunk-WDY4IK6Z.js";
|
|
10
|
+
export {
|
|
11
|
+
validatePublishOsSource
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.publish.os/
|
|
Binary file
|
|
Binary file
|
|
@@ -14,11 +14,11 @@ Local previews and builds do not require an account.
|
|
|
14
14
|
|
|
15
15
|
From your project directory, run this command:
|
|
16
16
|
|
|
17
|
-
```bash
|
|
18
|
-
npx
|
|
17
|
+
```bash title="Preview the site"
|
|
18
|
+
npx @publish.os/cli@latest dev
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
Open the address that the CLI shows. To stop the preview, press
|
|
21
|
+
Open the address that the CLI shows. To stop the preview, press <kbd>Ctrl</kbd>+<kbd>C</kbd>.
|
|
22
22
|
|
|
23
23
|
## Make one change
|
|
24
24
|
|
|
@@ -30,13 +30,7 @@ Use Markdown for normal text. You can use **bold text**, _italic text_, and `cod
|
|
|
30
30
|
|
|
31
31
|
You can also use MDX components to add interactive elements to your pages.
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
A short notice or piece of information.
|
|
35
|
-
</Callout>
|
|
36
|
-
|
|
37
|
-
```text
|
|
38
|
-
Code blocks can show quick examples.
|
|
39
|
-
```
|
|
33
|
+
Use [callouts](/docs/callouts) to add notes, warnings, and useful context. The callout guide shows every color and style.
|
|
40
34
|
|
|
41
35
|
You can show a keyboard shortcut such as <kbd>Ctrl</kbd>+<kbd>Enter</kbd>.
|
|
42
36
|
|
|
@@ -52,3 +46,5 @@ description: Add a page to your site.
|
|
|
52
46
|
|
|
53
47
|
Each MDX file contains one page.
|
|
54
48
|
```
|
|
49
|
+
|
|
50
|
+
Next try creating or modifying <a href="/docs/groups">groups</a> or customizing your <a href="/docs/themes">theme</a>.
|
|
@@ -28,4 +28,4 @@ The `blog` folder creates a separate content group. Its pages can share a layout
|
|
|
28
28
|
| `docs` | Explain how to use it |
|
|
29
29
|
| `blog` | Explain what you learn |
|
|
30
30
|
|
|
31
|
-
Use short file names with hyphens between words. Link to the page that answers the next question, such as [how to change the theme](/docs/
|
|
31
|
+
Use short file names with hyphens between words. Link to the page that answers the next question, such as [how to change the theme](/docs/themes).
|
|
@@ -27,21 +27,21 @@ You can use `xs`, `sm`, `md`, `lg`, `xl`, or `none`. You can also use a custom v
|
|
|
27
27
|
|
|
28
28
|
The neutral color palette changes the complete design system. Define the palette with a neutral scale.
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
Keep every palette color opaque, including subtle surfaces. Hover, active, and stroke tokens use transparency so controls adapt to the surface beneath them.
|
|
31
31
|
|
|
32
32
|
```css
|
|
33
|
-
--gray-100: #
|
|
34
|
-
--gray-200: #
|
|
35
|
-
--gray-300: #
|
|
36
|
-
--gray-400: #
|
|
37
|
-
--gray-500: #
|
|
38
|
-
--gray-600: #
|
|
39
|
-
--gray-700: #
|
|
33
|
+
--gray-100: #fcfcfc;
|
|
34
|
+
--gray-200: #f9f9f9;
|
|
35
|
+
--gray-300: #f3f3f3;
|
|
36
|
+
--gray-400: #f0f0f0;
|
|
37
|
+
--gray-500: #e0e0e0;
|
|
38
|
+
--gray-600: #c6c6c6;
|
|
39
|
+
--gray-700: #999999;
|
|
40
40
|
--gray-800: #737373;
|
|
41
|
-
--gray-900: #
|
|
42
|
-
--gray-1000: #
|
|
43
|
-
--gray-1100: #
|
|
44
|
-
--gray-1200: #
|
|
41
|
+
--gray-900: #5d5d5d;
|
|
42
|
+
--gray-1000: #464646;
|
|
43
|
+
--gray-1100: #2e2e2e;
|
|
44
|
+
--gray-1200: #171717;
|
|
45
45
|
|
|
46
46
|
--neutral-100: var(--gray-100);
|
|
47
47
|
--neutral-200: var(--gray-200);
|
|
@@ -62,3 +62,5 @@ Set the accent to your brand color or a color from the palette:
|
|
|
62
62
|
```css
|
|
63
63
|
--accent: #ed940f;
|
|
64
64
|
```
|
|
65
|
+
|
|
66
|
+
For layered controls, keep page and popup surfaces opaque. Derive hover, pressed, and border colors from a foreground or accent with transparency. The default theme does this with `color-mix()`, so the same control works on both light and dark surfaces. Keep text and solid button fills opaque for contrast.
|
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
|
-
"runtime": "@publish.os/nextjs@0.0.1-alpha.
|
|
3
|
+
"runtime": "@publish.os/nextjs@0.0.1-alpha.90",
|
|
4
4
|
"site": {
|
|
5
|
-
"name": "
|
|
5
|
+
"name": "publish.os guides",
|
|
6
6
|
"description": "Write pages, organize content, and build your site."
|
|
7
7
|
},
|
|
8
8
|
"fonts": {
|
|
9
9
|
"main": {
|
|
10
|
-
"family": "
|
|
11
|
-
"weight": "100 900"
|
|
10
|
+
"family": "Inter"
|
|
12
11
|
},
|
|
13
12
|
"mono": {
|
|
14
13
|
"family": "DM Mono",
|
|
15
14
|
"weight": ["300", "400", "500"]
|
|
16
15
|
}
|
|
17
|
-
},
|
|
18
|
-
"icons": {
|
|
19
|
-
"family": "phosphor"
|
|
20
16
|
}
|
|
21
17
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/* Delete this file to use the same PublishOS fallback theme. */
|
|
2
2
|
|
|
3
3
|
:root {
|
|
4
|
-
--gray-100: #
|
|
5
|
-
--gray-200: #
|
|
6
|
-
--gray-300: #
|
|
7
|
-
--gray-400: #
|
|
8
|
-
--gray-500: #
|
|
9
|
-
--gray-600: #
|
|
10
|
-
--gray-700: #
|
|
4
|
+
--gray-100: #fcfcfc;
|
|
5
|
+
--gray-200: #f9f9f9;
|
|
6
|
+
--gray-300: #f3f3f3;
|
|
7
|
+
--gray-400: #f0f0f0;
|
|
8
|
+
--gray-500: #e0e0e0;
|
|
9
|
+
--gray-600: #c6c6c6;
|
|
10
|
+
--gray-700: #999999;
|
|
11
11
|
--gray-800: #737373;
|
|
12
|
-
--gray-900: #
|
|
13
|
-
--gray-1000: #
|
|
14
|
-
--gray-1100: #
|
|
15
|
-
--gray-1200: #
|
|
12
|
+
--gray-900: #5d5d5d;
|
|
13
|
+
--gray-1000: #464646;
|
|
14
|
+
--gray-1100: #2e2e2e;
|
|
15
|
+
--gray-1200: #171717;
|
|
16
16
|
|
|
17
17
|
--neutral-100: var(--gray-100);
|
|
18
18
|
--neutral-200: var(--gray-200);
|
|
@@ -27,21 +27,49 @@
|
|
|
27
27
|
--neutral-1100: var(--gray-1100);
|
|
28
28
|
--neutral-1200: var(--gray-1200);
|
|
29
29
|
|
|
30
|
-
--
|
|
31
|
-
--
|
|
30
|
+
--blue-100: #f7fbff;
|
|
31
|
+
--blue-200: #edf6fe;
|
|
32
|
+
--blue-300: #e3f1fd;
|
|
33
|
+
--blue-400: #d8ecfc;
|
|
34
|
+
--blue-500: #b3dbfd;
|
|
35
|
+
--blue-600: #8ecaff;
|
|
36
|
+
--blue-700: #6ab7ff;
|
|
37
|
+
--blue-800: #42a3ff;
|
|
38
|
+
--blue-900: #018dff;
|
|
39
|
+
--blue-1000: #0071ce;
|
|
40
|
+
--blue-1100: #00569f;
|
|
41
|
+
--blue-1200: #003d73;
|
|
42
|
+
|
|
43
|
+
--accent: var(--blue-900);
|
|
44
|
+
--accent-2: var(--blue-800);
|
|
45
|
+
--accent-3: var(--blue-700);
|
|
46
|
+
--theme-radius: var(--theme-radius-sm);
|
|
32
47
|
}
|
|
33
48
|
|
|
34
49
|
.dark {
|
|
35
|
-
--gray-100: #
|
|
36
|
-
--gray-200: #
|
|
37
|
-
--gray-300: #
|
|
38
|
-
--gray-400: #
|
|
39
|
-
--gray-500: #
|
|
50
|
+
--gray-100: #131313;
|
|
51
|
+
--gray-200: #1a1a1a;
|
|
52
|
+
--gray-300: #212121;
|
|
53
|
+
--gray-400: #292929;
|
|
54
|
+
--gray-500: #383838;
|
|
40
55
|
--gray-600: #525252;
|
|
41
|
-
--gray-700: #
|
|
42
|
-
--gray-800: #
|
|
43
|
-
--gray-900: #
|
|
44
|
-
--gray-1000: #
|
|
45
|
-
--gray-1100: #
|
|
46
|
-
--gray-1200: #
|
|
56
|
+
--gray-700: #767676;
|
|
57
|
+
--gray-800: #b3b3b3;
|
|
58
|
+
--gray-900: #c4c4c4;
|
|
59
|
+
--gray-1000: #d2d2d2;
|
|
60
|
+
--gray-1100: #e6e6e6;
|
|
61
|
+
--gray-1200: #f5f5f5;
|
|
62
|
+
|
|
63
|
+
--blue-100: #101d29;
|
|
64
|
+
--blue-200: #142739;
|
|
65
|
+
--blue-300: #173249;
|
|
66
|
+
--blue-400: #193d5a;
|
|
67
|
+
--blue-500: #235278;
|
|
68
|
+
--blue-600: #2d6898;
|
|
69
|
+
--blue-700: #377fb9;
|
|
70
|
+
--blue-800: #4297dc;
|
|
71
|
+
--blue-900: #4dafff;
|
|
72
|
+
--blue-1000: #84c8ff;
|
|
73
|
+
--blue-1100: #b6dfff;
|
|
74
|
+
--blue-1200: #e8f5ff;
|
|
47
75
|
}
|