@gitlab/ui 54.4.0 → 54.4.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 +7 -0
- package/dist/components/base/new_dropdowns/constants.js +3 -3
- package/dist/components/base/new_dropdowns/listbox/listbox.js +1 -1
- package/package.json +3 -3
- package/src/components/base/new_dropdowns/constants.js +3 -3
- package/src/components/base/new_dropdowns/listbox/listbox.spec.js +22 -0
- package/src/components/base/new_dropdowns/listbox/listbox.vue +1 -0
- package/src/scss/fonts.scss +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [54.4.1](https://gitlab.com/gitlab-org/gitlab-ui/compare/v54.4.0...v54.4.1) (2023-02-06)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **GlListbox:** Stop listbox ENTER event prop ([944b7f9](https://gitlab.com/gitlab-org/gitlab-ui/commit/944b7f9baf67fc71787d14d614fb51b722083820))
|
|
7
|
+
|
|
1
8
|
# [54.4.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v54.3.0...v54.4.0) (2023-02-02)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -12,11 +12,11 @@ const GL_DROPDOWN_SHOWN = 'shown';
|
|
|
12
12
|
const GL_DROPDOWN_HIDDEN = 'hidden';
|
|
13
13
|
|
|
14
14
|
// KEY Codes
|
|
15
|
-
const HOME = 'Home';
|
|
16
|
-
const END = 'End';
|
|
17
|
-
const ARROW_UP = 'ArrowUp';
|
|
18
15
|
const ARROW_DOWN = 'ArrowDown';
|
|
16
|
+
const ARROW_UP = 'ArrowUp';
|
|
17
|
+
const END = 'End';
|
|
19
18
|
const ENTER = 'Enter';
|
|
19
|
+
const HOME = 'Home';
|
|
20
20
|
const SPACE = 'Space';
|
|
21
21
|
|
|
22
22
|
export { ARROW_DOWN, ARROW_UP, END, ENTER, GL_DROPDOWN_HIDDEN, GL_DROPDOWN_SHOWN, HOME, POPPER_CONFIG, SPACE };
|
|
@@ -536,7 +536,7 @@ var script = {
|
|
|
536
536
|
const __vue_script__ = script;
|
|
537
537
|
|
|
538
538
|
/* template */
|
|
539
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-base-dropdown',{ref:"baseDropdown",attrs:{"aria-haspopup":"listbox","aria-labelledby":_vm.toggleAriaLabelledBy,"block":_vm.block,"toggle-id":_vm.toggleId,"toggle-text":_vm.listboxToggleText,"toggle-class":_vm.toggleClass,"text-sr-only":_vm.textSrOnly,"category":_vm.category,"variant":_vm.variant,"size":_vm.size,"icon":_vm.icon,"disabled":_vm.disabled,"loading":_vm.loading,"no-caret":_vm.noCaret,"placement":_vm.placement},on:_vm._d({},[_vm.$options.events.GL_DROPDOWN_SHOWN,_vm.onShow,_vm.$options.events.GL_DROPDOWN_HIDDEN,_vm.onHide]),scopedSlots:_vm._u([(_vm.hasCustomToggle)?{key:"toggle",fn:function(){return [_vm._t("toggle")]},proxy:true}:null],null,true)},[_vm._v(" "),(_vm.headerText)?_c('div',{staticClass:"gl-display-flex gl-align-items-center gl-p-4! gl-min-h-8",class:_vm.$options.HEADER_ITEMS_BORDER_CLASSES},[_c('div',{staticClass:"gl-flex-grow-1 gl-font-weight-bold gl-font-sm gl-pr-2",attrs:{"id":_vm.headerId,"data-testid":"listbox-header-text"}},[_vm._v("\n "+_vm._s(_vm.headerText)+"\n ")]),_vm._v(" "),(_vm.showResetButton)?_c('gl-button',{staticClass:"gl-focus-inset-border-2-blue-400! gl-flex-shrink-0 gl-font-sm! gl-px-2! gl-py-2! gl-w-auto! gl-m-0!",attrs:{"category":"tertiary","data-testid":"listbox-reset-button"},on:{"click":_vm.onResetButtonClicked}},[_vm._v("\n "+_vm._s(_vm.resetButtonLabel)+"\n ")]):_vm._e()],1):_vm._e(),_vm._v(" "),(_vm.searchable)?_c('div',{class:_vm.$options.HEADER_ITEMS_BORDER_CLASSES},[_c('gl-listbox-search-input',{ref:"searchBox",attrs:{"aria-owns":_vm.listboxId,"data-testid":"listbox-search-input","placeholder":_vm.searchPlaceholder},on:{"input":_vm.search,"keydown":_vm.onKeydown},model:{value:(_vm.searchStr),callback:function ($$v) {_vm.searchStr=$$v;},expression:"searchStr"}}),_vm._v(" "),(_vm.searching)?_c('gl-loading-icon',{staticClass:"gl-my-3",attrs:{"data-testid":"listbox-search-loader","size":"md"}}):_vm._e()],1):_vm._e(),_vm._v(" "),(_vm.showList)?_c(_vm.listboxTag,{ref:"list",tag:"component",staticClass:"gl-new-dropdown-contents",attrs:{"id":_vm.listboxId,"aria-labelledby":_vm.listAriaLabelledBy || _vm.headerId || _vm.toggleId,"role":"listbox","tabindex":"-1"},on:{"keydown":_vm.onKeydown}},[_vm._l((_vm.items),function(item,index){return [(_vm.isOption(item))?[_c('gl-listbox-item',_vm._b({key:item.value,attrs:{"data-testid":("listbox-item-" + (item.value)),"is-selected":_vm.isSelected(item),"is-focused":_vm.isFocused(item),"is-check-centered":_vm.isCheckCentered},on:{"select":function($event){return _vm.onSelect(item, $event)}}},'gl-listbox-item',_vm.listboxItemMoreItemsAriaAttributes(index),false),[_vm._t("list-item",function(){return [_vm._v("\n "+_vm._s(item.text)+"\n ")]},{"item":item})],2)]:[_c('gl-listbox-group',{key:item.text,class:_vm.groupClasses(index),attrs:{"name":item.text},scopedSlots:_vm._u([(_vm.$scopedSlots['group-label'])?{key:"group-label",fn:function(){return [_vm._t("group-label",null,{"group":item})]},proxy:true}:null],null,true)},[_vm._v(" "),_vm._l((item.options),function(option){return _c('gl-listbox-item',{key:option.value,attrs:{"data-testid":("listbox-item-" + (option.value)),"is-selected":_vm.isSelected(option),"is-focused":_vm.isFocused(option),"is-check-centered":_vm.isCheckCentered},on:{"select":function($event){return _vm.onSelect(option, $event)}}},[_vm._t("list-item",function(){return [_vm._v("\n "+_vm._s(option.text)+"\n ")]},{"item":option})],2)})],2)]]}),_vm._v(" "),(_vm.infiniteScrollLoading)?_c(_vm.listboxTag === 'ul' ? 'li' : 'div',{tag:"component"},[_c('gl-loading-icon',{staticClass:"gl-my-3",attrs:{"data-testid":"listbox-infinite-scroll-loader","size":"md"}})],1):_vm._e(),_vm._v(" "),(_vm.showIntersectionObserver)?_c('gl-intersection-observer',{on:{"appear":_vm.onIntersectionObserverAppear}}):_vm._e()],2):_vm._e(),_vm._v(" "),(_vm.announceSRSearchResults)?_c('span',{staticClass:"gl-sr-only",attrs:{"data-testid":"listbox-number-of-results","aria-live":"assertive"}},[_vm._t("search-summary-sr-only")],2):(_vm.showNoResultsText)?_c('div',{staticClass:"gl-pl-7 gl-pr-5 gl-py-3 gl-font-base gl-text-gray-600",attrs:{"aria-live":"assertive","data-testid":"listbox-no-results-text"}},[_vm._v("\n "+_vm._s(_vm.noResultsText)+"\n ")]):_vm._e(),_vm._v(" "),_vm._t("footer")],2)};
|
|
539
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-base-dropdown',{ref:"baseDropdown",attrs:{"aria-haspopup":"listbox","aria-labelledby":_vm.toggleAriaLabelledBy,"block":_vm.block,"toggle-id":_vm.toggleId,"toggle-text":_vm.listboxToggleText,"toggle-class":_vm.toggleClass,"text-sr-only":_vm.textSrOnly,"category":_vm.category,"variant":_vm.variant,"size":_vm.size,"icon":_vm.icon,"disabled":_vm.disabled,"loading":_vm.loading,"no-caret":_vm.noCaret,"placement":_vm.placement},on:_vm._d({},[_vm.$options.events.GL_DROPDOWN_SHOWN,_vm.onShow,_vm.$options.events.GL_DROPDOWN_HIDDEN,_vm.onHide]),scopedSlots:_vm._u([(_vm.hasCustomToggle)?{key:"toggle",fn:function(){return [_vm._t("toggle")]},proxy:true}:null],null,true)},[_vm._v(" "),(_vm.headerText)?_c('div',{staticClass:"gl-display-flex gl-align-items-center gl-p-4! gl-min-h-8",class:_vm.$options.HEADER_ITEMS_BORDER_CLASSES},[_c('div',{staticClass:"gl-flex-grow-1 gl-font-weight-bold gl-font-sm gl-pr-2",attrs:{"id":_vm.headerId,"data-testid":"listbox-header-text"}},[_vm._v("\n "+_vm._s(_vm.headerText)+"\n ")]),_vm._v(" "),(_vm.showResetButton)?_c('gl-button',{staticClass:"gl-focus-inset-border-2-blue-400! gl-flex-shrink-0 gl-font-sm! gl-px-2! gl-py-2! gl-w-auto! gl-m-0!",attrs:{"category":"tertiary","data-testid":"listbox-reset-button"},on:{"click":_vm.onResetButtonClicked}},[_vm._v("\n "+_vm._s(_vm.resetButtonLabel)+"\n ")]):_vm._e()],1):_vm._e(),_vm._v(" "),(_vm.searchable)?_c('div',{class:_vm.$options.HEADER_ITEMS_BORDER_CLASSES},[_c('gl-listbox-search-input',{ref:"searchBox",attrs:{"aria-owns":_vm.listboxId,"data-testid":"listbox-search-input","placeholder":_vm.searchPlaceholder},on:{"input":_vm.search,"keydown":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }$event.preventDefault();},_vm.onKeydown]},model:{value:(_vm.searchStr),callback:function ($$v) {_vm.searchStr=$$v;},expression:"searchStr"}}),_vm._v(" "),(_vm.searching)?_c('gl-loading-icon',{staticClass:"gl-my-3",attrs:{"data-testid":"listbox-search-loader","size":"md"}}):_vm._e()],1):_vm._e(),_vm._v(" "),(_vm.showList)?_c(_vm.listboxTag,{ref:"list",tag:"component",staticClass:"gl-new-dropdown-contents",attrs:{"id":_vm.listboxId,"aria-labelledby":_vm.listAriaLabelledBy || _vm.headerId || _vm.toggleId,"role":"listbox","tabindex":"-1"},on:{"keydown":_vm.onKeydown}},[_vm._l((_vm.items),function(item,index){return [(_vm.isOption(item))?[_c('gl-listbox-item',_vm._b({key:item.value,attrs:{"data-testid":("listbox-item-" + (item.value)),"is-selected":_vm.isSelected(item),"is-focused":_vm.isFocused(item),"is-check-centered":_vm.isCheckCentered},on:{"select":function($event){return _vm.onSelect(item, $event)}}},'gl-listbox-item',_vm.listboxItemMoreItemsAriaAttributes(index),false),[_vm._t("list-item",function(){return [_vm._v("\n "+_vm._s(item.text)+"\n ")]},{"item":item})],2)]:[_c('gl-listbox-group',{key:item.text,class:_vm.groupClasses(index),attrs:{"name":item.text},scopedSlots:_vm._u([(_vm.$scopedSlots['group-label'])?{key:"group-label",fn:function(){return [_vm._t("group-label",null,{"group":item})]},proxy:true}:null],null,true)},[_vm._v(" "),_vm._l((item.options),function(option){return _c('gl-listbox-item',{key:option.value,attrs:{"data-testid":("listbox-item-" + (option.value)),"is-selected":_vm.isSelected(option),"is-focused":_vm.isFocused(option),"is-check-centered":_vm.isCheckCentered},on:{"select":function($event){return _vm.onSelect(option, $event)}}},[_vm._t("list-item",function(){return [_vm._v("\n "+_vm._s(option.text)+"\n ")]},{"item":option})],2)})],2)]]}),_vm._v(" "),(_vm.infiniteScrollLoading)?_c(_vm.listboxTag === 'ul' ? 'li' : 'div',{tag:"component"},[_c('gl-loading-icon',{staticClass:"gl-my-3",attrs:{"data-testid":"listbox-infinite-scroll-loader","size":"md"}})],1):_vm._e(),_vm._v(" "),(_vm.showIntersectionObserver)?_c('gl-intersection-observer',{on:{"appear":_vm.onIntersectionObserverAppear}}):_vm._e()],2):_vm._e(),_vm._v(" "),(_vm.announceSRSearchResults)?_c('span',{staticClass:"gl-sr-only",attrs:{"data-testid":"listbox-number-of-results","aria-live":"assertive"}},[_vm._t("search-summary-sr-only")],2):(_vm.showNoResultsText)?_c('div',{staticClass:"gl-pl-7 gl-pr-5 gl-py-3 gl-font-base gl-text-gray-600",attrs:{"aria-live":"assertive","data-testid":"listbox-no-results-text"}},[_vm._v("\n "+_vm._s(_vm.noResultsText)+"\n ")]):_vm._e(),_vm._v(" "),_vm._t("footer")],2)};
|
|
540
540
|
var __vue_staticRenderFns__ = [];
|
|
541
541
|
|
|
542
542
|
/* style */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gitlab/ui",
|
|
3
|
-
"version": "54.4.
|
|
3
|
+
"version": "54.4.1",
|
|
4
4
|
"description": "GitLab UI Components",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
"clean": "rm -r dist storybook scss_to_js/scss_variables.* src/scss/utilities.scss",
|
|
30
30
|
"cy:run": "cypress run --browser firefox",
|
|
31
31
|
"start": "yarn storybook",
|
|
32
|
-
"storybook": "yarn storybook-prep && start-storybook --ci --host localhost --port 9001 -c .storybook
|
|
32
|
+
"storybook": "yarn storybook-prep && start-storybook --ci --host localhost --port 9001 -c .storybook",
|
|
33
33
|
"storybook-prep": "run-s generate-utilities build-scss-variables copy-fonts",
|
|
34
|
-
"storybook-static": "yarn storybook-prep && build-storybook -c .storybook -o storybook
|
|
34
|
+
"storybook-static": "yarn storybook-prep && build-storybook -c .storybook -o storybook",
|
|
35
35
|
"pretest:unit": "yarn build-scss-variables",
|
|
36
36
|
"test": "run-s test:unit test:visual",
|
|
37
37
|
"test:integration": "NODE_ENV=test start-server-and-test start http://localhost:9001 cy:run",
|
|
@@ -14,9 +14,9 @@ export const GL_DROPDOWN_SHOWN = 'shown';
|
|
|
14
14
|
export const GL_DROPDOWN_HIDDEN = 'hidden';
|
|
15
15
|
|
|
16
16
|
// KEY Codes
|
|
17
|
-
export const HOME = 'Home';
|
|
18
|
-
export const END = 'End';
|
|
19
|
-
export const ARROW_UP = 'ArrowUp';
|
|
20
17
|
export const ARROW_DOWN = 'ArrowDown';
|
|
18
|
+
export const ARROW_UP = 'ArrowUp';
|
|
19
|
+
export const END = 'End';
|
|
21
20
|
export const ENTER = 'Enter';
|
|
21
|
+
export const HOME = 'Home';
|
|
22
22
|
export const SPACE = 'Space';
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
ARROW_UP,
|
|
10
10
|
HOME,
|
|
11
11
|
END,
|
|
12
|
+
ENTER,
|
|
12
13
|
} from '../constants';
|
|
13
14
|
import GlIntersectionObserver from '../../../utilities/intersection_observer/intersection_observer.vue';
|
|
14
15
|
import GlListbox, { ITEM_SELECTOR } from './listbox.vue';
|
|
@@ -273,6 +274,27 @@ describe('GlListbox', () => {
|
|
|
273
274
|
firstItem.trigger('keydown', { code: ARROW_UP });
|
|
274
275
|
expect(searchboxInput.element).toHaveFocus();
|
|
275
276
|
});
|
|
277
|
+
|
|
278
|
+
describe('pressing Enter on the input', () => {
|
|
279
|
+
const keydownSpy = jest.fn();
|
|
280
|
+
|
|
281
|
+
beforeEach(() => {
|
|
282
|
+
keydownSpy.mockClear();
|
|
283
|
+
wrapper.element.addEventListener('keydown', keydownSpy);
|
|
284
|
+
});
|
|
285
|
+
|
|
286
|
+
afterEach(() => {
|
|
287
|
+
wrapper.element.removeEventListener('keydown', keydownSpy);
|
|
288
|
+
});
|
|
289
|
+
|
|
290
|
+
it('does not submit any ancestor form', async () => {
|
|
291
|
+
searchboxInput.trigger('keydown', { key: ENTER });
|
|
292
|
+
|
|
293
|
+
const [event] = keydownSpy.mock.calls[0];
|
|
294
|
+
expect(event.key).toBe(ENTER);
|
|
295
|
+
expect(event.defaultPrevented).toBe(true);
|
|
296
|
+
});
|
|
297
|
+
});
|
|
276
298
|
});
|
|
277
299
|
});
|
|
278
300
|
|
package/src/scss/fonts.scss
CHANGED
|
@@ -14,7 +14,7 @@ Usage:
|
|
|
14
14
|
font-display: block;
|
|
15
15
|
font-style: normal;
|
|
16
16
|
font-named-instance: 'Regular'; /* stylelint-disable property-no-unknown */
|
|
17
|
-
src: url('/fonts/GitLabSans.woff2') format('woff2');
|
|
17
|
+
src: url('../../static/fonts/GitLabSans.woff2') format('woff2');
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
/* -------------------------------------------------------
|
|
@@ -31,5 +31,5 @@ Usage:
|
|
|
31
31
|
*/
|
|
32
32
|
font-display: block;
|
|
33
33
|
font-style: normal;
|
|
34
|
-
src: url('/fonts/JetBrainsMono.woff2') format('woff2');
|
|
34
|
+
src: url('../../static/fonts/JetBrainsMono.woff2') format('woff2');
|
|
35
35
|
}
|