robindoc 0.0.0-experimental-ed3adfc → 0.0.0-experimental-4f05ca6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/contents/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAKjD,OAAO,iBAAiB,CAAC;AAEzB,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,iBAAiB;IAC1D,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;KAAE,EAAE,CAAC;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE;QACX,mBAAmB;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,wBAAwB;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;CACL;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAoF5C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/contents/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAK9D,OAAO,iBAAiB,CAAC;AAEzB,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,iBAAiB;IAC1D,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;KAAE,EAAE,CAAC;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE;QACX,mBAAmB;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,wBAAwB;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;CACL;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA2F5C,CAAC"}
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import e,{useRef as t,useEffect as n}from"react";import r from"clsx";import{useHeadingIndex as s}from"../../contexts/contents/use-heading-index.js";import{detectGitType as c}from"../../../core/utils/git-tools.js";const o=({headings:o,hideContents:a,editUri:l,translations:i})=>{const m=t(null),d=t(null),h=t(null),{from:p,to:f}=s(),{onThisPage:u="On this page",editOnService:g="Edit on {service}"}=i||{};return n(()=>{h.current&&d.current&&d.current.style.setProperty("--drop-height",h.current.offsetHeight+"px")},[]),e.createElement("div",{className:"r-contents"},e.createElement("div",{className:"r-contents-sticky",ref:m},o.length>0&&!a&&e.createElement(e.Fragment,null,e.createElement("input",{type:"checkbox",className:"r-contents-control",id:"r-contents"}),e.createElement("div",{className:"r-contents-details"},e.createElement("label",{className:"r-contents-title",htmlFor:"r-contents"},u,e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"r-contents-chevron"},e.createElement("path",{d:"m6 9 6 6 6-6"}))),e.createElement("div",{className:"r-contents-list",ref:d},e.createElement("div",{className:"r-contents-list-content",ref:h},o.map((t,n)=>e.createElement("a",{href:`#${t.id}`,key:t.id,className:r("r-contents-link",t.nested&&"_nested",n<=p&&"_passed",n<=f&&"_visited",n>=p&&n<=f&&"_active"),ref:e=>{e?.offsetTop&&m.current&&m.current.scrollHeight>m.current.clientHeight&&p===n&&m.current.scrollTo({top:Math.max(e.offsetTop-Math.ceil(window.innerHeight/2),0)})}},t.title)))))),l?.match(/^https?:\/\//)&&e.createElement("div",{className:"r-contents-actions"},e.createElement("a",{href:l,target:"_blank",rel:"noopener noreferrer",className:"r-contents-git"},g.replace("{service}",c(l).name)))))};export{o as Contents};
2
+ import e,{useRef as t,useCallback as n,useEffect as r}from"react";import s from"clsx";import{useHeadingIndex as c}from"../../contexts/contents/use-heading-index.js";import{detectGitType as o}from"../../../core/utils/git-tools.js";const a=({headings:a,hideContents:l,editUri:i,translations:m})=>{const d=t(null),h=t(null),p=t(null),{from:f,to:u}=c(),{onThisPage:g="On this page",editOnService:v="Edit on {service}"}=m||{},E=n(()=>{p.current&&h.current&&h.current.style.setProperty("--drop-height",p.current.offsetHeight+"px")},[]);return r(E,[]),e.createElement("div",{className:"r-contents"},e.createElement("div",{className:"r-contents-sticky",ref:d},a.length>0&&!l&&e.createElement(e.Fragment,null,e.createElement("input",{type:"checkbox",className:"r-contents-control",id:"r-contents",onClick:E}),e.createElement("div",{className:"r-contents-details"},e.createElement("label",{className:"r-contents-title",htmlFor:"r-contents"},g,e.createElement("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"r-contents-chevron"},e.createElement("path",{d:"m6 9 6 6 6-6"}))),e.createElement("div",{className:"r-contents-list",ref:h},e.createElement("div",{className:"r-contents-list-content",ref:p},a.map((t,n)=>e.createElement("a",{href:`#${t.id}`,key:t.id,className:s("r-contents-link",t.nested&&"_nested",n<=f&&"_passed",n<=u&&"_visited",n>=f&&n<=u&&"_active"),ref:e=>{e?.offsetTop&&d.current&&d.current.scrollHeight>d.current.clientHeight&&f===n&&d.current.scrollTo({top:Math.max(e.offsetTop-Math.ceil(window.innerHeight/2),0)})}},t.title)))))),i?.match(/^https?:\/\//)&&e.createElement("div",{className:"r-contents-actions"},e.createElement("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:"r-contents-git"},v.replace("{service}",o(i).name)))))};export{a as Contents};
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/contents/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { useHeadingIndex } from \"@src/components/contexts/contents/use-heading-index\";\nimport { detectGitType } from \"@src/core/utils/git-tools\";\n\nimport \"./contents.scss\";\n\nexport interface ContentsProps extends React.PropsWithChildren {\n headings: { id: string; nested: boolean; title: string | React.ReactNode }[];\n hideContents?: boolean;\n editUri?: string | null;\n translations?: {\n /** On this page */\n onThisPage?: string;\n /** Edit on {service} */\n editOnService?: string;\n };\n}\n\nexport const Contents: React.FC<ContentsProps> = ({ headings, hideContents, editUri, translations }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const dropdownContentRef = useRef<HTMLDivElement>(null);\n const { from, to } = useHeadingIndex();\n const { onThisPage = \"On this page\", editOnService = \"Edit on {service}\" } = translations || {};\n\n useEffect(() => {\n if (dropdownContentRef.current && dropdownRef.current) {\n dropdownRef.current.style.setProperty(\"--drop-height\", dropdownContentRef.current.offsetHeight + \"px\");\n }\n }, []);\n\n return (\n <div className=\"r-contents\">\n <div className=\"r-contents-sticky\" ref={containerRef}>\n {headings.length > 0 && !hideContents && (\n <>\n <input type=\"checkbox\" className=\"r-contents-control\" id=\"r-contents\" />\n <div className=\"r-contents-details\">\n <label className=\"r-contents-title\" htmlFor=\"r-contents\">\n {onThisPage}\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"r-contents-chevron\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </label>\n <div className=\"r-contents-list\" ref={dropdownRef}>\n <div className=\"r-contents-list-content\" ref={dropdownContentRef}>\n {headings.map((heading, index) => (\n <a\n href={`#${heading.id}`}\n key={heading.id}\n className={clsx(\n \"r-contents-link\",\n heading.nested && \"_nested\",\n index <= from && \"_passed\",\n index <= to && \"_visited\",\n index >= from && index <= to && \"_active\",\n )}\n ref={(node) => {\n if (\n node?.offsetTop &&\n containerRef.current &&\n containerRef.current.scrollHeight >\n containerRef.current.clientHeight &&\n from === index\n ) {\n containerRef.current.scrollTo({\n top: Math.max(\n node.offsetTop - Math.ceil(window.innerHeight / 2),\n 0,\n ),\n });\n }\n }}\n >\n {heading.title}\n </a>\n ))}\n </div>\n </div>\n </div>\n </>\n )}\n {editUri?.match(/^https?:\\/\\//) && (\n <div className=\"r-contents-actions\">\n <a href={editUri} target=\"_blank\" rel=\"noopener noreferrer\" className=\"r-contents-git\">\n {editOnService.replace(\"{service}\", detectGitType(editUri).name)}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"names":["Contents","headings","hideContents","editUri","translations","containerRef","useRef","dropdownRef","dropdownContentRef","from","to","useHeadingIndex","onThisPage","editOnService","useEffect","current","style","setProperty","offsetHeight","React","createElement","className","ref","length","Fragment","type","id","htmlFor","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","map","heading","index","href","key","clsx","nested","node","offsetTop","scrollHeight","clientHeight","scrollTo","top","Math","max","ceil","window","innerHeight","title","match","target","rel","replace","detectGitType","name"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/blocks/contents/index.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useCallback, useEffect, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { useHeadingIndex } from \"@src/components/contexts/contents/use-heading-index\";\nimport { detectGitType } from \"@src/core/utils/git-tools\";\n\nimport \"./contents.scss\";\n\nexport interface ContentsProps extends React.PropsWithChildren {\n headings: { id: string; nested: boolean; title: string | React.ReactNode }[];\n hideContents?: boolean;\n editUri?: string | null;\n translations?: {\n /** On this page */\n onThisPage?: string;\n /** Edit on {service} */\n editOnService?: string;\n };\n}\n\nexport const Contents: React.FC<ContentsProps> = ({ headings, hideContents, editUri, translations }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const dropdownContentRef = useRef<HTMLDivElement>(null);\n const { from, to } = useHeadingIndex();\n const { onThisPage = \"On this page\", editOnService = \"Edit on {service}\" } = translations || {};\n\n const recalculateOffset = useCallback(() => {\n if (dropdownContentRef.current && dropdownRef.current) {\n dropdownRef.current.style.setProperty(\"--drop-height\", dropdownContentRef.current.offsetHeight + \"px\");\n }\n }, []);\n\n useEffect(recalculateOffset, []);\n\n return (\n <div className=\"r-contents\">\n <div className=\"r-contents-sticky\" ref={containerRef}>\n {headings.length > 0 && !hideContents && (\n <>\n <input\n type=\"checkbox\"\n className=\"r-contents-control\"\n id=\"r-contents\"\n onClick={recalculateOffset}\n />\n <div className=\"r-contents-details\">\n <label className=\"r-contents-title\" htmlFor=\"r-contents\">\n {onThisPage}\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"r-contents-chevron\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </label>\n <div className=\"r-contents-list\" ref={dropdownRef}>\n <div className=\"r-contents-list-content\" ref={dropdownContentRef}>\n {headings.map((heading, index) => (\n <a\n href={`#${heading.id}`}\n key={heading.id}\n className={clsx(\n \"r-contents-link\",\n heading.nested && \"_nested\",\n index <= from && \"_passed\",\n index <= to && \"_visited\",\n index >= from && index <= to && \"_active\",\n )}\n ref={(node) => {\n if (\n node?.offsetTop &&\n containerRef.current &&\n containerRef.current.scrollHeight >\n containerRef.current.clientHeight &&\n from === index\n ) {\n containerRef.current.scrollTo({\n top: Math.max(\n node.offsetTop - Math.ceil(window.innerHeight / 2),\n 0,\n ),\n });\n }\n }}\n >\n {heading.title}\n </a>\n ))}\n </div>\n </div>\n </div>\n </>\n )}\n {editUri?.match(/^https?:\\/\\//) && (\n <div className=\"r-contents-actions\">\n <a href={editUri} target=\"_blank\" rel=\"noopener noreferrer\" className=\"r-contents-git\">\n {editOnService.replace(\"{service}\", detectGitType(editUri).name)}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"names":["Contents","headings","hideContents","editUri","translations","containerRef","useRef","dropdownRef","dropdownContentRef","from","to","useHeadingIndex","onThisPage","editOnService","recalculateOffset","useCallback","current","style","setProperty","offsetHeight","useEffect","React","createElement","className","ref","length","Fragment","type","id","onClick","htmlFor","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","map","heading","index","href","key","clsx","nested","node","offsetTop","scrollHeight","clientHeight","scrollTo","top","Math","max","ceil","window","innerHeight","title","match","target","rel","replace","detectGitType","name"],"mappings":"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"}
package/lib/styles.css CHANGED
@@ -1,38 +1,92 @@
1
- .r-footer {
2
- border-top: 1px solid var(--r-main-300);
3
- padding-top: 16px;
4
- padding-bottom: 16px;
1
+ .r-header {
2
+ position: sticky;
3
+ background-color: var(--r-main-50);
4
+ top: 0;
5
+ border-bottom: 1px solid var(--r-main-300);
6
+ height: 60px;
7
+ z-index: 1000;
8
+ box-sizing: border-box;
5
9
  }
6
10
 
7
- .r-footer-row {
11
+ .r-header-body {
12
+ height: 100%;
8
13
  display: flex;
9
14
  justify-content: space-between;
10
15
  align-items: center;
11
- gap: 32px;
16
+ gap: 24px;
17
+ box-sizing: border-box;
12
18
  }
13
19
 
14
- .r-footer-additional {
15
- margin-top: 20px;
16
- justify-content: flex-end;
20
+ .r-header-logo {
21
+ display: block;
22
+ margin-right: 24px;
23
+ color: var(--r-main-700);
24
+ transition: color 0.2s;
25
+ box-sizing: border-box;
17
26
  }
18
-
19
- .r-copyright {
20
- color: var(--r-main-800);
27
+ .r-header-logo:hover, .r-header-logo:focus {
28
+ color: var(--r-main-950);
21
29
  }
22
30
 
23
- .r-powered {
24
- font-size: 14px;
25
- display: block;
26
- color: var(--r-main-600);
31
+ .r-header-nav {
32
+ display: flex;
33
+ flex-direction: column;
34
+ gap: 12px 16px;
35
+ }
36
+ @media screen and (width >= 1024px) {
37
+ .r-header-nav {
38
+ flex-direction: row;
39
+ }
27
40
  }
28
41
 
29
- .r-powered-link {
30
- font-weight: 600;
42
+ .r-header-link {
43
+ color: var(--r-main-600);
31
44
  text-decoration: none;
45
+ padding: 4px 0;
46
+ transition: color 0.2s;
47
+ box-sizing: border-box;
48
+ }
49
+ .r-header-link:hover, .r-header-link:focus-visible {
32
50
  color: var(--r-main-950);
33
51
  }
34
- .r-powered-link:hover {
35
- color: var(--r-primary-900);
52
+
53
+ .r-header-link._target {
54
+ color: var(--r-primary-800);
55
+ }
56
+ .r-header-link._target:hover, .r-header-link._target:focus-visible {
57
+ color: var(--r-primary-700);
58
+ }
59
+
60
+ .r-header-actions {
61
+ display: flex;
62
+ flex-direction: column-reverse;
63
+ gap: 16px;
64
+ align-items: stretch;
65
+ }
66
+ @media screen and (width >= 1024px) {
67
+ .r-header-actions {
68
+ flex-direction: row;
69
+ align-items: center;
70
+ gap: 28px;
71
+ }
72
+ }
73
+
74
+ .r-header-sections {
75
+ display: flex;
76
+ align-items: center;
77
+ gap: 12px;
78
+ }
79
+ @media screen and (width < 768px) {
80
+ .r-header-sections .r-dropdown {
81
+ flex: 1;
82
+ }
83
+ }
84
+ @media screen and (width < 768px) {
85
+ .r-header-sections .r-dropdown-drop {
86
+ max-width: none;
87
+ width: 100%;
88
+ left: 0;
89
+ }
36
90
  }.r-root {
37
91
  --r-header-height: 60px;
38
92
  position: relative;
@@ -265,6 +319,29 @@
265
319
  --r-cl-60: #86181d;
266
320
  --r-cl-61: #144620;
267
321
  --r-cl-62: #c24e00;
322
+ }.r-blog-container {
323
+ min-height: calc(100dvh - var(--r-header-height));
324
+ overflow-wrap: break-word;
325
+ box-sizing: border-box;
326
+ }
327
+ @media screen and (width >= 1180px) {
328
+ .r-blog-container {
329
+ display: grid;
330
+ justify-content: space-between;
331
+ column-gap: 40px;
332
+ grid-template-areas: "breadcrumbs contents" "content contents" "pagination contents";
333
+ grid-template-columns: 760px 220px;
334
+ grid-template-rows: auto 1fr auto;
335
+ }
336
+ }.r-page-container {
337
+ min-height: calc(100dvh - var(--r-header-height));
338
+ overflow-wrap: break-word;
339
+ box-sizing: border-box;
340
+ }.keylink-to-content {
341
+ position: absolute !important;
342
+ top: 8px;
343
+ left: 12px;
344
+ z-index: 1001;
268
345
  }.r-docs-container {
269
346
  min-height: calc(100dvh - var(--r-header-height));
270
347
  overflow-wrap: break-word;
@@ -284,175 +361,46 @@
284
361
  .r-docs-container {
285
362
  column-gap: 40px;
286
363
  grid-template-areas: "sidebar breadcrumbs contents" "sidebar content contents" "sidebar pagination contents";
287
- grid-template-columns: 1fr 640px 1fr;
288
- grid-template-rows: auto 1fr auto;
289
- }
290
- }.r-page-container {
291
- min-height: calc(100dvh - var(--r-header-height));
292
- overflow-wrap: break-word;
293
- box-sizing: border-box;
294
- }.r-blog-container {
295
- min-height: calc(100dvh - var(--r-header-height));
296
- overflow-wrap: break-word;
297
- box-sizing: border-box;
298
- }
299
- @media screen and (width >= 1180px) {
300
- .r-blog-container {
301
- display: grid;
302
- justify-content: space-between;
303
- column-gap: 40px;
304
- grid-template-areas: "breadcrumbs contents" "content contents" "pagination contents";
305
- grid-template-columns: 760px 220px;
364
+ grid-template-columns: 200px 640px 1fr;
306
365
  grid-template-rows: auto 1fr auto;
307
366
  }
308
- }.r-header {
309
- position: sticky;
310
- background-color: var(--r-main-50);
311
- top: 0;
312
- border-bottom: 1px solid var(--r-main-300);
313
- height: 60px;
314
- z-index: 1000;
315
- box-sizing: border-box;
367
+ }.r-keylink.keylink-to-navigation:focus {
368
+ margin-top: -40px;
369
+ }.r-footer {
370
+ border-top: 1px solid var(--r-main-300);
371
+ padding-top: 16px;
372
+ padding-bottom: 16px;
316
373
  }
317
374
 
318
- .r-header-body {
319
- height: 100%;
375
+ .r-footer-row {
320
376
  display: flex;
321
377
  justify-content: space-between;
322
378
  align-items: center;
323
- gap: 24px;
324
- box-sizing: border-box;
325
- }
326
-
327
- .r-header-logo {
328
- display: block;
329
- margin-right: 24px;
330
- color: var(--r-main-700);
331
- transition: color 0.2s;
332
- box-sizing: border-box;
333
- }
334
- .r-header-logo:hover, .r-header-logo:focus {
335
- color: var(--r-main-950);
336
- }
337
-
338
- .r-header-nav {
339
- display: flex;
340
- flex-direction: column;
341
- gap: 12px 16px;
342
- }
343
- @media screen and (width >= 1024px) {
344
- .r-header-nav {
345
- flex-direction: row;
346
- }
347
- }
348
-
349
- .r-header-link {
350
- color: var(--r-main-600);
351
- text-decoration: none;
352
- padding: 4px 0;
353
- transition: color 0.2s;
354
- box-sizing: border-box;
355
- }
356
- .r-header-link:hover, .r-header-link:focus-visible {
357
- color: var(--r-main-950);
358
- }
359
-
360
- .r-header-link._target {
361
- color: var(--r-primary-800);
362
- }
363
- .r-header-link._target:hover, .r-header-link._target:focus-visible {
364
- color: var(--r-primary-700);
365
- }
366
-
367
- .r-header-actions {
368
- display: flex;
369
- flex-direction: column-reverse;
370
- gap: 16px;
371
- align-items: stretch;
372
- }
373
- @media screen and (width >= 1024px) {
374
- .r-header-actions {
375
- flex-direction: row;
376
- align-items: center;
377
- gap: 28px;
378
- }
379
- }
380
-
381
- .r-header-sections {
382
- display: flex;
383
- align-items: center;
384
- gap: 12px;
385
- }
386
- @media screen and (width < 768px) {
387
- .r-header-sections .r-dropdown {
388
- flex: 1;
389
- }
390
- }
391
- @media screen and (width < 768px) {
392
- .r-header-sections .r-dropdown-drop {
393
- max-width: none;
394
- width: 100%;
395
- left: 0;
396
- }
397
- }.keylink-to-content {
398
- position: absolute !important;
399
- top: 8px;
400
- left: 12px;
401
- z-index: 1001;
402
- }.r-keylink.keylink-to-navigation:focus {
403
- margin-top: -40px;
404
- }.r-article {
405
- padding: 20px 0 40px;
406
- grid-area: content;
407
- }
408
- @media screen and (width >= 1180px) {
409
- .r-article {
410
- padding: 32px 0 40px;
411
- }
412
- }
413
- .r-article > *:first-child {
414
- margin-top: 0;
415
- }
416
- .r-article > *:last-child {
417
- margin-bottom: 0;
418
- }
419
-
420
- .r-checkbox {
421
- cursor: pointer;
422
- width: 20px;
423
- height: 20px;
424
- margin: 4px;
425
- vertical-align: middle;
426
- box-sizing: border-box;
379
+ gap: 32px;
427
380
  }
428
381
 
429
- .r-label {
430
- cursor: pointer;
382
+ .r-footer-additional {
383
+ margin-top: 20px;
384
+ justify-content: flex-end;
431
385
  }
432
386
 
433
- .r-task-ol,
434
- .r-task-ul {
435
- list-style: none;
387
+ .r-copyright {
388
+ color: var(--r-main-800);
436
389
  }
437
390
 
438
- .r-task-label {
391
+ .r-powered {
392
+ font-size: 14px;
439
393
  display: block;
440
- width: 100%;
441
- padding-top: 2px;
442
- padding-bottom: 2px;
443
- box-sizing: border-box;
444
- }
445
- .r-task-label:hover .r-checkbox {
446
- filter: brightness(0.8);
394
+ color: var(--r-main-600);
447
395
  }
448
396
 
449
- .r-task-li.r-task-li {
450
- margin-block-start: 2px;
451
- margin-block-end: 2px;
397
+ .r-powered-link {
398
+ font-weight: 600;
399
+ text-decoration: none;
400
+ color: var(--r-main-950);
452
401
  }
453
-
454
- .r-label-text {
455
- vertical-align: middle;
402
+ .r-powered-link:hover {
403
+ color: var(--r-primary-900);
456
404
  }.r-sidebar {
457
405
  grid-area: sidebar;
458
406
  box-sizing: border-box;
@@ -725,84 +673,58 @@
725
673
 
726
674
  .r-sidebar-drop[open] > .r-sidebar-drop-btn > .r-sidebar-drop-icon {
727
675
  transform: rotate(90deg);
728
- }.r-container {
729
- max-width: 1180px;
730
- padding-right: 12px;
731
- padding-left: 12px;
732
- margin-right: auto;
733
- margin-left: auto;
734
- box-sizing: border-box;
735
- }.r-theme-switcher {
736
- position: relative;
737
- display: flex;
738
- gap: 4px;
739
- width: 108px;
740
- height: 36px;
741
- padding: 2px;
742
- background-color: var(--r-main-950);
743
- border-radius: 14px;
744
- box-sizing: border-box;
676
+ }.r-article {
677
+ padding: 20px 0 40px;
678
+ grid-area: content;
745
679
  }
746
- .r-theme-switcher::before {
747
- content: "";
748
- position: absolute;
749
- display: block;
750
- height: 32px;
751
- width: 32px;
752
- top: 2px;
753
- left: 2px;
754
- background-color: var(--r-main-50);
755
- border-radius: 12px;
756
- transition: left 0.2s;
757
- box-sizing: border-box;
680
+ @media screen and (width >= 1180px) {
681
+ .r-article {
682
+ padding: 32px 0 40px;
683
+ }
758
684
  }
759
-
760
- .r-theme-switcher-btn {
761
- padding: 8px;
762
- background: none;
763
- border: 0;
764
- border-radius: 12px;
765
- cursor: pointer;
766
- color: var(--r-main-50);
767
- fill: var(--r-main-950);
768
- z-index: 1;
769
- transition: color 0.2s 0.1s, fill 0.2s;
685
+ .r-article > *:first-child {
686
+ margin-top: 0;
770
687
  }
771
- .r-theme-switcher-btn:hover {
772
- color: var(--r-main-50);
773
- fill: var(--r-main-50);
688
+ .r-article > *:last-child {
689
+ margin-bottom: 0;
774
690
  }
775
691
 
776
- .r-theme-dark:not(.r-theme-system) .r-theme-switcher::before {
777
- left: 2px;
692
+ .r-checkbox {
693
+ cursor: pointer;
694
+ width: 20px;
695
+ height: 20px;
696
+ margin: 4px;
697
+ vertical-align: middle;
698
+ box-sizing: border-box;
778
699
  }
779
700
 
780
- .r-theme-dark:not(.r-theme-system) .r-theme-switcher-btn__dark {
781
- color: var(--r-main-950);
782
- pointer-events: none;
701
+ .r-label {
702
+ cursor: pointer;
783
703
  }
784
704
 
785
- .r-theme-switcher::before,
786
- .r-theme-system .r-theme-switcher::before {
787
- left: 38px;
705
+ .r-task-ol,
706
+ .r-task-ul {
707
+ list-style: none;
788
708
  }
789
709
 
790
- .r-theme-system .r-theme-switcher-btn__system {
791
- color: var(--r-main-950);
792
- pointer-events: none;
710
+ .r-task-label {
711
+ display: block;
712
+ width: 100%;
713
+ padding-top: 2px;
714
+ padding-bottom: 2px;
715
+ box-sizing: border-box;
793
716
  }
794
-
795
- .r-theme-light:not(.r-theme-system) .r-theme-switcher::before {
796
- left: 74px;
717
+ .r-task-label:hover .r-checkbox {
718
+ filter: brightness(0.8);
797
719
  }
798
720
 
799
- .r-theme-light:not(.r-theme-system) .r-theme-switcher-btn__light {
800
- color: var(--r-main-950);
801
- pointer-events: none;
721
+ .r-task-li.r-task-li {
722
+ margin-block-start: 2px;
723
+ margin-block-end: 2px;
802
724
  }
803
725
 
804
- .r-theme-switcher-svg {
805
- display: block;
726
+ .r-label-text {
727
+ vertical-align: middle;
806
728
  }.r-header-menu {
807
729
  display: flex;
808
730
  justify-content: flex-end;
@@ -973,7 +895,7 @@
973
895
  }
974
896
 
975
897
  .r-search-results {
976
- padding: 12px 8px 8px;
898
+ padding: 2px 8px 8px;
977
899
  max-height: min(400px, 100dvh - 200px);
978
900
  overflow-y: auto;
979
901
  list-style: none;
@@ -996,7 +918,8 @@
996
918
  }
997
919
  .r-search-item:hover, .r-search-item:focus {
998
920
  color: var(--r-main-950);
999
- background-color: var(--r-main-50);
921
+ background-color: var(--r-main-100);
922
+ border-color: var(--r-main-200);
1000
923
  }
1001
924
 
1002
925
  .r-search-item-title {
@@ -1104,6 +1027,13 @@
1104
1027
  }
1105
1028
  .r-header-social-git:hover, .r-header-social-git:focus {
1106
1029
  color: var(--r-main-950);
1030
+ }.r-container {
1031
+ max-width: 1180px;
1032
+ padding-right: 12px;
1033
+ padding-left: 12px;
1034
+ margin-right: auto;
1035
+ margin-left: auto;
1036
+ box-sizing: border-box;
1107
1037
  }.r-keylink {
1108
1038
  display: block;
1109
1039
  position: relative;
@@ -1124,6 +1054,193 @@
1124
1054
  user-select: none;
1125
1055
  pointer-events: none;
1126
1056
  box-sizing: border-box;
1057
+ }.r-theme-switcher {
1058
+ position: relative;
1059
+ display: flex;
1060
+ gap: 4px;
1061
+ width: 108px;
1062
+ height: 36px;
1063
+ padding: 2px;
1064
+ background-color: var(--r-main-950);
1065
+ border-radius: 14px;
1066
+ box-sizing: border-box;
1067
+ }
1068
+ .r-theme-switcher::before {
1069
+ content: "";
1070
+ position: absolute;
1071
+ display: block;
1072
+ height: 32px;
1073
+ width: 32px;
1074
+ top: 2px;
1075
+ left: 2px;
1076
+ background-color: var(--r-main-50);
1077
+ border-radius: 12px;
1078
+ transition: left 0.2s;
1079
+ box-sizing: border-box;
1080
+ }
1081
+
1082
+ .r-theme-switcher-btn {
1083
+ padding: 8px;
1084
+ background: none;
1085
+ border: 0;
1086
+ border-radius: 12px;
1087
+ cursor: pointer;
1088
+ color: var(--r-main-50);
1089
+ fill: var(--r-main-950);
1090
+ z-index: 1;
1091
+ transition: color 0.2s 0.1s, fill 0.2s;
1092
+ }
1093
+ .r-theme-switcher-btn:hover {
1094
+ color: var(--r-main-50);
1095
+ fill: var(--r-main-50);
1096
+ }
1097
+
1098
+ .r-theme-dark:not(.r-theme-system) .r-theme-switcher::before {
1099
+ left: 2px;
1100
+ }
1101
+
1102
+ .r-theme-dark:not(.r-theme-system) .r-theme-switcher-btn__dark {
1103
+ color: var(--r-main-950);
1104
+ pointer-events: none;
1105
+ }
1106
+
1107
+ .r-theme-switcher::before,
1108
+ .r-theme-system .r-theme-switcher::before {
1109
+ left: 38px;
1110
+ }
1111
+
1112
+ .r-theme-system .r-theme-switcher-btn__system {
1113
+ color: var(--r-main-950);
1114
+ pointer-events: none;
1115
+ }
1116
+
1117
+ .r-theme-light:not(.r-theme-system) .r-theme-switcher::before {
1118
+ left: 74px;
1119
+ }
1120
+
1121
+ .r-theme-light:not(.r-theme-system) .r-theme-switcher-btn__light {
1122
+ color: var(--r-main-950);
1123
+ pointer-events: none;
1124
+ }
1125
+
1126
+ .r-theme-switcher-svg {
1127
+ display: block;
1128
+ }.r-breadcrumbs {
1129
+ grid-area: breadcrumbs;
1130
+ list-style: none;
1131
+ margin: 0;
1132
+ padding: 20px 0 0;
1133
+ line-height: 2;
1134
+ }
1135
+ @media screen and (width >= 768px) {
1136
+ .r-breadcrumbs {
1137
+ padding: 32px 0 0;
1138
+ }
1139
+ }
1140
+
1141
+ .r-breadcrumb {
1142
+ display: inline;
1143
+ }
1144
+
1145
+ .r-breadcrumb._previous::after {
1146
+ content: "/";
1147
+ font-weight: 600;
1148
+ margin-inline: 8px;
1149
+ }
1150
+
1151
+ .r-breadcrumb-link {
1152
+ color: var(--r-main-700);
1153
+ text-decoration: none;
1154
+ }
1155
+ .r-breadcrumb-link:hover {
1156
+ color: var(--r-primary-800);
1157
+ }
1158
+
1159
+ .r-breadcrumb-link,
1160
+ .r-breadcrumb-title {
1161
+ display: inline;
1162
+ padding: 6px 0;
1163
+ margin: 0;
1164
+ }
1165
+
1166
+ .r-breadcrumb-title {
1167
+ color: var(--r-main-950);
1168
+ font-weight: 600;
1169
+ }.r-pagination {
1170
+ grid-area: pagination;
1171
+ display: grid;
1172
+ grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
1173
+ gap: 16px;
1174
+ margin-bottom: 40px;
1175
+ }
1176
+
1177
+ .r-pagination-item {
1178
+ position: relative;
1179
+ padding-top: 8px;
1180
+ padding-bottom: 8px;
1181
+ text-decoration: none;
1182
+ font-size: 14px;
1183
+ color: var(--r-main-800);
1184
+ }
1185
+ .r-pagination-item:hover {
1186
+ color: var(--r-main-950);
1187
+ }
1188
+
1189
+ .r-pagination-item._prev {
1190
+ padding-left: 28px;
1191
+ }
1192
+
1193
+ .r-pagination-item._next {
1194
+ text-align: right;
1195
+ padding-right: 28px;
1196
+ }
1197
+
1198
+ .r-pagination-text {
1199
+ display: block;
1200
+ line-height: 2;
1201
+ }
1202
+
1203
+ .r-pagination-title {
1204
+ font-weight: 600;
1205
+ font-size: 16px;
1206
+ }
1207
+
1208
+ .r-pagination-icon {
1209
+ position: absolute;
1210
+ top: 50%;
1211
+ transform: translateY(-50%);
1212
+ transition: transform 0.2s;
1213
+ }
1214
+
1215
+ .r-pagination-icon._prev {
1216
+ left: 0;
1217
+ }
1218
+ .r-pagination-item:hover .r-pagination-icon._prev {
1219
+ transform: translate(-4px, -50%);
1220
+ }
1221
+ @media screen and (width >= 1180px) {
1222
+ .r-pagination-item:hover .r-pagination-icon._prev {
1223
+ transform: translate(-8px, -50%);
1224
+ }
1225
+ }
1226
+
1227
+ .r-pagination-icon._next {
1228
+ right: 0;
1229
+ }
1230
+ .r-pagination-item:hover .r-pagination-icon._next {
1231
+ transform: translate(4px, -50%);
1232
+ }
1233
+ @media screen and (width >= 1180px) {
1234
+ .r-pagination-item:hover .r-pagination-icon._next {
1235
+ transform: translate(8px, -50%);
1236
+ }
1237
+ }
1238
+
1239
+ .r-pagination-svg {
1240
+ display: block;
1241
+ }.r-last-modified {
1242
+ color: var(--r-main-700);
1243
+ margin-block-start: 16px;
1127
1244
  }.r-contents {
1128
1245
  grid-area: contents;
1129
1246
  }
@@ -1357,122 +1474,6 @@
1357
1474
  }
1358
1475
  .r-contents-git:hover {
1359
1476
  color: var(--r-main-900);
1360
- }.r-breadcrumbs {
1361
- grid-area: breadcrumbs;
1362
- list-style: none;
1363
- margin: 0;
1364
- padding: 20px 0 0;
1365
- line-height: 2;
1366
- }
1367
- @media screen and (width >= 768px) {
1368
- .r-breadcrumbs {
1369
- padding: 32px 0 0;
1370
- }
1371
- }
1372
-
1373
- .r-breadcrumb {
1374
- display: inline;
1375
- }
1376
-
1377
- .r-breadcrumb._previous::after {
1378
- content: "/";
1379
- font-weight: 600;
1380
- margin-inline: 8px;
1381
- }
1382
-
1383
- .r-breadcrumb-link {
1384
- color: var(--r-main-700);
1385
- text-decoration: none;
1386
- }
1387
- .r-breadcrumb-link:hover {
1388
- color: var(--r-primary-800);
1389
- }
1390
-
1391
- .r-breadcrumb-link,
1392
- .r-breadcrumb-title {
1393
- display: inline;
1394
- padding: 6px 0;
1395
- margin: 0;
1396
- }
1397
-
1398
- .r-breadcrumb-title {
1399
- color: var(--r-main-950);
1400
- font-weight: 600;
1401
- }.r-pagination {
1402
- grid-area: pagination;
1403
- display: grid;
1404
- grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
1405
- gap: 16px;
1406
- margin-bottom: 40px;
1407
- }
1408
-
1409
- .r-pagination-item {
1410
- position: relative;
1411
- padding-top: 8px;
1412
- padding-bottom: 8px;
1413
- text-decoration: none;
1414
- font-size: 14px;
1415
- color: var(--r-main-800);
1416
- }
1417
- .r-pagination-item:hover {
1418
- color: var(--r-main-950);
1419
- }
1420
-
1421
- .r-pagination-item._prev {
1422
- padding-left: 28px;
1423
- }
1424
-
1425
- .r-pagination-item._next {
1426
- text-align: right;
1427
- padding-right: 28px;
1428
- }
1429
-
1430
- .r-pagination-text {
1431
- display: block;
1432
- line-height: 2;
1433
- }
1434
-
1435
- .r-pagination-title {
1436
- font-weight: 600;
1437
- font-size: 16px;
1438
- }
1439
-
1440
- .r-pagination-icon {
1441
- position: absolute;
1442
- top: 50%;
1443
- transform: translateY(-50%);
1444
- transition: transform 0.2s;
1445
- }
1446
-
1447
- .r-pagination-icon._prev {
1448
- left: 0;
1449
- }
1450
- .r-pagination-item:hover .r-pagination-icon._prev {
1451
- transform: translate(-4px, -50%);
1452
- }
1453
- @media screen and (width >= 1180px) {
1454
- .r-pagination-item:hover .r-pagination-icon._prev {
1455
- transform: translate(-8px, -50%);
1456
- }
1457
- }
1458
-
1459
- .r-pagination-icon._next {
1460
- right: 0;
1461
- }
1462
- .r-pagination-item:hover .r-pagination-icon._next {
1463
- transform: translate(4px, -50%);
1464
- }
1465
- @media screen and (width >= 1180px) {
1466
- .r-pagination-item:hover .r-pagination-icon._next {
1467
- transform: translate(8px, -50%);
1468
- }
1469
- }
1470
-
1471
- .r-pagination-svg {
1472
- display: block;
1473
- }.r-last-modified {
1474
- color: var(--r-main-700);
1475
- margin-block-start: 16px;
1476
1477
  }.r-git-logo {
1477
1478
  display: block;
1478
1479
  }.r-external-mark {
@@ -1654,22 +1655,6 @@
1654
1655
 
1655
1656
  .r-code-span + .r-content-link-external {
1656
1657
  margin-left: -12px;
1657
- }.r-img {
1658
- max-width: 100%;
1659
- box-sizing: border-box;
1660
- }.r-code-block {
1661
- font-family: var(--monospace-font, monospace, monospace);
1662
- font-size: 16px;
1663
- line-height: 1.33;
1664
- border-radius: 6px;
1665
- padding: 16px 20px;
1666
- margin: 0;
1667
- color: var(--r-primary-800);
1668
- background-color: var(--r-main-50);
1669
- overflow-x: auto;
1670
- scrollbar-width: thin;
1671
- scrollbar-color: var(--r-main-200) transparent;
1672
- box-sizing: border-box;
1673
1658
  }.r-h1 {
1674
1659
  font-size: 32px;
1675
1660
  line-height: 1.4;
@@ -1710,10 +1695,26 @@
1710
1695
  line-height: 1.4;
1711
1696
  margin-block-start: 1.8em;
1712
1697
  margin-block-end: 1.8em;
1698
+ }.r-img {
1699
+ max-width: 100%;
1700
+ box-sizing: border-box;
1713
1701
  }.r-p {
1714
1702
  line-height: 1.8;
1715
1703
  margin-block-start: 1em;
1716
1704
  margin-block-end: 1em;
1705
+ }.r-code-block {
1706
+ font-family: var(--monospace-font, monospace, monospace);
1707
+ font-size: 16px;
1708
+ line-height: 1.33;
1709
+ border-radius: 6px;
1710
+ padding: 16px 20px;
1711
+ margin: 0;
1712
+ color: var(--r-primary-800);
1713
+ background-color: var(--r-main-50);
1714
+ overflow-x: auto;
1715
+ scrollbar-width: thin;
1716
+ scrollbar-color: var(--r-main-200) transparent;
1717
+ box-sizing: border-box;
1717
1718
  }.r-tabs {
1718
1719
  margin-block-start: 1.5em;
1719
1720
  margin-block-end: 1.75em;
@@ -1755,12 +1756,29 @@
1755
1756
 
1756
1757
  .r-tab-header-code {
1757
1758
  font-family: var(--monospace-font, monospace, monospace);
1759
+ }.r-kbd-key {
1760
+ background-color: var(--r-main-200);
1761
+ font-size: 12px;
1762
+ border-radius: 4px;
1763
+ padding: 5px 8px;
1764
+ min-width: 24px;
1765
+ text-align: center;
1766
+ box-sizing: border-box;
1767
+ }.r-kbd-container {
1768
+ display: flex;
1769
+ gap: 4px;
1770
+ font-size: 14px;
1771
+ cursor: pointer;
1772
+ }
1773
+ .r-kbd-container:hover {
1774
+ color: var(--r-main-950);
1758
1775
  }.r-modal {
1759
1776
  position: fixed;
1760
1777
  left: 0;
1761
1778
  bottom: 0;
1762
1779
  width: 100%;
1763
- background-color: var(--r-main-50);
1780
+ background-color: color-mix(in srgb, var(--r-main-50) 95%, transparent);
1781
+ border: 2px solid var(--r-main-200);
1764
1782
  border-radius: 12px 12px 0 0;
1765
1783
  opacity: 0;
1766
1784
  visibility: hidden;
@@ -1790,22 +1808,6 @@
1790
1808
  .r-modal._visible {
1791
1809
  transform: translateX(-50%) scale(1);
1792
1810
  }
1793
- }.r-kbd-container {
1794
- display: flex;
1795
- gap: 4px;
1796
- font-size: 14px;
1797
- cursor: pointer;
1798
- }
1799
- .r-kbd-container:hover {
1800
- color: var(--r-main-950);
1801
- }.r-kbd-key {
1802
- background-color: var(--r-main-200);
1803
- font-size: 12px;
1804
- border-radius: 4px;
1805
- padding: 5px 8px;
1806
- min-width: 24px;
1807
- text-align: center;
1808
- box-sizing: border-box;
1809
1811
  }.r-copy-button {
1810
1812
  position: relative;
1811
1813
  padding: 6px;
@@ -1849,6 +1851,34 @@
1849
1851
 
1850
1852
  .r-copy-button-svg {
1851
1853
  display: block;
1854
+ }.r-copy-text {
1855
+ position: relative;
1856
+ cursor: pointer;
1857
+ background: none;
1858
+ border: 0;
1859
+ padding: 0;
1860
+ font: inherit;
1861
+ padding: 6px 0;
1862
+ }
1863
+ .r-copy-text:hover {
1864
+ color: var(--r-main-950);
1865
+ }
1866
+ .r-copy-text::before {
1867
+ content: "";
1868
+ position: absolute;
1869
+ bottom: 0;
1870
+ left: 0;
1871
+ width: 100%;
1872
+ height: 1px;
1873
+ background: linear-gradient(to right, currentColor 30%, transparent 0%, transparent 80%, currentColor 80%) repeat-x 0px/8px;
1874
+ transition: background 0.2s;
1875
+ box-sizing: border-box;
1876
+ opacity: 0.6;
1877
+ }
1878
+
1879
+ .r-copy-text:active,
1880
+ .r-copy-text._active {
1881
+ color: var(--r-success);
1852
1882
  }.r-content-link {
1853
1883
  text-decoration: none;
1854
1884
  color: inherit;
@@ -1898,34 +1928,6 @@
1898
1928
  background-color: currentColor;
1899
1929
  border-radius: 0 0 0 4px;
1900
1930
  box-sizing: border-box;
1901
- }.r-copy-text {
1902
- position: relative;
1903
- cursor: pointer;
1904
- background: none;
1905
- border: 0;
1906
- padding: 0;
1907
- font: inherit;
1908
- padding: 6px 0;
1909
- }
1910
- .r-copy-text:hover {
1911
- color: var(--r-main-950);
1912
- }
1913
- .r-copy-text::before {
1914
- content: "";
1915
- position: absolute;
1916
- bottom: 0;
1917
- left: 0;
1918
- width: 100%;
1919
- height: 1px;
1920
- background: linear-gradient(to right, currentColor 30%, transparent 0%, transparent 80%, currentColor 80%) repeat-x 0px/8px;
1921
- transition: background 0.2s;
1922
- box-sizing: border-box;
1923
- opacity: 0.6;
1924
- }
1925
-
1926
- .r-copy-text:active,
1927
- .r-copy-text._active {
1928
- color: var(--r-success);
1929
1931
  }.r-li {
1930
1932
  line-height: 1.8;
1931
1933
  margin-block-start: 6px;
@@ -1945,15 +1947,15 @@
1945
1947
  padding-inline-start: 2rem;
1946
1948
  margin-block-start: 1em;
1947
1949
  margin-block-end: 1em;
1948
- }.r-td {
1949
- padding: 6px 12px;
1950
- border-bottom: 1px solid var(--r-main-400);
1951
- border-collapse: collapse;
1952
1950
  }.r-table {
1953
1951
  min-width: 100%;
1954
1952
  text-align: left;
1955
1953
  border-collapse: collapse;
1956
1954
  box-sizing: border-box;
1955
+ }.r-td {
1956
+ padding: 6px 12px;
1957
+ border-bottom: 1px solid var(--r-main-400);
1958
+ border-collapse: collapse;
1957
1959
  }.r-th {
1958
1960
  padding: 6px 12px;
1959
1961
  border-top: 1px solid var(--r-main-500);
@@ -1961,10 +1963,6 @@
1961
1963
  border-collapse: collapse;
1962
1964
  }.r-thead {
1963
1965
  background-color: var(--r-main-100);
1964
- }.r-task-ul {
1965
- list-style: none;
1966
- }.r-task-ol {
1967
- list-style: none;
1968
1966
  }.r-task-li.r-task-li {
1969
1967
  margin-block-start: 2px;
1970
1968
  margin-block-end: 2px;
@@ -1994,24 +1992,28 @@
1994
1992
 
1995
1993
  .r-task-label-text {
1996
1994
  vertical-align: middle;
1995
+ }.r-task-ol {
1996
+ list-style: none;
1997
+ }.r-task-ul {
1998
+ list-style: none;
1997
1999
  }.r-backdrop {
1998
2000
  position: fixed;
1999
2001
  top: 0;
2000
2002
  right: 0;
2001
2003
  bottom: 0;
2002
2004
  left: 0;
2003
- background: rgba(0, 0, 0, 0);
2005
+ background: color-mix(in srgb, var(--r-main-900) 0%, transparent 100%);
2004
2006
  opacity: 0;
2005
2007
  visibility: hidden;
2006
2008
  pointer-events: none;
2007
- backdrop-filter: blur(1px);
2009
+ backdrop-filter: blur(4px);
2008
2010
  transition: background 0.05s, opacity 0.2s, visibility 0.01s 0.15s;
2009
2011
  z-index: 100;
2010
2012
  }
2011
2013
 
2012
2014
  .r-backdrop._visible {
2013
2015
  opacity: 1;
2014
- background: rgba(0, 0, 0, 0.3);
2016
+ background: color-mix(in srgb, var(--r-main-900) 10%, transparent 100%);
2015
2017
  visibility: visible;
2016
2018
  transition: background 0.05s, opacity 0.2s;
2017
2019
  pointer-events: all;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "robindoc",
3
- "version": "0.0.0-experimental-ed3adfc",
3
+ "version": "0.0.0-experimental-4f05ca6",
4
4
  "description": "Robindoc is a framework for automatically creating documentation websites based on markdown files, built on React.js Server Components",
5
5
  "main": "./lib/index.js",
6
6
  "scripts": {