@stack-spot/portal-layout 2.16.1 → 2.17.1

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
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.17.1](https://github.com/stack-spot/portal-commons/compare/portal-layout@v2.17.0...portal-layout@v2.17.1) (2024-11-28)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Remove target blank ([#514](https://github.com/stack-spot/portal-commons/issues/514)) ([5564d17](https://github.com/stack-spot/portal-commons/commit/5564d1751febd8926c2e6b4973f7af514d6b905f))
9
+
10
+ ## [2.17.0](https://github.com/stack-spot/portal-commons/compare/portal-layout@v2.16.1...portal-layout@v2.17.0) (2024-11-28)
11
+
12
+
13
+ ### Features
14
+
15
+ * add prop to set modal initial focus ([abcc153](https://github.com/stack-spot/portal-commons/commit/abcc1532c85c426c837fdef5b3689c583ade89ac))
16
+
3
17
  ## [2.16.1](https://github.com/stack-spot/portal-commons/compare/portal-layout@v2.16.0...portal-layout@v2.16.1) (2024-11-27)
4
18
 
5
19
 
@@ -20,6 +20,11 @@ interface CustomModalOptions {
20
20
  * A function to call when the modal closes.
21
21
  */
22
22
  onClose?: () => void;
23
+ /**
24
+ * Property that defines whether the modal should ignore the initial focus on the close button.
25
+ * @default true
26
+ */
27
+ ignoreFirstFocusOnCloseButton?: boolean;
23
28
  }
24
29
  interface CustomRightPanelOptions {
25
30
  /**
@@ -91,7 +96,7 @@ declare class LayoutOverlayManager {
91
96
  * @param content a react element with the modal content.
92
97
  * @param options the modal options {@link CustomModalOptions}.
93
98
  */
94
- showCustomModal(content: React.ReactElement, { size, onClose }?: CustomModalOptions): void;
99
+ showCustomModal(content: React.ReactElement, { size, onClose, ignoreFirstFocusOnCloseButton }?: CustomModalOptions): void;
95
100
  /**
96
101
  * Opens a modal.
97
102
  *
@@ -100,8 +105,9 @@ declare class LayoutOverlayManager {
100
105
  *
101
106
  * @param options the modal options: {@link OverlayContentProps} & { size: {@link ModalSize} }.
102
107
  */
103
- showModal({ size, ...props }: OverlayContentProps & {
108
+ showModal({ size, ignoreFirstFocusOnCloseButton, ...props }: OverlayContentProps & {
104
109
  size?: ModalSize;
110
+ ignoreFirstFocusOnCloseButton?: boolean;
105
111
  }): void;
106
112
  private showDialog;
107
113
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutOverlayManager.d.ts","sourceRoot":"","sources":["../src/LayoutOverlayManager.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LayoutOverlayManager.d.ts","sourceRoot":"","sources":["../src/LayoutOverlayManager.tsx"],"names":[],"mappings":"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"}
@@ -150,14 +150,15 @@ class LayoutOverlayManager {
150
150
  this.setInteractivity(this.elements?.menu, interactive);
151
151
  this.elements?.backdrop?.setAttribute('class', interactive ? '' : 'visible');
152
152
  }
153
- showOverlay(element, extraClasses = [], blockMainContent = true, manageClasses = true) {
153
+ showOverlay(element, extraClasses = [], blockMainContent = true, manageClasses = true, ignoreFirstFocusOnCloseButton = true) {
154
154
  this.lastActiveElement = document.activeElement;
155
155
  if (manageClasses)
156
156
  element?.classList.add('visible', ...extraClasses);
157
157
  this.setInteractivity(element, true);
158
158
  if (blockMainContent)
159
159
  this.setMainContentInteractivity(false);
160
- setTimeout(() => focusFirstChild(element, { priority: [['input', 'textarea', 'select', 'other', 'button']], ignore: `#${CLOSE_OVERLAY_ID}` }), 50);
160
+ setTimeout(() => focusFirstChild(element, { priority: [['input', 'textarea', 'select', 'other', 'button']],
161
+ ...(ignoreFirstFocusOnCloseButton ? { ignore: `#${CLOSE_OVERLAY_ID}` } : {}) }), 50);
161
162
  }
162
163
  hideOverlay(element, manageClasses = true) {
163
164
  if (manageClasses)
@@ -214,14 +215,14 @@ class LayoutOverlayManager {
214
215
  * @param content a react element with the modal content.
215
216
  * @param options the modal options {@link CustomModalOptions}.
216
217
  */
217
- showCustomModal(content, { size = 'medium', onClose } = {}) {
218
+ showCustomModal(content, { size = 'medium', onClose, ignoreFirstFocusOnCloseButton = true } = {}) {
218
219
  if (!this.elements?.modal)
219
220
  throw new ElementNotFound('modal', elementIds.modal);
220
221
  if (!this.setContent.modal)
221
222
  throw new LayoutError('unable to show modal, because it has not been setup yet.');
222
223
  this.onModalClose = onClose;
223
224
  this.setContent.modal(content);
224
- this.showOverlay(this.elements.modal, [size]);
225
+ this.showOverlay(this.elements.modal, [size], true, true, ignoreFirstFocusOnCloseButton);
225
226
  }
226
227
  /**
227
228
  * Opens a modal.
@@ -231,17 +232,17 @@ class LayoutOverlayManager {
231
232
  *
232
233
  * @param options the modal options: {@link OverlayContentProps} & { size: {@link ModalSize} }.
233
234
  */
234
- showModal({ size, ...props }) {
235
- this.showCustomModal(_jsx(OverlayContent, { ...props, onClose: () => this.closeModal(), type: "modal" }), { size, onClose: props.onClose });
235
+ showModal({ size, ignoreFirstFocusOnCloseButton, ...props }) {
236
+ this.showCustomModal(_jsx(OverlayContent, { ...props, onClose: () => this.closeModal(), type: "modal" }), { size, onClose: props.onClose, ignoreFirstFocusOnCloseButton });
236
237
  }
237
- showDialog(options) {
238
+ showDialog({ ignoreFirstFocusOnCloseButton = false, options }) {
238
239
  let dialogResult = false;
239
240
  return new Promise((resolve, reject) => {
240
241
  try {
241
242
  this.showCustomModal(_jsx(Dialog, { ...options, onCancel: () => this.closeModal(), onConfirm: () => {
242
243
  dialogResult = true;
243
244
  this.closeModal();
244
- } }), { size: 'small', onClose: () => resolve(dialogResult) });
245
+ } }), { size: 'small', onClose: () => resolve(dialogResult), ignoreFirstFocusOnCloseButton });
245
246
  }
246
247
  catch (error) {
247
248
  reject(error);
@@ -258,7 +259,14 @@ class LayoutOverlayManager {
258
259
  */
259
260
  confirm({ confirm, cancel, ...options }) {
260
261
  const t = getDictionary();
261
- return this.showDialog({ ...options, confirm: confirm || t.confirm, cancel: cancel || t.cancel });
262
+ return this.showDialog({
263
+ ignoreFirstFocusOnCloseButton: !!options.validation,
264
+ options: {
265
+ ...options,
266
+ confirm: confirm || t.confirm,
267
+ cancel: cancel || t.cancel,
268
+ },
269
+ });
262
270
  }
263
271
  /**
264
272
  * Shows an alert dialog and returns a promise that resolves as soon as the dialog is closed.
@@ -268,7 +276,13 @@ class LayoutOverlayManager {
268
276
  */
269
277
  async alert({ confirm, showButton = true, ...options }) {
270
278
  const t = getDictionary();
271
- await this.showDialog({ ...options, confirm: showButton ? (confirm || t.confirm) : undefined });
279
+ await this.showDialog({
280
+ ignoreFirstFocusOnCloseButton: !!options.validation,
281
+ options: {
282
+ ...options,
283
+ confirm: showButton ? (confirm || t.confirm) : undefined,
284
+ },
285
+ });
272
286
  }
273
287
  /**
274
288
  * Shows a message at the bottom of the window and asks the user to confirm or decline it. The return value is a promise that resolves as
@@ -287,7 +301,7 @@ class LayoutOverlayManager {
287
301
  throw new LayoutError('unable to show bottom dialog, because it has not been setup yet.');
288
302
  return new Promise((resolve) => {
289
303
  this.setContent.bottomDialog?.(_jsxs(_Fragment, { children: [children, _jsxs("div", { className: "btn-group", children: [cancel && _jsx(Button, { onClick: () => resolve(false), colorScheme: "light", appearance: "outlined", children: cancel }), confirm && _jsx(Button, { onClick: () => resolve(true), colorScheme: "light", children: confirm })] })] }));
290
- this.showOverlay(this.elements?.bottomDialog, undefined, false);
304
+ this.showOverlay(this.elements?.bottomDialog, undefined, false, true, true);
291
305
  });
292
306
  }
293
307
  /**
@@ -309,7 +323,7 @@ class LayoutOverlayManager {
309
323
  this.setContent.rightPanel(content);
310
324
  this.elements?.rightPanel.classList.add(size);
311
325
  setTimeout(() => {
312
- this.showOverlay(this.elements?.rightPanel);
326
+ this.showOverlay(this.elements?.rightPanel, [], true, true);
313
327
  });
314
328
  }
315
329
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutOverlayManager.js","sourceRoot":"","sources":["../src/LayoutOverlayManager.tsx"],"names":[],"mappings":";AAAA,+CAA+C;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AACvF,OAAO,EAAgB,eAAe,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAiB,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAuB,MAAM,6BAA6B,CAAA;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAkB,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EAA+C,iBAAiB,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE3H,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAyC1C,SAAS,oBAAoB,CAAC,IAA4B,EAAE,MAAc;IACxE,OAAO;sDAC6C,IAAI,sCAAsC,IAAI,eAAe,MAAM;;;;GAItH,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,oBAAoB;IAA1B;QAEU;;;;mBAAmC,EAAE;WAAA;QACrC;;;;;WAAyB;QACzB;;;;;WAAyB;QACjC;;WAEG;QACK;;;;mBAAoC,IAAI;WAAA;QAmbhD;;;WAGG;QACH;;;;mBAAe,iBAAiB;WAAA;IAClC,CAAC;IAtbS,oBAAoB,CAAC,QAA6B;QACxD,iIAAiI;QACjI,6CAA6C;QAC7C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAE,OAAO,CAAC,aAAa,CAAC,8BAA8B,CAAiB,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;IAChH,CAAC;IAEO,eAAe,CAAC,KAAiB;QACvC,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAc,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAA;aAC/F,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAc,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAA;aACnH,CAAC;YACJ,MAAM,eAAe,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAA;YAC3D,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC3B,IAAI,aAAa,GAAG,KAAK,CAAA;gBACzB,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAClC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC;wBAAE,aAAa,GAAG,IAAI,CAAA;gBAClE,CAAC,CAAC,CAAA;gBACF,IAAI,CAAC,aAAa;oBAAE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAA;YAChE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,KAAoB;QAC/C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;YAAE,OAAM;QAClC,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,UAAU,EAAE,CAAA;QACzC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAAE,IAAI,CAAC,eAAe,EAAE,CAAA;aAC9C,CAAC;YACJ,MAAM,eAAe,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAA;YAC3D,IAAI,eAAe,CAAC,MAAM;gBAAE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAA;;gBACjE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAA;QAC7C,CAAC;QACD,KAAK,CAAC,cAAc,EAAE,CAAA;IACxB,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,QAAQ,GAAG,iBAAiB,EAAE,CAAA;QACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7F,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAA;QAChG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QAClD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;QACvD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;IAC3D,CAAC;IAEO,4BAA4B;QAClC,OAAO,QAAQ,CAAC,gBAAgB,CAAC,wCAAwC,CAAC,CAAA;IAC5E,CAAC;IAED;;;;OAIG;IACH,WAAW;QACT,eAAe,CAAC,GAAG,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1C,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAA4B,CAAA;QAC9D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,EAA4B,CAAA;QACxE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAA4B,CAAA;QAC5E,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAA;QAChC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,aAAa,CAAA;QAC1C,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,eAAe,CAAA;QAC9C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,CAAA;IAC5C,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,OAAuC,EAAE,WAAoB;QACpF,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;YACjC,OAAO,EAAE,eAAe,CAAC,aAAa,CAAC,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;YACxC,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;IAEO,2BAA2B,CAAC,WAAoB;QACtD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;QACvD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;QACzD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;QACvD,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC9E,CAAC;IAEO,WAAW,CAAC,OAAuC,EAAE,eAAyB,EAAE,EAAE,gBAAgB,GAAG,IAAI,EAAE,aAAa,GAAG,IAAI;QACrI,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAA;QAC/C,IAAI,aAAa;YAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,YAAY,CAAC,CAAA;QACrE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACpC,IAAI,gBAAgB;YAAE,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAA;QAC7D,UAAU,CAAC,GAAG,EAAE,CAAC,eAAe,CAC9B,OAAO,EACP,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,gBAAgB,EAAE,EAAE,CACnG,EAAE,EAAE,CAAC,CAAA;IACR,CAAC;IAEO,WAAW,CAAC,OAAuC,EAAE,aAAa,GAAG,IAAI;QAC/E,IAAI,aAAa;YAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QACrD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QACrC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,OAA4B;QACvC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,OAA4B;QACxC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAuC,CAAA;QACtE,iBAAiB,EAAE,KAAK,EAAE,EAAE,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAA;IACrE,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAA;IAC1E,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAA;IAC5E,CAAC;IAED;;;;;;;;OAQG;IACH,eAAe,CAAC,OAA2B,EAAE,EAAE,IAAI,GAAG,QAAQ,EAAE,OAAO,KAAyB,EAAE;QAChG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK;YAAE,MAAM,IAAI,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;QAC/E,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;YAAE,MAAM,IAAI,WAAW,CAAC,0DAA0D,CAAC,CAAA;QAC7G,IAAI,CAAC,YAAY,GAAG,OAAO,CAAA;QAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,EAA8C;QACtE,IAAI,CAAC,eAAe,CAAC,KAAC,cAAc,OAAK,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAC,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IACtI,CAAC;IAEO,UAAU,CAAC,OAAsB;QACvC,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC;gBACH,IAAI,CAAC,eAAe,CAClB,KAAC,MAAM,OACD,OAAO,EACX,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EACjC,SAAS,EAAE,GAAG,EAAE;wBACd,YAAY,GAAG,IAAI,CAAA;wBACnB,IAAI,CAAC,UAAU,EAAE,CAAA;oBACnB,CAAC,GACD,EACF,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CACxD,CAAA;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAA;YACf,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,EAAiB;QACpD,MAAM,CAAC,GAAG,aAAa,EAAE,CAAA;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;IACnG,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,OAAO,EAAgB;QAClE,MAAM,CAAC,GAAG,aAAa,EAAE,CAAA;QACzB,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAA;IACjG,CAAC;IAED;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAuB;QACjE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY;YAAE,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;QACrG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY;YAAE,MAAM,IAAI,WAAW,CAAC,kEAAkE,CAAC,CAAA;QAC5H,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAC5B,8BACG,QAAQ,EACT,eAAK,SAAS,EAAC,WAAW,aACvB,MAAM,IAAI,KAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,EAAC,OAAO,EAAC,UAAU,EAAC,UAAU,YAAE,MAAM,GAAU,EAC5G,OAAO,IAAI,KAAC,MAAM,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAC,OAAO,YAAE,OAAO,GAAU,IACpF,IACL,CACJ,CAAA;YACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,oBAAoB,CAAC,OAAqB,EAAE,EAAE,IAAI,GAAG,QAAQ,EAAE,OAAO,KAA8B,EAAE;QACpG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU;YAAE,MAAM,IAAI,eAAe,CAAC,qBAAqB,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;QACvG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU;YAAE,MAAM,IAAI,WAAW,CAAC,wEAAwE,CAAC,CAAA;QAChI,IAAI,CAAC,YAAY,GAAG,OAAO,CAAA;QAC3B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACnC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC7C,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,EAAmD;QAChF,IAAI,CAAC,oBAAoB,CACvB,KAAC,cAAc,OAAK,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAC,OAAO,GAAG,EACjF,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CACjC,CAAA;IACH,CAAC;IAED;;;OAGG;IACK,sBAAsB;QAC5B,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC9C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;IAC/B,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,gBAAgB,GAAG,IAAI;QAChC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACjD,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QAClD,IAAI,gBAAgB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAA;YACjC,gHAAgH;YAChH,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;YAC7B,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,WAAW,GAAG,UAAU,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CAAC,GAAG,IAAI,CAAA;QACrF,UAAU,CACR,GAAG,EAAE;YACH,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3D,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;gBACxD,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YACnD,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK;gBAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YAC3D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YACtC,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAC/B,CAAC,EACD,WAAW,CACZ,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,gBAAgB,GAAG,IAAI;QACrC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACtD,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QAClD,IAAI,gBAAgB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAA;YACjC,qHAAqH;YACrH,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;YAC7B,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,WAAW,GAAG,UAAU,CAAC,gBAAgB,CAAC,kCAAkC,CAAC,CAAC,GAAG,IAAI,CAAA;QAC3F,UAAU,CACR,GAAG,EAAE;YACH,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3D,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;gBAC7D,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YACxD,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;YACrE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;YAC3C,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAC/B,CAAC,EACD,WAAW,CACZ,CAAA;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAC/C,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,OAAoB;QAChC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IAClD,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,OAAoB;QACrC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;IACvD,CAAC;IAmDD,WAAW,CAAC,OAAY;QACtB,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC;CAOF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAA"}
1
+ {"version":3,"file":"LayoutOverlayManager.js","sourceRoot":"","sources":["../src/LayoutOverlayManager.tsx"],"names":[],"mappings":"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"}
@@ -85,7 +85,7 @@ export const PortalSwitcher = ({ portals = [] }) => {
85
85
  id: portal.acronym,
86
86
  element: _jsx(Flex, { w: "250px", children: Logos[portal.acronym] }),
87
87
  },
88
- target: '_blank',
88
+ target: '_self',
89
89
  href: portal.url,
90
90
  active: currentPortal?.acronym == portal.acronym,
91
91
  iconActive: _jsx(CheckCircleFill, {}),
@@ -1 +1 @@
1
- {"version":3,"file":"PortalSwitcher.js","sourceRoot":"","sources":["../../src/components/PortalSwitcher.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PortalSwitcher.js","sourceRoot":"","sources":["../../src/components/PortalSwitcher.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stack-spot/portal-layout",
3
- "version": "2.16.1",
3
+ "version": "2.17.1",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -38,6 +38,11 @@ interface CustomModalOptions {
38
38
  * A function to call when the modal closes.
39
39
  */
40
40
  onClose?: () => void,
41
+ /**
42
+ * Property that defines whether the modal should ignore the initial focus on the close button.
43
+ * @default true
44
+ */
45
+ ignoreFirstFocusOnCloseButton?: boolean,
41
46
  }
42
47
 
43
48
  interface CustomRightPanelOptions {
@@ -158,14 +163,21 @@ class LayoutOverlayManager {
158
163
  this.elements?.backdrop?.setAttribute('class', interactive ? '' : 'visible')
159
164
  }
160
165
 
161
- private showOverlay(element: HTMLElement | null | undefined, extraClasses: string[] = [], blockMainContent = true, manageClasses = true) {
166
+ private showOverlay(element: HTMLElement | null | undefined,
167
+ extraClasses: string[] = [],
168
+ blockMainContent = true,
169
+ manageClasses = true,
170
+ ignoreFirstFocusOnCloseButton = true,
171
+ ) {
162
172
  this.lastActiveElement = document.activeElement
173
+
163
174
  if (manageClasses) element?.classList.add('visible', ...extraClasses)
164
175
  this.setInteractivity(element, true)
165
176
  if (blockMainContent) this.setMainContentInteractivity(false)
166
177
  setTimeout(() => focusFirstChild(
167
178
  element,
168
- { priority: [['input', 'textarea', 'select', 'other', 'button']], ignore: `#${CLOSE_OVERLAY_ID}` },
179
+ { priority: [['input', 'textarea', 'select', 'other', 'button']] as const,
180
+ ...(ignoreFirstFocusOnCloseButton ? { ignore: `#${CLOSE_OVERLAY_ID}` } : {}) },
169
181
  ), 50)
170
182
  }
171
183
 
@@ -229,12 +241,13 @@ class LayoutOverlayManager {
229
241
  * @param content a react element with the modal content.
230
242
  * @param options the modal options {@link CustomModalOptions}.
231
243
  */
232
- showCustomModal(content: React.ReactElement, { size = 'medium', onClose }: CustomModalOptions = {}) {
244
+ showCustomModal(content: React.ReactElement,
245
+ { size = 'medium', onClose, ignoreFirstFocusOnCloseButton = true }: CustomModalOptions = {}) {
233
246
  if (!this.elements?.modal) throw new ElementNotFound('modal', elementIds.modal)
234
247
  if (!this.setContent.modal) throw new LayoutError('unable to show modal, because it has not been setup yet.')
235
248
  this.onModalClose = onClose
236
249
  this.setContent.modal(content)
237
- this.showOverlay(this.elements.modal, [size])
250
+ this.showOverlay(this.elements.modal, [size], true, true, ignoreFirstFocusOnCloseButton)
238
251
  }
239
252
 
240
253
  /**
@@ -245,11 +258,15 @@ class LayoutOverlayManager {
245
258
  *
246
259
  * @param options the modal options: {@link OverlayContentProps} & { size: {@link ModalSize} }.
247
260
  */
248
- showModal({ size, ...props }: OverlayContentProps & { size?: ModalSize }) {
249
- this.showCustomModal(<OverlayContent {...props} onClose={() => this.closeModal()} type="modal" />, { size, onClose: props.onClose })
250
- }
251
-
252
- private showDialog(options: DialogOptions): Promise<boolean> {
261
+
262
+ showModal({ size, ignoreFirstFocusOnCloseButton, ...props }:OverlayContentProps &
263
+ { size?: ModalSize, ignoreFirstFocusOnCloseButton?: boolean }) {
264
+ this.showCustomModal(<OverlayContent {...props} onClose={() => this.closeModal()} type="modal" />,
265
+ { size, onClose: props.onClose, ignoreFirstFocusOnCloseButton })
266
+ }
267
+
268
+ private showDialog({ ignoreFirstFocusOnCloseButton = false, options }:
269
+ { ignoreFirstFocusOnCloseButton?: boolean, options: DialogOptions }): Promise<boolean> {
253
270
  let dialogResult = false
254
271
  return new Promise((resolve, reject) => {
255
272
  try {
@@ -262,7 +279,7 @@ class LayoutOverlayManager {
262
279
  this.closeModal()
263
280
  }}
264
281
  />,
265
- { size: 'small', onClose: () => resolve(dialogResult) },
282
+ { size: 'small', onClose: () => resolve(dialogResult), ignoreFirstFocusOnCloseButton },
266
283
  )
267
284
  } catch (error) {
268
285
  reject(error)
@@ -280,7 +297,14 @@ class LayoutOverlayManager {
280
297
  */
281
298
  confirm({ confirm, cancel, ...options }: DialogOptions): Promise<boolean> {
282
299
  const t = getDictionary()
283
- return this.showDialog({ ...options, confirm: confirm || t.confirm, cancel: cancel || t.cancel })
300
+ return this.showDialog({
301
+ ignoreFirstFocusOnCloseButton: !!options.validation,
302
+ options: {
303
+ ...options,
304
+ confirm: confirm || t.confirm,
305
+ cancel: cancel || t.cancel,
306
+ },
307
+ })
284
308
  }
285
309
 
286
310
  /**
@@ -291,7 +315,13 @@ class LayoutOverlayManager {
291
315
  */
292
316
  async alert({ confirm, showButton = true, ...options }: AlertOptions): Promise<void> {
293
317
  const t = getDictionary()
294
- await this.showDialog({ ...options, confirm: showButton ? (confirm || t.confirm) : undefined })
318
+ await this.showDialog({
319
+ ignoreFirstFocusOnCloseButton: !!options.validation,
320
+ options: {
321
+ ...options,
322
+ confirm: showButton ? (confirm || t.confirm) : undefined,
323
+ },
324
+ })
295
325
  }
296
326
 
297
327
  /**
@@ -317,7 +347,7 @@ class LayoutOverlayManager {
317
347
  </div>
318
348
  </>,
319
349
  )
320
- this.showOverlay(this.elements?.bottomDialog, undefined, false)
350
+ this.showOverlay(this.elements?.bottomDialog, undefined, false, true, true)
321
351
  })
322
352
  }
323
353
 
@@ -338,7 +368,7 @@ class LayoutOverlayManager {
338
368
  this.setContent.rightPanel(content)
339
369
  this.elements?.rightPanel.classList.add(size)
340
370
  setTimeout(() => {
341
- this.showOverlay(this.elements?.rightPanel)
371
+ this.showOverlay(this.elements?.rightPanel, [], true, true)
342
372
  })
343
373
  }
344
374
 
@@ -128,7 +128,7 @@ export const PortalSwitcher = ({ portals = [] }: PortalSwitcherProps) => {
128
128
  id: portal.acronym,
129
129
  element: <Flex w="250px">{Logos[portal.acronym]}</Flex>,
130
130
  },
131
- target: '_blank',
131
+ target: '_self',
132
132
  href: portal.url,
133
133
  active: currentPortal?.acronym == portal.acronym,
134
134
  iconActive: <CheckCircleFill />,