iconograph-ui 1.7.7 → 1.7.9

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.
@@ -2,7 +2,7 @@
2
2
  import { json } from '@sveltejs/kit';
3
3
 
4
4
  export async function GET({ request, cookies, params, url }) {
5
- let search = url.searchParams.get('contains')
5
+ let search = url.searchParams.get('name')
6
6
 
7
7
  let users = [
8
8
  { id: 1, firstname: "Alice", lastname:"Dupont", avatar: "https://i.pravatar.cc/40?u=alice" },
@@ -5,6 +5,7 @@
5
5
  import UserPicture from '../user/UserPicture.svelte';
6
6
  import {clickOutside} from '../utils/clickOutside.js';
7
7
  import { createEventDispatcher } from 'svelte'
8
+ import loaderIcon from '../assets/icons/loader-ring-grey.svg?url';
8
9
 
9
10
  const dispatch = createEventDispatcher()
10
11
 
@@ -69,7 +70,9 @@
69
70
  <div class="list" style="position: absolute; top:{coords.top - 1}px; left:{coords.left - 85}px; width: {coords.width - 2}px;" >
70
71
  <!-- Options -->
71
72
  {#if waiting}
72
- <div class="option"><span>Recherche en cours...</span></div>
73
+ <div class="option waiting">
74
+ <span style:background-image={`url("${loaderIcon}")`}>Recherche en cours...</span>
75
+ </div>
73
76
  {:else}
74
77
  {#each results as r}
75
78
  <div class="option" on:click={() => selectResult(r)}>
@@ -165,4 +168,20 @@
165
168
  .option:hover {
166
169
  background: var(--theme-input-bg-highlight);
167
170
  }
171
+ .option.waiting {
172
+ display: flex;
173
+ align-items: center;
174
+ justify-content: center;
175
+ }
176
+ .option.waiting > span {
177
+ background-size: 20px auto;
178
+ background-repeat: no-repeat;
179
+ background-position: 0px center;
180
+ padding-left: 28px;
181
+ color: #999;
182
+ }
183
+ .option.waiting:hover {
184
+ background-color: transparent;
185
+ }
186
+
168
187
  </style>
@@ -15,7 +15,10 @@
15
15
  </button>
16
16
  {:else}
17
17
  {#if clickEvent}
18
- <button on:click|stopPropagation={clickEvent} class="{style} {icon ? 'icon' : ''}" style:background-image={`url("${icon}")`}>
18
+ <!-- Hide icon if icon == null -->
19
+ <button on:click|stopPropagation={clickEvent} class="{style} {icon ? 'icon' : ''}"
20
+ style={ loaderIcon ? { backgroundImage: `url("${loaderIcon}")` } : {} }
21
+ >
19
22
  {label}
20
23
  </button>
21
24
  {:else}
@@ -1,6 +1,20 @@
1
1
  <script>
2
+ import { onMount } from 'svelte';
3
+
2
4
  export let tabs;
3
5
  export let currentTab;
6
+
7
+ $: if (currentTab) {
8
+ history.replaceState(null, '', `#${currentTab}`);
9
+ }
10
+
11
+ onMount(() => {
12
+ const hash = window.location.hash.replace('#', '');
13
+
14
+ if (hash && Object.keys(tabs).includes(hash))
15
+ currentTab = hash;
16
+ });
17
+
4
18
  </script>
5
19
 
6
20
  <aside class="horizontal-navbar">
@@ -2,6 +2,7 @@
2
2
  // @ts-nocheck
3
3
  import UserPicture from './UserPicture.svelte';
4
4
  import SearchSelect from "../inputs/SearchSelect.svelte";
5
+ import crossIcon from '../assets/icons/icon-close-cross.svg?url';
5
6
 
6
7
  export let name;
7
8
  export let value = null;
@@ -42,7 +43,7 @@
42
43
  </a>
43
44
  <!-- svelte-ignore a11y_click_events_have_key_events -->
44
45
  <!-- svelte-ignore a11y_no_static_element_interactions -->
45
- <div on:click={() => handleRemove(v.id)}>+</div>
46
+ <div on:click={() => handleRemove(v.id)} class="cross" style:background-image={`url("${crossIcon}")`}></div>
46
47
  </div>
47
48
  </div>
48
49
  {/each}
@@ -62,7 +63,7 @@
62
63
  </a>
63
64
  <!-- svelte-ignore a11y_click_events_have_key_events -->
64
65
  <!-- svelte-ignore a11y_no_static_element_interactions -->
65
- <div on:click={handleRemove}>+</div>
66
+ <div on:click={handleRemove} class="cross" style:background-image={`url("${crossIcon}")`}></div>
66
67
  </div>
67
68
  {/if}
68
69
  </div>
@@ -112,23 +113,21 @@
112
113
  .user-label a, .user-label span {
113
114
  flex: 1;
114
115
  }
115
- .user-label > div:nth-of-type(2) {
116
+ .cross {
116
117
  cursor: pointer;
117
- margin-left: 8px;
118
118
  height: 16px;
119
119
  width: 16px;
120
- min-width: 16px;
121
- background-color: #ddd;
120
+ background-color: #e0e0e0;
122
121
  border-radius: 20px;
123
- font-weight: 600;
124
- text-align: center;
125
- line-height: 17px;
126
- color: #777;
127
- transform: rotate(45deg);
128
- transition: all ease-in-out 0.14s;
122
+ background-position: center center;
123
+ background-size: 16px auto;
124
+ background-repeat: no-repeat;
125
+ transition: all ease-in-out 0.10s;
126
+ position: relative;
127
+ left: 8px;
129
128
  }
130
- .user-label > div:nth-of-type(2):hover {
131
- background-color: #ccc;
129
+ .cross:hover {
130
+ background-color: #d0d0d0;
132
131
  }
133
132
 
134
133
  </style>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iconograph-ui",
3
- "version": "1.7.7",
3
+ "version": "1.7.9",
4
4
  "description": "A Svelte Kit components library",
5
5
  "main": "./index.js",
6
6
  "svelte": "./index.js",