@digitransit-component/digitransit-component-autosuggest

中文文档
11.0.9发布于 2026/11/11(AGPL-3.0 OR EUPL-1.2)ESM + CJS构建来源已验证近 30 天下载 3299

digitransit-component autosuggest module

原始使用文档
文档目录7 节
  1. getNewTargets
  2. Parameters
  3. DTAutosuggest
  4. Parameters
  5. Properties
  6. Examples
  7. Installation

@digitransit-component/digitransit-component-autosuggest

getNewTargets

Takes the targets and modifies them based on ownPlaces and isLocationSearch

Parameters

Returns Array<string> newTargets

DTAutosuggest

An autosuggest search input for finding locations, stops, stations, routes and vehicle rental stations.

Parameters

  • props DTAutosuggestProps

    • props.sources Array<string> (optional, default [])
    • props.pathOpts Object (optional, default {routesPrefix:'linjat',stopsPrefix:'pysakit'})
    • props.refPoint Object (optional, default {})
    • props.appElement
    • props.id
    • props.placeholder
    • props.onSelect
    • props.icon
    • props.value (optional, default '')
    • props.onClear
    • props.lang (optional, default 'fi')
    • props.getAutoSuggestIcons
    • props.handleViaPoints
    • props.focusChange
    • props.storeRef
    • props.isMobile (optional, default false)
    • props.mobileLabel
    • props.inputClassName (optional, default '')
    • props.translatedPlaceholder
    • props.required (optional, default false)
    • props.ariaLabel
    • props.colors (optional, default defaultColors)
    • props.modeSet
    • props.showScroll (optional, default false)
    • props.isEmbedded (optional, default false)
    • props.transportMode
    • props.targets
    • props.geocodingSize
    • props.filterResults
    • props.searchContext

Properties

Examples

const searchContext = {
  isPeliasLocationAware: false // true / false does Let Pelias suggest based on current user location
  minimalRegexp: undefined // used for testing min. regexp. For example: new RegExp('.{2,}'),
  lineRegexp: undefined //  identify searches for route numbers/labels: bus | train | metro. For example: new RegExp(
   //   '(^[0-9]+[a-z]?$|^[yuleapinkrtdz]$|(^m[12]?b?$))',
   //  'i',
   //  ),
  URL_PELIAS: '' // url for pelias searches
  feedIDs: ['HSL', 'HSLLautta'] // FeedId's like  [HSL, HSLLautta]
  geocodingSources: ['oa','osm','nlsfi']  // sources for geocoding
  geocodingSearchParams; {}  // Searchparmas fro geocoding
  getFavouriteLocations: () => ({}),    // Function that returns array of favourite locations.
  getFavouriteStops: () => ({}),        // Function that returns array of favourite stops.
  getLanguage: () => ({}),              // Function that returns current language.
  getFavouriteRoutes: () => ({}),       // Function that returns array of favourite routes.
  getPositions: () => ({}),             // Function that returns user's geolocation.
  getRoutesQuery: () => ({}),           // Function that returns query for fetching routes.
  getStopAndStationsQuery: () => ({}),  // Function that fetches favourite stops and stations from graphql API.
  getFavouriteRoutesQuery: () => ({}),  // Function that returns query for fetching favourite routes.
  getFavouriteVehicleRentalStations: () => ({}),  // Function that returns favourite bike rental station.
  getFavouriteVehicleRentalStationsQuery: () => ({}), // Function that returns query for fetching favourite bike rental stations.
  getHasOtpLocationFavourites: () => ({}), // Optional. Function that returns whether any OTP-backed favourite is currently available.
  startLocationWatch: () => ({}),       // Function that locates users geolocation.
  saveSearch: () => ({}),               // Function that saves search to old searches store.
  clearOldSearches: () => ({}),         // Function that clears old searches store.
  getFutureRoutes: () => ({}),          // Function that return future routes
  saveFutureRoute: () => ({}),          // Function that saves a future route
  clearFutureRoutes: () => ({}),        // Function that clears future routes
};
const lang = 'fi'; // en, fi or sv
const onSelect = (item, id) => {
   // Funtionality when user selects a suggesions. No default implementation is given.
   return null;
};
const onClear = id => {
   // Called  when user clicks the clear search string button. No default implementation.
   return null;
};
const getAutoSuggestIcons: {
  // Called for every city bike station rendered as a search suggestion. Should return the icon and
  // color used for that station. Two icons are available, 'citybike-stop-digitransit' anditybike-stop-digitransit-secondary'.
  citybikes: station => {
     return ['citybike-stop-digitransit', '#f2b62d'];
  }
}
const transportMode = undefined;
const placeholder = "stop-near-you";
const targets = ['Locations', 'Stops', 'Routes']; // Defines what you are searching. Options are Locations, Stops, Stations, Routes, VehicleRentalStations, FutureRoutes, MapPosition and CurrentPosition. Leave empty to search all targets.
const sources = ['Favourite', 'History', 'Datasource'] // Defines where you are searching. all available are: Favourite, History (previously searched searches) and Datasource. Leave empty to use all sources.
return (
 <DTAutosuggest
   appElement={appElement} // Required. Root element's id. Needed for react-modal component.
   searchContext={searchContext}
   icon="origin" // Optional String for icon that is shown left of searchfield. used with Icon library
   id="origin" // used for style props and info for component.
   placeholder={placeholder} // String that is showns initally in search field
   value="" // e.g. user typed string that is shown in search field
   onSelect={onSelect}
   onClear={onClear}
   lang={lang}
   getAutoSuggestIcons={getAutoSuggestIcons}
   transportMode={transportMode} // transportmode with which we filter the routes, e.g. route-BUS
   geocodingSize={10} // defines how many stops and stations to fetch from geocoding. Useful if you want to filter the results and still get a reasonable amount of suggestions.
   filterResults={results => return results} // Optional filtering function for routes and stops
   handelViaPoints={() => return null } // Optional Via point handling logic. This is currently managed with DTAutosuggestpanel by default, but if DTAutosuggest is used seperatelly own implementation must be provided.
   focusChange={() => return null} // When suggestion is selected, handle changing focus. This is currently managed with DTAutosuggestpanel by default, but if DTAutosuggest is used seperatelly own implementation must be provided.
   storeRef={() => return null} // Functionality to store refs. Currenlty managed with DTAutosuggestpanel by default, but if DTAutosuggest is used seperatelly own implementation must be provided.
   sources={sources}
   targets={targets}
   isMobile  // Optional. Defaults to false. Whether to use mobile search.
   mobileLabel="Custom label" // Optional. Custom label text for autosuggest field on mobile.
   inputClassName="" // Optional. Custom classname applied to the input element of the component for providing CSS styles.
   translatedPlaceholder= // Optional. Custon translated placeholder text for autosuggest field.

Returns JSX.Element

---

This module is part of the Digitransit-ui project. It is maintained in the HSLdevcom/digitransit-ui repository, where you can create PRs and issues.

Installation

Install this module individually:

$ npm install @digitransit-component/digitransit-component-autosuggest

版本与发布记录

@digitransit-component/digitransit-component-autosuggest 共发布 227 个版本,首次发布于 2020/04/29;过去 12 个月发布了 49 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
11.0.9latest2026/11/111 天前
11.0.82026/11/101 天前
11.0.72026/11/092 天前
11.0.62026/11/065 天前
11.0.52026/11/056 天前
11.0.42026/11/048 天前

关于 @digitransit-component/digitransit-component-autosuggest 的常见问题

@digitransit-component/digitransit-component-autosuggest 是什么?

digitransit-component autosuggest module

如何安装 @digitransit-component/digitransit-component-autosuggest?

在项目目录运行 npm install @digitransit-component/digitransit-component-autosuggest,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:luxon(^3.7.2)、react(^18.3.1)、i18next(^22.5.1)、downshift(^9.4.0)、classnames(^2.5.1)、prop-types(^15.8.1)、react-modal(^3.16.3)、@hsl-fi/sass(^1.0.0)、react-i18next(^12.3.1)、@digitransit-component/digitransit-component-icon(^5.0.5)、@digitransit-component/digitransit-component-dialog-modal(^7.0.7)、@digitransit-component/digitransit-component-suggestion-item(^6.0.5)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@digitransit-component/digitransit-component-autosuggest 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/digitransit-component__digitransit-component-autosuggest 是否存在。

@digitransit-component/digitransit-component-autosuggest 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@digitransit-component/digitransit-component-autosuggest 可以商用吗?

@digitransit-component/digitransit-component-autosuggest 使用 (AGPL-3.0 OR EUPL-1.2) 许可。可在 AGPL-3.0、EUPL-1.2 中任选其一遵守。以上为概括,不构成法律意见,请以许可原文为准。

@digitransit-component/digitransit-component-autosuggest 的下载量有多少?

根据 npm 官方下载统计,@digitransit-component/digitransit-component-autosuggest 在 2026/10/12 – 2026/11/10 这 30 天内被下载 3,299 次,日均约 110 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@digitransit-component/digitransit-component-autosuggest 还在维护吗?

最新版本 11.0.9 发布于 2026/11/11(1 天前);至今共发布 227 个版本,其中过去 12 个月发布了 49 个;首次发布于 2020/04/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。