diff --git a/jsconfig.json b/jsconfig.json index 676c23b..877e89b 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -6,6 +6,7 @@ "$layout": ["src/lib/components/layout"], "$layouts": ["src/lib/layouts"], "$lib": ["src/lib"], + "$utils": ["src/lib/utils"], "$styles": ["src/lib/styles"], "$stores": ["src/lib/stores"] } diff --git a/src/lib/components/ComponentIndex/ArrowButton.svelte b/src/lib/components/ComponentIndex/ArrowButton.svelte index cf9eb01..0c63e5f 100644 --- a/src/lib/components/ComponentIndex/ArrowButton.svelte +++ b/src/lib/components/ComponentIndex/ArrowButton.svelte @@ -8,23 +8,23 @@ div { font-size: 1rem; border: 2px solid var(--dark-gray); - border-radius: 5px; + border-radius: 3px; + height: 100%; background-color: white; color: var(--dark-gray); display: flex; align-items: center; justify-content: space-between; - padding: 5px 15px; + padding: var(--s-2); position: relative; } div.small { font-size: var(--font-100); - padding: 3px 10px; } div:hover { cursor: pointer; - border-color: var(--primary); - color: var(--primary); + border-color: var(--secondary); + color: var(--secondary); } .arrow { @@ -35,7 +35,7 @@ background-color: var(--dark-gray); } div:hover .arrow { - background-color: var(--dark-gray); + background-color: var(--secondary); } .arrow.active { background-color: var(--dark-gray); @@ -52,7 +52,7 @@ z-index: 100; margin: 0; padding: 0; - border: 2px solid var(--primary); + border: 2px solid var(--secondary); border-radius: 5px; background: white; } diff --git a/src/lib/components/Select.svelte b/src/lib/components/Select.svelte index 10d1d09..d3218ef 100644 --- a/src/lib/components/Select.svelte +++ b/src/lib/components/Select.svelte @@ -17,14 +17,12 @@ font-size: 0.875rem; } .themed { - --inputFontSize: 0.875rem; - --multiItemActiveBG: var(--color); - --height: 1rem; - --borderHoverColor: var(--color); - --borderFocusColor: var(--color); - --itemHoverBG: var(--color-shadow); - --itemIsActiveBG: var(--color); - --indicatorTop: calc(50% - 13px); + /* --inputFontSize: 0.875rem; */ + --multiItemActiveBG: var(--secondary); + --borderHoverColor: var(--secondary); + --borderFocusColor: var(--secondary); + --itemIsActiveBG: var(--secondary); + /* --indicatorTop: calc(50% - 13px); */ position: relative; display: flex; @@ -35,7 +33,7 @@ cursor: pointer; flex: 1; align-items: center; - padding: 1rem; + padding: var(--s-2); gap: 10px; min-width: 150px; min-height: 3rem; @@ -44,12 +42,12 @@ .themed :global(.multiSelectItem) { font-size: 0.875rem; align-items: center; - --multiItemBorderRadius: var(--radius-100); + --multiItemBorderRadius: var(--s-1); --multiItemHeight: 1.25rem; --multiItemMargin: 0; --multiItemPadding: 0.2rem 0.3rem; --multiClearBG: transparent; - --multiClearFill: var(--color-text-secondary); + --multiClearFill: var(--secondary); --multiClearHoverBG: transparent; --multiClearHoverFill: var(--color-bg); --multiLabelMargin: 1px 5px 0 0; @@ -65,7 +63,4 @@ cursor: pointer; } - .themed :global(.listItem) { - --height: 1.4rem; - } diff --git a/src/lib/layouts/SearchLayout.svelte b/src/lib/layouts/SearchLayout.svelte new file mode 100644 index 0000000..029df76 --- /dev/null +++ b/src/lib/layouts/SearchLayout.svelte @@ -0,0 +1,8 @@ + + +

{title}

+ +
+ diff --git a/src/lib/styles/globals.css b/src/lib/styles/globals.css index 78ea4c6..4b3361b 100644 --- a/src/lib/styles/globals.css +++ b/src/lib/styles/globals.css @@ -93,3 +93,107 @@ li { place-items: center; place-content: center; } + +/***********TEMPLATES & COMPONENTS STYLES***********/ +hr { + margin-block: 4rem; +} +.submit { + position: absolute; + top: calc(100% + 1rem); + left: 0; +} +.controls { + display: flex; + justify-content: space-between; + align-items: center; + font-family: Overpass; + position: relative; +} +.inputs { + display: grid; + grid-template-columns: repeat(4, auto); + grid-gap: 0.5rem; + margin-right: 2rem; +} +.searchbar { + align-self: flex-start; + width: 35%; + font-family: Overpass; + border-width: 0; + background: #f3f6f9 url(/images/search-icon.svg) 98% no-repeat; + margin: 0; + padding: 10px 15px; + border: 1px solid transparent; +} +.searchbar:focus { + outline: none; + border: 1px solid var(--secondary); +} +.searchbar-count { + position: absolute; + top: calc(100% + 1rem); + right: 0; +} +ul.popin { + padding: 0.5ex; + margin: 0; + font-size: 0.7em; + max-height: 50vh; + overflow-y: auto; +} +ul.popin li { + list-style: none; + padding: 0; + margin: 0; + text-transform: capitalize; +} +ul.popin li:hover { + background: #eee; + border-radius: 3px; +} +ul.popin li.tag-search { + position: sticky; + top: -0.5ex; + margin: 0 -0.5ex; + padding: 0.5ex; + border-radius: 4px; + background: white; +} +ul.popin li.tag-search input { + margin: 0; + background: #f3f6f9; + width: 100%; + min-width: 15ch; +} +ul.popin li.tag-search:hover { + background: white; +} +ul.popin.no-wrap li { + white-space: nowrap; +} +ul.popin li label { + display: flex; + align-items: center; + line-height: 0.7rem; + padding: 0.8ex; +} +ul.popin li input { + flex: 0; + margin: 0 1ex 0 0; +} +@media screen and (max-width: 1024px) { + .controls { + flex-flow: column-reverse; + align-items: stretch; + } + .inputs { + grid-template-columns: auto; + width: 100%; + } + .searchbar { + align-self: flex-start; + margin-bottom: 1ex; + width: var(--s-full); + } +} diff --git a/src/routes/__layout.svelte b/src/routes/__layout.svelte index aef22fe..55271fe 100644 --- a/src/routes/__layout.svelte +++ b/src/routes/__layout.svelte @@ -30,10 +30,4 @@ main { padding: var(--s-10) var(--s-5) var(--s-20); } - - @media (min-width: 1024px) { - main { - padding: var(--s-20) 0 var(--s-40); - } - } \ No newline at end of file diff --git a/src/routes/components/index.svelte b/src/routes/components/index.svelte index e3d8d1a..978a1e4 100644 --- a/src/routes/components/index.svelte +++ b/src/routes/components/index.svelte @@ -1,18 +1,16 @@ @@ -60,193 +51,58 @@ Components - Svelte Society -
-

Components

-
-
- - - - - - Submit a component -
+ +
+
+ + - {dataToDisplay.length} result{#if dataToDisplay.length !== 1}s{/if} -
-
- {#each categories as category} - - {#each dataToDisplay.filter(d => d.category === category) as data} - - {/each} - - {/each} -
- - + + + + Submit a component + + {dataToDisplay.length} result{#if dataToDisplay.length !== 1}s{/if} + +
+ {#each categories as category} + + {#each dataToDisplay.filter((d) => d.category === category) as data} + + {/each} + + {/each} +
+ diff --git a/src/routes/templates/index.svelte b/src/routes/templates/index.svelte index e2b2f77..6cd26c2 100644 --- a/src/routes/templates/index.svelte +++ b/src/routes/templates/index.svelte @@ -1,10 +1,10 @@