@shoper/phoenix_design_system 1.17.5 → 1.17.6-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.
@@ -15,7 +15,7 @@ exports.HDropdownToggler = class HDropdownToggler extends phoenix_light_lit_elem
15
15
  constructor() {
16
16
  super();
17
17
  this.name = '';
18
- this.ariaHasPopup = 'menu';
18
+ this.ariaHasPopup = 'dialog';
19
19
  this.ariaControls = '';
20
20
  this.role = 'button';
21
21
  this._setupTogglerAria = () => {
@@ -12,6 +12,14 @@ exports.HTabPanel = class HTabPanel extends phoenix_light_lit_element.PhoenixLig
12
12
  constructor() {
13
13
  super();
14
14
  this._visibilityController = new visibility_controller.VisibilityController(this);
15
+ this.setAttribute('role', 'tabpanel');
16
+ }
17
+ connectedCallback() {
18
+ super.connectedCallback();
19
+ const $tab = document.querySelector(`[panel-name="${this.name}"]`);
20
+ if ($tab && $tab.id) {
21
+ this.setAttribute('aria-labelledby', $tab.id);
22
+ }
15
23
  }
16
24
  show() {
17
25
  this._visibilityController.show();
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -16,13 +16,12 @@ exports.HTabs = class HTabs extends phoenix_light_lit_element.PhoenixLightLitEle
16
16
  constructor() {
17
17
  super(...arguments);
18
18
  this.watchChildrenRendered = true;
19
- this._handleArrowNavigation = ({ key }) => {
19
+ this._handleArrowNavigation = (ev) => {
20
+ ev.preventDefault();
20
21
  const currentTabIndex = this._getFocusedTabIndex();
21
22
  if (currentTabIndex === undefined)
22
23
  return;
23
- const newTabIndex = key === 'ArrowLeft' ? this._getPrevTabIndex(currentTabIndex) : this._getNextTabIndex(currentTabIndex);
24
- if (newTabIndex === undefined)
25
- return;
24
+ const newTabIndex = ev.key === 'ArrowLeft' ? this._getPrevTabIndex(currentTabIndex) : this._getNextTabIndex(currentTabIndex);
26
25
  utilities.UiDomUtils.makeUnnavigable(this._$tabs[currentTabIndex]);
27
26
  utilities.UiDomUtils.makeNavigable(this._$tabs[newTabIndex]);
28
27
  this._$tabs[newTabIndex].focus();
@@ -59,14 +58,10 @@ exports.HTabs = class HTabs extends phoenix_light_lit_element.PhoenixLightLitEle
59
58
  return this._$tabs.findIndex(($tab) => $tab === focusedElement);
60
59
  }
61
60
  _getNextTabIndex(currentTabIndex) {
62
- if (currentTabIndex >= this._$tabs.length - 1)
63
- return;
64
- return currentTabIndex + 1;
61
+ return (currentTabIndex + 1) % this._$tabs.length;
65
62
  }
66
63
  _getPrevTabIndex(currentTabIndex) {
67
- if (currentTabIndex <= 0)
68
- return;
69
- return currentTabIndex - 1;
64
+ return (currentTabIndex - 1 + this._$tabs.length) % this._$tabs.length;
70
65
  }
71
66
  _setupEvents() {
72
67
  document.addEventListener(tab_constants.TAB_EVENT_NAMES.selected, this._handleTabSelected);
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -16,17 +16,22 @@ exports.HToggleBtn = class HToggleBtn extends phoenix_light_lit_element.PhoenixL
16
16
  constructor() {
17
17
  super();
18
18
  this.action = toggle_constants.TOGGLE_ACTIONS.collapse;
19
- this._visibility = {
20
- collapse: (isOpened) => {
21
- isOpened ? this._visibilityController.show() : this._visibilityController.hide();
22
- },
23
- expand: (isOpened) => {
24
- isOpened ? this._visibilityController.hide() : this._visibilityController.show();
19
+ this._handleVisibilityChange = (isOpened) => {
20
+ var _a;
21
+ const shouldFocus = this === document.activeElement;
22
+ isOpened ? this._visibilityController.hide() : this._visibilityController.show();
23
+ if (shouldFocus) {
24
+ const $collapseToggleBtn = (_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.querySelector(`[action="${toggle_constants.TOGGLE_ACTIONS.collapse}"]`);
25
+ $collapseToggleBtn === null || $collapseToggleBtn === void 0 ? void 0 : $collapseToggleBtn.focus();
25
26
  }
26
27
  };
27
28
  this._dispatchToggleEvent = () => {
28
29
  this.emitCustomEvent(toggle_constants.TOGGLE_BUTTON_EVENTS.toggle);
29
30
  };
31
+ this._visibility = {
32
+ collapse: this._handleVisibilityChange,
33
+ expand: this._handleVisibilityChange
34
+ };
30
35
  this._btnController = new btn_controller.BtnController(this, this._dispatchToggleEvent);
31
36
  this._visibilityController = new visibility_controller.VisibilityController(this);
32
37
  }
@@ -38,10 +43,12 @@ exports.HToggleBtn = class HToggleBtn extends phoenix_light_lit_element.PhoenixL
38
43
  this._visibility[this.action](isOpened);
39
44
  });
40
45
  this._opened$.subscribe(this._openedObserver);
46
+ this.setAttribute('aria-expanded', this.action === toggle_constants.TOGGLE_ACTIONS.collapse ? 'true' : 'false');
41
47
  this.addEventListener('click', this._dispatchToggleEvent);
42
48
  }
43
49
  disconnectedCallback() {
44
- this._opened$.unsubscribe(this._openedObserver);
50
+ super.disconnectedCallback();
51
+ this._openedObserver && this._opened$.unsubscribe(this._openedObserver);
45
52
  }
46
53
  };
47
54
  tslib_es6.__decorate([
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -11,7 +11,7 @@ let HDropdownToggler = class HDropdownToggler extends PhoenixLightLitElement {
11
11
  constructor() {
12
12
  super();
13
13
  this.name = '';
14
- this.ariaHasPopup = 'menu';
14
+ this.ariaHasPopup = 'dialog';
15
15
  this.ariaControls = '';
16
16
  this.role = 'button';
17
17
  this._setupTogglerAria = () => {
@@ -3,6 +3,7 @@ export declare class HTabPanel extends PhoenixLightLitElement {
3
3
  name: string;
4
4
  private _visibilityController;
5
5
  constructor();
6
+ connectedCallback(): void;
6
7
  show(): void;
7
8
  hide(): void;
8
9
  }
@@ -8,6 +8,14 @@ let HTabPanel = class HTabPanel extends PhoenixLightLitElement {
8
8
  constructor() {
9
9
  super();
10
10
  this._visibilityController = new VisibilityController(this);
11
+ this.setAttribute('role', 'tabpanel');
12
+ }
13
+ connectedCallback() {
14
+ super.connectedCallback();
15
+ const $tab = document.querySelector(`[panel-name="${this.name}"]`);
16
+ if ($tab && $tab.id) {
17
+ this.setAttribute('aria-labelledby', $tab.id);
18
+ }
11
19
  }
12
20
  show() {
13
21
  this._visibilityController.show();
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -12,13 +12,12 @@ let HTabs = class HTabs extends PhoenixLightLitElement {
12
12
  constructor() {
13
13
  super(...arguments);
14
14
  this.watchChildrenRendered = true;
15
- this._handleArrowNavigation = ({ key }) => {
15
+ this._handleArrowNavigation = (ev) => {
16
+ ev.preventDefault();
16
17
  const currentTabIndex = this._getFocusedTabIndex();
17
18
  if (currentTabIndex === undefined)
18
19
  return;
19
- const newTabIndex = key === 'ArrowLeft' ? this._getPrevTabIndex(currentTabIndex) : this._getNextTabIndex(currentTabIndex);
20
- if (newTabIndex === undefined)
21
- return;
20
+ const newTabIndex = ev.key === 'ArrowLeft' ? this._getPrevTabIndex(currentTabIndex) : this._getNextTabIndex(currentTabIndex);
22
21
  UiDomUtils.makeUnnavigable(this._$tabs[currentTabIndex]);
23
22
  UiDomUtils.makeNavigable(this._$tabs[newTabIndex]);
24
23
  this._$tabs[newTabIndex].focus();
@@ -55,14 +54,10 @@ let HTabs = class HTabs extends PhoenixLightLitElement {
55
54
  return this._$tabs.findIndex(($tab) => $tab === focusedElement);
56
55
  }
57
56
  _getNextTabIndex(currentTabIndex) {
58
- if (currentTabIndex >= this._$tabs.length - 1)
59
- return;
60
- return currentTabIndex + 1;
57
+ return (currentTabIndex + 1) % this._$tabs.length;
61
58
  }
62
59
  _getPrevTabIndex(currentTabIndex) {
63
- if (currentTabIndex <= 0)
64
- return;
65
- return currentTabIndex - 1;
60
+ return (currentTabIndex - 1 + this._$tabs.length) % this._$tabs.length;
66
61
  }
67
62
  _setupEvents() {
68
63
  document.addEventListener(TAB_EVENT_NAMES.selected, this._handleTabSelected);
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -8,6 +8,7 @@ export declare class HToggleBtn extends PhoenixLightLitElement {
8
8
  action: "collapse";
9
9
  private _visibility;
10
10
  constructor();
11
+ private _handleVisibilityChange;
11
12
  connectedCallback(): Promise<void>;
12
13
  disconnectedCallback(): void;
13
14
  private _dispatchToggleEvent;
@@ -12,17 +12,22 @@ let HToggleBtn = class HToggleBtn extends PhoenixLightLitElement {
12
12
  constructor() {
13
13
  super();
14
14
  this.action = TOGGLE_ACTIONS.collapse;
15
- this._visibility = {
16
- collapse: (isOpened) => {
17
- isOpened ? this._visibilityController.show() : this._visibilityController.hide();
18
- },
19
- expand: (isOpened) => {
20
- isOpened ? this._visibilityController.hide() : this._visibilityController.show();
15
+ this._handleVisibilityChange = (isOpened) => {
16
+ var _a;
17
+ const shouldFocus = this === document.activeElement;
18
+ isOpened ? this._visibilityController.hide() : this._visibilityController.show();
19
+ if (shouldFocus) {
20
+ const $collapseToggleBtn = (_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.querySelector(`[action="${TOGGLE_ACTIONS.collapse}"]`);
21
+ $collapseToggleBtn === null || $collapseToggleBtn === void 0 ? void 0 : $collapseToggleBtn.focus();
21
22
  }
22
23
  };
23
24
  this._dispatchToggleEvent = () => {
24
25
  this.emitCustomEvent(TOGGLE_BUTTON_EVENTS.toggle);
25
26
  };
27
+ this._visibility = {
28
+ collapse: this._handleVisibilityChange,
29
+ expand: this._handleVisibilityChange
30
+ };
26
31
  this._btnController = new BtnController(this, this._dispatchToggleEvent);
27
32
  this._visibilityController = new VisibilityController(this);
28
33
  }
@@ -34,10 +39,12 @@ let HToggleBtn = class HToggleBtn extends PhoenixLightLitElement {
34
39
  this._visibility[this.action](isOpened);
35
40
  });
36
41
  this._opened$.subscribe(this._openedObserver);
42
+ this.setAttribute('aria-expanded', this.action === TOGGLE_ACTIONS.collapse ? 'true' : 'false');
37
43
  this.addEventListener('click', this._dispatchToggleEvent);
38
44
  }
39
45
  disconnectedCallback() {
40
- this._opened$.unsubscribe(this._openedObserver);
46
+ super.disconnectedCallback();
47
+ this._openedObserver && this._opened$.unsubscribe(this._openedObserver);
41
48
  }
42
49
  };
43
50
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@shoper/phoenix_design_system",
3
3
  "packageManager": "yarn@3.2.0",
4
4
  "sideEffects": false,
5
- "version": "1.17.5",
5
+ "version": "1.17.6-1",
6
6
  "description": "phoenix design system",
7
7
  "author": "zefirek",
8
8
  "license": "MIT",