@veluai/velu 0.2.41 → 0.2.42
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/docs/kadhir.md +31 -0
- package/package.json +3 -2
- package/runtime/velu-ui/themes/kadhir.css +73 -0
package/docs/kadhir.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Kadhir
|
|
2
|
+
|
|
3
|
+
Kadhir is Velu's independently implemented Luma equivalent. Mintlify migration maps `theme: "luma"` to `theme: "kadhir"`; native Velu sites can select Kadhir directly.
|
|
4
|
+
|
|
5
|
+
The implementation uses the existing Velu component and navigation infrastructure, with a new single-row 48px desktop header, pill tabs, compact search, a 248px sidebar, a 648px reading column, and a separate API sample rail. Mobile uses the accessible left drawer and on-page TOC. Pagination has 48px separation from content.
|
|
6
|
+
|
|
7
|
+
Reference: the cached npm renderer `@mintlify/client@0.0.3566`. Luma-specific classes were inspected in `.next/server/chunks/ssr/_6753cfba._.js` and `_450d9e92._.js`. These are reference inputs, not distributed code. Reference API data was generated using `@mintlify/validation@0.1.849` and its `openApiToSchemaGraph` export.
|
|
8
|
+
|
|
9
|
+
## Local comparison
|
|
10
|
+
|
|
11
|
+
The fresh fixture is `.incoming/kadhir/source`. It contains 220 pages, three products, two versions, API operations, component examples, and a custom stylesheet/script. The migrated output is `.incoming/kadhir/final`.
|
|
12
|
+
|
|
13
|
+
```powershell
|
|
14
|
+
node packages/velu-cli/scripts/build.mjs
|
|
15
|
+
node packages/velu-cli/dist/cli.js migrate mintlify .incoming/kadhir/source --out .incoming/kadhir/fresh-output
|
|
16
|
+
$env:PORT='8476'
|
|
17
|
+
node packages/velu-cli/dist/cli.js dev .incoming/kadhir/fresh-output
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Browser tests expect that fixture on port 8476:
|
|
21
|
+
|
|
22
|
+
```powershell
|
|
23
|
+
node --test packages/velu-cli/test/kadhir.test.mjs
|
|
24
|
+
node packages/velu-cli/test/kadhir-tabs-browser.mjs
|
|
25
|
+
node packages/velu-cli/test/kadhir-navigation-browser.mjs
|
|
26
|
+
node packages/velu-cli/test/kadhir-mobile-browser.mjs
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Tests cover tab clicks, API content, products/versions, reloads, long sidebars, drawer keyboard behavior, TOC clearance, and overflow. Screenshots and reference preparation scripts are under `.incoming/kadhir/`.
|
|
30
|
+
|
|
31
|
+
This is not a pixel-perfect guarantee. Icon artwork, syntax highlighting, generated response examples, component spacing, and arbitrary custom DOM selectors can differ. The fixture migration reports compatibility warnings for endpoint snapshots, component adapters, and CSS selectors; review those before deploying a migrated site.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veluai/velu",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.42",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": "./dist/cli.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
"docs/vepa.md",
|
|
22
22
|
"docs/thulir.md",
|
|
23
23
|
"docs/aalam.md",
|
|
24
|
-
"docs/nila.md"
|
|
24
|
+
"docs/nila.md",
|
|
25
|
+
"docs/kadhir.md"
|
|
25
26
|
],
|
|
26
27
|
"scripts": {
|
|
27
28
|
"build": "node scripts/build.mjs",
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/* Kadhir: independent Luma layout, measured with @mintlify/client 0.0.3566.
|
|
2
|
+
Shared reading components and accessible drawer behavior use thulir.css. */
|
|
3
|
+
[data-site-theme='kadhir'] .velu-pagenav { margin-block: 48px 64px; }
|
|
4
|
+
[data-site-theme='kadhir'] .velu-hero h1 { font-size: 36px; line-height: 36px; font-weight: 500; letter-spacing: -.8px; }
|
|
5
|
+
[data-site-theme='kadhir'] .velu-sidebar__item { background: transparent; min-height: 32px; padding-right: 12px; }
|
|
6
|
+
[data-site-theme='kadhir'] .velu-sidebar__item--active { font-weight: 400; }
|
|
7
|
+
/* Mint Luma marks the selected API endpoint with accent text only — no
|
|
8
|
+
persistent tint band (thulir.css paints one for the whole family). */
|
|
9
|
+
[data-site-theme='kadhir'] .velu-api-sidebar__item--active { background: transparent; font-weight: 400; }
|
|
10
|
+
/* Mint Luma hover: text shifts to accent, no background wash
|
|
11
|
+
(thulir.css paints a surface-color bg for the whole family). */
|
|
12
|
+
[data-site-theme='kadhir'] :is(.velu-sidebar__item, .velu-api-sidebar__item):hover { background: transparent; color: var(--accent-color); }
|
|
13
|
+
[data-site-theme='kadhir'] .velu-sidebar__label { white-space: normal; overflow-wrap: anywhere; }
|
|
14
|
+
[data-site-theme='kadhir'] .velu-sidebar__indicator { display: none; }
|
|
15
|
+
[data-site-theme='kadhir'] .velu-sidebar__section { text-transform: capitalize; font-size: 12px; font-weight: 600; }
|
|
16
|
+
[data-site-theme='kadhir'] .velu-docs-nav-scroll { overflow-x: hidden; }
|
|
17
|
+
[data-site-theme='kadhir'] .velu-sidebar__section { padding-inline: 0; }
|
|
18
|
+
[data-site-theme='kadhir'] .velu-docs-nav-scroll { background-image: none; scrollbar-width: thin; scrollbar-color: transparent transparent; }
|
|
19
|
+
[data-site-theme='kadhir'] .velu-docs-nav-scroll:hover { scrollbar-color: var(--border-color) transparent; }
|
|
20
|
+
[data-site-theme='kadhir'] .velu-header__action { border-radius: 999px; }
|
|
21
|
+
[data-site-theme='kadhir'] .velu-header__action--primary { background: var(--accent-color); padding-inline: 16px; }
|
|
22
|
+
[data-site-theme='kadhir'] .velu-header__action--primary::after { display: none; }
|
|
23
|
+
[data-site-theme='kadhir'] .velu-header__action:not(.velu-header__action--primary) { border: 1px solid var(--border-color); padding: 7px 16px; }
|
|
24
|
+
[data-site-theme='kadhir'] .velu-vepa-toc { padding-top: 16px; width: 100%; }
|
|
25
|
+
@container docs (min-width: 1024px) {
|
|
26
|
+
[data-site-theme='kadhir'] .velu-header { display: grid !important; grid-template-columns: 248px minmax(0,1fr) 36px auto; align-items: center; gap: 8px !important; height: 48px; padding: 0 36px; border-bottom: 1px solid var(--border-color); }
|
|
27
|
+
[data-site-theme='kadhir'] .velu-header__top { display: contents; }
|
|
28
|
+
[data-site-theme='kadhir'] .velu-header__top::after { display: none; }
|
|
29
|
+
[data-site-theme='kadhir'] .velu-header__col--brand { grid-column: 1; grid-row: 1; flex-wrap: nowrap !important; }
|
|
30
|
+
[data-site-theme='kadhir'] .velu-header__col--brand > .velu-hide-on-mobile { display: flex; gap: 28px; }
|
|
31
|
+
[data-site-theme='kadhir'] .velu-header .velu-nav-select__btn { border: 0; padding: 4px 8px; background: transparent; font-size: 14px; }
|
|
32
|
+
[data-site-theme='kadhir'] .velu-header .velu-nav-select__btn-icon { display: none; }
|
|
33
|
+
[data-site-theme='kadhir'] .velu-docs-context:not(:has(.velu-docs-anchors)) { display: none !important; }
|
|
34
|
+
[data-site-theme='kadhir'] .velu-header__col--center { grid-column: 3; grid-row: 1; width: 36px; }
|
|
35
|
+
[data-site-theme='kadhir'] .velu-header__col--actions { grid-column: 4; grid-row: 1; gap: 8px !important; }
|
|
36
|
+
[data-site-theme='kadhir'] .velu-header__actions-list { gap: 8px !important; }
|
|
37
|
+
[data-site-theme='kadhir'] .velu-header__tabs { grid-column: 2; grid-row: 1; padding: 0; height: 48px; justify-content: safe center !important; gap: 4px !important; overflow-x: auto; flex-wrap: nowrap !important; }
|
|
38
|
+
[data-site-theme='kadhir'] .velu-header__tab { padding: 8px 16px; height: 36px; border-radius: 999px; flex: none; }
|
|
39
|
+
[data-site-theme='kadhir'] .velu-header__tab::after { display: none; }
|
|
40
|
+
[data-site-theme='kadhir'] .velu-header__tab--active { background: var(--surface-color); font-weight: 500; border-bottom-color: transparent; }
|
|
41
|
+
[data-site-theme='kadhir'] .velu-search__trigger { width: 36px !important; height: 36px; border-radius: 50%; padding: 0; justify-content: center; border: 0; background: var(--surface-color); font-size: 0; gap: 0; }
|
|
42
|
+
[data-site-theme='kadhir'] .velu-search__trigger .velu-search__kbd { display: none; }
|
|
43
|
+
[data-site-theme='kadhir'] .velu-search__trigger-label { display: none; }
|
|
44
|
+
[data-site-theme='kadhir'] .velu-search__trigger-icon { font-size: 12px; }
|
|
45
|
+
[data-site-theme='kadhir'] .velu-docs-layout__aside--left { top: 48px; bottom: 0; left: 0; width: 248px; padding: 16px 20px 24px 20px; }
|
|
46
|
+
[data-site-theme='kadhir'] .velu-sidebar { width: 100%; }
|
|
47
|
+
[data-site-theme='kadhir'] .velu-docs-layout__center { margin-left: 248px; margin-right: 224px; }
|
|
48
|
+
[data-site-theme='kadhir'] .velu-docs-layout__main { padding: 28px 24px 0; }
|
|
49
|
+
[data-site-theme='kadhir'] .velu-docs-layout__article { max-inline-size: 648px; margin-inline: auto; }
|
|
50
|
+
[data-site-theme='kadhir'] .velu-docs-layout__aside--right { top: 48px; right: 20px; width: 236px; }
|
|
51
|
+
[data-site-theme='kadhir'] > [data-velu-footer] { margin-left: 248px; }
|
|
52
|
+
[data-site-theme='kadhir'] .velu-toc-bar { inset-block-start: 48px; }
|
|
53
|
+
}
|
|
54
|
+
@container docs (min-width: 1280px) {
|
|
55
|
+
[data-site-theme='kadhir'][data-api='true'] .velu-docs-layout__center { margin-right: 496px; }
|
|
56
|
+
[data-site-theme='kadhir'][data-api='true'] .velu-docs-layout__article { max-inline-size: 648px; }
|
|
57
|
+
[data-site-theme='kadhir'][data-api='true'] .velu-docs-layout__main { padding-inline: 48px 24px; }
|
|
58
|
+
[data-site-theme='kadhir'][data-api='true'] .velu-docs-layout__aside--right { right: 24px; width: 448px; padding-top: 24px; }
|
|
59
|
+
}
|
|
60
|
+
@container docs (min-width: 1024px) and (max-width: 1279px) {
|
|
61
|
+
[data-site-theme='kadhir'] .velu-docs-layout__center { margin-right: 0; }
|
|
62
|
+
[data-site-theme='kadhir'] .velu-header { grid-template-columns: 300px minmax(0,1fr) 36px auto; padding-inline: 20px; }
|
|
63
|
+
[data-site-theme='kadhir'] .velu-header__tab { padding-inline: 10px; }
|
|
64
|
+
}
|
|
65
|
+
@container docs (max-width: 1023px) {
|
|
66
|
+
[data-site-theme='kadhir'] .velu-hero h1 { font-size: 30px; line-height: 36px; }
|
|
67
|
+
[data-site-theme='kadhir'] .velu-hide-on-mobile { display: none; }
|
|
68
|
+
[data-site-theme='kadhir'] .velu-show-on-mobile { display: contents; }
|
|
69
|
+
[data-site-theme='kadhir'] .velu-docs-context { padding-inline: 16px; }
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|