@gitlab/ui 112.2.2 → 112.3.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.
Files changed (182) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/bin/migrate_custom_utils_to_tw.bundled.mjs +209 -32
  3. package/dist/components/base/accordion/accordion.js +1 -1
  4. package/dist/components/base/accordion/accordion_item.js +1 -1
  5. package/dist/components/base/alert/alert.js +1 -1
  6. package/dist/components/base/animated_icon/animated_chevron_down_up_icon.js +1 -1
  7. package/dist/components/base/animated_icon/animated_chevron_lg_down_up_icon.js +1 -1
  8. package/dist/components/base/animated_icon/animated_chevron_lg_right_down_icon.js +1 -1
  9. package/dist/components/base/animated_icon/animated_chevron_right_down_icon.js +1 -1
  10. package/dist/components/base/animated_icon/animated_duo_chat_icon.js +1 -1
  11. package/dist/components/base/animated_icon/animated_loader_icon.js +1 -1
  12. package/dist/components/base/animated_icon/animated_notifications_icon.js +1 -1
  13. package/dist/components/base/animated_icon/animated_sidebar_icon.js +1 -1
  14. package/dist/components/base/animated_icon/animated_smile_icon.js +1 -1
  15. package/dist/components/base/animated_icon/animated_sort_icon.js +1 -1
  16. package/dist/components/base/animated_icon/animated_star_icon.js +1 -1
  17. package/dist/components/base/animated_icon/animated_todo_icon.js +1 -1
  18. package/dist/components/base/animated_icon/animated_upload_icon.js +1 -1
  19. package/dist/components/base/animated_icon/base_animated_icon.js +1 -1
  20. package/dist/components/base/avatar/avatar.js +1 -1
  21. package/dist/components/base/avatar_labeled/avatar_labeled.js +1 -1
  22. package/dist/components/base/avatar_link/avatar_link.js +1 -1
  23. package/dist/components/base/avatars_inline/avatars_inline.js +1 -1
  24. package/dist/components/base/badge/badge.js +1 -1
  25. package/dist/components/base/banner/banner.js +1 -1
  26. package/dist/components/base/breadcrumb/breadcrumb.js +1 -1
  27. package/dist/components/base/breadcrumb/breadcrumb_item.js +1 -1
  28. package/dist/components/base/broadcast_message/broadcast_message.js +1 -1
  29. package/dist/components/base/button/button.js +1 -1
  30. package/dist/components/base/button_group/button_group.js +1 -1
  31. package/dist/components/base/card/card.js +1 -1
  32. package/dist/components/base/collapse/collapse.js +1 -1
  33. package/dist/components/base/datepicker/datepicker.js +1 -2
  34. package/dist/components/base/daterange_picker/daterange_picker.js +1 -1
  35. package/dist/components/base/drawer/drawer.js +1 -1
  36. package/dist/components/base/dropdown/dropdown.js +1 -2
  37. package/dist/components/base/dropdown/dropdown_divider.js +1 -1
  38. package/dist/components/base/dropdown/dropdown_form.js +1 -1
  39. package/dist/components/base/dropdown/dropdown_item.js +1 -1
  40. package/dist/components/base/dropdown/dropdown_section_header.js +1 -1
  41. package/dist/components/base/dropdown/dropdown_text.js +1 -1
  42. package/dist/components/base/filtered_search/filtered_search.js +2 -2
  43. package/dist/components/base/filtered_search/filtered_search_suggestion.js +1 -1
  44. package/dist/components/base/filtered_search/filtered_search_suggestion_list.js +1 -1
  45. package/dist/components/base/filtered_search/filtered_search_term.js +1 -1
  46. package/dist/components/base/filtered_search/filtered_search_token.js +1 -1
  47. package/dist/components/base/filtered_search/filtered_search_token_segment.js +1 -1
  48. package/dist/components/base/form/form.js +1 -1
  49. package/dist/components/base/form/form_character_count/form_character_count.js +1 -1
  50. package/dist/components/base/form/form_checkbox/form_checkbox.js +1 -1
  51. package/dist/components/base/form/form_checkbox/form_checkbox_group.js +1 -1
  52. package/dist/components/base/form/form_checkbox_tree/checkbox_tree_node.js +1 -1
  53. package/dist/components/base/form/form_checkbox_tree/form_checkbox_tree.js +1 -1
  54. package/dist/components/base/form/form_combobox/form_combobox.js +1 -1
  55. package/dist/components/base/form/form_date/form_date.js +1 -1
  56. package/dist/components/base/form/form_fields/form_field_validator.js +1 -1
  57. package/dist/components/base/form/form_fields/form_fields.js +1 -1
  58. package/dist/components/base/form/form_group/form_group.js +1 -1
  59. package/dist/components/base/form/form_input/form_input.js +1 -1
  60. package/dist/components/base/form/form_input_group/form_input_group.js +1 -1
  61. package/dist/components/base/form/form_radio/form_radio.js +1 -1
  62. package/dist/components/base/form/form_radio_group/form_radio_group.js +1 -1
  63. package/dist/components/base/form/form_select/form_select.js +1 -1
  64. package/dist/components/base/form/form_textarea/form_textarea.js +1 -1
  65. package/dist/components/base/form/input_group_text/input_group_text.js +1 -1
  66. package/dist/components/base/icon/icon.js +1 -1
  67. package/dist/components/base/infinite_scroll/infinite_scroll.js +1 -2
  68. package/dist/components/base/keyset_pagination/keyset_pagination.js +1 -1
  69. package/dist/components/base/label/label.js +1 -1
  70. package/dist/components/base/link/link.js +1 -1
  71. package/dist/components/base/loading_icon/loading_icon.js +1 -1
  72. package/dist/components/base/markdown/markdown.js +1 -1
  73. package/dist/components/base/modal/modal.js +1 -1
  74. package/dist/components/base/nav/nav.js +90 -6
  75. package/dist/components/base/nav/nav_item.js +1 -1
  76. package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +1 -2
  77. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js +1 -2
  78. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.js +1 -2
  79. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js +1 -2
  80. package/dist/components/base/new_dropdowns/listbox/listbox.js +1 -2
  81. package/dist/components/base/new_dropdowns/listbox/listbox_group.js +1 -1
  82. package/dist/components/base/new_dropdowns/listbox/listbox_item.js +1 -1
  83. package/dist/components/base/new_dropdowns/listbox/listbox_search_input.js +1 -1
  84. package/dist/components/base/pagination/pagination.js +1 -1
  85. package/dist/components/base/path/path.js +1 -1
  86. package/dist/components/base/popover/popover.js +1 -1
  87. package/dist/components/base/progress_bar/progress_bar.js +1 -1
  88. package/dist/components/base/search_box_by_click/search_box_by_click.js +2 -2
  89. package/dist/components/base/search_box_by_type/search_box_by_type.js +1 -1
  90. package/dist/components/base/segmented_control/segmented_control.js +1 -1
  91. package/dist/components/base/skeleton_loader/skeleton_loader.js +1 -1
  92. package/dist/components/base/sorting/sorting.js +1 -1
  93. package/dist/components/base/table/table.js +2 -2
  94. package/dist/components/base/table_lite/table_lite.js +1 -1
  95. package/dist/components/base/tabs/tab/tab.js +1 -1
  96. package/dist/components/base/tabs/tabs/scrollable_tabs.js +1 -1
  97. package/dist/components/base/tabs/tabs/tabs.js +1 -1
  98. package/dist/components/base/toast/toast.js +1 -1
  99. package/dist/components/base/toggle/toggle.js +1 -1
  100. package/dist/components/base/token/token.js +1 -1
  101. package/dist/components/base/token_selector/token_container.js +1 -1
  102. package/dist/components/base/token_selector/token_selector.js +1 -1
  103. package/dist/components/base/token_selector/token_selector_dropdown.js +1 -1
  104. package/dist/components/base/tooltip/tooltip.js +1 -1
  105. package/dist/components/charts/area/area.js +1 -1
  106. package/dist/components/charts/bar/bar.js +1 -1
  107. package/dist/components/charts/chart/chart.js +1 -1
  108. package/dist/components/charts/column/column.js +1 -1
  109. package/dist/components/charts/discrete_scatter/discrete_scatter.js +1 -1
  110. package/dist/components/charts/gauge/gauge.js +2 -2
  111. package/dist/components/charts/heatmap/heatmap.js +1 -1
  112. package/dist/components/charts/legend/legend.js +1 -1
  113. package/dist/components/charts/line/line.js +1 -1
  114. package/dist/components/charts/series_label/series_label.js +1 -1
  115. package/dist/components/charts/shared/tooltip/tooltip.js +1 -1
  116. package/dist/components/charts/shared/tooltip/tooltip_default_format/tooltip_default_format.js +1 -1
  117. package/dist/components/charts/single_stat/single_stat.js +1 -1
  118. package/dist/components/charts/sparkline/sparkline.js +1 -1
  119. package/dist/components/charts/stacked_column/stacked_column.js +1 -1
  120. package/dist/components/dashboards/dashboard_panel/dashboard_panel.js +1 -1
  121. package/dist/components/experimental/experiment_badge/experiment_badge.js +1 -2
  122. package/dist/components/mixins/tooltip_mixin.js +1 -1
  123. package/dist/components/regions/dashboard_skeleton/dashboard_skeleton.js +1 -1
  124. package/dist/components/regions/empty_state/empty_state.js +1 -1
  125. package/dist/components/shared_components/clear_icon_button/clear_icon_button.js +1 -1
  126. package/dist/components/shared_components/close_button/close_button.js +1 -1
  127. package/dist/components/utilities/animated_number/animated_number.js +1 -1
  128. package/dist/components/utilities/friendly_wrap/friendly_wrap.js +1 -1
  129. package/dist/components/utilities/intersection_observer/intersection_observer.js +1 -1
  130. package/dist/components/utilities/intersperse/intersperse.js +1 -1
  131. package/dist/components/utilities/sprintf/sprintf.js +1 -1
  132. package/dist/components/utilities/truncate/truncate.js +1 -1
  133. package/dist/components/utilities/truncate_text/truncate_text.js +1 -1
  134. package/dist/config.js +1 -2
  135. package/dist/index.css +2 -2
  136. package/dist/index.css.map +1 -1
  137. package/dist/tailwind.css +1 -1
  138. package/dist/tokens/build/js/tokens.dark.js +80 -80
  139. package/dist/tokens/build/js/tokens.js +179 -179
  140. package/dist/tokens/css/tokens.css +50 -50
  141. package/dist/tokens/css/tokens.dark.css +25 -25
  142. package/dist/tokens/js/tokens.dark.js +80 -80
  143. package/dist/tokens/js/tokens.js +179 -179
  144. package/dist/tokens/json/tokens.dark.json +130 -130
  145. package/dist/tokens/json/tokens.json +229 -229
  146. package/dist/tokens/scss/_tokens.dark.scss +25 -25
  147. package/dist/tokens/scss/_tokens.scss +50 -50
  148. package/dist/tokens/tailwind/tokens.cjs +47 -47
  149. package/dist/tokens/tokens_story.js +1 -1
  150. package/dist/tokens/tokens_table.js +1 -1
  151. package/dist/vendor/bootstrap-vue/src/constants/components.js +1 -3
  152. package/dist/vendor/bootstrap-vue/src/utils/cache.js +1 -1
  153. package/dist/vendor/bootstrap-vue/src/utils/props.js +1 -1
  154. package/dist/vendor/bootstrap-vue/src/utils/router.js +1 -1
  155. package/package.json +2 -2
  156. package/src/components/base/nav/nav.md +182 -4
  157. package/src/components/base/nav/nav.vue +60 -7
  158. package/src/components/base/search_box_by_click/search_box_by_click.vue +9 -3
  159. package/src/tokens/build/css/tokens.css +50 -50
  160. package/src/tokens/build/css/tokens.dark.css +25 -25
  161. package/src/tokens/build/figma/constants.tokens.json +25 -25
  162. package/src/tokens/build/figma/deprecated.tokens.json +25 -25
  163. package/src/tokens/build/js/tokens.dark.js +80 -80
  164. package/src/tokens/build/js/tokens.js +179 -179
  165. package/src/tokens/build/json/tokens.dark.json +130 -130
  166. package/src/tokens/build/json/tokens.json +229 -229
  167. package/src/tokens/build/scss/_tokens.dark.scss +25 -25
  168. package/src/tokens/build/scss/_tokens.scss +50 -50
  169. package/src/tokens/build/tailwind/tokens.cjs +47 -47
  170. package/src/tokens/constant/color.tokens.json +25 -25
  171. package/src/tokens/deprecated/deprecated.color.tokens.json +25 -25
  172. package/src/vendor/bootstrap-vue/src/constants/components.js +0 -2
  173. package/dist/vendor/bootstrap-vue/src/components/collapse/collapse.js +0 -207
  174. package/dist/vendor/bootstrap-vue/src/components/collapse/helpers/bv-collapse.js +0 -90
  175. package/dist/vendor/bootstrap-vue/src/components/collapse/index.js +0 -1
  176. package/src/vendor/bootstrap-vue/src/components/collapse/MODIFICATIONS.md +0 -14
  177. package/src/vendor/bootstrap-vue/src/components/collapse/README.md +0 -321
  178. package/src/vendor/bootstrap-vue/src/components/collapse/collapse.js +0 -207
  179. package/src/vendor/bootstrap-vue/src/components/collapse/collapse.spec.js +0 -426
  180. package/src/vendor/bootstrap-vue/src/components/collapse/helpers/bv-collapse.js +0 -88
  181. package/src/vendor/bootstrap-vue/src/components/collapse/index.js +0 -3
  182. package/src/vendor/bootstrap-vue/src/components/collapse/package.json +0 -104
@@ -1,6 +1,184 @@
1
- The navigation component is built with flexbox and provides a strong foundation for building all
2
- types of navigation components.
1
+ ## Overview
3
2
 
4
- ## `GlNavItem`
3
+ The base `<gl-nav>` component is built with flexbox and provides a strong foundation for building all
4
+ types of navigation components. It includes some style overrides (for working with lists), some link
5
+ padding for larger hit areas, and basic disabled styling. No active states are included in the base
6
+ nav.
5
7
 
6
- Use `GlNavItem` to add actionable links (or router links) to your nav. `GlNavItem` wraps [`BNavItem`](https://bootstrap-vue.org/docs/components/navbar#b-nav-item).
8
+ `<gl-nav>` supports the `<gl-nav-item>` child component for actionable links (or router-links).
9
+
10
+ ## Link appearance
11
+
12
+ Two style variations are supported: `tabs` and `pills`, which support `active` state styling. These
13
+ variants are mutually exclusive - use only one style or the other.
14
+
15
+ ### Tab style
16
+
17
+ Make the nav look like tabs by setting the `tabs` prop.
18
+
19
+ ```html
20
+ <div>
21
+ <gl-nav tabs>
22
+ <gl-nav-item active>Active</gl-nav-item>
23
+ <gl-nav-item>Link</gl-nav-item>
24
+ <gl-nav-item>Another Link</gl-nav-item>
25
+ <gl-nav-item disabled>Disabled</gl-nav-item>
26
+ </gl-nav>
27
+ </div>
28
+ ```
29
+
30
+ ### Pill style
31
+
32
+ Use the pill style by setting the `pills` prop.
33
+
34
+ ```html
35
+ <div>
36
+ <gl-nav pills>
37
+ <gl-nav-item active>Active</gl-nav-item>
38
+ <gl-nav-item>Link</gl-nav-item>
39
+ <gl-nav-item>Another Link</gl-nav-item>
40
+ <gl-nav-item disabled>Disabled</gl-nav-item>
41
+ </gl-nav>
42
+ </div>
43
+ ```
44
+
45
+ ### Small
46
+
47
+ Make the nav smaller by setting the `small` prop.
48
+
49
+ ```html
50
+ <div>
51
+ <gl-nav small>
52
+ <gl-nav-item active>Active</gl-nav-item>
53
+ <gl-nav-item>Link</gl-nav-item>
54
+ <gl-nav-item>Another Link</gl-nav-item>
55
+ <gl-nav-item disabled>Disabled</gl-nav-item>
56
+ </gl-nav>
57
+ </div>
58
+ ```
59
+
60
+ ## Fill and justify
61
+
62
+ Force your `<gl-nav>` content to extend the full available width.
63
+
64
+ ### Fill
65
+
66
+ To proportionately fill all available space with your `<gl-nav-item>` components, set the `fill`
67
+ prop. Notice that all horizontal space is occupied, but not every nav item has the same width.
68
+
69
+ ```html
70
+ <div>
71
+ <gl-nav tabs fill>
72
+ <gl-nav-item active>Active</gl-nav-item>
73
+ <gl-nav-item>Link</gl-nav-item>
74
+ <gl-nav-item>Link with a long name </gl-nav-item>
75
+ <gl-nav-item disabled>Disabled</gl-nav-item>
76
+ </gl-nav>
77
+ </div>
78
+ ```
79
+
80
+ ### Justified
81
+
82
+ For equal-width elements, set the `justified` prop instead. All horizontal space will be occupied by
83
+ nav links, but unlike `fill` above, every `<gl-nav-item>` will be the same width.
84
+
85
+ ```html
86
+ <div>
87
+ <gl-nav tabs justified>
88
+ <gl-nav-item active>Active</gl-nav-item>
89
+ <gl-nav-item>Link</gl-nav-item>
90
+ <gl-nav-item>Link with a long name </gl-nav-item>
91
+ <gl-nav-item disabled>Disabled</gl-nav-item>
92
+ </gl-nav>
93
+ </div>
94
+ ```
95
+
96
+ ## Alignment
97
+
98
+ To align your `<gl-nav-item>` components, use the `align` prop. Available values are `left`, `center`
99
+ and `right`.
100
+
101
+ ```html
102
+ <div>
103
+ <gl-nav tabs align="center">
104
+ <gl-nav-item active>Active</gl-nav-item>
105
+ <gl-nav-item>Link</gl-nav-item>
106
+ <gl-nav-item>Link with a long name </gl-nav-item>
107
+ <gl-nav-item disabled>Disabled</gl-nav-item>
108
+ </gl-nav>
109
+ </div>
110
+ ```
111
+
112
+ ## Tabbed local content support
113
+
114
+ See the [`<gl-tabs>`](?path=/docs/base-tabs--docs) component for creating tabbable panes of local
115
+ content (not suited for navigation).
116
+
117
+ ## Card integration
118
+
119
+ Use a `<gl-nav>` in a [`<gl-card>`](?path=/docs/base-card--docs) header, by enabling the
120
+ `card-header` prop on `<gl-nav>` and setting either the `pills` or `tabs` props:
121
+
122
+ ```html
123
+ <div>
124
+ <gl-card title="Card Title">
125
+ <template #header>
126
+ <gl-nav card-header tabs>
127
+ <gl-nav-item active>Active</gl-nav-item>
128
+ <gl-nav-item>Inactive</gl-nav-item>
129
+ </gl-nav>
130
+ </template>
131
+
132
+ <template #default>
133
+ <p>With supporting text below as a natural lead-in to additional content.</p>
134
+ <gl-button variant="primary">Go somewhere</gl-button>
135
+ </template>
136
+ </gl-card>
137
+ </div>
138
+ ```
139
+
140
+ **Plain style:**
141
+
142
+ The `card-header` prop is only needed when you are applying `tabs` or `pills` style. Note that
143
+ we do not have special styling for `active` state plain style nav items.
144
+
145
+ ```html
146
+ <div>
147
+ <gl-card title="Card Title">
148
+ <template #header>
149
+ <gl-nav>
150
+ <gl-nav-item active>Active</gl-nav-item>
151
+ <gl-nav-item>Inactive</gl-nav-item>
152
+ </gl-nav>
153
+ </template>
154
+
155
+ <template #default>
156
+ <p>pWith supporting text below as a natural lead-in to additional content.</p>
157
+ <gl-button variant="primary">Go somewhere</gl-button>
158
+ </template>
159
+ </gl-card>
160
+ </div>
161
+ ```
162
+
163
+ ## Accessibility
164
+
165
+ If you're using `<gl-nav>` to provide a navigation bar, be sure to add a `role="navigation"` to the
166
+ most logical parent container of `<gl-nav>`, or wrap a `<nav>` element around `<gl-nav>`. Do **not**
167
+ add the role to the `<gl-nav>` itself, as this would prevent it from being announced as an actual
168
+ list by assistive technologies.
169
+
170
+ ### Tabbed interface accessibility
171
+
172
+ Note that navigation bars, even if visually styled as tabs, should **not** be given
173
+ `role="tablist"`, `role="tab"` or `role="tabpanel"` attributes. These are only appropriate for
174
+ [tabbed interfaces](?path=/docs/base-tabs--docs) that do not change the URL or `$route`, as
175
+ described in the [WAI ARIA Authoring Practices](https://www.w3.org/TR/wai-aria-practices/#tabpanel).
176
+ See [`<gl-tabs>`](?path=/docs/base-tabs--docs) for dynamic tabbed interfaces that are compliant with
177
+ WAI ARIA.
178
+
179
+ ## See also
180
+
181
+ - [tabs](?path=/docs/base-tabs--docs) to create tabbable panes of local content, even via dropdown
182
+ menus.
183
+ - [Router Link Support reference](?path=/docs/base-link--docs#router-link-support) for information
184
+ about router-link specific props available on `<gl-nav-item>`
@@ -1,17 +1,70 @@
1
1
  <script>
2
- import { BNav } from '../../../vendor/bootstrap-vue/src/components/nav/nav';
3
-
4
2
  export default {
5
3
  name: 'GlNav',
6
- components: {
7
- BNav,
4
+ props: {
5
+ /**
6
+ * Align the nav items in the nav: 'start' (or 'left'), 'center', 'end' (or 'right')
7
+ */
8
+ align: { type: String, required: false, default: '' },
9
+ /**
10
+ * Set this prop when the nav is placed inside a card header
11
+ */
12
+ cardHeader: { type: Boolean, required: false, default: false },
13
+ /**
14
+ * Proportionately fills all horizontal space with nav items.
15
+ * All horizontal space is occupied, but not every nav item has the same width
16
+ */
17
+ fill: { type: Boolean, required: false, default: false },
18
+ /**
19
+ * Fills all horizontal space with nav items, but unlike 'fill', every nav item will be the same width
20
+ */
21
+ justified: { type: Boolean, required: false, default: false },
22
+ /**
23
+ * Renders the nav items with the appearance of pill buttons
24
+ */
25
+ pills: { type: Boolean, required: false, default: false },
26
+ /**
27
+ * Makes the nav smaller
28
+ */
29
+ small: { type: Boolean, required: false, default: false },
30
+ /**
31
+ * Renders the nav items with the appearance of tabs
32
+ */
33
+ tabs: { type: Boolean, required: false, default: false },
34
+ /**
35
+ * Specify the HTML tag to render instead of the default tag
36
+ */
37
+ tag: { type: String, required: false, default: 'ul' },
38
+ },
39
+ computed: {
40
+ justifyContent() {
41
+ if (!this.align) return '';
42
+
43
+ const alignMapping = {
44
+ left: 'start',
45
+ right: 'end',
46
+ };
47
+
48
+ return `justify-content-${alignMapping[this.align] || this.align}`;
49
+ },
50
+ classes() {
51
+ return {
52
+ 'nav-tabs': this.tabs,
53
+ 'nav-pills': this.pills && !this.tabs,
54
+ 'card-header-tabs': this.cardHeader && this.tabs,
55
+ 'card-header-pills': this.cardHeader && this.pills && !this.tabs,
56
+ 'nav-fill': this.fill,
57
+ 'nav-justified': this.justified,
58
+ [this.justifyContent]: this.align,
59
+ small: this.small,
60
+ };
61
+ },
8
62
  },
9
- inheritAttrs: false,
10
63
  };
11
64
  </script>
12
65
 
13
66
  <template>
14
- <b-nav v-bind="$attrs" v-on="$listeners">
67
+ <component :is="tag" class="nav" :class="classes" v-on="$listeners">
15
68
  <slot></slot>
16
- </b-nav>
69
+ </component>
17
70
  </template>
@@ -213,10 +213,11 @@ export default {
213
213
  class="gl-search-box-by-click-history"
214
214
  icon="history"
215
215
  category="tertiary"
216
- toggle-text="Toggle history"
216
+ toggle-text="Toggle search history"
217
217
  text-sr-only
218
218
  fluid-width
219
219
  :disabled="disabled"
220
+ aria-label="Recent searches history"
220
221
  >
221
222
  <template #header>
222
223
  <div
@@ -231,6 +232,7 @@ export default {
231
232
  v-for="(item, idx) in historyItems"
232
233
  :key="idx"
233
234
  class="gl-search-box-by-click-history-item"
235
+ :aria-label="`Select recent search: ${item || 'empty search'}`"
234
236
  @action="selectHistoryItem(item)"
235
237
  >
236
238
  <template #list-item>
@@ -239,9 +241,13 @@ export default {
239
241
  </template>
240
242
  </gl-disclosure-dropdown-item>
241
243
  </template>
242
- <div v-else class="gl-px-4 gl-py-2 gl-text-sm gl-text-subtle">
244
+ <gl-disclosure-dropdown-item
245
+ v-else
246
+ class="gl-px-4 gl-py-2 gl-text-sm gl-text-subtle"
247
+ :aria-label="`Select recent search: ${noRecentSearchesText}`"
248
+ >
243
249
  {{ noRecentSearchesText }}
244
- </div>
250
+ </gl-disclosure-dropdown-item>
245
251
 
246
252
  <template v-if="historyItems.length" #footer>
247
253
  <div
@@ -24,11 +24,11 @@
24
24
  --gl-color-blue-300: #63a6e9;
25
25
  --gl-color-blue-400: #428fdc;
26
26
  --gl-color-blue-500: #1f75cb;
27
- --gl-color-blue-600: #1068bf;
28
- --gl-color-blue-700: #0b5cad;
29
- --gl-color-blue-800: #064787;
30
- --gl-color-blue-900: #033464;
31
- --gl-color-blue-950: #002850;
27
+ --gl-color-blue-600: #2f68b4;
28
+ --gl-color-blue-700: #2f5ca0;
29
+ --gl-color-blue-800: #284779;
30
+ --gl-color-blue-900: #213454;
31
+ --gl-color-blue-950: #1d283e;
32
32
  --gl-color-neutral-0: #fff;
33
33
  --gl-color-neutral-10: #fbfafd;
34
34
  --gl-color-neutral-50: #ececef;
@@ -49,44 +49,44 @@
49
49
  --gl-color-green-300: #52b87a;
50
50
  --gl-color-green-400: #2da160;
51
51
  --gl-color-green-500: #108548;
52
- --gl-color-green-600: #217645;
53
- --gl-color-green-700: #24663b;
54
- --gl-color-green-800: #0d532a;
55
- --gl-color-green-900: #0a4020;
56
- --gl-color-green-950: #072b15;
52
+ --gl-color-green-600: #2f7549;
53
+ --gl-color-green-700: #306440;
54
+ --gl-color-green-800: #225131;
55
+ --gl-color-green-900: #1e3e28;
56
+ --gl-color-green-950: #17291c;
57
57
  --gl-color-orange-50: #fdf1dd;
58
58
  --gl-color-orange-100: #f5d9a8;
59
59
  --gl-color-orange-200: #e9be74;
60
60
  --gl-color-orange-300: #d99530;
61
61
  --gl-color-orange-400: #c17d10;
62
62
  --gl-color-orange-500: #ab6100;
63
- --gl-color-orange-600: #9e5400;
64
- --gl-color-orange-700: #8f4700;
65
- --gl-color-orange-800: #703800;
66
- --gl-color-orange-900: #5c2900;
67
- --gl-color-orange-950: #421f00;
63
+ --gl-color-orange-600: #995715;
64
+ --gl-color-orange-700: #894b16;
65
+ --gl-color-orange-800: #693c14;
66
+ --gl-color-orange-900: #532e16;
67
+ --gl-color-orange-950: #382315;
68
68
  --gl-color-purple-50: #f4f0ff;
69
69
  --gl-color-purple-100: #e1d8f9;
70
70
  --gl-color-purple-200: #cbbbf2;
71
71
  --gl-color-purple-300: #ac93e6;
72
72
  --gl-color-purple-400: #9475db;
73
73
  --gl-color-purple-500: #7b58cf;
74
- --gl-color-purple-600: #694cc0;
75
- --gl-color-purple-700: #5943b6;
76
- --gl-color-purple-800: #453894;
77
- --gl-color-purple-900: #2f2a6b;
78
- --gl-color-purple-950: #232150;
74
+ --gl-color-purple-600: #6a4fb4;
75
+ --gl-color-purple-700: #5c47a6;
76
+ --gl-color-purple-800: #493c83;
77
+ --gl-color-purple-900: #342d59;
78
+ --gl-color-purple-950: #27243e;
79
79
  --gl-color-red-50: #fcf1ef;
80
80
  --gl-color-red-100: #fdd4cd;
81
81
  --gl-color-red-200: #fcb5aa;
82
82
  --gl-color-red-300: #f6806d;
83
83
  --gl-color-red-400: #ec5941;
84
84
  --gl-color-red-500: #dd2b0e;
85
- --gl-color-red-600: #c91c00;
86
- --gl-color-red-700: #ae1800;
87
- --gl-color-red-800: #8d1300;
88
- --gl-color-red-900: #660e00;
89
- --gl-color-red-950: #4d0a00;
85
+ --gl-color-red-600: #c02f12;
86
+ --gl-color-red-700: #a32c12;
87
+ --gl-color-red-800: #812713;
88
+ --gl-color-red-900: #582014;
89
+ --gl-color-red-950: #3e1a14;
90
90
  --gl-color-data-green-50: #ddfab7;
91
91
  --gl-color-data-green-100: #c6ed94;
92
92
  --gl-color-data-green-200: #b0d97b;
@@ -413,11 +413,11 @@
413
413
  --blue-300: #63a6e9;
414
414
  --blue-400: #428fdc;
415
415
  --blue-500: #1f75cb;
416
- --blue-600: #1068bf;
417
- --blue-700: #0b5cad;
418
- --blue-800: #064787;
419
- --blue-900: #033464;
420
- --blue-950: #002850;
416
+ --blue-600: #2f68b4;
417
+ --blue-700: #2f5ca0;
418
+ --blue-800: #284779;
419
+ --blue-900: #213454;
420
+ --blue-950: #1d283e;
421
421
  --gray-10: #fbfafd;
422
422
  --gray-50: #ececef;
423
423
  --gray-100: #dcdcde;
@@ -436,44 +436,44 @@
436
436
  --green-300: #52b87a;
437
437
  --green-400: #2da160;
438
438
  --green-500: #108548;
439
- --green-600: #217645;
440
- --green-700: #24663b;
441
- --green-800: #0d532a;
442
- --green-900: #0a4020;
443
- --green-950: #072b15;
439
+ --green-600: #2f7549;
440
+ --green-700: #306440;
441
+ --green-800: #225131;
442
+ --green-900: #1e3e28;
443
+ --green-950: #17291c;
444
444
  --orange-50: #fdf1dd;
445
445
  --orange-100: #f5d9a8;
446
446
  --orange-200: #e9be74;
447
447
  --orange-300: #d99530;
448
448
  --orange-400: #c17d10;
449
449
  --orange-500: #ab6100;
450
- --orange-600: #9e5400;
451
- --orange-700: #8f4700;
452
- --orange-800: #703800;
453
- --orange-900: #5c2900;
454
- --orange-950: #421f00;
450
+ --orange-600: #995715;
451
+ --orange-700: #894b16;
452
+ --orange-800: #693c14;
453
+ --orange-900: #532e16;
454
+ --orange-950: #382315;
455
455
  --purple-50: #f4f0ff;
456
456
  --purple-100: #e1d8f9;
457
457
  --purple-200: #cbbbf2;
458
458
  --purple-300: #ac93e6;
459
459
  --purple-400: #9475db;
460
460
  --purple-500: #7b58cf;
461
- --purple-600: #694cc0;
462
- --purple-700: #5943b6;
463
- --purple-800: #453894;
464
- --purple-900: #2f2a6b;
465
- --purple-950: #232150;
461
+ --purple-600: #6a4fb4;
462
+ --purple-700: #5c47a6;
463
+ --purple-800: #493c83;
464
+ --purple-900: #342d59;
465
+ --purple-950: #27243e;
466
466
  --red-50: #fcf1ef;
467
467
  --red-100: #fdd4cd;
468
468
  --red-200: #fcb5aa;
469
469
  --red-300: #f57f6c;
470
470
  --red-400: #ec5941;
471
471
  --red-500: #dd2b0e;
472
- --red-600: #c91c00;
473
- --red-700: #ae1800;
474
- --red-800: #8d1300;
475
- --red-900: #660e00;
476
- --red-950: #4d0a00;
472
+ --red-600: #c02f12;
473
+ --red-700: #a32c12;
474
+ --red-800: #812713;
475
+ --red-900: #582014;
476
+ --red-950: #3e1a14;
477
477
  --brand-charcoal: #171321; /* Use color.brand-charcoal instead. */
478
478
  --brand-orange-01: #fca326; /* Use color.brand-orange.01p instead. */
479
479
  --brand-orange-02: #fc6d26; /* Use color.brand-orange.02p instead. */
@@ -24,11 +24,11 @@
24
24
  --gl-color-blue-300: #63a6e9;
25
25
  --gl-color-blue-400: #428fdc;
26
26
  --gl-color-blue-500: #1f75cb;
27
- --gl-color-blue-600: #1068bf;
28
- --gl-color-blue-700: #0b5cad;
29
- --gl-color-blue-800: #064787;
30
- --gl-color-blue-900: #033464;
31
- --gl-color-blue-950: #002850;
27
+ --gl-color-blue-600: #2f68b4;
28
+ --gl-color-blue-700: #2f5ca0;
29
+ --gl-color-blue-800: #284779;
30
+ --gl-color-blue-900: #213454;
31
+ --gl-color-blue-950: #1d283e;
32
32
  --gl-color-neutral-0: #fff;
33
33
  --gl-color-neutral-10: #fbfafd;
34
34
  --gl-color-neutral-50: #ececef;
@@ -49,44 +49,44 @@
49
49
  --gl-color-green-300: #52b87a;
50
50
  --gl-color-green-400: #2da160;
51
51
  --gl-color-green-500: #108548;
52
- --gl-color-green-600: #217645;
53
- --gl-color-green-700: #24663b;
54
- --gl-color-green-800: #0d532a;
55
- --gl-color-green-900: #0a4020;
56
- --gl-color-green-950: #072b15;
52
+ --gl-color-green-600: #2f7549;
53
+ --gl-color-green-700: #306440;
54
+ --gl-color-green-800: #225131;
55
+ --gl-color-green-900: #1e3e28;
56
+ --gl-color-green-950: #17291c;
57
57
  --gl-color-orange-50: #fdf1dd;
58
58
  --gl-color-orange-100: #f5d9a8;
59
59
  --gl-color-orange-200: #e9be74;
60
60
  --gl-color-orange-300: #d99530;
61
61
  --gl-color-orange-400: #c17d10;
62
62
  --gl-color-orange-500: #ab6100;
63
- --gl-color-orange-600: #9e5400;
64
- --gl-color-orange-700: #8f4700;
65
- --gl-color-orange-800: #703800;
66
- --gl-color-orange-900: #5c2900;
67
- --gl-color-orange-950: #421f00;
63
+ --gl-color-orange-600: #995715;
64
+ --gl-color-orange-700: #894b16;
65
+ --gl-color-orange-800: #693c14;
66
+ --gl-color-orange-900: #532e16;
67
+ --gl-color-orange-950: #382315;
68
68
  --gl-color-purple-50: #f4f0ff;
69
69
  --gl-color-purple-100: #e1d8f9;
70
70
  --gl-color-purple-200: #cbbbf2;
71
71
  --gl-color-purple-300: #ac93e6;
72
72
  --gl-color-purple-400: #9475db;
73
73
  --gl-color-purple-500: #7b58cf;
74
- --gl-color-purple-600: #694cc0;
75
- --gl-color-purple-700: #5943b6;
76
- --gl-color-purple-800: #453894;
77
- --gl-color-purple-900: #2f2a6b;
78
- --gl-color-purple-950: #232150;
74
+ --gl-color-purple-600: #6a4fb4;
75
+ --gl-color-purple-700: #5c47a6;
76
+ --gl-color-purple-800: #493c83;
77
+ --gl-color-purple-900: #342d59;
78
+ --gl-color-purple-950: #27243e;
79
79
  --gl-color-red-50: #fcf1ef;
80
80
  --gl-color-red-100: #fdd4cd;
81
81
  --gl-color-red-200: #fcb5aa;
82
82
  --gl-color-red-300: #f6806d;
83
83
  --gl-color-red-400: #ec5941;
84
84
  --gl-color-red-500: #dd2b0e;
85
- --gl-color-red-600: #c91c00;
86
- --gl-color-red-700: #ae1800;
87
- --gl-color-red-800: #8d1300;
88
- --gl-color-red-900: #660e00;
89
- --gl-color-red-950: #4d0a00;
85
+ --gl-color-red-600: #c02f12;
86
+ --gl-color-red-700: #a32c12;
87
+ --gl-color-red-800: #812713;
88
+ --gl-color-red-900: #582014;
89
+ --gl-color-red-950: #3e1a14;
90
90
  --gl-color-data-green-50: #ddfab7;
91
91
  --gl-color-data-green-100: #c6ed94;
92
92
  --gl-color-data-green-200: #b0d97b;