@primer/view-components 0.31.0-rc.9fb3fcc2 → 0.31.0-rc.b32b76aa
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 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
15
15
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
16
16
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
17
17
|
};
|
18
|
-
var _SelectPanelElement_instances, _SelectPanelElement_dialogIntersectionObserver, _SelectPanelElement_abortController, _SelectPanelElement_originalLabel, _SelectPanelElement_inputName, _SelectPanelElement_selectedItems, _SelectPanelElement_loadingDelayTimeoutId, _SelectPanelElement_loadingAnnouncementTimeoutId, _SelectPanelElement_waitForCondition, _SelectPanelElement_softDisableItems, _SelectPanelElement_updateTabIndices, _SelectPanelElement_potentiallyDisallowActivation, _SelectPanelElement_isAnchorActivationViaSpace, _SelectPanelElement_isActivation, _SelectPanelElement_checkSelectedItems, _SelectPanelElement_addSelectedItem, _SelectPanelElement_removeSelectedItem, _SelectPanelElement_setTextFieldLoadingSpinnerTimer, _SelectPanelElement_handleIncludeFragmentEvent, _SelectPanelElement_toggleIncludeFragmentElements, _SelectPanelElement_handleRemoteInputEvent, _SelectPanelElement_defaultFilterFn, _SelectPanelElement_handleSearchFieldEvent, _SelectPanelElement_updateItemVisibility, _SelectPanelElement_inErrorState, _SelectPanelElement_setErrorState, _SelectPanelElement_clearErrorState, _SelectPanelElement_maybeAnnounce, _SelectPanelElement_fetchStrategy_get, _SelectPanelElement_filterInputTextFieldElement_get, _SelectPanelElement_performFilteringLocally, _SelectPanelElement_handleInvokerActivated, _SelectPanelElement_handleDialogItemActivated, _SelectPanelElement_handleItemActivated, _SelectPanelElement_setDynamicLabel, _SelectPanelElement_updateInput, _SelectPanelElement_firstItem_get, _SelectPanelElement_hideItem, _SelectPanelElement_showItem, _SelectPanelElement_getItemContent;
|
18
|
+
var _SelectPanelElement_instances, _SelectPanelElement_dialogIntersectionObserver, _SelectPanelElement_abortController, _SelectPanelElement_originalLabel, _SelectPanelElement_inputName, _SelectPanelElement_selectedItems, _SelectPanelElement_loadingDelayTimeoutId, _SelectPanelElement_loadingAnnouncementTimeoutId, _SelectPanelElement_hasLoadedData, _SelectPanelElement_waitForCondition, _SelectPanelElement_softDisableItems, _SelectPanelElement_updateTabIndices, _SelectPanelElement_potentiallyDisallowActivation, _SelectPanelElement_isAnchorActivationViaSpace, _SelectPanelElement_isActivation, _SelectPanelElement_checkSelectedItems, _SelectPanelElement_addSelectedItem, _SelectPanelElement_removeSelectedItem, _SelectPanelElement_setTextFieldLoadingSpinnerTimer, _SelectPanelElement_handleIncludeFragmentEvent, _SelectPanelElement_toggleIncludeFragmentElements, _SelectPanelElement_handleRemoteInputEvent, _SelectPanelElement_defaultFilterFn, _SelectPanelElement_handleSearchFieldEvent, _SelectPanelElement_updateItemVisibility, _SelectPanelElement_inErrorState, _SelectPanelElement_setErrorState, _SelectPanelElement_clearErrorState, _SelectPanelElement_maybeAnnounce, _SelectPanelElement_fetchStrategy_get, _SelectPanelElement_filterInputTextFieldElement_get, _SelectPanelElement_performFilteringLocally, _SelectPanelElement_handleInvokerActivated, _SelectPanelElement_handleDialogItemActivated, _SelectPanelElement_handleItemActivated, _SelectPanelElement_setDynamicLabel, _SelectPanelElement_updateInput, _SelectPanelElement_firstItem_get, _SelectPanelElement_hideItem, _SelectPanelElement_showItem, _SelectPanelElement_getItemContent;
|
19
19
|
import { getAnchoredPosition } from '@primer/behaviors';
|
20
20
|
import { controller, target } from '@github/catalyst';
|
21
21
|
import { announceFromElement, announce } from '../aria_live';
|
@@ -73,6 +73,7 @@ let SelectPanelElement = class SelectPanelElement extends HTMLElement {
|
|
73
73
|
_SelectPanelElement_selectedItems.set(this, new Map());
|
74
74
|
_SelectPanelElement_loadingDelayTimeoutId.set(this, null);
|
75
75
|
_SelectPanelElement_loadingAnnouncementTimeoutId.set(this, null);
|
76
|
+
_SelectPanelElement_hasLoadedData.set(this, false);
|
76
77
|
}
|
77
78
|
get open() {
|
78
79
|
return this.dialog.open;
|
@@ -385,6 +386,7 @@ _SelectPanelElement_inputName = new WeakMap();
|
|
385
386
|
_SelectPanelElement_selectedItems = new WeakMap();
|
386
387
|
_SelectPanelElement_loadingDelayTimeoutId = new WeakMap();
|
387
388
|
_SelectPanelElement_loadingAnnouncementTimeoutId = new WeakMap();
|
389
|
+
_SelectPanelElement_hasLoadedData = new WeakMap();
|
388
390
|
_SelectPanelElement_instances = new WeakSet();
|
389
391
|
_SelectPanelElement_waitForCondition = function _SelectPanelElement_waitForCondition(condition, body) {
|
390
392
|
if (condition()) {
|
@@ -502,7 +504,10 @@ _SelectPanelElement_addSelectedItem = function _SelectPanelElement_addSelectedIt
|
|
502
504
|
}
|
503
505
|
};
|
504
506
|
_SelectPanelElement_removeSelectedItem = function _SelectPanelElement_removeSelectedItem(item) {
|
505
|
-
const
|
507
|
+
const itemContent = __classPrivateFieldGet(this, _SelectPanelElement_instances, "m", _SelectPanelElement_getItemContent).call(this, item);
|
508
|
+
if (!itemContent)
|
509
|
+
return;
|
510
|
+
const value = itemContent.getAttribute('data-value');
|
506
511
|
if (value) {
|
507
512
|
__classPrivateFieldGet(this, _SelectPanelElement_selectedItems, "f").delete(value);
|
508
513
|
}
|
@@ -608,9 +613,9 @@ _SelectPanelElement_handleSearchFieldEvent = function _SelectPanelElement_handle
|
|
608
613
|
}
|
609
614
|
}
|
610
615
|
else if (key === 'ArrowDown') {
|
611
|
-
const item = (this.focusableItem || this.visibleItems[0]);
|
616
|
+
const item = (this.focusableItem || __classPrivateFieldGet(this, _SelectPanelElement_instances, "m", _SelectPanelElement_getItemContent).call(this, this.visibleItems[0]));
|
612
617
|
if (item) {
|
613
|
-
|
618
|
+
item.focus();
|
614
619
|
event.preventDefault();
|
615
620
|
}
|
616
621
|
}
|
@@ -672,7 +677,13 @@ _SelectPanelElement_updateItemVisibility = function _SelectPanelElement_updateIt
|
|
672
677
|
if (!itemContent)
|
673
678
|
continue;
|
674
679
|
const value = itemContent.getAttribute('data-value');
|
675
|
-
if (
|
680
|
+
if (__classPrivateFieldGet(this, _SelectPanelElement_hasLoadedData, "f")) {
|
681
|
+
if (value && !__classPrivateFieldGet(this, _SelectPanelElement_selectedItems, "f").has(value)) {
|
682
|
+
itemContent.setAttribute(this.ariaSelectionType, 'false');
|
683
|
+
}
|
684
|
+
}
|
685
|
+
else if (value && !__classPrivateFieldGet(this, _SelectPanelElement_selectedItems, "f").has(value) && this.isItemChecked(item)) {
|
686
|
+
__classPrivateFieldSet(this, _SelectPanelElement_hasLoadedData, true, "f");
|
676
687
|
__classPrivateFieldGet(this, _SelectPanelElement_instances, "m", _SelectPanelElement_addSelectedItem).call(this, item);
|
677
688
|
}
|
678
689
|
}
|
@@ -814,17 +825,16 @@ _SelectPanelElement_handleItemActivated = function _SelectPanelElement_handleIte
|
|
814
825
|
return;
|
815
826
|
const itemContent = __classPrivateFieldGet(this, _SelectPanelElement_instances, "m", _SelectPanelElement_getItemContent).call(this, item);
|
816
827
|
if (this.selectVariant === 'single') {
|
828
|
+
const element = this.selectedItems[0]?.element;
|
829
|
+
if (element) {
|
830
|
+
__classPrivateFieldGet(this, _SelectPanelElement_instances, "m", _SelectPanelElement_getItemContent).call(this, element)?.setAttribute(this.ariaSelectionType, 'false');
|
831
|
+
}
|
832
|
+
__classPrivateFieldGet(this, _SelectPanelElement_selectedItems, "f").clear();
|
817
833
|
// Only check, never uncheck here. Single-select mode does not allow unchecking a checked item.
|
818
834
|
if (checked) {
|
819
835
|
__classPrivateFieldGet(this, _SelectPanelElement_instances, "m", _SelectPanelElement_addSelectedItem).call(this, item);
|
820
836
|
itemContent?.setAttribute(this.ariaSelectionType, 'true');
|
821
837
|
}
|
822
|
-
for (const checkedItem of this.querySelectorAll(`[${this.ariaSelectionType}]`)) {
|
823
|
-
if (checkedItem !== itemContent) {
|
824
|
-
__classPrivateFieldGet(this, _SelectPanelElement_instances, "m", _SelectPanelElement_removeSelectedItem).call(this, checkedItem);
|
825
|
-
checkedItem.setAttribute(this.ariaSelectionType, 'false');
|
826
|
-
}
|
827
|
-
}
|
828
838
|
__classPrivateFieldGet(this, _SelectPanelElement_instances, "m", _SelectPanelElement_setDynamicLabel).call(this);
|
829
839
|
}
|
830
840
|
else {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@primer/view-components",
|
3
|
-
"version": "0.31.0-rc.
|
3
|
+
"version": "0.31.0-rc.b32b76aa",
|
4
4
|
"description": "ViewComponents for the Primer Design System",
|
5
5
|
"main": "app/assets/javascripts/primer_view_components.js",
|
6
6
|
"module": "app/components/primer/primer.js",
|