@gitlab/ui 114.2.0 → 114.4.0
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/README.md +2 -0
- package/bin/migrate_custom_utils_to_tw.bundled.mjs +398 -401
- package/dist/components/base/filtered_search/filtered_search.js +9 -1
- package/dist/components/base/toggle/toggle.js +0 -1
- package/dist/config.js +1 -1
- package/dist/directives/safe_link/mock_data.js +1 -1
- package/dist/directives/safe_link/safe_link.js +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/utils/is_slot_empty.js +0 -2
- package/dist/utils/use_mock_intersection_observer.js +0 -4
- package/dist/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +1 -1
- package/package.json +9 -6
- package/src/components/base/filtered_search/filtered_search.vue +10 -1
- package/src/components/base/toggle/toggle.vue +0 -1
- package/src/config.js +1 -1
- package/src/directives/safe_link/mock_data.js +1 -1
- package/src/directives/safe_link/safe_link.js +1 -1
- package/src/utils/is_slot_empty.js +0 -1
- package/src/utils/use_mock_intersection_observer.js +1 -3
- package/src/vendor/bootstrap-vue/src/components/table/_table.scss +2 -4
- package/src/vendor/bootstrap-vue/src/components/table/helpers/mixin-table-renderer.js +1 -1
|
@@ -28,8 +28,6 @@ function isVnodeEmpty(vnode) {
|
|
|
28
28
|
function isSlotEmpty(vueInstance, slot, slotArgs) {
|
|
29
29
|
var _vueInstance$$scopedS, _vueInstance$$scopedS2;
|
|
30
30
|
const slotContent = (_vueInstance$$scopedS = (_vueInstance$$scopedS2 = vueInstance.$scopedSlots)[slot]) === null || _vueInstance$$scopedS === void 0 ? void 0 : _vueInstance$$scopedS.call(_vueInstance$$scopedS2, slotArgs);
|
|
31
|
-
|
|
32
|
-
// eslint-disable-next-line unicorn/no-array-callback-reference
|
|
33
31
|
return isVnodeEmpty(slotContent);
|
|
34
32
|
}
|
|
35
33
|
|
|
@@ -24,8 +24,6 @@ class MockObserver {
|
|
|
24
24
|
this.$_observers = [];
|
|
25
25
|
}
|
|
26
26
|
takeRecords() {}
|
|
27
|
-
|
|
28
|
-
// eslint-disable-next-line camelcase
|
|
29
27
|
$_triggerObserve(nodeParam) {
|
|
30
28
|
let {
|
|
31
29
|
entry = {},
|
|
@@ -41,8 +39,6 @@ class MockObserver {
|
|
|
41
39
|
}
|
|
42
40
|
});
|
|
43
41
|
}
|
|
44
|
-
|
|
45
|
-
// eslint-disable-next-line camelcase
|
|
46
42
|
$_hasObserver(node) {
|
|
47
43
|
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
48
44
|
return this.$_observers.some(_ref => {
|
|
@@ -66,7 +66,7 @@ const tableRendererMixin = extend({
|
|
|
66
66
|
const {
|
|
67
67
|
isResponsive
|
|
68
68
|
} = this;
|
|
69
|
-
return [this.isStickyHeader ? 'b-table-sticky-header' : '', isResponsive === true ? 'table-responsive' : isResponsive ? `table-responsive-${this.responsive}` : ''].filter(identity);
|
|
69
|
+
return [this.isStickyHeader ? 'b-table-sticky-header' : '', isResponsive === true ? 'table-responsive' : isResponsive ? `table-responsive table-responsive-${this.responsive}` : ''].filter(identity);
|
|
70
70
|
},
|
|
71
71
|
wrapperStyles() {
|
|
72
72
|
const {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gitlab/ui",
|
|
3
|
-
"version": "114.
|
|
3
|
+
"version": "114.4.0",
|
|
4
4
|
"description": "GitLab UI Components",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"test:visual:internal": "NODE_ENV=test IS_VISUAL_TEST=true start-test storybook:run http-get://${STORYBOOK_HOST:-localhost}:${STORYBOOK_PORT:-9001}/iframe.html",
|
|
67
67
|
"prettier": "prettier --check '**/*.{js,mjs,ts,vue}'",
|
|
68
68
|
"prettier:fix": "prettier --write '**/*.{js,mjs,ts,vue}'",
|
|
69
|
-
"eslint": "eslint --max-warnings 0
|
|
69
|
+
"eslint": "eslint --max-warnings 0 .",
|
|
70
70
|
"eslint:fix": "yarn eslint --fix",
|
|
71
71
|
"stylelint": "stylelint 'src/**/*.scss'",
|
|
72
72
|
"stylelint:fix": "yarn stylelint --fix",
|
|
@@ -102,7 +102,8 @@
|
|
|
102
102
|
"jackspeak": "2.1.1",
|
|
103
103
|
"postcss": "8.5.3",
|
|
104
104
|
"json5": "2.2.3",
|
|
105
|
-
"rollup-plugin-vue/@vue/component-compiler/postcss-modules-sync/generic-names/loader-utils": "1.4.2"
|
|
105
|
+
"rollup-plugin-vue/@vue/component-compiler/postcss-modules-sync/generic-names/loader-utils": "1.4.2",
|
|
106
|
+
"eslint-plugin-import": "2.31.0"
|
|
106
107
|
},
|
|
107
108
|
"devDependencies": {
|
|
108
109
|
"@babel/core": "^7.27.1",
|
|
@@ -111,6 +112,8 @@
|
|
|
111
112
|
"@babel/preset-env": "^7.27.2",
|
|
112
113
|
"@babel/preset-react": "^7.27.1",
|
|
113
114
|
"@cypress/grep": "^4.0.1",
|
|
115
|
+
"@eslint/eslintrc": "^3.3.1",
|
|
116
|
+
"@eslint/js": "^9.28.0",
|
|
114
117
|
"@gitlab/eslint-plugin": "20.7.1",
|
|
115
118
|
"@gitlab/fonts": "^1.3.0",
|
|
116
119
|
"@gitlab/stylelint-config": "6.2.2",
|
|
@@ -154,10 +157,10 @@
|
|
|
154
157
|
"emoji-regex": "^10.0.0",
|
|
155
158
|
"entities": "^4.5.0",
|
|
156
159
|
"esbuild": "^0.18.0",
|
|
157
|
-
"eslint": "
|
|
158
|
-
"eslint-formatter-gitlab": "^
|
|
160
|
+
"eslint": "9.28.0",
|
|
161
|
+
"eslint-formatter-gitlab": "^6.0.0",
|
|
159
162
|
"eslint-import-resolver-jest": "3.0.2",
|
|
160
|
-
"eslint-plugin-cypress": "
|
|
163
|
+
"eslint-plugin-cypress": "5.0.1",
|
|
161
164
|
"eslint-plugin-storybook": "0.12.0",
|
|
162
165
|
"fuse.js": "^7.0.0",
|
|
163
166
|
"gitlab-api-async-iterator": "^1.3.1",
|
|
@@ -331,7 +331,11 @@ export default {
|
|
|
331
331
|
return;
|
|
332
332
|
}
|
|
333
333
|
|
|
334
|
-
this.tokens.splice(idx, 1);
|
|
334
|
+
const [destroyedToken] = this.tokens.splice(idx, 1);
|
|
335
|
+
/**
|
|
336
|
+
* Emitted when a token is destroyed, with the token as the payload.
|
|
337
|
+
*/
|
|
338
|
+
this.$emit('token-destroy', destroyedToken);
|
|
335
339
|
|
|
336
340
|
// First, attempt to honor the user's activation intent behind the
|
|
337
341
|
// destruction of the token, if any. Otherwise, try to maintain the
|
|
@@ -371,6 +375,11 @@ export default {
|
|
|
371
375
|
},
|
|
372
376
|
|
|
373
377
|
completeToken() {
|
|
378
|
+
/**
|
|
379
|
+
* Emitted when a token is completed, with the token as the payload.
|
|
380
|
+
*/
|
|
381
|
+
this.$emit('token-complete', this.activeToken);
|
|
382
|
+
|
|
374
383
|
if (this.activeTokenIdx === this.lastTokenIdx - 1) {
|
|
375
384
|
this.activeTokenIdx = this.lastTokenIdx;
|
|
376
385
|
} else {
|
|
@@ -92,7 +92,6 @@ export default {
|
|
|
92
92
|
},
|
|
93
93
|
computed: {
|
|
94
94
|
shouldRenderDescription() {
|
|
95
|
-
// eslint-disable-next-line @gitlab/vue-prefer-dollar-scopedslots
|
|
96
95
|
return Boolean(this.$scopedSlots.description || this.description) && this.isVerticalLayout;
|
|
97
96
|
},
|
|
98
97
|
shouldRenderHelp() {
|
package/src/config.js
CHANGED
|
@@ -14,7 +14,7 @@ export const javascriptUrls = [
|
|
|
14
14
|
'javascript:alert("XSS")',
|
|
15
15
|
'jav\tascript:alert("XSS");',
|
|
16
16
|
];
|
|
17
|
-
/* eslint-
|
|
17
|
+
/* eslint-enable no-script-url */
|
|
18
18
|
|
|
19
19
|
export const encodedJavaScriptUrls = [
|
|
20
20
|
'javascript:alert('XSS')',
|
|
@@ -30,6 +30,5 @@ export function isVnodeEmpty(vnode) {
|
|
|
30
30
|
export function isSlotEmpty(vueInstance, slot, slotArgs) {
|
|
31
31
|
const slotContent = vueInstance.$scopedSlots[slot]?.(slotArgs);
|
|
32
32
|
|
|
33
|
-
// eslint-disable-next-line unicorn/no-array-callback-reference
|
|
34
33
|
return isVnodeEmpty(slotContent);
|
|
35
34
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* global jest, beforeEach, afterEach */
|
|
2
|
-
/* eslint-disable class-methods-use-this, max-classes-per-file
|
|
2
|
+
/* eslint-disable class-methods-use-this, max-classes-per-file */
|
|
3
3
|
import isMatch from 'lodash/isMatch';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -27,7 +27,6 @@ class MockObserver {
|
|
|
27
27
|
|
|
28
28
|
takeRecords() {}
|
|
29
29
|
|
|
30
|
-
// eslint-disable-next-line camelcase
|
|
31
30
|
$_triggerObserve(nodeParam, { entry = {}, options = {} } = {}) {
|
|
32
31
|
const nodes = this.$_getNodesFromParam(nodeParam);
|
|
33
32
|
|
|
@@ -38,7 +37,6 @@ class MockObserver {
|
|
|
38
37
|
});
|
|
39
38
|
}
|
|
40
39
|
|
|
41
|
-
// eslint-disable-next-line camelcase
|
|
42
40
|
$_hasObserver(node, options = {}) {
|
|
43
41
|
return this.$_observers.some(
|
|
44
42
|
([obvNode, obvOptions]) => node === obvNode && isMatch(options, obvOptions)
|
|
@@ -93,8 +93,7 @@
|
|
|
93
93
|
|
|
94
94
|
@if $bv-enable-table-sticky {
|
|
95
95
|
.b-table-sticky-header,
|
|
96
|
-
.table-responsive
|
|
97
|
-
[class*="table-responsive-"] {
|
|
96
|
+
.table-responsive {
|
|
98
97
|
// Move the table bottom margin to the wrapper
|
|
99
98
|
margin-bottom: $spacer;
|
|
100
99
|
|
|
@@ -137,8 +136,7 @@
|
|
|
137
136
|
// Sticky columns only work when table has sticky
|
|
138
137
|
// headers and/or is responsive
|
|
139
138
|
.b-table-sticky-header,
|
|
140
|
-
.table-responsive
|
|
141
|
-
[class*="table-responsive-"] {
|
|
139
|
+
.table-responsive {
|
|
142
140
|
> .table.b-table {
|
|
143
141
|
> thead,
|
|
144
142
|
> tbody,
|