@gitlab/ui 123.11.1 → 123.11.2

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.
@@ -66,8 +66,7 @@ var script = {
66
66
  data() {
67
67
  return {
68
68
  fieldDirtyStatuses: {},
69
- fieldValidations: {},
70
- fieldIds: {}
69
+ fieldValidations: {}
71
70
  };
72
71
  },
73
72
  computed: {
@@ -96,7 +95,7 @@ var script = {
96
95
  },
97
96
  fieldsToRender() {
98
97
  return mapValues(this.fields, (field, fieldName) => {
99
- const id = this.memoizeAndReturnFieldId(field, fieldName);
98
+ const id = uniqueId('gl-form-field-');
100
99
  const inputSlotName = `input(${fieldName})`;
101
100
  const groupPassthroughSlotName = `group(${fieldName})-`;
102
101
  const afterSlotName = `after(${fieldName})`;
@@ -161,15 +160,6 @@ var script = {
161
160
  }
162
161
  return val;
163
162
  },
164
- memoizeAndReturnFieldId(field, fieldName) {
165
- const memoizedId = this.fieldIds[fieldName];
166
- if (memoizedId) {
167
- return memoizedId;
168
- }
169
- const id = field.id || uniqueId('gl-form-field-');
170
- this.fieldIds[fieldName] = id;
171
- return id;
172
- },
173
163
  onFieldValidationUpdate(fieldName, invalidFeedback) {
174
164
  this.fieldValidations = setObjectProperty(this.fieldValidations, fieldName, invalidFeedback);
175
165
  this.$emit('field-validation', {
@@ -216,10 +206,10 @@ var script = {
216
206
  const __vue_script__ = script;
217
207
 
218
208
  /* template */
219
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.fieldsToRender),function(field,fieldName){return _c('div',{key:field.id},[_c('gl-form-group',_vm._b({attrs:{"label":field.label,"label-for":field.id,"invalid-feedback":_vm.fieldValidationProps[fieldName].invalidFeedback,"state":_vm.fieldValidationProps[fieldName].state},scopedSlots:_vm._u([_vm._l((field.groupPassthroughSlots),function(ref){
209
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._l((_vm.fieldsToRender),function(field,fieldName){return [_c('gl-form-group',_vm._b({attrs:{"label":field.label,"label-for":field.id,"invalid-feedback":_vm.fieldValidationProps[fieldName].invalidFeedback,"state":_vm.fieldValidationProps[fieldName].state},scopedSlots:_vm._u([_vm._l((field.groupPassthroughSlots),function(ref){
220
210
  var slotName = ref.slotName;
221
211
  var childSlotName = ref.childSlotName;
222
- return {key:childSlotName,fn:function(){return [_vm._t(slotName)]},proxy:true}})],null,true)},'gl-form-group',field.groupAttrs,false),[_c('gl-form-field-validator',{attrs:{"value":_vm.fieldValues[fieldName],"validators":field.validators,"should-validate":_vm.fieldDirtyStatuses[fieldName]},on:{"update":function($event){return _vm.onFieldValidationUpdate(fieldName, $event)}}}),_vm._v(" "),_vm._v(" "),_vm._t(field.inputSlot.slotName,function(){return [_c('gl-form-input',_vm._b({attrs:{"id":field.id,"value":_vm.fieldValues[fieldName],"state":_vm.fieldValidationProps[fieldName].state},on:{"input":function($event){return _vm.onFieldInput(fieldName, $event)},"blur":function($event){return _vm.onFieldBlur(fieldName)}}},'gl-form-input',field.inputAttrs,false))]},null,field.inputSlot.attrs)],2),_vm._v(" "),_vm._t(field.afterSlotName)],2)}),0)};
212
+ return {key:childSlotName,fn:function(){return [_vm._t(slotName)]},proxy:true}})],null,true)},'gl-form-group',field.groupAttrs,false),[_c('gl-form-field-validator',{attrs:{"value":_vm.fieldValues[fieldName],"validators":field.validators,"should-validate":_vm.fieldDirtyStatuses[fieldName]},on:{"update":function($event){return _vm.onFieldValidationUpdate(fieldName, $event)}}}),_vm._v(" "),_vm._v(" "),_vm._t(field.inputSlot.slotName,function(){return [_c('gl-form-input',_vm._b({attrs:{"id":field.id,"value":_vm.fieldValues[fieldName],"state":_vm.fieldValidationProps[fieldName].state},on:{"input":function($event){return _vm.onFieldInput(fieldName, $event)},"blur":function($event){return _vm.onFieldBlur(fieldName)}}},'gl-form-input',field.inputAttrs,false))]},null,field.inputSlot.attrs)],2),_vm._v(" "),_vm._t(field.afterSlotName)]})],2)};
223
213
  var __vue_staticRenderFns__ = [];
224
214
 
225
215
  /* style */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/ui",
3
- "version": "123.11.1",
3
+ "version": "123.11.2",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -103,7 +103,7 @@
103
103
  "@gitlab/fonts": "^1.3.1",
104
104
  "@gitlab/svgs": "*",
105
105
  "@jest/test-sequencer": "30.2.0",
106
- "@rollup/plugin-commonjs": "^28.0.6",
106
+ "@rollup/plugin-commonjs": "^28.0.8",
107
107
  "@rollup/plugin-node-resolve": "^16.0.3",
108
108
  "@rollup/plugin-replace": "^6.0.2",
109
109
  "@storybook/addon-a11y": "^7.6.20",
@@ -67,7 +67,6 @@ export default {
67
67
  return {
68
68
  fieldDirtyStatuses: {},
69
69
  fieldValidations: {},
70
- fieldIds: {},
71
70
  };
72
71
  },
73
72
  computed: {
@@ -99,7 +98,7 @@ export default {
99
98
  },
100
99
  fieldsToRender() {
101
100
  return mapValues(this.fields, (field, fieldName) => {
102
- const id = this.memoizeAndReturnFieldId(field, fieldName);
101
+ const id = uniqueId('gl-form-field-');
103
102
 
104
103
  const inputSlotName = `input(${fieldName})`;
105
104
  const groupPassthroughSlotName = `group(${fieldName})-`;
@@ -174,18 +173,6 @@ export default {
174
173
 
175
174
  return val;
176
175
  },
177
- memoizeAndReturnFieldId(field, fieldName) {
178
- const memoizedId = this.fieldIds[fieldName];
179
-
180
- if (memoizedId) {
181
- return memoizedId;
182
- }
183
-
184
- const id = field.id || uniqueId('gl-form-field-');
185
- this.fieldIds[fieldName] = id;
186
-
187
- return id;
188
- },
189
176
  onFieldValidationUpdate(fieldName, invalidFeedback) {
190
177
  this.fieldValidations = setObjectProperty(this.fieldValidations, fieldName, invalidFeedback);
191
178
 
@@ -234,7 +221,8 @@ export default {
234
221
 
235
222
  <template>
236
223
  <div>
237
- <div v-for="(field, fieldName) in fieldsToRender" :key="field.id">
224
+ <template v-for="(field, fieldName) in fieldsToRender">
225
+ <!-- eslint-disable-next-line vue/valid-v-for -->
238
226
  <gl-form-group
239
227
  v-bind="field.groupAttrs"
240
228
  :label="field.label"
@@ -270,6 +258,6 @@ export default {
270
258
  </gl-form-group>
271
259
  <!-- @slot Can be used to add content the form group of a field. The name of the slot is `after(<fieldName>)`.-->
272
260
  <slot :name="field.afterSlotName"></slot>
273
- </div>
261
+ </template>
274
262
  </div>
275
263
  </template>