From f47b1591d1f7981e2e981cb28e44a92f65f2df39 Mon Sep 17 00:00:00 2001 From: Scott de Jonge <sdejonge@gitlab.com> Date: Mon, 10 Mar 2025 20:54:38 +1100 Subject: [PATCH] Use design tokens in rich text editor controls Update button selected state to use GlButton selected prop Use dropdown background in link popover Use feedback design tokens for table creator --- .../components/bubble_menus/link_bubble_menu.vue | 2 +- .../javascripts/content_editor/components/toolbar_button.vue | 2 +- .../content_editor/components/toolbar_table_button.vue | 2 +- app/assets/stylesheets/components/content_editor.scss | 3 ++- .../components/bubble_menus/link_bubble_menu_spec.js | 2 +- spec/frontend/content_editor/components/toolbar_button_spec.js | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/assets/javascripts/content_editor/components/bubble_menus/link_bubble_menu.vue b/app/assets/javascripts/content_editor/components/bubble_menus/link_bubble_menu.vue index 01fcd6f3e07d..7a1567b92494 100644 --- a/app/assets/javascripts/content_editor/components/bubble_menus/link_bubble_menu.vue +++ b/app/assets/javascripts/content_editor/components/bubble_menus/link_bubble_menu.vue @@ -208,7 +208,7 @@ export default { > <bubble-menu data-testid="link-bubble-menu" - class="gl-rounded-base gl-bg-white gl-shadow" + class="gl-rounded-base gl-bg-dropdown gl-shadow" plugin-key="bubbleMenuLink" :should-show="shouldShow" :tippy-options="$options.tippyOptions" diff --git a/app/assets/javascripts/content_editor/components/toolbar_button.vue b/app/assets/javascripts/content_editor/components/toolbar_button.vue index 1beae6b23512..f581c07a8375 100644 --- a/app/assets/javascripts/content_editor/components/toolbar_button.vue +++ b/app/assets/javascripts/content_editor/components/toolbar_button.vue @@ -83,7 +83,7 @@ export default { :variant="variant" :category="category" :size="size" - :class="{ '!gl-bg-gray-100': showActiveState && isActive }" + :selected="showActiveState && isActive" :aria-label="label" :title="label" :icon="iconName" diff --git a/app/assets/javascripts/content_editor/components/toolbar_table_button.vue b/app/assets/javascripts/content_editor/components/toolbar_table_button.vue index ce1fd5a8c79f..b3a82fa2af82 100644 --- a/app/assets/javascripts/content_editor/components/toolbar_table_button.vue +++ b/app/assets/javascripts/content_editor/components/toolbar_table_button.vue @@ -102,7 +102,7 @@ export default { <div v-for="c of list(maxCols)" :key="c" role="gridcell"> <gl-button :ref="`table-${r}-${c}`" - :class="{ 'active !gl-bg-blue-50': r <= rows && c <= cols }" + :class="{ active: r <= rows && c <= cols }" :aria-label="getButtonLabel(r, c)" class="table-creator-grid-item gl-m-2 !gl-rounded-none !gl-p-0" @mouseover="setRowsAndCols(r, c)" diff --git a/app/assets/stylesheets/components/content_editor.scss b/app/assets/stylesheets/components/content_editor.scss index 78da3b9077a3..8d73febc7db3 100644 --- a/app/assets/stylesheets/components/content_editor.scss +++ b/app/assets/stylesheets/components/content_editor.scss @@ -329,7 +329,8 @@ min-width: 1rem !important; &.active { - border-color: $blue-500 !important; + border-color: var(--gl-feedback-info-text-color) !important; + background-color: var(--gl-feedback-info-background-color) !important; border-width: 2px; } diff --git a/spec/frontend/content_editor/components/bubble_menus/link_bubble_menu_spec.js b/spec/frontend/content_editor/components/bubble_menus/link_bubble_menu_spec.js index edb3b34dac8b..cbcd58474b15 100644 --- a/spec/frontend/content_editor/components/bubble_menus/link_bubble_menu_spec.js +++ b/spec/frontend/content_editor/components/bubble_menus/link_bubble_menu_spec.js @@ -74,7 +74,7 @@ describe('content_editor/components/bubble_menus/link_bubble_menu', () => { it('renders bubble menu component', async () => { await buildWrapperAndDisplayMenu(); - expect(findBubbleMenu().classes()).toEqual(['gl-rounded-base', 'gl-bg-white', 'gl-shadow']); + expect(findBubbleMenu().classes()).toEqual(['gl-rounded-base', 'gl-bg-dropdown', 'gl-shadow']); }); it('shows a clickable link to the URL in the link node', async () => { diff --git a/spec/frontend/content_editor/components/toolbar_button_spec.js b/spec/frontend/content_editor/components/toolbar_button_spec.js index b9cf631fb409..7415d25523b3 100644 --- a/spec/frontend/content_editor/components/toolbar_button_spec.js +++ b/spec/frontend/content_editor/components/toolbar_button_spec.js @@ -81,7 +81,7 @@ describe('content_editor/components/toolbar_button', () => { await emitEditorEvent({ event: 'transaction', tiptapEditor }); - expect(findButton().classes().includes('!gl-bg-gray-100')).toBe(outcome); + expect(findButton().props('selected')).toBe(outcome); expect(tiptapEditor.isActive).toHaveBeenCalledWith(CONTENT_TYPE); }, ); -- GitLab