@netlify/spark-ui 1.5.0-alpha.0 → 1.5.0-alpha.10
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/assets/SearchHeading.css +1 -1
- package/dist/assets/SearchLink.css +1 -1
- package/dist/assets/SearchModal.css +1 -1
- package/dist/components/preact/AskNetlify/AskNetlify.d.ts +6 -1
- package/dist/components/preact/AskNetlify/AskNetlify.js +2199 -2077
- package/dist/components/preact/Icon/index.d.ts +2 -2
- package/dist/components/preact/Icon/index.js +87 -75
- package/dist/components/preact/SearchModal/components/SearchModal/SearchModal.js +29 -36
- package/dist/components/preact/SearchModal/components/SearchWindow.js +25 -22
- package/dist/components/preact/SearchModal/hooks/useSearchToggles.d.ts +3 -1
- package/dist/components/preact/SearchModal/hooks/useSearchToggles.js +13 -10
- package/dist/components/preact/SpriteIcon/index.d.ts +7 -0
- package/dist/components/preact/SpriteIcon/index.js +7 -0
- package/dist/components/preact/icons/AskNetlify.d.ts +5 -0
- package/dist/components/preact/icons/AskNetlify.js +69 -0
- package/dist/components/preact/icons/Book.d.ts +5 -0
- package/dist/components/preact/icons/Book.js +23 -0
- package/dist/components/preact/icons/CircleQuestion.d.ts +5 -0
- package/dist/components/preact/icons/CircleQuestion.js +25 -0
- package/dist/components/preact/icons/Comment.d.ts +5 -0
- package/dist/components/preact/icons/Comment.js +23 -0
- package/dist/components/preact/icons/Lightbulb.d.ts +5 -0
- package/dist/components/preact/icons/Lightbulb.js +34 -0
- package/dist/components/preact/icons/MagnifyingGlass.d.ts +5 -0
- package/dist/components/preact/icons/MagnifyingGlass.js +23 -0
- package/dist/utils/theme.d.ts +3 -0
- package/package.json +3 -2
- package/packages/assets/icons/AskNetlify.svg +23 -0
- package/packages/assets/icons/icons.svg +10 -0
- package/packages/assets/icons/lightbulb.svg +4 -0
- package/packages/components/CodeBlock.astro +1 -1
- package/packages/components/preact/AskNetlify/AskNetlify.css +71 -15
- package/packages/components/preact/AskNetlify/AskNetlify.tsx +44 -9
- package/packages/components/preact/Icon/index.tsx +56 -55
- package/packages/components/preact/SearchModal/components/SearchHeading/SearchHeading.css +5 -4
- package/packages/components/preact/SearchModal/components/SearchLink/SearchLink.css +8 -8
- package/packages/components/preact/SearchModal/components/SearchModal/SearchModal.css +9 -34
- package/packages/components/preact/SearchModal/components/SearchModal/SearchModal.tsx +4 -11
- package/packages/components/preact/SearchModal/components/SearchWindow.tsx +8 -9
- package/packages/components/preact/SearchModal/hooks/useSearchToggles.ts +11 -3
- package/packages/components/preact/SpriteIcon/index.tsx +13 -0
- package/packages/components/preact/icons/AskNetlify.tsx +46 -0
- package/packages/components/preact/icons/Book.tsx +20 -0
- package/packages/components/preact/icons/CircleQuestion.tsx +22 -0
- package/packages/components/preact/icons/Comment.tsx +20 -0
- package/packages/components/preact/icons/Lightbulb.tsx +26 -0
- package/packages/components/preact/icons/MagnifyingGlass.tsx +20 -0
- package/packages/themes/poimandres.json +311 -0
- package/packages/utils/theme.ts +12 -0
- package/dist/utils/handleThemeChange.d.ts +0 -1
- package/packages/utils/handleThemeChange.ts +0 -11
|
@@ -7,92 +7,75 @@ type Props = {
|
|
|
7
7
|
export default function Icon(props: Props) {
|
|
8
8
|
const IconPath = iconPathMap[props.name];
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
if (!IconPath) return;
|
|
11
|
+
|
|
12
|
+
return (
|
|
13
|
+
<svg
|
|
14
|
+
id={`icon-${props.name}`}
|
|
15
|
+
data-icon={props.name}
|
|
16
|
+
viewBox="0 0 16 16"
|
|
17
|
+
fill="none"
|
|
18
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
19
|
+
{...props}
|
|
20
|
+
>
|
|
21
|
+
<IconPath />;
|
|
13
22
|
</svg>
|
|
14
23
|
);
|
|
15
24
|
}
|
|
16
25
|
|
|
17
|
-
const
|
|
18
|
-
return (
|
|
19
|
-
<path
|
|
20
|
-
d="M8.5328 26.6769C8.5328 16.6562 16.6562 8.5328 26.6769 8.5328C36.6977 8.5328 44.8211 16.6562 44.8211 26.6769C44.8211 36.6977 36.6977 44.8211 26.6769 44.8211C16.6562 44.8211 8.5328 36.6977 8.5328 26.6769ZM26.6769 0C11.9437 0 0 11.9437 0 26.6769C0 41.4102 11.9437 53.3539 26.6769 53.3539C32.5038 53.3539 37.8943 51.4858 42.2822 48.3158L56.7168 62.7504C58.3829 64.4165 61.0843 64.4165 62.7504 62.7504C64.4165 61.0843 64.4165 58.3829 62.7504 56.7168L48.3158 42.2822C51.4858 37.8943 53.3539 32.5038 53.3539 26.6769C53.3539 11.9437 41.4102 0 26.6769 0Z"
|
|
21
|
-
fill="currentColor"
|
|
22
|
-
/>
|
|
23
|
-
);
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
const SparklesIcon: FunctionComponent = () => {
|
|
27
|
-
return (
|
|
28
|
-
<path
|
|
29
|
-
d="M45.264 17.719L37.08 15.439C35.64 14.987 35.64 13.011 37.08 12.631L45.264 10.275C45.4922 10.1958 45.6994 10.0656 45.8699 9.89446C46.0404 9.72329 46.1697 9.51555 46.248 9.287L48.6 1.083C49.052 -0.361 51.024 -0.361 51.4 1.083L53.676 9.287C53.7543 9.51555 53.8836 9.72329 54.0541 9.89446C54.2246 10.0656 54.4318 10.1958 54.66 10.275L62.92 12.635C64.36 13.087 64.36 15.063 62.92 15.443L54.736 17.723C54.5078 17.8022 54.3006 17.9324 54.1301 18.1035C53.9596 18.2747 53.8303 18.4824 53.752 18.711L51.4 26.915C50.948 28.359 48.976 28.359 48.6 26.915L46.248 18.711C46.1694 18.4826 46.0401 18.275 45.8696 18.1039C45.6992 17.9327 45.4921 17.8025 45.264 17.723V17.719ZM29.36 33.663L42.348 37.615C44.536 38.271 44.536 41.643 42.424 42.383L29.436 46.335C29.0506 46.4707 28.7043 46.6988 28.4274 46.9994C28.1506 47.2999 27.9516 47.6637 27.848 48.059L24.224 62.211C24.1201 62.7151 23.8456 63.1679 23.4466 63.4931C23.0476 63.8182 22.5487 63.9958 22.034 63.9958C21.5193 63.9958 21.0204 63.8182 20.6214 63.4931C20.2224 63.1679 19.9479 62.7151 19.844 62.211L16.22 48.059C16.1164 47.6637 15.9174 47.2999 15.6406 46.9994C15.3637 46.6988 15.0174 46.4707 14.632 46.335L1.644 42.383C-0.548 41.727 -0.548 38.271 1.644 37.615L14.556 33.663C14.9414 33.5273 15.2877 33.2992 15.5646 32.9986C15.8414 32.6981 16.0404 32.3343 16.144 31.939L19.768 17.787C19.8719 17.2829 20.1464 16.8301 20.5454 16.5049C20.9444 16.1798 21.4433 16.0022 21.958 16.0022C22.4727 16.0022 22.9716 16.1798 23.3706 16.5049C23.7696 16.8301 24.0441 17.2829 24.148 17.787L27.772 31.939C28 32.759 28.604 33.419 29.36 33.663Z"
|
|
30
|
-
fill="currentColor"
|
|
31
|
-
/>
|
|
32
|
-
);
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
const NetlifyIcon: FunctionComponent = () => {
|
|
26
|
+
const AskNetlify: FunctionComponent = () => {
|
|
36
27
|
return (
|
|
37
28
|
<>
|
|
38
29
|
<path
|
|
39
|
-
|
|
30
|
+
id="ask-netlify-tick-3"
|
|
31
|
+
d="M9.26465 1.02094L9.31322 0.921348L10.0528 0.666687L10.1524 0.715259L10.5563 1.9638L10.2999 2.4895L10.195 2.52628L9.6685 2.26948L9.26465 1.02094Z"
|
|
40
32
|
fill="currentColor"
|
|
41
33
|
/>
|
|
42
34
|
<path
|
|
43
|
-
|
|
35
|
+
id="ask-netlify-tick-1"
|
|
36
|
+
d="M15.5915 3.11667L15.6942 3.15818L15.9999 3.8782L15.9584 3.98093L14.741 4.4709L14.1987 4.25179L14.1547 4.14977L14.3742 3.60663L15.5915 3.11667Z"
|
|
44
37
|
fill="currentColor"
|
|
45
38
|
/>
|
|
46
39
|
<path
|
|
47
|
-
|
|
40
|
+
id="ask-netlify-tick-2"
|
|
41
|
+
d="M12.8306 0.944052L12.9353 0.907978L13.6384 1.25087L13.6744 1.35564L12.9408 2.91375L12.3877 3.10417L12.2876 3.05604L12.0969 2.50216L12.8306 0.944052Z"
|
|
48
42
|
fill="currentColor"
|
|
49
43
|
/>
|
|
50
44
|
<path
|
|
51
|
-
d="
|
|
45
|
+
d="M5.60625 10.7823C5.60625 11.421 5.09138 11.9387 4.45625 11.9387C3.82112 11.9387 3.30625 11.421 3.30625 10.7823C3.30625 10.1436 3.82112 9.62585 4.45625 9.62585C5.09138 9.62585 5.60625 10.1436 5.60625 10.7823Z"
|
|
52
46
|
fill="currentColor"
|
|
53
47
|
/>
|
|
54
48
|
<path
|
|
55
|
-
d="
|
|
49
|
+
d="M10.8777 11.9387C11.5129 11.9387 12.0277 11.421 12.0277 10.7823C12.0277 10.1436 11.5129 9.62585 10.8777 9.62585C10.2426 9.62585 9.72774 10.1436 9.72774 10.7823C9.72774 11.421 10.2426 11.9387 10.8777 11.9387Z"
|
|
56
50
|
fill="currentColor"
|
|
57
51
|
/>
|
|
58
52
|
<path
|
|
59
|
-
d="
|
|
53
|
+
d="M8.41582 10.9491L8.43331 10.994L8.43337 11.2417L8.41589 11.2866L7.86046 12.4215L7.78018 12.4806H7.5763L7.49602 12.4215L6.91751 11.2866L6.90003 11.2417L6.89997 11.2114V10.994L6.91745 10.9491L7.55316 10.526H7.75704L8.41582 10.9491Z"
|
|
60
54
|
fill="currentColor"
|
|
61
55
|
/>
|
|
62
56
|
<path
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
<path
|
|
67
|
-
d="M36.6452 32.1231L35.9844 32.8064H28.0101L27.3492 32.1231V23.877L28.0101 23.1936H35.9844L36.6452 23.877V32.1231ZM35.0452 24.7936H28.9492V31.2064H35.0452V24.7936ZM18.7141 45.233L15.3322 41.7359V41.041L20.5022 35.6891L24.084 35.6948L24.5616 36.1829V39.8868L19.3916 45.233H18.7141ZM22.9616 39.2397L19.0528 43.2816L17.2216 41.388L21.1802 37.2902L22.9616 37.293V39.2397ZM17.2193 14.6144L21.1807 18.7109H22.9616V16.7603L19.0528 12.7184L17.2193 14.6144ZM15.3322 14.2642L18.7141 10.767H19.3916L24.5616 16.1132V19.8113L24.084 20.3109H20.5022L15.3322 14.9647V14.2642ZM20.5022 30.5496L20.0913 30.9746H0.410933L0 30.5496V25.4504L0.410933 25.0254H20.0913L20.5022 25.4504V30.5496ZM18.9022 26.6254V29.3746H1.6V26.6254H18.9022ZM62.4 29.3746V26.6254H45.0978V29.3746H62.4ZM43.4978 30.5496V25.4504L43.9087 25.0254H63.5891L64 25.4504V30.5496L63.5891 30.9746H43.9087L43.4978 30.5496ZM30.7263 14.5132H33.2793V1.6H30.7263V14.5132ZM29.5372 0H34.4684L34.8793 0.424938V15.6883L34.4684 16.1132H29.5372L29.1263 15.6883V0.424938L29.5372 0ZM30.7263 54.4H33.2793V41.4868H30.7263V54.4ZM29.5372 39.8868H34.4684L34.8793 40.3117V55.5751L34.4684 56H29.5372L29.1263 55.5751V40.3117L29.5372 39.8868Z"
|
|
57
|
+
fill-rule="evenodd"
|
|
58
|
+
clip-rule="evenodd"
|
|
59
|
+
d="M7.86997 4.00002C11.9918 4.00002 15.3333 6.70814 15.3333 10.853C15.3333 13.3274 13.3386 15.3334 10.878 15.3334H0V10.853C0 6.70814 3.34157 4.00002 7.46336 4.00002H7.86997ZM0.990302 10.5245C0.990302 8.69571 2.51537 7.15558 4.33747 7.15558C5.71877 7.15558 6.90206 7.9938 7.41504 9.19232C7.41751 9.1981 7.42291 9.20918 7.42291 9.20918H7.91072C7.91072 9.20918 7.91612 9.1981 7.91859 9.19232C8.43157 7.9938 9.61486 7.15558 10.9962 7.15558C12.8183 7.15558 14.3433 8.69571 14.3433 10.5245C14.3433 12.2311 12.9812 13.8499 11.447 13.8845H4.15184C2.38987 13.7867 0.990302 12.323 0.990302 10.5245Z"
|
|
68
60
|
fill="currentColor"
|
|
69
61
|
/>
|
|
70
62
|
</>
|
|
71
63
|
);
|
|
72
64
|
};
|
|
73
65
|
|
|
74
|
-
const
|
|
75
|
-
return (
|
|
76
|
-
<path
|
|
77
|
-
d="M0 11C0 4.925 4.925 0 11 0H49C52.8625 0 56 3.1375 56 7V43C56 45.7875 54.3625 48.2 52 49.325V58H53C54.6625 58 56 59.3375 56 61C56 62.6625 54.6625 64 53 64H10C4.475 64 0 59.525 0 54C0 53.6625 0.0125 53.325 0.05 53H0V11ZM10 50C7.7875 50 6 51.7875 6 54C6 56.2125 7.7875 58 10 58H46V50H10ZM6 44.8375C7.225 44.3 8.575 44 10 44H49C49.55 44 50 43.55 50 43V7C50 6.45 49.55 6 49 6H11C8.2375 6 6 8.2375 6 11V44.8375ZM19 14H41C42.6625 14 44 15.3375 44 17C44 18.6625 42.6625 20 41 20H19C17.3375 20 16 18.6625 16 17C16 15.3375 17.3375 14 19 14ZM19 24H41C42.6625 24 44 25.3375 44 27C44 28.6625 42.6625 30 41 30H19C17.3375 30 16 28.6625 16 27C16 25.3375 17.3375 24 19 24Z"
|
|
78
|
-
fill="currentColor"
|
|
79
|
-
/>
|
|
80
|
-
);
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
const PencilIcon: FunctionComponent = () => {
|
|
66
|
+
const SearchIcon: FunctionComponent = () => {
|
|
84
67
|
return (
|
|
85
68
|
<path
|
|
86
|
-
d="
|
|
69
|
+
d="M12.3756 6.68667C12.3756 7.94156 11.9681 9.10077 11.2818 10.0413L14.7436 13.5052C15.0855 13.8469 15.0855 14.4019 14.7436 14.7437C14.4018 15.0854 13.8467 15.0854 13.5049 14.7437L10.043 11.2797C9.10235 11.9687 7.94292 12.3733 6.68778 12.3733C3.54583 12.3733 1 9.828 1 6.68667C1 3.54533 3.54583 1 6.68778 1C9.82973 1 12.3756 3.54533 12.3756 6.68667ZM6.68778 10.6236C7.20488 10.6236 7.71692 10.5218 8.19467 10.3239C8.67241 10.1261 9.1065 9.83607 9.47215 9.47049C9.83779 9.10491 10.1278 8.67091 10.3257 8.19326C10.5236 7.71561 10.6255 7.20367 10.6255 6.68667C10.6255 6.16966 10.5236 5.65772 10.3257 5.18007C10.1278 4.70242 9.83779 4.26842 9.47215 3.90284C9.1065 3.53726 8.67241 3.24727 8.19467 3.04942C7.71692 2.85158 7.20488 2.74974 6.68778 2.74974C6.17067 2.74974 5.65863 2.85158 5.18089 3.04942C4.70315 3.24727 4.26906 3.53726 3.90341 3.90284C3.53776 4.26842 3.24771 4.70242 3.04982 5.18007C2.85194 5.65772 2.75009 6.16966 2.75009 6.68667C2.75009 7.20367 2.85194 7.71561 3.04982 8.19326C3.24771 8.67091 3.53776 9.10491 3.90341 9.47049C4.26906 9.83607 4.70315 10.1261 5.18089 10.3239C5.65863 10.5218 6.17067 10.6236 6.68778 10.6236Z"
|
|
87
70
|
fill="currentColor"
|
|
88
71
|
/>
|
|
89
72
|
);
|
|
90
73
|
};
|
|
91
74
|
|
|
92
|
-
const
|
|
75
|
+
const BookIcon: FunctionComponent = () => {
|
|
93
76
|
return (
|
|
94
77
|
<path
|
|
95
|
-
d="
|
|
78
|
+
d="M4.57143 1C3.15179 1 2 2.17578 2 3.625V12.375C2 13.8242 3.15179 15 4.57143 15H12.2857H13.1429C13.617 15 14 14.609 14 14.125C14 13.641 13.617 13.25 13.1429 13.25V11.5C13.617 11.5 14 11.109 14 10.625V1.875C14 1.39102 13.617 1 13.1429 1H12.2857H4.57143ZM4.57143 11.5H11.4286V13.25H4.57143C4.09732 13.25 3.71429 12.859 3.71429 12.375C3.71429 11.891 4.09732 11.5 4.57143 11.5ZM5.42857 4.9375C5.42857 4.69687 5.62143 4.5 5.85714 4.5H11C11.2357 4.5 11.4286 4.69687 11.4286 4.9375C11.4286 5.17813 11.2357 5.375 11 5.375H5.85714C5.62143 5.375 5.42857 5.17813 5.42857 4.9375ZM5.85714 6.25H11C11.2357 6.25 11.4286 6.44687 11.4286 6.6875C11.4286 6.92813 11.2357 7.125 11 7.125H5.85714C5.62143 7.125 5.42857 6.92813 5.42857 6.6875C5.42857 6.44687 5.62143 6.25 5.85714 6.25Z"
|
|
96
79
|
fill="currentColor"
|
|
97
80
|
/>
|
|
98
81
|
);
|
|
@@ -101,7 +84,7 @@ const CubeIcon: FunctionComponent = () => {
|
|
|
101
84
|
const CaretRightIcon: FunctionComponent = () => {
|
|
102
85
|
return (
|
|
103
86
|
<path
|
|
104
|
-
d="
|
|
87
|
+
d="M11.7071 7.29399C12.0976 7.68448 12.0976 8.31864 11.7071 8.70914L5.70826 14.7071C5.31771 15.0976 4.68346 15.0976 4.29291 14.7071C3.90236 14.3166 3.90236 13.6825 4.29291 13.292L9.58563 8L4.29604 2.70802C3.90549 2.31753 3.90549 1.68336 4.29604 1.29287C4.68658 0.902376 5.32084 0.902376 5.71138 1.29287L11.7102 7.29086L11.7071 7.29399Z"
|
|
105
88
|
fill="currentColor"
|
|
106
89
|
/>
|
|
107
90
|
);
|
|
@@ -119,12 +102,29 @@ const RSSIcon: FunctionComponent = () => {
|
|
|
119
102
|
const CommentIcon: FunctionComponent = () => {
|
|
120
103
|
return (
|
|
121
104
|
<path
|
|
122
|
-
d="M15
|
|
105
|
+
d="M15 7.57143C15 10.6491 11.8666 13.1429 8.00041 13.1429C6.98601 13.1429 6.02357 12.9714 5.15409 12.6634C4.82871 12.8964 4.29828 13.2152 3.66941 13.483C3.01319 13.7616 2.22301 14 1.43829 14C1.26056 14 1.10198 13.8955 1.03362 13.7348C0.965266 13.5741 1.00355 13.392 1.12658 13.2688L1.13479 13.2607C1.14299 13.2527 1.15393 13.242 1.17033 13.2232C1.20041 13.1911 1.24689 13.1402 1.30431 13.0705C1.41641 12.9366 1.56679 12.7384 1.71991 12.492C1.99333 12.0473 2.25308 11.4634 2.30503 10.8071C1.48477 9.89643 1.00081 8.77946 1.00081 7.57143C1.00081 4.49375 4.13422 2 8.00041 2C11.8666 2 15 4.49375 15 7.57143Z"
|
|
123
106
|
fill="currentColor"
|
|
124
107
|
/>
|
|
125
108
|
);
|
|
126
109
|
};
|
|
127
110
|
|
|
111
|
+
const LightbulbIcon: FunctionComponent = () => {
|
|
112
|
+
return (
|
|
113
|
+
<>
|
|
114
|
+
<path
|
|
115
|
+
fill-rule="evenodd"
|
|
116
|
+
clip-rule="evenodd"
|
|
117
|
+
d="M4.04938 8.73798C3.2407 7.81172 2.75 6.59946 2.75 5.27071C2.75 2.48473 4.94068 0.00930912 7.98359 2.55322e-05C10.8908 -0.00895859 13.25 2.35416 13.25 5.27071C13.25 6.59946 12.7593 7.81172 11.9506 8.73798C11.4578 9.30248 10.687 10.9818 10.3932 11.9766L10.3899 12H5.61006L5.60678 11.9766C5.31295 10.9818 4.54216 9.30248 4.04938 8.73798ZM8.34274 2.03953C8.42611 2.41703 8.18767 2.79064 7.81017 2.87402C6.80315 3.09642 6.06073 3.89938 5.85994 4.87157C5.78174 5.25018 5.41143 5.49371 5.03282 5.41552C4.65421 5.33732 4.41068 4.96701 4.48888 4.5884C4.79524 3.10505 5.93379 1.85468 7.50825 1.50696C7.88575 1.42359 8.25936 1.66203 8.34274 2.03953Z"
|
|
118
|
+
fill="currentColor"
|
|
119
|
+
/>
|
|
120
|
+
<path
|
|
121
|
+
d="M5.76932 14.9479C5.67636 14.81 5.62681 14.6478 5.62655 14.4823L5.62521 13.5L10.3752 13.5L10.3741 14.4823C10.374 14.648 10.3243 14.81 10.2314 14.9479L9.77614 15.6241C9.69838 15.7397 9.5929 15.8345 9.46909 15.9001C9.34529 15.9657 9.207 16 9.06653 16L6.93417 16C6.7937 16 6.65541 15.9657 6.5316 15.9001C6.4078 15.8345 6.30232 15.7397 6.22455 15.6241L5.76932 14.9479Z"
|
|
122
|
+
fill="currentColor"
|
|
123
|
+
/>
|
|
124
|
+
</>
|
|
125
|
+
);
|
|
126
|
+
};
|
|
127
|
+
|
|
128
128
|
const LinkIcon: FunctionComponent = () => {
|
|
129
129
|
return (
|
|
130
130
|
<path
|
|
@@ -146,7 +146,7 @@ const CodeIcon: FunctionComponent = () => {
|
|
|
146
146
|
const PageWithLinesIcon: FunctionComponent = () => {
|
|
147
147
|
return (
|
|
148
148
|
<path
|
|
149
|
-
d="
|
|
149
|
+
d="M4.83333 1C3.82214 1 3 1.78477 3 2.75V13.25C3 14.2152 3.82214 15 4.83333 15H12.1667C13.1779 15 14 14.2152 14 13.25V5.375H10.3333C9.8263 5.375 9.41667 4.98398 9.41667 4.5V1H4.83333ZM10.3333 1V4.5H14L10.3333 1ZM6.20833 8H10.7917C11.0438 8 11.25 8.19687 11.25 8.4375C11.25 8.67813 11.0438 8.875 10.7917 8.875H6.20833C5.95625 8.875 5.75 8.67813 5.75 8.4375C5.75 8.19687 5.95625 8 6.20833 8ZM6.20833 9.75H10.7917C11.0438 9.75 11.25 9.94687 11.25 10.1875C11.25 10.4281 11.0438 10.625 10.7917 10.625H6.20833C5.95625 10.625 5.75 10.4281 5.75 10.1875C5.75 9.94687 5.95625 9.75 6.20833 9.75ZM6.20833 11.5H10.7917C11.0438 11.5 11.25 11.6969 11.25 11.9375C11.25 12.1781 11.0438 12.375 10.7917 12.375H6.20833C5.95625 12.375 5.75 12.1781 5.75 11.9375C5.75 11.6969 5.95625 11.5 6.20833 11.5Z"
|
|
150
150
|
fill="currentColor"
|
|
151
151
|
/>
|
|
152
152
|
);
|
|
@@ -164,7 +164,9 @@ const TerminalIcon: FunctionComponent = () => {
|
|
|
164
164
|
const QuestionIcon: FunctionComponent = () => {
|
|
165
165
|
return (
|
|
166
166
|
<path
|
|
167
|
-
|
|
167
|
+
fill-rule="evenodd"
|
|
168
|
+
clip-rule="evenodd"
|
|
169
|
+
d="M15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1C11.866 1 15 4.13401 15 8ZM7.48998 7.58293C7.24532 7.9418 7.1073 8.36489 7.09243 8.80158L7.09232 9.00062C7.09232 9.21263 7.17498 9.41595 7.32211 9.56587C7.46924 9.71578 7.6688 9.8 7.87688 9.8C8.08495 9.8 8.28451 9.71578 8.43164 9.56587C8.57878 9.41595 8.66143 9.21263 8.66143 9.00062V8.8172C8.67459 8.68789 8.72283 8.56481 8.80083 8.46179C8.82284 8.43271 8.87624 8.39281 8.96482 8.34893C9.04677 8.30834 9.13665 8.27475 9.21483 8.24583L9.2194 8.24414L9.22961 8.24053L9.23662 8.2376C9.7635 8.01739 10.1981 7.61624 10.4651 7.10372C10.7321 6.5912 10.8149 5.99957 10.6987 5.43153L10.6962 5.42197C10.5641 4.91215 10.2876 4.45323 9.90133 4.10235C9.51593 3.7523 9.03819 3.52522 8.52737 3.44924C8.1077 3.37054 7.67619 3.38633 7.26312 3.49553C6.849 3.605 6.46349 3.80568 6.13376 4.08342C5.58181 4.54443 5.25866 5.23048 5.25 5.95706V5.95934C5.25 6.17135 5.33266 6.37468 5.47979 6.52459C5.62692 6.6745 5.82648 6.75872 6.03456 6.75872C6.24264 6.75872 6.44219 6.6745 6.58933 6.52459C6.73595 6.37519 6.81855 6.17275 6.81911 5.96153C6.82486 5.70702 6.94287 5.46722 7.13988 5.30865C7.29566 5.18188 7.47721 5.09021 7.67067 5.04112C7.86413 4.99203 8.06566 4.98632 8.26159 5.02383L8.2716 5.02518C8.47683 5.05273 8.67003 5.13962 8.82831 5.27556C8.98372 5.40903 9.09909 5.5843 9.16133 5.78128C9.23237 6.20988 8.99652 6.63061 8.59639 6.78484L8.59136 6.78696C8.22065 6.94277 7.74615 7.20718 7.48998 7.58293ZM7.87406 12.6C8.42636 12.6 8.8741 12.1523 8.8741 11.6C8.8741 11.0477 8.42636 10.6 7.87406 10.6C7.32175 10.6 6.87402 11.0477 6.87402 11.6C6.87402 12.1523 7.32175 12.6 7.87406 12.6Z"
|
|
168
170
|
fill="currentColor"
|
|
169
171
|
/>
|
|
170
172
|
);
|
|
@@ -207,17 +209,18 @@ const YouTubeIcon: FunctionComponent = () => {
|
|
|
207
209
|
};
|
|
208
210
|
|
|
209
211
|
export type IconName =
|
|
212
|
+
| 'askNetlify'
|
|
210
213
|
| 'book'
|
|
211
214
|
| 'caretRight'
|
|
212
215
|
| 'code'
|
|
213
216
|
| 'comment'
|
|
214
217
|
| 'cube'
|
|
218
|
+
| 'lightbulb'
|
|
215
219
|
| 'link'
|
|
216
220
|
| 'pageWithLines'
|
|
217
221
|
| 'pencil'
|
|
218
222
|
| 'rss'
|
|
219
223
|
| 'search'
|
|
220
|
-
| 'sparkles'
|
|
221
224
|
| 'terminal'
|
|
222
225
|
| 'question'
|
|
223
226
|
| 'linkedin'
|
|
@@ -227,22 +230,20 @@ export type IconName =
|
|
|
227
230
|
| 'youtube';
|
|
228
231
|
|
|
229
232
|
const iconPathMap: Record<IconName, FunctionComponent> = {
|
|
233
|
+
askNetlify: AskNetlify,
|
|
230
234
|
book: BookIcon,
|
|
231
235
|
caretRight: CaretRightIcon,
|
|
232
236
|
code: CodeIcon,
|
|
233
237
|
comment: CommentIcon,
|
|
234
|
-
cube: CubeIcon,
|
|
235
238
|
link: LinkIcon,
|
|
239
|
+
lightbulb: LightbulbIcon,
|
|
236
240
|
pageWithLines: PageWithLinesIcon,
|
|
237
|
-
pencil: PencilIcon,
|
|
238
241
|
rss: RSSIcon,
|
|
239
242
|
search: SearchIcon,
|
|
240
|
-
sparkles: SparklesIcon,
|
|
241
243
|
terminal: TerminalIcon,
|
|
242
244
|
question: QuestionIcon,
|
|
243
245
|
bluesky: BlueSkyIcon,
|
|
244
246
|
linkedin: LinkedInIcon,
|
|
245
|
-
netlify: NetlifyIcon,
|
|
246
247
|
twitter: TwitterIcon,
|
|
247
248
|
youtube: YouTubeIcon,
|
|
248
249
|
};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
.n-search-heading {
|
|
2
|
-
--n-search-heading-weight: var(--font-weight-
|
|
3
|
-
--n-search-heading-size: var(--font-size-text-
|
|
4
|
-
--n-search-heading-color: var(--color-text-
|
|
2
|
+
--n-search-heading-weight: var(--font-weight-semibold, 400);
|
|
3
|
+
--n-search-heading-size: var(--font-size-text-xs, 13px);
|
|
4
|
+
--n-search-heading-color: var(--color-text-weaker, #757575);
|
|
5
5
|
|
|
6
6
|
font-size: var(--n-search-heading-size);
|
|
7
7
|
font-weight: var(--n-search-heading-weight);
|
|
8
|
+
font-family: var(--font-family-mono);
|
|
8
9
|
color: var(--n-search-heading-color);
|
|
9
|
-
padding-inline:
|
|
10
|
+
padding-inline: var(--space-xs);
|
|
10
11
|
margin-block: var(--space-xs);
|
|
11
12
|
letter-spacing: 0.2px;
|
|
12
13
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
.n-search-link {
|
|
2
|
-
--n-search-icon-size:
|
|
3
|
-
/* all: unset; */
|
|
2
|
+
--n-search-icon-size: 1.25em;
|
|
4
3
|
box-sizing: border-box;
|
|
5
4
|
display: flex;
|
|
6
5
|
justify-content: space-between;
|
|
@@ -16,6 +15,7 @@
|
|
|
16
15
|
border: none;
|
|
17
16
|
text-align: left;
|
|
18
17
|
outline: none;
|
|
18
|
+
border-radius: var(--radius-l);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
.n-search-link-body {
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
text-wrap: pretty;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
.n-search-link:is(:hover, :focus-
|
|
28
|
+
.n-search-link:is(:hover, :focus-visible) {
|
|
29
29
|
background: var(--n-search-color-bg-2);
|
|
30
30
|
|
|
31
31
|
& .n-search-link-icon [data-icon='caretRight'] {
|
|
32
|
-
|
|
32
|
+
opacity: 1;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
|
|
@@ -54,7 +54,8 @@
|
|
|
54
54
|
background-color: var(--mark-bg, var(--color-highlight));
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
.n-search-link-icon
|
|
57
|
+
.n-search-link-icon,
|
|
58
|
+
.n-search-link-icon svg {
|
|
58
59
|
display: flex;
|
|
59
60
|
width: var(--n-search-icon-size);
|
|
60
61
|
height: var(--n-search-icon-size);
|
|
@@ -62,9 +63,8 @@
|
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
.n-search-link-icon [data-icon='caretRight'] {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
opacity: 0.3;
|
|
66
|
+
width: 1em;
|
|
67
|
+
opacity: 0;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
.n-search-link-label {
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
.n-search-modal {
|
|
7
7
|
--n-search-padding-inline: var(--space-s);
|
|
8
8
|
--n-search-color-text: var(--color-text-1, currentColor);
|
|
9
|
-
--n-search-color-text-secondary: var(--color-text-
|
|
9
|
+
--n-search-color-text-secondary: var(--color-text-weaker, currentColor);
|
|
10
10
|
--n-search-color-bg: var(--search-bg-color);
|
|
11
11
|
--n-search-color-bg-2: var(--color-bg-3);
|
|
12
12
|
--n-search-color-border: var(--color-bg-3);
|
|
@@ -27,21 +27,6 @@
|
|
|
27
27
|
background: var(--n-search-color-bg);
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
.n-search-modal::after {
|
|
31
|
-
content: '';
|
|
32
|
-
display: block;
|
|
33
|
-
width: 100%;
|
|
34
|
-
height: 100%;
|
|
35
|
-
background: blue;
|
|
36
|
-
position: absolute;
|
|
37
|
-
z-index: 0;
|
|
38
|
-
inset: 0;
|
|
39
|
-
transform-origin: center;
|
|
40
|
-
transform: scale(0);
|
|
41
|
-
border-radius: var(--radius-m);
|
|
42
|
-
transition: transform 300ms ease-in-out;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
30
|
.n-search-modal-ask {
|
|
46
31
|
--n-search-max-w: 800px;
|
|
47
32
|
}
|
|
@@ -50,7 +35,6 @@
|
|
|
50
35
|
--mark-bg: var(--n-search-text-highlight);
|
|
51
36
|
display: grid;
|
|
52
37
|
width: min(var(--n-search-max-w), 100%);
|
|
53
|
-
/* min-height: 530px; */
|
|
54
38
|
background-color: var(--n-search-color-bg);
|
|
55
39
|
border-radius: var(--n-search-border-radius);
|
|
56
40
|
overflow: hidden;
|
|
@@ -66,7 +50,6 @@
|
|
|
66
50
|
}
|
|
67
51
|
|
|
68
52
|
.n-search-input-wrapper {
|
|
69
|
-
/* all: unset; */
|
|
70
53
|
position: relative;
|
|
71
54
|
display: flex;
|
|
72
55
|
width: 100%;
|
|
@@ -101,7 +84,11 @@
|
|
|
101
84
|
}
|
|
102
85
|
|
|
103
86
|
.n-search-input::placeholder {
|
|
104
|
-
color: var(--n-search-color-text);
|
|
87
|
+
color: var(--n-search-color-text-secondary);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.n-search-links {
|
|
91
|
+
padding: var(--space-2xs);
|
|
105
92
|
}
|
|
106
93
|
|
|
107
94
|
.n-search-label {
|
|
@@ -117,8 +104,8 @@
|
|
|
117
104
|
|
|
118
105
|
.n-search-icon {
|
|
119
106
|
display: flex;
|
|
120
|
-
width: var(--n-search-icon-size,
|
|
121
|
-
height: var(--n-search-icon-size,
|
|
107
|
+
width: var(--n-search-icon-size, 1em);
|
|
108
|
+
height: var(--n-search-icon-size, 1em);
|
|
122
109
|
color: var(--n-search-color-text-secondary);
|
|
123
110
|
}
|
|
124
111
|
|
|
@@ -133,23 +120,11 @@
|
|
|
133
120
|
overflow-x: hidden;
|
|
134
121
|
overflow-y: auto;
|
|
135
122
|
overscroll-behavior: contain;
|
|
123
|
+
scroll-padding-block: var(--space-s);
|
|
136
124
|
margin-block: 0;
|
|
137
125
|
background: var(--n-search-color-bg);
|
|
138
126
|
}
|
|
139
127
|
|
|
140
|
-
.n-results-list,
|
|
141
|
-
ul[role='list'] {
|
|
142
|
-
list-style: none;
|
|
143
|
-
padding: 0;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
.n-results-list-item {
|
|
147
|
-
border-bottom: 1px solid var(--color-bg-3);
|
|
148
|
-
}
|
|
149
|
-
.n-results-list-item:first-of-type {
|
|
150
|
-
border-top: 1px solid var(--color-bg-3);
|
|
151
|
-
}
|
|
152
|
-
|
|
153
128
|
/* Footer */
|
|
154
129
|
.n-search-footer {
|
|
155
130
|
position: relative;
|
|
@@ -14,7 +14,6 @@ import {
|
|
|
14
14
|
useSearchToggles,
|
|
15
15
|
useSearchLogger,
|
|
16
16
|
} from '../../hooks';
|
|
17
|
-
import { useTimeout } from '@utils/useTimeout';
|
|
18
17
|
|
|
19
18
|
import AskNetlify from '../../../../preact/AskNetlify/AskNetlify';
|
|
20
19
|
|
|
@@ -61,7 +60,7 @@ function SearchModal(props: Props = { className: '', children: null, debug: fals
|
|
|
61
60
|
const containerRef = useClickOutside<HTMLDivElement>(closeSearch);
|
|
62
61
|
|
|
63
62
|
useSearchLogger(state, debug);
|
|
64
|
-
useSearchToggles(isPagefindLoaded, openSearch);
|
|
63
|
+
useSearchToggles(isPagefindLoaded, openSearch, setModalState);
|
|
65
64
|
useSearchParams(isPagefindLoaded, actions.setSearchTerm, openSearch);
|
|
66
65
|
useSearchHotkeys(isPagefindLoaded, searchOpen, openSearch, closeSearch);
|
|
67
66
|
useKeyboardNav(isPagefindLoaded, modalRef, searchOpen, closeSearch);
|
|
@@ -95,16 +94,10 @@ function SearchModal(props: Props = { className: '', children: null, debug: fals
|
|
|
95
94
|
{...rest}
|
|
96
95
|
>
|
|
97
96
|
<div ref={containerRef} className="n-search-container">
|
|
98
|
-
{modalState.current === 'ask' &&
|
|
99
|
-
<AskNetlify query={askNetlifyQuery} setModalState={setModalState} />
|
|
100
|
-
)}
|
|
97
|
+
{modalState.current === 'ask' && <AskNetlify setModalState={setModalState} />}
|
|
101
98
|
{modalState.current === 'search' && (
|
|
102
99
|
<>
|
|
103
|
-
<SearchInput
|
|
104
|
-
setSearchTerm={actions.setSearchTerm}
|
|
105
|
-
setAskNetlifyQuery={setAskNetlifyQuery}
|
|
106
|
-
initialValue={state.searchTerm}
|
|
107
|
-
/>
|
|
100
|
+
<SearchInput setSearchTerm={actions.setSearchTerm} initialValue={state.searchTerm} />
|
|
108
101
|
|
|
109
102
|
<SearchWindow
|
|
110
103
|
setModalState={setModalState}
|
|
@@ -118,7 +111,7 @@ function SearchModal(props: Props = { className: '', children: null, debug: fals
|
|
|
118
111
|
<div className="n-search-footer">
|
|
119
112
|
<p className="n-search-footer-tip">
|
|
120
113
|
<KeyboardKey keyNames={['Esc']} />
|
|
121
|
-
to
|
|
114
|
+
to close
|
|
122
115
|
</p>
|
|
123
116
|
<p className="n-search-footer-tip">
|
|
124
117
|
<KeyboardKey keyNames={['Tab']} />
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import type { FunctionComponent } from 'preact';
|
|
2
|
-
import type {
|
|
2
|
+
import type { SearchResultsProps, SearchWindowProps } from '../types/search.types';
|
|
3
3
|
import { useMemo } from 'preact/hooks';
|
|
4
4
|
import SearchHeading from './SearchHeading/SearchHeading';
|
|
5
5
|
import SearchLink from './SearchLink/SearchLink';
|
|
6
6
|
|
|
7
|
-
import { handleThemeChange } from '
|
|
8
|
-
|
|
9
|
-
import Icon from '../../../preact/Icon';
|
|
7
|
+
import { handleThemeChange, ThemeMap, Theme } from '../../../../utils/theme';
|
|
10
8
|
|
|
11
9
|
/* --- Search Results Window (for active searches) --- */
|
|
12
10
|
const SearchResults: FunctionComponent<SearchResultsProps> = ({
|
|
@@ -55,14 +53,14 @@ export default function SearchWindow({
|
|
|
55
53
|
}: SearchWindowProps) {
|
|
56
54
|
return (
|
|
57
55
|
<div className="n-search-window">
|
|
58
|
-
<div className="search-links">
|
|
56
|
+
<div className="n-search-links">
|
|
59
57
|
{searchTerm && searchTerm.length > 1 ? (
|
|
60
58
|
<SearchResults searchLoading={searchLoading} searchTerm={searchTerm} results={results} />
|
|
61
59
|
) : DefaultWindow ? (
|
|
62
60
|
<>
|
|
63
61
|
<SearchLink
|
|
64
62
|
as="button"
|
|
65
|
-
icon="
|
|
63
|
+
icon="askNetlify"
|
|
66
64
|
label="Ask Netlify AI"
|
|
67
65
|
onClick={() => {
|
|
68
66
|
setModalState({ current: 'ask' });
|
|
@@ -71,13 +69,14 @@ export default function SearchWindow({
|
|
|
71
69
|
|
|
72
70
|
{DefaultWindow}
|
|
73
71
|
|
|
72
|
+
<SearchHeading>Actions</SearchHeading>
|
|
74
73
|
<SearchLink
|
|
75
74
|
as="button"
|
|
76
|
-
icon="
|
|
75
|
+
icon="lightbulb"
|
|
77
76
|
label="Toggle theme"
|
|
78
77
|
onClick={() => {
|
|
79
|
-
const theme = document.documentElement.getAttribute('data-theme');
|
|
80
|
-
handleThemeChange(theme
|
|
78
|
+
const theme = document.documentElement.getAttribute('data-theme') as Theme;
|
|
79
|
+
theme && handleThemeChange(ThemeMap[theme]);
|
|
81
80
|
}}
|
|
82
81
|
/>
|
|
83
82
|
</>
|
|
@@ -12,16 +12,24 @@ import { useEffect } from 'preact/hooks';
|
|
|
12
12
|
* @param onOpen - A function to be called when a toggle element is clicked.
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
export function useSearchToggles(
|
|
15
|
+
export function useSearchToggles(
|
|
16
|
+
isPagefindLoaded: boolean,
|
|
17
|
+
onOpen: () => void,
|
|
18
|
+
setState: (state: { current: string }) => void
|
|
19
|
+
) {
|
|
16
20
|
useEffect(() => {
|
|
17
|
-
if (!isPagefindLoaded) return
|
|
21
|
+
if (!isPagefindLoaded) return;
|
|
18
22
|
const toggles = document.querySelectorAll('[data-ntl-search-toggle]');
|
|
19
23
|
|
|
20
24
|
if (!toggles.length) return;
|
|
21
25
|
|
|
22
26
|
toggles.forEach(t => {
|
|
27
|
+
const current = t.dataset.ntlSearchToggle ? t.dataset.ntlSearchToggle : 'search';
|
|
23
28
|
t.removeAttribute('disabled');
|
|
24
|
-
t.addEventListener('click',
|
|
29
|
+
t.addEventListener('click', () => {
|
|
30
|
+
onOpen();
|
|
31
|
+
setState({ current });
|
|
32
|
+
});
|
|
25
33
|
});
|
|
26
34
|
|
|
27
35
|
return () => {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
interface IconProps {
|
|
2
|
+
name: string; // ID of the symbol in the sprite
|
|
3
|
+
size?: number;
|
|
4
|
+
className?: string;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export function SpriteIcon({ name, size = 24, className = '' }: IconProps) {
|
|
8
|
+
return (
|
|
9
|
+
<svg className={`icon-${name} ${className ? className : ''}`} aria-hidden="true">
|
|
10
|
+
<use href={`/icons.svg#icon-${name}`} />
|
|
11
|
+
</svg>
|
|
12
|
+
);
|
|
13
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { JSX } from 'preact/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
interface IconProps extends JSX.SVGAttributes<SVGSVGElement> {}
|
|
4
|
+
|
|
5
|
+
export function AskNeltify(props: IconProps) {
|
|
6
|
+
return (
|
|
7
|
+
<svg
|
|
8
|
+
id="icon-askNetlify"
|
|
9
|
+
viewBox="0 0 16 16"
|
|
10
|
+
fill="none"
|
|
11
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
12
|
+
{...props}
|
|
13
|
+
>
|
|
14
|
+
<path
|
|
15
|
+
d="M9.26465 1.02094L9.31322 0.921348L10.0528 0.666687L10.1524 0.715259L10.5563 1.9638L10.2999 2.4895L10.195 2.52628L9.6685 2.26948L9.26465 1.02094Z"
|
|
16
|
+
fill="currentColor"
|
|
17
|
+
/>
|
|
18
|
+
<path
|
|
19
|
+
d="M15.5915 3.11667L15.6942 3.15818L15.9999 3.8782L15.9584 3.98093L14.741 4.4709L14.1987 4.25179L14.1547 4.14977L14.3742 3.60663L15.5915 3.11667Z"
|
|
20
|
+
fill="currentColor"
|
|
21
|
+
/>
|
|
22
|
+
<path
|
|
23
|
+
d="M12.8306 0.944052L12.9353 0.907978L13.6384 1.25087L13.6744 1.35564L12.9408 2.91375L12.3877 3.10417L12.2876 3.05604L12.0969 2.50216L12.8306 0.944052Z"
|
|
24
|
+
fill="currentColor"
|
|
25
|
+
/>
|
|
26
|
+
<path
|
|
27
|
+
d="M5.60625 10.7823C5.60625 11.421 5.09138 11.9387 4.45625 11.9387C3.82112 11.9387 3.30625 11.421 3.30625 10.7823C3.30625 10.1436 3.82112 9.62585 4.45625 9.62585C5.09138 9.62585 5.60625 10.1436 5.60625 10.7823Z"
|
|
28
|
+
fill="currentColor"
|
|
29
|
+
/>
|
|
30
|
+
<path
|
|
31
|
+
d="M10.8777 11.9387C11.5129 11.9387 12.0277 11.421 12.0277 10.7823C12.0277 10.1436 11.5129 9.62585 10.8777 9.62585C10.2426 9.62585 9.72774 10.1436 9.72774 10.7823C9.72774 11.421 10.2426 11.9387 10.8777 11.9387Z"
|
|
32
|
+
fill="currentColor"
|
|
33
|
+
/>
|
|
34
|
+
<path
|
|
35
|
+
d="M8.41582 10.9491L8.43331 10.994L8.43337 11.2417L8.41589 11.2866L7.86046 12.4215L7.78018 12.4806H7.5763L7.49602 12.4215L6.91751 11.2866L6.90003 11.2417L6.89997 11.2114V10.994L6.91745 10.9491L7.55316 10.526H7.75704L8.41582 10.9491Z"
|
|
36
|
+
fill="currentColor"
|
|
37
|
+
/>
|
|
38
|
+
<path
|
|
39
|
+
fill-rule="evenodd"
|
|
40
|
+
clip-rule="evenodd"
|
|
41
|
+
d="M7.86997 4.00002C11.9918 4.00002 15.3333 6.70814 15.3333 10.853C15.3333 13.3274 13.3386 15.3334 10.878 15.3334H0V10.853C0 6.70814 3.34157 4.00002 7.46336 4.00002H7.86997ZM0.990302 10.5245C0.990302 8.69571 2.51537 7.15558 4.33747 7.15558C5.71877 7.15558 6.90206 7.9938 7.41504 9.19232C7.41751 9.1981 7.42291 9.20918 7.42291 9.20918H7.91072C7.91072 9.20918 7.91612 9.1981 7.91859 9.19232C8.43157 7.9938 9.61486 7.15558 10.9962 7.15558C12.8183 7.15558 14.3433 8.69571 14.3433 10.5245C14.3433 12.2311 12.9812 13.8499 11.447 13.8845H4.15184C2.38987 13.7867 0.990302 12.323 0.990302 10.5245Z"
|
|
42
|
+
fill="currentColor"
|
|
43
|
+
/>
|
|
44
|
+
</svg>
|
|
45
|
+
);
|
|
46
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { JSX } from 'preact/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
interface IconProps extends JSX.SVGAttributes<SVGSVGElement> {}
|
|
4
|
+
|
|
5
|
+
export function Book(props: IconProps) {
|
|
6
|
+
return (
|
|
7
|
+
<svg
|
|
8
|
+
id="icon-book"
|
|
9
|
+
viewBox="0 0 16 16"
|
|
10
|
+
fill="none"
|
|
11
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
12
|
+
{...props}
|
|
13
|
+
>
|
|
14
|
+
<path
|
|
15
|
+
d="M4.57143 1C3.15179 1 2 2.17578 2 3.625V12.375C2 13.8242 3.15179 15 4.57143 15H12.2857H13.1429C13.617 15 14 14.609 14 14.125C14 13.641 13.617 13.25 13.1429 13.25V11.5C13.617 11.5 14 11.109 14 10.625V1.875C14 1.39102 13.617 1 13.1429 1H12.2857H4.57143ZM4.57143 11.5H11.4286V13.25H4.57143C4.09732 13.25 3.71429 12.859 3.71429 12.375C3.71429 11.891 4.09732 11.5 4.57143 11.5ZM5.42857 4.9375C5.42857 4.69687 5.62143 4.5 5.85714 4.5H11C11.2357 4.5 11.4286 4.69687 11.4286 4.9375C11.4286 5.17813 11.2357 5.375 11 5.375H5.85714C5.62143 5.375 5.42857 5.17813 5.42857 4.9375ZM5.85714 6.25H11C11.2357 6.25 11.4286 6.44687 11.4286 6.6875C11.4286 6.92813 11.2357 7.125 11 7.125H5.85714C5.62143 7.125 5.42857 6.92813 5.42857 6.6875C5.42857 6.44687 5.62143 6.25 5.85714 6.25Z"
|
|
16
|
+
fill="currentColor"
|
|
17
|
+
/>
|
|
18
|
+
</svg>
|
|
19
|
+
);
|
|
20
|
+
}
|