Skip disability assistance statement.

Welcome to our website! As we have the ability to list over one million items on our website (our selection changes all of the time), it is not feasible for a company our size to record and playback the descriptions on every item on our website. However, if you have a disability we are here to help you. Please call our disability services phone line at during regular business hours and one of our kind and friendly personal shoppers will help you navigate through our website, help conduct advanced searches, help you choose the item you are looking for with the specifications you are seeking, read you the specifications of any item and consult with you about the products themselves. There is no charge for the help of this personal shopper for anyone with a disability. Finally, your personal shopper will explain our Privacy Policy and Terms of Service, and help you place an order if you so desire.

document.addEventListener('alpine:init', () => { Alpine.data('predictiveSearch', () => ({ dropdown_open: false, query: '', loading_suggestions: false, preferred_suggestion_count: 10, suggestions: [], open() { if (this.dropdown_open || !this.query.length) return; this.dropdown_open = true; }, close(focusAfter) { if (!this.dropdown_open) return; this.dropdown_open = false; focusAfter && focusAfter.focus && focusAfter.focus() }, async getSuggestions(query) { const vm = this; // abort any previous requests still in progress if (vm.fetchController) { vm.fetchController.abort(); } if (!query.length) { vm.query = ''; vm.close(vm.$refs.searchInput); return; } const reqBody = { billable_account_id: '36124', search_limit: vm.preferred_suggestion_count, search_term: vm.query, } try { vm.fetchController = new AbortController(); const params = new URLSearchParams(reqBody).toString(); const url = `/api/internal/wf-appliance/predictive-search-terms-get?API_KEY=WSKYRINYDNCQUADFAKXHUQSABSPHABPYTICFKKYOVDTPWYNSAJJTJMHGBAGU&${params}`; const res = await fetch(url, { signal: vm.fetchController.signal } ); if (!res.ok) throw new Error('Predictive search endpoint not found'); const { success, suggested_terms } = await res.json(); if (!success) throw new Error('Error predicting search terms'); if (!suggested_terms.length) return vm.close(vm.$refs.searchInput); vm.suggestions = suggested_terms.map(term => term.toLowerCase()); if (!vm.dropdown_open) vm.open(); } catch (err) { if (err.name === 'AbortError') { return; } vm.suggestions = []; vm.close(vm.$refs.searchInput); } }, onSuggestionClick(suggestion) { this.close(); this.query = suggestion; this.$nextTick(() => this.$refs.searchForm.submit()) }, highlightNonMatchingSubstring(suggestion) { const query = this.query.toLowerCase(); const suggestionLowercase = suggestion.toLowerCase(); // check if the suggestion exactly matches the query if (suggestionLowercase === query) { return ` <span>${suggestion} >`; } // check if the suggestion starts with the query if (suggestionLowercase.indexOf(query) === 0) { const nonMatching = suggestion.substring(query.length); return ` <
span>${query} <
strong>${nonMatching} > >`; } // highlight non-matching substrings const normalizedQuery = query.replaceAll('(', '').replaceAll(')', '').replaceAll('[', '').replaceAll(']', '').replaceAll('\\', ''); const regex = new RegExp(`(?!${normalizedQuery})\\b\\w+\\b`, 'gi'); const highlighted = suggestion.replace(regex, ' <

document.addEventListener('alpine:init', () => { Alpine.data('predictiveSearch', () => ({ dropdown_open: false, query: '', loading_suggestions: false, preferred_suggestion_count: 10, suggestions: [], open() { if (this.dropdown_open || !this.query.length) return; this.dropdown_open = true; }, close(focusAfter) { if (!this.dropdown_open) return; this.dropdown_open = false; focusAfter && focusAfter.focus && focusAfter.focus() }, async getSuggestions(query) { const vm = this; // abort any previous requests still in progress if (vm.fetchController) { vm.fetchController.abort(); } if (!query.length) { vm.query = ''; vm.close(vm.$refs.searchInput); return; } const reqBody = { billable_account_id: '36124', search_limit: vm.preferred_suggestion_count, search_term: vm.query, } try { vm.fetchController = new AbortController(); const params = new URLSearchParams(reqBody).toString(); const url = `/api/internal/wf-appliance/predictive-search-terms-get?API_KEY=WSKYRINYDNCQUADFAKXHUQSABSPHABPYTICFKKYOVDTPWYNSAJJTJMHGBAGU&${params}`; const res = await fetch(url, { signal: vm.fetchController.signal } ); if (!res.ok) throw new Error('Predictive search endpoint not found'); const { success, suggested_terms } = await res.json(); if (!success) throw new Error('Error predicting search terms'); if (!suggested_terms.length) return vm.close(vm.$refs.searchInput); vm.suggestions = suggested_terms.map(term => term.toLowerCase()); if (!vm.dropdown_open) vm.open(); } catch (err) { if (err.name === 'AbortError') { return; } vm.suggestions = []; vm.close(vm.$refs.searchInput); } }, onSuggestionClick(suggestion) { this.close(); this.query = suggestion; this.$nextTick(() => this.$refs.searchForm.submit()) }, highlightNonMatchingSubstring(suggestion) { const query = this.query.toLowerCase(); const suggestionLowercase = suggestion.toLowerCase(); // check if the suggestion exactly matches the query if (suggestionLowercase === query) { return ` <span>${suggestion} >`; } // check if the suggestion starts with the query if (suggestionLowercase.indexOf(query) === 0) { const nonMatching = suggestion.substring(query.length); return ` <span>${query} <strong>${nonMatching} `; } // highlight non-matching substrings const normalizedQuery = query.replaceAll('(', '').replaceAll(')', '').replaceAll('[', '').replaceAll(']', '').replaceAll('\\', ''); const regex = new RegExp(`(?!${normalizedQuery})\\b\\w+\\b`, 'gi'); const highlighted = suggestion.replace(regex, '< strong>$&'); return `< span>${highlighted}`; }, titleCase(str = '') { if (!str || typeof str !== 'string') return str; return str .trim() .split(' ') .map(word => word[0]?.toUpperCase() + word.slice(1)?.toLowerCase()) .join(' '); }, })) })
Sort By
See Details - Tracy 55-inch 2-drawer Office Computer Desk Cappuccino See Details Relevance
Price, Low to High
Price, High to Low Alphabetically, Z - A
Filter

Regular Price   $587.99

See Details

Our Price $445.96 Quick View

You Save Check to Compare $142.03 Click to Compare

DESK VANITY
Legacy Classic Furniture
Terra Luna Collection

See Details - Irving 47-inch 2-drawer Office Computer Desk Cappuccino

See Details - Irving 47-inch 2-drawer Office Computer Desk White

See Details - Brennan 47-inch 3-drawer Office Computer Desk White

Regular Price   $630.99

See Details Our Price $478.96

Quick View

You Save Check to Compare$152.03 Click to Compare

DESK
Legacy Classic Furniture
Regular Price
 
$1,050.99
Our Price
$700.96 See Details - Yvette 60-inch 3-drawer L-shape Computer Desk Cappuccino See Details
You Save $350.03 See Details

Regular Price   $630.99See Details

Our Price Quick View $478.96

Check to Compare

Click to CompareYou Save $152.03

ACTIVITY TABLE/DESKSee Details
Legacy Classic Furniture
Bunkhouse Collection

Regular Price   $630.99

See Details Our Price $478.96

Quick View

You Save Check to Compare$152.03 Click to Compare

ACTIVITY TABLE/DESK GALLERY
Legacy Classic Furniture
Bunkhouse Collection
Regular Price
 
$646.99See Details - Brennan 47-inch 3-drawer Office Computer Desk Cappuccino See Details
Our Price

Regular Price   $390.99

See Details Our Price $295.96

Quick View

You Save $95.03 Check to Compare

Click to Compare
DESK
Legacy Classic Furniture
Todays Traditions Collection

Regular Price   $390.99

Our Price See Details $295.96

Quick View

You Save $95.03 Check to Compare

Click to Compare
DESK
Legacy Classic Furniture

Our Price See Details $412.96

Quick View

You Save $131.03 Check to Compare

Click to Compare
DESK
See Details - Skylar 83-inch L-shaped Office Computer Desk Cappuccino

See Details - Skylar 39-inch Engineered Wood Writing Desk Cappuccino

Our Price $218.96

See Details

You Save $70.03

1
(current)
2 3 4
For delivery options and item availability.