robindoc 0.0.0-experimental-8087dfb → 0.0.0-experimental-68d72b2

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 Alex Savelyev <dev@alexdln.com>
3
+ Copyright (c) 2026 Alex Savelyev <dev@alexdln.com>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -21,7 +21,7 @@ const DocumentationPage = () => (
21
21
  <Sidebar pathname="/docs" />
22
22
  <Page pathname="/docs" />
23
23
  </DocsContainer>
24
- <Footer copyright="© 2024 All rights reserved" />
24
+ <Footer copyright="© 2026 All rights reserved" />
25
25
  </RobinProvider>
26
26
  );
27
27
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/components/contexts/contents/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAkD9D,CAAC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/components/contexts/contents/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAoD9D,CAAC"}
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import e,{useState as t,useRef as n,useCallback as r,useEffect as o}from"react";import{HeadingsContext as c,CurrentHeadingContext as i}from"./context.js";const d=({children:d})=>{const[l,u]=t({from:0,to:0}),m=n([]),s=r(()=>{const e=m.current.findLastIndex(e=>e.getBoundingClientRect().top<40),t=e+1,n=m.current.slice(t).findIndex(e=>e.getBoundingClientRect().top<window.innerHeight)+t,r=-1===n?m.current.length:n;u(t=>t.from!==e||t.to!==r?{from:e,to:r}:t)},[]);return o(()=>{let e=!1;const t=document.querySelector(".r-root");if(!t)return;const n=t===document.documentElement?window:t,r=()=>{!e&&window.innerWidth>1080&&(e=!0,setTimeout(()=>{s(),e=!1},100))};return s(),n.addEventListener("scroll",r),()=>{n.removeEventListener("scroll",r)}},[]),e.createElement(c.Provider,{value:m.current},e.createElement(i.Provider,{value:l},d))};export{d as ContentsProvider};
2
+ import e,{useState as t,useRef as r,useCallback as n,useEffect as o}from"react";import{HeadingsContext as c,CurrentHeadingContext as i}from"./context.js";const l=({children:l})=>{const[u,d]=t({from:0,to:0}),m=r([]),s=n(()=>{const e=m.current.findLastIndex(e=>e.getBoundingClientRect().top<40),t=e+1;let r=m.current.length-1;for(let e=t;e<m.current.length;e++)if(m.current[e].getBoundingClientRect().top>window.innerHeight){r=e-1;break}d(t=>t.from!==e||t.to!==r?{from:e,to:r}:t)},[]);return o(()=>{let e=!1;const t=document.querySelector(".r-root");if(!t)return;const r=t===document.documentElement?window:t,n=()=>{!e&&window.innerWidth>1080&&(e=!0,setTimeout(()=>{s(),e=!1},100))};return s(),r.addEventListener("scroll",n),()=>{r.removeEventListener("scroll",n)}},[]),e.createElement(c.Provider,{value:m.current},e.createElement(i.Provider,{value:u},l))};export{l as ContentsProvider};
3
3
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sources":["../../../../src/components/contexts/contents/provider.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { CurrentHeadingContext, HeadingsContext } from \"./context\";\n\nexport const ContentsProvider: React.FC<React.PropsWithChildren> = ({ children }) => {\n const [activeIndex, setActiveIndex] = useState<{ from: number; to: number }>({ from: 0, to: 0 });\n const headings = useRef<HTMLHeadingElement[]>([]);\n\n const updateTargetSection = useCallback(() => {\n const fromIndex = headings.current.findLastIndex((el) => el.getBoundingClientRect().top < 40);\n const searchToStartIndex = fromIndex + 1;\n const toIndex =\n headings.current\n .slice(searchToStartIndex)\n .findIndex((el) => el.getBoundingClientRect().top < window.innerHeight) + searchToStartIndex;\n\n const finalToIndex = toIndex === -1 ? headings.current.length : toIndex;\n\n setActiveIndex((prev) =>\n prev.from !== fromIndex || prev.to !== finalToIndex ? { from: fromIndex, to: finalToIndex } : prev,\n );\n }, []);\n\n useEffect(() => {\n let scheduledAnimationFrame = false;\n const rootElement = document.querySelector<HTMLElement>(\".r-root\");\n\n if (!rootElement) return;\n\n const scrollElement = rootElement === document.documentElement ? window : rootElement;\n\n const scrollHandler = () => {\n if (!scheduledAnimationFrame && window.innerWidth > 1080) {\n scheduledAnimationFrame = true;\n setTimeout(() => {\n updateTargetSection();\n scheduledAnimationFrame = false;\n }, 100);\n }\n };\n\n updateTargetSection();\n scrollElement.addEventListener(\"scroll\", scrollHandler);\n\n return () => {\n scrollElement.removeEventListener(\"scroll\", scrollHandler);\n };\n }, []);\n\n return (\n <HeadingsContext.Provider value={headings.current}>\n <CurrentHeadingContext.Provider value={activeIndex}>{children}</CurrentHeadingContext.Provider>\n </HeadingsContext.Provider>\n );\n};\n"],"names":["ContentsProvider","children","activeIndex","setActiveIndex","useState","from","to","headings","useRef","updateTargetSection","useCallback","fromIndex","current","findLastIndex","el","getBoundingClientRect","top","searchToStartIndex","toIndex","slice","findIndex","window","innerHeight","finalToIndex","length","prev","useEffect","scheduledAnimationFrame","rootElement","document","querySelector","scrollElement","documentElement","scrollHandler","innerWidth","setTimeout","addEventListener","removeEventListener","React","createElement","HeadingsContext","Provider","value","CurrentHeadingContext"],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sources":["../../../../src/components/contexts/contents/provider.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { CurrentHeadingContext, HeadingsContext } from \"./context\";\n\nexport const ContentsProvider: React.FC<React.PropsWithChildren> = ({ children }) => {\n const [activeIndex, setActiveIndex] = useState<{ from: number; to: number }>({ from: 0, to: 0 });\n const headings = useRef<HTMLHeadingElement[]>([]);\n\n const updateTargetSection = useCallback(() => {\n const fromIndex = headings.current.findLastIndex((el) => el.getBoundingClientRect().top < 40);\n const searchToStartIndex = fromIndex + 1;\n let toIndex = headings.current.length - 1;\n\n for (let i = searchToStartIndex; i < headings.current.length; i++) {\n if (headings.current[i].getBoundingClientRect().top > window.innerHeight) {\n toIndex = i - 1;\n break;\n }\n }\n\n setActiveIndex((prev) =>\n prev.from !== fromIndex || prev.to !== toIndex ? { from: fromIndex, to: toIndex } : prev,\n );\n }, []);\n\n useEffect(() => {\n let scheduledAnimationFrame = false;\n const rootElement = document.querySelector<HTMLElement>(\".r-root\");\n\n if (!rootElement) return;\n\n const scrollElement = rootElement === document.documentElement ? window : rootElement;\n\n const scrollHandler = () => {\n if (!scheduledAnimationFrame && window.innerWidth > 1080) {\n scheduledAnimationFrame = true;\n setTimeout(() => {\n updateTargetSection();\n scheduledAnimationFrame = false;\n }, 100);\n }\n };\n\n updateTargetSection();\n scrollElement.addEventListener(\"scroll\", scrollHandler);\n\n return () => {\n scrollElement.removeEventListener(\"scroll\", scrollHandler);\n };\n }, []);\n\n return (\n <HeadingsContext.Provider value={headings.current}>\n <CurrentHeadingContext.Provider value={activeIndex}>{children}</CurrentHeadingContext.Provider>\n </HeadingsContext.Provider>\n );\n};\n"],"names":["ContentsProvider","children","activeIndex","setActiveIndex","useState","from","to","headings","useRef","updateTargetSection","useCallback","fromIndex","current","findLastIndex","el","getBoundingClientRect","top","searchToStartIndex","toIndex","length","i","window","innerHeight","prev","useEffect","scheduledAnimationFrame","rootElement","document","querySelector","scrollElement","documentElement","scrollHandler","innerWidth","setTimeout","addEventListener","removeEventListener","React","createElement","HeadingsContext","Provider","value","CurrentHeadingContext"],"mappings":"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"}
package/lib/styles.css CHANGED
@@ -376,6 +376,10 @@
376
376
  grid-template-columns: 1fr 640px 1fr;
377
377
  grid-template-rows: auto 1fr auto;
378
378
  }
379
+ }.r-page-container {
380
+ min-height: calc(100dvh - var(--r-header-height));
381
+ overflow-wrap: break-word;
382
+ box-sizing: border-box;
379
383
  }.r-blog-container {
380
384
  min-height: calc(100dvh - var(--r-header-height));
381
385
  overflow-wrap: break-word;
@@ -390,17 +394,13 @@
390
394
  grid-template-columns: 760px 220px;
391
395
  grid-template-rows: auto 1fr auto;
392
396
  }
393
- }.r-page-container {
394
- min-height: calc(100dvh - var(--r-header-height));
395
- overflow-wrap: break-word;
396
- box-sizing: border-box;
397
- }.r-keylink.keylink-to-navigation:focus {
398
- margin-top: -40px;
399
397
  }.keylink-to-content {
400
398
  position: absolute !important;
401
399
  top: 8px;
402
400
  left: 12px;
403
401
  z-index: 1001;
402
+ }.r-keylink.keylink-to-navigation:focus {
403
+ margin-top: -40px;
404
404
  }.r-article {
405
405
  padding: 20px 0 40px;
406
406
  grid-area: content;
@@ -725,6 +725,94 @@
725
725
 
726
726
  .r-sidebar-drop[open] > .r-sidebar-drop-btn > .r-sidebar-drop-icon {
727
727
  transform: rotate(90deg);
728
+ }.r-header-menu {
729
+ display: flex;
730
+ justify-content: flex-end;
731
+ order: 1;
732
+ }
733
+ @media screen and (width >= 1024px) {
734
+ .r-header-menu {
735
+ flex: 1;
736
+ order: unset;
737
+ }
738
+ }
739
+
740
+ .r-header-input:checked ~ .r-header-burger ~ .r-header-responsive {
741
+ display: flex;
742
+ }
743
+
744
+ .r-header-responsive {
745
+ display: none;
746
+ justify-content: flex-end;
747
+ flex: 1;
748
+ gap: 24px;
749
+ z-index: 1;
750
+ }
751
+ @media screen and (width < 1024px) {
752
+ .r-header-responsive {
753
+ flex-direction: column-reverse;
754
+ padding: 12px;
755
+ background-color: var(--r-main-50);
756
+ position: fixed;
757
+ top: 60px;
758
+ right: 0;
759
+ bottom: 0;
760
+ left: 0;
761
+ }
762
+ }
763
+ @media screen and (width >= 1024px) {
764
+ .r-header-responsive {
765
+ display: flex;
766
+ justify-content: space-between;
767
+ align-items: center;
768
+ }
769
+ }
770
+
771
+ .r-header-burger {
772
+ position: relative;
773
+ display: flex;
774
+ align-items: center;
775
+ justify-content: center;
776
+ height: 32px;
777
+ width: 32px;
778
+ cursor: pointer;
779
+ background: none;
780
+ border: none;
781
+ box-sizing: border-box;
782
+ }
783
+ @media screen and (width >= 1024px) {
784
+ .r-header-burger {
785
+ display: none;
786
+ }
787
+ }
788
+
789
+ .r-burger-line {
790
+ display: block;
791
+ width: 20px;
792
+ height: 1.5px;
793
+ position: absolute;
794
+ background-color: var(--r-main-700);
795
+ margin: auto;
796
+ transition: transform 0.3s;
797
+ box-sizing: border-box;
798
+ }
799
+
800
+ .r-burger-line._top {
801
+ transform: translateY(-3px);
802
+ }
803
+
804
+ .r-header-input:checked ~ .r-header-burger .r-burger-line._top {
805
+ transform: translateY(0) rotate(45deg);
806
+ margin-top: 0;
807
+ }
808
+
809
+ .r-burger-line._bottom {
810
+ transform: translateY(3px);
811
+ }
812
+
813
+ .r-header-input:checked ~ .r-header-burger .r-burger-line._bottom {
814
+ transform: translateY(0) rotate(-45deg);
815
+ margin-top: 0;
728
816
  }.r-search-btn {
729
817
  position: relative;
730
818
  border-radius: 6px;
@@ -841,112 +929,6 @@
841
929
  font-size: 14px;
842
930
  color: var(--r-main-600);
843
931
  margin: 12px 0 0;
844
- }.r-header-menu {
845
- display: flex;
846
- justify-content: flex-end;
847
- order: 1;
848
- }
849
- @media screen and (width >= 1024px) {
850
- .r-header-menu {
851
- flex: 1;
852
- order: unset;
853
- }
854
- }
855
-
856
- .r-header-input:checked ~ .r-header-burger ~ .r-header-responsive {
857
- display: flex;
858
- }
859
-
860
- .r-header-responsive {
861
- display: none;
862
- justify-content: flex-end;
863
- flex: 1;
864
- gap: 24px;
865
- z-index: 1;
866
- }
867
- @media screen and (width < 1024px) {
868
- .r-header-responsive {
869
- flex-direction: column-reverse;
870
- padding: 12px;
871
- background-color: var(--r-main-50);
872
- position: fixed;
873
- top: 60px;
874
- right: 0;
875
- bottom: 0;
876
- left: 0;
877
- }
878
- }
879
- @media screen and (width >= 1024px) {
880
- .r-header-responsive {
881
- display: flex;
882
- justify-content: space-between;
883
- align-items: center;
884
- }
885
- }
886
-
887
- .r-header-burger {
888
- position: relative;
889
- display: flex;
890
- align-items: center;
891
- justify-content: center;
892
- height: 32px;
893
- width: 32px;
894
- cursor: pointer;
895
- background: none;
896
- border: none;
897
- box-sizing: border-box;
898
- }
899
- @media screen and (width >= 1024px) {
900
- .r-header-burger {
901
- display: none;
902
- }
903
- }
904
-
905
- .r-burger-line {
906
- display: block;
907
- width: 20px;
908
- height: 1.5px;
909
- position: absolute;
910
- background-color: var(--r-main-700);
911
- margin: auto;
912
- transition: transform 0.3s;
913
- box-sizing: border-box;
914
- }
915
-
916
- .r-burger-line._top {
917
- transform: translateY(-3px);
918
- }
919
-
920
- .r-header-input:checked ~ .r-header-burger .r-burger-line._top {
921
- transform: translateY(0) rotate(45deg);
922
- margin-top: 0;
923
- }
924
-
925
- .r-burger-line._bottom {
926
- transform: translateY(3px);
927
- }
928
-
929
- .r-header-input:checked ~ .r-header-burger .r-burger-line._bottom {
930
- transform: translateY(0) rotate(-45deg);
931
- margin-top: 0;
932
- }.r-header-social {
933
- display: flex;
934
- flex: 1;
935
- justify-content: flex-end;
936
- }
937
- @media screen and (width >= 1024px) {
938
- .r-header-social {
939
- flex: none;
940
- justify-content: unset;
941
- }
942
- }
943
-
944
- .r-header-social-git {
945
- color: var(--r-main-700);
946
- transition: color 0.2s;
947
- }
948
- .r-header-social-git:hover, .r-header-social-git:focus {
949
- color: var(--r-main-950);
950
932
  }.r-dropdown {
951
933
  position: relative;
952
934
  color: var(--r-main-600);
@@ -1026,6 +1008,24 @@
1026
1008
 
1027
1009
  .r-dropdown-link._active {
1028
1010
  color: var(--r-primary-700);
1011
+ }.r-header-social {
1012
+ display: flex;
1013
+ flex: 1;
1014
+ justify-content: flex-end;
1015
+ }
1016
+ @media screen and (width >= 1024px) {
1017
+ .r-header-social {
1018
+ flex: none;
1019
+ justify-content: unset;
1020
+ }
1021
+ }
1022
+
1023
+ .r-header-social-git {
1024
+ color: var(--r-main-700);
1025
+ transition: color 0.2s;
1026
+ }
1027
+ .r-header-social-git:hover, .r-header-social-git:focus {
1028
+ color: var(--r-main-950);
1029
1029
  }.r-container {
1030
1030
  max-width: 1180px;
1031
1031
  padding-right: 12px;
@@ -1124,47 +1124,6 @@
1124
1124
  user-select: none;
1125
1125
  pointer-events: none;
1126
1126
  box-sizing: border-box;
1127
- }.r-breadcrumbs {
1128
- grid-area: breadcrumbs;
1129
- list-style: none;
1130
- margin: 0;
1131
- padding: 20px 0 0;
1132
- line-height: 2;
1133
- }
1134
- @media screen and (width >= 768px) {
1135
- .r-breadcrumbs {
1136
- padding: 32px 0 0;
1137
- }
1138
- }
1139
-
1140
- .r-breadcrumb {
1141
- display: inline;
1142
- }
1143
-
1144
- .r-breadcrumb._previous::after {
1145
- content: "/";
1146
- font-weight: 600;
1147
- margin-inline: 8px;
1148
- }
1149
-
1150
- .r-breadcrumb-link {
1151
- color: var(--r-main-700);
1152
- text-decoration: none;
1153
- }
1154
- .r-breadcrumb-link:hover {
1155
- color: var(--r-primary-800);
1156
- }
1157
-
1158
- .r-breadcrumb-link,
1159
- .r-breadcrumb-title {
1160
- display: inline;
1161
- padding: 6px 0;
1162
- margin: 0;
1163
- }
1164
-
1165
- .r-breadcrumb-title {
1166
- color: var(--r-main-950);
1167
- font-weight: 600;
1168
1127
  }.r-contents {
1169
1128
  grid-area: contents;
1170
1129
  }
@@ -1398,6 +1357,50 @@
1398
1357
  }
1399
1358
  .r-contents-git:hover {
1400
1359
  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-last-modified {
1402
+ color: var(--r-main-700);
1403
+ margin-block-start: 16px;
1401
1404
  }.r-pagination {
1402
1405
  grid-area: pagination;
1403
1406
  display: grid;
@@ -1470,9 +1473,6 @@
1470
1473
 
1471
1474
  .r-pagination-svg {
1472
1475
  display: block;
1473
- }.r-last-modified {
1474
- color: var(--r-main-700);
1475
- margin-block-start: 16px;
1476
1476
  }.r-git-logo {
1477
1477
  display: block;
1478
1478
  }.r-external-mark {
@@ -1640,19 +1640,6 @@
1640
1640
  }
1641
1641
  .r-blockquote-caution .r-blockquote-title {
1642
1642
  color: var(--r-caution);
1643
- }.r-code-block {
1644
- font-family: var(--monospace-font, monospace, monospace);
1645
- font-size: 16px;
1646
- line-height: 1.33;
1647
- border-radius: 6px;
1648
- padding: 16px 20px;
1649
- margin: 0;
1650
- color: var(--r-primary-800);
1651
- background-color: var(--r-main-50);
1652
- overflow-x: auto;
1653
- scrollbar-width: thin;
1654
- scrollbar-color: var(--r-main-200) transparent;
1655
- box-sizing: border-box;
1656
1643
  }.r-code-span {
1657
1644
  font-family: var(--monospace-font, monospace, monospace);
1658
1645
  background-color: var(--r-main-100);
@@ -1667,6 +1654,19 @@
1667
1654
 
1668
1655
  .r-code-span + .r-content-link-external {
1669
1656
  margin-left: -12px;
1657
+ }.r-code-block {
1658
+ font-family: var(--monospace-font, monospace, monospace);
1659
+ font-size: 16px;
1660
+ line-height: 1.33;
1661
+ border-radius: 6px;
1662
+ padding: 16px 20px;
1663
+ margin: 0;
1664
+ color: var(--r-primary-800);
1665
+ background-color: var(--r-main-50);
1666
+ overflow-x: auto;
1667
+ scrollbar-width: thin;
1668
+ scrollbar-color: var(--r-main-200) transparent;
1669
+ box-sizing: border-box;
1670
1670
  }.r-h1 {
1671
1671
  font-size: 32px;
1672
1672
  line-height: 1.4;
@@ -1806,6 +1806,34 @@
1806
1806
  min-width: 24px;
1807
1807
  text-align: center;
1808
1808
  box-sizing: border-box;
1809
+ }.r-copy-text {
1810
+ position: relative;
1811
+ cursor: pointer;
1812
+ background: none;
1813
+ border: 0;
1814
+ padding: 0;
1815
+ font: inherit;
1816
+ padding: 6px 0;
1817
+ }
1818
+ .r-copy-text:hover {
1819
+ color: var(--r-main-950);
1820
+ }
1821
+ .r-copy-text::before {
1822
+ content: "";
1823
+ position: absolute;
1824
+ bottom: 0;
1825
+ left: 0;
1826
+ width: 100%;
1827
+ height: 1px;
1828
+ background: linear-gradient(to right, currentColor 30%, transparent 0%, transparent 80%, currentColor 80%) repeat-x 0px/8px;
1829
+ transition: background 0.2s;
1830
+ box-sizing: border-box;
1831
+ opacity: 0.6;
1832
+ }
1833
+
1834
+ .r-copy-text:active,
1835
+ .r-copy-text._active {
1836
+ color: var(--r-success);
1809
1837
  }.r-copy-button {
1810
1838
  position: relative;
1811
1839
  padding: 6px;
@@ -1849,34 +1877,6 @@
1849
1877
 
1850
1878
  .r-copy-button-svg {
1851
1879
  display: block;
1852
- }.r-copy-text {
1853
- position: relative;
1854
- cursor: pointer;
1855
- background: none;
1856
- border: 0;
1857
- padding: 0;
1858
- font: inherit;
1859
- padding: 6px 0;
1860
- }
1861
- .r-copy-text:hover {
1862
- color: var(--r-main-950);
1863
- }
1864
- .r-copy-text::before {
1865
- content: "";
1866
- position: absolute;
1867
- bottom: 0;
1868
- left: 0;
1869
- width: 100%;
1870
- height: 1px;
1871
- background: linear-gradient(to right, currentColor 30%, transparent 0%, transparent 80%, currentColor 80%) repeat-x 0px/8px;
1872
- transition: background 0.2s;
1873
- box-sizing: border-box;
1874
- opacity: 0.6;
1875
- }
1876
-
1877
- .r-copy-text:active,
1878
- .r-copy-text._active {
1879
- color: var(--r-success);
1880
1880
  }.r-content-link {
1881
1881
  text-decoration: none;
1882
1882
  color: inherit;
@@ -1945,15 +1945,20 @@
1945
1945
  padding-inline-start: 2rem;
1946
1946
  margin-block-start: 1em;
1947
1947
  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
1948
  }.r-table {
1953
1949
  min-width: 100%;
1954
1950
  text-align: left;
1955
1951
  border-collapse: collapse;
1956
1952
  box-sizing: border-box;
1953
+ }.r-td {
1954
+ padding: 6px 12px;
1955
+ border-bottom: 1px solid var(--r-main-400);
1956
+ border-collapse: collapse;
1957
+ }.r-th {
1958
+ padding: 6px 12px;
1959
+ border-top: 1px solid var(--r-main-500);
1960
+ border-bottom: 1px solid var(--r-main-500);
1961
+ border-collapse: collapse;
1957
1962
  }.r-thead {
1958
1963
  background-color: var(--r-main-100);
1959
1964
  }.r-task-li.r-task-li {
@@ -1985,11 +1990,6 @@
1985
1990
 
1986
1991
  .r-task-label-text {
1987
1992
  vertical-align: middle;
1988
- }.r-th {
1989
- padding: 6px 12px;
1990
- border-top: 1px solid var(--r-main-500);
1991
- border-bottom: 1px solid var(--r-main-500);
1992
- border-collapse: collapse;
1993
1993
  }.r-task-ol {
1994
1994
  list-style: none;
1995
1995
  }.r-task-ul {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "robindoc",
3
- "version": "0.0.0-experimental-8087dfb",
3
+ "version": "0.0.0-experimental-68d72b2",
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": {