@knitli/docs-components 1.1.2 → 1.1.4

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 (73) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +6 -6
  3. package/dist/assets/logos/Thread_vector_mono_aubergine.svg +41 -0
  4. package/dist/assets/logos/Thread_vector_mono_copper.svg +41 -0
  5. package/dist/assets/logos/Thread_vector_mono_parchment.svg +41 -0
  6. package/dist/assets/logos/codeweaver-primary.svg +103 -0
  7. package/dist/assets/logos/codeweaver-reverse.svg +103 -0
  8. package/dist/assets/logos/headline_logo.webp +0 -0
  9. package/dist/assets/logos/headline_logo_dark.png +0 -0
  10. package/dist/assets/logos/headline_logo_dark.webp +0 -0
  11. package/dist/assets/logos/index.d.ts +36 -0
  12. package/dist/assets/logos/index.d.ts.map +1 -0
  13. package/dist/assets/logos/index.js +27 -0
  14. package/dist/assets/logos/knitli_logo.svg +143 -0
  15. package/dist/assets/logos/knitli_wordmark.svg +118 -0
  16. package/dist/assets/logos/recoco-med.webp +0 -0
  17. package/dist/assets/logos/recoco-sm.webp +0 -0
  18. package/dist/assets/logos/recoco-xl.webp +0 -0
  19. package/dist/assets/styles/codeweaver-theme.css +570 -0
  20. package/dist/assets/styles/global.css +166 -0
  21. package/dist/assets/styles/index.d.ts +15 -0
  22. package/dist/assets/styles/index.d.ts.map +1 -0
  23. package/dist/assets/styles/index.js +14 -0
  24. package/dist/assets/styles/knitli-theme.css +215 -0
  25. package/dist/assets/styles/textures.css +668 -0
  26. package/dist/assets/styles/typography.css +262 -0
  27. package/dist/assets/styles/variables.css +238 -0
  28. package/dist/index.d.ts +40 -0
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +36 -0
  31. package/dist/styles/index.d.ts +2 -0
  32. package/dist/styles/index.d.ts.map +1 -0
  33. package/dist/styles/index.js +2 -0
  34. package/dist/types/index.d.ts +35 -0
  35. package/dist/types/index.d.ts.map +1 -0
  36. package/dist/types/index.js +7 -0
  37. package/package.json +49 -48
  38. package/scripts/copy-assets.mjs +37 -0
  39. package/scripts/copy-dist-assets.mjs +30 -0
  40. package/src/assets/asset-types.d.ts +29 -0
  41. package/src/assets/logos/Thread_vector_mono_aubergine.svg +41 -0
  42. package/src/assets/logos/Thread_vector_mono_copper.svg +41 -0
  43. package/src/assets/logos/Thread_vector_mono_parchment.svg +41 -0
  44. package/src/assets/logos/codeweaver-primary.svg +103 -0
  45. package/src/assets/logos/codeweaver-reverse.svg +103 -0
  46. package/src/assets/logos/headline_logo.webp +0 -0
  47. package/src/assets/logos/headline_logo_dark.png +0 -0
  48. package/src/assets/logos/headline_logo_dark.webp +0 -0
  49. package/src/assets/logos/index.ts +43 -0
  50. package/src/assets/logos/knitli_logo.svg +143 -0
  51. package/src/assets/logos/knitli_wordmark.svg +118 -0
  52. package/src/assets/logos/recoco-med.webp +0 -0
  53. package/src/assets/logos/recoco-sm.webp +0 -0
  54. package/src/assets/logos/recoco-xl.webp +0 -0
  55. package/src/assets/styles/codeweaver-theme.css +570 -0
  56. package/src/assets/styles/global.css +166 -0
  57. package/src/assets/styles/index.ts +26 -0
  58. package/src/assets/styles/knitli-theme.css +215 -0
  59. package/src/assets/styles/textures.css +668 -0
  60. package/src/assets/styles/typography.css +262 -0
  61. package/src/assets/styles/variables.css +238 -0
  62. package/src/components/DocsBreadcrumb.astro +74 -74
  63. package/src/components/Footer.astro +252 -216
  64. package/src/components/PageFrame.astro +118 -111
  65. package/src/index.d.ts +32 -0
  66. package/src/index.ts +46 -6
  67. package/src/styles/custom.css +73 -0
  68. package/src/styles/custom.d.css.ts +8 -0
  69. package/src/styles/index.ts +3 -0
  70. package/src/types/index.ts +2 -45
  71. package/src/assets/logos/README.md +0 -180
  72. package/src/styles/docs-theme.css +0 -682
  73. package/src/styles/variables.css +0 -200
@@ -12,235 +12,271 @@
12
12
  // starlight({ components: { Footer: '@knitli/docs-components/Footer.astro' } })
13
13
 
14
14
  // @ts-expect-error: virtual modules are typed in virtual-internal.d.ts (not in Starlight's public exports map)
15
- import EditLink from 'virtual:starlight/components/EditLink';
15
+ import EditLink from "virtual:starlight/components/EditLink";
16
16
  // @ts-expect-error
17
- import LastUpdated from 'virtual:starlight/components/LastUpdated';
17
+ import LastUpdated from "virtual:starlight/components/LastUpdated";
18
18
  // @ts-expect-error
19
- import Pagination from 'virtual:starlight/components/Pagination';
19
+ import Pagination from "virtual:starlight/components/Pagination";
20
20
  // @ts-expect-error
21
- import config from 'virtual:starlight/user-config';
22
- import { Icon } from '@astrojs/starlight/components';
21
+ import config from "virtual:starlight/user-config";
22
+ import { Icon } from "@astrojs/starlight/components";
23
23
 
24
24
  const currentYear = new Date().getFullYear();
25
25
 
26
- const shouldShowDocsHomeLink = Astro.url.pathname !== '/';
26
+ const shouldShowDocsHomeLink = Astro.url.pathname !== "/";
27
27
  ---
28
28
 
29
29
  <footer class="sl-flex knitli-page-footer">
30
-
31
- <!-- Starlight's native page-level footer: edit link, last updated, pagination, optional credits -->
32
- <div class="sl-flex page-actions">
33
- <div class="meta sl-flex">
34
- <EditLink />
35
- <LastUpdated />
36
- </div>
37
- <Pagination />
38
- {config.credits && (
30
+ <!-- Starlight's native page-level footer: edit link, last updated, pagination, optional credits -->
31
+ <div class="sl-flex page-actions">
32
+ <div class="meta sl-flex">
33
+ <EditLink/>
34
+ <LastUpdated/>
35
+ </div>
36
+ <Pagination/>
37
+ {
38
+ config.credits && (
39
39
  <a class="kudos sl-flex" href="https://starlight.astro.build">
40
- <Icon name="starlight" /> {Astro.locals.t('builtWithStarlight.label')}
40
+
41
+ <Icon name="starlight" /> {
42
+ // @ts-ignore: 2339
43
+ Astro.locals.t('builtWithStarlight.label')}
41
44
  </a>
42
45
  )}
43
- </div>
44
-
45
- <!-- Knitli site footer -->
46
- <div class="site-footer sl-flex">
47
- <div class="footer-content sl-flex">
48
-
49
- <div class="footer-brand">
50
- <p class="copyright">© {currentYear} Knitli, Inc. All rights reserved.</p>
51
- <div class="social-links sl-flex">
52
- <a href="https://github.com/knitli" aria-label="GitHub" class="social-link" target="_blank" rel="noopener noreferrer">
53
- <Icon name="github" size="1.1rem" />
54
- </a>
55
- <a href="https://x.com/knitli_inc" aria-label="X" class="social-link" target="_blank" rel="noopener noreferrer">
56
- <Icon name="x.com" size="1.1rem" />
57
- </a>
58
- <a href="https://bsky.app/profile/knitli.com" aria-label="Bluesky" class="social-link" target="_blank" rel="noopener noreferrer">
59
- <Icon name="blueSky" size="1.1rem" />
60
- </a>
61
- <a href="https://linkedin.com/company/knitli" aria-label="LinkedIn" class="social-link" target="_blank" rel="noopener noreferrer">
62
- <Icon name="linkedin" size="1.1rem" />
63
- </a>
64
- </div>
65
- </div>
66
-
67
- <nav class="footer-nav" aria-label="Knitli">
68
- <p class="nav-heading">Knitli</p>
69
- <ul>
70
- <li><a href="https://knitli.com">knitli.com</a></li>
71
- <li><a href="https://blog.knitli.com">Blog</a></li>
72
- </ul>
73
- </nav>
74
-
75
- <nav class="footer-nav" aria-label="Documentation">
76
- <p class="nav-heading">Docs</p>
77
- <ul>
78
- {shouldShowDocsHomeLink && <li><a href="https://docs.knitli.com">Developer Docs</a></li>}
79
- <li><a href="https://docs.knitli.com/ReCoco">ReCoco</a></li>
80
- <li>
81
- <span class="link-disabled">
82
- CodeWeaver
83
- <span class="soon-badge">soon</span>
84
- </span>
85
- </li>
86
- <li>
87
- <a href="https://docs.rs/thread" target="_blank" rel="noopener noreferrer">
88
- Thread ↗
89
- </a>
90
- </li>
91
- </ul>
92
- </nav>
93
-
94
- </div>
95
- </div>
96
-
46
+ </div>
47
+
48
+ <!-- Knitli site footer -->
49
+ <div class="site-footer sl-flex">
50
+ <div class="footer-content sl-flex">
51
+ <div class="footer-brand">
52
+ <p class="copyright">
53
+ © {currentYear}Knitli, Inc. All rights reserved.
54
+ </p>
55
+ <div class="social-links sl-flex">
56
+ <a
57
+ href="https://github.com/knitli"
58
+ aria-label="GitHub"
59
+ class="social-link"
60
+ target="_blank"
61
+ rel="noopener noreferrer"
62
+ >
63
+ <Icon name="github" size="1.1rem"/>
64
+ </a>
65
+ <a
66
+ href="https://x.com/knitli_inc"
67
+ aria-label="X"
68
+ class="social-link"
69
+ target="_blank"
70
+ rel="noopener noreferrer"
71
+ >
72
+ <Icon name="x.com" size="1.1rem"/>
73
+ </a>
74
+ <a
75
+ href="https://bsky.app/profile/knitli.com"
76
+ aria-label="Bluesky"
77
+ class="social-link"
78
+ target="_blank"
79
+ rel="noopener noreferrer"
80
+ >
81
+ <Icon name="blueSky" size="1.1rem"/>
82
+ </a>
83
+ <a
84
+ href="https://linkedin.com/company/knitli"
85
+ aria-label="LinkedIn"
86
+ class="social-link"
87
+ target="_blank"
88
+ rel="noopener noreferrer"
89
+ >
90
+ <Icon name="linkedin" size="1.1rem"/>
91
+ </a>
92
+ </div>
93
+ </div>
94
+
95
+ <nav class="footer-nav" aria-label="Knitli">
96
+ <p class="nav-heading">Knitli</p>
97
+ <ul>
98
+ <li>
99
+ <a href="https://knitli.com">knitli.com</a>
100
+ </li>
101
+ <li>
102
+ <a href="https://blog.knitli.com">Blog</a>
103
+ </li>
104
+ </ul>
105
+ </nav>
106
+
107
+ <nav class="footer-nav" aria-label="Documentation">
108
+ <p class="nav-heading">Docs</p>
109
+ <ul>
110
+ {shouldShowDocsHomeLink && <li><a href="https://docs.knitli.com">Developer Docs</a></li>}
111
+ <li>
112
+ <a href="https://docs.knitli.com/Recoco">Recoco</a>
113
+ </li>
114
+ <li>
115
+ <span class="link-disabled">
116
+ CodeWeaver
117
+ <span class="soon-badge">soon</span>
118
+ </span>
119
+ </li>
120
+ <li>
121
+ <a
122
+ href="https://docs.rs/thread"
123
+ target="_blank"
124
+ rel="noopener noreferrer"
125
+ >
126
+ Thread ↗
127
+ </a>
128
+ </li>
129
+ </ul>
130
+ </nav>
131
+ </div>
132
+ </div>
97
133
  </footer>
98
134
 
99
135
  <style>
100
- @layer starlight.core {
101
- /* ---- Outer wrapper ---- */
102
- .knitli-page-footer {
103
- flex-direction: column;
104
- gap: 0;
105
- }
106
-
107
- /* ---- Starlight native page actions (replicated from Starlight's Footer) ---- */
108
- .page-actions {
109
- flex-direction: column;
110
- gap: 1.5rem;
111
- }
112
-
113
- .meta {
114
- gap: 0.75rem 3rem;
115
- justify-content: space-between;
116
- flex-wrap: wrap;
117
- margin-top: 3rem;
118
- font-size: var(--sl-text-sm);
119
- color: var(--sl-color-gray-3);
120
- }
121
-
122
- .meta > :global(p:only-child) {
123
- margin-inline-start: auto;
124
- }
125
-
126
- .kudos {
127
- align-items: center;
128
- gap: 0.5em;
129
- margin: 1.5rem auto;
130
- font-size: var(--sl-text-xs);
131
- text-decoration: none;
132
- color: var(--sl-color-gray-3);
133
- }
134
-
135
- .kudos:hover {
136
- color: var(--sl-color-white);
137
- }
138
-
139
- /* ---- Knitli site footer ---- */
140
- .site-footer {
141
- flex-direction: column;
142
- border-top: 1px solid var(--sl-color-gray-5);
143
- padding-top: 2rem;
144
- margin-top: 2rem;
145
- gap: 1.5rem;
146
- }
147
-
148
- .footer-content {
149
- flex-wrap: wrap;
150
- gap: 2rem 4rem;
151
- align-items: flex-start;
152
- }
153
-
154
- .footer-brand {
155
- flex: 1;
156
- min-width: 200px;
157
- display: flex;
158
- flex-direction: column;
159
- gap: 0.75rem;
160
- }
161
-
162
- .copyright {
163
- margin: 0;
164
- font-size: var(--sl-text-sm);
165
- color: var(--sl-color-gray-3);
166
- }
167
-
168
- .social-links {
169
- gap: 0.75rem;
170
- align-items: center;
171
- }
172
-
173
- .social-link {
174
- display: flex;
175
- align-items: center;
176
- color: var(--sl-color-gray-3);
177
- text-decoration: none;
178
- transition: color 0.2s ease;
179
- }
180
-
181
- .social-link:hover {
182
- color: var(--sl-color-accent-high);
183
- }
184
-
185
- .footer-nav {
186
- display: flex;
187
- flex-direction: column;
188
- gap: 0.5rem;
189
- }
190
-
191
- .nav-heading {
192
- margin: 0 0 0.5rem;
193
- font-size: var(--sl-text-xs);
194
- font-weight: 600;
195
- text-transform: uppercase;
196
- letter-spacing: 0.08em;
197
- color: var(--sl-color-accent);
198
- }
199
-
200
- .footer-nav ul {
201
- list-style: none;
202
- padding: 0;
203
- margin: 0;
204
- display: flex;
205
- flex-direction: column;
206
- gap: 0.4rem;
207
- }
208
-
209
- .footer-nav a {
210
- font-size: var(--sl-text-sm);
211
- color: var(--sl-color-gray-2);
212
- text-decoration: none;
213
- transition: color 0.2s ease;
214
- }
215
-
216
- .footer-nav a:hover {
217
- color: var(--sl-color-accent-high);
218
- }
219
-
220
- .link-disabled {
221
- font-size: var(--sl-text-sm);
222
- color: var(--sl-color-gray-4);
223
- display: flex;
224
- align-items: center;
225
- gap: 0.4rem;
226
- }
227
-
228
- .soon-badge {
229
- font-size: var(--sl-text-xs);
230
- padding: 0.1em 0.4em;
231
- border-radius: 3px;
232
- background: var(--sl-color-accent-low);
233
- color: var(--sl-color-accent-high);
234
- font-weight: 600;
235
- letter-spacing: 0.05em;
236
- text-transform: uppercase;
237
- }
238
- }
239
-
240
- @layer starlight.components {
241
- /* Starlight icon color in the kudos link */
242
- .kudos :global(svg) {
243
- color: var(--sl-color-orange);
244
- }
245
- }
136
+ @layer starlight.core {
137
+ /* ---- Outer wrapper ---- */
138
+ .knitli-page-footer {
139
+ flex-direction: column;
140
+ gap: 0;
141
+ }
142
+
143
+ /* ---- Starlight native page actions (replicated from Starlight's Footer) ---- */
144
+ .page-actions {
145
+ flex-direction: column;
146
+ gap: 1.5rem;
147
+ }
148
+
149
+ .meta {
150
+ gap: 0.75rem 3rem;
151
+ justify-content: space-between;
152
+ flex-wrap: wrap;
153
+ margin-top: 3rem;
154
+ font-size: var(--sl-text-sm);
155
+ color: var(--sl-color-gray-3);
156
+ }
157
+
158
+ .meta > :global(p:only-child) {
159
+ margin-inline-start: auto;
160
+ }
161
+
162
+ .kudos {
163
+ align-items: center;
164
+ gap: 0.5em;
165
+ margin: 1.5rem auto;
166
+ font-size: var(--sl-text-xs);
167
+ text-decoration: none;
168
+ color: var(--sl-color-gray-3);
169
+ }
170
+
171
+ .kudos:hover {
172
+ color: var(--sl-color-white);
173
+ }
174
+
175
+ /* ---- Knitli site footer ---- */
176
+ .site-footer {
177
+ flex-direction: column;
178
+ border-top: 1px solid var(--sl-color-gray-5);
179
+ padding-top: 2rem;
180
+ margin-top: 2rem;
181
+ gap: 1.5rem;
182
+ }
183
+
184
+ .footer-content {
185
+ flex-wrap: wrap;
186
+ gap: 2rem 4rem;
187
+ align-items: flex-start;
188
+ }
189
+
190
+ .footer-brand {
191
+ flex: 1;
192
+ min-width: 200px;
193
+ display: flex;
194
+ flex-direction: column;
195
+ gap: 0.75rem;
196
+ }
197
+
198
+ .copyright {
199
+ margin: 0;
200
+ font-size: var(--sl-text-sm);
201
+ color: var(--sl-color-gray-3);
202
+ }
203
+
204
+ .social-links {
205
+ gap: 0.75rem;
206
+ align-items: center;
207
+ }
208
+
209
+ .social-link {
210
+ display: flex;
211
+ align-items: center;
212
+ color: var(--sl-color-gray-3);
213
+ text-decoration: none;
214
+ transition: color 0.2s ease;
215
+ }
216
+
217
+ .social-link:hover {
218
+ color: var(--sl-color-accent-high);
219
+ }
220
+
221
+ .footer-nav {
222
+ display: flex;
223
+ flex-direction: column;
224
+ gap: 0.5rem;
225
+ }
226
+
227
+ .nav-heading {
228
+ margin: 0 0 0.5rem;
229
+ font-size: var(--sl-text-xs);
230
+ font-weight: 600;
231
+ text-transform: uppercase;
232
+ letter-spacing: 0.08em;
233
+ color: var(--sl-color-accent);
234
+ }
235
+
236
+ .footer-nav ul {
237
+ list-style: none;
238
+ padding: 0;
239
+ margin: 0;
240
+ display: flex;
241
+ flex-direction: column;
242
+ gap: 0.4rem;
243
+ }
244
+
245
+ .footer-nav a {
246
+ font-size: var(--sl-text-sm);
247
+ color: var(--sl-color-gray-2);
248
+ text-decoration: none;
249
+ transition: color 0.2s ease;
250
+ }
251
+
252
+ .footer-nav a:hover {
253
+ color: var(--sl-color-accent-high);
254
+ }
255
+
256
+ .link-disabled {
257
+ font-size: var(--sl-text-sm);
258
+ color: var(--sl-color-gray-4);
259
+ display: flex;
260
+ align-items: center;
261
+ gap: 0.4rem;
262
+ }
263
+
264
+ .soon-badge {
265
+ font-size: var(--sl-text-xs);
266
+ padding: 0.1em 0.4em;
267
+ border-radius: 3px;
268
+ background: var(--sl-color-accent-low);
269
+ color: var(--sl-color-accent-high);
270
+ font-weight: 600;
271
+ letter-spacing: 0.05em;
272
+ text-transform: uppercase;
273
+ }
274
+ }
275
+
276
+ @layer starlight.components {
277
+ /* Starlight icon color in the kudos link */
278
+ .kudos :global(svg) {
279
+ color: var(--sl-color-orange);
280
+ }
281
+ }
246
282
  </style>