@genesislcap/foundation-ui 14.276.3 → 14.278.0

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.
@@ -25970,22 +25970,6 @@
25970
25970
  },
25971
25971
  "default": "500"
25972
25972
  },
25973
- {
25974
- "kind": "field",
25975
- "name": "delimiterValues",
25976
- "type": {
25977
- "text": "string"
25978
- },
25979
- "default": "';'"
25980
- },
25981
- {
25982
- "kind": "field",
25983
- "name": "delimiterLabels",
25984
- "type": {
25985
- "text": "string"
25986
- },
25987
- "default": "','"
25988
- },
25989
25973
  {
25990
25974
  "kind": "field",
25991
25975
  "name": "filterByContains",
@@ -26090,7 +26074,7 @@
26090
26074
  "kind": "field",
26091
26075
  "name": "selectedOptions",
26092
26076
  "type": {
26093
- "text": "string[]"
26077
+ "text": "MultiselectOption[]"
26094
26078
  },
26095
26079
  "default": "[]"
26096
26080
  },
@@ -26569,22 +26553,6 @@
26569
26553
  },
26570
26554
  "fieldName": "debounce"
26571
26555
  },
26572
- {
26573
- "name": "delimiterValues",
26574
- "type": {
26575
- "text": "string"
26576
- },
26577
- "default": "';'",
26578
- "fieldName": "delimiterValues"
26579
- },
26580
- {
26581
- "name": "delimiterLabels",
26582
- "type": {
26583
- "text": "string"
26584
- },
26585
- "default": "','",
26586
- "fieldName": "delimiterLabels"
26587
- },
26588
26556
  {
26589
26557
  "name": "filter-by-contains",
26590
26558
  "type": {
@@ -2,9 +2,9 @@ export declare enum Position {
2
2
  BELOW = "below",
3
3
  ABOVE = "above"
4
4
  }
5
- export type MultiselectOption = {
6
- value: string | string[];
7
- label: string | string[];
5
+ export type MultiselectOption<V extends string | Record<string, string> = string> = {
6
+ value: V;
7
+ label: string;
8
8
  disabled?: boolean;
9
9
  labelStyle?: string;
10
10
  optionLabelText?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"multiselect-consts.d.ts","sourceRoot":"","sources":["../../../src/multiselect/multiselect-consts.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,iBAAiB,GACzB;IACE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACD,MAAM,CAAC"}
1
+ {"version":3,"file":"multiselect-consts.d.ts","sourceRoot":"","sources":["../../../src/multiselect/multiselect-consts.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,IAC5E;IACE,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACD,MAAM,CAAC"}
@@ -17,8 +17,6 @@ export declare class Multiselect extends FoundationElement {
17
17
  creatable: boolean;
18
18
  async: boolean;
19
19
  debounce: number;
20
- delimiterValues: string;
21
- delimiterLabels: string;
22
20
  /** Tells if the filter uses a contains; if FALSE, will filter using a starts-with check */
23
21
  filterByContains: boolean;
24
22
  debounceChanged(oldValue: any, newValue: number): void;
@@ -32,7 +30,7 @@ export declare class Multiselect extends FoundationElement {
32
30
  open: boolean;
33
31
  openChanged(previous: boolean, open: boolean): void;
34
32
  options: MultiselectOption[];
35
- selectedOptions: string[];
33
+ selectedOptions: MultiselectOption[];
36
34
  filteredAvailableOptions: MultiselectOption[];
37
35
  scrollContainer: HTMLElement;
38
36
  /**
@@ -75,7 +73,7 @@ export declare class Multiselect extends FoundationElement {
75
73
  getEnabledOptionsCount(): number;
76
74
  selectCheckboxAll(): void;
77
75
  inputHandler(): void;
78
- findExactMatchOptions(): MultiselectOption[];
76
+ findExactMatchOptions(): MultiselectOption<string>[];
79
77
  setFilter(): void;
80
78
  addOption(): void;
81
79
  asyncSetFilter(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"multiselect.d.ts","sourceRoot":"","sources":["../../../src/multiselect/multiselect.ts"],"names":[],"mappings":"AACA,OAAO,EAAoC,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAO9D,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAMnE,eAAO,MAAM,kCAAkC,EAAE,cAA0B,CAAC;AAE5E,eAAO,MAAM,wBAAwB,IAAK,CAAC;AAE3C;;GAEG;AACH,qBAAa,WAAY,SAAQ,iBAAiB;IAC1C,IAAI,SAAM;IACuC,YAAY,EAAE,OAAO,CAAQ;IACzD,GAAG,UAAQ;IACX,WAAW,UAAS;IACpB,MAAM,UAAQ;IACd,QAAQ,UAAS;IACjB,SAAS,UAAS;IAClB,KAAK,UAAS;IACnC,QAAQ,EAAE,MAAM,CAAiB;IACjC,eAAe,EAAE,MAAM,CAAO;IAC9B,eAAe,EAAE,MAAM,CAAO;IAEpC,2FAA2F;IAC/B,gBAAgB,UAAS;IAErF,eAAe,CAAC,QAAQ,KAAA,EAAE,QAAQ,EAAE,MAAM;IAG1C,qBAAqB,MAAC;IACV,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAC5B,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;IAC3C,cAAc,MAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAM;IAC3C,OAAO,CAAC,YAAY,CAAiD;IACzD,IAAI,UAAS;IACzB,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO;IAYhC,OAAO,EAAE,iBAAiB,EAAE,CAAM;IAClC,eAAe,EAAE,MAAM,EAAE,CAAM;IAC/B,wBAAwB,EAAE,iBAAiB,EAAE,CAAqB;IAClE,eAAe,EAAE,WAAW,CAAC;IAEzC;;;;OAIG;IACG,QAAQ,EAAE,QAAQ,CAAkB;IAE9B,qBAAqB,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAEtD,YAAY,EAAE,CACxB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,KACX,YAAY,CAA4B;IAE7C,OAAO,CAAC,kBAAkB,CAAkB;IAE5C,SAAS,EAAE,UAAU,CAAC;IACtB,mBAAmB,EAAE,WAAW,CAAC;IAEjC,iBAAiB;IAOjB,oBAAoB;IAKpB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,GAAG,YAAY;IAkBjF,MAAM;IAON,cAAc;IAQd,sBAAsB;IAOtB;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IA0B3B,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;IAY3C,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;IAY3C,YAAY,CAAC,MAAM,EAAE,iBAAiB;IAetC,gBAAgB,CAAC,MAAM,EAAE,iBAAiB;IAQ1C,IACI,eAAe,WAyBlB;IAED,IACI,cAAc,WAEjB;IAED,IACI,oBAAoB,YAEvB;IAED,IACI,aAAa,YAMhB;IAED,gBAAgB,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,OAAO;IAK9D,iBAAiB,CAAC,gBAAgB,EAAE,iBAAiB;IAYrD,eAAe,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,EAAE,aAAa;IAQzE,sBAAsB;IAItB,iBAAiB;IAajB,YAAY;IAcZ,qBAAqB;IAWrB,SAAS;IAwBT,SAAS;IAST,cAAc;IAkBd,aAAa,CAAC,KAAK,EAAE,KAAK;IAK1B,OAAO,CAAC,kBAAkB;IAM1B,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,aAAa,GAAG,OAAO,GAAG,IAAI;IAiC5C,yBAAyB,EAAE,IAAI,EAAE,CAAC;CAC/C;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;sBAMhC,CAAC"}
1
+ {"version":3,"file":"multiselect.d.ts","sourceRoot":"","sources":["../../../src/multiselect/multiselect.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,YAAY,EAAY,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAO9D,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAMnE,eAAO,MAAM,kCAAkC,EAAE,cAA0B,CAAC;AAE5E,eAAO,MAAM,wBAAwB,IAAK,CAAC;AAE3C;;GAEG;AACH,qBAAa,WAAY,SAAQ,iBAAiB;IAC1C,IAAI,SAAM;IACuC,YAAY,EAAE,OAAO,CAAQ;IACzD,GAAG,UAAQ;IACX,WAAW,UAAS;IACpB,MAAM,UAAQ;IACd,QAAQ,UAAS;IACjB,SAAS,UAAS;IAClB,KAAK,UAAS;IACnC,QAAQ,EAAE,MAAM,CAAiB;IAEvC,2FAA2F;IAC/B,gBAAgB,UAAS;IAErF,eAAe,CAAC,QAAQ,KAAA,EAAE,QAAQ,EAAE,MAAM;IAG1C,qBAAqB,MAAC;IACV,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAC5B,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;IAC3C,cAAc,MAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAM;IAC3C,OAAO,CAAC,YAAY,CAAiD;IACzD,IAAI,UAAS;IACzB,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO;IAYhC,OAAO,EAAE,iBAAiB,EAAE,CAAM;IAClC,eAAe,EAAE,iBAAiB,EAAE,CAAM;IAC1C,wBAAwB,EAAE,iBAAiB,EAAE,CAAqB;IAClE,eAAe,EAAE,WAAW,CAAC;IAEzC;;;;OAIG;IACG,QAAQ,EAAE,QAAQ,CAAkB;IAE9B,qBAAqB,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAEtD,YAAY,EAAE,CACxB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,KACX,YAAY,CAA4B;IAE7C,OAAO,CAAC,kBAAkB,CAAkB;IAE5C,SAAS,EAAE,UAAU,CAAC;IACtB,mBAAmB,EAAE,WAAW,CAAC;IAEjC,iBAAiB;IAOjB,oBAAoB;IAKpB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,GAAG,YAAY;IAkBjF,MAAM;IAON,cAAc;IAQd,sBAAsB;IAOtB;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IA0B3B,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;IAQ3C,iBAAiB,CAAC,MAAM,EAAE,iBAAiB;IAO3C,YAAY,CAAC,MAAM,EAAE,iBAAiB;IAetC,gBAAgB,CAAC,MAAM,EAAE,iBAAiB;IAQ1C,IACI,eAAe,WAyBlB;IAED,IACI,cAAc,WAEjB;IAED,IACI,oBAAoB,YAEvB;IAED,IACI,aAAa,YAMhB;IAED,gBAAgB,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,OAAO;IAc9D,iBAAiB,CAAC,gBAAgB,EAAE,iBAAiB;IAYrD,eAAe,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,EAAE,aAAa;IAQzE,sBAAsB;IAItB,iBAAiB;IAajB,YAAY;IAcZ,qBAAqB;IAWrB,SAAS;IAyBT,SAAS;IAST,cAAc;IAkBd,aAAa,CAAC,KAAK,EAAE,KAAK;IAK1B,OAAO,CAAC,kBAAkB;IAM1B,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,aAAa,GAAG,OAAO,GAAG,IAAI;IAiC5C,yBAAyB,EAAE,IAAI,EAAE,CAAC;CAC/C;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;sBAMhC,CAAC"}
@@ -25,8 +25,6 @@ export class Multiselect extends FoundationElement {
25
25
  this.creatable = false;
26
26
  this.async = false;
27
27
  this.debounce = DEBOUNCE_TIME;
28
- this.delimiterValues = ';';
29
- this.delimiterLabels = ',';
30
28
  /** Tells if the filter uses a contains; if FALSE, will filter using a starts-with check */
31
29
  this.filterByContains = false;
32
30
  this.filterSearchValue = '';
@@ -135,18 +133,12 @@ export class Multiselect extends FoundationElement {
135
133
  if (typeof option === 'string') {
136
134
  return option;
137
135
  }
138
- if (Array.isArray(option.value)) {
139
- return option.value.join(this.delimiterValues);
140
- }
141
136
  return option.value;
142
137
  }
143
138
  optionLabelGetter(option) {
144
139
  if (typeof option === 'string') {
145
140
  return option;
146
141
  }
147
- if (Array.isArray(option.label)) {
148
- return option.label.join(this.delimiterLabels);
149
- }
150
142
  return option.label;
151
143
  }
152
144
  getItemLabel(option) {
@@ -203,7 +195,17 @@ export class Multiselect extends FoundationElement {
203
195
  }
204
196
  isOptionSelected(normalizedOption) {
205
197
  const value = this.optionValueGetter(normalizedOption);
206
- return this.selectedOptions.includes(value);
198
+ return this.selectedOptions.some((selectedValue) => {
199
+ if (typeof normalizedOption === 'object' && typeof normalizedOption.value === 'object') {
200
+ try {
201
+ return JSON.stringify(selectedValue) === JSON.stringify(value);
202
+ }
203
+ catch (_a) {
204
+ return selectedValue === value;
205
+ }
206
+ }
207
+ return selectedValue === value;
208
+ });
207
209
  }
208
210
  selectCheckboxOne(normalizedOption) {
209
211
  const option = this.optionValueGetter(normalizedOption);
@@ -264,18 +266,19 @@ export class Multiselect extends FoundationElement {
264
266
  setFilter() {
265
267
  const searchValue = this.filterSearchValue.toLowerCase();
266
268
  this.filteredAvailableOptions = this.options.filter((option) => {
267
- const rawLabel = typeof option === 'string' ? option : option.label;
268
- const rawValue = typeof option === 'string' ? option : option.value;
269
- const checkMatch = (val) => this.filterByContains
270
- ? val === null || val === void 0 ? void 0 : val.toLowerCase().includes(searchValue)
271
- : val === null || val === void 0 ? void 0 : val.toLowerCase().startsWith(searchValue);
272
- const matchLabel = Array.isArray(rawLabel)
273
- ? rawLabel.some(checkMatch)
274
- : rawLabel && checkMatch(rawLabel);
275
- const matchValue = Array.isArray(rawValue)
276
- ? rawValue.some((val) => checkMatch(val))
277
- : rawValue && checkMatch(rawValue);
278
- return matchLabel || matchValue;
269
+ if (!searchValue)
270
+ return true;
271
+ if (typeof option === 'string') {
272
+ return option.toLowerCase().includes(searchValue);
273
+ }
274
+ const label = option.label.toLowerCase();
275
+ const checkObjectValues = (obj) => {
276
+ return Object.values(obj).some((val) => val.toLowerCase().includes(searchValue));
277
+ };
278
+ const value = typeof option.value === 'object'
279
+ ? checkObjectValues(option.value)
280
+ : String(option.value).toLowerCase().includes(searchValue);
281
+ return label.includes(searchValue) || value;
279
282
  });
280
283
  }
281
284
  addOption() {
@@ -364,12 +367,6 @@ __decorate([
364
367
  __decorate([
365
368
  attr
366
369
  ], Multiselect.prototype, "debounce", void 0);
367
- __decorate([
368
- attr
369
- ], Multiselect.prototype, "delimiterValues", void 0);
370
- __decorate([
371
- attr
372
- ], Multiselect.prototype, "delimiterLabels", void 0);
373
370
  __decorate([
374
371
  attr({ mode: 'boolean', attribute: 'filter-by-contains' })
375
372
  ], Multiselect.prototype, "filterByContains", void 0);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-ui",
3
3
  "description": "Genesis Foundation UI",
4
- "version": "14.276.3",
4
+ "version": "14.278.0",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -83,13 +83,13 @@
83
83
  }
84
84
  },
85
85
  "devDependencies": {
86
- "@genesislcap/foundation-testing": "14.276.3",
87
- "@genesislcap/genx": "14.276.3",
88
- "@genesislcap/rollup-builder": "14.276.3",
89
- "@genesislcap/ts-builder": "14.276.3",
90
- "@genesislcap/uvu-playwright-builder": "14.276.3",
91
- "@genesislcap/vite-builder": "14.276.3",
92
- "@genesislcap/webpack-builder": "14.276.3",
86
+ "@genesislcap/foundation-testing": "14.278.0",
87
+ "@genesislcap/genx": "14.278.0",
88
+ "@genesislcap/rollup-builder": "14.278.0",
89
+ "@genesislcap/ts-builder": "14.278.0",
90
+ "@genesislcap/uvu-playwright-builder": "14.278.0",
91
+ "@genesislcap/vite-builder": "14.278.0",
92
+ "@genesislcap/webpack-builder": "14.278.0",
93
93
  "copyfiles": "^2.4.1",
94
94
  "rimraf": "^5.0.0",
95
95
  "rxjs": "^7.5.4"
@@ -100,15 +100,15 @@
100
100
  "@fortawesome/free-regular-svg-icons": "^6.2.1",
101
101
  "@fortawesome/free-solid-svg-icons": "^6.2.1",
102
102
  "@genesiscommunitysuccess/analyzer-import-alias-plugin": "^5.0.3",
103
- "@genesislcap/expression-builder": "14.276.3",
104
- "@genesislcap/foundation-comms": "14.276.3",
105
- "@genesislcap/foundation-criteria": "14.276.3",
106
- "@genesislcap/foundation-errors": "14.276.3",
107
- "@genesislcap/foundation-events": "14.276.3",
108
- "@genesislcap/foundation-logger": "14.276.3",
109
- "@genesislcap/foundation-notifications": "14.276.3",
110
- "@genesislcap/foundation-user": "14.276.3",
111
- "@genesislcap/foundation-utils": "14.276.3",
103
+ "@genesislcap/expression-builder": "14.278.0",
104
+ "@genesislcap/foundation-comms": "14.278.0",
105
+ "@genesislcap/foundation-criteria": "14.278.0",
106
+ "@genesislcap/foundation-errors": "14.278.0",
107
+ "@genesislcap/foundation-events": "14.278.0",
108
+ "@genesislcap/foundation-logger": "14.278.0",
109
+ "@genesislcap/foundation-notifications": "14.278.0",
110
+ "@genesislcap/foundation-user": "14.278.0",
111
+ "@genesislcap/foundation-utils": "14.278.0",
112
112
  "@microsoft/fast-colors": "5.3.1",
113
113
  "@microsoft/fast-components": "2.30.6",
114
114
  "@microsoft/fast-element": "1.14.0",
@@ -130,5 +130,5 @@
130
130
  "access": "public"
131
131
  },
132
132
  "customElements": "dist/custom-elements.json",
133
- "gitHead": "b7a6241f0185a76517cf62713efe87cab37103cf"
133
+ "gitHead": "0721370b4e3d178f9619e6c032c0f94af778b09f"
134
134
  }