@netlify/spark-ui 1.5.0-alpha.11 → 1.5.0-alpha.12
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/AskNetlify.css +1 -1
- package/dist/components/preact/AskNetlify/AskNetlify.js +1 -1
- package/dist/components/preact/SearchModal/components/SearchWindow.js +20 -19
- package/package.json +1 -1
- package/packages/components/preact/AskNetlify/AskNetlify.css +1 -0
- package/packages/components/preact/AskNetlify/AskNetlify.tsx +2 -2
- package/packages/components/preact/SearchModal/components/SearchWindow.tsx +4 -2
- package/packages/utils/theme.ts +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
.chat-container{opacity:0;animation:appearContainer .12s ease-in-out forwards;animation-delay:.14s}@keyframes appearContainer{0%{opacity:0}to{opacity:1}}.conversation{height:calc(var(--n-search-container-height) + var(--n-search-footer-height));padding:var(--n-search-padding-inline);scroll-behavior:smooth;overflow-y:auto;display:grid;align-items:flex-end;gap:var(--space-s)}.question{border:none;color:var(--color-text-1);font-weight:var(--font-weight-regular);font-size:var(--step--1);border-radius:var(--radius-pill);transform:translate(-.75rem);text-wrap:pretty;text-align:left}.question-list li{opacity:0;transform:translateY(10px);animation:fadeInUp .5s forwards}.question-list li:nth-child(1){animation-delay:.5s}.question-list li:nth-child(2){animation-delay:.3s}.question-list li:nth-child(3){animation-delay:.1s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.message{display:grid;gap:var(--space-s);margin-block-start:var(--space-2xl)}.message-bubble{padding:var(--space-xs) var(--space-s);background:var(--search-answer-message-color);border-radius:var(--radius-l);width:fit-content;max-width:85%;font-size:var(--step-0)}.prose{font-size:var(--step--0)}.prose>*+*{margin-top:var(--flow-space, var(--space-s))}.prose :where(ol,ul,li)>*+*{margin-top:var(--flow-space, var(--space-3xs))}.prose h1,.prose h2,.prose h3{font-size:var(--step-1)}.prose h4,.prose h5,.prose h6{font-size:var(--step-0)}.prose pre{background:var(--neutral-light-700);border-radius:var(--radius-m);max-width:100%;box-sizing:border-box;padding:var(--space-s);color:var(--neutral-100);overflow-x:auto}.prose code{overflow-x:auto}.prose code[class*=language-],.prose pre[class*=language-]{display:block;font-size:var(--font-size-text-xs)}.user-message{margin-inline-start:auto;background:var(--search-user-message-color)}.form-wrapper{display:flex;align-items:center;position:relative;height:var(--n-search-input-height)}.form-wrapper:after{content:"";display:block;width:100%;height:1px;background:var(--color-bg-3);position:absolute;top:0;left:0}.form-input{border:none;outline:none;padding-inline:var(--n-search-padding-inline)}.form-submit{padding:.7rem;border-radius:var(--radius-pill);margin-inline-end:var(--space-2xs);border:none;background:var(--color-link-1);color:var(--neutral-000);transition:background-color .15s ease-out}.form-submit>svg{width:1rem;height:auto;aspect-ratio:1 / 1;border-radius:1.5px;transition:opacity .15s ease-out}.form-submit[disabled]{background:var(--neutral-500)}.form-submit[disabled]>*{opacity:.5}.button-back{width:fit-content;background:transparent;position:absolute;z-index:1;padding:.5rem 1rem;background:var(--search-back-btn-bg-color);margin:1rem;border:2px solid var(--color-bg-3);border-radius:var(--radius-pill);font-size:var(--step--1);border:1px solid;cursor:pointer;border-color:var(--color-bg-3);color:var(--color-text-1);border-width:.5px}.message-loader{width:43px;height:auto;display:block;color:var(--search-loading-color)}.message-loader :where(#ask-netlify-tick-1,#ask-netlify-tick-2,#ask-netlify-tick-3){opacity:0;animation:tickFlicker .8s ease-in-out infinite}#ask-netlify-tick-1{animation-delay:.1s}#ask-netlify-tick-2{animation-delay:.2s}#ask-netlify-tick-3{animation-delay:.3s}@keyframes tickFlicker{0%{opacity:0}to{opacity:1}}#ask-netlify-eyelid-left,#ask-netlify-eyelid-right{transform-origin:top center;animation:blink 4s infinite;animation-delay:1s;transform:scaleY(.8)}@keyframes blink{0%,5%{transform:scaleY(.8)}6%,10%{transform:scaleY(1)}11%,15%{transform:scaleY(.8)}16%,20%{transform:scaleY(1)}21%,to{transform:scaleY(.8)}}
|
|
1
|
+
.chat-container{opacity:0;animation:appearContainer .12s ease-in-out forwards;animation-delay:.14s}@keyframes appearContainer{0%{opacity:0}to{opacity:1}}.conversation{height:calc(var(--n-search-container-height) + var(--n-search-footer-height));padding:var(--n-search-padding-inline);scroll-behavior:smooth;overflow-y:auto;display:grid;align-items:flex-end;gap:var(--space-s)}.question{border:none;color:var(--color-text-1);font-weight:var(--font-weight-regular);font-size:var(--step--1);border-radius:var(--radius-pill);transform:translate(-.75rem);text-wrap:pretty;text-align:left}.question-list li{opacity:0;transform:translateY(10px);animation:fadeInUp .5s forwards}.question-list li:nth-child(1){animation-delay:.5s}.question-list li:nth-child(2){animation-delay:.3s}.question-list li:nth-child(3){animation-delay:.1s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.message{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-s);margin-block-start:var(--space-2xl)}.message-bubble{padding:var(--space-xs) var(--space-s);background:var(--search-answer-message-color);border-radius:var(--radius-l);width:fit-content;max-width:85%;font-size:var(--step-0)}.prose{font-size:var(--step--0)}.prose>*+*{margin-top:var(--flow-space, var(--space-s))}.prose :where(ol,ul,li)>*+*{margin-top:var(--flow-space, var(--space-3xs))}.prose h1,.prose h2,.prose h3{font-size:var(--step-1)}.prose h4,.prose h5,.prose h6{font-size:var(--step-0)}.prose pre{background:var(--neutral-light-700);border-radius:var(--radius-m);max-width:100%;box-sizing:border-box;padding:var(--space-s);color:var(--neutral-100);overflow-x:auto}.prose code{overflow-x:auto}.prose code[class*=language-],.prose pre[class*=language-]{display:block;font-size:var(--font-size-text-xs)}.user-message{margin-inline-start:auto;background:var(--search-user-message-color)}.form-wrapper{display:flex;align-items:center;position:relative;height:var(--n-search-input-height)}.form-wrapper:after{content:"";display:block;width:100%;height:1px;background:var(--color-bg-3);position:absolute;top:0;left:0}.form-input{border:none;outline:none;padding-inline:var(--n-search-padding-inline)}.form-submit{padding:.7rem;border-radius:var(--radius-pill);margin-inline-end:var(--space-2xs);border:none;background:var(--color-link-1);color:var(--neutral-000);transition:background-color .15s ease-out}.form-submit>svg{width:1rem;height:auto;aspect-ratio:1 / 1;border-radius:1.5px;transition:opacity .15s ease-out}.form-submit[disabled]{background:var(--neutral-500)}.form-submit[disabled]>*{opacity:.5}.button-back{width:fit-content;background:transparent;position:absolute;z-index:1;padding:.5rem 1rem;background:var(--search-back-btn-bg-color);margin:1rem;border:2px solid var(--color-bg-3);border-radius:var(--radius-pill);font-size:var(--step--1);border:1px solid;cursor:pointer;border-color:var(--color-bg-3);color:var(--color-text-1);border-width:.5px}.message-loader{width:43px;height:auto;display:block;color:var(--search-loading-color)}.message-loader :where(#ask-netlify-tick-1,#ask-netlify-tick-2,#ask-netlify-tick-3){opacity:0;animation:tickFlicker .8s ease-in-out infinite}#ask-netlify-tick-1{animation-delay:.1s}#ask-netlify-tick-2{animation-delay:.2s}#ask-netlify-tick-3{animation-delay:.3s}@keyframes tickFlicker{0%{opacity:0}to{opacity:1}}#ask-netlify-eyelid-left,#ask-netlify-eyelid-right{transform-origin:top center;animation:blink 4s infinite;animation-delay:1s;transform:scaleY(.8)}@keyframes blink{0%,5%{transform:scaleY(.8)}6%,10%{transform:scaleY(1)}11%,15%{transform:scaleY(.8)}16%,20%{transform:scaleY(1)}21%,to{transform:scaleY(.8)}}
|
|
@@ -5733,7 +5733,7 @@ function fl({ setModalState: e }) {
|
|
|
5733
5733
|
__html: P.parse(h.answer)
|
|
5734
5734
|
}
|
|
5735
5735
|
}
|
|
5736
|
-
) }) : /* @__PURE__ */ E("
|
|
5736
|
+
) }) : /* @__PURE__ */ E("div", { class: "message-loader", children: /* @__PURE__ */ E(Vi, { name: "askNetlify" }) }) })
|
|
5737
5737
|
] }, h.id || `qa-${d}`))
|
|
5738
5738
|
] }),
|
|
5739
5739
|
/* @__PURE__ */ E("form", { onSubmit: c, className: "form-wrapper n-search-input-wrapper", children: [
|
|
@@ -1,42 +1,43 @@
|
|
|
1
1
|
import { u as e } from "../../../../chunks/jsxRuntime.module.Bzuv3cXw.js";
|
|
2
|
-
import { T as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { Fragment as
|
|
6
|
-
const
|
|
2
|
+
import { T as h } from "../../../../chunks/hooks.module.DGkdD5n9.js";
|
|
3
|
+
import s from "./SearchHeading/SearchHeading.js";
|
|
4
|
+
import a from "./SearchLink/SearchLink.js";
|
|
5
|
+
import { Fragment as d } from "preact";
|
|
6
|
+
const u = {
|
|
7
7
|
light: "dark",
|
|
8
8
|
dark: "light"
|
|
9
|
-
},
|
|
10
|
-
document.
|
|
11
|
-
|
|
9
|
+
}, g = (n) => {
|
|
10
|
+
const r = document.getElementById("site-theme-select");
|
|
11
|
+
r && (r.value = n), document.documentElement.setAttribute("data-theme", n), localStorage.setItem("theme", n);
|
|
12
|
+
}, f = ({
|
|
12
13
|
searchLoading: n,
|
|
13
14
|
searchTerm: r,
|
|
14
15
|
results: t
|
|
15
16
|
}) => {
|
|
16
17
|
if (n)
|
|
17
|
-
return /* @__PURE__ */ e(
|
|
18
|
+
return /* @__PURE__ */ e(s, { children: [
|
|
18
19
|
"Searching for ",
|
|
19
20
|
/* @__PURE__ */ e("span", { className: "n-search-term", children: r }),
|
|
20
21
|
" ..."
|
|
21
22
|
] });
|
|
22
23
|
if (!t || t.length === 0)
|
|
23
|
-
return /* @__PURE__ */ e(
|
|
24
|
+
return /* @__PURE__ */ e(s, { children: [
|
|
24
25
|
"0 results for ",
|
|
25
26
|
/* @__PURE__ */ e("span", { className: "n-search-term", children: r })
|
|
26
27
|
] });
|
|
27
|
-
const c =
|
|
28
|
+
const c = h(() => t.map((l, i) => /* @__PURE__ */ e("li", { className: "n-results-list-item", children: /* @__PURE__ */ e(a, { ...l }) }, i)), [t]);
|
|
28
29
|
return /* @__PURE__ */ e("ul", { className: "n-results-list", role: "list", children: c });
|
|
29
30
|
};
|
|
30
|
-
function
|
|
31
|
+
function A({
|
|
31
32
|
setModalState: n,
|
|
32
33
|
searchLoading: r,
|
|
33
34
|
searchTerm: t,
|
|
34
35
|
results: c,
|
|
35
36
|
children: l
|
|
36
37
|
}) {
|
|
37
|
-
return /* @__PURE__ */ e("div", { className: "n-search-window", children: /* @__PURE__ */ e("div", { className: "n-search-links", children: t && t.length > 1 ? /* @__PURE__ */ e(
|
|
38
|
+
return /* @__PURE__ */ e("div", { className: "n-search-window", children: /* @__PURE__ */ e("div", { className: "n-search-links", children: t && t.length > 1 ? /* @__PURE__ */ e(f, { searchLoading: r, searchTerm: t, results: c }) : l ? /* @__PURE__ */ e(d, { children: [
|
|
38
39
|
/* @__PURE__ */ e(
|
|
39
|
-
|
|
40
|
+
a,
|
|
40
41
|
{
|
|
41
42
|
as: "button",
|
|
42
43
|
icon: "askNetlify",
|
|
@@ -47,21 +48,21 @@ function N({
|
|
|
47
48
|
}
|
|
48
49
|
),
|
|
49
50
|
l,
|
|
50
|
-
/* @__PURE__ */ e(
|
|
51
|
+
/* @__PURE__ */ e(s, { children: "Actions" }),
|
|
51
52
|
/* @__PURE__ */ e(
|
|
52
|
-
|
|
53
|
+
a,
|
|
53
54
|
{
|
|
54
55
|
as: "button",
|
|
55
56
|
icon: "lightbulb",
|
|
56
57
|
label: "Toggle theme",
|
|
57
58
|
onClick: () => {
|
|
58
|
-
const i = document.documentElement.getAttribute("data-theme");
|
|
59
|
-
|
|
59
|
+
const i = window.matchMedia("(prefers-color-scheme: dark)").matches, m = document.documentElement.getAttribute("data-theme"), o = i ? "dark" : m || "light";
|
|
60
|
+
o && g(u[o]);
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
63
|
)
|
|
63
64
|
] }) : null }) });
|
|
64
65
|
}
|
|
65
66
|
export {
|
|
66
|
-
|
|
67
|
+
A as default
|
|
67
68
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@netlify/spark-ui",
|
|
3
3
|
"description": "Assets, design tokens, components, and utilities",
|
|
4
|
-
"version": "1.5.0-alpha.
|
|
4
|
+
"version": "1.5.0-alpha.12",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/components/preact/index.js",
|
|
7
7
|
"types": "dist/components/preact/index.d.ts",
|
|
@@ -75,8 +75,10 @@ export default function SearchWindow({
|
|
|
75
75
|
icon="lightbulb"
|
|
76
76
|
label="Toggle theme"
|
|
77
77
|
onClick={() => {
|
|
78
|
-
const
|
|
79
|
-
|
|
78
|
+
const isDarkTheme = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
79
|
+
const currentTheme = document.documentElement.getAttribute('data-theme');
|
|
80
|
+
const theme = isDarkTheme ? 'dark' : currentTheme ? currentTheme : 'light';
|
|
81
|
+
theme && handleThemeChange(ThemeMap[theme as Theme]);
|
|
80
82
|
}}
|
|
81
83
|
/>
|
|
82
84
|
</>
|
package/packages/utils/theme.ts
CHANGED
|
@@ -6,6 +6,10 @@ export const ThemeMap: Record<Theme, Theme> = {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
export const handleThemeChange = (value: Theme) => {
|
|
9
|
+
const themeSelect = document.getElementById('site-theme-select') as HTMLSelectElement;
|
|
10
|
+
if (themeSelect) {
|
|
11
|
+
themeSelect.value = value;
|
|
12
|
+
}
|
|
9
13
|
const element = document.documentElement;
|
|
10
14
|
element.setAttribute('data-theme', value);
|
|
11
15
|
localStorage.setItem('theme', value);
|