intelliwaketssveltekitv25 0.1.171 → 0.1.173

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.
@@ -17,11 +17,11 @@
17
17
  possibles,
18
18
  selected = $bindable([]),
19
19
  selectedIDs = $bindable(undefined),
20
- autoModifySelected = true,
21
20
  created = $bindable([]),
22
21
  existing = $bindable([]),
23
22
  name = null,
24
23
  placeholder = '',
24
+ placeholderHideNoFocus = false,
25
25
  disabled = false,
26
26
  readonly = false,
27
27
  required = false,
@@ -50,6 +50,7 @@
50
50
  onadd,
51
51
  onselect,
52
52
  oncreate,
53
+ onchange,
53
54
  onclear,
54
55
  onclearall
55
56
  }: {
@@ -59,11 +60,11 @@
59
60
  possibles: T[]
60
61
  selected?: T[]
61
62
  selectedIDs?: (number | string)[] | undefined
62
- autoModifySelected?: boolean
63
63
  created?: T[]
64
64
  existing?: T[]
65
65
  name?: string | null
66
66
  placeholder?: string
67
+ placeholderHideNoFocus?: boolean
67
68
  disabled?: boolean
68
69
  readonly?: boolean
69
70
  required?: boolean
@@ -93,6 +94,7 @@
93
94
  onadd?: (item: T) => void,
94
95
  onselect?: (item: T) => void,
95
96
  oncreate?: (item: string) => void,
97
+ onchange?: (items: T[]) => void,
96
98
  onclear?: (item: T) => void,
97
99
  onclearall?: () => void
98
100
  } = $props()
@@ -109,7 +111,7 @@
109
111
  }
110
112
 
111
113
  function updateSelectedIDs(sels: T[]) {
112
- if (autoModifySelected && !!selectedIDs) {
114
+ if (!!selectedIDs) {
113
115
  selectedIDs = sels.map(sel => idValue(sel))
114
116
  }
115
117
  }
@@ -117,10 +119,8 @@
117
119
  async function doAdd(item: T | null | undefined, creating: boolean) {
118
120
  if (!disable) {
119
121
  if (item) {
120
- if (autoModifySelected) {
121
- selected = isMulti ? [...selected, item] : [item]
122
- updateSelectedIDs(selected)
123
- }
122
+ selected = isMulti ? [...selected, item] : [item]
123
+ updateSelectedIDs(selected)
124
124
  searchValue = ''
125
125
  await tick()
126
126
  if (elInput) elInput.focus()
@@ -130,21 +130,21 @@
130
130
  } else {
131
131
  if (oncreate) oncreate(inputValue(item))
132
132
  }
133
+ if (onchange) onchange(selected)
133
134
  }
134
135
  }
135
136
  }
136
137
 
137
138
  async function doClear(item: T) {
138
139
  if (!disable) {
139
- if (autoModifySelected) {
140
- selected = selected.filter(s => !DeepEqual(idValue(s), idValue(item)))
141
- updateSelectedIDs(selected)
142
- }
140
+ selected = selected.filter(s => !DeepEqual(idValue(s), idValue(item)))
141
+ updateSelectedIDs(selected)
143
142
  if (elInput) {
144
143
  await tick()
145
144
  elInput.focus()
146
145
  }
147
146
  if (onclear) onclear(item)
147
+ if (onchange) onchange(selected)
148
148
  }
149
149
  }
150
150
 
@@ -152,10 +152,8 @@
152
152
  e.stopPropagation()
153
153
  if (!disable) {
154
154
  if (allowClearAll) {
155
- if (autoModifySelected) {
156
- selected = []
157
- updateSelectedIDs(selected)
158
- }
155
+ selected = []
156
+ updateSelectedIDs(selected)
159
157
  await tick()
160
158
  }
161
159
  if (elInput) {
@@ -163,6 +161,7 @@
163
161
  elInput.focus()
164
162
  }
165
163
  if (onclearall) onclearall()
164
+ if (onchange) onchange(selected)
166
165
  }
167
166
  }
168
167
 
@@ -191,7 +190,7 @@
191
190
  })))
192
191
 
193
192
  function setSelected(selIDs: (string | number)[] | undefined, poss: T[]) {
194
- if (selIDs && autoModifySelected && (selIDs.length !== selected.length || !selected.every(sel => !!selIDs?.some(selID => selID === idValue(sel))))) {
193
+ if (selIDs && (selIDs.length !== selected.length || !selected.every(sel => !!selIDs?.some(selID => selID === idValue(sel))))) {
195
194
  selected = poss.filter(po => !!selIDs?.some(selID => selID == idValue(po)))
196
195
  }
197
196
  }
@@ -347,7 +346,9 @@
347
346
  autocomplete="off"
348
347
  bind:this={elInput}
349
348
  bind:value={searchValue}
350
- class="noFormat flex grow-1 m-1 ring-0 focus:ring-0 outline-0 focus:outline-0 min-w-[3em] w-[3em] border-none p-0 placeholder:opacity-0 focus:placeholder:opacity-100 {inputClass}"
349
+ class="noFormat flex grow-1 m-1 ring-0 focus:ring-0 outline-0 focus:outline-0 min-w-[3em] w-[3em] border-none p-0 {inputClass}"
350
+ class:placeholder:opacity-0={placeholderHideNoFocus}
351
+ class:focus:placeholder:opacity-100={placeholderHideNoFocus}
351
352
  onkeydown={onKeyPress} />
352
353
  {/if}
353
354
  </div>
@@ -8,11 +8,11 @@ declare class __sveltets_Render<T extends TGenericMultiSelect> {
8
8
  possibles: T[];
9
9
  selected?: T[] | undefined;
10
10
  selectedIDs?: (number | string)[] | undefined;
11
- autoModifySelected?: boolean;
12
11
  created?: T[] | undefined;
13
12
  existing?: T[] | undefined;
14
13
  name?: string | null;
15
14
  placeholder?: string;
15
+ placeholderHideNoFocus?: boolean;
16
16
  disabled?: boolean;
17
17
  readonly?: boolean;
18
18
  required?: boolean;
@@ -42,6 +42,7 @@ declare class __sveltets_Render<T extends TGenericMultiSelect> {
42
42
  onadd?: ((item: T) => void) | undefined;
43
43
  onselect?: ((item: T) => void) | undefined;
44
44
  oncreate?: ((item: string) => void) | undefined;
45
+ onchange?: ((items: T[]) => void) | undefined;
45
46
  onclear?: ((item: T) => void) | undefined;
46
47
  onclearall?: (() => void) | undefined;
47
48
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intelliwaketssveltekitv25",
3
- "version": "0.1.171",
3
+ "version": "0.1.173",
4
4
  "exports": {
5
5
  ".": {
6
6
  "types": "./dist/index.d.ts",