@primer/view-components 0.31.1-rc.0b9baf9f → 0.31.1-rc.681ebd27
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.
@@ -692,10 +692,10 @@ _SelectPanelElement_updateItemVisibility = function _SelectPanelElement_updateIt
|
|
692
692
|
}
|
693
693
|
}
|
694
694
|
else if (value && !__classPrivateFieldGet(this, _SelectPanelElement_selectedItems, "f").has(value) && this.isItemChecked(item)) {
|
695
|
-
__classPrivateFieldSet(this, _SelectPanelElement_hasLoadedData, true, "f");
|
696
695
|
__classPrivateFieldGet(this, _SelectPanelElement_instances, "m", _SelectPanelElement_addSelectedItem).call(this, item);
|
697
696
|
}
|
698
697
|
}
|
698
|
+
__classPrivateFieldSet(this, _SelectPanelElement_hasLoadedData, true, "f");
|
699
699
|
if (!this.noResults)
|
700
700
|
return;
|
701
701
|
if (__classPrivateFieldGet(this, _SelectPanelElement_instances, "m", _SelectPanelElement_inErrorState).call(this)) {
|
@@ -824,7 +824,8 @@ _SelectPanelElement_handleItemActivated = function _SelectPanelElement_handleIte
|
|
824
824
|
// interfere with events fired by menu items whose behavior is specified outside the library.
|
825
825
|
if (this.selectVariant !== 'multiple' && this.selectVariant !== 'single')
|
826
826
|
return;
|
827
|
-
const
|
827
|
+
const currentlyChecked = this.isItemChecked(item);
|
828
|
+
const checked = !currentlyChecked;
|
828
829
|
const activationSuccess = this.dispatchEvent(new CustomEvent('beforeItemActivated', {
|
829
830
|
bubbles: true,
|
830
831
|
detail: { item, checked },
|
@@ -834,18 +835,18 @@ _SelectPanelElement_handleItemActivated = function _SelectPanelElement_handleIte
|
|
834
835
|
return;
|
835
836
|
const itemContent = __classPrivateFieldGet(this, _SelectPanelElement_instances, "m", _SelectPanelElement_getItemContent).call(this, item);
|
836
837
|
if (this.selectVariant === 'single') {
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
838
|
+
// disallow unchecking checked item in single-select mode
|
839
|
+
if (!currentlyChecked) {
|
840
|
+
for (const el of this.items) {
|
841
|
+
__classPrivateFieldGet(this, _SelectPanelElement_instances, "m", _SelectPanelElement_getItemContent).call(this, el)?.setAttribute(this.ariaSelectionType, 'false');
|
842
|
+
}
|
843
|
+
__classPrivateFieldGet(this, _SelectPanelElement_selectedItems, "f").clear();
|
844
|
+
if (checked) {
|
845
|
+
__classPrivateFieldGet(this, _SelectPanelElement_instances, "m", _SelectPanelElement_addSelectedItem).call(this, item);
|
846
|
+
itemContent?.setAttribute(this.ariaSelectionType, 'true');
|
847
|
+
}
|
848
|
+
__classPrivateFieldGet(this, _SelectPanelElement_instances, "m", _SelectPanelElement_setDynamicLabel).call(this);
|
847
849
|
}
|
848
|
-
__classPrivateFieldGet(this, _SelectPanelElement_instances, "m", _SelectPanelElement_setDynamicLabel).call(this);
|
849
850
|
}
|
850
851
|
else {
|
851
852
|
// multi-select mode allows unchecking a checked item
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@primer/view-components",
|
3
|
-
"version": "0.31.1-rc.
|
3
|
+
"version": "0.31.1-rc.681ebd27",
|
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",
|
@@ -92,7 +92,9 @@
|
|
92
92
|
"stylelint": "^16.1.0",
|
93
93
|
"stylelint-config-standard": "^36.0.0",
|
94
94
|
"tslib": "^2.4.0",
|
95
|
-
"typescript": "^5.2.2"
|
95
|
+
"typescript": "^5.2.2",
|
96
|
+
"vite": "^5.3.5",
|
97
|
+
"vite-plugin-ruby": "^5.0.0"
|
96
98
|
},
|
97
99
|
"prettier": "@github/prettier-config",
|
98
100
|
"browserslist": "extends @github/browserslist-config"
|