@stainless-api/docs-ui 0.1.0-beta.63 → 0.1.0-beta.65

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 (130) hide show
  1. package/dist/{breadcrumbs-hzZqGExJ.js → breadcrumbs-C22Eos5U.js} +3 -3
  2. package/dist/{breadcrumbs-DwldC63b.d.ts → breadcrumbs-Cvm5Ifm7.d.ts} +1 -1
  3. package/dist/{cli-BAhN1pvm.js → cli-C9b02R53.js} +2 -2
  4. package/dist/{component-Bf-__z99.js → component-B5j-H4cO.js} +2 -2
  5. package/dist/{component-generics-uYXTXWFi.d.ts → component-generics-DBuEnCtJ.d.ts} +2 -2
  6. package/dist/components/MaskedInput.d.ts +3 -3
  7. package/dist/components/MaskedInput.js +1 -1
  8. package/dist/components/breadcrumbs.d.ts +1 -1
  9. package/dist/components/breadcrumbs.js +2 -2
  10. package/dist/components/icons.d.ts +12 -12
  11. package/dist/components/index.d.ts +11 -11
  12. package/dist/components/index.js +10 -10
  13. package/dist/components/method.d.ts +1 -1
  14. package/dist/components/method.js +2 -2
  15. package/dist/components/overview.d.ts +1 -1
  16. package/dist/components/overview.js +3 -3
  17. package/dist/components/primitives.d.ts +1 -1
  18. package/dist/components/primitives.js +1 -1
  19. package/dist/components/properties.d.ts +1 -1
  20. package/dist/components/properties.js +1 -1
  21. package/dist/components/sdk-sidebar.d.ts +1 -1
  22. package/dist/components/sdk-sidebar.js +2 -2
  23. package/dist/components/sdk.d.ts +1 -1
  24. package/dist/components/sdk.js +1 -1
  25. package/dist/components/snippets.d.ts +2 -2
  26. package/dist/components/snippets.js +1 -1
  27. package/dist/components/stl-sidebar.d.ts +2 -2
  28. package/dist/components/stl-sidebar.js +1 -1
  29. package/dist/{components-CwIKWfid.js → components-C4bGzXqr.js} +9 -9
  30. package/dist/contexts/component-generics.d.ts +1 -1
  31. package/dist/contexts/component-types.d.ts +11 -11
  32. package/dist/contexts/component.d.ts +14 -14
  33. package/dist/contexts/component.js +21 -20
  34. package/dist/contexts/docs.d.ts +1 -1
  35. package/dist/contexts/index.d.ts +15 -15
  36. package/dist/contexts/markdown.d.ts +1 -1
  37. package/dist/contexts/navigation.d.ts +1 -1
  38. package/dist/contexts/use-components.d.ts +10 -10
  39. package/dist/{csharp-BD37FKH6.js → csharp-Ckuihkec.js} +1 -1
  40. package/dist/{docs-Chc8A7zc.d.ts → docs-CMkfabi3.d.ts} +3 -3
  41. package/dist/{go-v-i4WDzK.js → go-DrZxKwGv.js} +1 -1
  42. package/dist/{http-BKoVLcpv.js → http-BoZv04yo.js} +33 -4
  43. package/dist/{index-Dz6SFEud.d.ts → index-BYTDY59Z.d.ts} +10 -10
  44. package/dist/{index-DuHyTVVD.d.ts → index-CwjGm9zX.d.ts} +33 -2
  45. package/dist/index-DCqDybi3.d.ts +345 -0
  46. package/dist/index.d.ts +16 -16
  47. package/dist/index.js +23 -22
  48. package/dist/{java-A6j1NMJ7.js → java-DB33acTL.js} +1 -1
  49. package/dist/languages/cli.d.ts +11 -11
  50. package/dist/languages/cli.js +12 -12
  51. package/dist/languages/csharp.d.ts +11 -11
  52. package/dist/languages/csharp.js +1 -1
  53. package/dist/languages/go.d.ts +11 -11
  54. package/dist/languages/go.js +1 -1
  55. package/dist/languages/http.d.ts +11 -11
  56. package/dist/languages/http.js +11 -11
  57. package/dist/languages/index.d.ts +12 -12
  58. package/dist/languages/index.js +21 -20
  59. package/dist/languages/java.d.ts +11 -11
  60. package/dist/languages/java.js +1 -1
  61. package/dist/languages/python.d.ts +11 -11
  62. package/dist/languages/python.js +1 -1
  63. package/dist/languages/ruby.d.ts +11 -11
  64. package/dist/languages/ruby.js +1 -1
  65. package/dist/languages/terraform.d.ts +12 -0
  66. package/dist/languages/terraform.js +9 -0
  67. package/dist/languages/typescript.d.ts +11 -11
  68. package/dist/languages/typescript.js +1 -1
  69. package/dist/languages-ZaloBYTK.js +30 -0
  70. package/dist/markdown/index.d.ts +2 -2
  71. package/dist/markdown/index.js +21 -20
  72. package/dist/markdown/printer.d.ts +2 -2
  73. package/dist/markdown/printer.js +22 -21
  74. package/dist/markdown/utils.d.ts +3 -3
  75. package/dist/{markdown-CoIy7fea.d.ts → markdown-9xLfF9XX.d.ts} +2 -2
  76. package/dist/{method-Bt3V4B4q.d.ts → method-BwXzL3P1.d.ts} +6 -6
  77. package/dist/{method-mosT_h9v.js → method-DuiknwGt.js} +9 -3
  78. package/dist/{navigation-CHVw_t5x.d.ts → navigation-C7KdkOOQ.d.ts} +3 -3
  79. package/dist/{overview-9J_EJ4Uv.d.ts → overview-Bgw9OG4s.d.ts} +7 -7
  80. package/dist/{overview-dG8i3EyZ.js → overview-CcVRPEBm.js} +10 -11
  81. package/dist/{primitives-B6nufz49.js → primitives-B6y6nqBK.js} +2 -2
  82. package/dist/{primitives-BkenBSev.d.ts → primitives-BFT7Ya7M.d.ts} +11 -11
  83. package/dist/{properties-4w8hy0hf.js → properties-D2J5gvC-.js} +1 -1
  84. package/dist/{python-CtQJaLw5.js → python-CU3scKKD.js} +1 -1
  85. package/dist/{routing-CLgL--x1.js → routing-B7QoUwlD.js} +1 -1
  86. package/dist/{routing-CqnhQY4G.d.ts → routing-Cm_9XJiQ.d.ts} +1 -1
  87. package/dist/routing.d.ts +1 -1
  88. package/dist/routing.js +1 -1
  89. package/dist/{ruby-DJqEHgOw.js → ruby-DGRZDnHB.js} +1 -1
  90. package/dist/{sdk-BDzHdl2y.d.ts → sdk-AjblXmHS.d.ts} +3 -3
  91. package/dist/{sdk-afI6c7Wd.js → sdk-CR-rCp9e.js} +4 -4
  92. package/dist/{sdk-sidebar-CoVgP38f.d.ts → sdk-sidebar-D0TtSeoG.d.ts} +1 -1
  93. package/dist/{sdk-sidebar-ZaXTw63C.js → sdk-sidebar-FL7e7_BM.js} +24 -10
  94. package/dist/{snippets-Dfd3zU_j.d.ts → snippets-Cp1UqKR_.d.ts} +11 -11
  95. package/dist/{snippets-bh8lfniq.js → snippets-Us8YSl3A.js} +2 -2
  96. package/dist/spec.d.ts +4 -4
  97. package/dist/spec.js +2 -2
  98. package/dist/{stl-sidebar-D6OGr1Gl.d.ts → stl-sidebar-GAhLy2ST.d.ts} +22 -9
  99. package/dist/stl-sidebar-WtimNrk1.js +106 -0
  100. package/dist/{style-Bxr5gqcM.js → style-HpXpcJ9v.js} +2 -0
  101. package/dist/style.d.ts +2 -0
  102. package/dist/style.js +1 -1
  103. package/dist/styles/main.css +20 -3
  104. package/dist/styles/sidebar.css +45 -109
  105. package/dist/styles.css +67 -115
  106. package/dist/terraform-BD7o7zbh.js +243 -0
  107. package/dist/{typescript-DA7mcN1t.js → typescript-CEVQ6kS_.js} +1 -1
  108. package/dist/{utils-36jzmKxv.js → utils-KWHcUI-r.js} +1 -1
  109. package/dist/utils.d.ts +1 -1
  110. package/dist/utils.js +1 -1
  111. package/package.json +3 -3
  112. package/dist/breadcrumbs-CpdCGzeH.d.ts +0 -25
  113. package/dist/component-generics-Bs9VsgxB.d.ts +0 -30
  114. package/dist/docs-FJV1-6V2.d.ts +0 -47
  115. package/dist/index-C9bUFWfw.d.ts +0 -302
  116. package/dist/index-WHKRwqwo.d.ts +0 -302
  117. package/dist/index-_wZU78e1.d.ts +0 -16
  118. package/dist/languages-BPVYg1lj.js +0 -28
  119. package/dist/markdown-IA9nH38V.d.ts +0 -22
  120. package/dist/method-CZDrcjKP.d.ts +0 -59
  121. package/dist/navigation-CIQImbWI.d.ts +0 -29
  122. package/dist/overview-DVklHrbY.d.ts +0 -39
  123. package/dist/primitives-Bmr19wBU.d.ts +0 -105
  124. package/dist/properties-NrkX1jGk.d.ts +0 -54
  125. package/dist/sdk-hDAzjotL.d.ts +0 -122
  126. package/dist/sdk-sidebar-ByMsvpUm.d.ts +0 -15
  127. package/dist/snippets-BqKFOZfY.d.ts +0 -53
  128. package/dist/stl-sidebar-DdxZx2KK.js +0 -82
  129. package/dist/stl-sidebar-nQWQbRVM.d.ts +0 -45
  130. /package/dist/{properties-Dx6tQNus.d.ts → properties-Dw7HWUj0.d.ts} +0 -0
@@ -1,4 +1,5 @@
1
- import * as react_jsx_runtime74 from "react/jsx-runtime";
1
+ import { ReactNode } from "react";
2
+ import * as react_jsx_runtime95 from "react/jsx-runtime";
2
3
 
3
4
  //#region src/components/stl-sidebar.d.ts
4
5
  declare module 'react' {
@@ -11,22 +12,34 @@ declare module 'react' {
11
12
  }
12
13
  }
13
14
  }
15
+ type StlSidebarTarget = {
16
+ type: 'href';
17
+ href: string;
18
+ } | {
19
+ type: 'stainlessPath';
20
+ stainlessPath: string;
21
+ };
14
22
  interface StlSidebarLink {
15
23
  type: 'link';
24
+ icon?: ReactNode;
16
25
  label: string;
26
+ /** Current sidebar item is highlighted. */
17
27
  isCurrent?: boolean;
18
- attrs: Record<string, unknown>;
19
- href?: string;
20
- stainlessPath?: string;
28
+ target: StlSidebarTarget;
29
+ /** Additional HTML attributes that will be attached to the anchor element. */
30
+ attrs?: Record<string, unknown>;
21
31
  }
22
32
  interface StlSidebarGroup {
23
33
  type: 'group';
34
+ icon?: ReactNode;
24
35
  label: string;
25
36
  entries: Array<StlSidebarLink | StlSidebarGroup>;
26
- collapsed: boolean;
37
+ /** Defaults to true. */
38
+ collapsible?: boolean;
39
+ collapsed?: boolean;
40
+ /** Current sidebar item is highlighted. */
27
41
  isCurrent?: boolean;
28
- href?: string;
29
- stainlessPath?: string;
42
+ target?: StlSidebarTarget;
30
43
  }
31
44
  type StlSidebarEntry = StlSidebarLink | StlSidebarGroup;
32
45
  type StlSidebarProps = {
@@ -40,6 +53,6 @@ type StlSidebarProps = {
40
53
  declare function StlSidebar({
41
54
  entries,
42
55
  withStarlightRestoration
43
- }: StlSidebarProps): react_jsx_runtime74.JSX.Element;
56
+ }: StlSidebarProps): react_jsx_runtime95.JSX.Element;
44
57
  //#endregion
45
- export { StlSidebarProps as a, StlSidebarLink as i, StlSidebarEntry as n, StlSidebarGroup as r, StlSidebar as t };
58
+ export { StlSidebarProps as a, StlSidebarLink as i, StlSidebarEntry as n, StlSidebarTarget as o, StlSidebarGroup as r, StlSidebar as t };
@@ -0,0 +1,106 @@
1
+ import { t as useComponents } from "./use-components-BUz3GbO4.js";
2
+ import { t as style_default } from "./style-HpXpcJ9v.js";
3
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
4
+ import clsx from "clsx";
5
+ import { ChevronRight } from "lucide-react";
6
+
7
+ //#region src/components/stl-sidebar.tsx
8
+ function targetToAttributes(target) {
9
+ return {
10
+ href: target.type === "href" ? target.href : void 0,
11
+ stainlessPath: target.type === "stainlessPath" ? target.stainlessPath : void 0
12
+ };
13
+ }
14
+ function StlSidebarSublist({ entries, entryToIndex }) {
15
+ return /* @__PURE__ */ jsx("ul", {
16
+ className: style_default.SidebarList,
17
+ children: entries.map((entry, index) => entry.type === "link" ? /* @__PURE__ */ jsx(LinkEntry, { entry }, index) : /* @__PURE__ */ jsx(GroupEntry, {
18
+ entry,
19
+ entryToIndex
20
+ }, index))
21
+ });
22
+ }
23
+ function EntryItem({ className, children }) {
24
+ return /* @__PURE__ */ jsx("li", {
25
+ className: clsx(style_default.SidebarEntry, className),
26
+ children
27
+ });
28
+ }
29
+ function LinkEntry({ entry }) {
30
+ const Docs = useComponents();
31
+ return /* @__PURE__ */ jsx(EntryItem, {
32
+ className: style_default.SidebarEntryLink,
33
+ children: /* @__PURE__ */ jsxs(Docs.Link, {
34
+ ...targetToAttributes(entry.target),
35
+ "aria-current": entry.isCurrent ? "page" : void 0,
36
+ ...entry.attrs,
37
+ children: [entry.icon, entry.label]
38
+ })
39
+ });
40
+ }
41
+ function GroupEntry({ entry, entryToIndex }) {
42
+ const Docs = useComponents();
43
+ const restorePointIndex = entryToIndex?.get(entry);
44
+ const { collapsible = true } = entry;
45
+ const labelWithIcon = /* @__PURE__ */ jsxs(Fragment, { children: [entry.label, entry.icon] });
46
+ const GroupElement = collapsible ? "details" : "div";
47
+ const GroupLabelElement = collapsible ? "summary" : "div";
48
+ return /* @__PURE__ */ jsxs(EntryItem, {
49
+ className: style_default.SidebarEntryGroup,
50
+ children: [entry.target && /* @__PURE__ */ jsx(Docs.Link, {
51
+ ...targetToAttributes(entry.target),
52
+ "aria-current": entry.isCurrent ? "page" : void 0,
53
+ children: labelWithIcon
54
+ }), /* @__PURE__ */ jsxs(GroupElement, {
55
+ className: style_default.SidebarExpander,
56
+ ...collapsible ? { open: flattenStlSidebar(entry.entries).some((i) => i.isCurrent) || !entry.collapsed } : {},
57
+ children: [
58
+ /* @__PURE__ */ jsxs(GroupLabelElement, {
59
+ className: style_default.ExpanderSummary,
60
+ children: [/* @__PURE__ */ jsx("span", {
61
+ "aria-hidden": entry.target ? "true" : void 0,
62
+ children: labelWithIcon
63
+ }), entry.entries.length > 0 && collapsible && /* @__PURE__ */ jsx(ChevronRight, {
64
+ size: 16,
65
+ strokeWidth: 1,
66
+ className: `${style_default.Icon} ${style_default.ExpanderSummaryIcon}`
67
+ })]
68
+ }),
69
+ restorePointIndex !== void 0 && /* @__PURE__ */ jsx("sl-sidebar-restore", { "data-index": restorePointIndex }),
70
+ entry.entries.length > 0 && /* @__PURE__ */ jsx(StlSidebarSublist, {
71
+ entries: entry.entries,
72
+ entryToIndex
73
+ })
74
+ ]
75
+ })]
76
+ });
77
+ }
78
+ function StlSidebar({ entries, withStarlightRestoration }) {
79
+ const entryToIndex = withStarlightRestoration ? computeEntryToIndex(entries) : void 0;
80
+ return /* @__PURE__ */ jsx("div", {
81
+ className: `${style_default.Root} ${style_default.Sidebar}`,
82
+ children: /* @__PURE__ */ jsx(StlSidebarSublist, {
83
+ entries,
84
+ entryToIndex
85
+ })
86
+ });
87
+ }
88
+ function computeEntryToIndex(allEntries) {
89
+ const entryToIndex = /* @__PURE__ */ new Map();
90
+ let currentIndex = 0;
91
+ function addEntries(entries) {
92
+ for (const entry of entries) if (entry.type === "group") {
93
+ entryToIndex.set(entry, currentIndex);
94
+ currentIndex++;
95
+ addEntries(entry.entries);
96
+ }
97
+ }
98
+ addEntries(allEntries);
99
+ return entryToIndex;
100
+ }
101
+ function flattenStlSidebar(sidebar) {
102
+ return sidebar.flatMap((entry) => entry.type === "group" ? flattenStlSidebar(entry.entries) : entry);
103
+ }
104
+
105
+ //#endregion
106
+ export { StlSidebar as t };
@@ -84,12 +84,14 @@ var style_default = {
84
84
  MethodSummary: "stldocs-method-summary",
85
85
  MethodSinglePane: "stldocs-method-single-pane",
86
86
  MethodDoublePane: "stldocs-method-double-pane",
87
+ MethodAvailableLanguages: "stldocs-method-available-languages",
87
88
  SignatureTitle: "stldocs-signature-title",
88
89
  SignatureName: "stldocs-signature-name",
89
90
  SignatureQualified: "stldocs-signature-qualified",
90
91
  SignatureParams: "stldoc-signature-params",
91
92
  SignatureParen: "stldocs-signature-paren",
92
93
  SignatureReturns: "stldocs-signature-returns",
94
+ TerraformResourceTitle: "stldocs-terraform-resource-title",
93
95
  Property: "stldocs-property",
94
96
  Properties: "stldocs-properties",
95
97
  PropertyHeader: "stldocs-property-header",
package/dist/style.d.ts CHANGED
@@ -84,12 +84,14 @@ declare const _default: {
84
84
  readonly MethodSummary: "stldocs-method-summary";
85
85
  readonly MethodSinglePane: "stldocs-method-single-pane";
86
86
  readonly MethodDoublePane: "stldocs-method-double-pane";
87
+ readonly MethodAvailableLanguages: "stldocs-method-available-languages";
87
88
  readonly SignatureTitle: "stldocs-signature-title";
88
89
  readonly SignatureName: "stldocs-signature-name";
89
90
  readonly SignatureQualified: "stldocs-signature-qualified";
90
91
  readonly SignatureParams: "stldoc-signature-params";
91
92
  readonly SignatureParen: "stldocs-signature-paren";
92
93
  readonly SignatureReturns: "stldocs-signature-returns";
94
+ readonly TerraformResourceTitle: "stldocs-terraform-resource-title";
93
95
  readonly Property: "stldocs-property";
94
96
  readonly Properties: "stldocs-properties";
95
97
  readonly PropertyHeader: "stldocs-property-header";
package/dist/style.js CHANGED
@@ -1,3 +1,3 @@
1
- import { t as style_default } from "./style-Bxr5gqcM.js";
1
+ import { t as style_default } from "./style-HpXpcJ9v.js";
2
2
 
3
3
  export { style_default as default };
@@ -25,7 +25,7 @@
25
25
  .stldocs-resource {
26
26
  padding: 2rem 0;
27
27
 
28
- .stldocs-resource-content {
28
+ &:not([data-stl-resource-language='terraform']) .stldocs-resource-content {
29
29
  max-width: var(--stldocs-content-width);
30
30
  margin: auto 0;
31
31
  }
@@ -99,7 +99,8 @@
99
99
  }
100
100
 
101
101
  /* Overview page method summary */
102
- .stldocs-root .stldocs-overview .stldocs-method-summary {
102
+ .stldocs-root .stldocs-overview .stldocs-method-summary,
103
+ .stldocs-root .stldocs-overview .stldocs-method {
103
104
  padding: var(--stldocs-content-padding) 0;
104
105
 
105
106
  .stldocs-method-header {
@@ -409,7 +410,8 @@
409
410
  }
410
411
  }
411
412
 
412
- .stldocs-root .stldocs-method {
413
+ .stldocs-root .stldocs-method,
414
+ .stldocs-root .stldocs-resource-content {
413
415
  .stldocs-method-content-column {
414
416
  display: contents;
415
417
  }
@@ -477,6 +479,13 @@
477
479
  }
478
480
  }
479
481
 
482
+ /* TODO(soon): we shouldn't be copying these styles here. */
483
+ .stldocs-method-available-languages a {
484
+ color: var(--stl-color-link-foreground);
485
+ text-decoration-color: rgb(from currentColor r g b / calc(alpha * var(--stl-opacity-level-040)));
486
+ transition: text-decoration-color 0.1s ease-out;
487
+ }
488
+
480
489
  .stldocs-method-info-section {
481
490
  display: flex;
482
491
  gap: 0.5rem;
@@ -520,6 +529,14 @@
520
529
  .stldocs-method-parameters h5 {
521
530
  margin-left: var(--stldocs-expander-margin-shift);
522
531
  }
532
+
533
+ .stldocs-terraform-resource-title {
534
+ font-family: var(--stl-typography-font-mono);
535
+ font-size: 1.1rem;
536
+ white-space: nowrap;
537
+ overflow: hidden;
538
+ text-overflow: ellipsis;
539
+ }
523
540
  }
524
541
 
525
542
  .stldocs-snippet {
@@ -68,10 +68,14 @@
68
68
 
69
69
  .stldocs-expander-summary,
70
70
  .stldocs-sidebar-entry-link a {
71
- cursor: pointer;
72
71
  padding: var(--stldocs-sidebar-item-padding-block) var(--stldocs-sidebar-item-padding-inline);
73
72
  }
74
73
 
74
+ summary.stldocs-expander-summary,
75
+ .stldocs-sidebar-entry-link a {
76
+ cursor: pointer;
77
+ }
78
+
75
79
  .stldocs-sidebar-entry-link a:hover {
76
80
  color: var(--stl-color-foreground);
77
81
  }
@@ -105,7 +109,7 @@
105
109
  .stldocs-sidebar-entry-group:has(> a:is(:hover, [aria-current='page']))
106
110
  > .stldocs-sidebar-expander
107
111
  > .stldocs-expander-summary,
108
- .stldocs-expander-summary:hover {
112
+ summary.stldocs-expander-summary:hover {
109
113
  background-color: var(--stl-color-background-hover);
110
114
  }
111
115
 
@@ -122,130 +126,62 @@
122
126
  .stldocs-sidebar-list .stldocs-sidebar-list .stldocs-sidebar-entry {
123
127
  border-inline-start: 1px solid var(--stl-color-border-faint);
124
128
  margin-inline-start: var(--stldocs-sidebar-indent);
125
- &:has(> a[aria-current='page']) {
129
+
130
+ > a[aria-current='page'] {
126
131
  border-inline-start: 2px solid var(--stl-color-accent-border-strong);
127
- & > a {
128
- margin-left: -1px;
129
- }
132
+ margin-left: -1px;
130
133
  }
131
134
  }
132
135
 
133
- /* Method & resource icons. */
134
-
135
- a[data-stldocs-method],
136
- a[data-stldocs-resource] {
137
- --stldocs-sidebar-icon-size-outer: 18px;
138
- --stldocs-sidebar-icon-margin: 8px;
136
+ /* Icon positioning within links/groups. */
137
+ .stldocs-sidebar-entry-link > a,
138
+ .stldocs-sidebar-entry-group > a,
139
+ .stldocs-sidebar-entry-group .stldocs-expander-summary > span {
140
+ display: flex;
141
+ align-items: center;
142
+ gap: 8px;
139
143
  }
140
- a[data-stldocs-method] {
141
- --stldocs-sidebar-icon-size-inner: 16px;
142
- --stldocs-sidebar-icon-color-inverse-background: var(--stldocs-sidebar-icon-color);
143
144
 
144
- &[data-stldocs-method='get'] {
145
- --stldocs-sidebar-icon-color: var(--stl-color-green-foreground);
146
- --stldocs-sidebar-icon-color-border: var(--stl-color-green-border);
147
- --stldocs-sidebar-icon-color-background: var(--stl-color-green-muted-background);
148
- --stldocs-sidebar-icon-color-background-hover: var(--stl-color-green-muted-background-hover);
149
- --stldocs-sidebar-icon-color-inverse-background: var(--stl-color-green-inverse-background);
150
- --stldocs-sidebar-icon-color-inverse-foreground: var(--stl-color-green-inverse-foreground);
151
- }
152
- &[data-stldocs-method='post'] {
153
- --stldocs-sidebar-icon-color: var(--stl-color-blue-foreground);
154
- --stldocs-sidebar-icon-color-border: var(--stl-color-blue-border);
155
- --stldocs-sidebar-icon-color-background: var(--stl-color-blue-muted-background);
156
- --stldocs-sidebar-icon-color-background-hover: var(--stl-color-blue-muted-background-hover);
157
- --stldocs-sidebar-icon-color-inverse-background: var(--stl-color-blue-inverse-background);
158
- --stldocs-sidebar-icon-color-inverse-foreground: var(--stl-color-blue-inverse-foreground);
159
- }
160
- &[data-stldocs-method='patch'],
161
- &[data-stldocs-method='put'] {
162
- --stldocs-sidebar-icon-color: var(--stl-color-orange-foreground);
163
- --stldocs-sidebar-icon-color-border: var(--stl-color-orange-border);
164
- --stldocs-sidebar-icon-color-background: var(--stl-color-orange-muted-background);
165
- --stldocs-sidebar-icon-color-background-hover: var(--stl-color-orange-muted-background-hover);
166
- --stldocs-sidebar-icon-color-inverse-background: var(--stl-color-orange-inverse-background);
167
- --stldocs-sidebar-icon-color-inverse-foreground: var(--stl-color-orange-inverse-foreground);
168
- }
169
- &[data-stldocs-method='delete'] {
170
- --stldocs-sidebar-icon-color: var(--stl-color-red-foreground);
171
- --stldocs-sidebar-icon-color-border: var(--stl-color-red-border);
172
- --stldocs-sidebar-icon-color-background: var(--stl-color-red-muted-background);
173
- --stldocs-sidebar-icon-color-background-hover: var(--stl-color-red-muted-background-hover);
174
- --stldocs-sidebar-icon-color-inverse-background: var(--stl-color-red-inverse-background);
175
- --stldocs-sidebar-icon-color-inverse-foreground: var(--stl-color-red-inverse-foreground);
145
+ /* Hover/active states for HTTP badges. */
146
+ a[aria-current='page'] .stl-ui-badge--http {
147
+ &.stl-ui-badge--http-get {
148
+ background-color: var(--stl-color-green-inverse-background);
149
+ color: var(--stl-color-green-inverse-foreground);
176
150
  }
177
151
 
178
- &[data-stldocs-method='get'] {
179
- --stldocs-sidebar-icon-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 7 7 17"/><path d="M17 17H7V7"/></svg>');
180
- }
181
- &[data-stldocs-method='post'],
182
- &[data-stldocs-method='put'],
183
- &[data-stldocs-method='patch'] {
184
- --stldocs-sidebar-icon-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 7h10v10"/><path d="M7 17 17 7"/></svg>');
152
+ &.stl-ui-badge--http-post {
153
+ background-color: var(--stl-color-blue-inverse-background);
154
+ color: var(--stl-color-blue-inverse-foreground);
185
155
  }
186
- &[data-stldocs-method='delete'] {
187
- --stldocs-sidebar-icon-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>');
188
- }
189
- }
190
156
 
191
- a[data-stldocs-resource] {
192
- /* not yet implemented in markup */
193
- --stldocs-sidebar-icon-color: var(--stl-color-foreground-muted);
194
- --stldocs-sidebar-icon-color-border: var(--stl-color-border);
195
- --stldocs-sidebar-icon-color-background: var(--stl-color-faint-background);
196
- --stldocs-sidebar-icon-color-background-hover: var(--stl-color-faint-background-hover);
197
- --stldocs-sidebar-icon-color-inverse-background: var(--stl-color-inverse-background);
198
- --stldocs-sidebar-icon-color-inverse-foreground: var(--stl-color-inverse-foreground);
157
+ &.stl-ui-badge--http-patch,
158
+ &.stl-ui-badge--http-put {
159
+ background-color: var(--stl-color-orange-inverse-background);
160
+ color: var(--stl-color-orange-inverse-foreground);
161
+ }
199
162
 
200
- --stldocs-sidebar-icon-size-inner: 14px;
201
- --stldocs-sidebar-icon-url: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"/><path d="M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"/></svg>');
163
+ &.stl-ui-badge--http-delete {
164
+ background-color: var(--stl-color-red-inverse-background);
165
+ color: var(--stl-color-red-inverse-foreground);
166
+ }
202
167
  }
203
168
 
204
- a[data-stldocs-method],
205
- a[data-stldocs-resource] {
206
- display: flex;
207
- gap: var(--stldocs-sidebar-icon-margin);
208
- align-items: center;
209
- position: relative;
210
-
211
- &::before,
212
- &::after {
213
- content: '';
214
- width: var(--stldocs-sidebar-icon-size-outer);
215
- height: var(--stldocs-sidebar-icon-size-outer);
216
- display: block;
217
- }
218
- &::before {
219
- border-radius: 4px;
220
- background-color: var(--stldocs-sidebar-icon-color-background);
221
- flex: 0 0 auto;
222
- border: 1px solid var(--stldocs-sidebar-icon-color-border, transparent);
169
+ a:hover:not([aria-current='page']) .stl-ui-badge--http {
170
+ &.stl-ui-badge--http-get {
171
+ background-color: var(--stl-color-green-muted-background-hover);
223
172
  }
224
- /* yuck (we can clean this up once we are changing sidebar markup) */
225
- &::after {
226
- background-color: var(--stldocs-sidebar-icon-color);
227
- mask-image: var(--stldocs-sidebar-icon-url);
228
- mask-size: var(--stldocs-sidebar-icon-size-inner) var(--stldocs-sidebar-icon-size-inner);
229
- mask-repeat: no-repeat;
230
- mask-position: center;
231
- position: absolute;
232
- left: var(--stldocs-sidebar-item-padding-inline);
233
- top: 50%;
234
- transform: translateY(-50%);
173
+
174
+ &.stl-ui-badge--http-post {
175
+ background-color: var(--stl-color-blue-muted-background-hover);
235
176
  }
236
177
 
237
- &:hover {
238
- &::before {
239
- background-color: var(--stldocs-sidebar-icon-color-background-hover);
240
- }
178
+ &.stl-ui-badge--http-patch,
179
+ &.stl-ui-badge--http-put {
180
+ background-color: var(--stl-color-orange-muted-background-hover);
241
181
  }
242
- &[aria-current='page'] {
243
- &::before {
244
- background-color: var(--stldocs-sidebar-icon-color-inverse-background);
245
- }
246
- &::after {
247
- background-color: var(--stldocs-sidebar-icon-color-inverse-foreground);
248
- }
182
+
183
+ &.stl-ui-badge--http-delete {
184
+ background-color: var(--stl-color-red-muted-background-hover);
249
185
  }
250
186
  }
251
187
  }