Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

RequestNegotiableQuoteForm Container

Form for creating new quote requests from cart with attachments support.

Version: 1.0.0-beta5

Configuration

The RequestNegotiableQuoteForm container provides the following configuration options:

ParameterTypeReq?Description
cartIdstringYesSpecifies the cart ID to create the quote from. Required to identify which shopping cart contains the items to be quoted.
maxFilesnumberNoSets the maximum number of files that can be attached when sending a quote for review. Enforces company policies on attachment limits and prevents excessive file uploads that could impact performance or storage.
maxFileSizenumberNoSets the maximum file size in bytes for attachments. Controls the upper limit for individual file uploads. Use to prevent large file uploads that could impact performance, storage, or network bandwidth.
acceptedFileTypesstring[]NoSpecifies an array of allowed MIME types for file attachments. Use to restrict uploads to specific document types required by your quote approval process (for example, `[‘application/pdf’, ‘image/jpeg’, ‘image/png’]`).

Slots

This container exposes the following slots for customization:

SlotTypeRequiredDescription
ErrorBannerSlotPropsNoCustomize error message display.
SuccessBannerSlotPropsNoCustomize success message display after quote creation.
TitleSlotPropsNoCustomize form title heading.
CommentFieldfunctionNoCustomize comment textarea field with validation.
QuoteNameFieldfunctionNoCustomize quote name input field with validation.
AttachFileFieldfunctionNoCustomize file attachment input control.
AttachedFilesListfunctionNoCustomize attached files display with remove functionality.
RequestButtonfunctionNoCustomize request quote submission button.
SaveDraftButtonfunctionNoCustomize save draft button.

Usage

The following example demonstrates how to use the RequestNegotiableQuoteForm container:

import { render as provider } from '@dropins/storefront-quote-management/render.js';
import { RequestNegotiableQuoteForm } from '@dropins/storefront-quote-management/containers/RequestNegotiableQuoteForm.js';
await provider.render(RequestNegotiableQuoteForm, {
cartId: "abc-123",
maxFiles: 0,
maxFileSize: 0,
slots: {
// Add custom slot implementations here
}
})(block);