@ni/ok-components 1.5.0 → 1.5.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.
@@ -104794,6 +104794,7 @@ focus outline in that case.
104794
104794
  */
104795
104795
  this.open = false;
104796
104796
  this.focusLastItemWhenOpened = false;
104797
+ this.restoreRowMenuOpenOnClose = false;
104797
104798
  /** @internal */
104798
104799
  this.breakpointEnabledString = 'Breakpoint enabled';
104799
104800
  /** @internal */
@@ -104925,6 +104926,21 @@ focus outline in that case.
104925
104926
  this.region.anchorElement = this.button ?? this;
104926
104927
  }
104927
104928
  }
104929
+ openChanged(_prev, next) {
104930
+ const row = this.getOwningRow();
104931
+ if (!row) {
104932
+ return;
104933
+ }
104934
+ if (next) {
104935
+ this.restoreRowMenuOpenOnClose = !row.hasAttribute('menu-open');
104936
+ row.menuOpen = true;
104937
+ return;
104938
+ }
104939
+ if (this.restoreRowMenuOpenOnClose) {
104940
+ row.menuOpen = false;
104941
+ this.restoreRowMenuOpenOnClose = false;
104942
+ }
104943
+ }
104928
104944
  focusoutHandler(e) {
104929
104945
  if (!this.open) {
104930
104946
  return true;
@@ -105024,6 +105040,25 @@ focus outline in that case.
105024
105040
  this.$emit('cell-view-slots-request', eventDetail);
105025
105041
  this.open = true;
105026
105042
  }
105043
+ getOwningRow() {
105044
+ const rootNode = this.getRootNode();
105045
+ if (!(rootNode instanceof ShadowRoot)) {
105046
+ return undefined;
105047
+ }
105048
+ const tableCell = rootNode.host;
105049
+ if (!(tableCell instanceof HTMLElement)) {
105050
+ return undefined;
105051
+ }
105052
+ const rowRootNode = tableCell.getRootNode();
105053
+ if (!(rowRootNode instanceof ShadowRoot)) {
105054
+ return undefined;
105055
+ }
105056
+ const tableRow = rowRootNode.host;
105057
+ if (!(tableRow instanceof HTMLElement) || tableRow.localName !== 'nimble-table-row') {
105058
+ return undefined;
105059
+ }
105060
+ return tableRow;
105061
+ }
105027
105062
  getRequestedStateFromEvent(event) {
105028
105063
  const target = event.target;
105029
105064
  if (!(target instanceof HTMLElement)) {