intelliwaketssveltekitv25 0.1.171 → 0.1.172

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,7 +17,6 @@
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,
@@ -50,6 +49,7 @@
50
49
  onadd,
51
50
  onselect,
52
51
  oncreate,
52
+ onchange,
53
53
  onclear,
54
54
  onclearall
55
55
  }: {
@@ -59,7 +59,6 @@
59
59
  possibles: T[]
60
60
  selected?: T[]
61
61
  selectedIDs?: (number | string)[] | undefined
62
- autoModifySelected?: boolean
63
62
  created?: T[]
64
63
  existing?: T[]
65
64
  name?: string | null
@@ -93,6 +92,7 @@
93
92
  onadd?: (item: T) => void,
94
93
  onselect?: (item: T) => void,
95
94
  oncreate?: (item: string) => void,
95
+ onchange?: (items: T[]) => void,
96
96
  onclear?: (item: T) => void,
97
97
  onclearall?: () => void
98
98
  } = $props()
@@ -109,7 +109,7 @@
109
109
  }
110
110
 
111
111
  function updateSelectedIDs(sels: T[]) {
112
- if (autoModifySelected && !!selectedIDs) {
112
+ if (!!selectedIDs) {
113
113
  selectedIDs = sels.map(sel => idValue(sel))
114
114
  }
115
115
  }
@@ -117,10 +117,8 @@
117
117
  async function doAdd(item: T | null | undefined, creating: boolean) {
118
118
  if (!disable) {
119
119
  if (item) {
120
- if (autoModifySelected) {
121
- selected = isMulti ? [...selected, item] : [item]
122
- updateSelectedIDs(selected)
123
- }
120
+ selected = isMulti ? [...selected, item] : [item]
121
+ updateSelectedIDs(selected)
124
122
  searchValue = ''
125
123
  await tick()
126
124
  if (elInput) elInput.focus()
@@ -130,21 +128,21 @@
130
128
  } else {
131
129
  if (oncreate) oncreate(inputValue(item))
132
130
  }
131
+ if (onchange) onchange(selected)
133
132
  }
134
133
  }
135
134
  }
136
135
 
137
136
  async function doClear(item: T) {
138
137
  if (!disable) {
139
- if (autoModifySelected) {
140
- selected = selected.filter(s => !DeepEqual(idValue(s), idValue(item)))
141
- updateSelectedIDs(selected)
142
- }
138
+ selected = selected.filter(s => !DeepEqual(idValue(s), idValue(item)))
139
+ updateSelectedIDs(selected)
143
140
  if (elInput) {
144
141
  await tick()
145
142
  elInput.focus()
146
143
  }
147
144
  if (onclear) onclear(item)
145
+ if (onchange) onchange(selected)
148
146
  }
149
147
  }
150
148
 
@@ -152,10 +150,8 @@
152
150
  e.stopPropagation()
153
151
  if (!disable) {
154
152
  if (allowClearAll) {
155
- if (autoModifySelected) {
156
- selected = []
157
- updateSelectedIDs(selected)
158
- }
153
+ selected = []
154
+ updateSelectedIDs(selected)
159
155
  await tick()
160
156
  }
161
157
  if (elInput) {
@@ -163,6 +159,7 @@
163
159
  elInput.focus()
164
160
  }
165
161
  if (onclearall) onclearall()
162
+ if (onchange) onchange(selected)
166
163
  }
167
164
  }
168
165
 
@@ -191,7 +188,7 @@
191
188
  })))
192
189
 
193
190
  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))))) {
191
+ if (selIDs && (selIDs.length !== selected.length || !selected.every(sel => !!selIDs?.some(selID => selID === idValue(sel))))) {
195
192
  selected = poss.filter(po => !!selIDs?.some(selID => selID == idValue(po)))
196
193
  }
197
194
  }
@@ -8,7 +8,6 @@ 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;
@@ -42,6 +41,7 @@ declare class __sveltets_Render<T extends TGenericMultiSelect> {
42
41
  onadd?: ((item: T) => void) | undefined;
43
42
  onselect?: ((item: T) => void) | undefined;
44
43
  oncreate?: ((item: string) => void) | undefined;
44
+ onchange?: ((items: T[]) => void) | undefined;
45
45
  onclear?: ((item: T) => void) | undefined;
46
46
  onclearall?: (() => void) | undefined;
47
47
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intelliwaketssveltekitv25",
3
- "version": "0.1.171",
3
+ "version": "0.1.172",
4
4
  "exports": {
5
5
  ".": {
6
6
  "types": "./dist/index.d.ts",