@clarify-labs/renderer 0.10.0 → 0.10.2

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.
Files changed (91) hide show
  1. package/output/{ClarifyShell-CxhXBtsR.js → ClarifyShell-1LuBliwt.js} +124 -40
  2. package/output/ClarifyShell-1LuBliwt.js.map +1 -0
  3. package/output/{ClarifyShell-DjLRRW8T.cjs → ClarifyShell-C6li72Ce.cjs} +136 -52
  4. package/output/ClarifyShell-C6li72Ce.cjs.map +1 -0
  5. package/output/MermaidViewer-B6-BMCJG.cjs +101 -0
  6. package/output/MermaidViewer-B6-BMCJG.cjs.map +1 -0
  7. package/output/MermaidViewer-dXsomvM7.js +98 -0
  8. package/output/MermaidViewer-dXsomvM7.js.map +1 -0
  9. package/output/{OpenApiOperation-qp5tFaWP.cjs → OpenApiOperation-B52IWlKb.cjs} +405 -243
  10. package/output/OpenApiOperation-B52IWlKb.cjs.map +1 -0
  11. package/output/{OpenApiOperation-CyBkzvob.js → OpenApiOperation-DgrqzeiS.js} +377 -228
  12. package/output/OpenApiOperation-DgrqzeiS.js.map +1 -0
  13. package/output/{PageActions-GS_cxeJN.cjs → PageActions-BjB6PYmL.cjs} +73 -734
  14. package/output/PageActions-BjB6PYmL.cjs.map +1 -0
  15. package/output/{PageActions-Dn8IGWoL.js → PageActions-D7K9LDGf.js} +67 -680
  16. package/output/PageActions-D7K9LDGf.js.map +1 -0
  17. package/output/SearchDialog-CIPvXMT3.cjs +414 -0
  18. package/output/SearchDialog-CIPvXMT3.cjs.map +1 -0
  19. package/output/SearchDialog-CxYLjRi5.js +411 -0
  20. package/output/SearchDialog-CxYLjRi5.js.map +1 -0
  21. package/output/app/AppShell.d.ts +2 -2
  22. package/output/app/SectionHashSync.d.ts +6 -0
  23. package/output/client.cjs +3 -3
  24. package/output/client.js +3 -3
  25. package/output/components/HighlightedCode.d.ts +7 -0
  26. package/output/components/MermaidViewer.d.ts +7 -0
  27. package/output/context.d.ts +1 -1
  28. package/output/core/context.d.ts +3 -4
  29. package/output/core/i18n.d.ts +1 -1
  30. package/output/core/index.d.ts +1 -1
  31. package/output/core/types.d.ts +36 -19
  32. package/output/i18n-DnqZHFT7.js +247 -0
  33. package/output/i18n-DnqZHFT7.js.map +1 -0
  34. package/output/i18n-b4iTLeia.cjs +294 -0
  35. package/output/i18n-b4iTLeia.cjs.map +1 -0
  36. package/output/index.cjs +91 -94
  37. package/output/index.cjs.map +1 -1
  38. package/output/index.d.ts +7 -7
  39. package/output/index.js +83 -87
  40. package/output/index.js.map +1 -1
  41. package/output/markdown.cjs +2 -1
  42. package/output/markdown.d.ts +1 -1
  43. package/output/markdown.js +2 -2
  44. package/output/mdx/remark.d.ts +1 -0
  45. package/output/openapi/components/EndpointSections.d.ts +3 -1
  46. package/output/openapi/components/ExamplePanels.d.ts +5 -2
  47. package/output/openapi/components/OpenApiOperation.d.ts +3 -1
  48. package/output/openapi/components/OpenApiOperation.state.d.ts +3 -3
  49. package/output/openapi/components/SchemaProperties.d.ts +1 -0
  50. package/output/openapi/components/helpers.d.ts +2 -2
  51. package/output/openapi/entry.d.ts +0 -1
  52. package/output/openapi/lib/helpers.d.ts +5 -3
  53. package/output/openapi/lib/request-code.d.ts +2 -1
  54. package/output/openapi/lib/spec-path.d.ts +6 -1
  55. package/output/openapi/lib/utils.d.ts +10 -4
  56. package/output/preview.cjs +7 -5
  57. package/output/preview.cjs.map +1 -1
  58. package/output/preview.js +5 -3
  59. package/output/preview.js.map +1 -1
  60. package/output/{remark-Dd2WU50s.js → remark-C9iRQM0R.js} +4 -3
  61. package/output/remark-C9iRQM0R.js.map +1 -0
  62. package/output/{remark-zSQT0MBv.cjs → remark-DTLbG8PK.cjs} +9 -2
  63. package/output/remark-DTLbG8PK.cjs.map +1 -0
  64. package/output/{render-CV0a-qtD.js → render-DKj24Jqw.js} +15 -8
  65. package/output/render-DKj24Jqw.js.map +1 -0
  66. package/output/{render-CCCoUWDP.cjs → render-Di5B6Zc0.cjs} +15 -8
  67. package/output/render-Di5B6Zc0.cjs.map +1 -0
  68. package/output/renderer.css +234 -20
  69. package/output/runtime/ClarifyShell.d.ts +5 -6
  70. package/output/server.cjs +4 -4
  71. package/output/server.cjs.map +1 -1
  72. package/output/server.js +4 -4
  73. package/output/server.js.map +1 -1
  74. package/output/shell/Navigation.d.ts +1 -0
  75. package/output/shell/search/SearchDialog.d.ts +1 -1
  76. package/output/slots/RuntimeSlot.d.ts +7 -7
  77. package/output/slots/context.d.ts +5 -5
  78. package/output/slots/index.d.ts +2 -2
  79. package/output/slots/types.d.ts +1 -1
  80. package/output/utils/path.d.ts +1 -1
  81. package/package.json +3 -1
  82. package/output/ClarifyShell-CxhXBtsR.js.map +0 -1
  83. package/output/ClarifyShell-DjLRRW8T.cjs.map +0 -1
  84. package/output/OpenApiOperation-CyBkzvob.js.map +0 -1
  85. package/output/OpenApiOperation-qp5tFaWP.cjs.map +0 -1
  86. package/output/PageActions-Dn8IGWoL.js.map +0 -1
  87. package/output/PageActions-GS_cxeJN.cjs.map +0 -1
  88. package/output/remark-Dd2WU50s.js.map +0 -1
  89. package/output/remark-zSQT0MBv.cjs.map +0 -1
  90. package/output/render-CCCoUWDP.cjs.map +0 -1
  91. package/output/render-CV0a-qtD.js.map +0 -1
@@ -106,9 +106,11 @@
106
106
  --color-sky-700: oklch(50% .134 242.749);
107
107
  --color-sky-900: oklch(39.1% .09 240.876);
108
108
  --color-sky-950: oklch(29.3% .066 243.157);
109
+ --color-violet-200: oklch(89.4% .057 293.283);
109
110
  --color-violet-300: oklch(81.1% .111 293.571);
110
111
  --color-violet-400: oklch(70.2% .183 293.541);
111
112
  --color-violet-500: oklch(60.6% .25 292.717);
113
+ --color-violet-700: oklch(49.1% .27 292.581);
112
114
  --color-fuchsia-400: oklch(74% .238 322.16);
113
115
  --color-fuchsia-500: oklch(66.7% .295 322.15);
114
116
  --color-pink-300: oklch(82.3% .12 346.018);
@@ -555,6 +557,26 @@
555
557
  }
556
558
  }
557
559
 
560
+ :root, .clarify-app {
561
+ --clarify-ui-tab-hover-background: var(--clarify-theme-tokens-colors-foreground);
562
+ }
563
+
564
+ @supports (color: color-mix(in lab, red, red)) {
565
+ :root, .clarify-app {
566
+ --clarify-ui-tab-hover-background: color-mix(in srgb, var(--clarify-theme-tokens-colors-foreground) 7%, var(--clarify-theme-tokens-colors-surface));
567
+ }
568
+ }
569
+
570
+ :root, .clarify-app {
571
+ --clarify-ui-tab-indicator: var(--clarify-theme-tokens-colors-primary);
572
+ }
573
+
574
+ @supports (color: color-mix(in lab, red, red)) {
575
+ :root, .clarify-app {
576
+ --clarify-ui-tab-indicator: color-mix(in srgb, var(--clarify-theme-tokens-colors-primary) 78%, var(--clarify-theme-tokens-colors-foreground));
577
+ }
578
+ }
579
+
558
580
  :root, .clarify-app {
559
581
  --clarify-ui-subtle-background: var(--clarify-theme-tokens-colors-foreground);
560
582
  }
@@ -639,10 +661,32 @@
639
661
  :root, .clarify-app {
640
662
  --clarify-code-border: #ffffff1a;
641
663
  --clarify-code-text: var(--color-zinc-100);
664
+ --clarify-code-control-text: var(--color-zinc-300);
642
665
  --clarify-code-muted: var(--color-zinc-400);
643
666
  --clarify-code-faint: var(--color-zinc-500);
644
667
  --clarify-code-control-background: #ffffff0f;
645
668
  --clarify-code-control-background-hover: #ffffff1a;
669
+ --clarify-code-control-background-active: #ffffff24;
670
+ --clarify-code-accent-text: var(--clarify-theme-tokens-colors-primary);
671
+ }
672
+
673
+ @supports (color: color-mix(in lab, red, red)) {
674
+ :root, .clarify-app {
675
+ --clarify-code-accent-text: color-mix(in srgb, var(--clarify-theme-tokens-colors-primary) 58%, white);
676
+ }
677
+ }
678
+
679
+ :root, .clarify-app {
680
+ --clarify-code-accent-background: var(--clarify-theme-tokens-colors-primary);
681
+ }
682
+
683
+ @supports (color: color-mix(in lab, red, red)) {
684
+ :root, .clarify-app {
685
+ --clarify-code-accent-background: color-mix(in srgb, var(--clarify-theme-tokens-colors-primary) 20%, transparent);
686
+ }
687
+ }
688
+
689
+ :root, .clarify-app {
646
690
  --clarify-ui-menu-width: 13rem;
647
691
  --clarify-ui-action-menu-width: 19.5rem;
648
692
  --clarify-layout-sidebar-grid: 18rem minmax(0, 1fr);
@@ -739,6 +783,17 @@
739
783
 
740
784
  :root, .clarify-app {
741
785
  --clarify-http-method-delete-text: var(--color-rose-700);
786
+ --clarify-http-method-webhook-background: #a685ff3d;
787
+ }
788
+
789
+ @supports (color: color-mix(in lab, red, red)) {
790
+ :root, .clarify-app {
791
+ --clarify-http-method-webhook-background: color-mix(in srgb, var(--color-violet-400) 24%, transparent);
792
+ }
793
+ }
794
+
795
+ :root, .clarify-app {
796
+ --clarify-http-method-webhook-text: var(--color-violet-700);
742
797
  --clarify-http-method-default-background: #9f9fa933;
743
798
  }
744
799
 
@@ -819,6 +874,16 @@
819
874
  }
820
875
  }
821
876
 
877
+ .dark, .dark .clarify-app {
878
+ --clarify-ui-tab-hover-background: var(--clarify-theme-tokens-colors-foreground);
879
+ }
880
+
881
+ @supports (color: color-mix(in lab, red, red)) {
882
+ .dark, .dark .clarify-app {
883
+ --clarify-ui-tab-hover-background: color-mix(in srgb, var(--clarify-theme-tokens-colors-foreground) 10%, var(--clarify-theme-tokens-colors-surface));
884
+ }
885
+ }
886
+
822
887
  .dark, .dark .clarify-app {
823
888
  --clarify-ui-subtle-background: var(--clarify-theme-tokens-colors-primary);
824
889
  }
@@ -955,6 +1020,17 @@
955
1020
 
956
1021
  .dark, .dark .clarify-app {
957
1022
  --clarify-http-method-delete-text: var(--color-rose-200);
1023
+ --clarify-http-method-webhook-background: #a685ff4d;
1024
+ }
1025
+
1026
+ @supports (color: color-mix(in lab, red, red)) {
1027
+ .dark, .dark .clarify-app {
1028
+ --clarify-http-method-webhook-background: color-mix(in srgb, var(--color-violet-400) 30%, transparent);
1029
+ }
1030
+ }
1031
+
1032
+ .dark, .dark .clarify-app {
1033
+ --clarify-http-method-webhook-text: var(--color-violet-200);
958
1034
  --clarify-http-method-default-background: #9f9fa942;
959
1035
  }
960
1036
 
@@ -1116,6 +1192,40 @@
1116
1192
  color: var(--clarify-ui-text-strong);
1117
1193
  }
1118
1194
 
1195
+ .clarify-content-tab:hover, .clarify-content-tab:focus-visible {
1196
+ background: var(--clarify-ui-tab-hover-background);
1197
+ }
1198
+
1199
+ .clarify-api-example-code, .clarify-api-example {
1200
+ container-type: inline-size;
1201
+ }
1202
+
1203
+ @container (max-width: 26rem) {
1204
+ .clarify-api-example-header {
1205
+ flex-direction: column;
1206
+ align-items: stretch;
1207
+ gap: .25rem;
1208
+ }
1209
+
1210
+ .clarify-api-example-header > h3 {
1211
+ margin-right: 0;
1212
+ }
1213
+
1214
+ .clarify-api-example-header-controls {
1215
+ width: 100%;
1216
+ margin-left: 0;
1217
+ }
1218
+
1219
+ .clarify-api-code-toolbar {
1220
+ flex-direction: column;
1221
+ align-items: stretch;
1222
+ }
1223
+
1224
+ .clarify-api-code-toolbar > button {
1225
+ align-self: flex-end;
1226
+ }
1227
+ }
1228
+
1119
1229
  .clarify-brand-title, .clarify-footer-link, .clarify-footer-social, .clarify-footer-copyright, .clarify-search-button {
1120
1230
  font-size: var(--clarify-ui-menu-font-size);
1121
1231
  line-height: var(--clarify-ui-menu-line-height);
@@ -1465,6 +1575,10 @@
1465
1575
  inset-inline: 0;
1466
1576
  }
1467
1577
 
1578
+ .inset-x-2 {
1579
+ inset-inline: calc(var(--spacing) * 2);
1580
+ }
1581
+
1468
1582
  .inset-y-0 {
1469
1583
  inset-block: 0;
1470
1584
  }
@@ -1537,10 +1651,6 @@
1537
1651
  left: calc(var(--spacing) * 3);
1538
1652
  }
1539
1653
 
1540
- .left-4 {
1541
- left: calc(var(--spacing) * 4);
1542
- }
1543
-
1544
1654
  .-z-10 {
1545
1655
  z-index: calc(10 * -1);
1546
1656
  }
@@ -2003,6 +2113,10 @@
2003
2113
  margin-right: calc(var(--spacing) * -1);
2004
2114
  }
2005
2115
 
2116
+ .-mr-2 {
2117
+ margin-right: calc(var(--spacing) * -2);
2118
+ }
2119
+
2006
2120
  .mr-2 {
2007
2121
  margin-right: calc(var(--spacing) * 2);
2008
2122
  }
@@ -2248,6 +2362,18 @@
2248
2362
  min-height: 0;
2249
2363
  }
2250
2364
 
2365
+ .min-h-7 {
2366
+ min-height: calc(var(--spacing) * 7);
2367
+ }
2368
+
2369
+ .min-h-8 {
2370
+ min-height: calc(var(--spacing) * 8);
2371
+ }
2372
+
2373
+ .min-h-9 {
2374
+ min-height: calc(var(--spacing) * 9);
2375
+ }
2376
+
2251
2377
  .min-h-11 {
2252
2378
  min-height: calc(var(--spacing) * 11);
2253
2379
  }
@@ -2633,6 +2759,10 @@
2633
2759
  justify-content: flex-start;
2634
2760
  }
2635
2761
 
2762
+ .gap-0 {
2763
+ gap: 0;
2764
+ }
2765
+
2636
2766
  .gap-1 {
2637
2767
  gap: var(--spacing);
2638
2768
  }
@@ -2843,6 +2973,11 @@
2843
2973
  border-radius: var(--radius-xl);
2844
2974
  }
2845
2975
 
2976
+ .rounded-t-md {
2977
+ border-top-left-radius: var(--radius-md);
2978
+ border-top-right-radius: var(--radius-md);
2979
+ }
2980
+
2846
2981
  .border {
2847
2982
  border-style: var(--tw-border-style);
2848
2983
  border-width: 1px;
@@ -2895,10 +3030,6 @@
2895
3030
  border-color: var(--clarify-theme-tokens-colors-border);
2896
3031
  }
2897
3032
 
2898
- .border-\(--clarify-theme-tokens-colors-primary\) {
2899
- border-color: var(--clarify-theme-tokens-colors-primary);
2900
- }
2901
-
2902
3033
  .border-\(--clarify-ui-accent-border\) {
2903
3034
  border-color: var(--clarify-ui-accent-border);
2904
3035
  }
@@ -2979,6 +3110,10 @@
2979
3110
  border-top-color: #0000;
2980
3111
  }
2981
3112
 
3113
+ .bg-\(--clarify-code-accent-text\) {
3114
+ background-color: var(--clarify-code-accent-text);
3115
+ }
3116
+
2982
3117
  .bg-\(--clarify-code-background\) {
2983
3118
  background-color: var(--clarify-code-background);
2984
3119
  }
@@ -3023,6 +3158,10 @@
3023
3158
  background-color: var(--clarify-http-method-put-background);
3024
3159
  }
3025
3160
 
3161
+ .bg-\(--clarify-http-method-webhook-background\) {
3162
+ background-color: var(--clarify-http-method-webhook-background);
3163
+ }
3164
+
3026
3165
  .bg-\(--clarify-skeleton-accent-background\) {
3027
3166
  background-color: var(--clarify-skeleton-accent-background);
3028
3167
  }
@@ -3089,6 +3228,10 @@
3089
3228
  background-color: var(--clarify-ui-subtle-background);
3090
3229
  }
3091
3230
 
3231
+ .bg-\(--clarify-ui-tab-indicator\) {
3232
+ background-color: var(--clarify-ui-tab-indicator);
3233
+ }
3234
+
3092
3235
  .bg-amber-50 {
3093
3236
  background-color: var(--color-amber-50);
3094
3237
  }
@@ -3199,6 +3342,10 @@
3199
3342
  }
3200
3343
  }
3201
3344
 
3345
+ .bg-sky-100 {
3346
+ background-color: var(--color-sky-100);
3347
+ }
3348
+
3202
3349
  .bg-sky-400\/10 {
3203
3350
  background-color: #00bcfe1a;
3204
3351
  }
@@ -3684,6 +3831,14 @@
3684
3831
  white-space: pre-wrap;
3685
3832
  }
3686
3833
 
3834
+ .text-\(--clarify-code-accent-text\) {
3835
+ color: var(--clarify-code-accent-text);
3836
+ }
3837
+
3838
+ .text-\(--clarify-code-control-text\) {
3839
+ color: var(--clarify-code-control-text);
3840
+ }
3841
+
3687
3842
  .text-\(--clarify-code-faint\) {
3688
3843
  color: var(--clarify-code-faint);
3689
3844
  }
@@ -3724,6 +3879,10 @@
3724
3879
  color: var(--clarify-http-method-put-text);
3725
3880
  }
3726
3881
 
3882
+ .text-\(--clarify-http-method-webhook-text\) {
3883
+ color: var(--clarify-http-method-webhook-text);
3884
+ }
3885
+
3727
3886
  .text-\(--clarify-theme-tokens-colors-background\) {
3728
3887
  color: var(--clarify-theme-tokens-colors-background);
3729
3888
  }
@@ -3752,10 +3911,6 @@
3752
3911
  color: var(--clarify-ui-text-faint);
3753
3912
  }
3754
3913
 
3755
- .text-\(--clarify-ui-text-foreground\) {
3756
- color: var(--clarify-ui-text-foreground);
3757
- }
3758
-
3759
3914
  .text-\(--clarify-ui-text-soft\) {
3760
3915
  color: var(--clarify-ui-text-soft);
3761
3916
  }
@@ -3848,6 +4003,10 @@
3848
4003
  color: var(--color-sky-600);
3849
4004
  }
3850
4005
 
4006
+ .text-sky-700 {
4007
+ color: var(--color-sky-700);
4008
+ }
4009
+
3851
4010
  .text-sky-900 {
3852
4011
  color: var(--color-sky-900);
3853
4012
  }
@@ -3934,6 +4093,11 @@
3934
4093
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
3935
4094
  }
3936
4095
 
4096
+ .shadow-\[0_0_0\.5rem_var\(--clarify-ui-accent-glow\)\] {
4097
+ --tw-shadow: 0 0 .5rem var(--tw-shadow-color, var(--clarify-ui-accent-glow));
4098
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
4099
+ }
4100
+
3937
4101
  .shadow-lg {
3938
4102
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
3939
4103
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -4282,6 +4446,16 @@
4282
4446
  border-color: var(--clarify-ui-text-faint);
4283
4447
  }
4284
4448
 
4449
+ .hover\:border-white\/20:hover {
4450
+ border-color: #fff3;
4451
+ }
4452
+
4453
+ @supports (color: color-mix(in lab, red, red)) {
4454
+ .hover\:border-white\/20:hover {
4455
+ border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
4456
+ }
4457
+ }
4458
+
4285
4459
  .hover\:bg-\(--clarify-code-control-background-hover\):hover {
4286
4460
  background-color: var(--clarify-code-control-background-hover);
4287
4461
  }
@@ -4444,6 +4618,10 @@
4444
4618
  color: var(--clarify-code-text);
4445
4619
  }
4446
4620
 
4621
+ .data-focus\:text-\(--clarify-ui-text-strong\)[data-focus] {
4622
+ color: var(--clarify-ui-text-strong);
4623
+ }
4624
+
4447
4625
  .data-leave\:pointer-events-none[data-leave] {
4448
4626
  pointer-events: none;
4449
4627
  }
@@ -4463,16 +4641,26 @@
4463
4641
  transition-timing-function: var(--ease-in);
4464
4642
  }
4465
4643
 
4466
- .data-open\:border-\(--clarify-ui-text-faint\)[data-open] {
4467
- border-color: var(--clarify-ui-text-faint);
4644
+ .data-open\:border-\(--clarify-ui-accent-border\)[data-open] {
4645
+ border-color: var(--clarify-ui-accent-border);
4468
4646
  }
4469
4647
 
4470
- .data-open\:bg-\(--clarify-code-control-background-hover\)[data-open] {
4471
- background-color: var(--clarify-code-control-background-hover);
4648
+ .data-open\:border-white\/20[data-open] {
4649
+ border-color: #fff3;
4472
4650
  }
4473
4651
 
4474
- .data-open\:bg-\(--clarify-ui-hover-background\)[data-open] {
4475
- background-color: var(--clarify-ui-hover-background);
4652
+ @supports (color: color-mix(in lab, red, red)) {
4653
+ .data-open\:border-white\/20[data-open] {
4654
+ border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
4655
+ }
4656
+ }
4657
+
4658
+ .data-open\:bg-\(--clarify-code-control-background-active\)[data-open] {
4659
+ background-color: var(--clarify-code-control-background-active);
4660
+ }
4661
+
4662
+ .data-open\:bg-\(--clarify-ui-active-background\)[data-open] {
4663
+ background-color: var(--clarify-ui-active-background);
4476
4664
  }
4477
4665
 
4478
4666
  .data-open\:ring-2[data-open] {
@@ -4484,8 +4672,20 @@
4484
4672
  --tw-ring-color: var(--clarify-ui-accent-border);
4485
4673
  }
4486
4674
 
4487
- .data-selected\:text-\(--clarify-theme-tokens-colors-primary\)[data-selected] {
4488
- color: var(--clarify-theme-tokens-colors-primary);
4675
+ .data-selected\:bg-\(--clarify-code-accent-background\)[data-selected] {
4676
+ background-color: var(--clarify-code-accent-background);
4677
+ }
4678
+
4679
+ .data-selected\:bg-\(--clarify-ui-active-background\)[data-selected] {
4680
+ background-color: var(--clarify-ui-active-background);
4681
+ }
4682
+
4683
+ .data-selected\:text-\(--clarify-code-accent-text\)[data-selected] {
4684
+ color: var(--clarify-code-accent-text);
4685
+ }
4686
+
4687
+ .data-selected\:text-\(--clarify-ui-accent-text\)[data-selected] {
4688
+ color: var(--clarify-ui-accent-text);
4489
4689
  }
4490
4690
 
4491
4691
  .data-selected\:not-data-focus\:outline-hidden[data-selected]:not([data-focus]) {
@@ -5056,6 +5256,16 @@
5056
5256
  }
5057
5257
  }
5058
5258
 
5259
+ .dark\:bg-sky-400\/15:where(.dark, .dark *) {
5260
+ background-color: #00bcfe26;
5261
+ }
5262
+
5263
+ @supports (color: color-mix(in lab, red, red)) {
5264
+ .dark\:bg-sky-400\/15:where(.dark, .dark *) {
5265
+ background-color: color-mix(in oklab, var(--color-sky-400) 15%, transparent);
5266
+ }
5267
+ }
5268
+
5059
5269
  .dark\:bg-white:where(.dark, .dark *) {
5060
5270
  background-color: var(--color-white);
5061
5271
  }
@@ -5200,6 +5410,10 @@
5200
5410
  color: var(--color-sky-100);
5201
5411
  }
5202
5412
 
5413
+ .dark\:text-sky-200:where(.dark, .dark *) {
5414
+ color: var(--color-sky-200);
5415
+ }
5416
+
5203
5417
  .dark\:text-sky-400:where(.dark, .dark *) {
5204
5418
  color: var(--color-sky-400);
5205
5419
  }
@@ -1,19 +1,18 @@
1
1
  import { ReactNode } from 'react';
2
- import { Config, NavigationTree, RouteItem } from '../core/types';
3
- import { OpenAPISpec } from '../openapi/lib/utils';
4
- import { RuntimeSlots } from '../slots';
2
+ import { Config, NavigationTree, OpenApiRegistry, RouteItem } from '../core/types';
3
+ import { RuntimeSlotRegistry } from '../slots';
5
4
  export type ClarifyShellProps = {
6
5
  config: Config;
7
6
  routes: RouteItem[];
8
7
  navigation?: NavigationTree;
9
- openApis: Record<string, OpenAPISpec>;
10
- runtimeSlots?: RuntimeSlots;
8
+ openApiSpecs: OpenApiRegistry;
9
+ runtimeSlots?: RuntimeSlotRegistry;
11
10
  themeEditor?: boolean;
12
11
  children?: ReactNode;
13
12
  };
14
13
  /**
15
14
  * Shared provider chain used by both client-side render and server-side
16
- * renderToHTML. Wraps AppShell with ConfigContext → OpenApisContext →
15
+ * renderToHTML. Wraps AppShell with ConfigContext → OpenApiSpecsContext →
17
16
  * ThemeProvider → ThemeRoot.
18
17
  *
19
18
  * The outer Router (BrowserRouter / StaticRouter) is left to the caller
package/output/server.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_PageActions = require("./PageActions-GS_cxeJN.cjs");
3
- const require_ClarifyShell = require("./ClarifyShell-DjLRRW8T.cjs");
2
+ const require_ClarifyShell = require("./ClarifyShell-C6li72Ce.cjs");
3
+ const require_PageActions = require("./PageActions-BjB6PYmL.cjs");
4
4
  let react = require("react");
5
5
  let react_router_dom = require("react-router-dom");
6
6
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -12,7 +12,7 @@ let react_dom_server = require("react-dom/server");
12
12
  * 返回 `div#root` 内部的 HTML,由 Clarify CLI 组装为完整的 HTML 文档。
13
13
  */
14
14
  function renderToHTML(options) {
15
- const { config, routes, navigation, openApis = {}, runtimeSlots, url, themeEditor = false } = options;
15
+ const { config, routes, navigation, openApiSpecs = {}, runtimeSlots, url, themeEditor = false } = options;
16
16
  const location = require_PageActions.prefixHref(url, config.routePrefix);
17
17
  return (0, react_dom_server.renderToString)(/* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.StrictMode, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_router_dom.StaticRouter, {
18
18
  basename: config.routePrefix,
@@ -21,7 +21,7 @@ function renderToHTML(options) {
21
21
  config,
22
22
  routes,
23
23
  navigation,
24
- openApis,
24
+ openApiSpecs,
25
25
  runtimeSlots,
26
26
  themeEditor
27
27
  })
@@ -1 +1 @@
1
- {"version":3,"file":"server.cjs","names":[],"sources":["../source/runtime/server.tsx"],"sourcesContent":["import { StrictMode } from 'react'\nimport { renderToString } from 'react-dom/server'\nimport { StaticRouter } from 'react-router-dom'\n\nimport type { ServerRenderOptions } from '../types'\nimport { prefixHref } from '../utils/href'\n\nimport { ClarifyShell } from './ClarifyShell'\n\n/**\n * Clarify 服务端渲染入口。\n * 由 @clarify-labs/cli 在构建时调用,为每条路由生成 React HTML 片段。\n * 返回 `div#root` 内部的 HTML,由 Clarify CLI 组装为完整的 HTML 文档。\n */\nexport function renderToHTML(options: ServerRenderOptions): string {\n const { config, routes, navigation, openApis = {}, runtimeSlots, url, themeEditor = false } = options\n const location = prefixHref(url, config.routePrefix)\n\n return renderToString(\n <StrictMode>\n <StaticRouter basename={config.routePrefix} location={location}>\n <ClarifyShell\n config={config}\n routes={routes}\n navigation={navigation}\n openApis={openApis}\n runtimeSlots={runtimeSlots}\n themeEditor={themeEditor}\n />\n </StaticRouter>\n </StrictMode>\n )\n}\n"],"mappings":";;;;;;;;;;;;;AAcA,SAAgB,aAAa,SAAsC;CACjE,MAAM,EAAE,QAAQ,QAAQ,YAAY,WAAW,CAAC,GAAG,cAAc,KAAK,cAAc,UAAU;CAC9F,MAAM,WAAW,oBAAA,WAAW,KAAK,OAAO,WAAW;CAEnD,QAAA,GAAA,iBAAA,eAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAA,YAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,iBAAA,cAAD;EAAc,UAAU,OAAO;EAAuB;YACpD,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAA,cAAD;GACU;GACA;GACI;GACF;GACI;GACD;EACd,CAAA;CACW,CAAA,EACJ,CAAA,CACd;AACF"}
1
+ {"version":3,"file":"server.cjs","names":[],"sources":["../source/runtime/server.tsx"],"sourcesContent":["import { StrictMode } from 'react'\nimport { renderToString } from 'react-dom/server'\nimport { StaticRouter } from 'react-router-dom'\n\nimport type { ServerRenderOptions } from '../types'\nimport { prefixHref } from '../utils/href'\n\nimport { ClarifyShell } from './ClarifyShell'\n\n/**\n * Clarify 服务端渲染入口。\n * 由 @clarify-labs/cli 在构建时调用,为每条路由生成 React HTML 片段。\n * 返回 `div#root` 内部的 HTML,由 Clarify CLI 组装为完整的 HTML 文档。\n */\nexport function renderToHTML(options: ServerRenderOptions): string {\n const { config, routes, navigation, openApiSpecs = {}, runtimeSlots, url, themeEditor = false } = options\n const location = prefixHref(url, config.routePrefix)\n\n return renderToString(\n <StrictMode>\n <StaticRouter basename={config.routePrefix} location={location}>\n <ClarifyShell\n config={config}\n routes={routes}\n navigation={navigation}\n openApiSpecs={openApiSpecs}\n runtimeSlots={runtimeSlots}\n themeEditor={themeEditor}\n />\n </StaticRouter>\n </StrictMode>\n )\n}\n"],"mappings":";;;;;;;;;;;;;AAcA,SAAgB,aAAa,SAAsC;CACjE,MAAM,EAAE,QAAQ,QAAQ,YAAY,eAAe,CAAC,GAAG,cAAc,KAAK,cAAc,UAAU;CAClG,MAAM,WAAW,oBAAA,WAAW,KAAK,OAAO,WAAW;CAEnD,QAAA,GAAA,iBAAA,eAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAA,YAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,iBAAA,cAAD;EAAc,UAAU,OAAO;EAAuB;YACpD,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAA,cAAD;GACU;GACA;GACI;GACE;GACA;GACD;EACd,CAAA;CACW,CAAA,EACJ,CAAA,CACd;AACF"}
package/output/server.js CHANGED
@@ -1,5 +1,5 @@
1
- import { T as prefixHref } from "./PageActions-Dn8IGWoL.js";
2
- import { t as ClarifyShell } from "./ClarifyShell-CxhXBtsR.js";
1
+ import { t as ClarifyShell } from "./ClarifyShell-1LuBliwt.js";
2
+ import { T as prefixHref } from "./PageActions-D7K9LDGf.js";
3
3
  import { StrictMode } from "react";
4
4
  import { StaticRouter } from "react-router-dom";
5
5
  import { jsx } from "react/jsx-runtime";
@@ -11,7 +11,7 @@ import { renderToString } from "react-dom/server";
11
11
  * 返回 `div#root` 内部的 HTML,由 Clarify CLI 组装为完整的 HTML 文档。
12
12
  */
13
13
  function renderToHTML(options) {
14
- const { config, routes, navigation, openApis = {}, runtimeSlots, url, themeEditor = false } = options;
14
+ const { config, routes, navigation, openApiSpecs = {}, runtimeSlots, url, themeEditor = false } = options;
15
15
  const location = prefixHref(url, config.routePrefix);
16
16
  return renderToString(/* @__PURE__ */ jsx(StrictMode, { children: /* @__PURE__ */ jsx(StaticRouter, {
17
17
  basename: config.routePrefix,
@@ -20,7 +20,7 @@ function renderToHTML(options) {
20
20
  config,
21
21
  routes,
22
22
  navigation,
23
- openApis,
23
+ openApiSpecs,
24
24
  runtimeSlots,
25
25
  themeEditor
26
26
  })
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","names":[],"sources":["../source/runtime/server.tsx"],"sourcesContent":["import { StrictMode } from 'react'\nimport { renderToString } from 'react-dom/server'\nimport { StaticRouter } from 'react-router-dom'\n\nimport type { ServerRenderOptions } from '../types'\nimport { prefixHref } from '../utils/href'\n\nimport { ClarifyShell } from './ClarifyShell'\n\n/**\n * Clarify 服务端渲染入口。\n * 由 @clarify-labs/cli 在构建时调用,为每条路由生成 React HTML 片段。\n * 返回 `div#root` 内部的 HTML,由 Clarify CLI 组装为完整的 HTML 文档。\n */\nexport function renderToHTML(options: ServerRenderOptions): string {\n const { config, routes, navigation, openApis = {}, runtimeSlots, url, themeEditor = false } = options\n const location = prefixHref(url, config.routePrefix)\n\n return renderToString(\n <StrictMode>\n <StaticRouter basename={config.routePrefix} location={location}>\n <ClarifyShell\n config={config}\n routes={routes}\n navigation={navigation}\n openApis={openApis}\n runtimeSlots={runtimeSlots}\n themeEditor={themeEditor}\n />\n </StaticRouter>\n </StrictMode>\n )\n}\n"],"mappings":";;;;;;;;;;;;AAcA,SAAgB,aAAa,SAAsC;CACjE,MAAM,EAAE,QAAQ,QAAQ,YAAY,WAAW,CAAC,GAAG,cAAc,KAAK,cAAc,UAAU;CAC9F,MAAM,WAAW,WAAW,KAAK,OAAO,WAAW;CAEnD,OAAO,eACL,oBAAC,YAAD,EAAA,UACE,oBAAC,cAAD;EAAc,UAAU,OAAO;EAAuB;YACpD,oBAAC,cAAD;GACU;GACA;GACI;GACF;GACI;GACD;EACd,CAAA;CACW,CAAA,EACJ,CAAA,CACd;AACF"}
1
+ {"version":3,"file":"server.js","names":[],"sources":["../source/runtime/server.tsx"],"sourcesContent":["import { StrictMode } from 'react'\nimport { renderToString } from 'react-dom/server'\nimport { StaticRouter } from 'react-router-dom'\n\nimport type { ServerRenderOptions } from '../types'\nimport { prefixHref } from '../utils/href'\n\nimport { ClarifyShell } from './ClarifyShell'\n\n/**\n * Clarify 服务端渲染入口。\n * 由 @clarify-labs/cli 在构建时调用,为每条路由生成 React HTML 片段。\n * 返回 `div#root` 内部的 HTML,由 Clarify CLI 组装为完整的 HTML 文档。\n */\nexport function renderToHTML(options: ServerRenderOptions): string {\n const { config, routes, navigation, openApiSpecs = {}, runtimeSlots, url, themeEditor = false } = options\n const location = prefixHref(url, config.routePrefix)\n\n return renderToString(\n <StrictMode>\n <StaticRouter basename={config.routePrefix} location={location}>\n <ClarifyShell\n config={config}\n routes={routes}\n navigation={navigation}\n openApiSpecs={openApiSpecs}\n runtimeSlots={runtimeSlots}\n themeEditor={themeEditor}\n />\n </StaticRouter>\n </StrictMode>\n )\n}\n"],"mappings":";;;;;;;;;;;;AAcA,SAAgB,aAAa,SAAsC;CACjE,MAAM,EAAE,QAAQ,QAAQ,YAAY,eAAe,CAAC,GAAG,cAAc,KAAK,cAAc,UAAU;CAClG,MAAM,WAAW,WAAW,KAAK,OAAO,WAAW;CAEnD,OAAO,eACL,oBAAC,YAAD,EAAA,UACE,oBAAC,cAAD;EAAc,UAAU,OAAO;EAAuB;YACpD,oBAAC,cAAD;GACU;GACA;GACI;GACE;GACA;GACD;EACd,CAAA;CACW,CAAA,EACJ,CAAA,CACd;AACF"}
@@ -2,5 +2,6 @@ import { NavigationNode } from '../types';
2
2
  export type NavigationProps = {
3
3
  navigation: NavigationNode[];
4
4
  className?: string;
5
+ currentLocale?: string;
5
6
  };
6
7
  export declare function Navigation(arg0: NavigationProps): import("react").JSX.Element;
@@ -10,4 +10,4 @@ type SearchDialogProps = {
10
10
  onNavigate?: () => void;
11
11
  };
12
12
  export declare function SearchDialog(arg0: SearchDialogProps): import("react").JSX.Element;
13
- export {};
13
+ export default SearchDialog;
@@ -5,7 +5,7 @@ import { UISlotName } from './types';
5
5
  * One registered slot component, as compiled by the CLI into
6
6
  * `virtual:clarify/slots`.
7
7
  *
8
- * `component` is a lazy import factory `() => import('path')`. On the client
8
+ * `loadComponent` is a lazy import factory `() => import('path')`. On the client
9
9
  * it is passed to `React.lazy`. During SSR the factory is pre-resolved and
10
10
  * the resulting component is stored in `_resolved`, which the renderer uses
11
11
  * directly (no Suspense needed for `renderToString`).
@@ -14,21 +14,21 @@ export type RuntimeSlotEntry = {
14
14
  /** Plugin that registered this component, used as a stable render key. */
15
15
  plugin: string;
16
16
  /** Lazy import factory — `() => import('path')`. Set by CLI virtual module. */
17
- component: () => Promise<{
17
+ loadComponent: () => Promise<{
18
18
  default: ComponentType;
19
19
  }>;
20
20
  /** @internal Pre-resolved component set by SSR before {@link renderToHTML}. */
21
21
  _resolved?: ComponentType;
22
22
  };
23
23
  /** Registry keyed by slot name. */
24
- export type RuntimeSlots = Partial<Record<UISlotName, RuntimeSlotEntry[]>>;
24
+ export type RuntimeSlotRegistry = Partial<Record<UISlotName, RuntimeSlotEntry[]>>;
25
25
  type RuntimeSlotsContextValue = {
26
- slots: RuntimeSlots;
26
+ slots: RuntimeSlotRegistry;
27
27
  route?: RouteItem;
28
28
  };
29
29
  export declare const RuntimeSlotsContext: import('react').Context<RuntimeSlotsContextValue>;
30
30
  type RuntimeSlotsProviderProps = {
31
- slots?: RuntimeSlots;
31
+ slots?: RuntimeSlotRegistry;
32
32
  route?: RouteItem;
33
33
  children: ReactNode;
34
34
  };
@@ -36,7 +36,7 @@ type RuntimeSlotsProviderProps = {
36
36
  * Makes the compiled slot registry and the current route available to every
37
37
  * {@link RuntimeSlot} in the tree. Mounted once near the top of `AppShell`.
38
38
  */
39
- export declare function RuntimeSlotsProvider(arg0: RuntimeSlotsProviderProps): ReactNode;
39
+ export declare function RuntimeSlotsProvider(props: RuntimeSlotsProviderProps): ReactNode;
40
40
  type RuntimeSlotProps = {
41
41
  name: UISlotName;
42
42
  /** Built-in default component for replacement slots. */
@@ -54,5 +54,5 @@ type RuntimeSlotProps = {
54
54
  * compatibility with `renderToString`. Otherwise, `React.lazy` + `Suspense`
55
55
  * is used for client-side code-splitting.
56
56
  */
57
- export declare function RuntimeSlot(arg0: RuntimeSlotProps): ReactNode;
57
+ export declare function RuntimeSlot(props: RuntimeSlotProps): ReactNode;
58
58
  export {};
@@ -1,12 +1,12 @@
1
1
  import { ReactNode } from 'react';
2
- import { UISlotName, SlotContext } from './types';
3
- export type { UISlotName, SlotContext };
2
+ import { UISlotName, UISlotContext } from './types';
3
+ export type { UISlotName, UISlotContext };
4
4
  type SlotProviderProps = {
5
- value: SlotContext;
5
+ value: UISlotContext;
6
6
  children: ReactNode;
7
7
  };
8
8
  /**
9
- * Provides an isolated {@link SlotContext} for a single slot component.
9
+ * Provides an isolated {@link UISlotContext} for a single slot component.
10
10
  * `RuntimeSlot` wraps every rendered slot component with this provider.
11
11
  */
12
12
  export declare function SlotProvider(arg0: SlotProviderProps): ReactNode;
@@ -17,4 +17,4 @@ export declare function SlotProvider(arg0: SlotProviderProps): ReactNode;
17
17
  * slot provider throws, which helps plugin authors notice that the component was
18
18
  * not mounted through a Clarify slot.
19
19
  */
20
- export declare function useSlot(): SlotContext;
20
+ export declare function useSlot(): UISlotContext;
@@ -1,5 +1,5 @@
1
1
  export { SlotProvider, useSlot } from './context';
2
- export type { SlotContext, UISlotName } from './context';
2
+ export type { UISlotContext, UISlotName } from './context';
3
3
  export { RuntimeSlot, RuntimeSlotsProvider, RuntimeSlotsContext } from './RuntimeSlot';
4
- export type { RuntimeSlotEntry, RuntimeSlots } from './RuntimeSlot';
4
+ export type { RuntimeSlotEntry, RuntimeSlotRegistry } from './RuntimeSlot';
5
5
  export type { UISlotRegistration } from './types';
@@ -16,7 +16,7 @@ export type UISlotName = 'page.footer.before' | 'page.banner.replace' | 'page.fo
16
16
  * everything they need from this hook, which keeps slot components as ordinary
17
17
  * React components and lets the slot context grow without changing signatures.
18
18
  */
19
- export type SlotContext = {
19
+ export type UISlotContext = {
20
20
  /** The slot the current component is mounted into. */
21
21
  name: UISlotName;
22
22
  /** Name of the plugin that registered the current slot component. */
@@ -1,2 +1,2 @@
1
1
  export declare function normalizeRoutePath(path: string): string;
2
- export declare function isSameRoutePath(a: string | undefined, b: string | undefined): boolean;
2
+ export declare function isSameRoutePath(a: string | undefined, b: string | undefined, locale?: string): boolean;