@magicx-eng/ai-autocomplete-vanilla 0.45.0 → 0.46.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.
package/README.md CHANGED
@@ -167,8 +167,11 @@ ac.setMode("dark"); // Switch color mode
167
167
  ac.update({ animations: false, optionsPosition: "above" });
168
168
  ac.selectProduct(product); // Emit onProductSelect (Tier 3 / custom strips)
169
169
  ac.getResult(); // The AutocompleteResult as it stands right now
170
+ ac.getRequestId(); // The latest applied /suggest request ID, or null
170
171
  ```
171
172
 
173
+ `ac.getRequestId()` returns the `meta.request_id` of the latest applied `/suggest` request. Use this ID to join your own events to the suggestion response that was on screen. It returns `null` before a response applies and after `reset()`, until a new response applies. While a request is pending, it keeps the previous applied ID. Superseded responses do not change it.
174
+
172
175
  > **Tier 1 auto-resets** after both Enter key and built-in submit-button clicks — your `onSubmit` runs, then the SDK clears the input and starts a new session. You don't need to call `ac.reset()` yourself in Tier 1. Pass `resetOnSubmit: false` to keep the query in place instead — useful when `onSubmit` navigates to a results page, where a cleared field would flash empty until the next page paints — and call `ac.reset()` yourself when you want a fresh session.
173
176
 
174
177
  > `autoFocus`, `focus()`, and `blur()` only operate on the contentEditable editor the library owns (Tier 1 / `renderMode: "full"`). In Tier 2/3, the consumer owns the input and calls `.focus()` / `.blur()` on their own element; the `onFocus` / `onBlur` callbacks still fire whenever `setFocused()` is called.
@@ -944,6 +947,12 @@ document.getElementById("my-autocomplete")
944
947
  .style.setProperty("--aia-pill-bg", newColor);
945
948
  ```
946
949
 
950
+ ### Short screens
951
+
952
+ When the open dropdown would run past the edge of the visible screen — most often a phone with its on-screen keyboard up, or a short browser window — it shrinks to the space that is left and scrolls as one: the options, the product strip and the footer move together, so scrolling down past the last option brings the products into view. The pill bar scrolls with them. Each time the dropdown opens it checks again, and while it is open it follows the keyboard opening and closing and the page scrolling.
953
+
954
+ While fitted, the dropdown root carries `data-aia-fit`, and the height it is capped at is in its `--aia-dropdown-fit-height` property. Every option shows in that one scroll, so the option list's usual limit of visible rows does not apply.
955
+
947
956
  ### Selector Hooks
948
957
 
949
958
  For styling beyond the CSS variables, target these stable `data-aia-*` attributes:
@@ -961,7 +970,7 @@ For styling beyond the CSS variables, target these stable `data-aia-*` attribute
961
970
  | `[data-aia-skip]` | The pill bar's trailing "skip" button. Tune via `--aia-skip-font-size` / `--aia-skip-color` / `--aia-skip-color-hover` / `--aia-skip-hover-bg` |
962
971
  | `[data-aia-option]` | Each suggestion option |
963
972
  | `[data-aia-scroll-arrow]` | The "more below" arrow on the dropdown — carries `data-aia-visible` while shown |
964
- | `[data-aia-dropdown]` | The dropdown root (listbox). Carries `data-aia-has-products` while the product strip has cards. |
973
+ | `[data-aia-dropdown]` | The dropdown root (listbox). Carries `data-aia-has-products` while the product strip has cards, and `data-aia-fit` while it is fitted to a short screen (see [Short screens](#short-screens)). |
965
974
  | `[data-aia-datepicker]` | The calendar, rendered in place of the option list for a date parameter |
966
975
  | `[data-aia-date-month]` | The "March 2026" header label |
967
976
  | `[data-aia-date-prev]` / `[data-aia-date-next]` | The month arrows |
package/dist/index.d.mts CHANGED
@@ -945,7 +945,9 @@ interface CoreOptions {
945
945
  /**
946
946
  * BCP 47 language tag (e.g. `"es"`), sent with every suggestion request and telemetry event.
947
947
  * Default: the browser language (`navigator.language`), else `"en-US"`.
948
- * Only an explicit value selects the SDK's own UI words (Spanish for `es`, English otherwise). The browser language does not.
948
+ * Only an explicit value selects the SDK UI language. The browser language does not.
949
+ * UI languages: en, es, fr, pt-BR, it, tr, id, pl, de, nl, sv, nb, da, fi, ja, ko, zh-CN and zh-TW.
950
+ * Unsupported languages use English.
949
951
  */
950
952
  language?: string;
951
953
  /**
@@ -1368,6 +1370,8 @@ declare class AIAutocomplete {
1368
1370
  * custom submit button, a "save draft" action).
1369
1371
  */
1370
1372
  getResult(): AutocompleteResult;
1373
+ /** Returns the latest applied /suggest request ID, or null before a response or after reset. */
1374
+ getRequestId(): string | null;
1371
1375
  private buildResult;
1372
1376
  get listboxId(): string;
1373
1377
  get isReady(): boolean;
@@ -2276,6 +2280,65 @@ declare function productImageSources(url: string | null | undefined): string[];
2276
2280
  */
2277
2281
  declare function productImageSrc(url: string | null | undefined): string | undefined;
2278
2282
 
2283
+ /**
2284
+ * Fit the open dropdown to the part of the screen the shopper can actually see.
2285
+ *
2286
+ * On a phone the on-screen keyboard takes half the screen, and a dropdown laid
2287
+ * out for the full height runs underneath it: the options fit, the product
2288
+ * strip below them is cut off, and there is no way to scroll to it — the
2289
+ * options grid scrolls on its own and the strip is outside it (2026-10-26,
2290
+ * from a Shopify storefront on Android). The same happens in any window too
2291
+ * short for the panel.
2292
+ *
2293
+ * So when the open panel would run past the bottom of the visible viewport
2294
+ * (the top, for `optionsPosition="above"`), it switches to a fitted layout:
2295
+ *
2296
+ * - `data-aia-fit` on the dropdown, and its height capped at the space left
2297
+ * between it and the viewport's edge (`--aia-dropdown-fit-height`, never
2298
+ * below MIN_FIT_HEIGHT_PX).
2299
+ * - The stylesheets (the fit block in each appearance copy) then make the
2300
+ * section stack the one scroll box and lift the options grid's own row cap,
2301
+ * so options, product strip and footer scroll together and the strip is
2302
+ * reached by scrolling down past the last option.
2303
+ *
2304
+ * The visible viewport is `window.visualViewport` where there is one: it is
2305
+ * what the keyboard shrinks (Chrome on Android resizes only the visual
2306
+ * viewport by default, iOS Safari never resizes the layout one), so
2307
+ * `innerHeight` alone would never see the keyboard.
2308
+ *
2309
+ * Once a panel is fitted it stays fitted until it closes. Fitted and unfitted
2310
+ * look the same whenever everything fits — the only difference is whether a
2311
+ * long option list scrolls on its own or with the rest — so there is no
2312
+ * reason to measure the unfitted height again (which would mean undoing the
2313
+ * layout, and the shopper's scroll position with it). Each opening decides
2314
+ * afresh.
2315
+ *
2316
+ * The DOM differs per package, so like the scroll arrow the behaviour lives in
2317
+ * this one controller: each package hands it its dropdown element and a way
2318
+ * to tell whether the panel is open, and calls `update()` after every render.
2319
+ * The controller listens for viewport and page scrolling changes itself.
2320
+ */
2321
+ /** Present on the dropdown while it is fitted to the visible viewport. */
2322
+ declare const VIEWPORT_FIT_ATTR = "data-aia-fit";
2323
+ /** Inline custom property on the dropdown: the height it is capped at while fitted. */
2324
+ declare const VIEWPORT_FIT_HEIGHT_VAR = "--aia-dropdown-fit-height";
2325
+ interface ViewportFitArgs {
2326
+ /** The `[data-aia-dropdown]` element. */
2327
+ dropdown: HTMLElement;
2328
+ /**
2329
+ * Whether the panel is open right now. False during the close fade too, so
2330
+ * a closing panel keeps the layout it fades out in.
2331
+ */
2332
+ isOpen: () => boolean;
2333
+ }
2334
+ interface ViewportFitController {
2335
+ /** Re-measure after a render. */
2336
+ update(): void;
2337
+ /** Drop the listeners. Leaves the dropdown's attributes as they are. */
2338
+ destroy(): void;
2339
+ }
2340
+ declare function attachViewportFit({ dropdown, isOpen }: ViewportFitArgs): ViewportFitController;
2341
+
2279
2342
  type Listener<S> = (next: S, prev: S) => void;
2280
2343
  interface Store<S> {
2281
2344
  get: () => S;
@@ -2481,4 +2544,4 @@ interface SubmitResultExtras {
2481
2544
  */
2482
2545
  declare function buildSubmitResult(text: string, completedParams: CompletedParamState[], skippedParams?: SkippedParamState[], extras?: SubmitResultExtras): AutocompleteResult;
2483
2546
 
2484
- export { AIAutocomplete, type APIConfig, type APIKeyConfig, ATTRIBUTION_URL, type AccessTokenConfig, type AccessTokenResult, type AppearanceMode, type AutocompleteRequest, type AutocompleteResponse, type AutocompleteResult, type CompletedParam, type CompletedParamState, type CoreOptions, type CoreState, type CustomFieldsReport, DATE_RANGE_META_END, DATE_RANGE_META_START, DEFAULT_OPTION_COUNT_UNIT, type DateMonthView, type DateRange, type DateSelection, type ExpressedFilter, type FilterOp, type FormatType, type IdentifiedParam, type IdentifiedParamState, type InputItem, type LooseDateOptions, type MatchedItem, type MatchedItems, ModeController, OPTIONS_GRID_MOBILE_QUERY, OPTION_ENTER_DELAY_VAR, OPTION_ENTER_FADE_MS, OPTION_ENTER_RISE_MS, OPTION_ENTER_RISE_PX, OPTION_ENTER_STAGGER_MS, OPTION_IMAGE_WIDTH, type OptionOverride, type OptionOverrides, type OptionsGridLayout, type OptionsGridPlan, PLACEHOLDER_FADE_OUT_MS, PLACEHOLDER_LEAVING_ATTR, PLACEHOLDER_SWAP_GAP_MS, PLACEHOLDER_TYPE_MS, PLACEHOLDER_WORD_PAUSE_MS, PRODUCT_IMAGE_WIDTH, PRODUCT_PATH_PREFIX, PRODUCT_ROW_PX_PER_LINE, type Product, type ProductImageFallback, type ProductRowMetrics, type ProductRowWheel, type ProductsConfig, type ProductsLayout, RANGE_SEPARATOR, type RecentlySuggested, type RenderMode, SCHEMA_VERSION, SCROLL_ARROW_ATTR, SCROLL_ARROW_BOTTOM_VAR, SCROLL_ARROW_CLASS, SCROLL_ARROW_FADE_MS, SCROLL_ARROW_LABEL, SCROLL_ARROW_SCROLL_IDLE_MS, SCROLL_ARROW_VISIBLE_ATTR, SKIPPED_PARAM_TEXT, type ScrollArrowArgs, type ScrollArrowController, type Segment, type SkippedParamState, type Store, type SubmitResultExtras, type Suggestion, type SuggestionOption, type SuggestionType, type TaskKind, type UIStrings, WEEKDAY_LABELS, addMonths, attachProductRowWheel, attachScrollArrow, buildAttributionUrl, buildDateOptions, buildQuery, buildSubmitResult, cellDay, cellIso, chipIdFromTap, computeOptionsGridLayout, containScroll, createStore, cursorIsAtEnd, dateCellMarks, dateSelectionFor, extractPlainText, formatAbsoluteDate, formatDate, formatDateRange, formatOptionCount, getCursorOffset, getFooterHint, identifiedParamLabel, isCalendarFormat, isOptionsGridMobileViewport, isoDate, keepCaretOnChip, measureOptionsGrid, monthLabel, needsOptionsGridMeasurement, optionCountLabel, optionEnterDelayMs, optionHasImage, optionImageSources, optionImageSrc, optionLabel, optionsEntranceDurationMs, optionsGridTemplateColumns, parseDate, parseLooseDate, parseLooseDateRange, plainTextLength, planOptionsGrid, previousGraphemeBoundary, productFromMatchedItem, productImageSources, productImageSrc, productInitial, productRowWheelTarget, productsFromCustomFields, renderEditableContent, resolveFormatType, resolveIdentifiedDate, sameOptionRows, sanitizeOptionIconSvg, scrollCaretIntoView, selectedIsoFromText, selectedRangeFor, setCursorOffset, shopifyImageSrc, toWireIdentifiedParams, uiStringsFor, visibleDateRange, withSkippedParams };
2547
+ export { AIAutocomplete, type APIConfig, type APIKeyConfig, ATTRIBUTION_URL, type AccessTokenConfig, type AccessTokenResult, type AppearanceMode, type AutocompleteRequest, type AutocompleteResponse, type AutocompleteResult, type CompletedParam, type CompletedParamState, type CoreOptions, type CoreState, type CustomFieldsReport, DATE_RANGE_META_END, DATE_RANGE_META_START, DEFAULT_OPTION_COUNT_UNIT, type DateMonthView, type DateRange, type DateSelection, type ExpressedFilter, type FilterOp, type FormatType, type IdentifiedParam, type IdentifiedParamState, type InputItem, type LooseDateOptions, type MatchedItem, type MatchedItems, ModeController, OPTIONS_GRID_MOBILE_QUERY, OPTION_ENTER_DELAY_VAR, OPTION_ENTER_FADE_MS, OPTION_ENTER_RISE_MS, OPTION_ENTER_RISE_PX, OPTION_ENTER_STAGGER_MS, OPTION_IMAGE_WIDTH, type OptionOverride, type OptionOverrides, type OptionsGridLayout, type OptionsGridPlan, PLACEHOLDER_FADE_OUT_MS, PLACEHOLDER_LEAVING_ATTR, PLACEHOLDER_SWAP_GAP_MS, PLACEHOLDER_TYPE_MS, PLACEHOLDER_WORD_PAUSE_MS, PRODUCT_IMAGE_WIDTH, PRODUCT_PATH_PREFIX, PRODUCT_ROW_PX_PER_LINE, type Product, type ProductImageFallback, type ProductRowMetrics, type ProductRowWheel, type ProductsConfig, type ProductsLayout, RANGE_SEPARATOR, type RecentlySuggested, type RenderMode, SCHEMA_VERSION, SCROLL_ARROW_ATTR, SCROLL_ARROW_BOTTOM_VAR, SCROLL_ARROW_CLASS, SCROLL_ARROW_FADE_MS, SCROLL_ARROW_LABEL, SCROLL_ARROW_SCROLL_IDLE_MS, SCROLL_ARROW_VISIBLE_ATTR, SKIPPED_PARAM_TEXT, type ScrollArrowArgs, type ScrollArrowController, type Segment, type SkippedParamState, type Store, type SubmitResultExtras, type Suggestion, type SuggestionOption, type SuggestionType, type TaskKind, type UIStrings, VIEWPORT_FIT_ATTR, VIEWPORT_FIT_HEIGHT_VAR, type ViewportFitArgs, type ViewportFitController, WEEKDAY_LABELS, addMonths, attachProductRowWheel, attachScrollArrow, attachViewportFit, buildAttributionUrl, buildDateOptions, buildQuery, buildSubmitResult, cellDay, cellIso, chipIdFromTap, computeOptionsGridLayout, containScroll, createStore, cursorIsAtEnd, dateCellMarks, dateSelectionFor, extractPlainText, formatAbsoluteDate, formatDate, formatDateRange, formatOptionCount, getCursorOffset, getFooterHint, identifiedParamLabel, isCalendarFormat, isOptionsGridMobileViewport, isoDate, keepCaretOnChip, measureOptionsGrid, monthLabel, needsOptionsGridMeasurement, optionCountLabel, optionEnterDelayMs, optionHasImage, optionImageSources, optionImageSrc, optionLabel, optionsEntranceDurationMs, optionsGridTemplateColumns, parseDate, parseLooseDate, parseLooseDateRange, plainTextLength, planOptionsGrid, previousGraphemeBoundary, productFromMatchedItem, productImageSources, productImageSrc, productInitial, productRowWheelTarget, productsFromCustomFields, renderEditableContent, resolveFormatType, resolveIdentifiedDate, sameOptionRows, sanitizeOptionIconSvg, scrollCaretIntoView, selectedIsoFromText, selectedRangeFor, setCursorOffset, shopifyImageSrc, toWireIdentifiedParams, uiStringsFor, visibleDateRange, withSkippedParams };
package/dist/index.d.ts CHANGED
@@ -945,7 +945,9 @@ interface CoreOptions {
945
945
  /**
946
946
  * BCP 47 language tag (e.g. `"es"`), sent with every suggestion request and telemetry event.
947
947
  * Default: the browser language (`navigator.language`), else `"en-US"`.
948
- * Only an explicit value selects the SDK's own UI words (Spanish for `es`, English otherwise). The browser language does not.
948
+ * Only an explicit value selects the SDK UI language. The browser language does not.
949
+ * UI languages: en, es, fr, pt-BR, it, tr, id, pl, de, nl, sv, nb, da, fi, ja, ko, zh-CN and zh-TW.
950
+ * Unsupported languages use English.
949
951
  */
950
952
  language?: string;
951
953
  /**
@@ -1368,6 +1370,8 @@ declare class AIAutocomplete {
1368
1370
  * custom submit button, a "save draft" action).
1369
1371
  */
1370
1372
  getResult(): AutocompleteResult;
1373
+ /** Returns the latest applied /suggest request ID, or null before a response or after reset. */
1374
+ getRequestId(): string | null;
1371
1375
  private buildResult;
1372
1376
  get listboxId(): string;
1373
1377
  get isReady(): boolean;
@@ -2276,6 +2280,65 @@ declare function productImageSources(url: string | null | undefined): string[];
2276
2280
  */
2277
2281
  declare function productImageSrc(url: string | null | undefined): string | undefined;
2278
2282
 
2283
+ /**
2284
+ * Fit the open dropdown to the part of the screen the shopper can actually see.
2285
+ *
2286
+ * On a phone the on-screen keyboard takes half the screen, and a dropdown laid
2287
+ * out for the full height runs underneath it: the options fit, the product
2288
+ * strip below them is cut off, and there is no way to scroll to it — the
2289
+ * options grid scrolls on its own and the strip is outside it (2026-10-26,
2290
+ * from a Shopify storefront on Android). The same happens in any window too
2291
+ * short for the panel.
2292
+ *
2293
+ * So when the open panel would run past the bottom of the visible viewport
2294
+ * (the top, for `optionsPosition="above"`), it switches to a fitted layout:
2295
+ *
2296
+ * - `data-aia-fit` on the dropdown, and its height capped at the space left
2297
+ * between it and the viewport's edge (`--aia-dropdown-fit-height`, never
2298
+ * below MIN_FIT_HEIGHT_PX).
2299
+ * - The stylesheets (the fit block in each appearance copy) then make the
2300
+ * section stack the one scroll box and lift the options grid's own row cap,
2301
+ * so options, product strip and footer scroll together and the strip is
2302
+ * reached by scrolling down past the last option.
2303
+ *
2304
+ * The visible viewport is `window.visualViewport` where there is one: it is
2305
+ * what the keyboard shrinks (Chrome on Android resizes only the visual
2306
+ * viewport by default, iOS Safari never resizes the layout one), so
2307
+ * `innerHeight` alone would never see the keyboard.
2308
+ *
2309
+ * Once a panel is fitted it stays fitted until it closes. Fitted and unfitted
2310
+ * look the same whenever everything fits — the only difference is whether a
2311
+ * long option list scrolls on its own or with the rest — so there is no
2312
+ * reason to measure the unfitted height again (which would mean undoing the
2313
+ * layout, and the shopper's scroll position with it). Each opening decides
2314
+ * afresh.
2315
+ *
2316
+ * The DOM differs per package, so like the scroll arrow the behaviour lives in
2317
+ * this one controller: each package hands it its dropdown element and a way
2318
+ * to tell whether the panel is open, and calls `update()` after every render.
2319
+ * The controller listens for viewport and page scrolling changes itself.
2320
+ */
2321
+ /** Present on the dropdown while it is fitted to the visible viewport. */
2322
+ declare const VIEWPORT_FIT_ATTR = "data-aia-fit";
2323
+ /** Inline custom property on the dropdown: the height it is capped at while fitted. */
2324
+ declare const VIEWPORT_FIT_HEIGHT_VAR = "--aia-dropdown-fit-height";
2325
+ interface ViewportFitArgs {
2326
+ /** The `[data-aia-dropdown]` element. */
2327
+ dropdown: HTMLElement;
2328
+ /**
2329
+ * Whether the panel is open right now. False during the close fade too, so
2330
+ * a closing panel keeps the layout it fades out in.
2331
+ */
2332
+ isOpen: () => boolean;
2333
+ }
2334
+ interface ViewportFitController {
2335
+ /** Re-measure after a render. */
2336
+ update(): void;
2337
+ /** Drop the listeners. Leaves the dropdown's attributes as they are. */
2338
+ destroy(): void;
2339
+ }
2340
+ declare function attachViewportFit({ dropdown, isOpen }: ViewportFitArgs): ViewportFitController;
2341
+
2279
2342
  type Listener<S> = (next: S, prev: S) => void;
2280
2343
  interface Store<S> {
2281
2344
  get: () => S;
@@ -2481,4 +2544,4 @@ interface SubmitResultExtras {
2481
2544
  */
2482
2545
  declare function buildSubmitResult(text: string, completedParams: CompletedParamState[], skippedParams?: SkippedParamState[], extras?: SubmitResultExtras): AutocompleteResult;
2483
2546
 
2484
- export { AIAutocomplete, type APIConfig, type APIKeyConfig, ATTRIBUTION_URL, type AccessTokenConfig, type AccessTokenResult, type AppearanceMode, type AutocompleteRequest, type AutocompleteResponse, type AutocompleteResult, type CompletedParam, type CompletedParamState, type CoreOptions, type CoreState, type CustomFieldsReport, DATE_RANGE_META_END, DATE_RANGE_META_START, DEFAULT_OPTION_COUNT_UNIT, type DateMonthView, type DateRange, type DateSelection, type ExpressedFilter, type FilterOp, type FormatType, type IdentifiedParam, type IdentifiedParamState, type InputItem, type LooseDateOptions, type MatchedItem, type MatchedItems, ModeController, OPTIONS_GRID_MOBILE_QUERY, OPTION_ENTER_DELAY_VAR, OPTION_ENTER_FADE_MS, OPTION_ENTER_RISE_MS, OPTION_ENTER_RISE_PX, OPTION_ENTER_STAGGER_MS, OPTION_IMAGE_WIDTH, type OptionOverride, type OptionOverrides, type OptionsGridLayout, type OptionsGridPlan, PLACEHOLDER_FADE_OUT_MS, PLACEHOLDER_LEAVING_ATTR, PLACEHOLDER_SWAP_GAP_MS, PLACEHOLDER_TYPE_MS, PLACEHOLDER_WORD_PAUSE_MS, PRODUCT_IMAGE_WIDTH, PRODUCT_PATH_PREFIX, PRODUCT_ROW_PX_PER_LINE, type Product, type ProductImageFallback, type ProductRowMetrics, type ProductRowWheel, type ProductsConfig, type ProductsLayout, RANGE_SEPARATOR, type RecentlySuggested, type RenderMode, SCHEMA_VERSION, SCROLL_ARROW_ATTR, SCROLL_ARROW_BOTTOM_VAR, SCROLL_ARROW_CLASS, SCROLL_ARROW_FADE_MS, SCROLL_ARROW_LABEL, SCROLL_ARROW_SCROLL_IDLE_MS, SCROLL_ARROW_VISIBLE_ATTR, SKIPPED_PARAM_TEXT, type ScrollArrowArgs, type ScrollArrowController, type Segment, type SkippedParamState, type Store, type SubmitResultExtras, type Suggestion, type SuggestionOption, type SuggestionType, type TaskKind, type UIStrings, WEEKDAY_LABELS, addMonths, attachProductRowWheel, attachScrollArrow, buildAttributionUrl, buildDateOptions, buildQuery, buildSubmitResult, cellDay, cellIso, chipIdFromTap, computeOptionsGridLayout, containScroll, createStore, cursorIsAtEnd, dateCellMarks, dateSelectionFor, extractPlainText, formatAbsoluteDate, formatDate, formatDateRange, formatOptionCount, getCursorOffset, getFooterHint, identifiedParamLabel, isCalendarFormat, isOptionsGridMobileViewport, isoDate, keepCaretOnChip, measureOptionsGrid, monthLabel, needsOptionsGridMeasurement, optionCountLabel, optionEnterDelayMs, optionHasImage, optionImageSources, optionImageSrc, optionLabel, optionsEntranceDurationMs, optionsGridTemplateColumns, parseDate, parseLooseDate, parseLooseDateRange, plainTextLength, planOptionsGrid, previousGraphemeBoundary, productFromMatchedItem, productImageSources, productImageSrc, productInitial, productRowWheelTarget, productsFromCustomFields, renderEditableContent, resolveFormatType, resolveIdentifiedDate, sameOptionRows, sanitizeOptionIconSvg, scrollCaretIntoView, selectedIsoFromText, selectedRangeFor, setCursorOffset, shopifyImageSrc, toWireIdentifiedParams, uiStringsFor, visibleDateRange, withSkippedParams };
2547
+ export { AIAutocomplete, type APIConfig, type APIKeyConfig, ATTRIBUTION_URL, type AccessTokenConfig, type AccessTokenResult, type AppearanceMode, type AutocompleteRequest, type AutocompleteResponse, type AutocompleteResult, type CompletedParam, type CompletedParamState, type CoreOptions, type CoreState, type CustomFieldsReport, DATE_RANGE_META_END, DATE_RANGE_META_START, DEFAULT_OPTION_COUNT_UNIT, type DateMonthView, type DateRange, type DateSelection, type ExpressedFilter, type FilterOp, type FormatType, type IdentifiedParam, type IdentifiedParamState, type InputItem, type LooseDateOptions, type MatchedItem, type MatchedItems, ModeController, OPTIONS_GRID_MOBILE_QUERY, OPTION_ENTER_DELAY_VAR, OPTION_ENTER_FADE_MS, OPTION_ENTER_RISE_MS, OPTION_ENTER_RISE_PX, OPTION_ENTER_STAGGER_MS, OPTION_IMAGE_WIDTH, type OptionOverride, type OptionOverrides, type OptionsGridLayout, type OptionsGridPlan, PLACEHOLDER_FADE_OUT_MS, PLACEHOLDER_LEAVING_ATTR, PLACEHOLDER_SWAP_GAP_MS, PLACEHOLDER_TYPE_MS, PLACEHOLDER_WORD_PAUSE_MS, PRODUCT_IMAGE_WIDTH, PRODUCT_PATH_PREFIX, PRODUCT_ROW_PX_PER_LINE, type Product, type ProductImageFallback, type ProductRowMetrics, type ProductRowWheel, type ProductsConfig, type ProductsLayout, RANGE_SEPARATOR, type RecentlySuggested, type RenderMode, SCHEMA_VERSION, SCROLL_ARROW_ATTR, SCROLL_ARROW_BOTTOM_VAR, SCROLL_ARROW_CLASS, SCROLL_ARROW_FADE_MS, SCROLL_ARROW_LABEL, SCROLL_ARROW_SCROLL_IDLE_MS, SCROLL_ARROW_VISIBLE_ATTR, SKIPPED_PARAM_TEXT, type ScrollArrowArgs, type ScrollArrowController, type Segment, type SkippedParamState, type Store, type SubmitResultExtras, type Suggestion, type SuggestionOption, type SuggestionType, type TaskKind, type UIStrings, VIEWPORT_FIT_ATTR, VIEWPORT_FIT_HEIGHT_VAR, type ViewportFitArgs, type ViewportFitController, WEEKDAY_LABELS, addMonths, attachProductRowWheel, attachScrollArrow, attachViewportFit, buildAttributionUrl, buildDateOptions, buildQuery, buildSubmitResult, cellDay, cellIso, chipIdFromTap, computeOptionsGridLayout, containScroll, createStore, cursorIsAtEnd, dateCellMarks, dateSelectionFor, extractPlainText, formatAbsoluteDate, formatDate, formatDateRange, formatOptionCount, getCursorOffset, getFooterHint, identifiedParamLabel, isCalendarFormat, isOptionsGridMobileViewport, isoDate, keepCaretOnChip, measureOptionsGrid, monthLabel, needsOptionsGridMeasurement, optionCountLabel, optionEnterDelayMs, optionHasImage, optionImageSources, optionImageSrc, optionLabel, optionsEntranceDurationMs, optionsGridTemplateColumns, parseDate, parseLooseDate, parseLooseDateRange, plainTextLength, planOptionsGrid, previousGraphemeBoundary, productFromMatchedItem, productImageSources, productImageSrc, productInitial, productRowWheelTarget, productsFromCustomFields, renderEditableContent, resolveFormatType, resolveIdentifiedDate, sameOptionRows, sanitizeOptionIconSvg, scrollCaretIntoView, selectedIsoFromText, selectedRangeFor, setCursorOffset, shopifyImageSrc, toWireIdentifiedParams, uiStringsFor, visibleDateRange, withSkippedParams };