@eccenca/gui-elements 23.7.0-rc.2 → 23.7.0-rc.3

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.
package/CHANGELOG.md CHANGED
@@ -27,7 +27,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
27
27
  ### Fixed
28
28
 
29
29
  - `<MultiSuggestField />`
30
- - Added logic for contolled state for the component if `selectedItems` and `onSelection` passed.
30
+ - Updated the interface with the ability to use either `selectedItems` or `prePopulateWithItems` properties, which is more logical.
31
31
  - Fixed deferred `selectedItems` setting.
32
32
  - `<StickyNoteModal/>`
33
33
  - static test id `data-test-id="sticky-note-modal"` will be removed with next major version
@@ -61,7 +61,7 @@ function MultiSelect(_a) {
61
61
  const [externalItems, setExternalItems] = react_1.default.useState([...items]);
62
62
  // All options (created and passed) that match the query
63
63
  const [filteredItems, setFilteredItems] = react_1.default.useState([]);
64
- // All options (created and passed) selected by a user, if the component is uncontrolled
64
+ // All options (created and passed) selected by a user
65
65
  const [selectedItems, setSelectedItems] = react_1.default.useState(() => prePopulateWithItems ? [...items] : externalSelectedItems ? [...externalSelectedItems] : []);
66
66
  //currently focused element in popover list
67
67
  const [focusedItem, setFocusedItem] = react_1.default.useState(null);
@@ -85,9 +85,6 @@ function MultiSelect(_a) {
85
85
  default:
86
86
  break;
87
87
  }
88
- // If the component is contolled from outside, we don't need to store selected state within the component
89
- // when user selects or removes selection - options will be set in a parent component
90
- const isControlled = !!(externalSelectedItems && onSelection);
91
88
  /** Update external items when they change
92
89
  * e.g for auto-complete when query change
93
90
  */
@@ -96,15 +93,13 @@ function MultiSelect(_a) {
96
93
  setFilteredItems([...items, ...createdItems.current]);
97
94
  }, [items.map((item) => itemId(item)).join("|")]);
98
95
  react_1.default.useEffect(() => {
99
- !isControlled &&
100
- onSelection &&
96
+ onSelection &&
101
97
  onSelection({
102
98
  newlySelected: selectedItems.slice(-1)[0],
103
99
  createdItems: createdItems.current,
104
100
  selectedItems,
105
101
  });
106
102
  }, [
107
- isControlled,
108
103
  onSelection,
109
104
  selectedItems.map((item) => itemId(item)).join("|"),
110
105
  createdItems.current.map((item) => itemId(item)).join("|"),
@@ -117,7 +112,7 @@ function MultiSelect(_a) {
117
112
  return;
118
113
  }
119
114
  setSelectedItems(externalSelectedItems);
120
- }, [externalSelectedItems]);
115
+ }, [externalSelectedItems === null || externalSelectedItems === void 0 ? void 0 : externalSelectedItems.map((item) => itemId(item)).join("|")]);
121
116
  /**
122
117
  * using the equality prop specified checks if an item has already been selected
123
118
  * @param matcher
@@ -132,15 +127,7 @@ function MultiSelect(_a) {
132
127
  */
133
128
  const removeItemSelection = (matcher) => {
134
129
  const filteredItems = selectedItems.filter((item) => itemId(item) !== matcher);
135
- if (isControlled) {
136
- onSelection({
137
- createdItems: createdItems.current,
138
- selectedItems: filteredItems,
139
- });
140
- }
141
- else {
142
- setSelectedItems(filteredItems);
143
- }
130
+ setSelectedItems(filteredItems);
144
131
  };
145
132
  /**
146
133
  * selects and deselects an item from selection list
@@ -152,13 +139,6 @@ function MultiSelect(_a) {
152
139
  if (itemHasBeenSelectedAlready(itemId(item))) {
153
140
  removeItemSelection(itemId(item));
154
141
  }
155
- else if (isControlled) {
156
- onSelection({
157
- newlySelected: item,
158
- createdItems: createdItems.current,
159
- selectedItems: [...selectedItems, item],
160
- });
161
- }
162
142
  else {
163
143
  setSelectedItems((items) => [...items, item]);
164
144
  }
@@ -221,15 +201,7 @@ function MultiSelect(_a) {
221
201
  */
222
202
  const handleClear = () => {
223
203
  requestState.current.query = "";
224
- if (isControlled) {
225
- onSelection({
226
- selectedItems: [],
227
- createdItems: createdItems.current,
228
- });
229
- }
230
- else {
231
- setSelectedItems([]);
232
- }
204
+ setSelectedItems([]);
233
205
  setFilteredItems([...externalItems, ...createdItems.current]);
234
206
  };
235
207
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelect.js","sourceRoot":"","sources":["../../../../src/components/MultiSelect/MultiSelect.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAsC;AACtC,4CAAyG;AACzG,gDAI6B;AAE7B,gEAAmE;AACnE,6DAAsE;AAGtE,yCAA8G;AAqH9G;;;;;;GAMG;AACH,SAAgB,WAAW,CAAI,EA4BT;QA5BS,EAC3B,KAAK,EACL,aAAa,EAAE,qBAAqB,EACpC,oBAAoB,EACpB,MAAM,EACN,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,SAAS,GAAG,IAAI,EAChB,YAAY,GAAG,aAAa,EAC5B,mBAAmB,GAAG,cAAc,EACpC,cAAc,GAAG,aAAa,EAC9B,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,YAAY,GAAG,CAAC,EAChB,qBAAqB,GAAG,KAAK,EAC7B,SAAS,EACT,cAAc,EAAE,UAAU,EAC1B,aAAa,EAAE,UAAU,EACzB,YAAY,OAEM,EADf,qBAAqB,cA3BG,8bA4B9B,CAD2B;IAExB,4BAA4B;IAC5B,MAAM,YAAY,GAAG,IAAA,cAAM,EAAM,EAAE,CAAC,CAAC;IACrC,gDAAgD;IAChD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAC1E,wDAAwD;IACxD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAM,EAAE,CAAC,CAAC;IAClE,wFAAwF;IACxF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAM,GAAG,EAAE,CAC/D,oBAAoB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAC9F,CAAC;IAEF,2CAA2C;IAC3C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAW,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,IAAA,cAAM,EAGxB,EAAE,CAAC,CAAC;IAEP,IAAI,MAAM,CAAC;IACX,QAAQ,IAAI,EAAE;QACV,KAAK,eAAe;YAChB,MAAM,GAAG,aAAe,CAAC,OAAO,CAAC;YACjC,MAAM;QACV,KAAK,eAAe;YAChB,MAAM,GAAG,aAAe,CAAC,OAAO,CAAC;YACjC,MAAM;QACV,KAAK,eAAe;YAChB,MAAM,GAAG,aAAe,CAAC,OAAO,CAAC;YACjC,MAAM;QACV,KAAK,cAAc;YACf,MAAM,GAAG,aAAe,CAAC,MAAM,CAAC;YAChC,MAAM;QACV;YACI,MAAM;KACb;IAED,yGAAyG;IACzG,qFAAqF;IACrF,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,qBAAqB,IAAI,WAAW,CAAC,CAAC;IAE9D;;OAEG;IACH,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxB,gBAAgB,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAElD,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,CAAC,YAAY;YACT,WAAW;YACX,WAAW,CAAC;gBACR,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,YAAY,EAAE,YAAY,CAAC,OAAO;gBAClC,aAAa;aAChB,CAAC,CAAC;IACX,CAAC,EAAE;QACC,YAAY;QACZ,WAAW;QACX,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACnD,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KAC7D,CAAC,CAAC;IAEH;;OAEG;IACH,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC,qBAAqB,EAAE;YACxB,OAAO;SACV;QAED,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5B;;;;OAIG;IACH,MAAM,0BAA0B,GAAG,CAAC,OAAe,EAAE,EAAE;QACnD,OAAO,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,EAAE;QAC5C,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC;QAE/E,IAAI,YAAY,EAAE;YACd,WAAW,CAAC;gBACR,YAAY,EAAE,YAAY,CAAC,OAAO;gBAClC,aAAa,EAAE,aAAa;aAC/B,CAAC,CAAC;SACN;aAAM;YACH,gBAAgB,CAAC,aAAa,CAAC,CAAC;SACnC;IACL,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,YAAY,GAAG,CAAC,IAAO,EAAE,EAAE;;QAC7B,IAAI,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;YAC1C,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;SACrC;aAAM,IAAI,YAAY,EAAE;YACrB,WAAW,CAAC;gBACR,aAAa,EAAE,IAAI;gBACnB,YAAY,EAAE,YAAY,CAAC,OAAO;gBAClC,aAAa,EAAE,CAAC,GAAG,aAAa,EAAE,IAAI,CAAC;aAC1C,CAAC,CAAC;SACN;aAAM;YACH,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;SACjD;QAED,IAAI,qBAAqB,EAAE;YACvB,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;YAChC,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;SAC7B;aAAM;YACH,MAAA,QAAQ,CAAC,OAAO,0CAAE,MAAM,EAAE,CAAC;SAC9B;IACL,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE;QACpC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,KAAK,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;YACtD,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YACnC,IAAI,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE;gBAChC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aAChD;YACD,MAAM,EAAE,GAAG,GAAS,EAAE;gBAClB,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrB,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACrB,MAAM,eAAe,GAAG,gBAAgB,IAAI,CAAC,MAAM,gBAAgB,CAAC,IAAA,+BAAiB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC/F,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;oBACtC,+BAA+B;oBAC/B,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,aAAa,CAAC,CAAC,CAAC;oBAC/D,gBAAgB,CACZ,CAAC,GAAG,cAAc,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACzD,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAC9D,CACJ,CAAC;oBACF,cAAc,CAAC,KAAK,CAAC,CAAC;iBACzB;YACL,CAAC,CAAA,CAAC;YACF,YAAY,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,YAAY,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/G;aAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,4EAA4E;YAC5E,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;YAChC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;SACvE;IACL,CAAC,CAAC;IAEF,mDAAmD;IACnD,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE;QACrC,OAAO,8BAAC,mBAAW,IAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,GAAI,CAAC;IAClF,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,cAAc,GAAG,CAAC,IAAO,EAAE,EAAE,WAAW,EAAE,SAAS,EAA8B,EAAE,EAAE;QACvF,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;YAC7B,OAAO,IAAI,CAAC;SACf;QACD,IAAI,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;YAC1E,KAAK,IAAI,cAAc,CAAC;SAC3B;QACD,OAAO,CACH,8BAAC,gBAAQ,IACL,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EACjB,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,EACpF,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAC3B,oBAAoB,EAAE,KAAK,GAC7B,CACL,CAAC;IACN,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,WAAW,GAAG,GAAG,EAAE;QACrB,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhC,IAAI,YAAY,EAAE;YACd,WAAW,CAAC;gBACR,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,YAAY,CAAC,OAAO;aACrC,CAAC,CAAC;SACN;aAAM;YACH,gBAAgB,CAAC,EAAE,CAAC,CAAC;SACxB;QAED,gBAAgB,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,8BAA8B,GAAG,CAAC,MAAuB,EAAE,KAAa,EAAE,EAAE;QAC9E,gBAAgB,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,aAAa,GAAG,CAAC,KAAa,EAAK,EAAE;QACvC,MAAM,OAAO,GAAG,sBAAuB,CAAC,KAAK,CAAC,CAAC;QAC/C,eAAe;QACf,YAAY,CAAC,OAAO,GAAG,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1D,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACjD,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,aAAa,GAAG,CAAC,KAAuC,EAAE,EAAE;;QAC9D,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,sBAAsB,EAAE;YAC1G,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC7C;QACD,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;IAC9B,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,eAAe,GAAG,CAAC,KAAuC,EAAE,EAAE;QAChE,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;YACrD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAClG,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;YAChC,UAAU,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,EAAA,CAAC,CAAC;SAC/C;IACL,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,MAAe,EAAE,WAAiD,EAAE,EAAE;QAC1G,IAAI,CAAC,sBAAsB;YAAE,OAAO,SAAS,CAAC;QAC9C,MAAM,YAAY,GAAG,CAAC,CAAgC,EAAE,EAAE;YACtD,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,WAAW,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC;QACF,OAAO,CACH,8BAAC,gBAAQ,IACL,EAAE,EAAE,UAAU,EACd,IAAI,EAAC,mBAAmB,EACxB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,8BAAC,oBAAY,QAAE,GAAG,mBAAmB,KAAK,KAAK,GAAG,CAAgB,GAC1E,CACL,CAAC;IACN,CAAC,CAAC;IAEF,6DAA6D;IAC7D,MAAM,WAAW,GACb,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACvB,8BAAC,kBAAU,IACP,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,iBAAiB,kBACT,iBAAiB,CAAC,+EAA+E;UAC9G,OAAO,EAAE,WAAW,GACtB,CACL,CAAC,CAAC,CAAC,SAAS,CAAC;IAElB,MAAM,YAAY,GAAG,WAAW;QAC5B,CAAC,CAAC;YACI,YAAY,EAAE,8BAAC,eAAO,IAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAI;SAC9D;QACH,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,kBAAkB,GAAG,CACvB,8BAAC,oBAAoB,kBACjB,WAAW,EACP,CAAC,qBAAqB,CAAC,WAAW,IAAI,sBAAsB;YACxD,CAAC,CAAC,qDAAqD;YACvD,CAAC,CAAC,SAAS,IAEf,qBAAqB,IACzB,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,EACjC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,cAAc,EAC5B,UAAU,EAAE,CAAC,CAAI,EAAE,CAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EACnD,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,8BAAC,gBAAQ,IAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,GAAI,EAC3D,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EACtC,qBAAqB,EAAE,eAAe,EACtC,kBAAkB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,EAC9D,IAAI,EAAE,SAAS,EACf,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,QAAQ,EAClB,aAAa,gCACT,UAAU,EAAE,gBACR,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,KAAK,EACnB,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,EACpE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,IAChE,UAAU,CAC+B,EAChD,SAAS,EAAE,GAAG,uBAAM,cAAc,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACvE,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,QAAQ,EAClB,MAAM,EACN,SAAS,EAAE,IAAI,EACf,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,8BAA8B,EACxC,YAAY,EAAE,CACV,8DACK,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI;gBACnB,qBAAqB,CAAC,aAAa,KAAK,IAAI,IAAI,CAC7C,8BAAC,kBAAU,IACP,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,mBAAmB,kBACX,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,iBACjD,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,GAC/D,CACL,CACF,CACN,EACD,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAC3B,QAAQ,IACL,aAAa,GACb,YAAY,GAEnB,kBAAkB,EAAE;YAChB,SAAS,EAAE,GAAG,uBAAM,sBAAsB;SAC7C,EACD,YAAY,kBACR,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,cAAc,EACzB,gBAAgB,EAAE,SAAS,IACxB,mBAAmB,GAE1B,mBAAmB,EACf;YACI,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS;YAClE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS;SACZ,IAE9D,CACL,CAAC;IAEF,OAAO,YAAY,IAAI,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,CAC9C,qDACI,SAAS,EAAE,GAAG,uBAAM,uBAAuB,IACvC,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,EACpB,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,GAE5D,kBAAkB,CACjB,CACT,CAAC,CAAC,CAAC,CACA,8DAAG,kBAAkB,CAAI,CAC5B,CAAC;AACN,CAAC;AAzZD,kCAyZC;AAED,kBAAkB;AAClB;;;;KAIK;AAEL,mFAAmF;AACnF,+BAA+B;AAC/B,WAAW,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC;AAEjD,kBAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"MultiSelect.js","sourceRoot":"","sources":["../../../../src/components/MultiSelect/MultiSelect.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAsC;AACtC,4CAAyG;AACzG,gDAI6B;AAE7B,gEAAmE;AACnE,6DAAsE;AAGtE,yCAA8G;AA+H9G;;;;;;GAMG;AACH,SAAgB,WAAW,CAAI,EA4BT;QA5BS,EAC3B,KAAK,EACL,aAAa,EAAE,qBAAqB,EACpC,oBAAoB,EACpB,MAAM,EACN,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,SAAS,GAAG,IAAI,EAChB,YAAY,GAAG,aAAa,EAC5B,mBAAmB,GAAG,cAAc,EACpC,cAAc,GAAG,aAAa,EAC9B,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,QAAQ,EACR,sBAAsB,EACtB,YAAY,GAAG,CAAC,EAChB,qBAAqB,GAAG,KAAK,EAC7B,SAAS,EACT,cAAc,EAAE,UAAU,EAC1B,aAAa,EAAE,UAAU,EACzB,YAAY,OAEM,EADf,qBAAqB,cA3BG,8bA4B9B,CAD2B;IAExB,4BAA4B;IAC5B,MAAM,YAAY,GAAG,IAAA,cAAM,EAAM,EAAE,CAAC,CAAC;IACrC,gDAAgD;IAChD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAC1E,wDAAwD;IACxD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAM,EAAE,CAAC,CAAC;IAClE,sDAAsD;IACtD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAM,GAAG,EAAE,CAC/D,oBAAoB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAC9F,CAAC;IAEF,2CAA2C;IAC3C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAW,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,IAAA,cAAM,EAGxB,EAAE,CAAC,CAAC;IAEP,IAAI,MAAM,CAAC;IACX,QAAQ,IAAI,EAAE;QACV,KAAK,eAAe;YAChB,MAAM,GAAG,aAAe,CAAC,OAAO,CAAC;YACjC,MAAM;QACV,KAAK,eAAe;YAChB,MAAM,GAAG,aAAe,CAAC,OAAO,CAAC;YACjC,MAAM;QACV,KAAK,eAAe;YAChB,MAAM,GAAG,aAAe,CAAC,OAAO,CAAC;YACjC,MAAM;QACV,KAAK,cAAc;YACf,MAAM,GAAG,aAAe,CAAC,MAAM,CAAC;YAChC,MAAM;QACV;YACI,MAAM;KACb;IAED;;OAEG;IACH,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxB,gBAAgB,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAElD,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,WAAW;YACP,WAAW,CAAC;gBACR,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,YAAY,EAAE,YAAY,CAAC,OAAO;gBAClC,aAAa;aAChB,CAAC,CAAC;IACX,CAAC,EAAE;QACC,WAAW;QACX,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACnD,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KAC7D,CAAC,CAAC;IAEH;;OAEG;IACH,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC,qBAAqB,EAAE;YACxB,OAAO;SACV;QAED,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEnE;;;;OAIG;IACH,MAAM,0BAA0B,GAAG,CAAC,OAAe,EAAE,EAAE;QACnD,OAAO,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,EAAE;QAC5C,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC;QAC/E,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,YAAY,GAAG,CAAC,IAAO,EAAE,EAAE;;QAC7B,IAAI,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;YAC1C,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;SACrC;aAAM;YACH,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;SACjD;QAED,IAAI,qBAAqB,EAAE;YACvB,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;YAChC,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;SAC7B;aAAM;YACH,MAAA,QAAQ,CAAC,OAAO,0CAAE,MAAM,EAAE,CAAC;SAC9B;IACL,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE;QACpC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,KAAK,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;YACtD,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YACnC,IAAI,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE;gBAChC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aAChD;YACD,MAAM,EAAE,GAAG,GAAS,EAAE;gBAClB,cAAc,CAAC,IAAI,CAAC,CAAC;gBACrB,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACrB,MAAM,eAAe,GAAG,gBAAgB,IAAI,CAAC,MAAM,gBAAgB,CAAC,IAAA,+BAAiB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC/F,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;oBACtC,+BAA+B;oBAC/B,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,aAAa,CAAC,CAAC,CAAC;oBAC/D,gBAAgB,CACZ,CAAC,GAAG,cAAc,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACzD,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAC9D,CACJ,CAAC;oBACF,cAAc,CAAC,KAAK,CAAC,CAAC;iBACzB;YACL,CAAC,CAAA,CAAC;YACF,YAAY,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,YAAY,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/G;aAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACtB,4EAA4E;YAC5E,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;YAChC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;SACvE;IACL,CAAC,CAAC;IAEF,mDAAmD;IACnD,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE;QACrC,OAAO,8BAAC,mBAAW,IAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,GAAI,CAAC;IAClF,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,cAAc,GAAG,CAAC,IAAO,EAAE,EAAE,WAAW,EAAE,SAAS,EAA8B,EAAE,EAAE;QACvF,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;YAC7B,OAAO,IAAI,CAAC;SACf;QACD,IAAI,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;YAC1E,KAAK,IAAI,cAAc,CAAC;SAC3B;QACD,OAAO,CACH,8BAAC,gBAAQ,IACL,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EACjB,IAAI,EAAE,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,EACpF,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAC3B,oBAAoB,EAAE,KAAK,GAC7B,CACL,CAAC;IACN,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,WAAW,GAAG,GAAG,EAAE;QACrB,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QAEhC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACrB,gBAAgB,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,8BAA8B,GAAG,CAAC,MAAuB,EAAE,KAAa,EAAE,EAAE;QAC9E,gBAAgB,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,aAAa,GAAG,CAAC,KAAa,EAAK,EAAE;QACvC,MAAM,OAAO,GAAG,sBAAuB,CAAC,KAAK,CAAC,CAAC;QAC/C,eAAe;QACf,YAAY,CAAC,OAAO,GAAG,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1D,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACjD,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,aAAa,GAAG,CAAC,KAAuC,EAAE,EAAE;;QAC9D,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,sBAAsB,EAAE;YAC1G,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC7C;QACD,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;IAC9B,CAAC,CAAC;IAEF;;;;OAIG;IACH,MAAM,eAAe,GAAG,CAAC,KAAuC,EAAE,EAAE;QAChE,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;YACrD,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAClG,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;YAChC,UAAU,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,EAAA,CAAC,CAAC;SAC/C;IACL,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,MAAe,EAAE,WAAiD,EAAE,EAAE;QAC1G,IAAI,CAAC,sBAAsB;YAAE,OAAO,SAAS,CAAC;QAC9C,MAAM,YAAY,GAAG,CAAC,CAAgC,EAAE,EAAE;YACtD,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,WAAW,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC;QACF,OAAO,CACH,8BAAC,gBAAQ,IACL,EAAE,EAAE,UAAU,EACd,IAAI,EAAC,mBAAmB,EACxB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,8BAAC,oBAAY,QAAE,GAAG,mBAAmB,KAAK,KAAK,GAAG,CAAgB,GAC1E,CACL,CAAC;IACN,CAAC,CAAC;IAEF,6DAA6D;IAC7D,MAAM,WAAW,GACb,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACvB,8BAAC,kBAAU,IACP,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,iBAAiB,kBACT,iBAAiB,CAAC,+EAA+E;UAC9G,OAAO,EAAE,WAAW,GACtB,CACL,CAAC,CAAC,CAAC,SAAS,CAAC;IAElB,MAAM,YAAY,GAAG,WAAW;QAC5B,CAAC,CAAC;YACI,YAAY,EAAE,8BAAC,eAAO,IAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAI;SAC9D;QACH,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,kBAAkB,GAAG,CACvB,8BAAC,oBAAoB,kBACjB,WAAW,EACP,CAAC,qBAAqB,CAAC,WAAW,IAAI,sBAAsB;YACxD,CAAC,CAAC,qDAAqD;YACvD,CAAC,CAAC,SAAS,IAEf,qBAAqB,IACzB,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,EACjC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,cAAc,EAC5B,UAAU,EAAE,CAAC,CAAI,EAAE,CAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EACnD,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,8BAAC,gBAAQ,IAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,GAAI,EAC3D,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EACtC,qBAAqB,EAAE,eAAe,EACtC,kBAAkB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,EAC9D,IAAI,EAAE,SAAS,EACf,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,QAAQ,EAClB,aAAa,gCACT,UAAU,EAAE,gBACR,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,KAAK,EACnB,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,EACpE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,IAChE,UAAU,CAC+B,EAChD,SAAS,EAAE,GAAG,uBAAM,cAAc,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACvE,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,QAAQ,EAClB,MAAM,EACN,SAAS,EAAE,IAAI,EACf,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,8BAA8B,EACxC,YAAY,EAAE,CACV,8DACK,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI;gBACnB,qBAAqB,CAAC,aAAa,KAAK,IAAI,IAAI,CAC7C,8BAAC,kBAAU,IACP,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,mBAAmB,kBACX,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,iBACjD,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,GAC/D,CACL,CACF,CACN,EACD,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAC3B,QAAQ,IACL,aAAa,GACb,YAAY,GAEnB,kBAAkB,EAAE;YAChB,SAAS,EAAE,GAAG,uBAAM,sBAAsB;SAC7C,EACD,YAAY,kBACR,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,cAAc,EACzB,gBAAgB,EAAE,SAAS,IACxB,mBAAmB,GAE1B,mBAAmB,EACf;YACI,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS;YAClE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS;SACZ,IAE9D,CACL,CAAC;IAEF,OAAO,YAAY,IAAI,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,CAC9C,qDACI,SAAS,EAAE,GAAG,uBAAM,uBAAuB,IACvC,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,EACpB,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,GAE5D,kBAAkB,CACjB,CACT,CAAC,CAAC,CAAC,CACA,8DAAG,kBAAkB,CAAI,CAC5B,CAAC;AACN,CAAC;AA7XD,kCA6XC;AAED,kBAAkB;AAClB;;;;KAIK;AAEL,mFAAmF;AACnF,+BAA+B;AAC/B,WAAW,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC;AAEjD,kBAAe,WAAW,CAAC"}
@@ -23,14 +23,19 @@ const constants_1 = require("../../configuration/constants");
23
23
  * The content then offset relative to its nearest scrolling ancestor and containing block (nearest block-level ancestor).
24
24
  */
25
25
  const StickyTarget = (_a) => {
26
- var { className, to = "top", local = false, background = "transparent", offset, style, getConnectedElement } = _a, otherDivProps = __rest(_a, ["className", "to", "local", "background", "offset", "style", "getConnectedElement"]);
26
+ var { className, to = "top", local = false, offset, background = "transparent", fillMainGap, fillSecondaryGap, style, getConnectedElement } = _a, otherDivProps = __rest(_a, ["className", "to", "local", "offset", "background", "fillMainGap", "fillSecondaryGap", "style", "getConnectedElement"]);
27
27
  const stickyTargetRef = react_1.default.useRef(null);
28
28
  let offsetStyle = {};
29
29
  if (typeof offset !== "undefined") {
30
30
  offsetStyle = Object.assign(Object.assign({}, style), { "--eccgui-sticky-target-localoffset": offset });
31
31
  }
32
- let connectedOffset = 0;
33
32
  react_1.default.useEffect(() => {
33
+ let removeEventForConnectedOffset = () => {
34
+ /* no event need to be removed */
35
+ };
36
+ let removeEventForStickynessCheck = () => {
37
+ /* no event need to be removed */
38
+ };
34
39
  /**
35
40
  * If the target should be sticky to a defined element then:
36
41
  * * check for the element and its scroll parent
@@ -44,6 +49,7 @@ const StickyTarget = (_a) => {
44
49
  if (scrollParent || scrollParentFallback) {
45
50
  const updateTargetOffset = () => {
46
51
  var _a;
52
+ let connectedOffset = 0;
47
53
  const scrollParentPosition = (scrollParent || scrollParentFallback).getBoundingClientRect();
48
54
  const stickyConnectionPosition = stickyConnection.getBoundingClientRect();
49
55
  if (to === "top") {
@@ -66,18 +72,53 @@ const StickyTarget = (_a) => {
66
72
  updateTargetOffset();
67
73
  };
68
74
  eventListeningTarget.addEventListener("scroll", eventListeningMethod);
69
- return () => {
75
+ removeEventForConnectedOffset = () => {
70
76
  eventListeningTarget.removeEventListener("scroll", eventListeningMethod);
71
77
  };
72
78
  }
73
79
  }
74
80
  }
75
- return;
76
- }, [getConnectedElement, stickyTargetRef, to]);
81
+ /**
82
+ * Check if sticky target element is currently in sticky mode.
83
+ * sticky mode = current position === defined sticky position
84
+ */
85
+ if (stickyTargetRef && (fillMainGap || fillSecondaryGap)) {
86
+ const stickyTarget = stickyTargetRef.current;
87
+ const scrollParent = common_1.utils.getScrollParent(stickyTarget);
88
+ const checkStickyness = () => {
89
+ const definedPosition = parseInt(window.getComputedStyle(stickyTarget)[to], 10);
90
+ const scrollParentPosition = scrollParent ? scrollParent.getBoundingClientRect()[to] : 0;
91
+ const currentPosition = (to === "top" ? 1 : -1) * (stickyTarget.getBoundingClientRect()[to] - scrollParentPosition);
92
+ // check stickyness in a small position range (not exact value) because of float values
93
+ const isSticky = currentPosition <= definedPosition + 1 && currentPosition >= definedPosition - 1;
94
+ if (isSticky && !stickyTarget.classList.contains(`${constants_1.CLASSPREFIX}-sticky__target--issticky`)) {
95
+ stickyTarget.classList.add(`${constants_1.CLASSPREFIX}-sticky__target--issticky`);
96
+ }
97
+ if (!isSticky && stickyTarget.classList.contains(`${constants_1.CLASSPREFIX}-sticky__target--issticky`)) {
98
+ stickyTarget.classList.remove(`${constants_1.CLASSPREFIX}-sticky__target--issticky`);
99
+ }
100
+ };
101
+ checkStickyness();
102
+ const eventListeningTarget = scrollParent || window;
103
+ const eventListeningMethod = (_event) => {
104
+ checkStickyness();
105
+ };
106
+ eventListeningTarget.addEventListener("scroll", eventListeningMethod);
107
+ removeEventForStickynessCheck = () => {
108
+ eventListeningTarget.removeEventListener("scroll", eventListeningMethod);
109
+ };
110
+ }
111
+ return () => {
112
+ removeEventForConnectedOffset();
113
+ removeEventForStickynessCheck();
114
+ };
115
+ }, [getConnectedElement, stickyTargetRef, to, fillMainGap, fillSecondaryGap]);
77
116
  return (react_1.default.createElement("div", Object.assign({ ref: stickyTargetRef, className: `${constants_1.CLASSPREFIX}-sticky__target` +
78
117
  (to ? ` ${constants_1.CLASSPREFIX}-sticky__target--${to}` : "") +
79
118
  (local ? ` ${constants_1.CLASSPREFIX}-sticky__target--localscrollarea` : "") +
80
119
  (background ? ` ${constants_1.CLASSPREFIX}-sticky__target--bg-${background}` : "") +
120
+ (fillMainGap ? ` ${constants_1.CLASSPREFIX}-sticky__target--maingapfill-${fillMainGap}` : "") +
121
+ (fillSecondaryGap ? ` ${constants_1.CLASSPREFIX}-sticky__target--secondarygapfill-${fillSecondaryGap}` : "") +
81
122
  (className ? ` ${className}` : ""), style: offset ? offsetStyle : style }, otherDivProps)));
82
123
  };
83
124
  exports.StickyTarget = StickyTarget;
@@ -1 +1 @@
1
- {"version":3,"file":"StickyTarget.js","sourceRoot":"","sources":["../../../../src/components/Sticky/StickyTarget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StickyTarget.js","sourceRoot":"","sources":["../../../../src/components/Sticky/StickyTarget.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAA6C;AAE7C,0CAAsC;AACtC,6DAAsE;AAuCtE;;;GAGG;AACI,MAAM,YAAY,GAAG,CAAC,EAWT,EAAE,EAAE;QAXK,EACzB,SAAS,EACT,EAAE,GAAG,KAAK,EACV,KAAK,GAAG,KAAK,EACb,MAAM,EACN,UAAU,GAAG,aAAa,EAC1B,WAAW,EACX,gBAAgB,EAChB,KAAK,EACL,mBAAmB,OAEH,EADb,aAAa,cAVS,uHAW5B,CADmB;IAEhB,MAAM,eAAe,GAAG,eAAK,CAAC,MAAM,CAAwB,IAAI,CAAC,CAAC;IAElE,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QAC/B,WAAW,GAAG,gCAAK,KAAK,KAAE,oCAAoC,EAAE,MAAM,GAAmB,CAAC;KAC7F;IAED,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,6BAA6B,GAAG,GAAG,EAAE;YACrC,iCAAiC;QACrC,CAAC,CAAC;QACF,IAAI,6BAA6B,GAAG,GAAG,EAAE;YACrC,iCAAiC;QACrC,CAAC,CAAC;QACF;;;;WAIG;QACH,IAAI,mBAAmB,IAAI,eAAe,EAAE;YACxC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;YAC9D,IAAI,gBAAgB,EAAE;gBAClB,MAAM,YAAY,GAAG,cAAK,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;gBAC7D,MAAM,oBAAoB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC9E,IAAI,YAAY,IAAI,oBAAoB,EAAE;oBACtC,MAAM,kBAAkB,GAAG,GAAG,EAAE;;wBAC5B,IAAI,eAAe,GAAG,CAAC,CAAC;wBACxB,MAAM,oBAAoB,GACtB,CAAC,YAAY,IAAI,oBAAoB,CACxC,CAAC,qBAAqB,EAAE,CAAC;wBAC1B,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,CAAC;wBAC1E,IAAI,EAAE,KAAK,KAAK,EAAE;4BACd,eAAe;gCACX,wBAAwB,CAAC,GAAG;oCAC5B,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,oBAAoB,CAAC,GAAG,CAAC;oCACrC,wBAAwB,CAAC,MAAM,CAAC;yBACvC;wBACD,IAAI,EAAE,KAAK,QAAQ,EAAE;4BACjB,eAAe;gCACX,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC;oCAClE,wBAAwB,CAAC,MAAM;oCAC/B,wBAAwB,CAAC,MAAM,CAAC;yBACvC;wBACD,MAAA,eAAe,CAAC,OAAO,0CAAE,KAAK,CAAC,WAAW,CACtC,0CAA0C,EAC1C,GAAG,eAAe,IAAI,CACzB,CAAC;oBACN,CAAC,CAAC;oBAEF,kBAAkB,EAAE,CAAC;oBACrB,MAAM,oBAAoB,GAAG,YAAY,IAAI,MAAM,CAAC;oBACpD,MAAM,oBAAoB,GAAG,CAAC,MAAa,EAAE,EAAE;wBAC3C,kBAAkB,EAAE,CAAC;oBACzB,CAAC,CAAC;oBACF,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;oBACtE,6BAA6B,GAAG,GAAG,EAAE;wBACjC,oBAAoB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;oBAC7E,CAAC,CAAC;iBACL;aACJ;SACJ;QACD;;;WAGG;QACH,IAAI,eAAe,IAAI,CAAC,WAAW,IAAI,gBAAgB,CAAC,EAAE;YACtD,MAAM,YAAY,GAAG,eAAe,CAAC,OAAkB,CAAC;YACxD,MAAM,YAAY,GAAG,cAAK,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YACzD,MAAM,eAAe,GAAG,GAAG,EAAE;gBACzB,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChF,MAAM,oBAAoB,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzF,MAAM,eAAe,GACjB,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC;gBAChG,uFAAuF;gBACvF,MAAM,QAAQ,GAAG,eAAe,IAAI,eAAe,GAAG,CAAC,IAAI,eAAe,IAAI,eAAe,GAAG,CAAC,CAAC;gBAClG,IAAI,QAAQ,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,uBAAM,2BAA2B,CAAC,EAAE;oBACpF,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,uBAAM,2BAA2B,CAAC,CAAC;iBACpE;gBACD,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,uBAAM,2BAA2B,CAAC,EAAE;oBACpF,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,uBAAM,2BAA2B,CAAC,CAAC;iBACvE;YACL,CAAC,CAAC;YACF,eAAe,EAAE,CAAC;YAClB,MAAM,oBAAoB,GAAG,YAAY,IAAI,MAAM,CAAC;YACpD,MAAM,oBAAoB,GAAG,CAAC,MAAa,EAAE,EAAE;gBAC3C,eAAe,EAAE,CAAC;YACtB,CAAC,CAAC;YACF,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;YACtE,6BAA6B,GAAG,GAAG,EAAE;gBACjC,oBAAoB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;YAC7E,CAAC,CAAC;SACL;QACD,OAAO,GAAG,EAAE;YACR,6BAA6B,EAAE,CAAC;YAChC,6BAA6B,EAAE,CAAC;QACpC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,mBAAmB,EAAE,eAAe,EAAE,EAAE,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE9E,OAAO,CACH,qDACI,GAAG,EAAE,eAAe,EACpB,SAAS,EACL,GAAG,uBAAM,iBAAiB;YAC1B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,uBAAM,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,uBAAM,kCAAkC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,uBAAM,uBAAuB,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,uBAAM,gCAAgC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,uBAAM,qCAAqC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAEtC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,IAC/B,aAAa,EACnB,CACL,CAAC;AACN,CAAC,CAAC;AA9HW,QAAA,YAAY,gBA8HvB;AAEF,kBAAe,oBAAY,CAAC"}
@@ -103,7 +103,7 @@ export function MultiSelect(_a) {
103
103
  var _h = __read(React.useState(__spreadArray([], __read(items), false)), 2), externalItems = _h[0], setExternalItems = _h[1];
104
104
  // All options (created and passed) that match the query
105
105
  var _j = __read(React.useState([]), 2), filteredItems = _j[0], setFilteredItems = _j[1];
106
- // All options (created and passed) selected by a user, if the component is uncontrolled
106
+ // All options (created and passed) selected by a user
107
107
  var _k = __read(React.useState(function () {
108
108
  return prePopulateWithItems ? __spreadArray([], __read(items), false) : externalSelectedItems ? __spreadArray([], __read(externalSelectedItems), false) : [];
109
109
  }), 2), selectedItems = _k[0], setSelectedItems = _k[1];
@@ -129,9 +129,6 @@ export function MultiSelect(_a) {
129
129
  default:
130
130
  break;
131
131
  }
132
- // If the component is contolled from outside, we don't need to store selected state within the component
133
- // when user selects or removes selection - options will be set in a parent component
134
- var isControlled = !!(externalSelectedItems && onSelection);
135
132
  /** Update external items when they change
136
133
  * e.g for auto-complete when query change
137
134
  */
@@ -140,15 +137,13 @@ export function MultiSelect(_a) {
140
137
  setFilteredItems(__spreadArray(__spreadArray([], __read(items), false), __read(createdItems.current), false));
141
138
  }, [items.map(function (item) { return itemId(item); }).join("|")]);
142
139
  React.useEffect(function () {
143
- !isControlled &&
144
- onSelection &&
140
+ onSelection &&
145
141
  onSelection({
146
142
  newlySelected: selectedItems.slice(-1)[0],
147
143
  createdItems: createdItems.current,
148
144
  selectedItems: selectedItems,
149
145
  });
150
146
  }, [
151
- isControlled,
152
147
  onSelection,
153
148
  selectedItems.map(function (item) { return itemId(item); }).join("|"),
154
149
  createdItems.current.map(function (item) { return itemId(item); }).join("|"),
@@ -161,7 +156,7 @@ export function MultiSelect(_a) {
161
156
  return;
162
157
  }
163
158
  setSelectedItems(externalSelectedItems);
164
- }, [externalSelectedItems]);
159
+ }, [externalSelectedItems === null || externalSelectedItems === void 0 ? void 0 : externalSelectedItems.map(function (item) { return itemId(item); }).join("|")]);
165
160
  /**
166
161
  * using the equality prop specified checks if an item has already been selected
167
162
  * @param matcher
@@ -176,15 +171,7 @@ export function MultiSelect(_a) {
176
171
  */
177
172
  var removeItemSelection = function (matcher) {
178
173
  var filteredItems = selectedItems.filter(function (item) { return itemId(item) !== matcher; });
179
- if (isControlled) {
180
- onSelection({
181
- createdItems: createdItems.current,
182
- selectedItems: filteredItems,
183
- });
184
- }
185
- else {
186
- setSelectedItems(filteredItems);
187
- }
174
+ setSelectedItems(filteredItems);
188
175
  };
189
176
  /**
190
177
  * selects and deselects an item from selection list
@@ -196,13 +183,6 @@ export function MultiSelect(_a) {
196
183
  if (itemHasBeenSelectedAlready(itemId(item))) {
197
184
  removeItemSelection(itemId(item));
198
185
  }
199
- else if (isControlled) {
200
- onSelection({
201
- newlySelected: item,
202
- createdItems: createdItems.current,
203
- selectedItems: __spreadArray(__spreadArray([], __read(selectedItems), false), [item], false),
204
- });
205
- }
206
186
  else {
207
187
  setSelectedItems(function (items) { return __spreadArray(__spreadArray([], __read(items), false), [item], false); });
208
188
  }
@@ -281,15 +261,7 @@ export function MultiSelect(_a) {
281
261
  */
282
262
  var handleClear = function () {
283
263
  requestState.current.query = "";
284
- if (isControlled) {
285
- onSelection({
286
- selectedItems: [],
287
- createdItems: createdItems.current,
288
- });
289
- }
290
- else {
291
- setSelectedItems([]);
292
- }
264
+ setSelectedItems([]);
293
265
  setFilteredItems(__spreadArray(__spreadArray([], __read(externalItems), false), __read(createdItems.current), false));
294
266
  };
295
267
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelect.js","sourceRoot":"","sources":["../../../../src/components/MultiSelect/MultiSelect.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultiSelect.js","sourceRoot":"","sources":["../../../../src/components/MultiSelect/MultiSelect.tsx"],"names":[],"mappings":"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"}
@@ -28,14 +28,19 @@ import { CLASSPREFIX as eccgui } from "../../configuration/constants.js";
28
28
  * The content then offset relative to its nearest scrolling ancestor and containing block (nearest block-level ancestor).
29
29
  */
30
30
  export var StickyTarget = function (_a) {
31
- var className = _a.className, _b = _a.to, to = _b === void 0 ? "top" : _b, _c = _a.local, local = _c === void 0 ? false : _c, _d = _a.background, background = _d === void 0 ? "transparent" : _d, offset = _a.offset, style = _a.style, getConnectedElement = _a.getConnectedElement, otherDivProps = __rest(_a, ["className", "to", "local", "background", "offset", "style", "getConnectedElement"]);
31
+ var className = _a.className, _b = _a.to, to = _b === void 0 ? "top" : _b, _c = _a.local, local = _c === void 0 ? false : _c, offset = _a.offset, _d = _a.background, background = _d === void 0 ? "transparent" : _d, fillMainGap = _a.fillMainGap, fillSecondaryGap = _a.fillSecondaryGap, style = _a.style, getConnectedElement = _a.getConnectedElement, otherDivProps = __rest(_a, ["className", "to", "local", "offset", "background", "fillMainGap", "fillSecondaryGap", "style", "getConnectedElement"]);
32
32
  var stickyTargetRef = React.useRef(null);
33
33
  var offsetStyle = {};
34
34
  if (typeof offset !== "undefined") {
35
35
  offsetStyle = __assign(__assign({}, style), { "--eccgui-sticky-target-localoffset": offset });
36
36
  }
37
- var connectedOffset = 0;
38
37
  React.useEffect(function () {
38
+ var removeEventForConnectedOffset = function () {
39
+ /* no event need to be removed */
40
+ };
41
+ var removeEventForStickynessCheck = function () {
42
+ /* no event need to be removed */
43
+ };
39
44
  /**
40
45
  * If the target should be sticky to a defined element then:
41
46
  * * check for the element and its scroll parent
@@ -49,6 +54,7 @@ export var StickyTarget = function (_a) {
49
54
  if (scrollParent_1 || scrollParentFallback_1) {
50
55
  var updateTargetOffset_1 = function () {
51
56
  var _a;
57
+ var connectedOffset = 0;
52
58
  var scrollParentPosition = (scrollParent_1 || scrollParentFallback_1).getBoundingClientRect();
53
59
  var stickyConnectionPosition = stickyConnection_1.getBoundingClientRect();
54
60
  if (to === "top") {
@@ -71,18 +77,53 @@ export var StickyTarget = function (_a) {
71
77
  updateTargetOffset_1();
72
78
  };
73
79
  eventListeningTarget_1.addEventListener("scroll", eventListeningMethod_1);
74
- return function () {
80
+ removeEventForConnectedOffset = function () {
75
81
  eventListeningTarget_1.removeEventListener("scroll", eventListeningMethod_1);
76
82
  };
77
83
  }
78
84
  }
79
85
  }
80
- return;
81
- }, [getConnectedElement, stickyTargetRef, to]);
86
+ /**
87
+ * Check if sticky target element is currently in sticky mode.
88
+ * sticky mode = current position === defined sticky position
89
+ */
90
+ if (stickyTargetRef && (fillMainGap || fillSecondaryGap)) {
91
+ var stickyTarget_1 = stickyTargetRef.current;
92
+ var scrollParent_2 = utils.getScrollParent(stickyTarget_1);
93
+ var checkStickyness_1 = function () {
94
+ var definedPosition = parseInt(window.getComputedStyle(stickyTarget_1)[to], 10);
95
+ var scrollParentPosition = scrollParent_2 ? scrollParent_2.getBoundingClientRect()[to] : 0;
96
+ var currentPosition = (to === "top" ? 1 : -1) * (stickyTarget_1.getBoundingClientRect()[to] - scrollParentPosition);
97
+ // check stickyness in a small position range (not exact value) because of float values
98
+ var isSticky = currentPosition <= definedPosition + 1 && currentPosition >= definedPosition - 1;
99
+ if (isSticky && !stickyTarget_1.classList.contains("".concat(eccgui, "-sticky__target--issticky"))) {
100
+ stickyTarget_1.classList.add("".concat(eccgui, "-sticky__target--issticky"));
101
+ }
102
+ if (!isSticky && stickyTarget_1.classList.contains("".concat(eccgui, "-sticky__target--issticky"))) {
103
+ stickyTarget_1.classList.remove("".concat(eccgui, "-sticky__target--issticky"));
104
+ }
105
+ };
106
+ checkStickyness_1();
107
+ var eventListeningTarget_2 = scrollParent_2 || window;
108
+ var eventListeningMethod_2 = function (_event) {
109
+ checkStickyness_1();
110
+ };
111
+ eventListeningTarget_2.addEventListener("scroll", eventListeningMethod_2);
112
+ removeEventForStickynessCheck = function () {
113
+ eventListeningTarget_2.removeEventListener("scroll", eventListeningMethod_2);
114
+ };
115
+ }
116
+ return function () {
117
+ removeEventForConnectedOffset();
118
+ removeEventForStickynessCheck();
119
+ };
120
+ }, [getConnectedElement, stickyTargetRef, to, fillMainGap, fillSecondaryGap]);
82
121
  return (React.createElement("div", __assign({ ref: stickyTargetRef, className: "".concat(eccgui, "-sticky__target") +
83
122
  (to ? " ".concat(eccgui, "-sticky__target--").concat(to) : "") +
84
123
  (local ? " ".concat(eccgui, "-sticky__target--localscrollarea") : "") +
85
124
  (background ? " ".concat(eccgui, "-sticky__target--bg-").concat(background) : "") +
125
+ (fillMainGap ? " ".concat(eccgui, "-sticky__target--maingapfill-").concat(fillMainGap) : "") +
126
+ (fillSecondaryGap ? " ".concat(eccgui, "-sticky__target--secondarygapfill-").concat(fillSecondaryGap) : "") +
86
127
  (className ? " ".concat(className) : ""), style: offset ? offsetStyle : style }, otherDivProps)));
87
128
  };
88
129
  export default StickyTarget;
@@ -1 +1 @@
1
- {"version":3,"file":"StickyTarget.js","sourceRoot":"","sources":["../../../../src/components/Sticky/StickyTarget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StickyTarget.js","sourceRoot":"","sources":["../../../../src/components/Sticky/StickyTarget.tsx"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export interface IActivityStatus {
7
7
  failed: boolean;
8
8
  statusName: "Waiting" | "Finished" | "Idle" | "Running" | "Canceling";
9
9
  progress: number;
10
+ lastUpdateTime: string;
10
11
  message: string;
11
12
  cancelled: boolean;
12
13
  concreteStatus: ConcreteActivityStatus;
@@ -9,11 +9,7 @@ export interface MultiSelectSelectionProps<T> {
9
9
  createdItems: Partial<T>[];
10
10
  }
11
11
  export declare type SelectedParamsType<T> = MultiSelectSelectionProps<T>;
12
- export interface MultiSelectProps<T> extends TestableComponent, Pick<BlueprintMultiSelectProps<T>, "items" | "placeholder" | "openOnKeyDown"> {
13
- /**
14
- * Predefined selected values
15
- */
16
- selectedItems?: T[];
12
+ interface MultiSelectCommonProps<T> extends TestableComponent, Pick<BlueprintMultiSelectProps<T>, "items" | "placeholder" | "openOnKeyDown"> {
17
13
  /**
18
14
  * Additional class name, space separated.
19
15
  */
@@ -27,10 +23,6 @@ export interface MultiSelectProps<T> extends TestableComponent, Pick<BlueprintMu
27
23
  * this would be used in the item selection list as well as the multi-select input
28
24
  */
29
25
  itemLabel: (item: T) => string;
30
- /**
31
- * When set to true will set the multi-select value with all the items provided
32
- */
33
- prePopulateWithItems?: boolean;
34
26
  /**
35
27
  * function handler that would be called anytime an item is selected/deselected or an item is created/removed
36
28
  */
@@ -107,6 +99,19 @@ export interface MultiSelectProps<T> extends TestableComponent, Pick<BlueprintMu
107
99
  */
108
100
  wrapperProps?: React.HTMLAttributes<HTMLDivElement>;
109
101
  }
102
+ export declare type MultiSelectProps<T> = MultiSelectCommonProps<T> & ({
103
+ /**
104
+ * Predefined selected values
105
+ */
106
+ selectedItems?: T[];
107
+ prePopulateWithItems?: never;
108
+ } | {
109
+ selectedItems?: never;
110
+ /**
111
+ * When set to true will set the multi-select value with all the items provided
112
+ */
113
+ prePopulateWithItems?: boolean;
114
+ });
110
115
  /**
111
116
  * **Element is deprecated for the current type of usage.**
112
117
  * Use `MultiSuggestField` as replacement.
@@ -9,15 +9,26 @@ export interface StickyTargetProps extends React.HTMLAttributes<HTMLDivElement>
9
9
  * The application header is not taken into offset calculation
10
10
  */
11
11
  local?: boolean;
12
+ /**
13
+ * Set additional distance to original sticky position.
14
+ */
15
+ offset?: `${number}${string}`;
12
16
  /**
13
17
  * Set the background color used for the sticky area.
14
18
  * As it can overlay other content readability could be harmed if the overlayed content is shining through.
15
19
  */
16
20
  background?: "card" | "application" | "transparent";
17
21
  /**
18
- * Set additional distance to original sticky position.
22
+ * In some situations there could be a gap between sticky target area and the border of the related scroll area.
23
+ * The main gap is the gap towards the direction of the sticky behaviour, specified by `to`.
24
+ * You can fill this gap with a gradient or full background color.
19
25
  */
20
- offset?: `${number}${string}`;
26
+ fillMainGap?: "full" | "gradient";
27
+ /**
28
+ * The secondary gap is the gap against the direction of the sticky behaviour.
29
+ * So in case of `to="top"` this is rendered on the bottom of the sticky area.
30
+ */
31
+ fillSecondaryGap?: "full" | "gradient";
21
32
  /**
22
33
  * Callback that returns an DOM element.
23
34
  * The position of `StickyTarget` is then calculated relative to that element.
@@ -28,5 +39,5 @@ export interface StickyTargetProps extends React.HTMLAttributes<HTMLDivElement>
28
39
  * Element wraps the content that need to be displayed sticky.
29
40
  * The content then offset relative to its nearest scrolling ancestor and containing block (nearest block-level ancestor).
30
41
  */
31
- export declare const StickyTarget: ({ className, to, local, background, offset, style, getConnectedElement, ...otherDivProps }: StickyTargetProps) => React.JSX.Element;
42
+ export declare const StickyTarget: ({ className, to, local, offset, background, fillMainGap, fillSecondaryGap, style, getConnectedElement, ...otherDivProps }: StickyTargetProps) => React.JSX.Element;
32
43
  export default StickyTarget;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@eccenca/gui-elements",
3
3
  "description": "GUI elements based on other libraries, usable in React application, written in Typescript.",
4
- "version": "23.7.0-rc.2",
4
+ "version": "23.7.0-rc.3",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/eccenca/gui-elements",
7
7
  "bugs": "https://github.com/eccenca/gui-elements/issues",
@@ -16,6 +16,8 @@ export interface IActivityStatus {
16
16
  statusName: "Waiting" | "Finished" | "Idle" | "Running" | "Canceling";
17
17
  // A number between 0 and 100
18
18
  progress: number;
19
+ // timestamp for last update
20
+ lastUpdateTime:string;
19
21
  // More information corresponding to the status
20
22
  message: string;
21
23
  // If the activity has been cancelled
@@ -21,14 +21,9 @@ export interface MultiSelectSelectionProps<T> {
21
21
  // @deprecated use `MultiSelectSelectionProps<T>`
22
22
  export type SelectedParamsType<T> = MultiSelectSelectionProps<T>;
23
23
 
24
- export interface MultiSelectProps<T>
24
+ interface MultiSelectCommonProps<T>
25
25
  extends TestableComponent,
26
26
  Pick<BlueprintMultiSelectProps<T>, "items" | "placeholder" | "openOnKeyDown"> {
27
- /**
28
- * Predefined selected values
29
- */
30
-
31
- selectedItems?: T[];
32
27
  /**
33
28
  * Additional class name, space separated.
34
29
  */
@@ -42,10 +37,7 @@ export interface MultiSelectProps<T>
42
37
  * this would be used in the item selection list as well as the multi-select input
43
38
  */
44
39
  itemLabel: (item: T) => string;
45
- /**
46
- * When set to true will set the multi-select value with all the items provided
47
- */
48
- prePopulateWithItems?: boolean;
40
+
49
41
  /**
50
42
  * function handler that would be called anytime an item is selected/deselected or an item is created/removed
51
43
  */
@@ -127,6 +119,24 @@ export interface MultiSelectProps<T>
127
119
  wrapperProps?: React.HTMLAttributes<HTMLDivElement>;
128
120
  }
129
121
 
122
+ export type MultiSelectProps<T> = MultiSelectCommonProps<T> &
123
+ (
124
+ | {
125
+ /**
126
+ * Predefined selected values
127
+ */
128
+ selectedItems?: T[];
129
+ prePopulateWithItems?: never;
130
+ }
131
+ | {
132
+ selectedItems?: never;
133
+ /**
134
+ * When set to true will set the multi-select value with all the items provided
135
+ */
136
+ prePopulateWithItems?: boolean;
137
+ }
138
+ );
139
+
130
140
  /**
131
141
  * **Element is deprecated for the current type of usage.**
132
142
  * Use `MultiSuggestField` as replacement.
@@ -169,7 +179,7 @@ export function MultiSelect<T>({
169
179
  const [externalItems, setExternalItems] = React.useState<T[]>([...items]);
170
180
  // All options (created and passed) that match the query
171
181
  const [filteredItems, setFilteredItems] = React.useState<T[]>([]);
172
- // All options (created and passed) selected by a user, if the component is uncontrolled
182
+ // All options (created and passed) selected by a user
173
183
  const [selectedItems, setSelectedItems] = React.useState<T[]>(() =>
174
184
  prePopulateWithItems ? [...items] : externalSelectedItems ? [...externalSelectedItems] : []
175
185
  );
@@ -201,10 +211,6 @@ export function MultiSelect<T>({
201
211
  break;
202
212
  }
203
213
 
204
- // If the component is contolled from outside, we don't need to store selected state within the component
205
- // when user selects or removes selection - options will be set in a parent component
206
- const isControlled = !!(externalSelectedItems && onSelection);
207
-
208
214
  /** Update external items when they change
209
215
  * e.g for auto-complete when query change
210
216
  */
@@ -214,15 +220,13 @@ export function MultiSelect<T>({
214
220
  }, [items.map((item) => itemId(item)).join("|")]);
215
221
 
216
222
  React.useEffect(() => {
217
- !isControlled &&
218
- onSelection &&
223
+ onSelection &&
219
224
  onSelection({
220
225
  newlySelected: selectedItems.slice(-1)[0],
221
226
  createdItems: createdItems.current,
222
227
  selectedItems,
223
228
  });
224
229
  }, [
225
- isControlled,
226
230
  onSelection,
227
231
  selectedItems.map((item) => itemId(item)).join("|"),
228
232
  createdItems.current.map((item) => itemId(item)).join("|"),
@@ -237,7 +241,7 @@ export function MultiSelect<T>({
237
241
  }
238
242
 
239
243
  setSelectedItems(externalSelectedItems);
240
- }, [externalSelectedItems]);
244
+ }, [externalSelectedItems?.map((item) => itemId(item)).join("|")]);
241
245
 
242
246
  /**
243
247
  * using the equality prop specified checks if an item has already been selected
@@ -254,15 +258,7 @@ export function MultiSelect<T>({
254
258
  */
255
259
  const removeItemSelection = (matcher: string) => {
256
260
  const filteredItems = selectedItems.filter((item) => itemId(item) !== matcher);
257
-
258
- if (isControlled) {
259
- onSelection({
260
- createdItems: createdItems.current,
261
- selectedItems: filteredItems,
262
- });
263
- } else {
264
- setSelectedItems(filteredItems);
265
- }
261
+ setSelectedItems(filteredItems);
266
262
  };
267
263
 
268
264
  /**
@@ -273,12 +269,6 @@ export function MultiSelect<T>({
273
269
  const onItemSelect = (item: T) => {
274
270
  if (itemHasBeenSelectedAlready(itemId(item))) {
275
271
  removeItemSelection(itemId(item));
276
- } else if (isControlled) {
277
- onSelection({
278
- newlySelected: item,
279
- createdItems: createdItems.current,
280
- selectedItems: [...selectedItems, item],
281
- });
282
272
  } else {
283
273
  setSelectedItems((items) => [...items, item]);
284
274
  }
@@ -358,15 +348,7 @@ export function MultiSelect<T>({
358
348
  const handleClear = () => {
359
349
  requestState.current.query = "";
360
350
 
361
- if (isControlled) {
362
- onSelection({
363
- selectedItems: [],
364
- createdItems: createdItems.current,
365
- });
366
- } else {
367
- setSelectedItems([]);
368
- }
369
-
351
+ setSelectedItems([]);
370
352
  setFilteredItems([...externalItems, ...createdItems.current]);
371
353
  };
372
354
 
@@ -125,7 +125,7 @@ uncontrolledNewItemCreation.args = {
125
125
  };
126
126
 
127
127
  const CreationTemplate: StoryFn = () => {
128
- const [selectedValues, setSelectedValues] = useState<string[]>([]);
128
+ const [selectedValues, setSelectedValues] = useState<string[]>(["foo"]);
129
129
 
130
130
  const items = useMemo<string[]>(() => ["foo", "bar", "baz"], []);
131
131
 
@@ -145,7 +145,6 @@ const CreationTemplate: StoryFn = () => {
145
145
  itemId={identity}
146
146
  itemLabel={identity}
147
147
  createNewItemFromQuery={identity}
148
- prePopulateWithItems
149
148
  />
150
149
  );
151
150
  };
@@ -47,7 +47,7 @@ export const TestComponent = (): JSX.Element => {
47
47
  };
48
48
 
49
49
  describe("MultiSuggestField", () => {
50
- describe("uncontrolled", () => {
50
+ describe("uncontrolled (when only selectedItems or onSelect is provided)", () => {
51
51
  it("should render default input", () => {
52
52
  const { container } = render(<MultiSuggestField {...Default.args} />);
53
53
  const [input] = container.getElementsByClassName("eccgui-multiselect");
@@ -262,7 +262,7 @@ describe("MultiSuggestField", () => {
262
262
  });
263
263
  });
264
264
 
265
- describe("controlled", () => {
265
+ describe("controlled (when both selectedItems and onSelect are provided)", () => {
266
266
  it("should render default selected items", async () => {
267
267
  const onSelection = jest.fn();
268
268
 
@@ -287,7 +287,12 @@ describe("MultiSuggestField", () => {
287
287
  });
288
288
 
289
289
  const { container } = render(
290
- <MultiSuggestField {...dropdownOnFocus.args} items={items} onSelection={onSelection} />
290
+ <MultiSuggestField
291
+ {...dropdownOnFocus.args}
292
+ items={items}
293
+ selectedItems={[]}
294
+ onSelection={onSelection}
295
+ />
291
296
  );
292
297
 
293
298
  const [inputContainer] = container.getElementsByClassName("eccgui-multiselect");
@@ -355,7 +360,6 @@ describe("MultiSuggestField", () => {
355
360
  newlySelected: items[0],
356
361
  selectedItems: [items[0]],
357
362
  };
358
- expect(onSelection).toHaveBeenCalledTimes(1);
359
363
  expect(onSelection).toHaveBeenCalledWith(expectedObject);
360
364
  });
361
365
 
@@ -381,7 +385,6 @@ describe("MultiSuggestField", () => {
381
385
  selectedItems: [...selectedItems, items[0]],
382
386
  };
383
387
 
384
- expect(onSelection).toHaveBeenCalledTimes(2);
385
388
  expect(onSelection).toHaveBeenCalledWith(expectedObject);
386
389
  });
387
390
 
@@ -399,9 +402,90 @@ describe("MultiSuggestField", () => {
399
402
  selectedItems: [],
400
403
  };
401
404
 
402
- expect(onSelection).toHaveBeenCalledTimes(3);
403
405
  expect(onSelection).toHaveBeenCalledWith(expectedObject);
404
406
  });
405
407
  });
408
+
409
+ it("should set prePopulateWithItems as selected values and override passed values", async () => {
410
+ const onSelection = jest.fn((values) => {
411
+ // eslint-disable-next-line no-console
412
+ console.log("Mocked onSelection function values: ", values);
413
+ });
414
+
415
+ const items = dropdownOnFocus.args.items;
416
+
417
+ const args = { ...dropdownOnFocus.args, onSelection: onSelection };
418
+
419
+ const { container } = render(
420
+ <MultiSuggestField {...args} data-test-id="multi-suggest-field" prePopulateWithItems />
421
+ );
422
+
423
+ await waitFor(() => {
424
+ const expectedObject = {
425
+ createdItems: [],
426
+ newlySelected: items.at(-1),
427
+ selectedItems: items,
428
+ };
429
+ expect(onSelection).toHaveBeenCalledWith(expectedObject);
430
+ });
431
+
432
+ const tags = container.querySelectorAll("span[data-tag-index]");
433
+
434
+ expect(tags.length).toBe(items.length);
435
+ });
436
+
437
+ it("should correctly deselect all tags from input", async () => {
438
+ const onSelection = jest.fn((values) => {
439
+ // eslint-disable-next-line no-console
440
+ console.log("Mocked onSelection function values 111: ", values);
441
+ });
442
+
443
+ const items = predefinedNotControlledValues.args.items;
444
+
445
+ const args = { ...predefinedNotControlledValues.args, selectedItems: undefined, onSelection: onSelection };
446
+
447
+ const { container } = render(
448
+ <MultiSuggestField {...args} data-test-id="multi-suggest-field" prePopulateWithItems />
449
+ );
450
+
451
+ await waitFor(() => {
452
+ const expectedObject = {
453
+ createdItems: [],
454
+ newlySelected: items.at(-1),
455
+ selectedItems: items,
456
+ };
457
+ expect(onSelection).toHaveBeenCalledWith(expectedObject);
458
+ });
459
+
460
+ let tags = container.querySelectorAll("span[data-tag-index]");
461
+ expect(tags.length).toBe(items.length);
462
+
463
+ for (let i = 0; i < items.length; i += 1) {
464
+ const tag = tags[0];
465
+ expect(tag.querySelector("span")).toHaveTextContent(items[i].testLabel);
466
+
467
+ const removeTagButton = tag.querySelector("button");
468
+ expect(removeTagButton).toBeTruthy();
469
+
470
+ fireEvent.click(removeTagButton!);
471
+
472
+ await waitFor(() => {
473
+ const selected = items.slice(i + 1);
474
+
475
+ const expectedObject = {
476
+ createdItems: [],
477
+ newlySelected: selected.at(-1),
478
+ selectedItems: selected,
479
+ };
480
+
481
+ expect(onSelection).toHaveBeenCalledWith(expectedObject);
482
+ });
483
+
484
+ tags = container.querySelectorAll("span[data-tag-index]");
485
+ }
486
+
487
+ const tagsAfterRemove = container.querySelectorAll("span[data-tag-index]");
488
+ expect(tagsAfterRemove.length).toBe(0);
489
+ });
406
490
  });
407
491
  });
@@ -13,15 +13,26 @@ export interface StickyTargetProps extends React.HTMLAttributes<HTMLDivElement>
13
13
  * The application header is not taken into offset calculation
14
14
  */
15
15
  local?: boolean;
16
+ /**
17
+ * Set additional distance to original sticky position.
18
+ */
19
+ offset?: `${number}${string}`;
16
20
  /**
17
21
  * Set the background color used for the sticky area.
18
22
  * As it can overlay other content readability could be harmed if the overlayed content is shining through.
19
23
  */
20
24
  background?: "card" | "application" | "transparent";
21
25
  /**
22
- * Set additional distance to original sticky position.
26
+ * In some situations there could be a gap between sticky target area and the border of the related scroll area.
27
+ * The main gap is the gap towards the direction of the sticky behaviour, specified by `to`.
28
+ * You can fill this gap with a gradient or full background color.
23
29
  */
24
- offset?: `${number}${string}`;
30
+ fillMainGap?: "full" | "gradient";
31
+ /**
32
+ * The secondary gap is the gap against the direction of the sticky behaviour.
33
+ * So in case of `to="top"` this is rendered on the bottom of the sticky area.
34
+ */
35
+ fillSecondaryGap?: "full" | "gradient";
25
36
  /**
26
37
  * Callback that returns an DOM element.
27
38
  * The position of `StickyTarget` is then calculated relative to that element.
@@ -37,8 +48,10 @@ export const StickyTarget = ({
37
48
  className,
38
49
  to = "top",
39
50
  local = false,
40
- background = "transparent",
41
51
  offset,
52
+ background = "transparent",
53
+ fillMainGap,
54
+ fillSecondaryGap,
42
55
  style,
43
56
  getConnectedElement,
44
57
  ...otherDivProps
@@ -50,8 +63,13 @@ export const StickyTarget = ({
50
63
  offsetStyle = { ...style, "--eccgui-sticky-target-localoffset": offset } as CSSProperties;
51
64
  }
52
65
 
53
- let connectedOffset = 0;
54
66
  React.useEffect(() => {
67
+ let removeEventForConnectedOffset = () => {
68
+ /* no event need to be removed */
69
+ };
70
+ let removeEventForStickynessCheck = () => {
71
+ /* no event need to be removed */
72
+ };
55
73
  /**
56
74
  * If the target should be sticky to a defined element then:
57
75
  * * check for the element and its scroll parent
@@ -64,6 +82,7 @@ export const StickyTarget = ({
64
82
  const scrollParentFallback = !scrollParent ? document.documentElement : false;
65
83
  if (scrollParent || scrollParentFallback) {
66
84
  const updateTargetOffset = () => {
85
+ let connectedOffset = 0;
67
86
  const scrollParentPosition = (
68
87
  (scrollParent || scrollParentFallback) as HTMLElement
69
88
  ).getBoundingClientRect();
@@ -85,20 +104,55 @@ export const StickyTarget = ({
85
104
  `${connectedOffset}px`
86
105
  );
87
106
  };
107
+
88
108
  updateTargetOffset();
89
109
  const eventListeningTarget = scrollParent || window;
90
110
  const eventListeningMethod = (_event: Event) => {
91
111
  updateTargetOffset();
92
112
  };
93
113
  eventListeningTarget.addEventListener("scroll", eventListeningMethod);
94
- return () => {
114
+ removeEventForConnectedOffset = () => {
95
115
  eventListeningTarget.removeEventListener("scroll", eventListeningMethod);
96
116
  };
97
117
  }
98
118
  }
99
119
  }
100
- return;
101
- }, [getConnectedElement, stickyTargetRef, to]);
120
+ /**
121
+ * Check if sticky target element is currently in sticky mode.
122
+ * sticky mode = current position === defined sticky position
123
+ */
124
+ if (stickyTargetRef && (fillMainGap || fillSecondaryGap)) {
125
+ const stickyTarget = stickyTargetRef.current as Element;
126
+ const scrollParent = utils.getScrollParent(stickyTarget);
127
+ const checkStickyness = () => {
128
+ const definedPosition = parseInt(window.getComputedStyle(stickyTarget)[to], 10);
129
+ const scrollParentPosition = scrollParent ? scrollParent.getBoundingClientRect()[to] : 0;
130
+ const currentPosition =
131
+ (to === "top" ? 1 : -1) * (stickyTarget.getBoundingClientRect()[to] - scrollParentPosition);
132
+ // check stickyness in a small position range (not exact value) because of float values
133
+ const isSticky = currentPosition <= definedPosition + 1 && currentPosition >= definedPosition - 1;
134
+ if (isSticky && !stickyTarget.classList.contains(`${eccgui}-sticky__target--issticky`)) {
135
+ stickyTarget.classList.add(`${eccgui}-sticky__target--issticky`);
136
+ }
137
+ if (!isSticky && stickyTarget.classList.contains(`${eccgui}-sticky__target--issticky`)) {
138
+ stickyTarget.classList.remove(`${eccgui}-sticky__target--issticky`);
139
+ }
140
+ };
141
+ checkStickyness();
142
+ const eventListeningTarget = scrollParent || window;
143
+ const eventListeningMethod = (_event: Event) => {
144
+ checkStickyness();
145
+ };
146
+ eventListeningTarget.addEventListener("scroll", eventListeningMethod);
147
+ removeEventForStickynessCheck = () => {
148
+ eventListeningTarget.removeEventListener("scroll", eventListeningMethod);
149
+ };
150
+ }
151
+ return () => {
152
+ removeEventForConnectedOffset();
153
+ removeEventForStickynessCheck();
154
+ };
155
+ }, [getConnectedElement, stickyTargetRef, to, fillMainGap, fillSecondaryGap]);
102
156
 
103
157
  return (
104
158
  <div
@@ -108,6 +162,8 @@ export const StickyTarget = ({
108
162
  (to ? ` ${eccgui}-sticky__target--${to}` : "") +
109
163
  (local ? ` ${eccgui}-sticky__target--localscrollarea` : "") +
110
164
  (background ? ` ${eccgui}-sticky__target--bg-${background}` : "") +
165
+ (fillMainGap ? ` ${eccgui}-sticky__target--maingapfill-${fillMainGap}` : "") +
166
+ (fillSecondaryGap ? ` ${eccgui}-sticky__target--secondarygapfill-${fillSecondaryGap}` : "") +
111
167
  (className ? ` ${className}` : "")
112
168
  }
113
169
  style={offset ? offsetStyle : style}
@@ -5,11 +5,14 @@
5
5
  .#{$eccgui}-sticky__target {
6
6
  position: sticky;
7
7
  z-index: 1;
8
+ background-color: var(--eccgui-sticky-target-bgcolor, transparent);
8
9
 
9
10
  --eccgui-sticky-target-applicationoffset: 0px;
11
+ --eccgui-sticky-target-maingap: 0px;
10
12
 
11
13
  .#{$eccgui}-application__content &:not(.#{$eccgui}-sticky__target--localscrollarea) {
12
- --eccgui-sticky-target-applicationoffset: $eccgui-size-block-whitespace;
14
+ --eccgui-sticky-target-applicationoffset: #{$eccgui-size-block-whitespace};
15
+ --eccgui-sticky-target-maingap: #{$eccgui-size-block-whitespace};
13
16
  }
14
17
 
15
18
  .#{$eccgui}-application__header
@@ -17,53 +20,109 @@
17
20
  &:not(.#{$eccgui}-sticky__target--localscrollarea) {
18
21
  --eccgui-sticky-target-applicationoffset: calc(#{mini-units(8)} + #{$eccgui-size-block-whitespace});
19
22
  }
23
+
24
+ &[class*="#{$eccgui}-sticky__target--maingapfill"]:before,
25
+ &[class*="#{$eccgui}-sticky__target--secondarygapfill"]:after {
26
+ position: absolute;
27
+ left: 0;
28
+ width: 100%;
29
+ height: calc(var(--eccgui-sticky-target-maingap) + var(--eccgui-sticky-target-localoffset, 0px));
30
+ }
31
+
32
+ &[class*="#{$eccgui}-sticky__target--secondarygapfill"]:after {
33
+ height: $eccgui-size-block-whitespace * 0.5;
34
+ }
20
35
  }
21
36
 
22
37
  .#{$eccgui}-sticky__target--top {
23
38
  top: calc(var(--eccgui-sticky-target-applicationoffset) + var(--eccgui-sticky-target-localoffset, 0px));
39
+
40
+ &[class*="#{$eccgui}-sticky__target--maingapfill"]:before {
41
+ bottom: 100%;
42
+ }
43
+
44
+ &[class*="#{$eccgui}-sticky__target--secondarygapfill"]:after {
45
+ top: 100%;
46
+ }
47
+
48
+ &.#{$eccgui}-sticky__target--maingapfill-gradient:before {
49
+ background: linear-gradient(transparent, 10%, var(--eccgui-sticky-target-bgcolor, transparent));
50
+ }
51
+
52
+ &.#{$eccgui}-sticky__target--secondarygapfill-gradient:after {
53
+ background: linear-gradient(var(--eccgui-sticky-target-bgcolor, transparent), transparent);
54
+ }
24
55
  }
25
56
 
26
57
  .#{$eccgui}-sticky__target--bottom {
27
58
  --eccgui-sticky-target-applicationoffset: 0px;
28
59
 
29
60
  bottom: calc(var(--eccgui-sticky-target-applicationoffset) + var(--eccgui-sticky-target-localoffset, 0px));
61
+
62
+ &[class*="#{$eccgui}-sticky__target--maingapfill"]:before {
63
+ top: 100%;
64
+ }
65
+
66
+ &[class*="#{$eccgui}-sticky__target--secondarygapfill"]:after {
67
+ bottom: 100%;
68
+ }
69
+
70
+ &.#{$eccgui}-sticky__target--maingapfill-gradient:before {
71
+ background: linear-gradient(var(--eccgui-sticky-target-bgcolor, 90%, transparent), transparent);
72
+ }
73
+
74
+ &.#{$eccgui}-sticky__target--secondarygapfill-gradient:after {
75
+ background: linear-gradient(transparent, var(--eccgui-sticky-target-bgcolor, transparent));
76
+ }
30
77
  }
31
78
 
32
79
  .#{$eccgui}-sticky__target--bg-card {
33
- background-color: $card-background-color;
80
+ --eccgui-sticky-target-bgcolor: #{$card-background-color};
34
81
 
35
82
  .#{$eccgui}-card.#{$eccgui}-intent--primary & {
36
- background-color: color.mix($eccgui-color-primary, $card-background-color, 5%);
83
+ --eccgui-sticky-target-bgcolor: #{color.mix($eccgui-color-primary, $card-background-color, 5%)};
37
84
  }
38
85
  .#{$eccgui}-card.#{$eccgui}-intent--accent & {
39
- background-color: color.mix($eccgui-color-accent, $card-background-color, 10%);
86
+ --eccgui-sticky-target-bgcolor: #{color.mix($eccgui-color-accent, $card-background-color, 10%)};
40
87
  }
41
88
  .#{$eccgui}-card.#{$eccgui}-intent--success & {
42
- background-color: $eccgui-color-success-background;
89
+ --eccgui-sticky-target-bgcolor: #{$eccgui-color-success-background};
43
90
  }
44
91
  .#{$eccgui}-card.#{$eccgui}-intent--info & {
45
- background-color: $eccgui-color-info-background;
92
+ --eccgui-sticky-target-bgcolor: #{$eccgui-color-info-background};
46
93
  }
47
94
  .#{$eccgui}-card.#{$eccgui}-intent--warning & {
48
- background-color: $eccgui-color-warning-background;
95
+ --eccgui-sticky-target-bgcolor: #{$eccgui-color-warning-background};
49
96
  }
50
97
  .#{$eccgui}-card.#{$eccgui}-intent--danger & {
51
- background-color: $eccgui-color-danger-background;
98
+ --eccgui-sticky-target-bgcolor: #{$eccgui-color-danger-background};
52
99
  }
53
100
 
54
101
  .#{$eccgui}-card.#{$ns}-interactive:hover & {
55
- background-color: $button-background-color-hover;
102
+ --eccgui-sticky-target-bgcolor: #{$button-background-color-hover};
56
103
  }
57
104
 
58
105
  .#{$eccgui}-card.#{$ns}-selected & {
59
- background-color: $card-selected-background-color;
106
+ --eccgui-sticky-target-bgcolor: #{$card-selected-background-color};
60
107
  }
61
108
 
62
109
  .#{$eccgui}-card--elevated & {
63
- background-color: $button-background-color-active;
110
+ --eccgui-sticky-target-bgcolor: #{$button-background-color-active};
64
111
  }
65
112
  }
66
113
 
67
114
  .#{$eccgui}-sticky__target--bg-application {
68
- background-color: $eccgui-color-application-background;
115
+ --eccgui-sticky-target-bgcolor: #{$eccgui-color-application-background};
116
+ }
117
+
118
+ .#{$eccgui}-sticky__target--issticky {
119
+ &[class*="#{$eccgui}-sticky__target--maingapfill"]:before,
120
+ &[class*="#{$eccgui}-sticky__target--secondarygapfill"]:after {
121
+ content: "";
122
+ }
123
+ }
124
+
125
+ .#{$eccgui}-sticky__target--maingapfill-full:before,
126
+ .#{$eccgui}-sticky__target--secondarygapfill-full:after {
127
+ background: var(--eccgui-sticky-target-bgcolor, transparent);
69
128
  }
@@ -37,6 +37,9 @@ $input-button-height-small: math.div($eccgui-size-textfield-height-small, $eccgu
37
37
  // fixes
38
38
 
39
39
  .#{$ns}-input-group {
40
+ // fix for z-index rule of input group left icon
41
+ z-index: 0;
42
+
40
43
  // fix for correct fill/fullWidth option
41
44
  display: inline-block;
42
45
  &.#{$ns}-fill {