@ui-doc/html-renderer 0.1.1 → 0.3.0
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/dist/assets/src/utils.d.ts +2 -0
- package/dist/assets/ui-doc.cjs +25 -15
- package/dist/assets/ui-doc.cjs.map +1 -1
- package/dist/assets/ui-doc.css +117 -0
- package/dist/assets/ui-doc.css.map +1 -1
- package/dist/assets/ui-doc.min.css +1 -1
- package/dist/assets/ui-doc.min.js +1 -1
- package/dist/assets/ui-doc.mjs +25 -15
- package/dist/assets/ui-doc.mjs.map +1 -1
- package/package.json +2 -2
- package/scripts/app.ts +1 -1
- package/scripts/src/example.ts +19 -6
- package/scripts/src/utils.ts +20 -0
- package/styles/03_components/colors.css +35 -0
- package/styles/03_components/icons.css +60 -0
- package/styles/03_components/spaces.css +39 -0
- package/styles/04_layouts/page.css +2 -0
- package/styles/index.css +3 -0
- package/templates/layouts/example.html +1 -0
- package/templates/partials/colors.html +12 -0
- package/templates/partials/content.html +12 -0
- package/templates/partials/icons.html +18 -0
- package/templates/partials/spaces.html +15 -0
- package/dist/assets/src/base.d.ts +0 -1
- package/scripts/src/base.ts +0 -7
package/dist/assets/ui-doc.cjs
CHANGED
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
function ready(callback) {
|
|
4
|
-
if (document.readyState !== 'loading') {
|
|
5
|
-
callback();
|
|
6
|
-
}
|
|
7
|
-
else {
|
|
8
|
-
document.addEventListener('DOMContentLoaded', callback);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
3
|
function initExample() {
|
|
13
4
|
document.querySelectorAll('[data-example] > iframe').forEach(iframe => {
|
|
14
5
|
var _a, _b;
|
|
@@ -16,23 +7,33 @@ function initExample() {
|
|
|
16
7
|
if (!document) {
|
|
17
8
|
return;
|
|
18
9
|
}
|
|
19
|
-
const
|
|
10
|
+
const initHeightChange = () => {
|
|
11
|
+
let currentHeight = 0;
|
|
20
12
|
const changeHeight = () => {
|
|
21
|
-
|
|
13
|
+
if (document.body.scrollHeight === currentHeight) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
currentHeight = document.body.scrollHeight;
|
|
17
|
+
iframe.style.height = `${currentHeight}px`;
|
|
22
18
|
};
|
|
19
|
+
// Initial height change
|
|
23
20
|
changeHeight();
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
// Use MutationObserver to detect changes in the DOM and change height if required
|
|
22
|
+
const mutationObserver = new MutationObserver(changeHeight);
|
|
23
|
+
mutationObserver.observe(document.body, {
|
|
26
24
|
attributes: true,
|
|
27
25
|
childList: true,
|
|
28
26
|
subtree: true,
|
|
29
27
|
});
|
|
28
|
+
// Use ResizeObserver to detect changes in the viewport and change height if required
|
|
29
|
+
const resizeObserver = new ResizeObserver(changeHeight);
|
|
30
|
+
resizeObserver.observe(document.body);
|
|
30
31
|
};
|
|
31
32
|
if (document.readyState === 'complete') {
|
|
32
|
-
|
|
33
|
+
initHeightChange();
|
|
33
34
|
}
|
|
34
35
|
else {
|
|
35
|
-
iframe.addEventListener('load',
|
|
36
|
+
iframe.addEventListener('load', initHeightChange);
|
|
36
37
|
}
|
|
37
38
|
});
|
|
38
39
|
}
|
|
@@ -74,6 +75,15 @@ function initSidebar() {
|
|
|
74
75
|
});
|
|
75
76
|
}
|
|
76
77
|
|
|
78
|
+
function ready(callback) {
|
|
79
|
+
if (document.readyState !== 'loading') {
|
|
80
|
+
callback();
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
document.addEventListener('DOMContentLoaded', callback);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
77
87
|
ready(() => {
|
|
78
88
|
initExample();
|
|
79
89
|
initSidebar();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-doc.cjs","sources":["../../../scripts/src/
|
|
1
|
+
{"version":3,"file":"ui-doc.cjs","sources":["../../../scripts/src/example.ts","../../../scripts/src/sidebar.ts","../../../scripts/src/utils.ts","../../../scripts/app.ts"],"sourcesContent":["export function initExample() {\n document.querySelectorAll<HTMLIFrameElement>('[data-example] > iframe').forEach(iframe => {\n const document = iframe.contentDocument ?? iframe.contentWindow?.document\n\n if (!document) {\n return\n }\n\n const initHeightChange = () => {\n let currentHeight = 0\n const changeHeight = () => {\n if (document.body.scrollHeight === currentHeight) {\n return\n }\n\n currentHeight = document.body.scrollHeight\n iframe.style.height = `${currentHeight}px`\n }\n\n // Initial height change\n changeHeight()\n\n // Use MutationObserver to detect changes in the DOM and change height if required\n const mutationObserver = new MutationObserver(changeHeight)\n\n mutationObserver.observe(document.body, {\n attributes: true,\n childList: true,\n subtree: true,\n })\n\n // Use ResizeObserver to detect changes in the viewport and change height if required\n const resizeObserver = new ResizeObserver(changeHeight)\n\n resizeObserver.observe(document.body)\n }\n\n if (document.readyState === 'complete') {\n initHeightChange()\n } else {\n iframe.addEventListener('load', initHeightChange)\n }\n })\n}\n","function createSidebar(sidebar: HTMLElement) {\n const links: Record<string, HTMLLinkElement> = {}\n const observer = new IntersectionObserver(\n entries => {\n const activeEntries = entries.filter(entry => entry.isIntersecting)\n\n if (activeEntries.length <= 0) {\n return\n }\n\n Object.keys(links).forEach(id => {\n links[id].classList.remove('active')\n })\n\n const activeLink = links[activeEntries[0].target.id]\n\n activeLink.classList.add('active')\n if (activeLink?.parentElement?.parentElement?.parentElement instanceof HTMLLIElement) {\n activeLink.parentElement.parentElement.parentElement\n .querySelector('a')\n ?.classList.add('active')\n }\n },\n {\n root: null,\n rootMargin: '0px 0px -90% 0px',\n threshold: 0.5,\n },\n )\n\n sidebar.querySelectorAll<HTMLLinkElement>('a[href^=\"#\"]').forEach(link => {\n const id = link.href.split('#')[1]\n const target = document.getElementById(id)\n\n if (target) {\n observer.observe(target)\n links[id] = link\n }\n })\n}\n\nexport function initSidebar() {\n document.querySelectorAll('[data-sidebar]').forEach(sidebar => {\n createSidebar(sidebar as HTMLElement)\n })\n}\n","export function ready(callback: () => void) {\n if (document.readyState !== 'loading') {\n callback()\n } else {\n document.addEventListener('DOMContentLoaded', callback)\n }\n}\n\nexport function throttle(callback: (...args: any[]) => void, delay: number) {\n let timerFlag: number | null = null\n\n return (...args: any[]) => {\n if (timerFlag === null) {\n callback(...args)\n timerFlag = window.setTimeout(() => {\n timerFlag = null\n }, delay)\n }\n }\n}\n","import { initExample } from './src/example'\nimport { initSidebar } from './src/sidebar'\nimport { ready } from './src/utils'\n\nready(() => {\n initExample()\n initSidebar()\n})\n"],"names":[],"mappings":"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"}
|
package/dist/assets/ui-doc.css
CHANGED
|
@@ -299,6 +299,121 @@ small {
|
|
|
299
299
|
.nav-list > ul > li > ul > li > .control:hover {
|
|
300
300
|
--border-opacity: 1;
|
|
301
301
|
}
|
|
302
|
+
.colors {
|
|
303
|
+
display: grid;
|
|
304
|
+
grid-template-columns: repeat(var(--colors-columns, 1), 1fr);
|
|
305
|
+
gap: var(--colors-gap, var(--size-normal));
|
|
306
|
+
}
|
|
307
|
+
@container content (width > 300px) {
|
|
308
|
+
.colors {
|
|
309
|
+
--colors-columns: 2
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
@container content (width > 620px) {
|
|
313
|
+
.colors {
|
|
314
|
+
--colors-columns: 3
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
@container content (width > 940px) {
|
|
318
|
+
.colors {
|
|
319
|
+
--colors-columns: 4
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
.colors > .item {
|
|
323
|
+
display: flex;
|
|
324
|
+
flex-direction: column;
|
|
325
|
+
gap: var(--size-xs);
|
|
326
|
+
justify-content: center;
|
|
327
|
+
|
|
328
|
+
padding: var(--size-xl) var(--size-md);
|
|
329
|
+
|
|
330
|
+
text-align: center;
|
|
331
|
+
|
|
332
|
+
border: 1px solid rgb(var(--border-color, currentColor));
|
|
333
|
+
}
|
|
334
|
+
.colors > .item > .text {
|
|
335
|
+
font-size: var(--font-size-md);
|
|
336
|
+
font-weight: var(--font-weight-bold);
|
|
337
|
+
}
|
|
338
|
+
.spaces {
|
|
339
|
+
--spaces-bg-color: var(--font-color);
|
|
340
|
+
--spaces-font-color: var(--bg-color);
|
|
341
|
+
|
|
342
|
+
display: flex;
|
|
343
|
+
flex-direction: column;
|
|
344
|
+
gap: var(--spaces-gap, var(--size-xs));
|
|
345
|
+
}
|
|
346
|
+
.spaces > .item {
|
|
347
|
+
display: flex;
|
|
348
|
+
}
|
|
349
|
+
.spaces > .item > .bg {
|
|
350
|
+
--bg-color: var(--spaces-bg-color);
|
|
351
|
+
--font-color: var(--spaces-font-color);
|
|
352
|
+
}
|
|
353
|
+
.spaces > .item > div {
|
|
354
|
+
padding: var(--size-sm) var(--size-normal);
|
|
355
|
+
}
|
|
356
|
+
.spaces > .item > div:first-child {
|
|
357
|
+
margin-right: var(--space-value);
|
|
358
|
+
}
|
|
359
|
+
.spaces > .item > div:last-child {
|
|
360
|
+
display: flex;
|
|
361
|
+
}
|
|
362
|
+
.spaces > .item > div:last-child > *:not(:last-child) {
|
|
363
|
+
margin-right: var(--size-xs);
|
|
364
|
+
padding-right: var(--size-xs);
|
|
365
|
+
border-right: 1px solid currentcolor;
|
|
366
|
+
}
|
|
367
|
+
.spaces > .item > div:last-child > .name {
|
|
368
|
+
font-weight: var(--font-weight-bold);
|
|
369
|
+
}
|
|
370
|
+
.icons {
|
|
371
|
+
display: grid;
|
|
372
|
+
grid-template-columns: repeat(var(--icons-columns, 1), 1fr);
|
|
373
|
+
gap: var(--icons-gap, var(--size-normal));
|
|
374
|
+
}
|
|
375
|
+
@container content (width > 300px) {
|
|
376
|
+
.icons {
|
|
377
|
+
--icons-columns: 2
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
@container content (width > 620px) {
|
|
381
|
+
.icons {
|
|
382
|
+
--icons-columns: 3
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
@container content (width > 940px) {
|
|
386
|
+
.icons {
|
|
387
|
+
--icons-columns: 4
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
.icons > .item {
|
|
391
|
+
display: flex;
|
|
392
|
+
flex-direction: column;
|
|
393
|
+
gap: var(--size-xs);
|
|
394
|
+
justify-content: center;
|
|
395
|
+
|
|
396
|
+
padding: var(--size-xl) var(--size-md);
|
|
397
|
+
|
|
398
|
+
text-align: center;
|
|
399
|
+
|
|
400
|
+
border: 1px solid rgb(var(--border-color));
|
|
401
|
+
}
|
|
402
|
+
.icons > .item > .show, .icons > .item > .show::before, .icons > .item > .text::before, .icons > .item > .text::after {
|
|
403
|
+
font-family: var(--icons-font-family);
|
|
404
|
+
}
|
|
405
|
+
.icons > .item > .show {
|
|
406
|
+
font-size: var(--icons-show-font-size, 3em);
|
|
407
|
+
}
|
|
408
|
+
.icons > .item > .name {
|
|
409
|
+
font-weight: var(--font-weight-bold);
|
|
410
|
+
}
|
|
411
|
+
.icons > .item.from-var > .show::before, .icons > .item.from-var > .text::before, .icons > .item.from-var > .text::after {
|
|
412
|
+
content: var(--icon);
|
|
413
|
+
}
|
|
414
|
+
.icons > .item.from-data > .text::before, .icons > .item.from-data > .text::after {
|
|
415
|
+
content: attr(data-icon);
|
|
416
|
+
}
|
|
302
417
|
html {
|
|
303
418
|
scroll-behavior: smooth;
|
|
304
419
|
scrollbar-gutter: stable;
|
|
@@ -341,6 +456,8 @@ body > main > .sidebar > .scroll {
|
|
|
341
456
|
max-height: calc(100vh - var(--nav-main-height));
|
|
342
457
|
}
|
|
343
458
|
body > main > .content {
|
|
459
|
+
container-name: content;
|
|
460
|
+
container-type: inline-size;
|
|
344
461
|
margin-left: calc(var(--main-sidebar-width) + var(--main-content-sidebar-space));
|
|
345
462
|
}
|
|
346
463
|
body > main > .content > .headline + .description {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["01_resets/root.css","01_resets/initial.css","01_resets/typography.css","02_objects/background.css","02_objects/text.css","02_objects/padding.css","02_objects/margin.css","02_objects/width.css","02_objects/control.css","03_components/example-markup.css","03_components/text-flow.css","03_components/nav/main.css","03_components/nav/list.css","04_layouts/page.css"],"names":[],"mappings":"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","file":"ui-doc.css","sourcesContent":[":root {\n --font-weight-normal: 400;\n --font-weight-bold: 700;\n --font-size-sm: 0.85em;\n --font-size-normal: 1em;\n --font-size-md: 1.2em;\n --font-size-lg: 1.7em;\n --font-size-base: 16px;\n --font-color: 3 3 3;\n --font-family: system-ui, \"Segoe UI\", roboto, helvetica, arial, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-weight: var(--font-weight-normal);\n --font-size: var(--font-size-normal);\n --font-line-height: 1.4;\n --headline-weight: var(--font-weight-bold);\n --bg-color: 255 255 255;\n --accent-color: 3 3 200;\n --border-color: 5 5 5;\n --selection-color: var(--bg-color);\n --selection-bg-color: var(--font-color);\n --size-base-unit: 1rem;\n --size-xs: calc(0.5 * var(--size-base-unit));\n --size-sm: calc(0.8 * var(--size-base-unit));\n --size-normal: var(--size-base-unit);\n --size-md: calc(1.2 * var(--size-base-unit));\n --size-lg: calc(1.6 * var(--size-base-unit));\n --size-xl: calc(2.4 * var(--size-base-unit));\n --nav-main-menu-item-px: var(--size-sm);\n --nav-main-menu-item-py: var(--size-xs);\n --nav-main-menu-item-font-size: var(--font-size-md);\n --nav-main-height: calc(\n var(--nav-main-menu-item-py) * 2 + var(--nav-main-menu-item-font-size) * var(--font-line-height)\n );\n\n color-scheme: light;\n}\n","* {\n box-sizing: border-box;\n margin: 0;\n}\n\n*::after,\n*::before {\n box-sizing: inherit;\n}\n\n::selection {\n color: rgb(var(--selection-color));\n background-color: rgb(var(--selection-bg-color));\n}\n\nbody {\n background-color: rgb(var(--bg-color));\n}\n","html {\n font-size: var(--font-size-base);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-size-adjust: 100%;\n word-break: break-word;\n}\n\nbody,\n.font {\n font-family: var(--font-family);\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n line-height: var(--font-line-height);\n color: rgb(var(--font-color));\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-family: var(--headline-family, inherit);\n font-size: calc(var(--font-size-normal) * var(--headline-scale, 1));\n font-weight: var(--headline-weight, inherit);\n line-height: var(--headline-line-height, inherit);\n color: rgb(var(--headline-color, inherit));\n}\n\nh1 {\n --headline-scale: 2.5;\n}\n\nh2 {\n --headline-scale: 2;\n}\n\nh3 {\n --headline-scale: 1.75;\n}\n\nh4 {\n --headline-scale: 1.5;\n}\n\na {\n color: rgb(var(--link-color, inherit));\n text-decoration: var(--link-decoration, none);\n}\n\nb,\nstrong {\n --font-weight: var(--font-weight-bold);\n}\n\nsmall {\n --font-size: var(--font-size-sm);\n}\n",".bg {\n --selection-bg-color: var(--font-color);\n --selection-color: var(--bg-color);\n\n color: rgb(var(--font-color));\n background: rgb(var(--bg-color));\n}\n",".tc {\n color: rgb(var(--font-color));\n}\n",".padding,\n.pxy {\n padding: var(--pt, var(--size-normal)) var(--pr, var(--size-normal)) var(--pb, var(--size-normal))\n var(--pl, var(--size-normal));\n}\n\n.pt {\n padding-top: var(--pt, var(--size-normal));\n}\n\n.pr {\n padding-right: var(--pr, var(--size-normal));\n}\n\n.pb {\n padding-bottom: var(--pb, var(--size-normal));\n}\n\n.pl {\n padding-left: var(--pl, var(--size-normal));\n}\n\n.pxy {\n --pt: var(--py, var(--size-normal));\n --pb: var(--py, var(--size-normal));\n --pl: var(--px, var(--size-normal));\n --pr: var(--px, var(--size-normal));\n}\n\n.py {\n --pt: var(--py, var(--size-normal));\n --pb: var(--py, var(--size-normal));\n\n @extend .pt;\n @extend .pb;\n}\n\n.px {\n --pl: var(--px, var(--size-normal));\n --pr: var(--px, var(--size-normal));\n\n @extend .pl;\n @extend .pr;\n}\n",".margin,\n.mxy {\n margin: var(--mt, var(--size-normal)) var(--mr, var(--size-normal)) var(--mb, var(--size-normal))\n var(--ml, var(--size-normal));\n}\n\n.mt {\n margin-top: var(--mt, var(--size-normal));\n}\n\n.mr {\n margin-right: var(--mr, var(--size-normal));\n}\n\n.mb {\n margin-bottom: var(--mb, var(--size-normal));\n}\n\n.ml {\n margin-left: var(--ml, var(--size-normal));\n}\n\n.mxy {\n --mt: var(--my, var(--size-normal));\n --mb: var(--my, var(--size-normal));\n --ml: var(--mx, var(--size-normal));\n --mr: var(--mx, var(--size-normal));\n}\n\n.my {\n --mt: var(--my, var(--size-normal));\n --mb: var(--my, var(--size-normal));\n\n @extend .mt;\n @extend .mb;\n}\n\n.mx {\n --ml: var(--mx, var(--size-normal));\n --mr: var(--mx, var(--size-normal));\n\n @extend .ml;\n @extend .mr;\n}\n","[class*=\"width-\"] {\n --width-calc: max(\n var(--width-min-space-x, 32px),\n calc((100% - var(--width-content, 1280px)) / 2)\n );\n\n padding-inline: var(--width-calc);\n}\n\n.width-content {\n --width-content: 1280px;\n}\n\n.width-full {\n --width: 100%;\n}\n",".control {\n --px: 0;\n --py: 0;\n\n @extend .pxy;\n @extend .font;\n\n cursor: pointer;\n\n display: inline-block;\n\n text-align: center;\n text-decoration: none;\n\n appearance: none;\n background: rgb(var(--control-bg-color, transparent));\n border: none;\n border-radius: unset;\n outline: none;\n\n &[aria-disabled=\"true\"],\n &:disabled {\n cursor: not-allowed;\n }\n}\n",".example,\n.markup {\n border: 1px solid rgb(var(--code-border-color, var(--border-color)));\n}\n\n.example,\n.markup > .code > .hljs {\n padding: 1em;\n}\n\n.example {\n display: flex;\n\n > iframe {\n width: 100%;\n border: none;\n }\n}\n\n.markup {\n font-size: var(--font-size-xs);\n\n > .code {\n margin: 0;\n }\n}\n\n.example + .markup {\n margin-top: 0;\n border-top: none;\n}\n",".text-flow {\n > * + * {\n margin-top: var(--text-flow-space, 1em);\n }\n}\n",".nav-main {\n @extend .bg;\n}\n\n.nav-main > .bar {\n height: var(--nav-main-height);\n\n > .control.title {\n --px: var(--nav-main-menu-item-px);\n --py: var(--nav-main-menu-item-py);\n --font-weight: var(--font-weight-bold);\n }\n}\n\n.nav-main > .menu {\n position: absolute;\n top: 0;\n right: calc(var(--width-calc) - var(--nav-main-menu-item-px));\n\n display: flex;\n flex-direction: row;\n\n height: var(--nav-main-height);\n\n > .control {\n --px: var(--nav-main-menu-item-px);\n --py: var(--nav-main-menu-item-py);\n --font-size: var(--nav-main-menu-item-font-size);\n --font-weight: var(--font-weight-bold);\n\n &[aria-current] {\n --font-color: var(--accent-color);\n }\n\n &:hover {\n text-decoration: underline;\n }\n }\n}\n",".nav-list {\n --nav-list-item-px: var(--size-sm);\n --nav-list-item-py: var(--size-xs);\n --nav-list-item-border-color: var(--border-color);\n\n text-align: left;\n\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n > ul > li + li {\n margin-top: var(--nav-list-root-item-space, var(--size-sm));\n }\n\n .control {\n &.active {\n --font-color: var(--accent-color);\n }\n }\n}\n\n.nav-list > ul > li > .control {\n --py: var(--nav-list-item-py);\n --pr: var(--nav-list-item-px);\n --font-weight: var(--font-weight-bold);\n --font-size: var(--font-size-md);\n}\n\n.nav-list > ul > li > ul > li > .control {\n --py: var(--nav-list-item-py);\n --px: var(--nav-list-item-px);\n\n text-align: left;\n border-left: 1px solid rgba(var(--nav-list-item-border-color) / var(--border-opacity, 0.1));\n\n &:hover {\n --border-opacity: 1;\n }\n}\n","html {\n scroll-behavior: smooth;\n scrollbar-gutter: stable;\n scroll-padding-top: var(--nav-main-height);\n height: 100%;\n}\n\nhtml > body {\n min-height: 100%;\n}\n\nbody > header {\n padding-top: var(--nav-main-height);\n\n > .nav-main {\n position: fixed;\n z-index: 1000;\n top: 0;\n width: 100%;\n }\n}\n\nbody > main {\n --main-sidebar-width: 25ch;\n --main-content-sidebar-space: var(--size-xl);\n\n position: relative;\n}\n\nbody > main > .sidebar {\n position: absolute;\n top: 0;\n left: var(--width-calc);\n\n width: var(--main-sidebar-width);\n height: 100%;\n\n > .scroll {\n position: sticky;\n top: var(--nav-main-height);\n\n overflow-y: auto;\n\n height: 100%;\n max-height: calc(100vh - var(--nav-main-height));\n }\n}\n\nbody > main > .content {\n margin-left: calc(var(--main-sidebar-width) + var(--main-content-sidebar-space));\n\n > .headline + .description {\n margin-top: var(--size-md);\n }\n\n > section + section,\n > section:first-of-type {\n margin-top: var(--main-content-section-space, var(--size-lg));\n }\n}\n\nfooter {\n --mt: var(--size-xl);\n\n > .text {\n text-align: right;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["01_resets/root.css","01_resets/initial.css","01_resets/typography.css","02_objects/background.css","02_objects/text.css","02_objects/padding.css","02_objects/margin.css","02_objects/width.css","02_objects/control.css","03_components/example-markup.css","03_components/text-flow.css","03_components/nav/main.css","03_components/nav/list.css","03_components/colors.css","03_components/spaces.css","03_components/icons.css","04_layouts/page.css"],"names":[],"mappings":"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","file":"ui-doc.css","sourcesContent":[":root {\n --font-weight-normal: 400;\n --font-weight-bold: 700;\n --font-size-sm: 0.85em;\n --font-size-normal: 1em;\n --font-size-md: 1.2em;\n --font-size-lg: 1.7em;\n --font-size-base: 16px;\n --font-color: 3 3 3;\n --font-family: system-ui, \"Segoe UI\", roboto, helvetica, arial, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-weight: var(--font-weight-normal);\n --font-size: var(--font-size-normal);\n --font-line-height: 1.4;\n --headline-weight: var(--font-weight-bold);\n --bg-color: 255 255 255;\n --accent-color: 3 3 200;\n --border-color: 5 5 5;\n --selection-color: var(--bg-color);\n --selection-bg-color: var(--font-color);\n --size-base-unit: 1rem;\n --size-xs: calc(0.5 * var(--size-base-unit));\n --size-sm: calc(0.8 * var(--size-base-unit));\n --size-normal: var(--size-base-unit);\n --size-md: calc(1.2 * var(--size-base-unit));\n --size-lg: calc(1.6 * var(--size-base-unit));\n --size-xl: calc(2.4 * var(--size-base-unit));\n --nav-main-menu-item-px: var(--size-sm);\n --nav-main-menu-item-py: var(--size-xs);\n --nav-main-menu-item-font-size: var(--font-size-md);\n --nav-main-height: calc(\n var(--nav-main-menu-item-py) * 2 + var(--nav-main-menu-item-font-size) * var(--font-line-height)\n );\n\n color-scheme: light;\n}\n","* {\n box-sizing: border-box;\n margin: 0;\n}\n\n*::after,\n*::before {\n box-sizing: inherit;\n}\n\n::selection {\n color: rgb(var(--selection-color));\n background-color: rgb(var(--selection-bg-color));\n}\n\nbody {\n background-color: rgb(var(--bg-color));\n}\n","html {\n font-size: var(--font-size-base);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-size-adjust: 100%;\n word-break: break-word;\n}\n\nbody,\n.font {\n font-family: var(--font-family);\n font-size: var(--font-size);\n font-weight: var(--font-weight);\n line-height: var(--font-line-height);\n color: rgb(var(--font-color));\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-family: var(--headline-family, inherit);\n font-size: calc(var(--font-size-normal) * var(--headline-scale, 1));\n font-weight: var(--headline-weight, inherit);\n line-height: var(--headline-line-height, inherit);\n color: rgb(var(--headline-color, inherit));\n}\n\nh1 {\n --headline-scale: 2.5;\n}\n\nh2 {\n --headline-scale: 2;\n}\n\nh3 {\n --headline-scale: 1.75;\n}\n\nh4 {\n --headline-scale: 1.5;\n}\n\na {\n color: rgb(var(--link-color, inherit));\n text-decoration: var(--link-decoration, none);\n}\n\nb,\nstrong {\n --font-weight: var(--font-weight-bold);\n}\n\nsmall {\n --font-size: var(--font-size-sm);\n}\n",".bg {\n --selection-bg-color: var(--font-color);\n --selection-color: var(--bg-color);\n\n color: rgb(var(--font-color));\n background: rgb(var(--bg-color));\n}\n",".tc {\n color: rgb(var(--font-color));\n}\n",".padding,\n.pxy {\n padding: var(--pt, var(--size-normal)) var(--pr, var(--size-normal)) var(--pb, var(--size-normal))\n var(--pl, var(--size-normal));\n}\n\n.pt {\n padding-top: var(--pt, var(--size-normal));\n}\n\n.pr {\n padding-right: var(--pr, var(--size-normal));\n}\n\n.pb {\n padding-bottom: var(--pb, var(--size-normal));\n}\n\n.pl {\n padding-left: var(--pl, var(--size-normal));\n}\n\n.pxy {\n --pt: var(--py, var(--size-normal));\n --pb: var(--py, var(--size-normal));\n --pl: var(--px, var(--size-normal));\n --pr: var(--px, var(--size-normal));\n}\n\n.py {\n --pt: var(--py, var(--size-normal));\n --pb: var(--py, var(--size-normal));\n\n @extend .pt;\n @extend .pb;\n}\n\n.px {\n --pl: var(--px, var(--size-normal));\n --pr: var(--px, var(--size-normal));\n\n @extend .pl;\n @extend .pr;\n}\n",".margin,\n.mxy {\n margin: var(--mt, var(--size-normal)) var(--mr, var(--size-normal)) var(--mb, var(--size-normal))\n var(--ml, var(--size-normal));\n}\n\n.mt {\n margin-top: var(--mt, var(--size-normal));\n}\n\n.mr {\n margin-right: var(--mr, var(--size-normal));\n}\n\n.mb {\n margin-bottom: var(--mb, var(--size-normal));\n}\n\n.ml {\n margin-left: var(--ml, var(--size-normal));\n}\n\n.mxy {\n --mt: var(--my, var(--size-normal));\n --mb: var(--my, var(--size-normal));\n --ml: var(--mx, var(--size-normal));\n --mr: var(--mx, var(--size-normal));\n}\n\n.my {\n --mt: var(--my, var(--size-normal));\n --mb: var(--my, var(--size-normal));\n\n @extend .mt;\n @extend .mb;\n}\n\n.mx {\n --ml: var(--mx, var(--size-normal));\n --mr: var(--mx, var(--size-normal));\n\n @extend .ml;\n @extend .mr;\n}\n","[class*=\"width-\"] {\n --width-calc: max(\n var(--width-min-space-x, 32px),\n calc((100% - var(--width-content, 1280px)) / 2)\n );\n\n padding-inline: var(--width-calc);\n}\n\n.width-content {\n --width-content: 1280px;\n}\n\n.width-full {\n --width: 100%;\n}\n",".control {\n --px: 0;\n --py: 0;\n\n @extend .pxy;\n @extend .font;\n\n cursor: pointer;\n\n display: inline-block;\n\n text-align: center;\n text-decoration: none;\n\n appearance: none;\n background: rgb(var(--control-bg-color, transparent));\n border: none;\n border-radius: unset;\n outline: none;\n\n &[aria-disabled=\"true\"],\n &:disabled {\n cursor: not-allowed;\n }\n}\n",".example,\n.markup {\n border: 1px solid rgb(var(--code-border-color, var(--border-color)));\n}\n\n.example,\n.markup > .code > .hljs {\n padding: 1em;\n}\n\n.example {\n display: flex;\n\n > iframe {\n width: 100%;\n border: none;\n }\n}\n\n.markup {\n font-size: var(--font-size-xs);\n\n > .code {\n margin: 0;\n }\n}\n\n.example + .markup {\n margin-top: 0;\n border-top: none;\n}\n",".text-flow {\n > * + * {\n margin-top: var(--text-flow-space, 1em);\n }\n}\n",".nav-main {\n @extend .bg;\n}\n\n.nav-main > .bar {\n height: var(--nav-main-height);\n\n > .control.title {\n --px: var(--nav-main-menu-item-px);\n --py: var(--nav-main-menu-item-py);\n --font-weight: var(--font-weight-bold);\n }\n}\n\n.nav-main > .menu {\n position: absolute;\n top: 0;\n right: calc(var(--width-calc) - var(--nav-main-menu-item-px));\n\n display: flex;\n flex-direction: row;\n\n height: var(--nav-main-height);\n\n > .control {\n --px: var(--nav-main-menu-item-px);\n --py: var(--nav-main-menu-item-py);\n --font-size: var(--nav-main-menu-item-font-size);\n --font-weight: var(--font-weight-bold);\n\n &[aria-current] {\n --font-color: var(--accent-color);\n }\n\n &:hover {\n text-decoration: underline;\n }\n }\n}\n",".nav-list {\n --nav-list-item-px: var(--size-sm);\n --nav-list-item-py: var(--size-xs);\n --nav-list-item-border-color: var(--border-color);\n\n text-align: left;\n\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n > ul > li + li {\n margin-top: var(--nav-list-root-item-space, var(--size-sm));\n }\n\n .control {\n &.active {\n --font-color: var(--accent-color);\n }\n }\n}\n\n.nav-list > ul > li > .control {\n --py: var(--nav-list-item-py);\n --pr: var(--nav-list-item-px);\n --font-weight: var(--font-weight-bold);\n --font-size: var(--font-size-md);\n}\n\n.nav-list > ul > li > ul > li > .control {\n --py: var(--nav-list-item-py);\n --px: var(--nav-list-item-px);\n\n text-align: left;\n border-left: 1px solid rgba(var(--nav-list-item-border-color) / var(--border-opacity, 0.1));\n\n &:hover {\n --border-opacity: 1;\n }\n}\n",".colors {\n display: grid;\n grid-template-columns: repeat(var(--colors-columns, 1), 1fr);\n gap: var(--colors-gap, var(--size-normal));\n\n @container content (width > 300px) {\n --colors-columns: 2;\n }\n\n @container content (width > 620px) {\n --colors-columns: 3;\n }\n\n @container content (width > 940px) {\n --colors-columns: 4;\n }\n}\n\n.colors > .item {\n display: flex;\n flex-direction: column;\n gap: var(--size-xs);\n justify-content: center;\n\n padding: var(--size-xl) var(--size-md);\n\n text-align: center;\n\n border: 1px solid rgb(var(--border-color, currentColor));\n\n > .text {\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-bold);\n }\n}\n",".spaces {\n --spaces-bg-color: var(--font-color);\n --spaces-font-color: var(--bg-color);\n\n display: flex;\n flex-direction: column;\n gap: var(--spaces-gap, var(--size-xs));\n}\n\n.spaces > .item {\n display: flex;\n\n > .bg {\n --bg-color: var(--spaces-bg-color);\n --font-color: var(--spaces-font-color);\n }\n\n > div {\n padding: var(--size-sm) var(--size-normal);\n }\n\n > div:first-child {\n margin-right: var(--space-value);\n }\n\n > div:last-child {\n display: flex;\n\n > *:not(:last-child) {\n margin-right: var(--size-xs);\n padding-right: var(--size-xs);\n border-right: 1px solid currentcolor;\n }\n\n > .name {\n font-weight: var(--font-weight-bold);\n }\n }\n}\n",".icons {\n display: grid;\n grid-template-columns: repeat(var(--icons-columns, 1), 1fr);\n gap: var(--icons-gap, var(--size-normal));\n\n @container content (width > 300px) {\n --icons-columns: 2;\n }\n\n @container content (width > 620px) {\n --icons-columns: 3;\n }\n\n @container content (width > 940px) {\n --icons-columns: 4;\n }\n}\n\n.icons > .item {\n display: flex;\n flex-direction: column;\n gap: var(--size-xs);\n justify-content: center;\n\n padding: var(--size-xl) var(--size-md);\n\n text-align: center;\n\n border: 1px solid rgb(var(--border-color));\n\n > .show,\n > .show::before,\n > .text::before,\n > .text::after {\n font-family: var(--icons-font-family);\n }\n\n > .show {\n font-size: var(--icons-show-font-size, 3em);\n }\n\n > .name {\n font-weight: var(--font-weight-bold);\n }\n\n &.from-var {\n > .show::before,\n > .text::before,\n > .text::after {\n content: var(--icon);\n }\n }\n\n &.from-data {\n > .text::before,\n > .text::after {\n content: attr(data-icon);\n }\n }\n}\n","html {\n scroll-behavior: smooth;\n scrollbar-gutter: stable;\n scroll-padding-top: var(--nav-main-height);\n height: 100%;\n}\n\nhtml > body {\n min-height: 100%;\n}\n\nbody > header {\n padding-top: var(--nav-main-height);\n\n > .nav-main {\n position: fixed;\n z-index: 1000;\n top: 0;\n width: 100%;\n }\n}\n\nbody > main {\n --main-sidebar-width: 25ch;\n --main-content-sidebar-space: var(--size-xl);\n\n position: relative;\n}\n\nbody > main > .sidebar {\n position: absolute;\n top: 0;\n left: var(--width-calc);\n\n width: var(--main-sidebar-width);\n height: 100%;\n\n > .scroll {\n position: sticky;\n top: var(--nav-main-height);\n\n overflow-y: auto;\n\n height: 100%;\n max-height: calc(100vh - var(--nav-main-height));\n }\n}\n\nbody > main > .content {\n container-name: content;\n container-type: inline-size;\n margin-left: calc(var(--main-sidebar-width) + var(--main-content-sidebar-space));\n\n > .headline + .description {\n margin-top: var(--size-md);\n }\n\n > section + section,\n > section:first-of-type {\n margin-top: var(--main-content-section-space, var(--size-lg));\n }\n}\n\nfooter {\n --mt: var(--size-xl);\n\n > .text {\n text-align: right;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--font-weight-normal:400;--font-weight-bold:700;--font-size-sm:0.85em;--font-size-normal:1em;--font-size-md:1.2em;--font-size-lg:1.7em;--font-size-base:16px;--font-color:3 3 3;--font-family:system-ui,"Segoe UI",roboto,helvetica,arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-weight:var(--font-weight-normal);--font-size:var(--font-size-normal);--font-line-height:1.4;--headline-weight:var(--font-weight-bold);--bg-color:255 255 255;--accent-color:3 3 200;--border-color:5 5 5;--selection-color:var(--bg-color);--selection-bg-color:var(--font-color);--size-base-unit:1rem;--size-xs:calc(var(--size-base-unit)*0.5);--size-sm:calc(var(--size-base-unit)*0.8);--size-normal:var(--size-base-unit);--size-md:calc(var(--size-base-unit)*1.2);--size-lg:calc(var(--size-base-unit)*1.6);--size-xl:calc(var(--size-base-unit)*2.4);--nav-main-menu-item-px:var(--size-sm);--nav-main-menu-item-py:var(--size-xs);--nav-main-menu-item-font-size:var(--font-size-md);--nav-main-height:calc(var(--nav-main-menu-item-py)*2 + var(--nav-main-menu-item-font-size)*var(--font-line-height));color-scheme:light}*{box-sizing:border-box;margin:0}:after,:before{box-sizing:inherit}::-moz-selection{background-color:rgb(var(--selection-bg-color));color:rgb(var(--selection-color))}::selection{background-color:rgb(var(--selection-bg-color));color:rgb(var(--selection-color))}body{background-color:rgb(var(--bg-color))}html{font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;word-break:break-word}.control,.font,body{color:rgb(var(--font-color));font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--font-line-height)}button,input,optgroup,select,textarea{font-family:inherit}h1,h2,h3,h4,h5,h6{color:rgb(var(--headline-color,inherit));font-family:var(--headline-family,inherit);font-size:calc(var(--font-size-normal)*var(--headline-scale, 1));font-weight:var(--headline-weight,inherit);line-height:var(--headline-line-height,inherit)}h1{--headline-scale:2.5}h2{--headline-scale:2}h3{--headline-scale:1.75}h4{--headline-scale:1.5}a{color:rgb(var(--link-color,inherit));-webkit-text-decoration:var(--link-decoration,none);text-decoration:var(--link-decoration,none)}b,strong{--font-weight:var(--font-weight-bold)}small{--font-size:var(--font-size-sm)}.bg,.nav-main{--selection-bg-color:var(--font-color);--selection-color:var(--bg-color);background:rgb(var(--bg-color))}.bg,.nav-main,.tc{color:rgb(var(--font-color))}.control,.padding,.pxy{padding:var(--pt,var(--size-normal)) var(--pr,var(--size-normal)) var(--pb,var(--size-normal)) var(--pl,var(--size-normal))}.pt,.py{padding-top:var(--pt,var(--size-normal))}.pr,.px{padding-right:var(--pr,var(--size-normal))}.pb,.py{padding-bottom:var(--pb,var(--size-normal))}.pl,.px{padding-left:var(--pl,var(--size-normal))}.control,.pxy{--pt:var(--py,var(--size-normal));--pb:var(--py,var(--size-normal));--pl:var(--px,var(--size-normal));--pr:var(--px,var(--size-normal))}.py{--pt:var(--py,var(--size-normal));--pb:var(--py,var(--size-normal))}.px{--pl:var(--px,var(--size-normal));--pr:var(--px,var(--size-normal))}.margin,.mxy{margin:var(--mt,var(--size-normal)) var(--mr,var(--size-normal)) var(--mb,var(--size-normal)) var(--ml,var(--size-normal))}.mt,.my{margin-top:var(--mt,var(--size-normal))}.mr,.mx{margin-right:var(--mr,var(--size-normal))}.mb,.my{margin-bottom:var(--mb,var(--size-normal))}.ml,.mx{margin-left:var(--ml,var(--size-normal))}.mxy{--mt:var(--my,var(--size-normal));--mb:var(--my,var(--size-normal));--ml:var(--mx,var(--size-normal));--mr:var(--mx,var(--size-normal))}.my{--mt:var(--my,var(--size-normal));--mb:var(--my,var(--size-normal))}.mx{--ml:var(--mx,var(--size-normal));--mr:var(--mx,var(--size-normal))}[class*=width-]{--width-calc:max(var(--width-min-space-x,32px),calc((100% - var(--width-content, 1280px))/2));padding-inline:var(--width-calc)}.width-content{--width-content:1280px}.width-full{--width:100%}.control{--px:0;--py:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgb(var(--control-bg-color,transparent));border:none;border-radius:unset;cursor:pointer;display:inline-block;outline:none;text-align:center;text-decoration:none}.control:disabled,.control[aria-disabled=true]{cursor:not-allowed}.example,.markup{border:1px solid rgb(var(--code-border-color,var(--border-color)))}.example,.markup>.code>.hljs{padding:1em}.example{display:flex}.example>iframe{border:none;width:100%}.markup{font-size:var(--font-size-xs)}.markup>.code{margin:0}.example+.markup{border-top:none;margin-top:0}.text-flow>*+*{margin-top:var(--text-flow-space,1em)}.nav-main>.bar{height:var(--nav-main-height)}.nav-main>.bar>.control.title{--px:var(--nav-main-menu-item-px);--py:var(--nav-main-menu-item-py);--font-weight:var(--font-weight-bold)}.nav-main>.menu{display:flex;flex-direction:row;height:var(--nav-main-height);position:absolute;right:calc(var(--width-calc) - var(--nav-main-menu-item-px));top:0}.nav-main>.menu>.control{--px:var(--nav-main-menu-item-px);--py:var(--nav-main-menu-item-py);--font-size:var(--nav-main-menu-item-font-size);--font-weight:var(--font-weight-bold)}.nav-main>.menu>.control[aria-current]{--font-color:var(--accent-color)}.nav-main>.menu>.control:hover{text-decoration:underline}.nav-list{--nav-list-item-px:var(--size-sm);--nav-list-item-py:var(--size-xs);--nav-list-item-border-color:var(--border-color);text-align:left}.nav-list ul{list-style:none;margin:0;padding:0}.nav-list>ul>li+li{margin-top:var(--nav-list-root-item-space,var(--size-sm))}.nav-list .control.active{--font-color:var(--accent-color)}.nav-list>ul>li>.control{--py:var(--nav-list-item-py);--pr:var(--nav-list-item-px);--font-weight:var(--font-weight-bold);--font-size:var(--font-size-md)}.nav-list>ul>li>ul>li>.control{--py:var(--nav-list-item-py);--px:var(--nav-list-item-px);border-left:1px solid rgba(var(--nav-list-item-border-color)/var(--border-opacity,.1));text-align:left}.nav-list>ul>li>ul>li>.control:hover{--border-opacity:1}html{height:100%;scroll-behavior:smooth;scroll-padding-top:var(--nav-main-height);scrollbar-gutter:stable}html>body{min-height:100%}body>header{padding-top:var(--nav-main-height)}body>header>.nav-main{position:fixed;top:0;width:100%;z-index:1000}body>main{--main-sidebar-width:25ch;--main-content-sidebar-space:var(--size-xl);position:relative}body>main>.sidebar{height:100%;left:var(--width-calc);position:absolute;top:0;width:var(--main-sidebar-width)}body>main>.sidebar>.scroll{height:100%;max-height:calc(100vh - var(--nav-main-height));overflow-y:auto;position:sticky;top:var(--nav-main-height)}body>main>.content{margin-left:calc(var(--main-sidebar-width) + var(--main-content-sidebar-space))}body>main>.content>.headline+.description{margin-top:var(--size-md)}body>main>.content>section+section,body>main>.content>section:first-of-type{margin-top:var(--main-content-section-space,var(--size-lg))}footer{--mt:var(--size-xl)}footer>.text{text-align:right}
|
|
1
|
+
:root{--font-weight-normal:400;--font-weight-bold:700;--font-size-sm:0.85em;--font-size-normal:1em;--font-size-md:1.2em;--font-size-lg:1.7em;--font-size-base:16px;--font-color:3 3 3;--font-family:system-ui,"Segoe UI",roboto,helvetica,arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-weight:var(--font-weight-normal);--font-size:var(--font-size-normal);--font-line-height:1.4;--headline-weight:var(--font-weight-bold);--bg-color:255 255 255;--accent-color:3 3 200;--border-color:5 5 5;--selection-color:var(--bg-color);--selection-bg-color:var(--font-color);--size-base-unit:1rem;--size-xs:calc(var(--size-base-unit)*0.5);--size-sm:calc(var(--size-base-unit)*0.8);--size-normal:var(--size-base-unit);--size-md:calc(var(--size-base-unit)*1.2);--size-lg:calc(var(--size-base-unit)*1.6);--size-xl:calc(var(--size-base-unit)*2.4);--nav-main-menu-item-px:var(--size-sm);--nav-main-menu-item-py:var(--size-xs);--nav-main-menu-item-font-size:var(--font-size-md);--nav-main-height:calc(var(--nav-main-menu-item-py)*2 + var(--nav-main-menu-item-font-size)*var(--font-line-height));color-scheme:light}*{box-sizing:border-box;margin:0}:after,:before{box-sizing:inherit}::-moz-selection{background-color:rgb(var(--selection-bg-color));color:rgb(var(--selection-color))}::selection{background-color:rgb(var(--selection-bg-color));color:rgb(var(--selection-color))}body{background-color:rgb(var(--bg-color))}html{font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;word-break:break-word}.control,.font,body{color:rgb(var(--font-color));font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--font-line-height)}button,input,optgroup,select,textarea{font-family:inherit}h1,h2,h3,h4,h5,h6{color:rgb(var(--headline-color,inherit));font-family:var(--headline-family,inherit);font-size:calc(var(--font-size-normal)*var(--headline-scale, 1));font-weight:var(--headline-weight,inherit);line-height:var(--headline-line-height,inherit)}h1{--headline-scale:2.5}h2{--headline-scale:2}h3{--headline-scale:1.75}h4{--headline-scale:1.5}a{color:rgb(var(--link-color,inherit));-webkit-text-decoration:var(--link-decoration,none);text-decoration:var(--link-decoration,none)}b,strong{--font-weight:var(--font-weight-bold)}small{--font-size:var(--font-size-sm)}.bg,.nav-main{--selection-bg-color:var(--font-color);--selection-color:var(--bg-color);background:rgb(var(--bg-color))}.bg,.nav-main,.tc{color:rgb(var(--font-color))}.control,.padding,.pxy{padding:var(--pt,var(--size-normal)) var(--pr,var(--size-normal)) var(--pb,var(--size-normal)) var(--pl,var(--size-normal))}.pt,.py{padding-top:var(--pt,var(--size-normal))}.pr,.px{padding-right:var(--pr,var(--size-normal))}.pb,.py{padding-bottom:var(--pb,var(--size-normal))}.pl,.px{padding-left:var(--pl,var(--size-normal))}.control,.pxy{--pt:var(--py,var(--size-normal));--pb:var(--py,var(--size-normal));--pl:var(--px,var(--size-normal));--pr:var(--px,var(--size-normal))}.py{--pt:var(--py,var(--size-normal));--pb:var(--py,var(--size-normal))}.px{--pl:var(--px,var(--size-normal));--pr:var(--px,var(--size-normal))}.margin,.mxy{margin:var(--mt,var(--size-normal)) var(--mr,var(--size-normal)) var(--mb,var(--size-normal)) var(--ml,var(--size-normal))}.mt,.my{margin-top:var(--mt,var(--size-normal))}.mr,.mx{margin-right:var(--mr,var(--size-normal))}.mb,.my{margin-bottom:var(--mb,var(--size-normal))}.ml,.mx{margin-left:var(--ml,var(--size-normal))}.mxy{--mt:var(--my,var(--size-normal));--mb:var(--my,var(--size-normal));--ml:var(--mx,var(--size-normal));--mr:var(--mx,var(--size-normal))}.my{--mt:var(--my,var(--size-normal));--mb:var(--my,var(--size-normal))}.mx{--ml:var(--mx,var(--size-normal));--mr:var(--mx,var(--size-normal))}[class*=width-]{--width-calc:max(var(--width-min-space-x,32px),calc((100% - var(--width-content, 1280px))/2));padding-inline:var(--width-calc)}.width-content{--width-content:1280px}.width-full{--width:100%}.control{--px:0;--py:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgb(var(--control-bg-color,transparent));border:none;border-radius:unset;cursor:pointer;display:inline-block;outline:none;text-align:center;text-decoration:none}.control:disabled,.control[aria-disabled=true]{cursor:not-allowed}.example,.markup{border:1px solid rgb(var(--code-border-color,var(--border-color)))}.example,.markup>.code>.hljs{padding:1em}.example{display:flex}.example>iframe{border:none;width:100%}.markup{font-size:var(--font-size-xs)}.markup>.code{margin:0}.example+.markup{border-top:none;margin-top:0}.text-flow>*+*{margin-top:var(--text-flow-space,1em)}.nav-main>.bar{height:var(--nav-main-height)}.nav-main>.bar>.control.title{--px:var(--nav-main-menu-item-px);--py:var(--nav-main-menu-item-py);--font-weight:var(--font-weight-bold)}.nav-main>.menu{display:flex;flex-direction:row;height:var(--nav-main-height);position:absolute;right:calc(var(--width-calc) - var(--nav-main-menu-item-px));top:0}.nav-main>.menu>.control{--px:var(--nav-main-menu-item-px);--py:var(--nav-main-menu-item-py);--font-size:var(--nav-main-menu-item-font-size);--font-weight:var(--font-weight-bold)}.nav-main>.menu>.control[aria-current]{--font-color:var(--accent-color)}.nav-main>.menu>.control:hover{text-decoration:underline}.nav-list{--nav-list-item-px:var(--size-sm);--nav-list-item-py:var(--size-xs);--nav-list-item-border-color:var(--border-color);text-align:left}.nav-list ul{list-style:none;margin:0;padding:0}.nav-list>ul>li+li{margin-top:var(--nav-list-root-item-space,var(--size-sm))}.nav-list .control.active{--font-color:var(--accent-color)}.nav-list>ul>li>.control{--py:var(--nav-list-item-py);--pr:var(--nav-list-item-px);--font-weight:var(--font-weight-bold);--font-size:var(--font-size-md)}.nav-list>ul>li>ul>li>.control{--py:var(--nav-list-item-py);--px:var(--nav-list-item-px);border-left:1px solid rgba(var(--nav-list-item-border-color)/var(--border-opacity,.1));text-align:left}.nav-list>ul>li>ul>li>.control:hover{--border-opacity:1}.colors{display:grid;gap:var(--colors-gap,var(--size-normal));grid-template-columns:repeat(var(--colors-columns,1),1fr)}@container content (width > 300px){.colors{--colors-columns:2}}@container content (width > 620px){.colors{--colors-columns:3}}@container content (width > 940px){.colors{--colors-columns:4}}.colors>.item{border:1px solid rgb(var(--border-color,currentcolor));display:flex;flex-direction:column;gap:var(--size-xs);justify-content:center;padding:var(--size-xl) var(--size-md);text-align:center}.colors>.item>.text{font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.spaces{--spaces-bg-color:var(--font-color);--spaces-font-color:var(--bg-color);flex-direction:column;gap:var(--spaces-gap,var(--size-xs))}.spaces,.spaces>.item{display:flex}.spaces>.item>.bg{--bg-color:var(--spaces-bg-color);--font-color:var(--spaces-font-color)}.spaces>.item>div{padding:var(--size-sm) var(--size-normal)}.spaces>.item>div:first-child{margin-right:var(--space-value)}.spaces>.item>div:last-child{display:flex}.spaces>.item>div:last-child>:not(:last-child){border-right:1px solid;margin-right:var(--size-xs);padding-right:var(--size-xs)}.spaces>.item>div:last-child>.name{font-weight:var(--font-weight-bold)}.icons{display:grid;gap:var(--icons-gap,var(--size-normal));grid-template-columns:repeat(var(--icons-columns,1),1fr)}@container content (width > 300px){.icons{--icons-columns:2}}@container content (width > 620px){.icons{--icons-columns:3}}@container content (width > 940px){.icons{--icons-columns:4}}.icons>.item{border:1px solid rgb(var(--border-color));display:flex;flex-direction:column;gap:var(--size-xs);justify-content:center;padding:var(--size-xl) var(--size-md);text-align:center}.icons>.item>.show,.icons>.item>.show:before,.icons>.item>.text:after,.icons>.item>.text:before{font-family:var(--icons-font-family)}.icons>.item>.show{font-size:var(--icons-show-font-size,3em)}.icons>.item>.name{font-weight:var(--font-weight-bold)}.icons>.item.from-var>.show:before,.icons>.item.from-var>.text:after,.icons>.item.from-var>.text:before{content:var(--icon)}.icons>.item.from-data>.text:after,.icons>.item.from-data>.text:before{content:attr(data-icon)}html{height:100%;scroll-behavior:smooth;scroll-padding-top:var(--nav-main-height);scrollbar-gutter:stable}html>body{min-height:100%}body>header{padding-top:var(--nav-main-height)}body>header>.nav-main{position:fixed;top:0;width:100%;z-index:1000}body>main{--main-sidebar-width:25ch;--main-content-sidebar-space:var(--size-xl);position:relative}body>main>.sidebar{height:100%;left:var(--width-calc);position:absolute;top:0;width:var(--main-sidebar-width)}body>main>.sidebar>.scroll{height:100%;max-height:calc(100vh - var(--nav-main-height));overflow-y:auto;position:sticky;top:var(--nav-main-height)}body>main>.content{container-name:content;container-type:inline-size;margin-left:calc(var(--main-sidebar-width) + var(--main-content-sidebar-space))}body>main>.content>.headline+.description{margin-top:var(--size-md)}body>main>.content>section+section,body>main>.content>section:first-of-type{margin-top:var(--main-content-section-space,var(--size-lg))}footer{--mt:var(--size-xl)}footer>.text{text-align:right}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){"use strict";function e(){document.querySelectorAll("[data-sidebar]").forEach((e=>{!function(e){const t={},n=new IntersectionObserver((e=>{var n,o,r;const l=e.filter((e=>e.isIntersecting));if(l.length<=0)return;Object.keys(t).forEach((e=>{t[e].classList.remove("active")}));const a=t[l[0].target.id];a.classList.add("active"),(null===(o=null===(n=null==a?void 0:a.parentElement)||void 0===n?void 0:n.parentElement)||void 0===o?void 0:o.parentElement)instanceof HTMLLIElement&&(null===(r=a.parentElement.parentElement.parentElement.querySelector("a"))||void 0===r||r.classList.add("active"))}),{root:null,rootMargin:"0px 0px -90% 0px",threshold:.5});e.querySelectorAll('a[href^="#"]').forEach((e=>{const o=e.href.split("#")[1],r=document.getElementById(o);r&&(n.observe(r),t[o]=e)}))}(e)}))}var t;t=()=>{document.querySelectorAll("[data-example] > iframe").forEach((e=>{var t,n;const o=null!==(t=e.contentDocument)&&void 0!==t?t:null===(n=e.contentWindow)||void 0===n?void 0:n.document;if(!o)return;const r=()=>{
|
|
1
|
+
!function(){"use strict";function e(){document.querySelectorAll("[data-sidebar]").forEach((e=>{!function(e){const t={},n=new IntersectionObserver((e=>{var n,o,r;const l=e.filter((e=>e.isIntersecting));if(l.length<=0)return;Object.keys(t).forEach((e=>{t[e].classList.remove("active")}));const a=t[l[0].target.id];a.classList.add("active"),(null===(o=null===(n=null==a?void 0:a.parentElement)||void 0===n?void 0:n.parentElement)||void 0===o?void 0:o.parentElement)instanceof HTMLLIElement&&(null===(r=a.parentElement.parentElement.parentElement.querySelector("a"))||void 0===r||r.classList.add("active"))}),{root:null,rootMargin:"0px 0px -90% 0px",threshold:.5});e.querySelectorAll('a[href^="#"]').forEach((e=>{const o=e.href.split("#")[1],r=document.getElementById(o);r&&(n.observe(r),t[o]=e)}))}(e)}))}var t;t=()=>{document.querySelectorAll("[data-example] > iframe").forEach((e=>{var t,n;const o=null!==(t=e.contentDocument)&&void 0!==t?t:null===(n=e.contentWindow)||void 0===n?void 0:n.document;if(!o)return;const r=()=>{let t=0;const n=()=>{o.body.scrollHeight!==t&&(t=o.body.scrollHeight,e.style.height=`${t}px`)};n(),new MutationObserver(n).observe(o.body,{attributes:!0,childList:!0,subtree:!0}),new ResizeObserver(n).observe(o.body)};"complete"===o.readyState?r():e.addEventListener("load",r)})),e()},"loading"!==document.readyState?t():document.addEventListener("DOMContentLoaded",t)}();
|
package/dist/assets/ui-doc.mjs
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
function ready(callback) {
|
|
2
|
-
if (document.readyState !== 'loading') {
|
|
3
|
-
callback();
|
|
4
|
-
}
|
|
5
|
-
else {
|
|
6
|
-
document.addEventListener('DOMContentLoaded', callback);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
|
|
10
1
|
function initExample() {
|
|
11
2
|
document.querySelectorAll('[data-example] > iframe').forEach(iframe => {
|
|
12
3
|
var _a, _b;
|
|
@@ -14,23 +5,33 @@ function initExample() {
|
|
|
14
5
|
if (!document) {
|
|
15
6
|
return;
|
|
16
7
|
}
|
|
17
|
-
const
|
|
8
|
+
const initHeightChange = () => {
|
|
9
|
+
let currentHeight = 0;
|
|
18
10
|
const changeHeight = () => {
|
|
19
|
-
|
|
11
|
+
if (document.body.scrollHeight === currentHeight) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
currentHeight = document.body.scrollHeight;
|
|
15
|
+
iframe.style.height = `${currentHeight}px`;
|
|
20
16
|
};
|
|
17
|
+
// Initial height change
|
|
21
18
|
changeHeight();
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
// Use MutationObserver to detect changes in the DOM and change height if required
|
|
20
|
+
const mutationObserver = new MutationObserver(changeHeight);
|
|
21
|
+
mutationObserver.observe(document.body, {
|
|
24
22
|
attributes: true,
|
|
25
23
|
childList: true,
|
|
26
24
|
subtree: true,
|
|
27
25
|
});
|
|
26
|
+
// Use ResizeObserver to detect changes in the viewport and change height if required
|
|
27
|
+
const resizeObserver = new ResizeObserver(changeHeight);
|
|
28
|
+
resizeObserver.observe(document.body);
|
|
28
29
|
};
|
|
29
30
|
if (document.readyState === 'complete') {
|
|
30
|
-
|
|
31
|
+
initHeightChange();
|
|
31
32
|
}
|
|
32
33
|
else {
|
|
33
|
-
iframe.addEventListener('load',
|
|
34
|
+
iframe.addEventListener('load', initHeightChange);
|
|
34
35
|
}
|
|
35
36
|
});
|
|
36
37
|
}
|
|
@@ -72,6 +73,15 @@ function initSidebar() {
|
|
|
72
73
|
});
|
|
73
74
|
}
|
|
74
75
|
|
|
76
|
+
function ready(callback) {
|
|
77
|
+
if (document.readyState !== 'loading') {
|
|
78
|
+
callback();
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
document.addEventListener('DOMContentLoaded', callback);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
75
85
|
ready(() => {
|
|
76
86
|
initExample();
|
|
77
87
|
initSidebar();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-doc.mjs","sources":["../../../scripts/src/
|
|
1
|
+
{"version":3,"file":"ui-doc.mjs","sources":["../../../scripts/src/example.ts","../../../scripts/src/sidebar.ts","../../../scripts/src/utils.ts","../../../scripts/app.ts"],"sourcesContent":["export function initExample() {\n document.querySelectorAll<HTMLIFrameElement>('[data-example] > iframe').forEach(iframe => {\n const document = iframe.contentDocument ?? iframe.contentWindow?.document\n\n if (!document) {\n return\n }\n\n const initHeightChange = () => {\n let currentHeight = 0\n const changeHeight = () => {\n if (document.body.scrollHeight === currentHeight) {\n return\n }\n\n currentHeight = document.body.scrollHeight\n iframe.style.height = `${currentHeight}px`\n }\n\n // Initial height change\n changeHeight()\n\n // Use MutationObserver to detect changes in the DOM and change height if required\n const mutationObserver = new MutationObserver(changeHeight)\n\n mutationObserver.observe(document.body, {\n attributes: true,\n childList: true,\n subtree: true,\n })\n\n // Use ResizeObserver to detect changes in the viewport and change height if required\n const resizeObserver = new ResizeObserver(changeHeight)\n\n resizeObserver.observe(document.body)\n }\n\n if (document.readyState === 'complete') {\n initHeightChange()\n } else {\n iframe.addEventListener('load', initHeightChange)\n }\n })\n}\n","function createSidebar(sidebar: HTMLElement) {\n const links: Record<string, HTMLLinkElement> = {}\n const observer = new IntersectionObserver(\n entries => {\n const activeEntries = entries.filter(entry => entry.isIntersecting)\n\n if (activeEntries.length <= 0) {\n return\n }\n\n Object.keys(links).forEach(id => {\n links[id].classList.remove('active')\n })\n\n const activeLink = links[activeEntries[0].target.id]\n\n activeLink.classList.add('active')\n if (activeLink?.parentElement?.parentElement?.parentElement instanceof HTMLLIElement) {\n activeLink.parentElement.parentElement.parentElement\n .querySelector('a')\n ?.classList.add('active')\n }\n },\n {\n root: null,\n rootMargin: '0px 0px -90% 0px',\n threshold: 0.5,\n },\n )\n\n sidebar.querySelectorAll<HTMLLinkElement>('a[href^=\"#\"]').forEach(link => {\n const id = link.href.split('#')[1]\n const target = document.getElementById(id)\n\n if (target) {\n observer.observe(target)\n links[id] = link\n }\n })\n}\n\nexport function initSidebar() {\n document.querySelectorAll('[data-sidebar]').forEach(sidebar => {\n createSidebar(sidebar as HTMLElement)\n })\n}\n","export function ready(callback: () => void) {\n if (document.readyState !== 'loading') {\n callback()\n } else {\n document.addEventListener('DOMContentLoaded', callback)\n }\n}\n\nexport function throttle(callback: (...args: any[]) => void, delay: number) {\n let timerFlag: number | null = null\n\n return (...args: any[]) => {\n if (timerFlag === null) {\n callback(...args)\n timerFlag = window.setTimeout(() => {\n timerFlag = null\n }, delay)\n }\n }\n}\n","import { initExample } from './src/example'\nimport { initSidebar } from './src/sidebar'\nimport { ready } from './src/utils'\n\nready(() => {\n initExample()\n initSidebar()\n})\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ui-doc/html-renderer",
|
|
3
3
|
"description": "HTML renderer for UI-Doc.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.3.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"ui-doc",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
},
|
|
56
56
|
"sideEffects": false,
|
|
57
57
|
"peerDependencies": {
|
|
58
|
-
"@ui-doc/core": "^0.
|
|
58
|
+
"@ui-doc/core": "^0.3.0"
|
|
59
59
|
},
|
|
60
60
|
"optionalDependencies": {
|
|
61
61
|
"@highlightjs/cdn-assets": "^11.9.0"
|
package/scripts/app.ts
CHANGED
package/scripts/src/example.ts
CHANGED
|
@@ -6,26 +6,39 @@ export function initExample() {
|
|
|
6
6
|
return
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
const
|
|
9
|
+
const initHeightChange = () => {
|
|
10
|
+
let currentHeight = 0
|
|
10
11
|
const changeHeight = () => {
|
|
11
|
-
|
|
12
|
+
if (document.body.scrollHeight === currentHeight) {
|
|
13
|
+
return
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
currentHeight = document.body.scrollHeight
|
|
17
|
+
iframe.style.height = `${currentHeight}px`
|
|
12
18
|
}
|
|
13
19
|
|
|
20
|
+
// Initial height change
|
|
14
21
|
changeHeight()
|
|
15
22
|
|
|
16
|
-
|
|
23
|
+
// Use MutationObserver to detect changes in the DOM and change height if required
|
|
24
|
+
const mutationObserver = new MutationObserver(changeHeight)
|
|
17
25
|
|
|
18
|
-
|
|
26
|
+
mutationObserver.observe(document.body, {
|
|
19
27
|
attributes: true,
|
|
20
28
|
childList: true,
|
|
21
29
|
subtree: true,
|
|
22
30
|
})
|
|
31
|
+
|
|
32
|
+
// Use ResizeObserver to detect changes in the viewport and change height if required
|
|
33
|
+
const resizeObserver = new ResizeObserver(changeHeight)
|
|
34
|
+
|
|
35
|
+
resizeObserver.observe(document.body)
|
|
23
36
|
}
|
|
24
37
|
|
|
25
38
|
if (document.readyState === 'complete') {
|
|
26
|
-
|
|
39
|
+
initHeightChange()
|
|
27
40
|
} else {
|
|
28
|
-
iframe.addEventListener('load',
|
|
41
|
+
iframe.addEventListener('load', initHeightChange)
|
|
29
42
|
}
|
|
30
43
|
})
|
|
31
44
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export function ready(callback: () => void) {
|
|
2
|
+
if (document.readyState !== 'loading') {
|
|
3
|
+
callback()
|
|
4
|
+
} else {
|
|
5
|
+
document.addEventListener('DOMContentLoaded', callback)
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export function throttle(callback: (...args: any[]) => void, delay: number) {
|
|
10
|
+
let timerFlag: number | null = null
|
|
11
|
+
|
|
12
|
+
return (...args: any[]) => {
|
|
13
|
+
if (timerFlag === null) {
|
|
14
|
+
callback(...args)
|
|
15
|
+
timerFlag = window.setTimeout(() => {
|
|
16
|
+
timerFlag = null
|
|
17
|
+
}, delay)
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
.colors {
|
|
2
|
+
display: grid;
|
|
3
|
+
grid-template-columns: repeat(var(--colors-columns, 1), 1fr);
|
|
4
|
+
gap: var(--colors-gap, var(--size-normal));
|
|
5
|
+
|
|
6
|
+
@container content (width > 300px) {
|
|
7
|
+
--colors-columns: 2;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@container content (width > 620px) {
|
|
11
|
+
--colors-columns: 3;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@container content (width > 940px) {
|
|
15
|
+
--colors-columns: 4;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.colors > .item {
|
|
20
|
+
display: flex;
|
|
21
|
+
flex-direction: column;
|
|
22
|
+
gap: var(--size-xs);
|
|
23
|
+
justify-content: center;
|
|
24
|
+
|
|
25
|
+
padding: var(--size-xl) var(--size-md);
|
|
26
|
+
|
|
27
|
+
text-align: center;
|
|
28
|
+
|
|
29
|
+
border: 1px solid rgb(var(--border-color, currentColor));
|
|
30
|
+
|
|
31
|
+
> .text {
|
|
32
|
+
font-size: var(--font-size-md);
|
|
33
|
+
font-weight: var(--font-weight-bold);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
.icons {
|
|
2
|
+
display: grid;
|
|
3
|
+
grid-template-columns: repeat(var(--icons-columns, 1), 1fr);
|
|
4
|
+
gap: var(--icons-gap, var(--size-normal));
|
|
5
|
+
|
|
6
|
+
@container content (width > 300px) {
|
|
7
|
+
--icons-columns: 2;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@container content (width > 620px) {
|
|
11
|
+
--icons-columns: 3;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@container content (width > 940px) {
|
|
15
|
+
--icons-columns: 4;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.icons > .item {
|
|
20
|
+
display: flex;
|
|
21
|
+
flex-direction: column;
|
|
22
|
+
gap: var(--size-xs);
|
|
23
|
+
justify-content: center;
|
|
24
|
+
|
|
25
|
+
padding: var(--size-xl) var(--size-md);
|
|
26
|
+
|
|
27
|
+
text-align: center;
|
|
28
|
+
|
|
29
|
+
border: 1px solid rgb(var(--border-color));
|
|
30
|
+
|
|
31
|
+
> .show,
|
|
32
|
+
> .show::before,
|
|
33
|
+
> .text::before,
|
|
34
|
+
> .text::after {
|
|
35
|
+
font-family: var(--icons-font-family);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
> .show {
|
|
39
|
+
font-size: var(--icons-show-font-size, 3em);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
> .name {
|
|
43
|
+
font-weight: var(--font-weight-bold);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&.from-var {
|
|
47
|
+
> .show::before,
|
|
48
|
+
> .text::before,
|
|
49
|
+
> .text::after {
|
|
50
|
+
content: var(--icon);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
&.from-data {
|
|
55
|
+
> .text::before,
|
|
56
|
+
> .text::after {
|
|
57
|
+
content: attr(data-icon);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
.spaces {
|
|
2
|
+
--spaces-bg-color: var(--font-color);
|
|
3
|
+
--spaces-font-color: var(--bg-color);
|
|
4
|
+
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
gap: var(--spaces-gap, var(--size-xs));
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.spaces > .item {
|
|
11
|
+
display: flex;
|
|
12
|
+
|
|
13
|
+
> .bg {
|
|
14
|
+
--bg-color: var(--spaces-bg-color);
|
|
15
|
+
--font-color: var(--spaces-font-color);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
> div {
|
|
19
|
+
padding: var(--size-sm) var(--size-normal);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
> div:first-child {
|
|
23
|
+
margin-right: var(--space-value);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
> div:last-child {
|
|
27
|
+
display: flex;
|
|
28
|
+
|
|
29
|
+
> *:not(:last-child) {
|
|
30
|
+
margin-right: var(--size-xs);
|
|
31
|
+
padding-right: var(--size-xs);
|
|
32
|
+
border-right: 1px solid currentcolor;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
> .name {
|
|
36
|
+
font-weight: var(--font-weight-bold);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
package/styles/index.css
CHANGED
|
@@ -13,5 +13,8 @@
|
|
|
13
13
|
@import url("./03_components/text-flow.css");
|
|
14
14
|
@import url("./03_components/nav/main.css");
|
|
15
15
|
@import url("./03_components/nav/list.css");
|
|
16
|
+
@import url("./03_components/colors.css");
|
|
17
|
+
@import url("./03_components/spaces.css");
|
|
18
|
+
@import url("./03_components/icons.css");
|
|
16
19
|
|
|
17
20
|
@import url("./04_layouts/page.css");
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<div class="colors">
|
|
2
|
+
{{for:this}}
|
|
3
|
+
<div
|
|
4
|
+
class="item bg"
|
|
5
|
+
style="--bg-color: {{var:value.output}};{{if:font}} --font-color: {{var:font.output}};{{/if}}"
|
|
6
|
+
>
|
|
7
|
+
{{if:value.hex}}<span class="value">{{var:value.hex}}</span>{{/if}}
|
|
8
|
+
<span class="text">{{var:text}}</span>
|
|
9
|
+
<span class="name">{{var:name}}</span>
|
|
10
|
+
</div>
|
|
11
|
+
{{/for}}
|
|
12
|
+
</div>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<div class="icons">
|
|
2
|
+
{{for:this}}
|
|
3
|
+
{{if:value.name}}
|
|
4
|
+
<div class="item from-var" style="--icon: {{var:value.output}}">
|
|
5
|
+
<span class="show"></span>
|
|
6
|
+
<span class="text">{{var:text}}</span>
|
|
7
|
+
<span class="name">{{var:name}}</span>
|
|
8
|
+
</div>
|
|
9
|
+
{{/if}}
|
|
10
|
+
{{if:value.value}}
|
|
11
|
+
<div class="item from-data">
|
|
12
|
+
<span class="show">{{var:value.output}}</span>
|
|
13
|
+
<span class="text" data-icon="{{var:value.output}}">{{var:text}}</span>
|
|
14
|
+
<span class="name">{{var:name}}</span>
|
|
15
|
+
</div>
|
|
16
|
+
{{/if}}
|
|
17
|
+
{{/for}}
|
|
18
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<div class="spaces">
|
|
2
|
+
{{for:this}}
|
|
3
|
+
<div
|
|
4
|
+
class="item"
|
|
5
|
+
style="--space-value: {{var:value.output}};"
|
|
6
|
+
>
|
|
7
|
+
<div class="bg"></div>
|
|
8
|
+
<div class="bg">
|
|
9
|
+
<span class="name">{{var:name}}</span>
|
|
10
|
+
<span class="value">{{var:value.output}}</span>
|
|
11
|
+
<span class="text">{{var:text}}</span>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
{{/for}}
|
|
15
|
+
</div>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function ready(callback: () => void): void;
|