@gitlab/ui 128.14.3 → 128.15.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.
Files changed (31) hide show
  1. package/dist/components/base/form/form_checkbox/form_checkbox.js +15 -1
  2. package/dist/components/base/form/form_checkbox/form_checkbox_group.js +5 -0
  3. package/dist/components/base/new_dropdowns/listbox/listbox.js +43 -24
  4. package/dist/components/base/new_dropdowns/listbox/listbox_item.js +17 -1
  5. package/dist/components/base/new_dropdowns/listbox/mock_data.js +15 -5
  6. package/dist/index.css +2 -2
  7. package/dist/index.css.map +1 -1
  8. package/dist/tokens/build/js/tokens.js +1 -1
  9. package/package.json +3 -3
  10. package/src/components/base/form/form_checkbox/form_checkbox.vue +17 -1
  11. package/src/components/base/form/form_checkbox/form_checkbox_group.vue +7 -0
  12. package/src/components/base/new_dropdowns/dropdown_item.scss +31 -11
  13. package/src/components/base/new_dropdowns/listbox/listbox.vue +46 -20
  14. package/src/components/base/new_dropdowns/listbox/listbox_item.vue +20 -1
  15. package/src/components/base/new_dropdowns/listbox/mock_data.js +11 -0
  16. package/src/tokens/build/css/tokens.css +1 -1
  17. package/src/tokens/build/css/tokens.dark.css +1 -1
  18. package/src/tokens/build/docs/tokens-tailwind-docs.dark.json +3 -3
  19. package/src/tokens/build/docs/tokens-tailwind-docs.json +4 -4
  20. package/src/tokens/build/figma/constants.dark.json +1 -1
  21. package/src/tokens/build/figma/constants.json +1 -1
  22. package/src/tokens/build/figma/mode.dark.json +4 -2
  23. package/src/tokens/build/figma/mode.json +4 -2
  24. package/src/tokens/build/js/tokens.js +1 -1
  25. package/src/tokens/build/json/tokens.dark.json +9 -5
  26. package/src/tokens/build/json/tokens.json +10 -6
  27. package/src/tokens/build/scss/_tokens.dark.scss +1 -1
  28. package/src/tokens/build/scss/_tokens.scss +1 -1
  29. package/src/tokens/constant/border.tokens.json +1 -1
  30. package/src/tokens/semantic/control.tokens.json +4 -1
  31. package/src/tokens/semantic/heading.tokens.json +3 -1
@@ -1137,7 +1137,7 @@ const GL_CONTROL_BORDER_COLOR_SELECTED_FOCUS = '#2f5ca0';
1137
1137
  const GL_CONTROL_BORDER_RADIUS = '0.5rem';
1138
1138
  const GL_CONTROL_TEXT_COLOR_ERROR = '#c02f12';
1139
1139
  const GL_CONTROL_TEXT_COLOR_VALID = '#2f7549';
1140
- const GL_CONTROL_PLACEHOLDER_COLOR = '#89888d';
1140
+ const GL_CONTROL_PLACEHOLDER_COLOR = '#737278';
1141
1141
  const GL_CONTROL_INDICATOR_COLOR_SELECTED = '#fff';
1142
1142
  const GL_CONTROL_INDICATOR_COLOR_DISABLED = '#737278';
1143
1143
  const GL_FEEDBACK_BORDER_RADIUS = '0.5rem';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/ui",
3
- "version": "128.14.3",
3
+ "version": "128.15.1",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -129,10 +129,10 @@
129
129
  "@yarnpkg/lockfile": "^1.1.0",
130
130
  "acorn": "^8.16.0",
131
131
  "acorn-walk": "^8.3.5",
132
- "autoprefixer": "10.4.24",
132
+ "autoprefixer": "10.4.27",
133
133
  "axe-playwright": "^2.2.2",
134
134
  "babel-loader": "^9.2.1",
135
- "cypress": "15.10.0",
135
+ "cypress": "15.11.0",
136
136
  "cypress-real-events": "^1.15.0",
137
137
  "dompurify": "^3.1.2",
138
138
  "emoji-regex": "^10.6.0",
@@ -208,6 +208,11 @@ export default {
208
208
  },
209
209
  computedLocalCheckedWatcher(newValue, oldValue) {
210
210
  if (!looseEqual(newValue, oldValue)) {
211
+ /**
212
+ * Emitted when checked state is changed.
213
+ *
214
+ * @event input
215
+ */
211
216
  this.$emit('input', newValue);
212
217
 
213
218
  const { input } = this.$refs;
@@ -237,11 +242,20 @@ export default {
237
242
 
238
243
  // Fire events in a `$nextTick()` to ensure the `v-model` is updated
239
244
  this.$nextTick(() => {
240
- // Change is only emitted on user interaction
245
+ /**
246
+ * Emitted when selected value(s) is changed due to user interaction.
247
+ *
248
+ * @event change
249
+ */
241
250
  this.$emit('change', localChecked);
242
251
 
243
252
  // If this is a child of a group, we emit a change event on it as well
244
253
  if (this.isGroup) {
254
+ /**
255
+ * Emitted when selected value(s) is changed due to user interaction.
256
+ *
257
+ * @event change
258
+ */
245
259
  this.group.$emit('change', localChecked);
246
260
  }
247
261
 
@@ -285,8 +299,10 @@ export default {
285
299
  @change="handleChange"
286
300
  />
287
301
  <label :for="internalId" class="custom-control-label">
302
+ <!-- @slot The checkbox content to display. -->
288
303
  <slot></slot>
289
304
  <p v-if="Boolean($scopedSlots.help)" class="help-text">
305
+ <!-- @slot The help text to display. -->
290
306
  <slot name="help"></slot>
291
307
  </p>
292
308
  </label>
@@ -141,6 +141,11 @@ export default {
141
141
  },
142
142
  localChecked(newValue, oldValue) {
143
143
  if (!looseEqual(newValue, oldValue)) {
144
+ /**
145
+ * Emitted when the checked value is changed.
146
+ *
147
+ * @event input
148
+ */
144
149
  this.$emit('input', newValue);
145
150
  }
146
151
  },
@@ -155,6 +160,7 @@ export default {
155
160
  tabindex="-1"
156
161
  class="gl-form-checkbox-group gl-outline-none"
157
162
  >
163
+ <!-- @slot Slot for GlFormCheckboxes that will appear before checkboxes generated from options prop -->
158
164
  <slot name="first"></slot>
159
165
  <gl-form-checkbox
160
166
  v-for="(option, idx) in formOptions"
@@ -166,6 +172,7 @@ export default {
166
172
  <span v-if="option.html" v-safe-html="option.html"></span>
167
173
  <span v-else>{{ option.text }}</span>
168
174
  </gl-form-checkbox>
175
+ <!-- @slot Slot for GlFormCheckboxes that will appear after checkboxes generated from options prop -->
169
176
  <slot></slot>
170
177
  </div>
171
178
  </template>
@@ -16,22 +16,22 @@
16
16
  @apply gl-mb-0;
17
17
  }
18
18
 
19
- &:hover {
19
+ &:not(.disabled):hover {
20
20
  .gl-new-dropdown-item-content {
21
21
  color: var(--gl-dropdown-option-text-color-hover);
22
22
  background-color: var(--gl-dropdown-option-background-color-unselected-hover);
23
23
  }
24
24
  }
25
25
 
26
- &:focus {
26
+ &:not(.disabled):focus {
27
27
  .gl-new-dropdown-item-content {
28
28
  color: var(--gl-dropdown-option-text-color-focus);
29
29
  background-color: var(--gl-dropdown-option-background-color-unselected-focus);
30
30
  }
31
31
  }
32
32
 
33
- &:active,
34
- &:focus:active {
33
+ &:not(.disabled):active,
34
+ &:not(.disabled):focus:active {
35
35
  .gl-new-dropdown-item-content {
36
36
  color: var(--gl-dropdown-option-text-color-active);
37
37
  background-color: var(--gl-dropdown-option-background-color-unselected-active);
@@ -43,7 +43,13 @@
43
43
  background-color: var(--gl-dropdown-option-background-color-selected-default);
44
44
  }
45
45
 
46
- &:hover {
46
+ &.disabled {
47
+ .gl-new-dropdown-item-content {
48
+ background-color: var(--gl-background-color-disabled);
49
+ }
50
+ }
51
+
52
+ &:not(.disabled):hover {
47
53
  .gl-new-dropdown-item-content {
48
54
  background-color: var(--gl-dropdown-option-background-color-selected-hover);
49
55
  }
@@ -53,7 +59,7 @@
53
59
  }
54
60
  }
55
61
 
56
- &:focus {
62
+ &:not(.disabled):focus {
57
63
  .gl-new-dropdown-item-content {
58
64
  background-color: var(--gl-dropdown-option-background-color-selected-focus);
59
65
  }
@@ -63,8 +69,8 @@
63
69
  }
64
70
  }
65
71
 
66
- &:active,
67
- &:focus:active {
72
+ &:not(.disabled):active,
73
+ &:not(.disabled):focus:active {
68
74
  .gl-new-dropdown-item-content {
69
75
  background-color: var(--gl-dropdown-option-background-color-selected-active);
70
76
  }
@@ -79,9 +85,9 @@
79
85
  outline: none;
80
86
  }
81
87
 
82
- &:active,
83
- &:focus,
84
- &:focus:active {
88
+ &:not(.disabled):active,
89
+ &:not(.disabled):focus,
90
+ &:not(.disabled):focus:active {
85
91
  .gl-new-dropdown-item-content {
86
92
  @include gl-focus($inset: true);
87
93
  }
@@ -100,6 +106,20 @@
100
106
  @include gl-focus($inset: true);
101
107
  }
102
108
 
109
+ &.disabled {
110
+ cursor: not-allowed;
111
+ user-select: none;
112
+
113
+ .gl-new-dropdown-item-content {
114
+ color: var(--gl-text-color-disabled);
115
+ pointer-events: none;
116
+
117
+ .gl-new-dropdown-item-check-icon {
118
+ color: var(--gl-icon-color-disabled);
119
+ }
120
+ }
121
+ }
122
+
103
123
  .gl-new-dropdown-item-content {
104
124
  transition:
105
125
  background-color $gl-transition-duration-fast $gl-easing-out-cubic,
@@ -603,10 +603,10 @@ export default {
603
603
 
604
604
  /**
605
605
  * Every time the list of items changes, and there is a search string,
606
- * we want to visually highlight the first item
606
+ * we want to visually highlight the first enabled item
607
607
  */
608
608
  if (this.searchHasOptions) {
609
- this.nextFocusedItemIndex = 0;
609
+ this.nextFocusedItemIndex = this.getFirstEnabledIndex();
610
610
  } else {
611
611
  this.nextFocusedItemIndex = null;
612
612
  }
@@ -677,16 +677,22 @@ export default {
677
677
  this.focusSearchInput();
678
678
 
679
679
  /**
680
- * If the search string is not empty, highlight the first item
680
+ * If the search string is not empty, highlight the first enabled item
681
681
  */
682
682
  if (this.searchHasOptions) {
683
- this.nextFocusedItemIndex = 0;
684
- // Set activeItemId for the first item
685
- const firstItem = this.flattenedOptions[0];
683
+ const firstEnabledIndex = this.getFirstEnabledIndex();
684
+ this.nextFocusedItemIndex = firstEnabledIndex;
685
+ // Set activeItemId for the first enabled item
686
+ const firstItem = this.flattenedOptions[firstEnabledIndex];
686
687
  this.activeItemId = this.generateItemId(firstItem);
687
688
  }
688
689
  } else {
689
- this.focusItem(this.selectedIndices[0] ?? 0, this.getFocusableListItemElements());
690
+ const selectedIndex = this.selectedIndices[0];
691
+ const initialIndex =
692
+ selectedIndex !== undefined && !this.flattenedOptions[selectedIndex]?.disabled
693
+ ? selectedIndex
694
+ : this.getFirstEnabledIndex();
695
+ this.focusItem(initialIndex, this.getFocusableListItemElements());
690
696
  }
691
697
  /**
692
698
  * Emitted when dropdown is shown
@@ -707,13 +713,26 @@ export default {
707
713
  this.$emit('blur', event);
708
714
  },
709
715
  getNextIndex(currentIndex, keyCode, totalLength) {
710
- // For UP: move up or wrap to end
711
- if (keyCode === ARROW_UP) {
712
- return currentIndex > 0 ? currentIndex - 1 : totalLength - 1;
716
+ const direction = keyCode === ARROW_UP ? -1 : 1;
717
+ let nextIndex = currentIndex;
718
+
719
+ for (let i = 0; i < totalLength; i += 1) {
720
+ nextIndex += direction;
721
+ if (nextIndex < 0) nextIndex = totalLength - 1;
722
+ if (nextIndex >= totalLength) nextIndex = 0;
723
+
724
+ if (!this.flattenedOptions[nextIndex]?.disabled) {
725
+ return nextIndex;
726
+ }
713
727
  }
714
728
 
715
- // For DOWN: move down or wrap to start
716
- return currentIndex < totalLength - 1 ? currentIndex + 1 : 0;
729
+ return currentIndex;
730
+ },
731
+ getFirstEnabledIndex() {
732
+ return this.flattenedOptions.findIndex((item) => !item.disabled);
733
+ },
734
+ getLastEnabledIndex() {
735
+ return this.flattenedOptions.findLastIndex((item) => !item.disabled);
717
736
  },
718
737
  handleListNavigation(keyCode, elements) {
719
738
  const currentIndex = this.nextFocusedItemIndex ?? -1;
@@ -731,16 +750,16 @@ export default {
731
750
 
732
751
  switch (code) {
733
752
  case HOME:
734
- // Jump to first item if searchable or not in search input
753
+ // Jump to first enabled item if searchable or not in search input
735
754
  if (this.searchable || !isSearchInput) {
736
- this.focusItem(0, elements, this.searchable);
755
+ this.focusItem(this.getFirstEnabledIndex(), elements, this.searchable);
737
756
  }
738
757
  break;
739
758
 
740
759
  case END:
741
- // Jump to last item if searchable or not in search input
760
+ // Jump to last enabled item if searchable or not in search input
742
761
  if (this.searchable || !isSearchInput) {
743
- this.focusItem(elements.length - 1, elements, this.searchable);
762
+ this.focusItem(this.getLastEnabledIndex(), elements, this.searchable);
744
763
  }
745
764
  break;
746
765
 
@@ -753,9 +772,9 @@ export default {
753
772
  break;
754
773
 
755
774
  case ARROW_DOWN:
756
- // Focus first item from search input, otherwise navigate down
775
+ // Focus first enabled item from search input, otherwise navigate down
757
776
  if (isSearchInput && !this.searchable) {
758
- this.focusItem(0, elements);
777
+ this.focusItem(this.getFirstEnabledIndex(), elements);
759
778
  } else {
760
779
  this.handleListNavigation(ARROW_DOWN, elements);
761
780
  }
@@ -763,10 +782,12 @@ export default {
763
782
 
764
783
  case ENTER:
765
784
  if (isSearchInput) {
766
- // Toggle selection of highlighted item if one exists
785
+ // Toggle selection of highlighted item if one exists and is not disabled
767
786
  if (elements.length > 0 && this.nextFocusedItemIndex !== null) {
768
787
  const highlightedItem = this.flattenedOptions[this.nextFocusedItemIndex];
769
- this.onSelect(highlightedItem, !this.isSelected(highlightedItem));
788
+ if (!highlightedItem?.disabled) {
789
+ this.onSelect(highlightedItem, !this.isSelected(highlightedItem));
790
+ }
770
791
  }
771
792
  } else {
772
793
  stop = false;
@@ -834,6 +855,9 @@ export default {
834
855
  isFocused(item) {
835
856
  return this.nextFocusedItemIndex === this.flattenedOptions.indexOf(item);
836
857
  },
858
+ isDisabled(item) {
859
+ return item.disabled;
860
+ },
837
861
  onSingleSelect(value, isSelected) {
838
862
  if (isSelected) {
839
863
  /**
@@ -1109,6 +1133,7 @@ export default {
1109
1133
  :is-selected="isSelected(item)"
1110
1134
  :is-focused="isFocused(item)"
1111
1135
  :is-check-centered="isCheckCentered"
1136
+ :is-disabled="isDisabled(item)"
1112
1137
  v-bind="listboxItemMoreItemsAriaAttributes(index)"
1113
1138
  @select="onSelect(item, $event)"
1114
1139
  >
@@ -1140,6 +1165,7 @@ export default {
1140
1165
  :is-selected="isSelected(option)"
1141
1166
  :is-focused="isFocused(option)"
1142
1167
  :is-check-centered="isCheckCentered"
1168
+ :is-disabled="isDisabled(option)"
1143
1169
  @select="onSelect(option, $event)"
1144
1170
  >
1145
1171
  <!-- @slot Custom template of the listbox item -->
@@ -29,6 +29,11 @@ export default {
29
29
  default: false,
30
30
  required: false,
31
31
  },
32
+ isDisabled: {
33
+ type: Boolean,
34
+ default: false,
35
+ required: false,
36
+ },
32
37
  },
33
38
  computed: {
34
39
  checkedClasses() {
@@ -40,7 +45,13 @@ export default {
40
45
  },
41
46
  },
42
47
  methods: {
48
+ onMousedown(event) {
49
+ if (this.isDisabled) {
50
+ stopEvent(event);
51
+ }
52
+ },
43
53
  toggleSelection() {
54
+ if (this.isDisabled) return;
44
55
  this.$emit('select', !this.isSelected);
45
56
  },
46
57
  onKeydown(event) {
@@ -57,10 +68,18 @@ export default {
57
68
 
58
69
  <template>
59
70
  <li
60
- :class="['gl-new-dropdown-item', { 'gl-new-dropdown-item-highlighted': isHighlighted }]"
71
+ :class="[
72
+ 'gl-new-dropdown-item',
73
+ {
74
+ 'gl-new-dropdown-item-highlighted': isHighlighted,
75
+ disabled: isDisabled,
76
+ },
77
+ ]"
61
78
  role="option"
62
79
  :tabindex="isFocused ? 0 : -1"
63
80
  :aria-selected="isSelected"
81
+ :aria-disabled="isDisabled"
82
+ @mousedown="onMousedown"
64
83
  @click="toggleSelection"
65
84
  @keydown="onKeydown"
66
85
  >
@@ -14,14 +14,17 @@ export const mockOptions = [
14
14
  {
15
15
  value: 'leg',
16
16
  text: 'Legal',
17
+ disabled: true,
17
18
  },
18
19
  {
19
20
  value: 'eng',
20
21
  text: 'Engineering',
22
+ disabled: true,
21
23
  },
22
24
  {
23
25
  value: 'sales',
24
26
  text: 'Sales',
27
+ disabled: false,
25
28
  },
26
29
  {
27
30
  value: 'marketing',
@@ -30,6 +33,7 @@ export const mockOptions = [
30
33
  {
31
34
  value: 'acc',
32
35
  text: 'Accounting',
36
+ disabled: true,
33
37
  },
34
38
  {
35
39
  value: 'hr',
@@ -50,6 +54,7 @@ export const mockOptions = [
50
54
  {
51
55
  value: null,
52
56
  text: 'None',
57
+ disabled: true,
53
58
  },
54
59
  ];
55
60
 
@@ -134,6 +139,12 @@ export const mockUsers = [
134
139
  secondaryText: '@ohoral',
135
140
  icon: 'bar',
136
141
  },
142
+ {
143
+ value: 'jdoe',
144
+ text: 'Jane Doe',
145
+ secondaryText: '@jdoe',
146
+ disabled: true,
147
+ },
137
148
  {
138
149
  value: 'markian',
139
150
  text: 'Mark Florian',
@@ -919,6 +919,7 @@
919
919
  --gl-control-border-color-selected-default: var(--gl-color-blue-500); /** Used for checked and indeterminate (selected) form control (checkbox, radio button) border. */
920
920
  --gl-control-border-color-selected-hover: var(--gl-color-blue-700); /** Used for checked and indeterminate (selected) form control (checkbox, radio button) border on hover. */
921
921
  --gl-control-border-color-selected-focus: var(--gl-color-blue-700); /** Used for checked and indeterminate (selected) form control (checkbox, radio button) border on focus. */
922
+ --gl-control-placeholder-color: var(--gl-color-neutral-500); /** Used for placeholder text within inputs. */
922
923
  --gl-control-indicator-color-selected: var(--gl-color-neutral-0); /** Used for checkbox and radio button state indicators. */
923
924
  --gl-control-indicator-color-disabled: var(--gl-color-neutral-500); /** Used for disabled checkbox and radio button state indicators. */
924
925
  --gl-feedback-strong-background-color: var(--gl-color-neutral-800); /** Used for a background associated with strong feedback like a tooltip or toast message. */
@@ -1190,7 +1191,6 @@
1190
1191
  --gl-control-border-radius: var(--gl-border-radius-lg); /** Used for form control (input, radio button, checkbox, textarea) default border radius. */
1191
1192
  --gl-control-text-color-error: var(--gl-text-color-danger); /** Used for the helper text when the input is invalid. */
1192
1193
  --gl-control-text-color-valid: var(--gl-text-color-success); /** Used for the helper text when the input is valid. */
1193
- --gl-control-placeholder-color: var(--gl-text-color-disabled); /** Used for placeholder text within inputs. */
1194
1194
  --gl-feedback-border-radius: var(--gl-border-radius-lg); /** Used for the border radius of a feedback element. */
1195
1195
  --gl-focus-ring-inner-color: var(--gl-background-color-default); /** Used for the inner neutral portion of the focus ring. */
1196
1196
  --gl-icon-color-default: var(--gl-text-color-default); /** Used for the default icon color. Can be paired with default text. */
@@ -936,6 +936,7 @@
936
936
  --gl-control-border-color-selected-default: var(--gl-color-blue-400); /** Used for checked and indeterminate (selected) form control (checkbox, radio button) border. */
937
937
  --gl-control-border-color-selected-hover: var(--gl-color-blue-200); /** Used for checked and indeterminate (selected) form control (checkbox, radio button) border on hover. */
938
938
  --gl-control-border-color-selected-focus: var(--gl-color-blue-200); /** Used for checked and indeterminate (selected) form control (checkbox, radio button) border on focus. */
939
+ --gl-control-placeholder-color: var(--gl-color-neutral-400); /** Used for placeholder text within inputs. */
939
940
  --gl-control-indicator-color-selected: var(--gl-color-neutral-950); /** Used for checkbox and radio button state indicators. */
940
941
  --gl-control-indicator-color-disabled: var(--gl-color-neutral-400); /** Used for disabled checkbox and radio button state indicators. */
941
942
  --gl-feedback-strong-background-color: var(--gl-color-neutral-800); /** Used for a background associated with strong feedback like a tooltip or toast message. */
@@ -1196,7 +1197,6 @@
1196
1197
  --gl-control-border-radius: var(--gl-border-radius-lg); /** Used for form control (input, radio button, checkbox, textarea) default border radius. */
1197
1198
  --gl-control-text-color-error: var(--gl-text-color-danger); /** Used for the helper text when the input is invalid. */
1198
1199
  --gl-control-text-color-valid: var(--gl-text-color-success); /** Used for the helper text when the input is valid. */
1199
- --gl-control-placeholder-color: var(--gl-text-color-disabled); /** Used for placeholder text within inputs. */
1200
1200
  --gl-feedback-border-radius: var(--gl-border-radius-lg); /** Used for the border radius of a feedback element. */
1201
1201
  --gl-focus-ring-inner-color: var(--gl-background-color-default); /** Used for the inner neutral portion of the focus ring. */
1202
1202
  --gl-icon-color-default: var(--gl-text-color-default); /** Used for the default icon color. Can be paired with default text. */
@@ -15655,7 +15655,7 @@
15655
15655
  "$description": "Used when a border needs to be present, but not visibly perceived.",
15656
15656
  "$extensions": {
15657
15657
  "com.figma.scopes": [
15658
- "ALL_SCOPES"
15658
+ "STROKE_COLOR"
15659
15659
  ]
15660
15660
  },
15661
15661
  "filePath": "src/tokens/constant/border.tokens.json",
@@ -15666,7 +15666,7 @@
15666
15666
  "$description": "Used when a border needs to be present, but not visibly perceived.",
15667
15667
  "$extensions": {
15668
15668
  "com.figma.scopes": [
15669
- "ALL_SCOPES"
15669
+ "STROKE_COLOR"
15670
15670
  ]
15671
15671
  },
15672
15672
  "key": "{border.color.transparent}"
@@ -32590,7 +32590,7 @@
32590
32590
  "filePath": "src/tokens/semantic/control.tokens.json",
32591
32591
  "isSource": true,
32592
32592
  "original": {
32593
- "$value": "{text.color.disabled}",
32593
+ "$value": "{color.neutral.400}",
32594
32594
  "$type": "color",
32595
32595
  "$description": "Used for placeholder text within inputs.",
32596
32596
  "$extensions": {
@@ -15655,7 +15655,7 @@
15655
15655
  "$description": "Used when a border needs to be present, but not visibly perceived.",
15656
15656
  "$extensions": {
15657
15657
  "com.figma.scopes": [
15658
- "ALL_SCOPES"
15658
+ "STROKE_COLOR"
15659
15659
  ]
15660
15660
  },
15661
15661
  "filePath": "src/tokens/constant/border.tokens.json",
@@ -15666,7 +15666,7 @@
15666
15666
  "$description": "Used when a border needs to be present, but not visibly perceived.",
15667
15667
  "$extensions": {
15668
15668
  "com.figma.scopes": [
15669
- "ALL_SCOPES"
15669
+ "STROKE_COLOR"
15670
15670
  ]
15671
15671
  },
15672
15672
  "key": "{border.color.transparent}"
@@ -32579,7 +32579,7 @@
32579
32579
  "control": {
32580
32580
  "placeholder": {
32581
32581
  "key": "{control.placeholder.color}",
32582
- "$value": "#89888d",
32582
+ "$value": "#737278",
32583
32583
  "$type": "color",
32584
32584
  "$description": "Used for placeholder text within inputs.",
32585
32585
  "$extensions": {
@@ -32590,7 +32590,7 @@
32590
32590
  "filePath": "src/tokens/semantic/control.tokens.json",
32591
32591
  "isSource": true,
32592
32592
  "original": {
32593
- "$value": "{text.color.disabled}",
32593
+ "$value": "{color.neutral.500}",
32594
32594
  "$type": "color",
32595
32595
  "$description": "Used for placeholder text within inputs.",
32596
32596
  "$extensions": {
@@ -5,7 +5,7 @@
5
5
  "$description": "Used when a border needs to be present, but not visibly perceived.",
6
6
  "$extensions": {
7
7
  "com.figma.scopes": [
8
- "ALL_SCOPES"
8
+ "STROKE_COLOR"
9
9
  ]
10
10
  }
11
11
  },
@@ -5,7 +5,7 @@
5
5
  "$description": "Used when a border needs to be present, but not visibly perceived.",
6
6
  "$extensions": {
7
7
  "com.figma.scopes": [
8
- "ALL_SCOPES"
8
+ "STROKE_COLOR"
9
9
  ]
10
10
  }
11
11
  },
@@ -78,7 +78,9 @@
78
78
  "$value": "{spacing-scale-5}",
79
79
  "$type": "dimension",
80
80
  "$extensions": {
81
- "com.figma.scopes": []
81
+ "com.figma.scopes": [
82
+ "PARAGRAPH_SPACING"
83
+ ]
82
84
  }
83
85
  },
84
86
  "line-height-heading": {
@@ -6055,7 +6057,7 @@
6055
6057
  }
6056
6058
  },
6057
6059
  "control-placeholder-color": {
6058
- "$value": "{text-color-disabled}",
6060
+ "$value": "{color-neutral-400}",
6059
6061
  "$type": "color",
6060
6062
  "$description": "Used for placeholder text within inputs.",
6061
6063
  "$extensions": {
@@ -78,7 +78,9 @@
78
78
  "$value": "{spacing-scale-5}",
79
79
  "$type": "dimension",
80
80
  "$extensions": {
81
- "com.figma.scopes": []
81
+ "com.figma.scopes": [
82
+ "PARAGRAPH_SPACING"
83
+ ]
82
84
  }
83
85
  },
84
86
  "line-height-heading": {
@@ -5967,7 +5969,7 @@
5967
5969
  }
5968
5970
  },
5969
5971
  "control-placeholder-color": {
5970
- "$value": "{text-color-disabled}",
5972
+ "$value": "{color-neutral-500}",
5971
5973
  "$type": "color",
5972
5974
  "$description": "Used for placeholder text within inputs.",
5973
5975
  "$extensions": {
@@ -1180,7 +1180,7 @@ export const GL_CONTROL_BORDER_COLOR_SELECTED_FOCUS = '#2f5ca0';
1180
1180
  export const GL_CONTROL_BORDER_RADIUS = '0.5rem';
1181
1181
  export const GL_CONTROL_TEXT_COLOR_ERROR = '#c02f12';
1182
1182
  export const GL_CONTROL_TEXT_COLOR_VALID = '#2f7549';
1183
- export const GL_CONTROL_PLACEHOLDER_COLOR = '#89888d';
1183
+ export const GL_CONTROL_PLACEHOLDER_COLOR = '#737278';
1184
1184
  export const GL_CONTROL_INDICATOR_COLOR_SELECTED = '#fff';
1185
1185
  export const GL_CONTROL_INDICATOR_COLOR_DISABLED = '#737278';
1186
1186
  export const GL_FEEDBACK_BORDER_RADIUS = '0.5rem';
@@ -8,7 +8,7 @@
8
8
  "$description": "Used when a border needs to be present, but not visibly perceived.",
9
9
  "$extensions": {
10
10
  "com.figma.scopes": [
11
- "ALL_SCOPES"
11
+ "STROKE_COLOR"
12
12
  ]
13
13
  },
14
14
  "filePath": "src/tokens/constant/border.tokens.json",
@@ -19,7 +19,7 @@
19
19
  "$description": "Used when a border needs to be present, but not visibly perceived.",
20
20
  "$extensions": {
21
21
  "com.figma.scopes": [
22
- "ALL_SCOPES"
22
+ "STROKE_COLOR"
23
23
  ]
24
24
  },
25
25
  "key": "{border.color.transparent}"
@@ -7871,7 +7871,9 @@
7871
7871
  "$value": "1rem",
7872
7872
  "$type": "dimension",
7873
7873
  "$extensions": {
7874
- "com.figma.scopes": []
7874
+ "com.figma.scopes": [
7875
+ "PARAGRAPH_SPACING"
7876
+ ]
7875
7877
  },
7876
7878
  "filePath": "src/tokens/semantic/heading.tokens.json",
7877
7879
  "isSource": true,
@@ -7879,7 +7881,9 @@
7879
7881
  "$value": "{spacing-scale.5}",
7880
7882
  "$type": "dimension",
7881
7883
  "$extensions": {
7882
- "com.figma.scopes": []
7884
+ "com.figma.scopes": [
7885
+ "PARAGRAPH_SPACING"
7886
+ ]
7883
7887
  },
7884
7888
  "key": "{heading.default.margin.bottom}"
7885
7889
  },
@@ -35704,7 +35708,7 @@
35704
35708
  "filePath": "src/tokens/semantic/control.tokens.json",
35705
35709
  "isSource": true,
35706
35710
  "original": {
35707
- "$value": "{text.color.disabled}",
35711
+ "$value": "{color.neutral.400}",
35708
35712
  "$type": "color",
35709
35713
  "$description": "Used for placeholder text within inputs.",
35710
35714
  "$extensions": {