summaryrefslogtreecommitdiff
path: root/examples/docs/src/styles
diff options
context:
space:
mode:
Diffstat (limited to 'examples/docs/src/styles')
-rw-r--r--examples/docs/src/styles/code.css96
-rw-r--r--examples/docs/src/styles/index.css388
-rw-r--r--examples/docs/src/styles/theme.css123
3 files changed, 607 insertions, 0 deletions
diff --git a/examples/docs/src/styles/code.css b/examples/docs/src/styles/code.css
new file mode 100644
index 000000000..3fbb26626
--- /dev/null
+++ b/examples/docs/src/styles/code.css
@@ -0,0 +1,96 @@
+.language-css > code,
+.language-sass > code,
+.language-scss > code {
+ color: #fd9170;
+}
+
+[class*='language-'] .namespace {
+ opacity: 0.7;
+}
+
+.token.plain-text,
+[class*='language-bash'] span.token,
+[class*='language-shell'] span.token {
+ color: hsla(var(--color-gray-90), 1);
+}
+
+[class*='language-bash'] span.token,
+[class*='language-shell'] span.token {
+ font-style: bold;
+}
+
+.token.prolog,
+.token.comment,
+[class*='language-bash'] span.token.comment,
+[class*='language-shell'] span.token.comment {
+ color: hsla(var(--color-gray-70), 1);
+}
+
+.token.selector,
+.token.tag,
+.token.unit,
+.token.url,
+.token.variable,
+.token.entity,
+.token.deleted {
+ color: #fa5e5b;
+}
+
+.token.boolean,
+.token.constant,
+.token.doctype,
+.token.number,
+.token.regex,
+.token.builtin,
+.token.class,
+.token.hexcode,
+.token.class-name,
+.token.attr-name {
+ color: hsla(var(--color-yellow), 1);
+}
+
+.token.atrule,
+.token.attribute,
+.token.attr-value .token.punctuation,
+.token.attr-value,
+.token.pseudo-class,
+.token.pseudo-element,
+.token.string {
+ color: hsla(var(--color-green), 1);
+}
+
+.token.symbol,
+.token.function,
+.token.id,
+.token.important {
+ color: hsla(var(--color-blue), 1);
+}
+
+.token.important,
+.token.id {
+ font-weight: bold;
+}
+
+.token.cdata,
+.token.char,
+.token.property {
+ color: #23b1af;
+}
+
+.token.inserted {
+ color: hsla(var(--color-green), 1);
+}
+
+.token.keyword {
+ color: #ff657c;
+ font-style: italic;
+}
+
+.token.operator {
+ color: hsla(var(--color-gray-70), 1);
+}
+
+.token.attr-value .token.attr-equals,
+.token.punctuation {
+ color: hsla(var(--color-gray-80), 1);
+}
diff --git a/examples/docs/src/styles/index.css b/examples/docs/src/styles/index.css
new file mode 100644
index 000000000..e1e2e96c6
--- /dev/null
+++ b/examples/docs/src/styles/index.css
@@ -0,0 +1,388 @@
+* {
+ box-sizing: border-box;
+ margin: 0;
+}
+
+/* Global focus outline reset */
+*:focus:not(:focus-visible) {
+ outline: none;
+}
+
+:root {
+ --user-font-scale: 1rem - 16px;
+ --max-width: calc(100% - 1rem);
+}
+
+@media (min-width: 50em) {
+ :root {
+ --max-width: 46em;
+ }
+}
+
+body {
+ display: flex;
+ flex-direction: column;
+ min-height: 100vh;
+ font-family: var(--font-body);
+ font-size: 1rem;
+ font-size: clamp(0.9rem, 0.75rem + 0.375vw + var(--user-font-scale), 1rem);
+ line-height: 1.5;
+ max-width: 100vw;
+}
+
+nav ul {
+ list-style: none;
+ padding: 0;
+}
+
+.content > section > * + * {
+ margin-top: 1.25rem;
+}
+
+.content > section > :first-child {
+ margin-top: 0;
+}
+
+/* Typography */
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ margin-bottom: 1rem;
+ font-weight: bold;
+ line-height: 1;
+}
+
+h1,
+h2 {
+ max-width: 40ch;
+}
+
+:is(h2, h3):not(:first-child) {
+ margin-top: 3rem;
+}
+
+:is(h4, h5, h6):not(:first-child) {
+ margin-top: 2rem;
+}
+
+h1 {
+ font-size: 3.25rem;
+ font-weight: 800;
+}
+
+h2 {
+ font-size: 2.5rem;
+}
+
+h3 {
+ font-size: 1.75rem;
+}
+
+h4 {
+ font-size: 1.3rem;
+}
+
+h5 {
+ font-size: 1rem;
+}
+
+p {
+ line-height: 1.65em;
+}
+
+.content ul {
+ line-height: 1.1em;
+}
+
+p,
+.content ul {
+ color: var(--theme-text-light);
+}
+
+small,
+.text_small {
+ font-size: 0.833rem;
+}
+
+a {
+ color: var(--theme-text-accent);
+ font-weight: 400;
+ text-underline-offset: 0.08em;
+ align-items: center;
+ gap: 0.5rem;
+}
+
+article > section :is(ul, ol) > * + * {
+ margin-top: 0.75rem;
+}
+
+article > section nav :is(ul, ol) > * + * {
+ margin-top: inherit;
+}
+
+article > section li > :is(p, pre, blockquote):not(:first-child) {
+ margin-top: 1rem;
+}
+
+article > section :is(ul, ol) {
+ padding-left: 1em;
+}
+
+article > section nav :is(ul, ol) {
+ padding-left: inherit;
+}
+
+article > section nav {
+ margin-top: 1rem;
+ margin-bottom: 2rem;
+}
+
+article > section ::marker {
+ font-weight: bold;
+ color: var(--theme-text-light);
+}
+
+article > section iframe {
+ width: 100%;
+ height: auto;
+ aspect-ratio: 16 / 9;
+}
+
+a > code:not([class*='language']) {
+ position: relative;
+ color: var(--theme-text-accent);
+ background: transparent;
+ text-underline-offset: var(--padding-block);
+}
+
+a > code:not([class*='language'])::before {
+ content: '';
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ display: block;
+ background: var(--theme-accent);
+ opacity: var(--theme-accent-opacity);
+ border-radius: var(--border-radius);
+}
+
+a:hover,
+a:focus {
+ text-decoration: underline;
+}
+
+a:focus {
+ outline: 2px solid currentColor;
+ outline-offset: 0.25em;
+}
+
+strong {
+ font-weight: 600;
+ color: inherit;
+}
+
+/* Supporting Content */
+code {
+ font-family: var(--font-mono);
+ font-size: 0.85em;
+}
+
+code:not([class*='language']) {
+ --border-radius: 3px;
+ --padding-block: 0.2rem;
+ --padding-inline: 0.4rem;
+ color: var(--theme-code-inline-text);
+ background-color: var(--theme-code-inline-bg);
+ padding: var(--padding-block) var(--padding-inline);
+ margin: calc(var(--padding-block) * -1) -0.125em;
+ border-radius: var(--border-radius);
+ box-shadow: 0 2px 1px 0 rgba(0, 0, 0, 0.08);
+ word-break: break-word;
+}
+
+pre > code:not([class*='language']) {
+ background-color: transparent;
+ padding: 0;
+ margin: 0;
+ border-radius: 0;
+ color: inherit;
+}
+
+pre > code {
+ font-size: 1em;
+}
+
+table,
+pre {
+ position: relative;
+ --padding-block: 1rem;
+ --padding-inline: 2rem;
+ padding: var(--padding-block) var(--padding-inline);
+ padding-right: calc(var(--padding-inline) * 2);
+ margin-left: calc(var(--padding-inline) * -1);
+ margin-right: calc(var(--padding-inline) * -1);
+ font-family: var(--font-mono);
+
+ line-height: 1.5;
+ font-size: 0.85em;
+ overflow-y: hidden;
+ overflow-x: auto;
+}
+
+table {
+ width: 100%;
+ padding: var(--padding-block) 0;
+ margin: 0;
+ border-collapse: collapse;
+}
+
+/* Zebra striping */
+tr:nth-of-type(odd) {
+ background: var(--theme-bg-hover);
+}
+th {
+ background: var(--color-black);
+ color: var(--theme-color);
+ font-weight: bold;
+}
+td,
+th {
+ padding: 6px;
+ text-align: left;
+}
+
+pre {
+ background-color: var(--theme-code-bg);
+ color: var(--theme-code-text);
+}
+
+blockquote code:not([class*='language']) {
+ background-color: var(--theme-bg);
+}
+
+@media (min-width: 37.75em) {
+ pre {
+ --padding-inline: 1.25rem;
+ border-radius: 8px;
+ margin-left: 0;
+ margin-right: 0;
+ }
+}
+
+blockquote {
+ margin: 2rem 0;
+ padding: 1.25em 1.5rem;
+ border-left: 3px solid var(--theme-text-light);
+ background-color: var(--theme-bg-offset);
+ border-radius: 0 0.25rem 0.25rem 0;
+ line-height: 1.7;
+}
+
+img {
+ max-width: 100%;
+}
+
+.flex {
+ display: flex;
+ align-items: center;
+}
+
+button {
+ display: flex;
+ align-items: center;
+ justify-items: center;
+ gap: 0.25em;
+ padding: 0.33em 0.67em;
+ border: 0;
+ background: var(--theme-bg);
+ display: flex;
+ font-size: 1rem;
+ align-items: center;
+ gap: 0.25em;
+ border-radius: 99em;
+ color: var(--theme-text);
+ background-color: var(--theme-bg);
+}
+
+h2.heading {
+ font-size: 1rem;
+ font-weight: 700;
+ padding: 0.1rem 1rem;
+ text-transform: uppercase;
+ margin-bottom: 0.5rem;
+}
+
+.header-link {
+ font-size: 1rem;
+ padding: 0.1rem 0 0.1rem 1rem;
+ border-left: 4px solid var(--theme-divider);
+}
+
+.header-link:hover,
+.header-link:focus {
+ border-left-color: var(--theme-accent);
+ color: var(--theme-accent);
+}
+.header-link:focus-within {
+ color: var(--theme-text-light);
+ border-left-color: hsla(var(--color-gray-40), 1);
+}
+.header-link svg {
+ opacity: 0.6;
+}
+.header-link:hover svg {
+ opacity: 0.8;
+}
+.header-link a {
+ display: inline-flex;
+ gap: 0.5em;
+ width: 100%;
+ padding: 0.15em 0 0.15em 0;
+}
+
+.header-link.depth-3 {
+ padding-left: 2rem;
+}
+.header-link.depth-4 {
+ padding-left: 3rem;
+}
+
+.header-link a {
+ font: inherit;
+ color: inherit;
+ text-decoration: none;
+}
+
+/* Screenreader Only Text */
+.sr-only {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ border-width: 0;
+}
+
+.focus\:not-sr-only:focus,
+.focus\:not-sr-only:focus-visible {
+ position: static;
+ width: auto;
+ height: auto;
+ padding: 0;
+ margin: 0;
+ overflow: visible;
+ clip: auto;
+ white-space: normal;
+}
+
+:target {
+ scroll-margin: calc(var(--theme-sidebar-offset, 5rem) + 2rem) 0 2rem;
+}
diff --git a/examples/docs/src/styles/theme.css b/examples/docs/src/styles/theme.css
new file mode 100644
index 000000000..1bd29c2f6
--- /dev/null
+++ b/examples/docs/src/styles/theme.css
@@ -0,0 +1,123 @@
+:root {
+ --font-fallback: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;
+ --font-body: system-ui, var(--font-fallback);
+ --font-mono: 'IBM Plex Mono', Consolas, 'Andale Mono WT', 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono',
+ 'Liberation Mono', 'Nimbus Mono L', Monaco, 'Courier New', Courier, monospace;
+
+ /*
+ * Variables with --color-base prefix define
+ * the hue, and saturation values to be used for
+ * hsla colors.
+ *
+ * ex:
+ *
+ * --color-base-{color}: {hue}, {saturation};
+ *
+ */
+
+ --color-base-white: 0, 0%;
+ --color-base-black: 240, 100%;
+ --color-base-gray: 215, 14%;
+ --color-base-blue: 212, 100%;
+ --color-base-blue-dark: 212, 72%;
+ --color-base-green: 158, 79%;
+ --color-base-orange: 22, 100%;
+ --color-base-purple: 269, 79%;
+ --color-base-red: 351, 100%;
+ --color-base-yellow: 41, 100%;
+
+ /*
+ * Color palettes are made using --color-base
+ * variables, along with a lightness value to
+ * define different variants.
+ *
+ */
+
+ --color-gray-5: var(--color-base-gray), 5%;
+ --color-gray-10: var(--color-base-gray), 10%;
+ --color-gray-20: var(--color-base-gray), 20%;
+ --color-gray-30: var(--color-base-gray), 30%;
+ --color-gray-40: var(--color-base-gray), 40%;
+ --color-gray-50: var(--color-base-gray), 50%;
+ --color-gray-60: var(--color-base-gray), 60%;
+ --color-gray-70: var(--color-base-gray), 70%;
+ --color-gray-80: var(--color-base-gray), 80%;
+ --color-gray-90: var(--color-base-gray), 90%;
+ --color-gray-95: var(--color-base-gray), 95%;
+
+ --color-blue: var(--color-base-blue), 61%;
+ --color-blue-dark: var(--color-base-blue-dark), 39%;
+ --color-green: var(--color-base-green), 42%;
+ --color-orange: var(--color-base-orange), 50%;
+ --color-purple: var(--color-base-purple), 54%;
+ --color-red: var(--color-base-red), 54%;
+ --color-yellow: var(--color-base-yellow), 59%;
+}
+
+:root {
+ color-scheme: light;
+ --theme-accent: hsla(var(--color-blue), 1);
+ --theme-text-accent: hsla(var(--color-blue), 1);
+ --theme-accent-opacity: 0.15;
+ --theme-divider: hsla(var(--color-gray-95), 1);
+ --theme-text: hsla(var(--color-gray-10), 1);
+ --theme-text-light: hsla(var(--color-gray-40), 1);
+ /* @@@: not used anywhere */
+ --theme-text-lighter: hsla(var(--color-gray-80), 1);
+ --theme-bg: hsla(var(--color-base-white), 100%, 1);
+ --theme-bg-hover: hsla(var(--color-gray-95), 1);
+ --theme-bg-offset: hsla(var(--color-gray-90), 1);
+ --theme-bg-accent: hsla(var(--color-blue), var(--theme-accent-opacity));
+ --theme-code-inline-bg: hsla(var(--color-gray-95), 1);
+ --theme-code-inline-text: var(--theme-text);
+ --theme-code-bg: hsla(217, 19%, 27%, 1);
+ --theme-code-text: hsla(var(--color-gray-95), 1);
+ --theme-navbar-bg: hsla(var(--color-base-white), 100%, 1);
+ --theme-navbar-height: 6rem;
+ --theme-selection-color: hsla(var(--color-blue), 1);
+ --theme-selection-bg: hsla(var(--color-blue), var(--theme-accent-opacity));
+}
+
+body {
+ background: var(--theme-bg);
+ color: var(--theme-text);
+}
+
+:root.theme-dark {
+ color-scheme: dark;
+ --theme-accent-opacity: 0.15;
+ --theme-accent: hsla(var(--color-blue), 1);
+ --theme-text-accent: hsla(var(--color-blue), 1);
+ --theme-divider: hsla(var(--color-gray-10), 1);
+ --theme-text: hsla(var(--color-gray-90), 1);
+ --theme-text-light: hsla(var(--color-gray-80), 1);
+
+ /* @@@: not used anywhere */
+ --theme-text-lighter: hsla(var(--color-gray-40), 1);
+ --theme-bg: hsla(215, 28%, 17%, 1);
+ --theme-bg-hover: hsla(var(--color-gray-40), 1);
+ --theme-bg-offset: hsla(var(--color-gray-5), 1);
+ --theme-code-inline-bg: hsla(var(--color-gray-10), 1);
+ --theme-code-inline-text: hsla(var(--color-base-white), 100%, 1);
+ --theme-code-bg: hsla(var(--color-gray-5), 1);
+ --theme-code-text: hsla(var(--color-base-white), 100%, 1);
+ --theme-navbar-bg: hsla(215, 28%, 17%, 1);
+ --theme-selection-color: hsla(var(--color-base-white), 100%, 1);
+ --theme-selection-bg: hsla(var(--color-purple), var(--theme-accent-opacity));
+
+ /* DocSearch [Algolia] */
+ --docsearch-modal-background: var(--theme-bg);
+ --docsearch-searchbox-focus-background: var(--theme-divider);
+ --docsearch-footer-background: var(--theme-divider);
+ --docsearch-text-color: var(--theme-text);
+ --docsearch-hit-background: var(--theme-divider);
+ --docsearch-hit-shadow: none;
+ --docsearch-hit-color: var(--theme-text);
+ --docsearch-footer-shadow: inset 0 2px 10px #000;
+ --docsearch-modal-shadow: inset 0 0 8px #000;
+}
+
+::selection {
+ color: var(--theme-selection-color);
+ background-color: var(--theme-selection-bg);
+}