Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NEXT: Docs content expansion #2557

Merged
merged 27 commits into from
Mar 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
4a14436
Theme doc section added
endigo9740 Mar 15, 2024
3d36ecb
Home and Intro content updates
endigo9740 Mar 15, 2024
442c364
First draft theme enhancements
endigo9740 Mar 15, 2024
7e1f1b3
Refined
endigo9740 Mar 15, 2024
152be50
Added Utilities pages
endigo9740 Mar 16, 2024
4d9c7d9
Misc cleanup and adjustments
endigo9740 Mar 18, 2024
b5bd973
Header updates
endigo9740 Mar 18, 2024
5969e62
...
endigo9740 Mar 18, 2024
91151bb
Footer comp added
endigo9740 Mar 18, 2024
519de7d
Blog section stubbed
endigo9740 Mar 18, 2024
4929dae
ProcessComponent added
endigo9740 Mar 18, 2024
2cc31e1
Drill down install for SvelteKit and Nextjs
endigo9740 Mar 18, 2024
0d059e3
...
endigo9740 Mar 18, 2024
2588292
Component improvements
endigo9740 Mar 18, 2024
cc9fa5c
Figma section, misc improvements
endigo9740 Mar 18, 2024
3a58faf
Fundamentals draft complete
endigo9740 Mar 18, 2024
1c9daf7
Fundamentals doc improved
endigo9740 Mar 18, 2024
9212c90
Improve Utilities doc
endigo9740 Mar 18, 2024
11391d5
Dark Mode page first draft
endigo9740 Mar 18, 2024
bf1972d
Doc intro first draft
endigo9740 Mar 18, 2024
d2c005a
Intro doc updates
endigo9740 Mar 18, 2024
b636d97
Select style adjustments
endigo9740 Mar 18, 2024
4a1fe06
Minor edit
endigo9740 Mar 18, 2024
448dcb1
Typofixes, grammar fixes, doublechecking of design-tokens and their r…
Sarenor Mar 19, 2024
ea05fd5
Additional QA fixes
endigo9740 Mar 19, 2024
83a9abf
Further doc refinement
endigo9740 Mar 19, 2024
ac5dfe2
Fix component hydration
endigo9740 Mar 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions packages/skeleton/src/plugin/components/forms.css
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,13 @@
@apply !mb-2;
}
.select option,
.input-group select option {
.input-group option {
@apply p-2 rounded cursor-pointer;
}
.select:not([size]):not([multiple]) option,
.input-group option {
@apply bg-surface-50 dark:bg-surface-950;
@apply text-surface-950 dark:text-surface-50;
@apply p-2 rounded cursor-pointer;
}
.select option:checked {
/* https://stackoverflow.com/questions/50618602/change-color-of-selected-option-in-select-multiple */
Expand Down
3 changes: 2 additions & 1 deletion packages/skeleton/src/plugin/themes/catppuccin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ const catppuccin = {
'--type-scale-13': 'calc(8rem * var(--type-scale-factor))',
'--base-font-color': 'var(--color-surface-600)',
'--base-font-color-dark': 'var(--color-surface-50)',
'--base-font-family': 'Helvetica, Arial, sans-serif',
'--base-font-family':
'ui-rounded, Hiragino Maru Gothic ProN, Quicksand, Comfortaa, Manjari, Arial Rounded MT, Arial Rounded MT Bold, Calibri, source-sans-pro, sans-serif',
'--base-font-size': 'inherit',
'--base-line-height': 'inherit',
'--base-font-weight': 'normal',
Expand Down
4 changes: 2 additions & 2 deletions packages/skeleton/src/plugin/themes/cerberus.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ const cerberus = {
// Borders ---
// Covers: rounded, borders, divides, outlines, rings

'--radii-default': '0.375rem',
'--radii-container': '0.75rem',
'--radii-default': '6px',
'--radii-container': '6px',

'--border-width-default': '1px',
'--divide-width-default': 'var(--border-width-default)',
Expand Down
10 changes: 5 additions & 5 deletions packages/skeleton/src/plugin/themes/pine.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { Theme } from './index.js';
const pine = {
name: 'pine',
properties: {
'--space-scale-factor': '1.25',
'--space-scale-factor': '1.0',
'--type-scale-factor': '1.0',
'--type-scale-1': 'calc(0.75rem * var(--type-scale-factor))',
'--type-scale-2': 'calc(0.875rem * var(--type-scale-factor))',
Expand All @@ -20,15 +20,15 @@ const pine = {
'--type-scale-13': 'calc(8rem * var(--type-scale-factor))',
'--base-font-color': 'var(--color-surface-950)',
'--base-font-color-dark': 'var(--color-surface-50)',
'--base-font-family': 'system-ui',
'--base-font-size': '18px',
'--base-line-height': '28px',
'--base-font-family': 'Rockwell, Rockwell Nova, Roboto Slab, DejaVu Serif, Sitka Small, serif',
'--base-font-size': '20px',
'--base-line-height': '32px',
'--base-font-weight': 'normal',
'--base-font-style': 'normal',
'--base-letter-spacing': '0em',
'--heading-font-color': 'var(--color-primary-800)',
'--heading-font-color-dark': 'var(--color-primary-300)',
'--heading-font-family': 'Avenir, Montserrat, Corbel, URW Gothic, source-sans-pro, sans-serif',
'--heading-font-family': 'Rockwell, Rockwell Nova, Roboto Slab, DejaVu Serif, Sitka Small, serif',
'--heading-font-weight': 'bold',
'--heading-font-style': 'normal',
'--heading-letter-spacing': 'inherit',
Expand Down
2 changes: 1 addition & 1 deletion packages/skeleton/src/plugin/themes/rose.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const rose = {
'--type-scale-13': 'calc(8rem * var(--type-scale-factor))',
'--base-font-color': 'var(--color-surface-950)',
'--base-font-color-dark': 'var(--color-surface-50)',
'--base-font-family': 'system-ui, sans-serif',
'--base-font-family': 'Seravek, Gill Sans Nova, Ubuntu, Calibri, DejaVu Sans, source-sans-pro, sans-serif',
'--base-font-size': 'inherit',
'--base-line-height': 'inherit',
'--base-font-weight': 'normal',
Expand Down
4 changes: 3 additions & 1 deletion packages/skeleton/src/plugin/utilities/color-pairings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ ex: {property}-primary-50-950 | {property}-primary-950-50
* outline - https://tailwindcss.com/docs/outline-color
* caret - https://tailwindcss.com/docs/caret-color
* stroke - https://tailwindcss.com/docs/stroke
* fill - https://tailwindcss.com/docs/fill
*/

import { settings, type TailwindClasses } from '../settings.js';
Expand All @@ -33,7 +34,8 @@ export const utilColorPairings = () => {
'divide',
'outline',
'caret',
'stroke'
'stroke',
'fill'
];
const classes: TailwindClasses = {};
// Loop each color name
Expand Down
13 changes: 8 additions & 5 deletions sites/next.skeleton.dev/src/components/docs/Breadcrumbs.astro
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
---
const breacrumbs = Astro.url.pathname
.split('/')
.filter((v) => v !== '')
.map((v) => v.replace('-', ' '));
const breacrumbs = Astro.url.pathname.split('/').filter((v) => v !== '');
---

<ol class="flex gap-2 type-scale-1">
{
breacrumbs.map((crumb: string, i: number) => (
<>
<li class="capitalize" class:list={{ 'opacity-60 ': i !== breacrumbs.length - 1 }}>
{crumb}
{i > 0 && i !== breacrumbs.length - 1 && breacrumbs[0] !== 'components' ? (
<a href={`/${breacrumbs[0]}/${crumb}`} class="hover:underline">
{crumb.replace('-', ' ')}
</a>
) : (
crumb.replace('-', ' ')
)}
</li>
{i !== breacrumbs.length - 1 && <li class="opacity-60">&rsaquo;</li>}
</>
Expand Down
40 changes: 40 additions & 0 deletions sites/next.skeleton.dev/src/components/docs/Footer.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
import { Icon } from 'astro-icon/components';

const socialLinks = [
{
href: 'https://github.com/skeletonlabs/skeleton',
label: 'GitHub',
icon: 'github',
},
{
href: 'https://discord.gg/EXqV7W8MtY',
label: 'Discord',
icon: 'discord',
},
];
---

<footer class="border-t border-surface-500/20 bg-surface-50-950 p-4 xl:p-10">
<div class="container mx-auto flex justify-between gap-4">
<div class="flex items-center gap-4">
<Icon name="skeleton" size={20} />
<p class="type-scale-1 opacity-60">
Built by <a class="underline" href="https://www.skeletonlabs.co/" target="_blank">Skeleton Labs</a> and the
<a href="https://github.com/skeletonlabs/skeleton/graphs/contributors" target="_blank" class="underline"
>Skeleton community</a
>.
</p>
</div>
<!-- Social -->
<nav class="flex items-center">
{
socialLinks.map((l) => (
<a class="btn hover:preset-tonal" href={l.href} target="_blank" title={l.label}>
<Icon name={l.icon} size={20} />
</a>
))
}
</nav>
</div>
</footer>
55 changes: 40 additions & 15 deletions sites/next.skeleton.dev/src/components/docs/Header.astro
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
import { Icon } from 'astro-icon/components';
import { Search } from 'lucide-react';
import Lightswitch from '@components/docs/Lightswitch.astro';
import ThemeSwitch from '@components/docs/ThemeSwitch.astro';

Expand All @@ -18,24 +19,48 @@ const socialLinks = [
---

<header class="w-full border-b border-surface-500/20 bg-surface-50-950 p-4 py-3 md:px-10">
<div class="container mx-auto flex max-w-screen-2xl justify-between items-center">
<a class="type-scale-3 flex gap-3" href="/" title="Skeleton">
<span><Icon name="skeleton" size={24} /></span>
<span class="font-bold font-mono">skeleton</span>
</a>
<nav class="type-scale-1 flex items-center gap-4">
<!-- Social -->
{
socialLinks.map((l) => (
<a href={l.href} target="_blank" title={l.label}>
<Icon name={l.icon} size={24} class="size-5" />
</a>
))
}
<div class="container max-w-screen-2xl mx-auto grid grid-cols-[1fr_auto_1fr] gap-4 items-center">
<!-- Left -->
<div class="flex justify-start items-center gap-8">
<!-- Logo -->
<a class="type-scale-3 flex gap-3" href="/" title="Skeleton">
<Icon name="skeleton" size={24} />
</a>
<!-- Navigation -->
<a class="opacity-60 hover:underline" href="/docs/installation">Docs</a>
<a class="opacity-60 hover:underline" href="/blog">Blog</a>
<a class="opacity-60 hover:underline" href="https://themes.skeleton.dev/" target="_blank">Themes</a>
</div>
<!-- Middle -->
<div class="flex items-center gap-2">
<!-- Search -->
<button type="button" class="btn preset-outlined-surface-200-800 hover:preset-tonal" onclick="onSearch()">
<Search size={18} className="opacity-60" />
<span class="opacity-60">Search...</span>
</button>
</div>
<!-- Right -->
<div class="flex justify-end items-center gap-2">
<!-- Lightswitch -->
<Lightswitch />
<!-- Theme Switcher -->
<ThemeSwitch />
</nav>
<!-- Social -->
<nav class="flex items-center">
{
socialLinks.map((l) => (
<a class="btn hover:preset-tonal" href={l.href} target="_blank" title={l.label}>
<Icon name={l.icon} size={20} />
</a>
))
}
</nav>
</div>
</div>
</header>

<script is:inline>
function onSearch() {
window.alert('Search is not currently available. Please check back soon.');
}
</script>
60 changes: 30 additions & 30 deletions sites/next.skeleton.dev/src/components/docs/Lightswitch.astro
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,39 @@
// Lightswitch
// Ref: https://docs.astro.build/en/tutorial/6-islands/2/

import { SunMoon } from 'lucide-react'
import { SunMoon } from 'lucide-react';
---

<button id="lightswitch" title="Toggle dark mode.">
<SunMoon size={24} />
<button id="lightswitch" class="btn hover:preset-tonal" title="Toggle dark mode.">
<SunMoon size={24} />
</button>

<script is:inline>
const darkMode = (() => {
if (typeof localStorage !== 'undefined' && localStorage.getItem('darkMode')) {
return localStorage.getItem('darkMode')
}
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
return 'dark'
}
return 'light'
})()

if (darkMode === 'light') {
document.documentElement.classList.remove('dark')
} else {
document.documentElement.classList.add('dark')
}

window.localStorage.setItem('darkMode', darkMode)

const handleToggleClick = () => {
const element = document.documentElement
element.classList.toggle('dark')

const isDark = element.classList.contains('dark')
localStorage.setItem('darkMode', isDark ? 'dark' : 'light')
}

document.getElementById('lightswitch').addEventListener('click', handleToggleClick)
const darkMode = (() => {
if (typeof localStorage !== 'undefined' && localStorage.getItem('darkMode')) {
return localStorage.getItem('darkMode');
}
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
return 'dark';
}
return 'light';
})();

if (darkMode === 'light') {
document.documentElement.classList.remove('dark');
} else {
document.documentElement.classList.add('dark');
}

window.localStorage.setItem('darkMode', darkMode);

const handleToggleClick = () => {
const element = document.documentElement;
element.classList.toggle('dark');

const isDark = element.classList.contains('dark');
localStorage.setItem('darkMode', isDark ? 'dark' : 'light');
};

document.getElementById('lightswitch').addEventListener('click', handleToggleClick);
</script>
5 changes: 4 additions & 1 deletion sites/next.skeleton.dev/src/components/docs/Navigation.astro
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ interface Props {
const { classList } = Astro.props;

// Query from Collections
const navDocs = await getCollection('docs');
const navDocs = await getCollection('docs', ({ id }) => {
// Ignore cookbook children pages
return !id.startsWith('installation/');
});
const navComponents = await getCollection('components', ({ id }) => {
return id.startsWith('common/');
});
Expand Down
7 changes: 4 additions & 3 deletions sites/next.skeleton.dev/src/components/docs/Preview.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ export const Preview: React.FC<any> = (props) => {
}

return (
<div className="space-y-4">
// TODO: fix this top margin due to generate script tags
<div className="space-y-4 mt-4">
{/* Tabs */}
<nav className="flex gap-4 border-b-[1px] border-surface-200-800">
<button className={`${cTab} ${selectedClass('preview')}`} onClick={() => setSelected('preview')}>
Expand All @@ -22,8 +23,8 @@ export const Preview: React.FC<any> = (props) => {
</button>
</nav>
{/* Panel: Preview */}
<div className={`docs-card-outlined-centered p-8 ${selected !== 'preview' && '!hidden'}`}>
{props.preview}
<div className={`card-enhanced-outlined ${selected !== 'preview' && '!hidden'}`}>
<div className="card-enhanced-outlined-inner p-8 flex justify-center">{props.preview}</div>
</div>
{/* Panel: Codeblock */}
<div className={`w-full max-w-full ${selected === 'code' ? 'block' : 'hidden'}`}>{props.code}</div>
Expand Down
3 changes: 3 additions & 0 deletions sites/next.skeleton.dev/src/components/docs/Process.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<div class="w-full border-l-[1px] border-surface-200-800 space-y-10">
<slot />
</div>
13 changes: 13 additions & 0 deletions sites/next.skeleton.dev/src/components/docs/ProcessStep.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
import { Check } from 'lucide-react';
const { step } = Astro.props;
---

<div class="grid grid-cols-[auto_1fr] items-start gap-4">
<div class="type-scale-2 preset-filled-surface-200-800 size-7 rounded-full flex justify-center items-center -ml-4">
{step !== 'check' ? step : <Check size={16} />}
</div>
<article class="space-y-4 [&>.h2]:!type-scale-4">
<slot />
</article>
</div>
Loading